Omni 全节点搭建
Omni 概述
Omni 是一种依赖于 BTC 节点存储,并利用 OP_RETURN 字段特点的一种 BTC 代币协议。BTC 交易打包本身不会对该协议进行验证,也就意味着交易虽然被 BTC 打包记录下来,但并不一定交易成功,也就是 Omni 协议只是借助于 BTC 账本存储而已。
基于 Omni 协议的交易获取途径
1. 搭建 Omni 节点,节点会对交易进行验证,并且具有交易状态,和将协议解析为可视化的 Json 格式。
2. 可以从 BTC 账本中获取,自己做解析和校验。
相关链接
- Omni 节点源码:https://github.com/OmniLayer/omnicore
- Omni 区块浏览器:https://omniexplorer.info
- Omni RPC 所以接口使用说明:https://github.com/OmniLayer/omnicore/blob/master/src/omnicore/doc/rpc-api.md
安装必备的拓展
yum-y install nodejs git wget vim goaccess gcc gcc-c++ autoconf automake make pcrepcre-devel zlib zlib-devel libxml2 libxml2-devel openssl openssl-devel gdlibjpeg libjpeg-devel libpng libpng-devel libaio libtool boost boost-devel libevent-devel
安装数据库
创建目录并下载
mkdir /home/lpq/libdb4
cd libdb4/
- 下载文件
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-4.8.30-13.el7.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-devel-4.8.30-13.el7.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-cxx-4.8.30-13.el7.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-cxx-devel-4.8.30-13.el7.x86_64.rpm
- 安装数据库
rpm -ivh libdb4-4.8.30-13.el7.x86_64.rpm
rpm -ivh libdb4-devel-4.8.30-13.el7.x86_64.rpm
rpm -ivhlibdb4-cxx-4.8.30-13.el7.x86_64.rpm
rpm -ivhlibdb4-cxx-devel-4.8.30-13.el7.x86_64.rpm
下载 omnicore 钱包源码
git clone https://github.com/OmniLayer/omnicore.git
安装
注意:编译时的警告可以忽略
cd omnicore/
./autogen.sh
./configure
make
make install
创建节点配置
注意:创建配置文件要在 /home/[当前用户]/.bitcoin/bitcoin.conf 中配置,否则后续有些命令会找不到配置文件
bitcoin.conf 配置如下:
datadir=/data/omni/usdt/blocks # 数据保存目录
daemon=1 # 后台运行
txindex=1 # 所有交易进行索引;否则只保留钱包地址交易索引记录
deprecatedrpc=addwitnessaddress
server=1 # 开启RPC访问
rpcbind=0.0.0.0
rpcport=8336
rpcuser=usdtRPC
rpcpassword=usdtRPCpwd
rpcallowip=0.0.0.0/0 # 不受 ip 限制或指定 ip
配置文件参考文章:
https://blog.csdn.net/zs345048102/article/details/95223446
https://blog.csdn.net/SIMBA1949/article/details/100216934
启动
cd /home/lpq/omnicored/src
启动命令
./omnicored -conf=/home/lipanquan/.bitcoin/bitcoin.conf
如果配置文件中没有指定数据目录是启动命令
./omnicored -conf=/home/lipanquan/.bitcoin/bitcoin.conf -datadir=/home/lpq/usdt/data
常用 RPC 查看命令
cd /home/lpq/omnicored/src
查看同步状态
./omnicore-cli "omni_getinfo"
获取块交易信息
./omnicore-cli "omni_listblocktransactions" 283729
获取交易详情
./omnicore-cli "omni_gettransaction" "1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d"