1. Persönliche FinanzenBasic Ethereum Smart Contract Syntax
Ethereum für Dummies

Von Michael Solomon

Wenn Sie eine Ethereum-Entwicklung planen, werden Sie wahrscheinlich Solidity verwenden, eine der beliebtesten Programmiersprachen für intelligente Verträge. Werfen wir einen Blick auf einige grundlegende Solidity-Syntax. Wenn Sie Solidity-Quellcode schreiben, speichern Sie diesen Code in einer Datei mit der Erweiterung .sol.

Ethereum smat Vertragscode

Ein Solidity-Programm besteht aus mehreren Hauptabschnitten:

  • Pragma: Dies teilt Solidity mit, welche Versionen des Compilers zum Kompilieren dieser Datei gültig sind. Kommentare: Entwickler sollten Kommentare zum Dokumentieren von Code verwenden. Importieren: Ein Import definiert eine externe Datei, die Code enthält, den Ihr Smart Contract benötigt. Vertrag (e): In diesem Bereich befindet sich der Hauptteil Ihres Smart-Vertragscodes.

Angabe der gültigen Compilerversion in Ethereum-Smart-Verträgen

Die Pragma-Direktive sollte die erste Codezeile in einer Solidity-Datei sein. Da die Solidity-Sprache noch ausgereift ist, enthalten neue Compilerversionen häufig Änderungen, mit denen ältere Programme nicht kompiliert werden können. Die Pragma-Direktive hilft dabei, Compiler-Fehler durch die Verwendung eines neueren Compilers zu vermeiden.

Hier ist die Syntax für die Pragma-Direktive:

Pragma Solidity << Versionsnummer >>;

Hier ist ein Beispiel für eine Pragma-Direktive:

Pragma Solidität ^ 0,4,24;

Alle Anweisungen in Solidity enden mit einem Semikolon.

Die Versionsnummer beginnt mit einer 0, gefolgt von einer Major-Build-Nummer und einer Minor-Build-Nummer. Beispielsweise bezieht sich die Versionsnummer 0.4.24 auf Hauptversion 4 und Nebenversion 24. Das Caret-Symbol (^) vor der Versionsnummer weist Solidity darauf hin, dass das neueste Build in einem Hauptversionsbereich verwendet werden kann. Im vorherigen Beispiel kann Solidity einen Compiler aus einem beliebigen Build im Build-Bereich von Version 4 verwenden. Auf diese Weise können Sie den Lesern mitteilen, dass Ihr Programm für 0.4.24 geschrieben wurde, aber weiterhin für nachfolgende Builds der Version 4 kompiliert werden kann.

Obwohl die Verwendung des Carets in der Pragma-Direktive Flexibilität bietet, ist es besser, das Caret zu löschen und Solidity genau mitzuteilen, welche Compiler-Version Sie erwarten.

Kommentieren Sie Ihren Solidity-Code

Das Hinzufügen von Kommentaren zu Ihrem Code ist ein zusätzlicher Schritt, der Ihrem Solidity-Code ein professionelles Erscheinungsbild verleiht. Eine gut kommentierte Quellcodedatei ist einfacher zu lesen und zu verstehen und hilft anderen Entwicklern, schnell zu verstehen, was Ihr Code tun soll. Selbst einfache Kommentare können die Zeit verkürzen, die zum Beheben von Fehlern oder Hinzufügen neuer Funktionen erforderlich ist. Kommentare können auch Eingaben für Dienstprogramme liefern, um Dokumentation für Ihre intelligenten Verträge zu erstellen.

Sie können einzeilige oder mehrzeilige reguläre Kommentare verwenden. Einzeilige Kommentare beginnen mit zwei Schrägstrichen. Mehrzeilige Kommentare beginnen mit den Zeichen / * und enden mit den Zeichen * /. Hier ist ein Beispiel für Solidity-Kommentare:

// Hier ist ein einzeiliger Solidity-Kommentar
/ * Mit diesem Kommentar habe ich noch viel mehr zu sagen
Verwenden Sie einen mehrzeiligen Kommentar. Der Compiler wird ignoriert
alles nach dem Eröffnungskommentar bis
Es werden die abschließenden Kommentarzeichen angezeigt. * /

Eine dritte Art von Solidity-Kommentaren ist die Ethereum Natural Specification (NatSpec) -Richtlinie. Mit NatSpec können Sie Informationen zu Ihrem Code bereitstellen, mit denen Dokumentationsgeneratoren formatierte Dokumentationen erstellen können, die Ihre intelligenten Verträge beschreiben. NatSpec-Anweisungen beginnen mit drei Schrägstrichen und enthalten spezielle Tags mit Daten für die Dokumentation. Hier ist ein Beispiel für die Verwendung von NatSpec-Anweisungen:

/// @title Greeter kluger Vertrag
/// @author Joe Programmer
/// @notice Dieser Code nimmt den Namen einer Person und sagt Hallo
/// @param name Der Name des Anrufers
/// @return greeting Die Begrüßung mit dem Namen des Anrufers

Weitere Informationen finden Sie in der NatSpec-Dokumentation.

Importieren von externem Code in Ihren Ethereum Smart-Vertrag

Der Importabschnitt ist optional, kann jedoch bei korrekter Verwendung in Ihrem Ethereum-Smart-Vertrag leistungsstark sein. Wenn Ihr Smart-Vertrag auf Code in anderen Dateien verweisen muss, müssen Sie diese anderen Dateien zuerst importieren. Beim Importieren von Dateien sieht es so aus, als hätten Sie den anderen Code in die aktuelle Datei kopiert. Durch die Verwendung von Importen können Sie vermeiden, dass Code tatsächlich von einem Ort an einen anderen kopiert wird. Wenn Sie auf Code zugreifen müssen, importieren Sie einfach die Solidity-Datei, die den Code enthält.

Die Syntax zum Importieren anderer Dateien ist einfach. Sie verwenden das Schlüsselwort import und geben dann den Dateinamen für die zu importierende Datei an. Verwenden Sie zum Importieren der Datei myToken.sol beispielsweise die folgende Syntax:

Import 'myToken.sol';

Definieren Sie Ihre Ethereum-Smart-Verträge

Im letzten Hauptabschnitt von Solidity definieren Sie den Inhalt Ihres Smart-Vertrags. Es beginnt mit dem Schlüsselwort contract und enthält den gesamten Funktionscode in Ihrem smart contract. Sie können in Solidity mehrere Vertragsabschnitte haben. Das heißt, eine einzige .sol-Datei kann mehrere Verträge definieren. Hier ist ein Beispiel für einen Vertragsabschnitt:

Vertrag HelloWorld {
string private helloMessage = "Hallo Welt";
Funktion getHelloMessage () public view returns (string) {
return helloMessage;
}
}

Im Vertragsbereich definieren Sie alle Variablen, Strukturen, Ereignisse und Funktionen. Der Vertragsabschnitt Ihres Codes enthält noch viel mehr, aber Sie wissen vorerst, wie Sie einen Solidity Smart-Vertrag einrichten.

Sobald Sie die Grundlagen von Solidity beherrschen, können Sie weiterhin komplexeren Code entwickeln, und der Himmel ist die Grenze.

  1. Persönliche FinanzenEthereum Smart Contracts: Tipps für den sicheren Umgang mit Daten
Ethereum für Dummies

Von Michael Solomon

Solidität ist die beliebteste Sprache für das Schreiben von Ethereum-Smart-Verträgen. Solidity wurde von Gavin Wood im August 2014 vorgeschlagen. Obwohl es nicht die einzige Sprache ist, die Sie zum Schreiben intelligenter Verträge verwenden können, ist es die beliebteste Sprache zum Schreiben intelligenter Verträge, die im Ethereum ausgeführt werden. Es wird von der Ethereum-Community solide unterstützt und wurde vom Solidity-Team des Ethereum-Projekts entwickelt.

Solidity wurde ähnlich wie JavaScript entwickelt und wurde auch von einigen anderen gängigen Programmiersprachen beeinflusst, darunter C ++ und Python. Ziel von Solidity ist es, eine Sprache bereitzustellen, die Webanwendungsentwicklern vertraut ist, jedoch auf die Entwicklung intelligenter Verträge abzielt. Solidity ist nicht als Allzwecksprache gedacht, sondern zur Unterstützung blockchain-spezifischer Operationen mit Code, der in der EVM ausgeführt wird.

Bevor Ihr Code in der EVM ausgeführt werden kann, müssen Sie ihn kompilieren. Aus diesem Grund war eine der Komponenten, die Sie beim Erstellen Ihrer Entwicklungsumgebung installiert haben, ein Solidity-Compiler. Sie schreiben Ihren Solidity-Quellcode zunächst in einem Editor. Dann kompilieren Sie es in Bytecode. Dies sind die Anweisungen, die in der EVM ausgeführt werden. Nachdem Sie Ihren Smart Contract-Bytecode bereitgestellt haben, wird er auf allen Ethereum-Knoten ausgeführt.

Da Smart Contracts auf allen Knoten ausgeführt werden, muss Solidity den Determinismus erzwingen. Das heißt, die Ergebnisse müssen für alle Knoten identisch sein, auf denen Ihr Smart Contract-Code mit derselben Eingabe ausgeführt wird. Wenn Sie sich die Solidity-Dokumentation ansehen, werden Sie keine random () -Funktion finden. Diese Unterlassung soll speziell den Determinismus von Solidity unterstützen. Ihr Code wird zuerst von dem Knoten ausgeführt, der einen neuen Block abbaut. Anschließend überprüfen alle Knoten den Block und führen den Code aus, um sicherzustellen, dass sie kein anderes Ergebnis erhalten.

Solidity ähnelt in vielerlei Hinsicht anderen Programmiersprachen. Die größten Unterschiede bestehen darin, wie die Programme ausgeführt werden und wie Solidity mit Daten umgeht. Beachten Sie, dass Solidity nur Daten im EVM oder in der Blockchain verarbeitet.

Solidität interagiert nicht viel mit der Außenwelt, aber es ist möglich. Solidität unterstützt das Konzept eines Orakels, bei dem es sich um eine vertrauenswürdige Informationsquelle von außen handelt.

Ein Orakel anzurufen ist einfach. Ein Problem ist, dem Orakel vertrauen zu können. Ein weiteres Problem betrifft Oracle-Daten, die bei jedem Aufruf andere Daten zurückgeben können. Bevor Sie Orakel verwenden, müssen Sie sicherstellen, dass die Datenquelle vertrauenswürdig und konsistent ist. Es ist üblich, dass Orakel Daten und einen Echtheitsnachweis zurückgeben.

Das Konzept des Vertrauens in Bezug auf Orakel ist nur eine Erweiterung des Blockchain-Vertrauens. Beachten Sie, dass die Blockchain-Technologie ein vertrauenswürdiges Datenregister in einer Umgebung von vertrauenswürdigen Netzwerkknoten darstellt. Da Vertrauen eine so grundlegende Eigenschaft der Blockchain ist, ist es nicht verwunderlich, dass das Vertrauen in ein Orakel ein wichtiges Anliegen ist.

Bei Solidität geht es insbesondere darum, wo Sie Daten speichern können. In Solidity definieren Sie im Allgemeinen zwei Arten von Variablen: Statusvariablen und lokale Variablen. Sie definieren Statusvariablen im Abschnitt "Vertrag". Diese Variablen sind an einer beliebigen Stelle im Smart-Vertrag verfügbar. Diese Variablen speichern den Status Ihres Smart-Vertrags, indem sie die Werte in einem Block in der Blockchain speichern. Sie definieren lokale Variablen in Funktionen. Lokale Variablen speichern ihre Werte nicht zwischen Funktionsaufrufen. Diese Werte werden nicht in der Blockchain gespeichert und verschwinden, wenn die Funktion endet.

Solidität definiert drei Orte zum Speichern von Daten:

  • Stapel: In Solidity werden lokale einfache Variablenwerte gespeichert, die in Funktionen definiert sind. Speicher: Ein Speicherbereich auf jedem EVM, in dem Solidity temporäre Werte speichert. Hier gespeicherte Werte werden zwischen Funktionsaufrufen gelöscht. Speicher: In einem Smart-Vertrag definierte Statusvariablen. Diese Statusvariablen befinden sich im Abschnitt für intelligente Vertragsdaten in der Blockchain.

Der variable Speicherort ist einer der verwirrendsten Aspekte von Solidity. Die Solidity-Sprache verfügt nicht über ein Stack-Schlüsselwort, sondern über Speicher- und Speicherschlüsselwörter. Solidity verwendet seine eigenen Standardeinstellungen, je nachdem, wo Sie Variablen definieren und wie Sie sie verwenden. Sie können jedoch einige dieser Standardeinstellungen überschreiben und mithilfe der Schlüsselwörter auch ändern, wie Solidity Variablen behandelt.

Im Folgenden finden Sie einige Regeln, die Ihnen dabei helfen, das Speichern von Daten in Solidity zu vereinfachen:

  • Statusvariablen werden standardmäßig gespeichert (Werte werden in der Blockchain gespeichert). Lokale Variablen in Funktionen werden standardmäßig gespeichert (Werte werden temporär gespeichert). Strukturen werden standardmäßig gespeichert (Werte werden in der Blockchain gespeichert).

Solidity kann mit unterschiedlichen Datentypen umgehen und bietet unterschiedliche Variablentypen für jeden Typ. Wenn Sie Variablen definieren, müssen Sie den Datentyp der Variablen angeben. Der Datentyp teilt Solidity mit, wie viel Speicherplatz für den in der Variablen zu speichernden Wert und wie die Daten behandelt werden sollen. In der folgenden Tabelle sind die von Solidity unterstützten Datentypen aufgeführt.

