Blockchain getting started tutorial btcpool source code analysis environment setup

Source: Internet
Author: User
# Btcpool-Build a test environment and use cgminer to test this document based on Ubuntu 16.04 lts and 64 bits .! [] (Http://i2.51cto.com/images/blog/201810/29/7555485d8d22fccbea56d0fcf44c6960.png? X-OSS-process = image/watermark, size_16, expires, color_ffffff, t_100, g_se, x_10, y_10, shadow_90, type_zmfuz3pozw5nagvpdgk =) # Install bitcoind + zmq ''' shell # dependenciesapt-get-y install build-essential libtool autotools-dev automake Autoconf PKG-config bsdmainutils python3apt-get-y install libssl-libdev boost-all -Dev libevent-devapt-get-y install libdb-dev libdb ++-devapt-get-y install libminiupnpc-dev libzmq3-devapt-get-y install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools-dev protobuf- compiler libqrencode-dev # To buildwget https://github.com/bitcoin/bitcoin/archive/v0.15.1.tar.gztar-zxvf bitcoin-0.15.1.tar.gzcd bitcoin-0.15.1 /. /autogen. sh. /configure -- With-incompatible-bdb -- prefix =/work/bitcoinmakemake install # start/stop servicmcm/work/bitcoin/bin /. /bitcoind -- daemon-testnet-zmqpubhashtx = TCP: // 0.0.0.0: 18331-zmqpubhashblock = TCP: // 0.0.0.0: 18331 #. /bitcoin-cli-testnet stopInstall zookeeper
# Install zookeeperapt-Get install-y zookeeper-bin zookeeperd # mkdir for datamkdir-P/work/secrets/work/zookeeper/version-2touch/work/zookeeper/myidchown-r zookeeper: zookeeper/work/zookeeper # Set machine idecho 1>/work/zookeeper/myid # edit config filevim/etc/zookeeper/CONF/Zoo. cfginitlimit = 5 synclimit = 2 clientport = 2181 clientportaddress = 127.0.0.1datadir =/work/zookeeper # pseudo distributed server.1 = 127.0.0.1: 2888: 3888 # start/stop serviceservice zookeeper restart # service zookeeper start/stop/restart/status
Install Kafka
# Install dependsapt-Get install-y default-JRE # Install kafkamkdir/root/sourcmcm/root/sourcewget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/0.11.0.2/kafka_2.11-0.11.0.2.tgzmkdir-P/work/kafkacd/work/kafkatar-zxf/root/source/ kafka_2.11-0.11.0.2.tgz -- strip 1 # edit confvim/work/Kafka/config/server. propertiesbroker. id = 1offsets. topic. replication. factor = 1message. max. bytes = 200020.replica. fetch. max. bytes = 30000000log. dirs =/work/Kafka-logslisteners = plaintext: // 127.0.0.1: 9092 # pseudo distributed zookeeper. connect = 127.0.0.1: 2181 # Start servercd/work/kafkanohup/work/Kafka/bin/kafka-server-start.sh/work/Kafka/config/server. properties>/dev/null 2> & 1 &
Install btcpool
#Buildcd /workwget https://raw.githubusercontent.com/btccom/btcpool/master/install/install_btcpool.shbash ./install_btcpool.sh

The following content is displayed in install_btcpool.sh:

