1. Personlig økonomi Forskellige typer Ethereum-tegnebøger
Ethereum For Dummies

Af Michael Solomon

Alt, der er gemt i en Ethereum-blok, har en adresse, så ejeren kan finde og få adgang til deres data i blokke. Data, der er gemt i Ethereum-blokke, kan være kryptoaktiver, såsom ether eller andre tokens, smarte kontrakter eller andre data. Dataenes adresse identificerer ejeren af ​​disse data. Og når det kommer til kryptoaktiver, er det kun ejeren, der har adgang til disse data. Nå, enhver kunne få adgang til krypterede data, men kun ejeren kan dekryptere dataene og forbruge aktivet.

Personen, der kontrollerer den private nøgle, der bruges til at kryptere data på blockchain, kontrollerer dataene. Den eneste måde, du kan kræve ethvert krypto-aktiv på, er at bevise, at du kontrollerer den private nøgle, der er tilknyttet et krypto-aktivs adresse.

Adresser i Ethereum er de sidste (længst til højre) 20 byte af hasj af ejerens offentlige nøgle. For at beregne en adresse skal du bare beregne Keccak-256-hash af en offentlig nøgle og derefter kopiere de højst 20 byte. Den resulterende værdi er adressen på den kontos offentlige nøgle. Koden til beregning af en adresse fra en offentlig nøgle ser sådan ud:

addr = højre (keccak256 (pubkey), 20)

Den eneste måde at beskytte dine kryptoaktiver på er at beskytte dine private nøgler. Du har brug for en mekanisme til at gemme din private nøgle, så du kan komme til den, men ingen andre kan. Den primære funktion af en tegnebog er som et sted at gemme en eller flere private nøgler, der bruges til at få adgang til blockchain-data.

Den perfekte Ethereum-tegnebog gør det virkelig let for dig at komme til dine nøgler og umulig for nogen anden at få adgang til dine nøgler. Alle tegnebøger afbalancerer disse to mål og skaber et kompromis mellem værktøjet (hvor let det er at få adgang til dine nøgler) og sikkerhed (hvor sikre dine nøgler er mod angreb).

Typer af Ethereum-tegnebøger

Private nøgler kan gemmes på flere måder, lige fra meget sikker til meget let tilgængelig. Du skal overveje, hvor vigtige dine private nøgler er, og vælg en tegnebogstype, der fungerer for dig. De vigtigste kategorier af tegnebøger følger:

  • Software-tegnebøger gemmer private nøgler i datafiler, hvor brugere let kan få adgang til dem. Hardware-tegnebog gemmer private nøgler på en fysisk chip, der er gemt inde i en enhed, f.eks. En Ledger Nano S. Papir tegnebøger er papirstykker med nøglerne trykt på dem.

Software Ethereum tegnebøger

Software tegnebøger er programmer, der gemmer private nøgler og gør det nemt for brugerne at hente og bruge disse nøgler. Efter installation af din tegnebog kan du få adgang til dine nøgler ved at angive et bruger-ID og adgangskode eller en krypteret fil, som du kun har. Software-tegnebøger kan yderligere opdeles i to hovedkategorier: varme tegnebøger og kolde tegnebøger.

Ethereum varm tegnebog

En varm tegnebog er en, der gemmer dine nøgler online. Du kan nemt få adgang til dine nøgler og dine Ethereum-aktiver overalt i verden. Alt hvad du behøver er en internetforbindelse og adgangsoplysninger. Selvom varme tegnebøger er praktiske, kommer den bekvemmelighed til en pris. Hvis nogen stjæler dine adgangsoplysninger, kan han eller hun stjæle dine Ethereum-aktiver.

Du skal også stole på den tegnebogsorganisation, der gemmer dine nøgler. Hvis din Ethereum tegnebogorganisation er hacket eller går ud af drift, kan du miste alt. Hvis denne organisation er et mål for en undersøgelse, kan dine oplysninger blive videregivet, eller dine Ethereum-aktiver kunne fryses. Du giver op kontrol for at få bekvemmelighed.

Ethereum kolde tegnebog

En kold tegnebog er en, hvor du gemmer dine nøgler offline. Du skal kun give dine nøgler, når du vil have adgang til dine Ethereum-aktiver. Du kan gemme nøgler offline på flere måder, men denne fremgangsmåde kræver et par ekstra trin, når du vil købe eller sælge kryptoaktiver eller interagere med smarte kontrakter.

Selvom kolde tegnebøger er lidt mindre praktiske, kan de være mere sikre. Du har kontrol over dine nøgler med denne type Ethereum-tegnebog og kan tage de forholdsregler, du mener er nødvendige for at beskytte dine nøgler. Brug af en kold tegnebog giver dig et alternativ og mindsker truslen om, at en angriber hacker ind i din online tegnebog og høster mange nøgler.

Med en kold tegnebog er du ansvarlig for at beskytte dine nøgler. Du skal sørge for, at hvert sted, du gemmer dine nøgler, er så sikkert som muligt. Hvis du har en masse værdi, der er gemt på Ethereum blockchain, skal du sørge for, at dine centrale lagerpladser er så sikre som muligt og ikke kan få adgang til andre end dig.

Varm tegnebog vs kold tegnebog til Ethereum

Hvordan bestemmer du, om du vil bruge en varm tegnebog eller en kold tegnebog til Ethereum? Hvis du vil have mere komfort og stole på en online tegnebogsleverandørs sikkerhed, er en varm tegnebog muligvis det bedste valg. Hvis du ikke planlægger at gemme noget af stor værdi ved hjælp af en bestemt Ethereum-konto, er en varm tegnebog nemmest og muligvis bedst mulig for denne konto.

På den anden side, hvis du mistroer online-leverandører og er komfortable med at tage ansvar for at sikre din nøgleopbevaring, vil en kold tegnebog give dig mere kontrol. Eller hvis du planlægger at opbevare aktiver med betydelig værdi, skal du tage ansvaret for at beskytte dine egne ting. Du bliver nødt til at ofre nogle bekvemmeligheder, men at miste al din cryptocurrency er ubelejligt i sig selv.

Typer af tegnebogsklientsoftware til Ethererum

Når du har besluttet at opbevare dine nøgler i en varm eller kold tegnebog, er dit næste valg typen (r) af tegnebogsklientsoftware. Hvis du vælger en Ethereum-softwarepung til at gemme dine nøgler, skal du køre denne software et eller andet sted. Du har flere valg:

  • Web-tegnebøger: Pungesoftware, som du får adgang til ved hjælp af en webbrowser. Desktop tegnebøger: Software, der kører på en stationær eller bærbar computer. I de fleste tilfælde kører desktop-tegnebøger på computere, der kører Microsoft Windows, macOS eller Linux. Mobil tegnebøger: Ethereum tegnebøger til mobile enheder. Den mest almindelige tegnebogssoftware kører på operativsystemerne iOS og Android til smartphones og tablets.

Du behøver ikke vælge kun en type Ethereum-tegnebog. Du kan bruge flere tegnebøger, afhængigt af dine behov. Nøgler til kryptoaktiver med høj værdi skal beskyttes mere omhyggeligt, mens nøgler til kryptoaktiver med lav værdi kunne gemmes online for lettere adgang.

Ethereum-tegnebøger til hardware

En Ethereum-tegnebog, der er mere sikker end de fleste software-tegnebøger, er en hardware-tegnebog. En hardware-tegnebog gemmer private nøgler på en fysisk chip. Du kan forbinde enheden, der huser chippen, til mange forskellige typer computere og mobile enheder, hvilket giver flere måder at få adgang til nøglerne. De fleste hardware-tegnebøger har også fysiske knapper til at administrere adgang til dine nøgler.

Fordelen ved en fysisk tegnebog er den øgede sikkerhed. Du forbinder din enhed kun til en computer, når du vil have adgang til dine blockchain-aktiver. Når enheden ikke er tilsluttet, er dine nøgler sikkert inde i den fysiske enhed. En angriber skal fysisk stjæle din tegnebogsenhed og kende dine adgangsoplysninger for at komme til dine nøgler.

Ulempen med en fysisk tegnebog er tabet af bekvemmelighed og redundans. Du skal vedhæfte din fysiske tegnebog til en computer eller enhed hver gang du vil have adgang til dine blockchain-aktiver. Hvis du ofte åbner aktiver, kan denne proces blive irriterende.

Hvis du mister din fysiske enhed, er du muligvis aldrig i stand til at gendanne adgang til dine blockchain-aktiver. Derfor bruger mange fysiske tegnebøger mindst en sikkerhedskopi af deres nøgler og passe ekstra på at gemme kopierne på et sikkert sted.

Papir Ethereum tegnebøger

Den sidste type Ethereum-tegnebog kan være den mest sikre. Som navnet antyder, er en papirbog bogstavelig talt kun et stykke papir. Når du har oprettet en Ethereum-konto og genereret nøgler, er en måde at opbevare disse nøgler ved blot at udskrive dem på papir. De fleste indstillinger for nøglegenerering giver dig valget om at udskrive dine nøgler. Hvis du vælger denne mulighed, får du en papirkopi af de private og offentlige nøgler sammen med en QR-kode for hver nøgle.

papir Ethereum tegnebog

Hver gang du vil have adgang til dine blockchain-aktiver, såsom at købe eller sælge Ether, kan du enten indtaste din private nøgle eller scanne QR-koden. Selvfølgelig skal softwaren, du bruger til at få adgang til Ethereum, understøtte QR-scanning.

Papir tegnebøger er kun sikre, hvis du holder dit papir hemmeligt. Vær forsigtigt opmærksom på det stykke papir. Enhver, der kan gribe papiret eller endda tage et billede af det, kan stjæle alle dine Ethereum-aktiver. Og ligesom med Ethereum-tegnebøger, er det en god ide at lave en sikkerhedskopi og opbevare den på et sikkert sted.

Uanset hvilken type Ethereum-tegnebog, du vælger, skal du sørge for at tage forholdsregler for at beskytte dine aktiver.

  1. Personal FinanceEthereum Smart Contracts: Tips til håndtering af data i soliditet
Ethereum For Dummies

Af Michael Solomon

Soliditet er det mest populære sprog til skrivning af Ethereum-smarte kontrakter. Soliditet blev foreslået af Gavin Wood i august 2014. Selvom det ikke er det eneste sprog, du kan bruge til at skrive smarte kontrakter, er det det mest populære sprog til at skrive smarte kontrakter, der kører i Ethereum. Det nyder solid støtte fra Ethereum-samfundet og blev udviklet af Ethereum-projektets soliditetshold.

Soliditet var designet til at svare til JavaScript og blev også påvirket af et par andre populære programmeringssprog, inklusive C ++ og Python. Målet med soliditet er at levere et sprog, der er velkendt for webapplikationsudviklere, men målrettet mod smart kontraktudvikling. Soliditet er ikke beregnet ikke som et generelt sprog, men skal understøtte blockchain-specifikke operationer med kode, der kører i EVM.

