A decentralized database of chia offers with a bare bones UI and API.
Anyone can run an instance of offerpool and offers will sync across all instances within seconds via ipfs pub-sub.
In addition to the orbitdb offer table, offers are stored locally in a postgres table with the details of the offer as well as the offer's current status which is maintained by a background job.
- Install Node v16, Python3, and Chia v1.4+
- Install and start the offer helper python service
- In
./client
runnpm install && npm run build
to build the front end - In
./backend
rundocker compose -p offerpool up -d
to start the database and ipfs daemon - In
./backend
copyenv.example
to.env
and change theCHIA_SSL_DIR
variable to be the full path of your wallet rpc ssl certs directory - In
./backend
runnpm run build
to compile the TypeScript to Javascript - In
./backend
runnpm run start-worker
to start the backend worker process, this will keep offers up to date - In
./backend
runnpm run start-worker-sync
to start the backend worker process that syncs offers from orbitdb, initial sync could take 30+ minutes - In
./backend
runnpm run start
and go tohttp://localhost:3000
GET /api/v1/offers?page_size=[1-100]&page=[1-n]&offered=[cat id or known cat code]&requested=[cat id or known cat code]&valid=[all || true (default) || false]
POST /api/v1/offers
{
"offer": "offer1..."
}
{
"success": boolean,
"error_message": "reason for failure if success if false"
}
OfferPool's XCH Address xch1hk74cqlndr8zv9aqzgnemxhff830t94wu2s0re79n82j09hhwy5qfpy4mm