Rosetta API 是一套用来对接区块链软件的 API 协议。由美国的 Coinbase 公司开发。现在已经被很多区块链项目所支持。

简单来说,在这套协议出现之前,各个区块链项目都使用着自己的 API 接口,大相径庭的接口实现的却是大同小异的功能,给这些软件的对接者带来了很多不必要的工作。

有了 Rosetta API 协议之后,每个项目都自己实现一套支持改协议的服务端,在客户端就不需要重复写对接代码了。

这套协议主要分为以下几个部分:

Construction (构造)

顾名思义,构造部分就是从无到有创建一些东西。例如,区块链中的“地址”,或者从更广义的角度来说,“对链上资产进行加锁和解锁的机制”。

正如新员工在入职公司之后,需要录入指纹或者人脸等生物信息到公司的门禁系统中,以便上班时能进入公司。在创造地址的时候,我们也需要输入一些只有我们自己才知道的信息,以便之后能够有权管理这个地址里面的资产。

这便是 /construction/derive 接口的作用。

Data (数据)

区块链可以理解为一个全局的公共数据库,所以我们需要一些 API 来获取和检索区块链上的数据。比如说,获取某个地址的余额。它就是 /account/balance 接口。

同时利用这个获取余额的接口,我们还可以实现对地址合法性的校验。

再比如想获取某个区块高度的数据,用的就是 /block 接口。

小结

Rosetta API 的出现为区块链接入工作提供了很大的便利,但由于各个项目对于规定的理解不同,在实际实现上还是会出现各种特殊情况,需要适配。


Ljzn
399 声望102 粉丝

网络安全;函数式编程;数字货币;人工智能