10 minuten Ethereum-oriëntatie

Het doel van deze gids is om u zo snel mogelijk onder te dompelen in Web3, zodat u over de context en het basiskennis beschikt die nodig is om te beginnen met leren en te beginnen met ontwikkelen..

Waarom Blockchain?

Als u nieuw bent in de ruimte, is het misschien niet duidelijk wat een “gedecentraliseerd internet” een ontwikkelaar te bieden heeft. Beschouw een openbare blockchain zoals Ethereum als een duidelijke ‘staat’ – en bron van waarheid – voor iedereen die eraan deelneemt, toegankelijk voor iedereen die met internet is verbonden, een systeem dat de kracht van het open source-protocol en de redundantie gebruikt van peer-to-peer-netwerken om betrouwbaar en veilig te blijven. In plaats van van elke app-ontwikkelaar te eisen dat hij de volledige staat van zijn app op privéservers maakt en onderhoudt, kan er veel worden opgeslagen op en opgehaald uit de openbare blockchain. Een algemene, vertrouwde en veilige backend.

De reden dat dit mogelijk is, is vanwege de unieke kenmerken van een blockchain-database. Het is alleen-schrijven: waar een typische database records kan toevoegen en verwijderen, blijven blockchain-gegevens voor altijd bestaan ​​en kunnen ze niet worden verwijderd. Het netwerk van knooppunten onderhoudt deze database als een “gedistribueerd grootboek” en heeft strikte protocollen rond wie op een bepaald moment toestemming heeft om te schrijven. Een van de interessante aspecten van de technologie is hoe schrijfrechten worden verdeeld over knooppunten waarvoor mogelijk geen speciale toestemming nodig is om lid te worden. Als u uw eigen openbare Ethereum-knooppunt start, heeft u schrijftoegang tot het hele netwerk: op voorwaarde dat u het vereiste “bewijs van werk” hebt voltooid om u het voorrecht te geven om een ​​knooppunt te schrijven voordat een ander knooppunt dat deed. 

Een goed en typisch voorbeeld van blockchain-technologie in actie is het gemak van het verzenden en ontvangen van cryptocurrency. Met het openbare Ethereum-grootboek kan een ontwikkelaar betalingsgateways implementeren zonder banken, rekeningen of andere tussenpersonen. 

Een ontwikkelaar zou zijn eigen Ethereum-token kunnen maken zonder de infrastructuur te hoeven creëren die gebruikers nodig hebben om ze te verhandelen. Een online gamingplatform zou in-game items kunnen tokeniseren, en gebruikers zouden die tokens kunnen kopen en ze buiten het platform kunnen verhandelen en ze afzonderlijk van het gamingplatform zelf kunnen bezitten. Naast het ruilen van items voor gebruik in de game, hebben digitale verzamelobjecten een enorm potentieel voor de toekomst. Naarmate e-sports in populariteit toeneemt, heeft u mogelijk een digitaal tokenized equivalent van een ‘home run ball’.

Omdat elke gebruiker zijn eigen openbare / privé-sleutelpaar heeft, wordt gebruikersauthenticatie veel eenvoudiger omdat apps alleen hoeven te verifiëren dat een gebruiker transacties kan ondertekenen met zijn privésleutel.

Slimme contracten kunnen worden gebruikt om programmeerbaar geld te creëren. Overweeg een basisgebruik van een programmeerbaar slim contract om de situatie aan te pakken waarin twee eigenaren van een appartement de huurbetalingen van een huurder 50/50 willen splitsen. Normaal gesproken zou de huurder elke eigenaar afzonderlijk moeten betalen, of zou hij één eigenaar of een makelaar betalen, en de eigenaar of makelaar zou het geld betalen. Hoewel deze situatie niet bijzonder problematisch is, moet u rekening houden met het impliciete vertrouwen dat in de ene persoon vereist is om de ander zijn deel te geven. Vergelijk dit met een eenvoudig slim contract dat inkomend geld programmatisch splitst en naar het adres van elke eigenaar stuurt. De huurder hoeft alleen zijn huur naar dat adres te sturen en elke eigenaar krijgt zijn deel onmiddellijk. Vanwege de veiligheid en onveranderlijkheid van een blockchain zoals Ethereum kan elke eigenaar er zeker van zijn dat het slimme contract naar wens zal werken en zijn code kan controleren. 

Zodra we de digitale ruggengraat van vertrouwen hebben geboden door blockchain, kunnen we de voordelen van programmeren ook toepassen op belangrijke sociale problemen. We kunnen een bankdienst aanbieden in een paar regels code. We kunnen de identiteit met een paar klikken bevestigen. Allemaal met een protocol dat op bijna elke computer overal ter wereld kan worden uitgevoerd.

