gRPC接口
RNode向終端用戶(開發(fā)人員)開放了 gRPC 接口,此外灼卢,RNode 也使用gRPC與其他節(jié)點(diǎn)進(jìn)行通信秧了。因此,你也可以將你的DApp視為世界計算機(jī)中的一個應(yīng)用節(jié)點(diǎn)酱固。
gRPC接口描述文件是一些 .proto
文件。關(guān)于如何閱讀和使用它头朱,請熟悉協(xié)議緩沖(protocol buffers)和 gRPC运悲。
最新的接口可以在RNode的代碼中找到:傳送門
如何執(zhí)行代碼(智能合約)?
你只需要將代碼(智能合約)部署到驗(yàn)證節(jié)點(diǎn)项钮,它會完成其他所有的工作班眯。
部署代碼主要使用DeployService.doDeploy
這個API。如果想在沒有g(shù)RPC客戶端的情況下快速完成代碼部署烁巫,你必須使用 rnode-cli 來完成署隘。
部署是什么?
部署(Deploy)是一個將代碼發(fā)送到驗(yàn)證節(jié)點(diǎn)并請求執(zhí)行此代碼的過程亚隙。同時磁餐,部署也可以指代你請求驗(yàn)證節(jié)點(diǎn)執(zhí)行的代碼本身。
你的每個部署都必須經(jīng)過良好的構(gòu)造阿弃,以被驗(yàn)證節(jié)點(diǎn)接受诊霹。它應(yīng)該包括:
要執(zhí)行的代碼
時間戳
phloLimit 字段:燃料上限
phloPrice 字段:燃料價格
將所有字段放在一起,使用 BLAKE2b-256
哈希函數(shù)對結(jié)果數(shù)據(jù)進(jìn)行哈希渣淳,并且必須使用你的私鑰對此散列進(jìn)行簽名脾还。你的私鑰必須使用 Secp256k1
這個橢圓曲線簽名算法生成。
我如何從網(wǎng)絡(luò)獲取信息?
目前入愧,Rnode 公開了名為 ListenForDataAtName
(或LFDAN
)的接口方法鄙漏,作為DApp開發(fā)人員訂閱數(shù)據(jù)的一種方法。
當(dāng) RNode 發(fā)現(xiàn)一些數(shù)據(jù)傳進(jìn) Name 中時棺蛛,RNode會將數(shù)據(jù)發(fā)送給你的DApp怔蚌。具體的執(zhí)行過程如下:
當(dāng)Rnode提出一個塊時,它會執(zhí)行隊列中所有部署的代碼鞠值。
如果某些代碼將數(shù)據(jù)發(fā)送到DApp正在監(jiān)聽的 Name 時 媚创, RNode就會通知 DApp——將這些數(shù)據(jù)發(fā)給 DApp。
請注意彤恶,將來可能還有其他方法可以獲取數(shù)據(jù)钞钙。比如這個很棒的想法:讓Rholang代碼能夠通過http進(jìn)行調(diào)用鳄橘。這是相關(guān)的演示視頻。