Chytrou smlouvu může vytvořit kdokoli

Chytré smlouvy vám usnadní podnikání v nové decentralizované ekonomice. Většina inteligentních kontraktů se uzavírá na platformách DApp (Decentralized Application), jako je Ethereum, Lisk nebo Cardano, a velké technologické společnosti, jako je IBM, začínají budovat své vlastní podniky. To dává smysl, protože existuje spousta společností, které by raději věřily technologickému gigantu, jako je IBM, aby pro ně postavil produkt, než aby se samy pustily do nové technologie.

Inteligentní vývoj kontraktů se může stát prodejnou dovedností pro vývojáře, kteří vědí, jak je budovat. Překvapivou součástí inteligentních smluv je, že není těžké je vybudovat. Platformy DApp a okolní nástroje umožňují jejich vytváření a snadné vytváření vlastní technologie blockchain.

Vývojáři Javascript by se blockchainu neměli nechat zastrašit. S trochou většího porozumění se blockchain stává jako většina ostatních frameworků, které byste normálně implementovali.

Plánování chytré smlouvy

Při prvním vytváření inteligentní smlouvy byste se měli rozhodnout, co má usnadnit.

V tomto příkladu se zaměřme na jízdenky. Jízdenky mají obrovské problémy s tím, že scalperi kupují tuny lístků a s lidmi, kteří používají falešné lístky. Technologie blockchain vyniká v mnoha věcech; dva z nich usnadňují transakce a sledují informace.

Z tohoto důvodu může jednoduchý řádek kódu ve smlouvě omezit ceny dalšího prodeje vstupenek. To zabrání scalperům v nákupu spousty lístků, protože jejich prodej by byl nyní nerentabilní. Pomocí chytrých smluv můžete také generovat jedinečné tokenizované tikety, které jsou specifické pro vlastníka a nelze je falzifikovat. Pokud jste někdo, kdo rád navštěvuje koncerty, festivaly a sportovní události, můžete se podívat na odvolání.

Možnosti platformy DApp

Další věc, kterou si musíte vybrat, je, na které platformě DApp bude smlouva postavena.

Ethereum je největší a nejvíce zavedená platforma. Má také nejaktivnější uživatelskou základnu a v jakémkoli typu vývoje je aktivní komunita, která odpovídá na vaše otázky, klíčem k dokončení vašeho produktu. Jednou nevýhodou však je, že k psaní smluv používá svůj vlastní jazyk Solidity.

Jinou možnost, Lisk, je platforma DApp založená na Javascript, takže na vás nebude hozena žádná nová syntaxe. Má také svůj vlastní obchod DApp (myslím Google Play nebo iTunes), kde můžete po dokončení aplikaci publikovat.

Můžete také vyzkoušet Cardano který postavil zakladatel společnosti Ethereum a má velký a působivý tým. Jejich produkt je stále nový, ale pokud splní svůj slib oddělit informace o kontraktu od transakčních dat, může to být správná volba vpřed.

Prozatím pojďme přejít na Ethereum nebo Lisk jako na platformu volby.


Jako vývojář Javascriptů se Lisk může zdát jako logické rozhodnutí, protože v tomto jazyce už máte zkušenosti.

Ethereum však nepočítejte. Vývojová komunita je tak robustní, že můžete překonat jakékoli nedorozumění Solidity dostupnými přebytečnými informacemi. Ethereum také zahrnuje rámec Truffle vytvořený společností Consensys, který vám umožní snadno integrovat a otestovat vaši inteligentní kontraktní aplikaci.

ethereum smart contract frameworks

Budování chytré smlouvy

Solidnost zní hrozivěji, než ve skutečnosti je. První věc, kterou si tohoto jazyka můžete všimnout, je nápadná podobnost s třídou JavaScriptu. Existují však jemné rozdíly, například požadavek na středníky a použití hashovacích funkcí. The hashovací funkce slouží k vytvoření jedinečných klíčů a jejich mapování na jiné proměnné. V našem příkladu bychom je použili k vytvoření jedinečných lístků a namapování na účty, které je kupují.

Při vytváření vaší první smlouvy na Ethereum doporučujeme používat vývojové prostředí na remix.solidity.org. Poskytuje vám interaktivní prostředí k nasazení vaší smlouvy a interakci s ní z různých účtů Ethereum. Rozbalovací nabídka vám umožňuje přepínat účty a používat libovolné volání funkcí vaší smlouvy stisknutím příslušných tlačítek.