Omdat de ruimte nieuw is en zich ontwikkelt, zijn er veel kansen voor ontwikkelaars om nieuwe soorten tools, apps en systemen te bouwen en om nieuwe use-cases voor deze technologie te bedenken..

Een oplossing op zoek naar een probleem?

Een veel voorkomend refrein in kritiek op blockchain-technologie is dat het een oplossing is bij het zoeken naar een probleem. Er kan worden beweerd dat digitale valuta de eerste blockchain-killer-app was, en Distributed Finance, of DeFi, de volgende wordt, de volledige omvang van hoe deze technologie kan worden toegepast, is momenteel onbekend en is een van de belangrijkste redenen waarom ontwikkelaars in de ruimte vind het spannend om er deel van uit te maken. Meer dan een decennium lang had lasertechnologie geen duidelijk nut, totdat onderzoekers, onderzoekers en ondernemers het op totaal onverwachte manieren konden toepassen. Hoewel hetzelfde argument kan worden gebruikt voor elke nieuwe technologie, is de massale wijdverspreide acceptatie van digitale valuta en de meer dan $ 350 miljard die momenteel aanwezig is op gedistribueerde, onbeheerde, gedecentraliseerde blockchains behoorlijk opmerkelijk.. 

Basis gedistribueerde app-structuur 

Een gedistribueerde app is over het algemeen een app die verbinding maakt met een blockchain ergens in de stack, en dat is waarschijnlijk op de een of andere manier fundamenteel voor de werking ervan. Gedistribueerde apps zijn een mix van de gebruikelijke front- en backend-systemen die u in een web-app aantreft, maar gebruiken een bibliotheek zoals web3.js om verbinding te maken met het Ethereum-netwerk. Sommige gedistribueerde apps zijn volledig gedistribueerd: leven volledig op gedistribueerde netwerken.

Aan de kant van de gebruiker, MetaMask is een populaire plug-in die de Ethereum-portemonnee van gebruikers beheert. MetaMask biedt een interface waarmee een gebruiker transacties kan ondertekenen en zijn ‘identiteit’ kan bewijzen.


Een bepaalde gedistribueerde app kan verbinding maken met de Ethereum-blockchain en ook met de MetaMask-portemonnee van de gebruiker (of een andere portemonnee) voor authenticatie. 

Koppeling met Ethereum 

Om met Ethereum te communiceren, moet u meestal een knooppunt bedienen. Een knooppunt is een fundamenteel onderdeel van de structuur van een blockchain, de peer die verbinding maakt met andere peers om de gedecentraliseerde structuur te vormen. Het protocol is koning op het openbare mainnet: er is geen centrale server, geen autoriteit en er zijn geen limieten aan wie een knooppunt kan bedienen. Er is alleen een gemeenschappelijk protocol voor alle deelnemende knooppunten.

Veel app-ontwikkelaars geven er de voorkeur aan om hun eigen Ethereum-knooppunt niet te gebruiken, dus services zoals Infura bestaan ​​om een ​​gateway en API voor Ethereum te bieden die ontwikkelaars in plaats daarvan kunnen gebruiken.

Slimme contracten

Hoewel het Bitcoin-netwerk een van de meest bekende blockchains is, heeft Ethereum een ​​functieset die opwindender is voor ontwikkelaars, omdat het een Turing-complete virtuele machine bevat die kleine programma’s kan uitvoeren die slimme contracten worden genoemd. Als gevolg hiervan heeft Ethereum de sterkste en meest actieve ontwikkelaarsgemeenschap onder alle blockchain-ecosystemen. 

Slimme contracten draaien op knooppunten en gebruiken transacties voor hun invoer en uitvoer. Slimme contracten bevinden zich op adressen op de blockchain, op dezelfde manier als het accountadres van een gebruiker. Om te communiceren met een slim contract, hoeft u er alleen een transactie naar toe te sturen, samen met de invoergegevens. 

Gas

Het uitvoeren van een slim contract vereist gas, een kleine kost die node-operators compenseert voor de service voor het uitvoeren van het slimme contract, terwijl het ook de incidentie van spam vermindert (door spam duur te maken) en voorkomt dat slecht gecodeerde slimme contracten oneindig doorlopen en het netwerk vastlopen.

Mainnet, testnets, andere netwerken

