docs: sync production-bootstrap.md with the current master bootstrap#35
Open
heifner wants to merge 2 commits into
Open
docs: sync production-bootstrap.md with the current master bootstrap#35heifner wants to merge 2 commits into
heifner wants to merge 2 commits into
Conversation
Re-verified every value and action against ClusterBuildDefaults + Constants (and wire-sysio master for contract-side claims); the doc had drifted: - epoch_duration_sec 360 -> 90; epoch_retention_envelope_log_count 128 -> 10 - uwrit setconfig rewritten to the current 4-field ABI (fee_bps 30, min_fromwire_amount, fromwire_revert_fee_bps; fee_split_* fields removed) - stablecoin token rows register precision 6; reserves carry source_token_precision with the /1000 stablecoin chain seed - dropped actions that no longer exist: sysio::init, the authex/sysio-active authority rewrites, and the cross-contract @sysio.code active delegations (the nine OPP owner grants are the only authority rewrites) - producers are keyed by their node's generated K1, operators by their own generated K1 (DEV_K1 remains genesis + sysio active + wireno only); no addpolicy during bootstrap - stages renumbered to follow ClusterBuildDefaults.compose execution order (config before node owner; outposts -> registry -> uwrit; links before regoperator); PREACTIVATE explained via the genesis intrinsic whitelist - port scheme rewritten (10500-11999 band, bios 10788/10776, dynamic pairs for producer/operator nodes); underwriter daemons load 5 plugins; 100-SOL batch-operator airdrop; giftram rejects (not skips) non-finite targets - flagged target design at Stage 12: operator accounts to be created by a node owner (pending harness/flow update) Change-Id: If2482c66e5d2f3720a6da523ed5cc25a1309b5af
jglanz
approved these changes
Jul 21, 2026
jglanz
left a comment
Contributor
There was a problem hiding this comment.
This doc has a key in it still, can you replace it with pseudo code using the name that is hashed to generate the key - approving but please make the edit first
Per review on #35: the literal dev key strings (K1 public/WIF, BLS public/PoP) are replaced with the deterministic derivation — K1.regenerate(SHA256("nathan")) / BLS.regenerate(SHA256("wire")) — so no key material is spelled out in the doc. Change-Id: I14f5b861e951a3113bfed1e3730f3a07e804e2dd
Contributor
Author
|
Done in 0aa7662 — the literal dev key strings are gone; the Keys table now derives them as pseudo-code from the hashed seed names ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docs/production-bootstrap.mdhad drifted from what the bootstrap actually does. Every value and action in the doc was re-verified againstClusterBuildDefaults+Constants.tson master (and against wire-sysio master for the contract-side claims — ROA tier math,giftram, uwrit/dclaim defaults, the genesis intrinsic whitelist; the dev-key literals were re-derived from their seeds via sdk-core). This PR updates the doc to match, and renumbers the stages to followClusterBuildDefaults.compose's actual execution order so the old "idealized grouping vs. real order" caveat mostly disappears.Value fixes
epoch_duration_sec360 → 90;epoch_retention_envelope_log_count128 → 10sysio.uwrit::setconfigrewritten to the current 4-field ABI:fee_bps:30(contract default 10),collateral_lock_duration_ms:600000,min_fromwire_amount:100000000(0.1 WIRE; contract default 5 WIRE),fromwire_revert_fee_bps:10— the legacyfee_split_*fields are gone from the ABIUSDC/USDT/USDCSOL/USDTSOL) registerprecision: 6; reserves gainedsource_token_precision(6 stable / 9 otherwise) and the stablecoin chain-leg seed is10,000,000— the same 10-token notional in the 6-dec native frameexternal_debugging_plugin, +cron_plugin); batch operators get a 100-SOL fee-payer airdropActions removed (no longer performed by the bootstrap)
sysio::initsysio-active rewrite, and the three cross-contract@sysio.codeactive delegations (opreg/roa/authex) — the nine OPP owner grants are now the only authority rewrites, and the doc says so explicitlyMechanism/description fixes
DEV_K1remains only the genesis signer,sysio's active key, andwireno's keysysio.roa::addpolicyduring bootstrap — reframed as post-bootstrap flow/user provisioning issued aswirenoPREACTIVATE_FEATUREis effectively active from genesis (preactivate_featureis in wire-sysio's genesis intrinsic whitelist) — no producer-API scheduling step existsgiftramrejects non-finite targets (it no longer skips them);nodeownregsoft-fail + verify notedorchestration/ClusterBuildDefaults.ts+src/Constants.tsFlagged for follow-up (not changed here)
Stage 12 now carries the target design note: operator accounts should be created/sponsored by a node owner rather than by
sysiodirectly — the doc documents master's current behavior, and the harness/flow update lands separately.