Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: d4n13 on July 15, 2015, 08:12:27 AM



Title: Bounty for CPFP Enabled Wallet
Post by: d4n13 on July 15, 2015, 08:12:27 AM
CPFP (Child Pays for Parent) Bounty
3FEUByMeaxrNmBCVYjvsnhyAjiUdat5i7M

Anyone who can put a CPFP transaction creation feature into any wallet featured on the bitcoin homepage (https://bitcoin.org/en/choose-your-wallet) can claim this bounty.  

I outlined the basic idea of the bounty in this BIP proposal (https://github.com/d4n13/bips/blob/master/bip-00nn.mediawiki) before I was educated on CPFP.

To claim the bounty / pizza you will need to convince the following holders of the multisig
  • Me (https://bitcointalk.org/index.php?action=profile;u=140006)
  • theymos (https://bitcointalk.org/index.php?action=profile;u=35)
  • kcud_dab (https://bitcointalk.org/index.php?action=profile;u=85550)

Rules:
  • Must be a wallet featured on the bitcoin homepage (https://bitcoin.org/en/choose-your-wallet)
  • Must be either accepted into primary build branch of (1), or available in an official release / beta / dev build of (1)

References:
  • My old BIP proposal (http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009304.html)
  • My "reference" implementation using Bitcoin-RPC and Python (https://gist.github.com/d4n13/db762a50c6fa5049ff63)
  • CPFP thread on dev-bitcoin (http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009375.html)
  • Bounty fundraising campaign thread (https://bitcointalk.org/index.php?topic=1123441.0)
  • Bounty fundraising mempool lifeguard service (https://bitcointalk.org/index.php?topic=1123063.0)
  • RBF (different technique) thread (https://bitcointalk.org/index.php?topic=179612.0)
https://i.imgur.com/J5Dq5OS.png


Title: Re: [Happy Meal] Bounty for CPFP Enabled Wallet
Post by: Andreas Schildbach on July 15, 2015, 09:41:53 AM
We're already working on getting child-pays-for-parent into Bitcoin Wallet (https://market.android.com/details?id=de.schildbach.wallet). The branch is here: https://github.com/schildbach/bitcoin-wallet/commits/fee-cpfp

It's still a bit rough and needs work. The biggest missing part is PIN entry, so you currently need to unset your PIN before raising the fee.

Any code review is appreciated.


Title: Re: [Pizza] Bounty for CPFP Enabled Wallet
Post by: d4n13 on July 15, 2015, 03:09:42 PM
We're already working on getting child-pays-for-parent into Bitcoin Wallet (https://market.android.com/details?id=de.schildbach.wallet). The branch is here: https://github.com/schildbach/bitcoin-wallet/commits/fee-cpfp

It's still a bit rough and needs work. The biggest missing part is PIN entry, so you currently need to unset your PIN before raising the fee.

Any code review is appreciated.
Wow... fantastic news.... I'll be happy to look at it...

Setting up an android build server will take a bit.  If no one beats me too it, I'll try to post a testnet build from the branch... expect it to take a while.


Title: Re: [Pizza] Bounty for CPFP Enabled Wallet
Post by: achow101 on July 15, 2015, 03:40:58 PM
Does the CPFP patch have to make it into the stable build released by the developers of the wallets or can it just be a patch that you apply yourself?


Title: Re: [Pizza] Bounty for CPFP Enabled Wallet
Post by: d4n13 on July 15, 2015, 03:49:48 PM
Does the CPFP patch have to make it into the stable build released by the developers of the wallets or can it just be a patch that you apply yourself?
I added a rules section to OP
Quote
Rules:
  • Must be a wallet featured on the bitcoin homepage (https://bitcoin.org/en/choose-your-wallet)
  • Must be either accepted into primary build branch of (1), or available in a production / beta / dev build of (1)


Title: Re: [Pizza] Bounty for CPFP Enabled Wallet
Post by: Andreas Schildbach on July 16, 2015, 03:06:38 PM
I just updated our branch so that it supports encrypted wallets (spending PIN).


Title: Re: [Pizza] Bounty for CPFP Enabled Wallet
Post by: Andreas Schildbach on July 17, 2015, 03:18:50 PM
The feature is now finished, merged and starts to roll out to 10% of users.

If you feel like skipping the queue you can download directly from here:

https://github.com/schildbach/bitcoin-wallet/releases/tag/v4.37


Title: Re: [Pizza] Bounty for CPFP Enabled Wallet
Post by: d4n13 on July 17, 2015, 04:16:24 PM
The feature is now finished, merged and starts to roll out to 10% of users.

If you feel like skipping the queue you can download directly from here:

https://github.com/schildbach/bitcoin-wallet/releases/tag/v4.37
All over it... Thx... I assume the "test" is testnet.


Title: Re: Bounty for CPFP Enabled Wallet
Post by: d4n13 on July 21, 2015, 03:02:30 PM
The feature is now finished, merged and starts to roll out to 10% of users.

If you feel like skipping the queue you can download directly from here:

https://github.com/schildbach/bitcoin-wallet/releases/tag/v4.37
Awarded
to Andreas Schildbach

congrats!
https://blockchain.info/tx/8ec943be37e8e45ba60e0c3ae82323cade5e084b25e9154714e86a5d80a1a44b


Title: Re: Bounty for CPFP Enabled Wallet
Post by: unamis76 on July 21, 2015, 03:24:48 PM
Good news that this has been implemented... However I don't use the software in which it was :D Hoping this at least makes it to the Core wallet.


Title: Re: Bounty for CPFP Enabled Wallet
Post by: arnuschky on July 26, 2015, 10:15:18 PM

A bit OT, but which other nodes/wallets implement CPFP already out-of-the-box?


Title: Re: Bounty for CPFP Enabled Wallet
Post by: brianddk on July 26, 2015, 10:49:44 PM

A bit OT, but which other nodes/wallets implement CPFP already out-of-the-box?
Only Android Bitcoin-Wallet...

No others that I've seen, which is why it won the bounty.


Title: Re: Bounty for CPFP Enabled Wallet
Post by: voisine on August 26, 2015, 03:26:16 PM
We included CPFP in breadwallet a few months back (two months before the bounty was created) for when the user spends unconfirmed non-change inputs. Happy to let the bounty go to Andreas though. Andreas and co. are doing good work.

https://github.com/voisine/breadwallet/blob/v0.5.1/BreadWallet/BRWallet.m#L382


Title: Re: Bounty for CPFP Enabled Wallet
Post by: unamis76 on August 26, 2015, 03:43:30 PM
We included CPFP in breadwallet a few months back (two months before the bounty was created) for when the user spends unconfirmed non-change inputs. Happy to let the bounty go to Andreas though. Andreas and co. are doing good work.

https://github.com/voisine/breadwallet/blob/v0.5.1/BreadWallet/BRWallet.m#L382

Wasn't aware that one of my favorite wallets already had it :) Nice job. It will probably come in handy some day ;D