Rankningar

Tio verktyg för blockkedjeutveckling: listan från 2023

mm
Lägg till Securities.io bland dina föredragna källor på Google
Information: Securities.io kan få ersättning när du använder länkar till produkter vi granskar. Det påverkar inte våra redaktionella bedömningar. Vi är inte registrerad investeringsrådgivare; detta är inte investeringsråd. Läs vår affiliateinformation.
Top 10 Blockchain Programming Tools

Utvecklingsverktyg kan spara tid när man bygger blockkedjeapplikationer. Denna lista från 2023 omfattar tio språk, program och typer av infrastruktur. Underhållsläget varierar: några projekt hade redan lagts ned eller var på väg att avvecklas.

1. Solidity

Solidity är ett vanligt språk för smarta kontrakt på Ethereum och andra EVM-kompatibla nätverk. Det utvecklades i Ethereum-ekosystemet, men är inte det enda språket för blockkedjeprogrammering.

Populariteten hänger samman med ett stort ekosystem av bibliotek och verktyg. Solidity passar många Ethereum-kompatibla applikationer, men introducerade inte själva begreppet smarta kontrakt.

Källa: Soliditylang.org — verktyg för blockkedjeutveckling

Källa – Soliditylang.org


Det finns omfattande dokumentation, exempel och bibliotek för Solidity. Källkoden kompileras till kod som Ethereum Virtual Machine (EVM) kan köra. Den länkade dokumentationsversionen 0.8.21 hör till artikelns ursprungliga tidpunkt.

2. MetaMask

För att använda decentraliserade applikationer behöver utvecklaren ofta en plånbok. MetaMask erbjuder bland annat ett webbläsartillägg och en mobilapp för kontohantering, anslutning till applikationer och signering av transaktioner.

Plånboken kan ansluta till nätverk och testnät som den stöder. Att byta nätverk flyttar inte automatiskt tillgångar mellan blockkedjor; sådana överföringar kräver särskilda funktioner eller tjänster. Plånboken är inte själv ett blockkedjenätverk och garanterar inte en applikations säkerhet eller likviditet.

3. Truffle

Truffle var en etablerad utvecklingsmiljö för Ethereums smarta kontrakt, inte enbart ERC-20-token. Den erbjöd kompilering, driftsättning, länkning av bibliotek och automatiserade tester med bland annat Mocha och Chai.

Den 21 september 2023 meddelade Consensys att Truffle och Ganache skulle avvecklas och att kodarkiven skulle arkiveras offentligt den 20 december 2023. Användare hänvisades bland annat till Hardhat och Foundry. Truffle är därför ett historiskt verktyg här, inte en nödvändig och aktivt underhållen utgångspunkt för nya projekt.

4. Testnät för blockkedjor

Testnät gör det möjligt att prova kontrakt och applikationer före driftsättning i huvudnätet. De kan avslöja funktions- och integrationsproblem, men bevisar inte automatiskt säkerhet, stabilitet eller skalbarhet.

Offentliga testnät och lokala utvecklingsnät är olika miljöer. Ganache var en lokal utvecklingsblockkedja i Truffle-ekosystemet, inte ett offentligt Ethereum-testnät. Avvecklingen beskrivs ovan.

En lokal miljö ger kontroll och snabba experiment. Ett offentligt testnät gör det möjligt att prova samspel i en delad miljö, men belastning och ekonomiska förutsättningar kan skilja sig från huvudnätets. Testtoken används för försök utan riktiga huvudnätstillgångar; testningen sänker inte i sig produktionsapplikationens gasavgifter.

5. Blockkedja som tjänst (BaaS)

Med BaaS hanterar en leverantör delar av blockkedjeinfrastrukturen, exempelvis noder eller nätverk. Det kan förenkla etablering och drift, men kostnader och funktioner beror på tjänsten och kundens behov.

