confio / ts-relayer

IBC Relayer in TypeScript
MIT License
110 stars 63 forks source link

Add gaia hd_path as example to registry.yaml #182

Closed colin-axner closed 3 years ago

colin-axner commented 3 years ago

I'm doing some testing of the new ibc-go changes with the ts-relayer and I'm using this neat tool to manage my gaia nodes. It relies on the gaiad testnet command which will generate keys using the SDK fundraiser path. I'm new to BIP 39 vs BIP 44 so it took me some digging through the code to figure out how to set the hd path correctly.

I think it'd be useful to add the fund raiser hd path as an example to the registry.yaml. Maybe something like this?

# the path we use to derive the private key from the mnemonic
hd_path: m/44'/108'/0'/1'
# default test keyring hd_path for the SDK
# hd_path: m/44'/118'/0'/0/0

I'm happy to open a pr. I'm also a bit fuzzy on the exact technical wording to be used here

webmaster128 commented 3 years ago

I wonder why m/44'/108'/0'/1' was even chosen here. It looks like a mistake.

Regarding

default test keyring hd_path for the SDK

and

SDK fundraiser path

I think it is important that this path solely belongs to ATOM and the Cosmos Hub. Other chains use it as well but this is an unresolved problem. Let's start making it explicit that this is the CosmosHub path.

ethanfrey commented 3 years ago

Fair enough. We could add cosmos hub (or cosmos hub testnet) with the standard derivation path. I assume you have the mnemonic.

ethanfrey commented 3 years ago

I just threw in some varying hd paths for the different chains that had nothing to do with gaiad or other Go CLI tools. Just to ensure we had unique addresses.

I didn't think we would share the relayer mnemonic with any user accounts and just use it in our codebase and I wanted to explicitly keep them different.

webmaster128 commented 3 years ago

I just threw in some varying hd paths for the different chains that had nothing to do with gaiad or other Go CLI tools. Just to ensure we had unique addresses.

Makes total sense. Could this be added as a comment?

colin-axner commented 3 years ago

Sweet, thanks for the responses. This reasoning makes sense to me. To summarize, maybe adding something like?

# Note: The hd paths shown have no meaningful relationship to the existing chains. 
# It is recommended practice to use a different hd_path than those commonly used for user accounts.

Mostly just want to add some hint for a user like myself who comes to the ts-relayer with an incomplete understanding of hd_paths