主页 > imtoken钱包靓号地址软件 > 【币研区块链】USDT钱包节点搭建
【币研区块链】USDT钱包节点搭建
USDT是基于BTC发行的稳定币。 它是比特币的一条侧链。 简单来说,就是基于比特币区块数据的不可篡改和区块的唯一性,再封装一层。 具体原理可以上网查。 总之,要明白一点:USDT的钱包节点就是BTC的钱包节点,BTC的区块高度是多少,USDT的区块高度也是一样的。 在节点区块数据方面,BTC和USDT没有区别。 PHP
1.什么是Omni Layergit
Omni Layer 是一种通信协议,它使用比特币区块链来实现诸如“智能合约”、用户货币和去中心化点对点交换等功能。 Omni Core 是基于比特币核心代码库的 Omni 层的快速、可移植实现。 这个实现不需要与比特币核心无关的外部依赖,并且像其他比特币节点一样,它本身就是比特币网络。 目前支持钱包模式,可在 Windows、Linux 和 Mac OS 三个平台上无缝运行。 Omni Layer 扩展通过 JSON-RPC 接口公开。 知乎
1.1 Omni Layer节点安装api
Tether 的钱包基于比特币区块网络。 一个叫做 Omni Layer 的共识网络建立在这个网络上。 主要思路是给比特币区块上色,写入需要存储的数据。服务器
2.1 依赖环境网络
准备工作
环境依赖
必须依赖库ide
可选依赖区块链
内存需求测试
C++ 编译器消耗更多内存。 官方建议在编译 Bitcoin Core 时至少有 1.5GB 的内存。 对于不可能做到这一点的系统,可以将 gcc 设置为使用额外的 CXXFLAGS:ui 来节省内存
./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768"
编译基础环境安装
因为需要使用apt安装,首先要确保自己的apt源可用,速度正常,运行正常
易于获取更新
编译环境
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
亲测结果:在阿里云apt源下,应该很快就安装完成了。
升压库
在 Ubuntu 14+ 和 Debian 7+ 系统中,单个开发包有一个通用名称,因此可以只安装需要的包
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
如果不成功btc全节点搭建,可以安装所有的boost开发包。
sudo apt-get 安装 libboost-all-dev
在阿里云的apt源下,应该可以使用第一种方式安装指定的开发包。
BerkeleyDB 安装
比特币钱包需要BerkeleyDB的支持。 关于BerkeleyDB,可以参考官网和维基百科
[注意],比特币需要 Berkeley DB 版本 4.8 来保持钱包兼容性。 Ubuntu 和 Debian 官方提供的 Berkeley DB 是 5.1+ 版本,这个更高的版本肯定会破坏它的兼容性; 这里有两种选择,一种是不需要保持兼容性,只需要在编译时加上配置--with-incompatible-bdb即可。 二是保持兼容性。 要安装 Berkeley DB 4.8,您需要添加 PPA。 PPA 是 Ubuntu 中非官方不稳定包的更新。 使用它时需要小心。 你可以在这里参考它的减少。 这里需要用到的是这里的PPA,在这里安装需要的Berkeley DB 4.8。
访问该页面,按照其说明逐步添加,然后安装
sudo apt-get install software-properties-common sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install libdb4.8-dev libdb4.8++-dev
安装包下载速度会比阿里云慢,请耐心等待。
选修的
图形界面依赖
如果需要编译bitcoin-qt,需要安装qt开发环境。 qt4和qt5都可以。 如果两者都安装,则默认使用 qt5。 也可以在配置时使用--with-gui=qt4 选择使用qt4版本,或者使用--without-gui选择不编译gui。
如何安装qt5
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
如何安装qt4
sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler
libqrencode
libqrendoce是qr码(二维码)的支持模块,可选安装
sudo apt-get 安装 libqrencode-dev
如果安装了这些环境包,configure会检测到,默认会编译生成bitcoin-qt。
编译生成
到此为止好像可以编译卷起来了。 . . . 试一试,optional就是可选的,后面重点讲解。
./autogen.sh ./configure make make install # optional
2.2 源码编译
git clone https://github.com/OmniLayer/omnicore.git cd omnicore/ ./autogen.sh ./configure make
2.3 运行与块同步
编译完成后在omnicore/src/下会有omnicored、omnicore-cli等可执行文件。 它的执行和比特币一样,需要一个名为bitcoin.conf的配置文件。 启动命令如下所示:
./omnicored -conf=%PATH TO bitcon.conf% -datadir=%PATH TO DATA DIR% &
启动后可以在%datadir%/omnicore.log下查看日志。
Omni同步区块无需下载所有比特币区块,一天内即可完成同步。 之后我们可以使用omnicore-cli命令,或者通过RPC API操作节点和钱包。
2.4 JSON-RPC API
Omni 的 JSON-RPC API 与比特币的完全相同,使用时相当于扩展了比特币命令集。
具体的 JOSN-RPC API 可以在这里找到。
在二次开发过程中,可以使用原有的比特币JSON-RPC API包进行开发。 例如,使用 php-bitcoinrpc
启动参数
可以通过提供一个或多个可选的命令行参数来配置 Omni Core:
$ omnicored -setting = value -setting = value
所有设置也可以通过 bitcoin.conf 进行设置。
根据操作系统的不同,配置文件的默认位置是:
Unix系统:$HOME/.bitcoin/bitcoin.conf
Mac OS X:$HOME/Library/Application Support/Bitcoin/bitcoin.conf
微软视窗:%APPDATA%/Bitcoin/bitcoin.conf
典型的 bitcoin.conf 可能包括:
server=1 rpcuser=omnicorerpc rpcpassword=5hMTZI9iBGFqKxsWfOUF rpcallowip=127.0.0.1 rpcport=8332 txindex=1 datacarriersize=80 logtimestamps=1 omnidebug=tally omnidebug=packets omnidebug=pending
可选设置
要运行和使用 Omni Core,不需要显式配置。
有关一般配置和比特币核心特定选项的更多信息btc全节点搭建,请参阅比特币 wiki。
常规选项:
日志选项:
交易选项:
注意:选项 -datacarrier 和 datacarriersize 影响 OP_RETURN 脚本事务的全局中继策略。
RPC 服务器选项:
用户界面选项:
警报和激活选项:
注意:警报和激活相关选项会影响共识,只能用于测试或特殊情况!