X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=blobdiff_plain;f=README.md;h=723b8438cf670275db07328fa179593a2ca10644;hp=c0b084f9d7b4fa4035bf1931b7235f053d124f43;hb=f3267d4dab32355bc233ae8be5f322cb039dfc59;hpb=033bad62977278dabdd9846c352eedaac37b3d53 diff --git a/README.md b/README.md index c0b084f9..723b8438 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,32 @@ -Vapor -==== +Bytom +====== -[![Build Status](https://travis-ci.org/Bytom/bytom.svg)](https://travis-ci.org/Bytom/vapor) [![AGPL v3](https://img.shields.io/badge/license-AGPL%20v3-brightgreen.svg)](./LICENSE) +[![Build Status](https://travis-ci.org/Bytom/bytom.svg)](https://travis-ci.org/Bytom/bytom) [![AGPL v3](https://img.shields.io/badge/license-AGPL%20v3-brightgreen.svg)](./LICENSE) -**Golang implemented sidechain for Bytom.** +**Official golang implementation of the Bytom protocol.** -## What is Vapor? +Automated builds are available for stable releases and the unstable master branch. Binary archives are published at https://github.com/Bytom/bytom/releases. -Vapor is software designed to extensions to the Bytom protocol, which allows partipicants to define, issue and transfer digitial assets on a multi-asset shared ledger or networks pegged to Bytom as a sidechain or run as a standalone blockchain. +## 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](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. + +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 ### Requirements -- [Go](https://golang.org/doc/install) version 1.11.4 or higher, with `$GOPATH` set to your preferred directory +- [Go](https://golang.org/doc/install) version 1.8 or higher, with `$GOPATH` set to your preferred directory ### Installation @@ -28,39 +40,39 @@ $ go env GOROOT GOPATH - Get the source code ``` bash -$ git clone https://github.com/bytom/vapor.git $GOPATH/src/github.com/vapor +$ git clone https://github.com/Bytom/bytom.git $GOPATH/src/github.com/bytom ``` - Build source code ``` bash -$ cd $GOPATH/src/github.com/vapor -$ make vapor # build vapor -$ make vaporcli # build vaporcli +$ cd $GOPATH/src/github.com/bytom +$ make bytomd # build bytomd +$ make bytomcli # build bytomcli ``` -When successfully building the project, the `vapor` and `vaporcli` binary should be present in `cmd/vapor` and `cmd/vaporcli` directory, respectively. +When successfully building the project, the `bytom` and `bytomcli` binary should be present in `cmd/bytomd` and `cmd/bytomcli` directory, respectively. ### Executables -The Vapor project comes with several executables found in the `cmd` directory. +The Bytom project comes with several executables found in the `cmd` directory. | Command | Description | | ------------ | ------------------------------------------------------------ | -| **vapor** | vapor command can help to initialize and launch vapor domain by custom parameters. `vapor --help` for command line options. | -| **vaporcli** | Our main Vapor CLI client. It is the entry point into the Vapor 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 Vapor network via JSON RPC endpoints exposed on top of HTTP, WebSocket and/or IPC transports. `vaporcli --help`. | +| **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](https://github.com/Bytom/bytom/wiki/Command-Line-Options) for command line options. | -## Running vapor +## Running bytom -Currently, vapor 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 `vapor`. This section won't cover all the commands of `vapor` and `vaporcli` at length, for more information, please the help of every command, e.g., `vaporcli help`. +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`. ### Initialize First of all, initialize the node: ```bash -$ cd ./cmd/vapor -$ ./vapor init --chain_id mainnet +$ cd ./cmd/bytomd +$ ./bytomd init --chain_id mainnet ``` There are three options for the flag `--chain_id`: @@ -74,65 +86,76 @@ After that, you'll see `config.toml` generated, then launch the node. ### launch ``` bash -$ ./vapor node +$ ./bytomd node ``` -available flags for `vapor node`: +available flags for `bytomd node`: ``` - --auth.disable Disable rpc access authenticate - --chain_id string Select network type - -h, --help help for node - --log_file string Log output file - --log_level string Select log level(debug, info, warn, error or fatal - --mainchain.mainchain_rpc_host string The address which the daemon will try to connect to validate peg-ins, if enabled. (default "127.0.0.1") - --mainchain.mainchain_rpc_port string The port which the daemon will try to connect to validate peg-ins, if enabled. (default "9888") - --mainchain.mainchain_token string The rpc token that the daemon will use to connect to validate peg-ins, if enabled. - --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. (0.0.0.0:0 means any interface, any port) (default "tcp://0.0.0.0:46656") - --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 - --side.fedpeg_xpubs string Change federated peg to use a different xpub. - --side.parent_genesis_block_hash string (default "a75483474799ea1aa6bb910a1a5025b4372bf20bef20f246a2c2dc5e12e8a053") - --side.pegin_confirmation_depth uint Pegin claims must be this deep to be considered valid. (default: 6) (default 6) - --side.sign_block_xpubs string Change federated peg to use a different xpub. - --signer string The signer corresponds to xpub of signblock - --validate_pegin Validate pegin claims. All functionaries must run this. - --vault_mode Run in the offline enviroment - --wallet.disable Disable wallet - --wallet.rescan Rescan wallet - --web.closed Lanch web browser or not - + --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 Lanch 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 `vapor` node is running, the general workflow is as follows: +Given the `bytomd` node is running, the general workflow is as follows: -- create key, then you can create account. +- 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](https://github.com/Bytom/bytom/wiki/API-Reference) + ### Dashboard Access the dashboard: ``` -$ open http://localhost:8888/ +$ open http://localhost:9889/ ``` -### Sidechain +### In Docker + +Ensure your [Docker](https://www.docker.com/) version is 17.05 or higher. + +```bash +$ docker build -t bytom . +``` -* [Sidechain deployment](docs/vapor-deployment.md) +For the usage please refer to [running-in-docker-wiki](https://github.com/Bytom/bytom/wiki/Running-in-Docker). ## Contributing 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 [vapor issues](https://github.com/bytom/vapor/issues/) in this repository. We are glad to help! +If you run into an issue, feel free to [bytom issues](https://github.com/Bytom/bytom/issues/) in this repository. We are glad to help! ## License