Eerste stappen

    Als je ervaring hebt als webontwikkelaar, is veel van wat je al weet, van toepassing op blockchain-ontwikkeling. Het doel van deze gids is om u kennis te laten maken met wat er anders is, zodat u kunt beginnen met verkennen en bouwen.

    Geen verrassing hier: het grootste verschil is het gebruik van blockchains, en voor deze gids verwijzen we voornamelijk naar de Ethereum-blockchain, aangezien deze de grootste ontwikkelaarscommunity heeft. Waarom zou je blockchain-ontwikkeling in je stack willen opnemen? Er zijn een aantal fascinerende dingen die blockchains je laten doen, die de aannames die we hebben over hoe individuen op en met internet omgaan, echt uitdagen..

    Wat u kunt doen met Blockchain (en nooit eerder kon)

    Verhandelbare digitale goederen die eigendom zijn van de gebruiker

    Met een blockchain kun je (gemakkelijk) tokenized assets creëren die gebruikers kunnen bewaren en verhandelen buiten je site. Gods Unchained is bijvoorbeeld een verzamelkaartspel in Magic-the-Gathering-stijl waarbij gebruikers hun kaarten fysiek kunnen bezitten en deze buiten het platform kunnen verhandelen. Wat hierin interessant is, is dat individuele kaarten een identiteit hebben en elders kunnen worden gebruikt of kunnen worden verhandeld op marktplaatsen van derden. U kunt bijvoorbeeld een kaart die in een kampioenschapswedstrijd is gebruikt, als een verzamelobject laten verkopen, op dezelfde manier waarop een MLB-kampioenschapsbal kan.

    Betalingen en waardeoverdracht


    Vanwege de fundamentele integratie van cryptocurrencies, wordt het accepteren van betalingen en het faciliteren van waardetransacties gestroomlijnd: bankoverschrijvingen, creditcards, paypal, het vergen allemaal aanzienlijke inspanningen van de kant van ontwikkelaars om te integreren. Deze voordelen gelden met name voor gemeenschappen met verminderde toegang tot bank- en kredietdiensten: we hebben een casestudy over het gebruik van Ethereum om waardeoverdracht en uitbetaling van hulp in vluchtelingenkampen in Jordanië te vergemakkelijken..

    Gebruikersidentiteit en gegevensprivacy

    Er zijn unieke kenmerken waarmee een gebruiker zijn identiteit vaststelt via een blockchain-netwerk. Met behulp van software zoals Metamask kunnen gebruikers eenmalige aanmelding op het hele internet hebben. Mogelijk hoeft u geen wachtwoorden te gebruiken of in te loggen op uw site, wat betekent dat u minder verzoeken om verloren wachtwoorden hoeft te vragen. Gegevensprivacy kan worden verbeterd door de gebruiker controle te geven over wie toegang krijgt tot zijn informatie en door hem de mogelijkheid te geven transacties te ondertekenen. Wanneer een gebruiker een site verlaat, hebben site-exploitanten niet langer rechtstreeks toegang tot hun gegevens.

    Wereldwijde, aanhoudende toestand van internet

    Het internet van vandaag is opgebouwd uit vele technologieën, maar er is geen centrale autoriteit over wat waar is. Internetreuzen zoals Facebook hebben misschien de sleutels van hun respectievelijke koninkrijken met uitgestrekte netwerken en databases die enigszins als een hardnekkige staat functioneren, maar ze zijn in privébezit en hun reikwijdte is over het algemeen beperkt tot hun eigen organisaties. Een blockchain, als een netwerk met onveranderlijke gegevens in de loop van de tijd, zeer veilig en bestand tegen manipulatie, en zonder enige eigenaar, kan dienen als een bron van waarheid voor deelnemers aan de gemeenschap.

    Digitale schaarste

    Verhandelbare tokens en cryptocurrency vertrouwen op blockchains om de infrastructuur te bieden voor schaarse digitale activa. Waar digitale activa in het verleden oneindig kopieerbaar waren of beschermd werden door complexe DRM-schema’s, maakt een persistent-state single-source-of-truth zoals een blockchain het mogelijk om unieke digitale activa te creëren die eigendom kunnen zijn maar niet kunnen worden gekopieerd, wat deze dingen betekent kan echte waarde bezitten.

    Web2 versus de Web3 Blockchain-stack

    Er zijn verschillende blockchains, die elk hun eigen netwerken, hun eigen regels en hun eigen communities van deelnemers hebben. Een bepaald blockchain-platform – zoals Ethereum – kan verschillende netwerken hebben die u met elk hun eigen gegevens kunt verbinden. U kunt uw eigen netwerk starten, iets wat we later in deze handleiding zullen doen.

    Elk netwerk is samengesteld uit individuele knooppunten, waarop instanties van de blockchain-knooppuntsoftware worden uitgevoerd. In plaats van een standaard server-client-model, gebruiken blockchains gedecentraliseerde peer-to-peer-protocollen om met elkaar te communiceren en om consensus te bereiken over de toestand van het netwerk..

    In een typische webontwikkelingsstapel zou je een front-end kunnen bouwen met behulp van html, CSS, javascript en een framework zoals react. Die front-end communiceert met een back-end die bestandsopslag, een uitvoeringsomgeving en een database omvat. De opslag-, uitvoerings- en databasecomponenten kunnen zich op een enkele server bevinden of deel uitmaken van een cloudsysteem of content delivery-netwerk.

    Het enige verschil bij het maken van een blockchain-applicatie (vaak een gedistribueerde applicatie of dapp genoemd) is dat een deel van de functionaliteit van uw app wordt geleverd door een blockchain of een ander gedistribueerd mechanisme. Verbinding maken met een blockchain zoals Ethereum wordt meestal gedaan door een javascript-bibliotheek zoals web3.js of ethers.js op te nemen in combinatie met node-software of blockchain-API. Web3-bibliotheken zijn beschikbaar in een grote verscheidenheid aan talen.

    Bestandsopslag, databasefunctionaliteit en uitvoering kunnen allemaal plaatsvinden op een blockchain, hoewel blockchains momenteel niet zijn geoptimaliseerd voor grote hoeveelheden gegevens of gecompliceerde uitvoering.

    U kunt bijvoorbeeld een app bouwen die een typische webstack gebruikt, maar een slim contract maken dat zich op de blockchain bevindt om gedistribueerde berekeningen uit te voeren en te communiceren met tokens of cryptocurrency. We zullen later meer over slimme contracten praten.

    Je zou ook een app kunnen bouwen die anders typisch is, maar gebruikersverificatie gebeurt via software zoals Metamask, dat onder andere een digitale portemonnee en identiteitsbeheerder is..

    Uw eerste transactie verzenden

    Laten we als gebruiker uw eerste transactie op een blockchain verzenden. Om dat te doen, heb je een portemonnee nodig.

    MetaMask installeren

    MetaMask is een ConsenSys-product en bevat een portemonnee en biedt een robuuste set tools voor interactie met Ethereum-blockchains. Interessant voor ontwikkelaars is dat het een globale API in elke bezochte website injecteert, toegankelijk via javascript op window.ethereum; Bekijk voor alle details de volledige ontwikkelaarsdocumenten voor MetaMask op hun site. Installeer om te beginnen de Chrome-browserextensie MetaMask of gebruik de MetaMask Mobile-app die beschikbaar is in de Apple App store of Google Play store.

    Na installatie doorloopt u het proces voor het maken van een account. Er zijn een paar dingen die u misschien opmerkt: een daarvan is dat u geen e-mailadres of andere persoonlijke informatie hoeft in te voeren. Het tweede ding is dat er een grote deal wordt gemaakt over het schrijven of opslaan van uw “zaadzin”; dit is belangrijk omdat dit de enige manier is waarop u uw account kunt openen of herstellen. Hierover later meer.

    Zodra Metamask actief is, ziet u uw accountsaldo (0 ETH) en in de rechterbovenhoek ziet u het netwerk waarmee u momenteel bent verbonden. Vouw het netwerkselectiemenu uit om een ​​lijst met netwerken weer te geven. Selecteer Ropsten Test Network.

    Mainnet en testnets

    Elk van deze netwerken bestaat uit sets computers waarop knooppuntsoftware wordt uitgevoerd. De meeste knooppunten bevinden zich op Mainnet, het primaire netwerk voor het vasthouden van waarden voor Ethereum. Op het moment van schrijven waren er iets meer dan 8000 knooppunten die het belangrijkste Ethereum-netwerk vormden. U kunt de netwerkknooppunten op Ethernodes of Etherscan verkennen.

    Testnetwerken bevatten veel minder knooppunten (het Ropsten-netwerk heeft 3 knooppunten), en daarop heeft eth geen waarde. Deze netwerken worden voornamelijk door ontwikkelaars gebruikt om hun dapps en slimme contracten te testen voordat ze op het mainnet worden gelanceerd. U zult ook opmerken dat MetaMask opties biedt om verbinding te maken met localhost of een aangepaste RPC. Wanneer u Ethereum-apps ontwikkelt, kunt u metamask gebruiken om verbinding te maken met en te communiceren met knooppuntsoftware die op uw eigen systeem of een ander netwerk wordt uitgevoerd.

    Test ether krijgen

    Kopieer in MetaMask uw openbare adres naar het klembord door op uw accountnaam te klikken:

    Uw openbare adres identificeert uw account en kan worden gedeeld: het is wat iemand anders zou gebruiken om tokens naar u te sturen. Het is zoiets als een bankrekeningnummer of een e-mailadres in die zin dat u de eigenaar bent van en bepaalt wat er aan dat adres is gekoppeld. U bewijst dat u de eigenaar bent van dit adres door transacties te ondertekenen met uw privésleutel (die kan worden gegenereerd op basis van uw seed-frase), daarom moet u deze privé houden. Vanuit het perspectief van de blockchain is iedereen die een bepaalde privésleutel kent, de eigenaar van alle activa die zijn toegewezen aan de bijbehorende openbare adressen van de privésleutel. Uw openbare adres ziet er ongeveer zo uit:

    0xDa4A488d8c58D57F4046CAbAc73DA0DB778DC930

    U kunt een kraan gebruiken om test Ether naar uw account te sturen. Probeer de Ropsten kraan: plak uw openbare adres in het accountveld en klik op “Stuur me test Ether”. Binnenkort zult u zien dat uw account 1 ETH gevuld is.

    Wat is hier gebeurd? U heeft uw openbare adres naar de Ethereum-kraan gestuurd. De kraan heeft een transactie uitgevoerd en 1 ETH verzonden die eigendom is van zijn eigen slimme contract naar het door u opgegeven adres. U had elk adres kunnen opgeven en de transactie zou worden uitgevoerd. Knooppunten op het netwerk pikten de transactie op en namen deze op in een gedolven blok, dat werd geregistreerd op de blockchain en verspreid over het netwerk. MetaMask las vervolgens van een knooppunt op de blockchain en rapporteerde de transactie en uw huidige saldo terug. Er is geen directe communicatie tussen de kraan en MetaMask.

    Er is een andere manier om Ether te testen. Ga naar de MetaMask-kraan; Houd er rekening mee dat deze site niet wordt geladen als u geen MetaMask (of een andere web3-interface) heeft geïnstalleerd. Dit proces laat een andere gebruikersstroom zien.

    Hier kunt u zien dat de gebruikerseigenschappen niet gedefinieerd zijn. Met deze implementatie hoeft u uw adres niet vanuit MetaMask te kopiëren en te plakken. Als je op de knop “1 ether aanvragen” klikt, zal MetaMask je vragen of je verbinding wilt maken met de site. Als u deze verbinding accepteert, wordt uw openbare adres met de site gedeeld, wordt uw saldo op de pagina weergegeven en vindt de transactie plaats:

    Op deze manier verbinding maken is vergelijkbaar met inloggen op een site; Er was echter geen registratieproces nodig. Inloggen via MetaMask biedt mogelijkheden voor eenmalige aanmelding, aangezien sites zichzelf kunnen aanpassen op basis van het verbonden account. In dit geval wordt het volgende JavaScript gebruikt om verbinding te maken met het account van een gebruiker, met behulp van het ethereum-object dat is geïnjecteerd door MetaMask:

    ethereum.request ({methode: ‘eth_requestAccounts’});

    Zodra de transactie is voltooid, zou u 2 ETH in uw portemonnee op het Ropsten-netwerk moeten hebben.

    Test ether verzenden

    Nu, terug in de MetaMask Ether Faucet User box, klik op de oranje 1 ether-knop om 1 ETH terug te doneren aan de kraan. Er verschijnt een nieuwe melding:

    MetaMask vraagt ​​u om deze transactie goed te keuren; wanneer u bevestigt, ondertekent MetaMask de transactie met uw privésleutel, zoals vereist voor validatie door blockchain-knooppunten. Merk op dat er een aantal andere transactie-opties zijn: klik op de “bewerken” knop linksboven om wat meer details te zien. Gasvergoedingen compenseren knooppunten en mijnwerkers voor de kosten die gepaard gaan met het uitvoeren van een transactie. Elke transactie op Ethereum heeft kosten in verband met de berekening die nodig is om het netwerk draaiend te houden. In dit geval 0.000021 ETH.

    Omdat elke transactie het competitieve proces moet doorlopen om door knooppunten te worden opgenomen en in een blok te worden opgenomen voordat deze in de blockchain wordt opgenomen, kunt u ervoor zorgen dat uw transactie sneller verloopt door de gasbeloning te verhogen die wordt gegeven aan mijnwerkers voor het opnemen van uw transactie in hun volgende blok.

    Klik op volgende en bevestig. Uw transactie wordt weergegeven als in behandeling en binnen een paar minuten maakt uw transactie deel uit van de blockchain en ziet u uw bijgewerkte accountsaldo in MetaMask.

    Volgende stappen

    In deze inleidende stap hebben we u kennis laten maken met enkele basisprincipes van transacties en interactie met een blockchain, voornamelijk vanuit een gebruikersperspectief met behulp van MetaMask. In stap 2 van deze handleiding maak je je eigen blockchain-netwerk, werk je er lokaal mee en onderzoek je een contract op Remix. In stap 3 maakt u meer bekend met lokale ontwikkeling, gebruikt u Infura, verbindt u alles met React en maakt u verbinding met een Ethereum-testnet.

      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

      10 minuten Ethereum-oriëntatie10 minuten Ethereum-oriëntatie

      10 minuten Ethereum-oriëntatie

    Mike Owergreen Administrator
    Sorry! The Author has not filled his profile.
    follow me