Skip to content

Release 0.0.1

RonTuretzky edited this page Jul 20, 2025 · 1 revision

Context

The commonware repos below are foundational to the development of AVSs. There is still a base level of development needed to make it easier for AVS developers to be able to quickly spin up their AVS network. In this first release we are focusing on reaching the basic feature set needed for building a relatively centralized but working AVS.

The goal of this release is to have an allow list for who can access the AVS network but that the client software can be run by anyone.

Requirements

  • avs-router - https://github.com/BreadchainCoop/Diagrams/blob/gas-killer-spec/GasKiller/MVP/Router.md

    • HTTP Endpoint Management: Accept and validate incoming GK requests with proper error handling
    • Request Forwarding: Relay validated requests to the orchestrator for node distribution
    • Signature Metadata Handling: Fetch and manage BLS signature verification metadata
    • Response Aggregation: Collect and validate responses from the node network
    • Transaction Submission: Submit aggregated signatures and GK payloads to target contracts
    • Error Recovery: Handle node failures and retry mechanisms
  • avs-node - https://github.com/BreadchainCoop/Diagrams/blob/gas-killer-spec/GasKiller/MVP/NodeSoftware.md

    • Signature Aggregation: Aggregates BN254 curve signatures from multiple contributors, supporting threshold signing (e.g., 3-of-4).
    • Contributor Node: Each contributor runs a node, signs payloads, and broadcasts signatures to the orchestrator and peers.
    • Coordinate with Orchestrator: Coordinates aggregation rounds, initiates signing, and collects signatures.
    • Validator: Verifies message rounds and payloads, ensuring only valid signatures are accepted.
    • P2P Network: Authenticated, message-based communication between contributors and orchestrator.
    • Wire Protocol: Defines message formats for aggregation rounds and signatures.
    • Reference Operator State Retrieval: Fetches operator states from on-chain contracts for dynamic peer configuration.
  • avs-network-lookup (already complete)

    • Configuration Loading: Reads AVS deployment settings and contract addresses from a JSON file specified by an environment variable.
    • Ethereum Connectivity: Connects to Ethereum RPC endpoints (HTTP and WebSocket) to interact with on-chain data.
    • Operator Registry Reading: Uses contract addresses to instantiate readers that fetch registered operator information from the blockchain.
    • Operator State Retrieval: Queries the OperatorStateRetriever contract to get the current state (stake, keys, activity) of operators for specific quorums and blocks.
    • Operator Info Aggregation: Collects and organizes operator details (address, stake, public keys, socket, quorum number) and groups them by quorum.
    • Public Key Handling: Manages BLS public keys for operators, converting between multiple cryptographic formats as needed.
    • Data Presentation: Outputs comprehensive operator and quorum data, including addresses, stakes, keys, and communication sockets.
    • Error Handling: Implements robust error checking when loading configs, parsing addresses, and querying contracts.
  • avs-counter (already complete)

    • Boilerplate AVS Implementation: Serves as a template smart contract system for AVS development, demonstrating basic structure and deployment patterns.
    • Counter Contract: Implements a simple Solidity smart contract that tracks and updates a numerical count, providing increment/decrement functionality.
    • BLSSigCheckOperatorStateRetriever Deployment: Includes tooling and scripts for deploying supporting contracts related to operator state and BLS signature checking.
    • Foundry Tooling Integration: Uses Foundry for building, testing, formatting, and deploying the AVS and its contracts.
    • Local Development Node: Supports spinning up a local Ethereum node (Anvil) for testing and development.
    • Environment Configuration: Loads deployment and contract parameters from environment variables for flexible setup.
    • Command-line Utilities: Provides scripts and CLI utilities for managing and interacting with the contracts.
Clone this wiki locally