Después de más de diez años de desarrollo, la tecnología blockchain se ha convertido gradualmente en un "incendio de la pradera" y ha seguido echando raíces en varias industrias. Pero al mismo tiempo, desde un punto de vista técnico, el desarrollo de aplicaciones de cadena de bloques todavía tiene un umbral alto y hay muchos puntos débiles. Es necesario mejorar la experiencia del usuario, la eficiencia y la seguridad en todos los aspectos del desarrollo de aplicaciones.
En la comunidad, también escuchamos a menudo muchas preguntas sobre el desarrollo de aplicaciones de blockchain:
¿Cómo convertir la dirección de la cuenta y la cadena en código de solidez?
¿El código de Solidity existente admite estructuras de datos comunes pero relativamente complejas en lenguajes de alto nivel, como el mapeo iterable?
¿Es posible proporcionar un conjunto de códigos de contratos inteligentes reutilizables y de referencia basados en escenarios de aplicación claros?
¿Cómo compilar rápidamente contratos inteligentes de solidez en archivos abi y binarios?
¿Cómo compilar rápidamente un código de contrato inteligente en una aplicación de cadena de bloques creada con gradle sin tener que usar scripts de compilación?
Después de escribir el contrato inteligente, ¿cómo escribir la aplicación blockchain?
¿Es posible proporcionar un generador de código de aplicación de cadena de bloques fácil de desarrollar?
¿Cómo pueden los principiantes en programación comenzar rápidamente con el desarrollo de aplicaciones de blockchain?
...
Estos problemas están relacionados con el desarrollo de contratos y el desarrollo de aplicaciones. Basado en tales problemas de escenario y combinado con su propia experiencia práctica, WeBank Blockchain abre oficialmente el componente de desarrollo de aplicaciones de blockchain WeBankBlockchain-SmartDev, esperando comenzar desde todos los aspectos del desarrollo de aplicaciones de blockchain y mejorar las aplicaciones de blockchain en múltiples dimensiones. La eficiencia del desarrollo ayuda a los desarrolladores. convertirse en "10 veces ingenieros" del desarrollo de aplicaciones blockchain. Actualmente, todo el componente está desarrollado en base al lenguaje Solidity. Recientemente, WeBank blockchain también ha abierto el lenguaje de contrato Liquid, y también adaptaremos el lenguaje Liquid en el futuro.
La intención original de la investigación y el desarrollo del componente de desarrollo de aplicaciones de cadena de bloques WeBankBlockchain-SmartDev es crear una biblioteca de componentes de desarrollo de código bajo para ayudar a los desarrolladores a desarrollar aplicaciones de cadena de bloques de manera eficiente y rápida. WeBankBlockchain-SmartDev incluye un conjunto de componentes de desarrollo abiertos y livianos, que cubren el desarrollo de contratos, la compilación, el desarrollo de aplicaciones y otros enlaces. Los desarrolladores pueden elegir las herramientas de desarrollo correspondientes de acuerdo con sus propias condiciones para mejorar la eficiencia del desarrollo.
Desde la perspectiva del desarrollo de contratos, para funciones de uso común, no hay necesidad de reinventar la rueda, solo consulte el código en la "biblioteca de contratos inteligentes" según sea necesario, y las funciones correspondientes se pueden introducir para garantizar la eficiencia y seguridad de desarrollo de contratos. Para funciones no básicas, como escenarios comerciales, también proporcionamos plantillas de código para referencia y reutilización.
Cierre de acciones A: el índice Blockchain 50 de la bolsa de valores de Shenzhen aumentó un 1,68%: Jinse Financial News, las acciones A cerraron, el índice compuesto de Shanghái cerró en 3676,59 puntos, cerrando un 1,51%, el índice de componentes de Shenzhen cerró en 14702,9 puntos, cerrando un 1,07% , Distrito de la Bolsa de Valores de Shenzhen El índice Blockchain 50 reportó 3777.34 puntos, cerrando un 1.68%. El sector blockchain cerró con un 0,97% y el sector de moneda digital cerró con un 0,38%. [2021/9/7 23:06:15]
Desde la perspectiva de la compilación de contratos, para la aplicación de cadena de bloques en desarrollo, ya no es necesario confiar en la consola para compilar el código del contrato, solo use el complemento de compilación de contrato gradle para compilar en el sitio, y el abi, bin y los contratos java se pueden obtener inmediatamente. Estas compilaciones se exportan directamente al proyecto Java, lo que elimina la necesidad de copiar pasos y brinda la misma experiencia rápida y fluida que se obtiene al desarrollar programas Java nativos.
Desde la perspectiva del desarrollo de aplicaciones, desde los contratos inteligentes hasta la construcción de proyectos, incluye mucho trabajo mecánico y repetitivo, como la creación de proyectos, la introducción de dependencias, la escritura de códigos de configuración, el acceso a contratos inteligentes y la escritura de clases de entidades relacionadas. Por el contrario, a través de WeBankBlockchain-SmartDev, los desarrolladores pueden elegir el andamiaje de desarrollo de aplicaciones. Scaffolding generará automáticamente ingeniería de proyectos basada en contratos inteligentes. Los códigos lógicos anteriores ya están incluidos en el proyecto, y los desarrolladores solo necesitan continuar agregando códigos lógicos de negocios basados en el proyecto y enfocarse en su propio negocio.
Componentes de la biblioteca de contratos inteligentes
"El mundo ha sufrido de solidez durante mucho tiempo". En el proceso de desarrollo de contratos inteligentes de solidez, si no hay un conjunto de plantillas y bibliotecas de códigos como referencia, no solo afectará la eficiencia del desarrollo, sino que también puede introducir seguridad. riesgos debido a la falta de familiaridad con el desarrollo de contratos inteligentes. La biblioteca de contratos inteligentes cubre códigos de biblioteca de solidez comunes, desde tipos básicos hasta negocios de nivel superior, y los usuarios pueden consultarlos y reutilizarlos de acuerdo con las necesidades reales. La estructura jerárquica de la biblioteca de contratos inteligentes es la siguiente:
1. Capa de tipos básicos: proporciona funciones de biblioteca de operaciones complejas de tipos incorporados de solidez comunes, que cubren operaciones matemáticas, operaciones de conversión de enteros, operaciones de cadenas, operaciones de direcciones y operaciones de matriz. Mientras mejora las funciones de los tipos básicos integrados, también protege la seguridad de los contratos inteligentes.
Bella Protocol lanza el anuncio de minería de liquidez y airdrop para los titulares de ARPA: según las noticias oficiales, Bella Protocol abrirá la minería de liquidez a las 20:00 el 28 de septiembre (UTC+8). Los usuarios pueden proporcionar liquidez para BEL/ETH, BEL/USDT, ARPA/USDT en Uniswap para obtener certificados Uniswap LP y obtener recompensas BEL apostando Uniswap LP en Bella.fi. La recompensa minera para la primera semana es de 50 000 BEL, actualmente con un valor de $125 000.
El airdrop de BEL para los titulares de la moneda ARPA se dividirá en ocho veces trimestralmente. Para este airdrop, el intercambio cooperativo tomará una instantánea de la dirección de retención del usuario de ARPA desde las 00:00 (UTC+8) del 30 de septiembre hasta las 00:00 (UTC+8) del 15 de octubre, y tomará ARPA:BEL=5,000: 1 airdrop en proporción. [2020/9/25]
2. Capa de estructura de datos: proporciona estructuras de datos básicas que son comunes en otros lenguajes de programación de alto nivel pero que no se proporcionan en el lenguaje de solidez, lo que hace que el desarrollo de contratos inteligentes sea aún más poderoso.
3. Capa funcional general: como el "pegamento" del desarrollo del contrato, integra las bibliotecas CRUD y Table en esta etapa y proporciona una biblioteca de criptografía, lo que facilita enormemente las operaciones relacionadas en la lógica comercial de los contratos inteligentes.
4. Capa empresarial superior: proporciona plantillas de contratos inteligentes para dos escenarios empresariales comunes, puntos y certificados. El código de plantilla de contrato inteligente anterior sigue el concepto de diseño de alta cohesión, bajo acoplamiento y fácil actualización. Puede usarse como aprendizaje y referencia para principiantes en contratos inteligentes, y también puede brindar inspiración y pensamiento a desarrolladores experimentados de contratos inteligentes.
Complemento de compilación de contrato inteligente
En el desarrollo anterior de FISCO BCOS, se debe compilar el contrato inteligente. Primero, se debe instalar la consola, y luego, en la etapa de depuración, se debe importar el contrato a la consola, y después de compilar, se debe instalar el archivo java. copiado para la depuración. Y siempre que se cambie el contrato, este proceso debe volver a ejecutarse. Por lo tanto, proporcionamos un complemento de compilación de contrato inteligente. Los usuarios solo necesitan llamar a los comandos relacionados con gradle en el proyecto, y los códigos abi, bin y java se generarán automáticamente de acuerdo con los contratos en el proyecto, ahorrando una gran cantidad de valiosos hora.
Andamiaje de desarrollo de aplicaciones
El proceso de desarrollo de aplicaciones de blockchain incluye el desarrollo de aplicaciones además del desarrollo de contratos. Entre ellos, el desarrollo de aplicaciones incluye pasos como el establecimiento de proyectos, la introducción de dependencias, la escritura de códigos de configuración, la escritura de clases de modelos, la escritura de clases de servicios y la escritura de lógica empresarial. Estos pasos son relativamente engorrosos, lo que afecta la eficiencia del desarrollo. Por lo tanto, proporcionamos andamios de contratos inteligentes para la generación con un solo clic de proyectos de desarrollo de aplicaciones de cadena de bloques, lo que reduce la dificultad del desarrollo de aplicaciones. Los usuarios pueden importar sus contratos en el andamiaje para generar los proyectos de plantilla de desarrollo de aplicaciones correspondientes, incluidas las clases POJO correspondientes, las clases de servicio, etc. Los usuarios pueden desarrollar directamente proyectos de aplicaciones de blockchain basados en esto.
Escenario 1: desarrollo de contratos inteligentes
En el desarrollo de contratos inteligentes, se pueden usar bibliotecas maduras y reutilizables desde cuatro operaciones básicas hasta escenarios comerciales de nivel superior.
Tomando las cuatro operaciones aritméticas como ejemplo, es necesario determinar si existe riesgo de desbordamiento. En este momento, puede usar la biblioteca relacionada con las matemáticas LibSafeMathForUint256Utils.
Tomando la estructura de datos como ejemplo, en solidez, la clave del tipo de mapeo no se puede iterar. En este momento, si necesita usar el mapeo que itera la clave, puede usar la biblioteca relacionada con el mapeo LibBytesMap.
Tomando las funciones generales como ejemplo, si desea introducir funciones criptográficas como hash y verificación de firma, puede usar la biblioteca Crypto.
Tomando el escenario empresarial como ejemplo, si desea realizar la función de almacenamiento de certificados, puede consultar la plantilla de escenario Evidencia, que incluye implementaciones relevantes, lo que tiene el efecto de atraer jade.
Escenario 2: Modificación y depuración de contratos
En el proceso de desarrollo y depuración de aplicaciones de blockchain, generalmente es necesario utilizar contratos abi, bin, java, etc. en el proyecto y realizar la depuración correspondiente en función de estos contenidos. Si es necesario volver a compilar el contrato debido a ajustes u otros motivos, no es necesario copiar el contrato en la consola para compilarlo en este momento, simplemente ejecute el comando gradle correspondiente para generar una nueva compilación. Además, estas compilaciones están integradas directamente en el proyecto. En el ejemplo que se muestra en la siguiente figura, luego de compilar el contrato de HelloWorld, se genera un ejemplo de la compilación:
Escenario 3: Desarrollo de aplicaciones Blockchain
Si el usuario ya ha escrito el contrato inteligente, es necesario desarrollar un proyecto web que proporcione una interfaz de descanso basada en el contrato inteligente. En este caso, el usuario puede arrastrar el contrato al andamio y generar el proyecto con un solo clic. La siguiente figura es el proyecto de ejemplo generado, que contiene las clases de configuración necesarias y los códigos relacionados con DAO (Objeto de acceso a datos). Los desarrolladores solo necesitan configurar el proyecto y agregar el controlador correspondiente y otros códigos para cumplir fácilmente con los requisitos anteriores.
Dirección de fuente abierta
dirección base del código de github
Componentes de la biblioteca de contratos inteligentes SmartDev-Contract
https://github.com/WeBankBlockchain/SmartDev-Contract
Complemento de compilación de contrato inteligente SmartDev-SCGP
https://github.com/WeBankBlockchain/SmartDev-SCGP
Andamio de desarrollo de aplicaciones de contrato inteligente SmartDev-Scaffold
https://github.com/WeBankBlockchain/SmartDev-Andamio
dirección base del código de alojamiento
https://gitee.com/WeBankBlockchain/SmartDev-Contract
https://gitee.com/WeBankBlockchain/SmartDev-SCGP
https://gitee.com/WeBankBlockchain/SmartDev-Andamio
Dirección del documento
https://smartdev-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-SmartDev-Contract/index.html
https://smartdev-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-SmartDev-SCGP/index.html
https://smartdev-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-SmartDev-Scaffold/index.html
Bienvenido a participar en la construcción de la comunidad de WeBankBlockchain:
Si el proyecto le resulta útil, bienvenido a iluminar nuestra pequeña estrella (haga clic en el botón Estrella en la parte superior izquierda del proyecto).
Los envíos de código (solicitudes de extracción) son bienvenidos.
Haga preguntas y presente errores.
Si encuentra una vulnerabilidad de seguridad en el código, puede reportarlo a través de la siguiente dirección:
https://seguridad.webank.com/
Tags:
El 10 de abril, se llevó a cabo en Chongqing la conferencia de lanzamiento del establecimiento de China Business Points Alliance y el Blockchain Technology Innovation and Application Summit Forum con el tema "Construy.
Dado que el protocolo de moneda estable descentralizado FEI completó la etapa de fundación y lanzó la red principal de Ethereum, su mecanismo de estabilización no logró estabilizar FEI en $ 1 como se esperaba.
1. ¿Qué nuevos desarrollos traerá la combinación de DeFi y NFT?A continuación se presentará el nuevo proyecto de índice NFT, la próxima versión V3 de Uniswap, Nifty.
Después de más de diez años de desarrollo, la tecnología blockchain se ha convertido gradualmente en un "incendio de la pradera" y ha seguido echando raíces en varias industrias. Pero al mismo tiempo.
La semana pasada, el rango de precios de cotización en el mercado de Bitcoin estuvo entre US$ 57 168 y US$ 60 265, con un rango de fluctuación de alrededor del 5,4 %.
La capa 2 no fallará como Lightning Network, pero es mucho peor que ETH2.0 y también es una mala noticia para los mineros.Ethereum finalmente rompió un nuevo máximo en la noche del 2 de abril, pero por otro lado.
La clave de la arquitectura multicadena escalable de Kusama es que las paracadenas se conectan a la red alquilando un espacio en la cadena de retransmisión a través de una subasta sin permiso.