Skip to content
Draft
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,10 @@ export default defineConfig({
label: "Overview",
link: "/public-pool/about",
},
{
label: "Self-Hosting",
link: "/public-pool/selfhost",
},
],
},
{
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/public-pool/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: About Public Pool
discordChannel: https://discord.com/channels/1091348375301013615/1120846282672590918
githubRepo: https://github.com/benjamin-wilson/public-pool
---
Public Pool is fully open source, solo Bitcoin mining pool. There is an official instance of the pool available at [web.public-pool.io](https://web.public-pool.io), where you can point your miners, but you also have the option to host it yourself.
Public Pool is fully open source, solo Bitcoin mining pool. There is an official instance of the pool available at [web.public-pool.io](https://web.public-pool.io), where you can point your miners, but you also have the option to [host it yourself](./selfhost).

The official instance is managed by [Ben](https://github.com/benjamin-wilson). The backend runs on hardware under his physical control, and only the GUI relies on cloud infrastructure. Public Pool was developed from scratch with the goal of offering easy installation, a modern interface, maintainability, and low complexity.

Expand Down
42 changes: 42 additions & 0 deletions src/content/docs/public-pool/selfhost.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: Self-Hosting Public Pool
---

1. 💻 [Windows](#-windows) - TODO
2. 🍏 [MacOS](#-macos) - TODO
3. 🐧 [Linux](#-linux)
Comment thread
0xf0xx0 marked this conversation as resolved.
Outdated

## 💻 Windows

## 🍏 MacOS

## 🐧 Linux

### Installing Bitcoin Core

- download latest release from https://bitcoin.org/en/download
TODO: note about knots and btcd being usable as well
- extract everything in `bitcoin-XX.X/bin` to `/usr/local/bin`, and everything in `bitcoin-XX.X/share` to `/usr/local/share`
Comment on lines +31 to +32
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this obviously needs to be expanded


### Installing NodeJS

- ubuntu/debian: select the node.js runtime, your distro, and the latest lts version from https://nodesource.com/products/distributions
- arch: use nvm to install the latest lts

### Configuring Bitcoin

#### Bitcoin Core/Knots

MAYBE: have a community mining config?
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this would be a nice to have, but the config would just be boosting the mempool to a gig and the orphan tx count to 1k

dbcache=4000
maxorphantx=1000
maxmempool=1024
blockreconstructionextratxn=1000


#### btcd

### Getting and Starting Public-Pool

- `git clone https://github.com/benjamin-wilson/public-pool.git`
- `cd ./public-pool`
- install dependencies with `npm install`
- copy `.env.example` to `.env` and fill in `BTC_RPC_URL` and `BTC_RPC_COOKIEFILE`
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also needs expansion

- `npm start`
- point your miners to your _lan_ ip address
- profit (hopefully)