Zum Inhalt springen

Lohnt sich das aufsetzen einer Ethereum Full Archival Node?


GhostTyper

Empfohlene Beiträge

Hallo Forum,

vor langer Zeit hat mir Christoph Bergmann auf die Frage, was man der Crypto-Welt gutes tun könnte geantwortet, dass ich ja eine Ethereum Full Archival Node hosten könnte. Leider habe ich jetzt erst Zeit für ein neues "Hobby-Projekt".

Da einige Zeit vergangen ist nun meine Frage: Würde sich so etwas (Ethereum Full Archival Node) heute noch "lohnen" (hilft das wem, etc.)? Gibt es vielleicht "lohnenderes"?

Wenn ich so eine Node aufsetzen würde, würde ich mich auch daran versuchen einen Blockchain-Explorer oder irgend eine andere Applikation zu entwickeln. Bei anderen Vorschlägen würde ich entsprechend etwas anderes, dass dazu passt "zum Lernen" finden.

Vielen Dank für Euren Input.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Kein Mensch,

ich habe 2017 bis Mitte 2018 eine sehr große IRI Node betrieben und auch eine Webseite mit Live-Statistiken (woher kommen die Nutzer, wie viel Traffic benötigt die Node-zu-Node Kommunikation oder die API, etc.) dazu entwickelt. Später (als IRI extrem instabil wurde, weil der letzte Snap-Shot schon so lange her war und die meisten Leute VPS mit zu wenig Leistung verwendet haben) habe ich dann auch Offline-Snapshots der Datenbank zur Verfügung gestellt.

Ich habe die Node schließlich aufgegeben, als ich erkannt habe, dass das damalige Konzept wahrscheinlich nicht wie prognostiziert funktioniert und es unwahrscheinlich wird, dass der Coo jemals abgeschafft werden kann ohne signifikante Änderungen an IOTA.

Ich habe den IOTA Discord verlassen als "Q" so gehyped wurde und noch keiner wusste, was das eigentlich ist. Seither habe ich nicht mehr wirklich verfolgt wie es mit IOTA weiter gegangen ist. Ist der Coordinator mittlerweile abgeschaltet? (Rhetorische Frage.)

Da es mir im Prinzip egal ist, in welches Projekt ich meine Zeit investiere - es nur Leuten nutzen sollte oder sonstwie relevant sein sollte - kann ich mir trotzdem vorstellen so eine Node aufzusetzen. Wenn Dich mein Denken über IOTA nicht abgeschreckt hat würde ich mich sehr gerne mit Dir darüber unterhalten.

Weiterer Input andere Projekte betreffend ist immer noch gerne gesehen.

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 22 Stunden schrieb GhostTyper:

Würde sich so etwas (Ethereum Full Archival Node) heute noch "lohnen" (hilft das wem, etc.)?

Für die Gemeinschaft würde sich das lohnen. Die Anforderungen an eine Full Archival Node sind inzwischen so stark angestiegen, dass man dafür schon einen Server mit mehreren TB an SSD Speicher benötigt. Macht natürlich nur Sinn wenn auch genug Bandbreite vorhanden ist um die Node auch der Allgemeinheit zur Verfügung zu stellen. Falls nicht, würde auch eine normale Full Node reichen.

vor 22 Stunden schrieb GhostTyper:

Gibt es vielleicht "lohnenderes"?

Darf ich dich zusätzlich für Storj begeistern? Wir haben Bedarf an weiteren Storage Nodes und dein Hobby können wir auch etwas fördern. Ich gehöre eher zu der weniger kreativen Sorte daher fällt mir spontan nichts ein. Genug Möglichkeiten gibt es aber sicherlich.

Edit: Huch jetzt habe ich glatt vergessen zu erwähnen, dass ich für Storj arbeite und daher als Befangen einzustufen bin. Das bitte im Hinterkopf behalten.

Bearbeitet von skunk
  • Haha 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo battlecore,

Minen lohnt sich für mich in den meisten Fällen nicht, da ich nur viel CPU, RAM und Bandbreite habe, nicht aber Grafikkarten oder andere spezielle Hardware.

Ich kenne mich mit Ethereum nicht so gut aus. Was würde das laufen lassen von Wallets denn bringen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Stunden schrieb GhostTyper:

Hallo Kein Mensch,

