Căutați un ghid în care puteți afla cum să creați o aplicație blockchain? Iată un ghid care vă poate ajuta să creați o aplicație blockchain de la zero.

În acest articol, vom construi aplicația noastră blockchain. Recent, am prezentat cum să construim un blockchain. A fost un ghid complet despre construirea unui blockchain în limbajul de programare Python. Obiectivul principal al tutorialului este de a afla despre tehnologia blockchain și funcționarea sa interioară.

Cu toate acestea, acest tutorial este despre cum să construiți o aplicație utilizând blockchain. Aplicația descentralizată (dApp) va putea profita de proprietățile blockchain.

Vom construi o aplicație simplă blockchain folosind Ethereum. Ethereum este o tehnologie blockchain de a doua generație care oferă funcții avansate, cum ar fi contracte inteligente, dovada mizei și, cel mai important, capacitatea de a crea aplicații descentralizate (dApps).

Deci, să începem cu tutorialul „Cum să construim o aplicație blockchain”. Acest tutorial se adresează și celor care doresc să construiască o aplicație simplă blockchain. Pentru a construi o aplicație simplă blockchain, vom folosi rețeaua Ethereum.

Dar, înainte de a începe, să ne înțelegem elementele de bază.

Inscrie-te acum: Curs de bază pentru Enterprise Blockchains

Ce este dApp?

Primul pas pe care îl vom face în modul de construire a unui tutorial de aplicație blockchain este mai întâi să învățăm conceptul aplicației descentralizate (dApp).

dApp înseamnă aplicație descentralizată. Este un alt tip de aplicație care oferă caracteristici cheie, inclusiv capacitatea de a opera autonom. Aplicația stochează, de asemenea, date criptografice, astfel încât nicio entitate neautorizată să nu le poată accesa fără o autorizație adecvată.

Toate aceste caracteristici fac aplicațiile descentralizate foarte utile în mediul actual al întreprinderii. Aplicațiile sunt, de asemenea, capabile să folosească jetoane care pot fi utilizate pentru a profita de caracteristicile oferite de aplicație. Mai mult, aplicația poate distribui și jetoane pentru a stimula nodurile care participă la funcționarea dApp-ului.

Alegerea unei platforme – De ce alegem platforma Ethereum

În acest moment, există multe platforme pe care le puteți alege pentru a vă construi dApp-ul. Acestea includ platforme populare blockchain precum Ethereum, Hyperledger Fabric și Cardano. Dintre toate acestea, Ethereum pare a fi cea mai bună alegere datorită comunității active, instrumentelor și tutorialelor disponibile online.

Un alt motiv pentru care alegem Ethereum este că folosește Solidity. Soliditatea este făcută în mod explicit pentru a implementa și crea dApp-uri și contracte inteligente. Este ușor de învățat și vă oferă flexibilitatea de a experimenta.

Ghid practic pentru construirea unei aplicații blockchain descentralizate

Înainte să mergem și să ne adâncim în cod, aș dori să enumerăm pașii care descriu procesul de construire a unei aplicații blockchain. Să o parcurgem mai jos.

Găsiți o idee

Primul pas este să găsești o idee la care să lucrezi. Descentralizarea este un concept nou, care poate avea multe cazuri de utilizare. Ca student sau inginer, ar trebui să veniți cu o idee utilă care vă poate aduce beneficii, fie companiei dumneavoastră. De asemenea, nu vă faceți griji dacă nu puteți veni cu o idee care să schimbe peisajul. Este în regulă să construiești dApp-uri simple doar pentru a învăța și a practica.

De asemenea, puteți căuta probleme cu care vă confruntați cu blockchain și poate încerca să le rezolvați cu cel mai bun efort. Ideea aici este să vizualizați problema din punctul dvs. de durere și apoi să încercați să o rezolvați.

Dacă încercați să creați un dApp pentru afacerea dvs. sau în conformitate cu cerințele afacerii dvs., atunci trebuie să faceți o analiză adecvată a costurilor / beneficiilor. De asemenea, trebuie să explorați riscurile asociate proiectului și să vedeți dacă echipa dvs. de afaceri poate gestiona aplicația cu diligența necesară.

În niciun caz, nu trebuie să luați nicio decizie pripită pe care o veți regreta ulterior. Acest lucru se datorează faptului că dezvoltarea blockchain-ului este costisitoare, mai ales atunci când vine vorba de găsirea talentului pentru a-l dezvolta și gestiona. În plus, există o penurie de dezvoltatori care lucrează la blockchain. Pe scurt, ar trebui să luați măsuri adecvate atunci când vine vorba de dezvoltarea aplicațiilor blockchain sau blockchain.

