Thinking of getting into the blockchain developer game? As well as some underlying understanding of programming, you’ll need a decent set of blockchain development tools at your disposal. Here, we round up some of the best tools that will help a new blockchain developer get up and running on Ethereum.
According to a 2018 Upwork report, the demand for blockchain developers increased 6,000 percent compared to the previous year. Blockchain developers can now command salaries upwards of $100,000 per year, depending on where they’re working. While the price of crypto has evened out since its 2017/20018 peak, the need for developers hasn’t waned. Gartner predicts that for many sectors, blockchain won’t reach peak maturity for another 5-10 years.
Therefore, if you’ve been considering whether or not blockchain development is for you, now is the time to get in. You’ll still have time to get a few years experience under your belt before peak hype hits sectors such as supply chain, media and entertainment, manufacturing, and transportation.
The exact toolset you’ll need may depend on the specific blockchain. Therefore, we’ve selected Ethereum as being one of the oldest and most well-established platforms for building a decentralized application (dapp). So all these blockchain development tools are compatible with Ethereum.
Blockchain Development Tools
However, as it’s still a relatively new language, you’ll find there are fewer resources for learning Solidity compared to other, more established languages. Solidity has its own documentation available, or you could take a course such as the ones provided by Blockgeeks or Ethacademy.
Remix is a compiler and debugging tool. A compiler takes the Solidity code for the smart contract and formats it so it can be read by the Ethereum Virtual Machine. It’s one of the best blockchain development tools for beginners, as it allows you to debug your code as you go. The interface is set up so you can type your code on one side of the screen while viewing its deployment on the blockchain on the other side.
You can install it onto your machine or use it in your browser. Once you’re up and running with bug-free code in a test environment, you can move onto using the Truffle framework for putting your code live.
Truffle is an Integrated Development Environment (IDE) — a framework for the development and deployment of Ethereum dapps. It offers many features for developers, including:
- Automated contract code testing
- An interactive console for working with your built contracts
- Contract compilation and deployment
- An external script runner that works with your contracts included
Ganache is another tool from the Truffle suite. It lets you create your own private Ethereum blockchain for testing your dapp. If you put a dapp live on Ethereum straight away, then you’ll have to pay all the gas costs for your test transactions. Using Ganache lets you do as much testing as you need without paying any gas costs.
It also allows you to manipulate the gas costs and mining speed within the test environment to play out different scenarios for your smart contract transactions.
Metamask is a wallet that works as a browser extension. It effectively acts as a bridge between browsers such as Chrome or Firefox and the Ethereum blockchain. You can use Metamask to store keys for Ether and ERC20 tokens. It also links in directly with Coinbase and Shapeshift for buying and selling ETH and ERC20 tokens.
Additionally, Metamask interacts with various Ethereum test networks, making it an ideal wallet of choice for developers.
Ethers.js is a front to back end library and an alternative to web3.js, which is the most common library for Ethereum dapps. However, Ethers.js offers features that go beyond those offered by web3.js, including:
- Separation of key management and blockchain interaction, giving far more flexibility to developers
- Instead of a contract address, you can enter an ENS name, which is in a simpler format with less room for typing errors
- Compressed size of only 77kb
- Licensed by MIT
Ethers.js was originally developed for use with Ethers.io however it’s now grown and is far more general purpose in scope.
Geth is an implementation of an Ethereum node in the Go programming language. The default configuration connects onto the Ethereum main net; although it’s also possible to use Geth for configuring a private blockchain.
You can use Geth to mine ETH, to transfer tokens between addresses, explore the blockchain, and create and execute smart contracts.
Because using Geth requires downloading the entire Ethereum blockchain, you’ll most likely need an external hard drive. While Geth is a handy tool, it’s not particularly user-friendly. Therefore, it’s easiest to use it together with Mist.
Mist is the last on our list of blockchain development tools. It’s a user-friendly browser interface that communicates with Geth. It’s also a wallet. It’s possible to download just the wallet functionality of Mist, but from a developer perspective, you’d miss out on all the features of Geth. The team behind Ethereum developed Mist.
Editor’s Note: Unfortunately, Mist is now deprecated. But the functionality will still be available as separate components. You can learn more about it here.
And that rounds up our list of the best blockchain development tools. It’s not intended to be exhaustive. However, anyone new to dapp development is sure to find that their life has been made easier by having one or more of these tools in their kit.
Featured image courtesy of Pixabay