Hogyan készítsünk egy Blockchain alkalmazást

Útmutatót keres, ahol megtanulhatja, hogyan építsen fel egy blockchain alkalmazást? Ez egy útmutató, amely segíthet a blockchain alkalmazás elkészítésében a semmiből.

Ebben a cikkben felépítjük a blockchain alkalmazást. Nemrégiben kitértünk a blokklánc felépítésének módjára. Ez egy teljes útmutató egy blokklánc felépítéséhez a Python programozási nyelven. A bemutató fő célja a blockchain technológia és annak belső működésének megismerése.

Ez az oktatóanyag azonban arról szól, hogyan lehet egy alkalmazást blokklánc segítségével felépíteni. A decentralizált alkalmazás (dApp) képes lesz kihasználni a blokklánc tulajdonságait.

Az Ethereum segítségével felépítünk egy egyszerű blockchain alkalmazást. Az Ethereum egy második generációs blokklánc-technológia, amely olyan fejlett funkciókat kínál, mint az intelligens szerződések, a tétbiztosítás, és ami a legfontosabb, a decentralizált alkalmazások (dApps) létrehozásának képességét..

Tehát kezdjük a “Hogyan készítsünk egy blokklánc-alkalmazást” oktatóanyagunkkal. Ez a bemutató azoknak is szól, akik egyszerű blokklánc-alkalmazást szeretnének létrehozni. Egy egyszerű blockchain alkalmazás felépítéséhez az Ethereum hálózatot fogjuk használni.

De mielőtt nekilátnánk, tegyük rendbe az alapjainkat.

Jelentkezzen most: Enterprise Blockchains Fundamentals tanfolyam

Mi a dApp?

Az első lépés, amelyet a blockchain alkalmazás oktatóanyagának elkészítésében fogunk megtenni, először a decentralizált alkalmazás (dApp) fogalmának elsajátítása..

A dApp a decentralizált alkalmazást jelenti. Ez egy másik típusú alkalmazás, amely főbb jellemzőket kínál, beleértve az autonóm működés lehetőségét. Az alkalmazás kriptográfiai úton is tárolja az adatokat, így senki illetéktelen entitás nem férhet hozzá megfelelő engedély nélkül.

Mindezen jellemzők miatt a decentralizált alkalmazások nagyon hasznosak a jelenlegi vállalati környezetben. Az alkalmazások képesek olyan tokenek használatára is, amelyek felhasználhatók az alkalmazás által kínált funkciók kihasználására. Ezenkívül az alkalmazás tokent is terjeszthet, hogy ösztönözze azokat a csomópontokat, amelyek részt vesznek a dApp működőképessé tételében.

Platform kiválasztása – Miért választjuk az Ethereum platformot

Jelenleg számos platform közül választhat a dApp elkészítéséhez. Ide tartoznak olyan népszerű blockchain platformok, mint az Ethereum, a Hyperledger Fabric és a Cardano. Mindezek közül az Ethereum tűnik a legjobb választásnak az aktív közösség, az eszközök és az online elérhető oktatóanyagok miatt.

Az Ethereum választásának másik oka az, hogy a Solidity-t használja. A szilárdság kifejezetten a dApps és az intelligens szerződések telepítésére és létrehozására irányul. Könnyen megtanulható, és rugalmasságot biztosít a kísérletezéshez.


Gyakorlati útmutató a decentralizált Blockchain alkalmazás felépítéséhez

Mielőtt belemerülnénk a kód mélyére, szeretném felsorolni azokat a lépéseket, amelyek felvázolják a blockchain alkalmazás felépítésének folyamatát. Menjünk át alább.

Találj egy ötletet

Az első lépés egy ötlet megtalálása, amin dolgozhat. A decentralizáció egy klassz új koncepció, amelynek számos felhasználási esete lehet. Tanulóként vagy mérnökként hasznos ötlettel kell előállnia, amely előnyös lehet Önnek vagy a vállalatának. Ne aggódjon, ha nem jut eszébe olyan ötlet, amely megváltoztatja a tájat. Nem baj, ha egyszerű dApps-okat építünk csak a tanulás és a gyakorlat érdekében.

