Token de reputación de Tru Contratos de solidez – Tru Ltd

Hemos estado trabajando arduamente para poner el Protocolo de Reputación de Tru en la disponibilidad pública, y el primer paso en ese viaje se está acercando rápidamente: el lanzamiento del Tru Reputation Token está a la mano, el primer componente del protocolo que creemos va a revolucionar. Cómo ocurren las interacciones de valor en la web y más allá.

Teniendo en cuenta lo anterior, hemos hecho disponible la versión preliminar del token de reputación de Tru y deseamos sus comentarios.

Prelanzamiento: ¿Y qué?

Dada la naturaleza de Cryptocurrency y Ethereum Virtual Machine (EVM) en particular, las pruebas de código previas al lanzamiento son más importantes que otras plataformas "Move Fast and Break Things" donde solo arriesgan sus ingresos en lugar de sus usuarios.

La aplicación de parches no es fácil en un sistema inmutable, corregir errores y explotaciones después de que el hecho no sea sencillo. Con esas limitaciones en mente, hemos diseñado el sistema para:

Asegure pruebas agresivas previas al lanzamiento para reducir las áreas de superficie de ataque. Incluya la seguridad automatizada y las auditorías de código. Incluya la capacidad de usar una actualización basada en el consenso para asegurar que la comunidad posea el Protocolo de Reputación de Tru tanto como lo hace Tru Ltd.

Más allá de los parches, hemos observado una cantidad de fe no respaldada por pruebas técnicas en otros proyectos que han llevado a eventos problemáticos que ponen en peligro no solo el proyecto en cuestión, sino también el ecosistema en general. Creemos que la única forma de mitigar este riesgo es probando la estabilidad, la seguridad y la intención del código. Con demasiada frecuencia, la auditoría de seguridad como un evento singular o semi-regular se considera una panacea dentro de la comunidad en lugar de un proceso continuo.

Nuestro enfoque

La comunidad de desarrollo de Ethereum es todavía muy joven, y cuando comenzamos este proyecto, notamos algunos rasgos comunes a las nuevas comunidades de desarrollo: falta de cobertura de pruebas unitarias, documentación deficiente y ausencia de auditoría automatizada de los Contratos Inteligentes para verificar que se sabe o Los posibles vectores de ataque son mejorados.

Teniendo eso en cuenta, decidimos estandarizar nuestro enfoque para todos los proyectos de Solidaridad futuros. Al combinar las Mejores Prácticas (como las excelentes Mejores Prácticas de Consensys), usar Truffle Framework, acordar los estándares de prueba y ejecutarlos, garantizar todas las pruebas automáticas posibles, garantizar que todo el código pase por un Desarrollo> Test> Producción ciclo de liberación.

Lo hemos implementado de la siguiente manera:

Estrategia de prueba

Hemos establecido las siguientes reglas para realizar pruebas en Tru Ltd en contratos inteligentes:

Las pruebas unitarias automáticas deben crearse para cubrir tantas sucursales como sea posible. Las pruebas de finalización deben crearse para cubrir la mayor cantidad posible de escenarios del mundo real. Todo el código debe pasar las pruebas de regresión. Los casos de caducidad deben documentarse y probarse. Las técnicas de limpieza deben ser aprovechado contra todo el código.

Aprovechando Truffle Framework y creando una serie de "ayudantes", hemos creado un conjunto de pruebas para cubrir todo lo anterior. Se ha logrado una cobertura de código del 100% aprovechando Web3.js y Mocha dentro del proyecto Truffle.

Además, se creó una serie de pruebas de fuzzing en Mocha para garantizar que los contratos se comporten después de repetidos intentos con datos aleatorios. Fuzzing aún está en su infancia dentro de EVM y Solidity, pero estamos trabajando para lograr un conjunto de herramientas de fuzzing directo para probar el código EVM en lugar de abstraernos a través de Web3 como lo hacemos ahora.

