Orientare Ethereum de 10 minute

Scopul acestui ghid este de a vă scufunda în Web3 cât mai repede posibil, astfel încât să aveți contextul și înțelegerea de bază necesare pentru a începe să învățați și să începeți dezvoltarea..

De ce Blockchain?

Dacă sunteți nou în spațiu, este posibil să nu fie clar ce oferă un „Internet descentralizat” unui dezvoltator. Gândiți-vă la un blockchain public ca Ethereum ca la definirea unei „stări” clare – și sursă de adevăr – pentru toți cei care iau parte la ea, accesibilă oricui este conectat la Internet, un sistem care folosește puterea protocolului sursă deschisă și redundanța de rețea de la egal la egal pentru a rămâne de încredere și sigur. În loc să solicite fiecărui dezvoltator de aplicații să creeze și să mențină întreaga stare a aplicației lor pe servere private, multe pot fi stocate și recuperate din blockchain-ul public. Un backend comun, de încredere și sigur.

Motivul pentru care acest lucru este posibil se datorează caracteristicilor unice ale unei baze de date blockchain. Este doar în scriere: în cazul în care o bază de date tipică poate adăuga și elimina înregistrări, datele blockchain există pentru totdeauna și nu pot fi eliminate. Rețeaua de noduri menține această bază de date ca un „registru distribuit” și are protocoale stricte despre cine are permisiunea de a scrie la un moment dat. Unul dintre aspectele interesante ale tehnologiei este modul în care permisiunile de scriere sunt distribuite între noduri care ar putea să nu necesite permisiune specială pentru aderare. Dacă ați creat propriul nod public Ethereum, ați avea acces la scriere la întreaga rețea: cu condiția să fi completat „dovada de lucru” necesară pentru a vă acorda privilegiul de a scrie un nod înainte ca orice alt nod să o facă.. 

Un exemplu prim și tipic de tehnologie blockchain în acțiune este ușurința de a trimite și primi criptomonede. Registrul public Ethereum permite unui dezvoltator să implementeze gateway-uri de plată fără bănci, conturi sau alți intermediari. 

Un dezvoltator ar putea crea propriul jeton Ethereum fără a fi nevoie să creeze infrastructura necesară pentru ca utilizatorii să le comercializeze. O platformă de jocuri online ar putea simboliza articole din joc, iar utilizatorii ar putea achiziționa aceste jetoane și le pot tranzacționa în afara platformei și le pot deține separat de platforma de jocuri în sine. Dincolo de obiectele de tranzacționare pentru a fi utilizate în joc, colecționarele digitale au un potențial viitor enorm. Pe măsură ce e-sportul crește în popularitate, este posibil să aveți un echivalent tokenizat digital al unei „mingi de acasă”..

Fiecare utilizator având propria pereche de chei publice / private, autentificarea utilizatorului este mult mai simplă, deoarece aplicațiile trebuie doar să verifice dacă un utilizator poate semna tranzacții cu cheia sa privată.

Contractele inteligente pot fi folosite pentru a crea bani programabili. Luați în considerare utilizarea de bază a unui contract inteligent programabil pentru a aborda situația în care doi proprietari de apartamente doresc să împartă plățile chiriei unui chiriaș 50/50. În mod normal, fie chiriașul ar trebui să plătească fiecare proprietar separat, fie ar plăti un proprietar sau un agent, iar proprietarul sau agentul ar plăti banii. Deși această situație nu este deosebit de problematică, luați în considerare încrederea implicită necesară într-o persoană pentru a oferi celeilalte părți. Contrastați acest lucru cu un contract inteligent simplu care împarte programat orice fonduri primite și le trimite la adresa fiecărui proprietar. Chiriașul trebuie să-și trimită chiria doar la acea adresă și fiecare proprietar își va primi partea imediat. Datorită securității și imuabilității unui blockchain precum Ethereum, fiecare proprietar poate fi asigurat că contractul inteligent va funcționa după cum se dorește și își poate audita codul. 

Odată ce avem coloana vertebrală digitală a încrederii oferită de blockchain, putem aplica și avantajele programării unor probleme sociale importante. Putem furniza un serviciu bancar în câteva linii de cod. Putem confirma identitatea cu câteva clicuri. Toate cu un protocol care poate rula pe aproape orice computer oriunde în lume.

