如何搭建山寨币矿池?
今天边搭建边写出来的,明天再仔细审校修改。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
sudo apt-get install vim
安装网站服务器
linux+apache+mysql+php 安装方法 https://library.linode.com/lamp-guides
linux+nginx+mysql+php 安装方法 https://library.linode.com/lemp-guides
apt-get install apache2
修改/etc/apache2/apache2.conf
添加虚拟主机/etc/apache2/sites-available/example.com
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /srv/www/example.com/public_html/
ErrorLog /srv/www/example.com/logs/error.log
CustomLog /srv/www/example.com/logs/access.log combined
因为矿池只有一个网站,这里都是用默认设置,不再配置。有需求去看网站相关配置
安装mysql
apt-get install mysql-server
备份修改mysql配置文件
cp /etc/mysql/my.cnf ~/my.cnf.backup
有需要就安装 mysql_secure_installation
apt-get install php5-mysql
service apache2 reload
检查网站有没有运行 localhost
安装矿池
https://github.com/TheSerapher/php-mpos/wiki/Quick-Start-Guide
安装币种的服务端(以莱特币为例)
apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev
git clone git://github.com/litecoin-project/litecoin.git
编译
cd ~/litecoin/src
make -f makefile.unix USE_UPNP=-
有些币种缺少obj文件夹报错,mkdir obj就可以了
cp litecoind /usr/bin 添加到全局路径
执行litecoind 会提示缺少配置文件 同时自动建立目录~/.litecoin/
复制下来输出
rpcuser=redcoinrpc
rpcpassword=BhLthSYC6NJ9hUVuxXNYUwoZVGEZruiLueEb6Qu3bSPj
写入下面的文件
创建~/.litecoin/litecoin.conf 内容 从这里 …
修改rpcuser rpcpassword rpcport
安装Stratum Mining 挖矿服务端
apt-get install python-twisted python-mysqldb python-dev python-setuptools python-memcache python-simplejson
easy_install -U distribute
easy_install stratum
ubuntu执行 easy_install stratum时总是报错 (尼玛 python的这玩意儿是一次性的吗?第一次用easy_install行,第二次就崩)
raise ImportError(“Entry point %r not found” % ((group,name),))
ImportError: Entry point (‘console_scripts’, ‘easy_install’) not found
解决办法
sudo rm /usr/bin/easy_install*
sudo rm /usr/local/bin/easy_install*
curl -O http://python-distribute.org/distribute_setup.py 没有curl先装curl apt-get install curl
sudo python distribute_setup.py
sudo rm distribute_setup.py
完成之后重新执行
easy_install stratum
安装挖矿服务端
git clone https://github.com/Tydus/litecoin_scrypt.git
git clone https://github.com/ahmedbodi/stratum-mining.git
配置
cd stratum-mining
git submodule init
git submodule update
cd externals/litecoin_scrypt
python setup.py install
cd externals/stratum
python setup.py install
cd stratum-mining
cp conf/config_sample.py conf/config.py
vim conf/config.py
配置
CENTRAL_WALLET = 'RjSTxLHk7JCEeT9G5Q6EvZ1ZDbvt1Qt1AT' #钱包用litecoind getnewaddress生成
COINDAEMON_TRUSTED_HOST = 'localhost'
COINDAEMON_TRUSTED_PORT = 19333 #用户名密码端口号是前面配置的rpcxxx
COINDAEMON_TRUSTED_USER = 'redcoinrpc'
COINDAEMON_TRUSTED_PASSWORD = 'BhLthSYC6NJ9hUVuxXNYUwoZVGEZruiLueEb6Qu3bSPj'
LISTEN_SOCKET_TRANSPORT = 3333 #挖矿使用的端口
DATABASE_DRIVER = 'mysql'
DB_MYSQL_HOST = 'localhost' #数据库相关
DB_MYSQL_DBNAME = 'mpos'
DB_MYSQL_USER = 'root'
DB_MYSQL_PASS = '123456'
安装mpos
安装依赖
apt-get install memcached php5-memcached php5-mysqlnd php5-curl
apachectl stop; sleep 2; apachectl start #重启apache服务 一般都是用 service apache2 reload 不知道用这个有什么特殊的
下载网站代码
cd /var/www
git clone git://github.com/TheSerapher/php-mpos.git mpos #原教程是MPOS 最讨厌看到用大写目录的
cd mpos
git checkout next
#建立数据库 跟上面挖矿服务端的配置对应的数据库
cd /var/www/mpos
mysql -uroot -p -e “create database mpos”
mysql -uroot -p mpos < sql/000_base_structure.sql
#更改smarty目录权限
chown www-data public/templates/compile public/templates/cache
#修改网站配置
cp public/include/config/global.inc.dist.php public/include/config/global.inc.php
$config['db']['host'] = 'localhost';
$config['db']['user'] = 'root';
$config['db']['pass'] = '123456';
$config['db']['port'] = 3306;
$config['db']['name'] = 'mpos';
$config['wallet']['type'] = 'http';
$config['wallet']['host'] = 'localhost:19333';
$config['wallet']['username'] = 'testnet';
$config['wallet']['password'] = 'testnet';
$config['reward_type'] = 'block';//'fixed'; fixed是固定大小 改成block就是自动读取服务端的大小
$config['reward'] = 50;
$config['confirmations'] = 120; //多少个确认可以支出
$config['network_confirmations'] = 120;//多少个网络确认可以支出,一般跟上面的一样
执行计划任务
cd /var/www/mpos/cronjobs/
去这篇博客下载mytask (linux的cron看起来很麻烦的样子,不如使用别人写的脚本,下载完之后照着例子写一个就行)
http://www.cnblogs.com/lykyl/archive/2013/05/06/3063905.html
解压
unzip mytask.zip
照着例子写一个tasks/xxx
#!/bin/bash
RunArg='mposcron#now#2m'
function mposcron()
{
/var/www/mpos/cronjobs/run-crons.sh -v -f;
return 0;
}
删除掉例子任务 sudo rm tasks/*
nohup sudo ./mytask.sh &
cd ~/stratum-mining
sudo twistd -ny launcher.tac
有时候运行会报这个错误
from autobahn.websocket import WebSocketServerProtocol, WebSocketServerFactory
exceptions.ImportError: cannot import name WebSocketServerProtocol
最后发现是因为不兼容autobahn 0.7.x 必须换成0.6.5才行 (python的东西都是这么脑残吗?)
去这里下载
https://www.versioneye.com/python/autobahn/0.6.5
直达链接
https://pypi.python.org/packages/2.7/a/autobahn/autobahn-0.6.5-py2.7.egg
下载完之后 安装
sudo easy_install autobahn-0.6.5-py2.7.egg
如果不是服务器,需要去路由做端口映射,包括网站和挖矿端口
都运行起来之后,找一个挖矿的客户端测试一下
专访 Mable Jiang:复盘 Multicoin 投资方法论与 DeFi 洞察
原文标题:《对话 Mable:复盘 Multicoin Capital 的投资方法论与 DeFi 观察 | 链捕手》受访者:Mable Jiang,Multicoin Capital 执行董事撰文:王...
信标链、PoS、分片……接触以太坊 2.0 得先理解这些术语
原文标题:《以太坊 2.0 术语库》整理:ETH 中文网Attestation 证明证明是指验证者所发起的投票,由验证者的签名聚合而成,用以证明区块的有效性,投票通过验证者的余额进行加权。Attest...
手把手教你搭建 IPFS 私有网络
在联盟链的场景下,IPFS 作为去中心化存储的首选方案,本文将介绍如何使用 go-ipfs 搭建一个私有网络并进行简单使用。...