Il report completo della estensione DART è sotto la cartella "report"
Il repo è organizzato come progetto del framework Truffle, costituito da:
- il file di configurazione Truffle
truffle-config.js - la cartella
contractscontenente il codice Solidity dello smart contract DART - la cartella
migrationscontenente il codice Solidity per il deployment on-chain dello smart contract DART
assieme ad alcuni script Python per i calcoli off-chain e l'esecuzione di test:
DART.py: libreria per l'interazione con lo smart contract on-chain DART e l'esecuzione off-chain del backward search algorithmtest_epapers.py: esegue il test scenario A del paper ICDCStest_wot_passive.py: esegue il test scenario B (passive behaviour) del paper ICDCStest_wot_active.py: esegue il test scenario B (active behaviour) del paper ICDCS
Per eseguire i test su una blockchain locale, è necessario possedere Ganache o ganache-cli. Quindi, dalla root del progetto:
- avviare Ganache con un numero sufficiente di account di partenza, gas limit pari a
12000000e network id1. Tramite ganache-cli ciò corrisponde ad eseguireganache-cli -l 12000000 -i 1 - avviare compilazione e deployment su blockchain locale dello smart contract tramite
truffle migrate --network ganache - eseguire il test tramite
python3 nome_test.py [...]
NOTA: a causa del caricamento delle rispettive policies, non è possibile eseguire più volte lo stesso test sulla stessa blockchain locale. Per eseguire nuovamente un test, è necessario riavviare tutta la procedura a partire dal punto 1