truffle README

The project's README from github.com/ConsenSys-archive/truffle. As one markdown file: README.md.

:warning: The Truffle Suite is being sunset. For information on ongoing support, migration options and FAQs, visit the Consensys blog. Thank you for all the support over the years.

npm npm GitHub Discussions Coverage Status gitpoap badge


Truffle is a development environment, testing framework, and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier. With Truffle you get:

ℹ️ Contributors: Please see the Development section of this README.

Install

$ npm install -g truffle

Note: To avoid any strange permissions errors, we recommend using nvm.

Quick Usage

For a default set of contracts and tests, run the following within an empty project directory:

$ truffle init

From there, you can run truffle compile, truffle migrate, and truffle test to compile your contracts, deploy those contracts to the network, and run their associated unit tests.

Truffle comes bundled with a local development blockchain server that launches automatically when you invoke the commands above. If you'd like to configure a more advanced development environment we recommend you install the blockchain server separately by running npm install -g ganache at the command line.

Documentation

Please see the Official Truffle Documentation for guides, tips, and examples.

Development

We welcome pull requests. To get started, just fork this repo, clone it locally, and run:

# Install
npm install -g yarn
yarn bootstrap

# Test
yarn test

# Adding dependencies to a package
cd packages/<truffle-package>
yarn add <npm-package> [--dev] # Use yarn

If you'd like to update a dependency to the same version across all packages, you might find this utility helpful.

Notes on project branches:

Please make pull requests against develop.

There is a bit more information in the CONTRIBUTING.md file.

License

MIT

truffle (ConsenSys-archive/truffle)

web3
Searching Database…

13.9K ·GitHub
archived
What is this?Truffle is a development environment, testing framework, and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier. It bundles contract compilation, deployment, and testing into one workflow.
So is it a command-line tool or an app with a graphical interface?It is a CLI: you work from the terminal with commands like truffle compile, truffle migrate, and truffle test to compile contracts, deploy them to a network, and run their unit tests.
How do I install it and start my first project?Install it globally via npm (the README recommends nvm first to avoid permissions errors), then run truffle init in an empty project directory to scaffold a default set of contracts and tests.
Do I need to run my own Ethereum node or testnet to try it?No — Truffle ships with a local development blockchain server that launches automatically when you run those commands. For a more advanced setup you can install the ganache server separately with npm install -g ganache.
The repo carries a sunset warning — what does that mean for someone new?The Truffle Suite is being discontinued and this repository is archived. The README points to the ConsenSys blog for ongoing support, migration options, and FAQs, so weigh that before investing time in it.
Which platforms does it run on?Anywhere Node.js runs — it is distributed through npm as a cross-platform CLI for Windows, macOS, and Linux.
Is it free to use, including commercial projects?Yes — Truffle is MIT licensed, so it is free to use, modify, and distribute.
What can Truffle do besides compiling and deploying contracts?It runs automated contract tests with Mocha and Chai, manages networks so you can deploy to many public and private networks, offers an interactive console for direct contract communication, rebuilds assets instantly during development, and runs external scripts inside a Truffle environment.
What is Ganache, and do I need to install it?Ganache is the local blockchain side of the suite: ganache is a command-line version of Truffle's blockchain server, and ganache-ui is a GUI that shows your transaction history and chain state. For basic use you don't need it — a server is already bundled and starts automatically.
Can it deploy to public testnets or mainnet, not just a local chain?Yes — network management covers deploying to many public and private networks, and deployments are scriptable migrations, so multi-step deploys are repeatable across environments.
Size
180.7 MB
Stars
13.9K
Age
11y
Commits · 90 Days