0

I'm trying to understand some basic concepts in the Bitcoin Core (v.0.15.1) and in the bitcoin "world".

I'm using a testnet, and used https://testnet.coinfaucet.eu/en/ to send some bitcoins to a "Receiving address". it worked fine, and I can see the transaction/balance changed in Bitcoin core.

However if I send bitcoins from coinfaucet to a "Sending address" (Which is a public key as I understand) then I can't see any bitcoins in that address and the balance is not changed and no transaction is reported, although coinfaucet shows me a verified transaction.

What am I missing? Can't the sending address hold/receive bitcoins? what are the "Sending address" used for if I can't send bitcoins to it?

I assumed that when I want to send funds from my wallet to someone, I first move funds from the Receiving address to the Sending address and use that address. but I'm totally unsure of this assumption.

Any help will be appreciated.


EDIT: After dinging some more, I came to realize that the Sending address is just addresses you have sent or planing to send to. It has nothing to do with the Change address as described in the answer. That is why after I sent money from coinfaucet to a made up sending address I did not see any change in balance because that address is not mine. and after a re-scan I see it a watch-only.

  • That's interesting, I would also have thought it should work. I'll wait for the answers. – Willtech Feb 5 '18 at 10:49
  • Just out of interest, what happens if you start Bitcoin Core also adding the -rescan parameter? - not sure how long it will take? In bitcoin-qt you might get a progress bar? – Willtech Feb 5 '18 at 10:52
  • @Willtech, -rescan did not made any difference. – kobik Feb 5 '18 at 11:56
3

In Bitcoin Core, the sending address refers to the address that you have saved as a "contact" in the client. You can save the address with a nickname eg. Coinbase address. The receiving address refers to the address which you can use to receive coins. The way Bitcoin works is that a transaction spends the unspent output from the receiving addresses. Hence, it depends on which receiving address you received coins from, your coin control and amount.

E.g. 1. If you receive 1BTC on 1AddressA and spend 1BTC in the client, the blockexplorer will identify the origin as 1AddressA. 2. If you receive 0.5BTC and 1 BTC on 1AddressA and 1AddressB respectively and you spend 0.5BTC, the blockexplorer will identify the sending address is 1AddressA. 3. If the scenario is the same as 2, and you spend 0.6BTC, the sending address will appear as from both and there will be another output going to another address in your client. It is called the change and the address isn't showed within the client. However, you can spend it in your next transaction, I don't know why there's no balance but what I know that the transaction to these addresses shouldn't appear as they are change addresses.

Why are they not on transactions list?

Because Bitcoin core using bip32 and change addresses transactions have different derive path.

Example

m / purpose' / coin_type' / account' / change / address_index Normal addresses path:

m/44'/0'/1'/0/i

Change addresses path:

m/44'/0'/1'/1/i
  • 1
    That is interesting but, doesn't tell the asker what happens if I send some BTC to a sending address from my wallet, instead of a receiving address. – Willtech Feb 5 '18 at 11:55
  • You will not be able to see any transaction, just the amount you received in your wallet balance. – Adam Feb 5 '18 at 12:06
  • @Adam thanks. problem is that I don't see any amount change in the wallet balance. Also getbalance RPC won't show any changes – kobik Feb 5 '18 at 13:48
  • 1
    can you try bitcoin-cli importaddress "address" true This may take a long time since it will rescan the blockchain. – Adam Feb 5 '18 at 14:00
  • @Adam, Yep. that made Bitcoin core show these transactions as watch-only (what is that?...). Can you please explain what exactly happen with bitcoin-cli importaddress "address" true? will theses transactions never show unless you do the above? – kobik Feb 5 '18 at 15:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.