Solidity

Solidity es un lenguaje de alto nivel orientado a objetos, para implementar contratos inteligentes (smart contracts). Los contratos inteligentes son programas que rigen el comportamiento de las cuentas dentro del ecosistema de Ethereum.

Solidity es un lenguaje de llaves, diseñado para la Máquina Virtual de Ethereum (Ethereum Virtual Machine). Está influenciado por los lenguajes de programación C++, Python y JavaScript. Para más detalles sobre los lenguajes que han inspirado Solidity visite la sección influencia de lenguajes.

Solidity es estáticamente escrito, soporta herencia, librerías, y tipos complejos definidos por el usuario, entre otras características.

Con Solidity se pueden crear contratos para votaciones, financiación colectiva (crowdfunding), subastas a ciegas, y monederos (wallets) multifirma.

Al momento de desplegar un contrato, debes utilizar la versión más reciente de Solidity. Aparte de casos excepcionales, solamente la última versión recibe correciones de seguridad. Además, cambios importantes y nuevas funciones se introducen periódicamente. Actualmente se utiliza el número de versión 0.y.z para indicar estos rápidos cambios.

Advertencia

Solidity lanzó recientemente la versión 0.8.x, que introdujo varios cambios significantes. Asegúrese de leer la lista completa de cambios.

Ideas para mejorar Solidity o esta misma documentación son siempre bienvenidas, lea nuestra guía de contribución para más detalles.

Nota

Puede descargar esta documentación como PDF, HTML o Epub haciendo click en el menú desplegable que se encuentra en la esquina inferior izquierda y seleccionando su formato preferido de descarga.

Para Comenzar

1. Comprender los Conceptos Básicos de los Contratos Inteligentes

Si usted es nuevo y todavía no está familiarizado con el concepto de los contratos inteligentes, le recomendamos iniciar con la sección «Introducción a los Contratos Inteligentes», que cubre:

2. Conozca Solidity

Una vez que esté relacionado con los conceptos básicos, le recomendamos leer las secciones de «Solidity con Ejemplos» y «Descripción del Lenguaje» para comprender los conceptos fundamentales del lenguaje.

3. Instalar el Compilador de Solidity

Hay distintas maneras de instalar el compilador de Solidity, simplemente elija su opción preferida y siga los pasos indicados en la página de instalación.

Nota

Puede probar algunos ejemplos de código directamente en su navegador con Remix IDE. Remix es un entorno de desarrollo integrado (IDE) basado en el navegador web, que permite a cualquier usuario escribir, desplegar y administrar contratos inteligentes de Solidity; sin la necesidad de instalar Solidity localmente.

Advertencia

Ya que el software está escrito por humanos, puede contener errores. Usted debe seguir e implementar las mejores prácticas de desarrollo de software establecidas al escribir sus contratos inteligentes. Esto incluye la revisión, pruebas, auditorías y la correcta validez del código. Algunas veces los usuarios de los contratos inteligentes tienen más confianza el el código que sus mismos autores; ya que las cadenas de bloques y los contratos inteligentes tienes sus respectivos problemas, se recomienda que lea la sección Consideraciones de Seguridad antes de trabajar en el código de producción.

4. Conocer Más

Si desea obtener más información sobre la creación de aplicaciones descentralizadas en Ethereum, los recursos para desarrolladores de Ethereum pueden ayudarlo con más documentación general sobre Ethereum y una amplia selección de tutoriales, herramientas y marcos de desarrollo (frameworks).

Si tiene alguna duda o pregunta, puede intentar buscar consultas o respuestas en Ethereum StackExchange, o en nuestro Canal de Gitter.

Traducciones

La comunidad de contribuidores es la encargada de la traducción de esta documentación en diferentes lenguajes. Por favor, tenga en cuenta que se tienen diversos grados de integridad y actualización. La versión en Inglés es tomada como referencia.

Puede elegir entre distintos idiomas haciendo click en el menú desplegable que se encuentra en la esquina inferior izquierda y seleccionando su lenguaje preferido.

Nota

Recientemente se creó una nueva organización en GitHub y un flujo de trabajo para las traducciones, con el motivo de agilizar los esfuerzos de la comunidad. Por favor, consulte la guía de traducción para obtener información sobre cómo iniciar un nuevo idioma o contribuir en las traducciones de la comunidad. Hemos establecido una organización de Github y flujo de trabajo de traducción para ayudar a optimizar los esfuerzos de la comunidad. Consulte la guīa de traducción en solidity-docs org para obtener información sobre cómo iniciar una nuevo idioma o contribuir a la traducciones de la comunidad.

Contenidos

Índice de palabras clave, Página de búsqueda

Material Adicional