Hardhat и Foundry/Forge имеют свои плюсы и минусы, так почему бы не использовать их оба в одном проекте, чтобы получить лучшее из обоих миров!
Быстрое решение
Разветвите это репо:
https://github.com/hking2/hardhat-foundry-template
Сделай сам
Во-первых, начните с создания стандартного проекта Hardhat.
mkdir someName cd someName npm init npm install --save-dev hardhat npx hardhat
Затем откройте папку проекта в редакторе кода и подождите, пока мы подготовим Foundry. В отдельной папке проекта создайте проект Foundry/Forge, части которого мы будем воровать, чтобы добавить в наш проект Hardhat.
mkdir someOtherName cd someOtherName forge init
Скопируйте папку lib/forge-std
из проекта Foundry и вставьте ее в корень вашего проекта Hardhat.
В корневую папку вашего проекта Hardhat добавьте файл foundry.toml
с этим кодом:
[profile.default] src = 'contracts' out = 'out' libs = ['node_modules', 'lib'] test = 'test/foundry' script = 'scripts/foundry' cache_path = 'forge-cache'
Затем добавьте файл remappings.txt
в корень с этим кодом:
ds-test/=lib/forge-std/lib/ds-test/src/ forge-std/=lib/forge-std/src/
Наконец, разделите папки scripts
и test
на подпапки foundry
и hardhat
.
Вот и все! Но все же сложнее, чем разветвить вышеуказанное репо.