Hello React, my old friend
Lots of folks have told me recently that they’ve gone down the web3 rabbit hole. I don’t really know what going down the rabbit hole means to them, but I’m having trouble going down the rabbit hole myself. Maybe they’ve found some cool communities or DAOs they like participating in, but I haven’t. This is not to say I don’t believe in the concepts and values of web3; I really do (as you could probably tell from all my previous posts). It’s just becoming more and more clear to me that I can’t go deeper into web3 without creating something that’s on-chain.
So I’m going to build an app.
Cryptozombies taught me solidity and blockchain fundamentals, but without a UI that allows users to interact with the blockchain, writing contract code is pointless.
Here are the steps I’m taking to build my own app on web3:
Cryptozombies to learn solidity/blockchain basics
NextJS and ReactJS tutorial to catch up on React & web dev basics (it’s been a minute…but more like 3 years)
Buildspace.so to tie UI + contract together << current step
Build new app?
Buildspace.so walks you through:
Building and testing contract code locally
Deploying the contract
Building a web front end to interact with the contract code
At the end of the self-directed course, you’ll have a functional web app that interacts with a functional contract on the blockchain. Pretty neat!
Before starting the buildspace.so course, I’d recommend creating a test wallet on Metamask. At some point during the tutorial they ask you to copy/paste your private key to a config file, and then they add, in bold:
“Note: DON'T COMMIT THIS FILE TO GITHUB. IT HAS YOUR PRIVATE KEY. YOU WILL GET HACKED + ROBBED. THIS PRIVATE KEY IS THE SAME AS YOUR MAINNET PRIVATE KEY.”
General note - I think any time you see text that says “paste this here BUT DON’T COMMIT THE FILE,” red flags should go off.
“git add .” is second nature to a lot of us, devs.
If you create a test account with its own private key, on the other hand, it will only lead to your test wallet being hacked+robbed in the worst-case scenario. You can add a new account easily through Metamask.
For my project, I started with something basic and made the button orange, just for fun. Clicking on “Wave” will change a state on the blockchain, which is the part I’m supposed to implement next.
My progress so far is slow and barely steady, but I’ll keep posting updates in case it’s motivating. If you feel like you’re into web3, but are having trouble finding the rabbit hole that everyone else seems to be going down, I’m with you, but I’m confident we can figure it out.
Note: Please feel free to unsubscribe if this isn’t useful. This is starting to sound more like a diary vs a resource, so I understand if you do.