Vyper lenguaje de scripting mínimo para contratos de etéreo y el análisis de precios de evm bitcoin ethereum ripple

Los contratos inteligentes son un microservicio con un conjunto de funciones que se pueden llamar para almacenar y leer en un libro de contabilidad de cadena de bloques en un entorno descentralizado. Es, técnicamente hablando, un contrato entre una máquina ("computadora mundial") y el resto del mundo: un acuerdo que funcionaría de cierta manera durante el tiempo que viva la red. Estos aspectos / características de definición considerados, los contratos inteligentes deben ser fáciles de leer, escribir y auditar. En general, los lenguajes de programación difieren de la aplicación de ether en múltiples dimensiones (como paradigma, sistema de tipos, etc.). Debido al entorno de ejecución inusual del código de contrato, los idiomas de contrato inteligente (scls) tienen diferentes conjuntos de concesiones y han generado una serie de intentos para crear scls seguros y expresivos.

Vyper es un lenguaje etéreo complementario que apunta a tales escenarios de casos de uso de simplicidad, utilidad y uso trivial de lectura y escritura (en lugar de complejos dapps de web 3.0, como es el caso de la solidez). Sin ajustarse a las convenciones de python 3, es un lenguaje de scripting orientado a contratos (donde la solidez está más orientado a objetos) que apunta a la máquina virtual ethereum (serpent era un lenguaje de alto nivel parecido a python al compilarse en el código de bytes EVM que estaba en desuso debido a la seguridad Problemas con el compilador de noticias etiomedia). Siguiendo estos principios de diseño y para evitar el aumento de la complejidad y los riesgos de seguridad, vyper es un lenguaje bastante simplificado cuyo enfoque reductor elimina funciones como la herencia de clases, la sobrecarga de funciones y operadores, las llamadas recursivas, los bucles de longitud infinita y otras construcciones innecesarias para "codificar como ley" acuerdos contractuales y en línea con la capacidad de lectura del lector, lo que dificulta al máximo la escritura de código engañoso. Una ilustración de la arquitectura ethereum y la máquina virtual ethereum, basada en la especificación del papel amarillo.

Este sesgo hacia el cableado de cable Ethernet "exactitud" a expensas de cierta flexibilidad es una propiedad deseada en un paradigma de programación de contratos y permite evitar ciertas trampas que han causado serias vulnerabilidades en el pasado. Deshacerse de la herencia, por ejemplo, tiene la intención de ayudar a mantener las cosas “en la misma página” en lugar de perderse al saltar entre múltiples archivos de contratos en la jerarquía de prioridad con el fin de reconstruir los fragmentos dispersos de lo que está haciendo un programa bajo la capucha. Esta composición mínima y limpia de contratos y la aplicación de patrones de código autoexplicativos también hacen que vyper sea atractivo para la comunidad clásica más conservadora ethereum ethereum explorer block y su "el código es la ley" carácter distintivo.

Las asignaciones son con lo que generalmente comienzan los contratos etéreos. Inicializan los campos de almacenamiento del contrato (como una asignación de saldo de token). En vyper, las asignaciones se pueden ver como tablas hash virtualmente inicializadas cuyas claves (almacenadas como su hash keccak256) se utilizan para buscar los valores correspondientes, cuya representación de bytes predeterminada de etanol msds sigma es todo ceros. En la solidez, las asignaciones se declaran como asignaciones (_keytype => _valuetype) .Vyper usa la siguiente sintaxis: _valuetype [_keytype]. Donde _keytype puede ser casi cualquier tipo, excepto las asignaciones, un contrato o una estructura, mientras que _valuetype puede ser de cualquier tipo, incluidas las asignaciones.

Vyper permite la definición de tipos con unidades discretas e.G. Metros, segundos, wei, … estos tipos solo pueden basarse en uint256 int128 o decimal. Vyper tiene dos tipos de unidades integradas: time (timestamp y timedelta) y wei (wei_value, un uint256 que da la cantidad de ether en wei). Además, se pueden definir tipos de unidades personalizadas (como uint256, int128 o decimal).

Un contrato puede tener una función predeterminada (una construcción que funciona igual que las funciones de respaldo realtek ethernet driver windows 7 32 bit en solidez) que se ejecuta en una llamada al contrato si ninguna otra función coincide con el identificador (o si no se proporciona ninguna, como al enviar ETH). Esta función siempre se llama __default__ y debe anotarse con el decorador @public y no puede tener argumentos ni devolver nada.

Los scripts de Vyper se compilan directamente en el código de bytes EVM (en lugar de interpretarse, como con Python). Bajo el capó, tanto vyper como solidity se compilan en bytecode de la misma manera, siguiendo la misma secuencia de pasos, por lo que son en gran medida interoperables (y pueden hacer un eteloum ico precio para hacer llamadas externas entre los contratos del otro). El compilador vyper en sí está escrito en python.

En resumen, el analizador analiza el código de alto nivel y lo analiza en una representación de árbol de sintaxis abstracta de las instrucciones del código OP (consulte la especificación de EVM en papel amarillo) y, a partir de ahí, un proceso de verificación de tipos recorre el árbol, asignando sus tipos correspondientes. Después de realizar comprobaciones de análisis estático, se genera el bytecode.

Los contratos de Vyper se pueden implementar manualmente pegando el bytecode generado, aunque también hay varios wrappers y scripts disponibles, e integración con el marco de desarrollo de contrato inteligente de populus. Investigación y desarrollo. Herramientas y formalizaciones. "La verificación en tiempo de ejecución proporciona la tecnología de vanguardia de ethan dolan 2018 para diseñar sistemas e idiomas seguros y basados ​​en principios matemáticos. La tecnología de verificación en tiempo de ejecución detecta de forma automática y precisa los errores más raros, difíciles y costosos que acechan en su base de código o especificaciones existentes." RV también trabaja en el desarrollo de KEVM (especificación K framework de EVM) e IELE (una máquina virtual compatible con EVM basada en registros).

Verificación en tiempo de ejecución, inc. (RV), junto con el laboratorio de sistemas formales de la universidad de illinois (FSL), han anunciado una iniciativa conjunta dirigida a la formalización completa del lenguaje de programación inteligente de contratos www ethiopian viper [sic], utilizando el marco K para crear una definición formal completa. de este lenguaje de programación de contrato inteligente orientado a la investigación. El objetivo de este esfuerzo es producir una serie de herramientas y artefactos útiles, y sentar las bases para el futuro del desarrollo inteligente y formalmente riguroso de los contratos.

banner