雖然Bitcoin Cash(BCH)好像正慢慢淡出主流圈子,但它依然躋身加密貨幣市值TOP11之列。
那么,今天就和小編一起來認識下什么是BCH,它與BTC有哪些區別,在應用場景BCH具備哪些優點,以及BCH錢包對接流程。
什么是BCH?
BCH全稱為Bitcoin Cash,是礦池ViaBTC基于Bitcoin ABC方案推出的新的加密數字資產。
BCH是比特幣區塊鏈的硬分叉(一種社區驅動的協議或代碼層面的更新)。比特幣分叉發生在2017年8月1日,其目的是將區塊大小更新為8mb。
2018年11月16日,BCH進行了第二次硬分叉,分為比特幣SV(Satoshi’s Vision 中本聰的愿景)和比特幣ABC。比特幣ABC由于擁有更多的哈希算力和節點,最終成為了主鏈并接管了BCH代號。
比特現金最近一次減半是在2020年4月8日,當時其區塊獎勵從12.5降低至6.25。
BCH和BTC有什么區別?
BTC可以說是BCH的前世,但是分叉以后,BCH一直被認為是新方向的BTC,BCH有更大的區塊,能夠處理更多交易,不會出現像BTC那樣由于區塊太小,處理速度跟不上交易數量的情況,從而造成擁堵的現象。這也是BCH與BTC最明細的區別。
這也直接造成了BCH的手續費用比BTC要低的多,BTC由于緩慢的交易處理速度,出現了誰的手續費價格高誰的交易先處理的規則,而BCH是不可能出現這種情況的。
由于BCH社區從理念上與現在BTC社區core團隊不一樣,簡單的說BCH與BTC沒有多少關聯了,成為一種全新的幣種。
BCH可以算是比特幣中的“革新派”,他們認同比特幣通過提升區塊大小,認同有更多的項目能夠落實,應該運用最新的技術在比特幣上,但是他們的激進也讓他們受到非議,說他們是逐利的礦工,不尊重中本聰的意志,他們就如同歷史上的革新派一般,充滿激情但又太過激進。
BCH在應用場景上具備哪些特點?
快速交易,根據設計,比特幣現金網絡的設立是為了快速處理交易并且花費很少。
與初始的比特幣區塊鏈受限于1MB區塊和替換費用不同,比特幣現金區塊為8MB。 升級到更大的區塊意味著礦工可以驗證所有交易,而不僅僅是收費最高的交易。較大的區塊有助于保持BCH內存池的空間和交易的快速確認。
對客戶和商家來說都是負擔得起的,比特幣現金的交易很快就會被挖掘出來——即使費用低。由于在8MB的區塊中適合更多的交易,因此確保交易在下一個區塊中得到確認的競爭就更少了。
對消費者來說,低費用意味著對商家的低收費。商戶可以開始接受比特幣現金支付,無需支付每月的費用和每筆交易的百分比。另外,貨幣兌換成本不存在;BCH是一種全球性的無國界貨幣。
風險較小,接受信用卡支付的風險之一,尤其是在網上,是欺詐。商家總是面臨著退款的風險(從消費者的信用卡或銀行賬戶轉回資金)。一些金融機構實際上向商戶收取費用。
比特幣現金交易以秒為單位,并在幾分鐘內得到確認。你可以在全球范圍內發送或接收貨幣,交易是不可逆轉的(即使是對欺詐者而言)。
易于實施,小商家只需要自己的比特幣現金地址就可以開始接受BCH的付款。實體店應該有一個設備,比如手機或平板電腦,這樣消費者就可以很容易地掃描二維碼。
像Coinbase Commerce這樣的商業服務使它變得更加容易。商戶可以在電子商務平臺上添加CoinbaseCommerce作為支付選項,也可以添加到現有的結賬流程中。你所需要的只是一個電子郵件地址和一部電話。
定期升級,比特幣現金社區在承諾繼續升級網絡方面是獨一無二的。最近,開發人員發布了BCH地址格式的升級。BCH地址現在包括了“bitcoincash:”在通常的字母和數字串之前,所以人們掃描條形碼不會誤以為它是比特幣地址。減輕這種風險有助于簡化、快速支付。
BCH錢包對接流程
基于BCH運用廣泛性,不管是交易所、商城、游戲又或者項目方對接BCH錢包以及充提幣的需求進一步提升,但由于上述企業在區塊鏈領域技術能力有限,往往會尋找第三方開放平臺進行對接。
今天小編跟大家聊聊交易所等交易平臺如何進行BCH錢包對接,以及BCH充提幣API接口對接方法。
1、目錄
1.1、生成地址
1.2、提幣
1.3、代付
1.4、交易回調
1.5、校驗地址合法性
1.6、獲取商戶支持幣種信息
2、接口明細
1、生成地址
1.1 場景說明
請求指定幣種地址,如要成功獲取地址,需先存在錢包,且錢包支持該幣種,
1.2 接口詳情
1.2.1 接口地址
接口詳情 | |
URL | 【/mch/address/create】 |
請求方式 | POST |
1.2.2 參數
1.2.2.1 參數說明
參數 | 類型 | 是否必填 | 說明 | 備注 |
timestamp | String | 是 | 時間戳 | 見 驗簽說明 |
nonce | String | 是 | 隨機數 | 見 驗簽說明 |
sign | String | 是 | 簽名 | 見 驗簽說明 |
body | String | 是 | 消息內容 | json字符串,格式如下 |
[ {undefined "merchantId":"300015", "coinType":520, "callUrl":"http://localhost:8080/callBack" } ]
1.2.2.2 body參數字段
body參數名 | 類型 | 是否必填 | 說明 |
merchantId | String | 是 | 商戶號 |
coinType | Integer | 是 | 主幣種編號,見 附錄一 |
callUrl | String | 是 | 回調地址,通過該接口創建的地址,以后關于該地址的充幣信息會通過您指定的回調地址通知您。具體示例見 交易回調接口 |
walletId | String | 否 | 錢包編號,默認根據主錢包生成地址 |
alias | String | 否 | 地址別名 |
1.2.2.3 示例
{undefined "timestamp": 1535005047, "nonce": 10000, "sign": "a230def43c1a12b14393880a28d4e005", "body": "[{\"merchantId\":\"300015\",\"coinType\":520,\"callUrl\":\"http://localhost:8080/callBack\"}]" }
1.2.3 返回狀態碼表
code | 解釋 |
200 | 成功 |
4005 | 非法參數 |
4001 | 商戶不存在 |
4169 | 商戶已禁用 |
4162 | 簽名錯誤 |
4175 | 錢包編號錯誤 |
4017 | 商戶沒有創建錢包 |
4176 | 錢包未添加支持該幣種 |
4166 | 商戶沒有配置套餐 |
4168 | 商戶地址達到上限 |
4045 | 幣種信息錯誤 |
-1 | 獲取地址失敗 |
1.3 調取示例
1.3.1 成功
{undefined "data":{undefined "coinType":520, "address":"0xbe4e3699cb870bc95365fe04a187dd279a651a58" }, "message":"SUCCESS", "code":200 }
1.3.2 失敗
{undefined "code": "4101", "message": "SIGN_MSG_ERROR" }
2、發送提幣申請
2.1 場景說明
提幣申請
2.2 接口詳情
2.2.1 接口地址
接口詳情 | |
URL | 【/mch/withdraw】 |
請求方式 | POST |
2.2.2 參數
2.2.2.1 參數說明
參數 | 類型 | 是否必填 | 說明 | 備注 |
timestamp | String | 是 | 時間戳 | 見 驗簽說明 |
nonce | String | 是 | 隨機數 | 見 驗簽說明 |
sign | String | 是 | 簽名 | 見 驗簽說明 |
body | String | 是 | 消息內容 | json字符串,格式如下 |
[ {undefined "address":"raadSxrUhG5EQVCY75CSGaVLWCeXd6yH6s", "amount":"0.11", "merchantId":"100109", "mainCoinType":"144", "coinType":"144", "callUrl":"http://localhost:8080/mch/callBack", "businessId":"15", "memo":"10112" } ]
2.2.2.2 body參數字段
body參數名稱 | 是否必填 | 類型 | 說明 |
address | 是 | String | 提幣地址 |
amount | 是 | String | 提幣數量 |
merchantId | 是 | String | 商戶號 |
mainCoinType | 是 | String | 主幣種編號 (見 附錄一 ) |
coinType | 是 | String | 子幣種編號 (見 附錄一 ) |
callUrl | 是 | String | 回調地址,通過該callUrl告知您該筆提幣交易的狀態,具體示例見 交易回調接口 |
businessId | 是 | String | 業務id,必須保證該字段在系統內唯一,如果重復,則該筆審核錢包不會接收。 |
memo | 否 | String | 備注,XRP和EOS,這兩種幣的提幣申請該字段可選,起他類型幣種不填 |
2.2.2.3 示例
{undefined "timestamp": 1535005047, "nonce": 100000, "sign": "6df1512ee650431632ce1541a6b064e1", "body": "[{\"address\":\"raadSxrUhG5EQVCY75CSGaVLWCeXd6yH6s\",\"amount\":\"0.11\",\"merchantId\":\"100109\",\"mainCoinType\":\"144\",\"coinType\":\"144\",\"callUrl\":\"http://localhost:8080/callBack\",\"businessId\":\"15\",\"memo\":\"10112\"}]" }
2.2.3 返回狀態碼表
code | 解釋 |
200 | 成功 |
4005 | 非法參數 |
4598 | 傳入body中的list對象中的所有merchantId必須保持一致 |
4001 | 商戶不存在 |
4169 | 商戶已被禁用 |
4183 | 到賬地址異常 |
4193 | EOS金額小數點后超過4位長度 |
4034 | 未找到該幣種信息 |
2.3.1 成功
{undefined "message":"SUCCESS", "code":200 }
2.3.2 失敗
{undefined "code": "4101", "message": "SIGN_MSG_ERROR" }
3、代付
3.1 場景說明
代付,發送自動付款申請,未設置代付信息或代付失敗則進入審核狀態。
3.2 接口詳情
3.2.1 接口地址
接口詳情 | |
URL | 【/mch/withdraw/proxypay】 |
請求方式 | POST |
3.2.2 參數
3.2.2.1 參數說明
參數 | 類型 | 是否必填 | 說明 | 備注 |
timestamp | String | 是 | 時間戳 | 見 驗簽說明 |
nonce | String | 是 | 隨機數 | 見 驗簽說明 |
sign | String | 是 | 簽名 | 見 驗簽說明 |
body | String | 是 | 消息內容 | JSON字符串,格式如下 |
[ {undefined "address":"raadSxrUhG5EQVCY75CSGaVLWCeXd6yH6s", "amount":"0.1", "merchantId":"100146", "mainCoinType":"144", "coinType":"144", "callUrl":"http://localhost:8080/callBack", "businessId":"571001", "memo":"10112" } ]
3.2.2.2 body參數說明
body參數名稱 | 類型 | 是否必填 | 說明 |
merchantId | String | 是 | 商戶號 |
address | String | 是 | 提幣地址 |
mainCoinType | String | 是 | 主幣種編號,見 附錄一 |
coinType | String | 是 | 子幣種編號,見 附錄一 |
amount | String | 是 | 交易數量 |
callUrl | String | 是 | 回調地址,提幣(審核、交易)結果將通過該地址進行回調,具體示例見 交易回調接口 |
businessId | String | 是 | 業務id,必須保證該字段在系統內唯一,如果重復,則該筆提幣錢包將不會進行接收 |
memo | String | 否 | 備注,XRP和EOS,這兩種幣的提幣申請該字段可選,起他類型幣種不填 |
3.2.2.2 示例
{undefined "timestamp": 1535005047, "nonce": 100000, "sign": "e1bee3a417b9c606ba6cedda26db761a", "body": "[{\"address\":\"raadSxrUhG5EQVCY75CSGaVLWCeXd6yH6s\",\"amount\":\"0.1\",\"merchantId\":\"100146\",\"mainCoinType\":\"144\",\"coinType\":\"144\",\"callUrl\":\"http://localhost:8080/callBack\",\"businessId\":\"571001\",\"memo\":\"10112\"}]" }
3.2.3 返回狀態碼表
code | 解釋 |
200 | 成功 |
4005 | 非法參數 |
4001 | 商戶不存在 |
4166 | 商戶沒有配置套餐 |
4169 | 商戶已被禁用 |
4612 | 簽名錯誤 |
4163 | 簽名信息錯誤 |
569 | 無效的地址 |
571 | 已存在審核記錄,將不再進行處理 |
581 | 非法提幣金額 |
554 | 商戶不支持該幣種 |
3.3 調取示例
3.3.1 成功
{undefined "message":"SUCCESS", "code":200 }
3.3.2 失敗
{undefined "code": "4101", "message": "SIGN_MSG_ERROR" }
4、交易回調接口
4.1 場景說明
網關收到交易處理結果,調用商戶提供的回調接口,通知商戶具體變化信息。該接口網關發送給您指定的回調地址的內容,處理您的業務信息。 分充值回調和提幣回調,其中提幣最多會進行兩次回調(審核回調 交易結果回調)
4.2 接口詳情
4.2.1 接口地址
接口詳情 | |
URL | |
請求方式 | POST |
4.2.2 參數
4.2.2.1 參數說明
參數 | 類型 | 是否必填 | 說明 | 備注 |
timestamp | String | 是 | 時間戳 | 見 驗簽說明 |
nonce | String | 是 | 隨機數 | 見 驗簽說明 |
sign | String | 是 | 簽名 | 見 驗簽說明 |
body | String | 是 | 消息內容 | JSON字符串,格式如下 |
{undefined "address":"DJY781Z8qbuJeuA7C3McYivbX8kmAUXPsW", "amount":"12345678", "blockHigh":"102419", "coinType":"206", "decimals":"8", "fee":"452000", "mainCoinType":"206", "status":3, "tradeId":"20181024175416907", "tradeType":1, "txId":"31689c332536b56a2246347e206fbed2d04d461a3d668c4c1de32a75a8d436f0", "businessId":"",// 提幣回調為提幣接口傳入的businessId,充幣無值 "memo":"" }
4.2.2.2 body參數說明
body參數名稱 | 類型 | 說明 |
address | String | 地址 |
amount | String | 交易數量,根據幣種精度獲取實際金額,實際金額=amount/pow(10,decimals),即實際金額等于amount除以10的decimals次方 |
fee | String | 礦工費,根據幣種精度獲取實際金額,實際金額獲取同上 |
decimals | String | 幣種精度 |
coinType | String | 子幣種編號,見 附錄一 |
mainCoinType | String | 主幣種編號,見 附錄一 |
businessId | String | 業務編號,提幣回調時為提幣請求時傳入的,充幣回調無值 |
blockHigh | String | 區塊高度 |
status | Integer | 狀態,見 回調接口狀態說明 |
tradeId | String | 交易流水號 |
tradeType | Integer | 交易類型,見 回調接口交易類型說明 |
txid | String | 區塊鏈交易哈希 |
memo | String | 備注,XRP和EOS(見 附錄一 ),這2種類型幣的充提幣可能有值 |
4.2.2.2 示例
{undefined "timestamp": 1535005047, "nonce": 100000, "sign": "e1bee3a417b9c606ba6cedda26db761a", "body": "{\"address\":\"DJY781Z8qbuJeuA7C3McYivbX8kmAUXPsW\",\"amount\":\"12345678\",\"blockHigh\":\"102419\",\"coinType\":\"206\",\"decimals\":\"8\",\"fee\":\"452000\",\"mainCoinType\":\"206\",\"status\":3,\"tradeId\":\"20181024175416907\",\"tradeType\":1,\"txId\":\"31689c332536b56a2246347e206fbed2d04d461a3d668c4c1de32a75a8d436f0\"}" }
5、校驗地址合法性
5.1 場景說明
校驗地址的合法性,添加地址、提幣申請等場景時可先校驗地址合法性,參看 校驗規則
5.2 接口詳情
5.2.1 接口地址
接口詳情 | |
URL | 【/mch/check/address】 |
請求方式 | Post |
5.2.2 參數
5.2.2.1 參數說明
參數 | 類型 | 是否必填 | 說明 | 備注 |
timestamp | String | 是 | 時間戳 | |
nonce | String | 是 | 隨機數 | |
sign | String | 是 | 簽名 | |
body | String | 是 | 消息內容 | JSON字符串,格式如下 |
{undefined "merchantId":200000, "mainCoinType":"206", "address":"DJY781Z8qbuJeuA7C3McYivbX8kmAUXPsW" }
5.2.2.2 body參數說明
body參數名稱 | 類型 | 是否必填 | 說明 |
merchantId | Long | 是 | 商戶號 |
mainCoinType | String | 是 | 主幣種編號,見 附錄一 |
address | String | 是 | 需校驗的地址 |
5.2.2.2 示例
{undefined "timestamp": 1535005047, "nonce": 100000, "sign": "e1bee3a417b9c606ba6cedda26db761a", "body": "[{\"merchantId\":200000,\"mainCoinType\":\"206\",\"address\":\"DJY781Z8qbuJeuA7C3McYivbX8kmAUXPsW\"}]"
5.2.3 返回狀態碼表
code | 解釋 |
200 | 成功 |
4005 | 非法參數 |
4162 | 簽名錯誤 |
4165 | 地址不合法 |
5.3 調取示例
5.3.1 成功
{undefined "code":200, "message":"SUCCESS" }
5.3.2 失敗
{undefined "code":4005, "message":"PARAM_ERROR" }
6、獲取商戶支持的幣種信息
6.1 場景說明
獲取商戶支持的幣種,以及余額
6.2 接口詳情
6.2.1 接口地址
接口詳情 | |
URL | 【/mch/support-coins】 |
請求方式 | POST |
6.2.2 參數
6.2.2.1 參數說明
參數 | 類型 | 是否必填 | 說明 |
timestamp | String | 是 | 時間戳 |
nonce | String | 是 | 隨機數 |
sign | String | 是 | 簽名 |
body | String | 是 | 消息內容 |
6.2.2.2 body參數說明
body參數名稱 | 類型 | 是否必填 | 說明 |
merchantId | Long | 是 | 商戶號 |
showBalance | Boolean | 是 | 是否查詢余額,false不獲取,true獲取 |
6.2.2.3 示例
{undefined "timestamp": 1535005047, "nonce": 100000, "sign": "e1bee3a417b9c606ba6cedda26db761a", "body": "{\"merchantId\":\"200032\",\"showBalance\":true}" }
6.2.3 返回狀態碼表
狀態碼 | 解釋 |
200 | 成功 |
4005 | body參數錯誤 |
6.3 調取示例
6.3.1 成功
{undefined "code": 200, "message": "SUCCESS", "data":[ {undefined "name": "BTC", // 幣種別名 "coinName":"Bitcoin", // 幣種全稱 "symbol":"BTC", // 幣種單位 "mainCoinType":"0", //主幣種類型 "coinType":"0", // 幣種類型 "decimals":"8", // 幣種精度 "tokenStatus":"0", // 0: 主幣 1:代幣 "mainSymbol":"BTC", //主幣種單位 "balance":"0", // 幣種余額 "logo":"http://bipay-admin.oss-cn-hangzhou.aliyuncs.com/bipay-admin-release/coin-logo/BTC.png" // 幣種log地址 }, {undefined "name": "ETH", // 幣種別名 "coinName":"Ethereum", // 幣種全稱 "symbol":"ETH", // 幣種單位 "mainCoinType":"60", //主幣種類型 "coinType":"60", // 幣種類型 "decimals":"18", // 幣種精度 "tokenStatus":"0", // 0: 主幣 1:代幣 "mainSymbol":"ETH", //主幣種單位 "balance":"0", // 幣種余額 "logo":"https://bipay-admin.oss-cn-hangzhou.aliyuncs.com/bipay-admin-release/coin-logo/ETH.png" // 幣種log地址 } ] }
6.3.2 失敗
{undefined "code":4005, "message":"BGS_ILLEGAL_PARAMETER" }
附錄一
主幣種編號 | 子幣種編號 | 幣種簡稱 | 幣種英文名 | 幣種中文名稱 | 精度 |
0 | 0 | BTC | Bitcoin | 比特幣 | 8 |
60 | 60 | ETH | Ethereum | 以太坊 | 18 |
0 | 31 | USDT | Tether USD | 泰達幣 | 8 |
520 | 520 | CNT | CNT | 測試幣 | 18 |
5 | 5 | DASH | DASH | 達世幣 | 8 |
133 | 133 | ZEC | ZEC | 大零幣 | 8 |
145 | 145 | BCH | Bitcoincash | 比特幣現金 | 8 |
61 | 61 | ETC | Ethereum Classic | 以太坊經典 | 18 |
2 | 2 | LTC | LTC | 萊特幣 | 8 |
2301 | 2301 | QTUM | QTUM | 量子鏈幣 | 8 |
502 | 502 | GCC | GalaxyChain | 8 | |
60 | 合約地址 | eth代幣 | eth代幣 | 根據代幣具體情況而定 | |
144 | 144 | XRP | Ripple | 瑞波幣 | 6 |
194 | 194 | EOS | EOS | 柚子幣 | 4 |
194 | 194 | EOS | EOS | 柚子幣 | 4 |
2304 | 2304 | IOTE | IOTE | IOTE | 8 |
2303 | 2303 | VDS | Vollar | Vollar幣 | 8 |
回調接口狀態說明
狀態 | 說明 |
0 | 待審核 |
1 | 審核成功 |
2 | 審核駁回 |
3 | 交易成功 |
4 | 交易失敗 |
回調接口交易類型說明
狀態 | 說明 |
1 | 充幣回調 |
2 | 提幣回調 |
驗簽說明
為了保證商戶傳送到優盾的參數信息不被惡意篡改,網關為商戶接口提供Md5加密摘要認證。商戶可用基礎加密參數:時間戳、隨機數、簽名密鑰(商戶唯一的APIKEY)、請求明文參數按指定順序排列進行Md5加密,產生一個驗簽串sign,商戶請求網關接口時,帶上參數時間戳、隨機數、請求明文參數、sign作為參數。網關拿到相應的參數以同樣的方式進行簽名驗簽。同理,網關請求商戶也以同樣的方式進行身份驗證。
sign=md5(body key nonce timestamp)
key為接口授權碼APIKEY,由網關分配給商戶,加密字段順序不能錯誤
幣種地址校驗規則
主幣種類型 | 幣種簡稱 | 幣種英文名稱 | 幣種中文名稱 | 地址前綴 | 地址長度限制區間 |
0 | BTC | Bitcoin | 比特幣 | 1或者3 | [26,36] |
60 | ETH | Ethereum | 以太坊 | 0x | [42] |
145 | BCH | Bitcoincash | 比特幣現金 | 1 | [26,36] |
61 | ETC | EthereumClassic | 以太坊經典 | 0x | [42] |
2 | LTC | Litecoin | 萊特幣 | L或者M | [26,36] |
508 | GX | GX | G | [26,36] | |
503 | NBTC | NBTC | N | 不限制 | |
99 | STO | STO | 證券型通證發行 | S | 不限制 |
5 | DASH | DASH | 達世幣 | X | [26,36] |
2301 | QTUM | QTUM | 量子鏈幣 | Q | [26,36] |
133 | ZEC | ZCash | 大零幣 | t1 | 不限制 |
144 | XRP | Ripple | 瑞波幣 | r | [34] |
以上就是BCH科普:比特現金(BCH)錢包對接流程的詳細內容,更多關于比特現金(BCH)錢包的資料請關注腳本之家其它相關文章!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。