Ist es möglich, das Ethereum Wallet mit einer entfernten Blockchain zu betreiben?

Um die Ethereum-Wallet auf einem kleinen Computer wie einem Telefon oder einem Netbook auszuführen, wäre es nützlich, einen leichten Client zu haben, der möglicherweise eine Verbindung zu einem gehosteten vollständigen Ethereum-Knoten herstellt. Ist dies derzeit möglich?

Antworten (3)

Ja, es ist möglich, dass Sie sich mit einem Remote-Knoten verbinden könnenweb3.js

web3 hinzufügen

  1. npm:$ npm install web3
  2. Laube:$ bower install web3
  3. Meteor:$meteor add ethereum:web3
  4. Vanille: verlinke diedist./web3.min.js

Dann müssen Sie eine web3-Instanz erstellen und einen Anbieter festlegen. Um sicherzustellen, dass Sie im Nebel nicht den bereits eingestellten Anbieter überschreiben, prüfen Sie zuerst, ob der web3 verfügbar ist:

if(typeof web3 !== 'undefined')
  web3 = new Web3(web3.currentProvider);
else
  // set the provider you want from Web3.providers
  web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));

Erstellen Sie eine Wallet-Adresse

ETH-lightwallet installieren

npm install ETH-lightwallet

Beispielcode zum Erstellen einer Brieftasche.

// generate a new BIP32 12-word seed 
var secretSeed = lightwallet.keystore.generateRandomSeed();

// the seed is stored encrypted by a user-defined password 
var password = prompt('Enter password for encryption', 'password');
lightwallet.keystore.deriveKeyFromPassword(password, function (err, pwDerivedKey) {

var ks = new lightwallet.keystore(secretSeed, pwDerivedKey);

// generate five new address/private key pairs 
// the corresponding private keys are also encrypted 
ks.generateNewAddress(pwDerivedKey, 5);
var addr = ks.getAddresses();

// Create a custom passwordProvider to prompt the user to enter their 
// password whenever the hooked web3 provider issues a sendTransaction 
// call. 
ks.passwordProvider = function (callback) {
  var pw = prompt("Please enter password", "Password");
  callback(null, pw);
};

// Now set ks as transaction_signer in the hooked web3 provider 
// and you can start using web3 using the keys/addresses in ks! 
});
Und wie? :-) ... obwohl es kein guter Stil ist, Ja/Nein-Fragen zu stellen, würde ich erwarten, mehr als ein "Ja" als Antwort zu finden, wenn ich auf diesen Thread stoße, der von einer Suchmaschine oder ähnlichem kommt.
@5chdn da gehst du .. :)

Es gibt eine Light-Client-Protokollseite im Ethereum-Wiki. Es beschreibt das allgemeine Konzept und schlägt einige Implementierungsdetails vor.

Ein Light-Client kann als ein Client betrachtet werden, der standardmäßig Block-Header herunterlädt und nur einen kleinen Teil dessen überprüft, was überprüft werden muss, indem er anstelle seiner lokalen Festplatte eine verteilte Hash-Tabelle als Datenbank für Trie-Knoten verwendet.

Die C++- und Go-Clients implementieren immer noch ein Light-Client-Feature. Es gibt Github-Probleme bei der Verfolgung des cpp-ethereum light client und des go-ethereum light client .

Derzeit können Sie dies nur erreichen, indem Sie sich mit der Json-RPC-API mit Geth verbinden. Es gibt verschiedene Bibliotheken, die den RPC und allgemeine Transaktionen mit Verträgen wie web3.js, der wichtigsten JavaScript-Bibliothek, oder Nethereum.Web3 für .Net vereinfachen.

Auf Nethereum finden Sie ein Beispiel für eine plattformübergreifende "Brieftasche", die diese Kommunikationsmethode verwendet. Nethereum-Geldbörse . Oder das sehr einfache Android Maker Sample

Mit web3.js sollten Sie in der Lage sein, dasselbe mit Cordova mit Ionic zu erreichen.

unterstützt NEthereum bereits Geths Lichtmodus, Juan?