To run the Ethereum Wallet on a small computer like a Phone or a Netbook it would useful to have a light client, possibly that connects to a hosted full Ethereum node. Is this currently possible?
[Ethereum] Is it possible to run the Ethereum Wallet with a remote Blockchain
light-clientsnodeswallets
Related Solutions
An 'Ethereum client' is just a term. It refers to any node able to parse and verify the blockchain, its smart contracts and everything related. It also allows you/provides interfaces to create transactions and mine blocks which is the key for any blockchain interaction.
Official reference implementations (CLI)
There are currently three reference implementations available, as you already highlighted:
Aleth
- C++ client: https://github.com/ethereum/aleth. (It was formerly known ascpp-ethereum
: https://github.com/ethereum/webthree-umbrella)Geth
- Golang client of thego-ethereum
project: https://github.com/ethereum/go-ethereumTrinity
- Python client: https://github.com/ethereum/trinity
All clients should work the same, from the user's perspective. They provide the same interfaces and so on. For example, if you launch a DApp or the Ethereum Wallet or a DApp browser instance, it should not note any difference in communicating with the client.
Third party implementations (CLI)
Non-official clients implementing the yellow paper specification are:
Besu
- (ex-Pantheon
) Java client by PegaSys: https://github.com/hyperledger/besuEthereumJ
- Java client by the ether.camp team: https://github.com/ethereum/ethereumjEthereumJS VM
- Javascript Ethereum Virtual Machine: https://github.com/ethereumjs/ethereumjs-vmMana
- Elixir by POA Network - https://github.com/mana-ethereum/manaMinimal
- Go client by umbracle - https://github.com/umbracle/minimalNethermind
- C# / .NET by NethermindParity Ethereum
- Rust client by Parity Technologies : https://www.parity.io/ethereum/
Third party implementations (GUI)
Non-official clients with a graphical user interface are:
Etherwall
, a Qt client like the good ol' bitcoin clients: https://github.com/almindor/etherwall
Deprecated or abandoned projects:
Official reference implementations (CLI):
Pyethapp
- (pyethapp has been deprecated
) Python client of thepyethereum
project: https://github.com/ethereum/pyethapp
Graphical clients:
AlethZero
(Alethzero has been deprecated
): https://github.com/ethereum/alethzeroMist Browser
(Mist and Ethereum Wallet have been deprecated
): https://github.com/ethereum/mist
Third Party clients:
ethereumH
- Haskell client from consensys, but it's not developed anymore: https://github.com/jamshidh/ethereum-client-haskell (project has not been updated in a long time)node-blockchain-server
- simple Javascript server: https://github.com/ethereumjs/node-blockchain-server (project has not been updated in a long time)ruby-ethereum
- Ruby client: https://github.com/janx/ruby-ethereum (project has not been updated in a long time)
NOTE: all clients are listed in alphabetical order.
Best Answer
Yes it is possible you can connect to a remote node using
web3.js
Adding web3
$ npm install web3
$ bower install web3
$meteor add ethereum:web3
dist./web3.min.js
Then you need to create a web3 instance, setting a provider. To make sure you don't overwrite the already set provider when in mist, check first if the web3 is available:
Create a Wallet Address
Install ETH-lightwallet
npm install ETH-lightwallet
sample code to create a wallet.