Kako zgraditi aplikacijo Blockchain

Iščete vodnik, kjer se lahko naučite, kako zgraditi aplikacijo blockchain? Tukaj je vodnik, ki vam lahko pomaga pri izdelavi aplikacije blockchain iz nič.

V tem članku bomo zgradili aplikacijo blockchain. Pred kratkim smo obravnavali, kako zgraditi verigo blokov. Bil je popoln vodnik za izdelavo verige blokov v programskem jeziku Python. Glavni pouk vadnice je spoznavanje tehnologije veriženja blokov in njenega notranjega delovanja.

Ta vadnica pa govori o tem, kako zgraditi aplikacijo z uporabo verige blokov. Decentralizirana aplikacija (dApp) bo lahko izkoristila lastnosti verige blokov.

Z uporabo Ethereuma bomo zgradili preprosto aplikacijo za veriženje blokov. Ethereum je druga generacija blockchain tehnologije, ki ponuja napredne funkcije, kot so pametne pogodbe, Proof-of-Stake in, kar je najpomembneje, sposobnost ustvarjanja decentraliziranih aplikacij (dApps).

Začnimo z našo vadnico »Kako zgraditi aplikacijo blockchain«. Ta vadnica je namenjena tudi tistim, ki želijo zgraditi preprosto aplikacijo blockchain. Za izdelavo preproste blockchain aplikacije bomo uporabili omrežje Ethereum.

Preden začnemo, pa pojdimo pravilno.

Vpišite se zdaj: Tečaj osnove podjetniških blokovnih verig

Kaj je dApp?

Prvi korak, ki ga bomo naredili pri izdelavi vadnice za uporabo blockchain, je najprej spoznavanje koncepta decentralizirane aplikacije (dApp).

dApp pomeni decentralizirana aplikacija. Gre za drugo vrsto aplikacije, ki ponuja ključne značilnosti, vključno z zmožnostjo samostojnega delovanja. Aplikacija podatke shranjuje tudi kriptografsko, tako da do njih brez ustreznega pooblastila ne more dostopati nihče nepooblaščen subjekt.

Zaradi teh značilnosti so decentralizirane aplikacije zelo uporabne v trenutnem poslovnem okolju. Aplikacije lahko uporabljajo tudi žetone, s katerimi lahko izkoristite funkcije, ki jih ponuja aplikacija. Poleg tega lahko aplikacija distribuira tudi žetone za spodbujanje vozlišč, ki sodelujejo pri delovanju dApp.

Izbira platforme – Zakaj izbiramo platformo Ethereum

Trenutno obstaja veliko platform, ki jih lahko izberete za izdelavo svojega dApp. Vključujejo priljubljene blockchain platforme, kot so Ethereum, Hyperledger Fabric in Cardano. Zdi se, da je Ethereum najboljši izbor zaradi aktivne skupnosti, orodij in vadnic, ki so na voljo v spletu.

Drug razlog, zakaj izberemo Ethereum, je ta, da uporablja Solidity. Solidity je izrecno namenjen uvajanju in ustvarjanju aplikacij dApps in pametnih pogodb. Je enostavnega za učenje in vam omogoča prožnost za eksperimentiranje.

Praktični vodnik za izdelavo decentralizirane aplikacije Blockchain

Preden se poglobimo v kodo, bi rad navedel korake, ki opisujejo postopek izdelave aplikacije blockchain. Gremo skozi to spodaj.

Poiščite idejo

Prvi korak je poiskati idejo, na kateri bi delali. Decentralizacija je kul nov koncept, ki ima lahko veliko primerov. Kot učenec ali inženir bi se morali domisliti koristne ideje, ki bi lahko koristila vam ali vašemu podjetju. Ne skrbite tudi, če ne morete priti z idejo, ki spreminja pokrajino. V redu je zgraditi preproste dApps samo zaradi učenja in prakse.

Prav tako lahko iščete težave, s katerimi se soočate z verigo verig, in jih morda poskušate rešiti po svojih najboljših močeh. Bistvo je, da na težavo pogledate s svoje boleče točke in jo nato poskusite rešiti.

Če poskušate zgraditi dApp za svoje podjetje ali v skladu s svojimi poslovnimi zahtevami, morate narediti ustrezno analizo stroškov in koristi. Prav tako morate raziskati tveganja, povezana s projektom, in preveriti, ali lahko vaša poslovna skupina s skrbnostjo upravlja aplikacijo.

