Skip to content

Mark the MultiSig demo historical: It and its seven shipped scripts run on halted zcashd. - #1995

Merged
zksquirrel merged 2 commits into
ZecHub:mainfrom
kali-gogolo:fix/multisig-demo-historical
Aug 27, 2026
Merged

Mark the MultiSig demo historical: It and its seven shipped scripts run on halted zcashd.#1995
zksquirrel merged 2 commits into
ZecHub:mainfrom
kali-gogolo:fix/multisig-demo-historical

Conversation

@kali-gogolo

Copy link
Copy Markdown
Contributor

The MultiSig demo and all seven of its shipped scripts run on zcashd, which halted a month ago

site/guides/multisigdemo/MultiSigDemo.md opened with "This demo requires zcashd" on line 3. zcashd reached its automatic End-of-Support halt on 18 July 2026, so nobody can complete the guide.

It isn't only the prose. Seven .sh scripts ship alongside the page, and six of them shell out to zcash-cli; 12 invocations in total across createMultiSig.sh, createMultiSigTX.sh, getPubkey.sh, sendMultiSignedTX.sh, signMultiSigTX.sh and txDetails.sh. Line 81 still told readers to run zcash-cli dumpprivkey "t-addr". The page is curated for translation (translation/curated-pages.txt line 194), so 18 translated copies carried the same dead instructions. The route is live: https://zechub.wiki/guides/multisigdemo/multi-sig-demo returns 200 today.

Why marked historical rather than ported

A mechanical port isn't available. The scripts are built on zcashd's raw-transaction and wallet RPCs; createrawtransaction, signrawtransaction, createmultisig, dumpprivkey. zcashd deprecated the raw-transaction family before the halt, and the deprecation notice states that Zallet will instead provide new RPC methods operating on PCZTs ([zcash/wallet#99](zcash/zallet#99)). Zallet is also still in beta, with many zcashd methods not yet ported. There is no target runtime that accepts these scripts as written, so porting them would mean inventing a workflow rather than documenting one.

The maintained path for multi-party custody is already documented in this repo, which made the second option straightforward.

What changed

The page carries a status notice directly under the H1, following the pattern established by the Akash zcashd guide. Line 3 now states plainly that zcashd halted on 18 July 2026 and that nothing below can be completed against the live chain. The dumpprivkey instruction is annotated in place.

All seven scripts carry a matching header comment after the shebang: what halted, when, why a port isn't mechanical, and where to go instead. displayQR.sh gets an accurate variant; it only calls qrencode, so its header says the demo it belongs to no longer runs rather than claiming the script itself fails. All seven pass bash -n.

All 18 translations carry the same notice in their own language, so no locale is left presenting the walkthrough as current.

Readers are pointed at [FROST & Threshold Custody](/zcash-tech/frost-threshold-custody), which already contains a direct comparison with transparent multisig, the working [Ywallet FROST demo](/guides/frostdemo/ywallet-frost-demo), and the [migration guide to Zebra and Zallet](/guides/migration-guide-zcashd-to-zebrad-zallet). All three routes return 200 as of today.

Checks

  • protected-terms --base passes; no multisigdemo file appears in its warnings. Every protected term introduced by the notice (zcashd, Zallet, Zebra, FROST, Ywallet, Zcash) is present verbatim in all 18 translations.
  • frontmatter-parity passes for 3654 translated pages.
  • manifest-invariants passes: 203 curated pages, 18 locales.
  • bash -n passes on all seven scripts; git diff --check is clean.

The Akan (ak) and Ewe (ee) renderings are the least confident of the eighteen and would benefit from a native speaker's eye. Every other locale reads cleanly. The scripts are left functionally untouched; only comments were added; so the historical record stays exact.

…lted zcashd

zcashd reached its automatic End-of-Support halt on 18 July 2026. The page
opened with "This demo requires zcashd", and six of the seven scripts shipped
alongside it shell out to zcash-cli — 12 invocations in total. The page is
curated for translation, so 18 translated copies carried the same dead
instructions.

A mechanical port is not available: the scripts are built on the raw-transaction
and wallet RPCs (createrawtransaction, signrawtransaction, createmultisig,
dumpprivkey) that zcashd deprecated, and Zallet replaces those with methods
operating on PCZTs rather than raw transaction hex.

The page, all seven scripts and all 18 translations now carry the same status
notice and point at FROST & Threshold Custody, the Ywallet FROST demo, and the
Zebra/Zallet migration guide. Scripts are functionally untouched; only comments
were added.
check-invariants requires that a changed translation carry a changed manifest
entry. The status notice was added to all 18 locales without recording the
pass, so manifest-invariants failed.

Each entry's tool field now carries a +zcashd-halt-notice suffix. edited stays
false deliberately: flipping it would remove these pages from automated sync
permanently, which is wrong for a notice that should be re-translated normally
on the next sync.
@zksquirrel
zksquirrel merged commit 1503ecd into ZecHub:main Aug 27, 2026
4 of 5 checks passed
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