Na co si dát pozor

Unikátní věcí na Solidity je její použití adresování. Všechny účty Ethereum mají jedinečné adresy a tyto adresy představují strany souhlasící se smlouvou.

V našem příkladu smlouvy na lístky, kdokoli událost vytvoří, bude k ní připojena adresa účtu. Kdykoli si někdo koupí novou vstupenku, prostředky se převádějí přímo na vlastníka akce, přičemž se vyjme prostředník. Kupující zavolá a peníze mu budou odebrány z účtu, identifikovány podle adresy a předány vlastníkovi.

Solidity má také jedinečný způsob připojení finančních prostředků k chytrému volání smlouvy. Každé volání funkce přichází se zprávou. Tato zpráva může obsahovat jedinečné informace od odesílatele, včetně adresy jeho účtu a etherové hodnoty, kterou chtějí odeslat vlastníkovi smlouvy.

Za zmínku stojí také to, že v Solidity nejsou všechny smluvní hovory zdarma. Chcete-li změnit informace ve smlouvě, např. koupit nebo použít jízdenku, síť strojů, které potvrzují plnění smlouvy, poplatek „plyn“. Plyn je v zásadě mýtné za využití výhod výpočetního výkonu v síti.

Další volání, která pouze dotazují smlouvu na informace, např. vyhledávání ceny lístku nebo získání počtu zbývajících lístků je zdarma. Je to proto, že se neaktualizují žádné informace o smlouvě; v těchto činnostech nehrozí žádné riziko.

Připojování k JavaScriptu

Nejnáročnější částí práce v Solidity je integrace vaší smlouvy s Javascriptem. To vše se provádí pomocí Rámec lanýže.

Prvním krokem při integraci vaší smlouvy je její nasazení a migrace do testovací sítě. Truffle poskytuje vlastní RPC, samostatnou testovací síť Ethereum, nazvanou Ganache. Tento proces vám poskytne verzi smlouvy ve formátu JSON, kterou můžete volat pomocí adres vaší testovací sítě prostřednictvím aplikace Javascript.

Pokud hledáte další informace o tomto procesu, Truffle dělá skvělou práci tím, že je popisuje ve svých dokumentech a polích příkladů nalezených na jejich webová stránka.

Lanýžové boxy

Další těžkou věcí, kterou je třeba překonat při vytváření inteligentního kontraktu, je jeho konceptualizace. Přemýšlíte o blockchainu jako o webovém vývojáři, můžete se na něj dívat jako na náhradu databáze. Namísto jednoho centralizovaného zdroje pro všechny vaše informace existuje řetězec smluv a transakcí, které je třeba sledovat a které vedou k informacím.

Protože blockchain je jako databáze, přirozenou věcí je připojení smlouvy k vašemu serveru. Vytvoření vrstvy API pro kontrakt usnadňuje přístup k informacím z klientské strany aplikace stejně jako vytvoření požadavku AJAX. Dobře příklad pole pro získání tohoto nastavení na webu lanýže.

Ačkoli je blockchain podobný databázi, není úplně identický. Má zcela jedinečný protokol zahrnující transakce, hašování a vytváření bloků. To může být nejtěžší část vývoje Etherea. V našem příkladu prodeje jízdenek musíte strukturovat volání smlouvy o koupi letenky odlišně od výzvy k použití letenky. Virtuální stroj Ethereum je na tyto hovory vybíravý.

Toto je další oblast, kde je užitečná velká vývojová komunita Ethereum. Existuje velká šance, že na jakoukoli otázku, která již byla zodpovězena na Ethereum Stack Exchange, a pokud ne, ostatní vývojáři jsou vám více než ochotni pomoci s vaší smlouvou.

Závěr

Účelem tohoto článku nebylo naučit vás, jak začít psát Solidity. Místo toho to bylo poskytnout vám návod, co je inteligentní smlouva a jak ji můžete implementovat v aplikaci Javascript. Na blockchainu může stavět každý, kdo zná vývoj webových aplikací.

Technologie stojící za blockchainem může být obtížně pochopitelná, ale stejně jako jakýkoli jiný rámec nebo vývojový nástroj nemusíte nutně vědět, jak byl vytvořen, abyste jej mohli používat. Nenechte blockchainovu tajemnou auru zastavit v budování něčeho skvělého.

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