¡Somos talento Colombiano!Envio gratis por compras superiores a $250.000*10% dcto. en tu primera compra con el cupón #LEER*

(0)

COP$ 0

(0)

COP$ 0

COP$ 100.800 COP$ 80.640

PayU Pagos Seguros

Pagos 100% seguros

PayU Pagos Seguros

Creación de contratos inteligentes en la Red Blockchain de Ethereum con Solidity

Ethereum es una plataforma pública de código abierto basada en la tecnología blockchain. Puede verse como una computadora mundial construida sobre una red peer-to-peer (P2P). Una aplicación confiable y descentralizada se puede ejecutar sobre Ethereum sin la amenaza de una administración centralizada y problemas de punto único de fallo (SPOF por sus siglas en inglés, single-point -of- failure). Y como solo hay una máquina de este tipo en el mundo, los recursos de cálculo (como CPU, memoria, etc.) son limitados y agotados bajo la presión de la enorme escala de la base de usuarios y las aplicaciones descentralizadas (DApps por sus siglas en inglés). Por lo tanto, es comprensible que el uso de la máquina mundial Ethereum cueste dinero en forma de moneda criptográfica.

Ebooks - Spiral Reader

Ramírez Gil, Wilmar Alonso; Ramírez Gil, Carlos Mario

Área: ,

Editorial: Ediciones de la U

ISBN: 9789587924602

Precio en Dólares: USD$ 30.55

*Este valor puede ser aproximado y podrá variar al momento del pago.

EdiciónFormatoTipo
2023 eBook .pdf
SKU: 9789587924602 Categorías: ,

Descripción

Ethereum es una plataforma pública de código abierto basada en la tecnología blockchain. Puede verse como una computadora mundial construida sobre una red peer-to-peer (P2P). Una aplicación confiable y descentralizada se puede ejecutar sobre Ethereum sin la amenaza de una administración centralizada y problemas de punto único de fallo (SPOF por sus siglas en inglés, single-point -of- failure). Y como solo hay una máquina de este tipo en el mundo, los recursos de cálculo (como CPU, memoria, etc.) son limitados y agotados bajo la presión de la enorme escala de la base de usuarios y las aplicaciones descentralizadas (DApps por sus siglas en inglés). Por lo tanto, es comprensible que el uso de la máquina mundial Ethereum cueste dinero en forma de moneda criptográfica.

Información adicional

Número de edición

ano

Autor

Editorial

ID Digital Content

Formato

EISBN

Tabla de contenido

