2 years later, I think it's time to shed time light on progress with segwit.
Last year, a good amount of things needed for receiving coins on segwit addresses and spending from them were developed on the segwit branch. However, there is still one big thing missing: deriving segwit addresses in an HD wallet setup. There was one suggestion, but it switched entire wallets to segwit rather than just KeyChainGroups which would allow for smooth migration. Since then, for about the last half year, sadly nothing happened. Meanwhile, developers of other wallets were busy implementing segwit too. Some skipped P2SH and went straight for native segwit addresses. This puts us under a bit of pressure: while bitcoinj can certainly send to P2SH addresses, it currently can't send to native segwit addresses. So a week ago I started, independently of the segwit branch, on a new branch that implements just the parts that are necessary for sending to segwit addresses. John seemed to have the same idea, because he presented a proposal too. So we now have two proposals: https://github.com/bitcoinj/bitcoinj/pull/1515 https://github.com/bitcoinj/bitcoinj/pull/1516 Feedback on both welcome. John has closed his PR but I think it's still worthwile to look at his approach. My approach kind of bends the VersionedChecksummedBytes hierarchy a bit (so it's less clean), but it works well so far with only minimal API churn. Speaking of API churn, I have identified some API that I think will need to change, regardless on how we progress. I pulled these changes into separate PRs so we can discuss and approve them separately: https://github.com/bitcoinj/bitcoinj/pull/1521 https://github.com/bitcoinj/bitcoinj/pull/1520 https://github.com/bitcoinj/bitcoinj/pull/1517 Also, feedback welcome. I'd like to merge the above three PRs soon if no one objects. And of course if someone wants to work on full segwit support on the segwit branch, that's welcome too (-: -- You received this message because you are subscribed to the Google Groups "bitcoinj" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
