{"id":13532307,"url":"https://github.com/zcash/librustzcash","last_synced_at":"2025-05-14T01:09:38.498Z","repository":{"id":37933029,"uuid":"85334928","full_name":"zcash/librustzcash","owner":"zcash","description":"Rust-language assets for Zcash","archived":false,"fork":false,"pushed_at":"2025-03-31T16:29:17.000Z","size":81262,"stargazers_count":341,"open_issues_count":230,"forks_count":268,"subscribers_count":33,"default_branch":"main","last_synced_at":"2025-04-01T09:06:12.996Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zcash.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.md","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":"2017-03-17T16:53:39.000Z","updated_at":"2025-03-27T14:11:56.000Z","dependencies_parsed_at":"2023-02-10T11:01:24.337Z","dependency_job_id":"ac96d42d-4cb8-42ad-82e0-0f73fbc40c4c","html_url":"https://github.com/zcash/librustzcash","commit_stats":{"total_commits":2181,"total_committers":48,"mean_commits":45.4375,"dds":0.7455295735900963,"last_synced_commit":"f293526aa25bd4d813adc30e3c17403ec64f62ee"},"previous_names":[],"tags_count":157,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zcash%2Flibrustzcash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zcash%2Flibrustzcash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zcash%2Flibrustzcash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zcash%2Flibrustzcash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zcash","download_url":"https://codeload.github.com/zcash/librustzcash/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247962592,"owners_count":21024870,"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":[],"created_at":"2024-08-01T07:01:09.921Z","updated_at":"2025-04-09T02:11:42.257Z","avatar_url":"https://github.com/zcash.png","language":"Rust","funding_links":[],"categories":["Rust","Privacy Coins","Cryptography"],"sub_categories":["Others"],"readme":"# Zcash Rust crates\n\nThis repository contains a (work-in-progress) set of Rust crates for working\nwith Zcash.\n\n```mermaid\ngraph TB\n    subgraph librustzcash\n        direction TB\n        subgraph main\n        zcash_address\n        zcash_primitives\n        zcash_transparent\n        zcash_proofs\n        zcash_protocol\n        pczt\n        zcash_client_backend\n        zcash_client_sqlite\n        zcash_keys\n        zip321\n        end\n\n        subgraph standalone_components\n        equihash\n        f4jumble\n        zcash_encoding\n        end\n    end\n\n    subgraph shielded_protocols\n    sapling[sapling-crypto]\n    orchard[orchard]\n    end\n\n    subgraph protocol_components\n    zcash_note_encryption\n    zip32\n    zcash_spec\n    end\n\n    zcash_client_sqlite --\u003e zcash_client_backend\n    zcash_client_backend --\u003e zcash_primitives\n    zcash_client_backend --\u003e zip321\n    zcash_client_backend --\u003e zcash_keys\n    pczt --\u003e zcash_primitives\n    zcash_proofs --\u003e zcash_primitives\n    zcash_primitives --\u003e zcash_protocol\n    zcash_primitives --\u003e equihash\n    zcash_primitives --\u003e zcash_encoding\n    zcash_primitives --\u003e zcash_address\n    zcash_primitives --\u003e zcash_transparent\n    zcash_primitives --\u003e sapling\n    zcash_primitives --\u003e orchard\n    zcash_keys --\u003e zcash_address\n    zcash_keys --\u003e zcash_encoding\n    zcash_keys --\u003e zip32\n    zcash_keys --\u003e zcash_transparent\n    zcash_keys --\u003e orchard\n    zcash_keys --\u003e sapling\n    zcash_transparent --\u003e zcash_protocol\n    zcash_transparent --\u003e zcash_address\n    zcash_transparent --\u003e zip32\n    zip321 --\u003e zcash_address\n    zip321 --\u003e zcash_protocol\n    zcash_address --\u003e zcash_protocol\n    zcash_address --\u003e f4jumble\n    zcash_address --\u003e zcash_encoding\n    sapling --\u003e zcash_note_encryption\n    sapling --\u003e zip32\n    sapling --\u003e zcash_spec\n    orchard --\u003e zcash_note_encryption\n    orchard --\u003e zip32\n    orchard --\u003e zcash_spec\n\n    main --\u003e standalone_components\n\n    librustzcash --\u003e shielded_protocols\n    shielded_protocols --\u003e protocol_components\n\n    click zcash_address \"https://docs.rs/zcash_address/\" _blank\n    click zcash_primitives \"https://docs.rs/zcash_primitives/\" _blank\n    click zcash_transparent \"https://docs.rs/zcash_transparent/\" _blank\n    click zcash_proofs \"https://docs.rs/zcash_proofs/\" _blank\n    click zcash_protocol \"https://docs.rs/zcash_protocol/\" _blank\n    click zcash_keys \"https://docs.rs/zcash_keys/\" _blank\n    click zip321 \"https://docs.rs/zip321/\" _blank\n    click pczt \"https://docs.rs/pczt/\" _blank\n    click zcash_client_backend \"https://docs.rs/zcash_client_backend/\" _blank\n    click zcash_client_sqlite \"https://docs.rs/zcash_client_sqlite/\" _blank\n    click equihash \"https://docs.rs/equihash/\" _blank\n    click f4jumble \"https://docs.rs/f4jumble/\" _blank\n    click zcash_encoding \"https://docs.rs/zcash_encoding/\" _blank\n    click sapling \"https://docs.rs/sapling-crypto/\" _blank\n    click orchard \"https://docs.rs/orchard/\" _blank\n    click zcash_note_encryption \"https://docs.rs/zcash_note_encryption/\" _blank\n    click zip32 \"https://docs.rs/zip32/\" _blank\n    click zcash_spec \"https://docs.rs/zcash_spec/\" _blank\n```\n\n### Crates\n\n#### Zcash Protocol\n\n* `zcash_protocol`: Constants \u0026 common types\n  - consensus parameters\n  - bounded value types (Zatoshis, ZatBalance)\n  - memo types\n* `zcash_transparent`: Bitcoin-derived transparent transaction components\n  - transparent addresses\n  - transparent input, output, and bundle types\n  - support for transparent parts of pczt construction\n* `zcash_primitives`: Core utilities for working with Zcash transactions\n  - the primary transaction data type\n  - transaction builder(s)\n  - proving, signing, \u0026 serialization\n  - low-level fee types\n* `zcash_proofs`: The Sprout circuit \u0026 proving system\n\n#### Keys, Addresses \u0026 Wallet Support\n\n* `zcash_address`: Parsing \u0026 serialization of Zcash addresses\n  - unified address, fvk \u0026 ivk containers\n  - no dependencies on protocol-specific types\n  - serialization API definitions\n* `zip321`: Parsing \u0026 serizalization for ZIP 321 payment requests\n* `zcash_keys`: Spending Keys, Viewing Keys, \u0026 Addresses\n  - protocol-specific \u0026 Unified address types\n  - ZIP 32 key \u0026 address derivation implementations\n  - Unified spending keys \u0026 viewing keys\n  - Sapling spending \u0026 viewing key types\n* `pczt`: Data types \u0026 interfaces for PCZT construction\n  - partially constructed transaction types\n  - transaction construction role interfaces \u0026 partial implementations\n* `zcash_client_backend`: A wallet framework for Zcash\n  - wallet data storage APIs\n  - chain scanning\n  - light client protocol support\n  - fee calculation\n  - transaction proposals \u0026 high-level transaction construction APIs\n* `zcash_client_sqlite`: SQLite-based implementation of `zcash_client_backend` storage APIs\n\n#### Utilities \u0026 Common Dependencies\n\n* `f4jumble`: Encoding for Unified addresses\n* `zcash_encoding`: Bitcoin-derived transaction encoding utilities for Zcash\n* `equihash`: Proof-of-work protocol implementation\n\n\n## Security Warnings\n\nThese libraries are under development and have not been fully reviewed.\n\n## License\n\nAll code in this workspace is licensed under either of\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall\nbe dual licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzcash%2Flibrustzcash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzcash%2Flibrustzcash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzcash%2Flibrustzcash/lists"}