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.
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:
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.
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:
<script> tag + a web browserUnless 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.