Skip to content

Latest commit

 

History

History
71 lines (53 loc) · 1.76 KB

README.md

File metadata and controls

71 lines (53 loc) · 1.76 KB

About

wvm-blobscan is a data bridge built to archive Ethereum's blob data on WeaveVM. It grabs blocks containing eip-4844 transactions from Blobscan and archive them permanently on WeaveVM..

Prerequisites & Dependencies

While the core functionality of this ETL codebase can run without web2 component dependencies, this node implementation uses planetscale for cloud indexing and shuttle.rs for backend hosting. Check .env.example to set up your environment variables.

blobscan_pk="" // WeaveVM Blobscan archiver PK

DATABASE_HOST="" // planetscale
DATABASE_USERNAME="" // planetscale
DATABASE_PASSWORD="" // planetscale

Build & Run

git clone https://github.com/weaveVM/wvm-blobscan.git

cd wvm-blobscan

cargo shuttle run

Workflow

graph TD
    A[Ethereum Block]
    B[Fetch Block Object from Blobscan API]
    C[Archive on WeaveVM]
    D[Index on PlanetScale]

    A --> B
    B --> C
    C --> D
    C -- Archive TxId --> D
Loading

Server Methods

Retrieve blob data and the associated archive txid by VersionedHash

curl -X GET https://blobscan.shuttleapp.rs/v1/blob/$BLOB_VERSIONED_HASH

Returns the res in the format as in below:

pub struct PsGetBlockByVersionedHash {
    pub ethereum_block_number: u64,
    pub wvm_archive_txid: String,
    pub versioned_hash: String,
    pub blob_data: String,
}

Retrieve Archiver stats

curl -X GET https://blobscan.shuttleapp.rs/v1/stats

License

This project is licensed under the MIT License