logo

Hardhat3が出るよ

予定は未定
profile photo
TaniguchiAkira

はじめに

近所のイオンから米が消えて久しい今日この頃、皆様お元気でしょうか。
私はというと、日々アップデートされ続けるブロックチェーンアーキテクチャにもまれにもまれ、一体何が正解なのかわからぬまま、歳をとっています。

Hardhatのv3が出る予定だよ

いつかは明言されてませんが、Hardhatのv3が出るらしいです。
今回はそのv3に実装される新機能の解説や、結局Foundryとどっちを使うべきなのかなどの所感を書いていきます。

結論からどうぞ

今の所Foundry。
Hardhatを使う理由はhardhat-upgradesのコントラクトチェック機能ぐらいかなという認識。
それ以外は、例えばtestの実行速度もサポートされるSolidityのコンパイラのバージョンもfuzzテストも全てFoundryに軍配が上がる

詳細

下記はHardhatv3について公表したブログを要約したものである
  • 2024年3月にリリースされたv2.21.0において、Rustで実装されたランタイムを起動することにより、test速度が2倍から10倍になった(当社比)
  • Hardhat3では、OP Stackのシミュレーションもできるようになるらしい
    • Optimism特有の動作をシミュレートしてtestできる。
      • ArbitrumやzkSyncも
    • ロールアップデータフィーのシミュレーションも?
  • Solidityでtestが書けるようになる
    • Foundryとの互換が気になるところ。それ次第で移民を受け入れられるかも。
  • WASMへの移行計画
    • ブラウザを使ったオンラインIDEがHardhatで動作する
      • 開発環境がOSに依存しなくなる

所感

  • web3.jsやGanacheの頃と比べると、ethers+hardhatのtest速度は十分に早くなったと思うが、それでもFoundryに比べると見劣りしてしまっていた。
    • やはりRustは正義ということか
    • Waffleのことも忘れないであげてください
  • zkSync周りのツールの動作が不安定で、zkSync自体に手が出しづらかった。Hardhatでtestケースをかくと、OptimismやEthereum mainnet、Arbitrumなどと同時にzkSyncの動作試験もできるとなると、メリットが大きい。

参考リンク

Rust-powered Hardhat: Present & Future
In March, we released Hardhat v2.21.0, the first version powered by our brand new Ethereum Development Runtime (EDR, for short) implemented in Rust. This was a significant change under the hood, representing the rewriting of Hardhat's largest and most complex component—its Ethereum simulation layer—in a new
Rust-powered Hardhat: Present & Future
Related posts
post image
Solidity
Optimism
Arbitrum
L2
Wormhole
Layer0
オレオレインターフェースからERC7802へ
ユニバーサル規格は大事
post image
foundry
Solidity
test
deploy
Foundry 1.0.0が出るよ
1.0の壁
post image
Solidity
OpenZeppelin
AA
OpenZeppelin 5.2.0が出るよ
Powered by Notaku