Poa Test Setup

Deployment of POA network in one click and e2e tests of Ceremony/Governance DApps
Alternatives To Poa Test Setup
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Test Dapp51725 days ago18September 26, 202230mitJavaScript
The sample dapp used for e2e testing and metamask-extension QA
Dappeteer436611 hours ago13November 29, 202235otherTypeScript
🏌🏼‍E2E testing for dApps using Puppeteer + MetaMask
Dappeteer175512 years ago8February 19, 202020otherCSS
🏌🏼‍E2E testing for dApps using Puppeteer + MetaMask
Torus Website74
14 hours ago29otherJavaScript
Torus Wallet that provides dapps logins that feel like Web2.0
Guardiantest23
a month ago2apache-2.0TypeScript
Web3 E2E Testing Framework
Messenger19
5 years ago1gpl-3.0Objective-C
iOS & Android app with dApp integrations, e2e chat, notifications, discovery, etc
Poa Test Setup8
3 years ago5gpl-3.0JavaScript
Deployment of POA network in one click and e2e tests of Ceremony/Governance DApps
Parity Dapp Tutorial Screenshot Generator2
6 years agoapache-2.0JavaScript
Screenshot generator for https://github.com/paritytech/parity/wiki/Dapp-Tutorial
Alternatives To Poa Test Setup
Select To Compare


Alternative Project Comparisons
Readme

POA Network test setup

How it works:

  • [x] gets content of master branch of poa-network-consensus-contracts repo
  • [x] compiles all POA Network contracts
  • [x] gets binary code of POA Network Consensus contract
  • [x] gets spec.json from sokol branch of chain-spec repo
  • [x] generates custom private, public key and password of MoC and save them to ./keys/moc folder
  • [x] updates spec.json with new MoC and binary code of POA Network Consensus contracts
  • [x] starts MoC Parity node
  • [x] deploys secondary POA Network contracts
  • [x] gets content of master branch of poa-scripts-moc repo
  • [x] generates one initial key with password and copies it to ./keys/initial_keys folder
  • [x] gets content of core branch of poa-dapps-keys-generation repo
  • [x] launches Ceremony DApp locally built from the repo
  • [x] runs e2e tests on Ceremony DApp
  • [x] saves generated production keys with Ceremony DApp to ./keys folder
  • [x] runs validator node
  • [x] gets content of core branch of poa-dapps-validators repo
  • [x] launches Validators DApp locally built from the repo
  • [x] runs e2e tests on Validators DApp
  • [x] gets content of core branch of poa-dapps-voting repo
  • [x] launches Voting DApp locally built from the repo
  • [x] runs e2e tests on Governance DApp

Requirements

  1. Linux, Mac OS
  2. NodeJS@10
  3. Parity 2.6.5+
  4. Google Chrome

Basic scenarios

There are some options to start POA Network test setup depending on your needs:

Start MoC node

  1. npm i
  2. npm run start-moc-setup

At the successful end of POA test setup start you'll see this message: ### POA test setup is configured ###

Expected results:

  • RPC of Parity node with unlocked MoC account will be on http://localhost:8545
  • Spec of the network is generated to ./spec folder
  • MoC keystore file, password, private key are generated to ./keys/moc folder
  • Parity config of MoC node is generated to ./nodes/parity-moc/moc.toml file
  • Addresses of governance smart contracts are generated to ./submodules/poa-network-consensus-contracts/contracts.json
  • ABI of smart contracts are generated to ./submodules/poa-network-consensus-contracts/build/contracts

Launch DApps

Note: can be started after the previous step is completed

npm run launch-dapps

For Ubuntu users: if you encounter any errors during DApps launching, try to increase max_user_watches limit and repeat steps:

$ npm run stop-test-setup
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
$ npm run start-moc-setup
$ npm run launch-dapps

Expected results:

  • Ceremony DApp is started on http://localhost:3000
  • Validators DApp is started on http://localhost:3001
  • Governance DApp is started on http://localhost:3002

Check Emission Funds balance

Note: can be started after the previous step is completed

npm run check-emission-funds-balance

Expected results:

  • no errors returned

Launch Ceremony

Note: can be started after the "Launch DApps" step is completed

For Ubuntu users: you should first install and use X virtual framebuffer if you want to move all graphical operations to the virtual memory without showing any screen output.

sudo apt-get -y install xvfb
export DISPLAY=:99.0
sudo start-stop-daemon --start --quiet --pidfile /var/run/xvfb.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1024x768x24 -ac +extension GLX +render -noreset

npm run launch-ceremony-light

Expected results:

  • one initial key is generated
  • initial key password, private key are generated to .keys/initial_keys folder
  • e2e test of Ceremony DApp is executed
  • mining address, password, and private key are copied to ./keys/mining_keys folder
  • payout address, password, and private key are copied to ./keys/payout_keys folder
  • voting address, password, and private key are copied to ./keys/voting_keys folder
  • initial key is removed
  • most ETH from initial key is transferred to voting keys
  • validator node is started at RPC port 8550

Set Validator's personal data

Note: can be started after the previous step is completed

npm run set-validators-data-light

Expected results:

  • one validator filled the form with mock personal data in Validator DApp

Add validator from Governance

Note: can be started after the previous step is completed

npm run add-validator

Expected results:

  • New validator is added to validators' set through Governance DApp

Launch added validator node

Note: can be started after the previous step is completed

npm run start-new-validator-node

Expected results:

  • New validator node is started at RPC port 8553

Finish test POA setup

npm run stop-test-setup

For Ubuntu users: you should also stop virtual framebuffer if you started it before.
sudo start-stop-daemon --stop --quiet --pidfile /var/run/xvfb.pid --remove-pidfile

Popular End To End Testing Projects
Popular Dapp Projects
Popular Software Quality Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Javascript
Validator
Dapp
E2e