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"