Wenn Ihre intelligenten Verträge komplexer werden, müssen Sie wahrscheinlich komplexere Datentypen darstellen. Möglicherweise möchten Sie einen physischen Adresstyp definieren, der mehrere Informationen enthält, einschließlich Straße, Ort, Bundesland und Postleitzahl.

Möglicherweise müssen Sie auch Tabellen oder Listen mit Daten speichern. Mit Solidity können Sie Ihre eigenen Datenstrukturen mit dem komplexen Datentyp struct erstellen. Sie können auch Arrays definieren, in denen Gruppen ähnlicher Datenelemente gespeichert werden. Solidity Arrays können Gruppen einfacher Datentypen oder Gruppen von Strukturen sein.

Hier ist ein intelligenter Vertrag, der einige der einfachen Datentypen von Solidity demonstriert. In diesem Beispiel verwenden Sie nur Statusvariablen. Dies bedeutet, dass Sie in die Blockchain schreiben. Es ist keine gute Idee, alle Variablen als Statusvariablen zu definieren, es sei denn, Sie möchten Daten für immer speichern. In der Blockchain gespeicherte Daten erfordern teure Vorgänge und sollten nur verwendet werden, wenn Sie Ihre Daten dauerhaft speichern müssen. Im Moment verwenden Sie Statusvariablen.

Öffnen Sie VS Code für das myProject-Projekt:

Um VS Code im myProject-Projekt zu öffnen, öffnen Sie eine Windows-Eingabeaufforderung oder PowerShell (mein Favorit) und navigieren Sie mit dem Befehl cd zu Ihrem Projektverzeichnis (myProject.). Geben Sie hier einfach den folgenden Befehl ein und drücken Sie die Eingabetaste:

Code.

Geben Sie dann den folgenden Code ein oder laden Sie die Ethereum-Projektdateien von Dummies herunter.

Pragma Solidität 0,4,24;
/ *
* @title Solidity-Datentypen
* @autor Michael Solomon
* @notice Ein schlauer Vertrag, um die in Solidity verfügbaren einfachen Datentypen zu demonstrieren
*
* /
Vertrag DataTypes {
uint x = 9;
int i = -68;
uint8 j = 17;
bool isEthereumCool = true;
Adressinhaber = msg.sender; // Ethernet-Adresse des Absenders der Nachricht
bytes32 bMsg = "hallo";
string sMsg = "hallo";
Funktion getStateVariables () public view gibt zurück (uint, int, uint8, bool, address, bytes32, string) {
return (x, i, j, isEthereumCool, Eigentümer, bMsg, sMsg);
}
} <

Bevor Sie Ihren neuen Smart-Vertrag bereitstellen und testen können, müssen Sie ihn dem JavaScript-Migrationsskript hinzufügen. Öffnen Sie in VS Code die Datei 2_contracts_migrations.js im Verzeichnis Migrations. Fügen Sie dann die beiden Zeilen mit Kommentaren hinzu, damit Ihre Datei wie folgt aussieht:

var HelloWorld = artifacts.require ("HelloWorld");
var DataTypes = artifacts.require ("DataTypes"); // Diese Zeile hinzufügen
module.exports = function (deployer) {
deployer.deploy (HelloWorld);
deployer.deploy (DataTypes); // Diese Zeile hinzufügen
};

Vergessen Sie nicht, Ihre Datei zu speichern, nachdem Sie den neuen Text hinzugefügt haben!

Mit den folgenden Schritten können Sie Ihren neuen Smart-Vertrag bereitstellen und testen:

  1. Stellen Sie sicher, dass Ganache ausgeführt wird. Klicken oder tippen Sie in VS Code auf die Registerkarte Terminal, geben Sie Folgendes ein und drücken Sie die Eingabetaste: truffle deploy --reset Geben Sie truffle console ein und drücken Sie die Eingabetaste. Geben Sie an der Eingabeaufforderung der Truffle-Konsole Folgendes ein und drücken Sie die Eingabetaste: DataTypes.deployed (). Then (function (instance) {return instance.getStateVariables ()});

Das folgende Bild zeigt die Werte, die Ihr neuer Smart-Vertrag zurückgibt. Truffle zeigt die Rückgabewerte auf interessante Weise an. Zahlen werden als BigNumber-Objekte zurückgegeben. Sie können Funktionen in einer BigNumber-Bibliothek aufrufen, um sie zu konvertieren, aber vorerst lesen Sie die Werte direkt.

Bei den numerischen Rückgabewerten ist der erste Wert s: das Vorzeichen der Zahl und der dritte Wert c: der vorzeichenlose Wert, den die Funktion zurückgibt. Beachten Sie auch, dass die Adress- und Bytes32-Werte im Hexadezimalformat vorliegen.

Ethereum kluger Vertrag
  1. Persönliche Finanzen10 Kostenlose Ethereum-Ressourcen
Ethereum für Dummies

Von Michael Solomon

Viele kostenlose Ressourcen helfen Ihnen bei der Entwicklung fortschrittlicher Ethereum-dApps. Es gibt verschiedene Tools für Ethereum in vier Kategorien: Blockchain-Client, Testblockchain, Testframework und IDE. Sie müssen nicht lange suchen, um in nahezu jeder Kategorie viele kostenlose Ethereum-Ressourcen zu finden.

Hier erfahren Sie mehr über zehn weitere kostenlose Tools, mit denen Sie Ihre eigenen Ethereum-Blockchain-dApps erstellen können. Einige der Ressourcen, die Sie hier finden, sind Alternativen zu den gängigen Tools, andere ergänzen die Tools, die Sie wahrscheinlich bereits verwenden. Jede der hier aufgelisteten Ressourcen verfügt über einzigartige Funktionen und sollte auf Ihrer Liste mit interessanten Forschungsideen stehen. Sie sind alle kostenlos und es lohnt sich, Ihre Ethereum-Entwicklungs-Toolbox zu erweitern.

Entdecken Sie alternative Ethereum-Entwicklungs-Frameworks

Obwohl Truffle das am häufigsten verwendete Framework ist, ist es nicht das einzige. Abhängig von Ihren Bedürfnissen und Vorlieben sollten Sie sich einige Alternativen ansehen. Wählen Sie am Ende des Tages das Entwicklungsframework, das am ehesten zu Ihren Erfahrungen passt und die Entwicklung von dApps für Ethereum so frustrationsfrei wie möglich macht.

Verwalten Sie Ihre Ethereum-Entwicklung mit Populus

Das Populus-Framework bietet viele der gleichen Funktionen wie Truffle. Da sich Truffle jedoch auf die JavaScript-Umgebung konzentriert, müssen Sie viel JavaScript-Code schreiben, um Aufgaben zu automatisieren, dApps mit Truffle zu testen und zu warten. Das ist in Ordnung, wenn Sie viel Erfahrung mit JavaScript haben und sich in der Umgebung wohlfühlen. Wenn Sie jedoch kein JavaScript kennen oder keine Zeit investieren möchten, um es zu lernen, sollten Sie sich ein Framework ansehen, das auf etwas anderem basiert.

Populus ist ein auf Python basierendes Ethereum-Entwicklungsframework. Wenn Sie Erfahrung mit Python haben oder nur mit Python arbeiten möchten, ist Populus möglicherweise einen Blick wert. Diese Webseite enthält eine Kurzanleitung, Dokumentation und Anweisungen zur Installation und Verwendung von Populus. Wenn Sie Python mögen, probieren Sie Populus aus, um zu sehen, wie es mit Truffle verglichen wird.

Populus setzt voraus, dass Sie Python bereits installiert haben. Da Python 2.7 End of Life (EOL) für November 2020 geplant ist, sollten Sie Python Version 3 installieren. Sie sollten die aktuellste Python-Version für Ihr Betriebssystem finden.

Entdecken Sie Ethereum-Blockchain-Container mit Cliquebait

Cliquebait ist eine andere Ethereum-Entwicklungs-Alternative zu Truffle. Anstatt eine Blockchain-Umgebung nativ auf dem Betriebssystem Ihres Computers auszuführen, verwendet Cliquebait Docker-Container, die einer einfachen virtuellen Maschine ähneln.

Mit Docker können Sie mehrere Container starten, die alle als separate virtuelle Maschinen (VMs) ausgeführt werden, wobei der Aufwand erheblich geringer ist als bei der Ausführung mehrerer Standard-VMs. Auf jeder von Ihnen gestarteten Standard-VM wird eine vollständige Kopie eines Betriebssystems sowie virtuelle Kopien der Hardware ausgeführt, die das Betriebssystem der VM ausführen muss. In einem Container, z. B. einem Docker-Container, werden nur die Betriebssystemkomponenten und die virtuelle Hardware ausgeführt, die die Programme benötigen. Das Ergebnis ist eine Virtualisierung mit geringerem Ressourcenbedarf.

Cliquebait stellt ein Docker-Image bereit, das eine Ethereum-Blockchain mit einem Knoten enthält, mit der Sie Ihre intelligenten Verträge entwickeln und testen können. Es unterstützt auch das Starten mehrerer Docker-Container, um eine Blockchain mit mehreren Knoten zu simulieren, die alle auf Ihrem Computer ausgeführt werden.

Docker muss installiert sein, bevor Sie Cliquebait installieren und ausführen können. Nachdem Sie Docker installiert haben, gehen Sie zu Github, um Anweisungen zur Verwendung von Cliquebait zu erhalten.

Wählen Sie eine kostenlose integrierte Entwicklungsumgebung für Ethereum

Die IDE, die Sie zum Schreiben von Code auswählen, ist das am besten sichtbare Tool in Ihrem dApp-Entwicklungs-Toolkit. Sie werden mehr Zeit damit verbringen, Ihre IDE zu nutzen (oder zu bekämpfen). Daher ist es entscheidend, die richtige zu finden, um produktiv zu sein. Die beste IDE liegt im Auge des Betrachters. Sie sollten mehrere IDEs ausprobieren und die für Sie am besten geeignete auswählen.

Entwickeln Sie Solidity-Code mit Atom

Atom ist keine Blockchain-basierte IDE. Es handelt sich um eine leistungsstarke Allzweck-IDE mit Solidity-Plug-Ins. Wenn Sie das Etheratom-Plug-In hinzufügen, erhalten Sie Syntaxhervorhebung, Code-Vervollständigung und die Möglichkeit, den Solidity-Compiler mit einem einzigen Tastendruck aufzurufen.

Unten sehen Sie die Hauptoberfläche von Atom. Es sieht aus und fühlt sich an wie VS Code, mit einem eigenen Charakter. Lesen Sie nach der Installation von Atom diese Anweisungen zur Installation des Etheratom-Plug-Ins.

Atom IDE

Gehen Sie mit Remix online

Eine Alternative zur Installation einer IDE auf Ihrem eigenen Computer ist die Verwendung einer browserbasierten IDE. Remix ist eine beliebte IDE, auf die Sie von jedem Webbrowser aus zugreifen können. Damit können Sie Code in Solidity schreiben und dann in einer Blockchain bereitstellen. Mit Remix können Sie ganz einfach eine bestimmte Solidity-Compiler-Version auswählen. Außerdem stehen Ihnen zahlreiche Funktionen und Optionen zur Verfügung, die Sie bei der Entwicklung von dApps in Solidity benötigen.

Sie können Code von Ihrem lokalen Computer hinzufügen oder ihn direkt aus dem Remix-Editor heraus schreiben.

Remix IDE

Machen Sie es sich mit EthFiddle einfach

Eine weitere webbasierte Solidity-IDE ist EthFiddle. EthFiddle ist eine hervorragende Wahl für eine unkomplizierte webbasierte IDE zum Schreiben und Kompilieren von Solidity-Smart-Verträgen. Anders als Remix bietet EthFiddle keine Möglichkeit, Ihren Code bereitzustellen.

EthFiddle IDE

Entdecken Sie Ethereum-Clients und APIs

Nachdem Sie Ihren intelligenten Vertragscode geschrieben haben, müssen Sie ihn auf einem Ethereum-Client bereitstellen und dann auf die Blockchain zugreifen, um Ihren Code zu testen und aufzurufen, nachdem er in der Produktion ist. Wie bei Frameworks und IDEs stehen viele hochwertige freie Ressourcen zur Verfügung.

Tauschen Sie Ihren Ethereum-Client gegen Parity aus

Parity ist ein Ethereum-Client, der einen Knoten in einem Ethereum-Blockchain-Netzwerk ausführt. Obwohl Geth beliebter ist, ist Parity eine gute Alternative, die gegenüber Geth mehrere Vorteile bietet, darunter die folgenden:

  • Schneller: Synchronisiert die gesamte Ethereum-Blockchain in nur wenigen Stunden und reduziert die CPU- und Netzwerklast. Geringerer Speicherplatzbedarf: Beschneidet die Ethereum-Blöcke, um weniger lokalen Speicherplatz zu verbrauchen. Webbasierte Benutzeroberfläche: Bietet über eine benutzerfreundliche Webbrowser-Oberfläche leicht zugängliche Funktionen.

Navigieren Sie zu, um mit Parity zu beginnen. Wenn Sie die Paritätsbenutzeroberfläche verwenden möchten, gehen Sie zu Github, um die neueste Version zu finden. Das folgende Bild zeigt eine neu installierte Paritätsbenutzeroberfläche. Beachten Sie, dass beim ersten Ausführen der Parity-Benutzeroberfläche Parity ausgeführt und der Synchronisierungsprozess mit dem Live-Ethereum-Netzwerk gestartet wird.

Paritäts-UI

Interagiere mit Ethereum, indem du web3.js verwendest

