developers/zcash-zf-dag.html

537 lines
40 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="784pt" height="1814pt"
viewBox="0.00 0.00 784.00 1813.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1809.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1809.5 780,-1809.5 780,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-78 0,-287 516,-287 516,-78 0,-78"/>
<text text-anchor="middle" x="258" y="-271.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Support for RPC calls used by mining pools</text>
</g>
<!-- ZcashFoundation/zebra#5934 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#5934</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5934" xlink:title="ZcashFoundation/zebra#5934&#10;Manually test that Zcash&#10;mining pools can use&#10;Zebra to mine blocks on&#10;testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-255.5 8,-255.5 8,-172.5 240,-172.5 240,-255.5"/>
<text text-anchor="middle" x="124" y="-240.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5934</text>
<text text-anchor="middle" x="124" y="-225.3" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that Zcash</text>
<text text-anchor="middle" x="124" y="-210.3" font-family="Times,serif" font-size="14.00" fill="#000000">mining pools can use</text>
<text text-anchor="middle" x="124" y="-195.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra to mine blocks on</text>
<text text-anchor="middle" x="124" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5686 -->
<g id="node2" class="node closed">
<title>ZcashFoundation/zebra#5686</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5686" xlink:title="ZcashFoundation/zebra#5686&#10;Manually test that each&#10;mining RPC works&#10;correctly" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="508,-248 276,-248 276,-180 508,-180 508,-248"/>
<text text-anchor="middle" x="392" y="-232.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5686</text>
<text text-anchor="middle" x="392" y="-217.8" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that each</text>
<text text-anchor="middle" x="392" y="-202.8" font-family="Times,serif" font-size="14.00" fill="#000000">mining RPC works</text>
<text text-anchor="middle" x="392" y="-187.8" font-family="Times,serif" font-size="14.00" fill="#000000">correctly</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5686 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5686</title>
<path fill="none" stroke="#000000" d="M240.38,-214C248.71,-214 257.14,-214 265.53,-214"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-217.5001 275.74,-214 265.74,-210.5001 265.74,-217.5001"/>
</g>
<!-- ZcashFoundation/zebra#6025 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#6025</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6025" xlink:title="ZcashFoundation/zebra#6025&#10;Add a manually&#45;triggered&#10;workflow for mining a&#10;block on testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-69 276,-69 276,-1 508,-1 508,-69"/>
<text text-anchor="middle" x="392" y="-53.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6025</text>
<text text-anchor="middle" x="392" y="-38.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a manually&#45;triggered</text>
<text text-anchor="middle" x="392" y="-23.8" font-family="Times,serif" font-size="14.00" fill="#000000">workflow for mining a</text>
<text text-anchor="middle" x="392" y="-8.8" font-family="Times,serif" font-size="14.00" fill="#000000">block on testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#6025 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#6025</title>
<path fill="none" stroke="#000000" d="M229.65,-172.35C233.31,-169.43 236.78,-166.32 240,-163 267.51,-134.65 248.31,-107.58 274.17,-76.852"/>
<polygon fill="#000000" stroke="#000000" points="276.9234,-79.0366 281.3,-69.388 271.8617,-74.2014 276.9234,-79.0366"/>
</g>
<!-- ZcashFoundation/zebra#6028 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#6028</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6028" xlink:title="ZcashFoundation/zebra#6028&#10;Document how to mine on&#10;testnet using Zebra and&#10;mining pool software" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-154 8,-154 8,-86 240,-86 240,-154"/>
<text text-anchor="middle" x="124" y="-138.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6028</text>
<text text-anchor="middle" x="124" y="-123.8" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to mine on</text>
<text text-anchor="middle" x="124" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">testnet using Zebra and</text>
<text text-anchor="middle" x="124" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">mining pool software</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5297" xlink:title="ZcashFoundation/zebra#5297&#10;Add metrics for chain&#10;fork work and lengths" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-348.5 8,-348.5 8,-295.5 240,-295.5 240,-348.5"/>
<text text-anchor="middle" x="124" y="-333.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="124" y="-318.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="124" y="-303.3" font-family="Times,serif" font-size="14.00" fill="#000000">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2375" xlink:title="ZcashFoundation/zebra#2375&#10;Allow different `zebra&#45;&#10;network` apps to use&#10;different user agents" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-435 8,-435 8,-367 240,-367 240,-435"/>
<text text-anchor="middle" x="124" y="-419.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="124" y="-404.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="124" y="-389.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="124" y="-374.8" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node7" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/794" xlink:title="ZcashFoundation/zebra#794&#10;Make sure custom user&#10;agents conform to BIP&#45;14" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="503.5,-427.5 280.5,-427.5 280.5,-374.5 503.5,-374.5 503.5,-427.5"/>
<text text-anchor="middle" x="392" y="-412.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="392" y="-397.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="392" y="-382.3" font-family="Times,serif" font-size="14.00" fill="#000000">agents conform to BIP&#45;14</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M240.38,-401C250.23,-401 260.22,-401 270.11,-401"/>
<polygon fill="#000000" stroke="#000000" points="270.39,-404.5001 280.39,-401 270.39,-397.5001 270.39,-404.5001"/>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5472" xlink:title="ZcashFoundation/zebra#5472&#10;Support shielded coinbase&#10;in `getblocktemplate` for&#10;Sapling addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-623 276,-623 276,-555 508,-555 508,-623"/>
<text text-anchor="middle" x="392" y="-607.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="392" y="-592.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="392" y="-577.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate` for</text>
<text text-anchor="middle" x="392" y="-562.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5929 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#5929</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5929" xlink:title="ZcashFoundation/zebra#5929&#10;Support shielded coinbase&#10;in `getblocktemplate` for&#10;Orchard Unified addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="776,-561 544,-561 544,-493 776,-493 776,-561"/>
<text text-anchor="middle" x="660" y="-545.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5929</text>
<text text-anchor="middle" x="660" y="-530.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="660" y="-515.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate` for</text>
<text text-anchor="middle" x="660" y="-500.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Unified addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="#000000" d="M508.38,-562.08C516.81,-560.13 525.33,-558.16 533.81,-556.19"/>
<polygon fill="#000000" stroke="#000000" points="534.7823,-559.5577 543.74,-553.9 533.2092,-552.7368 534.7823,-559.5577"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3247" xlink:title="ZcashFoundation/zebra#3247&#10;Tracking: Questions for&#10;Network Audit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-624.5 8,-624.5 8,-571.5 240,-571.5 240,-624.5"/>
<text text-anchor="middle" x="124" y="-609.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="124" y="-594.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="124" y="-579.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5336 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#5336</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5336" xlink:title="ZcashFoundation/zebra#5336&#10;Relay and accept mempool&#10;transactions based on the&#10;ZIP&#45;317 fee rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-711 8,-711 8,-643 240,-643 240,-711"/>
<text text-anchor="middle" x="124" y="-695.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="124" y="-680.8" font-family="Times,serif" font-size="14.00" fill="#000000">Relay and accept mempool</text>
<text text-anchor="middle" x="124" y="-665.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="124" y="-650.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1615" xlink:title="ZcashFoundation/zebra#1615&#10;Zebra release candidate&#10;binaries should be linked&#10;from ZFND website" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-797 8,-797 8,-729 240,-729 240,-797"/>
<text text-anchor="middle" x="124" y="-781.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="124" y="-766.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="124" y="-751.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="124" y="-736.8" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#6037</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6037" xlink:title="ZcashFoundation/zebra#6037&#10;Don&#39;t return from long&#10;polling if the block&#10;template is an invalid&#10;block proposal" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-898.5 8,-898.5 8,-815.5 240,-815.5 240,-898.5"/>
<text text-anchor="middle" x="124" y="-883.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6037</text>
<text text-anchor="middle" x="124" y="-868.3" font-family="Times,serif" font-size="14.00" fill="#000000">Don&#39;t return from long</text>
<text text-anchor="middle" x="124" y="-853.3" font-family="Times,serif" font-size="14.00" fill="#000000">polling if the block</text>
<text text-anchor="middle" x="124" y="-838.3" font-family="Times,serif" font-size="14.00" fill="#000000">template is an invalid</text>
<text text-anchor="middle" x="124" y="-823.3" font-family="Times,serif" font-size="14.00" fill="#000000">block proposal</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6047 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#6047</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6047" xlink:title="ZcashFoundation/zebra#6047&#10;Verify proposals are&#10;valid after sending them&#10;to miners" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-930 276,-930 276,-862 508,-862 508,-930"/>
<text text-anchor="middle" x="392" y="-914.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6047</text>
<text text-anchor="middle" x="392" y="-899.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify proposals are</text>
<text text-anchor="middle" x="392" y="-884.8" font-family="Times,serif" font-size="14.00" fill="#000000">valid after sending them</text>
<text text-anchor="middle" x="392" y="-869.8" font-family="Times,serif" font-size="14.00" fill="#000000">to miners</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047</title>
<path fill="none" stroke="#000000" d="M240.38,-873.94C248.81,-875.16 257.33,-876.4 265.81,-877.64"/>
<polygon fill="#000000" stroke="#000000" points="265.3412,-881.1085 275.74,-879.08 266.3458,-874.181 265.3412,-881.1085"/>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5604" xlink:title="ZcashFoundation/zebra#5604&#10;Send the same&#10;getblocktemplate RPC&#10;response until the&#10;template would change" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-843.5 276,-843.5 276,-760.5 508,-760.5 508,-843.5"/>
<text text-anchor="middle" x="392" y="-828.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="392" y="-813.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send the same</text>
<text text-anchor="middle" x="392" y="-798.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
<text text-anchor="middle" x="392" y="-783.3" font-family="Times,serif" font-size="14.00" fill="#000000">response until the</text>
<text text-anchor="middle" x="392" y="-768.3" font-family="Times,serif" font-size="14.00" fill="#000000">template would change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604</title>
<path fill="none" stroke="#000000" d="M240.38,-833.12C248.81,-831.39 257.33,-829.64 265.81,-827.9"/>
<polygon fill="#000000" stroke="#000000" points="266.6489,-831.3008 275.74,-825.86 265.2402,-824.444 266.6489,-831.3008"/>
</g>
<!-- ZcashFoundation/zebra#6081 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#6081</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6081" xlink:title="ZcashFoundation/zebra#6081&#10;Implement missing mining&#10;status RPCs or fields" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-969.5 8,-969.5 8,-916.5 240,-916.5 240,-969.5"/>
<text text-anchor="middle" x="124" y="-954.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6081</text>
<text text-anchor="middle" x="124" y="-939.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement missing mining</text>
<text text-anchor="middle" x="124" y="-924.3" font-family="Times,serif" font-size="14.00" fill="#000000">status RPCs or fields</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6083 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#6083</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6083" xlink:title="ZcashFoundation/zebra#6083&#10;Implement&#10;z_validateaddress RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-553.5 8,-553.5 8,-500.5 240,-500.5 240,-553.5"/>
<text text-anchor="middle" x="124" y="-538.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6083</text>
<text text-anchor="middle" x="124" y="-523.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="124" y="-508.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_validateaddress RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5472 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5472</title>
<path fill="none" stroke="#000000" d="M238.82,-553.56C247.79,-555.64 256.88,-557.74 265.93,-559.83"/>
<polygon fill="#000000" stroke="#000000" points="265.1776,-563.2483 275.71,-562.1 266.7603,-556.4296 265.1776,-563.2483"/>
</g>
<!-- ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="#000000" d="M240.3,-527C326.87,-527 444.93,-527 533.78,-527"/>
<polygon fill="#000000" stroke="#000000" points="533.92,-530.5001 543.92,-527 533.92,-523.5001 533.92,-530.5001"/>
</g>
<!-- ZcashFoundation/zebra#6030 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#6030</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6030" xlink:title="ZcashFoundation/zebra#6030&#10;Implement&#10;z_listunifiedreceivers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-498.5 276,-498.5 276,-445.5 508,-445.5 508,-498.5"/>
<text text-anchor="middle" x="392" y="-483.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6030</text>
<text text-anchor="middle" x="392" y="-468.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="392" y="-453.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_listunifiedreceivers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#6030 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#6030</title>
<path fill="none" stroke="#000000" d="M240.38,-503.12C248.81,-501.39 257.33,-499.64 265.81,-497.9"/>
<polygon fill="#000000" stroke="#000000" points="266.6489,-501.3008 275.74,-495.86 265.2402,-494.444 266.6489,-501.3008"/>
</g>
<!-- ZcashFoundation/zebra#6030&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#6030&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="#000000" d="M508.38,-495.88C516.81,-497.61 525.33,-499.36 533.81,-501.1"/>
<polygon fill="#000000" stroke="#000000" points="533.2402,-504.556 543.74,-503.14 534.6489,-497.6992 533.2402,-504.556"/>
</g>
<!-- ZcashFoundation/zebra#5700 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#5700</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5700" xlink:title="ZcashFoundation/zebra#5700&#10;Re&#45;use blocks from the&#10;old state when the state&#10;version changes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1056 8,-1056 8,-988 240,-988 240,-1056"/>
<text text-anchor="middle" x="124" y="-1040.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5700</text>
<text text-anchor="middle" x="124" y="-1025.8" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;use blocks from the</text>
<text text-anchor="middle" x="124" y="-1010.8" font-family="Times,serif" font-size="14.00" fill="#000000">old state when the state</text>
<text text-anchor="middle" x="124" y="-995.8" font-family="Times,serif" font-size="14.00" fill="#000000">version changes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5911 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#5911</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5911" xlink:title="ZcashFoundation/zebra#5911&#10;Store the serialized&#10;block size in the&#10;database" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-1056 276,-1056 276,-988 508,-988 508,-1056"/>
<text text-anchor="middle" x="392" y="-1040.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5911</text>
<text text-anchor="middle" x="392" y="-1025.8" font-family="Times,serif" font-size="14.00" fill="#000000">Store the serialized</text>
<text text-anchor="middle" x="392" y="-1010.8" font-family="Times,serif" font-size="14.00" fill="#000000">block size in the</text>
<text text-anchor="middle" x="392" y="-995.8" font-family="Times,serif" font-size="14.00" fill="#000000">database</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5700&#45;&gt;ZcashFoundation/zebra#5911 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#5700&#45;&gt;ZcashFoundation/zebra#5911</title>
<path fill="none" stroke="#000000" d="M240.38,-1022C248.71,-1022 257.14,-1022 265.53,-1022"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1025.5001 275.74,-1022 265.74,-1018.5001 265.74,-1025.5001"/>
</g>
<!-- ZcashFoundation/zebra#6118 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#6118</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6118" xlink:title="ZcashFoundation/zebra#6118&#10;Create a Docker image for&#10;mining with Zebra on&#10;Testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-68 8,-68 8,0 240,0 240,-68"/>
<text text-anchor="middle" x="124" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6118</text>
<text text-anchor="middle" x="124" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create a Docker image for</text>
<text text-anchor="middle" x="124" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">mining with Zebra on</text>
<text text-anchor="middle" x="124" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">Testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6118&#45;&gt;ZcashFoundation/zebra#6025 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#6118&#45;&gt;ZcashFoundation/zebra#6025</title>
<path fill="none" stroke="#000000" d="M240.38,-34.434C248.71,-34.465 257.14,-34.497 265.53,-34.528"/>
<polygon fill="#000000" stroke="#000000" points="265.727,-38.0287 275.74,-34.566 265.7531,-31.0287 265.727,-38.0287"/>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node22" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4841" xlink:title="ZcashFoundation/zebra#4841&#10;Improve note commitment&#10;tree append performance" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="508,-1192.5 276,-1192.5 276,-1139.5 508,-1139.5 508,-1192.5"/>
<text text-anchor="middle" x="392" y="-1177.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="392" y="-1162.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="392" y="-1147.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4794" xlink:title="ZcashFoundation/zebra#4794&#10;Revert note commitment&#10;and history trees when&#10;forking non&#45;finalized&#10;chains" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1359.5 8,-1359.5 8,-1276.5 240,-1276.5 240,-1359.5"/>
<text text-anchor="middle" x="124" y="-1344.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="124" y="-1329.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="124" y="-1314.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="124" y="-1299.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="124" y="-1284.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5487" xlink:title="ZcashFoundation/zebra#5487&#10;Return detailed errors&#10;from the `submitblock`&#10;RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1446 8,-1446 8,-1378 240,-1378 240,-1446"/>
<text text-anchor="middle" x="124" y="-1430.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="124" y="-1415.8" font-family="Times,serif" font-size="14.00" fill="#000000">Return detailed errors</text>
<text text-anchor="middle" x="124" y="-1400.8" font-family="Times,serif" font-size="14.00" fill="#000000">from the `submitblock`</text>
<text text-anchor="middle" x="124" y="-1385.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#5709</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5709" xlink:title="ZcashFoundation/zebra#5709&#10;Fix repeated block&#10;timeouts during initial&#10;sync" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1532 8,-1532 8,-1464 240,-1464 240,-1532"/>
<text text-anchor="middle" x="124" y="-1516.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="124" y="-1501.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix repeated block</text>
<text text-anchor="middle" x="124" y="-1486.8" font-family="Times,serif" font-size="14.00" fill="#000000">timeouts during initial</text>
<text text-anchor="middle" x="124" y="-1471.8" font-family="Times,serif" font-size="14.00" fill="#000000">sync</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5425 -->
<g id="node26" class="node closed">
<title>ZcashFoundation/zebra#5425</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5425" xlink:title="ZcashFoundation/zebra#5425&#10;Parallelise note&#10;commitment tree point&#10;conversions" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="508,-1532 276,-1532 276,-1464 508,-1464 508,-1532"/>
<text text-anchor="middle" x="392" y="-1516.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="392" y="-1501.8" font-family="Times,serif" font-size="14.00" fill="#000000">Parallelise note</text>
<text text-anchor="middle" x="392" y="-1486.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree point</text>
<text text-anchor="middle" x="392" y="-1471.8" font-family="Times,serif" font-size="14.00" fill="#000000">conversions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="#000000" d="M240.38,-1498C248.71,-1498 257.14,-1498 265.53,-1498"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1501.5001 275.74,-1498 265.74,-1494.5001 265.74,-1501.5001"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4774" xlink:title="ZcashFoundation/zebra#4774&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Orchard&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1258.5 8,-1258.5 8,-1175.5 240,-1175.5 240,-1258.5"/>
<text text-anchor="middle" x="124" y="-1243.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="124" y="-1228.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="124" y="-1213.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="124" y="-1198.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="124" y="-1183.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M240.38,-1194.9C248.81,-1193.2 257.33,-1191.6 265.81,-1190"/>
<polygon fill="#000000" stroke="#000000" points="266.576,-1193.417 275.74,-1188.1 265.2604,-1186.5417 266.576,-1193.417"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4775" xlink:title="ZcashFoundation/zebra#4775&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Sapling&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1157.5 8,-1157.5 8,-1074.5 240,-1074.5 240,-1157.5"/>
<text text-anchor="middle" x="124" y="-1142.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="124" y="-1127.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="124" y="-1112.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="124" y="-1097.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="124" y="-1082.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M240.38,-1137.7C248.81,-1139.3 257.33,-1140.9 265.81,-1142.5"/>
<polygon fill="#000000" stroke="#000000" points="265.2761,-1145.9602 275.74,-1144.3 266.5246,-1139.0724 265.2761,-1145.9602"/>
</g>
<!-- ZcashFoundation/zebra#5502 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#5502</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5502" xlink:title="ZcashFoundation/zebra#5502&#10;Migrate to the latest&#10;version of Abscissa (0.7&#10;or later)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1618 8,-1618 8,-1550 240,-1550 240,-1618"/>
<text text-anchor="middle" x="124" y="-1602.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5502</text>
<text text-anchor="middle" x="124" y="-1587.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to the latest</text>
<text text-anchor="middle" x="124" y="-1572.8" font-family="Times,serif" font-size="14.00" fill="#000000">version of Abscissa (0.7</text>
<text text-anchor="middle" x="124" y="-1557.8" font-family="Times,serif" font-size="14.00" fill="#000000">or later)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5624 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#5624</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5624" xlink:title="ZcashFoundation/zebra#5624&#10;zebrad: obsolete help&#10;text with the wrong info" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-1610.5 276,-1610.5 276,-1557.5 508,-1557.5 508,-1610.5"/>
<text text-anchor="middle" x="392" y="-1595.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5624</text>
<text text-anchor="middle" x="392" y="-1580.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad: obsolete help</text>
<text text-anchor="middle" x="392" y="-1565.3" font-family="Times,serif" font-size="14.00" fill="#000000">text with the wrong info</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624</title>
<path fill="none" stroke="#000000" d="M240.38,-1584C248.71,-1584 257.14,-1584 265.53,-1584"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1587.5001 275.74,-1584 265.74,-1580.5001 265.74,-1587.5001"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4554" xlink:title="ZcashFoundation/zebra#4554&#10;benchmarks: surface&#10;zebrad mainnet sync time&#10;in CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1704 8,-1704 8,-1636 240,-1636 240,-1704"/>
<text text-anchor="middle" x="124" y="-1688.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="124" y="-1673.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="124" y="-1658.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="124" y="-1643.8" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4545" xlink:title="ZcashFoundation/zebra#4545&#10;Start disconnecting from&#10;outdated peers before&#10;network upgrade&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1805.5 8,-1805.5 8,-1722.5 240,-1722.5 240,-1805.5"/>
<text text-anchor="middle" x="124" y="-1790.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="124" y="-1775.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="124" y="-1760.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="124" y="-1745.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="124" y="-1730.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node33" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4226" xlink:title="ZcashFoundation/zebra#4226&#10;Prefer faster peers, but&#10;if all peers are slow,&#10;still connect to them" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="508,-1798 276,-1798 276,-1730 508,-1730 508,-1798"/>
<text text-anchor="middle" x="392" y="-1782.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="392" y="-1767.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="392" y="-1752.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="392" y="-1737.8" font-family="Times,serif" font-size="14.00" fill="#000000">still connect to them</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M240.38,-1764C248.71,-1764 257.14,-1764 265.53,-1764"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1767.5001 275.74,-1764 265.74,-1760.5001 265.74,-1767.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>