Ranglister

Ti værktøjer til blockchain-udvikling: listen fra 2023

mm
Føj Securities.io til dine foretrukne kilder på Google
Oplysning: Securities.io kan modtage betaling, når du bruger links til produkter, vi anmelder. Det påvirker ikke vores redaktionelle vurderinger. Vi er ikke registreret investeringsrådgiver; dette er ikke investeringsrådgivning. Læs vores affiliateoplysning.
Top 10 Blockchain Programming Tools

Udviklingsværktøjer kan spare tid, når man bygger blockchain-applikationer. Denne liste fra 2023 omfatter ti sprog, programmer og typer af infrastruktur. Vedligeholdelsesstatus varierer: nogle projekter var allerede ophørt eller under afvikling.

1. Solidity

Solidity er et udbredt sprog til smarte kontrakter på Ethereum og andre EVM-kompatible netværk. Det blev udviklet i Ethereum-økosystemet, men er ikke det eneste sprog til blockchain-programmering.

Populariteten hænger sammen med et stort økosystem af biblioteker og værktøjer. Solidity egner sig til mange Ethereum-kompatible applikationer, men opfandt ikke begrebet smarte kontrakter.

Kilde: Soliditylang.org — værktøjer til blockchain-udvikling

Kilde – Soliditylang.org


Der findes omfattende dokumentation, eksempler og biblioteker til Solidity. Kildekoden kompileres til kode, som Ethereum Virtual Machine (EVM) kan køre. Den linkede dokumentationsversion 0.8.21 hører til artiklens oprindelige tidspunkt.

2. MetaMask

For at bruge decentraliserede applikationer benytter en udvikler ofte en wallet. MetaMask tilbyder blandt andet en browserudvidelse og en mobilapp til kontohåndtering, forbindelse til applikationer og underskrift af transaktioner.

Den kan forbinde til understøttede netværk og testnet. Et netværksskift flytter ikke automatisk aktiver mellem blockchains; det kræver særskilte funktioner eller tjenester. En wallet er ikke selv et blockchain-netværk og garanterer ikke applikationens sikkerhed eller likviditet.

3. Truffle

Truffle var et velkendt udviklingsmiljø til Ethereums smarte kontrakter, ikke kun ERC-20-tokens. Det tilbød kompilering, udrulning af kontrakter, sammenkædning af biblioteker og automatiske tests med blandt andet Mocha og Chai.

Den 21. september 2023 annoncerede Consensys afviklingen af Truffle og Ganache og offentlig arkivering af kodearkiverne fra den 20. december 2023. Brugerne blev blandt andet henvist til Hardhat og Foundry. Truffle er derfor et historisk værktøj i listen, ikke en uundværlig og aktivt vedligeholdt begyndelse på nye projekter.

4. Testnet til blockchains

Testnet hjælper med at afprøve kontrakter og applikationer før udrulning på hovednettet. De kan afsløre problemer med funktion og integration, men beviser ikke automatisk sikkerhed, stabilitet eller skalerbarhed.

Offentlige testnet adskiller sig fra lokale udviklingsnetværk. Ganache var en lokal udviklingsblockchain i Truffle-økosystemet, ikke et offentligt Ethereum-testnet. Ophøret af vedligeholdelsen er beskrevet ovenfor.

Et lokalt miljø giver kontrol og hurtige forsøg. Et offentligt testnet hjælper med at afprøve samspil i et delt miljø, men belastning og økonomiske forhold kan afvige fra hovednettets. Testtokens bruges til forsøg uden rigtige aktiver fra hovednettet; brug af et testnet sænker ikke i sig selv produktionsapplikationens gasgebyrer.

5. Blockchain som tjeneste (BaaS)

Med BaaS håndterer en udbyder dele af blockchain-infrastrukturen, eksempelvis noder eller netværk. Det kan forenkle etablering og drift, men pris og funktioner afhænger af tjenesten og kundens behov.

