丰富的线上&线下活动,深入探索云世界
做任务,得社区积分和周边
最真实的开发者用云体验
让每位学生受益于普惠算力
让创作激发创新
资深技术专家手把手带教
遇见技术追梦人
技术交流,直击现场
海量开发者使用工具、手册,免费下载
极速、全面、稳定、安全的开源镜像
开发手册、白皮书、案例集等实战精华
为开发者定制的Chrome浏览器插件
Besu是Hyperledger中的企业以太坊产品,其最大优势在于兼容以太坊主网。本教程介绍如何使用HyperledgerBesu快速启动一个企业以太坊网络并利用JSONRPC进行数据查询和交易提交,以及如何使用Truffle开发企业以太坊DApp并使用内置的工具进行数据调试和运维监控。
首先克隆Besu的quickstart仓库的源代码:
./run.sh上面的命令会构建docker镜像并启动4个容器来模拟一个包含6个besu节点的企业以太坊网络。当脚本执行完成后,你可以看到如下输出信息:
在你的浏览器中打开前面提到的webblockexplorerendpoint列出的地址,就可以查看企业以太坊网络中的区块数据了。
可以在区块浏览器中看到有6个besu节点:4个普通节点、1个出块节点和一个引导节点。
点击BestBlock右侧的区块号就可以显示该区块的详细数据:
点击左上角的放大镜,就可以搜索区块、交易哈希、或以太坊地址:
可以使用Prometheus和Grafana这些运维监视工具来可视化节点的健康状态和运行情况。参考前面给出的访问端结点,可以在你的浏览器中直接访问这些工具。例如使用Grafana:
账号1:同时也是币基地址
Address:0xfe3b557e8fb62b89f4916b721be55ceb828dbd73Privatekey:0x8f2a55949038a9610f50fb23b5883af3b4ecb3c3bb792cbcefbd1542c692be63Initialbalance:0xad78ebc5ac6200000(200000000000000000000indecimal)账号2:
Address:0x627306090abaB3A6e1400e9345bC60c78a8BEf57Privatekey:0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3Initialbalance:0x90000000000000000000000(2785365088392105618523029504indecimal)账号3:
要运行Truffle的PetShop演示,首先我们需要安装truffle及pet-shop模板,然后还需要针对Besu的企业以太坊网络进行一些简单的调整。
首先安装truffle:
npminstall-gtruffle然后创建pet-shop-tutorial目录并进入该目录:
mkdirpet-shop-tutorialcdpet-shop-tutorial然后解压Truffle的pet-shopbox:
truffleunboxpet-shop安装truffle-wallet:
npminstall--save@truffle/hdwallet-provider接下来修改pet-shop-tutorial目录中的truffle-config.js文件,以便添加我们的钱包提供器。请参考以下内容进行修改:
将privateKey替换为前面的账户1,即币基地址,其中有以太币。
由于我们使用企业以太坊网络而不是Ganache仿真器,因此在执行合约部署时,需要指定网络:
trufflemigrate--networkquickstartWallet输出结果类似如下:
singnetwork'quickstartWallet'.Runningmigration:1_initial_migration.jsDeployingMigrations......0xfc1dbc1eaa14fa283c2c4415364579da0d195b3f2f2fefd7e0edb600a6235bdbMigrations:0x9a3dbca554e9f6b9257aaa24010da8377c57c17eSavingsuccessfulmigrationtonetwork......0x77cc6e9966b886fb74268f118b3ff44cf973d32b616ed4f050b3eabf0a31a30eSavingartifacts...Runningmigration:2_deploy_contracts.jsDeployingAdoption......0x5035fe3ea7dab1d81482acc1259450b8bf8fefecfbe1749212aca86dc765660aAdoption:0x2e1f232a9439c3d459fceca0beef13acc8259dd8Savingsuccessfulmigrationtonetwork......0xa7b5a36e0ebc9c25445ce29ff1339a19082d0dda516e5b72c06ee6b99a901ec0Savingartifacts...你可以在区块浏览器中查看上述输出中的合约地址。
同样,在执行测试时也要指定使用我们的企业以太坊网络:
truffletest--networkquickstartWallet输出结果如下:
Usingnetwork'quickstartWallet'.Compiling./contracts/Adoption.sol...Compiling./test/TestAdoption.sol...Compilingtruffle/Assert.sol...Compilingtruffle/DeployedAddresses.sol...TestAdoptiontestUserCanAdoptPet(2071ms)testGetAdopterAddressByPetId(6070ms)testGetAdopterAddressByPetIdInArray(6077ms)3passing(37s)7、企业以太坊网络的停止/重启/清理使用如下脚本停止Besu构成的企业以太坊网络,但不删除dockers容器: