https://github.com/ConsenSys-archive/truffle
: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.
https://github.com/ConsenSys-archive/truffle
blockchain ethereum framework hacktoberfest javascript smart-contract-tools smart-contracts solidity truffle
Last synced: 26 days ago
JSON representation
: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.
- Host: GitHub
- URL: https://github.com/ConsenSys-archive/truffle
- Owner: ConsenSys-archive
- License: mit
- Archived: true
- Created: 2015-06-29T19:46:53.000Z (over 10 years ago)
- Default Branch: develop
- Last Pushed: 2024-04-22T08:47:19.000Z (over 1 year ago)
- Last Synced: 2025-09-30T20:55:18.112Z (28 days ago)
- Topics: blockchain, ethereum, framework, hacktoberfest, javascript, smart-contract-tools, smart-contracts, solidity, truffle
- Language: TypeScript
- Homepage: https://consensys.io/blog/consensys-announces-the-sunset-of-truffle-and-ganache-and-new-hardhat?utm_source=github&utm_medium=referral&utm_campaign=2023_Sep_truffle-sunset-2023_announcement_
- Size: 176 MB
- Stars: 14,006
- Watchers: 337
- Forks: 2,321
- Open Issues: 527
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- awesome-smart-contracts - Truffle - A development framework for Ethereum. (Testing)
README
> :warning: **The Truffle Suite is being sunset. For information on ongoing support, migration options and FAQs, visit the [Consensys blog](https://consensys.io/blog/consensys-announces-the-sunset-of-truffle-and-ganache-and-new-hardhat?utm_source=github&utm_medium=referral&utm_campaign=2023_Sep_truffle-sunset-2023_announcement_). Thank you for all the support over the years.**

[](https://www.npmjs.com/package/truffle)
[](https://www.npmjs.com/package/truffle)
[](https://github.com/trufflesuite/truffle/discussions)
[](https://coveralls.io/github/trufflesuite/truffle)
[](https://www.gitpoap.io/gh/trufflesuite/truffle)
---
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:
- Built-in smart contract compilation, linking, deployment and binary management.
- Automated contract testing with Mocha and Chai.
- Configurable build pipeline with support for custom build processes.
- Scriptable deployment & migrations framework.
- Network management for deploying to many public & private networks.
- Interactive console for direct contract communication.
- Instant rebuilding of assets during development.
- External script runner that executes scripts within a Truffle environment.
| ℹ️ **Contributors**: Please see the [Development](#development) section of this README. |
| --------------------------------------------------------------------------------------- |
### Install
```
$ npm install -g truffle
```
_Note: To avoid any strange permissions errors, we recommend using [nvm](https://github.com/nvm-sh/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](https://trufflesuite.com/docs/truffle/reference/configuration) we recommend you install the blockchain server separately by running `npm install -g ganache` at the command line.
- [ganache](https://github.com/trufflesuite/ganache): a command-line version of Truffle's blockchain server.
- [ganache-ui](https://github.com/trufflesuite/ganache-ui): A GUI for the server that displays your transaction history and chain state.
### Documentation
Please see the [Official Truffle Documentation](https://trufflesuite.com/docs/) for guides, tips, and examples.
### Development
We welcome pull requests. To get started, just fork this repo, clone it locally, and run:
```shell
# Install
npm install -g yarn
yarn bootstrap
# Test
yarn test
# Adding dependencies to a package
cd packages/
yarn add [--dev] # Use yarn
```
If you'd like to update a dependency to the same version across all packages, you might find [this utility](https://www.npmjs.com/package/lerna-update-wizard) helpful.
_Notes on project branches:_
- `master`: Stable, released version (v5)
- `beta`: Released beta version
- `develop`: Work targeting stable release (v5)
- `next`: Not currently in use
Please make pull requests against `develop`.
There is a bit more information in the [CONTRIBUTING.md](./CONTRIBUTING.md) file.
### License
[MIT](./LICENSE)