Types used in the public API
Represents a CashNote (CashNote).
Unspent Transaction (Tx) Output
Information can be used by the Tx recipient of this output
to check that they received money and to spend it
An encrypted message.
Types used in the public API
This is used to generate a new UniquePubkey
from a MainPubkey, and the corresponding
DerivedSecretKey from the MainSecretKey of that MainPubkey.
Types used in the public API
This is the key that unlocks the value of a CashNote.
Holding this key gives you access to the tokens of the
CashNote with the corresponding UniquePubkey.
Like with the keys to your house or a safe, this is not something you share publicly.
Utilities exposed
Load the genesis CashNote.
The genesis CashNote is the first CashNote in the network. It is created without
a source transaction, as there was nothing before it.
Utilities exposed
Utilities exposed
This is the unique key for the genesis Spend
Types used in the public API
sha3 256 hash used for Spend Reasons, Transaction hashes, anything hash related in this crate
A hot-wallet.
Types used in the public API
This is the MainPubkey to which tokens are send.
Types used in the public API
A CashNote MainSecretKey is held by anyone who wants to
send or receive tokens using CashNotes. It is held privately
and not shared with anyone.
Types used in the public API
An amount in SNT Nanos. 10^9 Nanos = 1 SNT.
A payment quote to store data given by a node to a client
Note that the PaymentQuote is a contract between the node and itself to make sure the clients aren’t mispaying.
It is NOT a contract between the client and the node.
Quoting metrics that got used to generate a quote, or to track peer’s status.
A signature.
Types used in the public API
SignedSpend
s are the core of the Network’s transaction system.
They are the data type on the Network used to commit to a transfer of value. Analogous to a transaction in Bitcoin.
They are signed piece of data proving the owner’s commitment to transfer value.
Spend
s refer to their ancestors and descendants, forming a directed acyclic graph that starts from Genesis.
A local transaction that has been signed and is ready to be executed on the Network
Types used in the public API
Represents a spent UniquePubkey on the Network.
When a CashNote is spent, a Spend is created with the UniquePubkey of the CashNote.
It is then sent to the Network along with the signature of the owner using the DerivedSecretKey matching its UniquePubkey.
A Spend can have multiple ancestors (other spends) which will refer to it as a descendant.
A Spend’s value is equal to the total value given by its ancestors, which one can fetch on the Network to check.
A Spend can have multiple descendants (other spends) which will refer to it as an ancestor.
A Spend’s value is equal to the total value of given to its descendants.
Types used in the public API
The address of a SignedSpend in the network.
This is used to check if a CashNote is spent, note that the actual CashNote is not stored on the Network.
Types used in the public API
A Unique Public Key is the unique identifier of a CashNote and its SignedSpend on the Network when it is spent.
It is the mechanism that makes transactions untraceable to the real owner (MainPubkey).
It is the equivalent to using a different key for each transaction in bitcoin.
A local transaction that has not been signed yet
All fields are private to prevent bad useage
Contains some common API’s used by wallet implementations.
This assumes the CashNotes are stored on disk