Welcome to this repository, which aims to provide a comprehensive list of the essential tools you will need to successfully develop projects during blockchain hackathons.
- Node.js is an open-source, cross-platform JavaScript runtime environment.
- NPM is the world's largest software registry. Open source developers from every continent use npm to share and borrow packages, and many organizations use npm to manage private development as well.
- YARN dependency managment.
- Github, you must have a GitHub account to track your dev journey.
- Git commands you must be confident with the basic git commands to commit your work, create branch, merge... Example :
git add .
git commit -m "V1.0"
git push
Setting up a proper development environment is crucial for hackathon success. This includes a code editor or IDE, as well as any necessary dependencies and software.
- IDE : Visual Studio Code. Don't forget to install extension to help you trough your development journey.
- Online Solidity IDE Remix
- UNIX CMD Git Bash - Very usefull if you are working on a Windows OS.
- Docker
For blockchain hackathons, it is likely that you will need to develop smart contracts. Tools such as Truffle, Ganache, and OpenZeppelin can be used to develop, test, and deploy smart contracts on various blockchain platforms.
- Truffle - Truffle takes care of managing your contract artifacts so you don't have to. Includes support for custom deployments, library linking and complex Ethereum applications.
npm install truffle -g
- Truffle Contract Size. This Truffle plugin displays the contract size of all or a selection of your smart contracts in kilobytes.
npm install truffle-contract-size
- Truffle plugin verify very useful plugin to deploy and verify contract ABI on Etherscan etc.
npm install -D truffle-plugin-verify
truffle run verify ContractArtifactName@Contract_address --network networkName [--debug] [--verifiers=etherscan,sourcify]
- Ganache Quickly fire up a personal Ethereum blockchain which you can use to run tests, execute commands, and inspect state while controlling how the chain operates.
- MetaMask. Crypto Wallet.
- OpenZeppelin Contract Wizzard Not sure where to start? Use the interactive generator below to bootstrap your contract and learn about the components offered in OpenZeppelin Contracts.
It's important to test your smart contracts and other blockchain-related code on a test network before deploying to the main network. Tools such as Ganache, Rinkeby, and Ropsten can be used for this purpose.
- Ganache Quickly fire up a personal Ethereum blockchain which you can use to run tests, execute commands, and inspect state while controlling how the chain operates.
- Chainlist is a list of EVM networks. Users can use the information to connect their wallets and Web3 middleware providers to the appropriate Chain ID and Network ID to connect to the correct chain.
- Ethereum Testnet Goerli
- Ethereum Test Sepolia
- Polygon Testnet Mumbai
In the development of Dapp it is common to see developers using React and many libraries allowing the integration and use of smart contracts. Here is a list of tools and dependencies that can be used together:
- React A JavaScript library for building user interfaces. Create React App is a comfortable environment for learning React, and is the best way to start building a new single-page application in React.
npx create-react-app my-app
cd my-app
npm start
- Web3.js Ethereum JavaScript API
- Ethers
- RainbowKit provides a fast, easy and highly customizable way for developers to add a great wallet experience to their application.
You can scaffold a new RainbowKit + wagmi + Next.js app with one of the following commands, using your package manager of choice:
npm init @rainbow-me/rainbowkit@latest
# or
yarn create @rainbow-me/rainbowkit@latest
# or
pnpm create @rainbow-me/rainbowkit@latest
This will prompt you for a project name, generate a new directory containing a boilerplate project, and install all required dependencies.
Alternatively, you can manually integrate RainbowKit into your existing project. See docs.
npm install @rainbow-me/rainbowkit wagmi ethers
- Vercel allows you to deploy instantly, scale automatically, and serve personalized content. Link you front-end GitHub repo to host and test your project for free !
Blockchain explorers are useful for viewing and interacting with the blockchain. Popular choices include Etherscan :
- Etherscan - Ethreum Mainnet
- Polygonscan - Polygon Mainnet
- Binance Blockchain Explorer
- Avalanche Blockchain Explorer
- Gnosis Chain Explorer
- Ethereum Testnet Goerli
- Ethereum Test Sepolia
- Polygon Testnet Mumbai
- Ethereum Goerli Faucet - Alchemy
- Polygon Mumbai Faucet - Alchemy
- Gnosis Faucet
- Chainlink Faucet Get testnet LINK for an account on one of the supported blockchain testnets so you can create and test your own oracle and Chainlinked smart contract.
- OpenAI
- GitHub Copilote AI pair programmer, you can add this extension in VScode.
- Grammarly is a free writing app to make online writing clear and effective.
- Bytecode decompiler is an online tool to decompile contract bytecode on ETH mainnet, testnet and BNB chain.
- Canva
- Loom – Screen Recorder & Screen Capture
- LucidChart
- Figma brings together powerful design features you already love and a more efficient workflow to boot. You can design a Website or App for your MVP presentation.
Hackathons often involve working in teams, so it is important to have tools that enable effective communication and collaboration. Slack, Telegram, Google Drive, Github and Zoom are popular choices for this purpose.
To stay organized and on track during a hackathon, it is important to use a project management tool.
Note: The above list is not exhaustive and other tools may be useful depending on the specific requirements of your project. Feel free to contribute !
By having these tools in your toolbox, you will be well-equipped to handle the challenges of a blockchain hackathon and develop successful projects. Good luck and have fun!