3

My setup is simple, I have a laptop and a raspberry pi on the same network. I installed parity on my raspberry pi and successfully connected to it, e.g., with geth attach http://192.168.1.:8545. All is well, I can get the most recent block number through the geth console, so obviously, that parity node is working well! I also see no accounts under web3.eth.accounts, obviously because there's no keys on that parity node.

Now I'm about to setup Mist so it uses that rpi web3 provider, and see the following instructions on the mist github:

Connecting to node via HTTP instead of IPC

This is useful if you have a node running on another machine, though note that it's less secure than using the default IPC method.

$ electron . --rpc http://localhost:8545

How exactly is that setup less secure? My understanding (probably wrong), is that I'm only using that parity node to get latest blockchain info, and to broadcast transaction. None of the keys are even accessible from my parity node (rapsberry pi on same LAN in this case).

What I'm looking for is an experience where I can just open an app on my laptop, and I can transact and see blockchain info right away. There's no light wallet yet, so I feel like this setup with the raspberry pi remote node is the closest I can get. Maybe something more clever?

3

A couple of points you are circling here.

  • RPC vs. IPC: RPC is less secure because it is accessible via network, in this case via a HTTP socket. If you have no accounts on that node, that's just fine. In addition, you could also disable criticial APIs by running:

    parity --jsonrpc-apis=safe
    

    The IPC is a UNIX socket which is only accessible with certain operating system permissions. This is why usually ICP is safer than RPC.

  • You don't need to attach Mist to your Raspberry Pi 3. You can run parity with the following:

    parity --public-node --ui-interface=192.168.1.123 
    

    This will allow you to access the parity wallet via http://192.168.1.123:8180 (replace by your local IP). In this scenario, you neither need Geth nor Mist to monitor the blockchain.

  • Finally, you are saying you are looking for something like a light client which allows you to transact from your. This is something very different from what you initially explained in the first part of your question because transactions involve signatures and signatures involve accounts. You might wish to test out the nightly build of parity (1.7.0) from github and run the experimental light node on your laptop:

    parity --light
    

    Light clients synchronize a bare minimum of data and fetch necessary data on-demand from the network. Much lower in storage, potentially higher in bandwidth.

Disclosure: I work for Parity.

  • Thanks! Regarding the light client, what I meant to say is that that's the kind of user experience I'm looking for: whenever I open my laptop, I'm ready to transact, no need to sync anything. With my always-on raspberry pi, this should be possible, right? But my understanding is that it should be possible to achieve without ever having my private keys on the raspberry pi itself. I can keep my private key on my laptop, have the full blockchain with no key (but full client) on the raspberry pi, and then use that raspberry pi as a web3 provider. – Doghe11 Apr 19 '17 at 9:50
  • --public-node is exactly what you are looking for then. Account storage and transaction signing will be delegated to the wallet. Just test it yourself and create an account via browser and confirm that the private keys are not stored on the Pi but on your Laptop. – Afr Apr 19 '17 at 10:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.