https://github.com/plebhash/p2pool_btc_revival
P2Pool BTC revival
https://github.com/plebhash/p2pool_btc_revival
Last synced: over 1 year ago
JSON representation
P2Pool BTC revival
- Host: GitHub
- URL: https://github.com/plebhash/p2pool_btc_revival
- Owner: plebhash
- License: gpl-3.0
- Created: 2024-12-15T17:19:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-17T04:46:13.000Z (over 1 year ago)
- Last Synced: 2025-01-12T06:13:26.252Z (over 1 year ago)
- Language: Shell
- Homepage:
- Size: 93.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
P2Pool BTC revival
`P2Pool` is a protocol for decentralized pooled mining of blockchains.
the protocol is [alive and well on Monero](https://p2pool.io)... and why not on Bitcoin???
this repo aims to provide an automated way to easily deploy [`P2Pool`](http://p2pool.in/) for Bitcoin mining.
it automates the deployment of:
- [`P2Pool v17.0`](https://github.com/p2pool/p2pool/releases/tag/17.0)
- [`bitcoin core v0.13.1`](https://bitcoincore.org/bin/bitcoin-core-0.13.1)
⚠️ note: this deployment can only mine pre-taproot blocks, which means its usage on mainnet is not economically rational (since potentially mined blocks would be rejected from most nodes).
⚠️ note: this deployment is useful for research purposes, not real economically rational mining.
# prerequisites
- `x86-64` system
- Docker
# instructions
## clone
```shell
$ git clone https://github.com/plebhash/P2Pool_btc_revival
$ cd P2Pool_btc_revival
```
## run
the `.env` file contains important variables:
- `PAYOUT_ADDRESS`: defaults to `16VcStqURGEdHx5UEYazDxRRx5UGNFeE3u`
- `BITCOIN_SNAPSHOT_URL`: defaults to xxx todo xxx
- `BITCOIN_SNAPSHOT_TARBALL`: defaults to xxx todo xxx
⚠️ note: `PAYOUT_ADDRESS` should contain an address you control.
⚠️ note: `PAYOUT_ADDRESS` MUST contain legacy addresses.
⚠️ note: `BITCOIN_SNAPSHOT_URL` + `BITCOIN_SNAPSHOT_TARBALL` should contain a snapshot from a source you trust.
```shell
$ ./P2Pool_btc_revival.sh
```
running the script above will build and run a Docker image which will give the user a [`tmux`](https://github.com/tmux/tmux) session with the following panes:
- logs of a running `bitcoind` node, where IBD was accelerated via snapshot
- `P2Pool` (only after `bitcoind` has finished IBD)
⚠️ note: you should replace `BITCOIN_SNAPSHOT_URL` + `BITCOIN_SNAPSHOT_TARBALL` on `.env` with your own trusted snapshot!
⚠️ note: you can use `generate_snapshot.sh` script to create your own snapshot from a synced `bitcoind v0.13.1`.
# roadmap
- [x] `Dockerfile`
- [x] `docker-entrypoint.sh`
- [x] `P2Pool_BTC_revival.sh`
- [ ] IBD snapshot