Iată un ghid pentru dezvoltarea dApps care vă poate ajuta să înțelegeți mecanismele din spatele creării unei noi aplicații descentralizate.

Alegeți o metodă de consens

Orice aplicație descentralizată necesită un algoritm de consens adecvat pentru a funcționa. Se asigură că tranzacțiile sunt validate și nu pot avea loc fraude. Ca dezvoltator sau cursant, trebuie să alegeți dintre oricare dintre metodele de consens disponibile, inclusiv Dovada mizei, Dovedirea delegată a mizei, toleranța la erori bizantină și așa mai departe! Alegerea ar trebui să depindă de familiaritatea dvs. și de cerințele aplicației.

Alegerea unei platforme

Aici, trebuie să alegeți o platformă la alegere. În mod clar, am acoperit deja punctul de mai sus. Aveți în principal trei platforme dintre care să alegeți, inclusiv Ethereum, Hyperledger Fabric și Cardano.

Există multe cadre de blockchain de întreprindere pe care le puteți folosi pentru aceasta, dar vom merge cu Ethereum.

Consola de administrare și interfața utilizatorului

Aplicațiile ar trebui să aibă o experiență adecvată pentru utilizator. De aceea, ar trebui să creați o aplicație blockchain cu o interfață de utilizator bună. Aplicația ar trebui să aibă, de asemenea, o consolă de administrator, astfel încât să o puteți gestiona fără probleme.

Înțelegerea principiilor Blockchain

Este obișnuit ca dezvoltatorii să înceapă tutorialul de dezvoltare a aplicațiilor blockchain fără a înțelege conceptele și principiile care stau la baza acestora. De aceea, recomand elementele de bază ale blockchain-ului înainte de a începe cu tutorialele de dezvoltare a aplicațiilor. Poate doriți să citiți despre ecosistemul său, inclusiv despre instrumentele blockchain, platformele și criptomonedele.

Exersează și dezvoltă

Exersează-ți abilitățile cât poți. Acest lucru vă va oferi abilitățile de a dezvolta aplicații mai complexe în viitor.

Cum să construiești o aplicație Blockchain? Abordarea ușoară

Da, ai citit bine. În această secțiune, obiectivul nostru ar fi crearea unei aplicații blockchain directe în doar cinci pași simpli. Dacă nu ați construit niciodată o aplicație blockchain, atunci acești cinci pași vă vor ajuta să înțelegeți mai bine procesul.

Cei cinci pași sunt după cum urmează.

  • Instalați dependențe și clonați depozite.
  • Rulați Ganache CLI
  • Compilarea contractului
  • Implementarea contractului
  • Interacțiunea contractuală

Și asta e tot. Puteți găsi pași mai detaliați pe postarea în sine. Este o aplicație simplă de vot pe blockchain.

Cum să construiești o aplicație Blockchain? Abordarea grea

Bine! M-ai prins! Nu doriți calea ușoară, ci doriți să învățați blockchain-ul pe calea cea mai dificilă. Nu vă faceți griji, deoarece, în această secțiune, vom crea o aplicație listă de lucruri cu tot cu ajutorul contractelor inteligente Ethereum.

Funcționarea aplicațiilor Blockchain

Înainte de a ne adânci în crearea unei aplicații blockchain, să încercăm să înțelegem cum ar funcționa în primul rând o aplicație blockchain.

Pentru a înțelege acest lucru, să aruncăm o privire la modul în care funcționează o aplicație simplă. Orice aplicație care funcționează pe internet este redată pe computerul utilizatorului utilizând un browser sau o aplicație dedicată pe Windows. În orice caz, solicită serverului paginile sau informațiile, care sunt apoi redate pe computerul utilizatorului.

În cazul aplicației web, totul este centralizat. Acest lucru oferă unele avantaje; cu toate acestea, lasă mult de dorit când vine vorba de securitate. Aplicațiile Blockchain funcționează complet diferit. Totul este descentralizat, inclusiv codul și datele stocate în aplicație.

Contracte inteligente

Cheia aici este contractul inteligent. Un contract inteligent facilitează aplicația în sine. Conține tot codul care face ca aplicația să funcționeze. De asemenea, automatizează procesul și se asigură că acesta funcționează conform intenției. În tutorialul nostru, vom folosi contracte inteligente pentru a scrie diferitele funcționalități ale listei de sarcini.