ich habe 2017 bis Mitte 2018 eine sehr große IRI Node betrieben und auch eine Webseite mit Live-Statistiken (woher kommen die Nutzer, wie viel Traffic benötigt die Node-zu-Node Kommunikation oder die API, etc.) dazu entwickelt. Später (als IRI extrem instabil wurde, weil der letzte Snap-Shot schon so lange her war und die meisten Leute VPS mit zu wenig Leistung verwendet haben) habe ich dann auch Offline-Snapshots der Datenbank zur Verfügung gestellt.

Ich habe die Node schließlich aufgegeben, als ich erkannt habe, dass das damalige Konzept wahrscheinlich nicht wie prognostiziert funktioniert und es unwahrscheinlich wird, dass der Coo jemals abgeschafft werden kann ohne signifikante Änderungen an IOTA.

Ich habe den IOTA Discord verlassen als "Q" so gehyped wurde und noch keiner wusste, was das eigentlich ist. Seither habe ich nicht mehr wirklich verfolgt wie es mit IOTA weiter gegangen ist. Ist der Coordinator mittlerweile abgeschaltet? (Rhetorische Frage.)

Da es mir im Prinzip egal ist, in welches Projekt ich meine Zeit investiere - es nur Leuten nutzen sollte oder sonstwie relevant sein sollte - kann ich mir trotzdem vorstellen so eine Node aufzusetzen. Wenn Dich mein Denken über IOTA nicht  abgeschreckt hat würde ich mich sehr gerne mit Dir darüber unterhalten.

Weiterer Input andere Projekte betreffend ist immer noch gerne gesehen.

Ja, diese Probleme waren bekannt und vieles wurde zwischenzeitlich behoben und besser gemacht. 

Eine Permanode ist auch etwas anderes als eine IRI Node.  Sie dient zum speichern von Daten. Snapshot unabhängig. 

Der Coo der Mainnetzes ist noch nicht durch, soll aber in nicht allzu ferner Zukunft durchgehen.

Lösungsansätze sind fast fertig, Testphasen laufen gerade.

Bearbeitet von Kein Mensch
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Kein Mensch,

diese Link-Sammlung hilft mir leider nicht besonders. Mit den Basics kenne ich mich wie oben bereits geschrieben aus. Ich hab' mir jetzt mal angeguckt, wie man eine Permanode mit Chronicle aufsetzt. Meiner Erfahrung nach wollen Leute für Daten leider nichts bezahlen, die sie auch einfach so downloaden können. (Meine Spenden-Adresse hat damals nur knappe 3 Mi "eingenommen" für über 2500 Downloads der Datenbank durch Spenden auf freiwilliger Basis.) Würde ich so eine Node also anbieten, dann unentgeltlich und somit das zukünftige Geschäft anderer Leute kaputt machen.

Ich habe jetzt Mal eine Storj-Storagenode aufgesetzt. Ich bitte trotzdem noch um weitere Vorschläge, was ich tun könnte. Vielleicht gibt es noch den einen oder anderen Vorschlag.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 13 Stunden schrieb GhostTyper:

Hallo battlecore,

Minen lohnt sich für mich in den meisten Fällen nicht, da ich nur viel CPU, RAM und Bandbreite habe, nicht aber Grafikkarten oder andere spezielle Hardware.

Ich kenne mich mit Ethereum nicht so gut aus. Was würde das laufen lassen von Wallets denn bringen?

Da wäre Monero geeignet. Der wird Ende November auf einen reinen CPU-Algorithmus namens RandomX umgestellt.

Wenn du einen Ryzen 7 3700X oder mehr hast dann biste vorn mit dabei. Zwei Ram-Riegel wegen Speicherbandbreite sind ratsam.

Und Large Pages / Hughe Pages im Betriebssystem aktivieren damit die CPU voll genutzt wird.

XMRig als Miner ist schon gut vorbereitet.

Zieht etwa 135-150 Watt aus der Steckdose mit Ubuntu. Mit Windows 10 etwa 15 Watt mehr.

Die CPU sollte gute Kühlung haben und wenn ein kleiner Zusatzlüfter auf die Spannungswandler des Boards pustet wärs gut. Die Spannungswandler sind bei AMD-Systemen um die CPU-Sockel rum, die kleinen schwarzen Chips, so 10 Stück oder mehr. Bessere Boards haben da einen grossen Kühlkörper drauf.

An sich simpel, bei Fragen einfach fragen.

