Skip to content

docs: add proxy canister guide and dfx wallet migration scenario#560

Merged
marc0olo merged 6 commits into
mainfrom
docs/proxy-canister-guide-and-dfx-wallet-migration
May 19, 2026
Merged

docs: add proxy canister guide and dfx wallet migration scenario#560
marc0olo merged 6 commits into
mainfrom
docs/proxy-canister-guide-and-dfx-wallet-migration

Conversation

@marc0olo
Copy link
Copy Markdown
Member

@marc0olo marc0olo commented May 19, 2026

Summary

  • New guide docs/guides/proxy-canister.md — comprehensive explanation of the proxy canister pattern: why it exists (IC protocol constraints on clients), local vs connected network setup, --proxy/--cycles usage across all commands, authorization model, how forwarding works internally, and a link to the wallet migration for dfx users
  • New migration section in from-dfx.md — "Replacing the dfx Wallet Canister": feature comparison table, the verified reinstall strategy (cycles and IC-level controller assignments survive a WASM reinstall, only WASM state is wiped), step-by-step guide, an alternative fresh-proxy path, and identity principal matching considerations
  • Updated local-development.md proxy section — documents that the auto-deployed proxy's controllers are set to all identities present at icp network start time; identities created afterwards need to be added manually
  • Updated index.md and sidebar — proxy canister guide added to guides listing
  • Added astro-mermaid integration — enables mermaid code blocks for rendered flowchart diagrams; used for the proxy flow diagram in the new guide

Migration strategy — end-to-end tested

The reinstall approach was verified on a live local dfx network:

  • Cycle balance: ~96.5 T before reinstall → ~96.49 T after (only the ~3 B reinstall cost deducted)
  • Managed canister controllers: unchanged (IC-level metadata, not WASM state)
  • Proxy calls via dfx canister call and icp canister call --proxy: both working after reinstall

- Add docs/guides/proxy-canister.md: explains why a proxy is needed,
  local vs connected network setup, --proxy/--cycles usage, authorization
  model, how the proxy works internally, and a pointer to the wallet
  migration for dfx users
- Add "Replacing the dfx Wallet Canister" section to from-dfx.md:
  feature comparison table, verified reinstall strategy (cycles and
  controllers are preserved, only WASM state is wiped), step-by-step
  migration, alternative fresh-proxy path, and identity considerations
- Update local-development.md proxy section to document that only
  identities present at network-start time are proxy controllers
- Add proxy canister to docs/index.md guide listing and sidebar
- Add astro-mermaid integration for rendered flowchart diagrams
@marc0olo marc0olo requested a review from a team as a code owner May 19, 2026 09:52
marc0olo added 4 commits May 19, 2026 12:07
- Replace --template with correct --subfolder flag for icp new
- Remove non-existent dfx wallet managed-canisters and dfx canister list commands
- Fix dfx identity get-principal --identity (--identity is a global flag, not a subcommand flag)
- Add missing --network ic to all mainnet dfx commands in the migration guide
icp cycles balance/transfer operate on the cycles ledger (not canister
computation balances). The correct replacements for dfx wallet send and
dfx wallet balance are icp canister top-up and icp canister status.
…keys

Both dfx and icp-cli extract the same raw key bytes from PEM and derive
the same principal. The claimed mismatch scenario does not exist in
practice — icp-cli also handles nonconforming old dfx PKCS#8 PEM files.
Comment thread docs/guides/local-development.md Outdated
Comment thread docs/guides/proxy-canister.md Outdated
Comment thread docs/migration/from-dfx.md Outdated
- Fix icp canister update-settings -> icp canister settings update
  (the subcommand is 'settings update', not 'update-settings')
- Restructure "Deploy a Fresh Proxy" alternative: move wallet funding to
  the end so it reads as draining the wallet after verifying the proxy,
  rather than funding an arbitrary amount right after deployment
@marc0olo marc0olo requested a review from lwshang May 19, 2026 17:40
@marc0olo marc0olo merged commit b1af1f2 into main May 19, 2026
33 checks passed
@marc0olo marc0olo deleted the docs/proxy-canister-guide-and-dfx-wallet-migration branch May 19, 2026 18:44
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