solana/src/img/fullnode.svg

476 lines
12 KiB
XML
Raw Normal View History

<svg class="bob" font-family="arial" font-size="14" height="736" width="520" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="triangle" markerHeight="8" markerWidth="8" orient="auto" refX="4" refY="2" viewBox="0 0 8 4">
<polygon fill="black" points="0,0 0,4 8,2 0,0"/>
</marker>
<marker id="clear_triangle" markerHeight="10" markerWidth="10" orient="auto" refX="1" refY="7" viewBox="0 0 20 14">
<polygon fill="none" points="2,2 2,12 18,7 2,2" stroke="black" stroke-width="2"/>
</marker>
<marker id="circle" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="black" r="8"/>
</marker>
<marker id="square" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<rect fill="black" height="20" width="20" x="0" y="0"/>
</marker>
<marker id="open_circle" markerHeight="10" markerWidth="10" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="white" r="4" stroke="black" stroke-width="2"/>
</marker>
<marker id="big_open_circle" markerHeight="20" markerWidth="20" orient="auto" refX="20" refY="20" viewBox="0 0 40 40">
<circle cx="20" cy="20" fill="white" r="6" stroke="black" stroke-width="2"/>
</marker>
</defs>
<style type="text/css">
line,path {
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
line.dashed {
stroke-dasharray: 5;
}
circle.solid {
fill:black;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
circle.open {
fill:none;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
tspan.head{
fill: none;
stroke: none;
}
</style>
<rect fill="white" height="736" width="520" x="0" y="0"/>
<g>
<line x1="12" x2="12" y1="60" y2="116"/>
<path d="M 12 116 A 4 4 0 0 0 16 120" fill="none"/>
<path d="M 16 56 A 4 4 0 0 0 12 60" fill="none"/>
</g>
<g>
<line x1="16" x2="80" y1="56" y2="56"/>
<path d="M 84 60 A 4 4 0 0 0 80 56" fill="none"/>
</g>
<g>
<line x1="16" x2="52" y1="120" y2="120"/>
<line x1="52" x2="52" y1="120" y2="260"/>
<line x1="52" x2="80" y1="120" y2="120"/>
<path d="M 52 260 A 4 4 0 0 0 56 264" fill="none"/>
<path d="M 80 120 A 4 4 0 0 0 84 116" fill="none"/>
</g>
<g>
<line x1="20" x2="20" y1="396" y2="452"/>
<path d="M 20 452 A 4 4 0 0 0 24 456" fill="none"/>
<path d="M 24 392 A 4 4 0 0 0 20 396" fill="none"/>
</g>
<g>
<line x1="20" x2="20" y1="572" y2="708"/>
<path d="M 20 708 A 4 4 0 0 0 24 712" fill="none"/>
<path d="M 24 568 A 4 4 0 0 0 20 572" fill="none"/>
</g>
<g>
<line x1="24" x2="88" y1="392" y2="392"/>
<path d="M 92 396 A 4 4 0 0 0 88 392" fill="none"/>
</g>
<g>
<line x1="24" x2="88" y1="456" y2="456"/>
<path d="M 88 456 A 4 4 0 0 0 92 452" fill="none"/>
</g>
<g>
<line x1="24" x2="88" y1="568" y2="568"/>
<path d="M 92 572 A 4 4 0 0 0 88 568" fill="none"/>
</g>
<g>
<line x1="24" x2="88" y1="712" y2="712"/>
<path d="M 88 712 A 4 4 0 0 0 92 708" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="56" x2="124" y1="264" y2="264"/>
</g>
<g>
<line x1="84" x2="84" y1="60" y2="116"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="84" x2="124" y1="72" y2="72"/>
</g>
<g>
<line x1="92" x2="92" y1="396" y2="452"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="92" x2="212" y1="408" y2="408"/>
</g>
<g>
<line x1="92" x2="92" y1="572" y2="708"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="96" x2="92" y1="104" y2="104"/>
<line x1="96" x2="132" y1="104" y2="104"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="104" x2="100" y1="440" y2="440"/>
<line x1="104" x2="220" y1="440" y2="440"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="104" x2="100" y1="600" y2="600"/>
<line marker-end="url(#triangle)" x1="104" x2="212" y1="600" y2="600"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="104" x2="100" y1="680" y2="680"/>
<line marker-end="url(#triangle)" x1="104" x2="212" y1="680" y2="680"/>
</g>
<g>
<line x1="108" x2="108" y1="12" y2="64"/>
<path d="M 112 8 A 4 4 0 0 0 108 12" fill="none"/>
</g>
<g>
<line x1="108" x2="108" y1="80" y2="96"/>
</g>
<g>
<line x1="108" x2="108" y1="112" y2="256"/>
</g>
<g>
<line x1="108" x2="108" y1="272" y2="308"/>
<path d="M 108 308 A 4 4 0 0 0 112 312" fill="none"/>
</g>
<g>
<line x1="112" x2="280" y1="8" y2="8"/>
<path d="M 284 12 A 4 4 0 0 0 280 8" fill="none"/>
</g>
<g>
<line x1="112" x2="280" y1="312" y2="312"/>
<path d="M 280 312 A 4 4 0 0 0 284 308" fill="none"/>
</g>
<g>
<line x1="116" x2="116" y1="348" y2="400"/>
<path d="M 120 344 A 4 4 0 0 0 116 348" fill="none"/>
</g>
<g>
<line x1="116" x2="116" y1="416" y2="432"/>
</g>
<g>
<line x1="116" x2="116" y1="448" y2="592"/>
</g>
<g>
<line x1="116" x2="116" y1="608" y2="672"/>
</g>
<g>
<line x1="116" x2="116" y1="688" y2="724"/>
<path d="M 116 724 A 4 4 0 0 0 120 728" fill="none"/>
</g>
<g>
<line x1="120" x2="368" y1="344" y2="344"/>
<path d="M 372 348 A 4 4 0 0 0 368 344" fill="none"/>
</g>
<g>
<line x1="120" x2="368" y1="728" y2="728"/>
<path d="M 368 728 A 4 4 0 0 0 372 724" fill="none"/>
</g>
<g>
<line x1="132" x2="132" y1="60" y2="116"/>
<path d="M 132 116 A 4 4 0 0 0 136 120" fill="none"/>
<path d="M 136 56 A 4 4 0 0 0 132 60" fill="none"/>
</g>
<g>
<line x1="132" x2="132" y1="172" y2="196"/>
<path d="M 132 196 A 4 4 0 0 0 136 200" fill="none"/>
<path d="M 136 168 A 4 4 0 0 0 132 172" fill="none"/>
</g>
<g>
<line x1="132" x2="132" y1="252" y2="276"/>
<path d="M 132 276 A 4 4 0 0 0 136 280" fill="none"/>
<path d="M 136 248 A 4 4 0 0 0 132 252" fill="none"/>
</g>
<g>
<line x1="136" x2="264" y1="56" y2="56"/>
<path d="M 268 60 A 4 4 0 0 0 264 56" fill="none"/>
</g>
<g>
<line x1="136" x2="264" y1="120" y2="120"/>
<path d="M 264 120 A 4 4 0 0 0 268 116" fill="none"/>
</g>
<g>
<line x1="136" x2="156" y1="168" y2="168"/>
<line x1="156" x2="156" y1="144" y2="168"/>
<line x1="156" x2="184" y1="168" y2="168"/>
<path d="M 188 172 A 4 4 0 0 0 184 168" fill="none"/>
</g>
<g>
<line x1="136" x2="184" y1="200" y2="200"/>
<path d="M 184 200 A 4 4 0 0 0 188 196" fill="none"/>
</g>
<g>
<line x1="136" x2="156" y1="248" y2="248"/>
<line x1="156" x2="156" y1="224" y2="248"/>
<line x1="156" x2="176" y1="248" y2="248"/>
<path d="M 180 252 A 4 4 0 0 0 176 248" fill="none"/>
</g>
<g>
<line x1="136" x2="176" y1="280" y2="280"/>
<path d="M 176 280 A 4 4 0 0 0 180 276" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="156" x2="156" y1="144" y2="132"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="156" x2="156" y1="224" y2="212"/>
</g>
<g>
<line x1="180" x2="180" y1="252" y2="264"/>
<line x1="180" x2="180" y1="264" y2="276"/>
<line marker-end="url(#triangle)" x1="180" x2="204" y1="264" y2="264"/>
</g>
<g>
<line x1="188" x2="188" y1="172" y2="196"/>
</g>
<g>
<line x1="212" x2="212" y1="252" y2="276"/>
<path d="M 212 276 A 4 4 0 0 0 216 280" fill="none"/>
<path d="M 216 248 A 4 4 0 0 0 212 252" fill="none"/>
</g>
<g>
<line x1="216" x2="256" y1="248" y2="248"/>
<path d="M 260 252 A 4 4 0 0 0 256 248" fill="none"/>
</g>
<g>
<line x1="216" x2="256" y1="280" y2="280"/>
<path d="M 256 280 A 4 4 0 0 0 260 276" fill="none"/>
</g>
<g>
<line x1="220" x2="220" y1="396" y2="452"/>
<path d="M 220 452 A 4 4 0 0 0 224 456" fill="none"/>
<path d="M 224 392 A 4 4 0 0 0 220 396" fill="none"/>
</g>
<g>
<line x1="220" x2="220" y1="508" y2="532"/>
<path d="M 220 532 A 4 4 0 0 0 224 536" fill="none"/>
<path d="M 224 504 A 4 4 0 0 0 220 508" fill="none"/>
</g>
<g>
<line x1="220" x2="220" y1="588" y2="612"/>
<path d="M 220 612 A 4 4 0 0 0 224 616" fill="none"/>
<path d="M 224 584 A 4 4 0 0 0 220 588" fill="none"/>
</g>
<g>
<line x1="220" x2="220" y1="668" y2="692"/>
<path d="M 220 692 A 4 4 0 0 0 224 696" fill="none"/>
<path d="M 224 664 A 4 4 0 0 0 220 668" fill="none"/>
</g>
<g>
<line x1="224" x2="352" y1="392" y2="392"/>
<path d="M 356 396 A 4 4 0 0 0 352 392" fill="none"/>
</g>
<g>
<line x1="224" x2="352" y1="456" y2="456"/>
<path d="M 352 456 A 4 4 0 0 0 356 452" fill="none"/>
</g>
<g>
<line x1="224" x2="244" y1="504" y2="504"/>
<line x1="244" x2="244" y1="480" y2="504"/>
<line x1="244" x2="272" y1="504" y2="504"/>
<path d="M 276 508 A 4 4 0 0 0 272 504" fill="none"/>
</g>
<g>
<line x1="224" x2="272" y1="536" y2="536"/>
<path d="M 272 536 A 4 4 0 0 0 276 532" fill="none"/>
</g>
<g>
<line x1="224" x2="244" y1="584" y2="584"/>
<line x1="244" x2="244" y1="560" y2="584"/>
<line x1="244" x2="244" y1="584" y2="592"/>
<line x1="244" x2="264" y1="584" y2="584"/>
<path d="M 268 588 A 4 4 0 0 0 264 584" fill="none"/>
</g>
<g>
<line x1="224" x2="264" y1="616" y2="616"/>
<path d="M 264 616 A 4 4 0 0 0 268 612" fill="none"/>
</g>
<g>
<line x1="224" x2="244" y1="664" y2="664"/>
<line x1="244" x2="244" y1="640" y2="664"/>
<line x1="244" x2="264" y1="664" y2="664"/>
<path d="M 268 668 A 4 4 0 0 0 264 664" fill="none"/>
</g>
<g>
<line x1="224" x2="264" y1="696" y2="696"/>
<path d="M 264 696 A 4 4 0 0 0 268 692" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="244" x2="244" y1="480" y2="468"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="244" x2="244" y1="560" y2="548"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="244" x2="244" y1="640" y2="628"/>
</g>
<g>
<line x1="260" x2="260" y1="252" y2="264"/>
<line x1="260" x2="260" y1="264" y2="276"/>
<line marker-end="url(#triangle)" x1="260" x2="316" y1="264" y2="264"/>
</g>
<g>
<line x1="268" x2="268" y1="60" y2="116"/>
</g>
<g>
<line x1="268" x2="268" y1="588" y2="600"/>
<line x1="268" x2="268" y1="600" y2="612"/>
<line x1="268" x2="272" y1="600" y2="600"/>
</g>
<g>
<line x1="268" x2="268" y1="668" y2="680"/>
<line x1="268" x2="268" y1="680" y2="692"/>
<line x1="268" x2="272" y1="680" y2="680"/>
</g>
<g>
<line x1="276" x2="276" y1="508" y2="532"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="280" x2="276" y1="600" y2="600"/>
<line marker-end="url(#triangle)" x1="280" x2="404" y1="600" y2="600"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="280" x2="276" y1="680" y2="680"/>
<line marker-end="url(#triangle)" x1="280" x2="404" y1="680" y2="680"/>
</g>
<g>
<line x1="284" x2="284" y1="12" y2="256"/>
</g>
<g>
<line x1="284" x2="284" y1="272" y2="308"/>
</g>
<g>
<line x1="324" x2="324" y1="236" y2="292"/>
<path d="M 324 292 A 4 4 0 0 0 328 296" fill="none"/>
<path d="M 328 232 A 4 4 0 0 0 324 236" fill="none"/>
</g>
<g>
<line x1="328" x2="424" y1="232" y2="232"/>
<path d="M 428 236 A 4 4 0 0 0 424 232" fill="none"/>
</g>
<g>
<line x1="328" x2="424" y1="296" y2="296"/>
<path d="M 424 296 A 4 4 0 0 0 428 292" fill="none"/>
</g>
<g>
<line x1="356" x2="356" y1="396" y2="452"/>
</g>
<g>
<line x1="372" x2="372" y1="348" y2="592"/>
</g>
<g>
<line x1="372" x2="372" y1="608" y2="672"/>
</g>
<g>
<line x1="372" x2="372" y1="688" y2="724"/>
</g>
<g>
<line x1="412" x2="412" y1="572" y2="708"/>
<path d="M 412 708 A 4 4 0 0 0 416 712" fill="none"/>
<path d="M 416 568 A 4 4 0 0 0 412 572" fill="none"/>
</g>
<g>
<line x1="416" x2="512" y1="568" y2="568"/>
<path d="M 516 572 A 4 4 0 0 0 512 568" fill="none"/>
</g>
<g>
<line x1="416" x2="512" y1="712" y2="712"/>
<path d="M 512 712 A 4 4 0 0 0 516 708" fill="none"/>
</g>
<g>
<line x1="428" x2="428" y1="236" y2="292"/>
</g>
<g>
<line x1="516" x2="516" y1="572" y2="708"/>
</g>
<g>
<text x="25" y="92">
Client
</text>
</g>
<g>
<text x="33" y="428">
Client
</text>
</g>
<g>
<text x="33" y="604">
Leader
</text>
</g>
<g>
<text x="129" y="28">
Leader
</text>
</g>
<g>
<text x="129" y="364">
Validator
</text>
</g>
<g>
<text x="145" y="92">
JsonRpcService
</text>
</g>
<g>
<text x="145" y="188">
Bank
</text>
</g>
<g>
<text x="145" y="268">
Tpu
</text>
</g>
<g>
<text x="225" y="268">
Ncp
</text>
</g>
<g>
<text x="233" y="428">
JsonRpcService
</text>
</g>
<g>
<text x="233" y="524">
Bank
</text>
</g>
<g>
<text x="233" y="604">
Tvu
</text>
</g>
<g>
<text x="233" y="684">
Ncp
</text>
</g>
<g>
<text x="337" y="268">
Validators
</text>
</g>
<g>
<text x="425" y="620">
Validators
</text>
</g>
</svg>