La autoformación de los desarrolladores de Web3 - contratos inteligentes
Los contratos inteligentes son protocolos de ejecución automatizada en plataformas de blockchain que permiten realizar transacciones confiables sin intermediarios. El contrato contiene funciones de código que se ejecutan automáticamente al cumplirse las condiciones preestablecidas.
El concepto de contratos inteligentes fue propuesto por Nick Szabo en la década de 1990, pero no se aplicó ampliamente hasta la aparición de Ethereum. Ethereum soporta la implementación y ejecución de contratos inteligentes, y se considera la segunda generación de blockchain.
El lenguaje de contratos inteligentes se utiliza para escribir contratos inteligentes, que se ejecutan en la máquina virtual de la plataforma blockchain después de ser compilados. Este tipo de lenguaje necesita expresar las reglas del contrato de manera segura y eficiente, y proporcionar herramientas para manejar transacciones y estados de blockchain.
La mayoría de los desarrolladores desarrollan en Ethereum y en blockchains compatibles con EVM, Solana es la plataforma con más desarrolladores en el ecosistema no compatible con EVM, mientras que Move está diseñado específicamente para desarrollar contratos inteligentes de blockchain de manera segura.
Este artículo presentará los lenguajes de contratos inteligentes desde tres aspectos: el sistema EVM, el sistema Solana y el sistema Move.
EVM 系
EVM es el núcleo de Ethereum, responsable de ejecutar contratos inteligentes y procesar transacciones. Ethereum utiliza una arquitectura de múltiples niveles, que incluye código de bytes, lenguaje intermedio y lenguaje de alto nivel.
En Ethereum y en las blockchains compatibles con EVM, los lenguajes más populares son Solidity y Vyper, además de Yul, Yul+, Fe y Huff como opciones adicionales.
Solidity fue propuesto por el CTO de Ethereum, Gavin Wood, y es un lenguaje de programación orientado a objetos, muy influenciado por C++, Python y JavaScript. Solidity establece el estándar ABI para la interacción con contratos.
Vyper, desarrollado por el equipo de Vitalik Buterin, es una alternativa a Solidity. Vyper es similar a Python y está optimizado para la seguridad, la legibilidad y la eficiencia del Gas.
Yul es un lenguaje de ensamblaje con flujo de control avanzado, que forma parte de la cadena de herramientas de Solidity. Yul+ es una versión extendida de Yul.
Fe es un lenguaje de alto nivel similar a Rust, que reutiliza código a través de un sistema basado en módulos.
Huff es un lenguaje de ensamblaje que tiene control manual de la pila y una abstracción mínima del conjunto de instrucciones de EVM.
En Ethereum, los contratos inteligentes desarrollados en Solidity representan aproximadamente el 90%, superando con creces a otros lenguajes. Yul y Yul+ se utilizan comúnmente para la optimización de Gas, mientras que Huff se emplea para la optimización extrema de Gas.
Solana 系
Solana es conocida por su mecanismo PoH y su alto rendimiento, y es una de las cadenas de bloques públicas de más rápido crecimiento en el último año.
Solana llama a los contratos inteligentes programas en la cadena, que se escriben principalmente en el lenguaje Rust. Solana tiene una única máquina virtual SVM y un código de bytes SBF.
El componente clave de SVM, Sealevel, implementa el procesamiento paralelo. Los contratos inteligentes de Solana especifican el estado que se lee y escribe en tiempo de ejecución, permitiendo que las transacciones en paralelo se ejecuten sin conflictos.
SBF basado en eBPF, con alto rendimiento, seguridad y portabilidad. SBF utiliza un validador personalizado para garantizar la terminación del programa y la corrección de las instrucciones.
Teóricamente, cualquier lenguaje que se pueda compilar en LLVM IR puede ser utilizado para escribir contratos inteligentes en Solana, pero en la práctica, solo se admiten Rust y Solang.
Rust es un lenguaje de programación estático y general, con alto rendimiento y seguridad en la memoria. Solang es un compilador de Solidity basado en la arquitectura LLVM, que admite el uso de Solidity en Solana y Polkadot.
Rust es el lenguaje principal oficialmente soportado por Solana, con mayor estabilidad; la principal ventaja de Solang radica en su compatibilidad con el lenguaje Solidity.
Move 系
Move es un lenguaje de contratos inteligentes desarrollado para el proyecto Diem de Meta, y sus características incluyen protección de tipos de recursos de primer nivel, flexibilidad y verificabilidad de seguridad.
Aptos y Sui utilizan Move como el lenguaje central de contratos inteligentes. Aptos hereda Diem Move, mientras que Sui utiliza una versión personalizada llamada Sui Move.
El compilador, validador y máquina virtual de Move están diseñados desde cero. El validador es el mecanismo de seguridad central de Move, que garantiza el cumplimiento de las reglas de seguridad de tipos, memoria y recursos.
Move es amigable con la verificación formal, no admite características como la asignación dinámica, y todos los caminos de contrato se pueden determinar en el momento de la compilación. Move Prover es una herramienta de verificación formal para contratos inteligentes.
contratos inteligentes herramientas de desarrollo
Para los desarrolladores de cadenas compatibles con EVM, Solidity es la opción preferida. Las principales herramientas de desarrollo incluyen:
Hardhat: entorno de desarrollo para compilar, desplegar, probar y depurar aplicaciones de Ethereum.
OpenZeppelin: proporciona una biblioteca de contratos inteligentes de código abierto y segura.
Foundry: un marco centrado en Solidity para construir, probar y desplegar contratos inteligentes.
Solana es la segunda opción después de Ethereum, y su marco de desarrollo principal es Anchor, que simplifica el proceso de desarrollo de Solana.
El lenguaje Move presenta innovaciones en el diseño de seguridad de bajo nivel, pero actualmente hay pocas cadenas públicas basadas en Move y las herramientas de desarrollo no son lo suficientemente completas.
Resumen
La evaluación de los lenguajes de desarrollo de contratos inteligentes generalmente considera la facilidad de uso, la seguridad y los recursos ecológicos.
Solidity tiene la mayor influencia, cuenta con herramientas de desarrollo y bibliotecas ricas, lo que la hace adecuada para un desarrollo rápido.
Rust compensa la seguridad de Solidity, y el ecosistema de Solana se está desarrollando rápidamente, lo que resulta atractivo para los desarrolladores.
Move ha añadido más mecanismos de seguridad, la dificultad de aprendizaje es relativamente amigable, pero el ecosistema aún se encuentra en una etapa temprana.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
17 me gusta
Recompensa
17
7
Compartir
Comentar
0/400
LiquidityHunter
· hace6h
experto en ganar dinero en web3
Ver originalesResponder0
CodeSmellHunter
· 08-02 17:54
solidity es realmente bueno
Ver originalesResponder0
OnchainArchaeologist
· 08-02 06:12
no hables de la vieja receta de sol
Ver originalesResponder0
MemeTokenGenius
· 08-02 06:09
Ah, comenzar desde cero es realmente agotador.
Ver originalesResponder0
BearMarketSage
· 08-02 06:09
¿Quién sigue usando sol? Jaja
Ver originalesResponder0
MainnetDelayedAgain
· 08-02 06:03
Según los registros de la base de datos, un concepto propuesto en los años 90 tardó 30 años en concretarse. Esperando a que florezca.
Ver originalesResponder0
ArbitrageBot
· 08-02 06:03
Pasé todo el día estudiando contratos y no conseguí una Billetera DIRECCIÓN.
Lectura obligada para desarrolladores de Web3: análisis completo del lenguaje de contratos inteligentes
La autoformación de los desarrolladores de Web3 - contratos inteligentes
Los contratos inteligentes son protocolos de ejecución automatizada en plataformas de blockchain que permiten realizar transacciones confiables sin intermediarios. El contrato contiene funciones de código que se ejecutan automáticamente al cumplirse las condiciones preestablecidas.
El concepto de contratos inteligentes fue propuesto por Nick Szabo en la década de 1990, pero no se aplicó ampliamente hasta la aparición de Ethereum. Ethereum soporta la implementación y ejecución de contratos inteligentes, y se considera la segunda generación de blockchain.
El lenguaje de contratos inteligentes se utiliza para escribir contratos inteligentes, que se ejecutan en la máquina virtual de la plataforma blockchain después de ser compilados. Este tipo de lenguaje necesita expresar las reglas del contrato de manera segura y eficiente, y proporcionar herramientas para manejar transacciones y estados de blockchain.
La mayoría de los desarrolladores desarrollan en Ethereum y en blockchains compatibles con EVM, Solana es la plataforma con más desarrolladores en el ecosistema no compatible con EVM, mientras que Move está diseñado específicamente para desarrollar contratos inteligentes de blockchain de manera segura.
Este artículo presentará los lenguajes de contratos inteligentes desde tres aspectos: el sistema EVM, el sistema Solana y el sistema Move.
EVM 系
EVM es el núcleo de Ethereum, responsable de ejecutar contratos inteligentes y procesar transacciones. Ethereum utiliza una arquitectura de múltiples niveles, que incluye código de bytes, lenguaje intermedio y lenguaje de alto nivel.
En Ethereum y en las blockchains compatibles con EVM, los lenguajes más populares son Solidity y Vyper, además de Yul, Yul+, Fe y Huff como opciones adicionales.
Solidity fue propuesto por el CTO de Ethereum, Gavin Wood, y es un lenguaje de programación orientado a objetos, muy influenciado por C++, Python y JavaScript. Solidity establece el estándar ABI para la interacción con contratos.
Vyper, desarrollado por el equipo de Vitalik Buterin, es una alternativa a Solidity. Vyper es similar a Python y está optimizado para la seguridad, la legibilidad y la eficiencia del Gas.
Yul es un lenguaje de ensamblaje con flujo de control avanzado, que forma parte de la cadena de herramientas de Solidity. Yul+ es una versión extendida de Yul.
Fe es un lenguaje de alto nivel similar a Rust, que reutiliza código a través de un sistema basado en módulos.
Huff es un lenguaje de ensamblaje que tiene control manual de la pila y una abstracción mínima del conjunto de instrucciones de EVM.
En Ethereum, los contratos inteligentes desarrollados en Solidity representan aproximadamente el 90%, superando con creces a otros lenguajes. Yul y Yul+ se utilizan comúnmente para la optimización de Gas, mientras que Huff se emplea para la optimización extrema de Gas.
Solana 系
Solana es conocida por su mecanismo PoH y su alto rendimiento, y es una de las cadenas de bloques públicas de más rápido crecimiento en el último año.
Solana llama a los contratos inteligentes programas en la cadena, que se escriben principalmente en el lenguaje Rust. Solana tiene una única máquina virtual SVM y un código de bytes SBF.
El componente clave de SVM, Sealevel, implementa el procesamiento paralelo. Los contratos inteligentes de Solana especifican el estado que se lee y escribe en tiempo de ejecución, permitiendo que las transacciones en paralelo se ejecuten sin conflictos.
SBF basado en eBPF, con alto rendimiento, seguridad y portabilidad. SBF utiliza un validador personalizado para garantizar la terminación del programa y la corrección de las instrucciones.
Teóricamente, cualquier lenguaje que se pueda compilar en LLVM IR puede ser utilizado para escribir contratos inteligentes en Solana, pero en la práctica, solo se admiten Rust y Solang.
Rust es un lenguaje de programación estático y general, con alto rendimiento y seguridad en la memoria. Solang es un compilador de Solidity basado en la arquitectura LLVM, que admite el uso de Solidity en Solana y Polkadot.
Rust es el lenguaje principal oficialmente soportado por Solana, con mayor estabilidad; la principal ventaja de Solang radica en su compatibilidad con el lenguaje Solidity.
Move 系
Move es un lenguaje de contratos inteligentes desarrollado para el proyecto Diem de Meta, y sus características incluyen protección de tipos de recursos de primer nivel, flexibilidad y verificabilidad de seguridad.
Aptos y Sui utilizan Move como el lenguaje central de contratos inteligentes. Aptos hereda Diem Move, mientras que Sui utiliza una versión personalizada llamada Sui Move.
El compilador, validador y máquina virtual de Move están diseñados desde cero. El validador es el mecanismo de seguridad central de Move, que garantiza el cumplimiento de las reglas de seguridad de tipos, memoria y recursos.
Move es amigable con la verificación formal, no admite características como la asignación dinámica, y todos los caminos de contrato se pueden determinar en el momento de la compilación. Move Prover es una herramienta de verificación formal para contratos inteligentes.
contratos inteligentes herramientas de desarrollo
Para los desarrolladores de cadenas compatibles con EVM, Solidity es la opción preferida. Las principales herramientas de desarrollo incluyen:
Solana es la segunda opción después de Ethereum, y su marco de desarrollo principal es Anchor, que simplifica el proceso de desarrollo de Solana.
El lenguaje Move presenta innovaciones en el diseño de seguridad de bajo nivel, pero actualmente hay pocas cadenas públicas basadas en Move y las herramientas de desarrollo no son lo suficientemente completas.
Resumen
La evaluación de los lenguajes de desarrollo de contratos inteligentes generalmente considera la facilidad de uso, la seguridad y los recursos ecológicos.
Solidity tiene la mayor influencia, cuenta con herramientas de desarrollo y bibliotecas ricas, lo que la hace adecuada para un desarrollo rápido.
Rust compensa la seguridad de Solidity, y el ecosistema de Solana se está desarrollando rápidamente, lo que resulta atractivo para los desarrolladores.
Move ha añadido más mecanismos de seguridad, la dificultad de aprendizaje es relativamente amigable, pero el ecosistema aún se encuentra en una etapa temprana.