Skip to content

Preflight check

Alexander Kolotov edited this page May 9, 2018 · 14 revisions
  1. Prepare Multisig contracts for Home and Foreign
  2. Choose number of validators (3 for example). Gather ETH public keys.
  3. Fund with POA and ETH all 3 keys. Try small amounts first. (max 1 eth, 1 poa)
  4. Choose required signatures threshold (2 for example)
  5. Fund temporary deployment account from which all contracts will be deployed.
  6. git clone poa-bridges contracts; npm install; npm run compile
  7. cd deploy && npm install
  8. prepare .env file with correct RPC URLs, Validators eth addresses, Max, Min, Daily thresholds
  9. run node deploy.js
  10. Update https://medium.com/poa-network/introducing-poa-bridge-and-poa20-55d8b78058ac medium post with official contract address
  11. deploy all validator's nodes using Mr. X scripts
  12. deploy bridge UI
  13. deploy monitoring
  14. run test tx from home to foreign
  15. run test tx from foreign to home
  16. increase home daily limit
  17. increase foreign daily limit
  18. add validator on home and foreign
  19. stop the bridge
  20. accidentally send POA20 to foreign address and use claimTokens to withdraw from it
  21. stop all bridges and make sure monitoring works
  22. change contract addresses and make sure monitoring works
  23. roll back local dbs on validators and make sure they don't do double spend
  24. make malicious validator's tx and make sure monitoring works on home
  25. make malicious validator's tx on foreign and make sure monitoring works
  26. spend all money on validator account and check monitoring
  27. stop gasprice oracle and make sure it falls back on static gasPrice
  28. hit daily limit
  29. verify it waits for 15 blocks before sending tx
  30. upgrade bridge contracts to new version and make sure that balances of POA and POA20 was not changed, the bridge can still withdraw and deposit (withdraw first), rollback of dbs will not lead to double spend
Clone this wiki locally