Die bei weitem am häufigsten verwendete Methode zur Interaktion mit Ethereum-Smart-Verträgen ist eine Sammlung von in JavaScript geschriebenen Bibliotheken mit dem Namen web3.js. Sie können Code in JavaScript oder in jeder Sprache schreiben, die JavaScript-Aufrufe unterstützt. Von dort aus macht es web3.js einfach, mit Ethereum-Daten und -Funktionen zu interagieren.

Navigieren Sie zu Github, um die neueste Version von web3.js abzurufen, und rufen Sie dann die neueste web3.js-Dokumentation auf.

Wenn Sie ein gutes Tutorial für web3.j suchen, lesen Sie die Einführung in Dapp Tutorial.

Fokus auf Geldbörsen und Sicherheit von Ethereum

Sicherheit ist bei der Entwicklung von Ethereum-dApps immer ein Problem. Die Art der Blockchain-Technologie macht den bewussten Fokus auf Sicherheit zu einem erforderlichen Entwurfsziel. Das Integrieren von Sicherheit in dApps setzt voraus, dass die richtigen Bausteine ​​und eine solide Methode zum Aufrechterhalten der Sicherheit nach der Bereitstellung vorhanden sind. Zwei kostenlose Ressourcen, mit denen Sie sichere dApps schreiben und verwalten können, sind die Mist Wallet- und die OpenZeppelin-Sicherheitsbibliothek.

Schützen Sie Ihre Ethereum-Krypto-Assets in Mist

Mist ist sowohl eine Ethereum-Brieftasche als auch ein Ethereum-Browser. Mist ist die offizielle Brieftasche für Ethereum, die von der Ethereum Foundation entwickelt wurde. Es bietet auch Zugriff auf dApps, ähnlich wie Sie mit gängigen Webbrowsern auf Websites im Internet zugreifen können.

Mist ist mehr als nur das Durchsuchen von Blockchain-Apps. Es bietet eine Reihe von Tools für die Interaktion mit dem Ethereum-Netzwerk. Mit Mist können Sie intelligente Verträge generieren, Kryptowährung bündeln und Informationen an Teilnehmer weitergeben, die sich gegenseitig nicht vertrauen. Mist versucht, den Zugriff auf die Ethereum-Blockchain so einfach wie möglich zu gestalten.

Laden Sie die neueste Mist-Version für Ihr Betriebssystem herunter, um mit Mist zu beginnen. Nach der Installation von Mist können Sie den Browser starten, um ein Konto zu erstellen oder mit einer Reihe von Tools mit der Ethereum-Blockchain zu interagieren.

Sichern Sie Ihre Ethereum-dApps mit OpenZeppelin

Eine der schwierigsten Aufgaben bei der Entwicklung intelligenter Verträge in einer Ethereum-Umgebung besteht darin, sie von Anfang an abzusichern. Obwohl es von Anfang an leicht sein mag, die Sicherheit in Betracht zu ziehen, ist es schwieriger, sicheren, intelligenten Vertragscode zu schreiben. Die OpenZeppelin-Bibliothek ist eine Sammlung von Solidity-Code, mit deren Hilfe Sie sicheren Code in Ihren Smart-Verträgen implementieren können.

Sie können OpenZeppelin in Ihre Smart-Verträge importieren und dann die zahlreichen Implementierungen von Ethereum-Standards wie ERC-20-Token nutzen, anstatt sie selbst implementieren zu müssen. OpenZeppelin verhindert, dass Sie das Sicherheitsrad in Ihrem Solidity Smart-Vertragscode neu erfinden müssen.

Erfahren Sie mehr über die Entwicklung von Ethereum dApps

Wenn Sie mehr über die Entwicklung von Ethereum erfahren und dabei viel Spaß haben möchten, schauen Sie sich CryptoZombies an. CryptoZombies ist ein schrittweises Solidity-Tutorial, in dem Sie ein Blockchain-basiertes Spiel mit einer von Ihnen erstellten Zombie-Armee entwickeln. Während du Erfahrung sammelst, steigen deine Zombies auf und erwerben neue Fähigkeiten.

  1. Persönliche FinanzenEthereum-Grundlagen: Eine Einführung in intelligente Verträge und Solidität
Ethereum für Dummies

Von Michael Solomon

Ethereum verwendet intelligente Verträge, um Daten beim Austausch auf bestimmte Regeln zu beschränken. Um intelligente Verträge zu schreiben, müssen Sie über Kenntnisse in einer Programmiersprache verfügen. Eine der beliebtesten Sprachen für Smart Contracts und insbesondere für Ethereum ist Solidity. Werfen Sie einen Blick auf eine kurze Einführung in diese Themen.

Grundlagen von Ethereum-Smart-Verträgen

Beim Umtausch von Wertgegenständen regeln in der Regel Regeln, wie die Transaktion abläuft. In vielen Fällen sind die Regeln einfach. Zum Beispiel geben Sie Joe 1,89 $ und Joe gibt Ihnen ein alkoholfreies Getränk. Jede Partei kann den Beitrag der anderen Partei zur Transaktion sehen und validieren. Wenn Sie versuchen, Joe Monopoly Geld zu geben, erhalten Sie kein Erfrischungsgetränk.

Auch wenn diese Transaktion einfach zu sein scheint, steckt mehr dahinter als man denkt. Wenn ein Erfrischungsgetränk 1,89 US-Dollar kostet, müssen Sie in den meisten Fällen mehr Geld dafür ausschreiben. Sie müssen auch Steuern zahlen. An der Transaktion ist also noch ein anderer Teilnehmer beteiligt: ​​die Regierung. Anstatt alles Geld zu behalten, muss Joe einiges an die Regierung schicken, um Steuern zu zahlen.

Es bedarf einiger sorgfältiger Überlegungen, um auch einfache Transaktionen wie das Softdrink-Beispiel in die digitale Welt zu überführen. Sie können nicht nur Geld an Personen senden und darauf vertrauen, dass diese ihren Beitrag leisten. Sie müssen Regeln und Compliance durchsetzen, um sicherzustellen, dass alle Parteien fair behandelt werden.

Intelligente Verträge unterstützen Sie bei der Durchsetzung von Regeln, wenn Sie in Ethereum Wertgegenstände austauschen. Die einfachste Art, intelligente Verträge zu beschreiben, besteht darin, dass es sich um Programme handelt, die ausgeführt werden, wenn bestimmte Transaktionen stattfinden.

Wenn Sie beispielsweise einen Smart-Vertrag zum Kauf von Erfrischungsgetränken erstellen, wird dieser Softwarecode jedes Mal ausgeführt, wenn jemand ein Erfrischungsgetränk kauft. Der Smart Contract Code wird in der Blockchain gespeichert, sodass alle Knoten eine Kopie davon haben. Außerdem spielt es keine Rolle, wo die Software ausgeführt wird: Auf allen Knoten wird garantiert, dass sie gleich ausgeführt werden und die gleichen Ergebnisse wie auf allen anderen Knoten erzielt werden.

Die intelligenten Verträge von Ethereum sind Turing-vollständig, dh sie können alles berechnen, was mit genügend Ressourcen berechenbar ist. Die Vollständigkeit zu gewährleisten, ist wichtig, da Ethereum-Smart-Verträge nicht auf die Art der Aktionen beschränkt sind, die sie ausführen können. Sie können alle komplexen Algorithmen ausführen, die Sie entwerfen können.

Der Softdrink-Smart-Vertrag beginnt beim Käufer. So könnte der Austausch stattfinden:

  • Der Käufer erstellt eine Transaktion, die dem Verkäufer Geld als Gegenleistung für das Erfrischungsgetränk sendet. Der Käufer sendet die Adresse des Verkäufers als Eingabe an die Adresse des Smart-Vertrags. Der Smart-Vertrag wird ausgeführt, um die Transaktion auszuführen. Es wird überprüft, ob Sie genug Geld auf Ihrem Konto haben, um das Erfrischungsgetränk zu bezahlen. Der Smart-Vertrag bestätigt, dass der Verkäufer das gewünschte Erfrischungsgetränk auf Lager hat. Der Smart-Vertrag zieht Geld vom Käufer ab, sendet das Geld an den Verkäufer und weist den Verkäufer an, das Erfrischungsgetränk an den Käufer zu senden. Im selben Schritt sendet der Smart-Vertrag die erforderliche Steuer an das Steuerbehördenkonto und den verbleibenden Betrag an das Konto des Verkäufers.

Der Vorgang mag mühsam erscheinen, ist jedoch unkompliziert und stellt sicher, dass jede Transaktion auf die gleiche Weise ausgeführt wird. Dieses Beispiel ist für den realen Austausch zu einfach, und einige wichtige Details wurden ausgelassen. Für den Anfang gehen Sie davon aus, dass der Verkäufer das Erfrischungsgetränk an den Käufer sendet. Ein realer Austausch erfordert eine zusätzliche Schutzschicht für beide Seiten. Intelligente Verträge verwenden jederzeit Treuhandkonten, um das Geld eines Käufers zu halten, bis der Verkäufer die Waren oder Dienstleistungen liefert.

Intelligente Verträge stellen die Governance und Berechenbarkeit von Ethereum sicher. Ohne sie wäre Ethereum nur eine coole verteilte Speichertechnik. Aber mit ihnen ist Ethereum eine stabile dezentrale Plattform, die Interaktionen und den Austausch zwischen nicht vertrauenswürdigen Benutzern unterstützt, einschließlich äußerst komplexer Transaktionen. Es ist leicht zu erkennen, welche Schritte erforderlich sind, um ein Erfrischungsgetränk zu kaufen.

Andere Transaktionen, wie Immobilientransaktionen, sind weitaus komplexer, haben viele Abhängigkeiten und Anforderungen und beziehen im Allgemeinen mehrere Personen und Organisationen mit ein. Mit intelligenten Verträgen von Ethereum können Entwickler Software entwickeln, die Zwischenhändler überflüssig macht, komplexe Prozesse rationalisiert und die Gesamtkosten und -zeit reduziert, die erforderlich sind, um selbst die komplexesten Austauschvorgänge abzuschließen.

Einführung von Solidity, der Sprache der intelligenten Verträge

Intelligente Verträge sind Softwareprogramme. Mit genügend Ressourcen können intelligente Verträge alles tun, was jede andere Software kann. Sie können Ethereum Smart-Verträge in mehreren Sprachen schreiben:

  • Mutan: Eine ältere, intelligente Vertragssprache, die 2015 veraltet war. LLL: Eine Lisp-ähnliche Sprache, die offensichtlich so entwickelt wurde, dass sie der Sprache Lisp ähnelt. Obwohl LLL weiterhin unterstützt wird, wird es für viele aktuelle Smart-Contract-Projekte nicht verwendet. Serpent: Eine Sprache, die der Python-Sprache ähnelt. Ab September 2017 wird Serpent für die aktuelle Entwicklung nicht empfohlen. Bamboo: Eine relativ neue Sprache, die sich darauf konzentriert, Blockchain-Statusübergänge explizit zu machen und Probleme mit dem Wiedereintritt von Code zu vermeiden. Viper: Eine weitere relativ neue Sprache, die sich auf Sicherheit und Einfachheit konzentriert. Solidität: Derzeit die beliebteste Entwicklungssprache für Smart Contracts. Solidity ähnelt der JavaScript-Sprache und bietet eine umfassende Sprache für die Entwicklung von allgemeinen Smart-Verträgen.

Solidität ist die beliebteste Sprache für intelligente Verträge und die Sprache, mit der Sie am ehesten konfrontiert werden.

Wenn Sie mit JavaScript vertraut sind, ist es ein wenig einfacher, Solidity zu erlernen. Wenn Sie nicht viel JavaScript kennen, ist das in Ordnung. Im Erdgeschoss lernen Sie die Grundlagen der Solidität. Beginnen wir mit einem Programm, das Ihnen vielleicht bekannt vorkommt: dem allgegenwärtigen Programm "Hallo Welt".

Schauen Sie sich diesen sehr einfachen, intelligenten Vertragscode an:

Pragma Solidität ^ 0,4,25;
Vertrag helloWorld {
Funktion printHelloWorld () public constant returns (string) {
return 'Hallo Welt!';
}
}

So sieht ein Solidity-Smart-Vertrag aus! Nach der Überschrift definieren Sie Ihren Vertrag und dann alle Funktionen, die das Innenleben des Programms ausmachen. Nachdem Sie einen intelligenten Vertrag geschrieben und getestet haben, können Sie ihn in einer Blockchain bereitstellen und dann ausführen. Wenn Sie alles richtig gemacht haben, zeigt Ihnen Ihr Smart-Vertrag die legendäre „Hallo Welt!“ - Nachricht.

Wenn Sie mehr über Solidity erfahren, werden Sie feststellen, dass es JavaScript sehr ähnlich sieht, sich aber auch wie C ++ und Python anfühlt. Die Entwickler von Solidity basierten die Sprache auf allen drei Sprachen. Es unterstützt Vererbung, Bibliotheken und benutzerdefinierte Typen, die sehr komplex sein können. Es ist auch eine statisch typisierte Sprache, dh Sie müssen explizite Datentypen für die von Ihnen erstellten und verwendeten Variablen angeben.

Solidity ist vor allem eine intelligente Vertragsentwicklungssprache. Obwohl es aussieht wie andere Sprachen, enthält es Grundelemente und eine Orientierung, die für die Interaktion mit der Ethereum-Blockchain entwickelt wurde.

Wenn Sie sich mit intelligenten Verträgen und Solidität auskennen, wird Ihre Interaktion mit Ethereum viel einfacher.

  1. Personal FinanceTop 10 Ethereum-Anwendungen
