Ieškote vadovo, kuriame galėtumėte sužinoti, kaip sukurti „blockchain“ programą? Čia yra vadovas, kuris gali padėti jums sukurti „blockchain“ programą nuo nulio.

Šiame straipsnyje mes sukursime savo „blockchain“ programą. Neseniai mes aptarėme, kaip sukurti „blockchain“. Tai buvo išsamus vadovas kuriant blokų grandinę „Python“ programavimo kalba. Pagrindinis pamokos tikslas yra sužinoti apie „blockchain“ technologiją ir jos vidinį veikimą.

Tačiau ši pamoka yra apie tai, kaip sukurti programą naudojant „blockchain“. Decentralizuota programa (dApp) galės pasinaudoti „blockchain“ savybėmis.

Sukursime paprastą „blockchain“ programą naudodami „Ethereum“. „Ethereum“ yra antrosios kartos „blockchain“ technologija, teikianti pažangias funkcijas, tokias kaip išmaniosios sutartys, „Proof-of-Stake“ ir, svarbiausia, galimybę kurti decentralizuotas programas („dApps“)..

Taigi, pradėkime nuo pamokos „Kaip sukurti„ blockchain “programą“. Ši pamoka taip pat skirta tiems, kurie nori sukurti paprastą „blockchain“ programą. Norėdami sukurti paprastą „blockchain“ programą, mes naudosime „Ethereum“ tinklą.

Bet, prieš pradėdami, susitvarkykime savo pagrindus.

Registruokis dabar: Įmonių „Blockchains“ pagrindų kursai

Kas yra „dApp“?

Pirmasis žingsnis, kurį ketiname žengti, kaip sukurti „blockchain“ programos pamoką, yra pirmiausia išmokti decentralizuotos programos („dApp“) koncepciją.

„dApp“ reiškia decentralizuotą taikymą. Tai yra kitokio tipo programa, siūlanti pagrindines savybes, įskaitant galimybę veikti savarankiškai. Programa taip pat saugo duomenis kriptografiškai, kad niekas neteisėtas subjektas negalėtų prie jų prisijungti be tinkamo leidimo.

Dėl visų šių savybių decentralizuotos programos yra labai naudingos dabartinėje įmonės aplinkoje. Programos taip pat gali naudoti žetonus, kuriuos galima naudoti norint pasinaudoti programos siūlomomis funkcijomis. Be to, programa taip pat gali platinti žetonus, kad paskatintų mazgus, kurie dalyvauja dApp funkcionalumui užtikrinti.

Platformos pasirinkimas – kodėl renkamės „Ethereum“ platformą

Šiuo metu yra daugybė platformų, kurias galite pasirinkti kurdami „dApp“. Jie apima populiarias „blockchain“ platformas, tokias kaip „Ethereum“, „Hyperledger Fabric“ ir „Cardano“. Iš visų šių dalykų „Ethereum“ yra geriausias pasirinkimas dėl aktyvios bendruomenės, įrankių ir mokymo programų, kurias galima rasti internete.

Kita priežastis, kodėl mes renkamės „Ethereum“, yra ta, kad ji naudoja „Solidity“. Tvirtumas yra aiškiai skirtas diegti ir kurti „dApps“ ir išmaniąsias sutartis. Tai lengva išmokti ir suteikia lankstumo eksperimentuoti.

Praktinis decentralizuoto „Blockchain“ programos kūrimo vadovas

Kaip sukurti „blockchain“ programą

Prieš eidami gilyn į kodą, norėčiau išvardyti veiksmus, kurie apibūdina „blockchain“ programos kūrimo procesą. Peržiūrėkime tai žemiau.

Raskite idėją

Pirmas žingsnis – surasti idėją, kurioje būtų galima dirbti. Decentralizavimas yra šauni nauja koncepcija, galinti turėti daug naudos atvejų. Kaip mokinys ar inžinierius, turėtumėte sugalvoti naudingą idėją, kuri gali būti naudinga jums arba jūsų įmonei. Be to, nesijaudinkite, jei negalite sugalvoti kraštovaizdį keičiančios idėjos. Gerai yra kurti paprastus „dApps“ vien tam, kad išmoktumėte ir praktikuotumėte.

