X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=blobdiff_plain;f=README.md;h=55fd2821e341cdbab3da60e6229aa62074f60d5f;hp=723b8438cf670275db07328fa179593a2ca10644;hb=b12c7b5f50749a73b4599c1c15d8e242deb64e8e;hpb=59473f6c0eb271466cbf454b0605c9b1168725e5 diff --git a/README.md b/README.md index 723b8438..55fd2821 100644 --- a/README.md +++ b/README.md @@ -1,161 +1,130 @@ -Bytom +Vapor ====== -[![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) +[![Build Status](https://travis-ci.org/Bytom/vapor.svg)](https://travis-ci.org/Bytom/vapor) [![AGPL v3](https://img.shields.io/badge/license-AGPL%20v3-brightgreen.svg)](./LICENSE) -**Official golang implementation of the Bytom protocol.** +**Golang implemented sidechain for Bytom.** -Automated builds are available for stable releases and the unstable master branch. Binary archives are published at https://github.com/Bytom/bytom/releases. +## Requirements -## What is Bytom? +- [Go](https://golang.org/doc/install) version 1.11 or higher, with `$GOPATH` set to your preferred directory -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. +## Get source code -In the current state `bytom` is able to: +``` +$ git clone https://github.com/Bytom/vapor.git $GOPATH/src/github.com/vapor +``` -- Manage key, account as well as asset -- Send transactions, i.e., issue, spend and retire asset +Then, you have two ways to get vapor executable file: -## Installing with Homebrew +1. compile source code +2. build it using Docker + +## Installation ``` -brew tap bytom/bytom && brew install bytom +$ cd $GOPATH/src/github.com/vapor +$ make install ``` -## Building from source +## Run Directly -### Requirements +Firstly, you need initialize node: -- [Go](https://golang.org/doc/install) version 1.8 or higher, with `$GOPATH` set to your preferred directory +``` +$ vapord init --chain_id=mainnet --home +``` -### Installation +The default vapor data path (on the host) is: ++ Mac: `~/Library/Application Support/Vapor` ++ Linux: `~/.vapor` ++ Windows: `%APPDATA%\Vapor` -Ensure Go with the supported version is installed properly: +Then, start your node: -```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 +$ vapord node --home ``` -- Build source code +## Running in Docker -``` bash -$ cd $GOPATH/src/github.com/bytom -$ make bytomd # build bytomd -$ make bytomcli # build bytomcli -``` +### Build the image -When successfully building the project, the `bytom` and `bytomcli` binary should be present in `cmd/bytomd` and `cmd/bytomcli` directory, respectively. +``` +$ cd $GOPATH/src/github.com/vapor +$ docker build -t vapor . +``` -### Executables +### Enter the iterative mode -The Bytom project comes with several executables found in the `cmd` directory. +``` +$ docker run -it --net=host -v :/root/.vapor vapor:latest +``` -| 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](https://github.com/Bytom/bytom/wiki/Command-Line-Options) for command line options. | +vapor data directory has three config files: -## Running bytom +- `config.toml` +- `federation.json` +- `node_key.txt` -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`. +Use `exit` to exit Docker's iterative mode. -### Initialize +### Daemon mode -First of all, initialize the node: +For example, ```bash -$ cd ./cmd/bytomd -$ ./bytomd init --chain_id mainnet +$ docker run -d --net=host -v :/root/.vapor vapor:latest vapord node --web.closed --auth.disable ``` -There are three options for the flag `--chain_id`: - -- `mainnet`: connect to the mainnet. -- `testnet`: connect to the testnet wisdom. -- `solonet`: standalone mode. +To list the running containners and check their container id, image, corresponding command, created time, status, name and ports being used: -After that, you'll see `config.toml` generated, then launch the node. - -### launch - -``` bash -$ ./bytomd node +``` +$ docker container ls ``` -available flags for `bytomd node`: +or ``` - --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) +$ docker ps ``` -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. +To execute a command inside a containner, for example: -__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 +$ docker exec -it vaporcli create-access-token ``` -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. +To stop a running containner: -For more details about using `bytomcli` command please refer to [API Reference](https://github.com/Bytom/bytom/wiki/API-Reference) - -### Dashboard +``` +$ docker stop +``` -Access the dashboard: +To remove a containner: ``` -$ open http://localhost:9889/ +$ docker rm ``` -### In Docker +### Reward distribution tool -Ensure your [Docker](https://www.docker.com/) version is 17.05 or higher. +After the supernode and alternative node receive the reward from the node, they will allocate the reward -```bash -$ docker build -t bytom . -``` +according to the interest rate. + +The reward calculation rules: + + calculate the reward (consensus reward * interest rate * voting weight) according to the weight of votes -For the usage please refer to [running-in-docker-wiki](https://github.com/Bytom/bytom/wiki/Running-in-Docker). +cast in consensus around, and choose how many rounds of consensus to allocate the reward flexibly. -## Contributing +[Tool usage details](./cmd/votereward/README.md) -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](https://github.com/Bytom/bytom/issues/) in this repository. We are glad to help! +### Merger utxo +UTXO has been merged to solve the problem that too much UTXO input causes a failed send transaction to fail. +[details](./cmd/utxomerge/README.md) ## License