Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/demining/btcpool-google-colab

backend of pool.btc.com Google Colab
https://github.com/demining/btcpool-google-colab

bitcoin bitcoin-api bitcoin-core bitcoin-payment bitcoin-transaction bitcoin-wallet colab colab-notebook colab-notebooks colab-tutorial colaboratory google-colab google-colab-gpu google-colab-notebook google-colab-notebooks google-colab-tutorial google-colaboratory google-colaboratory-notebooks

Last synced: 4 days ago
JSON representation

backend of pool.btc.com Google Colab

Awesome Lists containing this project

README

        

-------------------------
### Run bitcoin-transactions-Google-Colab

https://colab.research.google.com/drive/1OShIMVcFZ_khsUIBOIV1lzrqAGo1gfm_?usp=sharing

-------------------------

|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.

----

| | Donation Address |
| --- | --- |
| ♥ __BTC__ | 1Lw2kh9WzCActXSGHxyypGLkqQZfxDpw8v |
| ♥ __ETH__ | 0xaBd66CF90898517573f19184b3297d651f7b90bf |