Taip pat galite ieškoti problemų, su kuriomis susiduriate naudodamiesi „blockchain“, ir galbūt bandyti jas išspręsti iš visų jėgų. Čia esmė yra pažvelgti į problemą iš skausmo taško ir pabandyti ją išspręsti.

Jei bandote sukurti „dApp“ savo verslui arba atsižvelgdami į verslo reikalavimus, turite atlikti tinkamą sąnaudų ir naudos analizę. Taip pat turite ištirti su projektu susijusią riziką ir sužinoti, ar jūsų verslo komanda gali tinkamai valdyti programą.

Bet kokiomis aplinkybėmis neturėtumėte priimti jokio skuboto sprendimo, dėl kurio vėliau gailėsitės. Taip yra todėl, kad „blockchain“ kūrimas yra brangus, ypač kai reikia rasti talentą jį plėtoti ir valdyti. Be to, trūksta kūrėjų, kurie dirba su „blockchain“. Trumpai tariant, turėtumėte imtis tinkamų veiksmų, kai reikia kurti „blockchain“ ar „blockchain“ programas.

Čia yra „dApps“ kūrimo vadovas, kuriame galite suprasti naujos decentralizuotos programos kūrimo mechanizmus.

Pasirinkite konsensuso metodą

Bet kuriai decentralizuotai programai veikti reikia tinkamo sutarimo algoritmo. Tai užtikrina sandorių patvirtinimą ir jokių sukčiavimų. Kaip kūrėjas ar besimokantysis, turite pasirinkti bet kurį iš galimų bendro sutarimo metodų, įskaitant akcijų paketo įrodymą, deleguotą akcijų paketo įrodymą, bizantišką kaltės toleranciją ir pan.! Pasirinkimas turėtų priklausyti nuo jūsų žinios ir programos reikalavimų.

Platformos pasirinkimas

Čia turite pasirinkti pasirinktą platformą. Aišku, mes jau aptarėme aukščiau pateiktą klausimą. Jūs daugiausia galite rinktis iš trijų platformų, įskaitant „Ethereum“, „Hyperledger Fabric“ ir „Cardano“.

Yra daug įmonių „blockchain“ sistemų, kurias galite naudoti tam, bet mes ketiname eiti su „Ethereum“.

„Admin Console“ ir vartotojo sąsaja

Programos turėtų turėti tinkamą vartotojo patirtį. Štai kodėl turėtumėte sukurti „blockchain“ programą su gera vartotojo sąsaja. Programoje taip pat turėtų būti administratoriaus pultas, kad galėtumėte ją valdyti be problemų.

Suprasti „Blockchain“ principus

Kūrėjai dažnai pradeda „blockchain“ programos kūrimo pamoką, nesuprasdami pagrindinių koncepcijų ir principų. Štai kodėl prieš pradedant programėlių kūrimo pamokas, aš visiškai rekomenduoju „blockchain“ pagrindus. Taip pat galite skaityti apie jos ekosistemą, įskaitant „blockchain“ įrankius, platformas ir kriptovaliutas.

Praktikuokis ir tobulėk

Praktikuokite savo įgūdžius tiek, kiek galite. Tai suteiks jums įgūdžių ateityje kurti sudėtingesnes programas.

Kaip sukurti „Blockchain“ programą? Lengvas požiūris

Taip, jūs perskaitėte teisingai. Šiame skyriuje mūsų tikslas būtų sukurti paprastą „blockchain“ programą, atliekant vos penkis paprastus veiksmus. Jei niekada nesukūrėte „blockchain“ programos, šie penki žingsniai padės geriau suprasti procesą.

Penki žingsniai yra tokie.

  • Įdiekite priklausomybes ir klonų saugyklas.
  • Veikia Ganache CLI
  • Sutarčių sudarymas
  • Sutarties diegimas
  • Sutarties sąveika

Ir viskas. Išsamesnius veiksmus rasite pačiame įraše. Tai paprasta balsavimo programa „blockchain“.

