Hello, I've been working on modifying bitcoinj to use segwit, I've seen that other people are also working on bitcoinj+SW, and would like to share where I am and ask a few questions:
The changes so far are: - modify the protobuf definitions and serialization code to include witness data (I think that it should fix issue #1418) - a few sw-related minor changes (like not using the payload hash that comes with tx messages for sw txs) - a "segwit" mode (more info below) I believe that the first 2 sets of changes could make their way into bicoinj (segwit branch) as-is. The "segwit mode" is a mode where all receive and change addresses are P2SH-of-P2WPKH instead of P2PKH. My understanding is that it is the recommended way of migrating a wallet to segwit. We've used this modified version of bitcoinj in our work on Lighting and it fit our requirements, but I would like to have your opinion before I submit a PR: - the segwit mode is triggered by an environment variable, but I was wondering if there might be a better option (maybe the Context object but I'm not too sure) ? - Also, it is a "binary" mode i.e either all UTXOs managed by the wallet are segwit outputs, or none of them are. I don't see how to mix both modes since to get the benefit of SW then all outputs that you spend must be SW outputs. - Likewise, the only migration strategy for an existing wallet that I see is "send everything to a new SW output" ? It's not clear to me yet whether bitcoinj can manage several different wallets at the same time ? - I'm not sure how segwit is supposed to work with "married" wallets Best regards, Fabrice -- 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 bitcoinj+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.