Skip to content

Bootstrap Without a Tier-1 Node Owner - #186

Merged
heifner merged 1 commit into
masterfrom
feature/bootstrap-without-t1-node-owner
Nov 11, 2026
Merged

heifner merged 1 commit into
masterfrom
feature/bootstrap-without-t1-node-owner

Conversation

@heifner

@heifner heifner commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

A deployment has no tier-1 node owner at launch, and the bootstrap no longer creates one (wireno) to stand in.

  • Operator accounts: sysio creates each operator's account with newaccount under its label, so account equals label (batchop.a). The roa::newuser sponsorship and its sponsors read-back are gone.
  • Resources: no addpolicy is issued. CPU and NET are billed to the contract an action runs on, and the depot contracts bill their rows to sysio. sysio.andon is the exception: the chain bills its native pull / clear permissions and links to the account, so one sysio-signed setacctram raises its RAM limit by 10,400 bytes.
  • Underwriting: the RAM grant for underwriting batch operators is removed. This needs wire-sysio fix/bond-rows-bill-sysio, which bills sysio.bond bonds rows to sysio; merge that first.
  • Slashing flow: wireno was the fourth tier-1 voter in its dispute quorum, so the flow registers an abstaining fourth owner of its own.

Also here:

  • epochDurationSec defaults to 300, in one constant shared by the CLI and config resolution. Every flow pins its own.
  • Genesis max_block_cpu_usage is 200000 and max_transaction_cpu_usage is 150000.
  • Genesis no longer carries deferred_trx_expiration_window. wire-sysio's chain_config has no such member and skips the key, so it configured nothing.

With no tier-1 owner registered, sysio.chalg cannot open an envelope dispute until one registers.

`sysio` creates every operator account with `newaccount` under the operator's label, so the bootstrap registers no node owner and issues no resource policy. CPU and NET are billed to the contract and the depot contracts bill their rows to `sysio`; only `sysio.andon` is granted RAM, by a sysio-signed `setacctram`, for its native permissions and links.

The epoch duration defaults to 300 seconds and the genesis CPU limits are wire-sysio's own 200000 / 150000. The genesis no longer carries `deferred_trx_expiration_window`, which the chain's config does not define.

Change-Id: Iac2d8476877bf62568849b91fb7cb0543ab551b6
@joshglogau

Copy link
Copy Markdown
Contributor

Looks good to me

@heifner
heifner merged commit eee0c3f into master Nov 11, 2026
2 checks passed
@heifner
heifner deleted the feature/bootstrap-without-t1-node-owner branch November 11, 2026 01:55
heifner added a commit that referenced this pull request Nov 11, 2026
…stipend

Brings in #186, which lowers `max_transaction_cpu_usage` to 150000 and `max_block_cpu_usage` to 200000; `notify_cpu_stipend` (100) stays within both. #186's test of the genesis keys now ends with `notify_cpu_stipend`, after the members that keep wire-sysio's defaults, and the bootstrap doc's table puts it in the free cell beside `max_transaction_cpu_usage`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants