I'm trying to figure out how transactions are actually handled by bitcoind.
I'm looking at the full list of RPC methods and there are missing documentation for some most interesting methods.
move
I know there are two methods of moving bitcoins between addresses either via direct p2p transaction or via the so-called off-chain transaction. If I believe correctly, the built-in wallet of bitcoind allows us to send off-chain transactions via the move method. Sadly, it's not very well documented, but I want to know exactly how it works.
Here's the documentation for it:
move <fromaccount> <toaccount> <amount> [minconf=1] [comment]
Move from one account in your wallet to another
So, if account A has one BTC and account B has zero. What will happen if I first move one BTC from A to B using off-chain transaction and then issue a direct transaction of 1 BTC from B to C?
Also, what
minconf
parameter is for? As far as I understand, off-chain transactions doesn't require confirmations.
sendfrom
Here's the documentation for the sendfrom method:
sendfrom <fromaccount> <tobitcoinaddress> <amount> [minconf=1] [comment] [comment-to]
<amount> is a real and is rounded to 8 decimal places. Will send the given amount to the given address, ensuring the account has a valid balance using [minconf] confirmations. Returns the transaction ID if successful (not in JSON object).
It requires an account to send bitcoins from.
What if I have multiple addresses/transactions for the specified account? What strategy bitcoind uses to determine from which addresses to make a transaction and how much bitcoins to use from each?
What
minconf
parameter is for?
sendtoaddress
sendtoaddress <bitcoinaddress> <amount> [comment] [comment-to]
<amount> is a real and is rounded to 8 decimal places. Returns the transaction ID <txid> if successful.
The account is not specified for this call. What account bitcoind will use? The default one?
Why there is no
minconf
parameter for this one?