IRIS Hub v0.15.1 API 兼容性说明


#1

重要改变

移除了 Key Management

在这个版本中,REST API (LCD) 移除了 Key Management 相关功能,即:

  • 不再具备创建、查询、删除 Keys 的功能
  • 不再具备 Tx 签名功能

/tx/broadcast以外的所有POST方法都只用于生成未签名交易,并且不会对这些交易进行广播。 用户需要离线签名交易,然后使用/tx/broadcast进行广播。

send 交易为例

  1. 调用 POST /bank/accounts/{address}/send , 构造未签名交易

    curl -X POST "http://localhost:1317/bank/accounts/faa1r93p0tpdlxgpac744rghvj9kqntvd54lc3msk2/send" -d "{\"base_tx\":{\"chain_id\":\"irishub\",\"gas\":\"50000\",\"fee\":\"0.3iris\",\"memo\":\"memo\"},\"recipient\":\"faa1r93p0tpdlxgpac744rghvj9kqntvd54lc3msk2\",\"amount\":\"1iris\"}" > unsigned.json
    
  2. 签名(可使用 iriscliirisnet-cryptoiks 实现),以 iriscli 为例:

    iriscli tx sign unsigned.json --name=<key_name> --chain-id=irishub > signed.json
    
  3. 调用 POST /tx/broadcast 对签名后交易进行广播。

增加了多资产支持

GET /bank/accounts/{address}增加了多资产支持, 返回结果"coins"数组中将可能会有多资产。

所以,如果你之前是通过 coins[0] 的方式获取 iris 的余额,建议及时修改。

删除 GET /distribution/community-tax

删除 GET /gov/params/{module}

其他改变

以下改变主要是增加字段或API,不会break原有逻辑。

  • GET /bank/accounts/{address} 添加了 memo_regexp 字段。(正则表达式校验)
  • GET /txs/{hash} 和 /txs 添加了timestamp字段
  • 添加 Asset APIs
  • 添加 Rand APIs
  • 添加 Params APIs
  • 添加 GET /bank/token-stats/{id}
  • 添加 POST /bank/accounts/{address}/set-memo-regexp