Handshake Module

Handshake Module

This reference covers v1beta, generated from spec v0.19.2.

Block

Represents a block in the Handshake blockchain.

FieldTypeLabelDescription
versionuint32Block version number
previous_blockhashbytesoptionalHash of the previous block
merkle_rootbytesMerkle root of base transaction data
witness_rootbytesMerkle root of transaction witness data
tree_rootbytesRoot of the name-resource urkel tree
reserved_rootbytesReserved root for future layer 2 expansion
timeuint32Time when the block was created
bitsuint32Target difficulty value
noncebytesNonce used for Proof-of-Work
extra_noncebytesExtra nonce for expanded mining search space
maskbytesMask for committed block hash
txTransactionrepeatedList of transactions included in the block

Covenant

Represents a covenant attached to a transaction output.

FieldTypeLabelDescription
actionCovenantActionThe covenant action type
itemsbytesrepeatedCovenant data items (name hash, resource data, etc.)

Transaction

Represents a transaction in the Handshake network.

FieldTypeLabelDescription
versionuint32Transaction version number
vinTxInputrepeatedList of transaction inputs
voutTxOutputrepeatedList of transaction outputs
locktimeuint32Block height or timestamp when transaction is final
hashbytesHash of the transaction
witness_hashbytesoptionalWitness-committed hash
blockhashbytesoptionalHash of the containing block
timeuint32optionalTimestamp of the transaction

TxInput

Represents an input in a Handshake transaction.

FieldTypeLabelDescription
txidbytesoptionalHash of the previous transaction being spent
output_indexuint32Index of the output in the previous transaction
sequenceuint32Sequence number, used for relative timelocks
witnessbytesrepeatedWitness stack items (Handshake is SegWit-only)

TxOutput

Represents an output in a Handshake transaction.

FieldTypeLabelDescription
valueuint64Amount in dollarydoos (smallest HNS unit, 1 HNS = 1,000,000 dollarydoos)
addressbytesWitness program address
covenantCovenantCovenant restricting future use of this output

CovenantAction

Covenant action types for the Handshake naming system.

NameNumberDescription
COVENANT_ACTION_UNSPECIFIED0No covenant (regular transfer)
COVENANT_ACTION_CLAIM1Claim a reserved legacy DNS name
COVENANT_ACTION_OPEN2Open a name auction
COVENANT_ACTION_BID3Submit a blinded bid
COVENANT_ACTION_REVEAL4Reveal a bid amount
COVENANT_ACTION_REDEEM5Recover a losing bid
COVENANT_ACTION_REGISTER6Finalize name ownership after winning auction
COVENANT_ACTION_UPDATE7Update DNS resource data for a name
COVENANT_ACTION_RENEW8Renew name ownership
COVENANT_ACTION_TRANSFER9Initiate ownership transfer
COVENANT_ACTION_FINALIZE10Confirm ownership transfer
COVENANT_ACTION_REVOKE11Revoke a name permanently