ShipChain / hydra

Centralized network management for decentralized networks -- helping organize and publish sidechain connection details
https://docs.shipchain.io/docs/validatorGuide.html
Apache License 2.0
8 stars 2 forks source link

Transfer Gateway/DPoSV2 Config #18

Closed ajhodges closed 5 years ago

ajhodges commented 5 years ago

This PR primarily addresses the need to include a loom.yaml config file with each node (#16). Additionally, the first node in a newly provisioned network will be designated as the transfer gateway oracle. The transfer gateway oracle must be provisioned with an Ethereum private key that matches the address designated as the oracle in the mainnet gateway contract. Once the network is up, every initially provisioned node is whitelisted by the (DPoS) oracle and registered as a validator.

Other changes include:

ajhodges commented 5 years ago

Network provisioning with these changes looks something like this:

hydra network provision --name hydra-testing -s 3 -v 2.0.0+b963
hydra network publish --name hydra-testing --version 2.0.0+b963
hydra network configure --name hydra-testing --oracle-priv-key oracle_eth_priv.key

with oracle_eth_priv.key being the Ethereum private key mentioned above.

leewardbound commented 5 years ago

W/r/t the Oracle key note -- I'm aware that the genesis.json needs a specific Oracle key, but when I asked about it, Loom replied that actually, every node is a TG oracle, not just 1 of them, and they behave as a multisig on the mainnet TG contract.

I assume the singular key that the genesis.json file requires is just to bootstrap the other validators, perhaps, adding them to the list of multisig addresses on the mainnet contract; but in the name of science, we need to consult w/ their team and figure out what relevance setting the initial oracle key actually has, and what-if-anything other nodes need to do w/r/t TG oracle keys.

Other than that, these changes look fantastic, very impressive work done ahead of schedule, thanks!