Bearbeitet von battlecore
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo battlecore,

ich habe leider keine AMD-Hardware. Allerdings habe ich noch ungefähr 85 Cores Intel Xeon Gold 6146 und 700 GB RAM frei die sowieso bezahlt sind. Hast Du mir einen Link zu einem guten Tutorial (eines, welches mir auch sagt, wie ich die einzelnen Mining-Prozesse gut dimensioniere, bzw. Erfahrungswerte angibt)? Leider müsste ich dafür auch ein Wallet aufsetzen, etc. und habe davon noch keine Ahnung.

Fragen, die sich mir direkt nach kurzem anlesen stellen:

  1. Ist die Software idr. so, dass sie dann am 30.11. automatisch auf RandomX umstellt oder muss ich dort dann noch etwas manuell machen?
  2. Ich würde gerne solo-mining mit dem cli-wallet probieren. Betreffend Frage 1: Müsste das Offizielle Wallet hierfür schon alles bieten? (Ich habe gelesen, dass diesen Monat die Update-Phase ist, daher nehme ich an, die Wallet ist hier schon passend? Oder muss ich dann am 30.11. die Software nochmals updaten?)
Bearbeitet von GhostTyper
+Fragen
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 20.11.2019 um 16:40 schrieb Christoph Bergmann:

Probier' doch mal einfach, wie lange der Ethereum Archival Node synchronisiert. Bin gespannt :)

Allrighty, then.

Ich kenne mich mit Ethereum nicht so aus und hoffe, dass ich alles richtig gemacht habe, nachdem ich mich jetzt kurz eingelesen habe.

Die Node läuft unter den Standard-Ports auf eth-archive.intb.io mit nur der eth-API aktiviert. (HTTP-RPC und WebSocket-API.) Wenn hier andere APIs nötig sind muss man mir das sagen. :D

Synchronisation hat begonnen um 16:39 CET am 21.11.2019.

Ich gebe Bescheid, wenn diese fertig ist. Ich nehme auch gerne Wetten an. Im Internet steht, dass die Synchronisation Wochen benötigt.

  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 20.11.2019 um 16:40 schrieb Christoph Bergmann:

Probier' doch mal einfach, wie lange der Ethereum Archival Node synchronisiert. Bin gespannt :)

Um 17:30 CET am 29.11.2019 ist die Node gesynced gewesen. Da die Node zwischendrin ungefähr drei Stunden offline gewesen ist bedeutet dies eine Sync-Zeit von:

7 Tagen und 22 Stunden.

Die Blockchain ist jetzt 3.305,32 GB groß.

Abfragen sind mittel eth- und web3-Protokoll möglich:

eth-archive.intb.io

Weiß jemand, wie man das testen kann? Christoph?

Bearbeitet von GhostTyper
+Host
Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit web3 kannst du das testen. Der Unterschied zwischen einer Full Archive und einer normalen Node ist die Transaktionshistorie. Den aktuellen Kontostand zeigen dir beide an. Was vor einigen Jahren an Ein und Ausgängen auf der Adresse waren, dass kann dir nur die Full Archive Node sagen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wow, das geht ja eigentlich. Eine Tomatenpflanze braucht viel länger zu wachsen, sogar ein Brief nach Österreich dauert manchmal länger ... was für eine Maschine steckt bei dir da denn dahinter? Und weißt du, welche Ressourcen am meisten beansprucht worden sind?

Hm, theoretisch könnte man mit der web3 api - das kenne ich als javascript library - einige Anfragen durchführen. Ich würde sagen, du kannst einfach die web3 Library bei dir installieren und dann per localhost abfragen.

https://web3js.readthedocs.io/en/v1.2.4/

Falls du einen offenen Server hast, könnte man das auch von außen machen.

Du könntest mit dem Node jetzt auch Etherscan Konkurrenz machen ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 12 Stunden schrieb skunk:

Der Unterschied zwischen einer Full Archive und einer normalen Node ist die Transaktionshistorie.

Äh, ja, danke. Das war mir schon klar. :)

vor 10 Stunden schrieb Christoph Bergmann:

was für eine Maschine steckt bei dir da denn dahinter? Und weißt du, welche Ressourcen am meisten beansprucht worden sind?

