找回密码
 立即注册
搜索
热搜: 活动 交友
查看: 345|回复: 0

Omni Layer USDT钱包节点的编译安装与使用

[复制链接]

126

主题

0

回帖

456

积分

中级会员

积分
456
发表于 2024-6-16 13:11:17 | 显示全部楼层 |阅读模式

什么是USDT

本文中,我们介绍Tether公司利用bitcoin区块网络构造的omni layer,在这个overlay network上各方可以发行token,tether公司在omni layer上发行了代号为USDT的token, 1:1锚定美元。

tether的思想很简单,大家把美元给我,给我1美元,我发行1USDT,美元存放到指定的资产账户,大家都可以查询,发行的USDT总量也可以在区块上进行查询。当兑换的时候,给我1USDT,我返还1美元。

当然,其中的经济学方面的事情就先不讲了,可以说,tether提供了一条数字资产与法币相连接的通道,至于USDT是否靠谱,是否是骗局,这个仁者见仁智者见智,我们只对其技术进行讲解。

Omni Layer节点的安装

Tether的钱包是以bitcoin区块网络为基础的,在这个网络上面搭建了名为Omni Layer的共识网络,其主要的思想是对bitcoin的区块进行染色,写入需要存储的数据。

依赖环境同上一篇文章 ubuntu下从源码编译安装比特币钱包节点(Bitcoin)

源码编译

git clone https://github.com/OmniLayer/omnicore.git cd omnicore/ ./autogen.sh ./configure make

运行与区块同步

编译完成之后,在omnicore/src/会有omnicored, omnicore-cli等可执行文件。其来执行方式与bitcoin一样,需要一个名为bitcoin.conf的配置文件。启动命令如下所示:

./omnicored -conf=%PATH TO bitcon.conf% -datadir=%PATH TO DATA DIR% &

启动之后,可以在%datadir%/omnicore.log下面查看日志。

bitcoin.conf 文件配置样例

~/.bitcoin/bitcoin.conf 文件配置 testnet=1 # 测试网络 (同步快) server=1 #允许rpc访问 daemon=1 #后台运行 datadir=/home/data #区块存储位置(硬盘要够用) rpcallowip= 0.0.0.0/0 rpcport=8332 rpcuser=bitcoinrpc rpcpassword=123456

启动钱包节点:

# omnicored --conf=/apps/usdt/bitcoin.conf Omni Core server starting root@ubuntu:/apps/usdt# 2018-11-10 02:51:40 Initializing Omni Core v0.3.1 [test] 2018-11-10 02:51:40 Loading trades database: OK 2018-11-10 02:51:40 Loading send-to-owners database: OK 2018-11-10 02:51:40 Loading tx meta-info database: OK 2018-11-10 02:51:40 Loading smart property database: OK 2018-11-10 02:51:40 Loading master transactions database: OK 2018-11-10 02:51:40 Loading fee cache database: OK 2018-11-10 02:51:40 Loading fee history database: OK 2018-11-10 02:51:40 Loading persistent state: NONE (no usable previous state found) 2018-11-10 02:51:40 Omni Core initialization completed

omni同步区块,并不需要把区块全部下载,大致一天之内就能够同步完毕。之后,我们就可以使用omnicore-cli命令,或者通过RPC API对节点和钱包进行操作。

命令行查看节点数据

# omnicore-cli -conf=/apps/usdt/bitcoin.conf omni_getinfo { "omnicoreversion_int": 30001000, "omnicoreversion": "0.3.1", "mastercoreversion": "0.3.1", "bitcoincoreversion": "0.13.2", "block": 103554, "blocktime": 1378066894, "blocktransactions": 0, "totaltrades": 0, "totaltransactions": 0, "alerts": [ ] }

JSON-RPC API

omni的JSON-RPC API与bitcoin的完全相同,使用的时候只是相当于将bitcoin的命令集进行了扩展。

具体的JOSN-RPC API可以查询官方文档:

https://github.com/OmniLayer/omnicore/blob/master/src/omnicore/doc/rpc-api.md

二次开发过程中,可以使用原有的bitcoin的JSON-RPC API包进行开发。例如,使用EasyBitcoin-PHP.

//使用EasyBitcoin 对omnicore 进行JSON-RCP api操作 include_once "easybitcoin.php"; $bitcoin = new Bitcoin("rpc-user","rpc-pass"); var_dump($bitcoin->getinfo()); var_dump($bitcoin->omni_getinfo());

最终执行测试效果图:

php 执行效果

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|全球区块链交流论坛 |网站地图

GMT+8, 2025-5-11 22:50 , Processed in 0.278931 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表