Here, you learn about ten more free tools to help you create your own Ethereum blockchain dApps. Some of the resources you find here are alternatives to the more popular tools, and others complement the tools you’re probably already using. Each of the resources listed here has unique features and should be on your list of interesting research ideas. They’re all free and they’re all worthwhile additions to your Ethereum development toolbox.
Explore Alternative Ethereum development frameworks
Although Truffle is the most common framework in use, it isn’t the only one. Depending on your needs and preferences, you should look at a couple alternatives. At the end of the day, choose the development framework that fits most closely with your experience and makes developing dApps for Ethereum as frustration-free as possible.Manage your Ethereum development with Populus
The Populus framework provides many of the same features as Truffle. However, because Truffle focuses on the JavaScript environment, you have to write lots of JavaScript code to automate tasks, test, and maintain dApps using Truffle. That’s fine if you have lots of experience with JavaScript and are comfortable in the environment. But if you don’t know JavaScript or don’t want to invest time to learn it, you may want to look at a framework based on something else.Populus is a Python-based Ethereum development framework. If you have Python experience or just like working with Python, Populus may be worth looking into. This web page includes a quick start guide, documentation, and instructions on installing and using Populus. If you like Python, try out Populus to see how it compares with Truffle.
Populus requires that you have Python already installed. Because the Python 2.7 End of Life (EOL) is scheduled for November 2020, you should install Python version 3. You should find the most current Python version for your operating system.
Explore Ethereum blockchain containers with Cliquebait
Cliquebait is another Ethereum development framework alternative to Truffle. Instead of running a blockchain environment natively on your computer’s operating system, Cliquebait uses Docker containers, which are similar to a lightweight virtual machines.Docker allows you to launch multiple containers, all running as separate virtual machines (VMs), with far less overhead than running multiple standard VMs. Each standard VM that you launch runs a full copy of an operating system, along with virtual copies of the hardware that the VM’s operating system needs to run. A container, such as a Docker container, runs only the operating system components and virtual hardware that the programs need. The result is virtualization with lower resource requirements.
Cliquebait provides a Docker image that provides a single-node Ethereum blockchain that you can use to develop and test your smart contracts. It also supports launching multiple Docker containers to simulate a multi-node blockchain, all running on your computer.
Docker must be installed before you can install and run Cliquebait. After you have Docker installed, go to Github for instructions in using Cliquebait.
Select a Free Integrated Development Environment for Ethereum
The IDE you choose to write code will be the most visible tool in your dApp development toolkit. You’ll spend more time using (or fighting) your IDE, so finding the right one is crucial to being productive. The best IDE is in the eye of the beholder. You should try several IDEs and choose the one that is most comfortable to you.Develop Solidity code with Atom
Atom isn’t strictly a blockchain-based IDE. It’s a powerful general-purpose IDE with Solidity plug-ins. When you add the Etheratom plug-in, you get syntax highlighting, code completion, and the capability to call the Solidity compiler with a single keystroke.Below, you see the main Atom interface. It looks and feels much like VS Code, with a character of its own. After installing Atom, check out these instructions on installing the Etheratom plug-in.
Go online with Remix
An alternative to installing an IDE on your own computer is to use a browser-based IDE. Remix is a popular IDE that you can access from any web browser. It enables you to write code in Solidity, and then deploy to a blockchain. With Remix, you can easily select a specific Solidity compiler version, along with many features and options you’ll find helpful when developing dApps in Solidity.You can add code from your local computer or you can write it right from the Remix editor.
Keep things simple with EthFiddle
Another web-based Solidity IDE is EthFiddle. EthFiddle is a great choice for a straightforward web-based IDE for writing and compiling Solidity smart contracts. Unlike Remix, EthFiddle doesn’t provide a way to deploy your code.
Explore Ethereum clients and APIs
After you write your smart contract code, you’ll need to deploy it to an Ethereum client and then be able to access the blockchain to test and invoke your code after it’s in production. As with frameworks and IDEs, many high-quality free resources are available.Swap your Ethereum client to Parity
Parity is an Ethereum client that runs a node on an Ethereum blockchain network. Although geth is more popular, Parity is a good alternative that boasts several advantages over geth, including the following:- Faster: Syncs the full Ethereum blockchain in just hours and is built to reduce CPU and network load.
- Lower disk space use: Prunes the Ethereum blocks to use less local disk space.
- Web-based GUI: Provides easy-to-access features through a user-friendly web-browser interface.
Interact with Ethereum by using web3.js
By far the most common way to interact with Ethereum smart contracts is through a collection of libraries written in JavaScript named web3.js. You can write code in JavaScript or any language that supports JavaScript calls. From there, web3.js makes it easy to interact with Ethereum data and functions.Navigate to Github to get the latest version of web3.js, and then grab the latest web3.js documentation.
If you’re looking for a good web3.js tutorial, check out Dapp Tutorial’s introduction.
Focus on Ethereum wallets and security
Security is always a concern when developing Ethereum dApps. The nature of blockchain technology makes the deliberate focus on security a required design goal. Building security into dApps depends on having the right building blocks and a solid method to maintain security after deployment. Two free resources that help you write and maintain secure dApps are the Mist wallet and the OpenZeppelin security library.Protect your Ethereum crypto-assets in Mist
Mist is both an Ethereum wallet and an Ethereum browser. Mist is the official wallet for Ethereum, developed by the Ethereum Foundation. It also provides access to dApps, similar to the way popular web browsers give you access to websites around the Internet.Mist does more than just browse blockchain apps; it provides a suite of tools for interacting with the Ethereum network. With Mist, you can generate smart contracts, pool cryptocurrency, and share information among participants who don’t trust one another. Mist attempts to make Ethereum blockchain access as easy as possible.
To get started with Mist, download the latest Mist release for your operating system. After you install Mist, you can launch the browser to create an account or interact with the Ethereum blockchain with a variety of tools.
Secure your Ethereum dApps with OpenZeppelin
One of the hardest parts of developing smart contracts in an Ethereum environment is making them secure from the beginning. Although it may be easy to consider security from the beginning of the design phase, writing secure smart contract code is more difficult. The OpenZeppelin library is a collection of Solidity code that helps you to implement secure code in your smart contracts.You can import OpenZeppelin in your smart contracts and then take advantage of the many implementations of Ethereum standards, such as ERC-20 tokens, instead of having to implement them yourself. OpenZeppelin keeps you from having to reinvent the security wheel in your Solidity smart contract code.