作為開發(fā)者偶垮,你可能希望在本地運行一個獨立節(jié)點以便運行或者調(diào)試 DApp泼返。
如果你還不知道如何安裝 RNode鹉勒,請移步:傳送門
首先你需要清理自己的 Rnode工作目錄(默認(rèn)為 ?/ .rnode
)够挂,然后以獨立的非驗證節(jié)點模式運行 Rnode顷啼。
rm -rf ~/.rnode
rnode run -s --map-size 1099511627776
這會創(chuàng)建一條新鏈(DAG)荐虐,同時誕生出創(chuàng)世區(qū)塊茶敏。默認(rèn)的情況下,這條鏈的盟約列表(bonds list)中會有5個驗證節(jié)點缚俏。你可以在?/ .rnode / genesis /
中找到這些驗證節(jié)點的私鑰和公鑰惊搏。* .sk
文件的名稱是公鑰,私鑰就是文件的內(nèi)容忧换。
現(xiàn)在你可以按 Ctrl + C
退出這個節(jié)點恬惯,然后使用其中一個私鑰在重啟 RNode ,不過這次啟動是驗證節(jié)點模式亚茬。
rnode run -s --map-size 1099511627776 --validator-private-key $(cat ~/.rnode/genesis/*.sk | tail -1)
由于現(xiàn)在啟動節(jié)點的私鑰能與創(chuàng)世塊中盟約列表中的公鑰匹配酪耳,你的節(jié)點就就成為了驗證節(jié)點。你可以在這上面添加新塊,或者部署上去一些智能合約碗暗。
rnode deploy --private-key <deployer_private_key> --phlo-limit <value> --phlo-price <value> <file.rho>
這里注意:記得不要把 deployer_private_key
與用于啟動節(jié)點的 validator-private-key
混淆颈将。這兩個不是同一個密鑰。這個秘鑰用于支付部署合約的費用言疗。(關(guān)于如何編寫 file.rho
智能合約晴圾,請參考Rholang 編程指南)
PS:出于測試目的,你可以設(shè)置--phlo-limit 1000000 --phlo-price 1
噪奄,意味著 phlo(類似 ETH 里的 gas 費用) 上限為 1000000 phlo 死姚,單價為 1 phlo。
部署成功后勤篮,你應(yīng)該能看到帶有 deployID
的返回信息:
DeployId is: 3044022100a65b2c5d890ed53174fcd9f53f150756c9ff4b37e0a4137f025d53ec418c1894021f18c42eccf307b27e6159606e92ca4e96f4b9688b6b95ee05944c8794b0dd76
這個時候智能合約雖然部署完了都毒,但是還沒有被鏈確認(rèn),你需要調(diào)用你的驗證節(jié)點發(fā)表一次聲明(propose)碰缔,來出一個塊账劲。
rnode propose
這個時候你應(yīng)該會收到如下的返回信息:
Response: Success! Block 8b70f0c681... created and added.
至此,你的智能合約就部署完畢了金抡。