Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Architecture

Overview

Brane provides a layered architecture separating client APIs from transport providers.

Architecture Overview

Client Layer

The Brane sealed interface is the main entry point:

  • Brane.Reader - Read-only operations: balance queries, block fetching, eth_call, event logs
  • Brane.Signer - All Reader operations plus transaction signing and sending
  • Brane.Tester - All Signer operations plus test node manipulation (snapshots, impersonation, time control)

DefaultSigner delegates read operations to an internal DefaultReader instance. DefaultTester delegates signing operations to an internal DefaultSigner instance.

Provider Layer

BraneProvider abstracts the transport mechanism:

ProviderUse Case
HttpBraneProviderStandard request/response, stateless, serverless-friendly
WebSocketProviderReal-time subscriptions, persistent connection

Module Dependencies

Module Dependencies
ModulePurposeDependencies
brane-primitivesHex/RLP utilitiesNone
brane-coreTypes, ABI, crypto, transaction buildingBouncyCastle, Jackson
brane-kzgKZG commitments for EIP-4844 blobsc-kzg-4844
brane-rpcJSON-RPC client layerNetty, Disruptor
brane-contractContract binding (no codegen)-