Cardano hard fork upgrade

Cardano zet Java in om nieuwe ontwikkelaars naar blockchain te trekken

Altcoin Nieuws29 aug , 13:41
Cardano probeert een veel grotere groep programmeurs aan te spreken zonder hen eerst een nieuwe taal te laten leren. Java-ontwikkelaars kunnen vandaag al transacties bouwen, blockchain-data verwerken en lokale Cardano-netwerken testen met bekende tools.
De volgende stap gaat verder.
Met Yano, JuLC en ZeroJ wordt onderzocht of Java straks ook direct kan worden gebruikt voor nodes, smart contracts en zero-knowledge proofs.

Cardano mikt op Java-ontwikkelaars

De boodschap is simpel.
Wie al met Java, Maven, Spring Boot en Docker werkt, hoeft zijn complete werkwijze niet weg te gooien om met Cardano te bouwen.
Dat kan belangrijk zijn.
Java wordt breed gebruikt binnen banken, grote bedrijven en zakelijke softwareteams. Cardano hoeft daardoor niet alleen te vissen in de relatief kleine groep programmeurs die al met crypto bezig is.

Vier Java-tools zijn vandaag al bruikbaar

De basis komt grotendeels uit het open-source BloxBean-project.
Vier onderdelen spelen daarin een belangrijke rol.
Cardano Client Lib laat Java-applicaties transacties bouwen en ondertekenen. De library kan daarnaast sleutels en adressen beheren en verbinding maken met het Cardano-netwerk.
Yaci implementeert de nodeprotocollen van Cardano in Java.
Yaci Store leest en indexeert gegevens uit de blockchain.
Yaci DevKit laat ontwikkelaars vervolgens lokaal een tijdelijk Cardano-netwerk starten om code te testen.
Dat laatste voorkomt dat een team voor iedere test afhankelijk is van een openbaar testnet.

Spring Boot en Maven kunnen gewoon blijven

Daar zit waarschijnlijk het grootste voordeel voor traditionele softwareteams.
Een Java-ontwikkelaar kan dependencies via Maven toevoegen zoals bij iedere andere applicatie.
Blockchain-events kunnen via Spring Boot worden verwerkt.
Lokale omgevingen kunnen met Docker worden gestart en weer weggegooid.
De programmeur moet nog steeds begrijpen hoe Cardano werkt. Denk aan UTXO's, transacties en validators.
Maar hij hoeft niet tegelijkertijd een nieuw build-systeem, nieuwe programmeertaal en compleet andere testomgeving te leren.
Dat verlaagt de eerste technische drempel.

De Java-stack draait al in echte projecten

Volgens de Cardano Foundation blijft het niet bij demo's.
Reeve, het platform van de Foundation voor controleerbare financiële gegevens, is in Java gebouwd en gebruikt Spring Boot.
Ook OriginateNavio gebruikt de Java-stack voor het vastleggen en controleren van informatie uit toeleveringsketens.
Daarnaast gebruikt USDM Cardano Client Lib voor onderdelen buiten de chain zelf.
USDM is een door fiatgeld gedekte stablecoin op Cardano.
De Foundation maakt daarmee een duidelijk onderscheid: de bestaande Java-tools kunnen nu worden gebruikt voor echte applicaties.
De drie nieuwste projecten zijn veel minder ver.

Yano moet een Cardano-datanode in Java worden

Het eerste previewproject heet Yano.
Dat is een Cardano-datanode die volledig in Java wordt gebouwd bovenop Yaci en Cardano Client Lib.
Yano bewaart de toestand van de ledger in RocksDB.
Daaronder vallen onder meer UTXO's, staking, delegaties, rewards, epoch-snapshots en governancegegevens.
Ook rollbacks worden ondersteund.
Yano kan zelfstandig draaien, maar ook als library binnen een bestaande Java-applicatie worden opgenomen.

Een node direct in dezelfde applicatie

Dat laatste opent een interessante route.
Normaal draait een blockchainnode vaak als aparte service naast de applicatie.
Yano moet het mogelijk maken bepaalde nodefuncties direct binnen hetzelfde Java-proces te draaien.
Dat kan handig zijn voor indexers, wallets, validatietools en tests.
Het project kan bovendien blokken vanaf genesis reproduceerbaar afspelen.
Voor softwareteams betekent dat dat dezelfde blockchainstatus opnieuw kan worden opgebouwd om fouten te testen.
Maar Yano is nog niet af.
De Foundation noemt het project expliciet in actieve ontwikkeling.

JuLC gaat een stap verder

JuLC probeert iets ambitieuzers.
Het project compileert een ondersteunde subset van Java naar UPLC, de codevorm waarin Plutus V3-validators uiteindelijk op Cardano worden uitgevoerd.
Een ontwikkelaar kan daarmee een validator als Java-code schrijven.
JuLC zet die vervolgens om naar code die Cardano kan uitvoeren.
Dat betekent in theorie dat Java-programmeurs smart contracts kunnen schrijven zonder eerst een aparte on-chain taal te leren.