Contractele inteligente utilizează limbajul de programare Solidity. Este similar cu JavaScript. Odată scris un contract inteligent, codul său devine neschimbat și imuabil. Sunteți liber să modificați codul în timp ce implementați. Cu toate acestea, odată ce aplicația este implementată, nu veți putea schimba codul. Acest lucru este făcut pentru a aduce încredere și securitate aplicațiilor blockchain. Abordarea înseamnă, de asemenea, că trebuie să fii foarte atent și să faci toate testele înainte de a implementa contractul inteligent. De asemenea, codurile de contracte inteligente sunt de natură publică.

Doriți să aflați cum să construiți un blockchain folosind Python? Iată un tutorial pentru construirea unui blockchain cu Python pe care îl puteți urmări.

Realizarea aplicației noastre Blockchain To-Do List

Pentru a vă asigura că înțelegeți conceptul, trebuie mai întâi să aflați cum va funcționa aplicația blockchain Todo. Vom folosi Ethereum pentru a crea aplicația. Aplicația noastră va folosi un singur nod Ethereum și va avea, de asemenea, o aplicație din partea clientului. Vom folosi Solidity pentru a scrie contractul inteligent și apoi pentru a-l implementa.

Ca dezvoltator, trebuie să utilizați un portofel Ethereum – care este ușor de realizat.

Pregătirea – crearea mediului

Pentru a crea un mediu local, vom avea nevoie de mai multe instrumente și pachete. Să le parcurgem pe rând.

Ganache

Ganache este un instrument de dezvoltare Ethereum. Vă permite să gestionați, să implementați și să dezvoltați aplicații, contracte inteligente și teste. Vom rula versiunea Windows pentru tutorial. Dacă aveți un alt sistem de operare, puteți descărca și versiunea Mac sau Linux. Odată instalat, ar trebui să îl puteți utiliza prin instrumentul pentru linia de comandă.

Node.js

Node.js este următorul nostru instrument care trebuie instalat. Pentru a face blockchainul privat să ruleze pe computerul dvs., trebuie să instalați Manager pachet nod.

Odată instalat, deschideți terminalul și tastați comanda de mai jos. Dacă rulează, atunci ești bine să mergi.

$ nod -v

Portofel MetaMask Ethereum

Deoarece vom lucra la blockchain-ul Ethereum, avem nevoie de un portofel care să funcționeze din browser. Metamask este un portofel de browser web care vă permite să interacționați cu blockchain-ul Ethereum.

Cadru Truffle

Ultimul software pe care urmează să îl instalăm este Cadru Truffle. Oferă un set larg de instrumente care vă permite să lucrați eficient la dApp. Puteți utiliza limbajul de programare Solidity pentru a dezvolta un contract inteligent Ethereum.

Unele dintre caracteristicile cheie Truffle Framework includ următoarele

  • Gestionarea corectă a contractelor inteligente
  • Managementul rețelelor
  • Testare automată
  • Consola de dezvoltare
  • Script Runner
  • Implementare și migrații
  • Dezvoltare pe partea clientului.

Pentru a instala, trebuie să utilizați fișierul comanda npm. Pur și simplu rulați următoarea comandă în linia de comandă.

$ npm install -g [email protected]

Instalarea va dura ceva timp. De asemenea, rețineți că trebuie să instalați versiunea exactă pentru a urma tutorialul.

Doriți să deveniți un profesionist expert în blockchain? Înscrieți-vă în curs profesional certificat de blockchain pentru întreprinderi acum!

Configurarea proiectului

Misto! Acum avem mediul nostru de dezvoltare gata de utilizare. Acum, tot ce trebuie să facem este să ne creăm proiectul. Pentru a face acest lucru, trebuie să creăm directorul proiectului. Să o facem mai jos.

$ mkdir dapp-todo

$ cd dapp-todo

Odată ce vă aflați în dosar, trebuie să inițiați proiectul trufelor executând comanda de mai jos.

$ init trufe

După ce ați terminat, vi se va afișa un mesaj ca mai sus. Aceasta înseamnă că folderul și fișierele sunt create cu succes. Acum, puteți deschide folderul în editorul de text preferat. Dar înainte de a face asta, trebuie să creați fișierul pachet.json fişier. Acest lucru vă va ajuta să instalați dependențele necesare pentru proiect.

