天天看點

【區塊鍊】DOCKER部署量子鍊私有網絡環境以及部署智能合約實踐DOCKER部署量子鍊私有網絡環境以及部署智能合約實踐

<a href="https://store.docker.com/editions/community/docker-ce-desktop-mac" target="_blank">https://store.docker.com/editions/community/docker-ce-desktop-mac</a>

這裡安裝的是CE的穩定版

<code>docker run</code>後面接下面兩種參數

清單

在目前檔案夾可以看到一個<code>node1_data</code>檔案夾

其他兩個節點

檢視

~/docker_qtum/docker-qtum-config git:(master) [11:49:30]

[email protected] docker run -i –network container:qtumd_node1 -v PWD/node1qtumd.conf:/home/qtum/qtum.conf:ro−v{PWD}/node1_data:/data cryptominder/qtum:latest qtum-cli getinfo

{

“version”: 140301,

“protocolversion”: 70016,

“walletversion”: 130000,

“balance”: 0.00000000,

“stake”: 0.00000000,

“blocks”: 0,

“timeoffset”: 0,

“connections”: 2,

“proxy”: “”,

“difficulty”: {

“proof-of-work”: 4.656542373906925e-10,

“proof-of-stake”: 4.656542373906925e-10

},

“testnet”: false,

“moneysupply”: 0,

“keypoololdest”: 1508125526,

“keypoolsize”: 100,

“paytxfee”: 0.00000000,

“relayfee”: 0.00400000,

“errors”: “”

}

超過5000個塊後,開始POS,每過幾分鐘,就會自動産生新的區塊。

<code>stake</code>為自動産生的部分。

确認是不是有智能合約

我們會得到一個位址<code>qJMvqZibSRfVfbHNbew5rZmxD4cdhCXnR7</code>

開始編譯

下面會用到的指令

這是因為對應的位址有餘額,我們需要保證部署合約的位址有UTXO

經過1個區塊的确認,我們就有UTXO了。

解碼output

這裡對比兩個指令

callcontract 鍊下完成,不會在區塊鍊上産生記錄。不消耗gas

sendtocontract 鍊上完成,需要同步,會消耗gas

再次調用發現并沒有被銷毀,因為在合約中規定了調用者必須和建立者一緻。

再次檢視詳情,發現已經不存在了

到此,智能合約的基本操作完成。

<a href="https://steemit.com/qtum/@cryptominder/qtum-blockchain-development-environment-setup" target="_blank">https://steemit.com/qtum/@cryptominder/qtum-blockchain-development-environment-setup</a>

<a href="https://steemit.com/qtum/@cryptominder/quantum-qtum-blockchain-developer-tutorial-hello-world" target="_blank">https://steemit.com/qtum/@cryptominder/quantum-qtum-blockchain-developer-tutorial-hello-world</a>