Web3 development is nothing like the traditional development environment. From the tools you use to the broader approach to learning Solidity and Web3 development, this article lists some of the things you will definitely need as a Web3 developer.
A Reliable Solidity IDE
There are many options out there, however I find that the Solidity Extension for VS code is the most versatile and less bug-ridden option our there. It comes with a bunch of features such as:
- Code completion for all contracts / libraries in the current file and all referenced imports
- Default project structure (solidity files needs to be in the src directory, and libraries in the lib directory). Libraries will follow the same structure.
- Support for different solidity versions (Remote and local)
Alternatively, you can also use the Remix IDE. Remix is web-based Solidity IDE which means that it’s a good alternative to a local dev environment. Personally, not sure how I feel about web based IDEs, but it will get you going quicker.
A Web3/Smart Contract Developer Framework
You can build everything from scratch, using the web3 python or js library but why would you do that to yourself?
You can actually leverage a Web3 developer framework that’s built on top of the Web3 library, for quick and easy contract deployment.
Simply install by running:
pip install eth-brownie
With brownie you can start a new Web3 project from scratch, or from an existing template( ERC20 deployment, flashloan etc..)
Use the following command in your terminal for a full list of functions:
Moreover, brownie is highly configurable and allows you to add any Network to it.
A Hosted Node provider
When deploying to a Smart Contract, you will likely need an RPC url that you will use to connect to a node and deploy on-chain. You could use the default RPC urls provided by the chain, but you might get rate-limited.
One such provider is Infura. It’s free to use (for the most part) and allows up to 100,000 API calls on ETH mainnet, any of its testnets, as well as on Polygon and Abritrum.
Another option is Quicknode.
A GitHub Account
If you don’t already have one, forget everything and just go create a GitHub account. In Web3 development, you’ll find yourself working with Open Source libraries a lot more than in traditional development.
Saving, and even contributing to these libraries is something that you might want to do. So a GitHub account is an absolute must-have.
You’ll most likely need to install some npm packages at some point, so do yourself a favour and install npm now.
Bonus — Web3 documentation you might need:
Ok, now that you’re armed to the teeth is time to write some Web3 code — good luck!