This guide documents common VacciChain setup and runtime errors, with exact symptoms, root causes, and solutions.
- Symptom:
cargo buildorcargo testfails immediately with a manifest parse error. - Cause: The Rust
Cargo.tomlfile incontracts/contains a malformed dependency entry, missing quote, or invalid TOML syntax. - Solution: Open
contracts/Cargo.toml, fix the broken line, and reruncargo build. Usecargo checkto validate before deployment.
- Symptom: Contract deployment or local tests cannot connect to the Soroban RPC endpoint.
- Cause: The Soroban standalone node or emulator is not running, or it is bound to a different host/port than expected.
- Solution: Start the local RPC server and confirm its address. For example, run the designated Soroban node command, then verify
http://127.0.0.1:9000is reachable.
- Symptom: Deployment scripts or contract signing fail with a key format validation error.
- Cause: The private key or secret seed is malformed, missing the
S...prefix, or wrapped in accidental whitespace/newlines. - Solution: Confirm the key is a valid Stellar secret seed, remove extra whitespace, and place the correct key into the environment variable used by deployment scripts.
- Symptom: The contract build fails during dependency resolution.
- Cause: A patch, workspace member, or local path reference in
contracts/Cargo.tomlis incorrect or missing. - Solution: Verify all path and git dependencies in
contracts/Cargo.tomlexist and are accessible. Correct any broken relative paths before retrying.
- Symptom: Backend startup fails before the API starts.
- Cause: Dependencies were not installed in
backend/ornpm install/yarn installwas not run. - Solution: From
/backend, runnpm installand then restart the backend withnpm startor the standard startup script.
- Symptom: The backend reports a missing
.envfile when booting. - Cause: Required runtime environment variables are not configured locally.
- Solution: Copy
env.exampleto.envin the repo root and update the required backend keys and URLs. Ensure the backend service loads the correct.envfile.
- Symptom: Backend API cannot connect to Stellar/Soroban when invoking contracts.
- Cause: The network passphrase is misconfigured for Testnet/Mainnet, or the wrong RPC network is selected.
- Solution: Confirm
STELLAR_NETWORK_PASSPHRASEand RPC endpoint values in backend config match the target environment.
- Symptom: The backend cannot reach a dependent service such as analytics or Soroban RPC.
- Cause: A local service is not running or is bound to a different port.
- Solution: Start the missing dependency and verify the host:port values in the backend configuration.
- Symptom: Frontend build fails while resolving a module.
- Cause: A missing file, wrong import path, or inconsistent file extension under
frontend/src. - Solution: Confirm the file exists, correct the import paths, and rerun
npm run buildfromfrontend/.
- Symptom: Browser or frontend build fails after loading a file as HTML instead of JS.
- Cause: The dev server is serving an HTML error page because the requested asset path is missing or the router is misconfigured.
- Solution: Check the build output path, verify
frontend/vite.config.jssettings, and ensure the asset URL matches the expected route.
- Symptom: Frontend fails on startup or during build with a missing dependency.
- Cause: Dependencies were not installed in the frontend package or
node_modulesis stale. - Solution: From
/frontend, runnpm installand then restart the frontend development server.
12. Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
- Symptom: Any Docker command fails immediately.
- Cause: Docker is not running or the current user lacks permission to access the Docker socket.
- Solution: Start Docker and confirm your user can access it. On Linux, use
sudo systemctl start dockeror add your user to thedockergroup.
- Symptom:
docker-compose upfails while starting services. - Cause: The Compose network was removed or not created due to a prior partial teardown.
- Solution: Recreate the compose network by running
docker compose up -dfrom the repo root ordocker compose down && docker compose up -d.
- Symptom: A container cannot start because its published port is in use.
- Cause: Another service is already listening on the same host port.
- Solution: Stop the conflicting service or change the published port in
docker-compose.yml.
- Symptom: Docker Compose reports a container endpoint or networking failure.
- Cause: Docker networking is corrupt, container names conflict, or stale resources remain.
- Solution: Run
docker compose down --volumes --remove-orphans, thendocker compose up -d.
- Symptom: Compose refuses to parse the YAML file.
- Cause: The installed Docker Compose version is older than the file version in the repo.
- Solution: Upgrade Docker Compose or use the Compose CLI shipped with Docker Desktop / Docker Engine.
- Always run
npm installin bothbackend/andfrontend/after pulling updates. - Use
docker compose logs <service>to inspect failing service output. - Validate environment variables before startup: missing or malformed secrets are the most common source of failures.
- If deployment still fails, check the exact error message before applying a generic fix.