Codync
免費、開源的 1:1 替代方案,取代 Grok Bot 與 Muse。從 iPhone、Mac 或 Linux 桌面將 Claude Code、Codex、Cursor 與 40+ 程式碼代理人作為持續機器人傳訊。群組聊天、主題串…
AI 翻譯
尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A company that holds bitcoin can publish one file that lets anyone check that its coins cover the debts it lists. This repo builds and checks that file for a made-up company on a private test network.
Live: https://rahilbhavan.github.io/treasury-proof-of-reserves/
This repository builds and verifies a proof-of-reserves bundle for a fictional bitcoin-treasury company on a local Bitcoin Core regtest node. The asset side is BIP-322 signatures over a challenge that contains a block hash, checked against balances recomputed from the chain at that height. The liability side is a Merkle-sum tree over debt and preferred-stock instruments, with an inclusion proof per instrument. The output is one JSON bundle that a CLI or a static web page verifies, plus a written threat model of what the proof does and does not show.
entity, network, height, block_hash, liabilities_root, nonce) with BIP-322 simple signatures for P2WPKH and P2TR test addresses. Signatures carry the smp prefix from the completed BIP.convertible_note, preferred_stock, term_loan, other_debt). Each node commits to both child sums separately. In Maxwell's original summing tree a node committed only to the parent sum, so a prover could report less than the true total (Hu, Zhang and Guo, 2018).web/index.html, hosted on GitHub Pages) runs the signature, tree, commitment and arithmetic checks in the browser and marks the on-chain checks as skipped.Example run (examples/bundle.json, regtest height 113): 3 addresses holding 22.75 BTC; 5 fictional instruments totalling $2,000,000.00; at a fixed demo price (not a market quote) of $100,000.00 per BTC, assets are $2,275,000.00 and coverage is 113.75%.
src/merkleSum.js builds the liability tree and verifies inclusion proofs.src/challenge.js builds and parses the challenge text that every signature signs.src/bip322.js wraps bip322-js for signing and verifying, and handles the smp prefix.src/prove.js generates test keys, signs and assembles the bundle.src/bundle.js is the verifier. It runs in Node and, bundled by esbuild, in the browser.src/chain/regtest.js is a read-only RPC chain source: block hash, tip and balances at a height.src/cli.js provides demo (fund addresses on regtest, snapshot, sign, write the bundle) and verify.Prerequisites: Node.js 26.8.1 or later and, for the chain checks, Bitcoin Core bitcoind 31.1 (download provenance in verification).
npm ci
npm run check
npm test
npm ci may warn that esbuild's install script is not approved. The build works without it.
Observed: 46 tests. Without Core, 45 pass and the regtest integration test skips. With a Core 31.1 regtest node running, all 46 pass (run on 2026-10-24, Linux x86_64; see verification).
End-to-end on regtest (needs Bitcoin Core 31.1; BITCOIN_BIN_DIR points at its bin/):
BITCOIN_BIN_DIR=/path/to/bitcoin-31.1/bin npm run regtest:start
npm run demo
npm run verify
BITCOIN_BIN_DIR=/path/to/bitcoin-31.1/bin npm run regtest:stop
Offline check, adversarial demo, browser verifier and the Pages build are in docs/run.md.
src/ - prover, verifier, Merkle-sum tree, challenge format and the regtest chain source.tests/ - Node test runner suites and the official BIP-322 test vectors (tests/vectors/).web/ - the static verifier page; web/vendor/ is the build output and is not committed.examples/ - fictional liabilities input and a bundle produced by a real regtest run.scripts/ - regtest node control, the adversarial demo, the browser-artifact check and the Pages build.docs/ - research notes, threat model, verification records and the verifier GIF.130b8e0, fetched 2026-10-21. The CC0-1.0 vectors are copied unchanged into tests/vectors/; their SHA-256 is in verification.npm run demo. No mainnet or signet data is used.examples/liabilities.json, shaped like a treasury company's capital stack. They are not Strategy's actual liabilities..regtest/keys.json, which is git-ignored. Do not use this code with real funds.bip322-js 4.0.0 is used for P2WPKH (SIGHASH_ALL only) and single-key P2TR. P2WSH, full and proof-of-funds signatures are not supported. bitcoinjs-lib is pinned to 7.0.1 because signing fails with 7.0.4.MIT. The license covers this project's code only. Fonts in web/fonts/ keep their own licenses (see web/fonts/SOURCES.md).
Part of Rahil Bhavan's projects.