This content originally appeared on Level Up Coding - Medium and was authored by Andrew Efurhievwe
Sharing My Blockchain Development Learning Experience: Building a Cryptocurrency Exchange App and an ERC-20 Token (Part 1)
A new year, a new programming language, a new tech stack, a new skill, a new me!
I am currently learning blockchain and web3 development, so I thought I should document my experience on the entire process of creating my own token and crypto exchange app. This is also my first attempt at writing, so thoughts, suggestions and criticisms are highly welcome. I have also included links to additional resources I used to learn.
Prior to this project, I had originally learnt the basics of solidity and I was already fairly competent (if I do say so myself😜) in React.js, so if for some strange reason you decide to use this article as a guide, consider this a head’s up.
I began the process of building this project like any other experienced and seasoned developer would, by experimenting with the code, because why spend minutes going through official documentation when you can waste your entire day debugging avoidable errors am I right? So when that inevitably failed, I humbly decided to go back to the basics to learn how blockchains worked, Ethereum, cryptography, wallets, Dapps (Decentralised apps), basics of smart contracts and web3 and finally Ethereum tokens and cryptocurrency exchanges. Basically, my goal is to create my own ERC-20 token, which is basically an Ethereum based token using predefined protocols (called ERC-20), then create a basic cryptocurrency exchange where people can exchange my token for Etherium.
Once I was done learning the blockchain fundamentals, I proceeded to set up my local dev environment. I had been using Remix, which is an online IDE (pretty useful for learning the basics of solidity), but it is kind of limited in terms of functionality and I honestly doubt it’s being used to develop production apps. I am running the Windows 11 OS, so for Linux or Mac users, the process might be a little different. I installed node js ( mostly to install other packages and dependencies), Truffle for compiling, testing and deploying your smart contracts among other things and Ganache which is basically a personal blockchain running on your computer. For my text editor, I chose to stick with good old Visual Studio Code. I already had python and React installed on my system, so there was no need to repeat that.
After creating a new React app with create-react-app 😅, I installed several dependencies, such as web3.js (duh!), react-redux for front-end state management, bootstrap, openzeppelin for building flexible and reusable solidity components, amongst others (it’s kind of a long list). Since this is an ongoing project, more dependencies will be added along the way if need be.
To round up the initial phase of this project, I decided to configure truffle and Ganache in my project to ensure the process of deploying contracts on my test blockchain as well as running migrations would be seamless. The current code can be found here. You can also check out my other projects here.
For the fundamentals of blockchain development, I recommend Dapp University, but you can always DYOR.
In the nearest future and hopefully the next post, I will be adopting test-driven development by creating basic tests for my contracts ( mostly to avoid coding mythical abominations into existence), and also creating my very own ERC-20 token. Till then…..
Sharing My Blockchain Development Learning Experience: Building a Cryptocurrency Exchange App and… was originally published in Level Up Coding on Medium, where people are continuing the conversation by highlighting and responding to this story.
This content originally appeared on Level Up Coding - Medium and was authored by Andrew Efurhievwe
Andrew Efurhievwe | Sciencx (2022-01-05T22:28:28+00:00) Sharing My Blockchain Development Learning Experience: Building a Cryptocurrency Exchange App and…. Retrieved from https://www.scien.cx/2022/01/05/sharing-my-blockchain-development-learning-experience-building-a-cryptocurrency-exchange-app-and/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.