PREFACIO
AUTORES
CAPÍTULO 1. INTRODUCCIÓN A BLOCKCHAIN, ETHEREUM Y
CONTRATOS INTELIGENTES
1.1 ETHEREUM
1.1.1 Criptografía asincrónica
1.1.2 Función hash criptográfica
1.1.3 Red Peer-to-Peer
1.1.4 Blockchain.
1.1.5 Máquina virtual de Ethereum (EVM)
1.1.6 Nodo
1.1.7 Minero
1.1.8 Prueba de trabajo (PoW, proof of work)
1.1.9 App descentralizada (DApp)
1.1.10 Solidity
1.2 CONTRATO INTELIGENTE
1.3 GAS
1.3.1 ¿Por qué GAS?
1.3.2 Componentes del GAS
1.4 ETHER
1.5 CUENTAS
1.6 TRANSACCIÓN
CAPÍTULO 2. PREPARANDO EL ENTORNO. HERRAMIENTAS Y
FRAMEWORKS DE DESARROLLO
2.1 LENGUAJES DE DESARROLLO
2.2 COMPILADORES
2.3 HERRAMIENTAS Y LIBRERÍAS
2.3.1 Node.js
2.3.2 Ganache
2.4 FRAMEWORKS
2.4.1 Truffle
2.4.2 Embark
2.4.3 Brownie
2.4.4 Hardhat
2.4.5 OpenZeppelin
2.5 ENTORNO DE DESARROLLO INTEGRADO – IDE
2.5.1 Visual Studio Code
2.5.2 Remix
2.6 WEB3.JS
2.6.1 Paquetes Web3.js
2.6.2 Interactuar con contratos a través de interfaces
2.7 METAMASK
2.7.1 Instalación de la extensión MetaMask para Chrome
2.8 REDES ETHEREUM
2.8.1 Redes públicas
2.8.2 Red principal
2.8.3 Redes de prueba
2.8.4 Faucets de redes de prueba
2.9 ETHERSCAN
CAPÍTULO 3. LOS CONTRATOS INTELIGENTES
3.1 HISTORIA
3.2 DEFINICIÓN
3.3 CONTRATOS RICARDIANOS
3.4 PLANTILLAS DE CONTRATOS INTELIGENTES
3.5 ORÁCULOS
3.5.1 Pruebas asistidas por software y red
3.5.2 TLSNotary
3.5.3 Mecanismo basado en TLS-N
3.5.4 Pruebas asistidas por dispositivos de hardware
3.5.5 Tipos de oráculos de blockchain
3.5.6 Implementación de contratos inteligentes
CAPÍTULO 4. CONCEPTOS BÁSICOS DE SOLIDITY
4.1 ESTRUCTURA DEL ARCHIVO SOL
4.1.1 Pragma
4.1.2 Importar
4.1.3 Comentarios
4.1.4 Contrato
4.1.5 Librerías
4.1.6 Interface
4.2 ESTRUCTURA DEL CONTRATO
4.3 VARIABLE
4.3.1 Tipo de valor
4.3.2 Tipo de referencia
4.3.3 Mapping
4.3.4 Caso especial
4.4 OPERADORES
4.5 DECLARACIONES
4.5.1 Declaración condicional
4.5.2 Bucle (Loop)
4.5.3 Misceláneos
4.6 UBICACIÓN DE DATOS
4.7 MODIFICADOR
4.7.1 Modificador estándar
4.7.2 Modificador autodefinido
4.8 EVENTO
4.8.1 Valor de retorno a la interfaz de usuario
4.8.2 Disparador asíncrono con datos
4.8.3 Almacenamiento barato
4.8.4 Parámetro indexado en evento
4.9 HERENCIA
4.9.1 Herencia Única
4.9.2 Herencia múltiple
4.10 VARIOS
4.10.1 Variable incorporada
4.10.2 Unidad Especial
4.10.3 Tipo Cast e inferencia
4.10.4 Excepción
CAPÍTULO 5. CREE SU PRIMER CONTRATO INTELIGENTE CON REMIX.... 119
5.1 REMIX
5.2 ESCRIBIENDO UN CONTRATO INTELIGENTE BÁSICO
5.3 COMPILANDO NUESTRO CONTRATO INTELIGENTE
5.4 AGREGAR ALGUNAS PRUEBAS A NUESTRO CONTRATO
INTELIGENTE
5.5 IMPLEMENTAR NUESTRO CONTRATO INTELIGENTE
EN LA RED DE PRUEBA DE RINKEBY
5.6 INTERACTUAR CON NUESTRO CONTRATO INTELIGENTE
IMPLEMENTADO DE REMIX
CAPÍTULO 6. TEMAS AVANZADOS DE SOLIDITY
6.1 PALABRA CLAVE “THIS”
6.2 ERC20 INTERFACE
6.2.1 Métodos
6.2.2 Eventos
6.2.3 OpenZeppline
6.3 ERC721 INTERFACE
6.3.1 Protocolo ERC721
6.3.2 Metadata
6.3.3 Extensión enumerable
6.3.4 Protocolo ERC165
6.4 LLAMADA ENTRE CONTRATOS
6.4.1 Función Call
6.4.2 Inyección de dependencia
6.4.3 Mensaje de llamadas
6.4.4 Valor de retorno de la llamada de contrato
6.5 ALGORITMOS BÁSICOS
CAPÍTULO 7. INTERFAZ BINARIA DE APLICACIÓN (ABI)
7.1 ESTRUCTURA DE LA MEMORIA
7.2 SELECTOR DE FUNCIONES
7.3 DEFINICIÓN DE TIPO
7.4 PRESENTACIÓN DE DATOS EN EVM
7.4.1 Presentación del tipo de datos de longitud fija
7.4.2 Presentación del tipo de datos dinámicos
7.5 CODIFICAR
7.5.1 Un ejemplo sencillo
7.5.2 Un ejemplo de llamada externa
7.5.3 Codificación ABI para llamada de método externo
7.6 PROGRAMACIÓN ABI
CAPÍTULO 8. PRINCIPIOS DE FUNCIONAMIENTO DE LOS CONTRATOS
INTELIGENTES
8.1 PATRÓN DE DISEÑO
8.1.1 Contrato Self-Desctruction
8.1.2 Contrato de fábrica
8.1.3 Registro de nombres
8.1.4 Iterador de Mapping
8.1.5 Patrón de retiro
8.2 AHORRE COSTOS DE GAS
8.2.1 Cuidado con los tipos de datos
8.2.2 Almacenar valores en formato codificado en bytes
8.2.3 Comprimir variables con el compilador SOLC
8.2.4 Comprimir variables usando código ensamblador
8.2.5 Parámetros de funciones de concatenación
8.2.6 Uso de pruebas de Merkle para reducir la carga de almacenamiento
8.2.7 Contratos sin estado
8.2.8 Almacenamiento de datos en IPFS
8.2.9 Compactación de bits
8.2.10 Procesamiento por lotes
8.2.11 Separación de lectura y escritura en el struct de almacenamiento
8.2.12 uint256 y almacenamiento directo en memoria
8.2.13 Optimización de ensamblaje
8.3 EL ENSAMBLADO
8.3.1 Pila (stack)
8.3.2 Calldata
8.3.3 Memoria
8.3.4 Almacenamiento
8.4 DECONSTRUIR CONTRATO INTELIGENTE
8.4.1 Creación de contratos
8.4.2 Parte General del Cuerpo del Contrato
8.4.3 Cuerpos de contrato
CAPÍTULO 9. CASO DE APLICACIÓN. CONSTRUCCIÓN CONTRATO
INTELIGENTE: RELACIÓN COMERCIAL ENTRE UN EMPLEADOR Y UN
PROFESIONAL INDEPENDIENTE (FREELANCER)
9.1 DESCRIPCIÓN BÁSICA DEL PROBLEMA
9.1.1 Solucionando el problema con un contrato inteligente
9.1.2 Comprensión del contrato inteligente
9.2 ESCRITURA DEL CÓDIGO DEL CONTRATO INTELIGENTE
9.2.1 Definir la versión
9.2.2 Estructura del contrato
9.2.3 Variable de almacenamiento (global)
9.2.4 El constructor
9.2.5 Modificadores
9.2.6 Los eventos
9.2.7 El método createRequest()
9.2.8 El método unlockRequest()
9.2.9 El método payRequest():
9.2.10 El método completeProject()
9.2.11 El método cancelProject()
9.2.12 El método increaseDeadline()
CAPÍTULO 10. CASO DE APLICACIÓN. IMPLEMENTACIÓN DE UN
CONTRATO INTELIGENTE DE VOTACIÓN
10.1 CONCEPTUALIZACIÓN DEL CONTRATO INTELIGENTE PARA
VOTACIONES
10.2 CÓDIGO FUENTE DEL CONTRATO INTELIGENTE PARA
VOTACIONES
10.3 EXPLICACIÓN DEL CONTRATO INTELIGENTE. ANÁLISIS
POR GRUPOS DE LÍNEAS DE CÓDIGO
CAPÍTULO 11. CASO DE APLICACIÓN. CONSTRUCCIÓN CONTRATO
INTELIGENTE: COMPRA Y VENTA DE UN BIEN O SERVICIO
11.1 COMPRENSIÓN DEL CONTRATO INTELIGENTE
11.2 CÓDIGO FUENTE DEL CONTRATO INTELIGENTE:
COMPRA Y VENTA DE UN BIEN O SERVICIO
11.3 EXPLICACIÓN DEL CONTRATO INTELIGENTE.
ANÁLISIS POR GRUPOS DE LÍNEAS DE CÓDIGO
CAPÍTULO 12. ACTUALIZACIÓN DE UN CONTRATO INTELIGENTE
12.1 SOLUCIÓN
12.1.1 Contratos Proxi
12.1.2 Separar la lógica y los datos del contrato
12.1.3 Lógica y datos separados mediante valor-clave
12.1.4 Estrategias parcialmente actualizables
12.1.5 Comparación
12.1.6 Simple contrato proxi
12.2 LLAMADA DE PROXY GENÉRICO A ETHEREUM
12.3 ALMACENAMIENTO
12.3.1 Almacenamiento heredado
12.3.2 Almacenamiento eterno
12.3.3 Almacenamiento no estructurado
12.4 AUGUR
12.4.1 Implementación de contrato
12.4.2 Implementación de almacenamiento
12.5 COLONY
12.5.1 Implementación de contrato
12.5.2 Almacenamiento
CAPÍTULO 13. SEGURIDAD DE LOS CONTRATOS INTELIGENTES
13.1 ¿POR QUÉ DEBEMOS PREOCUPARNOS POR LA SEGURIDAD?
13.1.1 Tipos de vulnerabilidades de contratos inteligentes
CAPÍTULO 14. DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN
DESCENTRALIZADA - DAPP
14.1 ¿QUÉ SON LAS APLICACIONES DESCENTRALIZADAS - DAPP?
14.1.1 ¿Cómo funciona una DAPP?
14.2 CASO DE APLICACIÓN. DISEÑO Y CONSTRUCCIÓN DE UNA DAPP
PARA GESTIONAR LA COMPRA Y VENTA DE UN PRODUCTO
ENTRE UN COMPRADOR Y UN VENDEDOR
14.2.1 Diseño e implementación del contrato inteligente
14.2.2 Diseño de la interfaz de usuario de la DApp (página web)
en el lenguaje de programación HTML5
14.2.3 Diseño del archivo JavaScript para enlazar la interfaz de usuario,
el contrato inteligente y la cadena de bloques
14.2.4 Diseño del proyecto Truffle para ejecutar la aplicación (Dapp)
a través de la interfaz de usuario
14.2.5 Ejecución de la DApp (proyecto Truffle) en la cadena de
bloques local Ganache
MATERIAL ADICIONAL
WILMAR ALONSO RAMÍREZ GIL

Ingeniero Electricista Universidad de Antioquia, Medellín Colombia. Desarrollador en lenguajes de programación JavaScript, Solidity y el lenguaje de etiquetas Html5 para páginas Web, experiencia en el diseño de aplicaciones fundamentadas en la programación orientada a objetos en el contexto educativo; Magister Enseñanza de las Ciencias Exactas y Naturales Universidad Nacional de Colombia Seccional Medellín. Correo electrónico: williannoso@gmail.com.

CARLOS MARIO RAMÍREZ GIL

Ingeniero Administrador Universidad Nacional de Colombia Seccional Medellín; Especialista en Gerencia de Sistemas Informáticos, Universidad Nacional de Colombia Seccional Medellín; Especialista en Finanzas Corporativas, Escuela de Ingeniería de Antioquia; Magister Ingeniería Administrativa Universidad Nacional de Colombia Seccional Medellín. Docente Postgrado área financiera en diversas universidades de Colombia. Amplia experiencia como ejecutivo en empresas del sector real en cargos administrativos y financieros y consultor empresarial. Desarrollador en el lenguaje de programación Python. Investigador en Blockchain aplicado a las Finanzas (DeFi – Finanzas Descentralizadas). Correo electrónico: cramirez1@hotmail.com.

Título