What problem does your feature solve?
Deriving the root account's master key and address for a network currently requires using stellar-core convert-id with some shell pipeline glue. For example, in quickstart:
NETWORK_ID=$(printf "$NETWORK_PASSPHRASE" | sha256sum | cut -f 1 -d " ")
network_id_keys=$(stellar-core convert-id $NETWORK_ID | awk -F': ' '/strKey: /{print $2}' | tail -2)
NETWORK_ROOT_SECRET_KEY=$(printf "$network_id_keys" | head -1)
NETWORK_ROOT_ACCOUNT_ID=$(printf "$network_id_keys" | tail -1)
This requires stellar-core to be available and involves brittle parsing of its output. The same logic would be useful in ops tooling for network setup.
What would you like to see?
Add a stellar network root command with subcommands to output the root account's master key and address for a given network. For example:
stellar network root-account master-key --network testnet
# outputs: S...
stellar network root-account address --network testnet
# outputs: G...
The command would derive these from the network passphrase, the same way stellar-core convert-id does today, but without needing stellar-core installed.
What alternatives are there?
- Continue using
stellar-core convert-id with shell parsing, as quickstart does today. This requires stellar-core to be available and is fragile.
- Implement the derivation in a standalone script using the JS SDK's
Keypair.master(Networks.TESTNET) equivalent. This works but adds a dependency on the JS SDK instead of keeping it in the CLI.
What problem does your feature solve?
Deriving the root account's master key and address for a network currently requires using
stellar-core convert-idwith some shell pipeline glue. For example, in quickstart:This requires
stellar-coreto be available and involves brittle parsing of its output. The same logic would be useful in ops tooling for network setup.What would you like to see?
Add a
stellar network rootcommand with subcommands to output the root account's master key and address for a given network. For example:The command would derive these from the network passphrase, the same way
stellar-core convert-iddoes today, but without needingstellar-coreinstalled.What alternatives are there?
stellar-core convert-idwith shell parsing, as quickstart does today. This requiresstellar-coreto be available and is fragile.Keypair.master(Networks.TESTNET)equivalent. This works but adds a dependency on the JS SDK instead of keeping it in the CLI.