Wie greife ich über mehrere Knoten auf alle Konten zu? JS/Web3.js/API

Ich betreibe ein privates Ethereum-Entwicklungsnetzwerk mit 3 Knoten, die miteinander verbunden sind. Bevor ich meine Frage stelle, etwas zu meinem Setup. So starte ich diese Knoten:

geth --networkid 2345 --datadir /some/dir/01 --rpc --rpccorsdomain "*" --rpcapi "db,net,web3,miner,eth,personal" --port "30301" --rpcport 8101 --maxpeers 2 --identity "MyChain01" console

Dies ist nur die Aussage für einen Knoten, die anderen haben unterschiedliche Portnummern.

Sobald alle Knoten hochgefahren sind, verbinde ich sie in der JavaScript-Konsole über:

admin.addPeer("enode:1234567890.....")

und beim laufen:

admin.peers

Ich bekomme die anderen Peers entsprechend. Wenn ich mit dem Mining auf einem Knoten beginne, werden die abgebauten Blöcke mit den anderen synchronisiert, sodass alles gut funktioniert.

Jetzt kommt hier meine Frage. Nehmen wir an, ich habe 2 Konten auf Node01, 2 Konten auf Node02 und 2 Konten auf Node03 erstellt. Wie könnte ich tatsächlich eine Transaktion über Knoten hinweg durchführen? Also von account1.node01 zu account1.node02?

Beim Laufen:

personal.listAccounts

Auf einem bestimmten Knoten erhalte ich nur die Konten, die auf genau diesem Knoten erstellt wurden.

Weiß jemand, ob es eine Lösung gibt, um von allen verbundenen Knoten auf alle Konten zuzugreifen? Vielleicht fehlt mir hier ein Trick, aber ich konnte nichts finden, was erklären würde, wie das geht.

Danke Borinho

Tolle Frage, sie klärt einen meiner größten Zweifel. Ich denke, Konten sind nicht "global", wie ich dachte. Ich habe mich gefragt, ob Sie mir Ihre Meinung zu meiner Frage mitteilen könnten (ich hoffe, es hängt damit zusammen): ethereum.stackexchange.com/questions/34964/…

Antworten (2)

für alle die sich vielleicht die selbe frage stellen wollte ich meine frage nach bestem wissen beantworten.

Was ich oben im Grunde beschrieben habe, ist das Konzept einer „Hot Wallet“. Da im obigen Beispiel das Konto direkt auf dem Knoten erstellt wird, werden alle Daten, Schlüssel usw. auf diesem Knoten gespeichert. Da Brieftaschen oder Container mit Schlüsseln nicht über Knoten hinweg kopiert werden sollten (und ich denke, auch nicht), ist die anfängliche Frage eigentlich sinnlos oder einfach falsch. Ein weiteres Problem ist, dass ich eigentlich zwei Fragen in einer gestellt habe.

Etwas von account1.node1 auf account1.node2 zu übertragen ist überhaupt kein Problem (innerhalb desselben Netzwerks). Einfach machen:

eth.sendTransaction({from:sender, to:receiver, value: amount})

Die andere Frage, die ich mir stellte, war so etwas wie ein Blockchain-Explorer. Über web3 auflisten, was im Netzwerk vor sich geht. Mit web3.js kann man alle Kontodaten auf jedem angegebenen Knoten abfragen, aber nicht alle Konten innerhalb einer bestimmten privaten Blockchain-Installation (es sei denn, jemand sagt mir etwas anderes).

Ich hoffe, das hilft irgendwann jemandem :)

Borinho

  1. Im Moment gibt es keine Möglichkeit, auf Ihr Konto auf einem anderen Computer zuzugreifen, ohne dort Ihre Schlüsseldateien hinzuzufügen. Das ist nicht sofort ein Risiko, da sie immer noch passwortgeschützt sind, aber ... Sie verstehen es.

  2. Aber es gibt eine Brain-Wallet ( https://github.com/ConsenSys/eth-lightwallet ). Was Sie damit machen können: Erstellen Sie spontan Konten und verwenden Sie sie, indem Sie sich einfach mit diesem Seed (bestehend aus 10 Wörtern, die durch ein spezielles Muster generiert werden) und einem Passwort identifizieren, das Sie jedes Mal wählen, wenn Sie das Konto in Ihrem Browser verwenden ( hat nichts mit einem Kontopasswort zu tun, da nur diese 10 Wörter zählen ;) ) Was Sie noch nicht tun können, ist, Ihre vorhandenen Brieftaschen in eine Gehirn-Brieftasche zu verwandeln.

Wenn Sie also ein Konto haben möchten, das Sie überall ohne Schlüsseldatei verwenden können, erstellen Sie einige Brain Wallets und hosten Sie die erforderlichen Skripte online, sodass Sie von überall darauf zugreifen können. und schreiben Sie natürlich diese 10 Wörter auf, da sie die Schlüssel jedes Mal spontan generieren, wenn Sie diese Brieftasche verwenden möchten.

  1. Um alle Guthaben aller Benutzer herauszufinden, würde eine Menge mathematischer Arbeit erforderlich sein (alle Übergänge verfolgen, den abgebauten Äther und so weiter bis vor langer Zeit).