• R/O
  • HTTP
  • SSH

bytom: レポジトリ概要

Official Go implementation of the Bytom protocol

最近のコミット RSS

Rev. 日時 作者 メッセージ
8fe4018 2019-08-21 11:37:49 Paladz prod Merge pull request #1781 from Bytom/dev Dev
09b7563 2019-08-16 16:01:21 Paladz dev Merge pull request #1780 from Bytom/ban_peer fix ban no...
da4f422 2019-08-16 13:35:18 Yahtoo Ma ban_peer fix ban node failed
cae59de 2019-08-15 13:13:24 Paladz Merge pull request #1779 from Bytom/dev-log log writer ...
2199a1f 2019-08-15 13:10:06 wyjDoraemon log writer close
9a2e3f3 2019-08-15 11:58:29 wyjDoraemon dev_log log writer close
32c2864 2019-08-15 11:54:49 wyjDoraemon Merge branch 'dev' of https://github.com/Bytom/bytom into...
d0f242d 2019-08-14 17:55:35 Paladz Merge pull request #1777 from Bytom/txpool restore Tx b...
4ce2ede 2019-08-14 17:47:59 Paladz Merge pull request #1774 from Bytom/orphan fix the orph...
5566834 2019-08-13 16:07:03 Yahtoo Ma txpool restore Tx back to Tx pool when chain is reorganized


名前 Rev. 日時 作者
v1.0.9 00f7762 2019-04-22 16:08:29 Paladz
v1.0.8 56443ac 2019-03-04 16:41:00 Paladz
v1.0.7-hotfix-9e872c0 9e872c0 2018-12-11 14:29:19 Paladz
v1.0.7 96a0b65 2018-11-19 15:51:49 Paladz
v1.0.6rc1 a737e83 2018-10-08 14:48:16 Paladz
v1.0.5-hotfix-6568627 6568627 2018-09-03 10:43:34 Paladz
v1.0.5 2bc2396 2018-08-30 12:53:17 Paladz
v1.0.4 9082510 2018-07-26 12:28:30 Paladz
v1.0.4-simd 9082510 2018-07-26 12:28:30 Paladz
v1.0.3-hotfix-f53cde9 f53cde9 2018-07-14 19:30:45 yahtoo
v1.0.3 9ac0f65 2018-06-19 12:15:10 Paladz
v1.0.2 3089728 2018-05-14 15:33:20 yahtoo
v1.0.1 2c742b9 2018-04-28 14:53:38 Paladz
v1.0.0 23e4539 2018-04-24 14:19:55 Yongfeng LI
v0.5.1 0df7c91 2018-04-23 18:04:15 Paladz
v0.5.0 183ec4a 2018-04-20 19:15:09 Yongfeng LI
v0.4.7 a480139 2018-04-17 14:42:36 Yongfeng LI
v0.4.6 f7709ca 2018-04-12 16:14:15 Yongfeng LI
v0.4.5 fa4a9dd 2018-04-10 16:10:12 Yongfeng LI
v0.4.4 8a6b761 2018-04-10 14:56:31 Yongfeng LI
v0.4.3 f50aabb 2018-04-10 12:08:39 Yongfeng LI
v0.4.2 1d8b641 2018-04-02 21:35:53 Yongfeng LI
v0.4.1 92edf53 2018-03-26 19:35:27 Yongfeng LI
v0.4.0 62658d8 2018-02-01 16:02:14 Guanghua Guo
v0.3.0 3712c2a 2018-01-03 14:56:25 Guanghua Guo
v0.2.0 0eb1d10 2017-11-30 18:22:51 icodezjb
v0.1.4 41dc248 2017-11-06 18:04:15 Guanghua Guo
v0.1.3 fc6922b 2017-10-31 16:17:28 Guanghua Guo
0.1.2 1243faa 2017-10-21 18:45:26 Guanghua Guo
v0.1.1 ddd0e8b 2017-10-13 10:47:26 Guanghua Guo
v0.1.0 c8ee542 2017-09-29 10:55:22 Guanghua Guo


