mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 01:36:13 +00:00
Merge Pull #657: Dev Docs: Describe Filterload Message (Final P2P Message To Document)
This commit is contained in:
commit
464272eeb0
8 changed files with 714 additions and 18 deletions
72
img/dev/en-bloom-update.dot
Normal file
72
img/dev/en-bloom-update.dot
Normal file
|
@ -0,0 +1,72 @@
|
|||
digraph {
|
||||
|
||||
size="6.25";
|
||||
rankdir=TB;
|
||||
nodesep=1.05;
|
||||
ranksep=0.2;
|
||||
splines="false"
|
||||
|
||||
edge [ penwidth = 1.75, fontname="Sans" ]
|
||||
node [ penwidth = 1.75, shape = "box", fontname="Sans", ]
|
||||
graph [ penwidth = 1.75, fontname="Sans" ]
|
||||
|
||||
subgraph cluster_client {
|
||||
graph [ penwidth = 0 ];
|
||||
subgraph cluster_client1 {
|
||||
graph [ penwidth = 0 ];
|
||||
|
||||
address [ label = "Address To Match" ];
|
||||
filter1 [ label = "Filter That\n\ \ Matches Address\ \ ", style = "diagonals" ];
|
||||
mymatch1 [ label = "Transaction 1", style = "invis" ];
|
||||
mymatch2 [ label = "Transaction 2", style = "invis" ];
|
||||
|
||||
address -> filter1;
|
||||
filter1 -> mymatch1 [ style = "invis" ];
|
||||
mymatch1 -> mymatch2 [ style = "invis" ];
|
||||
|
||||
}
|
||||
|
||||
label = "Client"
|
||||
}
|
||||
|
||||
filter1 -> filter2 [ constraint = false ];
|
||||
|
||||
subgraph cluster_node {
|
||||
graph [ penwidth = 0 ];
|
||||
subgraph cluster_node2 {
|
||||
graph [ penwidth = 0 ];
|
||||
|
||||
tx2 [ label = "Transaction 2" ];
|
||||
filter3 [ label = "Filter Updated\n\ \ \ \ With Outpoint \ ", style = "diagonals" ];
|
||||
match2 [ label = "Transaction 2\nSpends Outpoint", shape = "none" ];
|
||||
|
||||
tx2 -> filter3;
|
||||
filter3 -> match2 [ minlen = 2 ];
|
||||
}
|
||||
|
||||
|
||||
subgraph cluster_node1 {
|
||||
graph [ penwidth = 0 ];
|
||||
|
||||
tx1 [ label = "Transaction 1" ];
|
||||
filter2 [ label = "Filter That\n\ \ Matches Address\ \ ", style = "diagonals" ];
|
||||
match1 [ label = "Transaction 1\nPays Address", shape = "none" ]
|
||||
|
||||
tx1 -> filter2;
|
||||
filter2 -> match1;
|
||||
}
|
||||
|
||||
match1 -> mymatch1 [ constraint = false ];
|
||||
|
||||
filter2 -> filter3 [constraint = false ];
|
||||
match1 -> filter3 [ constraint = false ];
|
||||
|
||||
|
||||
match2 -> mymatch2 [ constraint = false ];
|
||||
|
||||
label = "Full Node"
|
||||
}
|
||||
|
||||
label = "Automatically Updating Bloom Filters To Track Relevant Transactions"
|
||||
|
||||
}
|
BIN
img/dev/en-bloom-update.png
Normal file
BIN
img/dev/en-bloom-update.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.2 KiB |
140
img/dev/en-bloom-update.svg
Normal file
140
img/dev/en-bloom-update.svg
Normal file
|
@ -0,0 +1,140 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
|
||||
-->
|
||||
<!-- Title: _anonymous_0 Pages: 1 -->
|
||||
<svg width="450pt" height="216pt"
|
||||
viewBox="0.00 0.00 450.00 216.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph1" class="graph" transform="scale(0.692308 0.692308) rotate(0) translate(4 308)">
|
||||
<title>_anonymous_0</title>
|
||||
<polygon fill="white" stroke="white" points="-4,5 -4,-308 647,-308 647,5 -4,5"/>
|
||||
<text text-anchor="middle" x="321" y="-8.4" font-family="Sans" font-size="14.00">Automatically Updating Bloom Filters To Track Relevant Transactions</text>
|
||||
<g id="graph2" class="cluster"><title>cluster_client</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="0" points="8,-36 8,-296 190,-296 190,-36 8,-36"/>
|
||||
<text text-anchor="middle" x="99" y="-279.4" font-family="Sans" font-size="14.00">Client</text>
|
||||
</g>
|
||||
<g id="graph3" class="cluster"><title>cluster_client1</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="0" points="16,-44 16,-263 182,-263 182,-44 16,-44"/>
|
||||
</g>
|
||||
<g id="graph4" class="cluster"><title>cluster_node</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="0" points="234,-33 234,-296 634,-296 634,-33 234,-33"/>
|
||||
<text text-anchor="middle" x="434" y="-279.4" font-family="Sans" font-size="14.00">Full Node</text>
|
||||
</g>
|
||||
<g id="graph5" class="cluster"><title>cluster_node2</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="0" points="468,-41 468,-263 626,-263 626,-41 468,-41"/>
|
||||
</g>
|
||||
<g id="graph6" class="cluster"><title>cluster_node1</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="0" points="242,-99 242,-263 408,-263 408,-99 242,-99"/>
|
||||
</g>
|
||||
<!-- address -->
|
||||
<g id="node3" class="node"><title>address</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="1.75" points="167,-255 31,-255 31,-219 167,-219 167,-255"/>
|
||||
<text text-anchor="middle" x="99" y="-232.9" font-family="Sans" font-size="14.00">Address To Match</text>
|
||||
</g>
|
||||
<!-- filter1 -->
|
||||
<g id="node4" class="node"><title>filter1</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="1.75" points="174,-205 24,-205 24,-163 174,-163 174,-205"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="36,-205 24,-193 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="24,-175 36,-163 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="162,-163 174,-175 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="174,-193 162,-205 "/>
|
||||
<text text-anchor="middle" x="99" y="-188.4" font-family="Sans" font-size="14.00">Filter That</text>
|
||||
<text text-anchor="middle" x="99" y="-171.4" font-family="Sans" font-size="14.00">  Matches Address  </text>
|
||||
</g>
|
||||
<!-- address->filter1 -->
|
||||
<g id="edge4" class="edge"><title>address->filter1</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.75" d="M99,-218.76C99,-217.653 99,-216.523 99,-215.381"/>
|
||||
<polygon fill="black" stroke="black" points="102.5,-215.006 99,-205.006 95.5001,-215.007 102.5,-215.006"/>
|
||||
</g>
|
||||
<!-- mymatch1 -->
|
||||
<!-- filter1->mymatch1 -->
|
||||
<!-- filter2 -->
|
||||
<g id="node11" class="node"><title>filter2</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="1.75" points="400,-205 250,-205 250,-163 400,-163 400,-205"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="262,-205 250,-193 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="250,-175 262,-163 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="388,-163 400,-175 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="400,-193 388,-205 "/>
|
||||
<text text-anchor="middle" x="325" y="-188.4" font-family="Sans" font-size="14.00">Filter That</text>
|
||||
<text text-anchor="middle" x="325" y="-171.4" font-family="Sans" font-size="14.00">  Matches Address  </text>
|
||||
</g>
|
||||
<!-- filter1->filter2 -->
|
||||
<g id="edge10" class="edge"><title>filter1->filter2</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.75" d="M174.039,-184C195.943,-184 217.847,-184 239.75,-184"/>
|
||||
<polygon fill="black" stroke="black" points="239.814,-187.5 249.814,-184 239.814,-180.5 239.814,-187.5"/>
|
||||
</g>
|
||||
<!-- mymatch2 -->
|
||||
<!-- mymatch1->mymatch2 -->
|
||||
<!-- filter3 -->
|
||||
<g id="node15" class="node"><title>filter3</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="1.75" points="618,-205 476,-205 476,-163 618,-163 618,-205"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="488,-205 476,-193 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="476,-175 488,-163 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="606,-163 618,-175 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="1.75" points="618,-193 606,-205 "/>
|
||||
<text text-anchor="middle" x="547" y="-188.4" font-family="Sans" font-size="14.00">Filter Updated</text>
|
||||
<text text-anchor="middle" x="547" y="-171.4" font-family="Sans" font-size="14.00">    With Outpoint  </text>
|
||||
</g>
|
||||
<!-- filter2->filter3 -->
|
||||
<g id="edge25" class="edge"><title>filter2->filter3</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.75" d="M400.012,-184C421.92,-184 443.828,-184 465.737,-184"/>
|
||||
<polygon fill="black" stroke="black" points="465.803,-187.5 475.803,-184 465.803,-180.5 465.803,-187.5"/>
|
||||
</g>
|
||||
<!-- match1 -->
|
||||
<g id="node21" class="node"><title>match1</title>
|
||||
<text text-anchor="middle" x="325" y="-132.4" font-family="Sans" font-size="14.00">Transaction 1</text>
|
||||
<text text-anchor="middle" x="325" y="-115.4" font-family="Sans" font-size="14.00">Pays Address</text>
|
||||
</g>
|
||||
<!-- filter2->match1 -->
|
||||
<g id="edge21" class="edge"><title>filter2->match1</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.75" d="M325,-162.829C325,-161.714 325,-160.583 325,-159.445"/>
|
||||
<polygon fill="black" stroke="black" points="328.5,-159.201 325,-149.201 321.5,-159.201 328.5,-159.201"/>
|
||||
</g>
|
||||
<!-- tx2 -->
|
||||
<g id="node14" class="node"><title>tx2</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="1.75" points="602,-255 492,-255 492,-219 602,-219 602,-255"/>
|
||||
<text text-anchor="middle" x="547" y="-232.9" font-family="Sans" font-size="14.00">Transaction 2</text>
|
||||
</g>
|
||||
<!-- tx2->filter3 -->
|
||||
<g id="edge14" class="edge"><title>tx2->filter3</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.75" d="M547,-218.76C547,-217.653 547,-216.523 547,-215.381"/>
|
||||
<polygon fill="black" stroke="black" points="550.5,-215.006 547,-205.006 543.5,-215.007 550.5,-215.006"/>
|
||||
</g>
|
||||
<!-- match2 -->
|
||||
<g id="node16" class="node"><title>match2</title>
|
||||
<text text-anchor="middle" x="547" y="-74.4" font-family="Sans" font-size="14.00">Transaction 2</text>
|
||||
<text text-anchor="middle" x="547" y="-57.4" font-family="Sans" font-size="14.00">Spends Outpoint</text>
|
||||
</g>
|
||||
<!-- filter3->match2 -->
|
||||
<g id="edge16" class="edge"><title>filter3->match2</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.75" d="M547,-162.825C547,-145.548 547,-120.887 547,-101.325"/>
|
||||
<polygon fill="black" stroke="black" points="550.5,-101.062 547,-91.062 543.5,-101.062 550.5,-101.062"/>
|
||||
</g>
|
||||
<!-- match2->mymatch2 -->
|
||||
<g id="edge29" class="edge"><title>match2->mymatch2</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.75" d="M480.626,-70C375.193,-70 269.761,-70 164.328,-70"/>
|
||||
<polygon fill="black" stroke="black" points="164.125,-66.5001 154.125,-70 164.125,-73.5001 164.125,-66.5001"/>
|
||||
</g>
|
||||
<!-- tx1 -->
|
||||
<g id="node20" class="node"><title>tx1</title>
|
||||
<polygon fill="none" stroke="black" stroke-width="1.75" points="380,-255 270,-255 270,-219 380,-219 380,-255"/>
|
||||
<text text-anchor="middle" x="325" y="-232.9" font-family="Sans" font-size="14.00">Transaction 1</text>
|
||||
</g>
|
||||
<!-- tx1->filter2 -->
|
||||
<g id="edge19" class="edge"><title>tx1->filter2</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.75" d="M325,-218.76C325,-217.653 325,-216.523 325,-215.381"/>
|
||||
<polygon fill="black" stroke="black" points="328.5,-215.006 325,-205.006 321.5,-215.007 328.5,-215.006"/>
|
||||
</g>
|
||||
<!-- match1->mymatch1 -->
|
||||
<g id="edge23" class="edge"><title>match1->mymatch1</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.75" d="M269.949,-128C234.825,-128 199.701,-128 164.577,-128"/>
|
||||
<polygon fill="black" stroke="black" points="164.176,-124.5 154.176,-128 164.176,-131.5 164.176,-124.5"/>
|
||||
</g>
|
||||
<!-- match1->filter3 -->
|
||||
<g id="edge27" class="edge"><title>match1->filter3</title>
|
||||
<path fill="none" stroke="black" stroke-width="1.75" d="M380.284,-141.946C406.14,-148.468 437.44,-156.363 465.905,-163.544"/>
|
||||
<polygon fill="black" stroke="black" points="465.289,-166.998 475.842,-166.05 467.002,-160.211 465.289,-166.998"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.6 KiB |
Loading…
Add table
Add a link
Reference in a new issue