文档
运行节点
tintd 是验证者程序。本页介绍本地测试网络、各个命令,以及公共测试节点是如何搭建的。
测试网络:代币没有价值
命令
| 命令 | 作用 |
|---|---|
tintd testnet | 创建本地测试网络的文件。 |
tintd run | 运行一个验证者。 |
tintd pay | 从种子文件对应的钱包发送代币。 |
tintd swap | 通过兑换池,把种子文件所对应钱包中的一种代币换成另一种。 |
单机上的本地测试网络
为四个验证者创建文件,然后在各自的终端中分别启动每一个。
tintd testnet --dir net --addresses 127.0.0.1:4100,127.0.0.1:4101,127.0.0.1:4102,127.0.0.1:4103tintd run --local \
--genesis net/genesis.bin \
--validators net/validators.txt \
--key net/validator-0/key \
--data net/validator-0/data \
--rpc 127.0.0.1:4200对验证者 1 到 3 重复上述步骤,各自使用自己的 --key、--data,如果还想要它们的钱包接口,则使用不同的 --rpc 端口。--local 接受私有地址,这是单机网络所需要的。
testnet 会写出 genesis.bin、validators.txt、一个存放每个验证者密钥的文件夹,以及 faucet.seed,即持有全部测试代币的钱包的种子。请保密该种子。
通过命令行发送代币和兑换
tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 100tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 50 --coin TUSDtintd swap --node http://127.0.0.1:4200 --seed net/faucet.seed --amount 10 --buy TUSD不带 --coin 时,pay 发送原生代币。swap 默认用原生代币支付,除非你用 --pay 指定另一种;一次兑换的两种代币中,总有一种是原生代币。
tintd run 的参数
| 参数 | 含义 |
|---|---|
--genesis | 创世区块文件。 |
--validators | 验证者列表文件。 |
--key | 该验证者的私钥文件。 |
--data | 存放该验证者区块的目录。 |
--listen | 监听的地址;默认使用验证者列表中的那个。 |
--metrics | 提供指标的地址。除非你指定,否则关闭。 |
--rpc | 通过 HTTP 为钱包提供服务的地址。除非你指定,否则关闭。 |
--rpc-behind-proxy | 钱包通过本机上的反向代理访问 --rpc:按 X-Forwarded-For 统计客户端。 |
--local | 接受私有地址,用于单机上的网络。 |
--log-json | 以 JSON 行格式写日志。 |
--log-level | error、warn、info(默认)、debug 或 trace。 |
--idle-block-ms | 没有待处理付款的链在两个区块之间休息的毫秒数。默认 5000,最大 60000。请给每个验证者设置相同的值。 |
公共测试节点是如何搭建的
https://node.tint.top 上的公共节点是一台运行四个验证者的服务器,因此它测试的是网络能否正常运转,并不能证明任何关于去中心化的事情。
| 内容 | 位置 |
|---|---|
| 四个验证者 | systemd 单元 tint-validator@0 到 @3,通过 127.0.0.1:4100 到 4103 通信 |
| 钱包接口 | 验证者 0,位于 127.0.0.1:4200,外部无法访问 |
| HTTPS | Caddy 监听 443 端口,将 /v1/* 转发到钱包接口 |
| 链数据 | /var/lib/tint/validator-N/data |
- 代理不保留访问日志:记录谁从哪个地址请求了什么,正是隐私网络不应该保留的东西。
- 没有指标端口,也没有开放的验证者端口;验证者之间通过回环接口相互通信。
- 验证者会永久保存每个区块。可用
du -sh /var/lib/tint/validator-*/data查看磁盘占用。 - 在 1 vCPU、2 GB 的服务器上,每个验证者在首次启动后占用约 92 MB 内存;服务文件将单个验证者限制在 1 GB。
查看正在运行的节点
curl -s http://127.0.0.1:4200/v1/status在由 systemd 管理的服务器上,systemctl status 'tint-validator@*' 显示各个单元,journalctl -u 'tint-validator@*' -n 50 显示最近的日志行。
让钱包指向你的节点
在钱包的“设置”中,你可以把共享节点换成你自己的节点。该节点必须通过 HTTPS 提供钱包接口,并且必须属于同一个网络,即与钱包其他数据所属的网络有相同的第一个区块。钱包遇到新的第一个区块时,会从头读取新的链。