SorceRawr.com

The Source of Cultivated Creativity in the Matrix. Rawr.

Sorcerawr is a site that curates data

Sorcerawr is a site of secrets

Sorcerawr is a site of some kind

that does something for some reason

that does something for a great reason

Sorcerawr has movies and games

Sorcerawr has music

Sorcerawr has treasurez

Sorcerawr is a place to go

when you dont want to look up

the best of the best of the best of

the best of the best of

the best

Sorcerawr is a meme

Sorcerawr is in the matrix

Sorcerawr is a diviner

Sorcerawr is a magician

Sorcerawr is a sorceror

Sorcerawr is aaaaaaaaaaaaaaaaaaaa

you should bookmark and maybe even share

because cool people share cool things

because I'll give you a million dol

because of a good reason

you should not listen to anything

text on a website tells you to do

you should not listen to anything dumb

you should not listen to anything ever

you should read on my site

because things and stuff and also yes

because skills are yaaaaaaas

Did I say thanks for stopping by?

Thank you . . . . . . . . . . . . . .

Welcome Back to Sorcerawr . . . . . . . . .



Road to Blockchain Development


22 Sep 2021 -


image

This details how I learned to develop on blockchains.

Part 1 🕵️

Before I was committed to learning how to develop on these platforms, I started out with Crypto Zombies and Eth.Build.

Crypto Zombies

Eth.build

While I didn’t understand too much of what was going on, what I was doing was familiarizing myself with the Solidity language and seeing how it interacted with the Ethereum blockchain. Austin Griffith’s Eth.build gave me a look at how the magic of private and public keys can be used to do all kinds of amazing things. However I was far from being able to actually do anything.

Part 2 👨‍🚀

At some point, I stopped being only mildly interested and decided I wanted to build a project and that I would find out how. I had to dive into the water.

At this stage I learned primarily by using parts of these two tutorials [There were actually 3, the 3rd one did not make the cut].

What I learned are that there are many working parts and you might as well be familiar with all of them.

Deploy an NFT smart contract on Polygon Tutorial

Deploy an NFT smart contract on Ethereum Tutorial

The issues I ran into while doing these forced me to do more research and understand more of what was going on.

I now understood that all of this stuff centers around my sacred Solidity contract and its functions.

I learned how to use Hardhat, which is like this barebones rinkety spaceship you tweak a bit to get your solidity contract launched out there onto these blockchain networks, and Alchemy was a provider that could handle switching between blockchain networks for me. Pinata was the service that would hold my precious data, and ipfs was even more magic based on that same sweet sweet hashing technology, long live cryptography. OpenZepplin were the guys writing all the code for ERC-721’s, the NFTs I’m interested in, and all you had to do was import their code into your contract and push it out. I also learned that a few javascript scripts were all it took to call the functions I’d created in my contracts.

Now I could get something pushed out and I knew some things that were going on, but I barely understand the logic of smart contracts. I figured out I could go to Etherscan and look at anyone’s contracts I wanted [and that you want to scroll to the very bottom of them first, past all the imports]. Thanks to Crypto Zombies and some hands on experience my brain was now starting to be able to read the code. These words in the top of functions, “Private” and “Public” and similar words were starting to make sense. But there was no way I could write this stuff.

I wanted more, too. How could I get my code into a website? How could I actually build a functional project?

Part 3 👨‍💻

I looked for more resources. I found Solidity by Example and dived in, working through the text and learning from the teacher in the associated video series.

Solidity by Example

This is what started to give me a true grasp on the language.

Then I found Austin Griffith’s ETH Scaffold. An amazing project. This project would set you up with an entire development ‘studio’, including a live front end [and so much more], and the ability to deploy these live. It made everything easier and was a one stop solution from start to finish.

Ethereum Dev Speed Run

I was able to get this off the ground and finally see a project interact with the front end website.

Part 4 🧙

There was just one problem I found. I didn’t know React. I didn’t understand these systems, and I wanted more control over the production process. I looked for more development tutorials, and one I found told me again that I should learn React. It recommended this video series, and I couldn’t have been more interested.

