Skip to main content

Automate the Bobcat miner from the command line.

Project description

PyPI Dockerhub Release Tests Lint Code style: black

bobcat miner python

Automatically find, diagnose, and repair the Bobcat miner!

Online

$ bobcat autopilot
✅ Online Status: Online ⭐
✅ Sync Status: Synced (gap:-1) 💫
✅ Relay Status: Not Relayed ✨
✅ Network Status: Good 📶
✅ Temperature Status: Good (38°C) ☀️

Offline

$ bobcat autopilot
❌ Online Status: Offline
❌ Bobcat Status: Down
⚠️ Rebooting Bobcat
✅ Reconnected to the Bobcat (fancy-awesome-bobcat)
⚠️ Resetting Bobcat
✅ Reconnected to the Bobcat (fancy-awesome-bobcat)
⚠️ Fastsyncing Bobcat
✅ Reconnected to the Bobcat (fancy-awesome-bobcat)
✅ Repair Status: Complete
✅ Relay Status: Not Relayed ✨
✅ Network Status: Good 📶
✅ Temperature Status: Good (38°C) ☀️

or run with the official Docker image

docker run --rm -it aidanmelen/bobcat autopilot

ℹ️ Run bobcat --help to learn about the available sub-commands and options.

Install

Pipx

pipx install bobcat-miner

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

Docker

docker pull aidanmelen/bobcat

Finding your Bobcat

Autopilot will automatically search and find your Bobcat. Setting the log-level to DEBUG will show more information about the search process.

$ bobcat -C DEBUG autopilot
🐛 Searching for a bobcat in these networks: 192.168.0.0/24, 10.0.0.0/24, 172.16.0.0/24, 192.168.0.1/16, 10.0.0.1/16, 172.16.0.1/16
🐛 Searching network: 192.168.0.0/24
🐛 Connected to Bobcat: 192.168.0.10
🐛 Found Bobcat: 192.168.0.10
🐛 The Bobcat Autopilot is starting 🚀 🚀 🚀
...

The search may take awhile depending on your Bobcat's IP address. However; this step can be skipped by specifying either the --ip-address or --hostname options.

$ bobcat --ip-address 192.168.0.10 -C DEBUG autopilot
🐛 Connected to Bobcat: 192.168.0.10
🐛 The Bobcat Autopilot is starting 🚀 🚀 🚀
...

ℹ️ Please see the offical bobcat instructions to manually find the IP address.

Dry Run

Use the --dry-run option to see what repair steps the bobcat autopilot would normally run

$ bobcat --dry-run autopilot
❌ Online Status: Offline
❌ Bobcat Status: Down
⚠️ Dry Run: Reboot Skipped
⚠️ Dry Run: Reset Skipped
⚠️ Dry Run: Fastsync Skipped
✅ Network Status: Good 📶
✅ Temperature Status: Good (38°C) ☀️

Verbose

Use the --verbose option to see detailed diagnostics

$ bobcat autopilot --verbose
...
❌ Bobcat Status: Down
**Points to:** Miner's Docker Container

**Why does this happen?** 
This can happen if your miner's Docker crashes. Sometimes losing power or internet connection during an OTA can cause a miner's Docker to crash. This can typically be fixed with a reboot or a reset, followed by a fast sync if your gap is >400. Fast Sync is recommended if your gap is >400 and your miner has been fully synced before.

**What You Can Try:** 
1. First Try Reboot
2. Try Reset
3. Then Fastsync
4. Make Sure Your Miner is Connected to the Internet. What color is your miner's LED?

**What to provide customer support if unable to resolve:**
1. If Possible, Screenshots of Your Diagnoser.
2. Indicate Miner's LED Color
3. Open Port 22, if Unable to Access the Diagnoser
4. Provide Miner's IP Address
5. Confirm Port 22 is Open (Include a Screenshot of this Page)

**Troublesooting Guides:**
- https://bobcatminer.zendesk.com/hc/en-us/articles/4413666097051-Status-Down-4413666097051-Status-Down-
...

Monitoring with Discord

Monitor your Bobcat remotely by sending events to a Discord channel. No need for VPN or SSH agent setup!

$ bobcat --discord-webhook-url https://discord.com/api/webhooks/xxx autopilot
✅ Online Status: Online ⭐
✅ Sync Status: Synced (gap:0) 💫
⚠️ Relay Status: Relayed
✅ Network Status: Good 📶
❌ Temperature Status: Hot (78°C) 🌋

and check the Discord channel

drawing

ℹ️ Please see Discord's Intro to Webhooks document for more information.

Bobcat SDK

Please see the Bobcat SDK Docs for more information.

Contributions

Please see the Contributions Docs for more information. This document includes sections for Development, Test, and Release.

DIY 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.16.6.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

bobcat_miner-0.16.6-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file bobcat-miner-0.16.6.tar.gz.

File metadata

  • Download URL: bobcat-miner-0.16.6.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.0 Linux/5.11.0-1028-azure

File hashes

Hashes for bobcat-miner-0.16.6.tar.gz
Algorithm Hash digest
SHA256 5b1a83b2506cb6016a819b022f5c843ae387e166200287c11f82867b7ee5c715
MD5 7bf7d0027a476d0edfea931143e5dca5
BLAKE2b-256 94df05d6d874e1220305701c799dbad7f80ce7689a39f346cd02682c397024c4

See more details on using hashes here.

File details

Details for the file bobcat_miner-0.16.6-py3-none-any.whl.

File metadata

  • Download URL: bobcat_miner-0.16.6-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.0 Linux/5.11.0-1028-azure

File hashes

Hashes for bobcat_miner-0.16.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3c75247a89f441ec4e93607fd222dde902da816f7c870056443dc93f4439017a
MD5 5cdb11f4368b1fb801aca6a38f0da2f3
BLAKE2b-256 e7a6c05480555cd7001641774d71453543c39b3ca1487ecf812404de1b51dfa5

See more details on using hashes here.

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