Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introducción a la programación de contratos int...
Search
Mesi Rendón
March 02, 2018
Programming
2
310
Introducción a la programación de contratos inteligentes con Solidity para Ethereum
Mesi Rendón
March 02, 2018
Tweet
Share
More Decks by Mesi Rendón
See All by Mesi Rendón
Smart_Contract_architecture_on_Ethereum.pdf
mesirendon
0
76
La promesa de un futuro descentralizado Blockchain y sus aplicaciones
mesirendon
1
180
Ubuntu virtualization setup
mesirendon
0
73
Other Decks in Programming
See All in Programming
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
520
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
230
GPUを計算資源として使おう!
primenumber
1
120
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
VS Code Update for GitHub Copilot
74th
2
650
Deep Dive into ~/.claude/projects
hiragram
14
2.6k
ふつうの技術スタックでアート作品を作ってみる
akira888
1
890
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
180
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
180
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
7.6k
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
780
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
2.2k
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Docker and Python
trallard
44
3.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Designing for Performance
lara
610
69k
Automating Front-end Workflow
addyosmani
1370
200k
Git: the NoSQL Database
bkeepers
PRO
430
65k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
KATA
mclloyd
30
14k
Facilitating Awesome Meetings
lara
54
6.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
970
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
None
Introducción a programación de contratos inteligentes con Solidity para Ethereum
Angel Mesías Rendón @mesirendon Investigador y Desarrollador Blockchain Grupo InTIColombia
Conceptos Distributed Ledger Technology
DLT https://www.coindesk.com/information/what-is-a-distributed-ledger/
DLT https://www.ibm.com/developerworks/cloud/library/cl-blockchain-basics-intro-bluemix-trs/ “Un tipo de base de datos que se
comparte,replica y sincroniza entre los miembros de una red”
DLT https://git-scm.com/book/en/v2/images/commit-and-tree.png
DLT https://git-scm.com/book/en/v2/images/commits-and-parents.png
DLT
Conceptos Blockchain
Blockchain Imagen tomada de: http://www.goldmansachs.com/our-thinking/pages/blockchain/
Blockchain
Blockchain
Blockchain
Blockchain
Blockchain TX Imagen tomada de: http://www.goldmansachs.com/our-thinking/pages/blockchain/
Blockchain TX 1
Blockchain TX TX 2
Blockchain TX TX TX TX TX TX 6
Blockchain TX TX TX TX TX TX 6
Blockchain TX TX TX TX TX TX 6 1515449107848
Blockchain
Blockchain
Blockchain
Blockchain
Blockchain
Blockchain
Blockchain
Blockchain
Blockchain
Blockchain
Blockchain
Conceptos Ethereum
Ethereum • Plataforma descentralizada • Dapps sobre Ethereum • Accounts
• Transacciones • Consenso • Equivalencias • EVM • Gas 1 Ether = 1000000000000000000 Wei 1 Ether = 1000000000000000 Kwei 1 Ether = 1000000000000 Mwei 1 Ether = 1000000000 Gwei 1 Ether = 1000000 Szabo 1 Ether = 1000 Finney 1 Ether = 0.001 Kether 1 Ether = 0.000001 Mether 1 Ether = 0.000000001 Gether 1 Ether = 0.000000000001 Tether
Conceptos Solidity
Solidity • Lenguaje de programación orientado a contratos • C++,
Python, JavaScript • Estáticamente tipado, herencia, librerías, tipos definidos por usuario • La Ethereum Virtual Machine corre en la red de Ethereum
Conceptos Ambiente
Ambiente • NodeJS • Nvm - https://github.com/creationix/nvm • NodeJS –
nvm install node • Yarn - https://yarnpkg.com/en/ • Truffle • Ganache npm i -g ganache-cli • Truffle Framework npm i -g truffle • Front end • VueJS npm i -g vue-cli • Truffle Contract yarn add vue-cli • Web3JS yarn add web3 • Browser • MetaMask https://metamask.io/
Conceptos Ðapps
Ðapps
Ðapps
Ðapps
Conceptos Solidity: Generalidades
Tipos de Datos • bool • uint8, uint16, uint24, …,
uint256 (aplica para int, ufixed, fixed) • address (balance, send) • Arrays ◦ bytes1, bytes2, bytes3, …, bytes32 • String (bytes(raw), strings(UTF-8)) • Structs • Enums • Mappings
Estructuras de Control • if • else • while •
for • break • continue • return • ?: • Error handling: Assert, Require, Revert and Exceptions
Características adicionales •Herencia •Visibilidad (alcance) •Modificadores •Librerías •Tuplas
Web3JS JavaScript API de comunicación con geth. Usa JSON-RPC https://github.com/ethereum/wiki/wiki/JavaScript-API