GithubHelp home page GithubHelp logo

nandyba / hackathon-tools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from maximedgr/hackathon-tools

0.0 0.0 0.0 46 KB

This repository aims to list all the "must have" tools to successfully develop projects during blockchain hackathons.

hackathon-tools's Introduction

Must-Have Tools for Blockchain Hackathons

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.

Tool List

Dev Requirement:

  • 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

Development Environment:

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

Smart Contract Development:

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
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.

Blockchain Test Networks:

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

Web Development:

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:

Blockchain explorers are useful for viewing and interacting with the blockchain. Popular choices include Etherscan :

How to verify a smart contract on explorer to interract with them

  • Tutorial quick tutorial to explain your how to verify smart contract

Blockchain Testnet faucet:

Helpfull tools:

  • 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.

Presentation tools:

  • 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.

Communication and Collaboration:

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.

Project Management:

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 !

Conclusion

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!

hackathon-tools's People

Contributors

lejamon avatar maximedgr avatar nandyba avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.