V nobenem primeru ne smete sprejeti prenagljene odločitve, ki bi jo kasneje obžalovali. To je zato, ker je razvoj verige blokov drag, še posebej, ko gre za iskanje talentov za njegov razvoj in upravljanje. Za povrh je še premalo razvijalcev, ki delajo na verigi blokov. Skratka, sprejeti morate ustrezne ukrepe, ko gre za razvoj verige blokov ali aplikacij.

Tu je priročnik za razvoj dApps, v katerem lahko razumete mehanizme za ustvarjanje nove decentralizirane aplikacije.

Izberite konsenzno metodo

Vsaka decentralizirana aplikacija za delovanje potrebuje ustrezen soglasni algoritem. Zagotavlja, da so transakcije potrjene in da ne gre za goljufije. Kot razvijalec ali učenec morate izbrati katero koli od razpoložljivih metod soglasja, vključno z dokazom o vložku, delegiranim dokazom za vložek, bizantinsko odpornostjo na napake itd. Izbira mora biti odvisna od vašega poznavanja in zahtev aplikacije.

Izbira platforme

Tukaj morate izbrati platformo po svoji izbiri. Jasno je, da smo zgornjo točko že pokrili. Izbirate lahko med tremi platformami, med katerimi so Ethereum, Hyperledger Fabric in Cardano.

Obstaja veliko poslovnih verig blockchain, ki jih lahko uporabite za to, vendar bomo šli z Ethereumom.

Admin Console in uporabniški vmesnik

Aplikacije bi morale imeti ustrezno uporabniško izkušnjo. Zato bi morali zgraditi aplikacijo blockchain z dobrim uporabniškim vmesnikom. Aplikacija mora imeti tudi skrbniško konzolo, tako da jo lahko brez težav upravljate.

Razumevanje načel veriženja blokov

Razvijalci običajno začnejo z vadnico za razvoj aplikacij blockchain, ne da bi razumeli osnovne koncepte in načela. Zato pred začetkom vaj za razvoj aplikacij v celoti priporočam osnove blockchaina. Morda boste želeli prebrati tudi o njegovem ekosistemu, vključno z blockchain orodji, platformami in kriptovalutami.

Vadite in razvijajte se

Vadite svoje veščine, kolikor lahko. Tako boste lahko v prihodnosti razvijali bolj zapletene aplikacije.

Kako zgraditi aplikacijo Blockchain? Enostaven pristop

Da, prav ste prebrali. V tem poglavju bi se osredotočili na ustvarjanje enostavne blockchain aplikacije v samo petih preprostih korakih. Če še niste zgradili aplikacije blockchain, vam bo teh pet korakov pomagalo bolje razumeti postopek.

Pet korakov je naslednjih.

  • Namestite odvisnosti in klonirajte repozitorije.
  • Zagon Ganache CLI
  • Sestavljanje pogodb
  • Uvajanje pogodbe
  • Pogodbena interakcija

In to je vse. Podrobnejše korake najdete na sami objavi. To je preprosta aplikacija za glasovanje na blockchainu.

Kako zgraditi aplikacijo Blockchain? Trdi pristop

Vredu! Dobil si me! Ne želite enostavne poti, ampak se želite naučiti blockchain na težji način. Ne skrbite, saj bomo v tem razdelku z uporabo pametnih pogodb Ethereum ustvarili aplikacijo s seznamom opravil.

Delovanje aplikacij Blockchain

Preden se poglobimo v ustvarjanje blockchain aplikacije, poskusimo razumeti, kako bi sploh delovala blockchain aplikacija.

Da bi to razumeli, si oglejmo, kako deluje preprosta aplikacija. Vsaka aplikacija, ki deluje v internetu, je upodobljena v uporabnikovem računalniku z brskalnikom ali namensko aplikacijo v oknih. Vsekakor od strežnika zahteva strani ali informacije, ki se nato upodobijo v uporabnikovem računalniku.

V primeru spletne aplikacije je vse centralizirano. To ponuja nekaj prednosti; pri varnosti pa pušča veliko želenega. Blockchain aplikacije delujejo povsem drugače. Vse je decentralizirano, vključno s kodo in podatki, ki so shranjeni v aplikaciji.

Pametne pogodbe

Tu je ključna pametna pogodba. Pametna pogodba olajša aplikacijo samo. Vsebuje vso kodo, zaradi katere aplikacija deluje. Prav tako avtomatizira postopek in zagotavlja, da deluje, kot je predvideno. V naši vadnici bomo s pomočjo pametnih pogodb napisali različne funkcionalnosti seznama opravil.

