Skip to content

docs(mesa): add ADX to the hardware table, correct the seed libp2p keypair guidance - #1219

Merged
dkijania merged 1 commit into
mainfrom
dkijania/mesa-requirements-adx-and-libp2p
Aug 26, 2026
Merged

docs(mesa): add ADX to the hardware table, correct the seed libp2p keypair guidance#1219
dkijania merged 1 commit into
mainfrom
dkijania/mesa-requirements-adx-and-libp2p

Conversation

@dkijania

Copy link
Copy Markdown
Member

Table E of mesa-tracker-fix-implementation_v3.txt (25 Aug 2026). Companion to MinaProtocol/mesa-upgrade-status#37, which fixes the same hardware string on the upgrade tracker. The tracker copied its wording from this page, so the tracker fix (A1) is only half the correction without E1 here.

All of it is on docs/network-upgrades/mesa/requirements.mdx.

E1 — the CPU instruction set list is incomplete

Mesa needs BMI2, ADX and AVX. ADX was missing in all three places:

  • the Mina Daemon Node row of the hardware table
  • the SNARK Worker (per worker) row
  • the All operators checklist line, which also used the AVX/BMI2 short form

E4 — seed nodes must not share a libp2p keypair

The page said that all seed nodes must start with the same libp2p keypair. That is wrong. A libp2p keypair determines the peer ID of the node, so seed nodes cannot share one.

The published seed lists confirm it — every entry carries a distinct peer ID:

$ curl -s https://bootnodes.minaprotocol.com/networks/devnet.txt  | grep -o 'p2p/[A-Za-z0-9]*' | sort -u | wc -l
3      # of 3 entries
$ curl -s https://bootnodes.minaprotocol.com/networks/mainnet.txt | grep -o 'p2p/[A-Za-z0-9]*' | sort -u | wc -l
11     # of 11 entries

The dedicated page, node-operators/seed-peers/generating-a-libp2p-keypair, already says stable, not same. This page now agrees with it: each seed node needs its own keypair, and that keypair must not change across restarts.

E3 — partial

The zkApp checklist said only that every zkApp must be redeployed, which reads as though on-chain state is lost. It is not. network-upgrades/mesa/upgrade-steps/examples.mdx already states that the account and its state fields at indexes 0-7 carry over, and that only the Berkeley verification key becomes invalid. That fact is now on the checklist too.

This does not close E3. Whether a redeploy is required at all, or whether a verification key update is enough, is still an open question for the o1js owner.

Not in this PR

Ref Why
E2 This page says 16 GB storage for the daemon and the SNARK coordinator, 1 GB for the SNARK worker, and 8 GB RAM per worker. The upgrade blog and the devnet operator document give 64 GB, and ~4 GB per SNARK process. I cannot tell which side is right, and wrong hardware figures on an operator page are worse than none. Needs the docs owner.
E5 No change needed. This page uses --privkey-path, which matches the flag declared at src/lib/cli_lib/flag.ml:22 in the mina repo. The single-dash -privkey-path form is the one in the source docs, not here.

Also noted: docs/network-upgrades/berkeley/requirements.mdx:59 carries the same wrong "same libp2p keypair" sentence. It is a historical upgrade page, so I left it for the docs owner to decide.

Verification

  • static/llms-full.txt regenerated, as npm run check-llms-txt requires. static/llms.txt is unchanged, because no frontmatter changed
  • Full docusaurus build passes. The broken anchor warnings come from the mesa index page and are pre-existing
  • AVX/BMI2 no longer appears anywhere under docs/ or static/

🤖 Generated with Claude Code

…uidance

Source: mesa-tracker-fix-implementation_v3.txt, Table E. Companion to
MinaProtocol/mesa-upgrade-status#37, which fixes the same hardware string on
the upgrade tracker. The tracker copied its wording from this page, so A1
there is only half the fix without E1 here.

E1 — the CPU instruction set list was incomplete. Mesa needs BMI2, ADX and
AVX. Corrected in all three places: the Mina Daemon Node row, the SNARK Worker
row, and the "All operators" checklist line, which also used the "AVX/BMI2"
short form.

E4 — the libp2p guidance said that all seed nodes must start with the *same*
keypair. That is wrong. A libp2p keypair determines the peer ID of the node,
so seed nodes cannot share one. The published seed lists confirm this: the
three devnet seeds and all eleven mainnet seeds each carry a distinct peer ID
in bootnodes.minaprotocol.com. The dedicated page,
node-operators/seed-peers/generating-a-libp2p-keypair, already says "stable",
not "same". This page now agrees with it: each seed node needs its own
keypair, and that keypair must not change across restarts.

E3 — partial. The zkApp checklist said only that every zkApp must be
redeployed, which reads as though on-chain state is lost. It is not.
network-upgrades/mesa/upgrade-steps/examples.mdx already states that the
account and its state fields at indexes 0-7 carry over, and that only the
Berkeley verification key becomes invalid. That fact is now on the checklist
too. Whether a redeploy is required at all, or whether a verification key
update is enough, is still an open question for the o1js owner; this change
does not answer it.

Not in this change:

- E2, the storage and memory figures. This page says 16 GB storage for the
  daemon and the SNARK coordinator and 1 GB for the SNARK worker, and 8 GB RAM
  per SNARK worker. The upgrade blog and the devnet operator document give 64
  GB and ~4 GB per SNARK process. I have no way to tell which side is right,
  and wrong hardware figures on an operator page are worse than none. This
  needs the docs owner.
- E5, the libp2p flag. No change is needed. This page uses --privkey-path,
  which matches the flag declared in mina src/lib/cli_lib/flag.ml:22.
- network-upgrades/berkeley/requirements.mdx carries the same wrong "same
  libp2p keypair" sentence. It is a historical upgrade page, so it is left for
  the docs owner to decide.

static/llms-full.txt regenerated, as scripts/check-llms-txt requires.
Verified with a full docusaurus build. The broken anchor warnings are
pre-existing and come from the mesa index page, not from this change.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs2 Ready Ready Preview Aug 25, 2026 7:37pm

Request Review

@dkijania
dkijania merged commit 165d391 into main Aug 26, 2026
4 checks passed
@dkijania
dkijania deleted the dkijania/mesa-requirements-adx-and-libp2p branch August 26, 2026 16:06
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.

2 participants