Skip to main content

A command line tool used to automate the Bobcat miner. This project also offers a robust python SDK's for interacting with the Bobcat miner.

Project description

PyPI Dockerhub Release Tests Lint Code style: black

bobcat miner python

A command line tool used to automate the Bobcat miner. This project also offers a robust python SDK's for interacting with the Bobcat miner.

Install

# install command line tools
$ pipx install bobcat-miner

# install SDK
$ pip3 install bobcat-miner

Please see this guide for more information about installing stand alone command line tools with pipx.

Bobcat Autopilot Usage

The bobcat autopilot command will automatically diagnose and repair the Bobcat!

Follow these instructions to find your Bobcats's ip address.

Bobcat Autopilot Term

The bobcat command line tool accepts both command line options and environment variables. Please see the bobcat --help for more information.

Bobcat Dry Run

Diagnostics checks will run and all actions will be skipped during a Bobcat dry run.

$ bobcat -i 192.168.0.10 -l DEBUG --dry-run autopilot
🚧 Bobcat Autopilot Dry Run Enabled. Actions such as reboot, reset, resync, and fastsync will be skipped. Wait times will only last 1 second.

Discord Monitoring

Send bobcat logs to a Discord channel using a webhook url

$ export BOBCAT_LOG_LEVEL=DEBUG
$ export BOBCAT_IP_ADDRESS=192.168.0.10
$ export BOBCAT_DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/xxx/xxx
$ bobcat autopilot
🚀 The Bobcat Autopilot is starting

and watch your logs stream your Discord channel!

Bobcat Autopilot Discord

Log File

Send logs to a file

$ bobcat --ip-address 192.168.0.10 --log-file bobcat-autopilot.log autopilot
🚀 The Bobcat Autopilot is starting

Bobcat Docker Container

Run the bobcat command line tool as a docker container.

$ docker run --rm -it aidanmelen/bobcat -i 192.168.0.10 status
{
    "status": "Synced",
    "gap": "-2",
    "miner_height": "1185959",
    "blockchain_height": "1185957",
    "epoch": "31260"
}

Bobcat Autopilot SDK Usage

import bobcat_miner

bobcat = bobcat_miner.Bobcat("192.168.1.100")
autopilot = bobcat_miner.Autopilot(bobcat)

# Automatically diagnose and repair the Bobcat
autopilot.run()

# diagnostics
autopilot.is_relayed()
autopilot.is_temp_dangerous()
autopilot.is_network_speed_slow()
autopilot.is_syncing()
autopilot.has_errors()

# actions
autopilot.ping()        # Ping the Bobcat until it connects or attempts are maxed out
autopilot.reboot()      # Reboot the Bobcat and wait for connection
autopilot.reset()       # Reset the Bobcat and wait for connection or exceeds max attempts
autopilot.resync()      # Fastsync the Bobcat and wait for connection
autopilot.fastsync()    # Fastsync the Bobcat until the gap is less than 400 or exceeds max attempts
autopilot.is_syncing()  # Poll the Bobcat's gap to see if it is syncing over time

Bobcat SDK Usage

import bobcat_miner

bobcat = bobcat_miner.Bobcat("192.168.1.100")

# refresh
bobcat.refresh_status()
bobcat.refresh_miner()
bobcat.refresh_speed()
bobcat.refresh_temp()
bobcat.refresh_dig()
bobcat.refresh()

# properties
bobcat.status
bobcat.gap
bobcat.miner_height
bobcat.blockchain_height
bobcat.epoch
bobcat.tip
bobcat.ota_version
bobcat.region
bobcat.frequency_plan
bobcat.animal
bobcat.name
bobcat.pubkey
bobcat.state
bobcat.miner_status
bobcat.names
bobcat.image
bobcat.created
bobcat.p2p_status
bobcat.ports_desc
bobcat.ports
bobcat.private_ip
bobcat.public_ip
bobcat.peerbook
bobcat.peerbook_miner
bobcat.peerbook_listen_address
bobcat.peerbook_peers
bobcat.timestamp
bobcat.error
bobcat.temp0
bobcat.temp1
bobcat.temp0_c
bobcat.temp1_c
bobcat.temp0_f
bobcat.temp1_f
bobcat.download_speed
bobcat.upload_speed
bobcat.latency
bobcat.dig_name
bobcat.dig_message
bobcat.dig_dns
bobcat.dig_records

# actions
bobcat.ping()
bobcat.reboot()
bobcat.reset()
bobcat.resync()
bobcat.fastsync()

# diagnostics
bobcat.is_bobcat()

Troubleshooting

Please see No Witness's Troubleshooting Guide for more information.

Donations

Donations are welcome and appreciated! :gift:

HNT: 14HmckNU4WHDDtGH29FMqVENzZAYh5a9XRiLfY2AN6ghfHMvAuR

HNT: 14HmckNU4WHDDtGH29FMqVENzZAYh5a9XRiLfY2AN6ghfHMvAuR

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bobcat-miner-0.11.1.tar.gz (18.9 kB view hashes)

Uploaded Source

Built Distribution

bobcat_miner-0.11.1-py3-none-any.whl (21.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page