Bitcoin Forum

Other => Beginners & Help => Topic started by: rpstatic on July 04, 2018, 07:33:19 AM



Title: Coin Control (Alternative) on the Daemon
Post by: rpstatic on July 04, 2018, 07:33:19 AM
I have a staking wallet on a small VPS with a high amount of small inputs and would like to combine them. Due to the low hardware resources I am running only the wallet daemon without GUI. Is there an easy way to combine only the small inputs (I don't want to lose the weight of the larger inputs)?


Title: Re: Coin Control (Alternative) on the Daemon
Post by: mocacinno on July 04, 2018, 07:34:51 AM
I have a staking wallet on a small VPS with a high amount of small inputs and would like to combine them. Due to the low hardware resources I am running only the wallet daemon without GUI. Is there an easy way to combine only the small inputs (I don't want to lose the weight of the larger inputs)?

If you wallet was forked from bitcoin core, it'll probably allow you to:
listunspent ( minconf maxconf  ["addresses",...] [include_unsafe] [query_options])

followed by
createrawtransaction [{"txid":"id","vout":n},...] {"address":amount,"data":"hex",...} ( locktime ) ( replaceable )

followed by
signrawtransaction "hexstring" ( [{"txid":"id","vout":n,"scriptPubKey":"hex","redeemScript":"hex"},...] ["privatekey1",...] sighashtype )

followed by
sendrawtransaction "hexstring" ( allowhighfees )


Basically: find the txid and vout of all unspent outputs you wish to combine, then manually create a transaction with the unspent outputs from the first step as an input, and an output funding one of your own addresses (sum of the value of the inputs - sum of the value of the outputs = fee). You can easily generate a new address to fund using "getnewaddress ( "account" )"
Afterwards, sign this transaction and broadcast the signed transaction.

AFAIK, that's the only way to spend *some* of your unspent outputs using the cli.


Title: Re: Coin Control (Alternative) on the Daemon
Post by: rpstatic on July 04, 2018, 07:50:11 AM
Thank you for this detailed instructions. After a few initial parse errors I was able to create the transaction with
Code:
createrawtransaction "[{\"txid\":\"id\",\"vout\":n}]" "{\"address\":amount}"

I just had to escape the double quotes.


Title: Re: Coin Control (Alternative) on the Daemon
Post by: mocacinno on July 04, 2018, 07:59:16 AM
Thank you for this detailed instructions. After a few initial parse errors I was able to create the transaction with
Code:
createrawtransaction "[{\"txid\":\"id\",\"vout\":n}]" "{\"address\":amount}"

I just had to escape the double quotes.

Yup, those quotes get me every time, it usually takes me 3 or 4 tries before i can create a raw transaction  ;D
If you run into any other problems, give us a shout!