摘要:無論是比特幣,還是都需要安裝全節點軟件才能比較穩定的做到查詢收款服務。然而目前的區塊鏈全節點都耗費大量硬盤空間和系統資源,僅僅為了為了數字貨幣收款進行投入是不劃算的。
雖然區塊鏈蓬勃發展,但是程序員要在網站上支持數字貨幣收款依然非常困難。無論是比特幣,還是eos都需要安裝全節點軟件才能比較穩定的做到查詢收款服務。然而目前的區塊鏈全節點都耗費大量硬盤空間和系統資源,僅僅為了為了數字貨幣收款進行投入是不劃算的。
這里介紹一個收款插件。
優點:無需依賴外部庫,因為是go語言編寫的。
無需外部數據庫,默認數據庫使用sqlite3,熟練工可以自己修改支持mysql和postgre。
開發者使用http請求就可以創建支付通道,查詢支付狀態。
收到支付有推送,方便編寫業務代碼。
無需安裝復雜的比特幣全節點,以太坊全節點,eos全節點就可以收款。
體積小巧
前期準備一 Mixin Messenger賬戶中國大陸iOS和安卓用戶前往該地址下載App并注冊賬戶。
大陸以外地區Apple ID和Google Play用戶請前往 地址下載app并注冊賬戶。
成為開發者并且創建app訪問開發者中心,點擊右上角圖標,用Mixin Messenger app的照相機掃描屏幕上的二維碼,然后開始創建 App。 創建App流程可以參考這個教程
Clone 代碼git clone https://github.com/myrual/mixin-network-snapshot-golang cd mixin-network-snapshot-golang修改參數
在mixin_snap.go里面找到如下代碼片段
const ( userid = "3c5fd587-5ac3-4fb6-b294-423ba3473f7d" sessionid = "42848ded-0ffd-45eb-9b46-094d5542ee01" private_key = `-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQDACTrT4uaB9el9qe0MUOsFrm8kpaDI9PowauMB1Ha25mpfL+5h MFqISLS5z2P89nAsXBg+KyQ2gAVA6rBwW/ZqOc1PKiJhhLBS80nzo3ayfv7OlzNG IxMyqD5izCCtPixnqpuTePoPWq4CNZlxop0VYklsWEfU0U0qqMBgmtqYfQIDAQAB AoGAR8crZed5oTn5fC73m5LjRcxdXqVJ49MtcMuC7jwr41FckRepUkpwjGAgrRMH nJXAd9Q0e4hEkNppHEqciGLXR1dQfZnaM1Gnv7mD3oSgHaH+4qAMnNOCpvwW4Eu3 yp9b1UGj9SvM3D2BrpA+MGf0E/yEJzpRcT956W6SPYYSegECQQDm4uTK+teoxr1Z agJZuCta+IhMzpxIWMob+JN/Huf7OnRcIa9JpXngg4tHOUWmZCDQdqeJMpaQc8SQ 44hba015AkEA1OyJswNIhdmvVp5P1zgREVVRK6JloYwmAtj+Qo4pWJ117LqH4w+b 491r4AeLEGh8VrZ4k6Hp+Cm783S2jTAWJQJARbWdlHdV45xVkQiDuyjy1h2RsXb0 EpfUNcvAZLIlImIMvcBh1x+CA7pTs+Zj1BAJJEee37qJYQXDBGfeRJPKKQJAVG+c x42Ew/eoTZwoIzvLoOkJcFlNHjwaksSER9ZiVQ7URdVOr99vvXQAJG45Wn9k12oy 9LCfvNan/wqIngK0tQJBAL1Wc02seEbMeWyt5jycJEhn6G8F18s9S1v0GXb4U/7/ 6Y87P3TmDLcEuCXkrbZQaCX7jVLu0BkDw8To58TWjh0= -----END RSA PRIVATE KEY-----` ADMIN_MessengerID = ""http://this is your mixin messenger id, you can find your id in contact page. )
將app創建過程中的那些參數替換到這里。 ADMIN_MessengerID是你的Mixin Messenger ID,你可以在Mixin Messenger里面的聯系人頁面看到。
編譯go build mixin_snap.go運行
./mixin_snap
實際上由于是基于go語言編寫的,你可以在一臺linux 機器上編譯,然后把執行文件傳輸到實際工作的服務器上運行。
如何創建一個eos和xlm的充值地址生成一個獨一無二的字符串作為支付id,然后設定一個收到支付的時候回掉URL。
curl -d "{"reqid":"value8", "callback":":9090/"}" -H "Content-Type: application/json" 127.0.0.1:8080/payment
這個curl指令起到的效果是: 將value8作為支付id傳給支付插件,同時要求這個支付id收到支付的時候,程序要訪問 本機的9090端口的根URL。
一般情況下,這個指令會立刻收到如下回復,你可以看到EOS和XLM的充值地址已經在里面了。
{"Reqid":"value9", "Payment_methods":[ {"Name":"XLM","PublicKey":"","AccountName":"GD77JOIFC622O5HXU446VIKGR5A5HMSTAUKO2FSN5CIVWPHXDBGIAG7Y","AccountTag":"39819a44ac87dd2c"}, {"Name":"EOS","PublicKey":"","AccountName":"eoswithmixin","AccountTag":"7648a59ae0eaee11d5d7f90c0f334eb1"}], "Payment_records":null,"Balance":null}如何查詢支付狀態
curl -X GET "http://localhost:8080/payment?reqid=value8"
如果支付還沒有完成,那么結果如下
{"Reqid":"value6","Payment_methods":[{"Name":"XLM","PublicKey":"","AccountName":"GD77JOIFC622O5HXU446VIKGR5A5HMSTAUKO2FSN5CIVWPHXDBGIAG7Y","AccountTag":"dfc6af4e022c3a11"}, {"Name":"EOS","PublicKey":"","AccountName":"eoswithmixin","AccountTag":"d457cab41245ca0531f64947d1bb958a"}], "Payment_records":null,"Balance":null}
如果支付已經確認,那么結果如下
{"Reqid":"value8", "Payment_methods":[{"Name":"XLM","PublicKey":"","AccountName":"GD77JOIFC622O5HXU446VIKGR5A5HMSTAUKO2FSN5CIVWPHXDBGIAG7Y","AccountTag":"62d0d256dcf15608"} ,{"Name":"EOS","PublicKey":"","AccountName":"eoswithmixin","AccountTag":"7481cd36f77953f129c194d3444ae2ff"}], "Payment_records":[{"Amount":"0.1","AssetId":"","created_at":"2019-06-20T02:00:39.650472961Z","snapshot_id":"570233aa-3c91-45cd-a6ec-0e9724165300"} ,{"Amount":"0.01","AssetId":"6cfe566e-4aad-470b-8c9a-2fd35b49c68d","created_at":"2019-06-20T02:33:50.152539755Z","snapshot_id":"88859d4d-5bee-4fb5-aef6-ac01dc3a43c6"} ,{"Amount":"0.01","AssetId":"6cfe566e-4aad-470b-8c9a-2fd35b49c68d","created_at":"2019-06-20T02:37:05.870885973Z","snapshot_id":"6530f455-3238-491a-a9c5-bbcb52bcc306"} ,{"Amount":"0.001","AssetId":"6cfe566e-4aad-470b-8c9a-2fd35b49c68d","created_at":"2019-06-20T02:40:53.251365044Z","snapshot_id":"f2c8a751-3d30-472e-bf76-924787f341b9"}, {"Amount":"0.001","AssetId":"6cfe566e-4aad-470b-8c9a-2fd35b49c68d","created_at":"2019-06-20T02:59:28.854380284Z","snapshot_id":"3ebfd5a3-bd29-4e32-bd06-2506bee3da99"}, {"Amount":"-0.122","AssetId":"6cfe566e-4aad-470b-8c9a-2fd35b49c68d","created_at":"2019-06-20T03:00:17.249302744Z","snapshot_id":"0bfe6f6b-1ff8-4144-9786-52d6a6459b19"}], "Balance":null}充值確認回掉URL
該程序能在收到充值確認的時候,根據你設定的callbackurl來發起http post訪問。URL如下
"http://127.0.0.1"+callbackurl
json body如下
{"Reqid":"value8","Callbackurl":":9090/","Paymentrecord":{"Amount":"0.01","AssetId":"56e63c06-b506-4ec5-885a-4a5ac17b83c1","created_at":"2019-06-20T07:33:06.445471337Z","snapshot_id":"a6603374-509b-4015-a192-c63bfa8def5f"}}資金提取
該程序在充值確認完畢之后會自動把該充值地址對應錢包的所有的資金都立刻自動轉移到你的Mixin Messenger賬戶
你也可以手動發起一條指令來要求程序把所有賬戶的錢都轉移到你的Mixin messenger賬戶
curl -X POST -H "Content-Type: application/json" 127.0.0.1:8080/moneygohome數據備份
默認只用了sqlite,所以只需備份執行目錄下的test.db
支持的數字貨幣范圍理論上所有Mixin Network上支持的數字貨幣都可以接受,但是由于部分數字貨幣充值確認很慢,因此代碼默認支持EOS和XLM,因為這兩個貨幣都可以3分鐘確認完畢。
如果想支持更多貨幣,只需要修改如下代碼
const (//目前主要的數字貨幣 BTC_ASSET_ID = "c6d0c728-2624-429b-8e0d-d9d19b6592fa" EOS_ASSET_ID = "6cfe566e-4aad-470b-8c9a-2fd35b49c68d" USDT_ASSET_ID = "815b0b1a-2764-3736-8faa-42d694fa620a" ETC_ASSET_ID = "2204c1ee-0ea2-4add-bb9a-b3719cfff93a" XRP_ASSET_ID = "23dfb5a5-5d7b-48b6-905f-3970e3176e27" XEM_ASSET_ID = "27921032-f73e-434e-955f-43d55672ee31" ETH_ASSET_ID = "43d61dcd-e413-450d-80b8-101d5e903357" DASH_ASSET_ID = "6472e7e3-75fd-48b6-b1dc-28d294ee1476" DOGE_ASSET_ID = "6770a1e5-6086-44d5-b60f-545f9d9e8ffd" LTC_ASSET_ID = "76c802a2-7c88-447f-a93e-c29c9e5dd9c8" SIA_ASSET_ID = "990c4c29-57e9-48f6-9819-7d986ea44985" ZEN_ASSET_ID = "a2c5d22b-62a2-4c13-b3f0-013290dbac60" ZEC_ASSET_ID = "c996abc9-d94e-4494-b1cf-2a3fd3ac5714" BCH_ASSET_ID = "fd11b6e3-0b87-41f1-a41f-f0e9b49e5bf0" XIN_ASSET_ID = "c94ac88f-4671-3976-b60a-09064f1811e8" CNB_ASSET_ID = "965e5c6e-434c-3fa9-b780-c50f43cd955c" XLM_ASSET_ID = "56e63c06-b506-4ec5-885a-4a5ac17b83c1" TRON_ASSET_ID = "25dabac5-056a-48ff-b9f9-f67395dc407c" ........ ) ....... ....... // 想要支持哪個,就把那個放在這個slice里面 default_asset_id_group := []string{XLM_ASSET_ID, EOS_ASSET_ID}
充值到賬時間列表
Asset | estimate confirmation duration |
---|---|
波場 | 5 分鐘 |
比特幣 | 1 小時 |
USDT | 1 小時 |
歡迎用Mixin Messenger App 聯系我。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24757.html
摘要:開發者可以通過查詢錢包來確認某個客戶的入賬或者訂單的付款情況。使用帶來的另一個好處是你可以直接提供所有支持的資產的收款。感覺買一送十,簡直是數字通貨支付的支付寶和。 EOS吹的這么牛,創始人這么厲害,感覺要超過比特幣,網站允許用戶支付EOS肯定很酷 于是程序員滿懷信心的去查找eos的api。發現了一個history 接口可以用來查詢任何一個賬戶的歷史記錄。簡直完美,DM果然靠譜。于是程...
摘要:開發者可以通過查詢錢包來確認某個客戶的入賬或者訂單的付款情況。使用帶來的另一個好處是你可以直接提供所有支持的資產的收款。感覺買一送十,簡直是數字通貨支付的支付寶和。 EOS吹的這么牛,創始人這么厲害,感覺要超過比特幣,網站允許用戶支付EOS肯定很酷 于是程序員滿懷信心的去查找eos的api。發現了一個history 接口可以用來查詢任何一個賬戶的歷史記錄。簡直完美,DM果然靠譜。于是程...
摘要:開發者可以通過查詢錢包來確認某個客戶的入賬或者訂單的付款情況。使用帶來的另一個好處是你可以直接提供所有支持的資產的收款。感覺買一送十,簡直是數字通貨支付的支付寶和。 EOS吹的這么牛,創始人這么厲害,感覺要超過比特幣,網站允許用戶支付EOS肯定很酷 于是程序員滿懷信心的去查找eos的api。發現了一個history 接口可以用來查詢任何一個賬戶的歷史記錄。簡直完美,DM果然靠譜。于是程...
摘要:電子貨幣比特幣白皮書中對電子貨幣進行了定義將一枚電子貨幣定義為數字簽名鏈。電子貨幣從所有者轉移給下一個人是通過,所有者使用私鑰,對交易和下一個人的公鑰進行數字簽名,并將數字簽名附在這枚電子貨幣數字簽名鏈的后面。 在上篇文章中,著重介紹了數字簽名,在這篇文章中,深入到比特幣交易源碼的部分進行探究,并回答以下問題: 如何給電子貨幣一個單位。 如何將一個電子貨幣進行分割成多個電子貨幣。 如...
閱讀 3004·2021-10-12 10:12
閱讀 3051·2021-09-22 16:04
閱讀 3287·2019-08-30 15:54
閱讀 2601·2019-08-29 16:59
閱讀 2901·2019-08-29 16:08
閱讀 866·2019-08-29 11:20
閱讀 3491·2019-08-28 18:08
閱讀 646·2019-08-26 13:43