Bytom
Bytom 协议的官方 golang 实现。
自动构建适用于稳定版本和不稳定的主分支。二进制归档文件发布在 https://github.com/Bytom/bytom/releases。
什么是 Bytom?
Bytom 是一种软件,旨在操作和连接符合 Bytom 区块链协议的高度可扩展的区块链网络,允许参与者在多资产共享账本上定义、发行和转移数字资产。请参阅 白皮书 了解更多详情。
在当前状态下,bytom
能够:
- 管理密钥、账户以及资产
- 发送交易,即发行、花费和退役资产
使用 Homebrew 安装
brew tap bytom/bytom && brew install bytom
从源码构建
要求
- Go 版本 1.8 或更高,
$GOPATH
设置为你喜欢的目录
安装
确保支持的版本的 Go 已正确安装:
$ go version
$ go env GOROOT GOPATH
- 获取源码
$ git clone https://github.com/Bytom/bytom.git $GOPATH/src/github.com/bytom/bytom
- 编译源码
$ cd $GOPATH/src/github.com/bytom/bytom
$ make bytomd # 构建 bytomd
$ make bytomcli # 构建 bytomcli
成功构建项目后,bytomd
和 bytomcli
二进制文件将分别存在于 cmd/bytomd
和 cmd/bytomcli
目录中。
可执行文件
Bytom 项目附带了几个在 cmd
目录中找到的可执行文件。
命令 | 描述 |
---|---|
bytomd | bytomd 命令可以通过自定义参数帮助初始化和启动 bytom 域。bytomd --help 查看命令行选项。 |
bytomcli | 我们的主要 Bytom CLI 客户端,这是进入 Bytom 网络(主网、测试网或私有网)的入口点,能够作为全节点归档节点运行(保留所有历史状态)。它可以通过 JSON RPC 端点在 HTTP、WebSocket 和/或 IPC 传输层上被其他流程使用,作为进入 Bytom 网络的网关。bytomcli --help 和 bytomcli Wiki 页面 查看命令行选项。 |
运行 bytom
目前,bytom 仍在积极开发中,还有很多工作需要完成,但我们也为那些渴望使用 bytom
的人提供以下内容。本节不会详细介绍 bytomd
和 bytomcli
的所有命令,更多信息请参阅每个命令的帮助,例如 bytomcli help
。
初始化
首先,初始化节点:
$ cd ./cmd/bytomd
$ ./bytomd init --chain_id mainnet
标志 --chain_id
有三种选项:
mainnet
:连接到主网。testnet
:连接到测试网 wisdom。solonet
:独立模式。
之后,你会看到生成了 config.toml
文件,然后启动节点。
启动
$ ./bytomd node
bytomd node
的可用标志:
标志:
--auth.disable 禁用 rpc 访问验证
--chain_id string 选择网络类型
-h, --help 帮助信息
--log_file string 日志输出文件(默认 "log")
--log_level string 选择日志级别(debug、info、warn、error 或 fatal)
--p2p.dial_timeout int 设置拨号超时时间(默认 3)
--p2p.handshake_timeout int 设置握手超时时间(默认 30)
--p2p.keep_dial string 尝试保持连接的节点地址,以 ',' 分隔 (例如 "1.1.1.1:46657;2.2.2.2:46658")
--p2p.laddr string 节点监听地址(0.0.0.0:0 表示任何接口,任何端口)(默认 "tcp://0.0.0.0:46656")
--p2p.lan_discoverable 节点是否可以被局域网中的节点发现(默认 true)
--p2p.max_num_peers int 设置最大节点数(默认 50)
--p2p.node_key string 用于 p2p 通信的节点密钥
--p2p.proxy_address string 通过 SOCKS5 代理连接(例如 127.0.0.1:1086)
--p2p.proxy_password string 代理服务器密码
--p2p.proxy_username string 代理服务器用户名
--p2p.seeds string 用逗号分隔的主机:端口种子节点
--p2p.skip_upnp 跳过 UPNP 配置
--prof_laddr string 使用 http 配置 bytomd 程序
--vault_mode 在离线环境中运行
--wallet.disable 禁用钱包
--wallet.rescan 重新扫描钱包
--wallet.txindex 保存全局交易索引
--web.closed 是否启动网页浏览器
--ws.max_num_concurrent_reqs int 最大并发 websocket 请求数(默认 20)
--ws.max_num_websockets int 最大 websocket 连接数(默认 25)
全局标志:
--home string 配置和数据的根目录
-r, --root string 已弃用。使用 --home(默认 "/Users/zcc/Library/Application Support/Bytom")
--trace 在错误时打印完整堆栈跟踪
在 bytomd
节点运行后,一般的工作流程如下:
- 创建密钥,然后你可以创建账户和资产。
- 发送交易,即构建、签名和提交交易。
- 查询各种信息,比如可用的密钥、账户、密钥、余额、交易等。
控制台
访问控制台:
$ open http://localhost:9888/
使用 Docker
确保你的 Docker 版本为 17.05 或更高。
$ docker build -t bytom .
有关使用说明,请参阅 running-in-docker-wiki。
贡献
感谢你考虑帮助改进源码!任何贡献我们都非常感谢,即使是最小的修复!
如果你遇到问题,欢迎在本库中 提问题。我们很乐意帮助!