PacketCrypt Mining Documentation

A complete guide to announce‑mining PacketCrypt, running a pool and managing resources.

Mining

PacketCrypt is a bandwidth‑hard proof‑of‑work – mining requires a large amount of network bandwidth. Miners collaborate by sending small messages called Announcements. These messages must be broadcast over the Internet, so the more bandwidth you have, the more announcements you can produce.

All mining is performed in pools. PacketCrypt mining is split into two distinct stages:

  • Announcement Mining – CPU mining of announcements.
  • Block Mining – Collect announcements from Announcement miners and mine blocks. This is normally done in a pool’s data‑center.

How to Announce‑Mine

Choose the method that best matches your technical comfort.

1. Install a Pre‑built Binary

Download the appropriate binary from the PacketCrypt releases page:

2. Build From Source

Requires Rust. The following commands build the miner:

git clone https://github.com/PacketCrypt/packetcrypt_rs
cd packetcrypt_rs
cargo build --release

Begin Announcement Mining

⚠️ Important: You can only mine into the Command Line Wallet, Pkt.World Wallet or the Mac GUI Wallet – not the electrum wallet.

Using the CLI

packetcrypt ann -p <your_wallet_address> pool_1 [pool_2 pool_3 pool_4]

Using a Configuration File

Configuration is JSON. Example config.json:

{
  "payment_addr": "<your_wallet_address>",
  "pools": [
    "pool_1",
    "pool_2",
    "pool_3",
    "pool_4"
  ]
}

Run with:

packetcrypt ann -c "./config.json"

Setup Guides

How to install a PKT miner on Mac

  1. Install Zulu or CLI wallet.
  2. Download PacketCrypt.pkg.
  3. Open Terminal.
  4. Install Rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh (press 1 to confirm).
  5. Run sudo install make.
  6. Clone repo & build: git clone https://github.com/cjdelisle/packetcrypt_rs && cd packetcrypt_rs && ~/.cargo/bin/cargo build --release.
  7. Start mining: ./target/release/packetcrypt ann -p <PKT Wallet Address> <pool_1> <pool_2> <pool_3> <pool_4>.

Choosing Pools to Mine In

List as many pools as your bandwidth allows. Typical high‑difficulty pools:

Place the highest‑difficulty pool first for maximum acceptance.

Limiting System Resource Usage

Limit CPU Usage

By default PacketCrypt uses all available threads. Limit them with the -t flag or threads key:

packetcrypt ann -p <addr> pool_1 [pool_2] -t 4
{ "threads": 4 }

Limit Bandwidth Usage

Bandwidth is proportional to difficulty of the first pool and number of pools mined. Use a high‑difficulty primary pool or reduce the number of pools to cut bandwidth.

Block Mining & Running a Pool

Block mining requires the full upload bandwidth of all announcement miners combined. Pool operators usually host the block node in the same location as the announcement handlers.

Running your own pool needs the following components (one instance each, more for scaling):

More Information & Pool Code

The Rust version only contains announcement miners and handlers. The C / Node.js project (with full pool support) is on GitHub.

Announcement Difficulty

Pool operators set the announcement difficulty to control bandwidth and block‑mining power. Raising the difficulty halves the bandwidth per announcement and halves the pool’s effective power.

Optimal Difficulty Curve

For a constant announcement supply the best power multiplier is achieved using the last three block periods. The curve peaks at difficulty 2 and halves with each doubling thereafter.

FAQ for Announcement Miners

What does overflow mean?

+

When an announcement handler’s queue fills up it returns an “overflow” error. The miner may still be paid – you’ll see “operation timed out” if the handler is unresponsive.