@animoca/ethereum-migrations
v3.0.5
Published
Base dependency and core migrations for solidity smart-contracts migrations projects
Downloads
298
Readme
Animoca Ethereum Migrations
Ethereum migrations library which uses hardhat-deploy consisting of core migrations, Hardhat plugins and configurations, migration templates and helpers.
Overview
Core migrations
This repository contains the migration scripts which deploy the contracts available in @animoca/ethereum-contracts as well as some other base contracts.
the deployment artifacts for the contracts already deployed on live networks are available in the deployments
folder.
HardHat plugins and configurations
A set of plugins and configurations are provided to improve the development experience. They can be used in your own project in your hardhat.config.js
:
const merge = require('lodash.merge');
// load all the plugins (you can also load them one by one)
require('@animoca/ethereum-migrations/hardhat-plugins');
// deep merges your config on top of the default provided config
module.exports = merge(
require('@animoca/ethereum-migrations/hardhat-config'),
{
// my config
}
);
Migration templates and helpers
For common migrations scenarios, some templates are available in src/templates
. One template function contains the whole logic for a given migration. For example, in its most basic form, a contract deployment can be written as follow:
const {deployment} = require('@animoca/ethereum-migrations/src/templates/contracts');
module.exports = deployment('MyContract', 'MyContract', []);
Some migration helper functions, such a useful skip functions are available in src/helpers
.
Installation
To install the module in your project, add it as an npm dependency:
yarn add -D @animoca/ethereum-migrations hardhat hardhat-deploy
or
npm add --save-dev @animoca/ethereum-migrations hardhat hardhat-deploy
Development
Install the dependencies:
yarn
Run the migrations on the hardhat EVM:
yarn deploy
Run the full pipeline:
yarn run-all
See package.json
for additional commands.