Før din kode kan køre i EVM, skal du sammenstille den. Derfor var en af ​​de komponenter, du installerede, da du byggede dit udviklingsmiljø, en Solidity-kompilator. Du skriver først din soliditetskildekode i en editor. Derefter samler du den til bytekode, som er instruktionerne, der kører i EVM. Når du har installeret din smarte kontrakt-bytekode, kører den på alle Ethereum-knudepunkter.

Da smarte kontrakter kører på alle noder, skal soliditet håndhæve determinisme, det vil sige, at resultaterne skal være de samme for alle noder, der kører din smarte kontraktkode med samme input. Hvis du ser på soliditetsdokumentationen, finder du ikke en tilfældig () funktion. Denne undladelse er specifikt for at understøtte Soliditetens determinisme. Din kode køres først af den node, der miner en ny blok, men derefter verificerer alle noder blokken og kører koden for at sikre, at de ikke får et andet resultat.

På mange måder ligner soliditet andre programmeringssprog. De største forskelle er i, hvordan programmerne køres, og hvordan soliditet håndterer data. Bemærk, at soliditet kun omhandler data i EVM eller blockchain.

Soliditet interagerer ikke meget med omverdenen, men det er muligt. Soliditet understøtter konceptet om et orakel, som er en pålidelig kilde til information fra omverdenen.

Det er nemt at ringe til et orakel. Et problem er at være i stand til at stole på orakelet. Et andet problem er at håndtere oracle-data, der muligvis returnerer forskellige data, hver gang de kaldes. Inden du bruger orakler, skal du sikre dig, at datakilden er pålidelig og konsekvent. Det er almindeligt, at orakler returnerer data og et bevis på ægthed.

Konceptet med tillid med hensyn til orakler er blot en udvidelse af blockchain-tillid. Husk, at blockchain-teknologien giver en pålidelig storbog af data i et miljø med tillidsløse netværksknuder. Da tillid er en sådan grundlæggende egenskab ved blockchain, er det ikke overraskende, at det at stole på et orakel er en vigtig bekymring.

Soliditet handler især om, hvor du kan gemme data. Du definerer generelt to typer variabler i Soliditet: tilstandsvariabler og lokale variabler. Du definerer tilstandsvariabler i kontraktsektionen, og disse variabler er tilgængelige overalt i den smarte kontrakt. Disse variabler gemmer tilstanden for din smarte kontrakt ved at gemme værdierne i en blok på blockchain. Du definerer lokale variabler inden for funktioner. Lokale variabler gemmer ikke deres værdier mellem funktionskald. Disse værdier gemmes ikke på blockchain og forsvinder, når funktionen afsluttes.

Soliditet definerer tre steder til lagring af data:

  • Stak: Hvor soliditet gemmer lokale enkle variabelværdier defineret i funktioner. Hukommelse: Et hukommelsesområde på hver EVM, som Solidity bruger til at gemme midlertidige værdier. Værdier, der er gemt her, slettes mellem funktionsopkald. Opbevaring: Hvor tilstandsvariabler defineret i en smart kontrakt bor. Disse tilstandsvariabler findes i afsnittet om smarte kontraktdata på blockchain.

Variabel lagerplads er en af ​​de mere forvirrende aspekter af soliditet. Soliditetssproget har ikke et stak nøgleord, men har hukommelse og opbevaring nøgleord. Soliditet bruger sine egne standarder, afhængigt af hvor du definerer variabler, og hvordan du bruger dem, men du kan tilsidesætte nogle af disse standarder og også bruge nøgleordene til at ændre, hvordan soliditet behandler variabler.

Her er et par regler, der hjælper med at holde tingene lige, når du lærer om lagring af data i soliditet:

  • Tilstandsvariabler er som standard lagring (værdier gemmes i blockchain). Lokale variabler i funktioner er som standard hukommelse (værdier gemmes midlertidigt i hukommelsen). Strukturer gemmes som standard (værdier gemmes i blockchain).

Soliditet kan håndtere forskellige typer data og giver forskellige typer variabler til at håndtere hver type. Når du definerer variabler, skal du specificere datatypen for variablen. Datatypen fortæller soliditet, hvor meget plads der skal tildeles for den værdi, du vil gemme i variablen, og hvordan man skal behandle dataene. Følgende tabel viser de datatyper, som soliditet understøtter.

Når dine smarte kontrakter bliver mere komplekse, bliver du sandsynligvis nødt til at repræsentere mere komplekse datatyper. F.eks. Ønsker du måske at definere en fysisk adressetype, der indeholder adskillige oplysninger, herunder gadeadresse, by, stat og postnummer.

Det kan også være nødvendigt at gemme tabeller eller lister med data. Soliditet giver dig mulighed for at oprette dine egne datastrukturer med strukturen kompleks datatype. Du kan også definere arrays, der gemmer grupper af lignende dataelementer. Soliditetsarrays kan være grupper af enkle datatyper eller grupper af strukturer.

Her er en smart kontrakt, der demonstrerer nogle af Soliditys enkle datatyper. I dette eksempel bruger du kun tilstandsvariabler, hvilket betyder, at du skriver til blockchain. At definere alle dine variabler som tilstandsvariabler er ikke en god ide, medmindre du vil gemme data for evigt. Data, der er gemt i blockchain, kræver dyre operationer og bør ikke bruges, medmindre du er nødt til at gemme dine data vedvarende. I øjeblikket bruger du tilstandsvariabler.

Åbn VS-kode for myProject-projektet:

For at åbne VS-kode i myProject-projektet skal du åbne en Windows-kommandoprompt eller PowerShell (min favorit) og bruge cd-kommandoen til at navigere til dit projektmappe (myProject.) Herfra skal du bare indtaste følgende kommando og trykke på Enter:

kode.

Skriv derefter følgende kode, eller download Ethereum-projektfilerne fra Dummies.

pragma-soliditet 0,4,24;
/ *
* @ titlen Soliditet datatyper
* @ Forfatter Michael Solomon
* @ note En simpel smart kontrakt til at demonstrere enkle datatyper, der er tilgængelige i soliditet
*
* /
kontrakt DataTypes {
uint x = 9;
int i = -68;
uint8 j = 17;
bool isEthereumCool = sandt;
adresseejer = msg.sender; // Ethereum-adresse til meddelelsessenderen
bytes32 bMsg = "hej";
string sMsg = "hej";
funktion getStateVariables () offentlig visning returnerer (uint, int, uint8, bool, adresse, bytes32, string) {
return (x, i, j, isEthereumCool, ejer, bMsg, sMsg);
}
} <

Inden du kan distribuere og teste din nye smarte kontrakt, skal du tilføje den til JavaScript-scriptet til overførsel. Åbn filen 2_contracts_migrations.js i VS-kode i mappen Migrations. Tilføj derefter de to linjer med kommentarer, så din fil ser sådan ud:

var HelloWorld = artifacts.require ("HelloWorld");
var DataTypes = artifacts.require ("DataTypes"); // Tilføj denne linje
module.exports = funktion (deployer) {
deployer.deploy (HelloWorld);
deployer.deploy (DataTypes); // Tilføj denne linje
};

Glem ikke at gemme din fil, når du har tilføjet den nye tekst!

Her er de trin, du kan bruge til at implementere og teste din nye smarte kontrakt:

  1. Sørg for, at du har Ganache i gang. I VS-kode skal du klikke på eller trykke på fanen Terminal, skriv følgende, og tryk derefter på Enter: truffle-distribution - reset Skriv trøffelkonsol, og tryk på Enter. I prompten Truffle-konsol skal du skrive følgende og trykke på Enter: DataTypes.deployed (). Derefter (funktion (instans) {return instance.getStateVariables ()});

Følgende billede viser de værdier, som din nye smarte kontrakt returnerer. Truffle viser returværdierne på en interessant måde. Tal returneres som BigNumber-objekter. Du kan ringe til funktioner i et BigNumber-bibliotek for at konvertere dem, men lige nu skal du bare læse værdierne direkte.

For de numeriske returnerede værdier er den første værdi, s: tegnet på tallet, og den tredje værdi, c: er den usignerede værdi, som funktionen returneres. Bemærk også, at adresse- og bytes32-værdierne er i hexadecimal format.

Ethereum smart kontrakt
  1. Personlig økonomiBasic Ethereum Smart Contract Syntax
Ethereum For Dummies

Af Michael Solomon

Hvis du planlægger at udføre nogen Ethereum-udvikling, bruger du sandsynligvis Solidity, et af de mest populære programmeringssprog til smarte kontrakter. Lad os se på nogle grundlæggende soliditetssyntaxer. Når du skriver soliditetskildekode, gemmer du den kode i en fil med filtypenavnet .sol.

Ethereum smat kontraktkode

Et soliditetsprogram har flere hovedafsnit som følger:

  • Pragma: Dette fortæller soliditet, hvilke versioner af compileren er gyldige til at samle denne fil. Kommentarer: Udviklere skal bruge kommentarer til dokumentation af kode. Import: En import definerer en ekstern fil, der indeholder kode, som din smarte kontrakt har brug for. Kontrakt (er): Dette afsnit er, hvor kroppen på din smarte kontraktkode er bosiddende.

Erklæring om gyldig compiler-version i Ethereum smart-kontrakter

Pragma-direktivet skal være den første kodelinje i en soliditetsfil. Da soliditetssproget stadig modnes, er det almindeligt, at nye compiler-versioner inkluderer ændringer, der ikke kan kompilere ældre programmer. Pragma-direktivet hjælper med at undgå compilerfejl på grund af brug af en nyere compiler.

Her er syntaks for pragma-direktivet:

pragma Soliditet << version nummer >>;

Her er et eksempel på pragma-direktiv:

pragma Soliditet ^ 0,4,24;

Alle udsagn i soliditet slutter med et semikolon.

Versionsnummeret starter med et 0, efterfulgt af et større build-nummer og et mindre build-nummer. F.eks. Henviser version nummer 0.4.24 til major build 4 og minor build 24. Caret-symbolet (^) inden version nummeret fortæller Solidity, at det kan bruge den nyeste build i et større version. I det foregående eksempel kan Solidity bruge en compiler fra enhver build i version 4 build-række. Dette er en måde at fortælle læserne, at dit program blev skrevet til 0.4.24, men stadig vil kompilere til efterfølgende version 4 builds.

Selvom brug af caret i pragma-direktivet giver fleksibilitet, er det en bedre praksis at droppe caret og fortælle Solidity nøjagtigt, hvilken compiler-version du forventer.

Kommenterer din soliditetskode