Pametne pogodbe uporabljajo programski jezik Solidity. Podobno je kot JavaScript. Ko je pametna pogodba napisana, postane njena koda nespremenljiva in nespremenljiva. Med uvajanjem lahko kodo spremenite. Ko pa bo aplikacija enkrat uvedena, kode ne boste mogli več spremeniti. To se naredi za zagotovitev zanesljivosti in varnosti aplikacij blockchain. Pristop pomeni tudi, da morate biti previdni in opraviti vsa testiranja, preden uvedete pametno pogodbo. Prav tako so kode pametnih pogodb javne narave.

Bi se radi naučili, kako zgraditi verigo blokov s pomočjo Pythona? Tu je vadnica za gradnjo verige blokov s Pythonom, ki ji lahko sledite.

Izdelava aplikacije Blockchain To-Do List

Če želite razumeti koncept, se morate najprej naučiti, kako bo delovala aplikacija Todo blockchain. Za izdelavo aplikacije bomo uporabili Ethereum. Naša aplikacija bo uporabljala eno vozlišče Ethereum in bo imela tudi aplikacijo na strani odjemalca. S Solidity bomo napisali pametno pogodbo in jo nato uvedli.

Kot razvijalec morate uporabiti denarnico Ethereum – kar je enostavno narediti.

Priprava – ustvarjanje okolja

Za ustvarjanje lokalnega okolja bomo potrebovali več orodij in paketov. Pojdimo skozi enega po enega.

Ganache

Ganache je orodje za razvoj Ethereuma. Omogoča vam upravljanje, uvajanje in razvoj aplikacij, pametnih pogodb in testov. Za vadnico bomo zagnali različico sistema Windows. Če imate drugačen operacijski sistem, lahko prenesete tudi različico Mac ali Linux. Ko je nameščen, ga lahko uporabljate z orodjem ukazne vrstice.

Node.js

Node.js je naše naslednje orodje, ki ga je treba namestiti. Če želite, da se zasebni blockchain zažene na vašem računalniku, morate namestiti Upravitelj paketov vozlišč.

Ko je nameščen, odprite terminal in vnesite spodnji ukaz. Če teče, potem ste pripravljeni iti.

$ vozlišče -v

Denarnica MetaMask Ethereum

Ker bomo delali na verigi blokov Ethereum, potrebujemo denarnico, ki lahko deluje iz brskalnika. Metamaska je denarnica spletnega brskalnika, ki vam omogoča interakcijo z verigo blokov Ethereum.

Okvir za tartufe

Zadnja programska oprema, ki jo bomo namestili, je Okvir za tartufe. Ponuja širok nabor orodij, ki vam omogočajo učinkovito delo na vašem dApp. S programskim jezikom Solidity lahko razvijete pametno pogodbo Ethereum.

Nekatere ključne funkcije ogrodja tartufov vključujejo naslednje

  • Pravilno upravljanje pametnih pogodb
  • Upravljanje mrež
  • Avtomatizirano testiranje
  • Razvojna konzola
  • Script Runner
  • Uvajanje in selitve
  • Razvoj na strani stranke.

Za namestitev morate uporabiti ukaz npm. Preprosto zaženite naslednji ukaz v ukazni vrstici.

$ npm namestitev -g [email protected]

Namestitev bo trajala nekaj časa. Upoštevajte tudi, da morate po navodilih namestiti natančno različico.

Želite postati strokovnjak za blockchain? Vpišite se v našo certificiran poslovni tečaj za blockchain!

Nastavitev projekta

Super! Zdaj imamo svoje razvojno okolje pripravljeno za uporabo. Zdaj moramo samo še ustvariti svoj projekt. Za to moramo ustvariti imenik projekta. Naredimo to spodaj.

$ mkdir dapp-todo

$ cd dapp-todo

Ko ste v mapi, morate zagnati projekt tartufov tako, da zaženete spodnji ukaz.

$ tartuf init

Ko končate, se vam prikaže sporočilo kot zgoraj. To pomeni, da so mapa in datoteke uspešno ustvarjene. Zdaj lahko mapo odprete v svojem najljubšem urejevalniku besedil. Toda preden to storite, morate ustvariti package.json mapa. To vam bo pomagalo namestiti odvisnosti, potrebne za projekt.

Datoteko lahko ročno ustvarite in nato shranite spodaj prikazano vsebino.