Kereshet olyan kérdéseket is, amelyekkel a blockchain-nal szembesül, és megpróbálhatja megoldani a legnagyobb erőfeszítéssel. A lényeg itt az, hogy a problémát a fájdalom pontjából nézzük meg, majd megpróbáljuk megoldani.

Ha egy dApp-ot próbál felépíteni a vállalkozása számára, vagy az üzleti követelményeknek megfelelően, akkor megfelelő költség-haszon elemzést kell végeznie. Meg kell vizsgálnia a projekthez kapcsolódó kockázatokat is, és meg kell vizsgálnia, hogy üzleti csapata kellő gondossággal képes-e kezelni az alkalmazást.

Semmilyen körülmények között nem szabad olyan elhamarkodott döntést hozni, amelyet később megbánna. Ennek oka, hogy a blokklánc fejlesztése költséges, különösen akkor, ha a tehetség megtalálására van szükség annak fejlesztésére és kezelésére. Ráadásul kevés a fejlesztők, akik a blokkláncon dolgoznak. Röviden, meg kell tennie a megfelelő lépéseket, amikor a blockchain vagy a blockchain alkalmazás fejlesztéséről van szó.

Ez egy útmutató a dApps fejlesztéséhez, amely megérti az új decentralizált alkalmazás létrehozásának mechanizmusait.

Válasszon konszenzusos módszert

Bármely decentralizált alkalmazás működéséhez megfelelő konszenzusos algoritmus szükséges. Biztosítja a tranzakciók érvényesítését, és nem történhetnek csalások. Fejlesztőként vagy tanulóként a rendelkezésre álló konszenzusos módszerek közül kell választania, ideértve a tét igazolását, a tét delegált igazolását, a bizánci hibatűrést és így tovább! A választásnak ismeretségi és alkalmazási követelményektől kell függenie.

Platform kiválasztása

Itt választania kell egy választott platformot. Nyilvánvaló, hogy a fenti pontra már kitértünk. Elsősorban három platform közül választhat, köztük az Ethereum, a Hyperledger Fabric és a Cardano.

Sok vállalati blokklánc keretrendszer használható erre, de az Ethereummal fogunk menni.

Felügyeleti konzol és felhasználói felület

Az alkalmazásoknak megfelelő felhasználói tapasztalattal kell rendelkezniük. Éppen ezért meg kell építenie egy jó felhasználói felülettel rendelkező blockchain alkalmazást. Az alkalmazásnak rendelkeznie kell adminisztrációs konzollal is, hogy gond nélkül kezelhesse.

A Blockchain alapelveinek megértése

Gyakran előfordul, hogy a fejlesztők úgy indítják el a blockchain alkalmazásfejlesztési oktatóanyagot, hogy nem értik a mögöttes fogalmakat és elveket. Ezért ajánlom teljesen a blokklánc alapjait, mielőtt elkezdem az alkalmazásfejlesztési oktatóanyagokat. Érdemes elolvasni ökoszisztémájáról, beleértve a blockchain eszközöket, platformokat és kriptovalutákat.

Gyakorolj és fejlődj

Gyakorold a képességeidet, amennyire csak tudsz. Ez megadja a készségeket a jövőben összetettebb alkalmazások fejlesztésére.

Hogyan készítsünk egy Blockchain alkalmazást? Az egyszerű megközelítés

Igen, jól olvastad. Ebben a szakaszban arra összpontosítanánk, hogy egy egyszerű blokklánc-alkalmazást hozzunk létre, mindössze öt egyszerű lépésben. Ha még soha nem épített blokklánc-alkalmazást, akkor ez az öt lépés segít jobban megérteni a folyamatot.

Az öt lépés a következő.

  • Telepítse a függőségeket és a klóntárakat.
  • Ganache CLI futtatása
  • Szerződés összeállítása
  • Szerződéses telepítés
  • A szerződés kölcsönhatása

