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  --phlo-limit  --phlo-price  

这里注意:记得不要把 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.

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

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