Hur man bygger en Blockchain-app

Letar du efter en guide där du kan lära dig hur man bygger en blockchain-app? Här är en guide som kan hjälpa dig att bygga en blockchain-app från grunden.

I den här artikeln kommer vi att bygga vår blockchain-app. Nyligen täckte vi hur man bygger en blockchain. Det var en komplett guide för att bygga en blockchain på Python-programmeringsspråket. Handledningens huvudfokus är att lära sig om blockchain-teknik och dess inre funktion.

Denna handledning handlar dock om hur man bygger en app med blockchain. Den decentraliserade appen (dApp) kommer att kunna dra nytta av blockchain-egenskaperna.

Vi kommer att bygga en enkel blockchain-app med Ethereum. Ethereum är en andra generationens blockchain-teknik som tillhandahåller avancerade funktioner som smarta kontrakt, Proof-of-Stake och, viktigast av allt, möjligheten att skapa decentraliserade appar (dApps).

Så, låt oss komma igång med vår “Hur man bygger en blockchain-app” -handledning. Denna handledning riktar sig också till dem som vill bygga en enkel blockchain-app. För att bygga en enkel blockchain-app ska vi använda Ethereum-nätverket.

Men innan vi börjar, låt oss göra våra grunder rätt.

Anmäl dig nu: Enterprise Blockchains Fundamentals Course

Vad är dApp?

Det första steget vi ska ta för att bygga en blockchain-apphandledning är först att lära oss konceptet för den decentraliserade applikationen (dApp).

dApp står för decentraliserad applikation. Det är en annan typ av app som erbjuder viktiga egenskaper, inklusive möjligheten att fungera självständigt. Appen lagrar också data kryptografiskt så att ingen obehörig enhet kan komma åt den utan rätt behörighet.

Alla dessa egenskaper gör decentraliserade appar mycket användbara i den nuvarande företagsmiljön. Apparna kan också använda tokens som kan användas för att dra nytta av de funktioner som appen erbjuder. Dessutom kan appen också distribuera tokens för att stimulera de noder som deltar i att göra dApp funktionell.

Välja en plattform – Varför väljer vi Ethereum-plattformen

Just nu finns det många plattformar som du kan välja att bygga din dApp. De inkluderar populära blockchain-plattformar som Ethereum, Hyperledger Fabric och Cardano. Av alla dessa verkar Ethereum vara det bästa valet på grund av det aktiva samhället, verktygen och handledningarna som finns tillgängliga online.


En annan anledning till att vi väljer Ethereum är att den använder fasthet. Soliditet görs uttryckligen för att distribuera och skapa dApps och smarta kontrakt. Det är lätt att lära sig och ger dig flexibilitet att experimentera.

Praktisk guide för att bygga en decentraliserad Blockchain-app

Hur man bygger en blockchain-app

Innan vi går och dyker djupt in i koden vill jag lista stegen som beskriver processen för att bygga en blockchain-app. Låt oss gå igenom det nedan.

Hitta en idé

Det första steget är att hitta en idé att arbeta med. Decentralisering är ett coolt nytt koncept som kan ha många användningsfall. Som lärare eller ingenjör bör du komma med en användbar idé som kan gynna dig eller ditt företag. Oroa dig inte om du inte kan komma med en idé som förändrar landskapet. Det är okej att bygga enkla dApps bara för att lära och öva.

Du kan också söka efter problem som du står inför med blockchain och kanske försöka lösa dem efter bästa möjliga ansträngning. Poängen här är att se problemet från din smärtpunkt och sedan försöka lösa det.

Om du försöker bygga en dApp för ditt företag eller enligt dina affärsbehov, måste du göra en korrekt kostnads ​​/ nyttoanalys. Du måste också undersöka de risker som är förknippade med projektet och se om ditt företagsteam kan hantera appen med tillbörlig aktsamhet.