És ennyi. Részletesebb lépéseket magán a bejegyzésen talál. Ez egy egyszerű szavazási alkalmazás a blockchain-on.

Hogyan készítsünk egy Blockchain alkalmazást? A kemény megközelítés

Rendben! Megfogtál! Nem a könnyű utat akarja, hanem a blokkláncot akarja megtanulni. Ne aggódjon, mivel ebben a szakaszban egy Todo lista alkalmazást fogunk létrehozni az Ethereum intelligens szerződéseivel.

A Blockchain alkalmazás működése

Mielőtt elmélyülnénk egy blockchain alkalmazás létrehozásában, próbáljuk megérteni, hogyan működne egy blockchain alkalmazás elsősorban.

Ennek megértéséhez vessünk egy pillantást egy egyszerű alkalmazás működésére. Bármely, az interneten működő alkalmazás a felhasználó számítógépén jelenik meg egy böngésző vagy egy dedikált alkalmazás segítségével a Windows rendszeren. Mindenesetre a szervertől kéri az oldalakat vagy információkat, amelyeket aztán a felhasználó számítógépén renderelnek.

A webalkalmazás esetében minden központosított. Ez bizonyos előnyökkel jár; azonban a biztonság terén sok kívánnivalót hagy maga után. A Blockchain alkalmazások teljesen másképp működnek. Minden decentralizált, beleértve a kódot és az alkalmazásban tárolt adatokat.

Intelligens szerződések

A kulcs itt az okos szerződés. Az intelligens szerződés megkönnyíti magát az alkalmazást. Ez tartalmazza az összes kódot, amely az alkalmazást működésbe hozza. Automatizálja a folyamatot és biztosítja, hogy a rendeltetésszerűen működjön. Oktatóanyagunkban intelligens szerződésekkel fogjuk megírni a tennivalók listájának különböző funkcióit.

Az intelligens szerződések a Solidity programozási nyelvet használják. Hasonló a JavaScript-hez. Az okos szerződés megírása után annak kódja megváltoztathatatlanná és megváltoztathatatlanná válik. Telepítés közben szabadon megváltoztathatja a kódot. Az alkalmazás telepítése után azonban nem tudja megváltoztatni a kódot. Ez azért történik, hogy megbízhatóságot és biztonságot nyújtson a blockchain alkalmazásokhoz. A megközelítés azt is jelenti, hogy különösen óvatosnak kell lennie, és minden tesztet el kell végeznie az intelligens szerződés telepítése előtt. Az intelligens szerződés kódjai nyilvánosak is.

Meg akarja tanulni, hogyan építsen blokkláncot Python használatával? Itt van egy útmutatás egy blokklánc felépítéséhez a Python segítségével, amelyet követhet.

A Blockchain tennivalók listájának alkalmazásának elkészítése

A koncepció megértésének biztosítása érdekében először meg kell tanulnia, hogyan fog működni a Todo blockchain alkalmazás. Az alkalmazás elkészítéséhez az Ethereumot fogjuk használni. Alkalmazásunk egyetlen Ethereum csomópontot fog használni, és kliens oldali alkalmazással is rendelkezik. A Solidity-t fogjuk használni az intelligens szerződés megírásához, majd telepítéséhez.

Fejlesztőként Ethereum pénztárcát kell használnia – amelyet könnyen elkészíthet.

Felkészülés – Környezet létrehozása

Helyi környezet létrehozásához több eszközre és csomagra lesz szükségünk. Menjünk végig rajtuk egyenként.

Ganache

Ganache egy Ethereum fejlesztő eszköz. Ez lehetővé teszi alkalmazások, intelligens szerződések és tesztek kezelését, telepítését és fejlesztését. Futtatni fogjuk az oktatóprogram Windows verzióját. Ha más operációs rendszerrel rendelkezik, akkor letöltheti a Mac vagy a Linux verziót is. A telepítés után képesnek kell lennie a parancssori eszközzel történő felhasználásra.

