Associate with each CTxMemPoolEntry all the size/fees of descendant mempool transactions. Sort mempool by max(feerate of entry, feerate of descendants). Update statistics on-the-fly as transactions enter or leave the mempool. Also add ancestor and descendant limiting, so that transactions can be rejected if the number or size of unconfirmed ancestors exceeds a target, or if adding a transaction would cause some other mempool entry to have too many (or too large) a set of unconfirmed in- mempool descendants. (cherry picked from commit bitcoin/bitcoin@5add7a74a6) Zcash: - Mempool methods were adapted to our mempool changes. - Default ancestor and descendant size limits were double to account for our larger block size. - The mempool_packages RPC test fee was adapted to account for our emissions curve (which results in a smaller per-block reward that needs to be split into smaller shards for sequential transactions. - Includes some modifications to account for us backporting bitcoin/bitcoin@f3fe83673e early in zcash/zcash#5269. |
||
---|---|---|
.cargo | ||
.github | ||
build-aux/m4 | ||
contrib | ||
depends | ||
doc | ||
qa | ||
share | ||
src | ||
test/lint | ||
zcutil | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
CONTRIBUTING.md | ||
COPYING | ||
Cargo.lock | ||
Cargo.toml | ||
INSTALL | ||
Makefile.am | ||
README.md | ||
SECURITY.md | ||
autogen.sh | ||
code_of_conduct.md | ||
configure.ac | ||
libzcash_script.pc.in | ||
rust-toolchain.toml |
README.md
Zcash 5.3.2
![](/zecfoundation/zcashd/media/commit/b63c58500a800938819a3bd9c1e78a7f6f9c787a/doc/imgs/logo.png)
What is Zcash?
Zcash is an implementation of the "Zerocash" protocol. Initially based on Bitcoin's design, 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.
The zcashd
Full Node
This repository hosts the zcashd
software, a Zcash consensus node
implementation. 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 several days.
The zcashd
code is derived from a source fork of
Bitcoin Core. The code was forked
initially from Bitcoin Core v0.11.2, and the two codebases have diverged
substantially.
🔒 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.
Other Zcash Implementations
The Zebra project offers a different Zcash consensus node implementation, written largely from the ground up.
Getting Started
Please see our user guide for instructions on 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.