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.
Beginning Days: https://www.udemy.com/course/ethereum-and-solidity-the-complete-developers-guide/
:
Github: https://github.com/n0rthbridge/
:
Recap & Review on the Udemy Solidity Course:
My Udemy course started me off in Remix.Ethereum.Org and there I wrote my first true contract to store and call a message (Inbox.sol). I had no clue I would be learning Javascript but I was able to compile the contract locally. Next, I wrote the test file to test the functions of Inbox.sol. A MaxListeners error was thrown that wasnāt covered in the tutorial. I was proud of myself, I researched the error online and found a fix for it. I also learned how to interact with the functions of a contract. I ran into error between the tutorial web3 version and my downloaded version and changes in the language. I had to do some research and make some changes but I was able to deploy the contract by connecting through the Infuria API to the Rinnkeby network. Little did I know that I would need to learn ReactJS as well. The tutorial was thorough and came with an Appendix tutorial on React. I did not expect to be learning anything Front-End. React to me is a powerful library and it was exciting to start learning. This next week was spent learning React and creating a YouTube Search page. I learned about classes, constructors, this.state. I learned how to import files as well. It was a lot and I felt like I was thrown into the deep-end.
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.