WeaveVM (WVM)
  • WeaveVM (WVM)
  • About WeaveVM
    • Overview
    • Network Releases Nomenclature
    • WeaveVM Alphanets
    • Key Features
    • ELI5
  • Using WeaveVM
    • Compatibility
    • Network configurations
    • WeaveVM Bundler
    • WeaveVM Bundler Gateways
    • wvm:// Data Protocol
    • WeaveVM Precompiles
    • WeaveVM-Native JSON-RPC Methods
    • Self-Hosted RPC Proxies
      • Rust Proxy
      • JavaScript Proxy
    • Code & Integrations Examples
      • ether-rs
      • ethers (etherjs)
      • Deploying an ERC20 Token
  • WeaveVM for evm chains
    • Ledger Archiver (any chain)
    • Ledger Archivers: State Reconstruction
    • DA ExEx (Reth-only)
    • Deploying OP-Stack Rollups
  • WeaveVM ExEx
    • About ExExes
    • ExEx.rs
    • WeaveVM ExExes
      • MLExEx
      • Google BigQuery ETL
      • Borsh Serializer
      • Arweave Data Uploader
      • WeaveVM DA ExEx
      • WeaveVM WeaveDrive ExEx
  • WeaveVM Arweave Data Protocols
    • WeaveVM-ExEx Data Protocol
    • WeaveVM Precompiles Data Protocol
  • DA Integrations
    • WeaveVM-EigenDA Proxy Server
    • WeaveVM - Dymension.xyz: DA client for RollAP
  • WeaveVM Stack Hacks
    • About WeaveVM Stack Hacks
    • Data Availability Hacks
  • MEM Lambda
    • About MEM
    • About MEM Lambda
    • Parallel Execution
    • MEM Lambda Sequencer
    • Contract Example: Counter
  • WeaveVM R&D
    • About R&D
    • elciao
    • ERC-7689
    • WeaveVM & VACP
  • Sunset Network Versions
    • About Sunset Network Versions
    • WeaveVM Alphanet V1
Powered by GitBook
On this page
  • Links
  • About EigenDA Side Server Proxy
  • About WeaveVM-EigenDA Side Server Proxy Integration
  • Usage Examples
  • Examples using Web3signer as a remote signer
  • Web3 signer
  • Warnings
  1. DA Integrations

WeaveVM-EigenDA Proxy Server

Permanent EigenDA blobs

PreviousWeaveVM Precompiles Data ProtocolNextWeaveVM - Dymension.xyz: DA client for RollAP

Last updated 4 months ago

Links

EigenDa proxy:

About EigenDA Side Server Proxy

It's a service that wraps the , exposing endpoints for interacting with the EigenDA disperser in conformance to the , and adding disperser verification logic. This simplifies integrating EigenDA into various rollup frameworks by minimizing the footprint of changes needed within their respective services.

About WeaveVM-EigenDA Side Server Proxy Integration

It's a WeaveVM integration as a secondary backend of eigenda-proxy. In this scope, WeaveVM provides an EVM gateway/interface for EigenDA blobs on Arweave's Permaweb, removing the need for trust assumptions and relying on centralized third party services to sync historical data and provides a "pay once, save forever" data storage feature for EigenDA blobs.

Key Details

  • WeaveVM is a data-centric sovereign EVM L1, specialized with high data throughput (~60 MB/s in Alphanet v3) and permanent data storage interface with Arweave.

  • Current maximum encoded blob size is 8 MiB (8_388_608 bytes).

  • WeaveVM currently operating in public testnet (Alphanet) - not recommended to use it in production environment.

Prerequisites and Resources

  1. Review the configuration parameters table and .env file settings for the Holesky network.

  2. Obtain test tWVM tokens through our for testing purposes.

  3. Monitor your transactions using the .

Usage Examples

Please double check .env file values you start eigenda-proxy binary with env vars. They may conflict with flags.