Der Server ist ziemlich stark und die der Node zugeteilten Ressourcen mit Ausnahme der Internetanbindung sind nicht "geshared". Die VM besteht konkret aus folgendem:

  • 8 Kerne Intel Xeon Gold 6146. Im Schnitt werden 2-4 Kerne voll benutzt.
  • Während dem Synchronisieren 256 GB RAM, jetzt (also während dem normalen Betrieb) noch 128 GB.
  • 4 TB RAID 10 SSD Speicherplatz für die Blockchain. (Werde ich demnächst erhöhen.)
  • 10 GBit/s Internet, geshared mit 6 Storj-Nodes. Traffic In: 675 GB, Traffic Out: 124 GB, incl. das finden anderer Nodes zum Synchronisieren, etc.

Am meisten benutzt wurde (und wird) die CPU. Danach Disk I/Os. Aber vielleicht schätze ich das auch falsch ein, denn ich habe im Internet Leute gefunden, die das auch versucht haben aufzusetzen und diese sind an "zu langsamer Disk" (laut deren Analyse) gescheitert.

vor 10 Stunden schrieb Christoph Bergmann:

Falls du einen offenen Server hast, könnte man das auch von außen machen.

Aber natürlich ist die Node von außen erreichbar. :DGibt es eine Stelle, wo man so eine Node "registrieren" oder "erwähnen" kann, so dass andere diese evtl. für Nachforschungen benutzen?

Eine Anfrage von außen funktioniert jedenfalls:

$ curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xBE0eB53F46cd790Cd13851d5EFf43D12404d33E8", "latest"],"id":666}' http://eth-archive.intb.io:8545

{"jsonrpc":"2.0","id":666,"result":"0x1e1e83d9813f6f46b1faf"}

Wenn ich wirklich einen guten Ethereum Blockchain Explorer machen möchte muss ich Ethereum erst Mal richtig verstehen. Hast Du mir da eine Buch- oder Link-Empfehlung? Oder jemanden, der mir wenigstens sagt mit welchen Features man beginnen sollte? :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb GhostTyper:

Äh, ja, danke. Das war mir schon klar. :)

Web3 hat ein paar Funktionen um die Transaktionshistorie zu erfragen. Warum hast du jetzt ausgerechnet mit getBalance getestet wenn doch klar ist, dass auch eine normale Node darauf antworten würde? Ich habe ein wenig das Gefühl du hast meinen Hinweis falsch verstanden.

Ein passender Test wäre gewesen eine alte Ethereum Adresse von zum Beispiel einer Börse zu nehmen und dann per Web3 die komplette Historie abzufragen. Auf diese Anfrage wird dir nur die Full Archive Node eine vollständige Antwort geben.

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Stunden schrieb skunk:

Warum hast du jetzt ausgerechnet mit getBalance getestet wenn doch klar ist, dass auch eine normale Node darauf antworten würde?

Weil ich damit testen konnte, ob die Node tatsächlich von außen erreichbar ist. Beim überfliegen der verlinkten Doku (im Prinzip Strg+F "history") hab' ich nichts auf Anhieb gefunden, dass sich schnell mit curl realisieren lässt. Aber Du zeigst mir sicher gleich auf, welcher Endpunkt das kann - korrekt? :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 41 Minuten schrieb GhostTyper:

Weil ich damit testen konnte, ob die Node tatsächlich von außen erreichbar ist. Beim überfliegen der verlinkten Doku (im Prinzip Strg+F "history") hab' ich nichts auf Anhieb gefunden, dass sich schnell mit curl realisieren lässt. Aber Du zeigst mir sicher gleich auf, welcher Endpunkt das kann - korrekt? :)

Versuch mal folgendes Skript. Ich habe das nur schnell aus ein paar meiner alten Skripten zusammen kopiert ohne es zu testen. Kann also sein, dass es nicht funktioniert. Das bekommst du aber sicher hin :)

'use strict';

const Web3 = require('web3');

const web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545', 0));
const erc20ABI = [
	{"constant":true,
		"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf",
		"outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},
	{"constant":false,
		"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer",
		"outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"}];

const STORJContract = '0xb64ef51c888972c908cfacf59b47c1afbc0ab8ac';
const STORJ = new web3.eth.Contract(erc20ABI, STORJContract);

STORJ.getPastEvents('Transfer', {
	fromBlock: 1,
	toBlock: 'latest'
}, function(error, events) {
	if (error) {
		console.log('Error:', error);
	} else {
		console.log(events.length);
	}
});

 

Bearbeitet von skunk
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.