Puteți crea manual fișierul și apoi puteți salva conținutul prezentat mai jos.

{

  „Nume”: „dapp-todo”,

  „Versiune”: „1.0.0”,

  „Descriere”: „Listă de sarcini bazate pe Ethereum”,

  „Main”: „truffle-config.js”,

  „Directoare”: {

    “test test”

  },

  „Scripturi”: {

    „Dev”: „lite-server”,

    „Test”: „echo \” Eroare: nu este specificat nici un test \ ” && sexit 1 ″

  },

  „Autor”: „[email protected]”,

  „Licență”: „ISC”,

  „DevDependencies”: {

    „Bootstrap”: „4.1.3”,

    „Chai”: „^ 4.1.2”,

    „Chai-ca-promis”: „^ 7.1.1”,

    „Chai-bignumber”: „^ 2.0.2”,

    „Lite-server”: „^ 2.3.0”,

    „Nodemon”: „^ 1.17.3”,

    „Trufă”: „5.0.2”,

    „Contract-trufă”: „3.0.6”

  }

}

După ce ați terminat, rulați următoarea comandă pentru a instala dependențele.

Instalare $ npm

Înțelegerea structurii directorului

Structura directorului va arăta ca mai jos.

Să înțelegem fiecare dosar unul câte unul.

  • Contracte: Directorul conține toate contractele inteligente. Contractul migrations.sol gestionează migrațiile către blockchain.
  • Migrații: Directorul de migrare conține datele de migrare. De aici au loc migrațiile.
  • nod_module: Conține toate modulele / dependențele nodului.
  • Test: Acest director conține fișierele de testare.
  • truffle-config.js: Acest fișier conține configurația proiectului de trufe.

Crearea contractului inteligent

Acum este timpul să începem cu al nostru crearea de contracte inteligente. Contractele noastre inteligente vor fi stocate în dosarul contractelor. Să creăm un fișier de contract inteligent numit todo.sol

După ce ați terminat, trebuie să scrieți codul după cum urmează.

soliditatea pragmei ^ 0,5,0;

contract Todo {

// Cod aici

}

Prima linie de cod specifică ce versiune de Solidity folosim pentru a scrie contractul inteligent. În continuare, trebuie să folosim cuvântul cheie contract și să creăm un contract Todo. Acesta va conține codul pentru contractul inteligent.

Acum, să adăugăm o variabilă pentru a vedea dacă totul funcționează conform intenției.

soliditatea pragmei ^ 0,5,0;

contract Todo {

uint Tasks = 0;

}

Aici, definim variabila task-uri care va conta numărul de task-uri pe care le avem în aplicația noastră Todo.

Conectarea la Ganache

Cu contractul nostru inteligent configurat corect în Truffle, acum trebuie să ne conectăm la blockchain-ul privat Ganache pe care l-am creat. Pentru a face acest lucru, unele fișiere de configurare trebuie actualizate. De asemenea, trebuie să creăm un script de migrare și să îl rulăm astfel încât să ne putem conecta la rețeaua personală blockchain.

Pentru a începe, trebuie să actualizăm fișierul truffle-config.json. Ar trebui să se afle în directorul de bază al proiectului. După ce îl deschideți, copiați-lipiți următorul cod.

module.exports = {

rețele: {

dezvoltare: {

gazdă: „127.0.0.1”,

port: 7545,

network_id: „*” // Potrivire identitate rețea

}

},

solc: {

optimizator: {

activat: adevărat,

rulează: 200

}

}

}

Odată cu crearea fișierului truffle-config.js, este momentul să creăm scriptul de migrare, astfel încât contractul inteligent pe care îl creăm să poată fi migrat în rețeaua personală blockchain.

Vom înregistra numele ca 2_deploy_contracts.js

Migrațiile sunt foarte critice pentru aplicația noastră Todo. Deoarece blockchain-ul este un tip de bază de date, trebuie să-l schimbăm de la o stare la alta. Aici ajută migrațiile.

Pentru a lega fișierele de migrare, trebuie să actualizăm adăugarea următorului cod la fișierul de migrare nou creat.

var Todo = artifacts.require („./ Todo.sol”);

module.exports = funcție (implementator) {

deployer.deploy (Todo)

}

Prima linie de cod creează pur și simplu o variabilă care face referire la contractul nostru inteligent. Odată terminat, îl implementăm.

