mirror of
https://github.com/seigler/dash-docs
synced 2025-07-28 10:16:15 +00:00
Thanks also (in alphabetical order) to @cbeams, @mikehearn, and @tgeller, among others. The last pre-squash commit was: c2b8d562aa107c7b68c60946cea14cdccc5159ad
84 lines
3.1 KiB
Text
84 lines
3.1 KiB
Text
digraph blockchain {
|
|
|
|
size=6.25;
|
|
splines = "false";
|
|
rankdir=LR;
|
|
ranksep=0.1;
|
|
//splines=ortho;
|
|
|
|
node [ penwidth=1.75, fontname="Sans", shape = box ];
|
|
edge [ penwidth=1.75, fontname="Sans" ];
|
|
graph [ penwidth=1.75, fontname="Sans" ];
|
|
|
|
//edge [ style = invis, minlen = 1 ];
|
|
//fixedsize
|
|
nodesep = 0.25;
|
|
//concentrate = true;
|
|
|
|
tophelp0 [style = invis, label="", width=0, height=0 ];
|
|
prevout [style = invis, label="", width=0, height=0 ];
|
|
nextout [style = invis, label="", width=0, height=0 ];
|
|
|
|
subgraph cluster_tx {
|
|
version;
|
|
subgraph cluster_input {
|
|
sequence;
|
|
vout [label="output index"];
|
|
txid;
|
|
input [style = invis, label="", width=0, height=0 ];
|
|
|
|
subgraph cluster_scriptsig {
|
|
label = "scriptSig"
|
|
subgraph cluster_signature {
|
|
hashtype;
|
|
signature [style = invis, label="", width=0, height=0 ];
|
|
label = "signature"
|
|
}
|
|
scriptsig [style = invis, label="", width=0, height=0 ];
|
|
}
|
|
label = "Input"
|
|
}
|
|
|
|
left0 [style = invis ];
|
|
left1 [style = invis ];
|
|
left2 [style = invis ];
|
|
middle1 [style = invis, label="", width=0, height=0 ];
|
|
middle2 [style = invis, label="", width=0, height=0 ];
|
|
middle3 [style = invis, label="", width=0, height=1.05 ];
|
|
middle4 [style = invis, label="", width=0, height=0 ];
|
|
middle5 [style = invis, label="", width=0, height=0 ];
|
|
middle6 [style = invis, label="", width=0, height=0 ];
|
|
middle7 [style = invis, label="", width=0, height=0 ];
|
|
middle0 [style = invis, label="", width=0, height=0 ];
|
|
|
|
subgraph cluster_output {
|
|
output [style = invis, label="", width=0, height=0 ];
|
|
amount;
|
|
script;
|
|
label = "Output"
|
|
}
|
|
|
|
locktime;
|
|
label = "A Basic Transaction With One Input & One Output"
|
|
}
|
|
|
|
prevout -> input [ style = "dashed", label = "Each input\nspends\nsatoshis\nfrom a\nprevious\noutput\n(prevout)" ];
|
|
output -> nextout [style="dashed", label = "Each output\nwaits as an\nUnspent\nTx Output\n(UTXO)\nuntil a\nlater input\nspends it"];
|
|
tophelp0 -> version [ style = invis ];
|
|
|
|
txid -> middle1 [ dir = none, label = "Select a previous tx with an\noutput to spend" ];
|
|
vout -> middle2 [ dir = none, label = "Select an output from previous tx" ];
|
|
sequence -> middle3 [ dir = none, label = "Allow override of locktime" ];
|
|
scriptsig -> middle4 [ dir = none, label = "Satisfy prevout script conditions" ];
|
|
signature -> middle5 [ dir = none, label = "Protect tx against modification\nby unauthorized parties" ];
|
|
hashtype -> middle6 [ dir = none, label = "Authorize others to modify tx;\nselect what they can modify" ];
|
|
|
|
version -> middle7 [ dir = none, label = "Indicate what rules this tx follows" ];
|
|
left2 -> locktime [ dir = none, label = "Prevent tx from being added to the\nblock chain before a particular time" ];
|
|
|
|
left0 -> amount [ dir = none, label = "Set amount to spend & pay in fees" ];
|
|
left1 -> script [ dir = none, label = "Describe conditions necessary\nto spend this output" ];
|
|
|
|
|
|
label = "(Metadata not shown: number of inputs/outputs, length in bytes of each script/scriptSig)\n \nThe Parts Of A Transaction"
|
|
}
|