GitPedia

ColonyNetwork

Colony Network smart contracts

From JoinColony·Updated June 15, 2026·View on GitHub·

Contracts for running the Colony Network as defined in the [Colony White Paper](https://colony.io/whitepaper.pdf) The project is written primarily in JavaScript, distributed under the GNU General Public License v3.0 license, first published in 2017. Key topics include: blockchain, ethereum, ethereum-contract, smart-contracts, solidity.

Latest release: imwss3Indigo MWSS3
January 22, 2025View Changelog →
<div align="center"> <img src="https://raw.githubusercontent.com/JoinColony/brand/v1.0.0/logo_network.svg" width="600" /> </div> <div align="center"> <a href="https://circleci.com/gh/JoinColony/colonyNetwork"> <img src="https://circleci.com/gh/JoinColony/colonyNetwork.svg?style=shield" /> </a> <a href="https://greenkeeper.io/"> <img src="https://badges.greenkeeper.io/JoinColony/colonyNetwork.svg" /> </a> <a href="https://gitter.im/JoinColony/colonyNetwork"> <img src="https://img.shields.io/gitter/room/TechnologyAdvice/Stardust.svg" /> </a> <a href="https://build.colony.io/"> <img src="https://img.shields.io/discourse/https/build.colony.io/status.svg" /> </a> </div>

The Colony Network

Contracts for running the Colony Network as defined in the Colony White Paper

Prerequisites

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

Installation

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

Contracts

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.

Local Development and Testing

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

Contributing

For details about how to contribute you can check the contributing page

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from JoinColony/colonyNetwork via the GitHub API.Last fetched: 6/26/2026