
Uma utilidade para o reconhecimento do padrão de design no blockchain através da análise estática do código
Este ReadMe está disponível nos seguintes idiomas:
Italiano · inglês
Após o grau, o projeto passou por uma variedade e melhorias, portanto, o que é descrito no elaborado da tese pode não refletir mais confiável.
Para ver o projeto no formulário descrito no elaborado da tese e da própria tese, consulte o ramo frozen , clique aqui.
Solidity Design Pattern Analyzer é um aplicativo de software desenvolvido para minha tese de graduação para o CDL de três anos em ciência da computação na Universidade de Catania.
O aplicativo de software e capaz de executar as seguintes operações:
(de volta ao topo)
(de volta ao topo)
Antes de usar o aplicativo, é necessário instalar vícios.
Para instalar funcionários, você pode usar o pacote de instalador Python chamado 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 o analisador, é necessário fornecer uma série de parâmetros, listados aqui:
| Parâmetro | Descrição |
|---|---|
-h, --help | Um parâmetro opcional que, se fornecido, fará um guia sobre o uso no terminal |
-a, --action | Um parâmetro obrigatório que aceita apenas analyze e describe valores, dependendo da operação que você deseja executar. |
-t, --target | Um parâmetro obrigatório que representa o caminho absoluto ou relativo do arquivo ou pasta que contém o código -fonte soliditário. Se um diretório for fornecido, o modalità batch será executado que salvará todos os resultados obtidos em um único arquivo. |
-d, --descriptor | Um parâmetro opcional para a operação analyze que representa o caminho, absoluto ou relativo, do arquivo ou pasta que contém o Design Pattern Descriptor .Se você omitir um caminho predefinido, ele será usado. |
-v, --verbose | Um parâmetro opcional que, se fornecido, pode imprimir debugs de login no terminal, normalmente não é exibido. |
-ai, --allow-incompatible | Um parâmetro opcional que determina o controle da compatibilidade da versão do Solditch usada no arquivo fornecido. Aceita como valores: ask , skip , always .Padrão: ask , pede confirmação. |
-p, --plot | Um parâmetro opcional que determina a exibição de um gráfico de resumo. Aceita como valores: ask , skip , always .Padrão: ask , pede confirmação. |
-pr, --print-result | Um parâmetro opcional que, se fornecido, fará um resumo dos resultados obtidos da análise de análise no terminal. |
-wr, --write-result | Um parâmetro opcional que determina o resgate no disco dos resultados obtidos a partir da análise dos arquivos individuais. Aceita como valores: ask , skip , always .Padrão: ask , pede confirmação. |
-fr, --format-result | Um parâmetro opcional que determina o formato com o qual os dados obtidos são salvos. Aceita como valores: json , csv .Padrão: json . |
--debug-analysis | Um parâmetro opcional que, se fornecido, fará uma análise de depuração no AST. |
Por exemplo, querendo analisar um contrato inteligente para identificar o uso do padrão de próprias empresas e precisar executar o comando:
python analyzer.py -a analyze -t ./source_code.sol -d ./Ownership_descriptor.json --print-result --write-result always --plot always(de volta ao topo)
O software é lançado sob licença do MIT. Veja LICENSE para obter mais informações.
(de volta ao topo)
(de volta ao topo)