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
310
2
Share
Introducción a la programación de contratos inteligentes con Solidity para Ethereum
Mesi Rendón
March 02, 2018
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
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
130
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
250
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
270
Java 21/25 Virtual Threads 소개
debop
0
310
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
310
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
890
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
830
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
290
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
How to stabilize UI tests using XCTest
akkeylab
0
150
Coding as Prompting Since 2025
ragingwind
0
560
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
580
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The SEO Collaboration Effect
kristinabergwall1
0
410
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
610
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Mind Mapping
helmedeiros
PRO
1
140
Deep Space Network (abreviated)
tonyrice
0
97
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
It's Worth the Effort
3n
188
29k
ラッコキーワード サービス紹介資料
rakko
1
2.8M
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