Deoarece spațiul este nou și în curs de dezvoltare, oportunitatea este largă pentru dezvoltatori să construiască noi tipuri de instrumente, aplicații și sisteme și să vină cu cazuri de utilizare noi pentru această tehnologie.

O soluție în căutarea unei probleme?

Un refren obișnuit în criticile tehnologiei blockchain este că este o soluție în căutarea unei probleme. Se poate susține că moneda digitală a fost prima aplicație ucigașă blockchain, iar Distributed Finance sau DeFi se dezvoltă pentru a fi următoarea, întreaga măsură a modului în care această tehnologie poate fi aplicată este în prezent necunoscută și este unul dintre principalele motive pentru care devii în spațiu, pare interesant să fii parte. Timp de peste un deceniu, tehnologia laser nu a avut o utilizare aparentă, până când cercetătorii, experimentatorii și antreprenorii au reușit să o aplice în moduri total neașteptate. În timp ce același argument ar putea fi folosit pentru orice tehnologie nouă, adoptarea masivă pe scară largă a monedei digitale și cele peste 350 de miliarde de dolari conținute în prezent pe blockchain-uri distribuite, neadministrate, descentralizate, este destul de remarcabilă. 

Structura de bază a aplicației distribuite 

O aplicație distribuită este, în general, una care se conectează la un blockchain undeva în stiva sa și probabil într-un fel care este fundamental pentru funcționarea sa. Aplicațiile distribuite sunt un amestec de sisteme obișnuite de front și backend pe care le-ați găsi într-o aplicație web, dar va utiliza o bibliotecă precum web3.js pentru a vă conecta la rețeaua Ethereum. Unele aplicații distribuite sunt complet distribuite: trăiesc în întregime pe rețele distribuite.

La capătul utilizatorului, MetaMask este un plugin popular care gestionează portofelul Ethereum al utilizatorilor. MetaMask oferă o interfață pentru ca un utilizator să semneze tranzacții și să-și dovedească „identitatea”..


O aplicație distribuită dată se poate conecta la blockchain-ul Ethereum și, de asemenea, la portofelul utilizatorilor MetaMask (sau alt portofel) pentru autentificare. 

Interfață cu Ethereum 

De obicei, pentru a interacționa cu Ethereum, ar trebui să operați un nod. Un nod este o parte fundamentală a structurii unui blockchain, egalul care se conectează la alți colegi pentru a forma structura descentralizată. Protocolul este rege pe rețeaua publică principală: nu există nici un server central, nici o autoritate și nu există limite cu privire la cine poate opera un nod. Există doar un protocol comun pentru toate nodurile participante.

Mulți dezvoltatori de aplicații ar prefera să nu ruleze propriul nod Ethereum, deci servicii precum Infura există pentru a oferi un gateway și API pentru Ethereum pe care dezvoltatorii le pot folosi în schimb.

Contracte inteligente

În timp ce rețeaua Bitcoin este unul dintre cele mai cunoscute blockchains, Ethereum are un set de caracteristici care este mai interesant pentru dezvoltatori, deoarece include o mașină virtuală completă Turing care poate rula programe mici numite contracte inteligente. Prin urmare, Ethereum are cea mai puternică și mai activă comunitate de dezvoltatori dintre oricare dintre ecosistemele blockchain. 

Contractele inteligente rulează pe noduri și utilizează tranzacții pentru intrarea și ieșirea lor. Contractele inteligente se află la adrese de pe blockchain, la fel ca adresa contului unui utilizator. Pentru a interacționa cu un contract inteligent, trebuie doar să îi trimiteți o tranzacție împreună cu datele de intrare. 

Gaz

Derularea unui contract inteligent necesită gaze, un cost mic care compensează operatorii nodurilor pentru serviciul de executare a contractului inteligent, reducând totodată incidența spamului (scumpind spamul) și împiedicând contractele inteligente slab codificate să se bucle la infinit și să împiedice rețeaua..

Mainnet, Testnets, alte rețele

O rețea principală în limbajul blockchain se referă la rețeaua activă primară pentru un protocol dat. În cazul Ethereum, mainnet este locul în care se schimbă valoarea reală și este considerată sursa adevărului. Dar orice grup de noduri își poate forma propria rețea. Testnetele servesc comunității dezvoltatorilor oferind rețele mult mai mici în care Eth și gazul sunt gratuite, astfel încât dezvoltatorii își pot testa proiectele și codul fără riscuri. Testetele Ethereum se numesc Ropsten, Kovan, Rinkeby și Görli.