Odată terminat, acum, să executăm comanda migrare.

$ Migrarea trufei

De asemenea, puteți rula consola folosind comanda de mai jos.

$ consolă de trufe

Dezvoltarea aplicației noastre Todo List

Acum, că am derulat cu succes primul nostru contract inteligent Ethereum, este momentul să adăugăm funcții dApp-ului nostru. Aplicația noastră dApp este simplă. Acesta va lista sarcinile din lista noastră Todo. Trebuie să folosim contractul inteligent pentru a realiza acest lucru.

Să o facem mai jos.

soliditatea pragmei ^ 0,5,0;

contract Todo {

uint sarcini publice = 0;

 

struct Task {

uint id;

conținut șir;

bool completat;

}

}

Aici am folosit un cuvânt cheie struct pentru a crea o nouă sarcină struct. Îl folosim pentru a defini structura Sarcinii noastre, care conține id-ul, conținutul și valoarea booleană completată.

Apoi, acum trebuie să ne mapăm structura Sarcini și să o facem publică, astfel încât să poată fi accesată de blockchain. Pentru a face acest lucru, trebuie să adăugăm următoarea linie de cod.

Codul contractului inteligent va arăta acum ca mai jos.

soliditatea pragmei ^ 0,5,0;

contract Todo {

uint sarcini publice = 0;

struct Task {

uint id;

conținut șir;

bool completat;

}

mapare (uint => Task) sarcini publice;

}

În sfârșit, acum trebuie să creăm o funcție care să gestioneze sarcinile.

funcția createTask (string memory _content) public {

taskCount ++;

tasks [taskCount] = Activitate (taskCount, _content, false)

}

Funcția este auto-explicativă în cea mai mare parte. Am creat funcția astfel încât să poată număra numărul de activități listate în Todo dApp.

În cele din urmă, trebuie să creăm un constructor pentru a inițializa clasa Todo.

constructor () public {

createTask („Aceasta este prima noastră sarcină”)

}

Fișierul nostru todo.sol ar trebui să arate acum ca mai jos.

soliditatea pragmei ^ 0,5,0;

contract Todo {

uint sarcini publice = 0;

struct Task {

uint id;

conținut șir;

bool completat;

}

constructor () public {

createTask („Aceasta este prima noastră sarcină”)

}

mapare (uint => Task) sarcini publice;

funcția createTask (string memory _content) public {

taskCount ++;

tasks [taskCount] = Activitate (taskCount, _content, false)

}

}

Creați activități

De asemenea, putem crea sarcini în Todo dApp. Pentru a face acest lucru, trebuie să creăm un declanșator atunci când este creată o nouă sarcină. Abordarea noastră este să creăm un nou eveniment TaskCreated și apoi să îl adăugăm la funcția existentă createTask ().

eveniment TaskCreated (

uint id;

conținut de șir,

bool finalizat

);

Acum, adăugați următoarea linie la funcția createTask ().

emit TaskCreated (taskCount, _content, false);

Finalizarea sarcinilor

Finalizarea sarcinilor poate fi, de asemenea, adăugată folosind eveniment. Trebuie să adăugați următorul eveniment la contractul Todo.

Task event finalizat (

uint id,

bool finalizat

);

Pentru a funcționa, trebuie să adăugați și o nouă funcție.

funcție toggleCompleted (uint _id) public {

Memorie sarcini _task = tasks [_id];

_task.completed =! _task.completed;

tasks [_id] = _task;

emit TaskCompleted (_id, _task.completed)

}

Felicitări! Ați creat prima listă Todo dApp pe Ethereum blockchain.

Notă de încheiere

Acest lucru ne conduce, de asemenea, la sfârșitul modului de a construi un tutorial pentru aplicații blockchain. Acesta este modul în care construiți o aplicație de construire blockchain de la zero.

De acolo, trebuie să testați corect contractul înainte de a-l migra în cele din urmă către blockchain. De asemenea, puteți crea front-end-ul aplicației și să-l testați. Dacă nu sunteți interesat să faceți acest lucru, atunci puteți porni consola și accesa variabilele și funcția pentru a testa lucrurile!

Dar dacă încă nu sunteți conștienți de implicațiile blockchain-ului, atunci vă îndemnăm să începeți cursul nostru blockchain gratuit pentru a afla mai multe despre acesta. Fără să înveți sau să înțelegi cum funcționează, să înțelegi conceptul de programare îți va fi foarte greu.

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