https://github.com/madis/btc-expo
Showing what Clojure + Bitcoin can do
https://github.com/madis/btc-expo
bitcoin clojure clojurescript lightning-network re-frame
Last synced: about 1 month ago
JSON representation
Showing what Clojure + Bitcoin can do
- Host: GitHub
- URL: https://github.com/madis/btc-expo
- Owner: madis
- Created: 2025-05-29T17:17:08.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2026-04-10T10:40:19.000Z (2 months ago)
- Last Synced: 2026-04-10T12:31:39.978Z (2 months ago)
- Topics: bitcoin, clojure, clojurescript, lightning-network, re-frame
- Language: Clojure
- Homepage: https://btc-expo.mad.is
- Size: 1.32 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Bitcoin Expo application
An browser application & HTTP API server to demonstrate some useful things that can be done with Bitcoin.
[](https://raw.githubusercontent.com/madis/btc-expo/master/docs/btc-expo-short-demo.webm)
Technologies & tools used:
- [ClojureScript](https://clojurescript.org/)
- [shadow-cljs](https://shadow-cljs.github.io/docs/UsersGuide.html)
- [re-frame](https://day8.github.io/re-frame/re-frame/) (for UI application architecture and internal communication)
- PostgreSQL (as storage back-end)
- React (via [Reagent](https://reagent-project.github.io/))
## Development
First set up a Core Lightning regtest node (or two nodes if you want sender & receiver be different).
The simplest way to do it in local environment is to use [Polar](https://github.com/jamaljsr/polar).

Start these 2 processes in separate terminal windows:
1. `overmind start`
- will run the processes defined in the `Procfile` using [overmind](https://github.com/DarthSim/overmind)
2. `node out/server.js`
- starts the API server application
3. Open browser: `http://localhost:8008` to try it out