Introducción
83 Recursos | 204+ Horas
El desarrollo de Blockchains y aplicaciones descentralizadas (Dapps) está explotando en popularidad, algunos incluso lo llaman el próximo paradigma disruptivo, junto con internet y los teléfonos móviles. La Blockchain es una nueva tecnología que funciona como un libro de contabilidad digital descentralizado, gestionado entre pares. Aún más impresionante, resuelve el problema (supuestamente) irresoluble del “doble gasto” utilizando un enfoque descentralizado (versus el enfoque convencional, centralizado que involucra a un tercero de confianza para monitorear todas las transferencias) que requiere que un problema criptográfico sea resuelto matemáticamente dentro de un marco de tiempo asignado, esto se llama la Prueba de Trabajo (PoW) y esto asegura que las transacciones sean irreversibles y finales. Cientos de monedas criptográficas (también conocidas como criptomonedas) están actualmente en circulación, siendo Bitcoin y Ethereum las más extendidas. Aparte de ser solo formas digitales de moneda, algunas también son plataformas y marcos de desarrollo de Blockchain. Esta combinación ha llevado a un poderoso crecimiento e inversión en este dominio.
Algunas de las plataformas de desarrollo de Blockchain más prominentes son Ethereum, Hyperledger (Fabric, Iroha, Sawtooth Lake), Multichain, Stellar, Dispatch y NEO. Para los propósitos de este camino de aprendizaje, el enfoque será la plataforma Ethereum, ya que la gran mayoría de las 1,500 monedas digitales en circulación hoy están construidas sobre la fundación tecnológica de Ethereum.
¿Por qué este curso?
Si eres un desarrollador o gerente que ha estado curioso sobre de qué trata todo este movimiento de Blockchain, ¡entonces este curso es perfecto para ti! Este camino de aprendizaje te proporcionará no solo una visión general amplia del paisaje tecnológico de Ethereum, sino que también puede usarse como una guía de referencia a medida que desarrolles tecnología de libro mayor distribuido (es decir, Blockchain) y aplicaciones descentralizadas. Muchos de estos aprendizajes serán transferibles a otras plataformas de Blockchain y pueden servir como base para ayudar a alcanzar tus objetivos de desarrollo.
¿Para quién es este curso?
Este curso es para ingenieros de software, científicos de la computación o desarrolladores de productos que buscan aprender cómo construir aplicaciones descentralizadas (o centralizadas) utilizando tecnología Blockchain. El resultado final puede ser un nuevo protocolo de Blockchain, una criptomoneda alternativa o una aplicación que se ejecuta en la pila tecnológica de Ethereum. Idealmente, este curso está dirigido a alguien con experiencia práctica en Java, C#, Golang o Python, tiene competencia en Node.js, repositorios GIT o sistemas similares de gestión de código fuente.
1.0 Introducción a la Pila de Aplicaciones Blockchain
1.1 Pila de Aplicaciones Blockchain [45m]
Para tener éxito como Desarrolladores de Blockchain, primero necesitarás familiarizarte con la pila de aplicaciones Blockchain. Las capas son:
- La capa base es la capa de infraestructura, donde tiene lugar la computación/almacenamiento/red/virtualización, esto puede ser interno o usar una solución establecida de Blockchain como un Servicio (BaaS).
- La siguiente capa se centra en la red y el protocolo, decidiendo qué tipo de Blockchain quieres crear (sin permiso como Bitcoin o Ethereum o con permiso como R3), plataforma de desarrollo, nodos participantes en el algoritmo de consenso de la red (por ejemplo, Prueba de Trabajo (PoW), Prueba de Participación (PoS), híbrido, etc.).
- La siguiente capa es la capa de servicios que permite la operación de la aplicación (una capa arriba) y establece las conexiones con diferentes funciones como Oráculos (API a datos del mundo real), contratos inteligentes, Multifirma (contrato de varias partes), Carteras, Almacenes de Archivos Distribuidos y mucho más.
- La capa final es la que enfrenta al consumidor o cliente, que es la capa de aplicación donde tiene lugar la lógica empresarial y la interacción del usuario, y esto requiere usar diferentes lenguajes de programación como C++, Python, Solidity y Java.
1.2 Interoperabilidad de Aplicaciones Descentralizadas [30m]
Cada tecnología sirve a un propósito específico, y siempre es una buena idea familiarizarse no solo con tu contribución a la pila de aplicaciones sino entender diferentes tecnologías interoperables.
1.3 Tablas de Hash Distribuidas [10m]
Ahora hay una tremenda cantidad de capital y financiamiento aprobado y dedicado a la infraestructura y arquitectura de tecnología cripto, y con razón, la tubería y el cableado digital necesitan establecerse antes de que se pueda producir algo significativo. También es importante aprender sobre la autonomía, descentralización, tolerancia a fallos y escalabilidad de las tablas de hash distribuidas (DHT).
1.4 Paisaje Tecnológico [30m]
Este mapa destaca algunas de las aplicaciones prominentes que se ejecutan en múltiples Blockchains como los intercambios de criptomonedas donde se negocian monedas digitales, soluciones de procesamiento de pagos como Bitpay y Circle, y plataformas de emisión (por ejemplo, producto que te permite tokenizar activos virtuales para permitir la transferibilidad fácil).
Los desarrolladores de Blockchain son típicamente responsables de diseñar y construir soluciones específicas de la industria utilizando tecnología Blockchain, así como liderar y contribuir a la configuración de la infraestructura de Blockchain y el desarrollo de soluciones utilizando un marco prominente. Además, deben entender los requisitos funcionales según sean aplicables a la industria objetivo y convertirlos en especificaciones de sistema y usuario para el desarrollo. Finalmente, deben definir enfoques de desarrollo, mejores prácticas para implementar las soluciones y documentar todos los marcos de desarrollo y artefactos de diseño.
1.5 Estructura Típica del Equipo de Aplicación Blockchain
Es bueno entender en qué posición te gustaría enfocarte primero, y mientras evalúas en qué componente de la pila de aplicaciones Blockchain vas a contribuir, puedes obtener una idea de cómo funcionan estas construcciones. Generalmente hablando, tendrías:
- Front End: enfocándose en la interfaz de usuario y la experiencia del usuario, esto involucraría usar HTML para el desarrollo de productos basados en web, CSS Bootstrap para diseñar los prototipos que se proporcionan y usar Javascript, jQuery, AngularJS para construir todas las interacciones entre el back-end (la siguiente capa hacia abajo) y la interfaz de usuario; esencialmente mostrar la información que se produce en el back-end, por ejemplo, funcionalidad de búsqueda, acciones detrás de botones, etc.
- Back End: esto involucraría configurar el servidor en la nube, escribir APIs en Python, Node.js, Rails, construir la base de datos en Mongo, Postgres, Cassandra para propiedades ACID, dicho esto, en un mundo perfectamente descentralizado, la Blockchain que estás usando sería en última instancia tu base de datos, por lo tanto, el diseño de la base de datos estará dictado por la necesidad de un entorno centralizado vs. descentralizado vs. distribuido vs. híbrido. Estas APIs son críticas para la gestión de usuarios (como registros, inicios de sesión, cierres de sesión, sesiones de navegador), la emisión y utilidad detrás de los tokens, una API de explorador de bloques si es necesario, una API de panel de control para extraer datos de la base de datos, gestión de carteras API (para enviar y recibir tokens, si corresponde), gestión de seguridad y permisos, y crear registros y análisis para todos los eventos posibles. registros/análisis para todos los eventos.
- Plataforma-Blockchain: esto involucraría convertir la entrada de datos en variables, crear código de Solidity, usar las variables y desplegarlo en la red Ethereum (ya sea el MainNet / Testnet) usando Solidity. Este podría ser el módulo más complicado de la solución.
2.0 Una introducción a Plataformas y Marcos de Desarrollo
Diferentes Plataformas Blockchain – Una Breve Introducción [45m-10h]
Existen docenas de marcos de aplicaciones descentralizadas construidos sobre la tecnología Blockchain, y cada uno de estos usa ya sea su propio lenguaje de programación o ha creado un lenguaje de programación propietario específico para esa plataforma. Algunos de los ejemplos notables incluyen: Ethereum, Lisk, Omni, NEO, Ardor, Qtum, Counterparty, Stellar, Waves, Bitshares, Ubiq, NXT y Waltonchain. Este artículo destaca algunas de las plataformas y marcos más conocidos que se utilizan extensamente hoy en día.
3.0 Una introducción a Ethereum
Papel Blanco Original [5-10h]
Este es siempre el primer paso en Ethereum, recomiendo encarecidamente tomar todo el tiempo posible para leer esto en detalle. Este es un documento vivo y respirable que se actualiza constantemente.
¿Cómo funciona Ethereum? [45-90m]
Recomendaría dedicar tiempo a leer y comprender completamente el contenido de este artículo. Está bien organizado y comienza desde el principio, por lo que es un Blockchain, explica el paradigma de la blockchain de Ethereum, y entra en detalle exhaustivo sobre las confirmaciones de transacciones y los planes de ejecución.
[Video] Cuando las Nuevas Tecnologías y las Políticas Desactualizadas Colisionan [20-40m]
El Centro para la Innovación en la Gobernanza Internacional (CIGI) es un think tank independiente, no partidista sobre gobernanza internacional, el trabajo interdisciplinario de CIGI incluye colaboración con comunidades de políticas, negocios y académicas de todo el mundo, y esta es una entrevista realizada por la Senior Fellow de CIGI, Julie Maupin, donde le pregunta a Vitalik Buterin, fundador de Ethereum, para levantar el telón sobre esta compleja plataforma y sus implicaciones de gobernanza. Su discusión cubre una amplia gama de temas: la introducción de Buterin a las criptomonedas; la creación de Ethereum; cómo el hardware — grande y pequeño — juega un papel en el desarrollo futuro y la adopción; y la inminente transición de Ethereum del modelo de “prueba de trabajo” a “prueba de participación”.
Vitalik ahora pasa mucho menos tiempo enviando actualizaciones de código de programación, y más tiempo en la arquitectura de Ethereum, enfocándose en propiedades, eficiencia, simplicidad, privacidad y escalabilidad.
3.1 Introducción a Criptomonedas, Contratos Inteligentes y Aplicaciones Descentralizadas
Usando la tecnología Blockchain, puedes crear criptomonedas (desde cero o bifurcando un repositorio público de código existente), contratos inteligentes (haciendo cumplir automáticamente las reglas) y aplicaciones descentralizadas (programas sin un propietario central o un único punto de fallo) Si tu objetivo es crear una nueva criptomoneda y recaudar capital usando una oferta inicial de moneda (ICO), entonces tu proceso de desarrollo dependerá de qué criptomoneda te gustaría crear, el tipo de funcionalidad y características que estás buscando tener, las características del token o moneda (es decir, será minable o apilable, qué algoritmo de consenso tendrán que acordar los nodos operativos, cuáles serán las reglas de hashing, qué tipo de mecanismo de distribución de tokens estará en su lugar, qué propiedades de la criptoeconomía como medidas inflacionarias se aplicarán a nivel de protocolo. Hay una larga lista de herramientas y tecnologías en el Ecosistema Ethereum, e hice mi mejor esfuerzo para seleccionar algunas notables para ayudarte a embarcarte en este emocionante viaje.
3.2 Criptomonedas
Aunque teóricamente, puedes usar cualquier lenguaje de programación para crear una criptomoneda o una blockchain, los lenguajes más comunes son Go (Golang), C, C++, Java, Python, Perl y sería útil usar un lenguaje de programación que sea ampliamente soportado y tenga una comunidad de desarrollo activa y próspera. El lenguaje oficial en el que está escrita la Máquina Virtual de Ethereum (EVM) es Go. Aunque hay bastantes implementaciones diferentes, el cliente Geth es el más prevalente y Go también es el lenguaje preferido para algunos otros proyectos importantes, a saber, Cosmos. La belleza de las criptomonedas es que puedes tener acceso literalmente a todo el código de programación de código abierto de Ethereum, y crear tu propia moneda alternativa (altcoin) bifurcando el código original (si te gustaría tener control total sobre cada aspecto), o simplemente emitir un token en la red Ethereum. Es importante mencionar que actualmente, más del 90% de las criptomonedas son tokens o activos emitidos en la plataforma Ethereum.
Papel Blanco Original por Satoshi Nakamoto [2-4h]
Esta es la definición canónica de lo que es una criptomoneda y proporciona una explicación sucinta de cómo funciona la Blockchain de Bitcoin, el modelo de incentivo en uso, cómo se establece la privacidad y cómo se usan los árboles de Merkle para la verificación de pago simplificada (concepto muy importante para varias criptomonedas).
3.2.1 Estándar de Token Ethereum
Es importante que primero te familiarices con Ethereum Request for Comments (ERC), que es el protocolo oficial para proponer mejoras a la red Ethereum, siendo los más comunes ERC20 y ERC23 (conocido oficialmente como ERC223) para crear criptomonedas.
Definición de Token ERC20 [2h-3h]
Estas definen el conjunto de reglas para tokens que operan dentro de ese entorno. Este es un artículo importante para leer en profundidad, ya que explica las reglas de la interfaz, lo que hace un contrato de token, cómo establecer transferencias de saldo y circulación de suministro de monedas/tokens
3.3 Contratos Inteligentes
Como Ethereum es una plataforma descentralizada construida usando tecnología Blockchain, su atributo más conocido es su capacidad para ejecutar contratos inteligentes. Los contratos inteligentes son programas que se ejecutan exactamente como están codificados y se ejecutarán automáticamente para satisfacer condiciones contractuales comunes como gravámenes complicados, términos de pago y cumplimiento de convenios. Solidity, que se basa en Javascript, es el lenguaje de programación oficial que se utiliza para codificar contratos inteligentes (en el pasado, Serpent, que se basa en Python, se estaba utilizando extensamente).
Lista de Herramientas y Tecnologías en el Ecosistema Ethereum [15m-2h]
Esta es una gran visión general de Mahesh Murthy, y proporciona un resumen fantástico de cada uno de los componentes clave de la red Ethereum. Para los propósitos de este curso, solo me estoy enfocando en algunas de estas secciones, sin embargo, vale la pena leer y familiarizarse con algunasEsta lista algunos de las herramientas comunes para ayudar mientras aprendes, incluyendo Dapp (Herramienta de construcción, gestor de paquetes y asistente de despliegue) y Solidity REPL (que te permite probar a codificar en Solidity instantáneamente con una consola de línea de comandos).
Aplicación de Votación “Hola Mundo” Full Stack en Ethereum Tutorial – Parte 1 [2h-10h]
Este es un excelente tutorial paso a paso que avanza a un ritmo constante sobre cómo desarrollar una poderosa, pero simple aplicación de votación en la plataforma Ethereum. Contiene tres partes y fue actualizado recientemente para aprovechar las mejoras recientes de Ethereum. Si buscas escribir el código desde cero y no reutilizar ninguno de los contenidos principales, sería una gran manera de aprender cómo escribir contratos inteligentes, solo que tomaría considerablemente más tiempo completarlo que solo unas pocas horas. El objetivo de este ejercicio es:
- Configurar el entorno de desarrollo para la aplicación de votación
- Aprender la metodología y sintaxis de escribir un contrato inteligente, luego compilarlo y desplegarlo en el entorno
- Interactuar con el contrato inteligente en la blockchain de Ethereum a través de una consola Node.js.
- Interactuar con el contrato inteligente a través de una página web simple para mostrar los recuentos de votos y votar por candidatos a través de la página.
Aplicación de Votación “Hola Mundo” Full Stack en Ethereum Tutorial – Parte 2 [2h-10h]
Este tutorial es una continuación del desarrollo de la aplicación de votación mencionada anteriormente, y una vez que hayas terminado, habrías:
- Aprendido cómo instalar geth, que es el software cliente (uno de muchos) utilizado para descargar toda la blockchain de Ethereum localmente para ejecutar un nodo.
- Aprendido cómo instalar el marco de trabajo dapp de Ethereum llamado Truffle que se puede usar para compilar y desplegar el contrato; este tema puede esperar potencialmente hasta la próxima sección ya que eso cubre aplicaciones descentralizadas en mucho mayor detalle.
- Compilado y desplegado el contrato inteligente en la testnet Ropsten de Ethereum.
- Tenido la oportunidad de interactuar con el contrato inteligente usando la consola Truffle y una página web normal.
Aplicación de Votación “Hola Mundo” Full Stack en Ethereum Tutorial – Parte 3 [2h-7h]
El tutorial final te guiará sobre cómo agregar algunas características clave a la dapp de votación que fue previamente desplegada en la blockchain de Ethereum, y esto será una excelente actividad para aprender conceptos más avanzados. Los objetivos clave de la lección son:
- Aprender cómo usar nuevos tipos de datos como struct para organizar y almacenar datos en la blockchain.
- Aprender los principios de los tokens y su uso.
- Aprender cómo hacer pagos usando Ether, la moneda de la plataforma blockchain de Ethereum.
Aplicación de Votación “Hola Mundo” Full Stack en Ethereum Tutorial – Demo Final [1h]
¡Aquí está la aplicación de votación descentralizada para que todo el mundo la experimente de primera mano! Un recordatorio amistoso, es que para que esta aplicación funcione correctamente, necesitas instalar la extensión de navegador MetaMask y luego cambiar al Ropsten TestNet.
[Optional] Introducción a Solidity – Parte 1 [2h-5h]
Ethereum ha prometido desde el principio que puede desplegar, código arbitrario poderoso (también conocido como contratos inteligentes), y este tutorial de video co-producido por Will Warren y Jordan Leigh avanza, paso a paso sobre cómo configurar un entorno de Desarrollo de Ethereum, los fundamentos de escribir y desplegar contratos inteligentes en la blockchain de Ethereum. Muy recomendado ya que ambos son brillantes.
[Optional] Introducción a Solidity – Parte 2 [2h-4h]
Esta es una continuación del tutorial de video mencionado anteriormente, también recomendado, especialmente para desarrolladores que les gusta seguir visualmente.
3.3.1 Principios de Seguridad de Contratos Inteligentes de Ethereum y Auditoría
¿Cuál es el riesgo de que un contrato inteligente sea hackeado? ¿Existen hoy métodos de verificación automática de contratos inteligentes? ¿Qué tan efectivos son los algoritmos autoestabilizadores, autoauditores y autocorrectivos? Estas preguntas serán respondidas en las siguientes secciones.
Es esencial que revises el material a continuación antes y durante la creación de un contrato inteligente. Esto asegura que tu código de programación siga los estándares y que las vulnerabilidades de seguridad se aborden tanto como sea posible. Ningún contrato inteligente será perfecto, pero la casi perfección es el objetivo y un plan de gestión y mitigación de riesgos efectivo es imperativo.
Mejores Prácticas de Contratos Inteligentes [4h-15h]
Este documento proporciona una gran base de conocimiento sobre consideraciones de seguridad, implicaciones y reglas a seguir para los programadores de Solidity. Es mantenido por ConsenSys Diligence, y la comunidad más amplia de Ethereum.
Consideraciones de Seguridad de Contratos Inteligentes [2h-5h]
Esta guía entra en gran detalle sobre las diferentes trampas que puedes enfrentar como programador de solidity, recomendaciones a seguir, y destaca algunos métodos de verificación formal disponibles.
Ejemplo de Auditoría de Contrato Inteligente [30m-1h]
Este es un gran ejemplo de una auditoría de contrato inteligente completada por una de las instituciones más respetadas en el negocio hoy en día, Zeppelin Solutions. Aunque cada auditoría es única y variará considerablemente en detalle, las auditorías se organizarán típicamente en las siguientes secciones: problemas graves que necesitan ser abordados inmediatamente antes del lanzamiento del token, problemas potenciales que podrían evolucionar potencialmente en convertirse en problemas si no se abordan de manera oportuna (como el uso de marcas de tiempo, uso de códigos de envío y recepción, servicio de custodia, evitar código duplicado, constantes mágicas en cantidades), advertencias y finalmente una conclusión.
Concursos de Auditoría de Contratos Inteligentes – Parte 1 [20m-1h]
Esta es una lectura importante, proporciona algunas lecciones clave aprendidas de un concurso de solidity, algunas son prevenibles y algunas no tanto, porque esa es la naturaleza de los contratos inteligentes en su conjunto, solo puedes proteger tu código de ataques conocidos, el riesgo importante proviene de ataques desconocidos (circunstancias o escenarios que no habías considerado durante la fase de diseño inicial).
Concursos de Auditoría de Contratos Inteligentes – Parte 2 [20m-1h]
Este artículo discute los resultados de la auditoría del concurso y proporciona un gran resumen de cada una de las presentaciones ganadoras, mucha gran conocimiento aquí.
Ejemplo de un Contrato Inteligente para apostar en la pelea de Mayweather y McGregor [1h-2h]
Este es un contrato inteligente que fue realmente desplegado en la MainNet de Ethereum utilizado para facilitar apuestas para esa gran pelea de boxeo que tuvo lugar el año pasado. El desarrollador principal creía que ir con una solución como Oraclize era la mejor apuesta, por lo tanto, después de la pelea cualquiera puede llamar a la función checkResult(), asumiendo que se envía un poco de Ethers para cubrir la tarifa de consulta, la función luego hace ping a la página de BoxRec de Floyd Mayweather y raspa el resultado de la pelea de McGregor, y finalmente, declara al ganador en el contrato en consecuencia. Este es solo un ejemplo simple de lo que es posible cuando conectas un evento de la vida real en un código de contrato inteligente automáticamente ejecutable y transparente.
3.4 Aplicaciones Descentralizadas
Antes de saltar directamente a construir una aplicación descentralizada, es inspirador ver lo que ya se ha construido, y qué ha tenido éxito frente a lo que no ha sido adoptado ampliamente.
Estado de las Aplicaciones Descentralizadas [30m-3h]
Estado de las ÐApps es un directorio curado sin fines de lucro de Aplicaciones Descentralizadas a nivel mundial. Todas están construidas sobre la Blockchain de Ethereum. Estado de las ÐApps fue creado para categorizar y mostrar proyectos desarrollados con esta increíble tecnología, e incluye múltiples proyectos de diferentes campos como realidad virtual, inteligencia artificial, documentación y registros, mercado laboral, juegos, cursos de aprendizaje y formación, y mucho, mucho más.
Lista de DApps de Ethereum [30m]
Este es uno de los mayores recursos disponibles en este espacio, muestra casi 300 aplicaciones descentralizadas que funcionan sobre la plataforma de Ethereum, y destaca la suma del saldo de ETH que está en todos los contratos de DApp, usuarios activos diarios, el número de transacciones procesadas diariamente, y mucho más. Esta lista ha crecido considerablemente y los proyectos notables a seguir de cerca que ya están en vivo y se utilizan activamente son: Ethlance, CrytptoKitties, Etherbots, Ethercraft, Etheremon, Etheroll, ETHLend, Crypto Sportz, Edgeless, 0xBitcoin, y Forkdelta.
Flujo de Trabajo de Front-End de Aplicaciones Descentralizadas [20m-30m]
Este es un gran flujo de trabajo tecnológico que proporciona una visión general de las Dapps, desde la perspectiva del front-end. Muestra que puedes construir una DApp que proporciona una UI para que los usuarios desplieguen un contrato y luego lo usen (Pasos 1 o 4). Alternativamente, la Dapp podría asumir que el contrato ya ha sido desplegado (más común en estos días) y comenzar el flujo de UI desde allí (Paso 6).
Introducción al Desarrollo de Aplicaciones Descentralizadas [10h-30h]
Esta es la mejor introducción al desarrollo de aplicaciones descentralizadas que existe, fue producida completamente por Jordan Leigh en Decypher Media. Somos afortunados, porque este curso solía ser una oferta premium y costaba dinero acceder, sin embargo, ahora está disponible gratuitamente.
La lista de reproducción es bastante completa y ciertamente no necesitas ver y ejecutar cada paso del programa, pero sería útil cubrir las secciones principales. Algunos de los materiales anteriores están ligeramente desactualizados, dicho esto, todavía son completamente relevantes. La lista completa se describe a continuación, he resaltado los tutoriales más urgentes:
- Provisionamiento del entorno de desarrollo
- Creación de Pares de Claves Ethereum
- El Problema de la Parada y Por Qué Necesitamos Gas
- Introducción a las Transacciones
- Enviar Transacciones con Interfaces de Usuario
- Enviar Transacciones con Código
- Contratos Inteligentes – Hola Mundo
- Contratos Inteligentes – Escrow
- Contrato Inteligente – Lanzador de Monedas – Parte 1
- Contrato Inteligente – Lanzador de Monedas – Parte 2
- Herencia de Contratos
- Oráculos y Oraclize
- Cómo usar el Servicio de Nombres de Ethereum (ENS)
- Interfaz de Línea de Comandos
- El Límite de Gas del Bloque
- Evitando Bucles con Mapeos
- Eventos de Contratos
- Firmar Mensajes Arbitrarios
- Implementando un Esquema de Autenticación
- El Estándar de Token ERC20
- Instalando Geth
- El Bloque Génesis
- Sincronizando la Blockchain
- Almacenes de Claves de Geth
Aplicación Descentralizada – Serie [2h-10h]
Este índice revisa algunas de las aplicaciones conocidas de Nexus / DappHub. Esto incluye Dapps, bibliotecas, paquetes con un archivo Dapp, con la esperanza de aumentar el uso de su cadena de herramientas y funciona como excelentes estudios de caso para desarrolladores. Están creando un conjunto integral de herramientas de desarrollo orientadas a blockchain en el espíritu de la Filosofía Unix y definitivamente vale la pena tu tiempo, ya que contribuyeron al proyecto MakerDAO así como produciendo algunas herramientas de desarrollo ampliamente utilizadas.
[Optional] Configuración, Despliegue y Mantenimiento de Amazon Web Services (AWS) [4h-7h]
Este material es opcional, pero aún así valdría la pena verlo si estás buscando configurar una instancia EC2 de AWS desde el principio y estás interesado en configurar un entorno de desarrollo de Rails. Después, si estás interesado, puedes configurar una instancia de AWS S3 para almacenamiento de archivos en la nube.
[Optional] Creando tus propias aplicaciones Ethereum usando Ethereum Go [45m-2h]
Esta sigue siendo una guía y tutorial útil para seguir ya que el lenguaje Go también puede ser utilizado para construir aplicaciones, ya que Ethereum fue construido inicialmente en Go.
[Optional] Dapps para Principiantes [5h-20h]
Este equipo ha producido contenido útil para desarrolladores que buscan adentrarse en la programación usando criptotecnología, también están trabajando en una plataforma educativa llamada EthAcademy (más información en la sección de herramientas a continuación), para competir con Codeacademy.
4.0 Herramientas
Esta es una lista de herramientas y recursos que deberías encontrar más útiles en tu desarrollo:
Ethereum.stackexchange; Gratis
Ethereum Stack Exchange es un sitio de preguntas y respuestas para usuarios de Ethereum
Wiki de Ethereum; Gratis
Descripciones en profundidad útiles de innumerables componentes de Ethereum
Cajas de Truffle; Gratis
Plantillas útiles, estas cajas pueden contener contratos y bibliotecas de Solidity, vistas de front-end y dapps de ejemplo completos.
Remix; Gratis
IDE de Solidity, muy útil y vale la pena el tiempo
Ethacademy; Gratis
Aún no se ha lanzado, pero sugeriría inscribirse en el boletín ya que te envían mucha información excelente sobre las últimas herramientas de desarrollo de Ethereum e integraciones.
Ether.fund; Gratis
Tiene un directorio de contratos inteligentes de Solidity que podrían ayudarte a generar más innovaciones.
GitHub de Ethereum; Gratis
Tiene una gran lista de recursos útiles para ayudar con el desarrollo de Dapps
CryptoZombies; Gratis
Con CryptoZombies, aprenderás cómo escribir Contratos Inteligentes Ethereum usando Solidity de una manera divertida e interactiva donde codificas tu propio juego de zombis, específicamente construyendo tu propio juego de coleccionables cripto.
Ethernaut de OpenZeppelin; Gratis
Esta es una gran manera de aprender mucho más sobre la seguridad de Ethereum, específicamente cómo proteger tu código de Solidity de ser hackeado (tanto como sea posible). Un gran tutorial para aprender los conceptos básicos.
Yasiv; Gratis
Esta es una increíble herramienta web gratuita que te permite ver, visualmente en un mapa de enlaces, qué productos de Amazon están correlacionados de alguna manera u otra. Este ejemplo muestra libros de Blockchain. Intenta escribir Ethereum.
Mapa Geográfico de Bitnodes; Gratis
Esto fue creado para estimar el tamaño de la red Bitcoin alcanzando todos los nodos contribuyentes.
Mapa de la Red de Bitnodes; Gratis
Esta es otra hermosa visualización de todos los nodos en la red Bitcoin, genial para rastrear durante el curso de varios meses.
Bitcoin Interaqt; Gratis
Esta impresionante visualización es en vivo y opera en tiempo real, mostrando bloques a medida que son procesados y minados. Puedes hacer clic en cualquiera de los bloques flotantes y te mostrará inmediatamente el contenido de ese bloque en la vista del explorador.
Blockchain Diario – Transacciones No Confirmadas; Gratis
Maravilloso para ver transacciones no confirmadas en este tipo de vista, puedes ver miles de transacciones esperando ser procesadas; hay un esfuerzo concertado por parte de todos en la comunidad de Bitcoin para acelerar la adopción de algunas de las rutinas de optimización que tienen en lugar.
Blockseer; Gratis
Esta es una de las únicas soluciones disponibles hoy en día que te permite rastrear el flujo de transacciones a medida que atraviesan la Blockchain. Muy recomendado para inscribirse.
Blocks WizB; Gratis
Esto es interesante para rastrear, te permite acercarte y monitorear dónde se están procesando las transacciones por los nodos en la red.
5.0 Material adicional
Lo que necesitas saber sobre la tecnología Blockchain; Gratis [20m-40m]
Este es un gran artículo escrito por Karim Lakhani, profesor de la Escuela de Negocios de Harvard y cofundador de la Iniciativa Digital de HBS, donde discute blockchain en gran profundidad. Lakhani desglosa cómo funciona la tecnología detrás de bitcoin y habla sobre las industrias y empresas que podrían ver nuevas oportunidades de crecimiento o perder negocios.
La Verdad sobre la tecnología Blockchain; Gratis [15m-20m]
Este es otro excelente artículo de Marco Iansiti, Profesor de Administración de Empresas David Sarnoff en la Escuela de Negocios de Harvard y también por Karim R. Lakhani, Profesor de Administración de Empresas Charles Edward Wilson y el becario Dorothy y Michael Hintze en la Escuela de Negocios de Harvard. Discuten los patrones de adopción tecnológica, la nueva arquitectura, un marco para la adopción de Blockchain
Libro- Dominando Bitcoin: Desbloqueando Criptomonedas Digitales por Andreas M. Antonopoulos; Gratis
Escrito por uno de los gurús originales de criptomonedas y tecnología Blockchain, disponible gratuitamente aquí.
Libro – Dominando Ethereum: Construyendo Contratos Inteligentes y Dapps; Gratis
Otra obra maestra escrita por Andreas Antonopoulos, fue publicada en diciembre de 2018, pero hay una edición gratuita disponible en GitHub.
Libro – Blockchain: Plan para una Nueva Economía por Melanie Swan; Pagado
Este es uno de mis favoritos personales, Melanie parecía adelantada a su tiempo cuando lanzó este libro, esto fue antes de que Ethereum incluso tuviera atención generalizada, es una verdadera visionaria y pronosticó en 2015 bastante de lo que realmente tuvo lugar en 2017.
Introducción de ConsenSys a la Programación de Contratos Inteligentes en Ethereum; Gratis [2h-4h]
Este artículo de Consensys proporciona un tutorial introductorio útil sobre la programación de contratos inteligentes basados en Dapp.
A pesar de que este artículo está fechado, todavía contiene una tonelada de información útil para los aspirantes a desarrolladores de Blockchain y arquitectos de Blockchain.
Ethereum en la Práctica – Partes 1, 2 y 3 por uno de los principales desarrolladores de Ethereum; Gratis [3h-5h]