Git Product home page Git Product logo

codechain's Introduction

CodeChain Build Status Gitter: CodeChain License: AGPL v3

CodeChain is a programmable open source blockchain technology optimal for developing and customizing multi-asset management systems.


Download CodeChain code

git clone [email protected]:CodeChain-io/codechain.git
cd codechain

Build in release mode

cargo build --release

This will produce an executable in the ./target/release directory.


Using Docker

CodeChain supports the use of Docker to provide an easy and seamless installation process by providing a single package that gives the user everything he/she needs to get CodeChain up and running. In order to get the installation package, run the following command after installing Docker:

docker build -f docker/ubuntu/Dockerfile --tag codechain-io/codechain:branch_or_tag_name .

WSL users may find difficulty in using Docker, and thus, it is highly recommended to use Ubuntu, or install Docker for Windows. When using Docker for Windows, it is necessary to enable Hyper-V in BIOS settings.

To see the Docker images created, run the following:

docker images

It will result in something like this:

REPOSITORY               TAG                  IMAGE ID            CREATED              SIZE
codechain-io/codechain   branch_or_tag_name   6f8474d9bc7a        About a minute ago   1.85GB
ubuntu                   14.04                971bb384a50a        6 days ago           188MB

If you want to run the first image file, run the following command:

docker run -it codechain-io/codechain:branch_or_tag_name

This should result in CodeChain running.

Building From Source

Build Dependencies

CodeChain requires Rust version 1.34.0 to build. Using rustup is recommended.

  • For Linux Systems:

    • Ubuntu

      gcc, g++ and make are required for installing packages.

      $ curl -sSf | sh
  • For Mac Systems:

    • MacOS 10.13.2 (17C88) tested

      clang is required for installing packages.

      $ curl -sSf | sh
  • For Windows Systems:

    • Currently not supported for Windows. If on a Windows system, please install WSL to continue as Ubuntu.

Please make sure that all of the binaries above are included in your PATH. These conditions must be fulfilled before building CodeChain from source.

Download CodeChain's source code and go into its directory.

git clone [email protected]:CodeChain-io/codechain.git
cd codechain

Build as Release Version

cargo build --release

This will produce an executable in the ./target/release directory.

Using CodeChain SDK

Before starting to use the CodeChain SDK, please install node.js by going to this page.

Next, install the package with the following command:

npm install codechain-sdk or yarn add codechain-sdk


To run CodeChain, just run

./target/release/codechain -c solo

You can create a block by sending a parcel through JSON-RPC or JavaScript SDK.


Make sure you run rustfmt before creating a PR to the repo. You need to install the nightly-2018-12-06 version of rustfmt.

rustup toolchain install nightly-2018-12-06
rustup component add rustfmt-preview --toolchain nightly-2018-12-06

To run rustfmt,

cargo +nightly-2018-12-06 fmt


You should run clippy also. This is a lint tool for rust. It suggests more efficient/readable code. You can see the clippy document for more information. You need to install the nightly-2018-12-06 version of clippy.


rustup toolchain install nightly-2018-12-06
rustup component add clippy-preview --toolchain nightly-2018-12-06


cargo +nightly-2018-12-06 clippy --all --all-targets


Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run with: cargo test --all. For more details, please reference Unit Tests.

User Manual

Under docs folder, run following command.

make html

User manual will be generated at docs/_build/html.


CodeChain is licensed under the AGPL License - see the LICENSE file for details

codechain's People


conr2d avatar cubismic avatar foriequal0 avatar gurrpi avatar haarpuia avatar hoongee avatar hyunsikjeong avatar joojis avatar junbeomlee avatar junhojam avatar kseo avatar leekt avatar longfin avatar majecty avatar misilvia avatar qria avatar redongjun avatar scarletblue avatar sgkim126 avatar





Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.