book-openPublicContract

Sync contract wrapper with transparent read-only access

Synchronous contract wrapper for read-only transparent access to Seismic contracts.

Overview

PublicContract provides a simplified interface for reading public contract state without requiring encryption or a private key. It exposes only the .tread namespace for standard eth_call operations. Use this class when you only need to read public contract data and don't need shielded operations.

Definition

class PublicContract:
    def __init__(
        self,
        w3: Web3,
        address: ChecksumAddress,
        abi: list[dict[str, Any]],
    ) -> None:
        ...

Constructor Parameters

Parameter
Type
Required
Description

w3

Web3

Yes

Synchronous Web3 instance connected to RPC endpoint

address

ChecksumAddress

Yes

Contract address (checksummed Ethereum address)

abi

list[dict[str, Any]]

Yes

Contract ABI (list of function entries)

Namespace

.tread - Transparent Read

Executes standard eth_call with unencrypted calldata. This is the only namespace available on PublicContract.

Returns: Any (ABI-decoded Python value)

Optional Parameters: None (pass positional arguments only)

Examples

Basic Read Operations

Single and Multiple Returns

Array Results

Error Handling

Notes

  • Read-only: No write operations available (no .write, .twrite, or .dwrite namespaces)

  • No encryption required: Does not use EncryptionState or private keys

  • No authentication: Standard unsigned eth_call operations

  • Gas not consumed: eth_call is free (doesn't create transactions)

  • Public data only: Cannot access shielded/encrypted contract state

See Also

Last updated