Writing great software is hard.
But having great development tools makes it so much easier to build faster and create more bug-free code. We’re incredibly lucky in Web3 to have so many awesome builders pumping out insanely useful tools every day to make building new projects like Swoops easy.
We wanted to take a second and shout out some of our favourite tools. Hopefully you’ll find them just as useful as we did when you start your own projects.
Hardhat provides a local Ethereum blockchain environment that you can deploy contracts to and experiment with, making it a MUST for local development. A lot of the tools we used hooked into Hardhat, making everything you need to do easy; from debugging to code coverage. Huge props to the Nomic Foundation for creating an incredible piece of kit.
Scaffold-ETH wraps Hardhat to create a simple facade and scriptability for deploying your contracts to an Ethereum environment (test or mainnet) plus a handy UI for contract interactions. To get up and running locally, Scaffold-ETH was the fastest way we found to spin up an environment.
Local Development and Testing
The GOAT. Their github repos are a treasure trove of well maintained contracts and utilities to make use of in your project. From implementations of EIP interface standards to utilities for role management and all the things you need to secure the code of your contract. They even have a wizard you can use to generate simple, yet feature rich contracts, that give you an excellent starting point that follows best practices. The education material in their blog is excellent, and you should check out their Defender product for managing contracts in production. All this for the price of FREE.
Etherscan (and sister site PolygonScan) is the de facto blockchain explorer. Especially when it comes to viewing events and deciphering the calls made between contracts, Etherscan is such an important tool for debugging your contracts. Additionally, if you verify your ABIs on Etherscan you can connect a wallet and perform operations against the contract, directly using Etherscan. Handy!
Very simply, the wallet you know and love stands up to operating in a development environment. You can work with testnets easily, and manage connections to your wallet-connected UI when you need to refresh your connections between deployment cycles. Nothing extra required.
Sometimes you just need to make requests to unverified contracts without a fuss. Eth95 handles that in a hilarious fashion; add your contract address and upload your ABI, and you’re set. We really appreciated that it stores contract addresses and ABIs in local storage, so you can navigate away from the page and you don’t have to worry about re-uploading your work.
Local development with Hardhat is fine, but if you do any deployments to a testnet like Rinkeby, you’ll need funds to fuel your operations. Sometimes it’s Ether, but often it’s other ERC20 coins too. These faucets are scattered throughout the internet, but at least for ether on Rinkeby, we used the Alchemy faucet. They have a daily allowance per IP address, so use a VPN + incognito mode to IP hop, or ask a friend to submit your wallet address. 😏
Getting ready for Production
Deploying your contracts to Ethereum mainnet can be expensive. Using proper wallet management means that you need a deployment wallet with enough funds to get your contracts deployed without becoming a honeypot. Use hardhat-gas-reporter to get the exact gas needed to deploy your contract and then do gas estimations using ethgasstation to estimate how to fund your deployment wallet.
A super-slick multi-signature safe with a tight UI, useable on testnets and mainnet alike. It has an integrations list with lots of useful apps in it, including a contract interaction module that, while useful, leaves a little bit to be desired; but Gnosis supports WalletConnect- so you can simply use your favourite contract client that supports WalletConnect and you’re off to the races.
How much did we pay for all these tools? What price did we need to pay to bring the smart contracts for Swoops to production? What does value like that cost you?
In the crypto world, we stand on the shoulders of giants. Without such an excellent community of makers, we couldn’t have moved half as fast nor could we have gone forward with confidence that what we’d built would stand to muster. In a world without this community, it would have cost hundreds of thousands of dollars to get to where we are.
Please consider donating funds to any of these tools if they’ve helped you build your own projects. It’s so much work and dedication to be a maintainer and contributor to projects like these, and they give us so much value for the price of free, the least we can do is throw them funds for their efforts.
From the Swoops team, a huge thank you to the crypto community. The next round is on us. 🍺