
图150463-1:
btcpool矿池-测试环境搭建及使用cgminer测试
注意:不管你做哪个币的池,都需要比特币源码,因为我们编译矿池的时候需要比特币源码里面的库
本项目未开源支付的代码,因此支付操作需要自己进行开发。
安装Bitcoind+ZMQ
apt-get -y install build-essential libtool autotools-dev automake autoconf pkg-config bsdmainutils python3 apt-get -y install libdb-dev libdb++-dev libminiupnpc-dev libzmq3-dev libssl-dev libboost-all-dev libevent-dev apt-get -y install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev #To Build wget https://github.com/bitcoin/bitcoin/archive/v0.16.3.tar.gz tar -zxvf v0.16.3.tar.gz若我们想要创建非比特币矿池,我们无需对比特币源码进行编译,因此以下命令可以不执行;若创建比特币矿池,需要编译比特币钱包或自行前往比特币官方github下载
cd bitcoin-0.16.3/ ./autogen.sh ./configure --with-incompatible-bdb --prefix=/work/bitcoin make make install #start/stop service cd /work/bitcoin/bin/ ./bitcoind --daemon -testnet -zmqpubhashtx=tcp://0.0.0.0:18331 -zmqpubhashblock=tcp://0.0.0.0:18331 #./bitcoin-cli -testnet stop
安装ZooKeeper
install -y zookeeper zookeeper-bin zookeeperd #mkdir for data mkdir -p /work/zookeeper mkdir /work/zookeeper/version-2 touch /work/zookeeper/myid chown -R zookeeper:zookeeper /work/zookeeper #set machine id echo 1 > /work/zookeeper/myid #edit config file vim /etc/zookeeper/conf/zoo.cfg initLimit=5 syncLimit=2 clientPort=2181 clientPortAddress=127.0.0.1 dataDir=/work/zookeeper #伪分布式 =127.0.0.1:2888:3888 #start/stop service service zookeeper restart #service zookeeper start/stop/restart/status
安装Kafka
#install depends apt-get install -y default-jre #install Kafka mkdir /root/source cd /root/source wget https://archive.apache.org/dist/kafka/2.2.1/kafka_2.11-2.2.1.tgz mkdir -p /work/kafka cd /work/kafka tar -zxf /root/source/kafka_2.11-2.2.1.tgz --strip 1 #edit conf vim /work/kafka/config/server.properties broker.id=1 offsets.topic.replication.factor=1 message.max.bytes=20000000 replica.fetch.max.bytes=30000000 log.dirs=/work/kafka-logs listeners=PLAINTEXT://127.0.0.1:9092 #伪分布式 zookeeper.connect=127.0.0.1:2181 #start server cd /work/kafka nohup /work/kafka/bin/kafka-server-start.sh /work/kafka/config/server.properties > /dev/null 2>&1 &
安装BTCPool
cd /work安装需要的包
apt-get update apt-get install -y build-essential autotools-dev libtool autoconf automake pkg-config cmake \ openssl libssl-dev libcurl4-openssl-dev libconfig++-dev \ libboost-all-dev libgmp-dev libmysqlclient-dev libzookeeper-mt-dev \ libzmq3-dev libgoogle-glog-dev libhiredis-dev zlib1g zlib1g-dev \ libsodium-dev libprotobuf-dev protobuf-compiler # zmq-v4.1.5 mkdir -p /root/source && cd /root/source wget https://github.com/zeromq/zeromq4-1/releases/download/v4.1.5/zeromq-4.1.5.tar.gz tar zxvf zeromq-4.1.5.tar.gz cd zeromq-4.1.5 ./autogen.sh && ./configure && make -j $CPUS make check && make install && ldconfig # glog-v0.3.4 mkdir -p /root/source && cd /root/source wget https://github.com/google/glog/archive/v0.3.4.tar.gz tar zxvf v0.3.4.tar.gz cd glog-0.3.4 ./configure && make -j $CPUS && make install # librdkafka-v0.9.1 apt-get install -y zlib1g zlib1g-dev mkdir -p /root/source && cd /root/source wget https://github.com/edenhill/librdkafka/archive/0.9.1.tar.gz tar zxvf 0.9.1.tar.gz cd librdkafka-0.9.1 ./configure && make -j $CPUS && make install # libevent-2.0.22-stable mkdir -p /root/source && cd /root/source wget https://github.com/libevent/libevent/releases/download/release-2.1.10-stable/libevent-2.1.10-stable.tar.gz tar zxf libevent-2.1.10-stable.tar.gz cd libevent-2.1.10-stable ./autogen.sh ./configure --disable-shared make -j$(nproc) && make install安装btcpool
mkdir -p /work && cd /work git clone https://github.com/btccom/btcpool.git cd /work/btcpool mkdir build && cd build以下内容根据需要2选1
# Release build: cmake -DJOBS=4 -DCHAIN_TYPE=BTC -DCHAIN_SRC_ROOT=/work/bitcoin-0.16.3 .. make -j$(nproc)
# Debug build: cmake -DCMAKE_BUILD_TYPE=Debug -DCHAIN_TYPE=BTC -DCHAIN_SRC_ROOT=/work/bitcoin-0.16.3 .. make -j$(nproc)注意:
-DCHAIN_TYPE=coin 这里的coin根据你想要编译的币种自行修改(仅BTC、BCH等sha256算法的币需要修改,其他币种ETH,Grin等默认使用BTC); -DCHAIN_SRC_ROOT=bitcoindir 这里的bitcoindir是源码路径,若选择BTC币种,则需要BTC源码;若选择BCH则需要BCH源码,根据需要自行修改
将install目录下的init_folders.sh文件复制到 build目录 然后执行
cd /work/btcpool/install cp init_folders.sh ../build/init_folders.sh sh init_folders.sh以上代码作用为:对编译成功的二进制文件生成相应目录并创建快捷方式
启动gbtmaker
配置gbtmaker
cd /work/btcpool/build/ mkdir run_gbtmaker cd run_gbtmaker/ vim gbtmaker.cfg gbtmaker = { rpcinterval = 5; is_check_zmq = true; }; bitcoind = { zmq_addr = "tcp://127.0.0.1:18331"; rpc_addr = "http://127.0.0.1:18332"; rpc_userpwd = "bitcoinrpc:xxxx"; }; kafka = { brokers = "127.0.0.1:9092"; };启动gbtmaker
cd /work/btcpool/build/run_gbtmaker/ mkdir log_gbtmaker -c ./gbtmaker.cfg -l ./log_gbtmaker & tail -f log_gbtmaker/gbtmaker.INFO
启动jobmaker
配置jobmaker
cd /work/btcpool/build/ cd run_jobmaker/ vim jobmaker.cfg testnet = true; jobmaker = { stratum_job_interval = 20; gbt_life_time = 90; empty_gbt_life_time = 15; file_last_job_time = "/work/btcpool/build/run_jobmaker/jobmaker_lastjobtime.txt"; block_version = 0; }; kafka = { brokers = "127.0.0.1:9092"; }; zookeeper = { brokers = "127.0.0.1:2181"; }; pool = { payout_address = "mi9vpXBWJ31WGpRU7n7VJQG4PvTndHBoCN"; coinbase_info = "region1/Project BTCPool/"; };启动jobmaker
cd /work/btcpool/build/run_jobmaker/ mkdir log_jobmaker -c ./jobmaker.cfg -l ./log_jobmaker & tail -f log_jobmaker/jobmaker.INFO
启动sserver
配置sserver
cd /work/btcpool/build/ cd run_sserver/ vim ./sserver.cfg testnet = true; kafka = { brokers = "127.0.0.1:9092"; }; sserver = { ip = "0.0.0.0"; port = 3333; id = 1; file_last_notify_time = "/work/btcpool/build/run_sserver/sserver_lastnotifytime.txt"; enable_simulator = false; enable_submit_invalid_block = false; share_avg_seconds = 10; }; users = { list_id_api_url = "http://index.qubtc.com/apidemo.php"; };启动sserver
cd /work/btcpool/build/run_sserver/ mkdir log_sserver -c ./sserver.cfg -l ./log_sserver & tail -f log_sserver/sserver.INFO测试矿池是否已经正常运作
cgminer测试BTC币种
安装cgminer
cd /work/ apt-get -y install build-essential autoconf automake libtool pkg-config libcurl3-dev libudev-dev apt-get -y install libusb-1.0-0-dev git clone https://github.com/ckolivas/cgminer.git cd cgminer sh autogen.sh ./configure --enable-cpumining --disable-opencl makecgminer测试
./cgminer --cpu-threads 3 -o stratum+tcp://127.0.0.1:3333 -u jack -p x ./cgminer --cpu-threads 3 --url 127.0.0.1:3333 --userpass jack:x #./cgminer -o stratum+tcp://127.0.0.1:3333 -u jack -p x --debug --protocol-dump #--debug,调试模式 #--protocol-dump,协议输出
claymore测试ETH币种
./EthDcrMiner64 -epool 127.0.0.1:3333 -ewal jack -epsw x -allpools 1启动blkmaker
安装MySQL
略
将/work/btcpool/install文件夹中的bpool_local_db.sql在数据库中运行
这边的sql分为各种币种,需要根据自己的需要进行选择
配置blkmaker
cd /work/btcpool/build/ cd run_blkmaker/ vim blkmaker.cfg bitcoinds = ( { rpc_addr = "http://127.0.0.1:18332"; rpc_userpwd = "bitcoinrpc:xxxx"; } ); kafka = { brokers = "127.0.0.1:9092"; }; pooldb = { host = "localhost"; port = 3306; username = "develop"; password = "iZ2ze3r0li2kgfvjkvs2xeZ"; dbname = "bpool_local_db"; };
启动blkmaker
cd /work/btcpool/build/run_blkmaker/ mkdir log_blkmaker -c ./blkmaker.cfg -l ./log_blkmaker & tail -f log_blkmaker/blkmaker.INFO
来源:今日头条
作者:松之宅影视
点赞:1
评论:0
标题:如何根据btcpool源码搭建矿池
原文:https://www.toutiao.com/article/6946450527412683268
侵权告知删除:yangzy187@126.com
转载请注明:网创网 www.netcyw.cn/b150463.html



