1. Introducció als Smart Contracts¶
Un smart contract és un programa auto-executable que s'executa en una blockchain quan es compleixen condicions predefinides. A diferència dels contractes tradicionals, que depenen d'intermediaris per fer-los complir, els smart contracts operen de manera autònoma i transparent sobre una xarxa distribuïda. Ethereum va ser la primera plataforma en popularitzar aquest concepte, i avui dia és l'estàndard de facto per al desenvolupament de contractes intel·ligents.
Propietats Fonamentals¶
| Propietat | Descripció |
|---|---|
| 🌐 Descentralitzats | S'executen simultàniament en tots els nodes de la xarxa. Cap entitat central pot aturar-los o modificar-los unilateralment. |
| 🔒 Immutables | Un cop desplegats a la blockchain, el codi no es pot modificar. Això garanteix que les regles del contracte es mantenen intactes. |
| 👁️ Transparents | El codi font és visible i verificable per qualsevol persona. La traçabilitat de les transaccions és pública i auditable. |
| ✅ Deterministes | Amb les mateixes entrades, sempre produeixen el mateix resultat, independentment del node que executi el contracte. |
El Llenguatge Solidity¶
Solidity és el llenguatge de programació més utilitzat per desenvolupar smart contracts a Ethereum i altres blockchains compatibles amb EVM (Ethereum Virtual Machine). Té una sintaxi similar a JavaScript i és estàticament tipat, cosa que ajuda a detectar errors en temps de compilació. El codi Solidity es compila a bytecode que l'EVM pot executar de forma determinista en qualsevol node de la xarxa.
- Llenguatge d'alt nivell, orientat a objectes
- Sintaxi similar a JavaScript
- Estàticament tipat
- Compilat a bytecode per a l'EVM
- Ethereum (xarxa principal)
- Polygon, Arbitrum, Optimism
- BNB Chain, Avalanche
- Qualsevol xarxa EVM-compatible