Creating a Project
To use most Truffle commands, you need to run them against an existing Truffle project. So the first step is to create a Truffle project.
You can create a bare project template, but for those just getting started, you can use Truffle Boxes, which are example applications and project templates. We'll use the MetaCoin box, which creates a token that can be transferred between accounts:
Create a new directory for your Truffle project:
mkdir MetaCoin cd MetaCoin
Download ("unbox") the MetaCoin box:
truffle unbox metacoin
Note: You can use the
truffle unbox <box-name>
command to download any of the other Truffle Boxes.Note: To create a bare Truffle project with no smart contracts included, use
truffle init
.Note: You can use an optional
--force
to initialize the project in the current directory regardless of its state (e.g. even if it contains other files or directories). This applies to both theinit
andunbox
commands. Be careful, this will potentially overwrite files that exist in the directory.
Once this operation is completed, you'll now have a project structure with the following items:
contracts/
: Directory for Solidity contractsmigrations/
: Directory for scriptable deployment filestest/
: Directory for test files for testing your application and contractstruffle.js
: Truffle configuration file