Truffle is a scriptable, extensible development environment and testing framework for blockchain systems.

Truffle makes it easy to manage smart contracts with its deployment and migrations framework. Its built-in interactive console and testing features allow developers to have a simulated overview of a real blockchain environment while automating contract testing. Truffle is best suited for smart contracts based Javascript projects.