bfc幣對usdt
① USDT錢包歸集
解決USDT錢包歸集問題
在對接USDT錢包時,面臨無法通過omni 錢包提供的API實現錢包歸集的情況。這是因為API介面要求發送USDT的地址必須具備一定量的BTC,從而觸發交易。為此,需尋找替代方案,最終了解到只能通過創建BTC的原生交易達到目的。經過多日努力,流程得以順暢進行,預計許多人會遇到類似問題,故記錄此過程,為後續使用者節省時間。
准備兩個地址:發送USDT的地址和支付手續費的地址。確保發送USDT的地址內有USDT,支付手續費的地址內有足夠的BTC。本案例中,發送USDT地址為:,支付手續費地址為:,接收USDT的地址為:。
分別找到發送地址和熱錢包地址的一筆UXTO(未花費的交易輸出)作為發送USDT交易的載體。使用指令:listunspent 0 999999 '[""]' 和 listunspent 0 999999 '[""]',得到相應的UXTO信息。將找到的UXTO信息用於創建交易負載。
創建負載的指令為:createrawtransaction '[{"txid":"","vout":0},{"txid":"","vout":1,"scriptPubKey":"","value": 0.00992750}]' '{}'。
創建USDT交易的過程如下:使用指令 omni_createpayload_simplesend 31 2.0,得到。
在交易上綁定代幣數據,指令為:omni_createrawtx_opreturn 0000。
在交易上添加接收地址,指令為:omni_createrawtx_reference 0000000000001900000000。
指定礦工費用的指令為:(事務HASH,交易信息,找零地址,手續費)。
對交易進行簽名,指令為:signrawtransaction 0000000000001900000000。
最終,廣播交易的指令為:Sendrawtransaction 6922020000000000001900000000。
交易ID為:。執行每步操作後,可使用指令 decoderawtransaction 事務ID 和 omni_decodetransaction 事務ID來查看當前構建交易信息的更新情況。