Gibt es öffentliche/kostenlose Knoten, um ein Dapp-Frontend zu verbinden?

Ich habe eine kleine Dapp, die in Meteor (nur Client) geschrieben ist und einige Vertrags- und Kontoinformationen aus der Blockchain liest. Ich kann meinen Front-End-Code kostenlos auf meteor.com (oder einer Vielzahl anderer Orte) bereitstellen, aber ich brauche immer noch einen Knoten, mit dem ich mich verbinden kann.

Muss ich meinen eigenen Knoten hosten? Wenn ja, irgendwelche Empfehlungen? Ich verwende jetzt Digital Ocean $5 VPS und es ist wirklich sehr langsam.

Wenn nicht, gibt es kostenlose/öffentliche Optionen?

Antworten (3)

Sie können Infura als „Nur-Lese-/Signierte-Transaktionen -Knoten“ verwenden.

Die Nutzung der API ist kostenlos: https://infura.io

Sie können Ihren Benutzern empfehlen, die Metamask Browser-Erweiterung zu verwenden, um Transaktionen in Ihrer App signieren zu können.

Während dies die Frage theoretisch beantworten kann, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
@digitaldonkey Was macht es zu einem schreibgeschützten Knoten? Methoden wie eth_sendRawTransactionermöglichen es uns auch, neue Daten zu schreiben, richtig?
@Jeff Du hast Recht. Sie benötigen jedoch einen Transaktionssignierer (wie Metamask.io), um Transaktionen auf der Frontend-Seite zu signieren und in die Blockchain zu „schreiben“. Infura hat keine eth_coinbase, also können Sie es nicht verwenden, um unsignierte Daten zu "schreiben".
@digitaldonkey Guter Punkt. Vielleicht sollten wir es einen signierten Knoten nennen? :)
Noob-Frage von jemandem, der darum kämpft, all dies zu bekommen, aber wenn ich eine native App entwickle, kann der private Schlüssel Teil der nativen App und der von der App generierten Signatur sein, richtig? Ich meine, darüber hinaus würde ich in diesem Fall so etwas wie Metamask nicht brauchen, richtig?
@Sentinel Ja, einige Apps verwalten den Schlüssel für Sie.
Die Verwendung von infura hat mein Problem gelöst. Sie stellen einen Ethereum-Knoten bereit, auf den über das öffentliche Internet mit dem Standard-RPC von Ethereum zugegriffen werden kann.

Wenn Sie eine App in großem Maßstab bereitstellen, möchten Sie wahrscheinlich keinen bloßen Knoten. Sie möchten eine vollständige und leistungsfähige Web-API . Es sind mehrere verfügbar: Ich habe persönlich etherscan.io verwendet und war recht zufrieden damit.

Wenn es sich nur um ein Testprojekt handelt, ist es nicht so schlimm, einen eigenen Knoten zu erstellen. Wenn Sie jedoch eine der tatsächlichen Knotenfunktionen verwenden, z. B. Konten, können Sie nicht wirklich die . Und wenn Sie es nicht sind ... Web-API den ganzen Weg.

Die „Proxy“-API von Etherscan ist jedoch nicht mit JSON-RPC kompatibel, sodass Sie web3.js nicht darauf verweisen können.
Richtig, das ist mein zweiter fettgedruckter Punkt.
Solche Dinge verwirren mich bei Ethereum – ich dachte, der springende Punkt wäre Dezentralisierung, aber es scheint, wenn Sie eine verteilte Anwendung entwickeln möchten, müssen Sie immer noch zu Azure oder etwas anderem gehen, um einen Knoten zu hosten. Ich habe das Gefühl, dass mir etwas fehlt.
@Sentinel Sie müssen nicht durch Azure oder AWS gehen, um einen Knoten zu hosten, Sie können immer Ihren eigenen Knoten auf Ihrem eigenen Metall hochfahren, es ist nur eine Nervensäge.

AFAIK Mist soll Ihnen den Zugriff auf einen lokalen Knoten ermöglichen (die offizielle Ethereum-Wallet ist ein vollständiger Knoten), aber ich weiß nicht, ob es noch funktioniert.

Eine Alternative wäre zB MetaMask (in Alpha).

Ja, ich habe kein Problem damit, einen Knoten lokal zu betreiben, aber ich kann/will meinen PC nicht rund um die Uhr laufen lassen, um einen Dapp mit Strom zu versorgen. Ich habe mich für Updates von MetaMask angemeldet.
Hinweis MetaMask ist ein web3js-Wrapper, der eine Verbindung zu Infura herstellt.