Title: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: mb300sd on October 22, 2013, 06:43:00 AM Avoid horror stories like this one, https://bitcointalk.org/index.php?topic=296217.0
Use this tool for creating your raw transactions. Lets you graphically build the transaction, selecting inputs from multiple sources at the same time. Calculates total inputs, outputs and tx fee to prevent costly mistakes. Sign transactions with keys from multiple sources. Broadcast tx with a click of a button. https://i.imgur.com/BInZJNg.png Source: https://github.com/mb300sd/RawTxTool Binary: https://github.com/mb300sd/RawTxTool/raw/master/bin/RawTxTool.exe Disassembler if you don't trust my binaries and can't compile: http://ilspy.net/ This is pre-alpha code. Please double check everything with decoderawtransaction in bitcoind if your dealing with significant amounts of coins. I am not responsible if this code causes loss of coins. Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: piotr_n on October 22, 2013, 10:26:52 AM Great stuff, man.
Think about adding an option to export the fetched inputs to a file - and then to get them from the file at another (offline) PC. By this you will essentially turn your app into a nice cold wallet solution, that can work with bitcoind gateway, or even without it. Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: jgarzik on October 22, 2013, 03:04:46 PM Glad to see a GUI version of my txtool crop up :) https://github.com/jgarzik/txtool/
Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: mb300sd on October 22, 2013, 03:59:55 PM Great stuff, man. Think about adding an option to export the fetched inputs to a file - and then to get them from the file at another (offline) PC. By this you will essentially turn your app into a nice cold wallet solution, that can work with bitcoind gateway, or even without it. Done. Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: piotr_n on October 22, 2013, 05:10:14 PM BTW guys, maybe we should think of some kind of standard for such a "wallet balance" file.
Because I also have a wallet app (https://github.com/piotrnar/gocoin/tree/master/wallet) which does quite the same things and it would be cool if it could import the data from other blockchain sources, rather than only the one I developed myself. It would be nice if it could also take a file that e.g. "Raw Tx Tool" fetched from blockchain.info. It's very useful, since then you don't need any bitcoin node, but just your wallet and blockchain.info webpage and you can still receive and send money using a cold wallet of your choice. What I use is a zip file that contains unspent.txt, where each line has a format of: Code: <txid>-<vout> # comment (amount, b58 address, etc - not mandatory) Besides the text file, inside the zip, there is a number of <txid>.tx files, that carry a binary content of the transactions mentioned in the unspent.txt Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: chriswilmer on October 22, 2013, 05:17:13 PM Quick question... can this be used to "read" raw transactions? That is something I would really appreciate having!
Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: mb300sd on October 22, 2013, 05:51:12 PM The issue with reading raw tx, and the above file format, is that it doesn't contain complete original txout, which is required to get the address and to sign the tx. (bitcoind only requires txid and vout because it has all the tx already)
Edit: added ability to decode pasted raw transaction, but requires access to bitcoind or blockchain The current output format is 32 bytes txid 4 bytes vout x bytes txout (same format as serialized into transaction) repeat The code uses my BitcoinTool library (https://github.com/mb300sd/Bitcoin-Tool) which has functions to directly read and write the binary formats used by bitcoind Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: jgarzik on October 22, 2013, 06:02:46 PM See BIP 10 for a transaction distribution format: https://en.bitcoin.it/wiki/BIP_0010 I'm not sure it's my favorite format, but it's the one concrete proposal right now. Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: piotr_n on October 23, 2013, 01:00:30 PM See BIP 10 for a transaction distribution format: https://en.bitcoin.it/wiki/BIP_0010 I'm not sure it's my favorite format, but it's the one concrete proposal right now. To be honest, I prefer moving txs to/from my cold storage in a raw format. Then I can easily check if a tx has not been tempered with, doing e.g.: Code: cat transaction.bin | openssl sha256 -binary | openssl sha256 Besides, before spending them my wallet app needs the original raw data anyway, to make sure that it has the expected ID. So IMO, it is more convenient for a wallet app to have a tx (carrying an unspent output) as a raw data already. And if I need to see whats inside a raw tx, I have a tool to display it in a human readable format. I always use it on a signed tx, before moving it out from my cold storage. Just in case if my wallet would screw something up. Code: /* Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: mb300sd on October 24, 2013, 01:23:51 AM New version posted, fixes a crash. Been using this to move several hundred bitcoins today.
Edit: added ability to read pasted raw tx https://github.com/mb300sd/RawTxTool/raw/master/bin/RawTxTool.exe Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: chriswilmer on October 24, 2013, 10:25:23 PM New version posted, fixes a crash. Been using this to move several hundred bitcoins today. Edit: added ability to read pasted raw tx https://github.com/mb300sd/RawTxTool/raw/master/bin/RawTxTool.exe Thanks again for the ability to read raw tx's... I think that is REALLY AWESOME. Is the Blockchain.info guy listening? THIS WOULD BE REALLY GREAT IF THE PUSHTX PAGE ON BLOCKCHAIN.IFO PARSED RAW TXs SO YOU COULD SEE WHAT YOU ARE DOING BEFORE YOU BROADCAST! I AM TYPING ALL CAPS BECAUSE I LOVE ALL OF YOU AND AM VERY EXCITED! ;D Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: slothbag on October 25, 2013, 12:24:04 AM Someone should make this for Mac OSX ;) Install Mono, it'll probably run fine as is. Title: Re: Raw Tx Tool - Use for coin control, and never accidentally pay a huge fee again! Post by: mb300sd on October 25, 2013, 12:29:24 AM Someone should make this for Mac OSX ;) Install Mono, it'll probably run fine as is. Yes, if anyone is trying to run this on Mono, please send me any errors/missing dependencies, and I'll try to work around. None of my linux boxes have GUIs. I've also updated the underlying Bitcoin Tool (https://github.com/mb300sd/Bitcoin-Tool) library to support signing p2sh and multisig tx, so it should work here, but as of now its completely untested. |