scoin
Type members
Classlikes
https://en.bitcoin.it/wiki/Base58Check_encoding Base58Check is a format based on Base58 and used a lot in bitcoin, for encoding addresses and private keys for example. It includes a prefix (usually a single byte) and a checksum so you know what has been encoded, and that it has been transmitted correctly. For example, to create an address for a public key you could write:
https://en.bitcoin.it/wiki/Base58Check_encoding Base58Check is a format based on Base58 and used a lot in bitcoin, for encoding addresses and private keys for example. It includes a prefix (usually a single byte) and a checksum so you know what has been encoded, and that it has been transmitted correctly. For example, to create an address for a public key you could write:
val pub: BinaryData = "0202a406624211f2abbdc68da3df929f938c3399dd79fac1b51b0e4ad1d26a47aa"
val address = Base58Check.encode(Base58.Prefix.PubkeyAddress, Crypto.hash160(pub))
And to decode a private key you could write:
// check that is it a mainnet private key
val (Base58.Prefix.SecretKey, priv) = Base58Check.decode("5J3mBbAH58CpQ3Y5RNJpUKPE62SQ5tfcvU2JpbnkeyhfsYB1Jcn")
- Source:
- Base58.scala
Bech32 and Bech32m address formats. See https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki and https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki.
Bech32 and Bech32m address formats. See https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki and https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki.
- Source:
- Bech32.scala
Bitcoin block
Bitcoin block
- Value parameters:
- header
block header
- tx
transactions
- Companion:
- object
- Source:
- Block.scala
- Value parameters:
- bits
The calculated difficulty target being used for this block
- hashMerkleRoot
The reference to a Merkle tree collection which is a hash of all transactions related to this block
- hashPreviousBlock
The hash value of the previous block this particular block references. Please not that this hash is not reversed (as opposed to Block.hash)
- nonce
The nonce used to generate this block… to allow variations of the header and compute different hashes
- time
A timestamp recording when this block was created (Will overflow in 2106[2])
- version
Block version information, based upon the software version creating this block
- Companion:
- object
- Source:
- Block.scala
Fee rate in satoshi-per-kilo-bytes (1 kB = 1000 bytes).
Fee rate in satoshi-per-kilo-bytes (1 kB = 1000 bytes).
- Companion:
- object
- Source:
- Feerates.scala
Fee rate in satoshi-per-kilo-weight.
Fee rate in satoshi-per-kilo-weight.
- Companion:
- object
- Source:
- Feerates.scala
Fee rates in satoshi-per-kilo-bytes (1 kb = 1000 bytes). The mempoolMinFee is the minimal fee required for a tx to enter the mempool (and then be relayed to other nodes and eventually get confirmed). If our fee provider doesn't expose this data, using its biggest block target should be a good enough estimation.
Fee rates in satoshi-per-kilo-bytes (1 kb = 1000 bytes). The mempoolMinFee is the minimal fee required for a tx to enter the mempool (and then be relayed to other nodes and eventually get confirmed). If our fee provider doesn't expose this data, using its biggest block target should be a good enough estimation.
- Source:
- Feerates.scala
Fee rates in satoshi-per-kilo-weight (1 kw = 1000 weight units).
Fee rates in satoshi-per-kilo-weight (1 kw = 1000 weight units).
- Companion:
- object
- Source:
- Feerates.scala
- Companion:
- object
- Source:
- Protocol.scala
- Companion:
- object
- Source:
- Protocol.scala
Lexicographical Ordering of Transaction Inputs and Outputs see https://github.com/bitcoin/bips/blob/master/bip-0069.mediawiki
Lexicographical Ordering of Transaction Inputs and Outputs see https://github.com/bitcoin/bips/blob/master/bip-0069.mediawiki
- Value parameters:
- bits
The calculated difficulty target being used for this block
- flags
flag bits, packed per 8 in a byte, least significant bit first (including standard varint size prefix)
- hashes
hashes in depth-first order (including standard varint size prefix)
- merkleRoot
The reference to a Merkle tree collection which is a hash of all transactions related to this block
- nonce
The nonce used to generate this block… to allow variations of the header and compute different hashes
- previousBlockHash
The hash value of the previous block this particular block references
- timestamp
A timestamp recording when this block was created (Limited to 2106!)
- txCount
Number of transactions in the block (including unmatched ones)
- version
Block version information, based upon the software version creating this block
- Companion:
- object
- Source:
- MerkleBlock.scala
Bitcoin message exchanged by nodes over the network
Bitcoin message exchanged by nodes over the network
- Value parameters:
- command
ASCII string identifying the packet content, NULL padded (non-NULL padding results in packet rejected)
- magic
Magic value indicating message origin network, and used to seek to next message when stream state is unknown
- payload
The actual data
- Companion:
- object
- Source:
- Protocol.scala
- Companion:
- object
- Source:
- Protocol.scala
- Companion:
- object
- Source:
- Protocol.scala
an out point is a reference to a specific output in a specific transaction that we want to claim
an out point is a reference to a specific output in a specific transaction that we want to claim
- Value parameters:
- hash
reversed sha256(sha256(tx)) where tx is the transaction we want to refer to
- index
index of the output in tx that we want to refer to
- Companion:
- object
- Source:
- Transaction.scala
A partially signed bitcoin transaction: see https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki.
A partially signed bitcoin transaction: see https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki.
- Value parameters:
- global
global psbt data containing the transaction to be signed.
- inputs
signing data for each input of the transaction to be signed (order matches the unsigned tx).
- outputs
signing data for each output of the transaction to be signed (order matches the unsigned tx).
- Companion:
- object
- Source:
- Psbt.scala
Partially signed bitcoin transactions: see https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
Partially signed bitcoin transactions: see https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
- Companion:
- class
- Source:
- Psbt.scala
- Companion:
- object
- Source:
- Protocol.scala
a script witness is just a stack of data there is one script witness per transaction input
a script witness is just a stack of data there is one script witness per transaction input
- Value parameters:
- stack
items to be pushed on the stack
- Companion:
- object
- Source:
- Transaction.scala
Transaction
Transaction
- Value parameters:
- lockTime
The block number or timestamp at which this transaction is locked
- txIn
Transaction inputs
- txOut
Transaction outputs
- version
Transaction data format version
- Companion:
- object
- Source:
- Transaction.scala
Transaction input
Transaction input
- Value parameters:
- outPoint
Previous output transaction reference
- sequence
Transaction version as defined by the sender. Intended for "replacement" of transactions when information is updated before inclusion into a block. Repurposed for OP_CSV (see BIPs 68 & 112)
- signatureScript
Signature script which should match the public key script of the output that we want to spend
- witness
Transaction witness (i.e. what is in sig script for standard transactions).
- Companion:
- object
- Source:
- Transaction.scala
Transaction output
Transaction output
- Value parameters:
- amount
amount in Satoshis
- publicKeyScript
public key script which sets the conditions for spending this output
- Companion:
- object
- Source:
- Transaction.scala
- Value parameters:
- addr_from
The network address of the node emitting this message
- addr_recv
The network address of the node receiving this message
- nonce
Node random nonce, randomly generated every time a version packet is sent. This nonce is used to detect connections to self.
- relay
Whether the remote peer should announce relayed transactions or not, see BIP 0037, since version >= 70001
- services
bitfield of features to be enabled for this connection
- start_height
The last block received by the emitting node
- timestamp
standard UNIX timestamp in seconds
- user_agent
User Agent
- version
Identifies protocol version being used by the node
- Companion:
- object
- Source:
- Protocol.scala