Nog lang geen vrijbrief voor Java-contracts

Daar hoort wel een dikke waarschuwing bij.
De Foundation noemt JuLC een experimenteel onderzoeksproject dat niet bedoeld is voor productie.
Ook wordt niet iedere Java-functie ondersteund.
JuLC werkt met een beperkte subset van de taal die voorspelbaar naar UPLC kan worden vertaald.
Dat is logisch.
Een smart contract moet deterministisch draaien en mag niet zomaar alle mogelijkheden van een normale Java-applicatie gebruiken.
De belofte is dus interessant.
De productierijpheid ontbreekt nog.

Lokale tests zonder echte node

JuLC bevat wel al verschillende onderdelen die verder gaan dan een simpel compilerexperiment.
Er is ondersteuning voor onder meer records, sealed interfaces, pattern matching en lambdas.
Ook bestaat een lokale testomgeving.
Daarmee kunnen validators worden uitgevoerd zonder eerst een Cardano-node te starten.
Voor ontwikkelteams kan dat uiteindelijk veel verschil maken.
Smart-contractcode testen zou dan meer gaan lijken op het testen van gewone Java-software.

ZeroJ richt zich op zero-knowledge proofs

Het derde project is ZeroJ.
Daarmee wil BloxBean zero-knowledge proofs vanuit Java toegankelijk maken.
Zo'n bewijs laat iemand aantonen dat een bepaalde uitspraak klopt zonder alle onderliggende gegevens openbaar te maken.
ZeroJ gebruikt onder meer Groth16 op de BLS12-381-curve.
Ontwikkelaars kunnen circuits in Java definiëren, bewijzen genereren en die lokaal controleren.
Via JuLC kunnen zulke bewijzen uiteindelijk ook door een Plutus V3-validator op Cardano worden gecontroleerd.

Ook ZeroJ is nog experimenteel

Net als JuLC is ZeroJ niet bedoeld om vandaag een productieapplicatie op te bouwen.
De Foundation omschrijft het project als experimenteel en alleen geschikt voor onderzoek en leren.
API's en opslagformaten kunnen nog veranderen.
Dat onderscheid is belangrijk.
De bestaande BloxBean-stack is de praktische laag van vandaag.
Yano, JuLC en ZeroJ laten vooral zien wat Java later mogelijk nog dichter bij de kern van Cardano kan brengen.

Cardano probeert buiten de cryptobubbel te vissen

Daar zit het bredere verhaal.
Blockchainnetwerken concurreren vaak om dezelfde groep Web3-ontwikkelaars.
Cardano probeert met Java ook traditionele softwareteams binnen te halen.
Die groep is veel groter.
Een bank, verzekeraar of logistiek bedrijf heeft waarschijnlijk al Java-ontwikkelaars in dienst.
Als zo'n team met dezelfde taal blockchainfunctionaliteit kan toevoegen, wordt de overstap kleiner.
Dat garandeert natuurlijk geen nieuwe gebruikers of applicaties.
Goede tooling lost niet automatisch het distributieprobleem van een blockchain op.

Smart contracts kunnen de echte test worden

De grootste sprong zou daarom JuLC zijn.
Off-chain software in Java bouwen is nuttig.
Smart contracts rechtstreeks in Java schrijven verandert de ontwikkelaarsmarkt veel sterker.
Daarvoor moet JuLC eerst stabiel, controleerbaar en veilig genoeg worden voor echt geld.
Bij smart contracts telt één fout immers harder dan bij een normale webapp.
Code kan direct vermogen beheren.
Daarom is “werkt in een demo” nog lang niet hetzelfde als “klaar voor miljoenen aan assets”.

Java kan Cardano wel een grotere vijver geven

Cardano hoeft met deze strategie geen nieuwe programmeertaal populair te maken voordat een bedrijf kan beginnen.
Dat is het interessante gedeelte.
Vandaag kunnen Java-teams al transacties bouwen, data lezen en lokale netwerken draaien.
Morgen kunnen daar mogelijk validators en zero-knowledge toepassingen bijkomen.
De experimentele projecten moeten nog bewijzen dat ze die stap aankunnen.
Maar de inzet is helder.
Cardano probeert niet alleen meer blockchainontwikkelaars te winnen. Het probeert bestaande Java-ontwikkelaars ervan te overtuigen dat ze er al één kunnen worden.

Stop met te veel betalen voor je crypto. Bij de Amsterdamse exchange Finst handel je tegen de laagste tarieven van Nederland, zonder verborgen kosten.

👀 Bekijk Finst nu

Let op: Beleggen in crypto brengt risico’s met zich mee. Handel alleen met geld dat u kunt missen.

Ga verder met lezen
loading
Dit vind je misschien ook leuk
Laat mensen jouw mening weten

Loading