
Una utilidad para el reconocimiento del patrón de diseño en blockchain a través del análisis estático del código
Este readMe está disponible en los siguientes idiomas:
Italiano · inglés
Después del título, el proyecto ha sufrido una variedad y mejoras, por lo tanto, lo que se describe en el elaborado de la tesis puede no reflejarse más confiable.
Para ver el proyecto en la forma descrita en el elaborado de la tesis y la tesis misma, consulte la rama frozen , haga clic aquí.
Solity Design Pattern Analyzer es una aplicación de software desarrollada para mi tesis de grado para el CDL de tres años en informática en la Universidad de Catania.
La aplicación de software y capaz de realizar las siguientes operaciones:
(De vuelta a la cima)
(De vuelta a la cima)
Antes de usar la aplicación, es necesario instalar adicciones.
Para instalar empleados, puede usar el paquete de instalador de Python llamado PIP :
pip install -r requirements.txtpython3 -m venv /path/to/new/virtual/environment
source /path/to/new/virtual/environment/bin/activate
pip install -r requirements.txtPara usar el analizador, es necesario proporcionar una serie de parámetros, enumerados aquí:
| Parámetro | Descripción |
|---|---|
-h, --help | Un parámetro opcional que, si se proporciona, hará una guía sobre el uso en el terminal |
-a, --action | Un parámetro obligatorio que solo acepta analyze y valores describe , dependiendo de la operación que desee realizar. |
-t, --target | Un parámetro obligatorio que representa la ruta absoluta o relativa del archivo o carpeta que contiene el código fuente Solidty. Si se proporciona un directorio, se realizará el modalità batch que guardará todos los resultados obtenidos en un solo archivo. |
-d, --descriptor | Un parámetro opcional para la operación analyze que representa la ruta, absoluta o relativa, del archivo o carpeta que contiene el Design Pattern Descriptor .Si omite una ruta predefinida, se usará. |
-v, --verbose | Un parámetro opcional que, si se suministra, puede imprimir el inicio de registro de depuraciones en el terminal, normalmente no se muestra. |
-ai, --allow-incompatible | Un parámetro opcional que determina el control de la compatibilidad de la versión de Soliditch utilizada en el archivo proporcionado. Acepta como valores: ask , skip , always .Valor predeterminado: ask , solicita confirmación. |
-p, --plot | Un parámetro opcional que determina la visualización de un gráfico de resumen. Acepta como valores: ask , skip , always .Valor predeterminado: ask , solicita confirmación. |
-pr, --print-result | Un parámetro opcional que, si se proporciona, hará un resumen de los resultados obtenidos de la impresión de análisis en el terminal. |
-wr, --write-result | Un parámetro opcional que determina el rescate en el disco de los resultados obtenidos del análisis de los archivos individuales. Acepta como valores: ask , skip , always .Valor predeterminado: ask , solicita confirmación. |
-fr, --format-result | Un parámetro opcional que determina el formato con el que se guardan los datos obtenidos. Acepta como valores: json , csv .Valor predeterminado: json . |
--debug-analysis | Un parámetro opcional que, si se proporciona, realizará un análisis de depuración en el AST. |
Por ejemplo, querer analizar un contrato inteligente para identificar el uso del patrón propio y necesitar ejecutar el comando:
python analyzer.py -a analyze -t ./source_code.sol -d ./Ownership_descriptor.json --print-result --write-result always --plot always(De vuelta a la cima)
El software se lanza bajo la licencia MIT. Ver LICENSE para más información.
(De vuelta a la cima)
(De vuelta a la cima)