Hello world! Welcome to another edition of the Web3 Python Weekly. Each week we’ll bring you one exercise, tweet, & video to keep you up to date on all things happening at the crossroads of Web3 & python. Thanks for joining us!
Replacing web3.py and ethers.py with Mohamed Sohail Azim
The Chaintool Library
Chaintool is an alternative web3 python library.
It's an attempt at an agnostic approach to interface blockchain RPCs, while also providing tools for controlling transaction delivery and syncing of results.
The project centers on building daemons and command-line tooling, favoring the GNU approach of piping tools that do one job well. It aims to encourage closer interaction with actual blockchain nodes in the end-user environment, as a counterweight to heavily abstracted as-a-service dashboard-centric applications.
Chaintool consists of a set of libraries and executables. The libraries do not only center on high-level constructs, but also encourage use of low-level approaches such as encoding and decoding type serializations and wire formats.
Currently, chaintool has only been implemented for the EVM. It includes executables for many common actions such as token balance checks, token transfers, as well as encoding and decoding bytecode.
What does Chaintool aim to provide?
- chain-agnostic blockchain rpc access
- cli tools for common blockchain actions
- access to multiple levels of abstraction
- pluggable infrastructure for arbitary code execution on blockchain events
What’s an interesting use case for Chaintool?
- Replacement for web3.py and ethers.py
- Writing chain indexers and event trackers.
- CLI tools to almost fully interact with any EVM blockchain and smart contracts on it without leaving your terminal.
Examples of applications written with chaintool:
- cic-stack (Bidirectional custodial engine)
- eth-monitor (Monitor and cache transactions using match filters)
- ethereum development with chaintool libraries
How to get started:
Most of the libraries are largely undocumented (WIP), however the library itself is easy to use and reading through the tests is enough to understand how to use it.
For specific questions, you could open an issue or reach out to the devs on Discord.
You can find more information about us here:
Website
Docs
Github
Curve Vyper Tutorial Lesson 6: Imports by Gerrit Hall
Vyperlang tips for noobs
Took a couple of days to dive into @vyperlang and code some smart contracts with Vyper as a complete noob, here are some tips for 2023.
A thread🧵👇
That's it for today & see ya next time! If you liked this issue, be sure to share!