My Coding Journey: Beginner to Pro

I recently found this forum thanks to @abcoathup sharing my thread from the OpenZeppelin forum on this one. As the title suggests, I intend to become a DeFi wizard, smart contract expert, and blockchain master! (And I’d like to squeeze MemeLord in there if I can get around to it. :rofl:)

I started learning to code in September of 2019 when I first heard the call for the #onemilliondevs, so it just makes sense to add to my progress here too. All my progress up until now can be found on the OpenZeppelin forum or on my Twitter.

But today is Day 28:

  • Followed a tutorial to create a basic NFT minting app that mints NFTs for whatever color you input and displays the color on the page.

  • Deployed EthSwap to the Ropsten testnet and successfully hosting it with Github Pages.

  • Updated my personal site to include EthSwap, latest experience, and some articles I’ve written, like Vyper vs Solidity. Also finally got the DNS name to display the correct URL on the homepage.

TODO: Excited to create an NFT and deploy it to a public testnet with a recent guide by @abcoathup. I’m sure he’ll appreciate any feedback if you want to give it a try too.

TODO: I also now have a plethora of resources to get me to the next level of development thanks to @Proteu5 from the OZ forum!

1 Like

Day 29:

  • Minted an NFT on the Rinkeby Testnet using a guide by @abcouthup.

  • Brushed up on my React skills.

  • Made a simple interface for displaying and fetching fake API data using React.

TODO: Build and NFT gallery/marketplace


Day 30:

-Completed a tutorial for building a minimal viable decentralized exchange using scaffold-eth courtesy of Austin Griffith.

-Built a basic interface with React for uploading files to IPFS.

Time to combine the last few days of development, building an NFT, leveling up React skills, and connecting to IPFS, in order to create the first iteration of the final product, an NFT display & marketplace.


Day 31:

  • Started posting my coding journey on the Cent social network. Interesting project with a lot of potential imo. Cool way to monetize your social media activity.

  • Successfully minted an NFT and set its token URI to an image uploaded to IPFS. Now just need to combine these steps in some functions and make them accessible from the UI.
  • Had an “error” that @abcoathup helped me correct. Couldn’t use the _exists() function to check if an NFT was minted. Forgot to use explicitly have the function return the result.

  • Found a Github repo with code for a trading bot that trades on V1 Uniswap exchanges. Tinkered with it to determine the current Eth price in DAI and USDC.


Day 32:

  • Deployed Color token to the Ropsten testnet and added it to my portfolio site.

  • Finished the core functionality of the IPFS uploader/NFT minter (needs a better name :sweat_smile:.) It successfully uploads images to IPFS and mints NFT tokens with a token URI pointing to that location. Still needs more testing and some tidying up on the front-end. But the core concept is there.

  • Applied for Gitcoin’s Kernel program. I feel like they’re probably looking for people with a more traditional background/more experience. But I have nothing to lose and a life-changing experience to gain.

// TODO: Finish testing and front-end for the ipfs/nft app so it’s demo ready. I also need to complete an order book exchange project I started before recording this coding journey, but got sidetracked from. Both of these do a better job of showing what I can do than the simple apps I have in my portfolio now.

1 Like

Day 33:

  • Successfully deployed the demo NFT gallery to the Ropsten tesnet, and added to my portfolio for anyone looking to try it out. There’s still a lot more to do, but it successfully uploads an image to IPFS and mints a NFT which is the core functionality.

  • I’ve uploaded a LOT of images to IPFS testing this thing, but this image is the first to be minted into a live testnet NFT.

  • Did some research on various token economic models that can be implemented for a business use case to incentivize participants. Multicoin Capital has a great article that describes two models that utility tokens fall into, work tokens and purpose-driven tokens.

  • Started researching quadratic funding because I keep hearing about it and I’ve seen it being used for Gitcoin grants. Really creative way to fund public goods. I think a lot of small businesses could benefit from this if deployed in an accessible way. Learning how to implement this could save hundreds of local businesses rn. I swear I learn about some revolutionary idea or concept every day in this space. It’s all sitting here just begging to be used. :star_struck: Makes me wish I had started coding years ago so I could get there faster.

1 Like

@Jshanks21 Dude I love this series so, so much.

1 Like

@wluedtke Thank you so much for the encouragement! I’m really glad you enjoy it. I’m hoping to keep things interesting.

Day 34:

  • Someone referred me to the crypto startup videos a16z recently released. Incredible insight from people like Brian Armstrong from Coinbase, Robert Leshner from Compound, and Sam Williams from Arweave among others.

  • Began switching my React apps from component-based to hook-based and adding style components for the front-end. Started exploring Redux for managing state with the NFT minter. Spent a lot of time this week re-tooling my front-end approach overall.

  • Applied for the Arweave Open Web Incubator. I think an app that backs up videos to the permaweb could be very interesting right now given the YouTube censorship controversy and TikTok spyware issues. And adding a PST (Profit-Sharing Token) could be a game-changer for creators/users.

