{"id":19079228,"url":"https://github.com/weavevm/wvm-data-retriever","last_synced_at":"2025-07-02T22:36:30.155Z","repository":{"id":255529981,"uuid":"851350042","full_name":"weaveVM/wvm-data-retriever","owner":"weaveVM","description":"wvm:// data retrieval protocol","archived":false,"fork":false,"pushed_at":"2025-02-12T12:25:19.000Z","size":7507,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-30T13:11:10.412Z","etag":null,"topics":["arweave","wvm"],"latest_commit_sha":null,"homepage":"https://docs.wvm.dev","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weaveVM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-02T23:50:47.000Z","updated_at":"2025-02-12T12:25:24.000Z","dependencies_parsed_at":"2024-11-03T15:17:49.820Z","dependency_job_id":"21e9e42e-d51f-493b-975b-856d6148405a","html_url":"https://github.com/weaveVM/wvm-data-retriever","commit_stats":null,"previous_names":["weavevm/wvm-data-retriever"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveVM%2Fwvm-data-retriever","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveVM%2Fwvm-data-retriever/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveVM%2Fwvm-data-retriever/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveVM%2Fwvm-data-retriever/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weaveVM","download_url":"https://codeload.github.com/weaveVM/wvm-data-retriever/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251651220,"owners_count":21621702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arweave","wvm"],"created_at":"2024-11-09T02:13:54.118Z","updated_at":"2025-04-30T05:41:32.774Z","avatar_url":"https://github.com/weaveVM.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://wvm.dev\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/weaveVM/.github/main/profile/bg.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## About\nWeaveVM Data Retriever (`wvm://`) is a protocol for retrieving data from WeaveVM network. It leverages the WeaveVM DA layer and Arweave's permanent storage to access and retrieve WeaveVM transaction data through both networks.\n\n## Build \u0026 Run\n\n```bash\ngit clone https://github.com/weaveVM/wvm-data-retriever.git\n\ncd wvm-data-retriever\n\ncargo shuttle run\n```\n\n## wvm:// workflow\n\n![](./media/wvm-protocol.png)\n\n## Server Methods\n\n### Retrieve calldata associated with an WeaveVM TXID\n\n```bash\ncurl -X GET https://gateway.wvm.dev/v1/calldata/$WVM_TXID\n```\n\nReturns the res in the format as in below. Incase the calldata settled on WeaveVM isn't Borsh-Brotli encoded, the Arweave DA verification is omitted as per the current release.\n\n```rs\npub struct HandlerGetCalldata {\n    pub calldata: String,\n    pub arweave_block_hash: String,\n    pub wvm_block_hash: String,\n    pub wvm_block_id: u32,\n    pub war_decoded_calldata: Option\u003cString\u003e, // default to Some(\"\")\n    pub wvm_data_da: bool,\n    pub ar_data_archive: bool,\n    pub da_archive_is_equal_data: bool,\n}\n```\n\n### Retrieve WeaveVM-Archiver JSON decoded calldata\n\n```bash\ncurl -X GET https://gateway.wvm.dev/v1/war-calldata/$WVM_TXID\n```\nReturns\n\n```rs\npub struct HandlerGetCalldata {\n    pub calldata: String,\n    pub arweave_block_hash: String,\n    pub wvm_block_hash: String,\n    pub war_decoded_calldata: Option\u003cString\u003e, // the decoded JSON representation of `calldata`\n    pub wvm_data_da: bool,\n    pub ar_data_archive: bool,\n    pub da_archive_is_equal_data: bool,\n}\n```\n\n## Usage as crate\n\nAdd `wvm-data-retriever` to your `Cargo.toml` \n\n```Cargo.toml\n[dependencies]\nwvm-data-retriever = { git = \"https://github.com/weaveVM/wvm-data-retriever\" }\n```\n\nAnd in your codebase:\n\n```rust\nuse wvm_data_retriever::utils::getters::{get_calldata, get_war_calldata};\n```\n\n\n## Benchmarks\n\n### Latency for /calldata\n\nThe latency includes the time spent fetching data from WeaveVM RPC and the Arweave gateway, as well as the processing time for Brotli decompression, Borsh deserialization, and data validity verification.\n\n![](./media/256kb.png)\n\n## License\nThis project is licensed under the [MIT License](./LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweavevm%2Fwvm-data-retriever","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweavevm%2Fwvm-data-retriever","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweavevm%2Fwvm-data-retriever/lists"}