Ethereum für Dummies

Von Michael Solomon

Die Blockchain-Technologie im Allgemeinen und Ethereum im Besonderen erfreuen sich immer größerer Beliebtheit. Immer mehr Organisationen setzen Ethereum für neue Projekte ein. Die Vielfalt der Projekte, die Ethereum als Grundlage verwenden, ist nahezu unbegrenzt.

Ein kurzer Blick auf die dApps-Website zeigt, wie viele Ethereum-Projekte in verschiedenen Kategorien existieren und wie beliebt sie sind. Entdecken Sie eine große Anzahl beliebter dApps. Diese Ressource ist eine großartige Möglichkeit, um über Trend-dApps auf dem Laufenden zu bleiben.

Obwohl diese Ethereum-Projekte nur eine kleine repräsentative Auswahl dessen sind, was es gibt, werden sie Ihnen einen Einblick in das geben, was andere mit Ethereum tun. Vielleicht finden Sie Ideen für neue und aufregende Möglichkeiten, mit denen Ethereum Ihre Organisation verändern kann.

Trotz der Funktionsvielfalt in jedem Projekt sind alle auf Ethereum aufgebaut. Jedes Projekt verwendet intelligente Verträge, die auf dem EVM ausgeführt werden, um Funktionen auszuführen, und die Ethereum-Blockchain, um Statusdaten zu speichern.

Gnosis sagt zukünftige Ereignisse mit Ethereum voraus

Gnosis ist eines der vielen innovativen Unternehmen, die Ethereum auf interessante Weise einsetzen. Gnosis bietet eine Plattform für Prognosemärkte. Das Gnosis Olympia-Produkt ist die Alpha-Version ihrer Plattform. Mit Olympia erhalten die Teilnehmer ein erstes Guthaben an OLY-Token und tun so, als könnten sie Geld in Olympia verwenden, um Vorhersagen zu einer Vielzahl von Themen zu treffen. Die Teilnehmer können GNO-Token für erfolgreiche Vorhersagen gewinnen.

Teilnehmer, die Vorhersagen erstellen, verknüpfen die Vorhersage mit einem Orakel zur Ergebnisvalidierung. Zum Beispiel kann der wahre Wert eines bestimmten Aktienkurses zu einem bestimmten Datum und einer bestimmten Uhrzeit leicht durch Vergleichen der Vorhersage mit veröffentlichten Aktienkursen überprüft werden. Die Aktienkursdatenquelle wäre das Orakel, das die Aktienkursvorhersage zur Validierung verwendet.

Gnosis Olympia bietet den Teilnehmern die Plattform, um die Wahrscheinlichkeit eines Ergebnisses zu bestimmen. Sie können Olympia verwenden, um einen erwarteten Wert eines Wertgegenstands zu bestimmen. Wenn Sie den Wert eines Artikels kennen, können Sie die Verhandlungen effizienter gestalten.

Ein weiterer möglicher Anwendungsfall sind Wahlen. Verteilte Prognosemärkte könnten entstehen, um bessere Prognosen für bevorstehende Wahlen zu liefern. Politische Umfragen wurden wegen mangelnder Genauigkeit kritisiert, und neu entstehende Produkte könnten dazu beitragen, ihre Genauigkeit zu erhöhen.

Augur Crowdsources Ereignisvorhersagen

Augur ist ein weiteres Angebot in der Kategorie Prognosemarkt. Wie bei Gnosis können Teilnehmer Ereignisse aufzeichnen und dann eine Vorhersage über den Ausgang des Ereignisses abgeben. Augur belohnt die Teilnehmer mit REP-Token im Austausch für die Bereitstellung genauer Daten in Bezug auf die Veranstaltung und für die Abstimmung mit der Mehrheit.

Augur basiert auf Crowdsourcing-Daten und wird durch die Einbeziehung von Teilnehmerdaten genauer. Aus diesem Grund erhalten Sie eine Belohnung, wenn Sie genaue Daten übermitteln. Ein Orakel validiert Ereignisdaten und -ergebnisse, der Schwerpunkt liegt jedoch weiterhin auf Crowdsourcing-Eingaben.

Augur ist vollständig dezentralisiert und hängt von intelligenten Verträgen und der Ethereum-Blockchain ab. Ziel ist es, ein globales Portal bereitzustellen, das bessere Prognosen über die Ergebnisse künftiger Ereignisse generiert, die weltweit ein breites Interesse finden.

Aragon verwaltet dezentrale Organisationen mit Ethereum

Aragon ist eine Plattform für die Verwaltung dezentraler Organisationen, die häufig unter mangelnder Infrastruktur und Funktionalität leiden. Aragon-Teilnehmer erwerben Aragon Network Tokens (ANT) an einem der beliebten Kryptowährungsbörsen und zahlen mit ANT für Aragon-Dienste.

Aragon erleichtert die verteilte, autonome Unternehmensführung, das Sammeln von Spenden und die Buchhaltung. Beispielsweise können Aragon-Teilnehmer Fragen zur Abstimmung an ihre Organisation richten. Die Umgebung von Aragon kümmert sich um alle Details des Abstimmungsprozesses, was zu überprüften Wahlergebnissen führt. Abstimmungen sind nur ein Merkmal der Plattform.

Das Aragon-Projekt hat zum Ziel, die Teilnehmer dezentraler Organisationen zu stärken, indem die Teilnahme gefördert und finanzielle Transparenz geschaffen wird. Mit Aragon können Organisationen außerhalb des traditionellen hierarchischen, zentralisierten Modells existieren.

Züchte und sammle Kryptokätzchen in Ethereum

Bei Ethereum geht es nicht nur um Kryptowährung und Geschäftsfunktionen. Sie können auch einige lustige Spiele im Ethereum-Raum finden. Cryptokitties, eines der ersten auf Ethereum basierenden Spiele, ist immer noch beliebt. Dieses revolutionäre Spiel führte Blockchain-basierte Kryptokollektive ein. Das ist richtig. Kryptokätzchen sind sammelbar.

Jede Kryptokitty ist ein Unikat. Technisch gesehen ist jede Kryptokitty ein ERC-721-Token und verfügt über einen einzigartigen Satz von Kattributen (Kryptokitty-DNA), die von den Eltern jeder Kryptokitty stammen. Das ist richtig, Sie erstellen keine Kryptokätzchen. du züchtest sie.

Und genau wie im wirklichen Leben können Sie entweder darauf vertrauen, dass genetisches Glück eine seltene und wertvolle Kryptokitty erzeugt, oder Sie können einer anderen Kryptokitty eine Vererbungsgebühr für die Fähigkeit zahlen, mit deren Kryptokitties zu züchten. Jede Kryptokitty hat einen anderen Wert, basierend auf der Seltenheit ihrer Attribute. In der Vergangenheit wurden einige Kryptokätzchen mit seltenen Attributen (und einem günstigen ETH-Wechselkurs) für über 100.000 USD verkauft.

Das folgende Bild zeigt die Cryptokitties-Website mit Beispielen einiger Cryptokitties, die jeweils ihre eigenen eindeutigen Attribute aufweisen.

spiele Kryptokätzchen mit Ethereum

Token mit IDEX austauschen

Tausende von ERC-20-Token werden verwendet. Bevor Sie mit einem Token etwas bezahlen können, müssen Sie es erwerben. Einige Token sind kostenlos, andere müssen gekauft werden. Um ein Token zu kaufen, müssen Sie Währung oder Kryptowährung austauschen, sodass Sie eine Organisation benötigen, die Austauschdienste bereitstellt.

IDEX ist eine dezentrale Börse (DEX), die sich auf den Handel zwischen Token der ETH und ERC-20 spezialisiert hat. Es bestätigt Transaktionen in seinem Smart-Vertrag, ohne auf das Block-Mining von Ethereum zu warten. Die Fähigkeit von IDEX, Transaktionen in Echtzeit zu bestätigen, ermöglicht es den Händlern, kontinuierlich zu handeln.

Bestellungen werden in der Reihenfolge ihres Eingangs in der Ethereum-Blockchain erfasst, aber Händler müssen nicht auf ihre Token warten. Sie erhalten sie, sobald ihre Bestellung vom smart Vertrag genehmigt wurde.

Dieses Bild zeigt die IDEX-Website mit einer Liste der aktivsten Ethereum-ERC-20-Token.

Ethereum IDEX

Verwenden Sie Ethereum, um Ihre digitale Identität mit uPort zu erstellen

Die uPort dApp ist eine innovative Initiative mit einem einfachen Zweck: Bereitstellung einer dezentralen Identität für alle, die in der Ethereum-Blockchain gespeichert sind. Benutzer registrieren ihre Identität über uPort. Nach der Authentifizierung können Benutzer die digitale Identität von uPort verwenden, um digitale Verträge zu unterzeichnen und mit anderen Diensten zu interagieren, für die validierte Identitäten erforderlich sind.

Die uPort dApp bietet zahlreiche Verwendungsmöglichkeiten. Eine der sichtbarsten Aufgaben, die uPort lösen könnte, ist die Bereitstellung von Personen, die physische Identifikationsgegenstände verloren haben, um bei Bedarf weiterhin einen Identitätsnachweis zu erbringen. Überlebende von Katastrophenereignissen haben oft keine Identifikation mit ihnen. Durch den Zugriff auf eine unveränderliche digitale Identifikation kann dieses Problem behoben werden. Digitale Identitäten können bei der Einwanderung, bei Abstimmungen und in anderen Fällen hilfreich sein, in denen eine Identifizierung erforderlich ist.

Teilen Sie Ihre Gedanken zur Blockchain mit EtherTweet

Wie der Name schon sagt, ist EtherTweet eine Blockchain-Alternative zu Twitter. Der Hauptunterschied besteht darin, dass EtherTweet zensurfrei ist, da alle Nachrichten in der Ethereum-Blockchain gespeichert sind. Sie können bis zu 160 Zeichen posten.

Obwohl sich die Preise basierend auf dem aktuellen Wert von ether ändern, kostet die Einrichtung eines EtherTweet-Kontos etwa 2 Cent und jeder Tweet etwa ein Drittel Cent. Das folgende Bild zeigt die EtherTweet-Website mit Anweisungen zur Verwendung der Weboberfläche zum Posten und Lesen von Tweets.

EtherTweet

Verwenden Sie Ethereum, um mit EthLance nach Jobs zu suchen

EthLance ist eine verteilte Plattform, auf der sich Freiberufler und Arbeitgeber gegenseitig finden, sich auf Jobs einlassen und Zahlungen in Ether überweisen können. EthLance ist Teil des district0x-Netzwerks, das aus dezentralen Marktplätzen und Communities besteht. Eine der herausragenden Eigenschaften von EthLance ist, dass keine Gebühren erhoben werden.

Die Mitgliedschaft bei EthLance ist kostenlos, und sowohl Freiberufler als auch Arbeitgeber können das Netzwerk nutzen, um Personal mit offenen Stellen zu verbinden. Sobald die Arbeit abgeschlossen ist, können Arbeitgeber Freiberufler direkt mit Ether bezahlen. Die gesamte EthLance-Plattform läuft in Ethereum. Die Transparenz von EthLance und sein Null-Gebühren-Modell machen es zu einer großartigen Ressource für Selbstständige.

Das folgende Bild zeigt die EthLance-Website mit ihrer „Funktionsweise“ -Grafik, die zeigt, wie Freiberufler und Arbeitgeber die Dienste nutzen können. Um mehr über EthLance zu erfahren, navigieren Sie zu ihrer Website unter.

EthLance

Mit TenX mit Äther und anderen Kryptowährungen bezahlen

TenX ermöglicht es Kunden, Ether und andere Kryptowährungen bei Einzelhändlern zu verwenden, um für Einkäufe auf der ganzen Welt zu bezahlen. Obwohl die meisten Einzelhändler Kryptowährungen noch nicht direkt unterstützen, hat TenX eine eigene Reihe von Krypto-Debitkarten und -Kreditkarten entwickelt, die mit der proprietären Krypto-Brieftasche verknüpft sind. Die TenX-Karten bilden die Brücke zwischen Kryptowährungen und herkömmlichen Zahlungsmitteln.

TenX zeichnet alle Zahlungstransaktionen in der Blockchain auf und plant ein größeres Netzwerk, über das Apps über mehrere Blockchains hinweg kommunizieren können.

Das folgende Bild zeigt die TenX-Website mit einem Bild der TenX-Debitkarte.

TenX Debitkarte

Verwenden Sie Ethereum, um mit Golem Rechenleistung zu kaufen und zu verkaufen

Das letzte innovative Projekt von Ethereum ist Golem. Golem ist ein dezentraler Marktplatz für den Kauf und Verkauf von Rechenleistung. Unabhängig davon, ob Sie über mehr Rechenleistung verfügen, die Sie verkaufen möchten, oder vorübergehend mehr Rechenleistung mieten müssen, um ein Projekt abzuschließen, kann Golem Ihnen helfen. Sie können Golem-Supercomputer verwenden, nachdem Sie ein natives GNT-Token eingezahlt haben, oder Sie können GNT verdienen, wenn andere Ihre überschüssige Rechenleistung nutzen.

Golem-Website

Wie bereits erwähnt, kann Ethereum für alle möglichen kreativen Projekte eingesetzt werden. Wie wird Ihre Organisation Ethereum einsetzen?

  1. Persönliche FinanzenVerschiedene Arten von Ethereum-Geldbörsen
Ethereum für Dummies

Von Michael Solomon

