6
2
If I have Bitcoins in my wallet and I have downloaded the blockchain far enough so that I can see that I have received them, can I send them without having a fully updated blockchain?
6
2
If I have Bitcoins in my wallet and I have downloaded the blockchain far enough so that I can see that I have received them, can I send them without having a fully updated blockchain?
2
Actually you can spend these if you REALLY need it creating a raw transaction:
listunspent does this, but IIRC it's empty until you download the whole blockchain. You can also check Blockchain.info for known transactions.txid), output index (vout) and script (scriptPubKey) and write down as {"txid":"exampleID","vout":x,"scriptPubKey":"exampleScript"}. We'll call each one of these {in1}, {in2}, ..., {inN} for N inputs.'[{in1},{in2},...,{inN}]' where each {inX} is what you annotated earlier in step 2. Note the opening and closing ' !'{"out1":amt1,"out2":amt2,...,"outM":amtM}. Remember to send unspent change to yourself! Change not sent back will be sent as a mining fee. Remember to set a sensible fee too.createrawtransaction '[{in1},{in2},...,{inN}]' '{"out1":amt1,"out2":amt2,...,"outX":amtM}'. This will return a hex string composed of numbers 0-9 and letters A-F.signrawtransaction "resultStep5" '[{in1},{in2},...,{inN}]'. This will return {"hex": "string of 0-9 A-F", "complete": true}. If complete says false the transaction is not signed (perhaps wrong input, or missing private keys).decoderawtransaction hexStep6. Check that outputs are fine and fee is not too much/little."complete: true" and the transaction has been double-checked, broadcast it using RPC: sendrawtransaction hexStep6.+1 for a great answer.. I just wanted to clarify. I think kaoD knows this already, judging by his answer but I just wanted to let others know this does not allow you to double spend anything. Its not that easy (!) – Brian Onn – 2014-01-11T07:47:12.913
3
No, because Bitcoin-Qt still has no way of knowing if you actually have those bitcoins.
Imagine you had the same wallet on two separate computers one with the block chain fully downloaded and one with it only half downloaded. Now Imagine you have 10 bitcoins. On the wallet with the block chain fully downloaded you send all 10 coins to your friend. This computer now reflects that you have 0 bitcoins while the one with the half downloaded block chain still says you have 10. If Bitcoin-Qt allowed you to send those bitcoins, it would be opening the network up to double spending.
2It should be noted that there are lightweight clients such as Electrum, that can be used without downloading the blockchain. I know that is not the focus of the question but someone may find that information relevant to the question at hand. – Mark S. – 2013-11-17T06:53:55.623
1Why not try it and see? – Nate Eldredge – 2013-11-16T15:11:18.230