Nockchain evidence

Hoon and jam boundary

Nockchain Hoon Kernel Atlas

A source-backed map of the Hoon kernels, compiled jam assets, Rust embedding crates, cause/effect tags, and receipt fields that connect Nockchain runtime behavior back to deterministic Nock state machines.

Kernels

5

Jam Assets

5

Compiler

hoonc

Commit

33ba97b1e206

Compiled Jam Targets

All public Hoon kernels are compiled through hoonc from the hoon source tree into jam assets before Rust crates embed or execute them.

jamAsset

assets/dumb.jam

jamAsset

assets/miner.jam

jamAsset

assets/wal.jam

jamAsset

assets/peek.jam

jamAsset

assets/bridge.jam

makefile

Makefile L217-L275

Rust Embedding

Kernel crates use include_bytes!(env!("KERNEL_JAM_PATH")) or crate-specific jam env vars, so receipts should cite the Rust consumer and the jam asset identity.

kernelCrates

crates/kernels/dumb, crates/kernels/miner, crates/kernels/wallet, crates/kernels/nockchain-peek, crates/kernels/bridge

consumers

crates/nockchain/src/main.rs | crates/nockchain/src/mining.rs | crates/nockchain-wallet/src/main.rs | crates/nockchain-peek/src/main.rs | crates/bridge/src/main.rs | crates/nockapp/src/kernel/form.rs

availableTooling

cargo 1.96.0, hoonc

caution

$HOME/.cargo/bin must be present on PATH for cargo and hoonc checks

caution

Full Hoon rebuilds can mutate local hoonc/NockApp data directories; use scratch upstream checkouts for exploratory compiles.

caution

Cargo metadata can be read locally, but full crate checks may still fetch/build dependencies.

Kernel Interfaces

assets/dumb.jam

dumbnet-consensus

Primary Nockchain state machine for consensus, mining state, derived chain state, checkpoints, constants, and state upgrades.

entrySource

hoon/apps/dumbnet/outer.hoon

kernelCrate

crates/kernels/dumb

consumerCrate

nockchain

stateVersion

%9

interfaceArms

load, poke, peek

causeTags

block acceptance and consensus pokes are typed in dumbnet lib/types

effectTags

new-heaviest-chain, new-heaviest-miner, kernel trace spans

receiptFields

kernelId, jamAsset, nockchainCommit, blockchainConstantsSource, protocolTrack, stateVersion, tipStatus, stateJamFingerprint

assets/wal.jam

wallet

Wallet state machine for keys, notes, balance sync, transaction construction, signing commands, and fakenet/mainnet wallet state checks.

entrySource

hoon/apps/wallet/wallet.hoon

kernelCrate

crates/kernels/wallet

consumerCrate

nockchain-wallet

stateVersion

%8

interfaceArms

load, poke, peek

causeTags

wallet command nouns, balance sync pokes, transaction creation pokes

effectTags

%markdown, %file, %exit, wallet driver effects

receiptFields

kernelId, jamAsset, walletEndpointMode, walletAddress, walletStateVersion, balancePeekHash, txPlanHash

assets/peek.jam

nockchain-peek

Read/format helper kernel for block, heaviest-chain, note, and file/markdown peek workflows.

entrySource

hoon/apps/peek/peek.hoon

kernelCrate

crates/kernels/nockchain-peek

consumerCrate

nockchain-peek

stateVersion

kernel-state

interfaceArms

load, poke, peek

causeTags

%born, %grpc-bind

effectTags

%exit, %grpc, %markdown, %file

receiptFields

kernelId, jamAsset, peekCommand, peekPath, peekResultHash, markdownHash, writtenFileHash

assets/bridge.jam

bridge

Bridge state machine for Base/Nock hashchain state, withdrawal coordination, signer thresholds, and kernel reconciliation.

entrySource

hoon/apps/bridge/bridge.hoon

kernelCrate

crates/kernels/bridge

consumerCrate

bridge

stateVersion

bridge-state

interfaceArms

handle-cause, load, poke, peek

causeTags

%cfg-load, %set-constants, %set-blockchain-constants, %base-blocks, %base-block-withdrawals-committed, %nockchain-block, %create-withdrawal-tx, %sign-tx, %proposed-nock-tx

effectTags

%stop, bridge runtime effects, withdrawal transaction effects

receiptFields

kernelId, jamAsset, withdrawalId, proposalHash, sequencerState, kernelReconciliationStatus, bridgeLockRoot

assets/miner.jam

dumbnet-miner

Proof-of-work helper kernel that receives candidate header/nonce/target causes and emits mine-result effects.

entrySource

hoon/apps/dumbnet/miner.hoon

kernelCrate

crates/kernels/miner

consumerCrate

nockchain

stateVersion

%1

interfaceArms

load, poke, peek

causeTags

%0, %1, %2

effectTags

%mine-result

receiptFields

kernelId, jamAsset, miningHeader, nonceDigest, powDigest, target, mineResult

Evidence Contract

Hoon and jam identity is evidence metadata. Public Nocksperimental receipts should carry source paths, hashes, build/commit context, and redacted outputs rather than raw jam, kernel state, PMA, state-jam, event-log, or key material.

Required Fields

required

kernelId

required

jamAsset

required

hoonSource

required

kernelCrate

required

consumerCrate

required

nockchainCommit

required

nockchainBuild

required

sourceAnchor

Forbidden Fields

forbidden

rawJamBytes

forbidden

walletSeedPhrase

forbidden

rawKernelState

forbidden

rawPmaSlab

forbidden

rawStateJam

forbidden

rawEventLog

forbidden

privateSpendKey

forbidden

sequencerJournalSigningKey

Verification Commands

source

make build-hoon

source

make build-assets

source

make assets/dumb.jam

source

make assets/miner.jam

source

make assets/wal.jam

crate

cargo check -p kernels-open-dumb

crate

cargo check -p kernels-open-miner

crate

cargo check -p kernels-open-wallet

crate

cargo check -p kernels-open-nockchain-peek

crate

cargo check -p kernels-open-bridge