{

  “Name”: “dapp-todo”,

  “Različica”: “1.0.0”,

  “Description”: “Seznam opravil na osnovi Ethereuma”,

  “Main”: “tartuf-config.js”,

  “Imeniki”: {

    “Test”: “test”

  },

  “Skripte”: {

    “Dev”: “lite-server”,

    “Test”: “echo \” Napaka: test ni določen \ ” && sexit 1 ″

  },

  “Avtor”: “[email protected]”,

  “Licenca”: “ISC”,

  “DevDependencies”: {

    “Bootstrap”: “4.1.3”,

    “Chai”: “^ 4.1.2”,

    “Chai-as-obljubljeno”: “^ 7.1.1”,

    “Chai-bignumber”: “^ 2.0.2”,

    “Lite-server”: “^ 2.3.0”,

    “Nodemon”: “^ 1.17.3”,

    „Tartuf“: „5.0.2“,

    „Tartufna pogodba“: „3.0.6“

  }

}

Ko končate, zaženite naslednji ukaz, da namestite odvisnosti.

$ npm namestitev

Razumevanje strukture imenika

Struktura imenika bo videti spodaj.

Razumejmo vsako mapo eno za drugo.

  • Pogodbe: Imenik vsebuje vse pametne pogodbe. Pogodba migrations.sol ureja migracije v verigo blokov.
  • Migracije: Imenik za selitev vsebuje podatke o selitvah. Od tu potekajo selitve.
  • node_modules: Vsebuje vse vozliščne module / odvisnosti.
  • Preizkus: Ta imenik vsebuje preskusne datoteke.
  • tartuf-config.js: Ta datoteka vsebuje konfiguracijo projekta tartufov.

Ustvarjanje pametne pogodbe

Zdaj je čas, da začnemo s svojim ustvarjanje pametnih pogodb. Naše pametne pogodbe bodo shranjene v mapi pogodb. Ustvarimo datoteko pametne pogodbe z imenom todo.sol

Ko končate, morate zdaj napisati kodo kot spodaj.

trdnost pragme ^ 0,5,0;

pogodba Todo {

// Koda tukaj

}

Prva vrstica kode določa, katero različico Solidity uporabljamo za pisanje pametne pogodbe. Nato moramo uporabiti ključno besedo pogodbe in ustvariti pogodbo Todo. Ta bo vsebovala kodo pametne pogodbe.

Zdaj pa dodajte spremenljivko, da preverimo, ali vse deluje, kot je bilo predvideno.

trdnost pragme ^ 0,5,0;

pogodba Todo {

uint Naloge = 0;

}

Tu določimo spremenljivko opravil, ki bo štela število nalog, ki jih imamo v naši aplikaciji Todo.

Povezovanje z Ganachejem

Z našo pametno pogodbo, pravilno nastavljeno v Truffle, se moramo zdaj povezati z zasebno verigo blokov Ganache, ki smo jo ustvarili. Za to je treba posodobiti nekatere konfiguracijske datoteke. Ustvariti moramo tudi skript za selitev in ga zagnati, da se lahko povežemo z osebnim blockchain omrežjem.

Za začetek moramo posodobiti datoteko tartuf-config.json. Moral bi biti v osnovnem imeniku projekta. Ko jo odprete, kopirajte in prilepite naslednjo kodo.

module.exports = {

omrežja: {

razvoj: {

gostitelj: “127.0.0.1”,

pristanišče: 7545,

network_id: “*” // Ujemanje ID-ja omrežja

}

},

solc: {

optimizator: {

omogočeno: res,

teče: 200

}

}

}

Z ustvarjeno datoteko truffle-config.js je zdaj čas, da izdelamo skript za selitev, tako da lahko pametno pogodbo, ki jo ustvarimo, preselimo v osebno omrežje blockchain.

Ime bomo vložili kot 2_deploy_contracts.js

Selitve so zelo pomembne za našo aplikacijo Todo. Ker je veriga blokov vrsta zbirke podatkov, jo moramo spremeniti iz enega stanja v drugega. Tu pomagajo migracije.

Če želite povezati migracijske datoteke, moramo posodobiti datoteko za dodajanje naslednje kode v novo ustvarjeno datoteko za selitev.

var Todo = artefakti.require (“./ Todo.sol”);

module.exports = funkcija (uvajalnik) {

deployer.deploy (Todo)

}

