Skip to content

feat: add --mainnet flag to switch Bech32 address prefix#10

Open
danbaruka wants to merge 3 commits intoSafrochain-Org:mainfrom
danbaruka:main
Open

feat: add --mainnet flag to switch Bech32 address prefix#10
danbaruka wants to merge 3 commits intoSafrochain-Org:mainfrom
danbaruka:main

Conversation

@danbaruka
Copy link
Copy Markdown
Member

Changes

  • Add --mainnet flag to allow runtime switching between mainnet and testnet Bech32 address prefixes
  • Define constants for mainnet ("safro") and testnet ("addr_safro") prefixes
  • Implement getBech32Prefix() function to inspect os.Args before Cobra parses flags, since SDK config must be sealed early
  • Update NewRootCmd() to dynamically set all Bech32 prefix variables based on the flag
  • Register --mainnet flag with Cobra to prevent unknown flag errors

Fixes #7

Details

This allows users to run the same binary with different address prefixes by passing --mainnet, while maintaining backward compatibility with testnet as the default.

danbaruka and others added 3 commits March 24, 2026 20:54
Introduces a persistent --mainnet CLI flag that selects the correct
Bech32 address prefix before sdk.GetConfig().Seal() is called:

- Default (testnet): addr_safro / addr_safrovaloper / addr_safrovalcons
- --mainnet:         safro      / safrovaloper      / safrovalcons

os.Args is pre-scanned via getBech32Prefix() so the prefix is set
before Cobra parses flags, which is required by the Cosmos SDK config
seal contract.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat: add --mainnet flag to switch Bech32 address prefix
@danbaruka danbaruka self-assigned this Mar 24, 2026
@danbaruka danbaruka added enhancement New feature or request go Pull requests that update go code labels Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request go Pull requests that update go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add --mainnet flag to switch address prefix at runtime

1 participant