Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/btccom/btcpool-ABANDONED
backend of pool.btc.com
https://github.com/btccom/btcpool-ABANDONED
bitcoin blockchain btc decred ethereum mine pool
Last synced: 14 days ago
JSON representation
backend of pool.btc.com
- Host: GitHub
- URL: https://github.com/btccom/btcpool-ABANDONED
- Owner: btccom
- License: mit
- Created: 2016-08-16T04:22:06.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-07-04T03:01:52.000Z (over 1 year ago)
- Last Synced: 2024-07-31T14:09:07.763Z (3 months ago)
- Topics: bitcoin, blockchain, btc, decred, ethereum, mine, pool
- Language: C++
- Homepage: https://pool.btc.com
- Size: 20.8 MB
- Stars: 633
- Watchers: 84
- Forks: 405
- Open Issues: 59
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
BTCPool for Bitcoin, Ethereum, Decred, Bytom, ...
==================|Branch|Status|
|------|------|
|master|[![CircleCI](https://circleci.com/gh/btccom/btcpool/tree/master.svg?style=shield)](https://circleci.com/gh/btccom/btcpool/tree/master)|
|deveth|[![CircleCI](https://circleci.com/gh/btccom/btcpool/tree/deveth.svg?style=shield)](https://circleci.com/gh/btccom/btcpool/tree/deveth)|BTCPool is backend system of [https://pool.btc.com](https://pool.btc.com).
> This is a version of BTCPool that supports more blockchains. Check the **SHA256-only** version at [master](https://github.com/btccom/btcpool/tree/master) branch.
The pool backend support these blockchains at current:
* SHA256
* [Bitcoin](https://bitcoin.org/)
* [BitcoinCash](https://bitcoincash.org/)
* [UnitedBitcoin](https://ub.com/)
* Scrypt
* [Litecoin](https://litecoin.org/)
* ETHash / Daggerhashimoto
* [Ethereum](https://www.ethereum.org/)
* [Ethereum Classic](https://ethereumclassic.org/)
* EquiHash
* [ZCash](https://z.cash/)
* [Beam](https://www.beam.mw/)
> Tips: ZCash and BEAM use different EquiHash parameters and are not compatible in mining.
* Cuckoo Cycle
* [Grin](https://grin-tech.org/)
> Tips: Grin supports `Cuckaroo Cycle 29` and `Cuckatoo Cycle 31` at the same time, miners can choose an algorithm to mine.
* Blake-256
* [Decred](https://www.decred.org/)
* Tensority
* [Bytom](https://bytom.io/)
* Eaglesong
* [Ckb](https://www.nervos.org/) (finished but the test is not enough)
> Tips: only Tested with bminer and nbminer. need to be updated after the new version of ckb is released.
* Others
* ~~[Siacoin](https://www.sia.tech/)~~ (not finished and need test)It also support these merged mining blockchains of SHA256 blockchains:
* SHA256 merged mining
* [Namecoin](https://www.namecoin.org/)
* [RSK](https://www.rsk.co/)
* [ElastOS](https://elastos.org/)
* Other blockchains that compatible with [Bitcoin merged mining specification](https://en.bitcoin.it/wiki/Merged_mining_specification)
If you want merged mine more than one chains that compatible with [Bitcoin merged mining specification](https://en.bitcoin.it/wiki/Merged_mining_specification), use [merged mining proxy](https://github.com/btccom/btcpool-go-modules/tree/master/mergedMiningProxy).Note: The project is still a testbed and work in progress, all things could be changed.
See Also:
* [BTCPool's golang modules](https://github.com/btccom/btcpool-go-modules)## Architecture (need update)
![Architecture](docs/btcpool.png)
## Install
1. Install `Zookeeper`, or see [INSTALL-ZooKeeper.md](docs/INSTALL-ZooKeeper.md)
* [https://zookeeper.apache.org/](https://zookeeper.apache.org/)
2. Install `Kafka`, or see [INSTALL-Kafka.md](docs/INSTALL-Kafka.md)
* [https://kafka.apache.org/](https://kafka.apache.org/)
3. Install `BTCPool`, see [INSTALL-BTCPool.md](docs/INSTALL-BTCPool.md)## Upgrade
Upgrading to BTCPool 2.3.0 requires additional operations on `sharelogger`, `slparser` and `statshttpd` due to incompatible sharelog format changes.
See [UPGRADE-BTCPool.md](docs/UPGRADE-BTCPool.md) for more information.
## Benchmark (outdated)
We have test 100,000 miners online Benchmark. see [Benchmark-100000.md](docs/Benchmark-100000.md)
## BTCAgent
BTCAgent is a kind of stratum proxy which use customize protocol to communicate with the pool. It's very efficient and designed for huge mining farm.
* [AGENT.md](docs/AGENT.md)
* BTCAgent's [HomePage](https://github.com/btccom/BTCAgent)## Testing
You could run `simulator` to test the system. It will simulate a lots of miners, need to enbale config `enable_simulator` on your Stratum Server.
## License
BTCPool is released under the terms of the MIT license. See [LICENSE](LICENSE) for more information or see [https://opensource.org/licenses/MIT](https://opensource.org/licenses/MIT).Welcome aboard!
BTC.COM Team.