React Tutorial

I think it was at this point that I realized, wow. Pretty much all of this live development usually revolves around node.js technology. I spent one long night on a quick refresh of that as well.

Node.js course

-

Part 5 🌞💡

This was the part where I felt like I was beginning to be able to see what might lay over a mountain of information and began to see a horizon in the distance.

I always save the best for last, and now went on to follow Alchemy’s excellent How to Create an NFT Tutorial. This is where all of this really started clicking for me. Now, I had seen and done some of this before. I knew how to deploy to hardhat. I had seen how React hooks plugged in functions to a live website. Now I got to see how this technology plugged into Web3.

Alchemy NFT Tutorial

Here I could see that real deployment of a full project would be possible. I also learned a few things. I learned that really, you don’t need to worry about the front-end, ever, at all. For example, as it turns out, they set all this up so that your contract will generate an ABI with all your functions and that’s what you plug into the front-end website. Easy.

Part 6 - Now ✨

Now I’m here. I stumbled across a smart contract I wanted to fork and work with and play with. I’ve been wanting it to click in my mind, how simple this really is. How it really usually is as simple as writing a “get” function to get what I want, and “set” function to set the state of something.
Now I’ve gone back to the eth scaffold, which I may not end up using for my final front end, but I see now is an amazing, amazing tool to automatically and instantly give you access to all of your functions, to play with them and mess with any contract to your hearts content.

I’m at the point now where I can see there are all kinds of fun projects I’m going to be able to build and I’m crazy excited. The amount I can create in a day is rising exponentially as I start to grasp what I’m doing. This seriously becomes a blast.

I still have questions to answer for myself, among some of the top are,

“How are people standardizing storing arrays of data on IPFS?” [Current assumption: The data is already stored. It has nothing to do with the blockchain.]

“How do I generate NFT’s with random attributes?” [Current Assumption: A script is called by the front-end, created, hosted on ipfs, and then the metadata for that data is passed in as a variable to the mint function on the contract.]

I wasn’t actually planning to write this but I suppose now I’ll just update it as I go on.

Part 7 - Road to my Mastery of Solidity YouTube Playlist ‍🚀

-

YouTube Playlist

-

Part 8 - NEW - The Golden Road - Updated 10/12/2021

If you’re like me and you ran headfirst through all these tutorials, hitting walls and barely scraping by, and you survived all the way until now, congratulations, now you’re gonna wanna kill me.

You’ve probably thought, why isn’t any of this information condensed, why can’t I find a single resource that has everything I’m looking for in one place? Well, I finally found it. It’s here at cryptodevhub.io,

^^^^ the resource I’ve been looking for countless months.

If you’re serious about eth dev, this is your new bible. You’re going to want to scour every page on this site, because it has it all.

And the tools! The glorious, glorious tools! the tools [this section paragraph to be updated shortly For where I’m at, I’m about to look into using create-react-native-dapp or create-eth-app as the template for my dapps, hoping they are up to date, will update with results

and usedapp.io .. and eth95.dev/..

]

Additional Advice 🤖💛

It’s okay to not know how to do things. Try to do it. If you can’t figure it out, if you can’t find the answer, move on and try something else. Keep trying things until something works. Play.

All of this is less complicated than it seems on the surface. Once you know what’s going on, a lot of this tech is actually stupidly simple to use.

Don’t try to learn. Pick something you want to build, and start building it. I pretty much wasted a lot of time with crypto zombies because I wasn’t actually trying to create something.

Don’t rush. No matter how fast you go, your brain is going to have to process the information. It does the majority of this work while you sleep. If you load it up with too much information, it will laugh at you and discard the entire stack. Feed your brain with some information each day and allow it to cook. It’s like cooking, information cooking. Mmm.

So remember, always cook your brain! 👨‍🍳 🍌

Did this help you in your journey? Here’s the original twitter post if you want to share it: twitter.com/BytesTheBlessed/status/1440841630097948672

Do you have additional resources you believe are mission critical to starting out in eth dev? Please share them with me and I will add them.