Node.js

A Node.js a következő telepítendő eszközünk. A privát blokklánc futtatásához a számítógépen telepítenie kell a Csomópont Csomagkezelő.

A telepítés után nyissa meg a terminált, és írja be az alábbi parancsot. Ha fut, akkor jól megy.

$ csomópont -v

MetaMask Ethereum pénztárca

Mivel az Ethereum blokkláncon fogunk dolgozni, szükségünk van egy pénztárcára, amely a böngészőből is képes működni. Metamask egy webböngésző pénztárca, amely lehetővé teszi az Ethereum blokklánccal való interakciót.

Szarvasgomba keret

Az utolsó szoftver, amelyet telepíteni fogunk, a Szarvasgomba keret. Széles eszközkészletet kínál, amely lehetővé teszi, hogy hatékonyan dolgozzon a dApp-on. Használhatja a Solidity programozási nyelvet egy Ethereum intelligens szerződés kidolgozásához.

A szarvasgomba keretrendszer néhány legfontosabb funkciója a következőket tartalmazza

  • Megfelelő okos szerződéskezelés
  • Hálózatkezelés
  • Automatizált tesztelés
  • Fejlesztő konzol
  • Script Runner
  • Telepítés és migráció
  • Ügyféloldali fejlesztés.

A telepítéshez a npm parancs. Egyszerűen futtassa a következő parancsot a parancssorban.

$ npm install -g [email protected]

A telepítés befejezése eltart egy ideig. Vegye figyelembe, hogy az oktatóanyag követéséhez telepítenie kell a pontos verziót.

Szeretne a blockchain szakértője lenni? Iratkozzon fel a tanúsított vállalati blockchain szakmai tanfolyam!

A projekt beállítása

Menő! Most már készen áll a fejlesztői környezetünk használatára. Most már csak a projektünket kell létrehoznunk. Ehhez létre kell hoznunk a projekt könyvtárat. Csináljuk alább.

$ mkdir dapp-todo

$ cd dapp-todo

Miután a mappába került, meg kell indítania a szarvasgomba projektet az alábbi parancs futtatásával.

$ szarvasgomba init

Miután elkészült, a fenti üzenet jelenik meg. Ez azt jelenti, hogy a mappa és a fájlok sikeresen létrehozásra kerültek. Most megnyithatja a mappát a kedvenc szövegszerkesztőjében. De mielőtt ezt megtenné, létre kell hoznia a csomag.json fájl. Ez segít a projekthez szükséges függőségek telepítésében.

Manuálisan létrehozhatja a fájlt, majd elmentheti az alább látható tartalmat.

{

  „Név”: „dapp-todo”,

  „Verzió”: „1.0.0”,

  „Leírás”: „Ethereum-meghajtású feladatlista”,

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

  „Könyvtárak”: {

    “teszt”

  },

  „Szkriptek”: {

    „Dev”: „lite-server”,

    „Teszt”: „visszhang” Hiba: nincs megadva teszt \ ” && sexit 1 ″

  },

  „Szerző”: „[email protected]”,

  „Licenc”: „ISC”,

  „DevDependencies”: {

    „Bootstrap”: „4.1.3”,

    „Chai”: „^ 4.1.2”,

    „Chai-as -ígérte”: „^ 7.1.1”,

    „Chai-bignumber”: „^ 2.0.2”,

    „Lite-server”: „^ 2.3.0”,

    „Nodemon”: „^ 1.17.3”,

    „Szarvasgomba”: „5.0.2”,

    „Szarvasgomba-szerződés”: „3.0.6”

  }

}

Miután elkészült, futtassa a következő parancsot a függőségek telepítéséhez.

$ npm telepítés

A címtárstruktúra megértése

A könyvtárstruktúra az alábbiak szerint fog kinézni.