Kaip sukurti „Blockchain“ programą? Sunkus požiūris

Gerai! Pričiupai mane! Jūs nenorite paprasto būdo, bet norite išmokti „blockchain“. Nesijaudinkite, nes šiame skyriuje, naudodami „Ethereum“ išmaniąsias sutartis, sukursime „Todo list“ programą.

„Blockchain“ programų veikimas

Prieš gilindamiesi į „blockchain“ programos kūrimą, pabandykime suprasti, kaip „blockchain“ programa veiktų visų pirma.

Norėdami tai suprasti, pažvelkime, kaip veikia paprasta programa. Bet kuri programa, veikianti internete, pateikiama vartotojo kompiuteryje naudojant naršyklę arba specialią programą „Windows“. Bet kokiu atveju ji prašo serverio pateikti puslapius ar informaciją, kuri tada pateikiama vartotojo kompiuteryje.

Interneto programos atveju viskas yra centralizuota. Tai teikia tam tikrų pranašumų; tačiau tai palieka daug ko norėti, kai kalbama apie saugumą. „Blockchain“ programos veikia visiškai kitaip. Viskas yra decentralizuota, įskaitant kodą ir programoje saugomus duomenis.

Išmaniosios sutartys

Svarbiausia čia yra protinga sutartis. Protinga sutartis palengvina pačią programą. Jame yra visas kodas, dėl kurio programa veikia. Tai taip pat automatizuoja procesą ir užtikrina, kad jis veiks pagal paskirtį. Savo pamokoje naudosime išmaniąsias sutartis, kad parašytume skirtingas užduočių sąrašo funkcijas.

Protingose ​​sutartyse naudojama „Solidity“ programavimo kalba. Tai panašu į „JavaScript“. Parašius sumanią sutartį, jos kodas tampa nepakeičiamas ir nekintamas. Diegdami galite laisvai pakeisti kodą. Tačiau, įdiegę programą, negalėsite pakeisti kodo. Tai daroma siekiant užtikrinti „blockchain“ programų patikimumą ir saugumą. Šis metodas taip pat reiškia, kad prieš diegdami išmaniąją sutartį turite būti ypač atsargūs ir atlikti visus bandymus. Be to, išmaniųjų sutarčių kodai yra viešo pobūdžio.

Norite sužinoti, kaip sukurti „blockchain“ naudojant „Python“? Čia yra „blockchain“ su „Python“ kūrimo pamoka, kurios galite laikytis.

„Blockchain“ darbų sąrašo programos kūrimas

Norėdami įsitikinti, kad suprantate sąvoką, pirmiausia turite sužinoti, kaip veiks „Todo blockchain“ programa. Programai kurti naudosime „Ethereum“. Mūsų programa naudos vieną „Ethereum“ mazgą ir turės kliento programą. Mes ketiname naudoti „Solidity“, norėdami parašyti išmaniąją sutartį ir tada ją įdiegti.

Kaip kūrėjas, turite naudoti „Ethereum“ piniginę, kurią lengva pasidaryti.

Pasiruošimas – aplinkos kūrimas

Norėdami sukurti vietinę aplinką, mums reikės kelių įrankių ir paketų. Peržengsime juos po vieną.

Ganache

Ganache yra „Ethereum“ kūrimo priemonė. Tai leidžia valdyti, diegti ir plėtoti programas, pažangias sutartis ir testus. Pamokai paleisime „Windows“ versiją. Jei turite kitą operacinę sistemą, taip pat galite atsisiųsti „Mac“ arba „Linux“ versiją. Įdiegę turėtumėte sugebėti jį naudoti naudodami komandų eilutės įrankį.

Node.js

„Node.js“ yra kitas mūsų įrankis, kurį reikia įdiegti. Norėdami, kad privatus „blockchain“ veiktų jūsų kompiuteryje, turite įdiegti „Node Package Manager“.

Įdiegę atidarykite terminalą ir įveskite žemiau esančią komandą. Jei jis veikia, tada jums gera eiti.

$ mazgas -v

„MetaMask Ethereum“ piniginė

