mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 01:36:13 +00:00
Guide updates
- Intro - Block chain section - Developer guide
This commit is contained in:
parent
3be200d1ec
commit
d096a9c160
5 changed files with 178 additions and 181 deletions
|
@ -9,17 +9,17 @@ http://opensource.org/licenses/MIT.
|
||||||
|
|
||||||
{% autocrossref %}
|
{% autocrossref %}
|
||||||
|
|
||||||
The block chain provides Bitcoin's public ledger, an ordered and timestamped record
|
The block chain provides Dash's public ledger, an ordered and timestamped record
|
||||||
of transactions. This system is used to protect against double spending
|
of transactions. This system is used to protect against double spending
|
||||||
and modification of previous transaction records.
|
and modification of previous transaction records.
|
||||||
|
|
||||||
Each full node in the Bitcoin network independently stores a block chain
|
Each full node in the Dash network independently stores a block chain
|
||||||
containing only blocks validated by that node. When several nodes all
|
containing only blocks validated by that node. When several nodes all
|
||||||
have the same blocks in their block chain, they are considered to be in
|
have the same blocks in their block chain, they are considered to be in
|
||||||
[consensus][/en/glossary/consensus]{:#term-consensus}{:.term}. The validation rules these
|
[consensus][/en/glossary/consensus]{:#term-consensus}{:.term}. The validation rules these
|
||||||
nodes follow to maintain consensus are called [consensus
|
nodes follow to maintain consensus are called [consensus
|
||||||
rules][/en/glossary/consensus-rules]{:#term-consensus-rules}{:.term}. This section describes many of
|
rules][/en/glossary/consensus-rules]{:#term-consensus-rules}{:.term}. This section describes many of
|
||||||
the consensus rules used by Bitcoin Core.
|
the consensus rules used by Dash Core.
|
||||||
|
|
||||||
{% endautocrossref %}
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
@ -42,10 +42,10 @@ stores the hash of the previous block's header, chaining the blocks
|
||||||
together. This ensures a transaction cannot be modified without
|
together. This ensures a transaction cannot be modified without
|
||||||
modifying the block that records it and all following blocks.
|
modifying the block that records it and all following blocks.
|
||||||
|
|
||||||
Transactions are also chained together. Bitcoin wallet software gives
|
Transactions are also chained together. Dash wallet software gives
|
||||||
the impression that satoshis are sent from and to wallets, but
|
the impression that duffs are sent from and to wallets, but
|
||||||
bitcoins really move from transaction to transaction. Each
|
Dash value really moves from transaction to transaction. Each
|
||||||
transaction spends the satoshis previously received in one or more earlier
|
transaction spends the duffs previously received in one or more earlier
|
||||||
transactions, so the input of one transaction is the output of a
|
transactions, so the input of one transaction is the output of a
|
||||||
previous transaction.
|
previous transaction.
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ A single transaction can create multiple outputs, as would be
|
||||||
the case when sending to multiple addresses, but each output of
|
the case when sending to multiple addresses, but each output of
|
||||||
a particular transaction can only be used as an input once in the
|
a particular transaction can only be used as an input once in the
|
||||||
block chain. Any subsequent reference is a forbidden double
|
block chain. Any subsequent reference is a forbidden double
|
||||||
spend---an attempt to spend the same satoshis twice.
|
spend---an attempt to spend the same duffs twice.
|
||||||
|
|
||||||
Outputs are tied to [transaction identifiers (TXIDs)][/en/glossary/txid]{:#term-txid}{:.term}, which are the hashes
|
Outputs are tied to [transaction identifiers (TXIDs)][/en/glossary/txid]{:#term-txid}{:.term}, which are the hashes
|
||||||
of signed transactions.
|
of signed transactions.
|
||||||
|
@ -69,12 +69,12 @@ Ignoring coinbase transactions (described later), if the value of a
|
||||||
transaction's outputs exceed its inputs, the transaction will be
|
transaction's outputs exceed its inputs, the transaction will be
|
||||||
rejected---but if the inputs exceed the value of the outputs, any
|
rejected---but if the inputs exceed the value of the outputs, any
|
||||||
difference in value may be claimed as a [transaction
|
difference in value may be claimed as a [transaction
|
||||||
fee][/en/glossary/transaction-fee]{:#term-transaction-fee}{:.term} by the Bitcoin
|
fee][/en/glossary/transaction-fee]{:#term-transaction-fee}{:.term} by the Dash
|
||||||
[miner][/en/glossary/mining]{:#term-miner}{:.term} who creates the block containing that
|
[miner][/en/glossary/mining]{:#term-miner}{:.term} who creates the block containing that
|
||||||
transaction.
|
transaction.
|
||||||
For example, in the illustration above, each transaction spends 10,000 satoshis
|
For example, in the illustration above, each transaction spends 10,000 duffs
|
||||||
fewer than it receives from its combined inputs, effectively paying a 10,000
|
fewer than it receives from its combined inputs, effectively paying a 10,000
|
||||||
satoshi transaction fee.
|
duff transaction fee.
|
||||||
|
|
||||||
{% endautocrossref %}
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ satoshi transaction fee.
|
||||||
{% autocrossref %}
|
{% autocrossref %}
|
||||||
|
|
||||||
The block chain is collaboratively maintained by anonymous peers on the network, so
|
The block chain is collaboratively maintained by anonymous peers on the network, so
|
||||||
Bitcoin requires that each block prove a significant amount of work was invested in
|
Dash requires that each block prove a significant amount of work was invested in
|
||||||
its creation to ensure that untrustworthy peers who want to modify past blocks have
|
its creation to ensure that untrustworthy peers who want to modify past blocks have
|
||||||
to work harder than honest peers who only want to add new blocks to the
|
to work harder than honest peers who only want to add new blocks to the
|
||||||
block chain.
|
block chain.
|
||||||
|
@ -94,7 +94,7 @@ in any block without modifying all following blocks. As a
|
||||||
result, the cost to modify a particular block increases with every new block
|
result, the cost to modify a particular block increases with every new block
|
||||||
added to the block chain, magnifying the effect of the proof of work.
|
added to the block chain, magnifying the effect of the proof of work.
|
||||||
|
|
||||||
The [proof of work][/en/glossary/proof-of-work]{:#term-proof-of-work}{:.term} used in Bitcoin
|
The [proof of work][/en/glossary/proof-of-work]{:#term-proof-of-work}{:.term} used in Dash
|
||||||
takes advantage of the apparently random nature of cryptographic hashes.
|
takes advantage of the apparently random nature of cryptographic hashes.
|
||||||
A good cryptographic hash algorithm converts arbitrary data into a
|
A good cryptographic hash algorithm converts arbitrary data into a
|
||||||
seemingly-random number. If the data is modified in any way and
|
seemingly-random number. If the data is modified in any way and
|
||||||
|
@ -112,32 +112,30 @@ In the example given above, you will produce a successful hash on average every
|
||||||
You can even estimate the probability
|
You can even estimate the probability
|
||||||
that a given hash attempt will generate a number below the [target][/en/glossary/nbits]{:#term-target}{:.term}
|
that a given hash attempt will generate a number below the [target][/en/glossary/nbits]{:#term-target}{:.term}
|
||||||
threshold.
|
threshold.
|
||||||
Bitcoin assumes a linear probability that the lower it makes the target threshold, the more hash attempts (on average) will need to be tried.
|
Dash assumes a linear probability that the lower it makes the target threshold, the more hash attempts (on average) will need to be tried.
|
||||||
|
|
||||||
New blocks will only be added to the block chain if their hash is at
|
New blocks will only be added to the block chain if their hash is at
|
||||||
least as challenging as a [difficulty][/en/glossary/difficulty]{:#term-difficulty}{:.term} value expected by the consensus protocol.
|
least as challenging as a [difficulty][/en/glossary/difficulty]{:#term-difficulty}{:.term} value expected by the consensus protocol.
|
||||||
Every 2,016 blocks, the network uses timestamps stored in each
|
Every block, the network uses the difficulty of the last 24 blocks and number of
|
||||||
block header to calculate the number of seconds elapsed between generation
|
seconds elapsed between generation of the first and last of those last 24 blocks.
|
||||||
of the first and last of those last 2,016 blocks. The ideal value is
|
The ideal value is 3600 (one hour).
|
||||||
1,209,600 seconds (two weeks).
|
|
||||||
|
|
||||||
* If it took fewer than two weeks to generate the 2,016 blocks,
|
* If it took less than one hour to generate the 24 blocks, the expected
|
||||||
the expected difficulty value is increased proportionally (by as much
|
difficulty value is increased so that the next 24 blocks should take exactly
|
||||||
as 300%) so that the next 2,016 blocks should take exactly two weeks
|
one hour to generate if hashes are checked at the same rate.
|
||||||
to generate if hashes are checked at the same rate.
|
|
||||||
|
|
||||||
* If it took more than two weeks to generate the blocks, the expected
|
* If it took more than one hour to generate the blocks, the expected
|
||||||
difficulty value is decreased proportionally (by as much as 75%) for
|
difficulty value is decreased for the same reason.
|
||||||
the same reason.
|
|
||||||
|
|
||||||
(Note: an off-by-one error in the Bitcoin Core implementation causes the
|
This method of calculating difficulty (Dark Gravity Wave) was authored by Dash
|
||||||
difficulty to be updated every 2,01*6* blocks using timestamps from only
|
creator Evan Duffield to fix exploits possible with the previously used
|
||||||
2,01*5* blocks, creating a slight skew.)
|
Kimoto Gravity Well difficulty readjustment algorithm. For additional detail,
|
||||||
|
reference this [Official Documentation Dark Gravity Wave page](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/1146926/Dark+Gravity+Wave).
|
||||||
|
|
||||||
Because each block header must hash to a value below the target
|
Because each block header must hash to a value below the target
|
||||||
threshold, and because each block is linked to the block that
|
threshold, and because each block is linked to the block that
|
||||||
preceded it, it requires (on average) as much hashing power to
|
preceded it, it requires (on average) as much hashing power to
|
||||||
propagate a modified block as the entire Bitcoin network expended
|
propagate a modified block as the entire Dash network expended
|
||||||
between the time the original block was created and the present time.
|
between the time the original block was created and the present time.
|
||||||
Only if you acquired a majority of the network's hashing power
|
Only if you acquired a majority of the network's hashing power
|
||||||
could you reliably execute such a [51 percent attack][/en/glossary/51-percent-attack]{:#term-51-attack}{:.term} against
|
could you reliably execute such a [51 percent attack][/en/glossary/51-percent-attack]{:#term-51-attack}{:.term} against
|
||||||
|
@ -158,13 +156,12 @@ the merkle tree.
|
||||||
|
|
||||||
{% autocrossref %}
|
{% autocrossref %}
|
||||||
|
|
||||||
Any Bitcoin miner who successfully hashes a block header to a value
|
Any Dash miner who successfully hashes a block header to a value
|
||||||
below the target threshold can add the entire block to the block chain
|
below the target threshold can add the entire block to the block chain
|
||||||
(assuming the block is otherwise valid).
|
(assuming the block is otherwise valid).
|
||||||
These blocks are commonly addressed
|
These blocks are commonly addressed
|
||||||
by their [block height][/en/glossary/block-height]{:#term-block-height}{:.term}---the number of blocks between them and the first Bitcoin
|
by their [block height][/en/glossary/block-height]{:#term-block-height}{:.term}---the number of blocks between them and the first Dash
|
||||||
block (block 0, most commonly known as the [genesis block][/en/glossary/genesis-block]{:#term-genesis-block}{:.term}). For example,
|
block (block 0, most commonly known as the [genesis block][/en/glossary/genesis-block]{:#term-genesis-block}{:.term}).
|
||||||
block 2016 is where difficulty could have first been adjusted.
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
@ -313,22 +310,22 @@ fork][/en/glossary/soft-fork]{:#term-soft-fork}{:.term}.
|
||||||
|
|
||||||
Although a fork is an actual divergence in block chains, changes to the
|
Although a fork is an actual divergence in block chains, changes to the
|
||||||
consensus rules are often described by their potential to create either
|
consensus rules are often described by their potential to create either
|
||||||
a hard or soft fork. For example, "increasing the block size above 1 MB
|
a hard or soft fork. For example, "increasing the block size requires a hard
|
||||||
requires a hard fork." In this example, an actual block chain fork is
|
fork." In this example, an actual block chain fork is not required---but it is
|
||||||
not required---but it is a possible outcome.
|
a possible outcome.
|
||||||
|
|
||||||
Consensus rule changes may be activated in various ways. During Bitcoin's
|
Consensus rule changes may be activated in various ways. During Bitcoin's
|
||||||
first two years, Satoshi Nakamoto performed several soft forks by just
|
first two years, Satoshi Nakamoto performed several soft forks by just
|
||||||
releasing the backwards-compatible change in a client that began immediately
|
releasing the backwards-compatible change in a client that began immediately
|
||||||
enforcing the new rule. Multiple soft forks such as BIP30 have
|
enforcing the new rule. Multiple soft forks such as BIP30 have
|
||||||
been activated via a flag day where the new rule began to be enforced at a
|
been activated via a flag day where the new rule began to be enforced at a
|
||||||
preset time or block height. Such forks activated via a flag day are known as
|
preset time or block height. Such forks activated via a flag day are known as
|
||||||
[User Activated Soft Forks][/en/glossary/uasf]{:#term-uasf}{:.term} (UASF) as
|
[User Activated Soft Forks][/en/glossary/uasf]{:#term-uasf}{:.term} (UASF) as
|
||||||
they are dependent on having sufficient users (nodes) to enforce the new rules
|
they are dependent on having sufficient users (nodes) to enforce the new rules
|
||||||
after the flag day.
|
after the flag day.
|
||||||
|
|
||||||
Later soft forks waited for a majority of hash rate (typically 75% or 95%)
|
Later soft forks waited for a majority of hash rate (typically 75% or 95%)
|
||||||
to signal their readiness for enforcing the new consensus rules. Once the signalling
|
to signal their readiness for enforcing the new consensus rules. Once the signaling
|
||||||
threshold has been passed, all nodes will begin enforcing the new rules. Such
|
threshold has been passed, all nodes will begin enforcing the new rules. Such
|
||||||
forks are known as [Miner Activated Soft Forks][/en/glossary/masf]{:#term-masf}{:.term} (MASF)
|
forks are known as [Miner Activated Soft Forks][/en/glossary/masf]{:#term-masf}{:.term} (MASF)
|
||||||
as they are dependent on miners for activation.
|
as they are dependent on miners for activation.
|
||||||
|
@ -357,9 +354,9 @@ Non-upgraded nodes may also refuse to relay blocks or transactions which
|
||||||
have already been added to the best block chain, or soon will be, and so
|
have already been added to the best block chain, or soon will be, and so
|
||||||
provide incomplete information.
|
provide incomplete information.
|
||||||
|
|
||||||
<!-- paragraph below based on src/main.cpp CheckForkWarningConditions() -->
|
<!-- paragraph below based on src/validation.cpp CheckForkWarningConditions() -->
|
||||||
|
|
||||||
Bitcoin Core includes code that detects a hard fork by looking at block
|
Dash Core includes code that detects a hard fork by looking at block
|
||||||
chain proof of work. If a non-upgraded node receives block chain headers
|
chain proof of work. If a non-upgraded node receives block chain headers
|
||||||
demonstrating at least six blocks more proof of work than the best chain
|
demonstrating at least six blocks more proof of work than the best chain
|
||||||
it considers valid, the node reports a warning in the `getnetworkinfo` RPC
|
it considers valid, the node reports a warning in the `getnetworkinfo` RPC
|
||||||
|
@ -370,11 +367,11 @@ best block chain.
|
||||||
Full nodes can also check block and transaction version numbers. If the
|
Full nodes can also check block and transaction version numbers. If the
|
||||||
block or transaction version numbers seen in several recent blocks are
|
block or transaction version numbers seen in several recent blocks are
|
||||||
higher than the version numbers the node uses, it can assume it doesn't
|
higher than the version numbers the node uses, it can assume it doesn't
|
||||||
use the current consensus rules. Bitcoin Core reports this situation
|
use the current consensus rules. Dash Core reports this situation
|
||||||
through the `getnetworkinfo` RPC and `-alertnotify` command if set.
|
through the `getnetworkinfo` RPC and `-alertnotify` command if set.
|
||||||
|
|
||||||
In either case, block and transaction data should not be relied upon
|
In either case, block and transaction data should not be relied upon
|
||||||
if it comes from a node that apparently isn't using the current
|
if it comes from a node that apparently isn't using the current
|
||||||
consensus rules.
|
consensus rules.
|
||||||
|
|
||||||
SPV clients which connect to full nodes can detect a likely hard fork by
|
SPV clients which connect to full nodes can detect a likely hard fork by
|
||||||
|
|
|
@ -6,15 +6,15 @@ http://opensource.org/licenses/MIT.
|
||||||
{% autocrossref %}
|
{% autocrossref %}
|
||||||
|
|
||||||
The Developer Guide aims to provide the information you need to understand
|
The Developer Guide aims to provide the information you need to understand
|
||||||
Bitcoin and start building Bitcoin-based applications, but it is [not a
|
Dash and start building Dash-based applications, but it is [not a
|
||||||
specification][]. To make the best use of
|
specification][]. To make the best use of
|
||||||
this documentation, you may want to install the current version of Bitcoin
|
this documentation, you may want to install the current version of Dash
|
||||||
Core, either from [source][core git] or from a [pre-compiled executable][core executable].
|
Core, either from [source][core git] or from a [pre-compiled executable][core executable].
|
||||||
|
|
||||||
Questions about Bitcoin development are best asked in one of the
|
Questions about Dash development are best asked in one of the
|
||||||
[Bitcoin development communities][dev communities].
|
[Dash development communities][dev communities].
|
||||||
Errors or suggestions related to
|
Errors or suggestions related to
|
||||||
documentation on Bitcoin.org can be [submitted as an issue][docs issue]
|
documentation on {Dash.org} can be [submitted as an issue][docs issue]
|
||||||
or posted to the [bitcoin-documentation mailing list][].
|
or posted to the [bitcoin-documentation mailing list][].
|
||||||
|
|
||||||
In the following documentation, some strings have been shortened or wrapped: "[...]"
|
In the following documentation, some strings have been shortened or wrapped: "[...]"
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
layout: base
|
layout: base
|
||||||
lang: en
|
lang: en
|
||||||
id: developer-guide
|
id: developer-guide
|
||||||
title: "Developer Guide - Bitcoin"
|
title: "Developer Guide - Dash"
|
||||||
breadcrumbs:
|
breadcrumbs:
|
||||||
# - bitcoin
|
# - bitcoin
|
||||||
- dev docs
|
- dev docs
|
||||||
|
@ -18,9 +18,9 @@ end_of_page: |
|
||||||
---
|
---
|
||||||
<link rel="stylesheet" href="/css/jquery-ui.min.css">
|
<link rel="stylesheet" href="/css/jquery-ui.min.css">
|
||||||
|
|
||||||
# Bitcoin Developer Guide
|
# Dash Developer Guide
|
||||||
|
|
||||||
<p class="summary">Find detailed information about the Bitcoin protocol and related specifications.</p>
|
<p class="summary">Find detailed information about the Dash protocol and related specifications.</p>
|
||||||
|
|
||||||
<div markdown="1" id="toc" class="toc"><div markdown="1">
|
<div markdown="1" id="toc" class="toc"><div markdown="1">
|
||||||
|
|
||||||
|
@ -28,8 +28,8 @@ end_of_page: |
|
||||||
{:toc}
|
{:toc}
|
||||||
|
|
||||||
<ul class="goback"><li><a href="/en/developer-documentation">Return To Overview</a></li></ul>
|
<ul class="goback"><li><a href="/en/developer-documentation">Return To Overview</a></li></ul>
|
||||||
<ul class="reportissue"><li><a href="https://github.com/bitcoin-dot-org/bitcoin.org/issues/new" onmouseover="updateIssue(event);">Report An Issue</a></li></ul>
|
<ul class="reportissue"><li><a href="https://github.com/thephez/dash.org/issues/new" onmouseover="updateIssue(event);">Report An Issue</a></li></ul>
|
||||||
<ul class="editsource"><li><a href="https://github.com/bitcoin-dot-org/bitcoin.org/tree/master/_includes" onmouseover="updateSource(event);">Edit On GitHub</a></li></ul>
|
<ul class="editsource"><li><a href="https://github.com/thephez/dash.org/tree/master/_includes" onmouseover="updateSource(event);">Edit On GitHub</a></li></ul>
|
||||||
|
|
||||||
</div></div>
|
</div></div>
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ utxo0 [ style = "invis", label = "", width = 0, height = 0 ];
|
||||||
//tx6_input0 -> utxo0 [style = invis];
|
//tx6_input0 -> utxo0 [style = invis];
|
||||||
utxo1 [ style = "invis", label = "", width = 0, height = 0 ];
|
utxo1 [ style = "invis", label = "", width = 0, height = 0 ];
|
||||||
|
|
||||||
txold -> tx0_input0 [ label = "100,000\n(100k)\nsatoshis", style = dotted ]
|
txold -> tx0_input0 [ label = "100,000\n(100k)\nduffs", style = dotted ]
|
||||||
tx0_output0 -> tx1_input0 [ label = "40k" ]
|
tx0_output0 -> tx1_input0 [ label = "40k" ]
|
||||||
tx0_output1 -> tx2_input0 [ label = "50k" ]
|
tx0_output1 -> tx2_input0 [ label = "50k" ]
|
||||||
tx1_output0 -> tx3_input0 [ label = "30k" ]
|
tx1_output0 -> tx3_input0 [ label = "30k" ]
|
||||||
|
|
|
@ -1,195 +1,195 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
|
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
|
||||||
-->
|
-->
|
||||||
<!-- Title: blockchain Pages: 1 -->
|
<!-- Title: blockchain Pages: 1 -->
|
||||||
<svg width="450pt" height="353pt"
|
<svg width="450pt" height="413pt"
|
||||||
viewBox="0.00 0.00 450.00 353.37" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
viewBox="0.00 0.00 450.00 413.11" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
<g id="graph1" class="graph" transform="scale(0.690184 0.690184) rotate(0) translate(4 508)">
|
<g id="graph0" class="graph" transform="scale(0.819672 0.819672) rotate(0) translate(4 500)">
|
||||||
<title>blockchain</title>
|
<title>blockchain</title>
|
||||||
<polygon fill="white" stroke="white" points="-4,5 -4,-508 649,-508 649,5 -4,5"/>
|
<polygon fill="white" stroke="none" points="-4,4 -4,-500 545,-500 545,4 -4,4"/>
|
||||||
<text text-anchor="middle" x="322" y="-8.4" font-family="Sans" font-size="14.00">Triple-Entry Bookkeeping (Transaction-To-Transaction Payments) As Used By Bitcoin</text>
|
<text text-anchor="middle" x="270.5" y="-7.8" font-family="Times,serif" font-size="14.00">Triple-Entry Bookkeeping (Transaction-To-Transaction Payments) As Used By Bitcoin</text>
|
||||||
<g id="graph2" class="cluster"><title>cluster_tx0</title>
|
<g id="clust1" class="cluster"><title>cluster_tx0</title>
|
||||||
<polygon fill="none" stroke="black" points="78,-290 78,-492 188,-492 188,-290 78,-290"/>
|
<polygon fill="none" stroke="black" points="62,-286 62,-484 153,-484 153,-286 62,-286"/>
|
||||||
<text text-anchor="middle" x="133" y="-475.4" font-family="Sans" font-size="14.00">Transaction 0</text>
|
<text text-anchor="middle" x="107.5" y="-468.8" font-family="Times,serif" font-size="14.00">Transaction 0</text>
|
||||||
<text text-anchor="middle" x="133" y="-458.4" font-family="Sans" font-size="14.00">(TX 0)</text>
|
<text text-anchor="middle" x="107.5" y="-453.8" font-family="Times,serif" font-size="14.00">(TX 0)</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="graph3" class="cluster"><title>cluster_tx1</title>
|
<g id="clust2" class="cluster"><title>cluster_tx1</title>
|
||||||
<polygon fill="none" stroke="black" points="232,-365 232,-496 320,-496 320,-365 232,-365"/>
|
<polygon fill="none" stroke="black" points="190,-359 190,-488 264,-488 264,-359 190,-359"/>
|
||||||
<text text-anchor="middle" x="276" y="-479.4" font-family="Sans" font-size="14.00">TX 1</text>
|
<text text-anchor="middle" x="227" y="-472.8" font-family="Times,serif" font-size="14.00">TX 1</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="graph4" class="cluster"><title>cluster_tx2</title>
|
<g id="clust3" class="cluster"><title>cluster_tx2</title>
|
||||||
<polygon fill="none" stroke="black" points="232,-172 232,-357 320,-357 320,-172 232,-172"/>
|
<polygon fill="none" stroke="black" points="190,-168 190,-351 264,-351 264,-168 190,-168"/>
|
||||||
<text text-anchor="middle" x="276" y="-340.4" font-family="Sans" font-size="14.00">TX 2</text>
|
<text text-anchor="middle" x="227" y="-335.8" font-family="Times,serif" font-size="14.00">TX 2</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="graph5" class="cluster"><title>cluster_tx3</title>
|
<g id="clust4" class="cluster"><title>cluster_tx3</title>
|
||||||
<polygon fill="none" stroke="black" points="364,-311 364,-442 452,-442 452,-311 364,-311"/>
|
<polygon fill="none" stroke="black" points="301,-305 301,-434 375,-434 375,-305 301,-305"/>
|
||||||
<text text-anchor="middle" x="408" y="-425.4" font-family="Sans" font-size="14.00">TX 3</text>
|
<text text-anchor="middle" x="338" y="-418.8" font-family="Times,serif" font-size="14.00">TX 3</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="graph6" class="cluster"><title>cluster_tx4</title>
|
<g id="clust5" class="cluster"><title>cluster_tx4</title>
|
||||||
<polygon fill="none" stroke="black" points="364,-172 364,-303 452,-303 452,-172 364,-172"/>
|
<polygon fill="none" stroke="black" points="301,-168 301,-297 375,-297 375,-168 301,-168"/>
|
||||||
<text text-anchor="middle" x="408" y="-286.4" font-family="Sans" font-size="14.00">TX 4</text>
|
<text text-anchor="middle" x="338" y="-281.8" font-family="Times,serif" font-size="14.00">TX 4</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="graph7" class="cluster"><title>cluster_tx5</title>
|
<g id="clust6" class="cluster"><title>cluster_tx5</title>
|
||||||
<polygon fill="none" stroke="black" points="364,-33 364,-164 452,-164 452,-33 364,-33"/>
|
<polygon fill="none" stroke="black" points="301,-31 301,-160 375,-160 375,-31 301,-31"/>
|
||||||
<text text-anchor="middle" x="408" y="-147.4" font-family="Sans" font-size="14.00">TX 5</text>
|
<text text-anchor="middle" x="338" y="-144.8" font-family="Times,serif" font-size="14.00">TX 5</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="graph8" class="cluster"><title>cluster_tx6</title>
|
<g id="clust7" class="cluster"><title>cluster_tx6</title>
|
||||||
<polygon fill="none" stroke="black" points="496,-41 496,-226 584,-226 584,-41 496,-41"/>
|
<polygon fill="none" stroke="black" points="412,-39 412,-222 486,-222 486,-39 412,-39"/>
|
||||||
<text text-anchor="middle" x="540" y="-209.4" font-family="Sans" font-size="14.00">TX 6</text>
|
<text text-anchor="middle" x="449" y="-206.8" font-family="Times,serif" font-size="14.00">TX 6</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx0_input0 -->
|
<!-- tx0_input0 -->
|
||||||
<g id="node2" class="node"><title>tx0_input0</title>
|
<g id="node1" class="node"><title>tx0_input0</title>
|
||||||
<polygon fill="none" stroke="black" points="164,-442 102,-442 102,-406 164,-406 164,-442"/>
|
<polygon fill="none" stroke="black" points="134,-438 80,-438 80,-402 134,-402 134,-438"/>
|
||||||
<text text-anchor="middle" x="133" y="-419.9" font-family="Sans" font-size="14.00">input0</text>
|
<text text-anchor="middle" x="107" y="-416.3" font-family="Times,serif" font-size="14.00">input0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx0_output0 -->
|
<!-- tx0_output0 -->
|
||||||
<g id="node3" class="node"><title>tx0_output0</title>
|
<g id="node2" class="node"><title>tx0_output0</title>
|
||||||
<polygon fill="none" stroke="black" points="169,-388 97,-388 97,-352 169,-352 169,-388"/>
|
<polygon fill="none" stroke="black" points="136,-384 78,-384 78,-348 136,-348 136,-384"/>
|
||||||
<text text-anchor="middle" x="133" y="-365.9" font-family="Sans" font-size="14.00">output0</text>
|
<text text-anchor="middle" x="107" y="-362.3" font-family="Times,serif" font-size="14.00">output0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx1_input0 -->
|
<!-- tx1_input0 -->
|
||||||
<g id="node6" class="node"><title>tx1_input0</title>
|
<g id="node4" class="node"><title>tx1_input0</title>
|
||||||
<polygon fill="none" stroke="black" points="307,-463 245,-463 245,-427 307,-427 307,-463"/>
|
<polygon fill="none" stroke="black" points="254,-457 200,-457 200,-421 254,-421 254,-457"/>
|
||||||
<text text-anchor="middle" x="276" y="-440.9" font-family="Sans" font-size="14.00">input0</text>
|
<text text-anchor="middle" x="227" y="-435.3" font-family="Times,serif" font-size="14.00">input0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx0_output0->tx1_input0 -->
|
<!-- tx0_output0->tx1_input0 -->
|
||||||
<g id="edge11" class="edge"><title>tx0_output0->tx1_input0</title>
|
<g id="edge2" class="edge"><title>tx0_output0->tx1_input0</title>
|
||||||
<path fill="none" stroke="black" d="M169.205,-387.498C175.495,-390.616 181.955,-393.869 188,-397 203.741,-405.152 220.887,-414.416 235.828,-422.616"/>
|
<path fill="none" stroke="black" d="M136.143,-382.757C141.741,-386.127 147.567,-389.659 153,-393 165.527,-400.704 179.181,-409.264 191.257,-416.89"/>
|
||||||
<polygon fill="black" stroke="black" points="234.367,-425.807 244.814,-427.565 237.744,-419.675 234.367,-425.807"/>
|
<polygon fill="black" stroke="black" points="189.409,-419.863 199.731,-422.253 193.153,-413.948 189.409,-419.863"/>
|
||||||
<text text-anchor="middle" x="210" y="-419.4" font-family="Sans" font-size="14.00">40k</text>
|
<text text-anchor="middle" x="171.5" y="-413.8" font-family="Times,serif" font-size="14.00">40k</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx0_output1 -->
|
<!-- tx0_output1 -->
|
||||||
<g id="node4" class="node"><title>tx0_output1</title>
|
<g id="node3" class="node"><title>tx0_output1</title>
|
||||||
<polygon fill="none" stroke="black" points="169,-334 97,-334 97,-298 169,-298 169,-334"/>
|
<polygon fill="none" stroke="black" points="136,-330 78,-330 78,-294 136,-294 136,-330"/>
|
||||||
<text text-anchor="middle" x="133" y="-311.9" font-family="Sans" font-size="14.00">output1</text>
|
<text text-anchor="middle" x="107" y="-308.3" font-family="Times,serif" font-size="14.00">output1</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx2_input0 -->
|
<!-- tx2_input0 -->
|
||||||
<g id="node9" class="node"><title>tx2_input0</title>
|
<g id="node6" class="node"><title>tx2_input0</title>
|
||||||
<polygon fill="none" stroke="black" points="307,-324 245,-324 245,-288 307,-288 307,-324"/>
|
<polygon fill="none" stroke="black" points="254,-320 200,-320 200,-284 254,-284 254,-320"/>
|
||||||
<text text-anchor="middle" x="276" y="-301.9" font-family="Sans" font-size="14.00">input0</text>
|
<text text-anchor="middle" x="227" y="-298.3" font-family="Times,serif" font-size="14.00">input0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx0_output1->tx2_input0 -->
|
<!-- tx0_output1->tx2_input0 -->
|
||||||
<g id="edge13" class="edge"><title>tx0_output1->tx2_input0</title>
|
<g id="edge3" class="edge"><title>tx0_output1->tx2_input0</title>
|
||||||
<path fill="none" stroke="black" d="M169.085,-313.477C189.045,-312.081 213.932,-310.34 234.671,-308.89"/>
|
<path fill="none" stroke="black" d="M136.264,-309.605C152.3,-308.246 172.538,-306.531 189.734,-305.073"/>
|
||||||
<polygon fill="black" stroke="black" points="235.052,-312.372 244.784,-308.183 234.564,-305.389 235.052,-312.372"/>
|
<polygon fill="black" stroke="black" points="190.315,-308.537 199.983,-304.205 189.724,-301.562 190.315,-308.537"/>
|
||||||
<text text-anchor="middle" x="210" y="-315.4" font-family="Sans" font-size="14.00">50k</text>
|
<text text-anchor="middle" x="171.5" y="-310.8" font-family="Times,serif" font-size="14.00">50k</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx1_output0 -->
|
<!-- tx1_output0 -->
|
||||||
<g id="node7" class="node"><title>tx1_output0</title>
|
<g id="node5" class="node"><title>tx1_output0</title>
|
||||||
<polygon fill="none" stroke="black" points="312,-409 240,-409 240,-373 312,-373 312,-409"/>
|
<polygon fill="none" stroke="black" points="256,-403 198,-403 198,-367 256,-367 256,-403"/>
|
||||||
<text text-anchor="middle" x="276" y="-386.9" font-family="Sans" font-size="14.00">output0</text>
|
<text text-anchor="middle" x="227" y="-381.3" font-family="Times,serif" font-size="14.00">output0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx3_input0 -->
|
<!-- tx3_input0 -->
|
||||||
<g id="node13" class="node"><title>tx3_input0</title>
|
<g id="node9" class="node"><title>tx3_input0</title>
|
||||||
<polygon fill="none" stroke="black" points="439,-409 377,-409 377,-373 439,-373 439,-409"/>
|
<polygon fill="none" stroke="black" points="365,-403 311,-403 311,-367 365,-367 365,-403"/>
|
||||||
<text text-anchor="middle" x="408" y="-386.9" font-family="Sans" font-size="14.00">input0</text>
|
<text text-anchor="middle" x="338" y="-381.3" font-family="Times,serif" font-size="14.00">input0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx1_output0->tx3_input0 -->
|
<!-- tx1_output0->tx3_input0 -->
|
||||||
<g id="edge15" class="edge"><title>tx1_output0->tx3_input0</title>
|
<g id="edge4" class="edge"><title>tx1_output0->tx3_input0</title>
|
||||||
<path fill="none" stroke="black" d="M312.07,-391C328.884,-391 348.988,-391 366.437,-391"/>
|
<path fill="none" stroke="black" d="M256.07,-385C269.673,-385 286.175,-385 300.72,-385"/>
|
||||||
<polygon fill="black" stroke="black" points="366.906,-394.5 376.906,-391 366.906,-387.5 366.906,-394.5"/>
|
<polygon fill="black" stroke="black" points="300.896,-388.5 310.896,-385 300.896,-381.5 300.896,-388.5"/>
|
||||||
<text text-anchor="middle" x="342" y="-395.4" font-family="Sans" font-size="14.00">30k</text>
|
<text text-anchor="middle" x="282.5" y="-388.8" font-family="Times,serif" font-size="14.00">30k</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx2_output0 -->
|
<!-- tx2_output0 -->
|
||||||
<g id="node10" class="node"><title>tx2_output0</title>
|
<g id="node7" class="node"><title>tx2_output0</title>
|
||||||
<polygon fill="none" stroke="black" points="312,-270 240,-270 240,-234 312,-234 312,-270"/>
|
<polygon fill="none" stroke="black" points="256,-266 198,-266 198,-230 256,-230 256,-266"/>
|
||||||
<text text-anchor="middle" x="276" y="-247.9" font-family="Sans" font-size="14.00">output0</text>
|
<text text-anchor="middle" x="227" y="-244.3" font-family="Times,serif" font-size="14.00">output0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx4_input0 -->
|
<!-- tx4_input0 -->
|
||||||
<g id="node16" class="node"><title>tx4_input0</title>
|
<g id="node11" class="node"><title>tx4_input0</title>
|
||||||
<polygon fill="none" stroke="black" points="439,-270 377,-270 377,-234 439,-234 439,-270"/>
|
<polygon fill="none" stroke="black" points="365,-266 311,-266 311,-230 365,-230 365,-266"/>
|
||||||
<text text-anchor="middle" x="408" y="-247.9" font-family="Sans" font-size="14.00">input0</text>
|
<text text-anchor="middle" x="338" y="-244.3" font-family="Times,serif" font-size="14.00">input0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx2_output0->tx4_input0 -->
|
<!-- tx2_output0->tx4_input0 -->
|
||||||
<g id="edge17" class="edge"><title>tx2_output0->tx4_input0</title>
|
<g id="edge5" class="edge"><title>tx2_output0->tx4_input0</title>
|
||||||
<path fill="none" stroke="black" d="M312.07,-252C328.884,-252 348.988,-252 366.437,-252"/>
|
<path fill="none" stroke="black" d="M256.07,-248C269.673,-248 286.175,-248 300.72,-248"/>
|
||||||
<polygon fill="black" stroke="black" points="366.906,-255.5 376.906,-252 366.906,-248.5 366.906,-255.5"/>
|
<polygon fill="black" stroke="black" points="300.896,-251.5 310.896,-248 300.896,-244.5 300.896,-251.5"/>
|
||||||
<text text-anchor="middle" x="342" y="-256.4" font-family="Sans" font-size="14.00">20k</text>
|
<text text-anchor="middle" x="282.5" y="-251.8" font-family="Times,serif" font-size="14.00">20k</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx2_output1 -->
|
<!-- tx2_output1 -->
|
||||||
<g id="node11" class="node"><title>tx2_output1</title>
|
<g id="node8" class="node"><title>tx2_output1</title>
|
||||||
<polygon fill="none" stroke="black" points="312,-216 240,-216 240,-180 312,-180 312,-216"/>
|
<polygon fill="none" stroke="black" points="256,-212 198,-212 198,-176 256,-176 256,-212"/>
|
||||||
<text text-anchor="middle" x="276" y="-193.9" font-family="Sans" font-size="14.00">output1</text>
|
<text text-anchor="middle" x="227" y="-190.3" font-family="Times,serif" font-size="14.00">output1</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx5_input0 -->
|
<!-- tx5_input0 -->
|
||||||
<g id="node19" class="node"><title>tx5_input0</title>
|
<g id="node13" class="node"><title>tx5_input0</title>
|
||||||
<polygon fill="none" stroke="black" points="439,-131 377,-131 377,-95 439,-95 439,-131"/>
|
<polygon fill="none" stroke="black" points="365,-129 311,-129 311,-93 365,-93 365,-129"/>
|
||||||
<text text-anchor="middle" x="408" y="-108.9" font-family="Sans" font-size="14.00">input0</text>
|
<text text-anchor="middle" x="338" y="-107.3" font-family="Times,serif" font-size="14.00">input0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx2_output1->tx5_input0 -->
|
<!-- tx2_output1->tx5_input0 -->
|
||||||
<g id="edge19" class="edge"><title>tx2_output1->tx5_input0</title>
|
<g id="edge6" class="edge"><title>tx2_output1->tx5_input0</title>
|
||||||
<path fill="none" stroke="black" d="M303.994,-179.974C323.682,-167.296 350.215,-150.21 371.554,-136.469"/>
|
<path fill="none" stroke="black" d="M251.651,-175.99C267.256,-164.108 287.891,-148.395 304.962,-135.396"/>
|
||||||
<polygon fill="black" stroke="black" points="373.534,-139.357 380.047,-131 369.744,-133.472 373.534,-139.357"/>
|
<polygon fill="black" stroke="black" points="307.183,-138.104 313.018,-129.261 302.942,-132.535 307.183,-138.104"/>
|
||||||
<text text-anchor="middle" x="342" y="-168.4" font-family="Sans" font-size="14.00">20k</text>
|
<text text-anchor="middle" x="282.5" y="-163.8" font-family="Times,serif" font-size="14.00">20k</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx3_output0 -->
|
<!-- tx3_output0 -->
|
||||||
<g id="node14" class="node"><title>tx3_output0</title>
|
<g id="node10" class="node"><title>tx3_output0</title>
|
||||||
<polygon fill="none" stroke="black" points="444,-355 372,-355 372,-319 444,-319 444,-355"/>
|
<polygon fill="none" stroke="black" points="367,-349 309,-349 309,-313 367,-313 367,-349"/>
|
||||||
<text text-anchor="middle" x="408" y="-332.9" font-family="Sans" font-size="14.00">output0</text>
|
<text text-anchor="middle" x="338" y="-327.3" font-family="Times,serif" font-size="14.00">output0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- utxo0 -->
|
<!-- utxo0 -->
|
||||||
<!-- tx3_output0->utxo0 -->
|
<!-- tx3_output0->utxo0 -->
|
||||||
<g id="edge25" class="edge"><title>tx3_output0->utxo0</title>
|
<g id="edge9" class="edge"><title>tx3_output0->utxo0</title>
|
||||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M444.204,-337C498.689,-337 598.917,-337 632.049,-337"/>
|
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M367.372,-331C412.751,-331 499.597,-331 529.544,-331"/>
|
||||||
<polygon fill="black" stroke="black" points="632.145,-340.5 642.145,-337 632.145,-333.5 632.145,-340.5"/>
|
<polygon fill="black" stroke="black" points="529.915,-334.5 539.915,-331 529.915,-327.5 529.915,-334.5"/>
|
||||||
<text text-anchor="middle" x="540" y="-358.4" font-family="Sans" font-size="14.00">20k Unspent TX</text>
|
<text text-anchor="middle" x="449" y="-349.8" font-family="Times,serif" font-size="14.00">20k Unspent TX</text>
|
||||||
<text text-anchor="middle" x="540" y="-341.4" font-family="Sans" font-size="14.00">Output (UTXO)</text>
|
<text text-anchor="middle" x="449" y="-334.8" font-family="Times,serif" font-size="14.00">Output (UTXO)</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx4_output0 -->
|
<!-- tx4_output0 -->
|
||||||
<g id="node17" class="node"><title>tx4_output0</title>
|
<g id="node12" class="node"><title>tx4_output0</title>
|
||||||
<polygon fill="none" stroke="black" points="444,-216 372,-216 372,-180 444,-180 444,-216"/>
|
<polygon fill="none" stroke="black" points="367,-212 309,-212 309,-176 367,-176 367,-212"/>
|
||||||
<text text-anchor="middle" x="408" y="-193.9" font-family="Sans" font-size="14.00">output0</text>
|
<text text-anchor="middle" x="338" y="-190.3" font-family="Times,serif" font-size="14.00">output0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx6_input0 -->
|
<!-- tx6_input0 -->
|
||||||
<g id="node22" class="node"><title>tx6_input0</title>
|
<g id="node15" class="node"><title>tx6_input0</title>
|
||||||
<polygon fill="none" stroke="black" points="571,-193 509,-193 509,-157 571,-157 571,-193"/>
|
<polygon fill="none" stroke="black" points="476,-191 422,-191 422,-155 476,-155 476,-191"/>
|
||||||
<text text-anchor="middle" x="540" y="-170.9" font-family="Sans" font-size="14.00">input0</text>
|
<text text-anchor="middle" x="449" y="-169.3" font-family="Times,serif" font-size="14.00">input0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx4_output0->tx6_input0 -->
|
<!-- tx4_output0->tx6_input0 -->
|
||||||
<g id="edge21" class="edge"><title>tx4_output0->tx6_input0</title>
|
<g id="edge7" class="edge"><title>tx4_output0->tx6_input0</title>
|
||||||
<path fill="none" stroke="black" d="M444.163,-186.661C449.439,-185.273 454.833,-183.995 460,-183 472.421,-180.608 486.074,-178.907 498.529,-177.707"/>
|
<path fill="none" stroke="black" d="M367.07,-188.592C380.673,-185.971 397.175,-182.792 411.72,-179.99"/>
|
||||||
<polygon fill="black" stroke="black" points="499.003,-181.179 508.657,-176.814 498.388,-174.206 499.003,-181.179"/>
|
<polygon fill="black" stroke="black" points="412.739,-183.358 421.896,-178.029 411.415,-176.484 412.739,-183.358"/>
|
||||||
<text text-anchor="middle" x="474" y="-187.4" font-family="Sans" font-size="14.00">10k</text>
|
<text text-anchor="middle" x="393.5" y="-189.8" font-family="Times,serif" font-size="14.00">10k</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx5_output0 -->
|
<!-- tx5_output0 -->
|
||||||
<g id="node20" class="node"><title>tx5_output0</title>
|
<g id="node14" class="node"><title>tx5_output0</title>
|
||||||
<polygon fill="none" stroke="black" points="444,-77 372,-77 372,-41 444,-41 444,-77"/>
|
<polygon fill="none" stroke="black" points="367,-75 309,-75 309,-39 367,-39 367,-75"/>
|
||||||
<text text-anchor="middle" x="408" y="-54.9" font-family="Sans" font-size="14.00">output0</text>
|
<text text-anchor="middle" x="338" y="-53.3" font-family="Times,serif" font-size="14.00">output0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx6_input1 -->
|
<!-- tx6_input1 -->
|
||||||
<g id="node23" class="node"><title>tx6_input1</title>
|
<g id="node16" class="node"><title>tx6_input1</title>
|
||||||
<polygon fill="none" stroke="black" points="571,-139 509,-139 509,-103 571,-103 571,-139"/>
|
<polygon fill="none" stroke="black" points="476,-137 422,-137 422,-101 476,-101 476,-137"/>
|
||||||
<text text-anchor="middle" x="540" y="-116.9" font-family="Sans" font-size="14.00">input1</text>
|
<text text-anchor="middle" x="449" y="-115.3" font-family="Times,serif" font-size="14.00">input1</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx5_output0->tx6_input1 -->
|
<!-- tx5_output0->tx6_input1 -->
|
||||||
<g id="edge23" class="edge"><title>tx5_output0->tx6_input1</title>
|
<g id="edge8" class="edge"><title>tx5_output0->tx6_input1</title>
|
||||||
<path fill="none" stroke="black" d="M444.07,-75.9418C461.202,-83.9887 481.747,-93.6389 499.422,-101.941"/>
|
<path fill="none" stroke="black" d="M367.07,-72.9665C381.07,-80.9295 398.139,-90.6386 412.986,-99.0838"/>
|
||||||
<polygon fill="black" stroke="black" points="498.367,-105.312 508.906,-106.395 501.343,-98.9758 498.367,-105.312"/>
|
<polygon fill="black" stroke="black" points="411.473,-102.25 421.896,-104.152 414.934,-96.1654 411.473,-102.25"/>
|
||||||
<text text-anchor="middle" x="474" y="-100.4" font-family="Sans" font-size="14.00">10k</text>
|
<text text-anchor="middle" x="393.5" y="-97.8" font-family="Times,serif" font-size="14.00">10k</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- tx6_output0 -->
|
<!-- tx6_output0 -->
|
||||||
<g id="node24" class="node"><title>tx6_output0</title>
|
<g id="node17" class="node"><title>tx6_output0</title>
|
||||||
<polygon fill="none" stroke="black" points="576,-85 504,-85 504,-49 576,-49 576,-85"/>
|
<polygon fill="none" stroke="black" points="478,-83 420,-83 420,-47 478,-47 478,-83"/>
|
||||||
<text text-anchor="middle" x="540" y="-62.9" font-family="Sans" font-size="14.00">output0</text>
|
<text text-anchor="middle" x="449" y="-61.3" font-family="Times,serif" font-size="14.00">output0</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- utxo1 -->
|
<!-- utxo1 -->
|
||||||
<!-- tx6_output0->utxo1 -->
|
<!-- tx6_output0->utxo1 -->
|
||||||
<g id="edge27" class="edge"><title>tx6_output0->utxo1</title>
|
<g id="edge10" class="edge"><title>tx6_output0->utxo1</title>
|
||||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M576.024,-67C595.705,-67 618.71,-67 631.993,-67"/>
|
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M478.477,-65C496.038,-65 517.497,-65 529.873,-65"/>
|
||||||
<polygon fill="black" stroke="black" points="632.339,-70.5001 642.339,-67 632.339,-63.5001 632.339,-70.5001"/>
|
<polygon fill="black" stroke="black" points="529.898,-68.5001 539.898,-65 529.898,-61.5001 529.898,-68.5001"/>
|
||||||
<text text-anchor="middle" x="613" y="-88.4" font-family="Sans" font-size="14.00">10k</text>
|
<text text-anchor="middle" x="513" y="-83.8" font-family="Times,serif" font-size="14.00">10k</text>
|
||||||
<text text-anchor="middle" x="613" y="-71.4" font-family="Sans" font-size="14.00">UTXO</text>
|
<text text-anchor="middle" x="513" y="-68.8" font-family="Times,serif" font-size="14.00">UTXO</text>
|
||||||
</g>
|
</g>
|
||||||
<!-- txold -->
|
<!-- txold -->
|
||||||
<!-- txold->tx0_input0 -->
|
<!-- txold->tx0_input0 -->
|
||||||
<g id="edge9" class="edge"><title>txold->tx0_input0</title>
|
<g id="edge1" class="edge"><title>txold->tx0_input0</title>
|
||||||
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M1.84293,-424C8.67759,-424 55.6789,-424 91.4816,-424"/>
|
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M1.0761,-420C2.98148,-420 40.2834,-420 69.8738,-420"/>
|
||||||
<polygon fill="black" stroke="black" points="91.7074,-427.5 101.707,-424 91.7074,-420.5 91.7074,-427.5"/>
|
<polygon fill="black" stroke="black" points="69.948,-423.5 79.948,-420 69.948,-416.5 69.948,-423.5"/>
|
||||||
<text text-anchor="middle" x="40" y="-462.4" font-family="Sans" font-size="14.00">100,000</text>
|
<text text-anchor="middle" x="31.5" y="-453.8" font-family="Times,serif" font-size="14.00">100,000</text>
|
||||||
<text text-anchor="middle" x="40" y="-445.4" font-family="Sans" font-size="14.00">(100k)</text>
|
<text text-anchor="middle" x="31.5" y="-438.8" font-family="Times,serif" font-size="14.00">(100k)</text>
|
||||||
<text text-anchor="middle" x="40" y="-428.4" font-family="Sans" font-size="14.00">satoshis</text>
|
<text text-anchor="middle" x="31.5" y="-423.8" font-family="Times,serif" font-size="14.00">duffs</text>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Loading…
Add table
Add a link
Reference in a new issue