I want to generate multiple btc addresses using one private key. I am using pywallet library but each child address also have the private key. Can I use one private key for multiple addresses (if they derived from the same private key) to create a transaction?
3 Answers
In public key cryptography, each private key is associated with a single public key. In Bitcoin, each public key generates a single Bitcoin address. (by hashing it)
-
1Not entirely correct: pubkeys can be derived from privkey in compressed or uncompressed format. This gives two different addresses. OP is asking probably for HD wallets and the extended private keys. As in my other post: Andreas book „Mastering Bitcoin“ has a separate chapter on priv/pubkeys, wallets and extended keys (in a hierarchical deterministic wallet). There you can derive from one private key many other keys, and also addresses. Commented Feb 14, 2018 at 19:02
-
Thanks, I didn't know about compressed format. I would edit my answer to talk about that, but as we know now the OP wanted to know about HD wallets, maybe it's the case to delete my answer? Commented Feb 14, 2018 at 19:56
You can use extended private key, which is basically other form of expressing mnemonic words. It is string similar to normal private key, but is longer and begins always with "xpriv....". The idea is that you have extended private key and corresponding extended public key. The later enables to generate, say, unlimited amount of addresses and ext-priv-key enables to spend coins sent to that addresses.
If you have just single normal private key, there is no standardized way of generating multiple public keys.
you can't, only a seed can generate multiple keys.
-
Yeah. Using seed we can generate multiple keys. But all those keys will have same private key or different private keys?– merklexyCommented Feb 14, 2018 at 13:30
-