1

I am making an HD wallet on Android. I plan to support all major tokens/coins out there. I have setup the base of HD wallets and am getting pub/priv xpub/xpriv keys at HD path.

Imagine a function like:

/*
     * M/44'/0'/0'/0/0 : BITCOIN  MAIN NET
     *
     * Any address has:
     * m: private key
     * M: public key
     * 44' : BIP44 (read : https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki)
     * 0' : coin bitcoin
     * 0' : account
     * 0 : External address (1 is for Internal or return address)
     * 0 : node end
     *
     * 0th Node of 1st external address of  1st account of bitcoin
     * */
    public List<ChildNumber> getBitcoinPath() {
        List<ChildNumber> childNumbers = new ArrayList<>();
        ChildNumber child44Hardened = new ChildNumber(44, true);
        ChildNumber child0Hardened = new ChildNumber(0,true);
        ChildNumber child1Hardened = new ChildNumber(1,true);
        ChildNumber child0 = ChildNumber.ZERO;

        childNumbers.add(child44Hardened);
        if(Environment.DEBUG) {
            childNumbers.add(child1Hardened);//testnet
        }
        else {
            childNumbers.add(child0Hardened); //mainnet
        }
        childNumbers.add(child0Hardened);
        childNumbers.add(child0);
        childNumbers.add(child0);
        return childNumbers;
    }

So for Bitcoin Path is :

M/44'/0'/0'/0/0

Similarly Bitcoin test net 3:

M/44'/1'/0'/0/0

For Ethereum though there are many 'official path' but i am going with most used:

m/44'/60'/0'/0

I need help with the following:

1) the HD paths for list of these coins:

Litecoin Dash Bitcoin Gold DigiByte DogeCoin

2) The magicbyte/appendbyte for these coins. Append byte is used to derive address from pubkey. Example bitcoin is 0x00

3) Network params for these coins. (i could probably pull this off from their source code, but if someone have them handy please do share)

In return for your help i will compile a medium post with all of this data for the future developers. Any help would be really great.

  • 1
    here is list for registered coin types for BIP-0044, github.com/satoshilabs/slips/blob/master/slip-0044.md – kherwa May 14 '18 at 10:28
  • 1
    i can help with Bitcoin Gold magicbyte/appendbytes: pub = 0x26;priv = 0x80; and HD Keys {'prv':0x0488ade4, 'pub':0x0488b21e} – kherwa May 14 '18 at 10:33
  • i think priv key byte is same for all btc forks – blockwala May 15 '18 at 18:54

Browse other questions tagged or ask your own question.