truffle-typechain-example
truffle-typechain-example copied to clipboard
Example how to use Truffle suite with Typescript and Typechain
truffle-typechain-example
Deprecated. We moved examples to TypeChain repo: https://github.com/ethereum-ts/TypeChain/tree/master/examples
Example how to use Truffle suite with Typescript and Typechain
Usage:
Just run yarn generate
to compile smartcontracts and generate initial TS wrappers for contracts. Then yarn test
Everytime you change contracts you need to run yarn generate
.
Setup
- Install
truffle-typings
. —yarn add --dev truffle-typings
- Tweak
truffle.js
:
require("ts-node/register");
module.exports = {
// this is required by truffle to find any ts test files
test_file_extension_regexp: /.*\.ts$/,
};
-
Install typechain —
yarn add --dev typechain
-
Add
generate
script in your package.json:
"scripts": {
"generate": "truffle compile && typechain --target truffle './build/**/*.json'",
"prepare": "yarn generate",
}
-
Everytime you change contracts you need to run
yarn generate
. -
Your migration functions should be typed as:
Truffle.Migration
and you sometimes need to make sure that they are treated as modules bytsc
by adding:export {};
. -
If you run tests with
truffle test
you might need to tweak yourtsconfig.json
, otherwise you get missing import errors likeCannot find name 'artifacts'
. An example config is provided in this project. -
It's done! 🔥 Make sure to use
.ts
extension for everything