Kadangi ketiname dirbti su „Ethereum“ blokų grandine, mums reikia piniginės, kuri galėtų veikti iš naršyklės. Metamask yra interneto naršyklės piniginė, leidžianti bendrauti su „Ethereum“ blokų grandine.

Trumų rėmai

Paskutinė programinė įranga, kurią ketiname įdiegti, yra Trumų rėmai. Jis siūlo platų įrankių rinkinį, kuris leidžia efektyviai dirbti su „dApp“. Norėdami sukurti „Ethereum“ išmaniąją sutartį, galite naudoti programavimo kalbą „Solidity“.

Kai kurios pagrindinės „Truffle Framework“ funkcijos yra šios

  • Tinkamas protingas sutarčių valdymas
  • Tinklų valdymas
  • Automatizuotas testavimas
  • „Development Console“
  • Scenarijaus bėgikas
  • Diegimas ir migracija
  • Kliento pusės plėtra.

Norėdami įdiegti, turite naudoti npm komanda. Tiesiog paleiskite šią komandą komandinėje eilutėje.

$ npm įdiegti -g [apsaugotas el. paštu]

Kaip sukurti „blockchain“ programą

Tai užtruks, kol diegimas bus baigtas. Be to, atkreipkite dėmesį, kad norėdami sekti mokymo programą turite įdiegti tikslią versiją.

Norite tapti „blockchain“ profesionalu? Dabar užsirašykite į mūsų sertifikuotą įmonės „blockchain“ profesionalų kursą!

Projekto rengimas

Saunus! Dabar turime parengtą naudoti savo kūrimo aplinką. Dabar mums tereikia sukurti savo projektą. Norėdami tai padaryti, turime sukurti projekto katalogą. Padarykime tai žemiau.

$ mkdir dapp-todo

$ cd dapp-todo

Sukurkite paprastą „blockchain“ programą

Kai būsite aplanke, turėsite inicijuoti triufelių projektą vykdydami toliau pateiktą komandą.

$ truffle init

Sukurkite programą naudodami „blockchain“

Kai tai padarysite, jums bus parodytas toks pranešimas kaip aukščiau. Tai reiškia, kad aplankas ir failai sėkmingai sukurti. Dabar galite atidaryti aplanką savo mėgstamiausiame teksto rengyklėje. Bet prieš tai atlikdami turite sukurti paketas.json failą. Tai padės įdiegti projektui reikalingas priklausomybes.

Galite rankiniu būdu sukurti failą ir tada išsaugoti žemiau rodomą turinį.

{

„Vardas“: „dapp-todo“,

„Versija“: „1.0.0“,

„Description“: „Ethereum varomas darbų sąrašas“,

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

„Katalogai“: {

„Testas“: „testas“

},

„Scenarijai“: {

„Dev“: „supaprastintas serveris“,

„Testas“: „aidas“ Klaida: nenurodytas bandymas \ “ && „sexit 1“

},

„Autorius“: „[apsaugotas el. paštu]“,

„Licencija“: „ISC“,

„DevDependencies“: {

„Bootstrap“: „4.1.3“,

„Chai“: „^ 4.1.2“,

„Čai-kaip žadėjau“: „^ 7.1.1“,

„Chai-bignumber“: „^ 2.0.2“,

„Lite-server“: „^ 2.3.0“,

„Nodemon“: „^ 1.17.3“,

„Triufelis“: „5.0.2“,

„Triufelių sutartis“: „3.0.6“

}

}

Kai atliksite, paleiskite šią komandą, kad įdiegtumėte priklausomybes.

$ npm įdiegti

Suprasti katalogo struktūrą

Katalogų struktūra atrodys žemiau.

Supraskime kiekvieną aplanką po vieną.

  • Sutartys: Kataloge yra visos išmaniosios sutartys. „Migrations.sol“ sutartis tvarko migracijas į „blockchain“.
  • Migracijos: Perkėlimo kataloge yra perkėlimo duomenys. Būtent iš čia vyksta migracijos.
  • mazgas_moduliai: Jame yra visi mazgų moduliai / priklausomybės.
  • Testas: Šiame kataloge yra bandomieji failai.
  • triufelis-config.js: Šiame faile yra triufelių projekto konfigūracija.

