USDT是基於BTC發的穩定幣,它是比特幣的一條側鏈,說簡單點,就是在比特幣區塊數據的不可篡改性與區塊惟一性的基礎上,再封裝了一層。具體原理可網上查資料。總之理解一點:USDT的錢包節點就是BTC的錢包節點,BTC的區塊高度是多少,USDT的區塊高度也是多少。從節點區塊數據上來講,BTC與USDT沒有區別。php
一、什麼是Omni Layer git
Omni Layer是一種通訊協議,它使用比特幣區塊鏈實現「智能合約」,用戶貨幣和分散式點對點交換等功能。 Omni Core是基於比特幣核心代碼庫的快速,便攜式Omni層實現。 這種實現不須要與Bitcoin Core無關的外部依賴關係,而且與其餘比特幣節點同樣,它自己就是比特幣網絡。 它目前支持錢包模式,並可在三種平臺上無縫使用:Windows,Linux和Mac OS。 Omni Layer擴展經過JSON-RPC接口公開。 github
1.1 Omni Layer節點的安裝api
Tether的錢包是以bitcoin區塊網絡爲基礎的,在這個網絡上面搭建了名爲Omni Layer的共識網絡,其主要的思想是對bitcoin的區塊進行染色,寫入須要存儲的數據。服務器
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源可用,速度正常,運行
apt-get update
編譯環境
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
親測結果:在阿里雲的apt源下,應該很快安裝完畢。
Boost庫
在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
若是不成功,則能夠安裝全部boost 開發包。
sudo apt-get install libboost-all-dev
在阿里雲的apt源下面應該能夠用第一種方法安裝指定的開發包。
BerkeleyDB的安裝
BitCoin錢包須要BerkeleyDB的支持,關於BerkeleyDB能夠參考官網、 百科
[注意],BitCoin須要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 here 。
訪問頁面,按照其說明逐步添加,而後安裝
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
安裝包下載速度會比阿里雲的慢一點,耐心等待。
可選項
sudo apt-get install libminiupnpc-dev
sudo apt-get install libzmq3-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
若是這些環境包被安裝,則會被configure檢測到,bitcoin-qt會默認編譯生成。
好像目前爲止就能夠編譯擼起來了。。。。試一下, optional表示可選項,後面再集中解釋吧。
./autogen.sh ./configure make make install # optional
/configure
check 了一堆東西,主要是檢測你的基礎環境是否安裝到位了,不報錯就OK。
make
&& make install
2.2 源碼編譯
git clone https://github.com/OmniLayer/omnicore.git cd omnicore/ ./autogen.sh ./configure make
2.3 運行與區塊同步
編譯完成以後,在omnicore/src/
會有omnicored
, omnicore-cli
等可執行文件。其來執行方式與bitcoin同樣,須要一個名爲bitcoin.conf
的配置文件。啓動命令以下所示:
./omnicored -conf=%PATH TO bitcon.conf% -datadir=%PATH TO DATA DIR% &
啓動以後,能夠在%datadir%/omnicore.log下面查看日誌。
omni同步區塊,並不須要把bitcoin區塊所有下載,大體一天以內就可以同步完畢。以後,咱們就可使用omnicore-cli命令,或者經過RPC API對節點和錢包進行操做。
2.4 JSON-RPC API
omni的JSON-RPC API與bitcoin的徹底相同,使用的時候只是至關於將bitcoin的命令集進行了擴展。
具體的JOSN-RPC API能夠查詢這裏。
二次開發過程當中,可使用原有的bitcoin的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
微軟Windows: %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,不須要顯式配置。
有關通常配置和Bitcoin Core特定選項的更多信息,請參閱比特幣wiki。
注意:選項-datacarrier
並datacarriersize
影響OP_RETURN
腳本事務的全局中繼策略。
注意:警報和激活相關選項會影響到共識,只能用於測試或特殊狀況!
轉載自:https://blog.csdn.net/ffzhihua/article/details/80706661
本文對原文進行了部份內容的修改與增長以及排版以增長易讀性!
BIZZAN(幣嚴) 數字貨幣交易所官方網址:
www.bizzan.com