Rosetta API 是一套用來對接區塊鏈軟體的 API 協議。由美國的 Coinbase 公司開發。現在已經被很多區塊鏈專案所支援。
簡單來說,在這套協議出現之前,各個區塊鏈專案都使用著自己的 API 介面,大相徑庭的介面實現的卻是大同小異的功能,給這些軟體的對接者帶來了很多不必要的工作。
有了 Rosetta API 協議之後,每個專案都自己實現一套支援改協議的服務端,在客戶端就不需要重複寫對接程式碼了。
這套協議主要分為以下幾個部分:
Construction (構造)
顧名思義,構造部分就是從無到有建立一些東西。例如,區塊鏈中的“地址”,或者從更廣義的角度來說,“對鏈上資產進行加鎖和解鎖的機制”。
正如新員工在入職公司之後,需要錄入指紋或者人臉等生物資訊到公司的門禁系統中,以便上班時能進入公司。在創造地址的時候,我們也需要輸入一些只有我們自己才知道的資訊,以便之後能夠有權管理這個地址裡面的資產。
這便是 /construction/derive
介面的作用。
Data (資料)
區塊鏈可以理解為一個全域性的公共資料庫,所以我們需要一些 API 來獲取和檢索區塊鏈上的資料。比如說,獲取某個地址的餘額。它就是 /account/balance
介面。
同時利用這個獲取餘額的介面,我們還可以實現對地址合法性的校驗。
再比如想獲取某個區塊高度的資料,用的就是 /block
介面。
小結
Rosetta API 的出現為區塊連結入工作提供了很大的便利,但由於各個專案對於規定的理解不同,在實際實現上還是會出現各種特殊情況,需要適配。