Išmaniosios sutarties kūrimas

Dabar atėjo laikas pradėti nuo protingo sutarčių kūrimo. Mūsų išmaniosios sutartys bus saugomos sutarčių aplanke. Sukurkime išmanųjį sutarties failą pavadinimu todo.sol

Kai atliksite, dabar turėsite parašyti kodą taip, kaip nurodyta toliau.

pragmos tvirtumas ^ 0,5,0;

sudaryti sutartį su Todo {

// Kodas čia

}

Pirmoje kodo eilutėje nurodoma, kurią „Solidity“ versiją naudojame išmaniajai sutarčiai parašyti. Tada turime naudoti sutarties raktinį žodį ir sukurti „Todo“ sutartį. Čia bus išmaniosios sutarties kodas.

Dabar pridėkime kintamąjį, kad sužinotume, ar viskas veikia taip, kaip numatyta.

pragmos tvirtumas ^ 0,5,0;

sudaryti sutartį su Todo {

uint Užduotys = 0;

}

Čia mes apibrėžiame užduočių kintamąjį, kuris suskaičiuos užduočių, kurias turime „Todo“ programoje, skaičių.

Prisijungiama prie „Ganache“

Turėdami teisingą „Truffle“ sąranką, dabar turime prisijungti prie savo sukurto „Ganache“ privataus blokų. Norėdami tai padaryti, reikia atnaujinti kai kuriuos konfigūracijos failus. Taip pat turime sukurti ir paleisti perkėlimo scenarijų, kad galėtume prisijungti prie asmeninio „blockchain“ tinklo.

Norėdami pradėti, turime atnaujinti failą truffle-config.json. Tai turėtų būti pagrindiniame projekto kataloge. Kai atidarysite, nukopijuokite ir įklijuokite šį kodą.

module.exports = {

tinklai: {

plėtra: {

pagrindinis kompiuteris: „127.0.0.1“,

uostas: 7545,

network_id: „*“ // Tinklo ID sutapimas

}

},

solc: {

optimizatorius: {

įjungta: tiesa,

eina: 200

}

}

}

Kai sukurtas failas „truffle-config.js“, atėjo laikas sukurti migracijos scenarijų, kad mūsų sukurtą išmaniąją sutartį būtų galima perkelti į asmeninį „blockchain“ tinklą.

Pavadinsime failą kaip 2_deploy_contracts.js

Perkėlimai yra labai svarbūs mūsų „Todo“ programai. Kadangi „blockchain“ yra tam tikros rūšies duomenų bazė, turime ją pakeisti iš vienos būsenos į kitą. Čia padeda migracijos.

Norėdami susieti perkėlimo failus, turime atnaujinti pridėtą šį kodą prie naujai sukurto perkėlimo failo.

var Todo = artefaktai. reikalauti („./ Todo.sol“);

module.exports = funkcija (diegimo priemonė) {

deployer.deploy („Todo“)

}

Pirmoji kodo eilutė tiesiog sukuria kintamąjį, kuris nurodo mūsų sumanią sutartį. Kai tai bus padaryta, tada mes ją panaudosime.

Kai tai bus padaryta, dabar paleiskime komandą migrate.

$ Trumai migruoja

Taip pat galite paleisti konsolę naudodami toliau pateiktą komandą.

trumų konsolė $

„Todo List“ programos kūrimas

Dabar, kai sėkmingai įvykdėme pirmąją „Ethereum“ išmaniąją sutartį, atėjo laikas mums pridėti funkcijas prie „dApp“. Mūsų „dApp“ yra paprasta. Jame bus išvardytos užduotys mūsų „Todo“ sąraše. Mes turime naudoti pažangią sutartį, kad tai įvyktų.

Padarykime tai žemiau.

pragmos tvirtumas ^ 0,5,0;

sudaryti sutartį su Todo {

uint viešosios užduotys = 0;

struktūros užduotis {

uint id;

styginių turinys;

Bool baigtas;

}

}

