Open James4Ever0 opened 8 months ago
titanoboa works with vyper contracts, not solidity
Titanoboa allows importing contract via ABI and that enables resolving both Vyper and Solidity contracts.
import boa
filename = "foo.json"
boa.load_abi(src, name="Foo")
I mean something like TypeChain in Python. I made my own attempt available as Pytract.
Also I want to have a history-free blockchain-free storage efficient stateful persistent EVM-like system locally without any gas fee and deployment fee, to empower my local accounting system. I am doing both pure Python solution and EVM emulation based solution. I believe a centralized typed Web3-like environment is a good and cheap starting point for every Web2 developer.
Overview
I am trying to let Boa have a type safe interface for smart contracts.
I want to generate a Pydantic compatible interface for interacting with smart contracts, into a portable Python script, so people can use that script to get type hints while using IDE.
Boa currently only provides an interactive environment, no Python APIs generated.
Specification
I want to generate APIs via the contract ABIs. If possible, just parse the Vyper code and generate compatible API Python code.
It will first generate all used data structures for each contract, for passing into the contract methods.
Contracts are transformed into Python classes.
FInally these Python API code will be stored into a folder like structure, installable and callable from external Python code.
Dependencies
Pydantic: the data validator