No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Desarrollo de producto: tecnologías y protocolos

7/10
Recursos

Aportes 22

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Lenguajes de programación para web3:

  • C#.
  • C++.
  • Solidity.
  • Python.
  • Go.
  • Vyper.
  • JavaScript.
  • Simplicity.
  • Rust.

Desarrollo de producto.
Blockchain es una evolución natural.
Tecnología y protocolo. Protocolo son las reglas mediante las cuales se rige una Blockchain. Crear side chain o layer 2, es cuando los desarrolladores utilizan la base red de una Blockchain para aprovechar sus propiedades.
Trilema: Seguridad, descentralización y escalabilidad.
Lenguajes de programación. Blockchain tiene usos particulares. Solidity lenguaje original para desarrollar en Etherum. Enfocado en objetos y contratos inteligentes. Influencias de Java script, C .
Si tienes experiencia Python también se puede programar en Ethereum.
Dentro del ecosistema Solana se utiliza el lenguaje Rust o C
. Si es para desarrolladores con mas experiencia.
No code, es la mejor forma para crear aplicaciones sin tener experiencia en lenguajes.

Trilema: Seguridad, descentralización y escalabilidad.

Sumo a la lista de lenguajes Plutus que es el lenguaje de programación de Cardano y que está basado en Haskell.

Si quieres desarrollar un producto utilizando la tecnología blockchain, tendrás que elegir los protocolos y las plataformas correctas en las que basarte. Hay muchas opciones diferentes, y la mejor elección para su proyecto dependerá de sus necesidades y objetivos específicos. A continuación, le indicamos algunos aspectos que debe tener en cuenta a la hora de hacer su selección:

  1. Las plataformas y los protocolos evolucionan constantemente. Lo que está de moda hoy puede desaparecer mañana, por lo que es importante estar al día de los últimos avances en este ámbito. Blockchain es todavía una tecnología relativamente nueva, y las cosas están cambiando rápidamente. Hacer referencia a una plataforma o un protocolo obsoletos en su producto podría hacer que pareciera que se ha quedado atrás.

  2. Las diferentes plataformas ofrecen diferentes características y capacidades. Algunas son más adecuadas para ciertos tipos de aplicaciones que otras. Investiga y asegúrate de elegir una plataforma que satisfaga las necesidades de tu proyecto.

  3. La seguridad es primordial en el mundo del blockchain. Asegúrese de elegir una plataforma o un protocolo que tenga una fuerte postura de seguridad. Esto es especialmente importante si está manejando datos sensibles o transacciones financieras.

  4. La interoperabilidad es otra consideración importante. Si quieres que tu producto interactúe con otros sistemas basados en blockchain, tendrás que asegurarte de que la plataforma o el protocolo que elijas sea compatible.

  5. El coste es siempre un factor a la hora de elegir cualquier tipo de tecnología. Asegúrese de entender los costes asociados de utilizar una plataforma o un protocolo concreto antes de tomar una decisión.

  6. El soporte es otra consideración importante. Si algo va mal, querrás poder obtener ayuda de los desarrolladores de la plataforma o el protocolo que estés utilizando. Asegúrate de que ofrecen un buen soporte antes de elegir una solución.

  7. Por último, pero no menos importante, no olvídese del cumplimiento de la normativa. Dependiendo de su sector y de su ubicación, puede haber normativas específicas que deba cumplir. Asegúrate de que la plataforma o el protocolo que elijas cumpla con los requisitos normativos pertinentes.

La tecnología Blockchain está todavía en sus primeras fases de desarrollo, y hay muchos protocolos y plataformas diferentes entre los que elegir.

El proceso de selección puede ser desalentador, pero es importante tomarse el tiempo necesario para elegir la solución adecuada para su proyecto. Tenga en cuenta los factores anteriores para ayudarle a tomar la mejor decisión para sus necesidades.

++> DESARROLLO DE PRODUCTO:TECNOLOGIAS Y PROTOCOLOS
++