Čia mes panaudojome struktūros raktinį žodį, kad sukurtume naują struktūros užduotį. Mes naudojame ją užduoties struktūrai apibrėžti, kurioje yra ID, turinys ir baigta loginė vertė.

Tada dabar turime susikurti savo užduočių struktūrą ir ją paviešinti, kad blokinė grandinė galėtų ją pasiekti. Norėdami tai padaryti, turime pridėti šią kodo eilutę.

Išmaniosios sutarties kodas dabar atrodys taip, kaip nurodyta toliau.

pragmos tvirtumas ^ 0,5,0;

sudaryti sutartį su Todo {

uint viešosios užduotys = 0;

struktūros užduotis {

uint id;

styginių turinys;

Bool baigtas;

}

kartografavimas (uint => Užduotis) viešosios užduotys;

}

Galiausiai, dabar turime sukurti funkciją, kuri valdo užduotis.

funkcija createTask (string memory _content) public {

taskCount ++;

task [taskCount] = Užduotis (taskCount, _content, false)

}

Funkcija dažniausiai savaime suprantama. Funkciją sukūrėme taip, kad ji galėtų suskaičiuoti užduočių, nurodytų „Todo dApp“, skaičių.

Galiausiai, norėdami inicijuoti „Todo“ klasę, turime sukurti konstruktorių.

konstruktorius () public {

createTask („Tai yra mūsų pirmoji užduotis“)

}

Mūsų failas todo.sol dabar turėtų atrodyti taip, kaip nurodyta toliau.

pragmos tvirtumas ^ 0,5,0;

sudaryti sutartį su Todo {

uint viešosios užduotys = 0;

struktūros užduotis {

uint id;

styginių turinys;

Bool baigtas;

}

konstruktorius () public {

createTask („Tai yra mūsų pirmoji užduotis“)

}

kartografavimas (uint => Užduotis) viešosios užduotys;

funkcija createTask (string memory _content) public {

taskCount ++;

task [taskCount] = Užduotis (taskCount, _content, false)

}

}

Kurkite užduotis

Mes taip pat galime sukurti užduotis savo „Todo dApp“. Norėdami tai padaryti, turime sukurti trigerį, kai bus sukurta nauja užduotis. Mūsų požiūris yra sukurti naują įvykį „TaskCreated“ ir pridėti jį prie esamos „createTask“) funkcijos.

įvykis „TaskCreated“ (

uint id;

styginių turinys,

Bool baigtas

);

Dabar pridėkite šią eilutę prie funkcijos createTask ().

skleisti „TaskCreated“ (taskCount, _content, false);

Užduočių atlikimas

Atliktas užduotis taip pat galima pridėti naudojant įvykį. Prie „Todo“ sutarties turite pridėti šį įvykį.

įvykis TaskCompleted (

uint id,

Bool baigtas

);

Kad jis veiktų, taip pat turite pridėti naują funkciją.

funkcija toggleCompleted (uint _id) public {

Užduoties atmintis _task = task [_id];

_užduotis.completed =! _užduotis.completed;

užduotys [_id] = _užduotis;

skleisti „TaskCompleted“ (_id, _task.completed)

}

Sveikinimai! „Ethereum blockchain“ sukūrėte savo pirmąjį „Todo“ sąrašo „dApp“.

Pabaigos pastaba

Tai taip pat veda mus į pabaigą, kaip sukurti „blockchain“ programos pamoką. Taip kuriate „blockchain“ kūrimo programą nuo nulio.

Iš ten turite tinkamai išbandyti sutartį, kol galiausiai ją perkelsite į „blockchain“. Taip pat galite sukurti programos priekinę dalį ir ją išbandyti. Jei jums tai neįdomu, galite suaktyvinti konsolę ir pasiekti kintamuosius bei funkciją, kad išbandytumėte dalykus!

Bet jei jūs vis dar nežinote apie „blockchain“ padarinius, mes raginame jus pradėti nemokamą „blockchain“ kursą, kad sužinotumėte daugiau apie tai. Nesimokant ir nesuprantant, kaip tai veikia, suvokti programavimo koncepciją jums bus tikrai sunku.

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