a960e896dd
Replace libzcashconsensus with libzcash_script We inherited `libzcashconsensus` from upstream (we just renamed it before launch to avoid conflicts). However, it has become increasingly inaccurately named; it only covers (Zcash's subset of) the Bitcoin scripting system, and not the myriad of other consensus changes (in particular, the shielded pools). This PR reworks the library to instead be focused on transparent script verification: - The script verification APIs are altered to take `amount` and `consensusBranchId` fields. - Equihash code is removed (the canonical Equihash validator is now the `equihash` Rust crate). - The library is renamed to `libzcash_script`. The API changes are backwards-incompatible, but the library rename prevents any issues. Also, `libzcashconsensus` was in fact broken and not compiling for several years and no one complained, suggesting that it was not actually being relied on within the ecosystem. By contrast, this focused library already has a consumer: the `zebrad` full node. Closes zcash/zcash#4879. |
||
---|---|---|
.cargo | ||
.github | ||
build-aux/m4 | ||
contrib | ||
depends | ||
doc | ||
qa | ||
share | ||
src | ||
test/lint | ||
zcutil | ||
.gitattributes | ||
.gitignore | ||
CONTRIBUTING.md | ||
COPYING | ||
Cargo.lock | ||
Cargo.toml | ||
INSTALL | ||
Makefile.am | ||
README.md | ||
autogen.sh | ||
code_of_conduct.md | ||
configure.ac | ||
libzcash_script.pc.in | ||
responsible_disclosure.md | ||
rust-toolchain |
README.md
Zcash 4.2.0
What is Zcash?
Zcash is an implementation of the "Zerocash" protocol. Based on Bitcoin's code, Zcash intends to offer a far higher standard of privacy through a sophisticated zero-knowledge proving scheme that preserves confidentiality of transaction metadata. More technical details are available in our Protocol Specification.
This software is the Zcash client. It downloads and stores the entire history of Zcash transactions; depending on the speed of your computer and network connection, the synchronization process could take a day or more once the blockchain has reached a significant size.
🔒 Security Warnings
See important security warnings on the Security Information page.
Zcash is experimental and a work in progress. Use it at your own risk.
📒 Deprecation Policy
This release is considered deprecated 16 weeks after the release day. There is an automatic deprecation shutdown feature which will halt the node some time after this 16-week period. The automatic feature is based on block height.
Getting Started
Please see our user guide for joining the main Zcash network.
Need Help?
- 📘 See the documentation at the ReadTheDocs for help and more information.
- 📨 Ask for help on the Zcash forum.
- 💬 Join our community on Discord
Participation in the Zcash project is subject to a Code of Conduct.
Building
Build Zcash along with most dependencies from source by running the following command:
./zcutil/build.sh -j$(nproc)
Currently, Zcash is only officially supported on Debian and Ubuntu. See the Debian / Ubuntu build for detailed instructions.
License
For license information see the file COPYING.