Use the eth.abc abstract base classes for interface implementation
mainThe eth.abc module provides a collection of Abstract Base Classes (ABCs) that define the documented interfaces for the py-evm ecosystem. Developers implementing custom components (such as new database backends, custom transaction types, or specialized execution environments) should inherit from these classes to ensure compatibility with the rest of the library.
Key interface groups include:
- Blockchain Data:
BlockAPI,BlockHeaderAPI,LogAPI,ReceiptAPI,ChainAPI. - Transactions:
BaseTransactionAPI,UnsignedTransactionAPI,SignedTransactionAPI,TransactionFieldsAPI. - State & Storage:
StateAPI,AccountDatabaseAPI,AccountStorageDatabaseAPI,DatabaseAPI,AtomicDatabaseAPI. - Execution Engine:
VirtualMachineAPI,ExecutionContextAPI,TransactionExecutorAPI,ComputationAPI,GasMeterAPI. - EVM Internals:
StackAPI,MemoryAPI,OpcodeAPI,CodeStreamAPI,StackManipulationAPI.