Да си направим проект, ползващ блокчейн

от | авг. 5, 2021 | Блог, Тенденции

Блокчейн, биткойн… всички приказват за тях. Технологията, която стои зад всичко това, изглежда особено сложна и неразбираема… но само на пръв поглед. Блокчейн е изключително перспективно направление в компютърните технологии, което се очаква тепърва да развие сериозния си потенциал, при това далеч не само с криптовалутите.

Оказва се, съвсем не е чак толкова трудно човек да започне с такъв тип програмиране. Защото всичко, което съществува в обичайното програмиране, го има и тук.

Но как? Не е ли това драстично различна парадигма, толкова сложна, затворена само за малцина?

 

Да пипнеш блокчейн

Не си позволявайте подобни мисли, ако направлението ви се струва перспективно и се чудите дали да не се насочите към него. Блокчейн е много, много интересна технология, но тя не се отличава чак толкова драстично от всичко, което представлява модерното програмиране. Единствената по-съществена разлика е основният принцип, че веднъж попаднала информацията в историята на блокчейна, тя си остава непроменена и винаги може да бъде проследена и проверена.

Извиняваме се, ако това определение прозвуча прекалено абстрактно, не след дълго в блога на ZETTAHOST.bg очаквайте и отделна публикация за основните принципи на блокчейн, но днес целта ни е друга – да създадем свой малък проект, базиран на тази технология.

Никоя от модерните блокчейн мрежи не е толкова готова за по-широко прилагане на проекти, различни от алтернативните валути, от тази, която крепи на плещите си криптовалутата етериум.

 

На езика на вечността

Блокчейн мрежата на етериум е особено популярна заради възможността за така наречените „умни договори“. Благодарение на тях в своеобразния регистър за информация на блокчейна попадат и данни, които нямат връзка с криптовалутите, но са важни по една или друга причина.

За създаването на такъв тип програми в мрежата на етериум работи един особено симпатичен, семпъл и удобен за използване език за програмиране, наречен Solidity.

Името му съвсем не е нито случайно, нито безсмислено. Благодарение на него можем да си позволим наистина да добавим в блокчейна данни, които ще са стабилно защитени, солидни дори повече от стоманата заради основния принцип на този тип технологии, за който вече стана дума.

 

План програма

Ако имате поне минимален опит с програмирането на някой от най-популярните езици в уеб разработката днес, много бързо ще напреднете и със Solidity. Синтаксисът му е семпъл, разбираем и доста подобен на всички най-популярни програмни решения, базирани на С.

Удобно в случая също е, че за базовата разработка няма нужда да инсталирате каквито и да било допълнителни програми. Не се налага и да избирате дълго IDE – програмата, на която да пишете кода си, защото съществува почти универсално – удобно и доказано решение, което работи достатъчно добре и в браузъра ви – Remix.

Разбира се, ако сте програмисти, можете да използвате почти всяка от най-популярните програми. Remix може също така да се свали като отделна апликация, или пък да ползвате Mist – официалния браузър на мрежата на етериум. Така или иначе, за целите на нашата съвсем базова апликация, просто отворен в любимия ви браузър, Remix ще ни свърши чудесна работа.

В Remix имате всичко, специализирано насочено към разработването на умни договори. Отваряте страницата, приемате условията и… вече имате пред себе си първия примерен умен договор. Програма, която е готова да бъде вкарана в, макар и тестов, блокчейн.

Здравей, блокчейн!

И така, готови сте за първия си проект? По добрата стара традиция на програмирането, това е съвсем базисната програма (в случая умен договор), която да каже символичното “Hello World”. Здравей, свят!

В случая „ще каже“, разбира се, има съвсем различен смисъл. Ако целта на обичайните уеб проекти – например при фронтенда, е, щом бъдат „пуснати“ или „деплойнати“, да се появят и да могат да заработят онлайн, то при „умните договори“ идеята е те да се включат в блокчейна и после всяка уеб апликация, която има съответното предназначение, да може да се свърже с тях.

Проектите, които се пишат в Remix, попадат в тестовия блокчейн на етериум. Който обаче работи на съвсем същия принцип, на който и реалният – вашият умен договор си остава деплойнат там и би трябвало да имате достъп до него в много, много дълъг период от време… дори завинаги.

Стъпка по стъпка чейн

И така, започваме конкретните стъпки. След като сте отворили страницата, намирате иконката за File explorer вляво, избирате като среда за разработка (environment) Solidity и кликвате върху добре познатото плюсче за създаване на нов файл. Очевидно това ще ви помогне да направите първия си файл с разширение .sol, който ще приюти и вашия умен договор, с който да кажете „здравей“ на света.

Въвеждате има на файла, а после и следното примерно съдържание:

// Първият ми умен договор!!!!
pragma solidity >=0.5.0 <0.7.0;
    contract HelloWorld {
        function get()public pure returns (string memory){
           return 'Hello World!';
        }
    }

