Polkadot es un protocolo de blockchain con dos objetivos: proporcionar seguridad compartida entre todas las parachains conectadas y permitir que todas las cadenas conectadas interoperen utilizando XCM. Con la llegada de PDKs como Parity Substrate y Cumulus, el tiempo de desarrollo y lanzamiento de una nueva cadena se ha reducido significativamente. Mientras que antes se tardaba años en lanzar una nueva cadena, ahora sólo se tarda semanas o incluso días.
Esta guía te llevará a través de los pasos que puedes dar hoy para empezar a construir tu visión con Polkadot. Explicará la diferencia entre una parachain y un smart contract -contrato inteligente- (y por qué uno puede ser más adecuado para tu aplicación que el otro).
Redes del Ecosistema Polkadot #
- Red principal (mainnet): Polkadot
- Red canaria: Kusama
* Kusama es una red canaria de valor que obtiene características antes que Polkadot. Expect Chaos (espera el caos). - Redes de prueba (testnets) oficiales:
* Westend – Funcionalidad igual a la actual mainnet de Polkadot, con posibles pruebas de características de próxima generación de vez en cuando que eventualmente migrarán a Polkadot. Perma-testnet (no se restablece al bloque génesis).
* Canvas – Testnet basada en smart contracts, principalmente para el desarrollo deInk!
* Rococo – Testnet de Parachains y XCM. Ocasionalmente se reinicia (se vuelve a empezar con un nuevo bloque génesis).
La mainnet de Polkadot lleva funcionando desde mayo de 2020 y tiene implementaciones en varios lenguajes de programación que van desde Rust hasta JavaScript. Actualmente, la implementación principal está construida en Rust y construida usando el marco Substrate.
Las herramientas están evolucionando rápidamente para interactuar con la red; ¡hay tantas maneras de empezar!
Pero antes de lanzarte de cabeza al código, deberías considerar el tipo de aplicación descentralizada que quieres hacer y entender los diferentes paradigmas disponibles para los desarrolladores que quieren construir sobre Polkadot.
¿Cuál es la diferencia entre construir una parachain, una parathread o un smart contract? #
Polkadot ofrece varias maneras para que deployes tu aplicación: como un smart contract en una parachain existente, como tu propia parachain, o como una parathread. Hay ventajas y desventajas cuando se trabaja con cada una de ellas y la lectura de esta sección te ayudará a entenderlas.
Parachains y Parathreads #
Las parachains son Relay Chains paralelas. Las parachains permiten un alto grado de flexibilidad y personalización, pero requieren más esfuerzo para crear y mantener en el tiempo.
Las parathreads son como las parachains y permiten al desarrollador tener un control de menor nivel de la lógica de su aplicación. La principal diferencia entre ambas es económica, ya que las parathreads serán mucho menos costosas de asegurar que una parachain. El menor costo de las parathreads se debe a que las parathreads sólo producirán un bloque cuando lo necesiten, a diferencia de las parachains, que tienen asegurado un slot para producir un bloque en cada bloque de la Relay Chain. Cuando construyes una parathread, utilizas las mismas herramientas (como los PDK) y obtienes todos los beneficios de construir una parachain, sin el inconveniente del costo.
Las parachains conceden a los creadores más espacio para construir el sistema monetario y otros aspectos de la cadena desde cero. Permiten una ejecución más sucinta y eficiente de una lógica compleja que la que podría ofrecer una plataforma de smart contracts. Las parachains también ofrecen más flexibilidad en la forma de gobernanza y pueden realizar actualizaciones completas de una manera menos controvertida que el proceso actual de hard-forks.
Algunos ejemplos de características que puedes tener en una parachain o parathread:
- Estructura de tarifas personalizada (por ejemplo, pagar una tarifa plana por las transacciones o pagar por byte).
- Política monetaria personalizada para el token nativo y la economía local.
- Tesoro para ser financiado a través de transiciones en tu función de estado.
- Un mecanismo de gobernanza que podría gestionar una DAO que se encargue de asignar tu tesoro on-chain.

