Il comando "sendfrom" permette di scegliere da quale account (non address) inviate i propri bitcoin.
Tecnicamente ogni account ha i propri address, quindi dovrebbe pescare da uno o più address a disposizone di quell'account per l'invio.
Il comando "move" invece permette di spostare la balance tra un account e l'altro non andano però a influire sugli address.
Ora quindi io mi chiedo, avendo:
Account Pippo -> 1 BTC di Balance e Address con 1 BTC
Account Pluto -> 0 BTC di Balance e Address con 0 BTC
Non potrei utilizzare il sendfrom dall'account Pluto perchè privo di fondi, quindi effettuo un:
sendfrom Pippo "to" Pluto "importo" 1 BTC
A questo punto avremo:
Account Pippo -> 0 BTC di Balance e Address con 1 BTC
Account Pluto -> 1 BTC di Balance e Address con 0 BTC
Attualmente quindi l'account Pluto ha una balance di 1 BTC ma i suoi address invece hanno 0 BTC.
Se faccio un "sendfrom" Pluto, la transazioen parte attingendo dall'address di Pippo oppure non parte nemmeno?
Se non parte, a che caiser serve il comando move?
Se parte invece viene quindi coinvolto l'address di Pippo anche se il sendfrom specifica che l'account dal quale inviare i picci era Pluto?
Spero di essermi spiegato
Sto cercando anch'io di capire meglio questa storia degli "account".
Se ho ben capito un portafoglio può avere più account, più precisamente ogni indirizzo ( o gruppo di indirizzi ) di un wallet può essere associato a un account.
L'associazione funziona solo in ricezione però, nel senso che ogni volta che un indirizzo associato a un account A riceve dei bitcoin si aggiorna (in positivo) il bilancio dell'account A.
Il discorso cambia invece se si vogliono spendere dei btc, utilizzando il comando "sendfrom A indirizzo_destinatario 10.00" quei 10 btc vengono scalati dal bilancio di A ma non si sa da quali indirizzi vengano effettivamente prelevati i 10 btc, poichè l'algoritmo
Coin Selection lavora a livello di wallet e non di account.
Quindi è chiaro che l'associazione indirizzo-account non è valida se mi serve stabilire il bilancio dell'account A, nel senso che il bilancio di A non è dato in generale dalla somma dei bilanci di tutti gli indirizzi associati ad A (ad esempio un indirizzo "di A" potrebbe essere stato svuotato a causa di un "sendfrom B", anche se gli indirizzi "di B" avevano fondi sufficienti, poichè in un indirizzo di A c'era un UTXO che corrispondeva esattamente alla somma che B doveva pagare, e l'algoritmo Coin Selection tenta sempre prima questa strada).
Il concetto di account serve evidentemente solo se una persona vuole istituire un wallet che funzioni come una specie di banca, che raccolga cioè i fondi di tante altre persone. Alla fine sapere "dove" sono esattamente i soldi, e soprattutto sapere con "quali" soldi si effettuano i pagamenti di un account non ha senso.
Per tornare alla domanda di TheBomber999, secondo me la transazione "sendfrom Pluto" parte senz'altro perchè la condizione "fondi sufficienti sull'account" è soddisfatta; questa transazione spende il btc dell'address associato all'account di Pippo poichè l'associazione address-account ripeto vale solo in ricezione, non per l'invio: in realtà "quel" btc non è mai stato "di" Pippo.
Ulteriori informazioni si possono trovare in questo wiki
Account explained. Tra le altre cose non ho capito se l'unico account che può andare in negativo è il Default Account (questo può succedere se si inviano dei btc con il comando "sendtoaddress" al posto di "sendfrom") o se possono diventare negativi (in quali casi?) anche gli altri account.