Какво казва кодът по-горе? В началото задавате версията на езика solidity, която ще се прилага при компилирането – по този начин си гарантирате, че синтаксисът, който ползвате, е поддържан от останалата част от софтуера, която ще го „задвижи“.

 

Имаме ли сделка?

Следва самият договор – нещо като своеобразна главна функция на клас. И после идва единствената реална функция вътре във вашия договор. Тя е от типа get, защото само връща съдържание. Публична е – не е с ограничен достъп. Не приема аргументи, а връща само стринг (или „низ“, ако предпочитате българския термин). Който пък в нашия случай е с добре познатото съдържание “Hello World!”.

Разбира се, това е най-най-базовият договор, в реалността нещата могат да станат доста по-сложни. Но въпреки това, като цяло самите договори обикновено не са с прекалено комплициран и голям по обем код, защото там се включват само функционалностите, които е задължително да бъдат вкарани в блокчейна. Тъй като всяка връзка с деплойнатия договор в същинския блокчейн си има цена. Всичко, за което непроменимостта не е чак толкова важна, би могло да остане в апликацията, която после ще се свързва със самия договор.

И така, време е нашият… (може би не прекалено) умен договор да попадне в блокчейна. Избирате иконата точно под File explorer – Solidity compiler. Тук имате възможност да променяте доста настройки, но за нашите най-най-основни цели това съвсем не е необходимо. Достатъчно е да приключите всичко с “Compile HelloWorld.sol” и кодът вече е компилиран и готов да се отправи към бъдещия си дом – блокчейн мрежата.

Влизаме във веригата

Когато получите зелена светлина, че компилирането е приключило, продължавате с третата икона в същата лява редичка – Deploy and run transactions. Отново не е нужно да променяте нищо в настройките, кликате на Deploy и… колелото се завърта. Кодът ви си взаимодейства с инфраструктурата на блокчейна и след определено време попада в поредното блокче код от веригата.

Накрая договорът ви вече се появява в списъка с деплойнати в съответното прозорче на Remix. И можете колкото пъти си искате да викате функцията, която включихте в първия си умен договор и тя без умора всеки път да ви връща очакваното приветствие „Здравей, свят!“.

Надяваме се, че за вас това е първата стъпка от едно дълго и смислено приключение. А когато напреднете с умните договори и Solidity, ви очакваме да опитате как ще работят проектите ви, свързващи се с блокчейна, с нашия безплатен хостинг. Успех!

 

<a href="https://www.zettahost.bg/author/georgik/" target="_self">Георги Караманев</a>

Георги Караманев

Георги е журналист, писател и Front-end програмист – част от екипа на ZETTAHOST.bg. Има повече от 15 години опит в подготвянето на публикации на технологична тематика за Списание 8, в. „24 часа“ и други медии. През 2019 г. и 2021 г. получи наградите в категория „Технологии и иновации“ от конкурса на Dir.bg за чиста журналистика Web Report.
Последвайте ни

Най-нови публикации:

Какво е CDN и кога има смисъл да го използваме

Отваряш си сайта и се зарежда на микросекундата. Отваря го някой на другия край на света и… същата работа. Да, бързината е страшно важна онлайн, но нещо такова просто не би трябвало да е възможно?! Нали все пак има физически ограничения за скоростта, с която...

Stack Overflow. Светая светих на програмистите

Пуснете на някой програмист мийм или шегичка, че ако този сайт спре, всички програмисти са обречени. Ще видите, ще ви се посмее. Ама най-често ще се смее плахо и леко притеснено, защото може да се замисли по темата. Ами ако наистина един ден Stack Overflow реши да си...

Като на картинка. Как да намерим най-хубавите безплатни снимки?

Сайтовете се нуждаят от яки снимки, за да привличат гости? Не думай! Обаче търсенето на изображения, които няма да те изправят пред съд, защото си пропуснал бащиното име на автора на една снимка, понякога е предизвикателство. Изображенията много често са обект на...

7 случая, в които най-големите избират WordPress

„WordPress е най-доброто решение за сайта ви, ако тепърва започвате“. Тази манта, може би сте я чували и чели доста често. Особено, ако наистина за вас е дошъл моментът да си направите сайт и избирате най-подходящата технология, чрез която това да се случи. (Ето тук...

По буквите посрещат… Изберете си шрифт!

Време е да си направите сайт? Ако се чудите за хостинга – тук е мястото, където можете да опитате това, което ние предлагаме, съвсем безплатно. Има обаче и толкова много други въпроси, на които трябва да дадете своите отговори. На пръв погледът изборът на подходящи за...

Личен сайт безплатно!

Регистрирай се безплатно и си направи сайт още днес.

Безплатната хостинг услуга на ZETTAHOST.bg няма скрити такси и изисквания за ползване.

Безплатен хостинг

Pin It on Pinterest

Share This