Back

blockchain - solidity - hardhat vs foundry foundry 完胜! 选择foundry的理由

发布时间: 2024-04-01 07:32:00

refer to:
https://ethereum.stackexchange.com/questions/143171/hardhat-vs-foundry-which-to-use-for-testing

https://jamesbachini.com/hardhat-vs-foundry/ 这个文章很精彩 

先说下我这些天使用foundry的感受:

1. 速度超级快,运行一个unit test大概不到一秒钟,瞬间搞定,非常爽。

2. 不需要配置乱七八糟的node module, solc-js,  好像 foundry 会自动对不同版本的 .sol文件进行编译

3. 单元测试超级友好。用起来立刻上手,完美让程序员从其他TDD框架过渡。 (setup , testxxx, assertEq) . 

而且自带console, console2. 用起来不要太爽。 

而且自带 -vvvv , --debug, 可以直接看到各种变量。

4. 使用solidity语言。这个太棒了。之前用hardhat, 部署麻烦,单元测试麻烦,调用麻烦。因为你可以用ether.js  也可以用web3.js 两个js库的调用方式完全不同。记不住。而且速度奇慢。

solidity语言则可以统一步调,完美夸合约调用方法。直接 ContractName(some_address).some_method() 即可。

5. 部署合约方便。forge deploy 就可以部署。  (吐槽hardhat: 还搞乱七八糟的可升级合约,吐槽truffle: 还搞migration... )

调用合约方便,写个脚本就可以调用。 (forge test)

6. 周边工具很多很好,例如anvil, forge test

综上,每一点都解决了痛点。

下面是其他人的感受:https://www.reddit.com/r/ethdev/comments/13yd95m/foundry_or_hardhat/

基本上都是一面倒的使用foundry, 原因是:

1。 速度更快

2。 使用solidity 编写单元测试,而不是js  , 这一点强太多了。

github:  hardhat 6k    foundry : 7k

3. 全栈开发的用hardhat, solidity专业人士用foundry ( code audit )

4. hardhat 貌似无法部署到 foundry上?anvil? 

弃坑了。

Back