The Ultimate 2023 Hackathon Survival Guide - ConsenSys

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

  

Dev Content Dev Guides Dev Community Webinars Grants Careers Newsletters

Ultimate Ethereum Hackathon


Survival Guide for 2023
Everything you need to know for your next
Ethereum hackathon: essential developer tools,
expert setup tips, and support resources to
help you build a winning dapp.

Table of Contents
. Hackathon Workflow
. Preparing for a Hackathon
i. Yourself
ii. Your team
iii. Your project
iv. Your machine
. Hackathon Time: 3 Pro Tips
. After The Hackathon
. Web3 Development Resources

ByHappy BUIDLing!
using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
We also share information about your use of our site with our analytics partners.

Accept Decline
Hackathon Workflow:

Reminder: Hackathons are for everyone!

If the idea of attending a hackathon is a little intimidating – don’t worry, you are not
alone! The Web3 Community is extremely supportive and welcoming to newbies. No
matter what your skill level is, you will be able to contribute value to a team while
learning from the pros! Remember – everyone has to start somewhere, so come with an
open mind, a list of questions, and soak it all in.

If you’re not an expert coder – no problem! Hackathon teams benefit from all types of
skills including but not limited to:

• Graphic Design & Illustration

• Legal

• Project Management

• Economics

• Marketing

• UI/UX Design
By using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
We also share information about your use of our site with our analytics partners.
Whatever you bring to the table can help your team stand out from other projects. We
get it, 48 hours of nonstop building is a lot. If you’re not quite ready to dive in, there are
still plenty of ways to get involved! Hackathons are always looking for volunteers to
help run the event, or you can come as an attendee to be a fly on the wall while
soaking in the different talks and panels.

Join our Discord channel to get real time support


Chat with Developers, Ambassadors and Community Members to support your
developer journey.

JOIN DISCORD

"I dug into the blockchain space like a big puzzle to be


figured out. Once you go down the rabbit hole, there's no
going back, and who would want to?"

Tom Lindeman
Co-Founder of MythX

By using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
We also share information about your use of our site with our analytics partners.
Preparing for a Hackathon

Preparing Yourself
Research the event you’re attending

It’s super important to know everything there is to know about the event you’ll be
attending. Read up on the theme if there is one, technologies to be used, things to
avoid, and triple-check the amount of time allotted to make sure it’s cool with your
schedule. Make a point to study problems or themes that are big in the industry at the
current moment. Doing these things before the event will ensure you show up armed
and ready to build.

Preparing Your Team


Start thinking about team formation

When looking for a team for your first hackathon, a great place to start is within the
event’s Discord or other socials. Go ahead, reach out and introduce yourself, lots of
other people will be looking for teammates as well! If you have a specific idea in mind,
joining some niche communities or specific chats is a great idea to find like-minded
people to collaborate with. Check out the guide: How to Organize a Hackathon Team

Preparing Your Project


Refining your idea & attention to detail

In order to come up with a winning idea, you must understand the winning criteria.
Check out the event’s website – often the specifics of the judging criteria will be
outlined there. It’s important to note that bounty projects will often add small details to
the acceptance criteria to make sure participants are paying attention. It’s always
better to have one well-defined bounty submission than a vague copy-pasta situation.
Winning projects are typically chosen based on factors including:

• Uniqueness

• Creativity

• Utility
By using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
We also share information about your use of our site with our analytics partners.
• Technological complexity
• Completeness

Focusing on solutions to real-world problems and implementing newer approaches or


technologies is a great way to have a leg up on the competition. Once your idea is
crafted, narrowing it down to its most specific version will help you keep within the
scope of the hackathon and the time constraints.

A polished front end and an engaging presentation are nice touches to a technically
adequate project. This will grab the attention of the judges, and make your project
stand out from the rest. Consider prioritizing quick-win features to improve overall
accessibility for your users, like some basic documentation or how-to for using your
dapp. These small details are essential for adding that “wow” factor of a winning
hackathon project.

Preparing Your Machine


The steps to prepare your computer

If you’re newer to software development, we recommend you start by going through


Consensys’ Before the Bootcamp Basics. This quick course covers a basic development
environment, code editors, command lines, and git.

Set up VSCode IDE

For simplicity, features, and access to solidity-specific extensions, we recommend


using VSCode as your primary code editor for Ethereum Development.

Installations

• Node.js, a powerful javascript runtime, with a built-in package manager npm


(which we will be using for further installations)

• MetaMask, a crypto wallet, and a web3 gateway, allows you to run Ethereum
dapps right in your browser without running a full node

• Ganache, a one-click blockchain

• IPFS, a decentralized, off-chain storage solution

• React.js, a comprehensive frontend framework

By using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
VSCode Extensions We also share information about your use of our site with our analytics partners.
• Truffle VSCode extension

• Solidity Extension Solidity is the language used in Ethereum to create smart


contracts, this extension provides:

• Syntax highlighting