EL PROTOCOLO PUEDE GOBERNAR VARIAS REDES Y CREAR UNA BLOCKCHAIN, REQUIERE FUERTE DE CAPITAL. ES POR ESO QUE CREAN PROYECTOS SOBRE UNA CADENA YA EXISTENTE A ESTOS SE LOS LLAMA CREAR UNA SAICHIN O LEIGER 2, ESTO SIGUEN LAS MISMAS REGLAS QUE LA CADENA BASE, ADEMAS IMPLEMENTAN SU PROTOCOLO A LA CADENA BASE.

TRES VERTIENTES FUNDAMENTALES EN UN CONSENSO O LLAMADOS TRILEMA DE ESCALABILIDAD:

  • SEGURIDAD
  • DESCENTRALIZACION
  • ESCALABILIDAD

LENGUAJES DE PROGRAMACIÓN:

  • SOLIDITY:PARA CONTRATOS INTELIGENTES Y DAPPS, TIENE INFLUENCIA DE JAVA SCRIP, THE POWER SHIR
  • C#.
  • C++
    -Python.
  • Go.
  • Vyper.
  • JavaScript.
  • Simplicity
  • Rust. no es el lenguaje fácil

RESUMEN CLASE 7:
DESARROLLO DE PRODUCTO:
TECNOLOGIA Y PORTOCOLOS

I.- Lenguajes de Programacion

  • Solidity (Ethereum y otros)

  • Rust (Solana y otros)

El puente entre la centralización y descentralización es enorme.

Diferencia entre tecnología y protocolo

Protocolo reglas bajo la cual funciona la red, un mismo protocolo puede gobernar varias redes, Por lo cual crear una Blockchain propio requiere grandes cantidades de capital, por ello se construye generalmente sobre cadenas ya existentes llamadas sidechain o Layer2.
Es fundamental cumplir con los mecanismos de consenso por las tres vertientes fundamentales de un proyecto seguridad, descentralización y escabilidad, este trilema no ha sido resuelto. Cómo podemos aportar soluciones a ese trilema?

Muy amplio el abanico de oportunidades que se presentan, espero que la aplicación ideal pueda pensarse y desarrollarse, Mas alla de los lenguajes pienso en la Usabilidad de las soluciones y las bondades del Blockchain.

Desarrollo de producto: tecnologías y protocolos
.
Web 3 respecto a Web 2 no viene a cambiar la tecnología ni eliminar lo que ya tenemos, es simplemente una evolución natural de lo que necesitamos, con el objetivo de hacer mas justo y abierto el modo en el que interactuamos con la red.
.
El puente entre la centralización y la descentralización es enorme.
.
Por ello, también es fundamental el modo en el que creamos nuestra startup, pero ademas, como sera esta evolución también para todos y todas.
.
Una de las cosas mas fundamentales es entender la diferencia entre tecnología y protocolo, y para ello podríamos decir que los protocolos dentro de blockchain significan las reglas bajo las cuales funciona la red. Un mismo set de reglas, un protocolo, puede gobernar varias redes.
.
Crear una blockchain desde cero con tecnología y protocolos propios, requiere una fuerte inversion de capital, tanto humano como de dinero.
.
Es por eso que es común que los desarrolladores construyan sobre una blockchain ya existente.

