虛擬幣錢包開發(fā),虛擬幣交易平臺開發(fā)詳細(xì)的代碼解決方案
時間:2022-05-18 11:45:01 | 來源:行業(yè)動態(tài)
時間:2022-05-18 11:45:01 來源:行業(yè)動態(tài)
本文章主要圍繞虛擬幣錢包開發(fā),虛擬幣交易平臺開發(fā)的核心技術(shù)功能展開部分介紹,以及網(wǎng)站開啟https加密后和websocket的通訊方法。
首先說一下虛擬幣錢包的對接流程:
1. 部署網(wǎng)絡(luò)環(huán)境
2. 部署錢包節(jié)點
3. 分析錢包的API
4. 通過json-rpc訪問錢包api
一、針對不同開發(fā)語言,系統(tǒng)都會有不同的RPC通信方法,大家可以自己搜索,然后去調(diào)用錢包的方法傳遞相應(yīng)的參數(shù)值進(jìn)行測試匹配。
二、對接錢包主要涉及的方法如下:
WalletLock:鎖定錢包
WalletPassphrase:解鎖錢包
GetBalance:獲取錢包余額
GetNewAddress:生成賬戶錢包地址
ListTransactions:獲取最近的交易列表
GetTransaction:根據(jù)txid獲取交易詳細(xì)信息
SendToAddress:向指定的比特幣地址發(fā)送比特幣
三、通過JSON-RPC訪問錢包API
虛擬幣交易平臺想要通過json-rpc訪問到虛擬幣錢包API,首先要在錢包節(jié)點開啟RPC訪問,BTC錢包開啟的方式是,在錢包文件夾中增加bitcoin.conf配置文件來配置:
server:設(shè)置為1開啟RPC訪問
rpcuser:RPC訪問用戶
rpcpassword:RPC訪問密碼
rpcport:RPC訪問端口
rpcallowip:允許RPC訪問的IP
設(shè)置好后關(guān)閉錢包,重新開啟錢包,RPC服務(wù)就開啟了,RPC開啟的端口一定要通過服務(wù)器防火墻。
四、部署錢包節(jié)點
云豹科技虛擬幣交易平臺對接所有的虛擬幣之前,都要在自己的服務(wù)器上部署一個錢包節(jié)點,首先要找到虛擬幣錢包的下載地址和Github地址,錢包下載地址:根據(jù)不同的服務(wù)器系統(tǒng),選擇不同錢包下載文件,進(jìn)行安裝,錢包同步的區(qū)塊文件比較大,建議安裝錢包的目錄要有足夠的硬盤空間,BTC大概120G左右。
加密錢包
在錢包主頁面菜單選擇SettingsàEncrypt Wallet,輸入2次密碼進(jìn)行加密,切記不要丟失該密碼。
備份錢包
在錢包主頁面菜單選擇FileàBackup Wallet 選擇要保存的目錄地址,會生成一個BAT文件,該文件就是錢包文件,已防止錢包服務(wù)出現(xiàn)問題,一定要保存好。
虛擬幣錢包總結(jié):
虛擬幣交易平臺對接不同的錢包,對應(yīng)的接口都可能有所不同,但主要的實現(xiàn)核心都是:
1. 開啟RPC訪問接口
2. 分配用戶唯一錢包地址,標(biāo)識不同用戶
3. 獲取交易列表,確認(rèn)用戶充值信息
4. 發(fā)送金額至不同的錢包地址
介紹完虛擬幣錢包開發(fā),那么咱們在介紹一下虛擬幣交易平臺開發(fā):
為什么要使用websocket
對于開發(fā)一個交易系統(tǒng)而言,非常核心的內(nèi)容就是高頻次的數(shù)據(jù)實時更新和交互,如果使用AJAX輪詢處理方式,客戶端要不斷的和服務(wù)端通訊請求數(shù)據(jù)來刷新頁面,這樣客戶端會非常的耗資源而導(dǎo)致卡頓,websocket就是解決這種問題很好的一種方式。
websocket協(xié)議是基于TCP的網(wǎng)絡(luò)協(xié)議,能夠?qū)崿F(xiàn)服務(wù)端與瀏覽器之間的雙工通訊,服務(wù)端能夠主動的發(fā)送數(shù)據(jù)給客戶端(與Socket通訊一樣)。
websocket實現(xiàn)原理和步驟
一、實現(xiàn)原理
1. 客戶端發(fā)起WebSocke連接請求,服務(wù)端給出響應(yīng)(握手),發(fā)送
2. 客戶端與WebSocke服務(wù)端建立一個數(shù)據(jù)連接通道
3. 客戶端發(fā)送數(shù)據(jù)給websocket服務(wù)端
4. websockett服務(wù)端推送數(shù)據(jù)給客戶端
二、 實現(xiàn)步驟
1. 創(chuàng)建一個websockett服務(wù)端(根據(jù)開發(fā)語言的不同,實現(xiàn)方式也不同)
2. 客戶端實現(xiàn)方式
//與服務(wù)端創(chuàng)建連接
var ws = newWebSocket("ws://localhost:8888");
//建立連接成功后執(zhí)行的回調(diào)函數(shù)
ws.onopen =function(event) {
console.log("Connection open.");
ws.send("Hi Message");
};
//接收到服務(wù)端發(fā)送數(shù)據(jù)進(jìn)行處理(重點)
ws.onmessage =function(event) {
console.log( "Received Message: " evt.data);
};
//連接關(guān)閉后執(zhí)行的回掉函數(shù)
ws.onclose =function(event) {
console.log("Connection cloed.");
};
網(wǎng)站開啟https后如何調(diào)用 websocket
為了數(shù)據(jù)傳輸安全很多網(wǎng)站都會啟用https,網(wǎng)站啟用https后,無法再使用ws://方式去連接服務(wù)端,只能用wss://的方式去連接,這樣要求我們要做如下更改:
1. 服務(wù)端更改:服務(wù)要改成支持與https同域名(域名證書)的https連接方式
2. 客戶端把ws://的都要改成wss://并且不能使用IP地址去訪問,只能通過域名去訪問,如:wss://xxx.aaa.com
虛擬幣交易平臺開發(fā)總結(jié)
交易平臺系統(tǒng)都會有高頻次的數(shù)據(jù)刷新需求,那么websocket就是很好的一種技術(shù)選型,首先根據(jù)需求建立一個websocket服務(wù)端,然后將數(shù)據(jù)刷新的的業(yè)務(wù)流程改成websocket去處理。
聲明:文章轉(zhuǎn)載自云豹直播:虛擬幣錢包開發(fā),虛擬幣交易平臺開發(fā)詳細(xì)的代碼解決方案