Multi-Prover AVS Tooling

This project provides a command-line interface (CLI) tool for managing Multi-Prover Attestation Verification Services (AVS) on EigenLayer using Trusted Execution Environments (TEEs).

Overview

The Multi-Prover AVS Tooling enables developers to deploy contracts, monitor TEE and contract status, and initialize the TEE environment. It leverages Web3.js for Ethereum interactions and includes utility functions for handling TEE operations.

Features

  • Deploy Contracts: Deploy Multi-Prover AVS contracts on EigenLayer.
  • Monitor Status: Monitor TEE and contract events to ensure reliability and integrity.
  • Initialize Environment: Initialize the TEE environment for secure execution.

Project Structure

The project is structured as follows:

multi-prover-avs-tooling/ │ ├── contracts/ # Smart contracts directory │ └── MultiProverAVS.sol # Example Multi-Prover AVS smart contract │ ├── scripts/ # Deployment and management scripts │ ├── deploy.js # Script to deploy contracts using Web3.js │ └── monitor.js # Script to monitor TEE and contract status │ ├── cli/ # Command-line interface directory │ ├── index.js # Main CLI entry point │ ├── commands/ # Command modules directory │ │ ├── init.js # Command to initialize TEE environment │ │ ├── deploy.js # Command to deploy Multi-Prover AVS contract │ │ └── monitor.js # Command to monitor TEE and contract status │ └── utils/ # Utility functions directory │ ├── README.md # Project documentation └── package.json # Node.js package file

  1. Clone the repository:

    git clone https://github.com/arhansuba/multi-prover-avs-tooling.git
    cd multi-prover-avs-tooling
    npm install

Update Ethereum RPC endpoint in web3.js if needed (cli/utils/ethereum.js). Usage Initialize TEE Environment

npm run init Deploy Multi-Prover AVS Contract

npm run deploy Monitor TEE and Contract Status

npm run monitor Configuration Update configurations in config.json or environment variables as needed. Ensure Ethereum node (http://localhost:8545) is running for contract interactions. Contributing Contributions are welcome! Please fork the repository and submit pull requests.

License This project is licensed under the MIT License - see the LICENSE file for details.

Usage

Copy the entire Markdown content above and paste it into your README.md file in your project directory. This template provides a structured overview of your project, its features, installation instructions, usage examples, and guidance on contributing and licensing. Adjust the content as per your project's specifics and requirements.