Rețelele Ethereum sunt, de asemenea, utilizate pentru aplicații de întreprindere: rețele personalizate care funcționează pe bază permisă (față de rețeaua fără permisiuni și rețelele de testare) pentru a facilita tranzacțiile și alte operațiuni între un grup mic de organizații (de exemplu). Aceste rețele au mult mai puține noduri și îndeplinesc de obicei un scop specific. Băncile mari, de exemplu, ar putea folosi un blockchain pentru decontarea interbancară.

Dezvoltare în Ethereum

Dezvoltarea în Ethereum are loc în primul rând pe blockchain-uri locale, turnate la domiciliu. Dezvoltatorii sunt liberi să folosească ceva de genul geth, software pentru linia de comandă care vă permite să creați rețele Ethereum. Dar acest lucru este ca programarea într-un limbaj de nivel scăzut: ușurând lucrurile, suita Truffle servește multe nevoi ale dezvoltatorilor. Ganache, parte a suitei, face mult mai ușor pentru dezvoltatori să declanșeze o rețea blockchain locală pentru a-și testa aplicațiile, oferind un „blockchain cu un singur clic” în scopuri de dezvoltare, împreună cu instrumente din linia de comandă. Drizzle ajută la dezvoltarea front-end, iar Truffle în sine este un cadru pentru a facilita dezvoltarea și implementarea contractelor inteligente.

Interacțiunea cu blockchain-ul în sine necesită utilizarea unui API (cum ar fi web3.js) și acces la un nod; mai degrabă decât să-și opereze propriile noduri, mulți dezvoltatori vor folosi un serviciu de genul Infura ca API Ethereum.

Limbi Smart Contract

În prezent, cel mai popular limbaj pentru codificarea contractelor inteligente este Soliditate. Acest limbaj de tip javascript este destul de ușor de preluat pentru noii dezvoltatori, în special pentru cei cu experiență de codificare web. Remix este un IDE online care permite dezvoltatorilor să experimenteze crearea de contracte inteligente. Există multe detalii importante de învățat pentru programatorii de contracte inteligente, deoarece contractele inteligente de pe rețeaua principală funcționează pe valoare reală și sunt neschimbabile odată implementate (deși există metodologii de programare care ajută la acest lucru).

Pila completă

La fel ca în toate dezvoltările web moderne, există o mulțime de opțiuni pentru componente de utilizat la diferite niveluri ale stivei. Puteți obține mai multe detalii în stiva blockchain mereu actualizată.

Un proiect simplu

Iată un set tipic de instrumente de dezvoltare pe care le-ați putea folosi într-un proiect simplu:

NPM 

Manager pachet nod, parte din node.js

Cadrul Truffle

O suită de instrumente care facilitează dezvoltarea

Ganache

Din cadrul Truffle, folosit pentru a lansa un blockchain privat pe propria mașină

MetaMask

O interfață de utilizator blockchain și o poartă către Ethereum; este un plugin pentru browser și o aplicație mobilă la care aplicația dvs. se poate conecta, permițând utilizatorilor să semneze tranzacții și să efectueze alte sarcini.

Soliditate

Un limbaj de programare popular pentru contracte inteligente

HTML / CSS / JS

Pentru front-end

Web3.js

O bibliotecă API Ethereum care vă permite să vă conectați și să interacționați cu rețeaua Ethereum

Infura

Un serviciu API Ethereum care oferă dezvoltatorilor acces la rețeaua Ethereum fără a fi nevoie să ruleze propriul nod

Dacă sunteți gata să începeți, ghidul nostru în 3 pași va intra în mai multe detalii pentru a vă pune în funcțiune rapid pe blockchain cu o plimbare prin.

    Onboarding pentru dezvoltatori: Pasul 1Onboarding pentru dezvoltatori Pasul 1

    Onboarding pentru dezvoltatori: Pasul 1

    Onboarding pentru dezvoltatori: Pasul 2Onboarding pentru dezvoltatori Pasul 2

    Onboarding pentru dezvoltatori: Pasul 2

    Onboarding pentru dezvoltatori: Pasul 3Onboarding pentru dezvoltatori Pasul 3

    Onboarding pentru dezvoltatori: Pasul 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