Hajautetun NFT-sovelluksen kehittäminen Ethereum-verkossa
Abstract
Tämä opinnäytetyö tarkastelee lohkoketjuteknologian ominaisuuksia ja hajauttamisen keskeisiä periaatteita. Työn ensisijaisena tavoitteena oli perehtyä Ethereum-lohkoketjuverkossa toimivan ja erityisesti digitaalisiin hallintatodistuksiin (NFT) perustuvan hajautetun sovelluksen kehittämiseen. Tämän lisäksi tavoitteena oli tarjota yksinkertaistettu perusta älysopimusten ja hajautettujen sovellusten kehittämiseen. Työn kehys muodostuu aihetta ympäröivästä kirjallisuuskatsauksesta ja oman henkilökohtaisen kehitysprojektin toteutuksen sekä tulosten raportoinnista. Aluksi perehdytään hajautettujen tietokantojen keskeisiin periaatteisiin vertaillen näiden vahvuuksia ja rajoitteita suhteessa keskitettyihin tietokantoihin. Tarkastelun kohteena on myös lohkoketjuteknologian vallitsevat rajoitteet ja sen haasteet sekä tietoturvallisuus ja sen hallinta. Lisäksi syvennytään tarkemmin työhön toteutetussa kehitysprojektissa hyödynnettyyn Ethereum-alustaan ja sen erityispiirteisiin. Oman kehitysprojektin toteutus nojautui työn alussa esitellyn teorian lisäksi muun muassa Ethereumin ja Solidityn dokumentaation. Kehitysprojekti toteutettiin hyödyntäen Scaffold-ETH 2 -työkalupakkia ja sen tarjoamaa kehitysympäristöä. Tämä mahdollisti syventymisen älysopimuksen ja sovelluksen hajautettujen toiminnallisuuksien kehittämiseen yksinkertaistaen lisäksi muun muassa käyttäjäinteraktioiden toteutusta sekä sovelluksen testaamista kehitysprosessin aikana. Projektissa toteutettu älysopimus perustuu ERC-721-standariin, joka on kehitetty erityisesti NFT-pohjaisten sopimusten kehykseksi. Toteutuksessa hyödynnettiin lisäksi hajautettua tiedostojärjestelmää (IPFS) mintattavan NFT:n kuvatiedoston ja metatietojen tallennukseen. Kehitysprojektin tuloksena saatiin toteutettua kevyt testiverkossa toimiva prototyyppimallinen hajautettu sovellus, joka mahdollistaa NFT:n luomisprosessin eli minttaamisen käyttäjän valitsemalla kuvatiedostolla. Sovelluksessa on myös äänestystoiminto, jossa NFT-kohtaiset äänet kirjataan lohkoketjuun sisäisesti. Käyttäjän minttaamien tokenien lukumäärä on rajoitettu enintään kolmeen, ja jokaisella käyttäjällä on käytössään vain yksi ääni. Tämä kehitysprojektin tuotos havainnollistaa hyvin, kuinka lohkoketjujen ja älysopimusten avulla voidaan luoda lisäarvoa ja käyttäjien välistä vuorovaikutusta sovelluksen sisäisesti, ilman tarvetta kolmansille osapuolille tai keskitetyille järjestelmille.
Community
0 commentsNo discussion yet
Be the first to share a question or observation.