Day 35:

  • Really started digging into Austin Griffith’s scaffold-eth repo to use in a couple upcoming projects.

  • Diving into the ERC-1155 contracts to use in my NFT minter. This should allow for batch minting, transfers, and calls.

  • My KERNEL application was accepted! The program starts next week!


Day 36:

  • Started using Scaffold-Eth’s IPFS branch as a base for my own ERC-1155 minter.

  • Spun up an a local IPFS daemon to speed up file uploads and requests.

  • The IPFS node GUI is easy to use once available through the daemon. Uploaded a couple directories of images to include in future metadata JSON files for the 1155 contract.

  • Started digging deeper in REST API calls with more traditional tools like Express.

  • Was able to use MongoDB after some research for a quick REST tutorial project.

Day 37: Things are heating up…

  • KERNEL week 0 ended and week 1 began. Week 1 is design week for project prototypes. I’ll be writing more in-depth updates on KERNEL in a separate thread because there’s kind of a lot, and I like keeping these as quick updates.

  • Had an error when adapting Austin Griffith’s Scaffold-Eth for my NFT minter project. There’s a lot to explore in the Scaffold, so it was tricky for me to find.

  • Fortunately, the man himself came to my rescue and helped me get it working again!

  • Alan Curtis from Radar Relay reached out to me for a chat. He gave me a lot of insightful ideas to explore for contributing to the industry and gaining exposure. It was a very energizing talk and now I somehow have more ideas to explore!

Day 38:

It’s been a good while since my last update, but KERNEL has kept me very busy over it’s first build week. Build week two starts in a few days, so I’m expecting to stay busy if not get busier. That said, here are a few things I’ve been up to.

  • Before the first KERNEL build week started, I refreshed myself on building with the React.js framework by going through the Ivan on Tech ReactJS course.

  • A week ago, design week ended and the first build week began. The project I joined for the KERNEL is called DFAME, an acronym for Decentralized Fashion, Art, Music, and Entertainment. Our product designer finished his mock ups and we started building a demo based on the designs. As you might say, we’ve been “heads down” getting this thing up and running.

  • I came across the Community Lead position at OpenSea and applied for the role.

  • Over the past week, we finished most of the core functionality needed for the demo. Currently, it allows users to upload and watch videos. The video feed automatically updates when new videos are added, which are hosted using AWS (we have plans to switch to a decentralized solution on the roadmap.) Creators can set a price on their content which users can unlock with a $BRAND token. The web3 aspects have yet to be implemented. I’m now working on making it look as close to the finished product as I can to make the demo experience reflect the real experience once it’s complete.

Soo day 39… But really I’ll try to recap the past couple weeks. (And I didn’t take screenshots of everything over that time. Sorry…:sweat_smile:)

  • So we finally reached the end of build week 2 in Gitcoin’s KERNEL. There’s still soo much to do! But we have done a LOT in that time. These past two weeks feel like months unto themselves. Today was our midway expo day where we presented our pitch deck and a video demo of our app so far. Below is the video we used for the presentation.

  • We got a lot of really good feedback on the project and made some great connections with people in the space from Consensys and possible future users/content creators for the app. We’ve already been getting a lot of support from the Abridged team and plan to incorporate their wallet in production.

  • The app currently allows users to view content if they hold enough personal tokens that a content creator specifies. They don’t have to spend the tokens, just hold them. We thought this would be a better dynamic for creating a stronger, more unified community through personal tokens with less people buying just to dump.

  • I’ve been working on incorporating the Roll wallet to facilitate their social tokens and various token creators. We already have one of their creators ready to move her follower base to the app once we have a MVP.

  • Our business lead sent out more detailed notes on tokenomics we’d like to implement in the production version of the app. A lot of it includes our ultimate goal when we also have a marketplace for digi-physical NFT redeemables, in-app liquidity pools, and an Aragon DAO structure that should also allow for bonding-curve mechanics. Right now, we’re just doing video content uploads and hold a balance to access. We talked about implementing fees or flat rate for minting tokens and facilitating the distribution of tokens to a community. Still in the works before that’s finalized.

  • I was able to play a little bit of Dark Forest the last day before the v0.3 season ended. Ranked in the low 80s after an evening of playing. Looking forward to trying again with a little more time to be more competitive.

TODO: Now that Roll integration is functionally complete, I’m focusing on integrating 3Box profiles for users, which uses IPFS in the background for storage. Already have profile data working, but need to troubleshoot profile pics. Fortunately, I’ve already made an IPFS image uploader in a previous personal project when I was working on ERC-721 & ERC-1155 NFTs, so should just be copying some old code from that repo and modifying it for this.

++ Fun side note: today one of the Gitcoin organizers announced that they’re trying to get Vitalik to be a judge for the final demo days on Sept 2nd & 3rd. I’ll need to mentally prepare so I don’t fanboy out too hard and can actually present if so lol.