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も早く1.0.0出て欲しい
Powered by Notaku