Een mainnet in blockchain-taalgebruik verwijst naar het primaire actieve netwerk voor een bepaald protocol. In het geval van Ethereum is mainnet de plek waar echte waarde wordt uitgewisseld en wordt beschouwd als de bron van de waarheid. Maar elke groep knooppunten kan hun eigen netwerk vormen. Testnets dienen de ontwikkelaarsgemeenschap door veel kleinere netwerken aan te bieden waar Eth en gas gratis zijn, zodat ontwikkelaars hun projecten en code zonder risico kunnen testen. De Ethereum-testnets heten Ropsten, Kovan, Rinkeby en Görli.

Ethereum-netwerken worden ook gebruikt voor bedrijfstoepassingen: op maat gemaakte netwerken die werken op basis van toestemming (versus het toestemmingsloze mainnet en testnets) om transacties en andere bewerkingen tussen een kleine groep organisaties (bijvoorbeeld) te vergemakkelijken. Deze netwerken hebben veel minder knooppunten en hebben meestal een specifiek doel. Grote banken zouden bijvoorbeeld een blockchain kunnen gebruiken voor interbancaire afwikkeling.

Ontwikkeling in Ethereum

Ontwikkeling in Ethereum vindt over het algemeen eerst plaats op lokale, zelfgemaakte blockchains. Het staat ontwikkelaars vrij om zoiets als geth te gebruiken, opdrachtregelsoftware waarmee u Ethereum-netwerken kunt maken. Maar dit is als programmeren in een taal op laag niveau: om dingen gemakkelijker te maken, voorziet de Truffle-suite in veel behoeften van ontwikkelaars. Ganache, onderdeel van de suite, maakt het veel gemakkelijker voor ontwikkelaars om een ​​lokaal blockchain-netwerk op te starten om hun apps te testen, door een “one click blockchain” aan te bieden voor ontwikkelingsdoeleinden, samen met command line tools. Drizzle helpt bij front-end ontwikkeling, en Truffle zelf is een raamwerk om slimme contractontwikkeling en implementatie gemakkelijker te maken.

Interactie met de blockchain zelf vereist het gebruik van een API (zoals web3.js) en toegang tot een knooppunt; in plaats van hun eigen knooppunten te beheren, zullen veel ontwikkelaars een service zoals Infura als een Ethereum-API.

Slimme contracttalen

Momenteel is de meest populaire taal om slimme contracten in te coderen Stevigheid. Deze javascript-achtige taal is vrij gemakkelijk op te pikken voor nieuwe ontwikkelaars, vooral degenen met ervaring met webcodering. Remixen is een online IDE waarmee ontwikkelaars kunnen experimenteren met het maken van slimme contracten. Er zijn veel belangrijke details om te leren voor slimme contractprogrammeurs, aangezien slimme contracten op het mainnet op echte waarde werken en onveranderlijk zijn zodra ze zijn geïmplementeerd (hoewel er programmeermethodologieën zijn die hierbij helpen).

De volledige stapel

Zoals bij alle moderne webontwikkeling, zijn er veel opties voor componenten die op verschillende niveaus van de stapel kunnen worden gebruikt. U kunt meer details krijgen in de altijd up-to-date blockchain-stack.

Een eenvoudige projectstapel

Hier is een typische set ontwikkeltools die u in een eenvoudig project zou kunnen gebruiken:

NPM 

Node-pakketbeheerder, onderdeel van node.js

Het Truffel Framework

Een reeks tools om de ontwikkeling gemakkelijker te maken

Ganache

Vanuit het Truffle-framework, gebruikt om een ​​privé-blockchain op uw eigen machine te lanceren

MetaMask

Een blockchain-gebruikersinterface en gateway naar Ethereum; het is een browserplug-in en een mobiele app waarmee uw app verbinding kan maken, zodat gebruikers transacties kunnen ondertekenen en andere taken kunnen uitvoeren.

Stevigheid

Een populaire programmeertaal voor slimme contracten

HTML / CSS / JS

Voor uw front-end

Web3.js

Een Ethereum API-bibliotheek waarmee u verbinding kunt maken en communiceren met het Ethereum-netwerk

Infura

Een Ethereum API-service die ontwikkelaars toegang geeft tot het Ethereum-netwerk zonder dat ze hun eigen node hoeven te draaien

Als je klaar bent om aan de slag te gaan, gaat onze 3-stappen-gids dieper in om je snel op weg te helpen met de blockchain met een walk through.

    Onboarding van ontwikkelaars: stap 1Stap 1 van de introductie van ontwikkelaars

    Onboarding van ontwikkelaars: stap 1

    Onboarding van ontwikkelaars: stap 2Stap 2 van de introductie van ontwikkelaars

    Onboarding van ontwikkelaars: stap 2

    Onboarding van ontwikkelaars: stap 3Onboarding voor ontwikkelaars Stap 3

    Onboarding van ontwikkelaars: stap 3
Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map