Under inga omständigheter bör du inte fatta något hastigt beslut som du kommer att ångra senare. Detta beror på att blockchain-utveckling är kostsam, särskilt när det gäller att hitta talang för att utveckla och hantera den. Utöver det finns det brist på utvecklare som arbetar med blockchain. Kort sagt, du bör ta lämpliga steg när det gäller utveckling av blockchain eller blockchain-app.

Här är en guide till dApps-utveckling som du kan förstå mekanismerna bakom att skapa en ny decentraliserad applikation.

Välj A Consensus Method

Varje decentraliserad app kräver en korrekt konsensusalgoritm för att fungera. Det säkerställer att transaktionerna valideras och inga bedrägerier kan äga rum. Som utvecklare eller lärare måste du välja någon av de tillgängliga konsensusmetoderna, inklusive Proof of Stake, Delegated Proof of Stake, Byzantine fault-tolerant, och så vidare! Valet bör bero på din kännedom och appkrav.

Välja en plattform

Här måste du välja en plattform du väljer. Det är uppenbart att vi redan täckte punkten ovan. Du har huvudsakligen tre plattformar att välja mellan, inklusive Ethereum, Hyperledger Fabric och Cardano.

Det finns många blockchain-ramar för företag som du kan använda för detta, men vi ska gå med Ethereum.

Admin Console och användargränssnitt

Appar bör ha en riktig användarupplevelse. Därför bör du bygga en blockchain-app med ett bra användargränssnitt. Appen ska också ha en administratörskonsol så att du kan hantera den utan problem.

Förstå Blockchain-principer

Det är vanligt att utvecklare startar blockchain apputvecklingshandledning utan att förstå de underliggande begreppen och principerna. Det är därför jag rekommenderar blockchain-grunderna helt innan du börjar med apputvecklingshandledningarna. Du kanske också vill läsa om dess ekosystem, inklusive blockchain-verktyg, plattformar och kryptovalutor.

Öva och utveckla

Öva dina färdigheter så mycket du kan. Detta kommer att ge dig kompetensen att utveckla mer komplexa appar i framtiden.

Hur man bygger en Blockchain-app? Den enkla metoden

Ja, du läste det rätt. I det här avsnittet skulle vårt fokus vara att skapa en rak blockchain-app i bara fem enkla steg. Om du aldrig har byggt en blockchain-app kommer de här fem stegen att hjälpa dig att förstå processen bättre.

De fem stegen är som följer.

  • Installera beroenden och klonförvar.
  • Kör Ganache CLI
  • Kontraktssamling
  • Kontraktdistribution
  • Kontraktsinteraktion

Och det är allt. Du hittar mer detaljerade steg på själva inlägget. Det är en enkel röstningsapp på blockchain.

Hur man bygger en Blockchain-app? Den hårda metoden

OK! Du fick mig! Du vill inte ha det enkla sättet, men vill lära dig blockchain på det hårda sättet. Oroa dig inte, eftersom vi i det här avsnittet kommer att skapa en todo-lista-app med Ethereum-smarta kontrakt.

Blockchain applikationsarbete

Innan vi dyker djupt in i att skapa en blockchain-app, låt oss försöka förstå hur en blockchain-applikation skulle fungera i första hand.

För att förstå det, låt oss ta en titt på hur en enkel app fungerar. Alla appar som fungerar på internet återges på användarens dator med en webbläsare eller en särskild app i Windows. I vilket fall som helst begär den servern om sidorna eller informationen, som sedan återges på användarens dator.

När det gäller webbapplikationen är allt centraliserat. Detta ger vissa fördelar; det lämnar dock mycket att önska när det gäller säkerhet. Blockchain-appar fungerar helt annorlunda. Allt är decentraliserat, inklusive koden och de data som lagras i appen.

Smarta kontrakt

Nyckeln här är det smarta kontraktet. Ett smart kontrakt underlättar själva appen. Den innehåller all kod som får appen att fungera. Det automatiserar också processen och ser till att den fungerar som avsett. I vår handledning kommer vi att använda smarta kontrakt för att skriva de olika funktionerna i att göra-listan.