Alles, was in einem Ethereum-Block gespeichert ist, hat eine Adresse, damit der Eigentümer seine Daten in Blöcken finden und darauf zugreifen kann. In Ethereum-Blöcken gespeicherte Daten können Crypto-Assets sein, z. B. Ether- oder andere Token, Smart Contracts oder andere Daten. Die Adresse der Daten identifiziert den Eigentümer dieser Daten. Und wenn es um Krypto-Assets geht, kann nur der Eigentümer auf diese Daten zugreifen. Nun, jeder kann auf verschlüsselte Daten zugreifen, aber nur der Eigentümer kann die Daten entschlüsseln und das Asset konsumieren.

Die Person, die den privaten Schlüssel steuert, der zum Verschlüsseln der Daten in der Blockchain verwendet wird, steuert die Daten. Sie können ein Krypto-Asset nur dann beanspruchen, wenn Sie nachweisen, dass Sie den privaten Schlüssel kontrollieren, der mit der Adresse eines Krypto-Assets verknüpft ist.

Adressen in Ethereum sind die letzten (am weitesten rechts stehenden) 20 Bytes des Hash des öffentlichen Schlüssels des Besitzers. Um eine Adresse zu berechnen, berechnen Sie einfach den Keccak-256-Hash eines öffentlichen Schlüssels und kopieren Sie dann die 20 Bytes ganz rechts. Der resultierende Wert ist die Adresse für den öffentlichen Schlüssel dieses Kontos. Der Code zum Berechnen einer Adresse aus einem öffentlichen Schlüssel sieht folgendermaßen aus:

addr = right (keccak256 (pubkey), 20)

Die einzige Möglichkeit, Ihre Krypto-Assets zu schützen, besteht darin, Ihre privaten Schlüssel zu schützen. Sie benötigen einen Mechanismus zum Speichern Ihres privaten Schlüssels, damit Sie darauf zugreifen können, aber niemand anderes kann dies. Die Hauptfunktion einer Brieftasche besteht darin, einen oder mehrere private Schlüssel für den Zugriff auf Blockchain-Daten zu speichern.

Die perfekte Ethereum-Brieftasche macht es Ihnen wirklich leicht, an Ihre Schlüssel zu gelangen, und es ist niemandem möglich, auf Ihre Schlüssel zuzugreifen. Alle Brieftaschen gleichen diese beiden Ziele aus und schließen einen Kompromiss zwischen dem Nutzen (wie einfach es ist, auf Ihre Schlüssel zuzugreifen) und der Sicherheit (wie sicher Ihre Schlüssel vor Angriffen sind).

Arten von Ethereum Wallets

Private Schlüssel können auf verschiedene Arten gespeichert werden, von sehr sicher bis sehr leicht zugänglich. Sie sollten überlegen, wie wichtig Ihre privaten Schlüssel sind, und einen für Sie geeigneten Brieftaschentyp auswählen. Es folgen die Hauptkategorien von Brieftaschen:

  • In Software-Wallets werden private Schlüssel in Datendateien gespeichert, auf die Benutzer problemlos zugreifen können. In der Hardware-Brieftasche werden private Schlüssel auf einem physischen Chip gespeichert, der in einem Gerät wie dem Ledger Nano S gespeichert ist. Papiermappen sind Zettel mit den darauf aufgedruckten Schlüsseln.

Software Ethereum Brieftaschen

Software Wallets sind Programme, die private Schlüssel speichern und Benutzern das Abrufen und Verwenden dieser Schlüssel erleichtern. Nachdem Sie Ihre Brieftasche eingerichtet haben, können Sie auf Ihre Schlüssel zugreifen, indem Sie eine Benutzer-ID und ein Kennwort oder eine verschlüsselte Datei angeben, die nur Sie besitzen. Software Wallets lassen sich in zwei Hauptkategorien einteilen: Hot Wallets und Cold Wallets.

Ethereum Hot Wallet

In einer Hot Wallet werden Ihre Schlüssel online gespeichert. Sie können von überall auf der Welt einfach auf Ihre Schlüssel und Ihr Ethereum-Guthaben zugreifen. Sie benötigen lediglich eine Internetverbindung und Zugangsdaten. Heiße Brieftaschen sind zwar praktisch, doch diese Bequemlichkeit ist mit Kosten verbunden. Wenn jemand Ihre Zugangsdaten stiehlt, kann er oder sie Ihr Ethereum-Vermögen stehlen.

Außerdem müssen Sie der Brieftaschenorganisation vertrauen, in der Ihre Schlüssel gespeichert sind. Wenn Ihre Ethereum-Brieftaschenorganisation gehackt wird oder nicht mehr funktioniert, können Sie alles verlieren. Wenn diese Organisation Gegenstand einer Untersuchung ist, können Ihre Informationen weitergegeben oder Ihr Ethereum-Vermögen eingefroren werden. Sie geben die Kontrolle auf, um Bequemlichkeit zu erhalten.

Ethereum kalte Brieftasche

Eine kalte Brieftasche ist eine Brieftasche, in der Sie Ihre Schlüssel offline speichern. Sie müssen Ihre Schlüssel nur angeben, wenn Sie auf Ihre Ethereum-Assets zugreifen möchten. Sie können Schlüssel auf verschiedene Arten offline speichern. Für diesen Ansatz sind jedoch einige zusätzliche Schritte erforderlich, wenn Sie Krypto-Assets kaufen oder verkaufen oder mit intelligenten Verträgen interagieren möchten.

Kalte Brieftaschen sind zwar etwas weniger praktisch, können aber sicherer sein. Mit dieser Art von Ethereum-Brieftasche haben Sie die Kontrolle über Ihre Schlüssel und können alle Vorsichtsmaßnahmen treffen, die Sie zum Schutz Ihrer Schlüssel für erforderlich halten. Die Verwendung einer kalten Brieftasche bietet Ihnen eine Alternative und verringert die Gefahr, dass ein Angreifer in Ihre Online-Brieftasche eindringt und viele Schlüssel einsammelt.

Mit einer kalten Brieftasche sind Sie für den Schutz Ihrer Schlüssel verantwortlich. Sie müssen sicherstellen, dass jeder Ort, an dem Sie Ihre Schlüssel aufbewahren, so sicher wie möglich ist. Wenn in der Ethereum-Blockchain viel Wert gespeichert ist, stellen Sie sicher, dass Ihre Schlüsselspeicherorte so sicher wie möglich sind und nur für Sie zugänglich sind.

Heißes Portemonnaie gegen kaltes Portemonnaie für Ethereum

Wie entscheiden Sie, ob Sie für Ethereum eine heiße oder eine kalte Brieftasche verwenden? Wenn Sie mehr Komfort wünschen und der Sicherheit eines Online-Portemonnaie-Anbieters vertrauen möchten, ist ein Hot Wallet möglicherweise die beste Wahl. Wenn Sie nicht vorhaben, mit einem bestimmten Ethereum-Konto etwas Wertvolles zu speichern, ist eine Hot Wallet am einfachsten und für dieses Konto möglicherweise am sinnvollsten.

Auf der anderen Seite, wenn Sie Online-Anbietern misstrauen und die Verantwortung für die Sicherung Ihres Schlüsselspeichers gerne übernehmen, gibt Ihnen eine kalte Brieftasche mehr Kontrolle. Oder wenn Sie Vermögenswerte mit hohem Wert speichern möchten, sollten Sie die Verantwortung für den Schutz Ihrer eigenen Sachen übernehmen. Sie müssen ein wenig Bequemlichkeit opfern, aber es ist selbst unpraktisch, alle Ihre Kryptowährungen zu verlieren.

Arten von Wallet-Client-Software für Ethererum

Nachdem Sie sich entschieden haben, Ihre Schlüssel in einer heißen oder kalten Brieftasche zu speichern, ist Ihre nächste Wahl die Art (en) der Brieftaschen-Client-Software. Wenn Sie sich für eine Ethereum-Software-Brieftasche zum Speichern Ihrer Schlüssel entscheiden, müssen Sie diese Software irgendwo ausführen. Sie haben mehrere Möglichkeiten:

  • Webbrieftaschen: Brieftaschen-Software, auf die Sie über einen Webbrowser zugreifen. Desktop-Brieftaschen: Software, die auf einem Desktop- oder Laptop-Computer ausgeführt wird. In den meisten Fällen können Desktop Wallets auf Computern mit Microsoft Windows, macOS oder Linux ausgeführt werden. Mobile Geldbörsen: Ethereum-Geldbörsen für mobile Geräte. Die gängigste Brieftaschen-Software läuft auf den Betriebssystemen iOS und Android für Smartphones und Tablets.

Sie müssen nicht nur einen Ethereum-Brieftaschentyp auswählen. Sie können je nach Bedarf mehrere Brieftaschen verwenden. Schlüssel für hochwertige Krypto-Assets müssen sorgfältiger geschützt werden, während Schlüssel für geringwertige Krypto-Assets für einen einfacheren Zugriff online gespeichert werden können.

Hardware Ethereum Geldbörsen

Eine Ethereum-Brieftaschenoption, die sicherer ist als die meisten Software-Brieftaschen, ist eine Hardware-Brieftasche. In einer Hardware-Brieftasche werden private Schlüssel auf einem physischen Chip gespeichert. Sie können das Gerät, in dem sich der Chip befindet, mit vielen verschiedenen Arten von Computern und Mobilgeräten verbinden und so mehrere Möglichkeiten für den Zugriff auf die Schlüssel bereitstellen. Die meisten Hardware-Portemonnaies bieten auch physische Tasten, um den Zugriff auf Ihre Schlüssel zu verwalten.

Der Vorteil einer physischen Geldbörse ist die erhöhte Sicherheit. Sie verbinden Ihr Gerät nur mit einem Computer, wenn Sie auf Ihre Blockchain-Assets zugreifen möchten. Wenn das Gerät nicht angeschlossen ist, befinden sich Ihre Schlüssel sicher im physischen Gerät. Ein Angreifer müsste Ihr Brieftaschengerät stehlen und Ihre Zugangsdaten kennen, um an Ihre Schlüssel zu gelangen.

Der Nachteil einer physischen Geldbörse ist der Verlust an Komfort und Redundanz. Sie müssen Ihre physische Brieftasche jedes Mal an einen Computer oder ein Gerät anschließen, wenn Sie auf Ihre Blockchain-Assets zugreifen möchten. Wenn Sie häufig auf Assets zugreifen, kann dieser Vorgang ärgerlich werden.

Wenn Sie Ihr physisches Gerät verlieren, können Sie möglicherweise nie wieder auf Ihre Blockchain-Assets zugreifen. Aus diesem Grund erstellen viele physische Brieftaschenbenutzer mindestens eine Sicherungskopie ihrer Schlüssel und achten besonders darauf, die Kopien an einem sicheren Ort aufzubewahren.

Brieftaschen aus Papier

Die letzte Art von Ethereum-Brieftasche kann die sicherste sein. Wie der Name schon sagt, ist eine Brieftasche aus Papier buchstäblich nur ein Stück Papier. Nachdem Sie ein Ethereum-Konto erstellt und Schlüssel erstellt haben, können Sie diese Schlüssel zum Speichern einfach auf Papier drucken. Bei den meisten Optionen zur Schlüsselgenerierung haben Sie die Wahl, Ihre Schlüssel zu drucken. Wenn Sie diese Option auswählen, erhalten Sie eine Kopie des privaten und des öffentlichen Schlüssels sowie einen QR-Code für jeden Schlüssel.

Papier Ethereum Brieftasche

Wann immer Sie auf Ihre Blockchain-Assets zugreifen möchten, z. B. um Ether zu kaufen oder zu verkaufen, können Sie entweder Ihren privaten Schlüssel eingeben oder den QR-Code scannen. Natürlich muss die Software, mit der Sie auf Ethereum zugreifen, das QR-Scannen unterstützen.

Papiermappen sind nur dann sicher, wenn Sie Ihr Papier geheim halten. Schützen Sie das Stück Papier sorgfältig. Jeder, der das Papier greifen oder sogar fotografieren kann, kann alle Ihre Vermögenswerte von Ethereum stehlen. Und genau wie bei Hardware-Ethereum-Brieftaschen empfiehlt es sich, eine Sicherungskopie zu erstellen und diese an einem sicheren Ort aufzubewahren.

Unabhängig davon, für welche Art von Ethereum-Brieftasche Sie sich entscheiden, sollten Sie Vorsichtsmaßnahmen treffen, um Ihr Vermögen zu schützen.

  1. Persönliche FinanzenWählen Sie die beste Ethereum-Brieftasche für sich aus
Ethereum für Dummies

Von Michael Solomon

Sie haben viele Möglichkeiten für Ethereum Geldbörsen. Hier lernen Sie die beliebtesten Typen kennen. Anhand dieser Informationen können Sie entscheiden, welche Ethereum-Brieftasche Ihren Anforderungen am besten entspricht.

Ethereum Brieftasche

Wenn Sie sich nach dem Lesen nicht sicher sind, welches die beste Ethereum-Brieftasche ist, machen Sie sich keine Sorgen - wählen Sie die Brieftasche aus, die gut aussieht, und verwenden Sie sie. Wenn Sie später auf eine andere Brieftasche wechseln möchten, ist der Vorgang einfach. Und keine Regel schreibt vor, dass Sie nicht mehrere Ethereum-Brieftaschen haben können. (Es ist nicht so, als würde man mehrere Brieftaschen in die Gesäßtasche stecken!)

Software Ethereum Brieftaschen

Software Wallets sind einfach Programme, die Ihre Schlüssel generieren, speichern und verwalten. Als Optionen stehen Ihnen Web Wallets, Desktop Wallets und Mobile Wallets zur Verfügung. Die beiden Hauptunterschiede zwischen den Software Wallet-Optionen bestehen darin, wo sie ausgeführt werden und wo sie Ihre Schlüssel speichern.

