Primers passos
Si teniu experiència com a desenvolupador web, gran part del que ja sabeu s’aplica al desenvolupament de blockchain. L’objectiu d’aquesta guia és presentar-vos allò que és diferent perquè pugueu començar a explorar i construir.
No hi ha cap sorpresa aquí: la diferència més gran és l’ús de cadenes de blocs i, per a aquesta guia, farem referència principalment a la cadena de blocs d’Ethereum, ja que té la comunitat de desenvolupadors més gran. Per què voleu incorporar el desenvolupament de blockchain a la vostra pila? Hi ha una sèrie de coses fascinants que us permeten fer les cadenes de blocs, que realment desafien les suposicions que tenim sobre com interactuen les persones a Internet i amb Internet.
Què podeu fer amb Blockchain (i que mai no podíeu abans)
Productes digitals comercialitzables propietat d’usuaris
Amb una cadena de blocs, podeu crear (fàcilment) actius simbolitzats que els usuaris poden conservar i comerciar fora del vostre lloc. Per exemple, Gods Unchained és un joc de cartes col·leccionables d’estil màgic on els usuaris poden posseir físicament les seves cartes i canviar-les fora de la plataforma. L’interessant d’això és que les targetes individuals tinguin una identitat i es puguin utilitzar en altres llocs o negociar-les en mercats externs. Podeu, per exemple, vendre una targeta que es va fer servir en un partit de campionat com a col·leccionable, de la mateixa manera que podria fer una bola de campió del MLB.
Pagaments i transferència de valor
A causa de la integració fonamental de les criptomonedes, l’acceptació de pagaments i la facilitat de transaccions de valor es simplifiquen: les transferències bancàries, les targetes de crèdit i el paypal requereixen un esforç considerable per integrar els desenvolupadors. Aquests beneficis són particularment certs per a les comunitats amb accés reduït a serveis bancaris i de crèdit: tenim un estudi de cas sobre l’ús d’Ethereum per facilitar la transferència de valor i l’ajut al desemborsament als camps de refugiats de Jordània..
Identitat de l’usuari i privadesa de dades
Hi ha característiques úniques de com un usuari estableix la seva identitat mitjançant una xarxa de cadena de blocs. Mitjançant programes com Metamask, els usuaris podrien tenir un inici de sessió únic a tota Internet. És possible que no hàgiu de gestionar les contrasenyes ni iniciar la sessió al vostre lloc, la qual cosa significa menys sol·licituds perdudes. La privadesa de les dades es pot millorar donant a l’usuari control sobre qui té accés a la seva informació i donant-li l’oportunitat de signar transaccions. Quan un usuari abandona un lloc, els operadors del lloc ja no poden accedir directament a les seves dades.
Estat global i persistent d’Internet
La Internet actual està construïda amb moltes tecnologies, però no hi ha cap autoritat central sobre el que és cert. Els gegants d’Internet com Facebook poden tenir les claus dels seus regnes respectius amb vastes xarxes i bases de dades que funcionen una mica com un estat persistent, però, són de propietat privada i el seu abast es limita generalment a les seves pròpies organitzacions. Una cadena de blocs, com a xarxa que conté dades immutables al llarg del temps, altament segura i resistent a la manipulació i sense un únic propietari, pot servir de font de veritat per als participants de la comunitat.
Escassetat digital
Els tokens i criptomonedes comercialitzables es basen en cadenes de blocs per proporcionar la infraestructura d’actius digitals escassos. Quan els actius digitals en el passat eren infinitament copiables o protegits per complexos esquemes de DRM, una font de veritat d’un estat persistent com una cadena de blocs permet la creació d’actius digitals únics que poden ser propietaris però no copiats, cosa que significa aquestes pot posseir un valor real.
Web2 vs. la pila Blockchain Web3
Hi ha diferents cadenes de blocs, cadascuna de les quals té les seves pròpies xarxes, les seves pròpies regles i les seves pròpies comunitats de participants. Una determinada plataforma blockchain, com ara Ethereum, pot tenir diverses xarxes diferents a les quals podeu connectar-vos amb cadascuna de les seves pròpies dades. Podeu iniciar la vostra pròpia xarxa, cosa que farem més endavant en aquesta guia.
Cada xarxa es compon de nodes individuals, que són instàncies en execució del programari de nodes blockchain. En lloc d’un model servidor-client estàndard, les cadenes de blocs utilitzen protocols descentralitzats peer-to-peer per comunicar-se entre ells i arribar a un consens sobre quin és l’estat de la xarxa.
En una pila de desenvolupament web típica, podeu crear una interfície amb html, CSS, javascript i un framework com react. Aquest front-end es comunica amb un back-end que inclou emmagatzematge de fitxers, un entorn d’execució i una base de dades. Els components d’emmagatzematge, execució i base de dades poden residir en un sol servidor o formar part d’un sistema en núvol o d’una xarxa de lliurament de contingut.
L’única diferència a l’hora de crear una aplicació blockchain (sovint anomenada aplicació distribuïda o dapp) és que una part de la funcionalitat de la vostra aplicació s’ofereix mitjançant un blockchain o un altre mecanisme distribuït. La connexió a una cadena de blocs com Ethereum normalment es fa incloent una biblioteca javascript com web3.js o ethers.js en associació amb un programari de node o una API de cadena de blocs. Les biblioteques Web3 estan disponibles en una gran varietat d’idiomes.
L’emmagatzematge de fitxers, la funcionalitat de la base de dades i l’execució poden tenir lloc en una cadena de blocs, tot i que actualment les cadenes de blocs no estan optimitzades per a volums elevats de dades ni per a una execució complicada.
Com a exemple, podeu crear una aplicació que utilitzi una pila web típica però crear un contracte intel·ligent que resideixi a la cadena de blocs per realitzar càlculs distribuïts i interactuar amb tokens o criptomoneda. Més endavant parlarem més sobre els contractes intel·ligents.
També podeu crear una aplicació que, d’altra banda, és típica, però la verificació de l’usuari es fa mitjançant programari com Metamask, que és, entre altres coses, un moneder digital i un gestor d’identitats.
S’està enviant la primera transacció
Enviem la vostra primera transacció a blockchain com a usuari. Per fer-ho, necessiteu una cartera.
Instal·lació de MetaMask
MetaMask és un producte ConsenSys i inclou una cartera i ofereix un robust conjunt d’eines per interactuar amb les cadenes de blocs Ethereum. D’interès per als desenvolupadors, injecta una API global a qualsevol lloc web visitat, accessible mitjançant javascript a window.ethereum; per obtenir tots els detalls, consulteu els documents complets del desenvolupador de MetaMask al seu lloc. Per començar, instal·leu l’extensió del navegador Chrome MetaMask o utilitzeu l’aplicació MetaMask Mobile disponible a l’App Store d’Apple o a Google Play Store.
Un cop instal·lat, seguiu el procés de creació del compte. Hi ha algunes coses que podeu notar: una, és que no cal que introduïu cap adreça de correu electrònic ni cap altra informació personal. La segona cosa és que es fa un gran problema en escriure o emmagatzemar la vostra “frase llavor”; això és important perquè és l’única manera d’accedir al compte o de recuperar-lo. Més informació sobre això més endavant.
Un cop Metamask s’executi, veureu el saldo del compte (0 ETH) i, a l’extrem superior dret, veureu la xarxa a la qual esteu connectat actualment. Amplieu el menú de selecció de xarxa per mostrar una llista de xarxes. Seleccioneu Xarxa de proves de Ropsten.
Mainnet i testnets
Cadascuna d’aquestes xarxes està formada per conjunts d’ordinadors que executen programari de nodes. La majoria de nodes es troben a Mainnet, que és la xarxa principal que manté el valor d’Ethereum. A partir d’aquest escrit, hi havia poc més de 8000 nodes que formaven la xarxa principal d’Ethereum. Podeu explorar els nodes de xarxa a Ethernodes o Etherscan.
Les xarxes de proves comprenen molts menys nodes (la xarxa de Ropsten té 3 nodes), i en ells eth no té cap valor. Aquestes xarxes les utilitzen principalment els desenvolupadors per provar els seus contractes dapps i intel·ligents abans de llançar-los a la xarxa principal. També teniu en compte que MetaMask ofereix opcions per connectar-vos a localhost o a un RPC personalitzat. Quan desenvolupeu aplicacions Ethereum, podeu fer servir metamàscara per connectar-vos i interactuar amb el programari de node que s’executa al vostre propi sistema o a qualsevol altra xarxa..
Obtenir èter de prova
A MetaMask, copieu la vostra adreça pública al porta-retalls fent clic al nom del compte:
La vostra adreça pública identifica el vostre compte i es pot compartir: és el que faria servir una altra persona per enviar-vos tokens. És com un número de compte bancari o una adreça de correu electrònic, ja que és propietari i controla el que està associat amb aquesta adreça. Demostreu que sou propietari d’aquesta adreça signant transaccions amb la vostra clau privada (que es pot generar a partir de la vostra frase inicial), motiu pel qual heu de mantenir-les privades. Des de la perspectiva de la cadena de blocs, qualsevol persona que conegui una clau privada determinada és el propietari dels recursos assignats a les adreces públiques associades de la clau privada. La vostra adreça pública tindrà un aspecte semblant a aquest:
0xDa4A488d8c58D57F4046CAbAc73DA0DB778DC930
Podeu utilitzar una aixeta per enviar Ether de prova al vostre compte. Proveu d’utilitzar el fitxer Aixeta Ropsten: enganxeu la vostra adreça pública al camp del compte i feu clic a “Envia’m la prova d’Ether”. Aviat veureu que el vostre compte ocupa 1 ETH.
Què ha passat aquí? Heu enviat la vostra adreça pública a Ethereum Faucet. L’aixeta va executar una transacció, enviant 1 ETH propietat del seu propi contracte intel·ligent a l’adreça que vau proporcionar. Podríeu haver proporcionat qualsevol adreça i la transacció s’executaria. Els nodes de la xarxa van recollir la transacció i la van incloure en un bloc minat, que es va registrar a la cadena de blocs i es va estendre per tota la xarxa. A continuació, MetaMask va llegir des d’un node de la cadena de blocs i va informar de la transacció i del saldo actual. No hi ha comunicació directa entre l’aixeta i MetaMask.
Hi ha una altra manera de fer la prova Ether. Aneu a l’aixeta MetaMask; tingueu en compte que aquest lloc no es carregaria si no teniu instal·lat MetaMask (ni cap altra interfície web3). Aquest procés demostra un flux d’usuari diferent.
Aquí podeu veure que les propietats de l’usuari no estan definides. Amb aquesta implementació, no cal que copieu i enganxeu la vostra adreça de MetaMask. Quan feu clic al botó “Sol·licita 1 èter”, MetaMask us preguntarà si voleu connectar-vos al lloc. Si accepteu aquesta connexió, compartirà la vostra adreça pública amb el lloc, mostrarà el vostre saldo a la pàgina i la transacció tindrà lloc:
Connectar-se d’aquesta manera és similar a l’inici de sessió en un lloc; tanmateix, no calia cap procés de registre. L’inici de sessió mitjançant MetaMask ofereix possibilitats d’inici de sessió únic, ja que els llocs es poden personalitzar segons el compte connectat. En aquest cas, s’utilitza el següent JavaScript per connectar-se al compte d’un usuari mitjançant l’objecte ethereum injectat per MetaMask:
ethereum.request ({mètode: ‘eth_requestAccounts’});
Un cop finalitzada la transacció, hauríeu de tenir 2 ETH a la cartera de la xarxa Ropsten.
Enviament d’èter de prova
Ara, de nou al quadre Usuari de l’aixeta MetaMask Ether, feu clic al botó taronja 1 èter per donar 1 ETH de nou a l’aixeta. Apareixerà una nova notificació:
MetaMask us demana que aproveu aquesta transacció; quan confirmeu, MetaMask signarà la transacció mitjançant la vostra clau privada, tal com és necessari per a la validació dels nodes de la cadena de blocs. Tingueu en compte que hi ha altres opcions de transacció: feu clic al botó “edita” a la part superior esquerra per veure més detalls. Les taxes de gas compensen els nodes i els miners pels costos associats a la realització d’una transacció. Totes les transaccions d’Ethereum tenen comissions associades al càlcul implicat en el manteniment de la xarxa. En aquest cas, 0,000021 ETH.
Com que qualsevol transacció ha de passar pel procés competitiu de ser captada per nodes i inclosa en un bloc abans que s’inclogui a la cadena de blocs, podeu assegurar-vos que la transacció es faci més ràpidament augmentant la recompensa de gas que es dóna als miners per incloure la vostra transacció a la seva següent bloc.
Feu clic a Següent i confirmeu. La vostra transacció apareixerà com a pendent i, en pocs minuts, la vostra transacció formarà part de la cadena de blocs i veureu el saldo del compte actualitzat a MetaMask.
Propers passos
En aquest pas introductori, us hem presentat alguns aspectes bàsics sobre la interacció i la interacció amb una cadena de blocs, principalment des de la perspectiva de l’usuari mitjançant MetaMask. Al pas 2 d’aquesta guia, creeu la vostra pròpia xarxa blockchain, hi interactuareu localment i explorareu un contracte amb Remix. Al pas 3, coneixereu més el desenvolupament local, utilitzeu Infura, lligueu-ho tot amb React i us connectareu a un Ethereum testnet.
- Integració per a desenvolupadors: pas 2
Integració per a desenvolupadors: pas 2
Integració per a desenvolupadors: pas 3
Integració per a desenvolupadors: pas 3
Orientació Ethereum de 10 minuts