A esto se le llama crear una sidechain o layer 2 (capa 2) y al hacerlo, estas aplicaciones descentralizadas, van a seguir las mismas reglas que la blockchain base. Aunque hay casos donde el equipo de desarrollo implementa su propio protocolo ademas del de la blockchain original.
.
Al utilizar una blockchain existente se aprovecha su poder computacional, su comunidad y ademas su mecanismo de consenso establecido para verificar las transacciones (como PoW o PoS) Hay redes principales como Bitcoin o Ethereum que al ser de código abierto nos permite aprovechar sus propiedades.
.
Entender los mecanismos de consenso es fundamental para cumplir con 3 vertientes fundamentales en un proyecto, el Trilema de Escalabilidad: Seguridad + Decentralization + Escalabilidad
.
Este trilema no ha sido aun resuelto.
.
Otro factor fundamental al nivel de elección de tecnología, son los lenguajes de programacion. En blockchain, cada uno tiene un uso muy particular.
.
Solidity
Solidity es un lenguaje original para desarrollar en Ethereum, de alto nivel y orientado a objetos para smart contracts (contratos ingeligentes) y dApps (aplicaciones descentralizadas) Tiene influencias de JavaScript, Powershell y C++.
.
JavaScript
Si vienes del mundo Front-end también podrás desarrollar para blockchain para Ethereum con el framework Web3.js o Ethers.js
.
Python
Si tienes experiencia con Python también puedes programar smart contracts o dApps para Ethereum con Web3.py y Brownie.py
.
Solana
Puedes construir proyectos como DeFi, NFTs y mucho mas en Rust, C o C++. Rust no es un lenguaje fácil para programadores primerizos. Para desarrollar dApps en Solana o Near puedes utilizar el SDK Web3.js o SDKs de terceros en otros lenguajes como Java, C#, Python, Go, Kotlin y otros.
.
Cursos de desarrollador o founder tecnico de Web 3, modulo “Construye en Web3” de la escuela de Blockchain y Criptomonedas, conteniendo todos los recursos: lenguajes, librerías y recursos.
.
No Code
Si no sabes de código y quieres lanzar tu primera aplicación descentralizada sin código. Mas allá de lo complejo de tu proyecto, tu misión es que cada vez mas personas puedan usar blockchain de la forma mas sencilla, hasta el punto que quizá no se den cuenta que están usando blockchain.
.
No solo existe No Code para la creación de sitios y apps tradicionales. Ahora también existen soluciones para crear productos digitales y smart contracts sobre blockchain. Estas plataformas usualmente permiten a sus usuarios construir dApps usando nodos y ademas bloques visuales para así ser desplegados en blockchain.
.
También existen crypto startups que están integrado APIs a las plataformas de automatización como Zapier.
.
Mejores prácticas
Cuando tu proyecto comience a tomar vuelo, toma las mejores practicas de los proyectos de Open Source lideres de forma que tus usuarios no sean abrumados por la complejidad y la dificultad de uso.

Los usuarios buscan Empatía, Usabilidad + gran UX.
Diseño en la solución a desarrollar.

Para los desarrolladores aprender sobre Blockchain es fundamental por todo lo que representa el futuro de aplicación de esta tecnología en diferentes industrias, no solo en el mundo cripto.

