发现Hyperledger Besu和权限证明(POA)的秘密

2020-09-13 18:16:52 125
在本文中,我将向您展示如何在2分钟内将Hyperledger Besu与truffle和您的solidity知识结合使用。当开发人员需要为诸如供应链系统之类的封闭网络创建区块链......

在本文中,我将向您展示如何在2分钟内将Hyperledger Besu与truffle和您的solidity知识结合使用。当开发人员需要为诸如供应链系统之类的封闭网络创建区块链时,Besu是完美的解决方案。

发现Hyperledger Besu和权限证明(POA)的秘密

安装Truffle Box

您唯一需要的先决条件是docker composer。首先将正常的安装Truffle Box。

打开我的truffle box

truffle unbox yehia67/HelloWorldBox

您需要添加此npm包

npm install --save @truffle/hdwallet-provider

初始化Besu网络

复制Besu网络

git clone https://github.com/PegaSysEng/besu-sample-networks.git
cd besu-sample-networks

Besu具有不同类型的共识算法实现,例如Ethash,IBFT2和clique。要运行默认算法,您只需运行

./run.sh

如果要使用其他算法,请添加-c <name of your algorithm>

例如:

./run.sh -c ibft2

将Besu网络添加到您的box

您将必须执行三个简单步骤:

1. 导入HDWalletProvider。
2. 导入私钥。
3. 初始化私钥提供者对象。

const HDWalletProvider = require('@truffle/hdwallet-provider')
const privateKey = "0x8f2a55949038a9610f50fb23b5883af3b4ecb3c3bb792cbcefbd1542c692be63";
const privateKeyProvider = new HDWalletProvider(privateKey, "http://localhost:8545")

(我从BESU文档中获得了私钥,因此您可以在非实际生产环境中复制它)

将Besu钱包添加到您的网络

1module.exports = {   
2networks: {     
3  besuWallet: {      
4     provider: privateKeyProvider,       
5     network_id: "*"     
6  },   
7 } 
8};

就是这样!只需运行迁移命令。

truffle migrate --network besuWallet

现在测试您的Dapp。

npm run dev

注意:不要忘记将私钥导入到您的Metamask帐户。