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
78
La promesa de un futuro descentralizado Blockchain y sus aplicaciones
mesirendon
1
180
Ubuntu virtualization setup
mesirendon
0
75
Other Decks in Programming
See All in Programming
Oxlintはいいぞ
yug1224
5
1.4k
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
AI & Enginnering
codelynx
0
120
AgentCoreとHuman in the Loop
har1101
5
240
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
Data-Centric Kaggle
isax1015
2
780
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
4k
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
How GitHub (no longer) Works
holman
316
140k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
120
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Ruling the World: When Life Gets Gamed
codingconduct
0
150
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
460
Prompt Engineering for Job Search
mfonobong
0
160
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
67
Designing for humans not robots
tammielis
254
26k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
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