91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何搭建Quorum節點

發布時間:2021-12-24 17:12:47 來源:億速云 閱讀:182 作者:iii 欄目:互聯網科技

本篇內容介紹了“如何搭建Quorum節點”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Quorum是一個許可制的以太坊聯盟區塊鏈實現,包含了金融巨頭JP摩根開發的一個GETH分支版本,可以在節點之間實現私有和快速的交易。Quorum為保證隱私對節點之間的私有交易進行了專門的設計,它使用Raft和Istanbul算法實現共識,使用Tessara和Constellation實現節點數據的加密和共享。在Quorum網絡中交易不需要付費,交易的驗證是由投票共識算法完成的。總體上來講Quorum類似于以太坊,只是它更關注的企業環境下的交易隱私性與可控性,因此每個節點都需要Quorum 網管生成的密鑰對。

學習Quorum區塊鏈的最好的辦法,就是運行官方提供的7節點示例。雖然有多種方法來搭建7個節點,我還是建議使用docker,因為這應該是最簡單的辦法。下面我使用Google云的Ubuntu 8.04。如果你在本地機器或AWS上有ubuntu,也是一樣的。請先確認docker和docker-compose已經安裝就緒。

1、搭建節點

運行下面的命令來搭建全部7個節點:

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控制臺:

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.jssimplestorage.sol 文件。在geth控制臺運行:

> loadScript('/examples/private-contract.js')

命令執行需要稍等一會兒。一旦部署成功,上面的命令將返回合約地址,記得拷貝下來或者抄到紙上。上述腳本在節點1上部署了一個簡單的狀態值為42的存儲合約,交易是節點1和節點7之間私有的,這意味著其他節點將看不到這個狀態值。

要驗證這一點,我們可以開啟節點2的geth終端,使用ABI和合約地址創建合約實例:

> 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和合約地址創建合約實例,然后嘗試讀取狀態值:

>contract.get()
42

和預期一樣。

3、發送私有交易

現在我們嘗試在節點7和其他任選節點之間創建一個新的私有交易,調用合約的set()方法來修改狀態值。這需要使用節點的公鑰,可以在quorum-examples/examples/7nodes/keys/目錄下找到全部7個節點的對應公鑰。

contract.set(4,{from:eth.coinbase,privateFor:["<your preferred node public key>"]});

上面的腳本將設置合約狀態值為4,并且僅對指定的節點保持可見。你可以打開這些指定節點 的geth終端查看合約狀態值,你看到的應該是4。

“如何搭建Quorum節點”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

达州市| 唐河县| 望城县| 长寿区| 伊金霍洛旗| 韶关市| 静宁县| 犍为县| 莲花县| 昭觉县| 平乐县| 阿拉尔市| 安岳县| 抚远县| 英吉沙县| 安徽省| 津南区| 得荣县| 霍邱县| 建宁县| 安化县| 鄂伦春自治旗| 石阡县| 澎湖县| 固镇县| 象山县| 灵台县| 麻阳| 富阳市| 元氏县| 遂宁市| 伊金霍洛旗| 嘉定区| 临洮县| 榕江县| 莱芜市| 松滋市| 天峻县| 确山县| 天镇县| 兰州市|