DEVELOPER PERSPECTIVE: How to Become a Solidity Blockchain Coding Ninja

Contributed by Jordan – a Blockchain Developer Building on Celo, an EVM-compatible blockchain

This is an expedition, not of self-discovery, but a marathon of a learning experience in blockchain and emerging technology. I have had my fair share of surprises, and if you were anything like me when I started with programming, you would need this advice.

“Never feel bad about failing.”

and

”Persistence is the key to becoming a better coder.”

That is what my grandma tells me.

As we embark on this marathon of becoming a blockchain developer, as is the name given to someone who builds on a blockchain, when someone mentions blockchain, what comes first to your mind is cryptocurrencies.

All cryptocurrencies are built on what is known as Distributed Ledger Technology (DLT) and blockchain is the most popular form of it.

Most cryptocurrencies based on the Ethereum blockchain / platforms are created using a language known as Solidity – For anyone who wants to learn how to cook grandma’s pie, you must know the recipe.

This also applies to anyone who wants to learn how to make Smart Contracts (ERCs Tokens), dApps (Decentralized Applications) or get into the ICO game.

Learning Solidity is an absolute must!

Solidity is easy, but if you have no experience in any programming language, it can be overwhelming for starters since it is a blend of C++, Python, and JavaScript.

One must have the basics of either two of the above languages to master Solidity.

___________________________________________________________________

SEE ALSO65% of All Web 3 Developers Joined in 2021 – Over 20% Joined Ethereum

___________________________________________________________________


Understanding the differences between web2.0 and web3.0

Web2.0 Web3.0

The second generation of internet services (Web2) focused on interaction while the third generation of the internet (Web3) is focused on decentralization and semantic learning mostly dominated by web applications and smart applications based on AI and ML.

The focus is primarily on community development with a particular focus on empowering individual users.

Building on Web2 vs Web3

Building on web3 is a little different from the way we normally do database design.

As a back-end developer, you have to scrap off your mind the backend design you’re used. In web3, this is largely detemined by how your smart contract looks like and the complementing tools that need to be added for the user to interact with it.

Building on web2 implies building for the mass users of the internet with an experience they are familiar with (which is not the case in web3 i.e Metaverse) to make it tangible through logging in with username and password or sometimes email address.

Building on web3 implies building for crypto-native users with emphasis on decentralization of solutions to make it tangible while giving them more control of their data.


What You Need to Transition from a Web2 into Web3 Developer

The most import thing to know when you are tansitioning from any tech onto web3 is to know:

  • The basics of blockchain
  • What you need to work with
  • What is the purpose of the tech
  • How it works and protocols used

Web3 has protocols just like how we have web2 http protocols. Understanding this is important as it will help you understand what you will be building.

Once you understand the purpose of the tech, you can get started on the smart contracts since this is how you will actually program the blockchain. Learn the different types of smart contracts, from fungible to Non-fungble tokens (NFTs) all the way to the backend of your decentralized app.

For back-end developers, the big change is the design of the backend which normally connects to a database. You will need to understand how to write your smart contract code for they will make the magical portion of your work and dApps.

For front-end developers, you need to learn how to interface with blockchain. Just like in web2, a decentalized app consists of two components:

  • Front-end (any front-end framework of your choice)
  • Back-end (Smart contracts)

There are different libraries you can choose to interface with blockchains. For Ethereum and Celo APIs, these include:

  • Ethereum Blockchain
  • Ethers.js
  • Web 3.js
  • Celo Blockchain
  • Celo ContractKit
  • Celo Ethers Wrapper

Note that there are many blockchains out there and nearly all of them have their own unique ways of writing or building smart contracts.

However, Solidity is the most-used language by Ethereum Virtual Machine (EVM) which integrates many blockchains.

Learning solidity will not only serve you on Ethereum chain, but more so, on the job market since the solidity developer community is the largest of any blockchain and where when you have bug issues resolved.

Development Tools

Ethereum and EVM-compatible blockchains have a large and growing number of tools to help developers build, test, and deploy their applications.

Some blockchains have a lot of setting up to do which, I think, turns off most developers like myself from developing on top of these blockchain solutions.

Here are the key development tools you need:

  • Solidity – The most popular language on Ethereum, inspired by C++, Python, and JavaScript
  • IPFS – The InterPlanetary File System is a decentralized storage and file referencing system for Ethereum
  • MetaMask – https://metamask.io/
  • Remix – http://remix.ethereum.org/
  • Ganache – http://truffleframework.com/ganache/
  • Web3 – https://github.com/ethereum/web3.js/
  • Truffle – https://github.com/trufflesuite/truffle/
  • Rinkeby Faucet – https://faucet.rinkeby.io/
  • NPM – https://nodejs.org

Here are some cool definitions and info that will also come in handy:

  • Smart Contracts – A computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of credible transactions without third parties. ERC Token Standards. ERCs (Ethereum Request for Comments), are technical documents used by smart contract developers at Ethereum. E.g ERC20, ERC721, ERC223, ERC-777 (and ERC-820) Standard
  • dApps – A computer application that runs on a distributed computing system. dApps have been popularized by distributed ledger technologies (DLT) such as the Ethereum Blockchain, where dApps are often referred to as smart contracts
  • DAOs – A Decentralized Autonomous Organization (DAO), sometimes labelled a decentralized autonomous corporation (DAC) or decentralized autonomous nonprofit organization (DANO) is an organization represented by rules encoded as a transparent computer program, controlled by shareholders, and not influenced by a central government
  • Crypto Games are video games with a fully or partially distributed ledger architecture that operate on top of a cryptocurrency/network giving players provable ownership over the virtual. goods they contain. This also allows players to exchange value (Cryptokitties, Cryptoflowers are popular and based on the ethereum platform).

Conclusion

As blockchain technology continues to evolve, so will its professional opportunities.

The blockchain is here with us to stay which means that blockchain expertise will be in high demand for years to come.

So whether you are a techie or not, a career in blockchain is a new and exciting opportunity worth exploring.

___________________________________________________________________

RECOMMENDED READING[WATCH] Introducing DeFisset.com – A DeFi Asset Tracker by a Ghanaian-based Blockchain Developer

___________________________________________________________________

Thank you for your support by helping us create content:

BTC address: 3CW75kjLYu7WpELdaqTv722vbobUswVtxT

ERC20 Address: 0xBc11cFa590C6CC465248D77d399C3106B881cC0E

SOL address: 9cC65AWFHj848kntcoyiT8av3jiRQEqyTTmBR1GvVUb

____________________________________________________________________

Follow us on Twitter for latest posts and updates

Join and interact with our Telegram community

_____________________

Subscribe to our YouTube channel below to learn more:

________________________________________________________________