Buidler: compounding value for Ethereum developers
👷♀️ One plugin at a time.
Buidler is a command line development tool used to facilitate frequent tasks that are essential to a developer’s workflow. It unlocks productivity through flexibility, interoperability, and standardization — leading to compounding value across all developer tools.
To give you some context first, with Buidler developers can compile, test, and deploy their Solidity code, as well as quickly write ad-hoc tools to facilitate working with smart contracts. Pulling data from the blockchain, triggering actions, and changing state all require little work with Buidler when compared to doing it from scratch using an Ethereum library. Most of the boilerplate stuff is taken care of so the user can focus on functionality.
Buidler also brings together all other developer tools. It works with them, all of them, rather than replace any specific ones. Its value comes from being the connective tissue, rather than from specific functionality. It’s an integration platform for other tools to build upon. A robust plugin system is the key component to make this possible.
Today, most specific tools for smart contracts in the Ethereum ecosystem are built by teams for their own projects, for their own needs. It’s valuable that these are open-sourced, but they’re usually hard to use. Realistically, these tools weren’t built as products, but as ad-hoc productivity boosts for private teams that profit from a core business unrelated to the tool itself. Their success doesn’t depend on the tool’s adoption. This leads to a lack of polish, documentation, and compatibility.
The tools are still valuable, but integrating them — when it’s even possible — requires a lot of work. When things change, these tools tend to break down because they’re designed for:
- specific dependencies
- specific project architecture
- ad-hoc development workflow
- a specific context or setup
This is the core problem that we aim to solve with Buidler. A single piece of software in the form of a Buidler plugin can deal with the complexities of a given tool to make it work in any Buidler project, making it available seamlessly to every Buidler user.
At its core, Buidler is a task runner for building smart contracts that helps automate workflows. In reality, it plays a much bigger role in making sure the tools available in the ecosystem compound in value for developers, making them much more powerful in combination, and easier to use.
That’s why Buidler has plugins for Truffle 4, Truffle 5, Web3 0.x, Web3 1.0, Ethers.js, Solhint, Solpp, Etherscan, and solc-docker. And we want to bring ganache, Embark, Etherlime, solidity-coverage, sol-trace, sol-profiler, Vyper, and others on board as well.
Using Buidler doesn’t mean leaving other tools behind. It only means that more tools become easier to use, and the project’s own ad-hoc tools become easier to build.
Some projects, such as Decentraland and SpankChain, are starting to take notice and are adopting Buidler for their smart contract projects.
“Buidler’s extensibility, clean interface and excellent design is the most significant advancement in the professionalization of tools for Ethereum of the past year. Our development experience improved significantly, and the quality of the development process is reflected in the fact that our team went from fearing updating packages to the latest version, to watching out for the next release”. Esteban Ordano, CTO at Decentraland.
There’s still a lot of work ahead of us to bring Buidler’s full vision to fruition, but you can use it today to get a productivity boost and customize your workflow.