{"id":22841123,"url":"https://github.com/evannetwork/vade-evan","last_synced_at":"2025-10-18T21:15:47.101Z","repository":{"id":41173091,"uuid":"263624984","full_name":"evannetwork/vade-evan","owner":"evannetwork","description":"zero-knowledge-proof VC and TnT DID handling for vade","archived":false,"fork":false,"pushed_at":"2023-12-12T13:10:45.000Z","size":4519,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-03-27T16:29:25.297Z","etag":null,"topics":["did","ssi","vc","zkp"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evannetwork.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2020-05-13T12:35:12.000Z","updated_at":"2024-09-10T11:17:30.000Z","dependencies_parsed_at":"2023-11-07T09:28:15.272Z","dependency_job_id":"a10b0c88-f5e0-4dec-9ca2-664e19b3a51a","html_url":"https://github.com/evannetwork/vade-evan","commit_stats":{"total_commits":549,"total_committers":10,"mean_commits":54.9,"dds":0.5136612021857924,"last_synced_commit":"5405f89a38072f87615a81af45d082f11b9e8177"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evannetwork%2Fvade-evan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evannetwork%2Fvade-evan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evannetwork%2Fvade-evan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evannetwork%2Fvade-evan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evannetwork","download_url":"https://codeload.github.com/evannetwork/vade-evan/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246418699,"owners_count":20773935,"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":["did","ssi","vc","zkp"],"created_at":"2024-12-13T01:14:56.238Z","updated_at":"2025-10-18T21:15:47.025Z","avatar_url":"https://github.com/evannetwork.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vade Evan\n\n[![Apache-2 licensed](https://img.shields.io/crates/l/vade-evan.svg)](./LICENSE.txt)\n\n## About\n\nThis crate allows you to use to work with DIDs and zero knowledge proof VCs.\nIt offers a command line interface and support to build package for C, Java, WASM, and exports a `VadeEvan` API to use the same functionalities in other Rust projects.\n\n## Compiling vade-evan\n\n### \"Regular\" build\n\nNo surprise here:\n\n```sh\ncargo build --release\n```\n\n### Default Features\n\nBy default features `did-sidetree`, `did-substrate`, `didcomm`, `jwt-vc`, `vc-zkp-bbs`, `cli` are used, so a default feature bundle is used and compiled to a command line interface, so basically using the default feature setup (like above) builds the same as:\n\n```sh\ncargo build --release --no-default-features --features did-sidetree, did-substrate, didcomm, jwt-vc, vc-zkp-bbs, cli\n```\n\nWhen building `vade-evan`, you usually use `target-` feature, which means that you want to include a certain set of features and want to make it available for a certain target/platform.\n\n### Targets\n\nTargets define for which platform you want to build a vade package. Also more building for more than one target is not supported. Currently these targets are available:\n\n- `target-c-sdk` - build for usage in IN3 SDK with request list\n```sh\ncargo build --release --no-default-features --features target-c-sdk\n```\n- `target-c-lib` - build for usage in C\n```sh\ncargo build --release --no-default-features --features target-c-lib\n```\n- `target-cli` - build command line interface --\u003e `./target/release/vade_evan_cli`\n```sh\ncargo build --release --no-default-features --features target-cli\n```\n- `target-java-lib` - build for usage in Java\n```sh\ncargo build --release --no-default-features --features target-java-lib\n```\n- `target-wasm` - in combination with `wasm-pack`, build for usage in WASM (see below)\n```sh\nwasm-pack build --release --target nodejs -- --no-default-features --features target-wasm\n```\n\nOne (and only one) target must be provided when building without default features.\n\n## About the builds\n\n### C builds with sdk feature\n\nFeatures can be adjusted to support integration with IN3 SDK by enabling `target-c-sdk` feature. `target-c-sdk` feature enables `HTTP` request/response managed via IN3 SDK.\n\n```sh\ncargo build --release --no-default-features --features target-c-sdk\n```\n#### Limitations of target-c-sdk feature\n\n`target-c-sdk` feature can't be used with `target-wasm`, `target-java-lib` and `target-cli` as in3 sdk specific request list pointers are integrated only with `target-c-sdk` as parameters in c-lib interface. If someone has specific need to use sdk request list pointers with targets  other than `target-c-sdk`, it will have to be done separately by editing wasm or java interfaces.\n\n### WASM\n\n#### WASM pack\n\nTo compile `vade-evan` for wasm, use wasm-pack, you can specify whether to build a browser or a nodejs environment with wasm-pack's `--target` argument. Also use the `target-wasm` feature to tell the compile how to configure `vade-evan` for the vade build.\n\nnodejs:\n\n```sh\nwasm-pack build --release --target nodejs -- --no-default-features --features target-wasm\n```\n\nbrowser:\n\n```sh\nwasm-pack build --release --target web -- --no-default-features --features target-wasm\n```\n\n#### Wrapper for WASM pack\n\nA project that wraps calls against the WASM file has been added and placed at `builds/wasm`.\n\nTo build it, you need to have to build `vade-evan` as described above, navigate to `builds/wasm` and call\n\n```sh\nyarn \u0026\u0026 yarn build\n```\n\nIf you want to try it out, navigate to `builds/wasm/example` and run\n\n```sh\nyarn \u0026\u0026 node index.js\n```\n\nThis example will generate a new DID, assign a document to it and update it afterwards.\n\n## Features\n\n### Feature name schema\n\nFeatures in this project follow a naming schema that looks as following:\n\n- `target-` features decide which build target (CLI, WASM, SDK, etc.) to build for\n\n`target-` features are intended to be used for build/run commands. Others should only be used from within `Cargo.toml` to allow including functionalities in the source files.\n\n### Feature overview\n\n| feature              | default | contents                             |\n|----------------------|:-------:|--------------------------------------|\n| target-c-sdk         |         | build for usage in SDK request_list  |\n| target-c-lib         |         | build for usage in C                 |\n| target-cli           |    x    | build command line interface         |\n| target-java-lib      |         | build for usage in Java              |\n| target-wasm          |         | build for usage in WASM              |\n| did-sidetree         |    x    | add support for using sidetree DIDs  |\n| did-substrate        |    x    | add support for using substrate DIDs |\n| didcomm              |    x    | add DIDComm support                  |\n| jwt-vc               |    x    | add support for JWT VCs              |\n| vc-zkp-bbs           |    x    | add support for BBS VCs              |\n\n## Dependencies\n\nAt the moment all vade related dependencies (vade itself and its plugins) are supposed to be pulled from the latest commit of the `develop` branch. As the dependency handling stores the hash of this commit in the lock file, updates on `develop` branch are not used by default.\n\nIf those updates should be pulled, the entry in the `Cargo.lock` file has to be deleted and `cargo build` has to be run again to update these hashes. If wanting to update specific dependencies, those can be deleted from the `Cargo.lock` by hand. If wanting to update all of the vade related dependencies, a script (`scripts/remove-vade-dependencies-from-lockfile.sh`) can be used. Note that this script relies on [dasel] so this must be installed locally, e.g. with homebrew.\n\n[dasel]: https://github.com/TomWright/dasel\n[`Vade`]: https://docs.rs/vade_evan/*/vade/struct.Vade.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevannetwork%2Fvade-evan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevannetwork%2Fvade-evan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevannetwork%2Fvade-evan/lists"}