Értsük meg mindegyik mappát egyenként.

  • Szerződések: A könyvtár tartalmazza az összes intelligens szerződést. A migrations.sol szerződés kezeli a blokkláncba történő migrációkat.
  • Migrációk: Az áttelepítési könyvtár tartalmazza az áttelepítési adatokat. Innen zajlanak a migrációk.
  • csomópont_modulok: Az összes csomópontmodult / függőséget tartalmazza.
  • Teszt: Ez a könyvtár tartalmazza a tesztfájlokat.
  • szarvasgomba-config.js: Ez a fájl tartalmazza a szarvasgomba projekt konfigurációját.

Az intelligens szerződés létrehozása

Itt az ideje, hogy a sajátunkkal kezdjük okos szerződés létrehozása. Intelligens szerződéseink a szerződések mappában lesznek tárolva. Hozzunk létre egy intelligens szerződésfájlt, amelynek neve Todo.sol

Miután elkészült, most be kell írnia a kódot az alábbiak szerint.

pragma szilárdság ^ 0,5,0;

szerződés Todo {

// Kód ide

}

Az első kódsor meghatározza, hogy a Solidity melyik verzióját használjuk az intelligens szerződés megírásához. Ezután a szerződés kulcsszót kell használnunk, és létre kell hoznunk egy Todo szerződést. Ez tartalmazza az intelligens szerződés kódját.

Most adjunk hozzá egy változót, hogy lássuk, minden rendben működik-e.

pragma szilárdság ^ 0,5,0;

szerződés Todo {

uint Tasks = 0;

}

Itt definiáljuk a task változót, amely megszámolja a Todo alkalmazásban lévő feladatok számát.

Csatlakozás a Ganache-hoz

A Truffle-ban helyesen beállított intelligens szerződésünkkel most csatlakoznunk kell az általunk létrehozott Ganache privát blokklánchoz. Ehhez néhány konfigurációs fájlt frissíteni kell. Létre kell hoznunk egy migrációs szkriptet és futtatnunk kell azt, hogy csatlakozzunk a személyes blockchain hálózathoz.

A kezdéshez frissítenünk kell a truffle-config.json fájlt. Ennek az alapprojekt könyvtárban kell lennie. Miután megnyitotta, másolja be a következő kódot.

module.exports = {

hálózatok: {

fejlesztés: {

gazdagép: „127.0.0.1”,

kikötő: 7545,

network_id: “*” // Hálózati azonosító

}

},

solc: {

optimalizáló: {

engedélyezve: igaz,

fut: 200

}

}

}

A létrehozott truffle-config.js fájl használatával itt az ideje, hogy létrehozzuk az áttelepítési szkriptet, hogy az általunk létrehozott intelligens szerződés átkerülhessen a személyes blockchain hálózatba.

A nevet 2_deploy_contracts.js fájlként fogjuk feltölteni

Az átállások nagyon kritikusak a Todo alkalmazásunk szempontjából. Mivel a blokklánc egyfajta adatbázis, azt egyik állapotról a másikra kell változtatnunk. Itt segítenek a migrációk.

Az áttelepítési fájlok összekapcsolásához frissítenünk kell a következő kód hozzáadását az újonnan létrehozott áttelepítési fájlhoz.

var Todo = műtárgyak.megkövetel (“./ Todo.sol”);

module.exports = function (telepítő) {

deployer.deploy (Todo)

}

Az első kódsor egyszerűen létrehoz egy változót, amely hivatkozik az intelligens szerződésünkre. Miután elkészült, akkor telepítjük.

Miután elkészült, most futtassuk a migrate parancsot.

$ Szarvasgomba migrál

A konzolt az alábbi paranccsal is futtathatja.

$ szarvasgombás konzol

A Todo List App fejlesztése

Most, hogy sikeresen lefuttattuk az első Ethereum intelligens szerződésünket, itt az ideje, hogy funkciókat adjunk a dApp-hoz. A dAppunk egyszerű. Felsorolja a feladatokat a Todo listánkban. Használnunk kell az okos szerződést annak megvalósításához.

Csináljuk alább.

pragma szilárdság ^ 0,5,0;

