Tether USDT 节点钱包Linux(aws)下载安装及启动
什么是Omni Layer
Omni Layer是一种通信协议,它使用比特币区块链实现智能合约,用户货币和分散式点对点交换等功能。 Omni Core是基于比特币核心代码库的快速,便携式Omni层实现。 这种实现不需要与Bitcoin Core无关的外部依赖关系,并且与其他比特币节点一样,它本身就是比特币网络。 它目前支持钱包模式,并可在三种平台上无缝使用:Windows,Linux和Mac OS。 Omni Layer扩展通过JSON-RPC接口公开。
什么是USDT
Tether公司利用bitcoin区块网络构造的omni layer,在这个overlay network上各方可以发行token,tether公司在omni layer上发行了代号为USDT的token, 1:1锚定美元。
tether的思想很简单,大家把美元给我,给我1美元,我发行1USDT,美元存放到指定的资产账户,大家都可以查询,发行的USDT总量也可以在区块上进行查询。当兑换的时候,给我1USDT,我返还1美元。
Omni Layer节点的安装
Tether的钱包是以bitcoin区块网络为基础的,在这个网络上面搭建了名为Omni Layer
的共识网络,其主要的思想是对bitcoin的区块进行染色,写入需要存储的数据。
这里以亚马逊(aws)的centos7.5为例,安装Omni Layer节点。
首先依赖环境安装:
sudo yum install -y autoconf automake libtool libdb-devel boost-devel libevent-devel
这里需要注意的是,如果缺少某些依赖,也可参看比特币的安装依赖,因为本质上它们是一样的。
程序下载地址:https://www.omnilayer.org/download.html
wget https://bintray.com/artifact/download/omni/OmniBinaries/omnicore-0.5.0-x86_64-linux-gnu.tar.gz
通过wget命令下载对应的压缩包,可查看是否有最新版本,下载链接可替换最新版本。
解压&安装
tar -xzvf omnicore-0.5.0-x86_64-linux-gnu.tar.gz
通过tar对压缩包解压到指定的目录,解压后的文件中直接有对应的可执行文件。
配置
然后像比特币一样,创建并配置bitcoin.conf文件:
# 接受JSON-RPC请求 server=1 # 是否是独立进程, 守护进程 daemon=1 # If run on the test network instead of the real bitcoin network # testnet=0 # 这里设置成为1,就是 测试网络. # You must set rpcuser and rpcpassword to secure the JSON-RPC api # Please make rpcpassword to something secure, `5gKAgrJv8CQr2CGUhjVbBFLSj29HnE6YGXvfykHJzS3k` for example. # Listen for JSON-RPC connections on (default: 8332 or testnet: 18332) # rpc 用户名 rpcuser=bj-root # 密码 rpcpassword=888888 # 允许访问 rpcallowip=127.0.0.1 rpcallowip=39.0.0.0 rpcallowip=0.0.0.0/0 rpcbind=172.17.0.0 rpcbind=127.0.0.1 # 端口 port=13333 rpcport=13332 txindex=1
其中txindex=1,代表事务初始索引。
基本配置如上,然后直接执行解压文件的中的omnicored启动并指定配置文件即可:
./omnicored -conf=../bitcoin.conf
关于其他rpc操作与比特币基本一样。
USDT api 常用命令行示例
新建账户地址 ./omnicore-cli getnewaddress hjlAddress #(hjlAddress 账户名称) 一个账户名可以对应多个地址 ./omnicore-cli getaddressesbyaccount hjlAddress 获取钱包比特币数量 ./omnicore-cli getinfo 获取USDT数量 ./omnicore-cli "omni_getbalance" "14Nzwd3SU4eWgiPW68RuvsgsazYEgBXjKQ" 31 发送代币-转账 ./omnicore-cli "omni_send" "14Nzwd3SU4eWgiPW68s" "1KzU8ATU6bzbC7MDaQw8od2f" 31 "1000" return: 7ccbf34be07e0de14c63bef01807b3095d4faf05288 (USDT的转账实际上是代号为31的OmniCore令牌转账。Omnicore提供了多套api实现令牌转账功能, v0.3.1版本之前,可以使用omni_send和omni_sendall。这种方式必须保证发送地址上不仅需要有令牌余额, 还需要有一定数量的比特币用于支付手续费。 从v0.3.1版本开始,Omnicore提供了两个新的api omni_funded_sendomni_funded_sendall, 这种方式的好处在于可以指定手续费的支付方,所有的令牌交易都可以使用统一的地址进行支付比特币手续费, 而不需要发送者自身拥有比特币。但这里并未设定手续费的具体数量, 系统将根据在配置文件中的关于手续费的配置文件进行动态设定。) 获取单笔交易详情(钱包中创建的用户才可以转账,) ./omnicore-cli "omni_gettransaction" 7ccbf34be07e0de14c63bef01807b3095d4faf05288 查询本地事务列表(充值,转账记录) ./omnicore-cli "omni_listtransactions" '*' 10
安装BerkeleyDB
如果环境中如下异常:
configure: error: libdb_cxx headers missing, Bitcoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)
则是因为没有安装BerkeleyDB导致的。可通过以下步骤安装:
安装Berkeley DB依赖环境
sudo yum install -y libtool-ltdl libtool-ltdl-devel gcc openssl openssl-devel
下载Berkeley DB 4.8以上版本
https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index-082944.html
这里安装4.8.30版本。
sudo wget http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz
将文件放置/usr/local/src/目录下,解压:
sudo tar xvzf db-4.8.30.tar.gz
创建berkeleydb目录:
sudo mkdir /usr/local/berkeleydb
进入目录:
cd /usr/local/berkeleydb
安装并指定安装目录:
sudo ./../src/db-4.8.30/dist/configure --prefix=/usr/local/berkeleydb --enable-cxx
sudo make && sudo make install
安装完成后,配置Berkeley DB的链接库
echo '/usr/local/berkeleydb/lib/' >> /etc/ld.so.conf ldconfig
Berkeley DB安装完成
依赖异常
如果出现如下错误,则是缺少C++编译器。
configure: error: C++ compiler cannot create executables
安装c++编译器。
yum install gcc-c++
小结
当然,也可以通过编译的方式安装,但操作起来稍微麻烦一些。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接