Smarta kontrakt använder programmeringsspråket Solidity. Det liknar JavaScript. När ett smart kontrakt har skrivits blir dess kod oföränderlig och oföränderlig. Du kan ändra koden medan du distribuerar. Men när appen har distribuerats kommer du inte att kunna ändra koden. Detta görs för att ge tillförlitlighet och säkerhet för blockchain-appar. Tillvägagångssättet innebär också att du måste vara extra försiktig och göra alla tester innan du distribuerar det smarta kontraktet. Dessutom är smarta kontraktskoder offentliga.

Vill du lära dig hur man bygger en blockchain med Python? Här är en handledning för att bygga en blockchain med Python som du kan följa.

Gör vår Blockchain To-Do List-app

För att säkerställa att du förstår konceptet måste du först lära dig hur Todo blockchain-appen fungerar. Vi kommer att använda Ethereum för att skapa appen. Vår app använder en enda Ethereum-nod och har också en applikation på klientsidan. Vi kommer att använda Solidity för att skriva det smarta kontraktet och sedan distribuera det.

Som utvecklare måste du använda en Ethereum-plånbok – som är lätt att göra.

Gör dig redo – miljöskapande

För att skapa en lokal miljö behöver vi flera verktyg och paket. Låt oss gå igenom dem en efter en.

Ganache

Ganache är ett Ethereum-utvecklingsverktyg. Det låter dig hantera, distribuera och utveckla applikationer, smarta kontrakt och tester. Vi kommer att köra Windows-versionen för självstudien. Om du har ett annat operativsystem kan du också ladda ner Mac eller Linux-versionen. När du väl har installerat bör du kunna använda den via kommandoradsverktyget.

Node.js

Node.js är vårt nästa verktyg som behöver installeras. För att få den privata blockchain att köras på din maskin måste du installera Node Package Manager.

När du är installerad öppnar du din terminal och skriver kommandot nedan. Om det går går du bra.

$ node -v

MetaMask Ethereum plånbok

När vi ska arbeta med Ethereum blockchain behöver vi en plånbok som kan fungera från webbläsaren. Metamask är en webbläsarplånbok som låter dig interagera med Ethereum blockchain.

Tryffelramverk

Den sista programvaran som vi ska installera är Tryffelramverk. Det erbjuder en mängd verktyg som låter dig arbeta effektivt på din dApp. Du kan använda programmeringsspråket Solidity för att utveckla ett smart Ethereum-kontrakt.

Några av de viktigaste Truffle Framework-funktionerna inkluderar följande

  • Korrekt smart kontrakthantering
  • Nätverkshantering
  • Automatiserad testning
  • Utvecklingskonsol
  • Script Runner
  • Distribution och migration
  • Utveckling på klientsidan.

För att installera måste du använda npm-kommando. Kör bara följande kommando på kommandoraden.

$ npm installera -g [e-postskyddad]

Hur man bygger en blockchain-app

Det tar ett tag innan installationen är klar. Observera också att du måste installera den exakta versionen för att följa handledningen.

Vill du bli en expert inom blockchain? Gå med i vår certifierade professionella blockchain-professionella kurs nu!

Ställa in projektet

Häftigt! Vi har nu vår utvecklingsmiljö redo att användas. Nu är allt vi behöver göra att skapa vårt projekt. För att göra det måste vi skapa projektkatalogen. Låt oss göra det nedan.

$ mkdir dapp-todo

$ cd dapp-todo

Skapa en enkel blockchain-app

När du väl är i mappen måste du starta tryffelprojektet genom att köra kommandot nedan.

$ tryffel init

Skapa en app med blockchain

När du är klar visas ett meddelande som ovan. Det betyder att mappen och filerna har skapats. Nu kan du öppna mappen i din favorittextredigerare. Men innan du gör det måste du skapa package.json fil. Detta hjälper dig att installera de beroenden som krävs för projektet.

Du kan skapa filen manuellt och sedan spara innehållet som visas nedan.

