Aiken zjednodušuje psaní smart kontraktů pro Cardano

Někteří se možná mylně domnívají, že pokud chcete psát chytré kontrakty pro Cardano, musíte se naučit Haskell. Můžete se vydat touto cestou, nebo použít některou z nově vznikajících alternativ. Jednou z nich je Aiken, nový programovací jazyk a sada nástrojů pro vývoj chytrých smluv na platformě Cardano. Aiken bude plnohodnotná platforma, která vám umožní rychle napsat inteligentní smlouvu včetně podrobných chybových hlášení a pohodlně se všemi potřebnými nástroji.

TLDR

  • Aiken se zaměřuje pouze na on-chain část aplikace.
  • Aiken vám umožní napsat a spustit aplikaci “Hello, World!” za 10 minut.
  • On-chain část aplikace lze napsat v libovolném jazyce, pokud existuje kompilátor, který kód přeloží do Plutus Core.
  • Kompilátor funguje podobně jako jazykový překladač.
  • Vydání alfa verze a prvními pioneeři je naplánováno na 1. čtvrtletí 2023.

Poslání projektu Aiken

Tým se snaží vytvořit platformu, která umožní psát chytré kontrakty bez nutnosti znát Haskell. Aiken je zcela nový programovací jazyk inspirovaný jazyky Gream, Rust a Elm. Tyto jazyky jsou známé přívětivými chybovými hlášeními a výbornou zkušeností vývojářů. Aiken má vlastní syntaxi a kompilátor. O významu kompilátoru si povíme více níže.

Aiken se zaměřuje pouze na on-chain část aplikace a nemá ambice stát se jazykem pro všeobecné použití. Pro backendovou (off-chain) část aplikace je třeba použít něco jiného.

Hlavním cílem jazyka Aiken je usnadnit a zrychlit vývoj on-chain s důrazem na bezpečnost a ověření, že kód dělá přesně to, co se od něj očekává. Proto je nutné udržovat jazyk jednoduchý a malý. On-chain kód je obvykle jen malou částí celé aplikace, která slouží k interakci s Cardanem. Týmy třetích stran mohou k vytvoření off-chain části použít jakoukoli jinou platformu.

Začít vytvářet inteligentní smlouvu s Aikenem je velmi jednoduché a vyžaduje minimální konfiguraci. Pokud máte připravené prostředí Rust, stačí vám doslova jen několik příkazů. Zkušenému programátorovi stačí zhruba den na to, aby si prošel část dokumentace s názvem Language Tour a mohl začít psát první kontrakt. Jako jazyk je Aiken čistě funkcionální se statickým typováním a typovou inferencí. Vývojáři si mohou vytvářet vlastní typy.

Inteligentní kontrakt “Hello, World!” je možné na Cardanu napsat a spustit během 10 minut. S tím vám pomůže tento výukový program.

Jak je možné psát smlouvy v něčem jiném než v Haskellu?

Uzel Cardano je napsán v jazyce Haskell, stejně jako virtuální stroj. Co je to virtuální stroj? Abyste tomu porozuměli, musíte nejprve vědět, jak se vytváří zdrojový kód a jak se spouští na počítači. Díky tomu pochopíte proč je možné použít Aiken a jiné programovací jazyky pro psaní smart kontraktů pro Cardano.

Vývojáři píší zdrojový kód v jazycích čitelných pro člověka. Může to být programovací jazyk Haskell, ale také Aiken. Můžete si to představit jako psaní textu, který může číst někdo jiný. Existuje samozřejmě velké množství dalších programovacích jazyků.

Aby mohl být program (chytrá smlouva) spuštěn, musí být přeložen do strojově čitelných instrukcí. Tento proces se nazývá kompilace. Nástroj který to dělá je kompilátor.

Kompilátor si můžete představit jako běžný translátor jazyků. Uvažujme následující situaci. Potřebujete dávat povely pracovníkovi, který umí pouze latinsky. Mezi vámi a pracovníkem je jazykový translátor. Vy můžete napsat text v jakémkoliv jazyce (anglicky, čínsky, španělsky, atd) a translátor vám ho přeloží do latiny. Díky překladu může pracovník porozumět příkazům a splnit je. Pracovník byl v našem příkladě počítač a vy programátoři. Překladač vám pomohl přeložit váš mateřský jazyk do latiny, do jazyka kterému rozumí pracovník (počítač).

V případě Cardana se zdrojový kód (on-chain část aplikace, smart contract) překládá do něčeho, co se nazývá Untyped Plutus Core (UPLC). Jedná se o reprezentaci chytré smlouvy pro Cardano na nejnižší úrovni. Tato nízkoúrovňová reprezentace je ve skutečnosti to, co se vykonává (on-chain) virtuálním strojem Cardano.

Virtuální stroj je softwarové prostředí, které spouští strojově čitelný kód. V případě Cardana je to UPLC. Poskytuje vrstvu abstrakce mezi UPLC a základním operačním systémem a hardwarem, což umožňuje spouštění on-chain části aplikace na široké škále platforem. Zjednodušeně řečeno, virtuální stroj je součástí uzlu Cardano, který vykonává chytré kontrakty.

Aiken není jen programovací jazyk. Podstatnou součástí Aikenu je také kompilátor, který dokáže zdrojový kód Aikenu zkompilovat do Untyped Plutus Core. Chytrý kontrakt může být napsán v jakémkoli programovacím jazyce, pokud existuje kompilátor, který jej přeloží do strojově čitelného jazyka (UPLC), kterému virtuální stroj Cardano rozumí, a může jej tedy spustit.

Kromě Aikenu existuje dalších 5 podobných platforem, které fungují na podobném principu. Jsou to eopsin, Helios, Plutarch, plu-ts a Scalus.

Dodejme, že pokud chytrý kontrakt napíšete tradičním způsobem, použijete framework Haskell, který ke kompilaci aplikace do UPLC používá překladač Glasgow Haskell Compiler (GHC).

Budoucnost projektu

Projekt má ambici přinést do ekosystému Cardano moderní vývojové prostředí. Aiken je malý programovací jazyk, který se velmi snadno učí. Konfigurace trvá doslova několik minut. Vývojáři ocení přívětivou zpětnou vazbu s užitečnými chybovými dialogy. Součástí projektu mají být i knihovny, které usnadní práci ostatním týmům. K dispozici je rámec pro unit testy a nástroje pro vyhodnocování nákladů na provedení a trasovací hlášky. Projekt je open source a podílí se na něm 20 přispěvatelů.

Podle plánu je vydání alfa verze s prvními pionýry naplánováno na 1. čtvrtletí 2023. Připravuje se také online playground.

Z našeho pohledu je Aiken slibný projekt, který může přilákat vývojáře, kteří chtějí budovat na Cardanu, ale z nějakého důvodu se nechtějí učit Haskell. Aiken tuto bariéru odbourává a poskytuje způsob, jak snadno a rychle, a přitom spolehlivě napsat on-chain část aplikace. Vývojáři získají moderní vývojové prostředí a veškeré nástroje. Takové projekty posouvají ekosystém Cardano výrazně kupředu.

Článek napsali Cardanians s podporou Cexplorer.

Přečtěte si celý článek: https://cexplorer.io/article/aiken-simplifies-writing-smart-contracts-for-cardano