Truffle is a powerful development framework for Ethereum. It provides a complete toolset for building, testing, and deploying smart contracts. This tutorial will guide you through the basics of Truffle development.

Install Node.js and npm

Before you start, make sure you have Node.js and npm installed. You can download and install them from here.

Install Truffle

To install Truffle, open your terminal and run the following command:

npm install -g truffle

Create a New Project

To create a new Truffle project, run the following command:

truffle init

This will create a new directory with all the necessary files for a Truffle project.

Writing Smart Contracts

Truffle uses Solidity for writing smart contracts. Solidity is a contract-oriented, high-level language for implementing smart contracts. To write a new smart contract, create a new file in the contracts directory.

// contracts/MyContract.sol

pragma solidity ^0.5.0;

contract MyContract {
    uint public myNumber;

    function setNumber(uint _number) public {
        myNumber = _number;
    }
}

Running Migrations

Truffle provides a powerful migration system for deploying contracts to the Ethereum network. To run migrations, use the following command:

truffle migrate

This will compile your contracts and deploy them to the Ethereum network.

Testing Contracts

Truffle comes with a built-in testing framework. To write tests for your contracts, create a new file in the test directory.

// test/MyContractTest.js

const MyContract = artifacts.require("MyContract");

contract("MyContract", accounts => {
    it("should set the number", async () => {
        const instance = await MyContract.deployed();
        await instance.setNumber(10);
        const result = await instance.myNumber();
        assert.equal(result.toNumber(), 10, "The number should be set to 10");
    });
});

Running Tests

To run your tests, use the following command:

truffle test

This will compile your contracts and run your tests.

Conclusion

This tutorial has given you a basic understanding of Truffle development. You can now start building your own smart contracts and deploying them to the Ethereum network.

For more information, check out our advanced Truffle tutorials.