Solidity
Aparença
| Tipus | llenguatge de programació |
|---|---|
| Data de creació | 2014 |
| Darrera versió estable | 0.8.32 () 0.8.33 () |
| Codi font | Codi font |
| Llicència | GNU GPL 3.0 |
| Pàgina web | soliditylang.org |
Solidity, en ciència de la computació, és un llenguatge de programació dinàmic d'alt nivell adreçat a escriure contractes intel·ligents sobre plataformes de xarxa blockchain. Solidity va ser desenvolupat per Gavin Wood, Christian Reitwiessner, Alex Beregszaszi, Yoichi Hirai i diversos col·laboradors del programari Ethereum.[1][2][3][4][5]
Descripció
[modifica]- Solidity s'executa damunt la màquina virtual anomenada Ethereum Virtual Machine (EVM).
- Solidity es compila a bytecode i llavors s'executa damunt EVM.
- Solidity està dissenyat amb sintaxi similar a ECMAScript.
Example d'un programa en llenguatge Solidity :
contract GavCoin
{
mapping(address=>uint) balances;
uint constant totalCoins = 100000000000;
/// Endows creator of contract with 1m GAV.
function GavCoin(){
balances[msg.sender] = totalCoins;
}
/// Send $((valueInmGAV / 1000).fixed(0,3)) GAV from the account of $(message.caller.address()), to an account accessible only by $(to.address()).
function send(address to, uint256 valueInmGAV) {
if (balances[msg.sender] >= valueInmGAV) {
balances[to] += valueInmGAV;
balances[msg.sender] -= valueInmGAV;
}
}
/// getter function for the balance
function balance(address who) constant returns (uint256 balanceInmGAV) {
balanceInmGAV = balances[who];
}
}
Referències
[modifica]- ↑ «Solidity — Solidity 0.4.18 documentation» (en anglès). https://solidity.readthedocs.io.+[Consulta: 6 octubre 2017].
- ↑ «Ethereum Project». https://ethereum.org/, 06-10-2017.
- ↑ Ethereum.Builders. «Solidity Tutorials | Ethereum Builder's Guide» (en anglès). https://ethereumbuilders.gitbooks.io.+[Consulta: 6 octubre 2017].
- ↑ «Learn Solidity in Y Minutes» (en anglès). https://learnxinyminutes.com.+[Consulta: 6 octubre 2017].
- ↑ «Blockchain 2.0 : from bitcoins to smart contracts» (en anglès). https://www.slideshare.net.+[Consulta: 6 octubre 2017].
Vegeu també
[modifica]- Xarxa Blockchain