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
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
150
Navigating Dependency Injection with Metro
l2hyunwoo
1
200
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
140
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
130
Java 25, Nuevas características
czelabueno
0
120
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
710
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
270
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
480
Cap'n Webについて
yusukebe
0
150
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
290
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
How to make the Groovebox
asonas
2
1.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Design in an AI World
tapps
0
100
Mobile First: as difficult as doing things right
swwweet
225
10k
Speed Design
sergeychernyshev
33
1.4k
YesSQL, Process and Tooling at Scale
rocio
174
15k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
260
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
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