Solidity
De taal waarin smart contracts op Ethereum geschreven worden — syntactisch vertrouwd, semantisch onvergeeflijk.
Solidity is statisch getypeerd en leent zijn uiterlijk van JavaScript en C++, wat het makkelijk maakt om mee te beginnen en makkelijk te onderschatten. Code wordt gecompileerd naar bytecode voor de EVM en elke bewerking kost gas, waardoor optimaliseren over iets heel anders gaat dan in gewoon programmeren.
Het grootste verschil is dat een contract na uitrol niet meer bijgewerkt kan worden. Een bug is niet te patchen en de code is openbaar voor iedereen die wil kijken — aanvallers inbegrepen. Reentrancy, de klassieker achter de DAO-hack, blijft de bekendste valkuil. Formele verificatie en externe audit zijn daarom routine in plaats van luxe.