• Snippets

• Compilation of the current contract (Press F1 Solidity: Compile Current Solidity


Contract), or F5 and much more

• Cairo Extension

Provides code assistance when writing Cairo smart contracts for StarkNet. Main
features are

• Compiler support for .cairo files

• Live diagnostic highlighting for compile errors

• Quick fixes with suggestions provided by Cairo/StarkNet compiler

• Go to definitions for imports

• Code completion for imports

• Solidity Auditor Extension from ConsenSys Diligence

• Hardhat VSCode Extension

The rest of the packages will be installed by running the following commands in your
project directory

Pro tip: In VSCode click ⌘ and ` at the same time to quickly open the terminal.

• npm install -g truffle

• npm install -g ganache

• npm install create-eth-app

By using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
• npm install Weweb3 ORinformation
also share npm install
aboutethers
your use comparison here
of our site with our analytics partners.
• npm install create-eth-app

Pro tip: Etherscan also has an API! This can be used in your project to do things like
check the balance of a wallet, see the history of token events or return the creator of
a given contract.

Connecting It All: Double Check Your Environment

Alright, you’ve downloaded everything you need and feel geared up to hack. Now it’s
time to take your tools for a spin by trying them out with a sample decentralized
application. Go through Truffle’s quickstart tutorial on smart contract development on
building an Ethereum Pet Shop application. This tutorial will ensure that you can
successfully use your IDE/text editor, Truffle, Ganache, Web3.js, and MetaMask, and it
will build your confidence that you can get up and running on the day of the
hackathon. For a more complex end-to-end dapp tutorial check out their rental
marketplace series.

Start Collecting Test Funds

Different faucets have different quantity allowances. If you’re doing a lot of testing in a
short amount of time, it might be helpful to have plenty of test ETH stockpiled in
advance. Sometimes the faucets can be “empty” as well, so preparing for this in
advance will save headaches during the event!

Goerli Faucets:

• Goerli POW Faucet

• All that node faucet

• Goerli Faucet

Pro tip: Group useful information together by using chrome tab “groups” for
locating specific docs quickly!

• MetaMask Docs

• Web3js Docs

• Infura Getting Started Guide

• Infura
By using this site, Docs
you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
We also share information about your use of our site with our analytics partners.

• Truffle Docs
• Solidity Docs

• OpenZeppelin Docs

Bookmark these Tools and Knowledge Bases

The Ethereum community produces content at a rapid clip. Here are a few go-to
resources to bookmark that you’ll find yourself revisiting as you become a more
experienced builder.

• Ethereum Developer Tools List – Expansive GitHub repository of dev tools curated
by experts at ConsenSys.

• Ethereum Developer Portal – ConsenSys’ developer gateway for everything from


programming libraries to webinars to job kits.

• Getting started with MetaMask guide – Helpful walkthrough for getting started
implementing MetaMask into your web3 project

• Blockchain Knowledge Base – Answers to the 40+ most popular questions about
blockchain, intros to Ethereum, Ethereum 2.0, and more.

• Ethereum Foundation – Overview of Ethereum, as well as getting started guides


for devs. Check out their Ethereum Studio for a first dive into a smart contract and
to see what Solidity looks like. Here’s a tutorial video on how to use Ethereum
Studio.

• Mastering Ethereum is a book for developers, offering a guide to the operation


and use of the Ethereum, Ethereum Classic, RootStock (RSK), and other
compatible EVM-based open blockchains.

• Kauri’s Getting Started Community – Kauri is an Ethereum-based knowledge


network for technical docs that are curated by the community. This collection will
provide you with technical tutorials to quickly start building blockchain
applications. Check out their recent hackathon collection.

• Week in Ethereum News – A weekly newsletter for devs about the latest news in
the Ethereum ecosystem, from Layer 1 developments to application layer
progress.

• The Ethereum Blockchain Education Resources page by ConsenSys offers a


knowledge base, case studies, insight reports, webinars, podcasts, and more.
By using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
We also share information about your use of our site with our analytics partners.

Hackathon Time: 3 Pro Tips


It’s officially time to get hacking. You’re excited, a little nervous, and totally prepared.
Make sure you arrive at the venue on the earlier side of registration so you can find out
where the snacks and drinks are, locate the bathrooms (more important than you
think), connect to the internet, scope out the most comfortable locations to hack, and
start meeting your fellow hackers and members of the community. Here are four
specific pro tips to guide you on the day:

Have a Bulletproof Plan: With all of the excitement abound, it’s tempting to dive right
into coding. However, starting with a detailed plan of attack will save endless time and
stress throughout the process. Understanding in advance which team members will be
responsible for which tasks is crucial for efficient development in a time crunch.
Additionally, having an MVP outlined before coding will keep your team focused on
essential functionality.

Pro tip: Take notes as you build and keep track of any challenges or things you
learned along the way. This will serve as a great memory jog for discussing your
project with others at the event. Also – if selected as a winner you may be asked to
present; in which case you’ll be glad you’ve already got something to work with!

Lean on the community: We can’t say it enough. Make sure you connect to the Discord
or Slack channels of the tools that you end up using and the event itself. The
community often has helpful answers to any questions that you might have. Meet
people on the ground, both to find potential teammates and to identify experts who
can help you debug a smart contract when you run into issues. ConsenSys often runs a
help desk at events staffed with knowledgeable and friendly technical folks. Join our
Discord and say hello before you run into an issue so they know who you are. We might
even have a few surprises for you if you come talk to us in person!

Keep it simple: Hackathon winners are often only able to create a proof-of-concept due
to the time limits – you won’t be able to sort out every detail or fix every bug. The
simpler you keep the scope of your project, the more likely you will be able to bring a
version of it to life. Remember, for most hackathons, your app does not have to be
ready to deploy out to the world. For the judges, the biggest relief is a demo-ready
project to evaluate, so consider having a presentation equipped with a recorded demo
locked and loaded at go time.

After The Hackathon


Show off your masterpiece!

ByYou’ve built
using this a badass
site, you project,
agree to our and it’s
use of cookies, time
which weto
useshow it off!
to analyse You can
our traffic throw the
in accordance with GitHub
our Privacylink
Policy.
We also share information about your use of our site with our analytics partners.
in the event/dev tools Discord, tweet it (tag @consensys we love to see what y’all are
building), or even send it to your Grandma.
Keep in touch with hackathon friends

Having industry connections is a great way to keep up to speed on what’s happening in


web3, and stay updated on new trends in development. Building out your network is a
great way to find potential opportunities down the road from jobs to partnerships and
even potential investors!

Keep building!

Why stop here? Your MVP can be expanded limitlessly with security features,
scalability, additional functionality and features, and more documentation! Having a
well-built hackathon project makes for a glowing addition to any resume/portfolio or a
starting point for your next web3 startup.

Web3 Development Resources


Here are a few more tools you’ll need in your arsenal:

Truffle: Truffle is the most comprehensive suite of development tools for getting
started with smart contracts. Truffle offers a variety of features when starting with our
CLI, but also provides powerful tools such as our debugger, Dashboard, and local test
chain, Ganache, to speed up your development workflow.

Diligence: Diligence provides industry-leading security analysis tools and reviews by


experienced auditors to ensure smart contracts are securely built and ready for
mainnet.

Infura: instant, scalable, and reliable API access to 10 networks including Ethereum,
IPFS, L2s such as Polygon, Avalanche C-Chain, and more. Infura uses HTTPS and
WebSockets to provide request response times up to 20x faster than other services
and self-hosted solutions. Devs can use Infura’s dashboard to configure, monitor, and
analyze their dapps and also add on Ethereum archive node data for a historical view of
the network. Get started with Infura here.

MetaMask Snaps: MetaMask is the world’s leading non-custodial crypto wallet and a
gateway to web3, trusted by over 30 million users worldwide. Snaps are a way to safely
extend the capabilities of MetaMask. How, you may ask? A snap can add new APIs to
MetaMask, add support for different blockchain protocols, or modify existing
functionality using internal APIs. Getting started with Snaps is easy! Check out this
beginner-friendly guide that developers use as a go-to resource for using Snaps at
Byhackathons.
using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
We also share information about your use of our site with our analytics partners.
Etherscan: Etherscan is a Block Explorer and Analytics Platform for Ethereum.
Etherscan is extremely useful to verify, view, and edit smart contracts deployed to
mainnet or testnets.

Ethereum Development:

• Moon Math by Bankless

• ConsenSys Academy

• Truffle Ethereum Overview

• The Developer’s Guide to Getting Started with Infura

• The Diligence Security Tooling Guide

Solidity:

• Ethereum Learn

• Hitchhiker’s Guide to Ethereum

• Learn Web3 DAO

• Crypto Zombies – Solidity Tutorial

• Awesome Solidity – Github Repository

• Solidity by example

• Ethernauts

Scaling:

• Optimism Bridge Tutorial

• How to create an NFT on Aurora using Infura, Truffle, and MetaMask

Security

• Damn Vulnerable Defi


By using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
• DiligenceWe also shareTooling
Security information about your use of our site with our analytics partners.
Guide
• Infura Dapp basic security

• Capture The Ether

"The best thing about building dapps is building on the


shoulders of giants. The generations of OSS maintainers
who have built the software that comprises our digital
infrastructure have enabled us to live, breathe, and work
on the Internet of money."

Kevin Owocki
Founder of Gitcoin

Subscribe to ConsenSys newsletters


Get developer tools, pro tips, and more straight to your inbox.

SUBSCRIBE

Products 

By using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
Solutions We also share information about your use of our site with our analytics partners.

Developers 

Resources 

Company 

2023 © CONSENSYS

By using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy.
We also share information about your use of our site with our analytics partners.

You might also like