CPUS=`lscpu | grep ‘^CPU(s):‘ | awk ‘{print $2}‘`apt-get updateapt-get install -y build-essential autotools-dev libtool autoconf automake pkg-config cmakeapt-get install -y openssl libssl-dev libcurl4-openssl-dev libconfig++-dev libboost-all-dev libmysqlclient-dev libgmp-dev libzookeeper-mt-dev# zmq-v4.1.5mkdir -p /root/source && cd /root/sourcewget https://github.com/zeromq/zeromq4-1/releases/download/v4.1.5/zeromq-4.1.5.tar.gztar zxvf zeromq-4.1.5.tar.gzcd zeromq-4.1.5./autogen.sh && ./configure && make -j $CPUSmake check && make install && ldconfig# glog-v0.3.4mkdir -p /root/source && cd /root/sourcewget https://github.com/google/glog/archive/v0.3.4.tar.gztar zxvf v0.3.4.tar.gzcd glog-0.3.4./configure && make -j $CPUS && make install# librdkafka-v0.9.1apt-get install -y zlib1g zlib1g-devmkdir -p /root/source && cd /root/sourcewget https://github.com/edenhill/librdkafka/archive/0.9.1.tar.gztar zxvf 0.9.1.tar.gzcd librdkafka-0.9.1./configure && make -j $CPUS && make install# libevent-2.0.22-stablemkdir -p /root/source && cd /root/sourcewget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gztar zxvf libevent-2.0.22-stable.tar.gzcd libevent-2.0.22-stable./configuremake -j $CPUSmake install# btcpoolmkdir -p /work && cd /workgit clone https://github.com/btccom/btcpool.gitcd /work/btcpoolmkdir build && cd buildcmake -DCMAKE_BUILD_TYPE=Release ..make -j $CPUS
Start btcpool and cgminer test btcpool start gbtmaker
# Configure gbtmakercd/work/btcpool/build/mkdir run_gbtmakercd run_gbtmaker/ln-s .. /gbtmakercp/work/btcpool/src/gbtmaker. cfg. /Vim gbtmaker. export 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" ;};# start gbtmakercd/work/btcpool/build/run_gbtmaker/mkdir log_gbtmaker. /gbtmaker-C. /gbtmaker. CFG-L. /log_gbtmaker & tail-F log_gbtmaker/gbtmaker. info
Start jobmaker
# Configure jobmakercd/work/btcpool/build/mkdir run_jobmakercd run_jobmaker/ln-s .. /jobmakercp/work/btcpool/src/jobmaker. cfg. /Vim jobmaker. export testnet = true; jobmaker = {stratum_job_interval = 20; gbt_life_time = 90; bytes = 15; file_last_job_time = "/work/btcpool/build/run_jobmaker/notebook"; block_version = 0 ;}; kafka = {brokers = "127.0.0.1: 9092" ;}; zookeeper ={ brokers = "127.0.0.1: 2181" ;}; pool = {payout_address = "Expiration "; coinbase_info = "region1/Project btcpool/";}; # Start jobmakercd/work/btcpool/build/run_jobmaker/mkdir log_jobmaker. /jobmaker-C. /jobmaker. CFG-L. /log_jobmaker & tail-F log_jobmaker/jobmaker. info
Start sserver
# Configure sservercd/work/btcpool/build/mkdir run_sservercd run_sserver/ln-s .. /sservercp/work/btcpool/src/sserver. cfg. /vim. /sserver. export testnet = true; Kafka = {brokers = "127.0.0.1: 9092" ;}; sserver = {IP = "0.0.0.0"; Port = 3333; id = 1; dependencies = "/work/btcpool/build/run_sserver/sserver_lastnotifytime.txt"; enable_simulator = false; dependencies = false; pai_avg_seconds = 10;}; users = {list_id_api_url = "http://index.qubtc.com/apidemo.php ";}; # Start sservercd/work/btcpool/build/run_sserver/mkdir log_sserver. /sserver-C. /sserver. CFG-L. /log_sserver & tail-F log_sserver/sserver. info
Cgminer test btcpool
# Install cgminercd/work/apt-get-y install build-essential Autoconf automake libtool PKG-config libcurl3-dev libudev-devapt-get-y install libusb-1.0-0-devgit clone https://github.com/ckolivas/cgminer.gitcd cgminersh autogen. sh. /configure -- enable-cpumining -- disable-openclmake # cgminer test. /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, debug mode # -- protocol-dump, protocol output
Start blkmaker
# Install MySQL to be supplemented # configure blkmakercd/work/btcpool/build/mkdir run_blkmakercd run_blkmaker/ln-s .. /blkmakercp/work/btcpool/src/blkmaker. cfg. /Vim blkmaker. cfgbitcoinds = ({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 ";}; # Start blkmakercd/work/btcpool/build/run_blkmaker/mkdir log_blkmaker. /blkmaker-C. /blkmaker. CFG-L. /log_blkmaker & tail-F log_blkmaker/blkmaker. info

Blockchain getting started tutorial btcpool source code analysis environment setup

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.