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.
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?
minconfparameter is for? As far as I understand, off-chain transactions doesn't require confirmations.
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?
minconfparameter is for?
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
minconfparameter for this one?