Skip to content

pandoraboxchain/pyrrha-consensus

Repository files navigation

Build Status Coverage Status

Pandora Smart Contracts

Core set of Ethereum contracts for Pandora Boxchain implementing the first level of consensus. For details on the first level of consensus please check "3.3. Proof of Cognitive Work (PoCW)" in Pandora white paper

Implementation Details

Contracts implement Pandora Protocol Specification

Current version is a limited implementation and is subjected for further development. We are working on the first cognitive network implementation codenamed "Pyrrha", after the first Pandora daughter.

Core contract is Pandora.sol, you can look through its code.

Deployment

Contract deployment is tested with local Ganache, Ethereum Testnets (Ropsten, Rinkeby) and RSK testnet.

Linting and testing

npm run lint
npm run test

run tests with coverage check:

npm run test:coverage
npm run coveralls

Linting and test covering will be done automatically (by CI system) every commit to the repository.

Notes about internal economic

Notes about changes related to the internal economic can be found here: economic-notes.md

Known problems

Deployment to the Ropsten network

Rinkeby and Ropsten testnets currently have different block gas limit: limit for Ropsten is lower then for Rinkeby (with the latter being nearly equivalent to the main net gas limit). Thus, while the core contracts can be published to the Ropsten network, there may by problems with calling Pandora.createWorker() method, since its gas consumption is near the upper bound of Ropsten block gas limit and the method will fail most of the time.