4 [![AGPL v3](https://img.shields.io/badge/license-AGPL%20v3-brightgreen.svg)](./LICENSE)
7 <!-- vim-markdown-toc GFM -->
9 * [What is Bytom?](#what-is-bytom)
10 * [Build from source](#build-from-source)
11 * [Requirements](#requirements)
12 * [Installation](#installation)
13 * [Get the source code](#get-the-source-code)
16 * [Set up a wallet and manage the key](#set-up-a-wallet-and-manage-the-key)
17 * [Create and launch a single node](#create-and-launch-a-single-node)
18 * [Asset issuance test](#asset-issuance-test)
19 * [Multiple node](#multiple-node)
20 * [Contributing](#contributing)
23 <!-- vim-markdown-toc -->
27 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](https://github.com/Bytom/wiki/blob/master/White-Paper/%E6%AF%94%E5%8E%9F%E9%93%BE%E6%8A%80%E6%9C%AF%E7%99%BD%E7%9A%AE%E4%B9%A6-%E8%8B%B1%E6%96%87%E7%89%88.md) for more details.
29 In the current state `bytom` is able to:
32 - Manage account as well as asset
38 - [Go](https://golang.org/doc/install) version 1.8 or higher, with `$GOPATH` set to your preferred directory
42 Ensure Go with the supported version is installed properly:
46 $ go env GOROOT GOPATH
49 #### Get the source code
52 $ git clone https://github.com/Bytom/bytom $GOPATH/src/github.com/bytom
60 $ cd $GOPATH/src/github.com/bytom
69 $ cd $GOPATH/src/github.com/bytom/cmd/bytomcli
75 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`.
77 ### Set up a wallet and manage the key
80 $ ./bytomcli create-key account_name password # Create an account named account_name using password
81 $ ./bytomcli delete-key password pubkey # Delete account pubkey
82 $ ./bytomcli reset-password oldpassword newpassword pubkey # Update password
85 ### Create and launch a single node
87 When successfully building the project, the `bytom` and `bytomcli` binary should be present in `cmd/bytom/bytom` and `cmd/bytomcli/bytomcli`, respectively. The next step is to initialize the node:
91 $ ./bytom init --home ./.bytom
94 After that, you'll see `.bytom` generated in current directory, then launch the single node:
97 $ ./bytom node --home ./.bytom
100 #### Asset issuance test
102 Given the `bytom` node is running, you can use the provoided `issue-test` to test the asset issuance functionality:
106 $ ./bytomcli issue-test
111 Get the submodule depenency for multi-node test:
114 $ git submodule update --init --recursive
117 Create the first node `bytom0` and second node `bytom1`:
120 $ cd cmd/bytom/2node-test
121 $ ./test.sh bytom0 # Start the first node
122 $ ./test.sh bytom1 # Start the second node
125 Then we have two nodes:
128 $ curl -X POST --data '{"jsonrpc":"2.0", "method": "net_info", "params":[], "id":"67"}' http://127.0.0.1:46657
131 If everything goes well, we'll see the following response:
140 "Listener(@192.168.199.178:3332)"
145 "pub_key": "03571A5CE8B35E95E2357DB2823E9EB76EB42D5CCC5F8E68315388832878C011",
146 "moniker": "anonymous",
148 "remote_addr": "127.0.0.1:51058",
149 "listen_addr": "192.168.199.178:3333",
152 "wire_version=0.6.2",
154 "rpc_addr=tcp://0.0.0.0:46658"
162 Thank you for considering to help out with the source code! Any contributions are highly appreciated, and we are grateful for even the smallest of fixes!
164 If you run into an issue, feel free to [file one](https://github.com/Bytom/bytom/issues/) in this repository. We are glad to help!