Skip to content

Common Foundry v1.0.10

Choose a tag to compare

@JustAResearcher JustAResearcher released this 06 Oct 02:10

Common Foundry v1.0.10

Exchange integration update. Exchanges can now integrate Common Foundry the way they integrate Bitcoin. Wallets, miners and other nodes behave as in v1.0.9 and do not need to update. Network, launch plan, beacon round, wallets, consensus and monetary policy are unchanged; keep your chain data and wallet.

What changes

Exchange wallet

  • cmfd-node exchange-wallet --wallet-dir <dir> runs a wallet daemon that speaks Bitcoin Core's wallet JSON-RPC: getnewaddress, listsinceblock, gettransaction, getbalance, sendtoaddress, sendmany, encryptwallet, walletpassphrase, backupwallet and the usual chain and status calls, with Bitcoin Core's error codes. An exchange's existing Bitcoin integration, or bitcoin-cli, works against it.
  • Keys stay on the exchange's server in wallet.json; one backup covers every address the wallet will hand out. The chain is read from the hosted exchange endpoint or the exchange's own node, so no chain is stored.
  • Settings come from cmfd-wallet.conf in the wallet directory (rpcuser, rpcpassword, upstream, upstreamuser, upstreampassword, optional rpcbind, rpcport, rpcallowip).

Documentation

  • exchange-kit/INTEGRATION-GUIDE.md describes the exchange wallet as the recommended integration, lists where it differs from Bitcoin Core, and asks exchanges to credit deposits after at least 60 confirmations.

Packages

Package File
Windows runtime (node + wallet) commonfoundry-mainnet-runtime-windows-x86_64-v1.0.10.zip
Windows miner commonfoundry-mainnet-miner-windows-x86_64-v1.0.10.zip
Linux runtime (node + wallet) commonfoundry-mainnet-runtime-linux-x86_64-v1.0.10.tar.gz
Linux miner commonfoundry-mainnet-miner-linux-x86_64-v1.0.10.tar.gz
HiveOS commonfoundry-mainnet-hiveos-1.0.10.tar.gz

HiveOS flight sheet custom URL: https://github.com/JustAResearcher/CommonFoundry-Binaries/releases/download/v1.0.10/commonfoundry-mainnet-hiveos-1.0.10.tar.gz

Upgrading: extract the new archive to a new folder. Desktop wallet data lives in %LOCALAPPDATA%\org.commonfoundry.wallet.mainnet and is picked up automatically; headless START-NODE.bat users keep their data-mainnet folder. Copy the old folder's production-v4 directory into the new one to skip re-downloading the model files.

Pool operators: if you upgrade, update expected_node_sha256, expected_launch_sha256 and expected_proof_worker_sha256 in your pool config to the values in the new package's MAINNET-PACKAGE.json. The dashboard, replay worker and CUDA runtime are unchanged.

Verification

SHA256SUMS.txt is signed by the same release key as v1.0.0–v1.0.9 (commonfoundry-mainnet-owner, SHA256:cA1Tsf8hL/pxDV5WpOE3iPW3b4uDQosu1dOh//4a/fk), policy MAINNET-RELEASE.allowed_signers SHA-256 9c5be92681092801d89687823837823d0966055c03a84e64551e26387da179d2. Follow docs/mainnet-release-verification.md.

All five archives were built twice from clean and are byte-identical, as are every native binary and the proof worker. The owner approved the unchanged mainnet plan for this source (approval manifest eebf65df…).

Qualification limits: CI run 37396239691 on the final commit was in progress at signing and was not used as a gate (rust-base in_progress/). The new proof worker was checked on an RTX 4090 against the preserved RCNet-1 fixture: replay traces identical, one-shot proof with the worker's complete self-verification, and server-mode proofs with and without the preload (14.959 s and 11.201 s request-to-done); all three proofs passed the independent verifier and agree up to the grinding offset. The RTX 50-series path was built but not separately re-qualified. The console-interrupt shutdown tests cannot run in the build harness; they passed in CI's node-shutdown jobs on Windows and Ubuntu. The exchange wallet was tested end to end against a development-network node (deposits, payments, reorganization, restore, encryption, endpoint outage, Bitcoin Core's bitcoin-cli) and on mainnet through the hosted endpoint, where it received a deposit, sent a payment that was mined, and restored an encrypted backup by rescanning.