Author Topic: Will the Rasberry Pi A+ with 256MB run the current BitShares Wallet...?  (Read 2369 times)

0 Members and 1 Guest are viewing this topic.

Offline bytemaster

The code will run on ARM (it is built on a framework that I have used on ARM before).

The off line wallet will require much less RAM so we should be good.

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline pseudoscops

Does the raspberry pi include a swap space? Cause if it does RAM isn't really an issue, I run a seednode with 512mb RAM just fine, think I set the swap to 2GB for it.

Compiling it is another issue though, I stopped trying to compile on that server a long time ago cause it was running out of memory and was extremely slow.

I've set up Arch Linux for Arm before on an SD card and so I guess the swap partition could be 2GB if the SD card used is big enough. Perhaps as drltc mentioned I could try and compile with qemu-arm-static and then try and run on the Pi - though 256MB might be pushing it. I've just got on the beta for http://labs.online.net/try-it dedicated ARM servers with 2GB of RAM and so I could perhaps try it out there first before actually buying hardware.

What you really want is to back up your wallet onto a flash drive.

I guess I wanted to be able to easily trade whilst on the move and a backed up wallet wouldn't really allow me to do that easily. A Pi/ARM machine would let me WiFi tether with my phone and then I could VNC in to it using the same phone for input. Perhaps I'm over complicating, perhaps the easiest and cheapest solution is a bootable linux flash drive. I've used a few in the past. Only one that always seemed to boot on any hardware without fail was Puppy Linux - perhaps that would be a good candidate.

Could boot to it on my Macbook Air when I have it with me or from someone else's hardware if I don't.


@drltc Thanks for taking the time to address all the questions I asked. Thanks to others who've tried to help too. As I suspected the password is stored locally, makes total sense now that you've spelled it out to me. The security measure of creating a new TITAN account and transferring funds if wallet is lost makes me feel a lot happier about carrying a wallet around with me. Obvious really, I just didn't think about it. I guess that's one of the great benefits of what is effectively a disposable bank account!


Offline svk

Does the raspberry pi include a swap space? Cause if it does RAM isn't really an issue, I run a seednode with 512mb RAM just fine, think I set the swap to 2GB for it.

Compiling it is another issue though, I stopped trying to compile on that server a long time ago cause it was running out of memory and was extremely slow.
Worker: dev.bitsharesblocks

Offline theoretical

Will the current wallet build and run on ARM based hardware?

ARM is not a supported configuration.  It might work, it might not.  As far as I know, none of us and no community member has attempted an ARM build; you'd be the first person to try.

And if so can I run it on the new Pi Model A+:

There is far too little RAM for the current client.  As bytemaster said, we're planning some lighter tools but they aren't ready to go right now.  When the tooling is in place, I plan on testing Raspberry Pi based cold storage.

If the Pi A+ is not up to the job (256MB of RAM) then what spec do I need to be looking for?

I'm not sure if we have an official recommendation for amount of RAM, but we know that 2 GB seems to be too low.  You might be able to run the CLI wallet only with 4 GB, but 8 GB or more would be better.

I'm really keen to run my wallet on ARM based hardware.

Before buying hardware, you might want to look into qemu-arm-static which will allow you to chroot into an ARM-based Linux environment on x86.  If you can get the client to compile and run on an emulated ARM machine, odds are good it will work on real hardware.

The reason I want two machines is that I'd like to have one that I carry with me when traveling etc and one that I have permanently at home for easy access if the other one is lost.

What you really want is to back up your wallet onto a flash drive.