Webbrieftaschen für Ethereum

Webbrieftaschen sind beliebt für den gelegentlichen Einsatz in Ethereum. Sie sind einfach zu bedienen und ermöglichen einen bequemen Zugriff auf Ihre Schlüssel. Zum Öffnen Ihrer Ethereum-Brieftasche benötigen Sie lediglich eine Internetverbindung, einen Webbrowser und Ihre Anmeldeinformationen.

Ethereum Desktop-Brieftaschen

Desktop Wallets sind Softwareprogramme, die auf einem PC ausgeführt werden. In den meisten Desktop-Brieftaschen werden Schlüssel lokal gespeichert. Sie müssen also Zugriff auf Ihren Computer haben, um die Ethereum-Brieftasche zu öffnen.

Mobile Geldbörsen von Ethereum

Mobile Wallets ähneln Desktop Wallets, die Software wird jedoch auf mobilen Geräten ausgeführt. Ihre Schlüssel werden normalerweise auch auf dem Mobilgerät gespeichert. Eine mobile Geldbörse ist eine gute Option, wenn Sie Ihre Schlüssel immer bei sich haben möchten. Der Nachteil ist, dass Sie bei einem Verlust Ihres Mobilgeräts möglicherweise den Zugriff auf Ihre Ethereum-Ressourcen verlieren. (Deshalb sind Backups immer gut.)

Hardware Ethereum Geldbörsen

Hardware Wallets bieten eine zusätzliche Sicherheitsebene für Ihre Schlüssel, da sie auf einem physischen Chip im Gerät gespeichert sind. Die meisten Hardware-Portemonnaies für Ethereum sind USB-Geräte. Sie greifen auf Ihre Schlüssel zu, indem Sie das Brieftaschengerät an einen Computer oder ein Mobilgerät anschließen und anschließend eine Software ausführen, um auf die Schlüssel zuzugreifen.

Je nach Gerät kann die Software webbasiert sein oder lokal auf dem Computer oder mobilen Gerät ausgeführt werden. Mehrere Software-Wallets bieten die Möglichkeit, in Hardware-Ethereum-Wallets zu integrieren, um die Schlüsselspeicherung noch sicherer zu machen.

Wenn Sie Ihre Schlüssel auf Ihrem eigenen Gerät speichern, müssen Sie Maßnahmen ergreifen, um das Gerät zu sichern. Achten Sie immer auf den Standort des Geräts und erstellen Sie immer eine Sicherungskopie, falls das Gerät verloren geht.

Brieftaschen aus Papier

Eine Brieftasche aus Papier ist die einfachste Art von Ethereum-Brieftasche. Nachdem Sie ein Konto erstellt und Ihre Schlüssel generiert haben, drucken Sie die Schlüssel einfach auf ein einfaches Blatt Papier. Ihre Schlüssel sind nur auf dem Papier vorhanden, auf dem Sie sie gedruckt haben. Sie speichern sie nicht mit Software oder auf einem Hardwaregerät.

Der Vorteil einer Ethereum-Brieftasche aus Papier besteht darin, dass Sie die Kontrolle über Ihre Schlüssel haben und diese von niemand anderem berührt werden können. Das ist auch der größte Nachteil. Sie müssen zusätzliche Vorkehrungen treffen, um eine Sicherungskopie sicher aufzubewahren, falls etwas mit Ihrem Blatt Papier passiert.

Welches Ethereum-Portemonnaie Sie auch immer auswählen, es sollte sorgfältig gegen die Vor- und Nachteile abgewogen werden und letztendlich, wie Sie es verwenden möchten.

  1. Persönliche FinanzenWas ist Ethereum?
Ethereum für Dummies

Von Michael Solomon

Ethereum ist eine umfassende, dezentrale Anwendungsplattform, die den Funktionsumfang über das hinaus erweitert, was vor der Blockchain-Technologie möglich war. Was unterscheidet es von anderen dezentralen Plattformen? Hier ist ein bisschen Ethereum-Hintergrund.

Vorstellung von Ethereum

Bitcoin war die erste Blockchain-Technologie-Anwendung. Es war revolutionär und definierte die erste weit verbreitete digitale Währung, die Kryptowährung. Der Kryptoteil des Namens bezieht sich auf die Verwendung von kryptografischen Hashes, um die Integrität der Blockchain sicherzustellen. Das gemeinsam genutzte Hauptbuch speichert buchstäblich eine Kopie jeder Kryptowährungstransaktion, die von allen Knoten überprüft wird.

Mit diesem Ansatz erstellte bitcoin eine permanente Aufzeichnung jedes Austauschs ihrer Kryptowährung. Und da Kontoinhaber nur über eine Adresse identifiziert werden, genießt Bitcoin seit jeher ein gewisses Maß an Anonymität.

Obwohl Bitcoin-Adressen nicht direkt mit Personen verknüpft sind, verfügen viele Börsen über Aufzeichnungen zu Identitäten, die sich auf Adressen beziehen. Irgendwann müssen Sie Ihre Kryptowährung in echte Währung umtauschen. An diesem Umschaltpunkt konzentrieren sich viele Strafverfolgungsbeamte darauf, Kriminelle mithilfe der Kryptowährung aufzuspüren.

Als Bitcoin immer beliebter wurde, sahen die Forscher mehr Anwendungen für die Blockchain-Technologie jenseits der Kryptowährung. Im Jahr 2013 veröffentlichte Vitalik Buterin, Mitbegründer des Bitcoin-Magazins, ein Whitepaper, das eine neue, funktionalere Blockchain-Implementierung vorschlug. Dieser neue Vorschlag betraf die Ethereum-Blockchain. Nachdem das Interesse geweckt und technische und finanzielle Unterstützung erhalten worden war, wurde die Ethereum Foundation, eine schweizerische gemeinnützige Organisation, gegründet und wurde zum Entwickler von Ethereum.

Ethereum wurde nicht nur zum Austausch von Kryptowährung erstellt. In der Tat wurde es von Anfang an anders gestaltet. Die Kernfunktionen von Ethereum sind der intelligente Vertrag und der Äther.

Ether ist die native Kryptowährung, die von Ethereum unterstützt wird, obwohl Sie Ihre eigenen Token erstellen können, um Wert in vielen anderen Formen auszutauschen. Intelligente Verträge bieten eine Ausführungsumgebung, die die Integrität aller Knoten gewährleistet. Jeder Code, der auf einem Knoten ausgeführt wird, wird auf allen Knoten auf dieselbe Weise ausgeführt. Diese Garantie ermöglicht die Bereitstellung einer Vielzahl von Anwendungen in nicht vertrauenswürdigen Umgebungen.

Die grundlegenden Garantien Ethereum bietet Unterstützung für viele Arten des Werteaustauschs, ohne sich Gedanken über Betrug, Zensur oder die Beteiligung Dritter zu machen. Wenn Sie mit einer Ethereum-Anwendung interagieren, müssen Sie sich nicht auf einen Vermittler verlassen, um Ihre Transaktionen zu vermitteln. Sie benötigen keine Bank, keinen Großhändler oder keinen Transaktionsmakler, um Vertrauen zu schaffen. Aufgrund der Disintermediation von Ethereum können Sie Transaktionen häufig schneller abwickeln, bei weitaus geringeren Servicegebühren und ohne Genehmigung durch externe Behörden.

Während ältere Lösungen für die gemeinsame Nutzung von Daten und Prozessen die Durchsetzung der Integrität durch Drittbehörden erforderten, bietet Ethereum neben der Disintermediation auch die Integrität von Prozessen und Daten. Die Möglichkeiten werden gerade erst erkundet.

Konsens von Ethereum, Bergbau und intelligente Verträge

Ethereum bietet Integrität bei der Implementierung von Unveränderlichkeit und intelligenten Verträgen. Unveränderlichkeit ist eigentlich keine Blockchain-Garantie. Sie können Daten in jedem Block ändern - auch nachdem andere Blöcke zur Blockchain hinzugefügt wurden. Sobald Sie jedoch einen Block ändern, schlagen die Integritätsprüfungen für diesen Block und alle nachfolgenden Blöcke fehl, und Ihr Knoten ist nicht mehr synchron. Anstatt zu sagen, dass die Blockchain unveränderlich ist, ist es genauer zu sagen, dass alle Änderungen (Mutationen) an der Blockchain leicht und sofort erkannt werden.

Das Ethereum basiert auf Demokratie. Jeder Knoten erhält eine gleiche Stimme. Jedes Mal, wenn Knoten einen neuen Block zum Hinzufügen zur Blockchain erhalten, validieren sie den Block und seine Transaktionen und stimmen dann ab, ob der Block akzeptiert oder abgelehnt werden soll. Wenn mehrere unterschiedliche Blöcke von unterschiedlichen Knoten gesendet werden, kann nur einer der Blöcke Stimmen von einer Mehrheit erhalten. Der Block, der mehr als die Hälfte der Stimmen des Netzwerkknotens erhält, wird als neuester Block in die Blockchain aufgenommen.

Eines der ersten Probleme besteht darin, festzustellen, wann ein neuer Block für die Blockchain bereit ist. Wenn zu viele widersprüchliche Blöcke eingereicht werden, wird der Abstimmungsprozess verlangsamt. Mit Ethereum ist es schwierig, neue Blöcke hinzuzufügen, um die Anzahl neuer Blockkollisionen gering zu halten und die Abstimmung zu beschleunigen. Ethereum verwendet ein Konsensprotokoll namens Proof of Work (PoW), das die Regeln für die Validierung und das Hinzufügen neuer Blöcke festlegt. PoW macht das Hinzufügen von Blöcken zur Blockchain schwierig, aber rentabel.

Das Ethereum definiert Äther als seine Kryptowährung. Sie können Ether zwischen Konten übertragen oder verdienen, indem Sie die harte Arbeit des Hinzufügens von Blöcken zur Ethereum-Blockchain erledigen. Der Ethereum PoW-Mechanismus erfordert, dass Knoten eine Zahl finden, die in Kombination mit den Header-Daten des Blocks einen kryptografischen Hash-Wert erzeugt, der mit dem aktuellen Ziel übereinstimmt. Dieser Wert wird angepasst, um die Produktion neuer Blöcke konstant zu halten.

Es ist schwierig, einen Hash-Wert zu finden, der dem aktuellen Ziel entspricht. Sie müssen im Durchschnitt mehr als eine Billiarde Werte ausprobieren, um den richtigen zu finden. Das ist der Punkt. Die Verwendung eines PoW-Mechanismus macht es so schwierig, einen Block zu senden, dass weniger Blöcke gesendet werden, wodurch die Anzahl der Kollisionen verringert wird. Der Knoten, der den richtigen Wert findet, erhält eine kleine Ätherzahlung für den Aufwand. Dieser Vorgang wird als Mining bezeichnet. Der Knoten, der den Preis gewinnt, ist der Miner des Blocks.

Durch das Mining wird die Geschwindigkeit reguliert, mit der neue Blöcke als Kandidatenblöcke übermittelt werden, und es wird eine einfach zu überprüfende Zahl erstellt. Die richtige Nummer zu finden, um das Rätsel zu lösen, ist schwierig, aber die Überprüfung der Nummer ist schnell und einfach. Ein weiterer interessanter Aspekt beim Mining ist, dass der Header jedes Blocks einen Hash aus dem vorherigen Block enthält. Ethereum-Knoten verwenden den Hash, um nicht autorisierte Blockänderungen auf einfache Weise zu erkennen. Wenn sich ein Block ändert, stimmt das Hash-Ergebnis nicht überein und der Block wird ungültig.

Das Mining von Kryptowährung ist auch eine Möglichkeit, mit der Blockchain-Technologie Geld zu verdienen. Der Bergbau ist wettbewerbsfähig geworden, und die meisten heutigen Bergleute investieren in Hochleistungshardware mit mehreren GPUs, um die komplexen Vorgänge auszuführen. Um den Abbauprozess fair zu halten, verwendet Ethereum einen Komplexitätswert, der den Abbauprozess umso schwieriger macht, je schneller die Bergleute werden. Durch Anpassen der Komplexität kann Ethereum die neue Blockfrequenz alle 14 Sekunden auf durchschnittlich einen neuen Block regeln.

Der Klebstoff, der die Ethereum-Umgebung zusammenhält, ist der intelligente Vertrag. Ethereum ist viel mehr als nur ein Finanzbuch, und intelligente Verträge bieten einen Großteil seiner umfassenden Funktionalität. Auf jedem Ethereum-Knoten wird eine Kopie der virtuellen Ethereum-Maschine (EVM) ausgeführt.

Das EVM führt Smart Contract Code auf eine Weise aus, die garantiert, dass Smart Contracts auf allen Knoten auf dieselbe Weise ausgeführt werden und dieselbe Ausgabe erzeugen. Das Ausführen von Smart Contract Code ist nicht optional. Intelligente Verträge werden nach bestimmten Regeln ausgeführt und können nicht unterlaufen oder angehalten werden. Die EVM Smart-Vertragsgarantien bieten eine stabile Plattform für die automatisierte Transaktionsverarbeitung, der Sie vertrauen können. Intelligente Verträge sind die Hauptleistung der Ethereum-Umgebung.

Eine der bekannten Schwachstellen bei Software besteht darin, dass Angreifer manchmal die Kontrollen umgehen und unbeabsichtigte Aktionen ausführen können. Diese Art von Angriff ist in Ethereum schwieriger, vor allem aufgrund der intelligenten Vertragsumsetzung. Angreifer können die Blockchain nicht direkt angreifen und nicht autorisierte Änderungen vornehmen, da solche Änderungen sofort erkannt werden

