Você gostaria de aprender como criar um pool de mineração Bytecoin? Neste tutorial, vamos mostrar como instalar um pool de mineração Bytecoin usando um computador executando o Ubuntu Linux.
Lista de Hardware:
A seção a seguir apresenta a lista de equipamentos usados para criar este tutorial do Bytecoin.
Cada peça de hardware listada acima pode ser encontrada no site da Amazon.
Lista de Software:
Aqui está uma lista de software que usamos para criar este tutorial de instalação do nó Bytecoin.
Oferecemos duas maneiras de baixar este software.
Bytecoin Playlist:
Nesta página, oferecemos acesso rápido a uma lista de vídeos relacionados ao Bytecoin.
Não se esqueça de se inscrever em nosso canal do youtube chamado VirtualCoin.
Tutoriais Relacionados ao Bytecoin:
Nesta página, oferecemos acesso rápido a uma lista de tutoriais relacionados ao Bytecoin.
Tutorial – Instalação do nó Bytecoin
Se o seu Linux não tiver memória Swap configurada, use os seguintes comandos para criar um arquivo swap:
# dd if=/dev/zero of=/mnt/linux.swap bs=1M count=32092
# chmod 0600 /mnt/linux.swap
# mkswap /mnt/linux.swap
# swapon /mnt/linux.swap
No nosso exemplo, criamos um arquivo de swap de 32GB.
Para ativar o swap, edite o arquivo fstab e inclua a linha a seguir.
# vi /etc/fstab
/mnt/linux.swap none swap sw 0 0
Reinicialize o computador para ativar o swap.
# reboot
Use os seguintes comandos para instalar os pacotes necessários.
# apt-get install build-essential libboost-all-dev git cmake
Baixe o pacote de instalação do Bytecoin.
# mkdir /bytecoin/node -p
# cd /bytecoin/node
# git clone https://github.com/amjuarez/bytecoin
Compile e instale o software do nó Bytecoin.
# cd bytecoin/
# make
# make test-release
# cd build/release/src
# install -sv bytecoind connectivity_tool miner simplewallet walletd /usr/local/bin/
Crie um arquivo de configuração Bytecoin.
# mkdir ~/.bytecoin
# vi ~/.bytecoin/bytecoin.conf
log-level=2
no-console=yes
rpc-bind-ip=0.0.0.0
rpc-bind-port=8081
p2p-bind-ip=0.0.0.0
p2p-bind-port=8080
allow-local-ip=yes
Inicie o nó Bytecoin usando o seguinte comando:
# bytecoind
Aguarde a sincronização do blockchain para terminar.
A sincronização blockchain pode levar dias ou semanas.
Use o seguinte comando para verificar o status da sincronização blockchain:
# tail -f bytecoind.log
Se o arquivo bytecoind.log não for encontrado no mesmo diretório, use os seguintes comandos para localizar o arquivo bytecoind.log.
# updatedb
# locate bytecoind.log
Tutorial – Serviço Bytecoin Wallet
Depois de terminar a instalação do nó Bytecoin, você precisa criar uma nova carteira Bytecoin.
Aguarde até que a sincronização da carteira do blockchain termine e insira o comando de saída.
# mkdir /bytecoin/wallet -p
# cd /bytecoin/wallet
# simplewallet –generate-new-wallet virtualcoin –password kamisama123@
New wallet is generated. Address: 2851jgWSSjTA1SwzbGeXdWE6BND8yh1WQ5KF9rmaboCwSDaK38broEU4r7kfhZ1NoiWdvaVbSYuGhVHnYphfyKgbMqTafTQ
# [wallet 22gnmi]: exit
Em nosso exemplo, uma carteira chamada virtualcoin foi criada e configurada para usar a senha kamisama123 @.
Tome nota do seu endereço Bytecoin.
Agora, você precisa iniciar o serviço de carteira.
# simplewallet –wallet /bytecoin/wallet/virtualcoin.wallet –pass kamisama123@ –daemon-host 127.0.0.1 –daemon-port 8081 –rpc-bind-port 8082
Tutorial – Pool de Mineração Bytecoin
Após concluir a instalação do nó Bytecoin e a configuração do serviço de carteira, podemos iniciar a instalação do pool de mineração Bytecoin.
Use o seguinte comando para instalar o software requerido:
# apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev
# apt-get install libboost-all-dev git npm nodejs nodejs-legacy libminiupnpc-dev redis-server
# apt-get install libdb-dev libdb++-dev libdb5.3
# curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
# nvm install node
# source ~/.profile
Reinicialize o computador e reinicie o nó Bytecoin e o serviço de carteira.
# reboot
# bytecoind
# simplewallet –wallet /bytecoin/wallet/virtualcoin.wallet –pass kamisama123@ –daemon-host 127.0.0.1 –daemon-port 8081 –rpc-bind-port 8082
Após a reinicialização do computador, você precisa concluir a instalação do software.
# nvm install 0.10.25
# nvm alias default 0.10.25
# nvm use default
# mkdir /bytecoin/pool -p
# cd /bytecoin/pool
# git clone https://github.com/forknote/cryptonote-universal-pool.git
# cd cryptonote-universal-pool
# npm update
# vi config.json
Agora vamos criar o arquivo de configuração básico.
# vi config.json
Aqui está o arquivo original, antes da nossa configuração:
{
“coin”: “dashcoin”,
“symbol”: “DSH”,
“coinUnits”: 1000000000000,
“coinDifficultyTarget”: 120,
“logging”: {
“files”: {
“level”: “info”,
“directory”: “logs”,
“flushInterval”: 5
},
“console”: {
“level”: “info”,
“colors”: true
}
},
“poolServer”: {
“enabled”: true,
“clusterForks”: “auto”,
“poolAddress”: “D6WLtrV1SBWV8HWQzQv8uuYuGy3uwZ8ah5iT5HovSqhTKMauquoTsKP8RBJzVqVesX87poYWQgkGWB4NWHJ6Ravv93v4BaE”,
“blockRefreshInterval”: 1000,
“minerTimeout”: 900,
“ports”: [
{
“port”: 3333,
“difficulty”: 100,
“desc”: “Low end hardware”
},
{
“port”: 5555,
“difficulty”: 2000,
“desc”: “Mid range hardware”
},
{
“port”: 7777,
“difficulty”: 10000,
“desc”: “High end hardware”
},
{
“port”: 8888,
“difficulty”: 10000,
“desc”: “Hidden port”,
“hidden”: true
}
],
“varDiff”: {
“minDiff”: 100,
“maxDiff”: 200000,
“targetTime”: 100,
“retargetTime”: 30,
“variancePercent”: 30,
“maxJump”: 100
},
“fixedDiff”: {
“enabled”: true,
“addressSeparator”: “.”
},
“shareTrust”: {
“enabled”: true,
“min”: 10,
“stepDown”: 3,
“threshold”: 10,
“penalty”: 30
},
“banning”: {
“enabled”: true,
“time”: 600,
“invalidPercent”: 25,
“checkThreshold”: 30
},
“slushMining”: {
“enabled”: false,
“weight”: 120,
“lastBlockCheckRate”: 1
}
},
“payments”: {
“enabled”: true,
“interval”: 600,
“maxAddresses”: 50,
“mixin”: 3,
“transferFee”: 50000000,
“minPayment”: 1000000000,
“maxTransactionAmount”: 0,
“denomination”: 1000000000
},
“blockUnlocker”: {
“enabled”: true,
“interval”: 30,
“depth”: 10,
“poolFee”: 2,
“devDonation”: 0.1,
“coreDevDonation”: 0.1,
“extraFeaturesDevDonation”:0.1
},
“api”: {
“enabled”: true,
“hashrateWindow”: 600,
“updateInterval”: 5,
“port”: 8117,
“blocks”: 30,
“payments”: 30,
“password”: “your_password”
},
“daemon”: {
“host”: “127.0.0.1”,
“port”: 42081
},
“wallet”: {
“host”: “127.0.0.1”,
“port”: 8082
},
“redis”: {
“host”: “127.0.0.1”,
“port”: 6379
},
“monitoring”: {
“daemon”: {
“checkInterval”: 60,
“rpcMethod”: “getblockcount”
},
“wallet”: {
“checkInterval”: 60,
“rpcMethod”: “getbalance”
}
},
“charts”: {
“pool”: {
“hashrate”: {
“enabled”: true,
“updateInterval”: 60,
“stepInterval”: 1800,
“maximumPeriod”: 86400
},
“workers”: {
“enabled”: true,
“updateInterval”: 60,
“stepInterval”: 1800,
“maximumPeriod”: 86400
},
“difficulty”: {
“enabled”: true,
“updateInterval”: 1800,
“stepInterval”: 10800,
“maximumPeriod”: 604800
},
“price”: {
“enabled”: true,
“updateInterval”: 1800,
“stepInterval”: 10800,
“maximumPeriod”: 604800
},
“profit”: {
“enabled”: true,
“updateInterval”: 1800,
“stepInterval”: 10800,
“maximumPeriod”: 604800
}
},
“user”: {
“hashrate”: {
“enabled”: true,
“updateInterval”: 180,
“stepInterval”: 1800,
“maximumPeriod”: 86400
},
“payments”: {
“enabled”: true
}
}
}
}
Aqui está o novo arquivo com nossa configuração.
As diretivas alteradas foram destacadas em negrito.
{
“coin”: “bytecoin”,
“symbol”: “BCN”,
“coinUnits”: 1000000000000,
“coinDifficultyTarget”: 120,
“logging”: {
“files”: {
“level”: “info”,
“directory”: “logs”,
“flushInterval”: 5
},
“console”: {
“level”: “info”,
“colors”: true
}
},
“poolServer”: {
“enabled”: true,
“clusterForks”: “auto”,
“poolAddress”: “22gAnEFyeKu7CEbc7XVz8meeeTKkMwjXMgCyJQ6i3UpfLp9EaA8ywu1ZGsidvUoyuzK7ZATghbZAaSpT9ZutSahzFZWCpkM”,
“blockRefreshInterval”: 1000,
“minerTimeout”: 900,
“ports”: [
{
“port”: 3333,
“difficulty”: 100,
“desc”: “Low end hardware”
},
{
“port”: 5555,
“difficulty”: 2000,
“desc”: “Mid range hardware”
},
{
“port”: 7777,
“difficulty”: 10000,
“desc”: “High end hardware”
},
{
“port”: 8888,
“difficulty”: 10000,
“desc”: “Hidden port”,
“hidden”: true
}
],
“varDiff”: {
“minDiff”: 100,
“maxDiff”: 200000,
“targetTime”: 100,
“retargetTime”: 30,
“variancePercent”: 30,
“maxJump”: 100
},
“fixedDiff”: {
“enabled”: true,
“addressSeparator”: “.”
},
“shareTrust”: {
“enabled”: true,
“min”: 10,
“stepDown”: 3,
“threshold”: 10,
“penalty”: 30
},
“banning”: {
“enabled”: true,
“time”: 600,
“invalidPercent”: 25,
“checkThreshold”: 30
},
“slushMining”: {
“enabled”: false,
“weight”: 120,
“lastBlockCheckRate”: 1
}
},
“payments”: {
“enabled”: true,
“interval”: 600,
“maxAddresses”: 50,
“mixin”: 3,
“transferFee”: 50000000,
“minPayment”: 1000000000,
“maxTransactionAmount”: 0,
“denomination”: 1000000000
},
“blockUnlocker”: {
“enabled”: true,
“interval”: 30,
“depth”: 10,
“poolFee”: 2,
“devDonation”: 0.1,
“coreDevDonation”: 0.1,
“extraFeaturesDevDonation”:0.1
},
“api”: {
“enabled”: true,
“hashrateWindow”: 600,
“updateInterval”: 5,
“port”: 8117,
“blocks”: 30,
“payments”: 30,
“password”: “your_password”
},
“daemon”: {
“host”: “127.0.0.1”,
“port”: 8081
},
“wallet”: {
“host”: “127.0.0.1”,
“port”: 8082
},
“redis”: {
“host”: “127.0.0.1”,
“port”: 6379
},
“monitoring”: {
“daemon”: {
“checkInterval”: 60,
“rpcMethod”: “getblockcount”
},
“wallet”: {
“checkInterval”: 60,
“rpcMethod”: “getbalance”
}
},
“charts”: {
“pool”: {
“hashrate”: {
“enabled”: true,
“updateInterval”: 60,
“stepInterval”: 1800,
“maximumPeriod”: 86400
},
“workers”: {
“enabled”: true,
“updateInterval”: 60,
“stepInterval”: 1800,
“maximumPeriod”: 86400
},
“difficulty”: {
“enabled”: true,
“updateInterval”: 1800,
“stepInterval”: 10800,
“maximumPeriod”: 604800
},
“price”: {
“enabled”: true,
“updateInterval”: 1800,
“stepInterval”: 10800,
“maximumPeriod”: 604800
},
“profit”: {
“enabled”: true,
“updateInterval”: 1800,
“stepInterval”: 10800,
“maximumPeriod”: 604800
}
},
“user”: {
“hashrate”: {
“enabled”: true,
“updateInterval”: 180,
“stepInterval”: 1800,
“maximumPeriod”: 86400
},
“payments”: {
“enabled”: true
}
}
}
}
Minha configuração é apenas básica.
É altamente recomendável que você estude este arquivo de configuração para melhorar sua configuração.
Use o seguinte comando para iniciar a pool de mineração Bytecoin.
# cd /bytecoin/pool/cryptonote-universal-pool
# node init.js
Tenha em mente que o serviço do pool funcionará somente se o serviço do nó Bytecoin estiver em execução e o blockchain estiver sincronizado.
Se tudo funcionou corretamente, você deverá ver as seguintes mensagens na tela:
[master] Pool spawned on 8 thread(s)
[charts] Started
[api] API started & listening on port 8117
[api] Stat collection finished: 20 ms redis, 21 ms daemon
[api] Broadcasting to 0 visitors and 0 address lookups
[payments] Started
[payments] No workers’ balances reached the minimum payment threshold
[unlocker] Started
[unlocker] No blocks candidates in redis
[charts] Started
[chartsDataCollector] Started
[pool] (Thread 2) New block to mine at height 1452666 w/ difficulty of 1227080766
O sistema deve agora abrir as portas TCP 3333, 5555 e 7777 para os mineiros da Bytecoin.
Use o seguinte comando para verificar se as portas TCP estão abertas.
# netstat -nl | grep 3333
tcp 0 0 0.0.0.0:3333 0.0.0.0:* LISTEN
# netstat -nl | grep 5555
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN
# netstat -nl | grep 7777
tcp 0 0 0.0.0.0:7777 0.0.0.0:* LISTEN
Hora de testar nosso pool de mineração.
Vá para outro Ubuntu Linux e instale o software CPUMiner-Multi.
Se você não souber como instalar o minerador de CPU Bytecoin, siga este link.
Use o seguinte comando para iniciar a mineração do Bytecoin no computador mineiro.
# minerd -a cryptonight -o stratum+tcp://34.217.47.134:3333 -u 21eD9nZxjv9QxzoDX4NrVMipPCT3tK5ufgAApefcYYnkAbXoTDSjFxiAxDgwhNbv7ELWfo2GSxm96MyGYq1njk9qPps1DgR -p x
Tenha em mente que você precisa alterar o endereço IP do pool de mineração e o endereço de carteira Bytecoin do computador mineiro.
Using JSON-RPC 2.0
Starting Stratum on stratum+tcp://34.217.66.94:3333
1 miner threads started, using ‘cryptonight’ algorithm.
Pool set diff to 100
Stratum detected new block
accepted: 1/1 (100.00%), 46.09 H/s at diff 100 (yay!!!)
accepted: 2/2 (100.00%), 45.24 H/s at diff 100 (yay!!!)
Tenha em mente que você precisa alterar o endereço IP do pool de mineração e o endereço de carteira Bytecoin do computador mineiro.
Se tudo funcionou corretamente, você deverá ver as mensagens de confirmação na tela.