February 17, 2019

Testing dates in Solidity smart contracts – Part I

Dates are a bit weird in Solidity. Solidity does have some keywords for working with dates, like now, or 1 day, but it does not have a native date type. Instead, dates are represented as integers, using timestamps in seconds. In our Truffle tests, we need to be able to…

Read Story
February 16, 2019

More tricks for bn.js (Big Number) library in Truffle tests

In the last video of the smart contract testing series I showed you the basic usage of the Big Number library to deal with integers. But Big Number has many more trick up his sleeves :) In this video, I will show you all these tricks so that you feel…

Read Story
February 14, 2019

Testing integers in smart contract with Truffle and bn.js (Big Number)

In Solidity smart contract, you might have to deal with huge numbers, especially when doing financial transfers. Don't forget that we need to specify Ether transfers in Wei, a fundamental unit equals to 1 * 10 ^ -18 Ether, so very quickly even small financial values can lead to big…

Read Story
February 12, 2019

Isolate smart contract tests with Truffle clean room features

In Truffle tests, we have a mysterious contract() function: contract('my test', () => { if('it should ...', () => { }); }); It's Truffle replacement of Mocha describe() function, but with a twist: it defines a "clean room" and it's used to isolate tests. Very few Truffle users, but this…

Read Story
February 10, 2019

Understanding Truffle variable injection magic in test files

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…

Read Story
February 9, 2019

Basic testing workflow with Truffle – Part 2

In this video, we will go through the whole process of test-driven-development (TDD) for Solidity smart contracts: writing the tests in Truffle running the failing tests with truffle test fixing the test by implementing the missing parts of the Solidity smart contract running the tests again, this time it will…

Read Story
February 7, 2019

Basic testing workflow with Truffle – Part I

In this video, I will show you what is the basic workflow when you test Solidity smart contracts with the Truffle framework. We are going to learn: files / test folder organization how to import smart contract into tests how to implement the arrange / test / assert pattern in…

Read Story
February 5, 2019

Using Truffle-contract to communicate with smart contracts

In this video, I will introduce you Truffle-Contract, a library that is used by Truffle to communicate with smart contracts. When you use test smart contract with Truffle, that's the library that is used by default by Truffle for your interactions with smart contracts (deployment, transaction and call). You can…

Read Story
February 3, 2019

Understanding Truffle contract artifacts and abstractions

Before we are able to understand how tests work in Truffle, we need to first understand what are contract artifacts and contract abstractions in Truffle, and how they are used to manage smart contract deployments. That's what I will explain you in this video.

Read Story
January 30, 2019

Truffle testing framework – Introduction

In this video, I am going to introduce the testing features of the Truffle framework. You will learn: which language are supported for tests the folder organization

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