Utente:Jk4u59/Sandbox: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
|||
Riga 1:
|nome = Solidity
|immagine = Solidity logo.svg
Riga 18:
}}
'''Solidity''' è un [[linguaggio di programmazione]] di tipo ''contract-oriented'' per la scrittura di [[Smart contract|contratti intelligenti]]. <sup>[1]</sup> Viene utilizzato per l'implementazione di contratti intelligenti <sup>[2]</sup> su varie piattaforme [[blockchain]]
== Storia ==
Riga 24:
Al momento, Solidity è il linguaggio principale su Ethereum così come su altri blockchain privati che funzionano su piattaforme in competizione con Ethereum, come Monax ed [[Hyperledger]], la sua blockchain di tipo Burrow, che utilizza Tendermint per consenso. L'organizzazione interbancaria [[Society for Worldwide Interbank Financial Telecommunication|SWIFT]] ha implementato una [[Proof of concept|Proof-of-concep]]<nowiki/>t (dimostrazione prototipale) usando Solidity in esecuzione su Burrow. <sup>[2]</sup> <sup>[10]</sup>
Un ricercatore della [[Cornell University]] ha affermato che Solidity è stato parzialmente incolpato del tentativo di [[Hacker|hackeraggio]] '''''The DAO''''' che ha avuto luogo nel 2016, affermando: "''questo non era in realtà un difetto o un exploit nel contratto DAO stesso: tecnicamente l'EVM funzionava come previsto, ma Solidity stava introducendo falle nella sicurezza in contratti che non solo sono stati ignorati dalla comunità, ma persino dai designer stessi.''" <sup>[11]</sup> <sup>[12]</sup>
== Descrizione ==
Solidity è un linguaggio di programmazione [[Tipizzazione statica|tipizzato staticamente]] progettato per lo sviluppo di contratti intelligenti
Come specificato da Wood, è progettato attorno alla sintassi [[ECMAScript]] per renderlo familiare agli sviluppatori web esistenti; a differenza di ECMAScript ha tipizzazione statica e tipi di ritorno variabili. Rispetto ad altri contemporeanei linguaggi di targeting EVM, come Serpent e Mutan, Solidity conteneva una serie di importanti differenze. Sono state supportate variabili con membri complessi per contratti che includono mappature arbitrariamente gerarchiche e strutture. I contratti supportano l'
Esempio di un programma Solidity: <sup>[20]</sup> <sup>[21]</sup>
|