Prva vrstica kode preprosto ustvari spremenljivko, ki se sklicuje na našo pametno pogodbo. Ko končamo, ga nato razporedimo.

Ko končate, zaženimo ukaz migrate.

$ Tartuf se preseli

Konzolo lahko zaženete tudi s spodnjim ukazom.

$ konzola za tartufe

Razvoj aplikacije Todo List

Zdaj, ko smo uspešno izvedli svojo prvo pametno pogodbo Ethereum, je zdaj čas, da v svoj dApp dodamo funkcije. Naš dApp je preprost. Na njej bodo naštete naloge na našem seznamu Todo. Za njeno uresničitev moramo uporabiti pametno pogodbo.

Naredimo to spodaj.

trdnost pragme ^ 0,5,0;

pogodba Todo {

uint javne naloge = 0;

 

struct Naloga {

uint id;

niz vsebine;

bool končan;

}

}

Tu smo uporabili ključno besedo struct za ustvarjanje nove naloge struct. Z njim definiramo strukturo naše naloge, ki vsebuje id, vsebino in izpolnjeno logično vrednost.

Nato moramo našo strukturo opravil preslikati in objaviti, da bo do nje lahko dostopala veriga blokov. Za to moramo dodati naslednjo vrstico kode.

Koda pametne pogodbe bo zdaj videti kot spodaj.

trdnost pragme ^ 0,5,0;

pogodba Todo {

uint javne naloge = 0;

struct Naloga {

uint id;

niz vsebine;

bool končan;

}

preslikava (uint => Naloga) javne naloge;

}

Nazadnje moramo zdaj ustvariti funkcijo, ki obravnava naloge.

funkcija createTask (niz pomnilnika _content) public {

taskCount ++;

task [taskCount] = Task (taskCount, _content, false)

}

Funkcija je večinoma samoumevna. Funkcijo smo ustvarili tako, da lahko prešteje število opravil, ki so navedena v aplikaciji Todo dApp.

Na koncu moramo ustvariti konstruktor za inicializacijo razreda Todo.

konstruktor () public {

createTask (“To je naša prva naloga”)

}

Naša datoteka todo.sol bi zdaj morala izgledati kot spodaj.

trdnost pragme ^ 0,5,0;

pogodba Todo {

uint javne naloge = 0;

struct Naloga {

uint id;

niz vsebine;

bool končan;

}

konstruktor () public {

createTask (“To je naša prva naloga”)

}

preslikava (uint => Naloga) javne naloge;

funkcija createTask (niz pomnilnika _content) public {

taskCount ++;

task [taskCount] = Task (taskCount, _content, false)

}

}

Ustvari naloge

Naloge lahko ustvarimo tudi v našem programu Todo dApp. Če želite to narediti, moramo ustvariti sprožilec, ko se ustvari nova naloga. Naš pristop je ustvariti nov dogodek TaskCreated in ga nato dodati v obstoječo funkcijo createTask ().

dogodek TaskCreate (

uint id;

niz vsebine,

bool končan

);

Zdaj dodajte naslednjo vrstico v funkcijo createTask ().

emit TaskCreate (taskCount, _content, false);

Dokončanje nalog

Dokončanje nalog lahko dodate tudi s pomočjo dogodka. V pogodbo Todo morate dodati naslednji dogodek.

dogodek TaskCompleted (

uint id,

bool končan

);

Če želite, da deluje, morate dodati tudi novo funkcijo.

function toggleCompleted (uint _id) public {

Pomnilnik opravil _task = opravila [_id];

_task.completed =! _task.completed;

naloge [_id] = _naloga;

emit TaskCompleted (_id, _task.completed)

}

Čestitke! Ustvarili ste svoj prvi seznam aplikacij dApp na Ethereum blockchain.

Končna opomba

To nas vodi tudi do konca naše vadnice za uporabo blockchain aplikacije. Tako gradite aplikacijo za gradnjo blockchain iz nič.

Od tam morate pravilno preizkusiti pogodbo, preden jo končno preselite v verigo blokov. Ustvarite lahko tudi prednji del aplikacije in jo preizkusite. Če vas to ne zanima, lahko zaženete konzolo in dostopate do spremenljivk in funkcije za preizkušanje stvari!

Če pa se še vedno ne zavedate posledic blockchaina, vas pozivamo, da začnete z našim brezplačnim tečajem blockchain, če želite izvedeti več o njem. Brez učenja in razumevanja, kako to deluje, boste dojemanje koncepta programiranja resnično težko.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map