Rankings

Tien hulpmiddelen voor blockchainontwikkeling: de lijst uit 2023

mm
Voeg Securities.io toe aan je voorkeursbronnen op Google
Toelichting: Securities.io kan een vergoeding ontvangen wanneer u links naar beoordeelde producten gebruikt. Dit beïnvloedt onze redactionele beoordelingen niet. Wij zijn geen geregistreerd beleggingsadviseur; dit is geen beleggingsadvies. Lees onze affiliateverklaring.
Top 10 Blockchain Programming Tools

Ontwikkelhulpmiddelen kunnen tijd besparen bij het bouwen van blockchainapplicaties. Deze lijst uit 2023 bespreekt tien talen, programma’s en infrastructuurcategorieën. Het is geen rangschikking van uitsluitend actuele producten: enkele genoemde projecten waren toen al beëindigd of in afbouw.

1. Solidity

Solidity is een veelgebruikte taal voor slimme contracten op Ethereum en andere EVM-compatibele netwerken. De taal werd ontwikkeld binnen het Ethereum-ecosysteem; ze is niet de enige blockchainprogrammeertaal.

De populariteit hangt samen met het uitgebreide ecosysteem, de bibliotheken en ontwikkelhulpmiddelen. Solidity is geschikt voor veel Ethereumcompatibele toepassingen, maar heeft slimme contracten niet als concept uitgevonden.

Bron: Soliditylang.org — hulpmiddelen voor blockchainontwikkeling

Bron – Soliditylang.org


Er bestaan uitgebreide documentatie, voorbeelden en bibliotheken voor het schrijven van Solidity-contracten. De broncode wordt gecompileerd naar uitvoerbare code voor de Ethereum Virtual Machine (EVM). De gelinkte documentatieversie 0.8.21 hoort bij de oorspronkelijke periode.

2. MetaMask

Voor interactie met gedecentraliseerde applicaties gebruiken ontwikkelaars vaak een wallet. MetaMask biedt onder meer een browserextensie en mobiele app waarmee gebruikers accounts beheren, verbinding maken en transacties ondertekenen.

MetaMask kan ondersteunde netwerken en testnetwerken gebruiken. Van netwerk wisselen is niet hetzelfde als automatisch activa tussen blockchains verplaatsen. Overbrugging vereist aparte ondersteunde functies of diensten; de wallet zelf is geen blockchainnetwerk en garandeert geen liquiditeit of veiligheid van een applicatie.

3. Truffle

Truffle was een bekende ontwikkelomgeving voor Ethereumcontracten, waaronder maar niet uitsluitend ERC-20-tokens. Het bood compilatie, uitrol, koppeling van bibliotheken en geautomatiseerde tests, onder meer met Mocha en Chai.

Consensys kondigde op 21 september 2023 de afbouw van Truffle en Ganache aan, met archivering van de code vanaf 20 december 2023. Het verwees gebruikers naar alternatieven zoals Hardhat en Foundry. Truffle moet hier dus als historisch hulpmiddel worden gelezen, niet als een noodzakelijk, actief onderhouden startpunt.

4. Testnetwerken voor blockchains

Testnetwerken helpen contracten en applicaties uit te proberen voordat ze op een productienetwerk worden gebruikt. Ze kunnen functionele en integratieproblemen zichtbaar maken, maar bewijzen niet automatisch veiligheid, stabiliteit of schaalbaarheid.

Er zijn openbare testnetwerken en lokale ontwikkelnetwerken. Ganache was een lokale ontwikkelblockchain uit het Truffle-ecosysteem, niet een openbaar Ethereumtestnet. De onderhoudsstatus van beide projecten is hierboven toegelicht.

Lokale omgevingen bieden controle en snelle herhaling; openbare testnetwerken helpen interacties in een meer gedeelde omgeving te testen. Hun belasting en economische omstandigheden kunnen van mainnet verschillen. Testtokens zijn bedoeld voor experimenten, zodat geen echt mainnetgeld nodig is voor die tests; dit verlaagt niet automatisch de gasprijs van de uiteindelijke productieapplicatie.

5. Blockchain als dienst (BaaS)

Bij blockchain als dienst beheert een aanbieder delen van de blockchaininfrastructuur, bijvoorbeeld nodes of een netwerk. Dit kan de opzet en het operationele beheer vereenvoudigen, maar kosten en mogelijkheden hangen af van de dienst en de toepassing.

