Repository navigation
Releases: groundinglab/pcoc
Release list
groundinglab 0.1 RC1
Prerelease shelf for the live ops cut after the Bari/index/gate version bump deploy.
Live server runtimes (this cut)
| Component | Version | Tag | Commit |
|---|---|---|---|
| Bari | 0.6.12 | bari-v0.6.12 |
18ec94a |
| Index | 0.1.7 | index-v0.1.7 |
18ec94a |
| Admission gate | 0.6.0 | gate-v0.6.0 |
18ec94a |
Gate: SDK 2.3.1 (path), policy gl-admit-v12, born height 972685.
What changed
- Semver bump + deploy of Bari, index, and gate onto one tested commit (
18ec94a). - Gate
0.6.0labels behavior that was already live unlabeled as0.5.8(nTimehike_span, sticky refuse off, tip deadline retired,gl-admit-v12door-session cap unset). Bari/index behavior unchanged; versions advanced with the same ops cut. - ops deploy record:
deployments/2026-10-26/(ops #100 closed).
Not in this shelf
Desktop Flatpak, Android APK, claims, and www were not redeployed with this cut — still on their prior pins.
Grab points
Use the three component tags above for builds. This Release is the public product shelf for that same set.
PCOC SDK 2.3.1 for Java
What this is. The Java library runtime for Satoshi Hike 2.3 (JDK 21). Gradle project under sdk/java with the same conformance suite as Rust / Go / C.
What this is not. Not the admission gate or a server process. Pair with gate-v0.5.8 when you need §15 admit.
Build & quickstart on a laptop
git clone --depth 1 --branch sdk-java-v2.3.1 https://github.com/groundinglab/pcoc.git
cd pcoc/sdk/java
# JAVA_HOME must be JDK 21
./gradlew test
./gradlew run --quiet --args=quickstartNeeds a full clone of this repo at the tag (tests walk up to sdk/VERSION + spec/). Offline tests / quickstart do not call groundinglab infra.
Pins & docs
| Pin | Value |
|---|---|
| SDK version | 2.3.1 (BuildInfo.VERSION / Version.STRING) |
| Spec | spec-2.3.0 |
| KIND | v2.2-pcoc-object |
PCOC SDK 2.3.1 for C
What this is. The C library runtime for Satoshi Hike 2.3: library + pcoc tool under sdk/c. Baseline ISA; SHA-NI selected at runtime.
What this is not. Not admission and not a network service. Use the SDKs to measure objects; use gate-v0.5.8 to run an admission door.
Build & quickstart on a laptop
git clone --depth 1 --branch sdk-c-v2.3.1 https://github.com/groundinglab/pcoc.git
cd pcoc/sdk/c
make check # build + every conformance check (what CI runs)
./build/pcoc quickstartNeeds a checkout that can see sdk/VERSION and spec/ (walk-up). Offline make check / quickstart do not need live Bitcoin or groundinglab hosts.
Pins & docs
| Pin | Value |
|---|---|
| SDK version | 2.3.1 |
| Spec | spec-2.3.0 |
| KIND | v2.2-pcoc-object |
SPEC 2.3.0 — Satoshi Hike specification pack
What this is. The normative specification pack for Satoshi Hike 2.3 (PCOC). It defines how a Proof of Computation Object is built, measured, and admitted. Start with GUIDE.md.
What this is not. Not a library, not a binary, not admission, and not something you “install” as a runtime. SDKs and services implement this pack.
Get the pack
git clone --depth 1 --branch spec-2.3.0 https://github.com/groundinglab/pcoc.git
cd pcoc/specOr browse: spec/ at this tag
Read in this order
- GUIDE.md — which document to open for which job
- 01 Construction + 05 Conformance — the definitional pair
- conformance/pack — shared vectors the four SDKs agree on
Pins
| Pin | Value |
|---|---|
| Spec tag | spec-2.3.0 |
| Object KIND (wire) | v2.2-pcoc-object |
| Matching SDKs | language packages 2.3.1 (implement SPEC 2.3) |
Next: grab a runtime
| You want | Grab |
|---|---|
| Library / CLI for Rust, Go, Java, or C | SDK 2.3.1 releases (sdk-*-v2.3.1) |
| Admission gate on a server | gate-v0.5.8 |
| Bari / portable index | bari-v0.6.11 / index-v0.1.6 |
| Product snapshot (pre-release) | gl-0.1-rc1 |
Desktop Flatpak / phone APK are not on this page yet (desktop parked until an installable binary; Android is published from the primal-pcoc repo).
PCOC SDK 2.3.1 for Rust
What this is. The Rust library runtime for Satoshi Hike 2.3: crates pcoc / pcoc-produce, CLI pcoc. Use it to verify objects, run offline produce on the scripted rig, and (in this patch) talk to live Bitcoin gossip + Bari for pcoc produce --live.
What this is not. Not the admission gate, not Bari, not a policy. Full public admit still needs a live index and a configured gate.
Install (as a dependency)
cargo add --git https://github.com/groundinglab/pcoc --tag sdk-rust-v2.3.1 pcocBuild & quickstart on a laptop
git clone --depth 1 --branch sdk-rust-v2.3.1 https://github.com/groundinglab/pcoc.git
cd pcoc/sdk/rust
# Rust 1.99.0 via rust-toolchain.toml
cargo build -p pcoc -p pcoc-cli --release
cargo run -p pcoc-cli --release --quiet -- quickstart
cargo test -p pcoc --test ac_a9Offline quickstart / selftest work without groundinglab infra. Live produce and admit need Bitcoin peers / Bari / an index URL.
Pins & docs
| Pin | Value |
|---|---|
| SDK version | 2.3.1 (sdk/VERSION) |
| Spec | spec-2.3.0 (SPEC_PIN) |
| KIND | v2.2-pcoc-object |
Sibling runtimes: Go / Java / C sdk-*-v2.3.1. Server runtimes: gate-v0.5.8, bari-v0.6.11, index-v0.1.6.
PCOC SDK 2.3.1 for Go
What this is. The Go library runtime for Satoshi Hike 2.3: module github.com/groundinglab/pcoc/sdk/go/v2, package pcoc, command pcoc. Same Construction / Conformance behaviour as the other language SDKs.
What this is not. Not admission, not Bari, not a binary service. For a gate on a server, use gate-v0.5.8.
Install the CLI
go install github.com/groundinglab/pcoc/sdk/go/v2/cmd/pcoc@v2.3.1That selector is the module version carried by tag sdk/go/v2.3.1 (same commit as this shelf tag sdk-go-v2.3.1).
Build & quickstart on a laptop
git clone --depth 1 --branch sdk-go-v2.3.1 https://github.com/groundinglab/pcoc.git
cd pcoc/sdk/go
go test ./...
go run ./cmd/pcoc quickstartNeeds the Go version in go.mod. No groundinglab hosts required for tests / quickstart.
Pins & docs
| Pin | Value |
|---|---|
| SDK version | 2.3.1 |
| Spec | spec-2.3.0 |
| KIND | v2.2-pcoc-object |
| Module tag | sdk/go/v2.3.1 |
| Shelf tag | sdk-go-v2.3.1 (this release) |
Portable index 0.1.6 — server runtime
What this is. The portable-index server runtime (binary pcoc-index, crate pcoc-index 0.1.6). Serves one JSON file per block height (GET /index, /index/{height}, /index/since). Anyone can rebuild or bypass it; groundinglab’s hosted index is optional.
What this is not. Not Bari (writer) and not admission. Verifiers may point --index-url here or at your own rebuild.
Laptop / server install
git clone --depth 1 --branch index-v0.1.6 https://github.com/groundinglab/pcoc.git
cd pcoc/services/index
# Depends on services/bari by path — keep both folders
cargo build --locked --release
./target/release/pcoc-index serve # default 127.0.0.1:38081
# Optional rebuild without a node (Esplora):
# ./target/release/pcoc-index rebuild --from-height … --to-height … --out /var/lib/pcoc-indexDocs
- services/index/README.md
- Writer runtime:
bari-v0.6.11
Admission gate 0.5.8 — server runtime
What this is. The admission-gate server runtime (admission-service, crate pcoc-admission 0.5.8). Implements Satoshi Hike §15 Admission Process: sign-in door, verify jobs, public decision log, policy-driven accept/refuse. Built on the in-tree Rust SDK.
What this is not. Not a consumer SDK and not a downloadable “admit binary” with groundinglab’s private ops config. Live groundinglab deploy is on our infra (policy gl-admit-v12, historically reported commit 7274792). This tag is the source pin you build and run yourself.
Laptop / server install (loopback)
git clone --depth 1 --branch gate-v0.5.8 https://github.com/groundinglab/pcoc.git
cd pcoc/services/admission-gate
# Needs sdk/rust, sdk/VERSION, sdk/SPEC_PIN, and policy/ alongside this folder
sudo apt install -y build-essential git curl # Debian/Ubuntu
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none
. "$HOME/.cargo/env"
cargo build --locked --release
./target/release/admission-service --versionConfig: copy deploy/gate.toml + deploy/env.example. Default bind 127.0.0.1:8787. Put your own reverse proxy in front for a public host.
Full systemd layout: deploy/DEPLOY.md. Wire: WIRE.md.
Honest limits
- A live plane needs
allow_2_2_live = truein config (defaults off; not set in-repo). - Full admit needs a Bitcoin-backed index (
index_url) and a real policy file (example: policy/groundinglab-admission). - Spec / SDK pins: SPEC 2.3 (
spec-2.3.0), object KINDv2.2-pcoc-object, Rust SDK from this tree.
Docs
Bari 0.6.11 — server runtime
What this is. The Bari server runtime (binary bari, crate pcoc-bari 0.6.11). Accepts 32-byte waypoints, seals each tip’s pool into one Bitcoin transaction, serves Merkle paths. Writes the portable-index cache; does not serve GET /index (that is pcoc-index).
What this is not. Not the admission gate and not a consumer SDK.
Laptop / server install
git clone --depth 1 --branch bari-v0.6.11 https://github.com/groundinglab/pcoc.git
cd pcoc/services/bari
cargo build --locked --release
./target/release/bari --helpDefault bind 127.0.0.1:38080. Live tip mode needs Bitcoin gossip peers + Core plant (BARI_TIP_SOURCE=bitcoin-gossip); synth/test plane is offline. See OPERATING.md and deploy/.
Pins & docs
- Spec pin:
spec-2.3.0 - services/bari/README.md
- Pair with index runtime:
index-v0.1.6
Admission claims 0.1.0 — server runtime (groundinglab extension)
What this is. The admission-claims server runtime (binary admission-claims, 0.1.0). Issues groundinglab’s admission badge (Nostr award) for accepted sign-ins, citing the gate decision-log line. Extension on top of §15 — not part of the core SPEC.
What this is not. Not the gate itself and not a public SDK. Needs a running gate (default 127.0.0.1:8787) and your own secrets / R2 or directory mode.
Laptop / server install
git clone --depth 1 --branch claims-v0.1.0 https://github.com/groundinglab/pcoc.git
cd pcoc/services/admission-claims
cargo build --locked --release
./target/release/admission-claims --helpDefault bind 127.0.0.1:8793. Install notes: deploy/DEPLOY.md. README: admission-claims/README.md.
Public GET of published badges may also use the Cloudflare Worker (claims-worker-v0.1.0 tag; groundinglab deployment).