Wat is solidity?

Solidity is een programmeertaal die wordt toegepast binnen het Ethereum netwerk. Het Ethereum blockchain is een decentraal, gedistribueerd netwerk en maakt gebruik van de digitale betalingseenheid ether. De blockchain is de digitale infrastructuur achter de bitcoin. Ethereum gaat echter nog een stapje verder dan de bitcoin. Ethereum maakt het namelijk mogelijk om allerlei soorten toepassingen (dapps) te programmeren. Toepassingen zoals bijvoorbeeld de slimme contracten. De blockchaintechnologie biedt ook een prima platform voor het internet der dingen.

 

Programming is like poetry. Een citaat van Ed Fries. Solidity is een programmeertaal die wordt toegepast binnen het Ethereum netwerk.

 

Serpent, LLL en Mutan

Solidity is een object-georiënteerde, domeinspecifieke programmeertaal voor de Ethereum blockchain. Solidity werd voorgesteld in augustus 2014 door Gavin Wood, de grondlegger van Ethcore. Ook is hij een van de oprichters van Ethereum. Solidity werd later verder ontwikkeld door het Solidity team van het Ethereumproject. Dat team stond onder leiding van Christian Reitwiessner. Solidity is een van de vier bestaande programmeertalen, die speciaal zijn ontworpen om te draaien in de Ethereum Virtual Machine. De andere programmeertalen zijn Serpent, LLL en Mutan. Deze laatste programmeertaal is op het moment van schrijven al verouderd (oktober 2016).

 

JavaScript

De blockchaintechnologie heeft sinds de ontwikkeling ervan, en dan met name de blockchaininfrastructuur die is afgeleid van het Ethereumplatform, al behoorlijk veel gebruikers. Vooral de slimme contracten (smart contracts) winnen op dit moment snel aan populariteit. Solidity is een programmeertaal die enigszins op JavaScript lijkt. Daarom zal het voor bijvoorbeeld Java-ontwikkelaars relatief eenvoudig zijn, om Solidity te leren kennen. Het zelf ontwerpen van slimme contracten die binnen de Ethereum Virtual Machine draaien, is daarom dus geen ver-van-mijn-bed-show meer.

 

Slimme contracten

Deze programmeertaal maakt het mogelijk voor ontwikkelaars, om toepassingen te schrijven die zichzelf kunnen handhaven. Applicaties die dus autonoom kunnen functioneren. Het idee van dergelijke slimme contracten klinkt ons nog wel een beetje gek in de oren, maar de trend is in gang gezet. Decentrale, gedistribueerde, autonome applicaties, zullen we in de toekomst steeds vaker tegenkomen. Dat is ook logisch want de enorme voordelen die de slimme contracten ons bieden liegen er niet om.

Introducing Ethereum en Solidity.

ECMAScript

Volgens Gavin Wood is Solidity ontwikkeld rondom het ECMAScript (ook gebaseerd op JavaScript). Het is een script dat voornamelijk wordt gebruikt voor serverside-scripting. Dit is een technologie die op het internet wordt gebruikt om dynamische HTML-pagina’s te creëren. Dergelijke pagina’s kunnen specifieke bezoekers van een bepaalde website, een andere inhoud of ontwerp tonen. Solidity is ontsproten uit het ECMAScript, om ontwikkelaars bekend te maken met deze nieuwe blockchaintoepassingen. In tegenstelling tot het ECMAScript heeft Solidity een statisch typesysteem. Dit is een systeem waarin bepaald wordt, hoe de desbetreffende programmeertaal gegevens classificeert, in verschillende datatypen. Vervolgens kijkt het systeem dan hoe deze datatypen met elkaar kunnen worden samengevoegd. Ook maakt deze programmeertaal gebruik van ‘variadic return types’. Ik zal je hier niet verder mee vermoeien, want hier komen we op het vlak van de wiskundige formules.

 

Ledenfuncties

In vergelijking met de programmeertalen Serpent en Mutan, die beide kunnen draaien in de Ethereum Virtual Machine, heeft Solidity een aantal hele belangrijke verschillen in zich. Ingewikkelde lidvariabelen voor slimme contracten met willekeurige, hiërarchische correspondentie en Decentrale Autonome Organisaties (DAO), worden namelijk ondersteund. Deze lidvariabelen zijn variabelen die geassocieerd zijn met specifieke objecten en zijn toegankelijk voor ledenfuncties. De met solidity geprogrammeerde smart contracts ondersteunen ook ‘overerving’. Dit is een methode in het kader van object-georiënteerd programmeren. De slimme contracten worden op die wijze geprogrammeerd, dat ook alle variabelen door alle nodes (computers binnen het Ethereum blockchain) kunnen worden gecontroleerd.

 

MIST

Ontwikkelaars bij Ethereum werken momenteel aan de decentrale Ethereum brower MIST. Deze browser moet het eenvoudiger maken, om alle toepassingen binnen het Ethereum blockchain netwerk te lokaliseren en in te schakelen. De gebruiksvriendelijkheid van MIST zorg ervoor, dat slimme contracten en decentrale applicaties, toegankelijk worden voor iedereen. Deze browser is bijzonder, omdat hij goed laat zien welk potentieel de blockchaintechnologie heeft. Om MIST te kunnen gebruiken is niet zoveel technische kennis vereist.

 

Leren programmeren in Ethereum? Dan is Introducing Ethereum and Solidity een goede basis!

 

Wat leer je in dit boek?

  • Hoe Ethereum en cryptocoins werken.
  • Wat het verschil is tussen dapps (decentrale applicaties) en apps.
  • Het schrijven van smart contracts in de programmeertaal Solidity.
  • Ethereum smart contracts en HTML/CSS/JavaScript web applicaties aan elkaar koppelen.
  • Het creëren en uitvoeren van je eigen digitale betalingseenheid, dapp en blockchain.

 

Dit boek is niet alleen een aanrader voor beginners in blockchainland, maar zeker ook voor ervaren JavaSript programmeurs!

 

Koop bij bol.com

 

Op de hoogte blijven van de ontwikkelingen op het gebied van solidity en de Ethereum blockchain? 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).