区块链-Linux下USDT测试节点搭建
本篇将说明在 Linux 下搭建USDT测试节点. 为了更好的阅读体验 , 请点击阅读原文
Tether Limited 公司基于 Omni Layer 这层协议(Omni Layer protocol)发行tetherUSD . Omni Layer 是基于比特币区块链的通信协议 , 它实现了智能合约的特性 , 也就是说 tetherUSD是 Omni Layer的一个智能合约 . 而实现 Omni Layer protocol 的开源软件项目是 Omni Core .
搭建环境
服务器配置
- 硬盘: 500G
- 内存: 16G
- CPU: 4核
- 带宽: 一般
- 系统: CenterOS 7
节点搭建
1. 进入 Omni Layer Download 下载对应包
2. 上传服务器并解压
这里笔者使用的路径统一为
/opt/usdt/...
1 | cd /opt/usdt |
4. bitcoin 配置
bitcoin的默认配置文件目录为 ~/.bitcoin/bitcoin.conf
, 若没有指定, 默认则会在该目录下创建个新的.
同步数据比较占硬盘空间,建议自定义存储路径,避免后期空间不足的尴尬.
此处笔者在 /opt/usdt/data/
下新建了 bitcoin.conf
文件
bitcoin.conf
:
1 | # 数据存储目录 |
这里和比特币节点的配置文件类似 , 更多的配置请参考 Bitcoin Core配置文件解读
如若机器已经启用了比特币节点 , 此处需要修改端口等配置
配置设置好 , 开始同步
1 | cd /opt/usdt/omnicored-0.3.1 |
1 | Initializing Omni Core v0.3.1 [regtest] |
如无意外 , 同步则开始 . 同步的进度可以在 testnet3
目录下的 debug.log
中看同步进度.
USDT 节点的数据同步相对 Bitcoin 的会慢很多,笔者的服务器花了两天半左右的时间 .
一定要等数据同步完成之后再进行后续操作 , 否则不能成功 .
相关命令
ominicored
启动 ominicore (自己视实际情况修改)
1 | cd /opt/usdt/omnicored-0.3.1/bin |
命令中用
bitcoin.conf
文件包裹了一系列配置,如果不用此文件则需要指明各个参数.比如./omnicored -datadir=xxx -rpcuser=xxx .....
如若不确定 omnicore 是否已经启用过 , 可先用命令查询
netstat --ip -lpan | grep omnicore
1 | # 帮助 |
omnicore-cli
关闭 omnicore
1 | ./omnicore-cli -conf=/opt/usdt/data/bitcoin.conf stop |
更多 bitcoin-cli 命令
更多 omnicore-cli 命令
交易测试
创建账户及地址
1 | ./omnicore-cli -conf=/opt/usdt/data/bitcoin.conf "getnewaddress" pluto |
pluto
是账户名 , 需要唯一.
返回的 n1FuLiRf7fHDVL2wKy9ibVan2iQK3s2UZV
是地址
getnewaddress 是比特币的命令 , 可以了解更多 比特币命令
获取测试币
为了在 testnet 上收到 OMNI 和 TOMNI , 需要给 moneyqMan7uh8FqdCA2BV5yZ8qVrc9ikLP
发送 TBTC(测试网络比特币), 一个 TBTC 可以收到 100 个 OMNI 和 100 个 TOMNI .
首先去申请一些测试比特币
在以下测试币水龙头网页中申请测试比特币 , 注意科学上网 .
等待确认 , 然后查询余额 .
1 | ./omnicore-cli -conf=/opt/usdt/data/bitcoin.conf listaddressgroupings |
2. 然后是获取 Omni 币
转测试比特币给 moneyqMan7uh8FqdCA2BV5yZ8qVrc9ikLP
多账户的情况下建议不要用
sendtoaddress
命令 , 用sendfrom
指定账户转账比较好
1 | ./omnicore-cli -conf=/opt/usdt/data/bitcoin.conf sendfrom "pluto" "moneyqMan7uh8FqdCA2BV5yZ8qVrc9ikLP" 0.0015 |
返回的是一串字符串 txhash
, 可以去比特币浏览器 上查找
等待交易确认后 , 可以通过命令查询 Omni 币余额
这里有个问题 , 得到的 Omni 全打到钱包下另一个地址
myVftRaBb8Vy3upWaL8TueAhDE2QAsQy1h
了.
1 | ./omnicore-cli -conf=/opt/usdt/data/bitcoin.conf "omni_getbalance" "myVftRaBb8Vy3upWaL8TueAhDE2QAsQy1h" 1 |
这里的 1
是 propertyid
即 资产标识ID , 在 OMNI 钱包中 , 不同资产都有一个唯一的 ID 来标识 . 常见的 1
代表 OMNI , 2
代表 TOMNI , 31
代表 USDT .
测试网络中 , 通常直接用 OMNI 作为 USDT 进行研发 . 切换到生产网络时注意变更ID
交易
再转账.
从 myVftRaBb8Vy3upWaL8TueAhDE2QAsQy1h
转 1 个 OMNI 到 n1FuLiRf7fHDVL2wKy9ibVan2iQK3s2UZV
1 | ./omnicore-cli -conf=/opt/usdt/data/bitcoin.conf "omni_send" "myVftRaBb8Vy3upWaL8TueAhDE2QAsQy1h" "n1FuLiRf7fHDVL2wKy9ibVan2iQK3s2UZV" 1 "1.0" |
查询 n1FuLiRf7fHDVL2wKy9ibVan2iQK3s2UZV
余额
附
Linux 常用命令:
1 | # 查看磁盘空间 |
参考资料: