CounterpartyXCP / counterparty-core

Counterparty Protocol Reference Implementation
http://counterparty.io
MIT License
287 stars 206 forks source link

Opt-in Replace-by-Fee feature #971

Open zono opened 7 years ago

zono commented 7 years ago

Are there plans to allow creating replaceable transactions? It might have negative things but I think that the feature will be useful for CP transactions.

I changed counterparty-lib in my fork repository. I'm still testing it but it seems that it works so far.

https://github.com/y-zono/counterparty-lib/compare/master...y-zono:replace-by-fee

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/45319068-opt-in-replace-by-fee-feature?utm_campaign=plugin&utm_content=tracker%2F494307&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F494307&utm_medium=issues&utm_source=github).
unsystemizer commented 7 years ago

I think the main reason why it hasn't been looked into is that until recently we officially used Bitcoin Core 0.12 (IIRC before RBF couldn't be used or couldn't be easily used) and secondly we'd have to support it in Counterwallet which was a bit behind in terms of development. But it'd be a great addition to counterparty-lib. When you think it's ready please submit a PR and I'll do more testing.

zono commented 7 years ago

Thank you. I will do test more and send PR when it is ready.

droplister commented 6 years ago

I have identified three txs that Counterparty is essentially misreporting as a result of RBF. I came across them when I found that three three txs were not found when using getrawtransaction.

Here they are according to counterparty-lib:

0a9265a48670065e9beffb5c4a14f58012f40a56b933eee5e027a49ee6bc6e87
8a7725836a2538cc6c19c94d36fd2294fcb7f6aaab83e5750480763148f813df
9f8acaebdf7db85b3604d486a174d8576402cfc43c849857a35ba2e2c9b4043c

Here is how the wider network sees them:

8a7725836a2538cc6c19c94d36fd2294fcb7f6aaab83e5750480763148f813df
-> 52bcde301c95d12553df551768fb58a61fd6ee16ed0431551a8d00b6b87c2845

0a9265a48670065e9beffb5c4a14f58012f40a56b933eee5e027a49ee6bc6e87
-> fa7e8c4a582b4284bd4726de620cd87dfef6b634ee3ebb043ed0dc08901eee83

9f8acaebdf7db85b3604d486a174d8576402cfc43c849857a35ba2e2c9b4043c
-> 1d1179cd19816784f7aed0d8d36cf52f74dbe851b5e6657415f9c931a77dacf6