First of all, there are several key components in play here.
1) Your wallet. It has an unconfirmed transaction in it. Your bitcoin client will keep doing a ResendWalletTransactions() every so often to the P2P network until it is either confirmed by a miner, or you delete it from the wallet.
2) The P2P network. Every bitcoin node keeps a list of unconfirmed transactions in memory (the MemPool) so that they can be relayed to other nodes. They time out after a while - exactly how long depends on local factors, activity, node restarts etc. When the nodes see transactions appear in blocks, they also get removed from the mempool.
3) Miners. They take the highest priority transactions from the mempool and set them in stone in blocks.
Wallet clients normally resend the transaction periodically.
I poked around a bit. *my* clients all know about the transaction of yours:
$ bitcoin-cli getrawtransaction "d2d79b1c5153c8e6c4dc007044b277b345a4867954cd8d9ec5d5b9f0675a0563" 1
...
"vout" : [
{
"value" : 0.40000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 0910bf8deaccae0abb0a201107ab57fccba85e3f OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a9140910bf8deaccae0abb0a201107ab57fccba85e3f88ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"1pw9R8BCWdojic8bryNqaAXoh77D5tBeb"
]
}
},
It looks like you spent 5 outputs:
#1570 of 7bd8cecc8481baffbb545efc6f9949ccd2c3d87241ff6316c2d4fb975d055891 (0.109 btc 2071 confirm)
#836 of 330a32b6d7312ea2ad8b6b50cb6e418d251d73822aa3d48c979aea9f0544658f (0.161 2226 confirm)
#908 of ba8a17326f7f85ca27e2be8954d8da4ac8755486ce8f71b463f86da73c44b455 (0.021 btc 801 confirm)
#540 of 19c53d50895e35d1a0445c66dca1bef3cde39dd64603f1729a4db8c6dff6174b (0.024 btc 1762 confirm)
#2722 of d07d6c039b95484a634ea5d8e3e44da54aed8abcb8d313da92396a8e62e3a758 (0.093 btc 1327 confirm)
My quick dig around in the blockchain shows these as unspent.
However, on
https://en.bitcoin.it/wiki/Transaction_fees it talks about transaction priority as a prerequisite for a fee-free transaction. I'm pretty sure that is old information.
$ bitcoin-cli getrawmempool true
...
"d2d79b1c5153c8e6c4dc007044b277b345a4867954cd8d9ec5d5b9f0675a0563" : {
"size" : 819,
"fee" : 0.00000000,
"time" : 1394515894,
"height" : 289982,
"startingpriority" : 687882974.94871795,
"currentpriority" : 716569858.93772888,
"depends" : [
]
},
.. so it should qualify for fee-free. In my client's mempool, is ranked at priority 2014 of 2180.. right near the top.
Aside from the zero fee (which it is entitled to be, according to the rules), I'm not sure I see why this hasn't confirmed yet.
What am I missing?