环境
Ubuntu
如果这些环境包被安装,则会被configure检测到,bitcoin-qt会默认编译生成。
编译环境
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
Boost库
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
如果不成功,则可以安装所有boost 开发包。
sudo apt-get install libboost-all-dev
BerkeleyDB的安装
BitCoin钱包需要BerkeleyDB的支持
BitCoin需要Berkeley DB 4.8版本来保持钱包的兼容性,官方Ubuntu和Debian提供的Berkeley DB是5.1+版本的,这个高版本会确定打破其兼容性。
此处有两种选择,一是不需要保持兼容性,在编译时增加配置--with-incompatible-bdb即可。
二是保持兼容性,安装Berkeley DB 4.8,需要添加PPA,关于PPA是Ubuntu中非官方的不稳定包的更新,使用的话需要小心。
建议选用方式一。
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
GUI依赖项
如果需要编译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 install libqrencode-dev
二源码编译
下载Omni Layer
https://github.com/OmniLayer/omnicore/releases

可以新建一个目录,在这个目录编译这个项目
解压
tar -xzvf omnicore-0.5.0-x86_64-linux-gnu.tar.gz
编译
./autogen.sh
./configure
check 了一堆东西,主要是检测你的基础环境是否安装到位了,不报错就OK。
make && make install
编译时出现的问题解决
If you encounter configure: error: libdb_cxx headers missing.
提示少libdb_cxx头,这个时候运行下边令命安装db的C++开发库
sudo apt-get install libdb5.1++-dev
If you encounter configure: error: Found Berkeley DB other than 4.8, required for portable wallets (–with-incompatible-bdb to ignore), run the following command instead. You can always send your bitcoins to another wallet.
如果提示安装的DB不是4.8的版本,则使用下边的命令跳过DB的版本检测
./configure --with-incompatible-bdb
参考:
https://blog.csdn.net/rion_chen/article/details/51104727
https://www.form1.cn/linux-command-250.html
https://blog.csdn.net/ffzhihua/article/details/80706661
启动服务
编写配置文件
vim ~/.bitcoin/bitcoin.conf
# 测试链填 1 主链填 0
testnet=1
#代表事务初始索引,查看所有交易
txindex=1
#监听模式,默认启动
listen=1
#允许bitcoin接收JSON-RPC
server=1
#RPC用户名
rpcuser=bitcoin
#RPC密码
rpcpassword=MeVz4mcTYZgvY4fT3bECaf8YkWKYxdhhZ1
#RPC端口
rpcport=8888
#允许RPC访问ip
rpcallowip=192.168.23.210
参数说明:
server=1代表开启RPC访问
txindex=1代表事务初始索引
recuser和rpcpassword 代表rpc访问的身份验证,
rpcallowip 和rpcport代表允许访问钱包的ip地址及端口。
paytxfee和minrelattxfee控制bitcoin交易的手续费,Omni交易也属于一种特殊的比特币交易,打包与广播也需要向矿工支付费用。手续费设置过低会造成交易确认慢甚至交易失败,手续费过高会造成资源的浪费(以2018.09.13的BTC价格换算,每多消耗0.0001btc需要浪费4rmb),所以设置动态配置交易手续费十分必要。预估比特币交易手续费可以使用下面的网址bitcoinfees.earn,buybitcoinworldwide。假设当前预估的比特币交易费率为0.0000001BTC/Byte,那么需要设置paytxfee=0.00001BTC/kByte。

启动测试服务
./omnicored -testnet
/root/omnicore-0.5.0/bin/omnicored -testnet -conf=/root/.bitcoin/bitcoin.conf -datadir=/data/usdt/datadir -txindex >> /data/usdt/nohup.log 2>&1
初次启动生成
cd omnicore-0.3.0/bin
./omnicored
初次启动生成~/.bitcoin/ 文件夹
常用命令
查看帮助
./omnicore-cli help
具体命令的详细信息
./omnicore-cli help listreceivedbyaddress
查看usdt链信息
./omnicore-cli getinfo
查看当前区块的高度
./omnicore-cli getblockcount
查看测试链区块
https://live.blockcypher.com/btc-testnet/
获取新地址
./omnicore-cli getnewaddress
获取私钥
./omnicore-cli dumpprivkey address
查询余额
./omnicore-cli omni_getbalance n4DQ43BVFBKmciJQLu2M2Fx2J1zUqfrRUa 31
创建账号
./omnicore-cli -testnet "getnewaddress" account_name
1、案例:
./omnicore-cli -testnet "getnewaddress" binny
2、得到测试地址:
地址1
n4DQ43BVFBKmciJQLu2M2Fx2J1zUqfrRUa
如果地址忘记了,可以查询账户地址:
./omnicore-cli "getaddressesbyaccount" "binny"
地址2
助记词
luxury lab unusual blade better matter lounge check dignity title census glow]
私钥
cMcVPvuJyJfWJKcd1hvsj2MyP296L3FmGFcXDcEq7f8YWTh2uGzM
地址
mvM4ve8rxTJdzfyzywakj1NqAJUSJWqAje
地址3
助记词
give mass travel denial flower decide drum type million excess lounge round
私钥
cPsvztqxXexfgUBbBpCSmjTEbAKTPvY7VAY58U3AjpS66c6LC1T8
地址
mydnarGtDSY1nFKE2s1RdkgS1Uh1iEw66A
3、获取测试币
https://coinfaucet.eu/en/btc-testnet/
输入测试地址1,获取测试币

测试地址2

刚开始时,交易是未确认的状态,等待几分钟,状态变为已确认后,就可以查看账户余额。
通过浏览器来查看交易信息:
通过命令来查看交易信息:
./omnicore-cli -testnet "gettransaction" "1c9ad28feebc9e0a3cd66b1a401b90a92548a39291ca035a8ac0a6e07399f217"
./omnicore-cli -testnet "gettransaction" "cd5a097d470d5428309cbdab3b1c69de24ad03869649b594cb445aa091da3cbb"
通过命令来查看账户余额:
./omnicore-cli -testnet getbalance "binny"
交易查询地址
4、转币
这时我们有了测试比特币,需要给mvM4ve8rxTJdzfyzywakj1NqAJUSJWqAje转一些测试比特币,然后会自动收到测试的 omni 币,命令:
sendtoaddress "bitcoinaddress" amount ( "comment" "comment-to" subtractfeefromamount )
./omnicore-cli -testnet sendtoaddress "mvM4ve8rxTJdzfyzywakj1NqAJUSJWqAje" 0.00000001
会得到交易ID,等待确认之后,查看 omni 币余额:
./omnicore-cli -testnet "omni_getbalance" "mvM4ve8rxTJdzfyzywakj1NqAJUSJWqAje" 2
./omnicore-cli -testnet "omni_getbalance" "n4DQ43BVFBKmciJQLu2M2Fx2J1zUqfrRUa" 2
网友评论