De aanbieder kan taken zoals hosting, updates en monitoring overnemen binnen de afgesproken dienstverlening. De klant blijft verantwoordelijk voor onder meer de applicatie, toegangsrechten, configuratie en het testen daarvan; niet alle verantwoordelijkheden verdwijnen.

Een voorbeeld is Amazon (AMZN ) met Amazon Managed Blockchain. AWS Amplify is daarentegen een hulpmiddel voor web- en mobiele applicaties, dat met blockchaindiensten kan samenwerken. Microsoft (MSFT ) biedt Azure-cloudinfrastructuur, maar de afzonderlijke Azure Blockchain Service was al in september 2021 beëindigd. Azure is niet hetzelfde als die opgeheven dienst. Integratiemogelijkheden en ondersteuning moeten per product worden beoordeeld.

6. Geth

Geth, geschreven in Go, is een Ethereum-uitvoeringsclient. Het verwerkt transacties, voert contracten uit, beheert de toestand en biedt interfaces voor het opvragen van gegevens en indienen van transacties.

Sinds Ethereum in 2022 overging op proof-of-stake, werkt Geth voor een volledige Ethereumnode samen met een consensusclient. Het maakt niet automatisch bridges tussen ERC-20-netwerken en mint niet willekeurig tokens. ERC-20 is een tokenstandaard, geen afzonderlijk netwerk. Contractontwikkeling gebeurt met andere hulpmiddelen; Geth ondersteunt de uitvoering en uitrol ervan. Mining op Ethereum-mainnet hoort bij de beëindigde proof-of-workperiode.

7. Mist

Mist was een zelfstandige Ethereum-dappbrowser, met een verwante Ethereum Wallet, in plaats van een browserextensie zoals MetaMask. Het kon samenwerken met een lokale node en had versies voor Linux, macOS en Windows.

De ontwikkelaars maakten op 27 maart 2019 bekend dat Mist en Ethereum Wallet niet langer werden ondersteund. De repository is gearchiveerd. Mist was dus in 2023 al geen actuele aanbeveling, en een historische officiële status is geen bewijs van veiligheid. De vermelding dient om de ontwikkeling van het ecosysteem te begrijpen.

8. Remix IDE

Remix IDE is een ontwikkelomgeving voor onder meer Solidity, beschikbaar in de browser en als desktoptoepassing. Ze helpt bij schrijven, compileren, analyseren, testen en uitrollen van slimme contracten. Ontwikkelaars kunnen eerst een lokale simulatie gebruiken en daarna een ondersteund test- of productienetwerk kiezen. Dit vervangt geen volledige beveiligingsbeoordeling.

9. Ethlint

Ethlint, vroeger Solium, analyseert Solidity-broncode op stijlregels en bepaalde veiligheidsproblemen. Het kan sommige bevindingen automatisch herstellen. De projectdocumentatie vermeldt dat het oude pakket solium na december 2019 geen updates meer ontvangt en verwijst naar ethlint.

Een linter ontdekt niet alle fouten en is geen vervanging voor tests of een audit. Afwijken van een stijlregel veroorzaakt op zichzelf niet noodzakelijk een crash; functionele fouten en kwetsbaarheden zijn iets anders dan opmaak. Controleer ook of een tool de gebruikte Solidity-versie ondersteunt.

10. Solc

Solc is de compiler voor Solidity. Hij zet Solidity-broncode om in onder meer bytecode en een ABI, waarmee toepassingen met een contract kunnen communiceren.

De native compiler is in C++ geïmplementeerd; solc-js maakt dezelfde compiler via JavaScript toegankelijk. Dat betekent niet dat solc C++- of JavaScript-contracten accepteert. De invoertaal blijft Solidity. Gebruik de compilerinstellingen die passen bij contract en doelnetwerk.

Blockchainhulpmiddelen zorgvuldig kiezen

Deze tien vermeldingen laten verschillende onderdelen van het ontwikkelproces zien. Beoordeel functies, onderhoudsstatus en compatibiliteit voordat je een hulpmiddel kiest. Goed gebruikte hulpmiddelen kunnen werk vereenvoudigen, maar correcte contracten vragen ook onderzoek, testen en beveiligingscontrole.

David Hamilton is een full-time journalist en een lange tijd bitcoinist. Hij specialiseert zich in het schrijven van artikelen over de blockchain. Zijn artikelen zijn gepubliceerd in meerdere bitcoin publicaties, waaronder Bitcoinlightning.com