Der nächstwahrscheinlichste Angriffsvektor ist die intelligente Vertragsschnittstelle zu den Blockchain-Daten. Ethereum garantiert, dass Smart Contract Code, der in Bytecode übersetzt wird, bevor er in die Blockchain geschrieben wird, auf jeder EVM-Instanz auf dieselbe Weise ausgeführt wird. Das EVM bestimmt auch, wann Code ausgeführt wird und welcher Code ausgeführt wird. Angreifer haben nur wenige Möglichkeiten, intelligenten Vertragscode zu nutzen, was Ethereum zu einer noch sichereren Umgebung macht.

Die gesamte Ethereum-Plattform bietet Möglichkeiten, die über die derzeitige Verwendung der Blockchain hinausgehen.

  1. Gestaltungsprinzipien für verteilte Blockchain-Apps
Ethereum für Dummies

Von Michael Solomon

Die Blockchain-Technologie ist ein disruptiver, transformativer Ansatz für die Verwaltung von Daten. Es verspricht, die Art und Weise, wie wir Aufgaben ausführen, die mit vertraulichen Informationen in gemeinsam genutzten Umgebungen umgehen, radikal zu ändern. Kritische Vorgänge mit sensiblen Daten erforderten in der Vergangenheit eine starke zentrale Instanz, um die Datenbesitzer davon zu überzeugen, der Umgebung so weit zu vertrauen, dass sie ihre Daten verwalten kann.

Eines der schwierigeren Hindernisse, die jede Blockchain-dApp überwinden muss, ist der Aufbau von Vertrauen. Benutzer müssen darauf vertrauen, dass die auf der Blockchain ausgeführte Software zuverlässige Maßnahmen zur Gewährleistung der Sicherheit und zum Schutz der Privatsphäre enthält, bevor sie vertrauliche persönliche und geschäftliche Daten bereitstellen.

Sie können einen großen Beitrag zum Aufbau dieses Vertrauens leisten, indem Sie sich an mehrere grundlegende Gestaltungsrichtlinien halten. Wenn Sie die zehn Entwurfsziele für Blockchain-Anwendungen einhalten, die Sie hier finden, werden Sie Ihre Benutzer dazu ermutigen, Ihrer Anwendung ausreichend zu vertrauen, um sie zu verwenden und sich darauf zu verlassen.

Entwerfen Sie Blockchain-Apps für mehr Vertrauen

Einer der Hauptgründe, warum sich die meisten Unternehmen für Blockchain-Lösungen entscheiden, ist die Möglichkeit, Daten zwischen Knoten auszutauschen, die sich nicht gegenseitig vertrauen. Wenn Sie darüber nachdenken, ist dies wirklich eine hohe Messlatte für dApp-Entwickler. Um eine erfolgreiche dApp zu entwickeln, müssen Sie Ihre Benutzer davon überzeugen, Ihrer Software ihre Daten anzuvertrauen, wenn Sie sie an eine große Anzahl anderer Knoten senden, denen Sie nicht vertrauen (und die auch nicht vertrauen).

Vertrauen ist normalerweise (aber nicht immer) transitiv. (Ja, Sie kehren in den Mathematikunterricht zurück. Wenn A = B und B = C, dann A = C. Gern geschehen.) Dies ist die gängigste Art und Weise, wie wir Menschen mit Vertrauen umgehen.

Wenn du Mary vertraust und Joe dir vertraut, ist Joe wahrscheinlich in Ordnung, wenn er Mary vertraut. Nehmen wir an, Sie sind ein Lebensmittelkritiker. Joe vertraut darauf, dass Sie gutes Essen empfehlen. Wenn Sie behaupten, dass Sie Marys Pfirsichkuchen wirklich mögen, ist es wahrscheinlicher, dass Joe ihren Pfirsichkuchen probiert, da Joe Ihrem Geschmack an Lebensmitteln vertraut. In einer vertrauenslosen Umgebung ist dies jedoch nicht der Fall. Bei Blockchain-dApps vertrauen Ihre Benutzer Ihnen, aber Sie vertrauen anderen Benutzern in Ihrem eigenen Blockchain-Netzwerk nicht.

Ihr erstes Entwurfsziel ist ein übergeordnetes Ziel, das Sie als Motivator für alle Entscheidungen im Auge behalten müssen. Viele der nachfolgenden Designziele unterstützen dieses Ziel: Entwerfen Sie Ihre dApps für Vertrauen. Dieses Ziel bedeutet, dass Sie überlegen möchten, was Ihre Benutzer möchten und was ihnen das Gefühl gibt, dass sie Ihrer dApp vertrauen können.

Benutzer müssen wissen, dass Sie sich um ihre Daten kümmern. Ihre dApp sollte nichts verbergen und es einfach machen, zu überprüfen, was gerade passiert. Es sollte eindeutig gute und schlechte Informationen vermitteln und ein allgemeines Wohlbefinden vermitteln. Obwohl dies eine große Herausforderung für Software ist, ist es notwendig, Vertrauen aufzubauen.

Der wichtigste Aspekt beim Entwerfen für Vertrauen ist das Verstehen, wer Ihre Benutzer sind und wie sie sich wohl fühlen. Kurz gesagt, kennen Sie Ihre Benutzer. Wissen Sie, was sie wollen und wie Sie sie davon überzeugen können, dass Sie ihre Zeit nicht verschwenden oder ihr Vertrauen in Sie ausnutzen werden.

Erzwingen Sie die Konsistenz in Blockchain-Apps

Eine der einfachsten Möglichkeiten, Verwirrung zu vermeiden, besteht darin, die Optionen und widersprüchlichen Erfahrungen in Ihren dApps einzuschränken. Microsoft hat vor langer Zeit die Macht in der Konsistenz gelernt. Sie entwickelten Standards für die Interaktion mit Benutzern und untersuchten und definierten jeden Aspekt der Erstellung einer Benutzeroberfläche. Aus diesem Grund fühlen sich Microsoft-Anwendungen ähnlich an.

Wenn Sie eine Microsoft-Anwendung verwendet haben, erkennen Sie mindestens die allgemeine Benutzeroberfläche in anderen Microsoft-Anwendungen. (Und wenn Sie schon eine Weile Microsoft-Produkte verwendet haben, werden Sie sich an die enorme Störung erinnern, die Microsoft bei der Umstellung auf eine kachelbasierte Benutzeroberfläche verursacht hat - hauptsächlich, weil alle mit der älteren Microsoft-Benutzeroberfläche so vertraut waren.)

Wenn Sie beispielsweise die aktuelle Version eines von Ihnen ausgeführten Windows-Programms suchen möchten, können Sie fast immer auf Hilfe klicken oder darauf tippen und anschließend im Menü Hilfe auf den Menüpunkt Info klicken oder darauf tippen.

Das folgende Bild zeigt den Menüpunkt About in VS Code. Das Menüelement "Info" ist in nahezu jeder Windows-Anwendung vorhanden und zeigt grundlegende Informationen, einschließlich der Versionsnummer, des von Ihnen ausgeführten Programms an. Dieses einfache Beispiel für Konsistenz der Benutzeroberfläche erleichtert es jedem, Anwendungsinformationen zu finden, ohne danach suchen zu müssen.

VS-Code Ethereum

Das folgende Bild zeigt das Dialogfeld Info in VS Code. Sie finden Versionsinformationen für die meisten Windows-Anwendungen, indem Sie auf Hilfe → Info klicken oder darauf tippen. Das ist die Kraft der Konsistenz.

Dialogfeld

Ihre dApps sollten klare Standards für jede Benutzerinteraktion definieren. Wenn Sie Ihre Benutzer auffordern, Eingaben zu machen, tun Sie dies in der gesamten dApp auf die gleiche Weise. Wenn ein Benutzer eine Produkt-ID an mehreren Stellen eingibt, sollte das Eingabefeld an jeder Stelle gleich aussehen. Verwenden Sie dieselben Farben, Schriftarten und Eingabemethoden, um Ihrer dApp ein einheitliches Erscheinungsbild zu verleihen.

Ein weiterer Bereich, in dem Sie Konsistenz in GUI-Apps finden, sind Tastaturkürzel. Sie können fast immer Strg-C verwenden, um markierten Text zu kopieren, und Strg-V, um diesen Text an einer neuen Stelle einzufügen. Durchgängige Tastaturkürzel erleichtern das Erlernen und Verwenden neuer Software.

Auf die gleiche Weise standardisieren Sie alle Ausgaben. Fehlermeldungen und Warnungen sind wichtige Bereiche für die Standardisierung. Verwenden Sie nach Möglichkeit gemeinsame Eingabe- und Ausgabeebenen, damit für alle Eingaben und Ausgaben dieselben Funktionen verwendet werden. Die gesamte dApp sieht konsistenter aus.

Sie möchten Ihre Benutzer dazu ermutigen, Ihre dApp weiterhin zu verwenden. Eine dApp, die eine konsistente Benutzeroberfläche bietet, ist eine, die Vertrauen schafft. Konsistenz erleichtert Ihren Benutzern auch das Erlernen des Gebrauchs Ihrer Software, und eine Anwendung, die leicht zu erlernen ist, wird von den Benutzern wahrscheinlich bevorzugt und akzeptiert.

Beseitigen Sie Zweifel an Blockchain-Apps mit Transparenz

Einer der Gründe, warum Benutzer einer Anwendung misstrauen, ist, dass sie sie nicht wirklich verstehen. Die Benutzer geben ihre Daten weiter, sind sich jedoch nicht sicher, was danach passiert. Sie wissen nicht, wohin ihre Daten gehen und ob sie sich noch irgendwo im System befinden. Dieses Gefühl, Daten in eine Black Box zu stellen, kann mit Blockchain-dApps noch verstärkt werden.

Mit zunehmender Beliebtheit der Blockchain-Technologie steigt das allgemeine Bewusstsein für ihre Funktionen. Das bedeutet, dass viele Ihrer Benutzer wissen, dass Ihre dApp ihre Daten an viele andere Computer sendet, möglicherweise auf der ganzen Welt. Eine der Hürden, die Sie überwinden müssen, besteht darin, Ihre Benutzer davon zu überzeugen, dass Sie ihre sensiblen Daten schützen.

Kommunizieren Sie klar, welche Daten Ihre dApp benötigt, warum sie jeden Datentyp benötigt und was Sie damit tun. Sie müssen diese Informationen nicht jedes Mal übermitteln, wenn Sie zur Eingabe von Daten auffordern. Sie sollten jedoch bei der ersten Interaktion mit einem neuen Benutzer und auf Anforderung verfügbar sein.

Sie sollten es den Benutzern auch leicht machen, zu sehen, was sie getan haben (und was Ihre dApp mit ihren Daten getan hat). Durch die Bereitstellung von Transparenz bei jedem Schritt erhalten die Benutzer ein Gefühl des Vertrauens.

Machen Sie es Ihren Benutzern einfach, einen Drilldown durchzuführen und die Aktionen zu überprüfen. Diese Transparenzstufe gibt den Benutzern die Gewissheit, dass Ihre dApp das tut, was sie behauptet, und kann die Sorge verringern, dass Ihre dApp etwas verbirgt. Abhängig vom Grad des Benutzerinteresses und Ihren eigenen Designrichtlinien können Sie Transparenz in jeden Workflow oder in On-Demand-Funktionen einbauen, damit Power-Benutzer nach Belieben einen Drilldown durchführen können.

Geben Sie Feedback, Anleitungen und Erwartungen für Ihre Blockchain-Apps

Das nächste Designziel, das Sie für Ihre Blockchain-App benötigen, ist das Bereitstellen von Feedback und Anleitungen sowie das Setzen von Erwartungen. Dieses Ziel ist eine logische Erweiterung der Transparenz. Während die Transparenz den Benutzern die Verfügbarkeit von Transaktions- und Workflow-Details erleichtert, wird der normale Workflow durch die Einstellung von Feedback, Anleitung und Erwartungen transparent. Anstatt den Benutzern nur anzeigen zu lassen, was passiert ist, sollten Sie ihnen bei jedem wichtigen Workflow-Schritt informatives Feedback geben.

Wenn Sie beispielsweise ein Hersteller sind und gerade das Eigentum an einem neuen Traktor auf einen Versender übertragen haben, zeigt Ihre neue Lieferkette dApp möglicherweise die Meldung „Sie haben gerade den Traktor mit der Seriennummer ABC-12345 an Unified Shipping - Transaction number 456778 übertragen Natürlich würden Sie wahrscheinlich mehr Details für eine Kapitaltransfer erhalten, aber Sie haben die Idee. Die dApp gab ein Feedback, das im Wesentlichen besagt: „Hey, gute Arbeit. Das haben Sie getan. “Informatives Feedback ist der erste Schritt, um Benutzer davon zu überzeugen, Ihrer dApp zu vertrauen. Das Feedback gibt ihnen die Gewissheit, dass sie die Software korrekt verwenden.

Sie können das Feedback-Beispiel erweitern, um die Benutzer auch über den nächsten Schritt zu informieren. Im Traktorbeispiel könnte Ihre Rückmeldung auch die Meldung "Möchten Sie den Titel jetzt veröffentlichen?" Mit der Option zum Klicken oder Tippen auf eine Schaltfläche enthalten, um zum nächsten Schritt zu gelangen. Aufforderungen zum Beenden von Aufgaben wie diese helfen sicherzustellen, dass Benutzer den richtigen Workflow verstehen und den Eindruck erwecken, dass die Software ihnen dabei hilft, ihre Aufgaben richtig zu erledigen. Wenn Software den Benutzer effektiver macht, trägt sie wesentlich zur Vertrauensbildung bei. Jeder liebt Software, mit der sie gut aussehen!