{

“Namn”: “dapp-todo”,

“Version”: “1.0.0”,

“Beskrivning”: “Ethereum-driven To-do List”,

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

“Kataloger”: {

“test test”

},

“Skript”: {

“Dev”: “lite-server”,

“Test”: “echo \” Fel: inget test specificerat \ ” && sexit 1 ″

},

“Författare”: “[e-postskyddad]”,

“Licens”: “ISC”,

“DevDependencies”: {

“Bootstrap”: “4.1.3”,

“Chai”: “^ 4.1.2”,

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

“Chai-bignumber”: “^ 2.0.2”,

“Lite-server”: “^ 2.3.0”,

“Nodemon”: “^ 1.17.3”,

“Tryffel”: “5.0.2”,

“Tryffelkontrakt”: “3.0.6”

}

}

När du är klar kör du nu följande kommando för att installera beroenden.

$ npm installera

Förstå katalogstrukturen

Katalogstrukturen kommer att se ut nedan.

Låt oss förstå varje mapp en efter en.

  • Kontrakt: Katalogen innehåller alla smarta kontrakt. Migrations.sol-kontraktet hanterar migreringarna till blockchain.
  • Migrationer: Migreringskatalogen innehåller migreringsdata. Det är härifrån migreringarna äger rum.
  • nodmoduler: Den innehåller alla nodmoduler / beroenden.
  • Testa: Den här katalogen innehåller testfilerna.
  • truffle-config.js: Den här filen innehåller konfigurationen för tryffelprojekt.

Skapa det smarta kontraktet

Det är nu dags att börja med vårt smarta skapande av kontrakt. Våra smarta kontrakt kommer att lagras i kontraktsmappen. Låt oss skapa en smart kontraktsfil med namnet todo.sol

När du är klar måste du nu skriva koden enligt nedan.

pragmasoliditet ^ 0,5,0;

kontrakt Todo {

// Kod här

}

Den första raden kod anger vilken version av Solidity vi använder för att skriva det smarta kontraktet. Därefter måste vi använda nyckelordet och skapa ett Todo-kontrakt. Detta kommer att innehålla koden för det smarta kontraktet.

Nu ska vi lägga till en variabel för att se om allt fungerar som avsett.

pragmasoliditet ^ 0,5,0;

kontrakt Todo {

uint Uppgifter = 0;

}

Här definierar vi arbetsvariabeln som räknar antalet uppgifter som vi har i vår Todo-app.

Ansluter till Ganache

Med vårt smarta kontrakt korrekt inställt i Truffle måste vi nu ansluta till Ganache privata blockchain som vi skapade. För att göra det måste vissa konfigurationsfiler uppdateras. Vi måste också skapa ett migreringsskript och köra det så att vi kan ansluta till det personliga blockchain-nätverket.

För att komma igång måste vi uppdatera filen truffle-config.json. Det ska finnas inom kärnprojektkatalogen. När du har öppnat den, kopiera och klistra in följande kod.

module.exports = {

nätverk: {

utveckling: {

värd: “127.0.0.1”,

hamn: 7545,

network_id: “*” // Matchning av nätverks-id

}

},

solc: {

optimizer: {

aktiverat: sant,

körningar: 200

}

}

}

Med truffle-config.js-filen skapad är det nu dags för oss att skapa migreringsskriptet så att det smarta kontraktet vi skapar kan migreras till det personliga blockchain-nätverket.

Vi arkiverar namnet som 2_deploy_contracts.js

Migreringarna är mycket kritiska för vår Todo-app. Eftersom blockchain är en typ av databas måste vi ändra den från ett tillstånd till ett annat. Det är här migrationer hjälper.

För att länka migreringsfilerna måste vi uppdatera lägg till följande kod till den nyskapade migreringsfilen.

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

module.exports = funktion (distribuerare) {

deployer.deploy (Todo)

}

Den första raden kod skapar helt enkelt en variabel som refererar till vårt smarta kontrakt. När vi väl gjort det distribuerar vi det.

När du är klar, nu, kör vi migreringskommandot.

$ Truffle migrera

Du kan också köra konsolen med kommandot nedan.

