Tools voor de ontwikkeling van Ethereum dApps

with Geen reacties

Wanneer developers aan de slag gaan met het ontwerpen van blockchaintoepassingen op het platform van Ethereum, dan kunnen zij daarbij worden ondersteund door verschillende hulpmiddelen. Voor het schrijven van smart contract-code en de ontwikkeling van decentrale applicaties (dApps) op de Ethereum blockchain is het belangrijk dat je kunt beschikken over de juiste tools. Wanneer de applicaties eenmaal zijn ontworpen, dan moet de code door en door worden geanalyseerd op fouten, grondig worden getest en vervolgens worden uitgevoerd, om er zeker van te zijn dat de blockchaintoepassingen precies zo functioneren als dat de bedoeling was. Voor het testen van smart contracts kun je gebruikmaken van publieke of private testomgevingen. Er zijn online tools beschikbaar voor de volgende onderdelen:

 

 

Mastering Ethereum boekomslag. Deze afbeelding linkt naar bol.com waar het boek kan worden aangeschaft

IDE’s (Integrated Development Environments)

 

Remix IDE

Dit is een open-source op de browser gebaseerde compiler. Met deze tool kunnen developers Solidity-contracten schrijven vanuit de browser zelf. Dit hulpmiddel heeft een eigen “code analyzer” waardoor ontwikkelaars in staat worden gesteld, om consistent betere smart contractcode te creëren. Daarnaast ondersteunt Remix IDE de testfase, de foutopsporing en de uitvoering van in Solidity geschreven digitale contracten. Deze geavanceerde functies zijn beschikbaar als afzonderlijke plugins die op ieder gewenst moment, apart kunnen worden toegevoegd. Hierbij kan gebruik worden gemaakt van de zogenaamde PluginManager in de console, waarbinnen gebruikers de verschillende plugins die moeten worden geactiveerd kunnen bekijken. Binnen Remix IDE kunnen de plugins uitvoerig worden getest en is de benodigde documentatie voorhanden.

 

EthFiddle

EthFiddle is ook een Integrated Development Environment, die developers helpt bij het ontwikkelen van blockchaintoepassingen. Met behulp van deze tool kunnen gebruikers online Ethereum smart contracts ontwerpen. Eén van de bijzondere functies van EthFiddle is de mogelijkheid om beveiligingsaudits uit te voeren binnen de testomgeving.

 

Truffle IDE

Ook Truffle IDE biedt de mogelijkheid om testen uit te voeren met smart contract-code, die kan worden uitgevoerd in de Ethereum Virtual Machine (EVM). Met deze tool kunnen developers decentrale applicaties ontwerpen, initialiseren, compileren, uitvoeren, verplaatsen en testen met Mocha en Chai. Mocha is een JavaScript test framework voor Node.js programma’s dat door browsers wordt ondersteund. Chai is een eenvoudig te gebruiken programmeertaal die speciaal is ontworpen voor integratie met C++.

 

IntelliJ IDEA

Deze tool geeft relevante suggesties voor het creëren van de smart contract-code, analyses en herstructurering van hulpmiddelen. Hierdoor kan de productiviteit worden verhoogd en kunnen bepaalde terugkomende taken bij de ontwikkeling van smart contracts worden geautomatiseerd. Deze Java IDE tool biedt ook ondersteuning voor andere programmeertalen zoals JavaScript, SQL, JPQL en HTML.

Terug naar boven ↑

Boekomslag van Hands-on Smart Contract Development. De afbeelding linkt naar bol.com, waar het boek kan worden aangeschaft

Code editing

Voor het ontwikkelen van Solidity smart contracts op de Ethereum blockchain worden vaak de volgende code editing tools gebruikt:

Tools voor de ontwikkeling van dApps. Boekomslag van Ethereum for Architects and Developers. De afbeelding linkt naar bol.com waar het boek kan worden aangeschaft

Ethereum clients en browsers

Deze tools geven developers toegang tot decentrale applicaties op het internet of op andere gedistribueerde grootboeken. Daarnaast kunnen er met deze tools transacties worden verzonden, cryptocurrency’s worden opgeslagen en kan er worden geëxperimenteerd met de verschillende functionaliteiten van smart contracts.

 

Geth

Go Ethereum is een van de drie originele implementaties van het Ethereum protocol, samen met C++ en Python. Deze implementatie is geschreven in de programmeertaal GO en is beschikbaar als een opzichzelfstaande client: Geth. Deze client kan in principe op ieder besturingssysteem worden geïnstalleerd, zoals Windows, Linux en Mac. Hiermee kunnen developers onder andere Ether “mijnen”, smart contracts schrijven en deze vervolgens uitvoeren op de Ethereum Virtual Machine (EVM).

 

MetaMask

