在本文中,我將向您展示如何在2分鐘內將Hyperledger Besu與truffle和您的solidity知識結合使用。當開發人員需要為諸如供應鏈系統之類的封閉網路建立區塊鏈時,Besu是完美的解決方案。
安裝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帳戶。