This contracts are the core of the ARTIS governance system.
They implement a hybrid PoA / PoS consensus system, validator set (aka trustnodes) voting and a block reward contract.
The voting system allows to change and upgrade the system in a well defined and transparent way. Most importantly, it allows to upgrade the governance contracts itself (by using the Proxy Pattern) without the need to rely on a trusted "admin" or on a rigid multisig mechanism.
The contracts also take advantage of Parity specific APIs, like those for Validator Set Contracts and for Block Reward Contracts.
The contracts were originally developed by poa.network, where they also underwent substantial security audits (see below).
ARTIS specific changes were limited to the introduction of a collateral requirement for trustnodes.
- PoA Consensus Audit by MixBytes
- PoA Consensus Audit by ChainSecurity
Use node.js v8.
npm ci
npm test
The test script builds the contracts, starts an instance of ganache-cli in the background and then executes all tests (takes a while).
New networks are bootstrapped by a Master of Ceremony.
The steps are described in https://github.com/poanetwork/wiki/wiki/Master-of-Ceremony-Setup.