Hardhat plugin for integration with TruffleContract from Truffle 4
This plugin brings to Hardhat TruffleContracts from Truffle 4. With it you can call contract()
and artifacts.require()
like you normally would with Truffle. Interact with your contracts with a familiar API from tasks, scripts and tests.
Additionally, you can migrate your contracts to Solidity 5 without needing to migrate your tests to Truffle 5.
This plugin requires hardhat-web3-legacy as a prerequisite.
npm install --save-dev @nomiclabs/hardhat-truffle4 @nomiclabs/hardhat-web3-legacy web3@^0.20.7
And add the following statement to your hardhat.config.js
:
require("@nomiclabs/hardhat-truffle4");
Or, if you are using TypeScript, add this to your hardhat.config.ts
:
import "@nomiclabs/hardhat-truffle4";
This plugin creates no additional tasks.
An instance of TruffleEnvironmentArtifacts
is injected into env.artifacts
and the method contract()
is injected into the global scope for using in tests.
There are no additional steps you need to take for this plugin to work.
Install it, run npx hardhat test
and your Truffle tests should run with no need to make any modifications.