Tilføjelse af kommentarer til din kode er et ekstra trin, der tilføjer et professionelt udseende til din soliditetskode. En godt kommenteret kildekodefil er lettere at læse og forstå og hjælper andre udviklere med hurtigt at forstå, hvad din kode skal. Selv enkle kommentarer kan skære ned på den tid, der kræves til at rette fejl eller tilføje ny funktionalitet. Kommentarer kan også give input til værktøjer til at generere dokumentation til dine smarte kontrakter.

Du kan bruge enkle eller flere linjer regelmæssige kommentarer. Kommentarer på én linje starter med to skråstreg. Multiline-kommentarer starter med / * -tegnene og slutter med * / -tegnene. Her er et eksempel på soliditetskommentarer:

// Her er en enkelt linje Soliditetskommentar
/ * Jeg har meget mere at sige med denne kommentar, så det gør jeg
Brug en flersproget kommentar. Kompilatoren ignorerer
alt efter åbningskommentarerne indtil
det ser de afsluttende kommentarfigurer. * /

En tredje type soliditetskommentar kaldes Ethereum Natural Specification (NatSpec) -direktivet. Du kan bruge NatSpec til at give oplysninger om din kode til dokumentationsgeneratorer til at bruge til at oprette formateret dokumentation, som beskriver dine smarte kontrakter. NatSpec-direktiver starter med tre skråstreg og inkluderer specielle tags med data til dokumentationen. Her er et eksempel på at bruge NatSpec-direktiver:

/// @title Greeter smart kontrakt
/// @ autoritær Joe Programmer
/// @ note Denne kode tager en persons navn og siger hej
/// @param navn Navnet på den, der ringer
/// @ tilbagevend hilsen Hilsen med opkalderens navn

Se NatSpec-dokumentationen for yderligere oplysninger.

Importerer ekstern kode til din Ethereum smart kontrakt

Importafsnittet er valgfrit, men kan være kraftigt, når det bruges korrekt i din Ethereum smart kontrakt. Hvis din smarte kontrakt skal henvise til kode i andre filer, skal du først importere disse andre filer. Import af filer gør det som om du kopierede den anden kode til den aktuelle fil. Brug af import hjælper dig med at undgå faktisk at kopiere kode fra et sted til et andet. Hvis du har brug for adgangskode, skal du bare importere soliditetsfilen, der indeholder den.

Syntaks for import af andre filer er enkel. Du bruger importnøgleordet og angiver derefter filnavnet til den fil, du vil importere. For at importere filen myToken.sol skal du f.eks. Bruge denne syntaks:

Importer 'myToken.sol';

Definition af dine Ethereum smarte kontrakter

I det sidste hovedafsnit af soliditet definerer du indholdet af din smarte kontrakt. Det starter med nøgleordskontrakten og indeholder al funktionskoden i din smarte kontrakt. Du kan have flere kontraktsektioner i soliditet. Det betyder, at en enkelt .sol-fil kan definere flere kontrakter. Her er et eksempel på en kontraktsektion:

kontrakt HelloWorld {
string private helloMessage = "Hej verden";
funktion getHelloMessage () offentlig visning returnerer (streng) {
vende tilbage hallo Meddelelse;
}
}

Inde i kontraktsafsnittet definerer du alle dine variabler, strukturer, begivenheder og funktioner. Der er meget mere til kontraktsafsnittet i din kode, men indtil videre ved du, hvordan du opretter en Smartity-kontrakt.

Når du mestrer det grundlæggende i soliditet, kan du fortsætte med at udvikle mere kompleks kode og himlen er grænsen.

  1. Personal Finance10 Gratis Ethereum-ressourcer
Ethereum For Dummies

Af Michael Solomon

Der er mange gratis ressourcer til rådighed for at hjælpe dig med at udvikle avancerede Ethereum dApps. Der er forskellige værktøjer til Ethereum i fire kategorier: blockchain-klient, test-blockchain, testramme og IDE. Du behøver ikke søge meget hårdt for at finde masser af gratis Ethereum-ressourcer i næsten alle kategorier.

Her lærer du om yderligere ti gratis værktøjer, der hjælper dig med at oprette dine egne Ethereum blockchain dApps. Nogle af de ressourcer, du finder her, er alternativer til de mere populære værktøjer, og andre supplerer de værktøjer, du sandsynligvis allerede bruger. Hver af de ressourcer, der er anført her, har unikke funktioner og bør være på din liste over interessante forskningsideer. De er alle gratis, og de er alle værdifulde tilføjelser til din Ethereum-udviklingsværktøjskasse.

Udforsk alternative Ethereum-udviklingsrammer

Selvom trøffel er den mest almindelige ramme i brug, er den ikke den eneste. Afhængig af dine behov og præferencer, skal du se på et par alternativer. I slutningen af ​​dagen skal du vælge de udviklingsrammer, der passer bedst til din oplevelse og gør udviklingen af ​​dApps for Ethereum så frustrationsfri som muligt.

Administrer din Ethereum-udvikling med Populus

Populus-rammen giver mange af de samme funktioner som trøffel. Da Truffle imidlertid fokuserer på JavaScript-miljøet, skal du skrive masser af JavaScript-kode for at automatisere opgaver, teste og vedligeholde dApps ved hjælp af Truffle. Det er fint, hvis du har masser af erfaring med JavaScript og er behageligt i miljøet. Men hvis du ikke kender JavaScript eller ikke ønsker at investere tid i at lære det, kan du se på en ramme baseret på noget andet.

Populus er en Python-baseret Ethereum-udviklingsramme. Hvis du har Python-erfaring eller bare kan lide at arbejde med Python, kan Populus være værd at undersøge. Denne webside indeholder en hurtigstartguide, dokumentation og instruktioner om installation og brug af Populus. Hvis du kan lide Python, kan du prøve Populus for at se, hvordan det kan sammenlignes med trøffel.

Populus kræver, at du allerede har Python installeret. Da Python 2.7 End of Life (EOL) er planlagt til november 2020, skal du installere Python version 3. Du skal finde den mest aktuelle Python-version til dit operativsystem.

Udforsk Ethereum blockchain-containere med Cliquebait

Cliquebait er et andet Ethereum-udviklingsramme-alternativ til trøffel. I stedet for at køre et blockchain-miljø naturligt på din computers operativsystem, bruger Cliquebait Docker-containere, der ligner en letvægtsvirtuelle maskiner.

