Join the Hardhat team! We are hiring


Hardhat plugin for integration with TruffleContract from Truffle 4

# What

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.

# Required plugins

This plugin requires hardhat-web3-legacy as a prerequisite.

# Installation

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:


Or, if you are using TypeScript, add this to your hardhat.config.ts:

import "@nomiclabs/hardhat-truffle4";

# Tasks

This plugin creates no additional tasks.

# Environment extensions

An instance of TruffleEnvironmentArtifacts is injected into env.artifacts and the method contract() is injected into the global scope for using in tests.

# Usage

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.