Dit is zonder enige twijfel de meest gebruikte online client voor toepassingen op de Ethereum blockchain. Met MetaMask krijgen developers direct vanuit de browser toegang tot het Ethereumnetwerk en de decentrale applicaties. MetaMask verbindt gebruikers niet alleen met het hoofdnetwerk van Ethereum maar ook met testnetwerken zoals bijvoorbeeld Ropsten en het TestRPC local network. Deze client is alleen te gebruiken met de Google Chrome browser. Wanneer MetaMask eenmaal is geïnstalleerd kunnen gebruikers een crypto-wallet aanmaken. Schakelen tussen het hoofdnetwerk en een testnetwerk is met deze client zeer eenvoudig.

 

Parity

Parity is een wallet en een Ethereum browser ineen en kan onder andere worden gebruikt voor het uitvoeren van transacties met Ether.

 

Mist Browser

Mist is een Ethereum browser voor decentrale applicaties en kan worden gebruikt voor het uitvoeren van testen op een Local Ethereum testnetwerk. Tevens kan mist ook worden gebruikt voor het creëren van crypto-wallets, het opslaan, verzenden en ontvangen van Ether en de uitvoering van smart contracts.

Terug naar boven ↑

Boekomslag van Building Games with Ethereum Smart Contracts. De afbeelding linkt naar bol.com waar het boek kan worden aangeschaft

 

Tools voor het analyseren van smart contract-code

De volgende tools bieden ondersteuning bij het creëren van veilige code bij de ontwikkeling van decentrale applicaties:

 

Ethlint (voormalig Solium)

Ethlint controleert de code onder andere op stijl- en veiligheidsproblemen en waarschuwt hiervoor via de editor. Vervolgens kunnen de fouten met deze tool worden geanalyseerd en worden verholpen.

 

Open-Zeppelin

Deze tool kan naast Truffle worden gebruikt bij het ontwerpen van veilige dApps en blockchainprotocollen in Solidity.

Ethereum Smart Contract Development

Testen van smart contracts

Voordat decentrale applicaties op echte blockchainnetwerken worden uitgevoerd, moeten ze heel goed worden getest. Dat gebeurt op zogenaamde testnetwerken. Deze testblockchains zijn als het ware kopieën van bestaande blockchainplatformen. Op deze testnetwerken kan uitgebreid met de gedistribueerde toepassingen worden geëxperimenteerd tijdens de ontwikkelingsfase. Er zijn verschillende testnetwerken die je kunt gebruiken om de applicaties te testen. Naast publiek toegankelijke testnetten, zijn er ook private testomgevingen.

 

Terug naar boven ↑

 

Building blockchain projects

 

Smart contract Analytics

Deze tools ondersteunen developers bij de interactie met hun decentrale applicaties. Ze geven inzicht in de prestaties en problemen van dApps en maken helder hoe de prestaties en gebruiksvriendelijkheid ervan kunnen worden verbeterd.

 

DAppBoard

Deze open-source tool geeft inzicht in het aantal actieve gebruikers van de ondersteunde decentrale applicaties, maar geeft bijvoorbeeld ook transactie-informatie. Ieder protocol of dApp heeft weer een andere gebruikstoepassing. DAppBoard bouwt aan een dashboard voor blockchainprotocollen en levert daarbij de juiste metrische gegevens voor iedere specifieke categorie, zoals smart contracts, dApps of cryptocurrency-tokens.

 

Trixta

Ook Trixta is een tool voor het analyseren van smart contract-code en kan worden gebruikt voor het onderzoeken van prestaties en het opsporen van fouten. Hierbij kunnen gebruikers hun smart contracts koppelen aan Trixta, door middel van hun Ethereum Contract ID. Deze tool ondersteunt analyses van smart contract-code op verschillende blockchainnetwerken en is zeer gebruiksvriendelijk.

 

Meer weten?

 

Bronnen:

Ethereum.org: Developer Recources

The ultimate guide to Ethereum developer tools, Thomas Moran

Hands-On Smart Contract Development with Solidity and Ethereum From Fundamentals to Deployment, Kevin Solorio, Randall Kanna en David Hoover

 

Terug naar boven ↑

 

Op de hoogte blijven van de ontwikkelingen op het gebied van de blockchaintechnologie? Meld je dan nu aan voor onze blogpost!

 

Meld je aan voor de blogpost!
Ik ga ermee akkoord dat mijn naam en e-mailadres worden gedeeld met Mailchimp.
Met de blogpost van Uitleg Blockchain blijf je automatisch op de hoogte van de nieuwste ontwikkelingen omtrent de blockchain technologie.
We hebben een hekel aan spam. Uw e-mailadres zal niet worden verkocht of gedeeld met anderen (afgezien van het marketing automation platform dat wij gebruiken voor onze e-maillijst).

Leave a Reply