Docker giver dig mulighed for at starte flere containere, der alle kører som separate virtuelle maskiner (VM'er), med langt mindre overhead end at køre flere standard VM'er. Hver standard VM, som du starter, kører en fuld kopi af et operativsystem sammen med virtuelle kopier af den hardware, som VM's operativsystem har brug for. En container, såsom en Docker-container, kører kun de operativsystemkomponenter og virtuel hardware, som programmerne har brug for. Resultatet er virtualisering med lavere ressourcebehov.

Cliquebait giver et Docker-billede, der giver et Ethereum blockchain med en enkelt knude, som du kan bruge til at udvikle og teste dine smarte kontrakter. Det understøtter også lancering af flere Docker-containere for at simulere en multi-node blockchain, der alle kører på din computer.

Docker skal være installeret, før du kan installere og køre Cliquebait. Når du har installeret Docker, skal du gå til Github for at få instruktioner i brugen af ​​Cliquebait.

Vælg et gratis integreret udviklingsmiljø for Ethereum

IDE, du vælger at skrive kode, vil være det mest synlige værktøj i dit dApp-udviklingsværktøjssæt. Du bruger mere tid på at bruge (eller kæmpe) for din IDE, så det at finde den rigtige er afgørende for at være produktiv. Den bedste IDE er i betragtningens øje. Du skal prøve flere IDE'er og vælge den, der er mest behagelig for dig.

Udvikl soliditetskode med Atom

Atom er ikke strengt en blockchain-baseret IDE. Det er en kraftfuld generel IDE med Solidity plug-ins. Når du tilføjer Etheratom-plug-in, får du syntaksbelysning, komplet kode og muligheden for at kalde Solidity-kompilatoren med et enkelt tastetryk.

Nedenfor ser du det vigtigste Atom-interface. Det ligner og føles meget som VS-kode med en egen karakter. Når du har installeret Atom, skal du kontrollere disse instruktioner om installation af Etheratom-plug-in.

Atom IDE

Gå online med Remix

Et alternativ til at installere en IDE på din egen computer er at bruge en browser-baseret IDE. Remix er en populær IDE, som du kan få adgang til fra enhver webbrowser. Det giver dig mulighed for at skrive kode i soliditet og derefter distribuere til en blockchain. Med Remix kan du nemt vælge en bestemt Solidity-kompilatorversion sammen med mange funktioner og muligheder, som du finder nyttige, når du udvikler dApps i Solidity.

Du kan tilføje kode fra din lokale computer, eller du kan skrive den direkte fra Remix-editoren.

Remix IDE

Hold tingene enkle med EthFiddle

En anden webbaseret Solidity IDE er EthFiddle. EthFiddle er et godt valg til en ligetil webbaseret IDE til at skrive og udarbejde Solidity smarte kontrakter. I modsætning til Remix giver EthFiddle ikke en måde at distribuere din kode på.

EthFiddle IDE

Udforsk Ethereum-klienter og API'er

Når du har skrevet din smarte kontraktkode, bliver du nødt til at distribuere den til en Ethereum-klient og derefter kunne få adgang til blockchain for at teste og påkalde din kode, når den er i produktion. Som med rammer og IDE'er er der mange gratis ressourcer af høj kvalitet til rådighed.

Byt din Ethereum-klient til Parity

Parity er en Ethereum-klient, der kører en node på et Ethereum blockchain-netværk. Selvom geth er mere populært, er Parity et godt alternativ, der kan prale af flere fordele i forhold til geth, herunder følgende:

  • Hurtigere: Synkroniserer hele Ethereum-blockchain på få timer og er bygget til at reducere CPU- og netværksbelastning. Brug af lavere diskplads: Beskær Ethereum-blokke for at bruge mindre lokal diskplads. Web-baseret GUI: Tilvejebringer let tilgængelige funktioner gennem en brugervenlig webbrowser-interface.

Naviger til for at komme i gang med Parity. Hvis du vil bruge Parity UI, skal du gå til Github for at finde den seneste version. Billedet herunder viser et nyligt installeret Parity UI. Bemærk, at første gang du kører Parity UI, kører det Parity og starter synkroniseringsprocessen med det levende Ethereum-netværk.

Paritet UI

Interagere med Ethereum ved hjælp af web3.js

Den langt mest almindelige måde at interagere med Ethereum-smarte kontrakter er gennem en samling biblioteker skrevet i JavaScript med navnet web3.js. Du kan skrive kode i JavaScript eller et hvilket som helst sprog, der understøtter JavaScript-opkald. Derfra gør web3.js det nemt at interagere med Ethereum-data og -funktioner.

Naviger til Github for at hente den nyeste version af web3.js, og tag derefter den seneste web3.js-dokumentation.

Hvis du leder efter en god web3.js-tutorial, kan du se Dapp Tutorials introduktion.

Fokus på Ethereum tegnebøger og sikkerhed

Sikkerhed er altid et problem, når du udvikler Ethereum dApps. Arten af ​​blockchain-teknologi gør det bevidste fokus på sikkerhed til et krævet designmål. At opbygge sikkerhed i dApps afhænger af at have de rigtige byggesten og en solid metode til at opretholde sikkerhed efter installation. To gratis ressourcer, der hjælper dig med at skrive og vedligeholde sikre dApps er Mist-tegnebogen og OpenZeppelin-sikkerhedsbiblioteket.

Beskyt dine Ethereum kryptoaktiver i Mist

Mist er både en Ethereum-tegnebog og en Ethereum-browser. Mist er den officielle tegnebog til Ethereum, udviklet af Ethereum Foundation. Det giver også adgang til dApps, svarende til den måde, som populære webbrowsere giver dig adgang til websteder på Internettet.

Mist gør mere end bare at gennemse apps i blockchain; det giver en pakke værktøjer til interaktion med Ethereum-netværket. Med Mist kan du generere smarte kontrakter, pool cryptocurrency og dele oplysninger mellem deltagere, der ikke har tillid til hinanden. Mist forsøger at gøre Ethereum blockchain-adgang så let som muligt.

For at komme i gang med Mist skal du downloade den seneste Mist-version til dit operativsystem. Når du har installeret Mist, kan du starte browseren for at oprette en konto eller interagere med Ethereum blockchain med en række forskellige værktøjer.

Sikr dine Ethereum dApps med OpenZeppelin

En af de sværeste dele af at udvikle smarte kontrakter i et Ethereum-miljø er at gøre dem sikre fra begyndelsen. Selvom det kan være let at overveje sikkerhed fra starten af ​​designfasen, er det vanskeligere at skrive en sikker, smart kontraktkode. OpenZeppelin-biblioteket er en samling af soliditetskode, der hjælper dig med at implementere sikker kode i dine smarte kontrakter.

Du kan importere OpenZeppelin i dine smarte kontrakter og derefter drage fordel af de mange implementeringer af Ethereum-standarder, såsom ERC-20-symboler, i stedet for at skulle implementere dem selv. OpenZeppelin forhindrer dig i at skulle genopfinde sikkerhedshjulet i din Solidity-smarte kontraktkode.

Lær mere om udvikling af Ethereum dApps

Hvis du vil lære mere om Ethereum-udvikling og have det sjovt i processen, så tjek CryptoZombies. CryptoZombies er en trin-for-trin Solidity tutorial, hvor du udvikler et blockchain-baseret spil, der involverer en zombiehær, du opretter. Når du får erfaring, nivelleres dine zombier op og får nye færdigheder.

  1. Personal FinanceEthereum Basics: En introduktion til smarte kontrakter og soliditet
Ethereum For Dummies

Af Michael Solomon

Ethereum bruger smarte kontrakter til at begrænse data til bestemte regler, når du foretager udveksling. For at skrive smarte kontrakter skal du være dygtig til et programmeringssprog. Et af de mest populære sprog til smarte kontrakter og især Ethereum er soliditet. Se efter en kort introduktion til disse emner.

Grundlæggende om Ethereum smarte kontrakter

Når du udveksler værdipapirer, er der generelt regler, der styrer, hvordan transaktionen finder sted. I mange tilfælde er reglerne enkle. For eksempel giver du Joe $ 1,89, og Joe giver dig en sodavand. Hver part kan se og validere den anden parts bidrag til transaktionen. Hvis du prøver at give Joe Monopoly penge, får du ikke din sodavand.

Selvom denne transaktion forekommer enkel, er der mere ved det, end det møder øjet. I de fleste tilfælde, hvis en sodavand koster $ 1,89, skal du byde mere end det for det. Du skal også betale skat. Så der er en anden deltager i transaktionen: regeringen. I stedet for at beholde alle pengene, skal Joe sende noget af det til regeringen for skatter.

At flytte selv enkle transaktioner som sodavandeksemplet ind i den digitale verden tager nogle grundige tanke. Du kan ikke bare sende penge til folk og stole på, at de vil gøre deres del. Du har brug for en måde at håndhæve regler og overholdelse for at sikre dig, at alle parter bliver behandlet retfærdigt.

Smarte kontrakter hjælper dig med at håndhæve regler, når du udveksler noget af værdi i Ethereum. Den enkleste måde at beskrive smarte kontrakter er, at de er programmer, der udføres, når visse transaktioner finder sted.

For eksempel, hvis du opretter en smart kontrakt med en sodavand-køb, kører den softwarekode hver gang nogen køber en sodavand. Den smarte kontraktkode gemmes i blockchain, så alle noder har en kopi af den. Det betyder heller ikke noget, hvor softwaren kører: Alle noder er garanteret at køre den samme og får de samme resultater som alle andre noder.

Ethereum smarte kontrakter er Turing komplet, hvilket betyder, at de kan beregne alt, hvad der er beregnet med nok ressourcer. At ture fuldstændighed er vigtig, fordi Ethereum-smarte kontrakter ikke er begrænset i de typer handlinger, de kan udføre. De kan udføre alle komplekse algoritmer, du kan designe.

Den sodavand smarte kontrakt starter med køberen. Sådan kan udvekslingen ske:

  • Køberen opretter en transaktion, der sender penge til sælgeren i bytte for sodavand. Køberen sender sælgers adresse som input til smartkontraktens adresse. Den smarte kontrakt kører for at gennemføre transaktionen. Det bekræfter, at du har nok penge på din konto til at betale for læskedrik. Den smarte kontrakt bekræfter, at sælgeren har den sodavand, du ønsker på lager. Den smarte kontrakt trækker midler fra køberen, sender midlerne til sælgeren og fortæller sælgeren at sende sodavand til køberen. I samme trin sender den smarte kontrakt den krævede skat til skattemyndighedskontoen og sender det resterende beløb til sælgers konto.

Processen kan virke trættende, men den er ligetil og sørger for, at hver transaktion sker på samme måde. Dette eksempel er for simpelt til udvekslinger i det virkelige liv, og nogle vigtige detaljer er udeladt. For det første antager du, at sælgeren sender sodavand til køberen. Virkelig udveksling kræver et ekstra lag beskyttelse for begge sider. Smartkontrakter bruger escrow-konti hele tiden for at holde en købers penge, indtil sælgeren leverer varerne eller tjenesterne.

Smarte kontrakter giver Ethereums styring og forudsigelighed. Uden dem ville Ethereum bare være en cool distribueret opbevaringsteknik. Men med dem er Ethereum en stabil decentral platform, der understøtter interaktion og udveksling mellem urolige brugere, herunder ekstremt komplekse transaktioner. Det er let at se de trin, der er nødvendige for at købe en sodavand.

Andre transaktioner, såsom fast ejendomstransaktioner, er langt mere komplekse, har mange afhængigheder og krav og involverer generelt flere mennesker og organisationer. Ethereum smarte kontrakter kan hjælpe udviklere med at oprette software, der eliminerer mellemmænd, strømline komplekse processer og reducerer de samlede omkostninger og tid, der kræves for at gennemføre selv de mest komplekse udvekslinger.

Vi introducerer soliditet, sproget for smarte kontrakter

Smarte kontrakter er softwareprogrammer. Med nok ressourcer kan smarte kontrakter gøre alt, hvad enhver anden software kan gøre. Du kan skrive Ethereum-smarte kontrakter på flere sprog:

  • Mutan: Et ældre smart kontraktsprog, der blev afskrevet i 2015. LLL: Et Lisp-lignende sprog, naturligvis udviklet til at ligne sproget Lisp. Selvom LLL stadig understøttes, bruges den ikke til mange nuværende smarte kontraktprojekter. Slange: Et sprog, der ligner Python-sproget. Fra september 2017 anbefales Serpent ikke til den aktuelle udvikling. Bambus: Et relativt nyt sprog, der fokuserer på at gøre blockchain-statlige overgange eksplicitte og undgå koderecentracerende problemer. Viper: Et andet relativt nyt sprog, der fokuserer på sikkerhed og enkelhed. Soliditet: I øjeblikket det mest populære smarte kontraktudviklingssprog. Soliditet ligner JavaScript-sproget og leverer et fuldt sprog til udvikling af generelle smarte kontrakter.

Soliditet er det mest populære sprog til smarte kontrakter, og det, du mest sandsynligt vil støde på.

Hvis du har det godt med JavaScript, bliver det lidt lettere at hente soliditet. Hvis du ikke kender meget JavaScript, er det okay. Du kommer til at lære det grundlæggende om soliditet fra stueetagen. Lad os starte med et program, der muligvis ser kendt ud: det allestedsnærværende "Hello world" -program.

Se på denne meget enkle smarte kontraktkode:

pragma-soliditet ^ 0,4,25;
kontrakt helloWorld {
funktion printHelloWorld () offentlig konstant returnering (streng) {
vende tilbage 'Hej verden!';
}
}

Sådan ser en solidity smart kontrakt ud! Efter overskriften definerer du din kontrakt og derefter eventuelle funktioner, der udgør programmets indre funktion. Når du har skrevet og testet en smart kontrakt, kan du distribuere den til en blockchain og derefter udføre den. Når du får alt i orden, viser din smarte kontrakt dig den ikoniske "Hej verden!" -Meddelelse.

Når du lærer mere om soliditet, vil du se, at det ligner meget JavaScript, men også føles lidt som C ++ og Python. Udviklerne af Solidity baserede sproget på alle tre sprog. Det understøtter arv, biblioteker og brugerdefinerede typer, der kan være ret komplekse. Det er også et statisk typisk sprog, hvilket betyder, at du skal angive eksplicitte datatyper til de variabler, du opretter og bruger.

Frem for alt er soliditet et smart kontraktudviklingssprog. Selvom det ligner andre sprog, inkluderer det primitiver og en orientering designet til at interagere med Ethereum blockchain.

At have en solid forståelse af smarte kontrakter og soliditet vil gøre dine interaktioner med Ethereum meget lettere.

  1. Personal Finance Top 10 Ethereum-brug
Ethereum For Dummies

Af Michael Solomon

Blockchain-teknologi generelt og Ethereum i særdeleshed vokser hurtigt i popularitet. Stadig flere virksomheder omfavner Ethereum til nye projekter. Mangfoldigheden af ​​projekter, der bruger Ethereum som deres fundament, er næsten ubegrænset.

Et hurtigt kig på dApps-webstedets tilstand viser, hvor mange Ethereum-projekter der findes i forskellige kategorier, og hvor populære de er. Udforsk et stort antal populære dApps. Denne ressource er en god måde at holde sig opdateret på trending dApps.

Selvom disse Ethereum-projekter kun er en lille repræsentativ prøve på, hvad der er derude, vil de give dig en vis eksponering for, hvad andre laver med Ethereum. Måske finder du nogle ideer til nye og spændende måder, som Ethereum kan hjælpe med at omdanne din organisation.

På trods af mangfoldigheden af ​​funktionalitet i hvert projekt er de alle bygget på Ethereum. Hvert projekt bruger smarte kontrakter, der kører på EVM til at udføre funktionalitet og Ethereum-blockchain til at gemme tilstandsdata.

Gnosis forudsiger fremtidige begivenheder med Ethereum

Gnosis er en af ​​de mange innovative virksomheder, der bruger Ethereum på interessante måder. Gnosis er en platform for forudsigelsesmarkeder. Gnosis Olympia-produktet er alfa-versionen af ​​deres platform. Ved hjælp af Olympia får deltagerne en indledende saldo af OLY-symboler og foregiver penge, de kan bruge i Olympia, som de bruger til at forudsige forskellige emner. Deltagerne kan vinde GNO-symboler for at gøre vellykkede forudsigelser.

Deltagere, der opstiller forudsigelser, forbinder forudsigelsen med et orakel til udvalidering. For eksempel valideres den sande værdi af en bestemt aktiekurs på en bestemt dato og tid let ved at sammenligne forudsigelsen med offentliggjorte aktiekurser. Aktiekursens datakilde ville være det orakel, som aktiekursforudsigelsen bruger til validering.

Gnosis Olympia er platformen for deltagere til at bestemme sandsynligheden for et eller andet resultat. Du kan bruge Olympia til at bestemme en forventet værdi af en eller anden værdi. At kende et vares værdi giver dig mere gearing i forhandlingerne.

En anden mulig brugssag er ved valg. Distribuerede forudsigelsesmarkeder kan dukke op for at give bedre prognoser for det kommende valg. Politisk afstemning har gennemgået kritik for en mangel på præcision, og nye produkter kan hjælpe med at øge deres nøjagtighed.

Augur skaber forudsætninger for begivenheder

Augur er et andet tilbud i kategorien for forudsigelse. Ligesom Gnosis kan deltagerne registrere begivenheder og derefter give en forudsigelse af resultatet af begivenheden. Augur belønner deltagere med REP-tokens i bytte for at give nøjagtige data relateret til begivenheden og for at stemme med flertallet.

Augur er baseret på crowddsourced data og bliver mere præcis med inkludering af deltagerdata. Det er derfor, at indsendelse af nøjagtige data resulterer i en belønning. En oracle validerer begivenhedsdata og -resultat, men der lægges stadig vægt på input fra crowddsourced.

Augur er helt decentraliseret og afhænger af smarte kontrakter og Ethereum blockchain for at fungere. Dets mål er at skabe en global portal, der genererer bedre prognoser for resultatet af enhver fremtidig begivenhed, der har bred global interesse.

Aragon administrerer decentrale organisationer med Ethereum

Aragon er en platform dedikeret til at hjælpe med at styre decentrale organisationer, der ofte lider af mangel på infrastruktur og funktionalitet. Deltagere i Aragon køber Aragon Network Tokens (ANT) fra en af ​​flere populære cryptocurrency-børser og bruger ANT til at betale for Aragon-tjenester.

Aragon letter distribueret autonom organisationsstyring, fundraising og regnskab. For eksempel kan Aragon-deltagere stille spørgsmål til deres organisation til afstemning. Aragon-miljøet håndterer alle detaljer om styring af afstemningsprocessen, hvilket resulterer i bekræftede valgresultater. Afstemning er kun en af ​​funktionerne på platformen.

Aragon-projektet har som mål at styrke decentraliserede organisationsdeltagere ved at fremme deltagelse og give økonomisk gennemsigtighed. Aragon giver organisationer mulighed for at eksistere uden for den traditionelle hierarkiske, centraliserede model.

Opdræt og indsaml kryptokitter i Ethereum

Ethereum handler ikke kun om cryptocurrency og forretningsfunktion. Du kan også finde nogle sjove spil i Ethereum-rummet. Cryptokitties, et af de første Ethereum-baserede spil, er stadig populært. Dette revolutionerende spil introducerede blockchain-baserede cryptocollectibles. Det er rigtigt. Cryptokitties kan samles.

Hver cryptokitty er unik. Teknisk set er hver cryptokitty en ERC-721-token og har et unikt sæt cattributter (cryptokitty DNA), der kommer fra hver cryptokittis forældre. Det er rigtigt, du opretter ikke cryptokitties; du avler dem.

Og ligesom i det virkelige liv (godt, slags), kan du enten stole på genetisk held for at skabe en sjælden og værdifuld kryptokitty, eller du kan betale et farvegebyr til en anden kryptokitty for evnen til at opdrætte ved hjælp af deres kryptokitter. Hver cryptokitty har en anden værdi, baseret på sjældenheden i dets cattributter. Tidligere solgte nogle kryptokitter med sjældne cattributter (og en gunstig ETH-valutakurs) for over $ 100.000 USD.

Billedet herunder viser Cryptokitties-webstedet med eksempler på et par cryptokitties, hver med sine egne unikke cattributter.

leg kryptokitter med Ethereum

Udveksle tokens med IDEX

Tusinder af ERC-20-tokens er i brug. Før du kan bruge et token til at betale for noget, skal du erhverve det. Nogle symboler er gratis, men andre skal købes. For at købe et token skal du bytte valuta eller cryptocurrency, så du har brug for en organisation, der leverer udvekslingstjenester.

IDEX er en decentral udveksling (DEX), der er specialiseret i handel mellem ETH og ERC-20 tokens. Det bekræfter transaktioner i sin smarte kontrakt uden at vente på Ethereum block mining. IDEX's evne til at bekræfte transaktioner i realtid giver handlende mulighed for at handle kontinuerligt.

Ordrer registreres på Ethereum blockchain i den rækkefølge, i hvilken de blev modtaget, men erhvervsdrivende behøver ikke at vente på deres symboler. De modtager dem, så snart deres ordre er godkendt af den smarte kontrakt.

Dette billede viser IDEX-webstedet med en liste over de mest aktive Ethereum ERC-20-symboler.

Ethereum IDEX

Brug Ethereum til at oprette din digitale identitet med uPort

UPort dApp er et innovativt initiativ med et simpelt formål: at give en decentral identitet til alle, gemt på Ethereum blockchain. Brugere registrerer deres identitet gennem uPort. Når de først er godkendt, kan brugerne bruge uPort digital identitet til at underskrive digitale kontrakter og interagere med andre tjenester, der kræver validerede identiteter.

UPort dApp har scoringer af potentielle anvendelser. Et af de mest synlige behov, uPort kunne hjælpe med, er at give folk, der har mistet fysiske identifikationsgenstande, stadig bevis for identitet, når det kræves. Overlevende af katastrofale begivenheder har ofte ingen identifikation med dem. Adgang til en uforanderlig digital identifikation kan hjælpe med at afhjælpe dette problem. Digitale identiteter kan hjælpe med indvandring, afstemning og andre tilfælde, hvor identifikation er påkrævet.

Del dine tanker om blockchain med EtherTweet

Som navnet antyder, er EtherTweet et blockchain-alternativ til Twitter. Den største forskel er, at EtherTweet er censurfri, fordi alle meddelelser er gemt på Ethereum blockchain. Du kan sende op til 160 tegn.

Selvom priserne ændres baseret på den aktuelle værdi af ether, koster det at skabe en EtherTweet-konto omkring 2 cent, og hver tweet koster cirka en tredjedel af en cent. Følgende billede viser EtherTweet-webstedet med instruktioner om brug af deres webgrænseflade til at sende og læse tweets.

EtherTweet

Brug Ethereum til at søge efter Jobs med EthLance

EthLance er en distribueret platform for freelancere og arbejdsgivere til at finde hinanden, engagere sig i job og overføre betaling i ether. EthLance er en del af District0x-netværket, som er et kollektiv af decentrale markedspladser og lokalsamfund. En af EthLance's fremragende funktioner er, at den ikke opkræver gebyrer.

Medlemskab af EthLance er gratis, og både freelancere og arbejdsgivere kan bruge netværket til at matche personale med åbne job. Når arbejdet er afsluttet, kan arbejdsgivere betale freelancere direkte ved hjælp af ether. Hele EthLance-platformen kører i Ethereum. EthLance's gennemsigtige karakter og dens nulgebyrsmodel gør det til en stor ressource for selvstændige.

Billedet herunder viser EthLance-webstedet med deres ”hvordan det fungerer” grafik, der viser, hvordan freelances og arbejdsgivere kan bruge tjenesterne. For at lære mere om EthLance skal du navigere til deres websted på.

EthLance

Brug af TenX til at betale med ether og andre cryptocurrencies

TenX giver kunderne mulighed for at bruge ether og andre cryptocurrencies hos detailhandlere til at betale for køb over hele verden. Selvom de fleste detailhandlere ikke direkte understøtter cryptocurrencies endnu, oprettede TenX deres egen linje med crypto-debetkort og kreditkort, der forbinder med dens proprietære crypto-tegnebog. TenX-kortene giver broen mellem cryptocururrency og traditionelle betalingskøretøjer.

TenX registrerer alle betalingstransaktioner på blockchain og har planer om et større netværk, der giver apps mulighed for at kommunikere på tværs af flere blockchains.

Billedet herunder viser TenX-webstedet med et billede af deres TenX-betalingskort.

TenX debetkort

Brug Ethereum til at købe og sælge computerkraft med Golem

Det sidste innovative Ethereum-projekt er Golem. Golem er en decentral markedsplads til at købe og sælge computerkraft. Uanset om du har overskydende computerkraft, som du gerne vil sælge, eller du skal leje mere computerkraft midlertidigt for at gennemføre et projekt, kan Golem hjælpe. Du kan bruge Golem-supercomputere, når du har betalt det indbyggede GNT-token, eller du kan tjene GNT på at lade andre bruge din overskydende computerkraft.

Golem hjemmeside

Som det er tydeligt ovenfor, kan Ethereum bruges til alle slags kreative projekter. Hvordan vil din organisation bruge Ethereum?

  1. Personlig økonomiVælg den bedste Ethereum-tegnebog til dig
Ethereum For Dummies

Af Michael Solomon

Du har mange valgmuligheder for Ethereum tegnebøger. Her lærer du om de mest populære typer. Du kan bruge disse oplysninger til at bestemme, hvilken Ethereum-tegnebog der bedst passer til dine behov.

Ethereum tegnebog

Hvis du, efter at have læst dette, ikke er sikker på, hvilken der er den bedste Ethereum-tegnebog, skal du ikke bekymre dig - vælg den der ser godt ud og begynde at bruge den. Hvis du senere beslutter at skifte til en anden tegnebog, er processen let. Og ingen regel dikterer, at du ikke kan have flere Ethereum-tegnebøger. (Det er ikke som at proppe flere tegnebøger i din baglomme!)

Software Ethereum tegnebøger

Software-tegnebøger er simpelthen programmer, der genererer, gemmer og administrerer dine nøgler. Dine muligheder er web-tegnebøger, desktop-tegnebøger og mobile tegnebøger. De to primære forskelle mellem indstillingerne til softwarepung er, hvor de kører, og hvor de gemmer dine nøgler.

Web-tegnebøger til Ethereum

Web-tegnebøger er populære til afslappet brug af Ethereum. De er nemme at bruge og gør det nemt at få adgang til dine nøgler. For at åbne din Ethereum-tegnebog behøver du kun en internetforbindelse, en webbrowser og dine loginoplysninger.

Ethereum desktop tegnebøger

Desktop tegnebøger er softwareprogrammer, der kører på en personlig computer. De fleste desktop tegnebøger opbevarer nøgler lokalt, så du skal have adgang til din computer for at åbne din Ethereum tegnebog.

Mobile Ethereum tegnebøger

Mobil tegnebøger ligner desktop tegnebøger, men softwaren kører på mobile enheder. Dine nøgler gemmes ofte også på den mobile enhed. En mobil tegnebog er en god mulighed, hvis du altid vil have dine nøgler med dig. Ulempen er, at hvis du mister din mobile enhed, kan du miste adgangen til dine Ethereum-aktiver. (Derfor er sikkerhedskopier altid gode.)

Ethereum-tegnebøger til hardware

Hardware-tegnebøger giver et ekstra lag af sikkerhed for dine nøgler, fordi de er gemt på en fysisk chip inde i enheden. De fleste hardware-tegnebøger til Ethereum er USB-enheder. Du får adgang til dine nøgler ved at tilslutte tegnebogsenheden til en computer eller en mobilenhed og derefter køre noget software for at få adgang til nøglerne.

Afhængig af enheden kan softwaren være webbaseret eller køre lokalt på computeren eller mobilenheden. Flere software tegnebøger giver mulighed for at integrere med hardware Ethereum tegnebøger for at gøre nøgleopbevaring endnu mere sikker.

Opbevaring af dine nøgler på din egen enhed betyder, at du skal træffe foranstaltninger for at sikre enheden. Vær altid opmærksom på enhedens placering, og tag altid en sikkerhedskopi, hvis enheden mangler.

Papir Ethereum tegnebøger

En papirpung er den enkleste type Ethereum-tegnebog. Når du har oprettet en konto og genereret dine nøgler, skal du blot udskrive tasterne på et almindeligt stykke papir. Dine nøgler findes kun på det papir, du brugte til at udskrive dem; du gemmer dem ikke ved hjælp af software eller på en hardwareenhed.

Fordelen ved et papir Ethereum-tegnebog er, at du har den øverste kontrol over dine taster, og ingen andre kan røre ved dem. Det er også den største ulempe. Du skal tage ekstra forholdsregler for at gemme en sikkerhedskopi sikkert, hvis der sker noget med dit stykke papir.

Uanset hvilken Ethereum-tegnebog, du vælger, skal vejes omhyggeligt mod fordelene, ulemperne og i sidste ende, hvordan du planlægger at bruge den.

  1. Personlig økonomi Hvad er Ethereum?
Ethereum For Dummies

Af Michael Solomon

Ethereum er en omfattende, decentral applikationsplatform, der udvider række muligheder ud over, hvad der var muligt før blockchain-teknologi. Så hvad adskiller det fra andre decentrale platforme? Her er en smule Ethereum-baggrund.

Introduktion af Ethereum

Bitcoin var den første blockchain-teknologiapplikation. Det var revolutionerende og definerede den første vidt anvendte digitale valuta, kaldet cryptocurrency. Kryptodelen af ​​navnet henviser til brugen af ​​kryptografiske hasjer for at sikre blockchains integritet. Den delte hovedbok opbevarer bogstaveligt talt en kopi af hver cryptocurrency-transaktion, der bliver verificeret af alle noder.

Ved hjælp af denne tilgang skabte bitcoin en permanent registrering af enhver udveksling af deres cryptocurrency. Og fordi kontoejere kun identificeres ved hjælp af en adresse, har bitcoin altid haft en vis grad af anonymitet.

Selvom bitcoin-adresser ikke er direkte knyttet til mennesker, har mange udvekslinger poster over identiteter, der er relateret til adresser. På et tidspunkt er du nødt til at bytte din cryptocurrency mod reel valuta. Dette overgangspunkt er der, hvor mange retshåndhævende myndigheder fokuserer, når de prøver at spore kriminelle ved hjælp af cryptocurrency.

Efterhånden som bitcoin blev mere og mere populært, begyndte forskere at se flere applikationer til blockchain-teknologi ud over cryptocurrency. I 2013 offentliggjorde Vitalik Buterin, medstifter af Bitcoin Magazine, en whitepaper, der foreslog en ny, mere funktionel blockchain-implementering. Dette nye forslag var til Ethereum blockchain. Efter at have vundet interesse og tiltrukket teknisk og økonomisk støtte blev Ethereum Foundation, en schweizisk non-profit organisation, grundlagt og blev udvikleren af ​​Ethereum.

Ethereum blev ikke oprettet kun for at udveksle cryptocurrency. Faktisk var det designet fra begyndelsen til at være anderledes. Kernefunktionerne i Ethereum er den smarte kontrakt og ether.

Ether er den oprindelige cryptocurrency, som Ethereum understøtter, selvom du kan oprette dine egne tokens til at udveksle værdi i mange andre former. Smarte kontrakter giver et eksekveringsmiljø, der sikrer integritet på tværs af alle noder. Enhver kode, der udføres på en knude, udføres på samme måde på alle noder. Denne garanti gør det muligt at distribuere en bred vifte af applikationer på tværs af ikke-betroede miljøer.

Grundlæggende garantier Ethereum yder støtte til mange typer værdiudvekslinger uden bekymring for svig, censur eller inddragelse fra en tredjepart. Når du interagerer med en Ethereum-applikation, behøver du ikke at stole på nogen formidler for at mægler dine transaktioner. Du har ikke brug for en bank, grossist eller transaktionsmægler for at give tillid. Som et resultat af Ethereums disintermediering kan du ofte gennemføre transaktioner hurtigere med langt lavere servicegebyrer og uden at kræve godkendelse fra eksterne myndigheder.

Mens ældre løsninger til data og deling af processer krævede tredjepartsmyndigheder for at håndhæve integritet, giver Ethereum process- og dataintegritet sammen med disintermediering. Mulighederne er lige begyndt at blive undersøgt.

Undersøgelse af Ethereums konsensus, minedrift og smarte kontrakter

Ethereum giver integritet i den måde, det implementerer uforanderlighed og smarte kontrakter. Uforanderlighed er faktisk ikke en blockchain-garanti. Du kan ændre data i en hvilken som helst blok - også efter at andre blokke er føjet til blockchain. Så snart du ændrer en blok, mislykkes den blokering og alle efterfølgende blokke imidlertid integritetskontroller, og din node er ikke synkroniseret. I stedet for at sige, at blockchain er uforanderlig, er det mere nøjagtigt at sige, at eventuelle ændringer (mutationer) til blockchain let og umiddelbart opdages.

Ethereum er baseret på demokrati. Hver knude får en lige afstemning. Hver gang noder får en ny blok til at tilføje til blockchain, validerer de blokken og dens transaktioner og stemmer derefter om de skal acceptere eller afvise blokken. Hvis flere forskellige blokke indsendes af forskellige noder, kan kun en af ​​blokke få stemmer fra et flertal. Blokken, der får mere end halvdelen af ​​stemmerne på netværksknudepunktet, bliver med i blockchain som den nyeste blok.

Et af de første problemer er at bestemme, hvornår en ny blok er klar til blockchain. Når der indsendes for mange modstridende blokke, aftar afstemningsprocessen. Ethereum gør det svært at tilføje nye blokke for at holde antallet af nye blokkollisioner lavt og for at gøre afstemningen hurtigere. Ethereum bruger en konsensusprotokol kaldet Proof of Work (PoW), der opstiller reglerne for validering og tilføjelse af nye blokke. PoW gør tilføjelse af blokke til blockchain vanskelig, men rentabel.

Ethereum definerer ether som dens cryptocurrency. Du kan overføre eter mellem konti eller tjene det ved at gøre det hårde arbejde med at tilføje blokke til Ethereum blockchain. Ethereum PoW-mekanismen kræver, at knudepunkter finder et tal, der, når det kombineres med blokens overskridelsesdata, producerer en kryptografisk hashværdi, der svarer til det aktuelle mål, hvilket er en værdi, der justeres for at holde ny blokproduktion på en stabil hastighed.

Det er svært at finde en hashværdi, der svarer til det aktuelle mål. Du skal i gennemsnit forsøge mere end en quadrillion værdier for at finde den rigtige. Det er pointen. Brug af en PoW-mekanisme gør det så svært at indsende en blok, at der indsendes færre blokke, hvilket reducerer antallet af kollisioner. Den knude, der finder den rigtige værdi, får en lille etherbetaling for indsatsen. Denne proces kaldes minedrift, og den knude, der vinder prisen, er den blokke miner.

Minedrift regulerer hastigheden, hvorpå nye blokke indsendes som kandidatblokke, og resulterer i et tal, der er let at validere. At finde det rigtige nummer til at løse puslespillet er vanskeligt, men det er hurtigt og nemt at kontrollere antallet. Et andet interessant aspekt ved minedrift er, at hver blokkehoved indeholder en hash fra den forrige blok. Ethereum-noder bruger hash til let at opdage uautoriserede blokændringer. Hvis en blok ændres, matcher hash-resultatet ikke, og blokken bliver ugyldig.

Minedrift cryptocurrency er også en måde at tjene penge ved hjælp af blockchain-teknologi. Minedrift er blevet konkurrencedygtig, og de fleste af dagens gruvearbejdere investerer i højtydende hardware med flere GPU'er for at udføre de komplekse operationer. For at holde mineprocessen fair, bruger Ethereum en kompleksitetsværdi, der gør minerydningsprocessen endnu sværere, når minearbejdere bliver hurtigere. Justering af kompleksiteten giver Ethereum mulighed for at regulere den nye blokfrekvens til et gennemsnit på en ny blok hvert 14. sekund.

Limet, der holder Ethereum-miljøet sammen, er den smarte kontrakt. Ethereum er meget mere end bare en finansiel hovedbog, og smarte kontrakter giver meget af dens rige funktionalitet. Hver Ethereum-knude kører en kopi af den virtuelle Ethereum-maskine (EVM).

EVM kører smart kontraktkode på en måde, der garanterer, at smarte kontrakter udfører samme måde på alle noder og producerer den samme output. Det er ikke valgfrit at køre smart kontraktkode. Smarte kontrakter udføres på grundlag af specifikke regler og kan ikke underkastes eller standses. EVM-smartkontraktgarantierne giver en stabil platform til automatisk transaktionsbehandling, som du kan stole på. Smarte kontrakter giver Ethereum-miljøets primære kraft.

En af de kendte svagheder ved software er, at angribere undertiden kan omgå dens kontroller og udføre utilsigtede handlinger. Den type angreb er vanskeligere i Ethereum, primært på grund af dens smarte kontraktgennemførelse. Angribere kan ikke direkte angribe blockchain og foretage uautoriserede ændringer, fordi sådanne ændringer straks opdages

Den næste mest sandsynlige angrebsvektor er den smarte kontraktgrænseflade til blockchain-dataene. Ethereum garanterer, at smart kontraktkode, der oversættes til bytecode, før den skrives til blockchain, udføres på alle EVM-instanser på samme måde. EVM bestemmer også, hvornår kode udføres, og hvilken kode der udføres. Angribere har få muligheder for at udnytte smart kontraktkode, hvilket gør Ethereum til et endnu mere sikkert miljø.

Ethereum-platformen som helhed tilbyder muligheder, der strækker sig ud over den nuværende anvendelse af blockchain.

  1. Personal Finance10 Designprincipper for distribuerede Blockchain-apps
Ethereum For Dummies

Af Michael Solomon

Blockchain-teknologi er en forstyrrende, transformativ tilgang til den måde, vi administrerer data på. Det lover at radikalt ændre, hvordan vi udfører opgaver, der håndterer følsom information i delte miljøer. Kritiske operationer på følsomme data krævede historisk en stærk central myndighed for at overbevise datalejere til at stole på miljøet nok til at det kan administrere deres data.

En af de vanskeligere hindringer, som enhver blockchain-app skal overvinde, er at opbygge tillid. Brugere er nødt til at stole på, at softwaren, der kører på blockchain, indeholder solide foranstaltninger til at yde sikkerhed og beskytte privatliv, før de leverer følsomme personlige og forretningsdata.

Du kan gå langt mod at opbygge denne tillid ved at overholde flere grundlæggende designretningslinjer. Hvis du følger de ti designmål for blockchain-applikationer, som du finder her, hjælper du dine brugere til at stole på din applikation nok til at bruge den og stole på den.

Design blockchain-apps til tillid

En af de primære årsager til, at de fleste organisationer bevæger sig mod blockchain-løsninger, er dens evne til at dele data mellem noder, der ikke har tillid til hinanden. Hvis du tænker over det, sætter det virkelig en høj bjælke for dApp-udviklere. For at udvikle en vellykket dApp skal du overbevise dine brugere om at stole på din software med deres data, når du sender dem til et stort antal andre noder, som du ikke har tillid til (og de heller ikke har tillid til).

Tillid er normalt (men ikke altid) transitive. (Ja, du er på vej tilbage til matematikklasse. Hvis A = B og B = C, så er A = C. Du er velkommen.) Dette er den mest almindelige måde, vi som mennesker håndterer tillid på.

Hvis du stoler på Mary, og Joe stoler på dig, er Joe sandsynligvis i orden med at have tillid til Mary. Lad os antage, at du er madkritiker. Joe stoler på, at du anbefaler god mad. Hvis du lægger ud af, at du virkelig kan lide Marias ferskenkage, vil Joe være mere tilbøjelig til at prøve hendes ferskenkage, da Joe stoler på din smag i mad. Men det sporer ikke med et tillidsløst miljø. I tilfælde af blockchain dApps har dine brugere tillid til dig, men du har ikke tillid til andre i dit eget blockchain-netværk.

Dit første designmål er et mål på højt niveau, som du skal holde som en top-of-mind motivator for alle beslutninger. Mange af de efterfølgende designmål understøtter dette: Design dine dApps til tillid. Dette mål betyder, at du vil overveje, hvad dine brugere går ned, og hvad der får dem til at føle, at de kan stole på din dApp.

Brugere skal vide, at du tager sig af deres data. Din dApp bør ikke skjule noget og skal gøre det nemt at kontrollere, hvad der sker. Det skal klart kommunikere god og dårlig information og give en generel følelse af velvære. Selvom det er en stor ordre for software, er det nødvendigt at opbygge tillid.

Det vigtigste aspekt ved at designe for tillid er at forstå, hvem dine brugere er, og hvad der får dem til at føle sig godt tilpas. Kort sagt, kend dine brugere. Ved hvad de vil, og hvordan du kan overbevise dem om, at du ikke kommer til at spilde deres tid eller drage fordel af deres tillid til dig.

Håndhæv konsistensen i blockchain-apps

En af de nemmeste måder at undgå forvirring er at begrænse mulighederne og modstridende oplevelser i dine dApps. Microsoft lærte for længe siden magten i konsistens. De udviklede standarder for, hvordan man interagerer med brugerne, og udforskede og definerede alle aspekter ved at skabe en brugergrænseflade. Det er grunden til, at Microsoft-applikationer føler sig ligner hinanden.

Hvis du har brugt et Microsoft-program, genkender du mindst den generelle brugergrænseflade i andre Microsoft-applikationer. (Og hvis du har brugt Microsoft-produkter i et stykke tid, vil du huske den enorme forstyrrelse, Microsoft forårsagede, da de konverterede til en flisebaseret brugergrænseflade - stort set fordi alle var så behagelige med den gamle Microsoft-grænseflade.)

Hvis du f.eks. Vil finde den aktuelle version af et Windows-program, du kører, kan du næsten altid klikke på eller trykke på Hjælp og derefter klikke på eller trykke på menupunktet Om i menuen Hjælp.

Billedet herunder viser menupunktet Om i VS-kode. Menupunktet Om findes i stort set alle Windows-applikationer og viser grundlæggende oplysninger, inklusive versionnummeret, af det program, du kører. Det enkle eksempel på brugergrænseflade konsistens gør det nemt for alle at finde applikationsinformation uden at skulle jage efter dem.

VS-kode Ethereum

Følgende billede viser dialogboksen Om i VS-kode. Du finder udgivelsesoplysninger til de fleste Windows-applikationer ved at klikke eller tappe Hjælp → Om. Det er kraften i konsistens.

VS-kode om dialogboks

Dine apper skal definere klare standarder for enhver brugerinteraktion. Når du beder dine brugere om at give input, skal du gøre det på samme måde i hele din dApp. Når en bruger indtaster et produkt-ID flere steder, skal inputfeltet se det samme ud på hvert sted. Brug de samme farver, skrifttyper og inputmetode for at give din dApp et ensartet udseende.

Et andet område, hvor du finder konsistens i GUI-apps, er tastaturgenveje. Du kan næsten altid bruge Ctrl-C til at kopiere fremhævet tekst og Ctrl-V til at indsætte teksten på et nyt sted. Konsekvente tastaturgenveje gør det endnu lettere at lære og bruge ny software.

Standardiserer alle output på samme måde. Fejlmeddelelser og alarmer er de vigtigste områder til standardisering. Brug muligt, når det er muligt, almindelige input- og output-lag, så al input og output bruger det samme sæt funktioner. Hele dApp vil se mere ensartet ud.

Du prøver at opmuntre dine brugere til at fortsætte med at bruge din dApp. En dApp, der præsenterer en konsistent brugergrænseflade, er en, der skaber tillid. Konsistens gør det også lettere for dine brugere at lære at bruge din software, og en applikation, der er let at lære, er en, som brugerne sandsynligvis foretrækker og accepterer.

Fjern tvivl fra blockchain-apps med gennemsigtighed

En af grundene til, at brugere mistroer en applikation, er, at de ikke rigtig forstår det. Brugerne leverer deres data, men er ikke sikre på, hvad der sker derpå. De ved ikke, hvor deres data går, og om de endda stadig er et sted i systemet. Denne følelse af at sætte data i en sort boks kan være endnu stærkere med blockchain dApps.

Efterhånden som blockchain-teknologien bliver mere populær, øges den samlede bevidsthed om dens funktioner. Det betyder, at mange af dine brugere vil vide, at din dApp sender deres data til mange andre computere, potentielt over hele verden. En af de forhindringer, du bliver nødt til at overvinde, er at overbevise dine brugere om, at du beskytter deres følsomme data.

Kommuniker klart, hvilke data din dApp har brug for, hvorfor den har brug for hver type data, og hvad du gør med dem. Du behøver ikke at videregive disse oplysninger, hver gang du beder om data, men de skal være tilgængelig første gang du interagerer med en ny bruger og derefter på efterspørgsel.

Du skal også gøre det let for brugerne at se, hvad de har gjort (og hvad din dApp har gjort med deres data.) At give gennemsigtighed på hvert trin giver brugerne en følelse af tillid.

Gør det nemt for dine brugere at bore ned og få bekræftet handlinger. Dette gennemsigtighedsniveau giver brugerne tilliden til, at din dApp gør, hvad den hævder at gøre, og kan reducere bekymringen for, at din dApp skjuler noget. Afhængig af brugerens bekymring og dine egne designretningslinjer, kan du opbygge gennemsigtighed i hver arbejdsgang eller i efterspørgselsfunktioner for at give strømbrugerne mulighed for at bore efter ønske.

Giv feedback, vejledning og indstil forventninger til dine blockchain-apps

Det næste designmål, du har brug for din blockchain-app, er at give feedback og vejledning og indstille forventninger. Dette mål er en logisk udvidelse af gennemsigtighed. Mens gennemsigtighed gør transaktions- og arbejdsgange detaljer let tilgængelige for brugere, sætter feedback, vejledning og forventning indstilling gennemsigtighed i den normale arbejdsgang. I stedet for bare at give brugerne mulighed for at se, hvad der skete, skal du give dem informativ feedback på hvert vigtigt arbejdsgangstrin.

For eksempel, hvis du er en producent og lige har overført ejerskabet af en ny traktor til en afsender, kan din nye forsyningskæde dApp muligvis give dig en meddelelse “Du har netop overført traktor med serienummer ABC-12345 til Unified Shipping - Transaction number 456778 . ”Selvfølgelig vil du sandsynligvis få flere detaljer til en kapitaloverførsel, men du får ideen. DApp leverede feedback, der i det væsentlige siger ”Hej, godt job. Dette er, hvad du gjorde. ”Informativ feedback er det første skridt i at overbevise brugerne om at stole på din dApp. Feedbacken giver dem forsikringen om, at de bruger softwaren korrekt.

Du kan også udvide feedbackeksemplet til også at informere brugerne om det næste trin. I traktoreksemplet kan din feedbackmeddelelse også indeholde en meddelelse "Vil du frigive titlen nu?" Med mulighed for at klikke på eller trykke på en knap for at gå til næste trin. Sluttopgaver som denne hjælper med at sikre, at brugerne forstår den rigtige arbejdsgang og giver dem indtryk af, at softwaren hjælper dem med at udføre deres job korrekt. Når software gør brugerne mere effektive, går det langt mod opbygning af tillid. Alle elsker software, der får dem til at se godt ud!

Håndter fejl i din blockchain-app med klassen

Face det, der sker fejl. Og nogle gange er disse fejl store. Forhåbentlig har du fundet alle de store fejl i din software under test. (Du testede udtømmende, ikke?) Hvis du gjorde det, vil de fleste af de fejl, du støder på i produktionen, være brugerfejl.

Når du håndterer brugerfejl, kan du prøve at undgå meddelelser, der med subtile ord ”Du har rodet sammen!” Fokuser på at løse situationen og ikke lægge skylden.

Du husker sandsynligvis brugen af ​​din første GPS-enhed i en bil. I de tidlige dage af GPS, hvis du afviger fra den foreslåede rute, hørte du en temmelig streng "Omlægning" -meddelelse. Stemmen kunne lige så godt have sagt ”Du går ikke hen, som jeg fortalte dig. Vent, jeg fortæller dig, hvordan du kommer tilbage til det, jeg fortalte dig i første omgang. ”Fejlmeddelelser skal informere brugerne om, hvad der er sket, men fokusere på, hvad de skal gøre næste. Ja, GPS'en gjorde det, men det var generelt efter en subtil skændelse. Skæld ikke dine brugere.

På den anden side skal du ikke bruge for meget tid på at fokusere på fejl. For vidtgående fejlmeddelelser kan være forvirrende og tage for lang tid at læse. Kom til sagen. Design altid fejlhåndtering fra brugerperspektiv. Giv brugerne alt hvad de har brug for for at reagere hurtigt og beslutsomt på fejl og ikke mere.

Fejlmeddelelser hjælper slutbrugere med at forstå, hvad der sker, og hjælper også supportpersonale, når de fejlfinding. Design dit fejlmeddelelsessystem, så det leverer nødvendige brugermeddelelser såvel som flere ordrette meddelelser efter behov for fejlfinding og undersøgelser.

Husk, at blockchain er uforanderlig, så alle fejl, der gør det til en blok, vil altid være der. Din dApp skal løse brugerproblemer med data, før du gemmer disse data i blockchain. Kunsten at håndtere fejl er at guide brugerne til den rigtige løsning uden at bremse dem. Det kræver opmærksomhed på, hvem dine brugere er, hvordan de bruger din dApp, og hvad de har brug for for at løse et problem. Et af dine designmål skal være at levere fejlhåndtering, der imødekommer dine brugers behov i alle tilfælde.

Designfunktioner i din blockchain-app, der fokuserer på brugerhandlinger, ikke data

Funktioner giver handlingen i dine smarte kontrakter. En måde at se på smarte kontrakter på er at de består af data (navneord) og handlinger (verb). At indramme smarte kontrakter på denne måde gør det lettere at beskrive og designe dem og resulterer generelt i en applikation, der flyder godt fra et brugerperspektiv.

Da alle applikationer findes for at imødekomme nogle brugers krav, er det fornuftigt at designe software i lyset af brugeren. Hvis en bruger ønsker at oprette en ny ordre på det højeste niveau, skal du starte med en funktion, der hedder createNewOrder (). Du kan muligvis ændre ting, mens du forfine dit design, men at starte med et brugerperspektiv hjælper med at bevare ægtheden med softwarens mål. At designe tekniske komponenter, der opfylder brugermål, hjælper også med at undgå at afvige for langt fra høje funktionsmål.

Mange af dagens softwareudviklingsorganisationer er afhængige af metoder, der starter med brugerhistorier. Som udvikler bliver du bedt om at fremstille software, der opfylder et krav, der ligner "Som bruger vil jeg ____." Start din smarte kontrakt med en funktion, der svarer til det, brugerne vil gøre (det vil sige den udfyldte -i tom fra den foregående erklæring), er en god designstrategi til fremstilling af brugervenlig software.

Hver funktion behøver ikke at kortlægge direkte til brugerhandlinger, men dine funktioner på højt niveau skal se ud som om de tilfredsstiller brugerhistorier. Du har altid brug for opgaveorienterede eller dataorienterede funktioner på lavere niveau for at udføre de tekniske trin i enhver opgave. Det er okay, hvis disse funktioner ikke kortlægger direkte til brugerhistorier. Men dine lavere niveau-funktioner skal alle spille dele i de funktioner, som brugerne interagerer med. Som en meget generel tommelfingerregel skal dine offentlige funktioner ligner meget brugerhistoriske svar.

Gem blockchain-appdata baseret på brugerhandlinger, ikke datastrukturer

Brugere interagerer muligvis ikke direkte med data, men du skal stadig forsøge at organisere data baseret på brugerkrav. Dette generelle mål er mere en tommelfingerregel. Brug dette mål, når du oprindeligt designer dine smarte kontraktdatakrav. Du bliver sandsynligvis nødt til at forfine designet og ændre det, men hvis du starter med data, der er kortlagt til brugeranmodninger, hjælper din software med at være tro mod brugerkrav.

Hvis du f.eks. Designer software til at oprette og vedligeholde ordrer, skal du starte med en soliditetsstrukturopgørelse, der definerer en ordre, som en bruger ser den. En ordre kan være en samling af felter, der beskriver den, såsom ordrenummer, ordredato, kundeordre, instruktioner og en liste over ordrelinjer. Ordrelinjer indeholder felter som produktnummer, pris og mængde. Du kan definere dette som en struktur af variabler og en liste over ordrelinjestrukturer.

Uanset de tekniske detaljer om, hvordan du definerer data, er hovedformålet med dette mål at overveje, hvordan brugere vil bruge data, og forsøge at præsentere dataene på den måde. Hvis du stiller ordrer direkte til rådighed for brugerne for at fremme gennemsigtighed i din software, vil du gøre ordrene så let tilgængelige som muligt. Du ønsker ikke at fremme gennemsigtighed og derefter få brugerne til at arbejde hårdt for at finde ud af, hvad dine data betyder. At gøre data nemme at få adgang til og forstå vil skabe endnu større tillid.

Hold din blockchain-app enkel

Du har mange ting at overveje, når du designer en dApp. Selvom fokusering på brugere skal hjælpe med at dirigere designbeslutninger, er tendensen at forsøge at imødekomme ethvert brugerbehov. Hvis du ikke tjekker det, vil dette ønske om at gøre det hele gøre din software alt for kompliceret og vanskelig at bruge. At give brugerne masser af valg lyder som et godt mål i starten, men en overvældet bruger vil ikke lide (eller bruge) din software.

Den almindelige ordsprog “holde det enkelt, dumt” er stadig relevant. Det er en streng påmindelse om, at enkelhed er langt smartere end kompleksitet. Du har muligvis hørt, at "et forvirret sind altid siger nej", men du vil have, at dine brugere skal acceptere og bruge din dApp. Du vil have dem til at finde ud af, at din software gør dem mere effektive og effektive. For at nå disse mål er du nødt til at gøre forståelsen og brugen af ​​din software let og klar.

Enkelheden starter med brugergrænsefladen, men den stopper ikke der. Hvert aspekt af din applikations funktionelle og datadesign skal være så enkel som muligt. Forsøg ikke at gøre for meget. I stedet for skal du bestemme, hvad dine brugere har brug for og ønsker mest, og gør det. Prioriter den funktionalitet, der får din software til at skille sig ud. At holde det enkelt tager mere arbejde, men resulterer ofte i et fokuseret, konsistent produkt, som brugerne vil bruge.

Forvent at blockchain-adgang bliver dyr

Et andet praktisk designmål, der vil hjælpe dig med at undgå omarbejdning efter udvikling er at foregive fra starten af ​​at lagre data på blockchain er dyrt. For i virkeligheden er det det. For mange, der begyndte at programmere langt tilbage, da Y2K var langt fremover, er opbevaring meget billigere i dag, end det plejede at være. De fleste udviklere i dag behøver ikke at bekymre sig om datastørrelse eller hvor de skal opbevares. Blockchain ændrer alt det. I stedet for at have masser af billig og hurtig opbevaring tilgængelig, skal du betale, mens du går.

Dyrt lager er ikke en ny ting i blockchain, men det kan være let at glemme. Hvis du minder dig selv om, at lager tidligt er dyrt, er du mere tilbøjelige til at overveje lagerindstillinger mere grundigt.

Har du for eksempel brug for at gemme byen og oplyse, hvor et produkt vil blive sendt? By og stat er begge afhængige af postnummer (eller postnummer i mere generiske indstillinger.) Du kan gemme postnummeret i forsendelsesadressen og derefter bare slå den tilsvarende by og stat op ved hjælp af en online API under kørsel.

Adskillelse af data, som f.eks. Postnummereksemplet, giver muligvis ikke mening til din ansøgning, men du vil altid drage fordel af at tænke igennem dine datalagringsindstillinger. De dyreste opbevaringsmuligheder er næsten altid et resultat af dårlig designplanlægning. Design ikke blockchain dApps på samme måde som du designer traditionelle databaseapplikationer. De er bare ikke de samme. Design med et andet tankesæt, og du ender med et bedre softwareprodukt.

Hold dig ude af blockchain-app-brugerens måde

En god blockchain-applikation imødekommer de vigtigste brugerbehov på en måde, der hjælper dem med at være mere effektive og effektive. Dog skal dit design ikke kun overveje, hvad din applikation gør, men også, hvad den ikke gør.

Hver applikation har begrænsninger og begrænsninger. Dette designmål fokuserer på en anden ting, som din applikation ikke gør: Den kommer ikke på brugerens måde. Kort sagt, din applikation skal hjælpe brugere og ikke nedsætte dem. Din brugergrænseflade skal hjælpe brugerne med at udføre deres job, og overgangene mellem brugergrænsefladelementerne skal være intuitive og lærerige, når det er nødvendigt.

Nogle gange bliver du nødt til at tage data fra brugere og derefter gemme dem på blockchain. (Du kan huske, at dette er dyrt, ikke?) Fordi du ved, at du vil få brugere til at betale for at gemme data på blockchain, skal du ikke få dem til at vente på det også. Når det er muligt, lad dine brugere gøre noget produktivt, mens funktionen, der håndterer deres data, fungerer i baggrunden. Dette kan være et godt sted i din kode til at bruge begivenheder.

Gør alt hvad du kan for at undgå at blive en hindring for dine brugere. Ingen kan lide at vente. Design med tanke og dit produkt har en meget bedre chance for at imødekomme dine brugers behov.