Willkommen im offiziellen Repository für Steem, der Blockchain, die das Web revolutionieren wird, und bald die Blockchain für Smart Media -Token!
Steem ist die erste Blockchain, die den Social Consensus -Algorithmus "Proof of Hirn" für die Token -Allokation einführte.
Als eines der am aktivsten entwickelten Blockchain -Projekte, die derzeit existieren, ist es für unternehmerische Aktivitäten zu fruchtbarem Boden geworden. Es ist auch für viele kryptowährungsorientierte Projekte zu Hause geworden.
Steem zielt darauf ab, die bevorzugte Blockchain für die DAPP -Entwicklung mit Smart Media -Token im Kern zu sein. Bei SMTs kann jeder die Kraft von Steem nutzen.
Ursprünglich wurde Steem vor Beginn eines Bergbaus im BitCointalk -Forum angekündigt. (Steem ist derzeit nicht abgebrochen)
Der Einstieg mit Steem ist ziemlich einfach. Sie können entweder Docker-Images verwenden, mit Docker manuell mit Docker erstellen oder direkt aus Quelle erstellen. Alle Schritte wurden dokumentiert und während viele verschiedene Betriebssysteme unterstützt werden, ist Ubuntu 16.04 am einfachsten.
Möchten Sie nur schnell aufstehen? Wir haben vorgefertigte Docker-Bilder für Ihre Bequemlichkeit. Weitere Details finden Sie in unserem QuickStart Guide.
Wir empfehlen dringend , eines unserer vorgefertigten Docker-Bilder zu verwenden oder Docker zum Erstellen von Steem zu verwenden. Beide Prozesse werden im QuickStart -Handbuch beschrieben.
Wenn Sie jedoch immer noch aus der Quelle erstellen möchten, haben wir auch Anweisungen für Linux (Ubuntu LTS) und MacOS.
Um einen P2P -Knoten auszuführen (ca. 2 GB Speicher ist momentan erforderlich):
docker run
-d -p 2001:2001 -p 8090:8090 --name steemd-default
steemit/steem
docker logs -f steemd-default # follow along
So führen Sie einen Knoten mit allen Daten aus (z. B. für die Unterstützung einer Inhaltswebsite). 14 GB Gedächtnis und Wachstum sind erforderlich:
docker run
--env USE_WAY_TOO_MUCH_RAM=1 --env USE_FULL_WEB_NODE=1
-d -p 2001:2001 -p 8090:8090 --name steemd-full
steemit/steem
docker logs -f steemd-full
Wir bieten eine grundlegende CLI -Brieftasche für die Schnittstelle mit steemd . Die Brieftasche wird über die Befehlszeile Hilfe selbst dokumentiert. Der Knoten, mit dem Sie über die CLI-Brieftasche eine Verbindung herstellen, muss die account_by_key_api , condenser_api ausführen, und muss so konfiguriert werden, dass WebSocket-Verbindungen über webserver-ws-endpoint akzeptiert werden.
Weitere Testziele und Informationen zur Überprüfung der Code -Testabdeckung finden Sie unter doc/devs/testing.md.
Führen Sie steemd einmal aus, um ein Datenverzeichnis und eine Konfigurationsdatei zu generieren. Der Standardort ist witness_node_data_dir . Töte steemd . Es wird nichts ohne Samenknoten tun. Wenn Sie die Konfiguration nach Ihren Wünschen ändern möchten, werden in den Docker -Bildern zwei Beispielkonfigurationen verwendet. (Konsensknoten, Voller Knoten) Alle Optionen sind in der Standardkonfigurationsdatei vorhanden, und möglicherweise müssen mehr Optionen aus den Docker -Konfigurationen geändert werden (einige der in den Bildern tatsächlich verwendeten Optionen werden über die Befehlszeile konfiguriert).
Eine Liste einiger Saatgutknoten, um Sie zu starten, finden Sie in doc/Seednodes.txt.
Dieselbe Datei wird in die Docker -Bilder eingebunden und kann durch Einstellen STEEMD_SEED_NODES in der Containerumgebung in der docker run auf eine ausgrenzende Liste der Saatgutknoten (mit Port) überschrieben werden.
Es gibt einige Umgebungsvariablen, die so eingestellt werden können, dass Steemd auf unterschiedliche Weise ausgeführt wird:
USE_WAY_TOO_MUCH_RAM - Wenn Steem auf TRUE eingestellt ist, startet Steem einen "vollständigen Knoten"USE_FULL_WEB_NODE - Wenn auf TRUE festgelegt wird, wird eine Standardkonfigurationsdatei verwendet, die einen vollständigen Satz von APIs und zugehörigen Plugins ermöglicht.USE_NGINX_FRONTEND - Wenn auf TRUE eingestellt wird, können Sie einen Nginx -Reverse -Proxy vor Steemd ermöglichen, dass Proxies WebSocket -Anfragen an Steemd anfordert. Dies ermöglicht auch einen benutzerdefinierten HealthCheck auf dem Weg '/Health', der auflistet, wie viele Sekunden von der aktuellen Blockchain -Zeit entfernt sind, die Ihr Knoten entfernt ist. Es wird eine '200' zurückgeben, wenn es weniger als 60 Sekunden von der Synchronisierung entfernt ist.USE_MULTICORE_READONLY - Wenn Sie auf TRUE eingestellt sind, können Steemd im mehreren Lesermodus mehrere Kerne nutzen (falls verfügbar). Leseanfragen werden von den schreibgeschützten Knoten behandelt und Schreibanfragen werden automatisch an den einzelnen "Writer" -Knoten weitergeleitet. Nginx lastet alle Anforderungen an die Leserknoten, 4 pro verfügbarem Kern. Diese Einstellung wird immer noch als experimentell angesehen und kann Probleme mit einigen API -Aufrufen haben, bis die weitere Entwicklung abgeschlossen ist.HOME - Setzen Sie diesen Pfad, in dem Steemd seine Datendateien speichern soll (Blockprotokoll, freigegebener Speicher, Konfigurationsdatei usw.). Standardmäßig /var/lib/steemd wird im Docker -Container verwendet und existiert. Wenn Sie einen anderen Mountspunkt (wie ein Ramdisk oder ein anderes Laufwerk) verwenden möchten, möchten Sie diese Variable möglicherweise festlegen, um das Volumen Ihrem Docker -Container abzubilden. Steemd unterstützt jetzt einen PaaS -Modus (Plattform als Dienst), der derzeit mit dem elastischen Beanstalk -Service von Amazon zusammenarbeitet. Es kann mit den folgenden Umgebungsvariablen gestartet werden:
USE_PAAS - Wenn Steemd auf true eingestellt ist, startet sie in einem Format, das mit AWS EB funktioniert. Container verlassen sich nach dem Ausfall, damit sie automatisch von ECS neu gestrichen werden können. In diesem Modus wird USE_WAY_TOO_MUCH_RAM und USE_FULL_WEB_NODE angenommen, sie müssen auch nicht festgelegt werden.S3_BUCKET - Setzen Sie dies auf den Namen des S3 -Bucket, in dem Sie gemeinsam genutzte Speicherdateien für Steemd in Amazon S3 speichern. Sie werden im BZ2-Format mit dem Dateinamen blockchain-$VERSION-latest.tar.bz2 gespeichert, wobei $ Version die Release-Nummer ist, gefolgt von dem in jedem Docker-Bild gespeicherten Git Short Commit Hash, das in /etc/steemdversion gespeichert ist.SYNC_TO_S3 - Wenn auf TRUE eingestellt wird, wird der Knoten funktioniert, um gemeinsam genutzte Speicherdateien zu generieren und in den angegebenen S3 -Bucket hochzuladen. Dies ermöglicht schnelle Bereitstellungen und Autoscaling für Steemd. Für einen vollständigen Webknoten benötigen Sie mindestens 110 GB Speicherplatz zur Verfügung. Steemd verwendet eine von Speicher zugeordnete Datei, die derzeit 56 GB Daten enthält und standardmäßig bis zu 80 GB verwendet wird. Das Blockprotokoll der Blockchain selbst ist etwas mehr als 27 GB. Es wird dringend empfohlen, Steemd auf einer schnellen Festplatte wie einer SSD oder durch das Platzieren der gemeinsam genutzten Speicherdateien in einem RAMDISK und die Verwendung der Befehlszeilenoption --shared-file-dir=/path auszuführen, um anzugeben, wo. Für einen vollständigen Webknoten ist mindestens 16 GB Speicher erforderlich. Saatgutknoten (P2P -Modus) können mit nur 4 GB Speicher mit einer 24 -GB -Statusdatei ausgeführt werden. Jede CPU mit anständiger einzelner Kernleistung sollte ausreichen. Steemd wächst ständig. Ab August 2017 waren diese Zahlen korrekt, aber Sie können mehr Speicherplatz benötigen, um einen vollständigen Knoten zu betreiben. Wir arbeiten auch ständig daran, Steems Nutzung des Festplattenraums zu optimieren.
Unter Linux verwenden Sie die folgende virtuelle Speicherkonfiguration für die anfängliche Synchronisierung und nachfolgende Wiederholungen. Für den normalen Betrieb wird nicht benötigt.
echo 75 | sudo tee /proc/sys/vm/dirty_background_ratio
echo 1000 | sudo tee /proc/sys/vm/dirty_expire_centisecs
echo 80 | sudo tee /proc/sys/vm/dirty_ratio
echo 30000 | sudo tee /proc/sys/vm/dirty_writeback_centisecs
Die Software wird "wie es ist" ohne Garantie jeglicher Art, ausdrücklich oder stillschweigend bereitgestellt, einschließlich, aber nicht beschränkt auf die Gewährleistung der Handelsfähigkeit, die Eignung für einen bestimmten Zweck und die Nichtverletzung. In keinem Fall sind die Autoren oder Urheberrechtsinhaber für Ansprüche, Schäden oder andere Haftungen haftbar, sei es in einer Vertragsklage, unerbittlich oder auf andere Weise, die sich aus oder im Zusammenhang mit der Software oder anderen Geschäften in der Software ergeben.