Behandle Fehler in deiner Blockchain-App mit Klasse

Seien Sie ehrlich, Fehler passieren. Und manchmal sind diese Fehler groß. Hoffentlich haben Sie beim Testen alle großen Fehler in Ihrer Software gefunden. (Sie haben ausführlich getestet, oder?) In diesem Fall sind die meisten Fehler, die in der Produktion auftreten, Benutzerfehler.

Vermeiden Sie beim Behandeln von Benutzerfehlern Benachrichtigungen, die auf subtile Weise "Sie haben es vermasselt!" Anzeigen. Konzentrieren Sie sich darauf, die Situation zu lösen, ohne Schuldzuweisungen zu geben.

Sie erinnern sich wahrscheinlich daran, Ihr erstes GPS-Gerät in einem Auto verwendet zu haben. In den Anfängen von GPS haben Sie, wenn Sie von der vorgeschlagenen Route abgewichen sind, eine ziemlich strenge „Umleitungsnachricht“ gehört. Die Stimme hätte genauso gut sagen können: "Du gehst nicht dorthin, wo ich es dir gesagt habe. Warte, ich werde dir sagen, wie du zu dem zurückkommst, was ich dir gesagt habe. "Fehlermeldungen sollten Benutzer darüber informieren, was passiert ist, aber dich darauf konzentrieren, was als Nächstes zu tun ist. Ja, das GPS hat das getan, aber es war im Allgemeinen nach einem subtilen Schimpfen. Schimpfe nicht mit deinen Nutzern.

Andererseits sollten Sie nicht zu viel Zeit darauf verwenden, sich auf Fehler zu konzentrieren. Übermäßig ausführliche Fehlermeldungen können verwirrend sein und das Lesen kann zu lange dauern. Komm zum Punkt. Entwerfen Sie die Fehlerbehandlung immer aus Benutzersicht. Geben Sie den Benutzern alles, was sie brauchen, um schnell und entschlossen auf Fehler zu reagieren, und nichts weiter.

Fehlermeldungen helfen dem Endbenutzer zu verstehen, was gerade passiert, und unterstützen das Personal bei der Fehlerbehebung. Entwerfen Sie Ihr Fehlermeldungssystem so, dass es die erforderlichen Benutzermeldungen sowie ausführlichere Meldungen bei Bedarf zur Fehlerbehebung und für Untersuchungen bereitstellt.

Denken Sie daran, dass die Blockchain unveränderlich ist, sodass alle Fehler, die sie zu einem Block machen, immer vorhanden sind. Ihre dApp sollte Benutzerprobleme mit Daten lösen, bevor Sie diese Daten in der Blockchain speichern. Der Trick bei der Behandlung von Fehlern besteht darin, Benutzer zur richtigen Lösung zu führen, ohne sie zu verlangsamen. Das erfordert Aufmerksamkeit, wer Ihre Benutzer sind, wie sie Ihre dApp verwenden und was sie benötigen, um ein Problem zu lösen. Eines Ihrer Entwurfsziele sollte darin bestehen, eine Fehlerbehandlung bereitzustellen, die in jedem Fall die Anforderungen Ihrer Benutzer erfüllt.

Entwerfen Sie Funktionen in Ihrer Blockchain-App, die sich auf Benutzeraktionen und nicht auf Daten konzentrieren

Funktionen bieten die Aktionen Ihrer intelligenten Verträge. Eine Möglichkeit, intelligente Verträge zu betrachten, besteht darin, dass sie aus Daten (Substantiven) und Aktionen (Verben) bestehen. Wenn Sie intelligente Verträge auf diese Weise einrahmen, können Sie sie einfacher beschreiben und gestalten. Dies führt im Allgemeinen zu einer Anwendung, die sich aus der Sicht des Benutzers gut eignet.

Da alle Anwendungen vorhanden sind, um die Anforderungen einiger Benutzer zu erfüllen, ist es sinnvoll, Software im Lichte des Benutzers zu entwerfen. Wenn ein Benutzer auf der höchsten Ebene einen neuen Auftrag erstellen möchte, sollte er mit einer Funktion namens createNewOrder () beginnen. Sie können Änderungen vornehmen, während Sie Ihr Design verfeinern. Wenn Sie jedoch mit einer Benutzerperspektive beginnen, können Sie die Authentizität der Ziele der Software erhalten. Das Entwerfen technischer Komponenten, die die Benutzerziele erfüllen, trägt auch dazu bei, zu vermeiden, dass zu weit von den übergeordneten funktionalen Zielen abgewichen wird.

Viele der heutigen Softwareentwicklungsunternehmen sind auf Methoden angewiesen, die mit User Stories beginnen. Als Entwickler werden Sie aufgefordert, Software zu erstellen, die eine Anforderung erfüllt, die wie folgt aussieht: „Als Benutzer möchte ich ____.“ Beginnen Sie Ihren Smart-Vertrag mit einer Funktion, die den Anforderungen der Benutzer entspricht (dh die ausgefüllte Funktion) -in blank aus der vorhergehenden Aussage), ist eine gute Entwurfsstrategie zur Herstellung benutzerfreundlicher Software.

Jede Funktion muss nicht direkt auf Benutzeraktionen abgebildet werden, aber Ihre übergeordneten Funktionen sollten so aussehen, als würden sie Benutzergeschichten befriedigen. Sie benötigen immer aufgabenorientierte oder datenorientierte Funktionen auf niedrigerer Ebene, um die technischen Schritte einer Aufgabe auszuführen. Es ist in Ordnung, wenn diese Funktionen nicht direkt auf User Storys übertragen werden. Ihre untergeordneten Funktionen sollten jedoch alle eine Rolle in den Funktionen spielen, mit denen Benutzer interagieren. Als allgemeine Faustregel sollten Ihre öffentlichen Funktionen den Reaktionen von User Stories sehr ähnlich sein.

Speichern Sie Blockchain-App-Daten basierend auf Benutzeraktionen, nicht auf Datenstrukturen

Benutzer interagieren möglicherweise nicht direkt mit Daten, aber Sie sollten dennoch versuchen, die Daten anhand der Benutzeranforderungen zu organisieren. Dieses allgemeine Ziel ist eher eine Faustregel. Verwenden Sie dieses Ziel beim anfänglichen Entwerfen Ihrer Anforderungen für intelligente Vertragsdaten. Wahrscheinlich müssen Sie das Design verfeinern und ändern. Wenn Sie jedoch mit Daten beginnen, die Benutzeranforderungen zugeordnet sind, wird Ihre Software den Benutzeranforderungen gerecht.

Wenn Sie beispielsweise Software zum Erstellen und Verwalten von Aufträgen entwerfen, beginnen Sie mit einer Solidity struct-Anweisung, die einen Auftrag so definiert, wie ein Benutzer ihn sieht. Eine Bestellung kann eine Sammlung von Feldern sein, die sie beschreiben, z. B. Bestellnummer, Bestelldatum, Kundenbestellung, Anweisungen und eine Liste von Bestellpositionen. Bestellpositionen enthalten Felder wie Produktnummer, Preis und Menge. Sie können dies als eine Struktur von Variablen und eine Liste von Auftragszeilenstrukturen definieren.

Unabhängig von den technischen Details der Datendefinition besteht der Hauptzweck dieses Ziels darin, die Verwendung von Daten durch Benutzer zu berücksichtigen und die Daten auf diese Weise darzustellen. Wenn Sie den Benutzern Aufträge direkt zur Verfügung stellen, um die Transparenz in Ihrer Software zu fördern, möchten Sie den Zugriff auf die Aufträge so einfach wie möglich gestalten. Sie möchten nicht die Transparenz fördern und die Benutzer dazu bringen, hart zu arbeiten, um herauszufinden, was Ihre Daten bedeuten. Wenn Sie den Zugriff auf und das Verständnis von Daten vereinfachen, wird das Vertrauen noch größer.

Halte deine Blockchain-App einfach

Beim Entwerfen einer dApp müssen Sie viele Dinge berücksichtigen. Die Fokussierung auf Benutzer sollte zwar zu direkten Entwurfsentscheidungen führen, es wird jedoch versucht, alle Benutzeranforderungen zu erfüllen. Wenn Sie dieses Kontrollkästchen nicht aktivieren, wird Ihre Software durch diesen Wunsch zu komplex und schwierig zu bedienen. Benutzern viele Auswahlmöglichkeiten zu bieten, klingt zunächst nach einem guten Ziel, aber ein überforderter Benutzer wird Ihre Software nicht mögen (oder benutzen).

Das allgemeine Sprichwort „Mach es einfach, dumm“ ist immer noch relevant. Es ist eine strenge Erinnerung daran, dass Einfachheit weitaus klüger ist als Komplexität. Sie haben vielleicht gehört, dass „ein verwirrter Kopf immer nein sagt“, aber Sie möchten, dass Ihre Benutzer Ihre dApp akzeptieren und verwenden. Sie möchten, dass sie mit Ihrer Software effektiver und effizienter werden. Um diese Ziele zu erreichen, müssen Sie Ihre Software einfach und klar verstehen und verwenden.

Einfachheit beginnt mit der Benutzeroberfläche, hört aber hier nicht auf. Jeder Aspekt des Funktions- und Datendesigns Ihrer Anwendung muss so einfach wie möglich sein. Versuche nicht zu viel zu tun. Stellen Sie stattdessen fest, was Ihre Benutzer am meisten benötigen und wollen, und tun Sie dies. Priorisieren Sie die Funktionen, die Ihre Software auszeichnen. Einfach zu halten kostet mehr Arbeit, führt jedoch häufig zu einem fokussierten, konsistenten Produkt, das die Benutzer verwenden werden.

Erwarten Sie, dass der Blockchain-Zugriff teuer ist

Ein weiteres praktisches Designziel, mit dem Sie Nacharbeiten vermeiden können, besteht darin, von Anfang an vorzutäuschen, dass das Speichern von Daten in der Blockchain teuer ist. Weil es in Wirklichkeit so ist. Für viele, die vor langer Zeit mit der Programmierung von Y2K begonnen haben, ist Speicher heute viel billiger als früher. Die meisten Entwickler müssen sich heutzutage keine Gedanken mehr über die Datengröße und den Speicherort machen. Blockchain ändert das alles. Anstatt Tonnen billigen und schnellen Speichers zur Verfügung zu haben, müssen Sie jetzt bezahlen, während Sie gehen.

Teurer Speicher ist keine neue Sache in der Blockchain, kann aber leicht vergessen werden. Wenn Sie sich früh daran erinnern, dass Speicher teuer ist, werden Sie mit größerer Wahrscheinlichkeit über Speicheroptionen nachdenken.

Müssen Sie beispielsweise die Stadt und das Bundesland speichern, in die ein Produkt versendet werden soll? Stadt und Bundesland hängen beide von der Postleitzahl ab (oder in allgemeineren Einstellungen von der Postleitzahl.) Sie können die Postleitzahl in der Versandadresse speichern und dann zur Laufzeit die entsprechende Stadt und das entsprechende Bundesland mithilfe einer Online-API nachschlagen.

Das Trennen von Daten wie dem Beispiel mit der Postleitzahl ist für Ihre Anwendung möglicherweise nicht sinnvoll, aber Sie werden immer davon profitieren, wenn Sie Ihre Datenspeicheroptionen durchdenken. Die teuersten Speicheroptionen sind fast immer das Ergebnis einer schlechten Entwurfsplanung. Entwerfen Sie Blockchain-dApps nicht so, wie Sie herkömmliche Datenbankanwendungen entwerfen. Sie sind einfach nicht dasselbe. Entwerfen Sie mit einer anderen Einstellung und Sie erhalten ein besseres Softwareprodukt.

Halten Sie sich aus dem Weg des Blockchain-App-Benutzers

Eine gute Blockchain-Anwendung erfüllt die wichtigsten Benutzeranforderungen auf eine Weise, die ihnen hilft, effektiver und effizienter zu sein. In Ihrem Entwurf sollte jedoch nicht nur berücksichtigt werden, was Ihre Anwendung tut, sondern auch, was sie nicht tut.

Jede Anwendung unterliegt Einschränkungen. Dieses Entwurfsziel konzentriert sich auf eine andere Sache, die Ihre Anwendung nicht tut: Sie steht dem Benutzer nicht im Weg. Kurz gesagt, Ihre Anwendung soll Benutzern helfen, nicht sie verlangsamen. Ihre Benutzeroberfläche sollte Benutzern bei der Erledigung ihrer Aufgaben helfen, und die Übergänge zwischen Elementen der Benutzeroberfläche sollten bei Bedarf intuitiv und lehrreich sein.

Manchmal müssen Sie Daten von Benutzern abrufen und dann in der Blockchain speichern. (Sie erinnern sich, dass dies teuer ist, oder?) Da Sie wissen, dass die Benutzer für das Speichern von Daten in der Blockchain zahlen müssen, müssen sie auch nicht darauf warten. Wenn immer möglich, lassen Sie Ihre Benutzer etwas Produktives tun, während die Funktion, die ihre Daten verarbeitet, im Hintergrund ausgeführt wird. Dies ist möglicherweise eine gute Stelle in Ihrem Code, um Ereignisse zu verwenden.

Tun Sie alles, um nicht zu einem Hindernis für Ihre Benutzer zu werden. Niemand wartet gerne. Entwerfen Sie mit Bedacht, und Ihr Produkt kann die Anforderungen Ihrer Benutzer viel besser erfüllen.