Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Tritonio on August 28, 2010, 08:13:09 PM



Title: BitcoinPortable (Portable Bitcoin wrapper)
Post by: Tritonio on August 28, 2010, 08:13:09 PM
I had been running bitcoin from my external hard drive for some time and carry it around to other computers too.
I used the a batch file I had made based mostly on instructions given by other users of this forum. I ha also added some basic backup capabilities.

Today I decided to make a proper wrapper for a portable Bitcoin installation. I hope that nobody else has made one already...

I used AutoIt3 to write it. Here are the basic features:

1. It runs portably. (wow!)
2. It creates gzipped backups of your wallet every time you run it.
3. It launches correctly no matter what the working directory is.
4. It shows a progressbar with an ETA of when the Bitcoin window will appear while it's loading. (based on time it took the previous time)
5. Option to add custom command line parameters.
6. Encryption support using GPG. The wallet gets encrypted between runs of BitcoinPortable.
7. It can send all your balance to another address every hour.

Changelog:
 1: Initial version.
 2: Renames the startup link, starts Bitcoin, waits 10 seconds, deletes any new startup link, renames back the old link.
 3: Bincoin is now set to idle priority after ten seconds for a faster startup (it was 0 seconds after it's window appeared)
    StartupTime is now the average of it's previous value and the new startup time. (50-50 ratio)
    UPnP support. (using UPnPPW, a closed source :( command line UPnP port forwarder which has to be manually downloaded)
    Encryption support using GPG. The wallet gets encrypted between runs of BitcoinPortable.
    Compression handled by GPG when the wallet is encrypted.
    Downloads a the blockchain from a server if it doesn't exist, to save time.
    It can send all your balance to another address every hour.
    Option to add custom command line parameters.
    First time wizard added.
 4: Fixed a bug where gpg keyrings and other files were left behind.
 5: No longer lowers the priority of the Bitcoin process.
    The blockchain feature needs Bitcoin v0.4 to work.
 6: Compatible with the qt version.

Instructions:
Just run it. It has a first time wizard that will help you.

Tell me what you think. Suggestions are most welcomed.

Download version 6:
Source code + EXE (https://bittit.info/publicDro/BitcoinPortable.zip)
Ready 2 Run version (contains Bitcoin 0.4.0 and blockchain) (https://bittit.info/publicDro/BitcoinPortableR2R.exe) (out of date for now)


Title: Re: PortableBitcoin (wrapper)
Post by: snrlx on August 28, 2010, 08:41:02 PM
Wow. Awesome. I was just about to see if anybody had made this and then this popped up in my face. Once I get me some Bitcoins I'll see about tipping you.


Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on August 28, 2010, 09:04:48 PM
Wow. Awesome. I was just about to see if anybody had made this and then this popped up in my face. Once I get me some Bitcoins I'll see about tipping you.

No worries, a bug report or a suggestion is better than a tip. ;-)

Which version did you try?


Title: Re: PortableBitcoin (wrapper)
Post by: Anonymous on August 29, 2010, 08:07:46 AM
Nice! 10 bitcoins for you good sir!

One more step closer to running bitcoin on my mobile. ;D


I just bought a usb drive from here - https://www.ironkey.com/personal (https://www.ironkey.com/personal) it has its own browser on the usb drive so I can now fully use bitcoin with military grade cryptographic protection . :) Now if someone tries to access my bitcoin 10 times with an incorrect password it wipes everything.....
   :D


Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on August 29, 2010, 08:38:22 AM
Nice! 10 bitcoins for you good sir!
Thank you very much! :-D
I just bought a usb drive from here - https://www.ironkey.com/personal (https://www.ironkey.com/personal) it has its own browser on the usb drive so I can now fully use bitcoin with military grade cryptographic protection . :) Now if someone tries to access my bitcoin 10 times with an incorrect password it wipes everything.....
   :D
Aaah the ironkey. I always wanted one of these. How does it ask for the decryption keys when you plug it? I suppose that it is reconized as a read only medium containing the unlocking software and then after it autoruns and you type the pass, it switches to a regular USB flash drive. Am I right?


Title: Re: PortableBitcoin (wrapper)
Post by: Anonymous on August 29, 2010, 09:26:55 AM
Nice! 10 bitcoins for you good sir!
Thank you very much! :-D
I just bought a usb drive from here - https://www.ironkey.com/personal (https://www.ironkey.com/personal) it has its own browser on the usb drive so I can now fully use bitcoin with military grade cryptographic protection . :) Now if someone tries to access my bitcoin 10 times with an incorrect password it wipes everything.....
   :D
Aaah the ironkey. I always wanted one of these. How does it ask for the decryption keys when you plug it? I suppose that it is reconized as a read only medium containing the unlocking software and then after it autoruns and you type the pass, it switches to a regular USB flash drive. Am I right?


Yes except the password keys are protected from brute-forcing using hardware based encryption.


Title: Re: PortableBitcoin (wrapper)
Post by: FreeMoney on August 29, 2010, 01:42:49 PM
Nice! 10 bitcoins for you good sir!

One more step closer to running bitcoin on my mobile. ;D


I just bought a usb drive from here - https://www.ironkey.com/personal (https://www.ironkey.com/personal) it has its own browser on the usb drive so I can now fully use bitcoin with military grade cryptographic protection . :) Now if someone tries to access my bitcoin 10 times with an incorrect password it wipes everything.....
   :D


That seems overkill, is it not possible to lock it out for a week or something after 10 tries? It would be cool if you had multiple safe and it could send your coins on the Nth false pword then let the attacker in to see there are no coins. Eh, maybe bad if new coins were coming in.


Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on August 30, 2010, 05:29:24 PM
Hello! I have the next version ready and I am testing it now. Here is the current changelog:

1. Bincoin is now set to idle priority after ten seconds for a faster startup (it was 0 seconds after it's window appeared)
2. StartupTime is now the average of it's previous value and the new startup time. (90-10 ratio)
3. UPnP support. (using UPnPPW, a closed source :( command line UPnP port forwarder)
4. Encryption support using GPG. The wallet get encrypted between runs of BitcoinPortable
5. Compression handled by GPG when the wallet is encrypted.

Any more ideas? Some kind of autoupdate or blockchain download?


Title: Re: PortableBitcoin (wrapper)
Post by: vess on August 30, 2010, 05:38:37 PM
What about autosend to an address? That way it could run uninterrupted somewhere and end up in a main account.


Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on August 30, 2010, 10:03:03 PM
What about autosend to an address? That way it could run uninterrupted somewhere and end up in a main account.

It can be done but why would that be a useful feature for a portable wrapper?  :-\ I could make it another script though. Install bitcoin somewhere and then run this script.
You can already do this I think with a scheduled task and the bitcoind.exe. (you'll have to enable the JSON API though)


Title: Re: PortableBitcoin (wrapper)
Post by: Anonymous on August 30, 2010, 11:21:35 PM
What about autosend to an address? That way it could run uninterrupted somewhere and end up in a main account.

It can be done but why would that be a useful feature for a portable wrapper?  :-\ I could make it another script though. Install bitcoin somewhere and then run this script.
You can already do this I think with a scheduled task and the bitcoind.exe. (you'll have to enable the JSON API though)

That would be a nice feature.


Title: Re: PortableBitcoin (wrapper)
Post by: vess on August 31, 2010, 02:44:09 AM
I have the analog right now for my linux boxen, although it's on an internet share: uncompress the client, set up the config file properly, install a recent block set, get the optimal configuration up and running, and cron a job to send me any generated coins. I call it my botnet script, although sadly for me, I own all the bots it runs on. : ).

If I administered a whole bunch of windows machines, I would want a similar solution is my point.



Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on August 31, 2010, 04:42:33 PM
Version 3 is out. :-) I hope it works, I hope you like it. :-)

A bug I have no idea how to fix is that if you select the encrypted wallet and you shutdown the system, it will not be encrypted, it won't cause any trouble, it just won't be encrypted that time.

I updated the initial post. Check it for download links and features...


Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on September 01, 2010, 10:35:06 AM
Doh! I found a stupid bug that appeared when you run it with a different working directory than the one where it existed. It would say that it cannot decrypt your wallet (scary) but you could anyway decrypt it with GPG directly. >:( I fixed it and I am uploading the new versions (it'll take 15min)


Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on October 18, 2010, 11:44:40 AM
Just fixed another bug where some GPG files where left in a parental directory.


Title: Re: PortableBitcoin (wrapper)
Post by: pharaon on December 07, 2010, 12:08:04 PM
how to set bitcoin.exe to use "bitcoin.cfg" with your "PortableBitcoin" ?



Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on December 30, 2010, 05:39:28 PM
The first time you run the wrapper it will guide you through a setup process. I think that the final step allows you to define extra parameters to be passed to bitcoin.exe. I don't know if what you try to do can be done via extra parameters though.

Also there might be problems since I use a specific configuration file so that the wrapper can communicate with the client.

If you still have problems tell me and I'll take a better look trying to find a solution.


Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on September 28, 2011, 12:19:34 AM
Some minor changes in version 5. Download links remain the same.
; 5: No longer lowers the priority of the Bitcoin process.
;    The blockchain feature needs Bitcoin v0.4 to work.

I updated the R2R version too but it will take quite some time to upload. This blockchain is HUGE!!!

PS: Someone made this too: https://bitcointalk.org/index.php?topic=18870.0 (https://bitcointalk.org/index.php?topic=18870.0)


Title: Re: PortableBitcoin (wrapper)
Post by: Transisto on September 29, 2011, 02:49:47 AM
I don't understand what's the point of sending btc to another address every hours.

Also the link when tweeting is github 404


Title: Re: PortableBitcoin (wrapper)
Post by: BurntSnow on September 29, 2011, 08:28:33 AM
Mac support?


Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on October 01, 2011, 10:35:01 AM
I don't understand what's the point of sending btc to another address every hours.

Also the link when tweeting is github 404

When the Bitcoin client could mine for Bitcoins someone asked for this feature so that he could run it on a computer and have all mined coins sent to his main wallet. Now I suppose it's only useful as a redirect.

You are right about the link. I removed paywithatweet for now.


Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on October 01, 2011, 10:47:41 AM
Mac support?

1. How often do you go to another mac with your flash drive, needing to run Bitcoin? Generally I don't think portable apps have any point on platforms other than windows.

2. It's written in AutoIt3, so it can't be used naivelly on Mac or Linux.

3. I don't have any Apple product and neither do I intent to buy one ;D so I can't even test it.

I suppose that a bash script wrapper for Linux could work on mac too but we are talking about making it from scratch in another language which I also dislike (Bash scripts)... The code is open though so if someone wants to convert it somehow. I know that for Linux a similar language to AutoIt3 is AutoHotkey which works both on Linux and Windows, don't know about Mac though.


Title: Re: PortableBitcoin (wrapper)
Post by: Tritonio on November 27, 2011, 09:32:59 PM
Version 6 is out and supports the new GUI which broke the old version. R2R version is not ready yet. I will update the post when I make it.  :)


Title: Re: PortableBitcoin (wrapper)
Post by: btc_artist on November 28, 2011, 05:29:47 AM
Looks useful, watching.