Developers’ Guide

This document describes how to contribute to hyperchain project. It is an entry point for developers who are interested in build, develop, create an issue or pull request to hyperchain.



1. fork

visit, click fork button

2. clone

We assume that you have go v1.8 installed, and GOPATH is set.

Create your clone:

git clone$user/hyperchain.git

3. fetch && rebase

Get your local master up to date:

cd $GOPATH/src/
git fetch upstream
git checkout master
git rebase upstream/master

4. branch

Branch from it:

git checkout -b myfeature

Then edit code on the myfeature branch.

5. commit

git commit

6. push

When ready to review (or just to establish an offsite backup or your work), push your branch to your fork on

git push -f ${your_remote_name} myfeature

7. create pull request

  1. Visit your fork at$user/hyperchain
  2. Click the Compare & Pull Request button next to your myfeature branch.

Building and Testing


Run instructions below in the project root directory

go build -o hyperchain


Run unit tests in the project root directory

go test -cpu 4 ./...


Each contributor should follow the git workflow. If your use of git is not particularly clear, please read this document <>__ first.

If you would like to contribute to hyperchain, please fork, commit and send a pull request for maintainers to review code and merge to main code base.


If use want to create a issue, please follow this issue template.

#### Environment

hyperchain version: `hyperchain --version`
OS: Windows/Linux/OSX
Commit hash:

#### What happened:

#### What you expected to happen:

#### How to reproduce it (as minimally and precisely as possible):

#### Backtrace


Pull request

  • Pull request should be based on hyperchain’s master branch
  • Commit messages should begin with the package name they modify, e.g.
  • core/executor: use default parameters to initialize executor
  • Please use go fmt tool to format the source code before submit changes

We encourage any form of contribution, no matter it’s bug fixes, new features, or something else. Our team will do our best to make every valuable contribution to get merged as soon as possile.