It’s more than 2 weeks that I’m struggling to find a method in MM to sign a transaction for a different from standard m/44/60 address.
I’ve tried to use Snap and Flask but I wasn’t able to perform it (my technical level is not so high to write a snap by myself and all repo’s that I’ve found on github are not working).
I’ve opened a case in snap forum but they pointed me to the main forum (this one)…is there anyone that could help me on this?
Thank you very much
@John_Smith, welcome to MetaMask community!
Have you checked out MetaMask Docs for Snaps? May contain instructions to build the functionality you are looking for.
There is also an old Feature Request here on the forum, pointing at Flask and Snaps as the solution for such an use case.
MetaMask uses m/44'/60'/0'/0 as the derivation path (BIP44),
and this value is hardcoded to be the same for all networks.
I would like to be able to set a custom value for the derivation path,
especially when configuring a custom network.
Also found some old discussions related to the topic. Not sure if they might be helpful but there are some insights into the derivation path format.
02:13AM - 26 Mar 16 UTC
11:08AM - 30 Jan 22 UTC
We are now seeing a few different Ethereum HD wallet implementations with different HD derivation paths.
When we wrote [Lightwallet](https://github.com/ConsenSys/eth-lightwallet) I considered using the BIP44 specification defined by
m / purpose' / coin_type' / account' / change / address_index
which gives a default path of `m/44'/60'/0'/0` for Ethereum. I felt at the time that this was very UTXO-coin specific and didn't make that much sense for Ethereum, so I had a scheme that was based on having different paths for different keys (like signing keys, encryption keys etc) and different identities, and the focus was not on sending/receiving Ether. The default path became `m/0'/0'/0'` (`Purpose/ID index/key_type`), but we included the ability to specify a path of your choice.
The Jaxx wallet used lightwallet (at first) under the hood and chose an HD path of `m/44'/60/0'` which is _almost_ BIP44, except the `change` path is not used.
There is this BIP44 HD wallet
by @trapp which uses the full BIP44 path `m/44'/60'/0'/0`.
@axic created an HD wallet library which is used in ethereumjs/testrpc here:
This also uses the full BIP44 path `m/44'/60'/0'/0`.
UPDATE: Clarification: The ethereumjs-wallet library from @axic does not impose any path, rather that when integrated in ethereumjs/testrpc the path used is the standard BIP44 one.
So in the spirit of trying to have some interoperability between HD wallets I would ask for some input:
- Should we just settle on the full BIP44 path `m/44'/60'/0'/0` (which seems to be the most popular based on my unscientific sample)?
- Does it matter that `change` doesn't make much sense for an account-based architecture like Ethereum?
Thanks for the reply.
Unfortunately I’ve already read them all but I haven’t come up with a solution yet.
Snap help’s team told me in github discussions that perhaps “there are here a few technical engineers that help solve similar issues” (I’d like to attach the github link of the case I opened there but it seems that I’m not allowed to post links)…is it true?
Sorry for bothering you but I really don’t know what else I can do to retrieve my tokens :-(((
You can post the link broken so it won’t tag it as a link.
Also, what tokens are you trying to retrieve and besides the derivation path solution you are seeking, what other solutions would there be? Need more details from you to understand.
Sorry for redirecting you again, but you may also ask your question in the snaps section of the ConsenSys Discord where our Snaps team is more active:
Learn Web3 Development. Join our community! Find mentors and friends around Solidity, Ethereum DeFi, NFTs, & more. | 34,770 members
Ok, I’ll post it on discord then
Can you get in contact with our Support team at
https://metamask.zendesk.com/hc/en-us and click on
Start a Conversation button.
You will first chat with a bot but after a few questions you’ll be redirected to an agent.
I did, they’ve just opened a case. Thanks
December 22, 2022, 12:03pm
This topic was automatically closed after 30 days. New replies are no longer allowed.