Raiden/雷电API手册

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

修改通道状态 - PATCH /api/(version)/channels/(token_address)/(partner_address)

关闭指定的通道,或者增加存入资金。

API请求

PATCH /api/(version)/channels/(token_address)/(partner_address)

URL参数:

  • version:API版本号,目前可用:v1
  • token_address:代币地址
  • partner_address:对手方地址

BODY参数对象,包含如下字段

  • state:目标状态,可用:closed,即关闭通道
  • total_deposit:增加的存入资金

API响应

返回通道对象,包含如下字段:

  • token_network_identifier:代币网络标识符
  • channel_identifier:通道标识符
  • partner_address:对手方地址
  • token_address:代币地址
  • balance:余额
  • total_deposit:存入总额
  • state:状态
  • settle_timeout:结算超时块数
  • reveal_timeout:揭示超时块数

http响应的状态码可能为以下值:

  • 201 Created – 通道创建成功
  • 400 Bad Request –
    • 请求JSON数据格式不正确
    • 没有指定state或total_deposit参数
    • state参数不是有效的通道状态
  • 402 Payment Required – 发起地址ETH余额不足
  • 404 Not Found – 指定代币或对手方不是有效的eip55以太坊地址
  • 408 Request Timeout – 以太坊节点未及时获取存入事件,超时
  • 409 Conflict –
    • 通道不存在,或者
    • 试图同时修改state和total_deposit参数,或者
    • 试图存入的代币数量少于链上通道余额,或者
    • 试图存入多余测试上线的代币
  • 500 Internal Server Error – Raiden节点内部错误

示例代码

curl关闭通道的请求示例:

curl -i -X PATCH http://localhost:5001/api/v1/channels/0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8/0x61C808D82A3Ac53231750daDc13c777b59310bD9 \
      -H 'Content-Type: application/json' --data-raw '{"state": "closed"}'

curl增加存入金额的请求示例:

curl -i -X PATCH http://localhost:5001/api/v1/channels/0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8/0x61C808D82A3Ac53231750daDc13c777b59310bD9 \
      -H 'Content-Type: application/json' --data-raw '{"total_deposit": 100}'

响应结果示例:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "token_network_identifier": "0xE5637F0103794C7e05469A9964E4563089a5E6f2",
    "channel_identifier": 20,
    "partner_address": "0x61C808D82A3Ac53231750daDc13c777b59310bD9",
    "token_address": "0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8",
    "balance": 25000000,
    "total_deposit": 35000000,
    "state": "closed",
    "settle_timeout": 500,
    "reveal_timeout": 30
}