git clone
to clone the repo andcdinto the directory- Install pnpm (if needed)
If thepnpmcommand is not found, runmise install(see note below) or use one of the standalone installation methods pnpm install
to install the packagespnpm dev
will open the app on: http://localhost:5000
pnpm run format:fixpnpm run lintpnpm run checkpnpm run typecheckpnpm run test --run
To test the frontend against a local btcmap-api instance:
- Start the API:
cd btcmap-api && cargo run(binds to127.0.0.1:8000) - Add to your
.env— pick one:VITE_API_BASE_URL=/btcmap-api-proxy— routes through the Vite dev proxy (avoids CORS; works for client-side calls and SSR load functions that use SvelteKit'sevent.fetch)VITE_API_BASE_URL=http://127.0.0.1:8000— direct; works everywhere including SSR axios calls, but requires the API to send CORS headers
- Start the frontend:
pnpm dev
Remove or comment out the env var to switch back to the production API.
- Create
.env
Copy.env.exampleand save as.env pnpm build
NOTE: BTC Map uses Node 22 LTS. If you have mise, run mise install in the repo root to get the correct Node and pnpm versions. Any pnpm ≥ 10 works: pnpm reads the packageManager pin in package.json and switches to that exact version automatically, so Corepack is not needed (pnpm no longer recommends it).
- Iconify: for general material/fontawesome icons via
Icon.svelte - Custom icons (socials, apps, mobile-nav): imported as raw SVGs in
src/lib/icons/via wrapper components (IconSocials.svelte,IconApps.svelte,IconMobileNav.svelte)
pnpm playwright install pnpm playwright test
Runs the end-to-end tests.
pnpm playwright test --ui
Starts the interactive UI mode.
pnpm playwright test --project=chromium
Runs the tests only on Desktop Chrome.
pnpm playwright test example
Runs the tests in a specific file.
pnpm playwright test --debug
Runs the tests in debug mode.This website is a progressive web app, meaning you can install it on your mobile device and use it like a native application. Just look for the Add to home screen or Install option in your browser while visiting btcmap.org.
For information on how to embed the BTC Map web map onto your own website or application please reference our Wiki.
Thanks to:
Tagger profile badges by AndrejCibik
Satoshi nakamoto icons created by Vitaly Gorbachev - Flaticon