Las parachains abren la posibilidad de construir una lógica de ejecución compleja que sería demasiado costosa de ejecutar con smart contracts. Sin embargo, a diferencia de los smart contracts, las parachains carecen por completo de un sistema de medición de gas obligatorio y podrían ser potencialmente vulnerables a bugs que provoquen loops infinitos (algo que se evita por diseño en los smart contracts). Esta vulnerabilidad se ve mitigada por el sistema de pesos que se implementa en Substrate, aunque supone una mayor carga para el desarrollador de la parachain a la hora de realizar correctamente los benchmarks.
También puedes decidir aprovechar una combinación de parachain, parathread y smart contract. Si tienes cierta lógica que requiere loops y no se puede eliminar, utiliza el runtime nativo de parachain para manejar toda la lógica compleja y el smart contract para llamar a la iteración. Si necesitas datos off-chain (fuera de la cadena) de un oráculo, es posible que desees utilizar una parathread como alimentación del oráculo que sólo se dispara una vez cada 24 horas (esto tiene más sentido si los datos son útiles para otros jugadores en el ecosistema Polkadot también).
Lo más probable es que ya te hayas dado cuenta de que tu aplicación es más adecuada para ser una u otra (o un híbrido de ambas), pero si necesitas un resumen rápido para digerir la información, puedes utilizar esta tabla comparativa como hoja de trucos:

LA IMAGEN DE ARRIBA NO INCLUYE LAS PARATHREADS
Como hemos mencionado antes, todas las ventajas de las parachains se aplican también a las parathreads. Sin embargo, las parathreads son más baratas de deployar y mantener. Así que si tuvieran una columna en la tabla de arriba, se vería como la columna de parachain con “Facilidad de deployar¨ y “Gastos de mantenimiento” cambiados a +.
Smart Contracts #
Un smart contract es simplemente un código que existe en una dirección de una cadena y que puede ser llamado por actores externos. La parte clave es que tienes que poner el código en la cadena antes de que alguien pueda empezar a ejecutarlo.
Deployar tu smart contract on-chain variará ligeramente para cualquier parachain específica que utilices, pero generalmente enviarás una transacción especial que creará el smart contract en el ledger. Es probable que tengas que pagar una tarifa (fee) asociada para la lógica de inicialización y cualquier almacenamiento que tu contrato consuma.
En Polkadot, habrá parachains que actúan como plataformas de smart contracts. Los smart contracts son programas ejecutables que existen en una sola cadena y tienen una complejidad limitada. Debido a que existen en una sola cadena, pueden tener una interoperabilidad fluida con otros smart contracts en la misma cadena. Sin embargo, siempre estarán restringidos y limitados por las características inherentes de su cadena anfitriona.
Si hay una necesidad de tener una gran cantidad de control sobre el diseño y las características de tu aplicación, una parachain es una mejor opción. Ten en cuenta que los smart contracts pueden utilizarse como campo de pruebas antes de convertirse en parachains de pleno derecho. Las plataformas de smart contracts suelen tener herramientas convenientes como IDEs para facilitar las iteraciones rápidas. Se podría crear un smart contract MVP para medir el interés de los usuarios antes de ponerse a trabajar para construir una parachain.
Cada plataforma tendrá una forma diferente de pagar y mantener el estado de tu smart contract. Los diferentes patrones que puedes ver para pagar por tu smart contract incluyen:
- Una tarifa de transacción asociada al deploy de cada transacción.
- Un modelo de suscripción en el que pagas a alguna entidad de la cadena de forma rutinaria por el uso de la plataforma.
- Un modelo de tokens de acceso en el que necesitas tener un umbral de tokens nativos para usar la plataforma (EOS tiene algo similar). Alquiler de almacenamiento.
- Prueba gratuita o promoción para desarrolladores.
- La mayoría de las plataformas de smart contracts utilizan alguna forma de gas para limitar el número de operaciones que un usuario puede realizar. Los usuarios deberán pagar el gas por adelantado y se les reembolsará lo que no utilicen.
Deberás tener en cuenta el almacenamiento y la complejidad de tu smart contract para asegurarte de que el uso del gas se mantiene dentro de unos límites razonables. El almacenamiento será probablemente caro para cualquier plataforma de smart contract que utilices, por lo que es necesario mantener tantos datos off-chain como sea posible. Puedes considerar el uso de las opciones listadas en la página de almacenamiento descentralizado para mantener los datos y enviar sólo la dirección del contenido on chain.
Construir una parachain o parathread #
Por favor, consulta la guía de desarrollo de parachain para saber cómo empezar a construir una parachain o parathread.
Construir un smart contract #
Consulta la guía de smart contracts para saber cómo empezar a construir un smart contract.