From Idiot to EOS Developer Part 1: The Beginning of My Journey To Become an EOS Developer

in #eos6 years ago (edited)

How I Became a Wannabe Decentralized Application Developer

I first learned about blockchain technology while working as an Anti-Money Laundering Analyst at Western Union in 2016. For a long time, “Western Union” has been nearly synonymous with “money transfer.” As an analyst, I often read the news to remain up-to-date on the latest international events and company news. Fortunately, an article discussing the disruptive potential of blockchain mentioned “Western Union” and triggered one of my Google Alerts. This article suggested that blockchain and cryptocurrencies could completely remove the need for well-entrenched intermediaries, like Western Union. Of course, just like many other people in this space, I became nearly obsessed with the technology quickly after discovering it.

With my newfound obsession, I began the process of teaching myself more about blockchain technology, programming skills, and data management. I learned how to program with R in 2015, but that was the extent of my programming language knowledge. Since then, I watched several TED Talks and completed LinkedIn courses on blockchain technology. Also, thanks mostly to LinkedIn Learning Paths and FreeCodeCamp, I have become more familiar with Python (well, mainly Django), JavaScript, HTML, and CSS - but I am by no means an expert.

I also enrolled in and completed a Udemy course on Solidity. While completing that course in September 2017, I quickly realized many flaws with blockchain technology as it stood at that time.

  • First, it was odd that I had to pay to use decentralized applications. Ethereum requires users to pay fees based on the priority of the transaction and current network congestion. I could not imagine a world in which I had to pay everytime I wanted to “like” something or publish a tweet-like post.
  • Second, I had to have the most up-to-date blocks stored on my basic personal laptop before I deployed anything. Honestly, the fan never stopped running. I thought my laptop was going to explode.
  • Third, once I deployed a smart contract, I couldn’t modify it. Instead, I’d have to launch a whole new smart contract. I challenge anyone to name an application that has gotten its 100% correct on its first version and never had to update… I’ll wait.

Just when I was losing faith in the promise of blockchain technology, I was fortunate enough to join ICO Alert, where I learned more about the technology and, more importantly, other blockchain protocols that have passed the test of logic and time (thus far). Many of colleagues gushed about this soft-spoken man named Dan Larimer. That is when I discovered EOS and the delegated proof-of-stake protocol. After watching some YouTube videos, discovering Steemit, and reading other blog posts, I too became sold on this new platform and rediscovered my passion for blockchain technology.

Why I Am A Wannabe EOS Developer

I quickly realized that EOS can solve many of the issues that began to discourage me from being all-in on blockchain technology. I also realized additional benefits that persuaded me to at least attempt to satisfy my itch of becoming an EOS developer.

  • First, EOS will require decentralized applications to have EOS staked into the network in order to operate. Consequently, unlike Ethereum-based applications, users of applications do not have to pay to use the platform. The burden of cost is on the maker of the decentralized application. While this may cause problems for ill-connected entrepreneurs who have an idea for a decentralized application, at least millions of users will not have to pay to “like” something or publish a tweet-like post.
  • Second, EOS has a democratic and incentive-based structure for block producers. Therefore, I, the wannabe developer, will not need a complete copy of the EOS blockchain before launching my decentralized application on the network. I can open my basic personal laptop, get to work, and launch it as long as I have EOS (I do).
  • Third, EOS will allow developers to edit smart contracts even after they have been deployed on the main network. This is far more realistic and flexible scenario for developers. Even on a centralized application, mistakes on deployed applications can have devastating consequences - but at least there is an opportunity to fix those mistake before something does happen. Trying to get something 100% percent on a first attempt of an application makes me want to anxiety puke.
  • Fourth, EOS promises to be ridiculously fast. When I started buying cryptocurrency, I wanted to throw my computer across the room after seeing how long Ethereum-based transactions were taking thanks to the short-lived popularity of CryptoKitties. Yes, digital cats were costing me more money and time on my important transactions. EOS promises to prevent that type of crap from happening again.
  • Finally, EOS’s main network has not launched yet. It is slated to launch sometime this June. However, there are test networks available right now that I can experiment on. There is just enough information available for me to (hopefully) learn and gain tutoring from others reading this post (please?) before the real-deal launches.

The Learning Checklist

Task #1: Have a Goal

Some of the ideals and themes Dan Larimer always seems to mention when talking about EOS are life, liberty, property, and justice. I don’t know about you, but those are certainly ideals I can get behind. While those aspects are missing in many important social and political structures, I cannot tackle political corruption or criminal justice reform in Pennsylvania in my baby project. I decided to start with something lighter and fun, but needs decentralization: collegiate and professional sports.

Depending on what school a high school or college athlete attends, they may not receive the accolades and compensation they deserve. Division I college athletes in particular are frequent victims of an over-centralized system, the National Collegiate Athletic Association (NCAA). Even professional athletes receive no compensation for their on-field performance. Instead, large fantasy sports companies reap millions of dollars of profit for simply creating a fan-focused game based on real-world sports games.

As a project to learn EOS, I would like to build a decentralized digital sports card application. In this decentralized application, users can be compensated by contributing to the growth of the application by:

  • Selling digital cards they own
  • Earn points or tokens for the real-world performance of the cards they own
  • Recording accurate game statistics of local high school, college, or professional games
  • Writing editorials and/or commenting on other articles (like Steemit)

Athletes could be compensated for:

  • Their real-world performance, which could be a percentage of the fantasy points they generated for all owners of their digital card
  • Writing editorials and/or commenting on other articles (like Steemit)
  • Selling identity-branded merchandise on the platform (example: a jersey)

Task #2: Learn C++

Because there are test networks and some documentation available, I can deduce most of the things I need to learn to become an EOS developer. However, after doing from preliminary Google searches for EOS tutorials and development walkthroughs, I quickly realized I have a large mountain to climb. While EOS will be able to compile contracts written in Solidity (which I am at least familiar with), that may not be the best solution. I noticed several mentions of WebAssembly being used in EOS development. WebAssembly compiles C, C++, and Rust into extremely fast and dynamic web applications. While it will be more time, the payout appears to be much greater if I learn C++ for WebAssembly.

Task #3: Learn How to Compile C++ Program to WebAssembly

As discussed above, WebAssembly seems to be the application framework of the future. It certainly seems to be the framework of choice for EOS application development.

Task #4: Learn How to Create EOS-Based Accounts

Both users and athletes will need an EOS-based account to use this application. Such accounts allow account recovery if they lose their private key, and the ability to maintain a non-editable, distributed ledger of the exchanging of digital assets.

Here Goes Nothin’

I may fail. I certainly hope I do not - but even if I do, I will document as much as I can to contribute to the current lack of EOS development documentation out there for other aspiring EOS developers. At the very least, some developers will see what not to do when they reach the same blocks I do.

If you are a developer and open to tutoring a novice like me, I am all ears. I will have to publicly share your knowledge sometimes for other aspiring developers like me, but I will be sure to give you credit. Otherwise, let the bumpy road to becoming an EOS developer begin here!

Sort:  

@kyle-pro, let me be the first to welcome you to Steemit! Congratulations on making your first post!

I gave you a $.05 vote!

Would you be so kind as to follow me back in return?

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.033
BTC 71095.13
ETH 3686.44
USDT 1.00
SBD 3.76