# @lilith/blockchain

Blockchain and Web3 integration service for NFTs, crypto payments, and token
economy

Backend service. See the `Dockerfile` / `docker-compose.yml` in the repo for
production-like local runs, or use the dev script below for in-process
iteration.

## Scripts

| Command              | Definition                                      |
| -------------------- | ----------------------------------------------- |
| `pnpm build`         | tsc -p tsconfig.json                            |
| `pnpm start`         | node dist/server.js                             |
| `pnpm dev`           | NODE_ENV=development tsx watch src/server.ts    |
| `pnpm test`          | vitest run --config vitest.config.ts            |
| `pnpm test:watch`    | vitest --config vitest.config.ts                |
| `pnpm test:coverage` | vitest run --coverage --config vitest.config.ts |

## Layout

- `src/`

## Working on this package

The fastest local loop is via Nx:

```bash
pnpm nx test lilith-blockchain
pnpm nx lint lilith-blockchain
pnpm nx build lilith-blockchain
```

When Nx is unhappy (usually because another worktree has duplicate project
names), bypass it with the underlying tools from this directory:

```bash
npx tsc --noEmit
npx vitest run
```

See the [root README](../../../README.md) for monorepo-wide conventions (catalog
deps, commit format, git workflow). See the
[Contributor Guide](../../../docs/CONTRIBUTING.md) for the full PR workflow.