Siéntase libre de hacer esto, ejecute las pruebas usted mismo o sugiera pruebas adicionales a través de errores o relaciones públicas. Estamos tratando de llegar a una posición en la que la comunidad pueda tener una expectativa común de pruebas de código y robustez, y facilitar que los nuevos desarrolladores lleguen a ese estado rápidamente.

Documentación

Una de las principales quejas de los recién llegados a la comunidad de Desarrollo de Ethereum, y de aquellos que intentan comprender a nivel técnico cómo funcionan los proyectos y validar lo que se reclama, es la falta de documentación.

Como tal, hemos creado un conjunto completo de Documentación del token de reputación de Tru– Cubre todo, desde la fuente, las dependencias, la estrategia de prueba, los requisitos del proyecto y la lectura adicional.

Si tiene alguna sugerencia de documentación adicional, comente un error o PR.

Auditoria de seguridad

Cada confirmación del token de reputación de Tru también está sujeta a una serie de técnicas de auditoría para garantizar que los vectores de ataque conocidos no puedan ser explotados contra el código. Las herramientas utilizadas para esto son:

Oyente– Auditoría generada automáticamente al confirmar en el repositorio.Mythril– Auditoría generada automáticamente al confirmar en el repositorio.Verificación del contrato de Etherscan– Ejecutado manualmente al desplegarse en cada red pública, incluidas las redes de prueba.

Nos hemos esforzado por asegurarnos de que cada compromiso con el repositorio de token de Reputación de Tru se pruebe automáticamente, se genere la cobertura del código y también se generen auditorías de Oyente y Mythril, lo que permite un seguimiento de la seguridad y la calidad del código a lo largo del tiempo. Para más detalles sobre cómo se configura, lea la Documentación del token de reputación de Tru .

Instancia de Rinkeby

Además de probar y auditar la fuente de Solidity, también hemos creado una instancia del Tru Reputation Token en el Rinkeby TestNet . Actualmente estamos ejecutando una simulación completa de la preventa en esta instancia, y luego ejecutaremos una simulación de CrowdSale subsiguiente con la intención de tener la Protocolo de reputación de Tru en un estado totalmente funcional en Rinkeby antes de desplegarlo a la red principal de Ethereum.

Como tal, siéntase libre de participar en la Pre-Venta utilizando el Ethereum falso gratuito de Rinkeby Faucet, cualquier comentario es más apreciado y la participación ahora hará que use el Protocolo de reputación de Tru en Rinkeby incluso más fácil ya que esos componentes se ponen en línea. Los detalles son los siguientes:

Token de reputación de Tru Contrato inteligente Rinkeby Dirección – 0x3cc6363e5c791f804811e883b0af73cfba1b841dToken de reputación de Tru Pre-venta Smart Contract Rinkeby Dirección – 0x9a921ee90d0404c8f3f2eb974c8b3a415da142d5

¿Cualquier retroalimentación?

Siéntase libre de clonar o bifurcar el token de reputación de Tru y reutilizarlo para sus fines. Cualquier comentario o sugerencia es muy bienvenido, y si encuentra uso en el repositorio, su estructura o su metodología, no dude en compartirlo. Si desea contactarnos, puede comentar esta publicación o usar uno de los siguientes canales:

Sub-reddit: https://reddit.com/r/truprotocol

Telegram Tru Reputation Protocol Channel: https://t.me/truprotocol

Telegram Tru Reputation Protocol Group Chat:https://t.me/truchat

Invitación floja:https://tru.ltd/slack

¿Que sigue?

A medida que avancemos hacia el lanzamiento del Protocolo de Reputación Tru, anunciaremos una Pre-Venta, cuyos detalles se están finalizando con el fin de lanzar la Pre-Venta a principios de 2018 con la primera versión del Protocolo de Reputación Tru a continuación. poco después de eso. Los detalles serán anunciados en los próximos días.