szerződés Todo {

uint közfeladatok = 0;

 

struct Feladat {

uint id;

karakterlánc-tartalom;

bool elkészült;

}

}

Itt strukturális kulcsszót használtunk egy új strukturális feladat létrehozásához. Használjuk a Feladatunk struktúrájának meghatározására, amely tartalmazza az azonosítót, a tartalmat és a kitöltött logikai értéket.

Ezután fel kell térképeznünk a Tasks struktúránkat, és nyilvánosságra kell hoznunk, hogy a blokklánc hozzáférhessen hozzá. Ehhez hozzá kell adnunk a következő kódsort.

Az intelligens szerződés kódja az alábbiak szerint fog kinézni.

pragma szilárdság ^ 0,5,0;

szerződés Todo {

uint közfeladatok = 0;

struct Feladat {

uint id;

karakterlánc-tartalom;

bool elkészült;

}

leképezés (uint => Feladat) közfeladatok;

}

Végül most létre kell hoznunk egy olyan funkciót, amely kezeli a feladatokat.

function createTask (string memória _tartalom) public {

taskCount ++;

task [taskCount] = Feladat (taskCount, _content, hamis)

}

A funkció nagyrészt magától értetődő. A függvényt úgy hoztuk létre, hogy meg tudja számolni a Todo dApp alkalmazásban felsorolt ​​feladatok számát.

Végül létre kell hoznunk egy konstruktort a Todo osztály inicializálásához.

konstruktor () public {

createTask („Ez az első feladatunk”)

}

A todo.sol fájlunknak az alábbiak szerint kell kinéznie.

pragma szilárdság ^ 0,5,0;

szerződés Todo {

uint közfeladatok = 0;

struct Feladat {

uint id;

karakterlánc-tartalom;

bool elkészült;

}

konstruktor () public {

createTask („Ez az első feladatunk”)

}

leképezés (uint => Feladat) közfeladatok;

function createTask (string memória _tartalom) public {

taskCount ++;

task [taskCount] = Feladat (taskCount, _content, hamis)

}

}

Feladatok létrehozása

Feladatokat is létrehozhatunk a Todo dApp-ban. Ehhez létre kell hoznunk egy ravaszt, amikor új feladat jön létre. Megközelítésünk egy új TaskCreated esemény létrehozása, majd hozzáadása a meglévő createTask () függvényhez.

esemény TaskCreated (

uint id;

karakterlánc tartalma,

bool elkészült

);

Most adja hozzá a következő sort a createTask () függvényhez.

emite TaskCreated (taskCount, _content, false);

Feladatok befejezése

Az elvégzett feladatok az esemény segítségével is hozzáadhatók. Hozzá kell adnia a következő eseményt a Todo szerződéshez.

esemény TaskCompleted (

uint id,

bool elkészült

);

A működéshez új funkciót is hozzá kell adnia.

function toggleCompleted (uint _id) public {

Feladat memória _task = feladatok [_id];

_task.completed =! _task.completed;

feladatok [_id] = _feladat;

emit TaskCompleted (_id, _task.completed)

}

Gratula! Létrehozta az első Todo lista dApp-ot az Ethereum blokkláncon.

Vége Megjegyzés

Ez a blokklánc alkalmazás-oktatóanyag elkészítésének végéhez is vezet. Így készít egy nulláról egy build blockchain alkalmazást.

Innentől kezdve megfelelően ki kell próbálni a szerződést, mielőtt végre áttérne a blokkláncra. Létrehozhatja az alkalmazás kezelőfelületét és kipróbálhatja. Ha nem érdekli ez, akkor bekapcsolhatja a konzolt, és hozzáférhet a változókhoz és a funkciókhoz, hogy tesztelje a dolgokat!

De ha még mindig nincs tisztában a blockchain következményeivel, akkor arra kérjük Önt, hogy indítsa el az ingyenes blockchain tanfolyamunkat, hogy többet tudjon meg róla. Anélkül, hogy megtanulnánk vagy megértenénk a működését, a programozási koncepció megragadása nagyon nehéz lesz.

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