Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
34c51ce
nockchain: fix save interval to 120s
tacryt-socryp Oct 25, 2025
240c0e9
Add Linux memory overcommit setup instructions (#67)
sigilante Oct 27, 2025
87f7e5f
nockchain: add --fast-sync option
tacryt-socryp Oct 27, 2025
23c1725
nockchain-libp2p: properly handle liar effect noun decoding
tacryt-socryp Oct 27, 2025
ea4afc9
nockvm: explicitly assert that we only support little-endian
tacryt-socryp Oct 28, 2025
0f1a127
wallet: smoother tx building
tacryt-socryp Oct 28, 2025
8cf1c79
nockchain: remove deprecated mining-pubkey command-line arguments
tacryt-socryp Oct 29, 2025
8983615
nockchain: stubbed out deprecated mining pubkey argument and added ne…
tacryt-socryp Oct 30, 2025
6fb652e
nockchain: update fakenet default args for simpler fakenet setup
tacryt-socryp Oct 31, 2025
da65e41
nockchain-peek: add utility for peeking out data from a running nockc…
tacryt-socryp Oct 31, 2025
a4d0fdd
Makefile: nockchain-peek added to hoon_targets
tacryt-socryp Oct 31, 2025
cd13983
nockchain-wallet: watch-only addresses work for v1
tacryt-socryp Nov 3, 2025
15d525e
cargo fmt
tacryt-socryp Nov 3, 2025
9298da1
nockchain-libp2p config: bump timeout for network pokes to 180s
tacryt-socryp Nov 4, 2025
3ab0fdd
nockchain-wallet: support m-to-n spends and add --include-data option…
tacryt-socryp Nov 4, 2025
eec69f4
tx-engine-1: band-aid lukechampine's issue where axis is used instead…
tacryt-socryp Nov 7, 2025
e6e3b65
tx-engine-1: remove extraneous jet hints
tacryt-socryp Nov 7, 2025
28fed72
nockchain-libp2p: reduce request fanout to 8 at max regardless of fas…
tacryt-socryp Nov 9, 2025
dd5d4e5
raw-tx-checker: add ability to save raw-txs from wallet, add a crate …
tacryt-socryp Nov 9, 2025
ebbaf23
nockchain-wallet: use tiny stack size
tacryt-socryp Nov 9, 2025
c5b13b6
nockchain-api: release gRPC API for reading block and transaction dat…
tacryt-socryp Nov 17, 2025
50c9ed3
nockchain-wallet: add support for multisig creation
tacryt-socryp Nov 20, 2025
aa345da
Sync from Nockup development repo. (#73)
sigilante Nov 26, 2025
07f58f2
nockchain-wallet: note rendering standardization and support spending…
tacryt-socryp Nov 26, 2025
a7dc643
Update README to remove status and development notes (#74)
sigilante Nov 26, 2025
fe4f587
README.md update
tacryt-socryp Nov 28, 2025
a9a973f
Update build artifacts and Nockup retrieval format. (#75)
sigilante Dec 1, 2025
5539271
Fix install script path. (#77)
sigilante Dec 1, 2025
237c5ee
excluded txs peek (#76)
nallux-dozryl Dec 1, 2025
d1e6fb1
Fix cleanup logic. (#78)
sigilante Dec 2, 2025
dcb1de9
Change to new templates directory location. (#80)
sigilante Dec 2, 2025
1722a98
nockchain-api: add grpc support for v1 to grpc, lock details and metr…
tacryt-socryp Dec 4, 2025
a19ad4d
Post hotfix (#81)
sigilante Dec 5, 2025
c413814
bridge launched, nockchain-wallet supports bridge
tacryt-socryp Dec 19, 2025
ede35f2
bridge, nockchain-wallet: correctly enforce 100k nock minimum bridge …
tacryt-socryp Dec 21, 2025
6e6d6bc
nockup release
tacryt-socryp Dec 22, 2025
5039878
cargo.lock updated for nockup
tacryt-socryp Dec 22, 2025
cd91acc
sync: Bridge crate, kernel refactor, zoon jets, and hash improvements…
github-actions[bot] Feb 13, 2026
a01d1c9
Bythos Protocol Upgrade: Versioned Lock Proofs and Height-Gated Fee/V…
github-actions[bot] Feb 18, 2026
5fc17ff
fix(consensus,wallet): gate Bythos fee accounting by page height#26
github-actions[bot] Feb 19, 2026
fc44f15
docs: canonical spine + CI checks; fee and math fixes
github-actions[bot] Feb 27, 2026
4ffd37e
bridge: planner/runtime decomposition, Nous draft spec, and CBOR vectors
github-actions[bot] Mar 5, 2026
18533e5
ci: add manual and scheduled recovery path for nockchain sync (#29)
ryjm Mar 5, 2026
3bae4d9
bridge: add docs and make recipes for operators
github-actions[bot] Mar 5, 2026
505c3ea
wallet: add state migration %5 -> %6 (#105)
ryjm Mar 10, 2026
c499836
docs: add tx-engine architectural analysis with Bitcoin/Cardano desig…
tacryt-socryp Mar 11, 2026
b2f5112
sync: add bridge metrics and docs, add wallet version bump for bytho…
github-actions[bot] Mar 16, 2026
06ec9f5
Merge remote-tracking branch 'upstream-nockchain/master' into sync-up…
litlep-nibbyt Mar 16, 2026
8dbbcea
rust-first transaction planning, expand v1 tx-engine hashing and lock…
github-actions[bot] Mar 19, 2026
a19f801
Allow peeking block range without PoW (#108)
h33p Mar 19, 2026
d274cb6
wallet: support v0 note migration and chkjam bootstrap tooling
github-actions[bot] Apr 7, 2026
9a62802
sync: update from upstream (#35)
github-actions[bot] Apr 7, 2026
e6e1d0e
Merge remote-tracking branch 'upstream-nockchain/master' into fix-noc…
litlep-nibbyt Apr 7, 2026
1be898b
wallet: batch v0 migration tx creation across active signers
github-actions[bot] Apr 15, 2026
44fecff
Nockchain Phase 2 consensus upgrade going into effect at block 65500.
bitemyapp May 1, 2026
1a23ccd
nockapp: harden chkjam/state-jam decode Add checked artifact decoding…
bitemyapp May 7, 2026
a4ced58
Merge branch 'master' into nockpool/hoon-7may26
yapishu May 7, 2026
2498ef9
Add approver kernel and binary
yapishu May 7, 2026
5703d68
Stop Cargo from parsing nockup templates
yapishu May 7, 2026
ecbb87f
aletheia finalization: fix the find-min-timestamp slowdown
tacryt-socryp May 14, 2026
2a5f010
aletheia finalization: fix the find-min-timestamp slowdown
mopfel-winrux May 14, 2026
4fc1e73
tx-engine-1: dedupe +lock-merkle-proof-full arm
mopfel-winrux May 14, 2026
1db91af
assets: rebuild all kernel jams from post-Aletheia hoon
mopfel-winrux May 14, 2026
09292f9
ci: jam-consistency check
mopfel-winrux May 14, 2026
980a0a1
ci: drop byte-exact rebuild, use git-log staleness check
mopfel-winrux May 14, 2026
334b8fc
Persistent memory arena first public release, READ THE DOCS. BIG CHAN…
github-actions[bot] May 15, 2026
1cbd470
h-zoon digest-keyed containers, kernel-state-9 migration, gRPC IP blo…
bitemyapp May 18, 2026
0787a54
PMA dynamic growth, libp2p IP-level exclusion, bridge operator tooling
bitemyapp May 22, 2026
e7c6893
tx-engine-1: drop stale axis=1 gate in +lock-merkle-proof-full
mopfel-winrux May 27, 2026
3185a5a
merge nockchain/master: PMA, h-zoon, kernel-state-9
mopfel-winrux May 29, 2026
32561c1
assets: rebuild jams against merged nockchain/master (PMA + h-zoon)
mopfel-winrux May 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
**
!.dockerignore
!Dockerfile
!target/
!target/release/
!target/release/nockchain
53 changes: 53 additions & 0 deletions .github/workflows/jam-consistency.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: "Check kernel jams are not stale relative to hoon sources"

# hoonc output bytes are not reproducible across runs (HashMap iteration order
# leaks into the jam), so a byte-for-byte rebuild-and-diff cannot pass
# reliably. Instead, use git history: if any hoon/ file was modified in a
# commit newer than the most recent commit touching assets/*.jam, the jams
# are stale and must be rebuilt. This is what we actually want to catch —
# the trap that hid the duplicate +lock-merkle-proof-full arm and let the
# pre-Aletheia kernel ship.

on:
push:
branches:
- master
- "nockpool/**"
pull_request:
branches:
- master
- "nockpool/**"

jobs:
jam-staleness:
name: hoon vs assets git-log staleness
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
with:
# Need full history so `git log -- assets/*.jam` can find the
# commit that last touched the jams.
fetch-depth: 0

- name: Fail if hoon/ has changed since assets/*.jam was last rebuilt
run: |
set -euo pipefail
LAST_JAM_COMMIT=$(git log -1 --format=%H -- 'assets/*.jam')
if [ -z "$LAST_JAM_COMMIT" ]; then
echo "::error::No commit found that touches assets/*.jam — repo state is unexpected."
exit 1
fi
echo "Last commit touching assets/*.jam: $LAST_JAM_COMMIT"
STALE_HOON=$(git log --name-only --pretty=format: "${LAST_JAM_COMMIT}..HEAD" -- 'hoon/**' | sort -u | sed '/^$/d')
if [ -n "$STALE_HOON" ]; then
echo "::error::These hoon files were modified after assets/*.jam was last rebuilt:"
echo "$STALE_HOON"
echo
echo "::error::Rebuild the jams and commit them:"
echo " make install-hoonc"
echo " make build-hoon-all"
echo " git add assets/*.jam && git commit -m 'bump jams'"
exit 1
fi
echo "OK: no hoon changes since last jam rebuild."
61 changes: 61 additions & 0 deletions .github/workflows/sync-to-nockchain.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,19 @@ on:
push:
branches:
- master
workflow_dispatch:
inputs:
force_sync:
description: Force sync even if master heads already match
required: false
default: false
type: boolean
schedule:
- cron: "*/30 * * * *"

concurrency:
group: sync-to-nockchain-master
cancel-in-progress: false

jobs:
sync:
Expand All @@ -14,7 +27,55 @@ jobs:
fetch-depth: 0
persist-credentials: false

- name: Plan sync
id: plan
env:
EVENT_NAME: ${{ github.event_name }}
FORCE_SYNC: ${{ inputs.force_sync || 'false' }}
run: |
set -euo pipefail
staging_sha="$(git rev-parse HEAD)"
nockchain_sha="$(git ls-remote https://github.com/nockchain/nockchain.git refs/heads/master | awk '{print $1}')"

if [ -z "$nockchain_sha" ]; then
echo "failed to resolve nockchain/nockchain master SHA" >&2
exit 1
fi

should_sync=false
reason="already-in-sync"

if [ "$EVENT_NAME" = "push" ]; then
should_sync=true
reason="push-to-master"
elif [ "$FORCE_SYNC" = "true" ]; then
should_sync=true
reason="manual-force"
elif [ "$staging_sha" != "$nockchain_sha" ]; then
should_sync=true
reason="heads-diverged"
fi

echo "staging_sha=$staging_sha" >> "$GITHUB_OUTPUT"
echo "nockchain_sha=$nockchain_sha" >> "$GITHUB_OUTPUT"
echo "should_sync=$should_sync" >> "$GITHUB_OUTPUT"
echo "reason=$reason" >> "$GITHUB_OUTPUT"

- name: Sync plan summary
run: |
echo "event=${{ github.event_name }}"
echo "reason=${{ steps.plan.outputs.reason }}"
echo "staging master=${{ steps.plan.outputs.staging_sha }}"
echo "nockchain master=${{ steps.plan.outputs.nockchain_sha }}"
echo "should_sync=${{ steps.plan.outputs.should_sync }}"

- name: Push to nockchain/nockchain
if: steps.plan.outputs.should_sync == 'true'
run: |
git remote add nockchain https://bitemyapp:${{ secrets.NOCKCHAIN_SYNC_TOKEN }}@github.com/nockchain/nockchain.git
git push nockchain master:master

- name: Skip sync
if: steps.plan.outputs.should_sync != 'true'
run: |
echo "Skipping sync: staging and nockchain master are already aligned"
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ test-follower
target
!crates/nockapp/test-jams
keys.export
replay-checkpoints-51094
nockchain-api-checkpoints-backup
19 changes: 17 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,18 @@ docs-check:

build-kernels:
stage: kernels
# Kernel build + cargo-test gate the merge request into `open` (the
# required pre-merge check). Re-running them on the post-merge `open`
# push only delays sync-to-staging by ~2h, so skip them there.
rules:
- if: '$CI_COMMIT_BRANCH == "open"'
when: never
- when: on_success
script:
- |
nix develop -c bash -c '
set -euo pipefail
export HOONC_FLAGS="--ephemeral"
make update-hoonc
make assets/dumb.jam
make assets/miner.jam
Expand All @@ -72,6 +80,11 @@ cargo-test:
needs:
- job: build-kernels
artifacts: true
# See build-kernels: validated on the MR into `open`, skipped on push.
rules:
- if: '$CI_COMMIT_BRANCH == "open"'
when: never
- when: on_success
script:
- |
nix develop -c bash -c '
Expand All @@ -85,8 +98,10 @@ cargo-test:

sync-to-staging:
stage: sync
needs:
- job: cargo-test
# Build/test validation already ran as a required check on the MR into
# `open`; the post-merge `open` pipeline only publishes, so don't gate on
# (or wait ~2h for) the build/test jobs.
needs: []
rules:
- if: '$CI_COMMIT_BRANCH == "open" && $CI_PIPELINE_SOURCE == "push"'
- if: '$CI_COMMIT_BRANCH == "open" && $FORCE_SYNC_TO_STAGING == "1"'
Expand Down
Loading
Loading