Dquadrant

Voortgangsupdate Kuber

Laatste updates

Nederland, 18/11/2022

In deze blog post geven we een voortgangsupdate ten aanzien van Kuber, maar voordat we hiermee starten willen we graag een update geven ten aanzien van ons werk voor IOHK.

Zoals je wellicht weet is Dquadrant een Plutus/Haskell ontwikkel partner van IOHK sinds begin 2021 en in het huidige kwartaal van 2022 zijn wij verantwoordelijk voor het in behandeling nemen en mogelijk oplossen van Plutus community tickets naast overig belangrijk werk.

SECP testing

Onder de category overig belangrijk werk hebben wij de taak toegewezen gekregen om de SECP library te testen en deze testen te integreren in de standaard test pipeline van de Cardano-node, wat een uitdaging opzich was omdat dit nooit eerder voorheen was gedaan door een ander extern team.  Bij de oplevering en uiteindelijke goedkeuring van de SECP resultaten waren verschillende belanghebbenden betrokken elk met hun eigen standpunten vanuit hun verantwoordelijkheden.

Daarnaast stond en nogal wat tijdsdruk op deze taak. De gehele DeFi ontwikkelcommunity op Cardano verwachtte van IOHK de oplevering van SECP met de volgende iteratie tag 1.35.4 van de Cardano-node. De deadline niet behalen was dus geen optie omdat dit ernstige consequenties zou hebben gehad voor deze DeFi projecten en het Cardano ecosysteem in zijn geheel.

Wij kunnen met trots mededelen dat ons team op tijd heeft geleverd en heeft kunnen voldoen aan alle verwachtingen van de betrokken partijen. De opgeleverde test resultaten zijn voor akkoord bevonden door alle betrokken belanghebbenden. Cardano-node 1.35.4 met SECP functionaliteit is op 08/11/2022 door IOHK opgeleverd aan de Cardano ontwikkel gemeenschap binnen de planning.

Voor diegenen die niet weten waar SECP over gaat, SECP is een bibliotheek met cryptografische primitieven die gebruikt worden om een transactie met gevoelige data te beveiligen. Cryptografische primitieven spelen een belangrijke rol in interoperability, cross-chain transacties. Iedereen heeft waarschijnlijk wel een nieuwsartikel gelezen over cross-bridge hacks in DeFi, welke alleen in de laaste 2 jaren goed waren voor een totaal verlies van $ 2.5 B in assets. De importantie van het testen van deze bibliotheek met de gepaste test vectoren moge duidelijk zijn.

Als je meer wilt weten over het belang van deze cryptografische primitieven voor Cardano, lees er dan meer over in de volgende blog post door IOHK over SECP

Naast al het belangrijke werk voor IOHK heeft ons team gewerkt aan verschillende overige taken waarvan hieronder de meest belangrijke die we met je willen delen.

  • Samenwerking tussen TxPipe.io en Dquadrant om Kuber aan te bieden als onderdeel van hun aanbod voor de Cardano ontwikkelaarsgemeenschap
  • Implementatie van Plutus/Haskell code compiler in de Kuber IDE , “Kuber Playground”

Samenwerking tussen TxPipe.io en Dquadrant

TxPipe.io en Dquadrant werken samen in een poging om meer ontwikkelaars in het Cardano ecosysteem te brengen. TxPipe.io levert het Dmeter Run platform, een infrastructuur als een dienst met een bibliotheek aan Cardano bouwstenen. Kuber wordt als oplossing toegevoegd aan deze bibliotheek toegevoegd zodat ontwikkelaars eenvoudig EUTxO transacties kunnen samen stellen en te balanceren.

Ontwikkelaars kunnen op het Dmeter Run platform eenvoudig instances deployen van hun favoriete Cardano bouwstenen inclusief Kuber. Ontwikkelaars hoeven zodoende niet op de hoogte te zijn van alle onderliggende infrastructuur en afhankelijkheden maar kunnen direct aan de slag met het ontwikkelen van DApps op Cardano gebruik makende van Kuber om eenvoudige EUTxO transacties samen te stellen en te balanceren.

De huidige implementatie van Kuber op Dmeter Run is in de demo fase en reeds werkend. Beide teams hebben nog wat werk te doen voor de finale publieke oplevering.

Eenmaal beschikbaar voor ontwikkelaars en/of studenten zal dit officieel worden aangekondigd voor de Cardano ontwikkel gemeenschap.

Via deze weg willen we het TxPipe.io team bedanken voor deze samenwerking om het Cardano ontwikkel ecosysteem sterker te maken.

"Kuber zal snel beschikbaar zijn op Dmeter Run van TxPipe.io"

Implementatie Plutus/Haskell code compiler in de Kuber IDE

Een andere belangrijke taak waar ons team aan heeft gewerkt is het toevoegen van Plutus/Haskell code compiler in de Kuber IDE.

Waarom is dit zo belangrijk? Voor het uitvoeren van een transactie middels Plutus/Haskell zijn een drietal zaken van belang: cbor Hex, een valide redeemer (de data die de gebruiker aanbiedt aan een smart contract) en een Plutus V2 script. De hash (referentie) van het Plutus V2 script en de cbor Hex worden verkregen middels compilatie van de Plutus/Haskell code en zijn gezamelijk met de redeemer de basis voor het ondertekenen van de transactie.

Ons doel is om gebruiksvriendelijk gereedschap voor het Cardano development ecosysteem te ontwikkelen. De Kuber IDE dient minimale basisfunctionaliteit te bevatten die het leven van een ontwikkelaar eenvoudiger maken.

Voor een Plutus/Haskell ontwikkelaar zou het een verschrikkelijke ervaring zijn om de IDE waarin men codeerd te moeten verlaten om de code te compileren. Dit is de reden waarom wij een inline code compiler beschikbaar wilden maken voor een betere gebruikerservaring die helpt bij de adoptie door ontwikkelaars van het Cardano platform.

Echter dit was makkelijker gezegd dan gedaan en ons team kwam voor diverse uitdagingen te staan die moesten worden overwonnen. De Plutus Playground van IOHK heeft een inline code compiler, ons team had geen toegang tot deze informatie of kennis om deze te implementeren. Bij navraag bleek dat er tevens geen documentatie of source code beschikbaar was op basis waarvan wij zouden kunnen starten.

Dus ons team stond voor een uitdaging, eentje die ze graag aangaan. Het was geen gemakkelijk taak vanwege het ontbreken van referentie documentatie en open source code, echter onze ontwikkelaars hebben een geweldige inspanning verricht en zijn in staat gebleken een server side api te bouwen op de Haskell compiler. Deze api maakt het mogelijk om Plutus/Haskell code geschreven in de Kuber IDE te compileren.

De volgende uitdaging waar ons team nu voor staat is om de server zijde oplossing voor de Plutus/Haskell compiler schaalbaar te maken.

 

Raak betrokken bij de ontwikkeling van Kuber, bezoek ons Kuber Discord kanaal.

Als je ons werk leuk vindt, volg ons @DquadrantNL@CnftRegistry en @Juno_stakepool en stake met JUNO stake pool.