Skip to content

Getting Started

Prerequisites

  • .NET 10 SDK
  • Access to the private Virtufin registries (Virtufin.* NuGet packages).
  • Python 3 (for the deployment scripts -- virtufin-api, the Python gRPC gateway client, needs to be importable).

Run the tests

dotnet build Virtufin.MarketDataEngines.slnx
dotnet test Virtufin.MarketDataEngines.slnx

Deploy a worker

Each worker directory (currently just BinanceOrderBook/) has its own config/config.json + scripts/*.py deployment wrappers (thin wrappers over @common/scripts/, same pattern virtufin-execution-engines/virtufin-strategies use):

cd BinanceOrderBook
python3 scripts/build_managed.py --csproj src/Virtufin.Worker.BinanceOrderBook/Virtufin.Worker.BinanceOrderBook.csproj
python3 scripts/publish.py --worker-nupkg /tmp/worker-out/Virtufin.Worker.BinanceOrderBook.nupkg
python3 scripts/create_worker.py --api-client-host localhost --api-client-port 5002

See BinanceOrderBook for the full deploy sequence, including the per-pair HttpGetWorker + Trigger snapshot pollers it depends on.

Other lifecycle scripts (@common/scripts/list_workers.py, start_worker.py, stop_worker.py, delete_worker.py, recover_workers.py, get_worker_history.py, schedule_trigger.py) take --config <path> directly.