USDT 比特幣節點搭建,錢包筆記


參考:https://www.jianshu.com/p/bd573e2df746

usdt 節點

錢包配置設置

bitcoin.conf

server=1 #代表開啟RPC訪問
txindex=1 #代表事務初始索引
rpcuser=你的rpc用戶名
rpcpassword=你的rpc密碼
rpcallowip=127.0.0.1 #允許訪問的IP
rpcport=8332 #允許訪問的端口
paytxfee=0.00001 #控制bitcoin交易的手續費
minrelaytxfee=0.00001 #控制bitcoin交易的手續費
datacarriersize=80 #含數據的交易大小默認值
logtimestamps=1
omnidebug=tally
omnidebug=packets
omnidebug=pending

預估手續費網址

https://bitcoinfees.earn.com/
https://www.buybitcoinworldwide.com/

開啟服務

omnicored -testnet #連接test3測試網絡,會同步test3網絡的區塊數據(約20G)
omnicored -regtest #單機運行,不需要連接其他網絡,區塊數據在本地運行。
omnicored #連接比特幣主網網絡,會同步真實區塊數據(約180G)。

停止服務

omnicore-cli stop

查看信息

omnicore-cli -getinfo
omnicore-cli omni_getinfo

區塊同步數據參考網站

https://btc.com/

json-rpc協議

請求對象:
{
"jsonrpc": "2.0",//rpc版本號
"method": "your_method",//方法名
"params": [//參數數組
"var1",
"var2"
],
"id": 9527//請求
}
返回對象:
{"jsonrpc": "2.0", "result": "this is result", "id": 9527}
錯誤對象返回:
{
"result": null,
"error": {
"code": -32601,//錯誤碼
"message": "Method not found"//錯誤原因
},
"id": 9527
}

生成地址

omnicore-cli getnewaddress
omnicore-cli getnewaddress feeaccount
omnicore-cli getaddressesbyaccount feeaccount

測試網絡獲取BTC

https://testnet.coinfaucet.eu/en/
https://testnet.manu.backend.hamburg/faucet

測試網絡是沒有測試usdt的,所有只能用test omni代替usdt進行測試

發送TBTCmoneyqMan7uh8FqdCA2BV5yZ8qVrc9ikLP即可獲得少量TOMNI,匯率為100 TOMNI/1 TBTC,令牌id分別為1和2。

比特幣UTXO

未花費輸出, 找零地址

返回:UTXO列表

min_confrim (int,可選) 最小確認
max_comfrim(int ,可選)最大確認
address (string[],可選)地址列表
omnicore-cli listunspent 0 999999 '["mjH1iB7wt5TC4f8qjvZqtmBXd1aCPSPinC"]'

USDT轉賬

omni_funded_send
omni_funded_sendall
fromaddress (string,必選) 令牌發送者
toaddress (string,必選) 令牌接收者
propertyid (number,必選) 令牌id
amount (string,必選) 發送金額
feeaddress (string,可選)用於支付手續費的地址,如果設置此地址,那么此地址上必須擁有比特幣
omnicore-cli omni_funded_send mjH1iB7wt5TC4f8qjvZqtmBXd1aCPSPinC mqrA5Ai8XdKe1ob1L2HwyYr3TXUf9nUeBf 1 5 mpaumxor659PhoJhXp1VCVHVwbFCZSRmuf
a25260a79243a48df21ca2d9fba2209818ea1339026d91b6476d531929c52dad
錯誤返回:
{
error code: -212
error message:Error choosing inputs for the send transaction
}

記得發送前檢查是否余額充足

查詢交易事務

omni_gettransaction
omnicore-cli omni_gettransaction a25260a79243a48df21ca2d9fba2209818ea1339026d91b6476d531929c52dad

查詢地址 USDT余額額

omni_getbalance
address 地址
id 令牌id
omnicore-cli omni_getbalance mjH1iB7wt5TC4f8qjvZqtmBXd1aCPSPinC 1

查詢錢包內的所有地址的USDT余額列表

omnicore-cli omni_getwalletaddressbalances

查詢錢包內的USDT總額

omnicore-cli omni_getwalletbalances

中心化錢包

中心化錢包的本質是代替用戶托管資產,錢包保存了所有地址的私鑰,對上面的令牌有完全的使用權。對於用戶而言,對資產的流動有知情權,但並沒有實際控制權。一個完整的中心化錢包可以分為兩層,記賬層和區塊底層,至少需要集成四個基本的業務功能
1,生成地址 #getnewaddress
2,掃描充值事務 #本地事務,6個確認, 充值到用戶的綁定的地址
3,轉移用戶地址余額,到中央地址, 注意手續費問題, 上次完成了才能做下次
4,提現行為, 注意手續費問題, 單例

linux 守護進程

ps -axj
nohup omnicored -testnet &

php 執行linux命令

system() 輸出並返回最后一行shell結果。
exec() 不輸出結果,返回最后一行shell結果,所有結果可以保存到一個返回的數組里面。
passthru() 只調用命令,把命令的運行結果原樣地直接輸出到標准輸出設備上。
相同點:都可以獲得命令執行的狀態碼
例子:system("ls -al");
【使用之前要在php.ini中把safe_mode關閉】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM