Inleiding
83 Bronnen | 204+ Uren
De ontwikkeling van Blockchains en gedecentraliseerde applicaties (Dapps) explodeert in populariteit, sommigen noemen het zelfs het volgende disruptieve paradigma, naast het internet en mobiele telefoons. De Blockchain is een nieuwe technologie die functioneert als een gedecentraliseerd, peer-to-peer beheerd digitaal grootboek. Nog indrukwekkender is dat het het (zogenaamd) onoplosbare probleem van “dubbele uitgaven” oplost met een gedecentraliseerde aanpak (in tegenstelling tot de conventionele, gecentraliseerde aanpak die een vertrouwde derde partij vereist om alle overdrachten te monitoren) die een cryptografisch probleem vereist dat wiskundig wordt opgelost binnen een toegewezen tijdsbestek, dit wordt de Proof of Work (PoW) genoemd en dit zorgt ervoor dat transacties onomkeerbaar en definitief zijn. Honderden cryptografische valuta’s (ook bekend als cryptocurrencies) zijn momenteel in omloop, waarbij Bitcoin en Ethereum het meest verspreid zijn. Afgezien van het feit dat het slechts digitale vormen van valuta zijn, zijn sommige ook Blockchain-ontwikkelingsplatforms en -frameworks. Deze combinatie heeft geleid tot krachtige groei en investeringen in dit domein.
Enkele van de meest prominente Blockchain-ontwikkelingsplatforms zijn Ethereum, Hyperledger (Fabric, Iroha, Sawtooth Lake), Multichain, Stellar, Dispatch en NEO. Voor de doeleinden van dit leerpad zal de focus liggen op het Ethereum-platform, aangezien de overgrote meerderheid van de 1.500 digitale valuta’s die vandaag in omloop zijn, gebouwd zijn op de technologische basis van Ethereum.
Waarom deze cursus?
Als je een ontwikkelaar of manager bent die nieuwsgierig is geweest naar waar deze hele Blockchain-beweging over gaat, dan is deze cursus perfect voor jou! Dit leerpad biedt je niet alleen een breed overzicht van het Ethereum-technologielandschap, maar het kan ook dienen als naslagwerk terwijl je gedistribueerde grootboektechnologie (d.w.z. Blockchain) en gedecentraliseerde applicaties ontwikkelt. Veel van deze kennis is overdraagbaar naar andere Blockchain-platforms en kan dienen als basis om je ontwikkelingsdoelen te helpen bereiken.
Voor wie is dit?
Deze cursus is bedoeld voor software-engineers, informatici of productontwikkelaars die willen leren hoe ze gedecentraliseerde (of gecentraliseerde) applicaties kunnen bouwen met behulp van Blockchain-technologie. Het eindresultaat kan een nieuw Blockchain-protocol zijn, een alternatieve cryptocurrency, of een applicatie die draait op de Ethereum-technologiestack. Idealiter is deze cursus bedoeld voor iemand met hands-on ervaring in Java, C#, Golang of Python, heeft vaardigheid in Node.js, GIT-repositories of vergelijkbare broncodebeheersystemen.
1.0 Introductie tot de Blockchain Application Stack
1.1 Blockchain Application Stack [45m]
Om succesvol te zijn als Blockchain-ontwikkelaars, moet je jezelf eerst vertrouwd maken met de Blockchain-applicatiestack. De lagen zijn:
- Basislaag is de infrastructuurlaag, waar de computer/opslag/netwerk/virtualisatie plaatsvindt, dit kan intern zijn of gebruik maken van een gevestigde Blockchain as a Service (BaaS) oplossing.
- De volgende laag richt zich op het netwerk en protocol, beslissen welk type Blockchain je wilt creëren (permissionless zoals Bitcoin of Ethereum of permissioned zoals R3), ontwikkelingsplatform, netwerkdeelnemende nodes consensusalgoritme (bijv. Proof of Work (PoW), Proof of Stake (PoS), hybride, enz..)
- De volgende laag is de dienstenlaag die de werking van de applicatie (een laag hoger) mogelijk maakt en de verbindingen met verschillende functies zoals Orakels (API naar real-world data), slimme contracten, Multisignature (multi party contract), Wallets, Gedistribueerde Bestandsopslag, en nog veel meer, tot stand brengt.
- De laatste laag is consument- of klantgericht, wat de applicatielaag is waar de bedrijfslogica en gebruikersinteractie plaatsvindt, en dit vereist het gebruik van verschillende programmeertalen zoals C++, Python, Solidity en Java.
1.2 Decentralized Application Interoperability [30m]
Elke technologie dient een specifiek doel, en het is altijd een goed idee om je niet alleen vertrouwd te maken met je bijdrage aan de applicatiestack, maar ook om verschillende interoperabele technologieën te begrijpen.
1.3 Gedistribueerde Hash Tabellen [10m]
Er is nu een enorme hoeveelheid kapitaal en financiering goedgekeurd en toegewijd aan crypto-technologie-infrastructuur en -architectuur, en terecht, de digitale leidingen en bedrading moeten worden vastgesteld voordat er iets zinvols kan worden geproduceerd. Het is ook belangrijk om te leren over de autonomie, decentralisatie, fouttolerantie en schaalbaarheid van gedistribueerde hash-tabellen (DHT).
1.4 Technologielandschap [30m]
Deze kaart belicht enkele van de prominente applicaties die draaien op meerdere Blockchains zoals cryptocurrency-beurzen waar digitale valuta’s worden verhandeld, betalingsverwerkingsoplossingen zoals Bitpay en Circle, en uitgifteplatforms (bijv. product dat je in staat stelt om virtuele activa te tokeniseren om overdraagbaarheid te vergemakkelijken).
Blockchain-ontwikkelaars zijn doorgaans verantwoordelijk voor het ontwerpen en bouwen van industriespecifieke oplossingen met behulp van Blockchain-technologie, evenals het leiden van en bijdragen aan de opzet van Blockchain-infrastructuur en oplossingsontwikkeling met behulp van een prominent framework. Ook moeten ze functionele vereisten begrijpen zoals van toepassing op de doelindustrie en deze omzetten in systeem- en gebruikersspecificaties voor ontwikkeling. Ten slotte moeten ze ontwikkelingsbenaderingen, beste praktijken voor het implementeren van de oplossingen definiëren en alle ontwikkelingsframeworks en ontwerpdocumenten documenteren.
1.5 Typische Blockchain Application Team Structuur
Het is goed om te begrijpen op welke positie je je eerst wilt richten, en terwijl je evalueert aan welk onderdeel van de Blockchain-applicatiestack je gaat bijdragen, kun je een blik werpen op hoe deze constructies werken. Over het algemeen zou je hebben:
- Front End: gericht op de gebruikersinterface en gebruikerservaring, dit zou het gebruik van HTML voor webgebaseerde productontwikkeling, CSS Bootstrap om de aangeleverde mockups te ontwerpen, en het gebruik van Javascript, jQuery, AngularJS omvatten om alle interacties tussen de back-end (volgende laag naar beneden) en de gebruikersinterface te bouwen; in wezen de informatie weergeven die in de back-end wordt geproduceerd, bijv. zoekfunctionaliteit, acties achter knoppen, enz.
- Back End: dit zou het opzetten van de cloudserver, het schrijven van API’s in Python, Node.js, Rails, het bouwen van de database in Mongo, Postgres, Cassandra voor ACID-eigenschappen omvatten, dat gezegd hebbende, in een perfect gedecentraliseerde wereld, zou de Blockchain die je gebruikt uiteindelijk je database zijn, daarom wordt het databaseontwerp bepaald door de behoefte aan een gecentraliseerde vs. gedecentraliseerde vs. gedistribueerde vs. hybride omgeving. Deze API’s zijn uiteindelijk cruciaal voor gebruikersbeheer (zoals aanmeldingen, inloggen, uitloggen, browsersessies), de uitgifte en het nut achter de tokens, een block explorer API indien nodig, een dashboard API om gegevens uit de database te halen, walletbeheer API (om tokens te verzenden en te ontvangen, indien van toepassing), beveiliging en toestemmingsbeheer, en het creëren van logs en analyses voor alle mogelijke gebeurtenissen. logs/analyses voor alle gebeurtenissen.
- Blockchain-Platform: dit zou het omzetten van de data-invoer in variabelen, het creëren van solidity-code, met behulp van de variabelen en het implementeren ervan in het Ethereum-netwerk (hetzij het MainNet / Testnet) met behulp van Solidity omvatten. Dit is misschien wel het meest gecompliceerde onderdeel van de oplossing.
2.0 Een introductie tot Ontwikkelingsplatforms en -frameworks
Verschillende Blockchain Platforms – Een Korte Introductie [45m-10h]
Er bestaan tientallen gedecentraliseerde applicatieframeworks gebouwd op Blockchain-technologie, en elk van deze gebruikt ofwel zijn eigen programmeertaal of heeft een eigen programmeertaal specifiek voor dat platform gecreëerd. Enkele van de opvallende voorbeelden zijn: Ethereum, Lisk, Omni, NEO, Ardor, Qtum, Counterparty, Stellar, Waves, Bitshares, Ubiq, NXT en Waltonchain. Dit artikel belicht enkele van de meer bekende platforms en frameworks die tegenwoordig uitgebreid worden gebruikt.
3.0 Een introductie tot Ethereum
Originele White Paper [5-10h]
Dit is altijd de eerste stap in Ethereum, ik raad ten zeerste aan om zoveel mogelijk tijd te besteden aan het gedetailleerd lezen hiervan. Dit is een levend en ademend document dat voortdurend wordt bijgewerkt.
Hoe werkt Ethereum? [45-90m]
Ik zou aanraden tijd te besteden aan het lezen en volledig begrijpen van de inhoud van dit artikel. Het is goed georganiseerd en begint vanaf het begin, met wat een Blockchain is, het legt het Ethereum blockchain paradigma uit, en gaat in uitputtende detail over transactiebevestigingen en uitvoeringsplannen.
[Video] Wanneer Nieuwe Technologieën en Verouderde Beleidsmaatregelen Botsen [20-40m]
Het Centre for International Governance Innovation (CIGI) is een onafhankelijke, niet-partijdige denktank over internationale governance, CIGI’s interdisciplinaire werk omvat samenwerking met beleids-, bedrijfs- en academische gemeenschappen over de hele wereld, en dit is een interview uitgevoerd door CIGI’s Senior Fellow Julie Maupin, waarin ze Vitalik Buterin, oprichter van Ethereum, vraagt om het gordijn op te lichten over dit complexe platform en de implicaties voor governance. Hun discussie bestrijkt een breed scala aan onderwerpen: Buterins introductie tot cryptocurrencies; de creatie van Ethereum; hoe hardware — groot en klein — een rol speelt in toekomstige ontwikkeling en adoptie; en Ethereum’s aanstaande overgang van het “proof of work”-model naar “proof of stake”.
Vitalik besteedt nu veel minder tijd aan het indienen van programmeercode-updates, en meer tijd aan de architectuur van Ethereum, met de focus op eigenschappen, efficiëntie, eenvoud, privacy en schaalbaarheid.
3.1 Introductie tot Cryptocurrencies, Slimme Contracten en Gedecentraliseerde Applicaties
Met behulp van Blockchain-technologie kun je cryptocurrencies creëren (vanaf nul of door een bestaande openbare code repository te forken), slimme contracten (automatisch regels afdwingen), en gedecentraliseerde applicaties (programma’s zonder een centrale eigenaar of een enkel falingspunt) Als je doel is om een nieuwe cryptocurrency te creëren en kapitaal op te halen met behulp van een initial coin offering (ICO), dan zal je ontwikkelingsproces afhangen van welke cryptocurrency je wilt creëren, het type functionaliteit en functies dat je zoekt, de kenmerken van de token of munt (d.w.z. zal het mineable of stapelbaar zijn, welk consensusalgoritme zullen de operationele nodes moeten overeenkomen, wat zullen de hashing-regels zijn, welk type token distributiemechanisme zal op zijn plaats zijn, welke eigenschappen van cryptoeconomie zoals inflatoire maatregelen zullen op protocolniveau worden afgedwongen. Er is een lange lijst van hulpmiddelen en technologieën in het Ethereum Ecosysteem, en ik heb mijn best gedaan om enkele opvallende uit te kiezen om je te helpen bij deze spannende reis.
3.2 Cryptocurrencies
Hoewel je in theorie elke programmeertaal kunt gebruiken om een cryptocurrency of een blockchain te creëren, zijn de meest voorkomende talen Go (Golang), C, C++, Java, Python, Perl en het zou nuttig zijn om een programmeertaal te gebruiken die breed wordt ondersteund en een bloeiende en actieve ontwikkelingsgemeenschap heeft. De officiële taal waarin de Ethereum Virtual Machine (EVM) is geschreven, is Go. Hoewel er nogal wat verschillende implementaties zijn, is de Geth-client het meest voorkomend en Go is ook de voorkeurstaal voor een paar andere grote projecten, namelijk Cosmos. Het mooie van cryptocurrencies is dat je letterlijk toegang hebt tot de volledige open-source programmeerscripts van Ethereum, en je eigen alternatieve munt (altcoin) kunt creëren door de originele code te forken (als je volledige controle over elk aspect wilt), of simpelweg een token op het Ethereum-netwerk kunt uitgeven. Het is belangrijk om te vermelden dat momenteel meer dan 90% van de cryptocurrencies tokens of activa zijn die zijn uitgegeven op het Ethereum-platform.
Originele Whitepaper door Satoshi Nakamoto [2-4h]
Dit is de canonieke definitie van wat een cryptocurrency is en biedt een bondige uitleg van hoe de Bitcoin Blockchain werkt, het gebruikte stimuleringsmodel, hoe privacy wordt vastgesteld, en hoe Merkle-bomen worden gebruikt voor vereenvoudigde betalingsverificatie (zeer belangrijk concept voor verschillende cryptocurrencies).
3.2.1 Ethereum Token Standaard
Het is belangrijk dat je je eerst vertrouwd maakt met Ethereum Request for Comments (ERC), wat het officiële protocol is om verbeteringen aan het Ethereum-netwerk voor te stellen, de meest voorkomende zijnde ERC20 en ERC23 (officieel bekend als ERC223) voor het creëren van cryptocurrencies.
ERC20 Token Definitie [2h-3h]
Deze definiëren de set van regels voor tokens die binnen die omgeving opereren. Dit is een belangrijk artikel om grondig door te lezen, omdat het de interfaceDeze lijst bevat enkele van de gangbare hulpmiddelen om te helpen bij het leren, inclusief Dapp (Bouwtool, pakketbeheerder en implementatie-assistent) en Solidity REPL (waarmee je direct met een command-line console in Solidity kunt coderen).
Volledige Stack “Hello World” Stemapp op Ethereum Tutorial – Deel 1 [2h-10h]
Dit is een uitstekende stap-voor-stap tutorial die op een gestaag tempo doorloopt hoe je een krachtige, maar eenvoudige stemapp op het Ethereum-platform kunt ontwikkelen. Het bevat drie delen en is onlangs vernieuwd om te profiteren van recente Ethereum-upgrades. Als je van plan bent de code vanaf nul te schrijven en geen van de kerninhoud opnieuw te gebruiken, zou het een geweldige manier zijn om te leren hoe je slimme contracten schrijft, maar het zou aanzienlijk langer duren dan slechts een paar uur om te voltooien. Het doel van deze oefening is om:
- De ontwikkelomgeving voor de stemapp instellen
- De methodologie en syntaxis van het schrijven van een slim contract leren, vervolgens compileren en implementeren in de omgeving
- Interactie met het slimme contract op de Ethereum-blockchain via een Node.js-console.
- Interactie met het slimme contract via een eenvoudige webpagina om de stemtellingen weer te geven en te stemmen op kandidaten via de pagina.
Volledige Stack “Hello World” Stemapp op Ethereum Tutorial – Deel 2 [2h-10h]
Deze tutorial is een voortzetting van de bovenstaande ontwikkeling van de stemapp, en als je klaar bent, zou je hebben:
- Geleerd hoe je geth installeert, dat is de cliëntsoftware (een van de vele) die wordt gebruikt om de volledige Ethereum-blockchain lokaal te downloaden om een node te draaien.
- Geleerd hoe je het Ethereum dapp-framework genaamd Truffle installeert, dat kan worden gebruikt voor het compileren en implementeren van het contract; dit onderwerp kan mogelijk wachten tot de volgende sectie, aangezien die gedecentraliseerde applicaties in veel meer detail behandelt.
- Het slimme contract gecompileerd en geïmplementeerd op het Ropsten Ethereum-testnet.
- De kans gehad om met het slimme contract te interageren met behulp van de Truffle-console en een normale webpagina.
Volledige Stack “Hello World” Stemapp op Ethereum Tutorial – Deel 3 [2h-7h]
De laatste tutorial leidt je door hoe je een paar sleutelfuncties aan de stemdapp kunt toevoegen die eerder op de Ethereum-blockchain was geïmplementeerd, en dit zal een uitstekende activiteit zijn om meer geavanceerde concepten te leren. Belangrijke doelen van de les zijn om:
- Te leren hoe je nieuwe gegevenstypen zoals struct gebruikt om gegevens op de blockchain te organiseren en op te slaan.
- De principes van tokens en het gebruik ervan te leren.
- Te leren hoe je betalingen doet met Ether, de valuta van het Ethereum blockchain-platform.
Volledige Stack “Hello World” Stemapp op Ethereum Tutorial – Finale Demo [1h]
Hier is de gedecentraliseerde stemapp voor de hele wereld om uit de eerste hand te ervaren! Een vriendelijke herinnering is dat voor deze app om goed te werken, je de MetaMask browserextensie moet installeren en vervolgens overschakelen naar het Ropsten TestNet.
[Optional] Introductie tot Solidity – Deel 1 [2h-5h]
Ethereum heeft vanaf het begin beloofd dat het krachtige willekeurige code (ook bekend als slimme contracten) kan implementeren, en deze videotutorial, mede geproduceerd door Will Warren en Jordan Leigh, loopt stap voor stap door hoe je een Ethereum-ontwikkelomgeving instelt, de basisprincipes van het schrijven en implementeren van slimme contracten op de Ethereum-blockchain. Sterk aanbevolen, aangezien beide briljant zijn.
[Optional] Introductie tot Solidity – Deel 2 [2h-4h]
Dit is een voortzetting van de bovenstaande videotutorial, ook aanbevolen, vooral voor ontwikkelaars die visueel graag meevolgen.
3.3.1 Ethereum Slimme Contract Beveiligingsprincipes en Audit
Wat is het risico dat een slim contract wordt gehackt? Bestaan er vandaag geautomatiseerde methoden voor slimme contractverificatie? Hoe effectief zijn zelfstabiliserende, zelfauditerende en zelfcorrigerende algoritmen? Deze vragen worden beantwoord in de volgende secties.
Het is essentieel dat je het onderstaande materiaal bekijkt voor en tijdens het maken van een slim contract. Dit zorgt ervoor dat je programmeercode voldoet aan de normen en dat beveiligingskwetsbaarheden zoveel mogelijk worden aangepakt. Geen enkel slim contract zal ooit perfect zijn, maar bijna-perfectie is het doel en een effectief risicobeheer- en mitigatieplan is noodzakelijk.
Slimme Contract Beste Praktijken [4h-15h]
Dit document biedt een geweldige basiskennis van beveiligingsoverwegingen, implicaties en regels om te volgen voor Solidity-programmeurs. Het wordt onderhouden door ConsenSys Diligence en de bredere Ethereum-gemeenschap.
Beveiligingsoverwegingen voor Slimme Contracten [2h-5h]
Deze gids gaat diep in op de verschillende valkuilen waarmee je als Solidity-programmeur te maken kunt krijgen, aanbevelingen om te volgen en benadrukt enkele beschikbare formele verificatiemethoden.
Voorbeeld van een Slim Contract Audit [30m-1h]
Dit is een geweldig voorbeeld van een slim contract audit uitgevoerd door een van de meest gerespecteerde instellingen in het vakgebied vandaag, Zeppelin Solutions. Hoewel elke audit uniek is en aanzienlijk zal variëren in detail, zullen audits typisch worden georganiseerd in de volgende secties: ernstige problemen die onmiddellijk moeten worden aangepakt voordat de tokenlancering, potentiële problemen die mogelijk kunnen evolueren tot problemen als ze niet tijdig worden aangepakt (zoals tijdstempelgebruik, gebruik van verzend- en ontvangstcodes, escrowservice, vermijden van dubbele code, magische constanten in bedragen), waarschuwingen en ten slotte een conclusie.
Slim Contract Audit Wedstrijden – Deel 1 [20m-1h]
Dit is een belangrijke lezing, het biedt enkele sleutellessen geleerd van een Solidity-wedstrijd, sommige zijn te voorkomen en sommige niet zozeer, omdat dat de aard is van slimme contracten als geheel, je kunt je code alleen beschermen tegen bekende aanvallen, het belangrijke risico komt van onbekende aanvallen (omstandigheden of scenario’s die je niet had overwogen tijdens de initiële ontwerpfase).
Slim Contract Audit Wedstrijden – Deel 2 [20m-1h]
Dit artikel bespreekt de auditresultaten van de wedstrijd en biedt een geweldige samenvatting van elk van de winnende inzendingen, veel geweldige kennis hier.
Voorbeeld van een Slim Contract om te wedden op het gevecht tussen Mayweather en McGregor [1h-2h]
Dit is een slim contract dat daadwerkelijk werd geïmplementeerd op het Ethereum MainNet om weddenschappen te faciliteren voor die grote bokswedstrijd die vorig jaar plaatsvond. De hoofdontwikkelaar geloofde dat het kiezen voor een oplossing zoals Oraclize de beste gok was, daarom kan na het gevecht iedereen de checkResult() functie aanroepen, ervan uitgaande dat een klein beetje Ethers wordt verzonden om de querykosten te dekken, de functie pingt vervolgens Floyd Mayweather’s BoxRec-pagina en schraapt het resultaat van het McGregor-gevecht, en verklaart ten slotte de winnaar in het contract dienovereenkomstig. Dit is slechts een eenvoudig voorbeeld van wat mogelijk is wanneer je een real-life evenement inplugt in een automatisch afdwingbare en transparante slimme contractcode.
3.4 Gedecentraliseerde Applicaties
Voordat je direct begint met het bouwen van een gedecentraliseerde applicatie, is het inspirerend om te zien wat er al is gebouwd, en wat succesvol is geweest versus wat niet breed is aangenomen.
Staat van Gedecentraliseerde Applicaties [30m-3h]
Staat van ÐApps is een non-profit gecureerde directory van gedecentraliseerde applicaties wereldwijd. Deze zijn allemaal gebouwd op de Ethereum Blockchain. Staat van ÐApps is gecreëerd om ontwikkelde projecten die op deze geweldige technologie zijn gebouwd te categoriseren en tentoon te stellen, en het omvat meerdere projecten uit verschillende velden zoals virtuele realiteit, kunstmatige intelligentie, documentatie en registers, arbeidsmarkt, spellen, leer- en trainingscursussen, en nog veel, veel meer.
Lijst van Ethereum DApps [30m]
Dit is een van de grootste bronnen beschikbaar in deze ruimte, het toont bijna 300 gedecentraliseerde applicaties die draaien op het Ethereum platform, en het benadrukt de som van ETH saldo dat in alle DApp contracten zit, dagelijkse actieve gebruikers, het aantal dagelijks verwerkte transacties, en nog veel meer. Deze lijst is aanzienlijk gegroeid en de opmerkelijke projecten om nauwlettend te volgen die al live zijn en actief worden gebruikt zijn: Ethlance, CrytptoKitties, Etherbots, Ethercraft, Etheremon, Etheroll, ETHLend, Crypto Sportz, Edgeless, 0xBitcoin, en Forkdelta.
Front-End Workflow van Gedecentraliseerde Applicaties [20m-30m]
Dit is een geweldige technologische workflow die een overzicht biedt van Dapps, vanuit het perspectief van de front-end. Het laat zien dat je een DApp kunt bouwen die een UI biedt voor gebruikers om een contract te implementeren en vervolgens te gebruiken (Stappen 1 of 4). Als alternatief kan de Dapp aannemen dat het contract al is geïmplementeerd (tegenwoordig gebruikelijker) en vanaf daar de UI-stroom starten (Stap 6).
Introductie tot Ontwikkeling van Gedecentraliseerde Applicaties [10h-30h]
Dit is de beste introductie tot de ontwikkeling van gedecentraliseerde applicaties die er is, het is volledig geproduceerd door Jordan Leigh bij Decypher Media. We hebben geluk, omdat deze cursus vroeger een premium aanbod was en het geld kostte om toegang te krijgen, echter, het is nu vrij beschikbaar.
De afspeellijst is vrij uitgebreid en je hoeft zeker niet elke stap van het programma te bekijken en uit te voeren, maar het zou nuttig zijn om de hoofdsecties te behandelen. Sommig eerder materiaal is enigszins verouderd, dat gezegd hebbende, het is nog steeds volledig relevant. De gehele lijst wordt hieronder beschreven, ik heb de meest dringende tutorials vetgedrukt:
- De ontwikkelomgeving voorbereiden
- Ethereum Sleutelparen Creëren
- Het Halting Probleem en Waarom We Gas Nodig Hebben
- Inleiding tot Transacties
- Transacties Verzenden met Gebruikersinterfaces
- Transacties Verzenden met Code
- Smart Contracts – Hallo Wereld
- Smart Contracts – Escrow
- Smart Contract – Munt Flipper – Deel 1
- Smart Contract – Munt Flipper – Deel 2
- Contract Erfenis
- Orakels en Oraclize
- Hoe de Ethereum Name Service (ENS) te gebruiken
- Command Line Interface
- De Block Gas Limiet
- Lussen Vermijden met Mappings
- Contract Events
- Willekeurige Berichten Ondertekenen
- Een Authenticatieschema Implementeren
- De ERC20 Token Standaard
- Geth Installeren
- Het Genesis Block
- De Blockchain Synchroniseren
- Geth Keystores
Gedecentraliseerde Applicatie – Serie [2h-10h]
Deze index beoordeelt enkele van de bekende Nexus / DappHub applicaties. Dit omvat Dapps, bibliotheken, pakketten met een Dapp-bestand, in de hoop het gebruik van hun toolchain en functies te vergroten als geweldige casestudy’s voor ontwikkelaars. Ze creëren een uitgebreide suite van blockchain-georiënteerde ontwikkelaarstools in de geest van de Unix-filosofie en het is zeker de moeite waard, aangezien ze bijdroegen aan het MakerDAO-project en enkele veelgebruikte ontwikkelaarstools produceerden.
[Optional] Amazon Web Services (AWS) Instellen, Implementatie en Onderhoud [4h-7h]
Dit is optioneel materiaal, maar het zou nog steeds de moeite waard zijn om te bekijken als je een AWS EC2-instantie vanaf het begin wilt instellen en geïnteresseerd bent in het opzetten van een Rails-ontwikkelomgeving. Daarna, indien geïnteresseerd, kun je daadwerkelijk een AWS S3-instantie instellen voor cloudopslag van bestanden.
[Optional] Je eigen Ethereum-apps maken met Ethereum Go [45m-2h]
Dit is nog steeds een nuttige handleiding en tutorial om te volgen aangezien de Go-taal ook kan worden gebruikt om apps te bouwen, aangezien Ethereum oorspronkelijk op Go is gebouwd.
[Optional] Dapps voor Beginners [5h-20h]
Dit team heeft enkele nuttige inhoud geproduceerd voor ontwikkelaars die willen springen in het programmeren met cryptotechnologie, ze werken ook aan een educatief platform genaamd EthAcademy (meer info in de tools-sectie hieronder), om te concurreren met Codeacademy.
4.0 Gereedschappen
Dit is een lijst van gereedschappen en bronnen die je het meest nuttig zult vinden in je ontwikkeling:
Ethereum.stackexchange; Gratis
Ethereum Stack Exchange is een vraag- en antwoordsite voor gebruikers van Ethereum
Ethereum wiki; Gratis
Nuttige diepgaande beschrijvingen van talloze Ethereum-componenten
Truffle boxes; Gratis
Nuttige sjablonen, deze dozen kunnen daadwerkelijk Solidity-contracten & bibliotheken, front-end weergaven en complete voorbeeld dapps bevatten.
Remix; Gratis
Solidity IDE, zeer nuttig en de moeite waard
Ethacademy; Gratis
Dit is nog niet uitgebracht, maar ik zou voorstellen je aan te melden voor de nieuwsbrief omdat ze je een hoop geweldige informatie sturen over de nieuwste Ethereum-ontwikkeltools en integraties.
Ether.fund; Gratis
Het heeft een directory van Solidity smart contracts die je kunnen helpen met meer innovaties te komen.
Ethereum Github; Gratis
Het heeft een geweldige lijst van nuttige bronnen om te helpen met de ontwikkeling van Dapps
CryptoZombies; Gratis
Met CryptoZombies leer je hoe je Ethereum Smart Contracts schrijft met Solidity op een leuke, interactieve manier waarbij je je eigen zombiegame codeert, specifiek je eigen crypto-verzamelgame bouwt.
OpenZeppelin’s Ethernaut; Gratis
Dit is een geweldige manier om veel meer te leren over Ethereum-beveiliging, specifiek hoe je je solidity-code kunt beschermen tegen hacken (zoveel mogelijk). Een geweldige tutorial om de basis te leren.
Yasiv; Gratis
Dit is een ongelooflijke gratis webgebaseerde tool waarmee je visueel in een linkkaart kunt zien welke producten van Amazon op de een of andere manier met elkaar verbonden zijn. Dit voorbeeld toont Blockchain-boeken. Probeer Ethereum in te typen.
Bitnodes Geografische Kaart; Gratis
Dit is gemaakt om de grootte van het Bitcoin-netwerk te schatten door alle bijdragende nodes te bereiken.
Bitnodes Netwerkkaart; Gratis
Dit is een andere prachtige visualisatie van alle nodes op het Bitcoin-netwerk, geweldig om in de loop van meerdere maanden te volgen.
Bitcoin Interaqt; Gratis
Deze geweldige visualisatie is live en werkt in realtime, waarbij blokken worden getoond terwijl ze worden verwerkt en gemined. Je kunt daadwerkelijk op een van de zwevende blokken klikken en het zal je onmiddellijk de inhoud van dat blok in de verkennerweergave tonen.
Dagelijkse Blockchain – Onbevestigde Transacties; Gratis
Geweldig om onbevestigde transacties in dit soort weergave te zien, je kunt duizenden transacties zien wachten om te worden verwerkt; er wordt door iedereen in de Bitcoin-gemeenschap een gezamenlijke inspanning geleverd om de adoptie van enkele van de optimalisatieroutines die ze op hun plaats hebben te versnellen.
Blockseer; Gratis
Dit is een van de enige oplossingen die vandaag beschikbaar zijn waarmee je de stroom van transacties kunt volgen terwijl ze door de Blockchain gaan. Zeer aanbevolen om je aan te melden.
Blocks WizB; Gratis
Dit is interessant om te volgen, het stelt je in staat om in te zoomen en te monitoren waar transacties worden verwerkt door de nodes in het netwerk.
5.0 Aanvullend materiaal
Wat je moet weten over Blockchain-technologie; Gratis [20m-40m]
Dit is een geweldig stuk geschreven door Karim Lakhani, professor aan de Harvard Business School en mede-oprichter van het HBS Digital Initiative, waar hij blockchain zeer diepgaand bespreekt. Lakhani legt uit hoe de technologie achter bitcoin werkt en praat over de industrieën en bedrijven die nieuwe groeimogelijkheden kunnen zien of bedrijf kunnen verliezen.
De Waarheid over Blockchain-technologie; Gratis [15m-20m]
Dit is een ander uitstekend artikel van Marco Iansiti, David Sarnoff Professor of Business Administration aan de Harvard Business School en ook door Karim R. Lakhani, Charles Edward Wilson Professor of Business Administration en de Dorothy en Michael Hintze Fellow aan de Harvard Business School. Ze bespreken de patronen van technologieadoptie, de nieuwe architectuur, een kader voor Blockchain-adoptie
Boek- Mastering Bitcoin: Unlocking Digital Cryptocurrencies door Andreas M. Antonopoulos; Gratis
Geschreven door een van de oorspronkelijke cryptocurrency en Blockchain-technologie goeroes, vrij beschikbaar hier.
Boek – Mastering Ethereum: Building Smart Contracts and Dapps; Gratis
Een ander meesterwerk geschreven door Andreas Antonopoulos, het werd gepubliceerd in december 2018, maar er is een gratis editie beschikbaar op GitHub.
Boek – Blockchain: Blueprint for a New Economy door Melanie Swan; Betaald
Dit is een van mijn persoonlijke favorieten, Melanie leek haar tijd vooruit te zijn toen ze dit boek uitbracht, dit was voordat Ethereum zelfs mainstream aandacht kreeg, ze is een ware visionair en voorspelde in 2015 behoorlijk wat van wat er daadwerkelijk plaatsvond in 2017.
<a href="https://medium.com/@ConsenSys/a-101-noob-intro-to-programming-smart-contracts-on-ethereum-