Rosetta API 是一套用来对接区块链软件的 API 协议。由美国的 Coinbase 公司开发。现在已经被很多区块链项目所支持。
简单来说,在这套协议出现之前,各个区块链项目都使用着自己的 API 接口,大相径庭的接口实现的却是大同小异的功能,给这些软件的对接者带来了很多不必要的工作。
有了 Rosetta API 协议之后,每个项目都自己实现一套支持改协议的服务端,在客户端就不需要重复写对接代码了。
这套协议主要分为以下几个部分:
Construction (构造)
顾名思义,构造部分就是从无到有创建一些东西。例如,区块链中的“地址”,或者从更广义的角度来说,“对链上资产进行加锁和解锁的机制”。
正如新员工在入职公司之后,需要录入指纹或者人脸等生物信息到公司的门禁系统中,以便上班时能进入公司。在创造地址的时候,我们也需要输入一些只有我们自己才知道的信息,以便之后能够有权管理这个地址里面的资产。
这便是 /construction/derive
接口的作用。
Data (数据)
区块链可以理解为一个全局的公共数据库,所以我们需要一些 API 来获取和检索区块链上的数据。比如说,获取某个地址的余额。它就是 /account/balance
接口。
同时利用这个获取余额的接口,我们还可以实现对地址合法性的校验。
再比如想获取某个区块高度的数据,用的就是 /block
接口。
小结
Rosetta API 的出现为区块链接入工作提供了很大的便利,但由于各个项目对于规定的理解不同,在实际实现上还是会出现各种特殊情况,需要适配。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。