Quorum企业以太坊环境搭建教程
Quorum企業以太坊環境搭建教程
Quorum是一個許可制的以太坊聯盟區塊鏈實現,包含了金融巨頭JP摩根開發的一個GETH分支版本, 可以在節點之間實現私有和快速的交易。Quorum為保證隱私對節點之間的私有交易進行了專門的設計, 它使用Raft和Istanbul算法實現共識,使用Tessara和Constellation實現節點數據的加密和共享。 在Quorum網絡中交易不需要付費,交易的驗證是由投票共識算法完成的。總體上來講Quorum 類似于以太坊,只是它更關注的企業環境下的交易隱私性與可控性,因此每個節點都需要Quorum 網管生成的密鑰對。
學習Quorum區塊鏈的最好的辦法,就是運行官方提供的7節點示例。雖然有多種方法來搭建7個 節點,我還是建議使用docker,因為這應該是最簡單的辦法。下面我使用Google云的Ubuntu 18.04。 如果你在本地機器或AWS上有ubuntu,也是一樣的。請先確認docker和docker-compose已經 安裝就緒。
在下面的演示中,我們要搭建7個Quorum節點,然后考察節點之間的私有交易是如何運作的。
1、搭建節點
運行下面的命令來搭建全部7個節點:
| 1 2 3 | git clone https://github.com/jpmorganchase/quorum-examples.git cd quorum-examples QUORUM_CONSENSUS=raft docker-compose up -d |
默認情況下,使用Tessera交易管理器和Istanbul BTF共識來搭建Quorum網絡。因此為了 修改為Raft共識算法,我們設置環境變量QUORUM_CONSENSUS=raft,然后啟動7個節點 的后臺運行。
你可以運行docker ps來查看每個容器的運行狀態以及其ID。需要稍等一會兒以便 容器啟動就緒。
2、部署智能合約
如果要快速掌握以太坊區塊鏈開發,推薦匯智網的在線互動課程:
java以太坊開發詳解?|?python以太坊開發詳解?|?php以太坊開發詳解?|?C#以太坊開發詳解
以太坊智能合約與DApp開發入門?|?以太坊電商DApp實戰?|?ERC721以太坊通證實戰
要在節點上部署智能合約,我們需要運行下面的命令進入該節點的geth控制臺:
| 1 | docker exec -it quorum-examples_node1_1 geth attach /qdata/dd/geth.ipc |
命令中的quorum-examples_node1_1是節點1的容器ID。上面的命令進入節點1的geth控制臺, 現在我們可以在控制臺中進行操作。
下面我們要運行部署合約的javascript腳本。如果你查看示例代碼目錄,可以看到在 quorum-examples/examples/7nodes目錄下有private-contract.js和simplestorage.sol?文件。 在geth控制臺運行:
| 1 | > loadScript('/examples/private-contract.js') |
命令執行需要稍等一會兒。一旦部署成功,上面的命令將返回合約地址,記得拷貝下來 或者抄到紙上。上述腳本在節點1上部署了一個簡單的狀態值為42的存儲合約,交易是節點1 和節點7之間私有的,這意味著其他節點將看不到這個狀態值。
要驗證這一點,我們可以開啟節點2的geth終端,使用ABI和合約地址創建合約實例:
| 1 2 3 4 5 6 | > var abi=<Paste ABI here>; > var address="<paste Contract Address here>"; > var contract=eth.contract(abi).at(address);>contract.get() //calling get() method 0 |
果然。
現在進入節點7的geth終端,同樣使用ABI和合約地址創建合約實例,然后嘗試讀取狀態值:
| 1 2 | >contract.get() 42 |
和預期一樣。
3、發送私有交易
現在我們嘗試在節點7和其他任選節點之間創建一個新的私有交易,調用合約的set()?方法來修改狀態值。這需要使用節點的公鑰,可以在quorum-examples/examples/7nodes/keys/?目錄下找到全部7個節點的對應公鑰。
| 1 | contract.set(4,{from:eth.coinbase,privateFor:["<your preferred node public key>"]}); |
上面的腳本將設置合約狀態值為4,并且僅對指定的節點保持可見。你可以打開這些指定節點 的geth終端查看合約狀態值,你看到的應該是4。
原文:A Beginner guide to Quorum Blockchain
匯智網翻譯整理,轉載請標明出處
總結
以上是生活随笔為你收集整理的Quorum企业以太坊环境搭建教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能合约编码
- 下一篇: 数字线索: F-35单价已低于四代机,其