終於盼走了期望落空的己亥年,又百年一遇了庚子年btc大跌。從礦圈、加密貨幣交易平台、持幣項目方、社區到個人用戶,整個幣圈都在用一種非常默契的方式進行着重新洗牌。尤其在這遭遇了艱難的熊市中,唯有不斷地奮進,才能在大浪淘沙中有機會屹立不倒。許多交易所在這個期間,默默積蓄力量,等待新一次地飛躍。
在幣圈流行着一句話:資產安全決定未來輸贏。不得不承認,這就站在加密貨幣領域參與者群體的立場上肯定了區塊鏈錢包的地位。針對區塊鏈錢包的廣泛需求,愈來愈多的投資者、開發者轉戰錢包市場。有的投資者選擇自建團隊獨立開發區塊鏈錢包,勢必會遇到各種技術問題。今天就各位開發者關心的USDT(omni)錢包對接問題進行一個梳理和分享。
眾所周知的是,USDT 是著名的公司Tether 推出的基於美元(USD)的代幣 Tether USD(簡稱 USDT)。另外它也是使用omni layer 協議發行的加密貨幣,這個協議確切來說是建立在BTC區塊鏈網絡上的,給BTC交易加了些屬性目的是擴種幣種類別,咱們能夠運用omni layer協議發行基於btc區塊鏈網絡的代幣,由於USDT是基於BTC區塊網絡,因此USDT(omni)對接錢包的基本步驟與比特幣差不多。
總得說來,分為四個步驟:一是omni cores錢包的下載安裝,二是對錢包開發環境進行配置,三是通過測試網絡得到BTC,四是獲取測試網絡的omni幣。
一、omni cores錢包的下載安裝
此次是基於windows版本進行的演示,如果有人用liunx版本,除安裝上不同意外,其他對接步驟都與windows版本一樣:
1、貼出下載omni cores錢包地址:http://www.omnilayer.org/download.html
2、安裝操作
(1)對於下載好的文件,點擊exe文件直接進行安裝,對於安裝選項,可以都選默認(值得一提的是,要保證你的硬盤有200G以上的容量);
(2)安裝成功后,直接點擊運行錢包(此時,當你打開錢包,錢包就開始進行默認同步區塊了)
二、對錢包開發環境進行配置
上述我們安裝的錢包是建立在正式的BTC網絡鏈接之上,所以在聯調開發時必須配置成測試網絡,同時進行開發RPC調試的功能;
1、對Omni錢包配置文件進行修改
(1)查詢到 bitcoin.conf 這個配置文件,並將它安裝在目錄data 的文件夾里
在配置文件時,需要添加這些參數:
regtest=1(單機網絡) 或testnet=1 (連接測試網絡)
server=1
rpcuser=duanpan
rpcpassword=duanpan916
rpcallowip=
43.249.137.***
rpcport=8332
txindex=1
datacarriersize=80
logtimestamps=1
omnidebug=tally
omnidebug=packets
omnidebug=pending
有的開發者對於某些參數可能會不太了解,可以進行個參數說明(其實與btc錢包參數是一樣的):
testnet=1 連接測BTC測試網絡和regtest參數無需同時開啟,只可以開啟二者中的一個。
regtest:開啟單機測試環境,1代表開啟,0代表關閉
Listen:監聽模式開啟,當然默認就是開啟
Server:1意味着接受RPC指令,0意味着不接收
Rpcuser:目的是用來訪問錢包的RPC用戶名
Rpcpassword:目的是用來訪問錢包的RPC密碼
Rpcallowip:指定哪些IP能夠進行通過RPC訪問錢包
Rpcport:RPC訪問端口
2、對配置文件進行保存並重啟錢包
由於在單機網絡下不能得到Omni幣進行測試,因此只可以連接BTC testnet 網絡,通過獲取測試BTC 、再通過BTC 獲取得到OMNI幣。
配置方面(可自行指定用戶名,密碼,IP等):
testnet=1
regtest=0
server=1
rpcuser=*********
rpcpassword=*********
rpcallowip=*********
rpcport=8332
txindex=1
datacarriersize=80
logtimestamps=1
omnidebug=tally
omnidebug=packets
omnidebug=pending
3、利用命令窗口來進行常用指令的測試
(1)開啟命令窗口:在錢包界面點擊幫助,接着點擊調試窗口,然后點擊控制台
常用指令API地址:
https://github.com/OmniLayer/omnicore/blob/master/src/omnicore/doc/rpc-api.md
三、通過測試網絡獲取BTC
可以獲取測試網絡BTC的網址:http://bitcoinfaucet.uo1.net/send.php
查找測試網絡BTC交易和區塊塊生成的網址:https://testnet.blockexplorer.com
其他一些BTC相關知識的網站:https://bitcoin.org/en/bitcoin-for-developers
https://en.bitcoin.it/wiki/Main_Page
四、獲取測試網絡的omni幣。
步驟有:
1. 生成BTC地址 getnewaddress
2. 從測試網絡獲取BTC到第一步生成的地址
3. 通過sendFrom發送BTC到moneyqMan7uh8FqdCA2BV5yZ8qVrc9ikLP地址,每發送1 BTC將獲取100 OMNI以及100 TOMNI。
4. 接着等待區塊確認,生成的地址根據omni_getbalance獲取接收到TestOmni 金額。
USDT錢包對接中常會遇到的坑有:
1、沒有辦法查詢到propertyid 為31的USDT代幣
Solution:正式同步一定時間的區塊數據就可以了,測試網絡只可以根據omni幣來聯調API接口。
2、regtest網絡沒有辦法得到omni幣
Solution:只可以根據測試網絡(testnet)得到,測試網絡怎么獲取omni幣見文章第三和第四欄。
3、發送交易時發送地址的BTC余額顯示不足不能支付手續費
錯誤信息:Error with selected inputs for the send transaction, code=-206)
Solution:將BTC轉到發送omni 幣的地址上來。
4、omni_listtransation 不能查詢到歷史交易
是默認結束區塊號惹的禍,默認值是999999,但真正的區塊早已不止這些數目,因此總查詢不到交易信息。
Solution:帶參數 查詢如:
omni_listtransactions muPuXyRqLBRf8Xyj28d2As8ya4iaw8XWGe 10 0 0 99999999
現在一般的交易所都不會自己去單獨開發一套錢包系統了。 不僅因為比特幣以太坊等區塊節點數據龐大,同步傳輸慢,而且在服務器和帶寬的花費成本比較高。最重要的是養不起這樣的一個技術團隊!原生錢包這種私鑰放在服務器非常不安全,被偷就涼涼了。