fbpx

Understanding Truffle variable injection magic in test files

Julien Klepatch

In Truffle, when you write tests, you can use ‘artifacts’ and ‘web3’ objects, without defining these names:

const MyContract = artifacts.require('MyContract'); //artifacts was never defined before !
const web3 = new Web3('http://localhost:8545'); //same thing for Web3!

How is it possible? this is not valid Javascript! Well, this is what Truffle calls “variable injection”, and to understand how this work, watch this video to have the answer and have a peek at Truffle internals:

0 Comments

Leave a Reply

More great articles

Lottery in Solidity

This video is a tutorial to build a lottery smart contract in Solidity. The rules are simples. In each round…

Read Story

Debugging calls vs transactions

When I started to debug Solidity smart contracts, I was really confused by the fact that although there was a…

Read Story

Debugging “VM Exception: invalid opcode / revert”

When I started learning Solidity, there was nothing more frustrating than running accross "VM Exception: invalid opcode" or "VM Exception:…

Read Story

Never miss a minute

Get great content to your inbox every week. No spam.
[contact-form-7 id="6" title="Footer CTA Subscribe Form"]
Arrow-up