Rankingit
Kymmenen lohkoketjukehityksen työkalua: vuoden 2023 lista

Kehitystyökalut voivat säästää aikaa lohkoketjusovellusten rakentamisessa. Tämä vuoden 2023 lista esittelee kymmenen kieltä, ohjelmaa ja infrastruktuuriluokkaa. Se ei ole pelkästään nykyisten tuotteiden paremmuusjärjestys: osa projekteista oli jo lopetettu tai poistumassa käytöstä.
1. Solidity
Solidity on yleisesti käytetty älysopimuskieli Ethereumissa ja muissa EVM-yhteensopivissa verkoissa. Se kehitettiin Ethereum-ekosysteemissä, mutta ei ole ainoa lohkoketjuohjelmointikieli.
Suosio liittyy laajaan kirjastojen ja työkalujen ekosysteemiin. Solidity soveltuu moniin Ethereum-yhteensopiviin sovelluksiin, mutta ei keksinyt älysopimuksen käsitettä.

Lähde – Soliditylang.org
Soliditylle on runsaasti dokumentaatiota, esimerkkejä ja kirjastoja. Lähdekoodi käännetään Ethereum Virtual Machinen (EVM) suorittamaksi koodiksi. Linkitetty dokumentaation versio 0.8.21 kuuluu artikkelin alkuperäiseen ajankohtaan.
2. MetaMask
Hajautettujen sovellusten kanssa toimimiseen kehittäjä käyttää usein lompakkoa. MetaMask tarjoaa muun muassa selainlaajennuksen ja mobiilisovelluksen tilien hallintaan, sovelluksiin yhdistämiseen ja tapahtumien allekirjoittamiseen.
MetaMask voi käyttää tuettuja verkkoja ja testiverkkoja. Verkon vaihtaminen ei automaattisesti siirrä varoja lohkoketjusta toiseen. Siirto edellyttää erillisiä tuettuja toimintoja tai palveluja. Lompakko itsessään ei ole lohkoketjuverkko eikä takaa sovelluksen turvallisuutta tai likviditeettiä.
3. Truffle
Truffle oli tunnettu Ethereum-älysopimusten kehitysympäristö, ei vain ERC-20-tokeneille. Se tarjosi kääntämistä, käyttöönottoa, kirjastojen linkitystä ja automatisoituja testejä muun muassa Mochan ja Chain avulla.
Consensys ilmoitti 21. syyskuuta 2023 Trufflen ja Ganachen alasajosta ja koodin julkisesta arkistoinnista 20. joulukuuta 2023 alkaen. Se ohjasi käyttäjiä esimerkiksi Hardhatiin ja Foundryyn. Truffle on tässä historiallinen työkalu, ei välttämätön, aktiivisesti ylläpidetty lähtökohta uudelle projektille.
4. Lohkoketjujen testiverkot
Testiverkot auttavat kokeilemaan sopimuksia ja sovelluksia ennen tuotantoverkkoa. Ne voivat paljastaa toiminta- ja integraatio-ongelmia, mutta eivät automaattisesti todista turvallisuutta, vakautta tai skaalautuvuutta.
Julkiset testiverkot ja paikalliset kehitysverkot ovat eri ympäristöjä. Ganache oli Truffle-ekosysteemin paikallinen kehityslohkoketju, ei julkinen Ethereum-testiverkko. Sen ylläpidon päättyminen on kuvattu edellä.
Paikallisympäristö antaa hallintaa ja mahdollistaa nopeat kokeilut. Julkinen testiverkko auttaa kokeilemaan vuorovaikutusta jaetussa ympäristössä, mutta kuormitus ja taloudelliset olot voivat poiketa pääverkosta. Testitokenit on tarkoitettu kokeiluun ilman oikeita pääverkon varoja; testiverkon käyttö ei itsessään alenna tuotantosovelluksen gas-maksuja.
5. Lohkoketju palveluna (BaaS)
BaaS-mallissa palveluntarjoaja hallinnoi osia lohkoketjuinfrastruktuurista, esimerkiksi solmuja tai verkkoa. Se voi helpottaa käyttöönottoa ja toimintaa, mutta kustannukset ja ominaisuudet riippuvat palvelusta ja sovelluksesta.
Palveluntarjoaja voi hoitaa ylläpitoa, päivityksiä ja valvontaa sopimuksen rajoissa. Asiakas vastaa edelleen esimerkiksi sovelluksesta, käyttöoikeuksista, asetuksista ja niiden testaamisesta. Kaikki vastuu ei siirry tarjoajalle.
Esimerkki on Amazon (AMZN ) ja Amazon Managed Blockchain. AWS Amplify on eri työkalu verkko- ja mobiilisovelluksille ja voi toimia yhdessä lohkoketjupalvelujen kanssa. Microsoft (MSFT ) tarjoaa Azure-pilvi-infrastruktuuria, mutta erillinen Azure Blockchain Service oli lopetettu jo syyskuussa 2021. Azure ei ole sama asia kuin lopetettu palvelu. Integraatio ja tuki on arvioitava tuotekohtaisesti.
6. Geth
Go-kielellä kirjoitettu Geth on Ethereumin suoritusasiakas. Se käsittelee tapahtumia, suorittaa sopimuksia, hallitsee tilaa ja tarjoaa rajapintoja tietojen kyselyyn ja tapahtumien lähettämiseen.
Ethereumin siirryttyä proof-of-stakeen vuonna 2022 Geth toimii täydellisessä solmussa yhdessä konsensusasiakkaan kanssa. Se ei automaattisesti rakenna siltoja ERC-20-verkkojen välille tai louhi mielivaltaisia tokeneita. ERC-20 on tokenstandardi, ei verkko. Muilla työkaluilla kehitetään sopimuskoodi, jonka käyttöönottoa ja suorittamista Geth tukee. Louhinta Ethereumin pääverkossa kuuluu päättyneeseen proof-of-work-vaiheeseen.
7. Mist
Mist oli itsenäinen Ethereum-dappselain ja siihen liittyi Ethereum Wallet. Se ei ollut MetaMaskin kaltainen selainlaajennus. Se pystyi käyttämään paikallista solmua ja siitä oli Linux-, macOS- ja Windows-versiot.
Kehittäjät ilmoittivat 27. maaliskuuta 2019, ettei Mistiä ja Ethereum Walletia enää tueta. Koodivarasto on arkistoitu. Mist ei siis ollut ajankohtainen suositus edes vuonna 2023, eikä historiallinen virallinen asema todista turvallisuutta. Maininta auttaa ymmärtämään ekosysteemin historiaa.
8. Remix IDE
Remix IDE on kehitysympäristö esimerkiksi Soliditylle, käytettävissä selaimessa ja työpöytäsovelluksena. Se tukee älysopimusten kirjoittamista, kääntämistä, analysointia, testaamista ja käyttöönottoa. Ensin voidaan käyttää paikallista simulointia ja sitten tuettua testi- tai tuotantoverkkoa. Työkalu ei korvaa kattavaa turvallisuusarviointia.
9. Ethlint
Ethlint, aiemmin Solium, tarkistaa Solidity-koodista tyylisääntöjä ja joitakin turvallisuusongelmia sekä korjaa osan automaattisesti. Dokumentaation mukaan vanha solium-paketti ei saa päivityksiä joulukuun 2019 jälkeen, ja käyttäjiä ohjataan ethlintiin.
Linter ei löydä kaikkia virheitä eikä korvaa testejä tai auditointia. Tyylisäännöstä poikkeaminen ei yksin välttämättä kaada sovellusta; toiminnallinen virhe ja muotoilu ovat eri asioita. Myös Solidity-version yhteensopivuus on tarkistettava.
10. Solc
Solc on Solidity-kääntäjä. Se tuottaa lähdekoodista muun muassa tavukoodin ja ABI-rajapintakuvauksen, jolla sovellukset voivat viestiä sopimuksen kanssa.
Natiivi kääntäjä on toteutettu C++:lla, ja solc-js tuo saman kääntäjän JavaScriptin käyttöön. Tämä ei tarkoita, että solc hyväksyisi C++- tai JavaScript-sopimuksia: syöttökieli on Solidity. Kääntäjän asetusten on sovittava sopimukseen ja kohdeverkkoon.
Lohkoketjukehityksen työkalujen valinta
Nämä kymmenen kohtaa kattavat kehityksen eri vaiheita. Arvioi ominaisuudet, ylläpitotilanne ja yhteensopivuus ennen valintaa. Työkalut voivat helpottaa työtä, mutta sopimusten oikeellisuus edellyttää myös tutkimista, testaamista ja turvallisuustarkastuksia.












