Forty Five Days ago my laptop had a boot sector loop error and I had just spent 30 days prior without a laptop. That night I found an old Toshiba running Kali Linux, it was a Pentium, but it would do. Spending 30 days on nothing but my phone and Twitter lead me to discover the #100DaysOfCode Challenge. In the past I had learned C++ and explored the ranks of the alt-coin craze. I wanted something new and challenging.
Ethereum was throwing out news and Bitcoin was pumping on Twitter and I had a humble Token (TRC10) on Tron, I did some research on Solidity gathered some resources, set my alarm to 6AM and that next morning I got to work. My first tutorial was on the Tron Blockchain and it was a token, but it left me with more questions than answers, as a beginner it was not good, but it did the job and I learned some new things. The next day I did some more research and found a Udemy Course on Ethereum and Solidity which would be the corner stone of my learning for the next 40 or so days.
Waking up an hour and a half early every day I dedicated time to learning Solidity and I tweeted my journey each day. It wasn’t until I finished the Udemy course that the obsession and need for a token of my own came back. Researching ERC20 and ERC777 standards brought me to OpenZeppelin, a person on Twitter shared “My Coding Journey: From Beginner to Pro” with me.
I had new resources now. I attempted to create an ERC900 Staking token and I felt like a noob doing it, something was wrong and I needed to go back to the beginning. I started the Ethernaut Hacking Series, the CryptoZombie tutorial, and work on my own token, to refresh my last 44 or so days. I’m excited to see where this forum will take me.
Recap & Review on the Udemy Solidity Course:
My next contract was a lottery contract. I learned about using pseudo-random in Solidity and was introduced to the manager of a contract as well as using require to restrict functions. Creating the Front End was fun for this contract. On this day I learned what an ABI is and I made use of React, a language that I had just started to learn. I learned more about async and methods. It was exiting to see how my code interacted with MetaMask. Seeing the Lottery contract run and work and understand how it operated on the Blockchain was a turning point for me in the tutorial.
The next project in the Udemy tutorial was a big one. It made use of Structs, Mapping, and restricted functions. It covered a lot and was to be the contract of a Kickstarter or Crowd Fund page. I followed the tutorial and wrote the tests. I spent what was about a week on the Front-End of this project. I wish I had better documentation and wrote more about my journey each day as I learned. I do have a daily log on twitter but I was restricted to the word count. I fought many errors and bugs as well. This project makes use of a contract factory to create campaigns for prospective projects. Each campaign can have contributors. Then the contract needs to be approved in order for it to be finalized and the funds be transferred to a designated address.
My Own Token:
Over the next few days I began work on my own Token on Ethereum this time, as apposed to Tron. I went from knowing absolutely nothing; writing and compiling blind code on Tron to being able to write a Token and follow what was going on in an ERC20 token to a greater degree than before.
Today Day46 or Day 1 on the Forum:
Today, I continued writing tests for my token. I successfully wrote many of them, however on the three key functions I get a BN error that I can’t seem to wrap my head around. I’ve tried Hex, number to string, and I’m just not sure how to finish these tests. The code runs on Remix and I’ve made use of the debugger to write most of these tests.
I am looking forward to documenting my journey here. I know I’m not at the level I want to be at yet. I can recall when I first learned C++ and took it to the next level, I was able to take a blank notepad page and craft code with no resources or help guides. I hope to know the fundamentals of Solidity that well in the comings days, weeks, and even months. For now, I need every bit of resources and help I can gather.