Kunden ansvarar fortfarande för exempelvis applikationslogik, behörigheter, konfiguration och tester. En hanterad molntjänst tar inte automatiskt bort alla underhålls- och säkerhetsuppgifter.

Integration med befintliga system beror på tillgängliga gränssnitt och tekniska krav. Amazon (AMZN ) erbjuder AWS Managed Blockchain; AWS Amplify är i stället verktyg för webb- och mobilapplikationer som kan integreras med andra tjänster. Microsoft (MSFT ) hade Azure Blockchain Service, men just den tjänsten avvecklades den 10 september 2021. Det betyder inte att alla Azure-tjänster upphörde. Dessa namn måste skiljas åt när man bedömer artikelns historiska exempel.

6. Geth

Geth är Ethereums exekveringsklient, implementerad i Go. Den hanterar bland annat transaktioner, EVM-körning, tillstånd och programmeringsgränssnitt. Utvecklare kan använda den för att driftsätta kontrakt och läsa information från nätverket.

Sedan Ethereum övergick till proof of stake 2022 behöver en fullständig nod även en konsensusklient. Geth skapar inte automatiskt broar mellan ERC-20-nätverk: ERC-20 är en tokenstandard, inte ett separat nätverk. Brytning av block sker inte längre på Ethereums huvudnät, och kontrakt behöver inte skrivas i Go.

7. Mist

Mist var en fristående webbläsare för decentraliserade applikationer med plånboksfunktion och anslutning till en Ethereum-nod. Det skilde sig från ett webbläsartillägg och fanns historiskt för Linux, macOS och Windows. Att köra en fullständig nod krävde betydande lagringsutrymme.

Utvecklarna meddelade den 27 mars 2019 att Mist och Ethereum Wallet inte längre skulle stödjas. Kodarkivet har arkiverats. Mist var alltså inte en aktuell rekommendation ens 2023, och tidigare officiell status bevisar inte säkerhet. Det tas här upp som en del av ekosystemets historia.

8. Remix IDE

Remix IDE är en utvecklingsmiljö för bland annat Solidity, tillgänglig i webbläsaren och som skrivbordsprogram. Den stöder skrivning, kompilering, analys, testning och driftsättning av smarta kontrakt. Man kan först använda lokal simulering och därefter ett test- eller huvudnät via en kompatibel anslutning. Verktyget ersätter inte en fullständig säkerhetsgranskning.

9. Ethlint

Ethlint, tidigare Solium, kontrollerar stilregler och vissa säkerhetsproblem i Solidity-kod samt kan rätta en del problem automatiskt. Dokumentationen anger att det gamla solium-paketet inte uppdateras efter december 2019 och hänvisar användare till ethlint.

En linter hittar inte alla fel och ersätter inte tester eller revision. Ett avsteg från en stilregel får inte nödvändigtvis en applikation att krascha; formatering och funktionsfel är olika saker. Kontrollera också stödet för den Solidity-version som används.

10. Solc

Solc är kompilatorn för Solidity. Den omvandlar källkod till bland annat bytekod och en ABI-beskrivning som applikationer använder för att kommunicera med kontraktet.

Den inbyggda kompilatorn är implementerad i C++, och solc-js gör samma kompilator tillgänglig från JavaScript. Det betyder inte att solc kompilerar kontrakt skrivna i C++ eller JavaScript: inmatningsspråket är Solidity. Kompilatorns inställningar måste passa kontraktet och målnätverket.

Att välja verktyg för blockkedjeutveckling

De tio punkterna täcker olika delar av utvecklingsarbetet. Bedöm funktioner, underhållsläge och kompatibilitet före valet. Verktygen kan underlätta arbetet, men korrekta kontrakt kräver också efterforskning, tester och säkerhetsgranskning.

David Hamilton är en heltidsjournalist och en långvarig bitcoinist. Han specialiserar sig på att skriva artiklar om blockchain. Hans artiklar har publicerats i flera bitcoinpublikationer, inklusive Bitcoinlightning.com