$ tryffelkonsol

Utveckla vår Todo List-app

Nu när vi har kört vårt första smarta Ethereum-kontrakt är det nu dags för oss att lägga till funktioner i vår dApp. Vår dApp är enkel. Det kommer att lista uppgifterna i vår Todo-lista. Vi måste använda det smarta kontraktet för att få det att hända.

Låt oss göra det nedan.

pragmasoliditet ^ 0,5,0;

kontrakt Todo {

uint offentliga uppgifter = 0;

struct Task {

uint id;

stränginnehåll;

bool färdigställd;

}

}

Här använde vi ett struct-nyckelord för att skapa en ny struct-uppgift. Vi använder den för att definiera strukturen i vår uppgift, som innehåller id, innehåll och det färdiga booleska värdet.

Därefter måste vi nu kartlägga vår uppgiftsstruktur och göra den offentlig så att den kan nås via blockchain. För att göra det måste vi lägga till följande kodrad.

Smartavtalskoden kommer nu att se ut nedan.

pragmasoliditet ^ 0,5,0;

kontrakt Todo {

uint offentliga uppgifter = 0;

struct Task {

uint id;

stränginnehåll;

bool färdigställd;

}

mapping (uint => Uppgift) offentliga uppgifter;

}

Slutligen måste vi nu skapa en funktion som hanterar uppgifterna.

function createTask (string memory _content) public {

taskCount ++;

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

}

Funktionen är till största delen självförklarande. Vi skapade funktionen så att den kan räkna antalet uppgifter som listas på Todo dApp.

Slutligen måste vi skapa en konstruktör för att initialisera Todo-klassen.

konstruktör () offentlig {

createTask (“Detta är vår första uppgift”)

}

Vår todo.sol-fil ska nu se ut som nedan.

pragmasoliditet ^ 0,5,0;

kontrakt Todo {

uint offentliga uppgifter = 0;

struct Task {

uint id;

stränginnehåll;

bool färdigställd;

}

konstruktör () offentlig {

createTask (“Detta är vår första uppgift”)

}

mapping (uint => Uppgift) offentliga uppgifter;

function createTask (string memory _content) public {

taskCount ++;

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

}

}

Skapa uppgifter

Vi kan också skapa uppgifter i vår Todo dApp. För att göra det måste vi skapa en utlösare när en ny uppgift skapas. Vår strategi är att skapa en ny händelse TaskCreated och sedan lägga till den i vår befintliga createTask () -funktion.

händelse TaskCreated (

uint id;

stränginnehåll,

bool slutförd

);

Lägg nu till följande rad i funktionen createTask ().

emit TaskCreated (taskCount, _content, false);

Slutföra uppgifter

Slutförande uppgifter kan också läggas till med hjälp av händelse. Du måste lägga till följande händelse i Todo-kontraktet.

händelse TaskCompleted (

uint id,

bool slutförd

);

För att få det att fungera måste du också lägga till en ny funktion.

function toggleCompleted (uint _id) public {

Uppgiftsminne _uppgift = uppgifter [_id];

_task.completed =! _task.completed;

uppgifter [_id] = _uppgift;

emit TaskCompleted (_id, _task.completed)

}

grattis! Du har skapat din första Todo-lista dApp på Ethereum blockchain.

Avslutande anmärkning

Detta leder oss också till slutet av hur vi bygger en tutorial för blockchain-appar. Så här bygger du en blockchain-app från grunden.

Därifrån måste du testa kontraktet ordentligt innan du äntligen migrerar det till blockchain. Du kan också skapa framsidan av appen och testa den. Om du inte är intresserad av att göra det kan du skjuta upp konsolen och få tillgång till variablerna och funktionen för att testa saker!

Men om du fortfarande inte är medveten om konsekvenserna av blockchain, uppmanar vi dig att börja vår gratis blockchain-kurs för att lära dig mer om det. Utan att lära sig eller förstå hur det fungerar blir det väldigt svårt för dig att förstå programmeringskonceptet.

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