Skip to content

Marc-cn/SSI

Repository files navigation

Design and Evaluation of a Verifiable Credential-Based Access Framework for Robotaxi Services.

Repository layout

  • SSI-BLS-VPMultiData/ – Veramo agents for each actor (user, city council, robotaxi, etc.) install dependencies from README there.
  • CODE/ – Python services and the end-to-end simulator that orchestrates all actors.

Start Veramo agents (WSL / Linux terminals)

Run the Veramo servers inside SSI-BLS-VPMultiData before anything else. Each process may persist its own SQLite wallet file if an error occurs; in that case, it must be deleted before the next execution.

Full stack when running all local (User, City Council, RoboTaxi, Ministry, RoboServer, Gate):

cd SSI-BLS-VPMultiData
PORT=3001 DB_FILE=user_wallet.sqlite yarn ts-node --esm ./src/server/veramo-server.js &
PORT=3002 DB_FILE=citycouncil_wallet.sqlite yarn ts-node --esm ./src/server/veramo-server.js &
PORT=3003 DB_FILE=robotaxi_wallet.sqlite yarn ts-node --esm ./src/server/veramo-server.js &
PORT=3004 DB_FILE=ministry_wallet.sqlite yarn ts-node --esm ./src/server/veramo-server.js &
PORT=3005 DB_FILE=roboserver_wallet.sqlite yarn ts-node --esm ./src/server/veramo-server.js &
PORT=3006 DB_FILE=gate_wallet.sqlite yarn ts-node --esm ./src/server/veramo-server.js

Subset stack when User and RoboTaxi in Raspberry PI (City Council, Ministry, RoboServer, Gate):

cd SSI-BLS-VPMultiData
PORT=3002 DB_FILE=citycouncil_wallet.sqlite yarn ts-node --esm ./src/server/veramo-server.js &
PORT=3004 DB_FILE=ministry_wallet.sqlite yarn ts-node --esm ./src/server/veramo-server.js &
PORT=3005 DB_FILE=roboserver_wallet.sqlite yarn ts-node --esm ./src/server/veramo-server.js &
PORT=3006 DB_FILE=gate_wallet.sqlite yarn ts-node --esm ./src/server/veramo-server.js

Start Python services (multiple machines)

Install dependencies and launch the actor services from CODE/:

cd CODE
python3 -m pip install -r requirements.txt
python user_pi.py /& python city_council.py /& python robotaxi_pi.py /& python ministry_of_transport.py /& python robotaxi_server.py /& python gate.py

Deployment notes:

  • Gate and RoboTaxi server run on dedicated Windows machines.
  • City Council and Ministry of Transport run on WSL.
  • User and RoboTaxi Pi run on Raspberry Pi 4.

To stop lingering services during development, free the occupied ports:

kill -9 $(lsof -t -i:3001 -i:3002 -i:3003 -i:3004 -i:3005 -i:3006 -i:7002 -i:7003 -i:7004 -i:7005 -i:7006)

Run the end-to-end simulation

After all Veramo servers and actor services are running, start the orchestrator from CODE/:

cd CODE
python simulation.py

The simulator reads endpoints from CODE/config.json and will initialize actors, issue credentials, and walk through the full gate-approach flow.

About

Design and Evaluation of a Verifiable Credential-Based Access Framework for Robotaxi Services

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors