>> In this video,
I'm excited to explain the Truffle Suite.
The Truffle Suite provides tools to
make your life as a blockchain developer easier.
The Truffle Suite includes Truffle Teams,
Truffle, Ganache, and Drizzle.
Maybe you can sense the theme
that we're going for here with this naming convention.
In this video, what I will do is describe
the latter three suite members and how to get started using them.
Let's head over to trufflessuite.com to get started.
First, I'm going to go and click on
"Suite" and head over to Truffle.
Truffle is the most popular development framework for Ethereum.
You can see here, it's going to make your life a lot easier.
I'll demonstrate this in just a moment.
But all you need to get started is the Node Package Manager,
which typically comes installed with Node.js.
Next, I'll head over to Ganache.
Ganache is part of the Truffle Suite and introduces
a very realistic public ledger experience
without having to incur real gas cost.
It also has tools for exploring
the transactions, communication, and more.
With Ganache, you can quickly fire
up a personal Ethereum blockchain,
and it represents a blockchain of one.
It helps really to mimic the reality
of your public blockchain before actually going live.
The Ganache client you want can be downloaded from here,
and all you have to do is select the "Download" button.
This of course shows for MacOS,
which is the operating system I'm using.
But this will show whatever operating system that you're using or
you can go to "Need another
OS download" to find the version for you.
Then there's Drizzle.
Drizzle is a collection of front-end libraries that make writing
DApps or decentralized apps easier and more predictable.
This provides a nice way to
help build and streamline front-end applications.
Drizzle can easily be installed with
the Node Package Manager as well.
Next, what I want to do is to actually do a quick demo,
and what I'm going to do is focus
my attention particularly on Truffle.
I want to install Truffle,
and then I also just want to show what you can
do and explore with Truffle.
I'm going to go ahead and copy this NPM statement since
I'm going to need that to install Truffle in my terminal.
Next, what I'd like to do is to focus
my attention on the terminal itself.
I'm in a projects directory and what I'm going
to do here is create a new project.
To do that, I can
type mkdir and I'm going to call this truffletest.
Let's go ahead and see the truffletest following that.
Then once I add truffletest,
what I can do here is copy that install
statement that I copied from trufflesuite.com.
This will install truffle for me.
I copy that, paste,
and then sit back and wait for this installation to be finished.
This will typically take a few moments.
Then once it's installed successfully,
what I can do in this project is go ahead and say
truffle init to initialize this project as a Truffle project.
Right off the bat,
you'll notice that I'm able to use Truffle
just by specifying this Truffle keyword.
Here, I see information about this installation.
It was preparing to download Box.
It was downloading, cleaning up temporary files,
and set up the Box.
There I have it. I have a Truffle project ready to go.
If I just type the keyword truffle, again,
I can see all of the commands that I can use with Truffle;
from building, compiling, deploying,
migrating, testing and more.
There's really a lot that I can do here.
Let me just try out a Truffle build to get started.
For example, you're always
going to want to make sure that your project builds,
so it doesn't hurt to do this as many times as you like.
Here, you'll notice that no build configuration was found,
so that's something that I want to address
as I get started with this project.
But here, I see that my contracts are compiling,
that there is this contract it's compiling
and that it was compiled successfully.
That easy. If I do an ls on this directory,
you might be asking, for example,
what were even compiling?
I should point out that what truffle init does
is create right off
the bat lots of different things for me to get started.
I have this Build folder,
now that I've actually run build,
that was just generated,
I have a Contracts folder with a sample contract,
a Migrations folder with a sample migration, a Test folder.
I also have a truffle-config.js file.
That's where I can really specify a lot of information
about my project in any dependencies that it requires.
That's a little bit about getting started with Truffle.
I'm going to head back over to the website just to
show off a couple more things.
If you're asking, how can I learn
an explore more about what Truffle has to offer?
First, you can just explore the documentation.
There is really helpful documentation at trufflesuite.com/docs.
For whatever product suite that
we want to use, Truffle, Ganache, Drizzle,
even learn more about Teams,
we can come here and really search
for lots of tutorials and information about how to get started.
There's also a whole another tutorials section
at trufflesuite.com/tutorials.
There's really helpful step-by-step instructions about
how you can do lots of different things with the Truffle Suite.
The last thing I want to point out here is Boxes.
Boxes are really helpful boilerplates that allow you to focus
on what makes your app unique.
You can really start to explore some of these Boxes in here,
and we'll right off the bat give
you fully built out projects
that you can work with and interact with.
To learn more, definitely come to
trufflesuite.com and start exploring and building on your own.
[MUSIC]