MCPcopy Create free account
hub / github.com/btccom/btcpool-ABANDONED

github.com/btccom/btcpool-ABANDONED @2020.06.09-11-fix-jobmaker-kafka

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2020.06.09-11-fix-jobmaker-kafka ↗ · + Follow
7,357 symbols 15,957 edges 502 files ⚖ MIT 1,289 documented · 18% updated 3y ago2020.06.09-11-fix-jobmaker-kafka · 2020-06-09★ 66147 open issues

Browse by type

Functions 5,312 Types & classes 2,045
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BTCPool for Bitcoin, Ethereum, Decred, Bytom, ...

Branch Status
master CircleCI
deveth CircleCI

BTCPool is backend system of https://pool.btc.com.

This is a version of BTCPool that supports more blockchains. Check the SHA256-only version at master branch.

The pool backend support these blockchains at current: * SHA256 * Bitcoin * BitcoinCash * UnitedBitcoin * Scrypt * Litecoin * ETHash / Daggerhashimoto * Ethereum * Ethereum Classic * EquiHash * ZCash * Beam

Tips: ZCash and BEAM use different EquiHash parameters and are not compatible in mining. * Cuckoo Cycle * Grin Tips: Grin supports Cuckaroo Cycle 29 and Cuckatoo Cycle 31 at the same time, miners can choose an algorithm to mine. * Blake-256 * Decred * Tensority * Bytom * Eaglesong * Ckb (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~~ (not finished and need test)

It also support these merged mining blockchains of SHA256 blockchains: * SHA256 merged mining * Namecoin * RSK * ElastOS * Other blockchains that compatible with Bitcoin merged mining specification

If you want merged mine more than one chains that compatible with Bitcoin merged mining specification, use merged mining proxy.

Note: The project is still a testbed and work in progress, all things could be changed.

See Also: * BTCPool's golang modules

Architecture (need update)

Architecture

Install

  1. Install Zookeeper, or see INSTALL-ZooKeeper.md
  2. https://zookeeper.apache.org/
  3. Install Kafka, or see INSTALL-Kafka.md
  4. https://kafka.apache.org/
  5. Install BTCPool, see 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 for more information.

Benchmark (outdated)

We have test 100,000 miners online Benchmark. see 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.

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 for more information or see https://opensource.org/licenses/MIT.

Welcome aboard!

BTC.COM Team.

Core symbols most depended-on inside this repo

browse all functions →

Shape

Method 3,830
Class 1,964
Function 1,482
Enum 68
Struct 12
TypeAlias 1

Languages

C++96%
C2%
Go1%
PHP1%
Rust1%
Python1%

Modules by API surface

3rdparty/gtest/gtest.h1,093 symbols
3rdparty/gmock/gmock.h991 symbols
3rdparty/gmock-gtest-all.cc613 symbols
3rdparty/nlohmann/json.hpp472 symbols
3rdparty/fmt/format.h358 symbols
3rdparty/fmt/core.h144 symbols
3rdparty/fmt/chrono.h90 symbols
src/StratumServer.cc63 symbols
3rdparty/zmq.hpp56 symbols
3rdparty/fmt/printf.h55 symbols
3rdparty/fmt/format-inl.h52 symbols
src/StratumSession.cc46 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add btcpool-ABANDONED \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page