![]() |
Python - Usando o Pyminer | |
Canal Qb |
Introdução ao uso do Pyminer e outras bibliotecas Python para cgminer
O cgminer não é uma biblioteca nativa do Python, mas existem algumas bibliotecas Python que permitem se comunicar com o cgminer por meio de sua API. Isso possibilita o controle e a automação de processos de mineração via scripts Python.
Bibliotecas populares para comunicação com cgminer
1. Pyminer
O pyminer
é uma biblioteca Python que oferece uma interface simples para controlar o cgminer via API. Para instalá-la, execute:
pip install pyminer
Exemplo básico de uso:
import pyminer
miner = pyminer.Miner('127.0.0.1', 4028) # IP e porta do cgminer
print(miner.summary()) # Exibe resumo do minerador
2. Cgminer-api
Outra biblioteca Python para acessar a API do cgminer:
pip install cgminer-api
Exemplo de uso:
from cgminer_api import CgminerAPI
miner = CgminerAPI('127.0.0.1', 4028) # IP e porta do cgminer
print(miner.summary()) # Exibe resumo do minerador
É importante que o cgminer esteja rodando com a API habilitada para o funcionamento dessas bibliotecas.
Exemplo de script básico para mineração com Python
Para executar um minerador com os parâmetros -a scrypt -o stratum+tcp://pool.knolix.com:3433 -u 63dc459 -p x
, você pode utilizar os módulos requests
(para fazer requisições HTTP) e time
(para atrasos entre requisições).
Instale o módulo necessário:
pip install requests
Exemplo de script:
import requests
import time
url = 'stratum+tcp://pool.knolix.com:3433' # Endereço do pool de mineração
usuario = '63dc459' # Usuário de mineração
senha = 'x' # Senha de mineração
algoritmo = 'scrypt' # Algoritmo de mineração
while True:
# Faz requisição GET ao pool de mineração com parâmetros
resposta = requests.get(f'{url}/mine?algo={algoritmo}&user={usuario}&pass={senha}')
print(resposta.text) # Exibe resposta do pool
time.sleep(10) # Aguarda 10 segundos antes da próxima requisição
Nota: O esquema stratum+tcp
não é suportado pelo pacote requests
, e isso pode causar erros.
Correção para erro de esquema inválido
O erro InvalidSchema: No connection adapters were found for 'stratum+tcp://...' acontece porque o requests
não suporta o esquema stratum+tcp
.
Uma alternativa é utilizar bibliotecas Python específicas para o protocolo Stratum, como pystratum
(embora possa não estar disponível via pip), ou stratum
.
Uso do pystratum (instalação manual)
Como o pystratum
pode não estar disponível no índice padrão do pip, você pode instalá-lo manualmente:
- Baixe o pacote no GitHub: https://github.com/costasd/PyStratum-Mining
- Extraia e instale com
python setup.py install
Exemplo de código para conectar-se ao pool:
from pystratum import StratumClient
url = "stratum+tcp://pool.knolix.com:3433"
user = "63dc459"
password = "x"
algo = "scrypt"
client = StratumClient(url, user, password, algo)
client.connect()
# Envie comandos para o pool aqui
client.disconnect()
Alternativas: stratum e miningcore-client
Se não conseguir o pystratum, você pode tentar:
stratum
pip install stratum
import stratum
url = "stratum+tcp://pool.knolix.com:3433"
user = "63dc459"
password = "x"
algo = "scrypt"
client = stratum.Client(url, username=user, password=password, service=algo)
client.authorize()
# Envie comandos para o pool aqui
client.close()
miningcore-client
pip install miningcore-client
from miningcore.miningcore import Miningcore
url = "stratum+tcp://pool.knolix.com:3433"
user = "63dc459"
password = "x"
algo = "scrypt"
client = Miningcore(url, user, password, algo)
client.connect()
# Envie comandos para o pool aqui
client.disconnect()
Nota: Alguns pacotes podem não estar disponíveis no PyPI, o que exige instalação manual ou busca por alternativas.
Possíveis erros e soluções
- Erro de instalação: "Could not find a version that satisfies the requirement..." indica que o pacote não está disponível no índice do pip.
- Solução: Procure instalar manualmente via GitHub ou utilize outras bibliotecas compatíveis.
Bibliotecas Python úteis para mineração Scrypt
Alguns módulos que podem ser úteis para mineração com o algoritmo scrypt
:
- pycryptodomex
- scrypt
- pysha3
- python-bitcoinlib
Instalação exemplo:
pip install pycryptodomex scrypt pysha3 python-bitcoinlib
Resumo
É possível usar Python para controlar mineradores cgminer via API, com bibliotecas como pyminer
e cgminer-api
. Para interagir com pools Stratum, a melhor prática é usar bibliotecas específicas para Stratum, pois requests
não suporta o protocolo stratum+tcp
. Em caso de erros, buscar pacotes alternativos ou realizar instalação manual pode ser necessário.
Links úteis
- PyStratum Mining no GitHub
- Pyminer no PyPI
- Cgminer-api no PyPI
- Pool Knolix
- Stratum no PyPI
- Miningcore-client no PyPI
#mineração; #python; #criptomoedas