Web3 Development - Series Introduction

in web3 •  2 years ago 

I've decided to try my hand at writing a series of tutorials/guides outlining the basics of software that interacts with web3. For those new to web3 and/or curious of its importance, I'd suggest starting with Ethereum's own What is Web3? article.

This post serves as both an announcement of sorts and (probably depending on platform) an evolving guide to the various prerequisites involved. Depending on use case and context, some items may be optional or vary extensively per individual.

Scope

The intention is to branch this off into 2.5 development environments - Python and Javascript (backend NodeJS and frontend, framework(s) TBD).

I haven't decided how deep I'll take this series yet, but for now, I intend to cover:

  • Connecting to web3
  • Blockchain interactions
    • Getting balances of addresses
    • Getting, creating, and cancelling transactions
    • Calling contracts
    • ...
  • (Frontend only) Enabling web3 user login via Metamask, etc.

Prerequisites

Programming Experience

Ideally, the target audience is layman and beyond (everyone). Some basic knowledge of how to create and run a file in your target language is definitely a plus, but I'll try my best to get you to that point as well.

Development Environment

Somewhat related to the point above, you'll need some sort of development environment set up/configured on your computer. I'll walk though the particulars in the language-specific branches of the series as they come, but here are some examples, for reference:

Python

  • Python interpreter + rich text editor/IDE + command line (Terminal, Command Prompt, shell)
  • Fancy-pants IDE with everything built in
  • Python interpreter + command line (for the adventurous and/or patient)

Javascript

  • NodeJS + a package manager like npm or yarn + command line (Terminal, Command Prompt, shell)
  • Fancy-pants IDE with everything built in
  • For the ambitious:

RPC Endpoint Provider

Unless you plan using IPC or web sockets (I'll probably touch on this in future lessons), you'll need a standard RPC endpoint in order to talk to the blockchain over HTTP(S). This will differ depending on which chain you wish to integrate with (Ethereum, BSC, Polygon, etc.), and for some, you may want/need to sign up for third party services for this.

If you plan on spinning up your own node to talk to, your RPC endpoint will be its. Otherwise, I found this excellent list of public RPC endpoints on GitHub - https://github.com/arddluma/awesome-list-rpc-nodes-providers.


And that's that. Thanks for reading!

As mentioned earlier, this article may become dynamic where possible to support additions/improvements to the prereq list.

This article was originally published on my Publish0x Applied Web3 blog.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!