http://www.7klian.com

更好Solidity合约调试东西: console.log

npx buidler test
利用 console.sol
Ganache的默认 RPC 端口凡是是 7545, Builder EVM 默认 RPC 端口是8545,因此我们修改development网络的端口为8545。
  networks: {

    development: {

Builder EVM 是一个用于当地开拓的网络,提供了更好的仓库跟踪成果和console.log() 输出日志。

团结仓库跟踪成果,符号着智能合约开拓出产力的新篇章。
利用它很简朴。只需导入@nomiclabs/buidler/console.sol ,然后在函数中插手console.sol,就像在JavaScript中一样利用它即可,譬喻:

[5]Patricio Palladino: https://medium.com/@alcuadrado?source=post_page—–fc66c54f2c4a———————-

假如是第一次启动,会提示我们建设一个项目,可以选择”Create an empty buidler.config.js”,即建设一个空的buidler.config.js 。
Buidler EVM的最新版本还增加了对Solidity 0.6支持以及新的JSON-RPC要领evm_snapshot和evm_revert ,从而答允项目利用快照迁移到Buidler并继承其测试优化。
之前就可以和之前开拓 Truffle 项目完全一致了,开启另一个呼吁终端,利用truffle migrate呼吁举办陈设,假如我们在结构函数中插手了console.log(),,那么在Builder EVM终端里,就可以参看到日志了。
[1]登链翻译打算: https://github.com/lbc-team/Pioneer

// 或

Build EVM 及 console.log

接着就是陈设和测试,在 truffle 项目,一般利用的是 Ganache 网络,此刻我们利用Builder EVM替代Ganache,修改truffle-config.js 设置:
译者注: 用 npx buidler node启动 Builder EVM后,其他就和利用 Ganache 完全一样。

启动Builder EVM后,就可以举办陈设了,利用呼吁npx buidler node启动Builder EVM ,Builder EVM 会为我们分派 20 个账号、每个账号有 10000 个以太币。

然后利用Builder EVM作为开拓网络利用Builder运行测试。

       host: “127.0.0.1”,     
[3]我们推出了Buidler EVM: https://medium.com/nomic-labs-blog/better-solidity-debugging-stack-traces-are-finally-here-dd80a56f92bb
[2]Tiny熊: https://learnblockchain.cn/people/15
在Truffle项目中利用console.log
在现有的 truffle 项目中也可以很是容易的利用console.log,先在项目下安装 buidler :
npx buidler # and create a sample project
cd console/
       port: 8545,   
当前从Solidity记录数据的主要要领是触发事件(emitting events),可是这种要领有很大限制:它仅合用于乐成的生意业务。这是因为EVM不会在生意业务失败时触发事件。而往往是生意业务失败时,开拓人员需要相识产生了什么环境,因此这对开拓来说是很悲凉的。
Buidler EVM拥有强大的执行查抄架构,使我们可以或许实现靠得住console.log ,它将始终可用,纵然在生意业务失败的时候,它还可以与您选择的测试东西一起利用 。

mkdir console/
       network_id: “*”

以后 Debug 有了双眼
[4]Tenderly: https://tenderly.dev/
然后在合约文件中引入 import “@nomiclabs/buidler/console.sol”;,然后在需要的处所插手console.log()打印即可
    }

npm init -y
npm install –save-dev @nomiclabs/buidler
  }
参考资料
利用Builder,你很快会健忘Solidity
调试给你的挫败感

在以太坊上成立智能合约看起来越来越像人类可以做的工作,这一切正在产生。
带着 Builder EVM的console.log去兜兜风!
yarn add @nomiclabs/buidler
Buidler EVM是为开拓而设计的当地以太坊网络。它答允您陈设合约,运行测试和
调试代码, 而且Buidler EVM是被设计为可启用高级东西的平台。

可以利用任何东西(不只是Buidler)编译合约,因此需要,可以安心的保存着log的挪用。诸如Tenderly[4]之类的东西将集成日志的抓取成果,因此,您甚至可以按照需要将日志记录代码陈设到测试网和主网。在其他网络中运行时,挪用console.log不会执行任何操纵,但会发生gas用度。
在 19 年 10 月, 我们推出了Buidler EVM[3]:一种ganache-cli替代方案,其实现了Solidity的仓库跟踪成果。这是迈向更好的开拓人员体验的重要一步,此刻我们宣布了另一个备受等候的Buidler EVM成果:用于Solidity的 console.log()。
npm install –save-dev @nomiclabs/buidler

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读