Die web3.js ist die einfachste und vielleicht die Standardmethode der DAPP-Erstellung. Ab sofort sind zwei Anbieter möglich, HttpProvider und IPCProvider. Der HttpProvider nimmt die Adresse, unter der der Server läuft, das kann so etwas sein
var Web3 = require('web3');
var web3 = new Web3();
web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));
// or it can be http://m.n.k.l:8545
Meine Frage ist, ob der Server-Hosting/Knoten ausgefallen ist, wie kann der Client darauf zugreifen? In solchen Fällen ist die gesamte dapp ausgefallen. Was ist dann der Sinn, es Dapp zu nennen?
Ist mein Verständnis richtig, einen einzelnen Server als Anbieter zu haben?
Nicht alle Dapp-Ersteller hosten ihren eigenen Server / einen Knoten, der in RPC läuft. Wie würde der Ersteller in solchen Fällen eine Knotenadresse kennen?
Das localhost:8545
in Ihrem Beispiel zeigt an, dass die DApp Anforderungen an einen Knoten sendet, der lokal auf dem Computer des Benutzers ausgeführt wird. Oft besteht das Paradigma darin, nach einem lokalen RPC-Server zu suchen und, falls dieser nicht vorhanden ist, einen öffentlichen Knoten als Fallback zu verwenden (vorausgesetzt, die DApp führt die Schlüsselverwaltung im Browser durch – andernfalls benötigen Sie einen lokalen Knoten, um die Schlüssel zu speichern). .
web3.js oder andere Clients kommunizieren mit einem Knoten, den Sie eingerichtet haben. In diesem Fall wird der Knoten ausgeführt localhost:8545
und die App kommuniziert mit diesem Port, um Daten in diesem Knoten abzurufen. Jeder Knoten hat die gleiche Kopie der Daten, daher gibt es keinen zentralen Server und überhaupt keine Ausfallzeiten (das ist der springende Punkt der Blockchain).
Wenn Sie sich Sorgen über die Ausfallzeit eines einzelnen Servers machen, müssen Sie möglicherweise aus Ihrer Anwendungsperspektive denken. Sie können zwei oder mehr Knoten einrichten, um Ausfallzeiten und andere infrastrukturbezogene Probleme zu vermeiden.
In meinem Fall habe ich beispielsweise 3 Linux-VMs für die Geth-Instanz und einen Windows-Server für das Anwendungshosting und andere DB-bezogene Aktivitäten eingerichtet.
q9f
Niksmac
q9f
Niksmac