Contracts for running the Colony Network as defined in the Colony White Paper
Colony is offering substantial rewards to external developers who report bugs and flaws in the colonyNetwork contracts.
See the Bug Bounty program overview for more information about bounties, rules, and terms.
node v10.12 or higher (we recommend using
yarn v1.13 or higher
docker v18 or higher
Add the required solidity compiler by running:
$ docker pull ethereum/solc:0.5.8
In the working directory of your choice, clone the latest version of the colonyNetwork repository:
$ git clone https://github.com/JoinColony/colonyNetwork.git
Move into the directory and install dependencies:
$ cd colonyNetwork && yarn
Update submodule libraries:
$ git submodule update --init
Provision token contracts for testing:
$ yarn provision:token:contracts
The contract upgradability is using the EtherRouter pattern, see the delegate proxy pattern in the documentation for implementation details.
roles and a significant part of the
token contract have been reused from the Dappsys library.
You can start a local test node and deploy the contracts yourself using the locally installed
yarn start:blockchain:client yarn truffle migrate --reset --compile-all
To deploy all contracts and run all contract tests:
To deploy all contracts and run all reputation mining tests:
To run tests with code coverage using solidity-coverage:
yarn run test:contracts:coverage
To lint contracts using Solium
yarn run solium
To lint JS using
eslint (this is also a pre-commit hook)
yarn run eslint
For details about how to contribute you can check the contributing page