雷電網絡(Raiden Network)是以太坊區塊鍊的鍊下擴容方案,Raiden節點的Restful API官方文檔中文版由彙智網提供,通路位址: http://cw.hubwiz.com/card/c/raiden-api/ Raiden API通路端結點URL中通常包含有版本資訊,以便支援對不同版本API的通路,所有的API通路URL字首都是: /api/<version>/
。
如果希望快速掌握區塊鍊應用的開發,推薦彙智網的 區塊鍊應用開發系列教程 , 内容涵蓋比特币、以太坊、eos、超級賬本fabric和tendermint等多種區塊鍊,以及 java、go、nodejs、python、php、c#、dart等多種開發語言。
1、API請求/響應資料的JSON編碼
API的通路請求與響應都采用JSON編碼。下面是API中的常用對象。
1.1 通道 / Channel
通道對象示例如下:
{
"channel_identifier": 21,
"token_network_identifier": "0x2a65Aca4D5fC5B5C859090a6c34d164135398226",
"partner_address": "0x61C808D82A3Ac53231750daDc13c777b59310bD9",
"token_address": "0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8",
"balance": 25000000,
"total_deposit": 35000000,
"state": "opened",
"settle_timeout": 500,
"reveal_timeout": 40
}
通道對象包含如下字段:
- channel_identifier:通道的辨別,整數
- partner_address:對方位址, EIP55編碼的位址字元串,用來開啟一個通道
- token_address:代币位址,EIP555編碼的代币位址字元串,用于通道上的交易
- token_network_identifier:代币網絡辨別符,EIP55編碼的代币網絡辨別符
- balance:可用代币餘額,整數
- total_deposit:已存入通道合約的金額,整數
- state:通道的目前狀态,字元串,可能的值包括:
- 通道已開啟opened
- 通道已關閉closed
- 通道已關閉而且已清算settled
- settle_timeout:通道清算逾時區塊數,整數
- reveal_timeout:允許的最大揭示逾時區塊數,整數
1.2 通道事件 / Event
通道事件也編碼為JSON對象,事件的參數作為事件對象的屬性。為了便于區分不同類型的事件,在事件對象上額外添加了
event_type
和
block_number
屬性。
2、API錯誤資訊
對于不成功的API請求,會傳回對應的http狀态碼,例如409沖突或400錯誤請求等,同時也會在傳回的json對象中附帶errors字段,你可以用來擷取關于錯誤的詳細資訊。但是,需要指出的是,如果Raiden不能處理收到的請求并且抛出異常,那麼将傳回http狀态碼 500,這時傳回的就不是json對象,而隻是一個字元串消息
Internal server error
。 這是由于我們依賴于其他開發庫來實作API,發生異常時我們無法正常處理響應消息。
無論如何,我們認為500錯誤是Raiden的bug,如果你碰到這種現象,請回報給我們。
3、通路端結點
Raiden提供了以下通路端結點,可以在開發時選用:
- 基礎API
- 查詢雷電節點資訊: GET /api/(version)/address
- 注冊指定的代币 : PUT /api/(version)/tokens/(token_address)
- 通道及代币資訊查詢API
- 擷取未結算通道清單: GET /api/(version)/channels
- 擷取指定代币的未結算通道清單: GET /api/(version)/channels/(token_address)
- 查詢指定通道的資訊: GET /api/(version)/channels/(token_address)/(partner_address)
- 擷取已注冊代币清單: GET /api/(version)/tokens
- 擷取指定代币的網絡位址: GET /api/(version)/tokens/(token_address)
- 擷取指定代币未結算通道的對手方: GET /api/(version)/tokens/(token_address)/partners
- 擷取未完成轉賬清單: GET /api/(version)/pending_transfers
- 擷取指定代币的未完成轉賬清單: GET /api/(version)/pending_transfers/(token_address)
- 擷取指定通道的未完成轉賬清單: GET /api/(version)/pending_transfers/(token_address)/(partner_address)
- 通道管理API
- 連接配接管理API
- 查詢已加入的代币網絡: GET /api/(version)/connections
- 自動加入代币網絡: PUT /api/(version)/connections/(token_address)
- 删除指定的代币網絡: DELETE /api/(version)/connections/(token_address)
- 支付相關API
原文連結:
以太坊雷電網絡API文檔 — 彙智網