New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change Litecoin BIP32 constants to xpub/xprv #819
Conversation
- correct litecoin bip32 prefixes - adjust unit test data to match the updated prefixes See https://github.com/litecoin-project/litecoin/blob/master/src/chainparams.cpp#L133 and https://github.com/litecoin-project/litecoin/blob/master/src/chainparams.cpp#L134
Now I don't know who to believe. |
@coblee is it |
It's Ltub and Ltpv for Litecoin |
@bluen probably should submit a PR to litecoin-project/litecoin |
Actually my bad! Turns out we never used Ltub and Ltpv and stuck with the same as Bitcoin. Sorry! |
ping @richardkiss, @bip32JP, @sbuss For You're implementations have the wrong constants too, it would seem. |
@fanatid breaking change? Its a "fix" technically... |
This seems like a bad idea, since now tools that accept BIP32 keys will need to be explicitly told that litecoin addresses are desired rather than automatically inferring it. It's odd to change formats for addresses and WIFs but not BIP32 keys. Since several tools use these L prefixes, maybe there's an argument to be made that that's become the emergent standard? |
Not to mention this important gem from BIP43: https://github.com/bitcoin/bips/blob/master/bip-0043.mediawiki#node-serialization - in practice, we (Exodus) use xpub and xpriv for all assets.
|
Yes, we have decided that using "xpub" and "xprv" for all assets is easiest. Please update the code. We will reach out to other libraries and update as necessary. Sorry for the confusion! I believe "Ltub" and "Ltpv" were chosen by the BIP32 creators and was never really supported by litecoin core. And since HD wallets weren't use for Litecoin until recently, it was never an issue. It makes sense now to standardize with what Bitcoin uses. |
@jprichardson would you consider this a breaking change? |
TREZOR was using xpub/xprv prefixes for all altcoins not very long time ago. We fixed that (6-12 months ago maybe?) to use the correct prefix (Ltub) to get in sync with another implementations. I think it might be better to fix one implementation (Litecoin Core) rather than fixing all of the remaining ones. (This goes against my claim in BIP43 about using xpub/xprv all the time, but I am pragmatic and when I see all Litecoin implementations use Ltub, let's have it this way for Litecoin). Now, I know this is not the right forum, but I really need to express how dissatisfied I am with the behaviour of Litecoin people when it comes to standards. They change the prefix Ltub, now they want to change it back, leaving a TOTAL MESS among various implementations, because they don't have the same tempo of applying changes. Situation with P2SH prefix in Litecoin is even bigger issue. They changed it from "3" to "M" around time Segwit was activated and NEVER realeased a stable version of Litecoind which supports the new prefix, so most of the businesses are stuck to old method and cannot send to new "M" addresses. Please, do some research before you say something or change something in fundamentals of your coin, ideally you should also be looking over at the whole ecosystem and provide a coordinating role, not causing confusion and incompatibilities. This is not Twitter, where you can change your opinion every few hours. These are standards where every change rolls out VERY slowly and during these transition period you HURT your users very BADLY. Please, do care more about your users! |
We can probably support both. |
@coblee if you support both, we can simply stay as is 😃 (and later support both, PR's accepted) |
Yes, I think that's fine for now. |
I am fine with Litecoin Core supporting both (if that is what they want), but I want to make sure it is just for Core, not all tooling. TREZOR is not going to support both, just Ltub version, if we agree to use that.
|
Exodus won't support both either. We'll stick with BIP43. Big picture, though, IDC - this feels like borderline bikeshedding. This library should just keep it as-is and we can revisit when we continue to breakdown bitcoinjs-lib to increase the maintainability. |
See https://github.com/litecoin-project/litecoin/blob/master/src/chainparams.cpp#L133 and https://github.com/litecoin-project/litecoin/blob/master/src/chainparams.cpp#L134