十年网站开发经验+多家企业客户+靠谱的建站团队
量身定制+运营维护+专业推广+无忧售后,网站问题一站解决
本篇内容介绍了“如何使用Truffle开发企业以太坊DApp”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Besu是Hyperledger中的企业以太坊产品,其最大优势在于兼容以太坊主网。
以太坊教程推荐:Dapp入门|电商Dapp实战|Token实战|Php对接|Java对接|Python对接|C#对接|Dart对接
首先克隆Besu的quickstart仓库的源代码:
./run.sh上面的命令会构建docker镜像并启动4个容器来模拟一个包含6个besu节点的企业以太坊网络。当脚本执行完成后,你可以看到如下输出信息:
JSON-RPCWebSocket服务用于DApp通过websocket访问节点
GraphQLHTTP服务用于DApp或Metamask钱包的访问节点的GraphQL服务
Web区块浏览服务用于浏览区块,在你的浏览器中输入该地址即可
Prometheus服务用于为Prometheus仪表盘提供指标数据
Grafana服务用于为Grafana仪表盘提供数据
要再次显示访问端结点,可以使用如下命令:
./list.sh2、使用企业以太坊区块浏览器在本教程中我们使用Alethio轻量级以太坊浏览器,你也可以使用EthScan。
在你的浏览器中打开前面提到的webblockexplorerendpoint列出的地址,就可以查看企业以太坊网络中的区块数据了。
可以在区块浏览器中看到有6个besu节点:4个普通节点、1个出块节点和一个引导节点。
点击BestBlock右侧的区块号就可以显示该区块的详细数据:
点击左上角的放大镜,就可以搜索区块、交易哈希、或以太坊地址:
可以使用Prometheus和Grafana这些运维监视工具来可视化节点的健康状态和运行情况。参考前面给出的访问端结点,可以在你的浏览器中直接访问这些工具。例如使用Grafana:
Besu支持标准的以太坊JSON-RPCAPI接口。例如使用curl调用web3_clientVersion命令来查看节点的版本:
{"jsonrpc":"2.0","id":1,"result":"besu/"}或者使用net_peerCount命令查看节点已连接的Peer数量:
{"jsonrpc":"2.0","id":1,"result":"0x6"}或者使用eth_blockNumber查看最新的区块号:
账号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仿真器,因此在执行合约部署时,需要指定网络: