Kā izveidot Blockchain lietotni

Vai meklējat ceļvedi, kur uzzināt, kā izveidot blokķēdes lietotni? Šeit ir rokasgrāmata, kas var palīdzēt izveidot blokķēdes lietotni no jauna.

Šajā rakstā mēs veidosim savu blokķēdes lietotni. Nesen mēs aplūkojām, kā izveidot blokķēdi. Tas bija pilnīgs ceļvedis par blokķēdes izveidi Python programmēšanas valodā. Pamācības galvenais mērķis ir uzzināt par blokķēdes tehnoloģiju un tās iekšējo darbību.

Šī apmācība tomēr ir par to, kā izveidot lietotni, izmantojot blokķēdi. Decentralizētā lietotne (dApp) varēs izmantot blokķēdes īpašības.

Mēs izveidosim vienkāršu blokķēdes lietotni, izmantojot Ethereum. Ethereum ir otrās paaudzes blokķēdes tehnoloģija, kas nodrošina uzlabotas funkcijas, piemēram, viedos līgumus, Proof-of-Stake un, pats galvenais, iespēju izveidot decentralizētas lietotnes (dApps).

Tātad, sāksim ar mūsu apmācību “Kā izveidot blokķēdes lietotni”. Šī apmācība ir paredzēta arī tiem, kuri vēlas izveidot vienkāršu blokķēdes lietotni. Lai izveidotu vienkāršu blokķēdes lietotni, mēs izmantosim Ethereum tīklu.

Bet, pirms mēs sākam darbu, ņemsim vērā pamatus.

Reģistrēties tūlīt: Uzņēmumu bloku ķēžu pamati

Kas ir dApp?

Pirmais solis, ko mēs spersim, kā izveidot lietotnes blockchain apmācību, ir vispirms iemācīties decentralizētās lietojumprogrammas (dApp) jēdzienu.

dApp nozīmē decentralizētu lietojumu. Tas ir cita veida lietotne, kas piedāvā galvenās īpašības, tostarp spēju darboties autonomi. Lietotne datus glabā arī kriptogrāfiski, lai neviens nepiederošs subjekts tiem nevarētu piekļūt bez pienācīgas atļaujas.

Visas šīs īpašības padara decentralizētās lietotnes ļoti noderīgas pašreizējā uzņēmuma vidē. Lietotnes var arī izmantot marķierus, kurus var izmantot, lai izmantotu lietotnes piedāvātās iespējas. Turklāt lietotne var arī izplatīt marķierus, lai stimulētu mezglus, kas piedalās dApp funkcionālā padarīšanā.

Platformas izvēle – kāpēc mēs izvēlamies Ethereum platformu

Pašlaik ir daudz platformu, kuras varat izvēlēties, lai izveidotu savu dApp. Tie ietver tādas populāras blokķēdes platformas kā Ethereum, Hyperledger Fabric un Cardano. No visiem šiem, šķiet, ka Ethereum ir labākā izvēle tiešsaistē pieejamo aktīvās kopienas, rīku un apmācību dēļ.

Vēl viens iemesls, kāpēc mēs izvēlamies Ethereum, ir tas, ka tas izmanto Solidity. Stingrums tiek nepārprotami izveidots, lai izvietotu un izveidotu dApps un viedos līgumus. To ir viegli iemācīties un tas ļauj elastīgi eksperimentēt.

Praktisks ceļvedis decentralizētas lietotnes Blockchain izveidei

Pirms mēs ejam un ienirstam dziļi kodā, es vēlētos uzskaitīt darbības, kas iezīmē blockchain lietotnes veidošanas procesu. Apskatīsim to tālāk.

Atrodi ideju

Pirmais solis ir atrast ideju, pie kuras strādāt. Decentralizācija ir foršs, jauns jēdziens, kam var būt daudz izmantošanas gadījumu. Kā izglītojamam vai inženierim jums vajadzētu nākt klajā ar noderīgu ideju, kas var dot labumu jums vai jūsu uzņēmumam. Neuztraucieties arī tad, ja nevarat nākt klajā ar ideju, kas maina ainavu. Ir labi veidot vienkāršus dApps tikai mācību un prakses labad.

Varat arī meklēt jautājumus, ar kuriem saskaras ar blokķēdi, un, iespējams, mēģināt tos atrisināt pēc iespējas labāk. Punkts šeit ir apskatīt problēmu no sāpju punkta un pēc tam mēģināt to atrisināt.

Ja jūs mēģināt izveidot dApp savam biznesam vai atbilstoši biznesa prasībām, jums jāveic pareiza izmaksu / ieguvumu analīze. Jums arī jāizpēta ar projektu saistītie riski un jāpārbauda, ​​vai jūsu biznesa komanda var pārvaldīt lietotni ar pienācīgu rūpību.

Jebkurā gadījumā jums nevajadzētu pieņemt sasteigtu lēmumu, kuru vēlāk nožēlosiet. Tas ir tāpēc, ka blokķēdes izstrāde ir dārga, it īpaši, ja jāatrod talants, lai to attīstītu un pārvaldītu. Papildus tam ir maz izstrādātāju, kuri strādā pie blokķēdes. Īsāk sakot, jums ir jāveic atbilstoši pasākumi, kad runa ir par blokķēdes vai blokķēdes lietotņu izstrādi.

Šeit ir dApps izstrādes ceļvedis, kurā varat izprast jaunas decentralizētas lietojumprogrammas izveidošanas mehānismus.

Izvēlieties vienprātības metodi

Lai darbotos jebkura decentralizēta lietotne, ir nepieciešams pienācīgs vienprātības algoritms. Tas nodrošina darījumu apstiprināšanu un krāpšanu nevar notikt. Kā izstrādātājam vai izglītojamam jums jāizvēlas kāda no pieejamajām vienprātības metodēm, tostarp Likuma apliecinājums, Deleģētais kapitāla apliecinājums, Bizantijas pretestība pret kļūdām un tā tālāk! Izvēlei jābūt atkarīgai no jūsu pārzināšanas un lietotņu prasībām.

Platformas izvēle

Šeit jums jāizvēlas izvēlētā platforma. Skaidrs, ka mēs jau apskatījām iepriekš minēto. Jums galvenokārt ir trīs platformas, no kurām izvēlēties, tostarp Ethereum, Hyperledger Fabric un Cardano.

Ir daudz uzņēmuma bloku ķēdes ietvaru, ko varat izmantot šim nolūkam, taču mēs ejam kopā ar Ethereum.

Administratora konsole un lietotāja saskarne

Lietotnēm vajadzētu būt pienācīgai lietotāja pieredzei. Tāpēc jums vajadzētu izveidot blokķēdes lietotni ar labu lietotāja saskarni. Lietotnei jābūt arī administratora konsolei, lai jūs to varētu bez problēmām pārvaldīt.

Blockchain principu izpratne

Izstrādātājiem ir ierasts sākt blokķēdes lietotņu izstrādes apmācību, neizprotot pamatjēdzienus un principus. Tāpēc es iesaku pilnībā izmantot bloku ķēdes pamatus, pirms sākat lietotņu izstrādes apmācības. Varat arī vēlēties lasīt par tās ekosistēmu, ieskaitot blokķēdes rīkus, platformas un kriptovalūtas.

Praktizē un attīsties

Praktizē savas prasmes, cik vien vari. Tas jums dos prasmes nākotnē izstrādāt sarežģītākas lietotnes.

Kā izveidot lietotni Blockchain? Viegla pieeja

Jā, jūs to izlasījāt pareizi. Šajā sadaļā mūsu uzmanības centrā būtu izveidot vienkāršu blokķēdes lietotni, veicot tikai piecas vienkāršas darbības. Ja jūs nekad neesat izveidojis blokķēdes lietotni, šīs piecas darbības palīdzēs labāk izprast procesu.

Pieci soļi ir šādi.

  • Instalējiet atkarības un klonu krātuves.
  • Darbojas Ganache CLI
  • Līgumu sastādīšana
  • Līguma izvietošana
  • Līguma mijiedarbība

Un tas arī viss. Detalizētākas darbības varat atrast pašā ierakstā. Tā ir vienkārša balsošanas lietotne blokķēdē.

Kā izveidot lietotni Blockchain? Cietā pieeja

Labi! Tu mani pieķēri! Jūs nevēlaties vienkāršo ceļu, bet vēlaties iemācīties blokķēdi grūtāk. Neuztraucieties, jo šajā sadaļā mēs izveidosim todo sarakstu lietotni, izmantojot Ethereum viedos līgumus.

Blockchain lietojumprogrammu darbība

Pirms mēs dziļi ienirstam blockchain lietotnes izveidē, mēģināsim saprast, kā vispirms darbotos blockchain lietojumprogramma.

Lai to saprastu, apskatīsim, kā darbojas vienkārša lietotne. Jebkura lietotne, kas darbojas internetā, tiek renderēta lietotāja datorā, izmantojot pārlūkprogrammu vai īpašu lietotni Windows. Jebkurā gadījumā tas pieprasa serverim lapas vai informāciju, kas pēc tam tiek renderēta lietotāja datorā.

Tīmekļa lietojumprogrammas gadījumā viss tiek centralizēti. Tas patiešām piedāvā dažas priekšrocības; tomēr tas atstāj daudz ko vēlamu, kad runa ir par drošību. Blockchain lietotnes darbojas pilnīgi atšķirīgi. Viss ir decentralizēts, ieskaitot kodu un datus, kas tiek glabāti lietotnē.

Viedie līgumi

Galvenais šeit ir viedais līgums. Vieds līgums atvieglo pašu lietotni. Tas satur visu kodu, kas liek lietotnei darboties. Tas arī automatizē procesu un nodrošina tā darbību, kā paredzēts. Mūsu apmācībā mēs izmantosim viedos līgumus, lai rakstītu dažādas uzdevumu saraksta funkcijas.

Viedajos līgumos tiek izmantota Solidity programmēšanas valoda. Tas ir līdzīgs JavaScript. Kad viedais līgums ir uzrakstīts, tā kods kļūst nemaināms un nemaināms. Izvietojot, jūs varat mainīt kodu. Tomēr, tiklīdz lietotne būs izvietota, kodu vairs nevarēsit mainīt. Tas tiek darīts, lai nodrošinātu blokķēdes lietotņu uzticamību un drošību. Šī pieeja nozīmē arī to, ka pirms viedlīguma ieviešanas jums jābūt īpaši uzmanīgam un jāveic visas pārbaudes. Arī viedo līgumu kodi pēc būtības ir publiski.

Vai vēlaties uzzināt, kā izveidot blokķēdi, izmantojot Python? Šeit ir apmācība, kā izveidot blokķēdi ar Python, kurai varat sekot.

Padarīt mūsu Blockchain uzdevumu saraksta lietotni

Lai pārliecinātos, ka saprotat šo koncepciju, vispirms ir jāapgūst, kā darbosies Todo blockchain lietotne. Lai izveidotu lietotni, mēs izmantosim Ethereum. Mūsu lietotnē tiks izmantots viens Ethereum mezgls, un tai būs arī klienta lietojumprogramma. Mēs izmantosim Solidity, lai uzrakstītu viedo līgumu un pēc tam to izvietotu.

Kā izstrādātājam jums jāizmanto Ethereum maks – to ir viegli izgatavot.

Gatavošanās – vides veidošana

Lai izveidotu vietējo vidi, mums būs nepieciešami vairāki rīki un paketes. Ejam cauri viņiem pa vienam.

Ganache

Ganache ir Ethereum izstrādes rīks. Tas ļauj pārvaldīt, izvietot un attīstīt lietojumprogrammas, viedos līgumus un testus. Apmācībai mēs palaidīsim Windows versiju. Ja jums ir cita operētājsistēma, varat lejupielādēt arī Mac vai Linux versiju. Pēc instalēšanas jums vajadzētu būt iespējai to izmantot, izmantojot komandrindas rīku.

Node.js

Node.js ir mūsu nākamais rīks, kas jāinstalē. Lai privātā blokķēde darbotos jūsu datorā, jums jāinstalē Mezglu pakotņu pārvaldnieks.

Kad tas ir instalēts, atveriet termināli un ierakstiet zemāk esošo komandu. Ja tas darbojas, tad jums ir labi iet.

$ mezgls -v

MetaMask Ethereum maks

Tā kā mēs strādāsim pie Ethereum blokķēdes, mums ir nepieciešams maks, kas var darboties no pārlūka. Metamask ir tīmekļa pārlūkprogrammas seifs, kas ļauj sazināties ar Ethereum blokķēdi.

Trifeļu ietvars

Pēdējā programmatūra, kuru mēs instalēsim, ir Trifeļu ietvars. Tas piedāvā plašu rīku komplektu, kas ļauj efektīvi strādāt ar savu dApp. Ethereum viedā līguma izstrādei varat izmantot programmēšanas valodu Solidity.

Dažas no galvenajām trifeļu ietvara funkcijām ietver šādas

  • Pareiza viedā līgumu pārvaldība
  • Tīkla pārvaldība
  • Automatizēta testēšana
  • Attīstības konsole
  • Skriptu skrējējs
  • Izvietošana un migrācija
  • Klienta puses attīstība.

Lai instalētu, jums jāizmanto npm komanda. Vienkārši palaidiet komandu komandrindā.

$ npm instalēt -g trifeļ[email protected]

Lai instalēšana tiktu pabeigta, būs vajadzīgs zināms laiks. Ņemiet vērā arī to, ka jums jāinstalē precīza versija, lai sekotu apmācībai.

Vai vēlaties kļūt par ekspertu blokķēdes profesionāļiem? Reģistrējieties mūsu vietnē sertificēts uzņēmuma blokķēdes profesionālais kurss tagad!

Projekta izveide

Forši! Tagad mūsu izstrādes vide ir gatava lietošanai. Tagad viss, kas mums jādara, ir izveidot savu projektu. Lai to izdarītu, mums jāizveido projekta direktorijs. Darīsim to tālāk.

$ mkdir dapp-todo

$ cd dapp-todo

Kad esat mapē, jums jāuzsāk trifeļu projekts, palaižot zemāk esošo komandu.

$ trifeļu inic

Kad tas būs izdarīts, jums tiks parādīts tāds pats ziņojums kā iepriekš. Tas nozīmē, ka mape un faili ir veiksmīgi izveidoti. Tagad jūs varat atvērt mapi iecienītajā teksta redaktorā. Bet pirms to izdarāt, jums ir jāizveido pakete.json failu. Tas palīdzēs jums instalēt projektam nepieciešamās atkarības.

Jūs varat manuāli izveidot failu un pēc tam saglabāt zemāk redzamo saturu.

{

  “Nosaukums”: “dapp-todo”,

  “Versija”: “1.0.0”,

  “Apraksts”: “Ar Ethereum darbināmu uzdevumu saraksts”,

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

  “Direktoriji”: {

    “Tests”: “tests”

  },

  “Skripti”: {

    “Dev”: “lite-server”,

    “Test”: “echo” Kļūda: nav norādīts tests \ ” && sexit 1 ″

  },

  “Autors”: “[email protected]”,

  “Licence”: “ISC”,

  “DevDependencies”: {

    “Bootstrap”: “4.1.3”,

    “Chai”: “^ 4.1.2”,

    “Chai-as-solīts”: “^ 7.1.1”,

    “Chai-bignumber”: “^ 2.0.2”,

    “Lite-server”: “^ 2.3.0”,

    “Nodemon”: “^ 1.17.3”,

    “Trifele”: “5.0.2”,

    “Trifeļu līgums”: “3.0.6”

  }

}

Kad tas ir izdarīts, palaidiet šo komandu, lai instalētu atkarības.

$ npm instalēt

Izpratne par direktoriju struktūru

Direktoriju struktūra izskatīsies zemāk.

Sapratīsim katru mapi pa vienam.

  • Līgumi: Direktorijā ir visi viedie līgumi. Migrācijas.sol līgums apstrādā migrāciju uz blokķēdi.
  • Migrācijas: Migrācijas direktorijā ir migrācijas dati. No šejienes notiek migrācijas.
  • mezgla_moduļi: Tas satur visus mezglu moduļus / atkarības.
  • Pārbaude: Šajā direktorijā ir testa faili.
  • trifele-config.js: Šajā failā ir trifeļu projekta konfigurācija.

Viedā līguma izveide

Ir pienācis laiks sākt ar mūsu gudru līgumu izveidošana. Mūsu viedie līgumi tiks saglabāti līgumu mapē. Izveidosim viedo līgumu failu ar nosaukumu todo.sol

Kad tas ir izdarīts, jums tagad ir jāuzraksta kods, kā norādīts zemāk.

pragmas cietība ^ 0,5,0;

līgums Todo {

// Kods šeit

}

Pirmajā koda rindā ir norādīts, kuru Solidity versiju mēs izmantojam viedā līguma rakstīšanai. Tālāk mums jāizmanto līguma atslēgvārds un jāizveido Todo līgums. Tajā būs viedā līguma kods.

Tagad pievienosim mainīgo, lai redzētu, vai viss darbojas kā paredzēts.

pragmas cietība ^ 0,5,0;

līgums Todo {

uint Tasks = 0;

}

Šeit mēs definējam uzdevumu mainīgo, kas uzskaitīs uzdevumu skaitu, kas mums ir mūsu Todo lietotnē.

Savienojums ar Ganache

Kad mūsu viedais līgums ir pareizi izveidots Truffle, mums tagad ir jāizveido savienojums ar izveidoto Ganache privāto blokķēdi. Lai to izdarītu, daži konfigurācijas faili ir jāatjaunina. Mums arī jāizveido migrācijas skripts un tas jāpalaiž, lai mēs varētu izveidot savienojumu ar personālo blokķēdes tīklu.

Lai sāktu, mums jāatjaunina trifeļu-config.json fails. Tam vajadzētu būt pamata projekta direktorijā. Kad esat to atvēris, kopējiet un ielīmējiet šo kodu.

module.exports = {

tīkli: {

attīstība: {

resursdators: “127.0.0.1”,

osta: 7545,

network_id: “*” // tīkla ID atbilstība

}

},

solc: {

optimizētājs: {

iespējots: taisnība,

skrējieni: 200

}

}

}

Kad ir izveidots fails truffle-config.js, tagad ir pienācis laiks izveidot migrācijas skriptu, lai mūsu izveidoto viedo līgumu varētu migrēt uz personīgo blokķēdes tīklu.

Mēs iesniegsim nosaukumu kā 2_deploy_contracts.js

Migrācijas ir ļoti kritiskas mūsu Todo lietotnei. Tā kā blokķēde ir datu bāzes veids, mums tas jāmaina no viena stāvokļa uz citu. Šeit palīdz migrācijas.

Lai saistītu migrācijas failus, mums jāatjaunina jaunizveidotajam migrācijas failam pievienot šo kodu.

var Todo = artefakti.pieprasīt (“./ Todo.sol”);

module.exports = funkcija (izvietotājs) {

deployer.deploy (Todo)

}

Pirmajā koda rindiņā vienkārši tiek izveidots mainīgais, kas atsaucas uz mūsu viedo līgumu. Kad tas ir izdarīts, mēs to pēc tam izvietojam.

Kad tas ir izdarīts, tagad palaidīsim komandu migrēt.

$ Truffle migrē

Jūs varat arī palaist konsoli, izmantojot zemāk esošo komandu.

$ trifeļu konsole

Mūsu Todo saraksta lietotnes izstrāde

Tagad, kad esam veiksmīgi izpildījuši savu pirmo Ethereum viedo līgumu, ir pienācis laiks pievienot funkcijas mūsu dApp. Mūsu dApp ir vienkārša. Tajā tiks uzskaitīti uzdevumi mūsu Todo sarakstā. Mums ir jāizmanto viedais līgums, lai tas notiktu.

Darīsim to tālāk.

pragmas cietība ^ 0,5,0;

līgums Todo {

sabiedriskie uzdevumi = 0;

 

struct Uzdevums {

uint id;

virkņu saturs;

bool pabeigts;

}

}

Šeit mēs izmantojām strukturālo atslēgvārdu, lai izveidotu jaunu struktūras uzdevumu. Mēs to izmantojam, lai definētu mūsu uzdevuma struktūru, kas satur id, saturu un pabeigto Būla vērtību.

Tālāk mums tagad ir jāattēlo mūsu uzdevumu struktūra un jāpadara tā publiski pieejama, lai tai varētu piekļūt ar blokķēdi. Lai to izdarītu, mums jāpievieno šāda koda rinda.

Viedā līguma kods tagad izskatīsies šādi.

pragmas cietība ^ 0,5,0;

līgums Todo {

sabiedriskie uzdevumi = 0;

struct Uzdevums {

uint id;

virkņu saturs;

bool pabeigts;

}

kartēšana (uint => Uzdevums) sabiedriskie uzdevumi;

}

Visbeidzot, tagad mums ir jāizveido funkcija, kas apstrādā uzdevumus.

funkcija createTask (virknes atmiņa _saturs) public {

taskCount ++;

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

}

Funkcija lielākoties ir pašsaprotama. Mēs izveidojām funkciju tā, lai tā varētu saskaitīt Todo dApp uzskaitīto uzdevumu skaitu.

Visbeidzot, mums ir jāizveido konstruktors, lai inicializētu Todo klasi.

konstruktors () public {

createTask (“Šis ir mūsu pirmais uzdevums”)

}

Tagad failam todo.sol vajadzētu izskatīties šādi.

pragmas cietība ^ 0,5,0;

līgums Todo {

sabiedriskie uzdevumi = 0;

struct Uzdevums {

uint id;

virkņu saturs;

bool pabeigts;

}

konstruktors () public {

createTask (“Šis ir mūsu pirmais uzdevums”)

}

kartēšana (uint => Uzdevums) sabiedriskie uzdevumi;

funkcija createTask (virknes atmiņa _saturs) public {

taskCount ++;

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

}

}

Izveidot uzdevumus

Mēs varam izveidot uzdevumus arī savā Todo dApp. Lai to izdarītu, mums jāizveido trigeris, kad tiek izveidots jauns uzdevums. Mūsu pieeja ir izveidot jaunu notikumu TaskCreated un pēc tam pievienot to mūsu esošajai funkcijai createTask ().

notikums TaskCreated (

uint id;

virknes saturs,

Bool ir pabeigts

);

Tagad funkcijai createTask () pievienojiet šādu rindu.

emit TaskCreated (taskCount, _content, false);

Uzdevumu izpilde

Pabeigtos uzdevumus var pievienot arī, izmantojot notikumu. Todo līgumam jāpievieno šāds notikums.

notikums TaskCompleted (

uint id,

Bool ir pabeigts

);

Lai tas darbotos, jums jāpievieno arī jauna funkcija.

function toggleCompleted (uint _id) public {

Uzdevuma atmiņa _task = uzdevumi [_id];

_task.completed =! _task.completed;

uzdevumi [_id] = _ uzdevums;

emitēt TaskCompleted (_id, _task.completed)

}

Apsveicu! Jūs esat izveidojis savu pirmo Todo saraksta dApp vietnē Ethereum blockchain.

Beigu piezīme

Tas arī noved mūs pie tā, kā izveidot blokķēdes lietotnes apmācību. Tas ir veids, kā jūs no sākuma izveidojat lietojumprogrammu build blockchain.

No turienes jums ir pienācīgi jāpārbauda līgums, pirms to beidzot migrējat uz blokķēdi. Varat arī izveidot lietotnes priekšgalu un izmēģināt to. Ja tas jūs neinteresē, varat aktivizēt konsoli un piekļūt mainīgajiem un funkcijai, lai pārbaudītu lietas!

Bet, ja jūs joprojām nezināt par blokķēdes sekām, mēs aicinām jūs sākt mūsu bezmaksas blokķēdes kursu, lai uzzinātu vairāk par to. Nemācoties un nesaprotot, kā tas darbojas, jums būs grūti saprast programmēšanas koncepciju.

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