RChain Dapp 开发手册(二):运行独立验证节点并部署智能合约

作为开发者,你可能希望在本地运行一个独立节点以便运行或者调试 DApp。
如果你还不知道如何安装 RNode,请移步:传送门


首先你需要清理自己的 Rnode工作目录(默认为 〜/ .rnode ),然后以独立的非验证节点模式运行 Rnode。

rm -rf ~/.rnode
rnode run -s --map-size 1099511627776

这会创建一条新链(DAG),同时诞生出创世区块。默认的情况下,这条链的盟约列表(bonds list)中会有5个验证节点。你可以在〜/ .rnode / genesis /中找到这些验证节点的私钥和公钥。* .sk 文件的名称是公钥,私钥就是文件的内容。

现在你可以按 Ctrl + C 退出这个节点,然后使用其中一个私钥在重启 RNode ,不过这次启动是验证节点模式。

rnode run -s --map-size 1099511627776 --validator-private-key $(cat ~/.rnode/genesis/*.sk | tail -1)

由于现在启动节点的私钥能与创世块中盟约列表中的公钥匹配,你的节点就就成为了验证节点。你可以在这上面添加新块,或者部署上去一些智能合约。

rnode deploy --private-key <deployer_private_key> --phlo-limit <value> --phlo-price <value> <file.rho>

这里注意:记得不要把 deployer_private_key 与用于启动节点的 validator-private-key 混淆。这两个不是同一个密钥。这个秘钥用于支付部署合约的费用。(关于如何编写 file.rho 智能合约,请参考Rholang 编程指南

PS:出于测试目的,你可以设置--phlo-limit 1000000 --phlo-price 1,意味着 phlo(类似 ETH 里的 gas 费用) 上限为 1000000 phlo ,单价为 1 phlo。

部署成功后,你应该能看到带有 deployID 的返回信息:

DeployId is: 3044022100a65b2c5d890ed53174fcd9f53f150756c9ff4b37e0a4137f025d53ec418c1894021f18c42eccf307b27e6159606e92ca4e96f4b9688b6b95ee05944c8794b0dd76

这个时候智能合约虽然部署完了,但是还没有被链确认,你需要调用你的验证节点发表一次声明(propose),来出一个块。

rnode propose 

这个时候你应该会收到如下的返回信息:

Response: Success! Block 8b70f0c681... created and added.

至此,你的智能合约就部署完毕了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容