I am using bitcoin daemon in my system to get and pass btc to users. So now I want to pass some btc to another users but I can not understand what is the difference between sendfrom and sendtoaddress. I have read about sendtoaddress command in
http://chainquery.com/bitcoin-api/sendtoaddress but could not understand where this btc is going from
- 181
- 7
2 Answers
According to the Bitcoin core developers reference, SendFrom is deprecated and you should use SendToAddress or SendMany instead.
Note that SendFrom sends from an account not from an address. The Account feature is being removed from Bitcoin core.
I assume the (HD) wallet rummages around for suitable UTXOs to use as inputs to the transaction.
- 24,039
- 3
- 23
- 47
Bitcoin node is one wallet and accounts are its internal accounting system which is deprecated now: https://github.com/bitcoin-dot-org/bitcoin.org/issues/1287
The major issue is account balance can go negative which is "WONTAFIX" https://github.com/bitcoin/bitcoin/issues/2079
I'd recommend using latest Bitcoin 0.17.0 which has multi wallet features which can isolate each user, further read:
https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)#Multi-wallet_RPC_calls
Edit: (To upgrade from 0.16.3 to 0.17.0)
Assuming installed 0.16.3 via sudo apt-add-repository ppa:bitcoin/bitcoin I was able to upgrade from 0.16.3 to 0.17.0 successfully by following:
cd ~ wget https://bitcoincore.org/bin/bitcoin-core-0.17.0/bitcoin-0.17.0.tar.gz tar -xvzf bitcoin-0.17.0.tar.gz cd bitcoin-0.17.0/ #Install dependencies to compile sudo apt-get update sudo apt install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git libdb4.8-dev libdb4.8++-dev curl sudo apt install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git libdb4.8-dev libdb4.8++-dev curl sudo apt install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libzmq3-dev #Compile Bitcoin 0.17.0 ./autogen.sh ./configure make #sudo worked for me sudo make install #rebooting was required for me as bitcoind was still showing 0.16.3, after reboot 0.17.0 was shown
-
thanks for reply! I have already installed 0.16.3 version. but i can't upgrade it to 0.17.0 . Can you send me more details to upgrade it ? – Yur Gasparyan Oct 05 '18 at 14:53
-
@YurGasparyan I added details as I tested to upgrade from 0.16.3 to 0.17.0 – Shahbaz Oct 08 '18 at 13:15