Obviously I password protect my wallet at the moment (in fact I think it's required with the new BitShares client). I'd like to password protect my two new wallets with exactly the same password. But I'm unsure for certain how the passwords work - I'm guessing the password does not live on the blockchain. Can anyone confirm? So if I lost one of my new A+ Pi wallets (assuming they can be used) am I right in thinking that if I changed the password on the one I didn't loose then the lost wallet would still retain the old password? I guess what I'm getting at is that a lost wallet cannot have it's password remotely changed via the blockchain. The password is local and stored with the instance of the wallet correct?

Any clarity someone can shine on my lack of understanding here would be most helpful.

The password is not stored anywhere, rather it is used to encrypt the wallet on the local hard drive.  There is no way to change the password remotely; the only way to change it is to use the client to decrypt your wallet with the old password and re-encrypt it with a new password.

On the bright side, if someone steals your traveling computer with your wallet file, it is useless unless they also know or can guess your password.  If this happens, I'd recommend creating a new TITAN account with a new client data directory, then transferring all your funds from the old account to the new account.  That way, if the thief eventually guesses your password, the old private keys will be useless since they no longer control any funds.

I'd recommend doing frequent wallet backups to multiple removable media devices which you keep in multiple geographic locations until we have better tools for cold storage and lightweight clients.
BTS- theoretical / PTS- PZxpdC8RqWsdU3pVJeobZY7JFKVPfNpy5z / BTC- 1NfGejohzoVGffAD1CnCRgo9vApjCU2viY / the delegate formerly known as drltc / Nothing said on these forums is intended to be legally binding / All opinions are my own unless otherwise noted / Take action due to my posts at your own risk

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
For offline signing you require the power to sign with ECC .. everything TITAN and blockchain required should IMHO be part of the raw/unsigned transaction ..
@bytemaster: please correct me if I am wrong here

Offline pseudoscops

Okay thanks. Could I build on ARM and run if I the ARM machine had enough RAM? This has 2GB:

http://www.hardkernel.com/main/products/prdt_info.php?g_code=G141351880955[/url]

Also what are people's thoughts about keeping a wallet on a dedicated server in the cloud as an alternative? My gut tells me that this is a bad idea, but if access was restricted by IP then I suppose it could be pretty safe if only using public key access.

Offline is obviously even safer though.

Anyone care to take a stab at answering the question on passwords from my OP?

« Last Edit: November 17, 2014, 11:27:24 pm by pseudoscops »

Offline bytemaster

But it wouldnt be ram-intensive to just have an air-gapped sign-only wallet would it? i.e. download the blockchain on another machine, create a transaction using a watch-only wallet and get the raspberry pi to scan the transaction's QR code and sign it. That would be awesome.

That is possible and the tools exist (almost) to do this.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline speedy

  • Hero Member
  • *****
  • Posts: 1160
    • View Profile
  • BitShares: speedy
But it wouldnt be ram-intensive to just have an air-gapped sign-only wallet would it? i.e. download the blockchain on another machine, create a transaction using a watch-only wallet and get the raspberry pi to scan the transaction's QR code and sign it. That would be awesome.

Offline bytemaster

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline pseudoscops

I want to have two portable BitShares wallets that I keep offline when not in use and that are not used for any other computing tasks.

Will the current wallet build and run on ARM based hardware? And if so can I run it on the new Pi Model A+:


https://www.modmypi.com/shop/raspberry-pi-model-a-plus


I've installed and built http://archlinuxarm.org/ on an old B Pi, but I'm using that for something else. The reason I ask is I remember reading somewhere about someone struggling to get the wallet to run in anything with less than 2GB in linux (it might even perhaps have been less than 4GB of RAM). If the Pi A+ is not up to the job (256MB of RAM) then what spec do I need to be looking for? I'm really keen to run my wallet on ARM based hardware.

The reason I want two machines is that I'd like to have one that I carry with me when traveling etc and one that I have permanently at home for easy access if the other one is lost. Obviously I password protect my wallet at the moment (in fact I think it's required with the new BitShares client). I'd like to password protect my two new wallets with exactly the same password. But I'm unsure for certain how the passwords work - I'm guessing the password does not live on the blockchain. Can anyone confirm? So if I lost one of my new A+ Pi wallets (assuming they can be used) am I right in thinking that if I changed the password on the one I didn't loose then the lost wallet would still retain the old password? I guess what I'm getting at is that a lost wallet cannot have it's password remotely changed via the blockchain. The password is local and stored with the instance of the wallet correct?

Any clarity someone can shine on my lack of understanding here would be most helpful.