Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Glossary

Short definitions for terms used throughout this site.

Address

A 32-byte hash (64 hex chars) of a locking script. Where you receive payments. Same string is accepted as the script_hex parameter of get_script_utxos. Not the same as the public key.

Argon2id

The memory-hard hash function Exfer uses for proof of work. Parameters: m=64 MiB, t=2, p=1. Designed to resist ASIC speedup. See How exfer mining works.

Assume-valid

Optimization where blocks at or below the hardcoded checkpoint height (130 000) skip Argon2id PoW verification during IBD. All other validation (signatures, UTXO accounting, state roots, coinbase rules, timestamps) is always performed. Disable with --no-assume-valid.

Block

The unit of consensus. Contains a header (PoW, links to previous block) and a list of transactions. Target block time: 10 seconds.

Coinbase

The special first transaction in a block that pays the block reward and fees to the miner. Coinbase outputs are unspendable for 360 blocks (coinbase maturity).

Coinbase maturity

The number of confirmations a coinbase output needs before it can be spent: 360 blocks (~1 hour).

Confirmation

Each additional block built on top of the one containing your transaction is one confirmation. tip_height - tx_block_height + 1.

Difficulty target

A threshold the block PoW hash must be below. Retargets every 4 320 blocks to keep block time near 10 s.

Dust

An output below 200 exfers. Skipped by the wallet's input-selection logic and discouraged at the protocol level.

EXFER / exfers

EXFER (upper case) is the user-facing unit. exfers (lower case) is the base unit. 1 EXFER = 100 000 000 exfers. The CLI accepts both formats.

Exfer Script

The transaction-condition language. A total functional combinator language — every script terminates and every cost is statically computable before execution. See Protocol specification §6.

Genesis block

The first block. Hash: d7b6805c8fd793703db88102b5aed2600af510b79e3cb340ca72c1f762d1e051.

Height

The number of blocks between genesis and a given block. Genesis is height 0.

HTLC (Hash Time-Locked Contract)

A payment claimable by the recipient on revealing a preimage, or refundable to the sender after a timeout. The primitive behind atomic swaps. See HTLC payments.

IBD (Initial Block Download)

The cold-sync process for a fresh node: download headers, then bodies, then validate.

Mempool

The local pool of unconfirmed transactions a node keeps until they're included in a block (or evicted).

Multisig

Locking script requiring N-of-M signatures to unlock. Exfer ships 2-of-2, 1-of-2, and 2-of-3 patterns. See Multisig.

Node identity

An Ed25519 keypair (node_identity.key) used by the P2P layer to authenticate a node to its peers. Distinct from any wallet keys.

OutPoint

A reference to a specific output of a specific transaction: {tx_id, output_index}. Inputs in a new transaction reference the OutPoints they consume.

Preimage

The secret a recipient reveals to claim an HTLC. The lock specifies hash_lock = SHA256(preimage).

PoW (Proof of Work)

The computational lottery a miner runs to produce a valid block. Exfer uses Argon2id.

Reorg (re-organization)

The chain switching from one fork to a longer competing fork. A transaction confirmed on the losing fork can become unconfirmed (or land in a different block). See Confirmation depth & reorg semantics.

RPC

The JSON-RPC 2.0 HTTP interface a node optionally exposes via --rpc-bind. Seven methods total. See JSON-RPC reference.

Script hash

The 32-byte SHA-256 of a canonical locking script. Addresses are script hashes — a plain pay-to-pubkey address is the hash of the trivial "check signature against this pubkey" script.

Tip

The highest-height block of the local node's best chain.

Tx (transaction)

A signed message that consumes one or more existing UTXOs and creates one or more new UTXOs.

UTXO (Unspent Transaction Output)

An output that hasn't been spent yet. Your balance is the sum of UTXOs locked to your address.