准备运行环境
0. 创建用户帐户(可选)
为了创建单独的和更安全的环境,建议创建单独的用户帐户来运行节点。
sudo adduser stratos --home /home/stratos
创建用户后,使用 stratos 帐户登录系统并以该用户继续以下安装步骤
1. 下载二进制可执行文件
获取 stchaind
和 stchaincli
二进制文件
cd $HOME
wget https://github.com/stratosnet/stratos-chain/releases/download/v0.5.0/stchaincli
wget https://github.com/stratosnet/stratos-chain/releases/download/v0.5.0/stchaind
请注意:这些二进制文件是使用 linux amd64 创建的,因此如果您准备在其他内核上运行节点,请按照步骤 1.1 创建二进制文件
为了使用方便,我们推荐将下载的文件存入 $HOME
目录下。 如果不确定你的 $HOME
目录, 可以使用命令终端(terminal)查看。 以下的说明,都是在 $HOME
目录下进行的。
$ echo $HOME
/home/<your login name>
$ echo $HOME
/Users/<your login name>
使用 md5sum
检查文件完整性
md5sum stchain*
## 期待以下类似的输出
## aded93fa2f1f4816375dcb425ec4ce42 stchaincli
## 2d79092bd2096baa82879edc64c17294 stchaind
为下载的二进制文件添加可执行权限
chmod +x stchaincli
chmod +x stchaind
1.1 用源代码编译二进制文件
请首先确保安装了 Go 1.16+ (link).
git clone https://github.com/stratosnet/stratos-chain.git
cd stratos-chain
git checkout v0.5.0
make build
git clone https://github.com/stratosnet/stratos-chain.git
cd stratos-chain
git checkout v0.5.0
make build-mac
此时, 你会在 ./build
目录下找到 stchaincli
和 stchaind
这两个可执行文件。现在把这两个文件移动到你的 $HOME
目录下
mv build/stchaincli ./
mv build/stchaind ./
还可以通过以下方式将二进制文件安装到 $GOPATH/bin
目录。
2. 获取genesis
和 config
文件
初始化节点
./stchaind init --home ./ "<node name you prefer>"
# 请忽略输出的错误,因为您需要下载 genesis 文件
下载 genesis
和 config
文件
wget https://raw.githubusercontent.com/stratosnet/stratos-chain-testnet/main/genesis.json
wget https://raw.githubusercontent.com/stratosnet/stratos-chain-testnet/main/config.toml
更改节点名称
在 config.toml
第#16行
# 使用您喜欢的名字来命名节点
moniker = "<节点名称>"
将 config.toml
和 genesis.json
文件移动到 .stchaind/config/
文件夹里
mv config.toml .stchaind/config/
mv genesis.json .stchaind/config/
至此,节点已经配置完毕。 $HOME
目录下应该包含以下的目录和文件
.
├── ...
├── stchaincli
├── .stchaind
│ ├── config
│ │ ├── addrbook.json
│ │ ├── app.toml
│ │ ├── config.toml
│ │ ├── genesis.json
│ │ ├── node_key.json
│ │ └── priv_validator_key.json
│ └── data
│ └── priv_validator_state.json
├── stchaind
├── ...
3. 启动节点
在此之后,节点将尝试赶上区块链直到最新的区块
您也可以使用以下命令在后台运行节点
./stchaind start --home ./ 2>&1 >> chain.log &
测试网操作
一旦节点已追至最新的区块,您就可以进行各种交易(transaction, 简写为tx
) 和查询(query)操作了。我们的文档已有详细的解释,请参阅:
How to Become a Validator
Stratos-chain 'stchaincli' Commands(Part1)
Stratos-chain 'stchaincli' Commands(Part2)
Stratos-chain 'stchaind' Commands
Stratos-chain REST APIs
以下,我们仅对常用操作进行说明。
创建帐户
首先, 您需要使用下面的命令创建一个钱包地址。创建完毕后,系统会提供一个以st1
开头的钱包地址和24个英文单词组成的助记符。请妥为保管,以备将来恢复您的钱包地址。
./stchaincli keys add --hd-path "m/44'/606'/0'/0/0" --keyring-backend test <钱包名称>
例如
./stchaincli keys add --hd-path "m/44'/606'/0'/0/0" --keyring-backend test Wallet1
.
└── keyring-test-cosmos
├── st1jvf660xagmzuzyqyqu3w27sj0ragn7qetnwmyr.address
└── wallet1.info
Faucet 水龙头(接水)
我们在 https://faucet-test.thestratos.org/
提供了Faucet(接水)服务, 请使用以下命令免费获取测试Token。
curl -X POST https://faucet-test.thestratos.org/faucet/<钱包地址>
例如
curl -X POST https://faucet-test.thestratos.org/faucet/st1ef7u53xqgec6pd3uvna6zgtrqmkj5l89wrxzxm
查询账户余额
在节点已追至最新的区块后, 使用以下命令查询您的账户余额
./stchaincli query account <钱包地址>
例如
./stchaincli query account st1ef7u53xqgec6pd3uvna6zgtrqmkj5l89wrxzxm
检查节点状态
发送您的第一个 tx: send
您可以尝试从一个钱包发送Token 至另外一个钱包
./stchaincli tx send <from address> <to address> <amount> --keyring-backend test --chain-id <current chain-id>
例如
./stchaincli tx send st1kuhyf59qvukk8r5manky062d6c66utvytm7az6 st1m4f4hnyfhpaeqlcgv7lfhgzjwmrvfeggwnpygz 1000000ustos --keyring-backend test --chain-id stratos-testnet-3
将节点作为服务运行
创建文件 /lib/systemd/system/stratos.service
。
拷贝以下内容至 /lib/systemd/system/stratos.service
。
[Unit]
Description=Stratos Chain Node
After=network-online.target
[Service]
User=stratos
Group=stratos
ExecStart=/home/stratos/stchaind start --home=/home/stratos/.stchaind
Restart=on-failure
RestartSec=3
LimitNOFILE=8192
[Install]
WantedBy=multi-user.target
启动服务
systemctl daemon-reload
systemctl enable stratos.service
systemctl start stratos.service
检查服务是否按预期运行
systemctl status stratos.service
检查节点日志
journalctl -u stratos.service -f
# exit with