El desarrollo de productos en el ecosistema blockchain implica el uso de diversas tecnologías y protocolos que facilitan la creación de aplicaciones descentralizadas (DApps), contratos inteligentes, y otras soluciones innovadoras. Aquí se presenta un desglose de las principales tecnologías y protocolos utilizados en este ámbito: **Tecnologías Clave en el Desarrollo Blockchain** 1\. \*Blockchain Platforms\* \- \*Ethereum\*: Plataforma más popular para contratos inteligentes y DApps. Utiliza el lenguaje de programación Solidity. \- \*Solana\*: Conocida por su alta velocidad de transacciones y bajas tarifas. Utiliza Rust y C para desarrollar contratos inteligentes. \- \*Binance Smart Chain (BSC)\*: Compatible con Ethereum y permite la creación de DApps y contratos inteligentes. \- \*Polkadot\*: Protocolo multichain que facilita la interoperabilidad entre diferentes blockchains. Utiliza Substrate para el desarrollo. \- \*Cardano\*: Enfocada en la seguridad y escalabilidad. Utiliza el lenguaje Haskell para sus contratos inteligentes (Plutus). 2\. \*Smart Contracts\* \- \*Solidity\*: Lenguaje de programación principal para contratos inteligentes en Ethereum. \- \*Vyper\*: Alternativa a Solidity en Ethereum, diseñada para ser más simple y auditable. \- \*Rust\*: Utilizado en Solana para desarrollar contratos inteligentes seguros y eficientes. \- \*Move\*: Lenguaje utilizado por Diem (anteriormente Libra) de Facebook. 3\. \*Decentralized Storage Solutions\* \- \*IPFS (InterPlanetary File System)\*: Sistema de archivos descentralizado que permite el almacenamiento y acceso a datos de manera distribuida. \- \*Arweave\*: Protocolo de almacenamiento de datos a largo plazo basado en blockchain. \- \*Filecoin\*: Red de almacenamiento descentralizado que permite a los usuarios alquilar espacio de almacenamiento. 4\. \*Oracles\* \- \*Chainlink\*: Protocolo que conecta contratos inteligentes con datos del mundo real, proporcionando feeds de datos seguros y fiables. \- \*Band Protocol\*: Otra solución de oráculo que ofrece datos en tiempo real para contratos inteligentes. 5\. \*Layer 2 Solutions\* \- \*Polygon (Matic)\*: Plataforma de escalado para Ethereum que mejora la velocidad y reduce los costos de transacción. \- \*Optimism\*: Solución de escalado de segunda capa que utiliza rollups optimistas para mejorar la eficiencia de Ethereum. \- \*Arbitrum\*: Otra solución de escalado basada en rollups optimistas para mejorar la escalabilidad de Ethereum. 6\. \*Interoperability Protocols\* \- \*Polkadot\*: Protocolo que permite la interoperabilidad entre diferentes blockchains mediante parachains. \- \*Cosmos\*: Red de blockchains interoperables que utiliza el protocolo de comunicación IBC (Inter-Blockchain Communication). 7\. \*Decentralized Identity\* \- \*uPort\*: Solución de identidad descentralizada que permite a los usuarios controlar su identidad y datos personales. \- \*Sovrin\*: Protocolo de identidad descentralizada que proporciona una infraestructura de identidad autosoberana. **Protocolos Importantes en el Ecosistema Blockchain** 1\. \*Consensus Mechanisms\* \- \*Proof of Work (PoW)\*: Utilizado por Bitcoin y Ethereum (aunque Ethereum está migrando a PoS). Requiere minería para validar transacciones. \- \*Proof of Stake (PoS)\*: Utilizado por Ethereum 2.0, Cardano, y otros. Los validadores son seleccionados en función de la cantidad de criptomonedas que poseen y están dispuestos a "apostar" como garantía. \- \*Delegated Proof of Stake (DPoS)\*: Utilizado por EOS, Tron y otros. Los poseedores de tokens votan por delegados que validan transacciones. \- \*Practical Byzantine Fault Tolerance (PBFT)\*: Utilizado por Hyperledger Fabric e incluso en algunas configuraciones de Cosmos. 2\. \*Governance Protocols\* \- \*DAOs (Decentralized Autonomous Organizations)\*: Organizaciones que operan mediante reglas codificadas en contratos inteligentes. Ejemplos incluyen MakerDAO y Aragon. \- \*On-chain Governance\*: Protocolos donde las decisiones se toman directamente en la blockchain, como Tezos y Polkadot. 3\. \*Payment Protocols\* \- \*Lightning Network\*: Solución de segunda capa para Bitcoin que permite pagos rápidos y de bajo costo. \- \*Raiden Network\*: Solución de segunda capa para Ethereum que facilita pagos rápidos fuera de la cadena. 4\. \*Token Standards\* \- \*ERC-20\*: Estándar de token en Ethereum para la creación de tokens fungibles. \- \*ERC-721\*: Estándar de token en Ethereum para la creación de tokens no fungibles (NFTs). \- \*ERC-1155\*: Estándar de token en Ethereum que permite la creación de tokens fungibles y no fungibles en el mismo contrato. 5\. \*Privacy Protocols\* \- \*zk-SNARKs\*: Tecnología de pruebas de conocimiento cero utilizada por Zcash para permitir transacciones privadas. \- \*MimbleWimble\*: Protocolo de privacidad utilizado por Grin y Beam que permite transacciones más privadas y escalables. **Desarrollo de Productos: Proceso y Herramientas** 1\. \*Desarrollo y Testing\* \- \*Truffle Suite\*: Conjunto de herramientas para el desarrollo y prueba de contratos inteligentes en Ethereum. \- \*Hardhat\*: Entorno de desarrollo para Ethereum que facilita la compilación, implementación y prueba de contratos inteligentes. \- \*Ganache\*: Herramienta de Truffle para crear una blockchain local para desarrollo y testing. 2\. \*Integración y APIs\* \- \*Web3.js\*: Librería para interactuar con Ethereum desde aplicaciones JavaScript. \- \*Ethers.js\*: Librería ligera para interactuar con la blockchain de Ethereum. \- \*Alchemy\*: Plataforma que proporciona APIs y herramientas para desarrollar DApps. \- \*Infura\*: Proveedor de infraestructura que permite a las aplicaciones conectarse a Ethereum y otras blockchains sin necesidad de operar nodos propios. 3\. \*User Interface (UI)\* \- \*React\*: Biblioteca de JavaScript para construir interfaces de usuario. \- \*Redux\*: Herramienta para gestionar el estado de las aplicaciones. \- \*Web3Modal\*: Herramienta para conectar DApps con diferentes proveedores de billeteras. 4\. \*Security and Auditing\* \- \*MythX\*: Plataforma de análisis de seguridad para contratos inteligentes en Ethereum. \- \*Certik\*: Firma de auditoría que proporciona análisis de seguridad y auditorías para proyectos blockchain. \- \*OpenZeppelin\*: Biblioteca de contratos inteligentes seguros y herramientas de desarrollo. Desarrollar productos en el ecosistema blockchain requiere una combinación de tecnologías avanzadas, protocolos seguros y herramientas de desarrollo eficientes. Al utilizar estos recursos, los desarrolladores pueden crear soluciones innovadoras que aprovechan al máximo las capacidades de la tecnología blockchain. Salu2
Que buen video.
### Lenguajes de Programación en Blockchain: 1. **Solidity**: Utilizado para contratos inteligentes y DApps, Solidity tiene influencia de JavaScript, facilitando su comprensión para desarrolladores familiarizados con este lenguaje. Es ampliamente utilizado en plataformas como Ethereum. 2. **C#**: Este lenguaje, desarrollado por Microsoft, también encuentra aplicaciones en el desarrollo de blockchain, especialmente en entornos basados en la plataforma .NET. 3. **C++ y Python**: Ofrecen flexibilidad y son utilizados en diversas implementaciones de blockchain. C++ es conocido por su eficiencia, mientras que Python destaca por su simplicidad y facilidad de uso. 4. **Go**: Desarrollado por Google, es apreciado por su rendimiento y eficiencia, siendo utilizado en proyectos como Hyperledger. 5. **Vyper**: Alternativa a Solidity, Vyper se centra en la simplicidad y la seguridad en la ejecución de contratos inteligentes. 6. **JavaScript**: Ampliamente utilizado en el desarrollo web, JavaScript también encuentra aplicación en el desarrollo de DApps y en la interacción con blockchains a través de bibliotecas como Web3.js. 7. **Simplicity**: Un lenguaje funcional diseñado para la creación de contratos inteligentes en Bitcoin. 8. **Rust**: Aunque puede presentar un desafío inicial, Rust es apreciado por su seguridad y rendimiento, siendo utilizado en proyectos como Polkadot.

Gracias

ESTA ES LA PARTE QUE MÁS ME COMPLICA LA VIDA…😦

Ah! bueno, por fortuna existe No Code
Creo que un buen avance va a ser cuando alguien encuentre un lenguaje común para las blockchains. Mientras tanto, los desarrolladores o se casa con una o invierten tiempo en prepararse para ser capaces de desarrollar en varias blockchains que utilizan diferentes lenguajes.

Nocode.
https://www.nocoders.academy/blog/que-es-nocode
Las plataformas de desarrollo sin código permiten a los programadores y no programadores crear software de aplicación a través de interfaces gráficas de usuario y configuración en lugar de la programación informática tradicional.

Mejor me quedo con lo tradional, jaja.
hoy en día me parece genial que existan plataformas OpenSource que nos den muchas posibilidades a todos como desarrolladores del mundo digital 😀