Start eigenda proxy with weaveVM private key:

./bin/eigenda-proxy \
    --addr 127.0.0.1 \
    --port 3100 \
    --eigenda.disperser-rpc disperser-holesky.eigenda.xyz:443 \
    --eigenda.signer-private-key-hex $PRIVATE_KEY \
    --eigenda.max-blob-length 8Mb \
    --eigenda.eth-rpc https://ethereum-holesky-rpc.publicnode.com \
    --eigenda.svc-manager-addr 0xD4A7E1Bd8015057293f0D0A557088c286942e84b \
    --weavevm.endpoint https://testnet-rpc.wvm.dev/ \
    --weavevm.chain_id 9496 \
    --weavevm.enabled \
    --weavevm.private_key_hex $WVM_PRIV_KEY \
    --storage.fallback-targets weavevm \
    --storage.concurrent-write-routines 2 

POST command:

curl -X POST "http://127.0.0.1:3100/put?commitment_mode=simple" \
      --data-binary "some data that will successfully be written to EigenDA" \
      -H "Content-Type: application/octet-stream" \
      --output response.bin

GET command:

COMMITMENT=$(xxd -p response.bin | tr -d '\n' | tr -d ' ')
curl -X GET "http:/127.0.0.1:3100/get/0x$COMMITMENT?commitment_mode=simple" \
     -H "Content-Type: application/octet-stream"

Examples using Web3signer as a remote signer

Web3 signer

Warnings

start eigenda proxy with signer:

./bin/eigenda-proxy \
    --addr 127.0.0.1 \
    --port 3100 \
    --eigenda.disperser-rpc disperser-holesky.eigenda.xyz:443 \
    --eigenda.signer-private-key-hex $PRIVATE_KEY \
    --eigenda.max-blob-length 8MiB \
    --eigenda.eth-rpc https://ethereum-holesky-rpc.publicnode.com \
    --eigenda.svc-manager-addr 0xD4A7E1Bd8015057293f0D0A557088c286942e84b \
    --weavevm.endpoint https://testnet-rpc.wvm.dev/ \
    --weavevm.chain_id 9496 \
    --weavevm.enabled \
    --weavevm.web3_signer_endpoint http://localhost:9000 \
    --storage.fallback-targets weavevm \
    --storage.concurrent-write-routines 2 

start web3signer tls:

./bin/eigenda-proxy \
    --addr 127.0.0.1 \
    --port 3100 \
    --eigenda.disperser-rpc disperser-holesky.eigenda.xyz:443 \
    --eigenda.signer-private-key-hex $PRIVATE_KEY \
    --eigenda.max-blob-length 8MiB \
    --eigenda.eth-rpc https://ethereum-holesky-rpc.publicnode.com \
    --eigenda.svc-manager-addr 0xD4A7E1Bd8015057293f0D0A557088c286942e84b \
    --weavevm.endpoint https://testnet-rpc.wvm.dev/ \
    --weavevm.chain_id 9496 \
    --weavevm.enabled \
    --weavevm.web3_signer_endpoint https://localhost:9000 \
    --storage.fallback-targets weavevm \
    --storage.concurrent-write-routines 2 \
    --weavevm.web3_signer_tls_cert_file $SOME_PATH_TO_CERT \
    --weavevm.web3_signer_tls_key_file $SOME_PATH_TO_KEY \
    --weavevm.web3_signer_tls_ca_cert_file $SOME_PATH_TO_CA_CERT

is a tool by Consensys which allows remote signing.

Using a remote signer comes with risks, please read the web3signer docs. However this is a recommended way to sign transactions for enterprise users and production environments. Web3Signer is not maintained by WeaveVM team. Example of the most simple local web3signer deployment (for testing purposes):

repository
high-level EigenDA client
OP Alt-DA server spec
faucet
WeaveVM explorer
Web3Signer
https://github.com/allnil/web3signer_test_deploy