Kunden har stadig ansvar for blandt andet applikationslogik, adgangsrettigheder, konfiguration og tests. En administreret cloudtjeneste fjerner ikke automatisk alle opgaver inden for vedligeholdelse og sikkerhed.

Integration med eksisterende systemer afhænger af tilgængelige grænseflader og tekniske krav. Amazon (AMZN ) tilbyder AWS Managed Blockchain; AWS Amplify er derimod værktøjer til web- og mobilapplikationer, der kan integreres med andre tjenester. Microsoft (MSFT ) havde Azure Blockchain Service, men netop den tjeneste blev nedlagt den 10. september 2021. Det betyder ikke, at alle Azure-tjenester ophørte. Navnene skal holdes adskilt, når artiklens historiske eksempler vurderes.

6. Geth

Geth er Ethereums eksekveringsklient, implementeret i Go. Den håndterer blandt andet transaktioner, EVM-kørsel, tilstand og programmeringsgrænseflader. Udviklere kan bruge den til at udrulle kontrakter og læse oplysninger fra netværket.

Efter Ethereums overgang til proof of stake i 2022 kræver en fuld node også en konsensusklient. Geth bygger ikke automatisk broer mellem ERC-20-netværk: ERC-20 er en tokenstandard, ikke et særskilt netværk. Der udvindes ikke længere blokke ved mining på Ethereums hovednet, og kontrakter behøver ikke være skrevet i Go.

7. Mist

Mist var en selvstændig browser til decentraliserede applikationer med walletfunktion og forbindelse til en Ethereum-node. Den adskilte sig fra en browserudvidelse og var historisk tilgængelig til Linux, macOS og Windows. En fuld node krævede betydelig lagerplads.

Den 27. marts 2019 meddelte udviklerne, at Mist og Ethereum Wallet ikke længere ville blive understøttet. Kodearkivet er arkiveret. Mist var derfor ikke en aktuel anbefaling selv i 2023, og den tidligere officielle status beviser ikke sikkerhed. Det omtales her som en del af økosystemets historie.

8. Remix IDE

Remix IDE er et udviklingsmiljø til blandt andet Solidity, tilgængeligt i browseren og som desktopapplikation. Det understøtter skrivning, kompilering, analyse, test og udrulning af smarte kontrakter. Man kan begynde med lokal simulering og derefter bruge et testnet eller hovednet via en kompatibel forbindelse. Værktøjet erstatter ikke en grundig sikkerhedsvurdering.

9. Ethlint

Ethlint, tidligere Solium, kontrollerer stilregler og visse sikkerhedsproblemer i Solidity-kode og kan rette nogle problemer automatisk. Dokumentationen angiver, at den gamle solium-pakke ikke opdateres efter december 2019, og henviser brugerne til ethlint.

En linter finder ikke alle fejl og erstatter ikke tests eller revision. En overtrædelse af en stilregel får ikke nødvendigvis applikationen til at gå ned; formatering og funktionsfejl er forskellige ting. Kompatibiliteten med den anvendte Solidity-version skal også kontrolleres.

10. Solc

Solc er Solidity-kompilatoren. Den danner blandt andet bytekode og en ABI-beskrivelse fra kildekoden. Applikationer bruger ABI til at kommunikere med kontrakten.

Den oprindelige kompilator er implementeret i C++, mens solc-js giver adgang til samme kompilator fra JavaScript. Det betyder ikke, at solc kompilerer kontrakter skrevet i C++ eller JavaScript: inputsproget er Solidity. Indstillingerne skal passe til kontrakten og det valgte netværk.

Valg af værktøjer til blockchain-udvikling

De ti punkter dækker forskellige udviklingsfaser. Vurder funktioner, vedligeholdelsesstatus og kompatibilitet før valget. Værktøjerne kan lette arbejdet, men korrekte kontrakter kræver også research, tests og sikkerhedsgennemgang.

David Hamilton er en fuldtidsjournalist og en længerevarende bitcoinist. Han specialiserer sig i at skrive artikler om blockchain. Hans artikler er blevet offentliggjort i flere bitcoin-publikationer, herunder Bitcoinlightning.com