| Crates.io | didwebvh-rs |
| lib.rs | didwebvh-rs |
| version | 0.1.15 |
| created_at | 2025-08-07 04:05:34.137915+00 |
| updated_at | 2025-12-04 04:11:17.595874+00 |
| description | Implementation of the did:webvh method in Rust |
| homepage | https://didwebvh.info/ |
| repository | https://github.com/decentralized-identity/didwebvh-rs |
| max_upload_size | |
| id | 1784670 |
| size | 747,863 |
A complete implementation of the did:webvh method in Rust. Supports version 1.0 spec.
A helpful implementation site is the webvh DID Method Information site
Add this to your Cargo.toml:
[dependencies]
didwebvh-rs = "0.1.15"
Then:
use didwebvh_rs::DIDWebVHState;
let mut webvh = DIDWebVHState::default();
// Load LogEntries from a file
webvh.load_log_entries_from_file("did.jsonl")?;
Getting started with webvh at first can be daunting given the complexity of the specification and supporting infrastructure such as witness and watcher nodes.
To help with getting started, a wizard for webvh has been created to help you.
To run this wizard, you need to have Rust installed on your machine.
cargo run --example wizard -- --help
WARNING: This wizard will generate secrets locally on your machine, and display the secret on the screen.
The wizard is meant for demonstration purposes only. Use in a production environment is not recommended.
did.jsonl is the default WebVH LogEntry file that the wizard will create.
did-witness.json where Witness Proofs are saved.
did.jsonl-secrets is the default file containing key secrets
There is a lot going on with the WebVH DID method. A lot of keys, signing and validations
Depending on how often you are creating LogEntries, number of witnesses etc can have a big impact on performance.
To help with testing different usage scenario's, there is an example tool that can help you with testing real-world performance of the WebVH method.
To get options for the generate_history performance tool, run:
cargo run --release --example generate_history -- --help
For example, to generate 200 LogEntries with 10 witnesses each, you can run:
cargo run --release --example generate_histroy -- -c 200 -w 10
This tool will save the output to
Licensed under: