Skip to content

branciard/eth-berlin-2019-archipel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Archipel Solution

Demo

Demo

Introduction

We hack on a solution to resolve high availability problem of Validator nodes in PoS. This project will allow anyone to build its own highly available Validator setup.

We joined together 3 Dappnode hardware nodes. All of them are running a Polkadot node, but only one is validator. Two others nodes are only synching Polkadot chain.

To see how it works and what is going on, we created a Web UI which shows the current validator state.

Hardware

Hardware

Our hardware setup looks like this. It includes:

  • 3 Dappnodes (Runs Archipel Orchestrator and Polkadot node)
  • Raspberry Pi 3B (Plays the role of router)
  • Switch (Links all together)

Archipel Web UI

WebUI

Here we can see that Avado Dappnode is the current validator and two others are only synching the chain state. If validator state changes the Web UI will be updated automatically.

Web UI was deployed at IPFS:

Source Code of Web UI:

Archipel Orchestrator

Archipel Orchestrator is the main component of Archipel solution.

It watches the blockchain and pings other nodes. Then it switches the validator mode if necessary.

WebUIPkgInstall

WebUIEnvVars

WebUIRunning

DAppNode package

  • /ipfs/QmPk2xBHaHbrjYYz7Y5oDpWuNp6sEqpyxkTJ91QQsm7xio

Polkadot Telemetry

Telemetry

When Archipel is up we can see 3 nodes in the Polkadot telemetry. We can see that the “archipel-avado” node is in Validator mode. All other nodes are just synching. If the “archipel-avado” will become unavailable, the other one will take the relay and will become the new validator. Internally “archipel-avado” will pass in only synching state.

Blockchain Part

To select the next leader we need have a shared state between Archipel nodes. For this purpose we choose to use a smart contract to synchronize the state between 3 nodes:

We have tested it and deployed it on Goerli and Skale sidechain. Skale sidechain allow us to have a faster response for the High availability switch.

Skale deploy

Goerli deploy

About

Project at Hackathon ETH BERLIN 2019

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published