名前 Rev. 日時 作者 メッセージ
prod 8fe4018 2019-08-21 11:37:49 Paladz Merge pull request #1781 f...
dev 09b7563 2019-08-16 16:01:21 Paladz Merge pull request #1780 f...
ban_peer da4f422 2019-08-16 13:35:18 Yahtoo Ma fix ban node failed
dev_log 9a2e3f3 2019-08-15 11:58:29 wyjDoraemon log writer close
txpool 5566834 2019-08-13 16:07:03 Yahtoo Ma restore Tx back to Tx pool ...
orphan 68dd406 2019-08-13 12:42:57 Yahtoo Ma fix the orphan issue
security 640bd83 2019-08-05 11:10:24 Yahtoo Ma Del expired banned peers wh...
master aa9dc66 2019-07-31 20:48:39 Paladz Merge pull request #1762 f...
fixflag e9157c7 2019-07-31 15:37:39 iczc add missing parenthese
dev-gm 509f0b4 2019-06-18 18:16:04 Paladz Merge pull request #1758 f...
dev-gm-modify-seed de2676b 2019-06-18 16:32:57 Chengcheng Zhang update seed
claimTxOut 98f90fc 2019-05-09 15:51:25 HAOYUatHZ wip(claimOut): set gas for ...
wrap d29d859 2019-05-09 12:12:51 HAOYUatHZ init
globalidx 33a77d8 2019-04-25 15:27:46 HAOYUatHZ feat(wip): init chain.GetTx...
politic e3f88c0 2019-04-19 19:33:24 Zhiting Lin update the dashboard (#1725)
dev-entryid defcab2 2019-03-26 12:13:44 Chengcheng Zhang Merge branch 'dev' into dev...
dev-listaddress 00d5975 2019-03-07 11:53:29 oysheng Merge branch 'prod' into de...
test_stable d295a48 2019-03-02 14:28:45 paladz edit
testnet 6db5794 2019-03-02 11:37:58 Paladz Merge pull request #1611 f...
fix_conflict 94d139a 2019-02-28 11:53:28 Yahtoo Ma Merge remote-tracking branc...
schrodinger_cat 71f59d5 2019-01-14 21:05:40 Paladz Merge pull request #1556 f...
dev-contract 5460f4e 2019-01-11 16:13:02 oysheng optimise contract check for...
sidechain d9654ef 2018-11-22 16:49:54 wz merge dev



Build Status AGPL v3

Official golang implementation of the Bytom protocol.

Automated builds are available for stable releases and the unstable master branch. Binary archives are published at https://github.com/Bytom/bytom/releases.

What is Bytom?

Bytom is software designed to operate and connect to highly scalable blockchain networks confirming to the Bytom Blockchain Protocol, which allows partipicants to define, issue and transfer digitial assets on a multi-asset shared ledger. Please refer to the White Paper for more details.

In the current state bytom is able to:

  • Manage key, account as well as asset
  • Send transactions, i.e., issue, spend and retire asset

Installing with Homebrew

brew tap bytom/bytom && brew install bytom

Building from source


  • Go version 1.8 or higher, with $GOPATH set to your preferred directory


Ensure Go with the supported version is installed properly:

bash $ go version $ go env GOROOT GOPATH

  • Get the source code

bash $ git clone https://github.com/Bytom/bytom.git $GOPATH/src/github.com/bytom

  • Build source code

bash $ cd $GOPATH/src/github.com/bytom $ make bytomd # build bytomd $ make bytomcli # build bytomcli

When successfully building the project, the bytom and bytomcli binary should be present in cmd/bytomd and cmd/bytomcli directory, respectively.


The Bytom project comes with several executables found in the cmd directory.

| Command | Description | | ------------ | ------------------------------------------------------------ | | bytomd | bytomd command can help to initialize and launch bytom domain by custom parameters. bytomd --help for command line options. | | bytomcli | Our main Bytom CLI client. It is the entry point into the Bytom network (main-, test- or private net), capable of running as a full node archive node (retaining all historical state). It can be used by other processes as a gateway into the Bytom network via JSON RPC endpoints exposed on top of HTTP, WebSocket and/or IPC transports. bytomcli --help and the bytomcli Wiki page for command line options. |

Running bytom

Currently, bytom is still in active development and a ton of work needs to be done, but we also provide the following content for these eager to do something with bytom. This section won't cover all the commands of bytomd and bytomcli at length, for more information, please the help of every command, e.g., bytomcli help.


First of all, initialize the node:

bash $ cd ./cmd/bytomd $ ./bytomd init --chain_id mainnet

There are three options for the flag --chain_id:

  • mainnet: connect to the mainnet.
  • testnet: connect to the testnet wisdom.
  • solonet: standalone mode.

After that, you'll see config.toml generated, then launch the node.


bash $ ./bytomd node

available flags for bytomd node:

--auth.disable Disable rpc access authenticate --chain_id string Select network type -h, --help help for node --mining Enable mining --p2p.dial_timeout int Set dial timeout (default 3) --p2p.handshake_timeout int Set handshake timeout (default 30) --p2p.laddr string Node listen address. --p2p.max_num_peers int Set max num peers (default 50) --p2p.pex Enable Peer-Exchange (default true) --p2p.seeds string Comma delimited host:port seed nodes --p2p.skip_upnp Skip UPNP configuration --prof_laddr string Use http to profile bytomd programs --vault_mode Run in the offline enviroment --wallet.disable Disable wallet --wallet.rescan Rescan wallet --web.closed Launch web browser or not --simd.enable Enable the _simd_ feature to speed up the _PoW_ verification (e.g., during mining and block verification)

Given the bytomd node is running, the general workflow is as follows:

  • create key, then you can create account and asset.
  • send transaction, i.e., build, sign and submit transaction.
  • query all kinds of information, let's say, avaliable key, account, key, balances, transactions, etc.

simd feature:

You could enable the simd feature to speed up the PoW verification (e.g., during mining and block verification) by simply: bytomd node --simd.enable

To enable this feature you will need to compile from the source code by yourself, and make bytomd-simd.

What is more,

  • if you are using Mac, please make sure llvm is installed by brew install llvm.
  • if you are using Windows, please make sure mingw-w64 is installed and set up the PATH environment variable accordingly.

For more details about using bytomcli command please refer to API Reference


Access the dashboard:

$ open http://localhost:9888/

In Docker

Ensure your Docker version is 17.05 or higher.

bash $ docker build -t bytom .

For the usage please refer to running-in-docker-wiki.


Thank you for considering helping out with the source code! Any contributions are highly appreciated, and we are grateful for even the smallest of fixes!

If you run into an issue, feel free to bytom issues in this repository. We are glad to help!