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 v16.15.x (we recommend using nvm)
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 && npm install Update submodule libraries:
$ git submodule update --init The contract upgradability is using the EtherRouter pattern, see the delegate proxy pattern in the documentation for implementation details.
The math, erc20, auth, 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 truffle package.
npm run start:blockchain:client npx truffle migrate --reset --compile-all To deploy all contracts and run all contract tests:
npm run test:contracts To deploy all contracts and run all reputation mining tests:
npm run test:reputation To run tests with code coverage using solidity-coverage:
npm run test:contracts:coverage To lint contracts using Solium
npm run solium To lint JS using eslint (this is also a pre-commit hook)
npm run eslint For details about how to contribute you can check the contributing page