Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: odysseus654 on November 05, 2011, 11:47:57 PM



Title: How do I create my own transactions?
Post by: odysseus654 on November 05, 2011, 11:47:57 PM
I've been using the Bitcoin GUI for a little while and am feeling a bit like it is "trying to make things easy for me" a bit more than I would like.  One example is that I would like to consolidate the coins I have been mining over time.  I have already done a "payment to myself" using the client (unfortunately I have to go to blockexplorer to get any details about it other than the base value).  I'm just wondering how difficult it would be to do the following:

  • Specify the coins (or at least the addresses) in the "in" side.  I have multiple addresses in my wallet with different histories and would like to avoid linking them in the same transaction if possible.
  • A better description or control over transaction fees.  I've paid transaction fees before for a reason I didn't fully understand, best guess is that the client was prioritizing new coins over older ones for some reason (I've heard mention of smaller coins being used first, no matter their age).  This may be an extension of the first item, in the event that no aged coins are available (or transaction fees are suggested for other reasons) I'd like to declare a low-priority transaction that I don't really care whether it takes a few weeks to complete.
  • Option to avoid "change".  This also extends from the first item (i.e. if you know/choose your coins you can just total them up), especially when consolidating I'm not really in the mood for creating a low-value coin whose only purpose is to be swept into the next consolidate action (where it likely is so small and fresh that it will force a transaction fee)

I think in the end this question is along the lines of "how can I use the tools out there to explicitly build a transaction, using my current wallet file and without the requirement that I have to manually calculate private key hashes?"

I have expect this to end up being a "RTFM".  I am seeing the CLI for the bitcoin client, which does move forward a little bit, the <from-address> isn't available in the GUI for instance.


Title: Re: How do I create my own transactions?
Post by: Revalin on November 06, 2011, 02:14:28 AM
Specify the coins (or at least the addresses) in the "in" side.  I have multiple addresses in my wallet with different histories and would like to avoid linking them in the same transaction if possible.

This is not possible in the standard client.  You need this patch: https://bitcointalk.org/index.php?topic=24784.0;all

Quote
A better description or control over transaction fees.  I've paid transaction fees before for a reason I didn't fully understand, best guess is that the client was prioritizing new coins over older ones for some reason (I've heard mention of smaller coins being used first, no matter their age).  This may be an extension of the first item, in the event that no aged coins are available (or transaction fees are suggested for other reasons) I'd like to declare a low-priority transaction that I don't really care whether it takes a few weeks to complete.

Again, not in the standard client.  It just applies the algorithm to determine your fee, but it doesn't give any explanation of why.  It'd be nice if it could at least spit out a screen of the relevant variables to explain the fees.  I don't know if there's a patch for this.

Quote
Option to avoid "change".  This also extends from the first item (i.e. if you know/choose your coins you can just total them up), especially when consolidating I'm not really in the mood for creating a low-value coin whose only purpose is to be swept into the next consolidate action (where it likely is so small and fresh that it will force a transaction fee)

It should be possible with the patch above.  You send your full consolidation transaction using only the coins you choose.  If it fails, you subtract the fee then try again.

Quote
I have expect this to end up being a "RTFM".  I am seeing the CLI for the bitcoin client, which does move forward a little bit, the <from-address> isn't available in the GUI for instance.

I don't see any reference to from-address in the API help.  You can do a "sendfrom <fromaccount> ...", but note that accounts are not the same as addresses - accounts are just which internal ledger will be debited for the transaction, and it does not affect which address is used externally to actually send the coins.

I'm pretty sure all the RTFM in the world won't save you here.  I Rd a lot of FM (and the source) and concluded it was simply not possible in the 0.3.24 API.  0.4.0 will be the same unless they pull the coderrr patch.


Title: Re: How do I create my own transactions?
Post by: odysseus654 on November 13, 2011, 11:19:06 PM
I'm seeing recent posts like this (https://bitcointalk.org/index.php?topic=51252.0) that seem to indicate that I can go as far as create my own transactions (and even gives a webpage where you can feed them back into the system without writing or interfacing with your own client)

I'm guessing that it would be rather difficult to get this to work with coins that you currently use with the official client?  Is there a way to get to the private keys without completely shutting down the client and writing a separate program to open up the keystore?