Cosmos文档(中文版)-- 2. 开始
由本人翻译, 转载需先说明
所有章节:
英文版文档:Cosmos Docs
中文版白皮书:Cosmos白皮书
下载Voyager
Voyager是Cosmos Network官方的桌面端应用。它提供了一个直观的接口去进行管理账户,创建交易,委托和治理。
深入研究
如果你熟悉CLI,你应该考虑在最新的Cosmos测试网络中运行一个全节点或验证人节点。了解更多
Install the SDK
这篇教程将展示如何在你的系统里安装Cosmos SDK。在一台服务器上安装了SDK后,你可以加入到最新的测试网络,做为一个全节点或者验证人。
安装Go
按照官方文档来安装go
。 记得设置$GOPATH
,$GOBIN
,和$PATH
这些环境变量,例如:
mkdir -p $HOME/go/bin
echo "export GOPATH=$HOME/go" >> ~/.bash_profile
echo "export GOBIN=$GOPATH/bin" >> ~/.bash_profile
echo "export PATH=$PATH:$GOBIN" >> ~/.bash_profile
提示
Cosmos SDK需要Go1.10以上的版本
安装Cosmos SDK
接下来,我们安装Cosmos SDK的测试网络版本
mkdir -p $GOPATH/src/github.com/cosmos
cd $GOPATH/src/github.com/cosmos
git clone https://github.com/cosmos/cosmos-sdk
cd cosmos-sdk && git checkout v0.19.0
make get_tools && make get_vendor_deps && make install
这将会安装gaiad
和gaiacli
可执行文件。检查一切都已完成:
$ gaiad version
0.19.0-c6711810
$ gaiacli version
0.19.0-c6711810
运行一个全节点
在Cosmos SDK安装成功后,你可以在最新的测试网络上运行一个全节点。
加入Testnet
请确认你已经安装了Cosmos SDK。如果你在之前的测试网络运行过一个全节点,请直接跳到升级之前的Testnet。
启动一个新节点
这些指令会从scratch中启动一个新的节点。
首先,初始化节点并创建必要的配置文件:
gaiad init --name <your_custom_name>
注意
--name
只支持ASCII字符.使用Unicode字符将会使你的节点不可访问。
之后你可以在~/.gaiad/config/config.toml
文件中编辑name
:
# A custom human readable name for this node
moniker = "<your_custom_name>"
你的全节点已经初始化成功!请跳至Genesis & Seeds。
升级之前的Testnet
这里的指令会把在之前Testnet运行过的节点升级到最新的Testnet上。
重置数据
首先,移除过期的文件并重置数据。
rm $HOME/.gaiad/config/addrbook.json $HOME/.gaiad/config/genesis.json
gaiad unsafe_reset_all
你的节点现在处于初始状态,尽管持有初始的priv_validator.json
和config.toml
。如果你有任何sentry节点或者启动过全节点,你的节点仍然会尝试去连接它们,但是如果它们还没有升级的话,连接很可能会失败。
警告
确保每个节点都有一个独一无二priv_validator.json
。不要从旧节点中复制priv_validator.json
到新的节点中。运行两个有着相同priv_validator.json
的节点会导致双签。
软件升级
现在该升级软件了
cd $GOPATH/src/github.com/cosmos/cosmos-sdk
git fetch --all && git checkout v0.23.0
make update_tools && make get_vendor_deps && make install
你的全节点已经更新好了。
Genesis & Seeds
复制Genesis文件
把testnet的genesis.json
文件放入gaiad
的配置目录。
mkdir -p $HOME/.gaiad/config
curl https://raw.githubusercontent.com/cosmos/testnets/master/gaia-7002/genesis.json > $HOME/.gaiad/config/genesis.json
添加Seed节点
有的节点需要知道怎样找到伙伴节点。你需要在$HOME/.gaiad/config/config.toml
文件中添加正常运行的种子节点。这里有一些节点你可以使用:
# Comma separated list of seed nodes to connect to
seeds = "718145d422a823fd2a4e1e36e91b92bb0c4ddf8e@gaia-testnet.coinculture.net:26656,5922bf29b48a18c2300b85cc53f424fce23927ab@67.207.73.206:26656,7c8b8fd03577cd4817f5be1f03d506f879df98d8@gaia-7000-seed1.interblock.io:26656,a28737ff02391a6e00a1d3b79befd57e68e8264c@gaia-7000-seed2.interblock.io:26656,987ffd26640cd03d08ed7e53b24dfaa7956e612d@gaia-7000-seed3.interblock.io:26656"
如果这些节点不再运行,你可以在Cosmos浏览器中找到更多的种子节点和持久节点。打开Full Nodes
界面,然后选择那些不在(10.x.x.x
)私有IP网段或者是本地IP地址的节点。Persistent Peer
字段含有连接字符串。最好是使用4-6。
要了解更多关于种子和节点的内容,你可以看这里
运行一个全节点
用这条命令启动全节点:
gaiad start
检查一切都正常:
gaiacli status
通过Cosmos浏览器查看网络的状态。一旦你的全节点同步到当前区块高度,你应该能看到它出现在全节点列表。如果它没有出现,也是正常的——浏览器没有连接到所有的节点。
升级到验证人节点
现在你有了一个激活状态的全节点。下一步要怎么做?你可以把你的全节点升级成一个Cosmos验证人。前100名验证人可以向Cosmos Hub提议新的区块。继续验证人设置。