diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cd3741f --- /dev/null +++ b/Makefile @@ -0,0 +1,80 @@ +# Event Miner Makefile +# Static build with nostr_core_lib dependency + +CC = gcc +CFLAGS = -Wall -Wextra -std=c99 -O2 -static +INCLUDES = -Inostr_core_lib/nostr_core +LIBS = -lm -lpthread +NOSTR_LIB = nostr_core_lib/libnostr_core.a + +# Default target +all: event_miner + +# Main target - build event_miner +event_miner: event_miner.c $(NOSTR_LIB) + @echo "Building event_miner..." + $(CC) $(CFLAGS) $(INCLUDES) event_miner.c $(NOSTR_LIB) $(LIBS) -o event_miner + @echo "✓ event_miner built successfully" + +# Build nostr_core_lib dependency +$(NOSTR_LIB): + @echo "Building nostr_core_lib dependency..." + cd nostr_core_lib && make + @echo "✓ nostr_core_lib built successfully" + +# Clean target +clean: + @echo "Cleaning build artifacts..." + rm -f event_miner + cd nostr_core_lib && make clean + +# Clean only event_miner (keep nostr_core_lib) +clean-miner: + @echo "Cleaning event_miner..." + rm -f event_miner + +# Test target (basic compilation test) +test: event_miner + @echo "Testing event_miner compilation..." + ./event_miner --help + @echo "✓ Basic test passed" + +# Install target (optional - install to /usr/local/bin) +install: event_miner + @echo "Installing event_miner to /usr/local/bin..." + sudo cp event_miner /usr/local/bin/ + @echo "✓ event_miner installed" + +# Uninstall target +uninstall: + @echo "Removing event_miner from /usr/local/bin..." + sudo rm -f /usr/local/bin/event_miner + @echo "✓ event_miner uninstalled" + +# Force rebuild +rebuild: clean all + +# Help +help: + @echo "Event Miner Build System" + @echo "========================" + @echo "" + @echo "Available targets:" + @echo " all - Build event_miner (default)" + @echo " event_miner - Build event_miner binary" + @echo " clean - Clean all build artifacts" + @echo " clean-miner - Clean only event_miner binary" + @echo " test - Build and run basic test" + @echo " install - Install to /usr/local/bin (requires sudo)" + @echo " uninstall - Remove from /usr/local/bin (requires sudo)" + @echo " rebuild - Clean and rebuild everything" + @echo " help - Show this help" + @echo "" + @echo "Usage examples:" + @echo " make # Build event_miner" + @echo " make clean && make # Clean rebuild" + @echo " make test # Build and test" + @echo "" + @echo "The binary will be statically linked with no external dependencies." + +.PHONY: all clean clean-miner test install uninstall rebuild help diff --git a/README.md b/README.md new file mode 100644 index 0000000..9b6e979 --- /dev/null +++ b/README.md @@ -0,0 +1,158 @@ +# Event Miner + +A multithreaded command-line tool for adding NIP-13 Proof-of-Work to Nostr events using the nostr_core_lib. + +## Features + +- **Multithreaded mining** - Use multiple CPU cores for faster mining +- **Static linking** - No external dependencies, self-contained binary +- **Flexible input** - Read events from stdin or files +- **Timeout support** - Optional mining timeout +- **Standards compliant** - Uses NIP-13 proof-of-work specification + +## Building + +### Prerequisites + +- GCC compiler +- Make +- Git (for submodules) + +### Build Steps + +```bash +# Clone the repository (if not already done) +git clone +cd event_miner + +# Initialize and update the nostr_core_lib submodule (if needed) +git submodule update --init --recursive + +# Build the project +make + +# The static binary will be created as ./event_miner +``` + +### Build Options + +```bash +make # Build event_miner +make clean # Clean all build artifacts +make clean-miner # Clean only event_miner binary +make test # Build and run basic test +make help # Show build help +``` + +## Usage + +### Basic Syntax + +```bash +./event_miner -pow -nsec -threads [options] +``` + +### Required Arguments + +- `-pow ` - Number of leading zero bits for proof-of-work (e.g., 4 for difficulty 4) +- `-nsec ` - Private key in hex or nsec bech32 format +- `-threads ` - Number of mining threads to use + +### Optional Arguments + +- `-e ` - Read event from file (default: stdin) +- `--timeout_min ` - Mining timeout in minutes (default: no timeout) +- `-h, --help` - Show help message + +### Examples + +#### Using stdin +```bash +echo '{"kind":1,"content":"Hello Nostr!","tags":[],"created_at":1723666800,"pubkey":"..."}' | \ + ./event_miner -pow 4 -nsec nsec1abc123... -threads 8 +``` + +#### Using file input +```bash +./event_miner -pow 4 -nsec 1234567890abcdef... -threads 8 -e event.json +``` + +#### With timeout +```bash +./event_miner -pow 6 -nsec nsec1abc123... -threads 4 -e event.json --timeout_min 10 +``` + +### Input Format + +The input event must be a valid JSON object with the standard Nostr event structure: + +```json +{ + "kind": 1, + "content": "Hello, Nostr!", + "tags": [], + "created_at": 1723666800, + "pubkey": "..." +} +``` + +### Output Format + +The mined event will be output to stdout with the proof-of-work nonce added: + +```json +{ + "kind": 1, + "content": "Hello, Nostr!", + "pubkey": "...", + "id": "...", + "sig": "...", + "tags": [["nonce", "12345", "4"]], + "created_at": 1755197090 +} +``` + +The `nonce` tag contains: +- The nonce value that produces the required difficulty +- The target difficulty level +- Additional PoW-related data per NIP-13 + +## Private Key Formats + +The tool accepts private keys in two formats: + +1. **Hex format** (64 characters): `1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef` +2. **Bech32 nsec format**: `nsec1abc123def456...` + +## Performance Tips + +- Use more threads on multi-core systems for faster mining +- Higher difficulty levels take exponentially more time +- Consider using timeout for very high difficulty levels +- The tool automatically manages thread coordination and early termination + +## Architecture + +- **Single-file implementation** - All code in `event_miner.c` +- **Static linking** - Links with `nostr_core_lib/libnostr_core.a` +- **Thread-safe** - Uses pthread mutexes and condition variables +- **Memory efficient** - Proper cleanup and error handling +- **Standards compliant** - Implements NIP-13 proof-of-work specification + +## Dependencies + +The project uses the nostr_core_lib submodule which includes: +- secp256k1 for cryptographic operations +- cJSON for JSON handling +- OpenSSL for additional crypto functions + +All dependencies are statically linked into the final binary. + +## Exit Codes + +- `0` - Success (mined event output to stdout) +- `1` - Error (invalid arguments, file not found, timeout, etc.) + +## License + +This project uses the same license as the nostr_core_lib dependency. diff --git a/debug.log b/debug.log new file mode 100644 index 0000000..3fd9bed --- /dev/null +++ b/debug.log @@ -0,0 +1,1846 @@ +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 2 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 2 +PoW SUCCESS: Found difficulty 2 (target 2) at nonce 12 after 13 attempts +Final event: { + "pubkey": "bb50e2d89a4ed70663d080659fe0ad4b9bc3e06c17a227433966cb59ceee020d", + "created_at": 1755197090, + "kind": 1, + "tags": [["nonce", "12", "2"]], + "content": "Hello, Nostr! Testing proof-of-work mining.", + "id": "2e4b4fc7cad3ae8fbb2ffe2fc9813e64be3aea557d0633f7b6d34266ccc8e409", + "sig": "d1410d476ef7e480de79380f111ba644e9ccbcc775acdf9a5388e7f70ee8f9462242b523c7a79c3241cd7f0a972fbdfbb686f59801592e49d27a307cf7cdae50" +} +PoW SUCCESS: Found difficulty 2 (target 2) at nonce 12 after 13 attempts +Final event: { + "pubkey": "bb50e2d89a4ed70663d080659fe0ad4b9bc3e06c17a227433966cb59ceee020d", + "created_at": 1755197090, + "kind": 1, + "tags": [["nonce", "12", "2"]], + "content": "Hello, Nostr! Testing proof-of-work mining.", + "id": "2e4b4fc7cad3ae8fbb2ffe2fc9813e64be3aea557d0633f7b6d34266ccc8e409", + "sig": "d1410d476ef7e480de79380f111ba644e9ccbcc775acdf9a5388e7f70ee8f9462242b523c7a79c3241cd7f0a972fbdfbb686f59801592e49d27a307cf7cdae50" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 2 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 2 +PoW SUCCESS: Found difficulty 2 (target 2) at nonce 5 after 6 attempts +Final event: { + "pubkey": "bb50e2d89a4ed70663d080659fe0ad4b9bc3e06c17a227433966cb59ceee020d", + "created_at": 1755197095, + "kind": 1, + "tags": [["nonce", "5", "2"]], + "content": "Hello, Nostr! Testing proof-of-work mining.", + "id": "24791ed0b2c99b913ed80512e5d354c8cc4d9175f58f73a2b46c229dace8c588", + "sig": "935558be2ae1a41f95337e658122b894a3820e2c69db80c503904772ae480bd424fb365651113563762a7941fc4a36a066c65796db4ee47ffc7ffd7fa7492e12" +} +PoW SUCCESS: Found difficulty 2 (target 2) at nonce 5 after 6 attempts +Final event: { + "pubkey": "bb50e2d89a4ed70663d080659fe0ad4b9bc3e06c17a227433966cb59ceee020d", + "created_at": 1755197095, + "kind": 1, + "tags": [["nonce", "5", "2"]], + "content": "Hello, Nostr! Testing proof-of-work mining.", + "id": "24791ed0b2c99b913ed80512e5d354c8cc4d9175f58f73a2b46c229dace8c588", + "sig": "935558be2ae1a41f95337e658122b894a3820e2c69db80c503904772ae480bd424fb365651113563762a7941fc4a36a066c65796db4ee47ffc7ffd7fa7492e12" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 2 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 2 +PoW SUCCESS: Found difficulty 2 (target 2) at nonce 12 after 13 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197473, + "kind": 1, + "tags": [["nonce", "12", "2"]], + "content": "", + "id": "2fe7aaea33efde2bb0cefd7b65bacbb814e32438eb5e8a27420947609a1c931a", + "sig": "4deaea51a9952af696586661ff020fb253f20dc67f5646bb39dc1509e396cd6ad28df5e01003da996e3861399684e374e263155eb44c6ab33b25662f68ea0684" +} +PoW SUCCESS: Found difficulty 2 (target 2) at nonce 12 after 13 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197473, + "kind": 1, + "tags": [["nonce", "12", "2"]], + "content": "", + "id": "2fe7aaea33efde2bb0cefd7b65bacbb814e32438eb5e8a27420947609a1c931a", + "sig": "4deaea51a9952af696586661ff020fb253f20dc67f5646bb39dc1509e396cd6ad28df5e01003da996e3861399684e374e263155eb44c6ab33b25662f68ea0684" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 2 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 2 +PoW SUCCESS: Found difficulty 8 (target 2) at nonce 7 after 8 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197478, + "kind": 1, + "tags": [["nonce", "7", "2"]], + "content": "", + "id": "00a5c867bc8b617bb43b31ab556f5bd1996aef07fe25b26d161a5d574a401e92", + "sig": "38011812a02dd96ef77989385e297bd101066e8437b532ee67ef00901af65eaf725fc1da0fb08f021edd6d09c8826d959c37a55d4812914e59ccf2e6cd40006f" +} +PoW SUCCESS: Found difficulty 8 (target 2) at nonce 7 after 8 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197478, + "kind": 1, + "tags": [["nonce", "7", "2"]], + "content": "", + "id": "00a5c867bc8b617bb43b31ab556f5bd1996aef07fe25b26d161a5d574a401e92", + "sig": "38011812a02dd96ef77989385e297bd101066e8437b532ee67ef00901af65eaf725fc1da0fb08f021edd6d09c8826d959c37a55d4812914e59ccf2e6cd40006f" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 4 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 4 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 4 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 4 +PoW SUCCESS: Found difficulty 5 (target 4) at nonce 2 after 3 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197484, + "kind": 1, + "tags": [["nonce", "2", "4"]], + "content": "", + "id": "0614226c1037f73d67cea81259d819abbb436819c1fd23a2a30cddf80fb6f5fe", + "sig": "01835efd2e8dc2c7f30120421025f6f67a32cd4daa74f2b1f99f586e7e64d5fc0303ecc072dfac91a10262cf4ea0949ebba392c4bbdb0534ff7052febc3df704" +} +PoW SUCCESS: Found difficulty 5 (target 4) at nonce 2 after 3 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197484, + "kind": 1, + "tags": [["nonce", "2", "4"]], + "content": "", + "id": "0614226c1037f73d67cea81259d819abbb436819c1fd23a2a30cddf80fb6f5fe", + "sig": "01835efd2e8dc2c7f30120421025f6f67a32cd4daa74f2b1f99f586e7e64d5fc0303ecc072dfac91a10262cf4ea0949ebba392c4bbdb0534ff7052febc3df704" +} +PoW SUCCESS: Found difficulty 5 (target 4) at nonce 2 after 3 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197484, + "kind": 1, + "tags": [["nonce", "2", "4"]], + "content": "", + "id": "0614226c1037f73d67cea81259d819abbb436819c1fd23a2a30cddf80fb6f5fe", + "sig": "01835efd2e8dc2c7f30120421025f6f67a32cd4daa74f2b1f99f586e7e64d5fc0303ecc072dfac91a10262cf4ea0949ebba392c4bbdb0534ff7052febc3df704" +} +PoW SUCCESS: Found difficulty 5 (target 4) at nonce 2 after 3 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197484, + "kind": 1, + "tags": [["nonce", "2", "4"]], + "content": "", + "id": "0614226c1037f73d67cea81259d819abbb436819c1fd23a2a30cddf80fb6f5fe", + "sig": "01835efd2e8dc2c7f30120421025f6f67a32cd4daa74f2b1f99f586e7e64d5fc0303ecc072dfac91a10262cf4ea0949ebba392c4bbdb0534ff7052febc3df704" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 3 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 3 +PoW SUCCESS: Found difficulty 3 (target 3) at nonce 5 after 6 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197489, + "kind": 1, + "tags": [["nonce", "5", "3"]], + "content": "", + "id": "1aaac12798adc9dcf2a6af807a05ba6e467e6cdf2889a39210aa93eec4554b31", + "sig": "6cad44a514c684bf1f30ba3a25e2c89e831cd0de096415aa16e5b22a44b7eb2d3d7778cedf27faaa68368e2a5f8054243712a272e4cc83d4eda45676f030b7a9" +} +PoW SUCCESS: Found difficulty 3 (target 3) at nonce 5 after 6 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197489, + "kind": 1, + "tags": [["nonce", "5", "3"]], + "content": "", + "id": "1aaac12798adc9dcf2a6af807a05ba6e467e6cdf2889a39210aa93eec4554b31", + "sig": "6cad44a514c684bf1f30ba3a25e2c89e831cd0de096415aa16e5b22a44b7eb2d3d7778cedf27faaa68368e2a5f8054243712a272e4cc83d4eda45676f030b7a9" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 4 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 4 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 4 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 4 +PoW SUCCESS: Found difficulty 4 (target 4) at nonce 10 after 11 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197648, + "kind": 1, + "tags": [["nonce", "10", "4"]], + "content": "", + "id": "08844c91ffe6a8276030ecf6a055cdbcd600b34d8899f6a6097d97a8619ca529", + "sig": "c27de65077c65659bda6d490ef6df456ac3656a52323cc303d027aa62a0c6f0554a888f3759b5d2591bf05be998d0edd733f83ae2a1ce4d27f0337b3f7ec37ed" +} +PoW SUCCESS: Found difficulty 4 (target 4) at nonce 10 after 11 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197648, + "kind": 1, + "tags": [["nonce", "10", "4"]], + "content": "", + "id": "08844c91ffe6a8276030ecf6a055cdbcd600b34d8899f6a6097d97a8619ca529", + "sig": "c27de65077c65659bda6d490ef6df456ac3656a52323cc303d027aa62a0c6f0554a888f3759b5d2591bf05be998d0edd733f83ae2a1ce4d27f0337b3f7ec37ed" +} +PoW SUCCESS: Found difficulty 4 (target 4) at nonce 10 after 11 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197648, + "kind": 1, + "tags": [["nonce", "10", "4"]], + "content": "", + "id": "08844c91ffe6a8276030ecf6a055cdbcd600b34d8899f6a6097d97a8619ca529", + "sig": "c27de65077c65659bda6d490ef6df456ac3656a52323cc303d027aa62a0c6f0554a888f3759b5d2591bf05be998d0edd733f83ae2a1ce4d27f0337b3f7ec37ed" +} +PoW SUCCESS: Found difficulty 4 (target 4) at nonce 10 after 11 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197648, + "kind": 1, + "tags": [["nonce", "10", "4"]], + "content": "", + "id": "08844c91ffe6a8276030ecf6a055cdbcd600b34d8899f6a6097d97a8619ca529", + "sig": "c27de65077c65659bda6d490ef6df456ac3656a52323cc303d027aa62a0c6f0554a888f3759b5d2591bf05be998d0edd733f83ae2a1ce4d27f0337b3f7ec37ed" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 8 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 8 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 8 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 8 +PoW SUCCESS: Found difficulty 9 (target 8) at nonce 203 after 204 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197671, + "kind": 1, + "tags": [["nonce", "203", "8"]], + "content": "", + "id": "005d55ae42b8bc35b97317dc308ca32d9ee6e1d7ad0bbd18b3b1309b3e3ec313", + "sig": "eaf3532a8bd58ee7404a5bedd4132f5a895f582d0c1846b40f933c43b1346239294f05a02658250dd97b0ae72db2fcc45a07164081aeeff62c199cb29179bd6d" +} +PoW SUCCESS: Found difficulty 9 (target 8) at nonce 203 after 204 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197671, + "kind": 1, + "tags": [["nonce", "203", "8"]], + "content": "", + "id": "005d55ae42b8bc35b97317dc308ca32d9ee6e1d7ad0bbd18b3b1309b3e3ec313", + "sig": "eaf3532a8bd58ee7404a5bedd4132f5a895f582d0c1846b40f933c43b1346239294f05a02658250dd97b0ae72db2fcc45a07164081aeeff62c199cb29179bd6d" +} +PoW SUCCESS: Found difficulty 9 (target 8) at nonce 203 after 204 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197671, + "kind": 1, + "tags": [["nonce", "203", "8"]], + "content": "", + "id": "005d55ae42b8bc35b97317dc308ca32d9ee6e1d7ad0bbd18b3b1309b3e3ec313", + "sig": "eaf3532a8bd58ee7404a5bedd4132f5a895f582d0c1846b40f933c43b1346239294f05a02658250dd97b0ae72db2fcc45a07164081aeeff62c199cb29179bd6d" +} +PoW SUCCESS: Found difficulty 9 (target 8) at nonce 203 after 204 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197671, + "kind": 1, + "tags": [["nonce", "203", "8"]], + "content": "", + "id": "005d55ae42b8bc35b97317dc308ca32d9ee6e1d7ad0bbd18b3b1309b3e3ec313", + "sig": "eaf3532a8bd58ee7404a5bedd4132f5a895f582d0c1846b40f933c43b1346239294f05a02658250dd97b0ae72db2fcc45a07164081aeeff62c199cb29179bd6d" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 12 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 12 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 12 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 12 +PoW SUCCESS: Found difficulty 12 (target 12) at nonce 1888 after 1889 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197683, + "kind": 1, + "tags": [["nonce", "1888", "12"]], + "content": "", + "id": "000e7f0c728d9b6d201e814f66b2cd519c87a5204e5e080b9f0c4fb3b4c5060d", + "sig": "42d2b79cde750c997526406d8cdcb190aa1cd1d3d538aaabf06859fce5b770c0670f540f5a72b5cc339ba0840025125af659f5f78017857c913f2588f9c00095" +} +PoW SUCCESS: Found difficulty 12 (target 12) at nonce 1888 after 1889 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197683, + "kind": 1, + "tags": [["nonce", "1888", "12"]], + "content": "", + "id": "000e7f0c728d9b6d201e814f66b2cd519c87a5204e5e080b9f0c4fb3b4c5060d", + "sig": "42d2b79cde750c997526406d8cdcb190aa1cd1d3d538aaabf06859fce5b770c0670f540f5a72b5cc339ba0840025125af659f5f78017857c913f2588f9c00095" +} +PoW SUCCESS: Found difficulty 12 (target 12) at nonce 1888 after 1889 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197683, + "kind": 1, + "tags": [["nonce", "1888", "12"]], + "content": "", + "id": "000e7f0c728d9b6d201e814f66b2cd519c87a5204e5e080b9f0c4fb3b4c5060d", + "sig": "42d2b79cde750c997526406d8cdcb190aa1cd1d3d538aaabf06859fce5b770c0670f540f5a72b5cc339ba0840025125af659f5f78017857c913f2588f9c00095" +} +PoW SUCCESS: Found difficulty 12 (target 12) at nonce 1888 after 1889 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197683, + "kind": 1, + "tags": [["nonce", "1888", "12"]], + "content": "", + "id": "000e7f0c728d9b6d201e814f66b2cd519c87a5204e5e080b9f0c4fb3b4c5060d", + "sig": "42d2b79cde750c997526406d8cdcb190aa1cd1d3d538aaabf06859fce5b770c0670f540f5a72b5cc339ba0840025125af659f5f78017857c913f2588f9c00095" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 16 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 16 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 16 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 16 +PoW mining: 10000 attempts, best this round: 14, overall best: 14, goal: 16 +PoW mining: 10000 attempts, best this round: 14, overall best: 14, goal: 16 +PoW mining: 10000 attempts, best this round: 14, overall best: 14, goal: 16 +PoW mining: 10000 attempts, best this round: 14, overall best: 14, goal: 16 +PoW SUCCESS: Found difficulty 16 (target 16) at nonce 15308 after 15309 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197705, + "kind": 1, + "tags": [["nonce", "15308", "16"]], + "content": "", + "id": "0000bd197581a10175dc0351de7d0002fa36ef7e7ec093b23000086751bec6c3", + "sig": "6a0824e5cd26e1f82c501cccbda7f77acb244c0c7f820e2fa2f2a9876559124152ce19cb102482ad81d204d91bce1d934676b9cf7b7cff6f26ccac6a868d0261" +} +PoW SUCCESS: Found difficulty 16 (target 16) at nonce 15308 after 15309 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197705, + "kind": 1, + "tags": [["nonce", "15308", "16"]], + "content": "", + "id": "0000bd197581a10175dc0351de7d0002fa36ef7e7ec093b23000086751bec6c3", + "sig": "6a0824e5cd26e1f82c501cccbda7f77acb244c0c7f820e2fa2f2a9876559124152ce19cb102482ad81d204d91bce1d934676b9cf7b7cff6f26ccac6a868d0261" +} +PoW SUCCESS: Found difficulty 16 (target 16) at nonce 15308 after 15309 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197705, + "kind": 1, + "tags": [["nonce", "15308", "16"]], + "content": "", + "id": "0000bd197581a10175dc0351de7d0002fa36ef7e7ec093b23000086751bec6c3", + "sig": "6a0824e5cd26e1f82c501cccbda7f77acb244c0c7f820e2fa2f2a9876559124152ce19cb102482ad81d204d91bce1d934676b9cf7b7cff6f26ccac6a868d0261" +} +PoW SUCCESS: Found difficulty 16 (target 16) at nonce 15308 after 15309 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197705, + "kind": 1, + "tags": [["nonce", "15308", "16"]], + "content": "", + "id": "0000bd197581a10175dc0351de7d0002fa36ef7e7ec093b23000086751bec6c3", + "sig": "6a0824e5cd26e1f82c501cccbda7f77acb244c0c7f820e2fa2f2a9876559124152ce19cb102482ad81d204d91bce1d934676b9cf7b7cff6f26ccac6a868d0261" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 10000 attempts, best this round: 11, overall best: 11, goal: 20 +PoW mining: 10000 attempts, best this round: 11, overall best: 11, goal: 20 +PoW mining: 10000 attempts, best this round: 11, overall best: 11, goal: 20 +PoW mining: 10000 attempts, best this round: 11, overall best: 11, goal: 20 +PoW mining: 20000 attempts, best this round: 12, overall best: 12, goal: 20 +PoW mining: 20000 attempts, best this round: 12, overall best: 12, goal: 20 +PoW mining: 20000 attempts, best this round: 12, overall best: 12, goal: 20 +PoW mining: 20000 attempts, best this round: 12, overall best: 12, goal: 20 +PoW mining: 30000 attempts, best this round: 12, overall best: 12, goal: 20 +PoW mining: 30000 attempts, best this round: 12, overall best: 12, goal: 20 +PoW mining: 30000 attempts, best this round: 12, overall best: 12, goal: 20 +PoW mining: 30000 attempts, best this round: 12, overall best: 12, goal: 20 +PoW mining: 40000 attempts, best this round: 13, overall best: 13, goal: 20 +PoW mining: 40000 attempts, best this round: 13, overall best: 13, goal: 20 +PoW mining: 40000 attempts, best this round: 13, overall best: 13, goal: 20 +PoW mining: 40000 attempts, best this round: 13, overall best: 13, goal: 20 +PoW mining: 50000 attempts, best this round: 11, overall best: 13, goal: 20 +PoW mining: 50000 attempts, best this round: 11, overall best: 13, goal: 20 +PoW mining: 50000 attempts, best this round: 11, overall best: 13, goal: 20 +PoW mining: 50000 attempts, best this round: 11, overall best: 13, goal: 20 +PoW mining: 60000 attempts, best this round: 15, overall best: 15, goal: 20 +PoW mining: 60000 attempts, best this round: 15, overall best: 15, goal: 20 +PoW mining: 60000 attempts, best this round: 15, overall best: 15, goal: 20 +PoW mining: 60000 attempts, best this round: 15, overall best: 15, goal: 20 +PoW mining: 70000 attempts, best this round: 15, overall best: 15, goal: 20 +PoW mining: 70000 attempts, best this round: 15, overall best: 15, goal: 20 +PoW mining: 70000 attempts, best this round: 15, overall best: 15, goal: 20 +PoW mining: 70000 attempts, best this round: 15, overall best: 15, goal: 20 +PoW mining: 80000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 80000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 80000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 80000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 90000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 90000 attempts, best this round: 12, overall best: 15, goal: 20 +PoW mining: 90000 attempts, best this round: 12, overall best: 15, goal: 20 +PoW mining: 90000 attempts, best this round: 12, overall best: 15, goal: 20 +PoW mining: 100000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 100000 attempts, best this round: 14, overall best: 15, goal: 20 +PoW mining: 100000 attempts, best this round: 14, overall best: 15, goal: 20 +PoW mining: 100000 attempts, best this round: 14, overall best: 15, goal: 20 +PoW mining: 110000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 110000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 110000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 110000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 120000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 120000 attempts, best this round: 12, overall best: 15, goal: 20 +PoW mining: 120000 attempts, best this round: 12, overall best: 15, goal: 20 +PoW mining: 120000 attempts, best this round: 12, overall best: 15, goal: 20 +PoW mining: 130000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 130000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 130000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 130000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 140000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 140000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 140000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 140000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 150000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 150000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 150000 attempts, best this round: 13, overall best: 15, goal: 20 +PoW mining: 160000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 12, overall best: 15, goal: 20 +PoW mining: 160000 attempts, best this round: 12, overall best: 15, goal: 20 +PoW mining: 160000 attempts, best this round: 12, overall best: 15, goal: 20 +PoW mining: 170000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 11, overall best: 15, goal: 20 +PoW mining: 170000 attempts, best this round: 11, overall best: 15, goal: 20 +PoW mining: 170000 attempts, best this round: 11, overall best: 15, goal: 20 +PoW mining: 180000 attempts, best this round: 18, overall best: 18, goal: 20 +PoW mining: 180000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 180000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 180000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 190000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 190000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 190000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 190000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 200000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 200000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 200000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 200000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 210000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 210000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 210000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 210000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 220000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 220000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 220000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 220000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 230000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 230000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 230000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 230000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 240000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 240000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 240000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 240000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 250000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 250000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 250000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 250000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 260000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 260000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 260000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 260000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 270000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 270000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 270000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 270000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 280000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 280000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 280000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 280000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 290000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 290000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 290000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 290000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 300000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 300000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 300000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 300000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 310000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 310000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 310000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 310000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 320000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 320000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 320000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 320000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 330000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 330000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 330000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 330000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 340000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 340000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 340000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 340000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 350000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 350000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 350000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 360000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 360000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 360000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 360000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 370000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 370000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 370000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 370000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 380000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 380000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 380000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 380000 attempts, best this round: 11, overall best: 16, goal: 20 +PoW mining: 390000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 390000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 390000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 390000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 400000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 400000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 400000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 400000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 410000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 410000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 410000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 410000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 420000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 420000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 420000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 420000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 430000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 430000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 430000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 430000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 440000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 440000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 440000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 440000 attempts, best this round: 12, overall best: 16, goal: 20 +PoW mining: 450000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 450000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 450000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 450000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW mining: 460000 attempts, best this round: 17, overall best: 18, goal: 20 +PoW mining: 460000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 16, overall best: 16, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 16, goal: 20 +PoW mining: 480000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 480000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 15, overall best: 16, goal: 20 +PoW mining: 490000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW SUCCESS: Found difficulty 21 (target 20) at nonce 492637 after 492638 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197783, + "kind": 1, + "tags": [["nonce", "492637", "20"]], + "content": "Hello POW!", + "id": "000007dd9365794575e07d5e5a6a1cd9096ee90b5cdd071109546974a0f8eef4", + "sig": "401f4a4d83ba0430b6e4caecbff4d75e49b0daf1cb316351c14f4a8ebf71903af7579bc3d94fae6116cb3d2681eace9e98e6e5ceef5b167cf9bfb0069de3dcd7" +} +PoW mining: 490000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 490000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW SUCCESS: Found difficulty 21 (target 20) at nonce 492637 after 492638 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197783, + "kind": 1, + "tags": [["nonce", "492637", "20"]], + "content": "Hello POW!", + "id": "000007dd9365794575e07d5e5a6a1cd9096ee90b5cdd071109546974a0f8eef4", + "sig": "401f4a4d83ba0430b6e4caecbff4d75e49b0daf1cb316351c14f4a8ebf71903af7579bc3d94fae6116cb3d2681eace9e98e6e5ceef5b167cf9bfb0069de3dcd7" +} +PoW SUCCESS: Found difficulty 21 (target 20) at nonce 492637 after 492638 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197783, + "kind": 1, + "tags": [["nonce", "492637", "20"]], + "content": "Hello POW!", + "id": "000007dd9365794575e07d5e5a6a1cd9096ee90b5cdd071109546974a0f8eef4", + "sig": "401f4a4d83ba0430b6e4caecbff4d75e49b0daf1cb316351c14f4a8ebf71903af7579bc3d94fae6116cb3d2681eace9e98e6e5ceef5b167cf9bfb0069de3dcd7" +} +PoW mining: 490000 attempts, best this round: 14, overall best: 16, goal: 20 +PoW SUCCESS: Found difficulty 21 (target 20) at nonce 492637 after 492638 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197783, + "kind": 1, + "tags": [["nonce", "492637", "20"]], + "content": "Hello POW!", + "id": "000007dd9365794575e07d5e5a6a1cd9096ee90b5cdd071109546974a0f8eef4", + "sig": "401f4a4d83ba0430b6e4caecbff4d75e49b0daf1cb316351c14f4a8ebf71903af7579bc3d94fae6116cb3d2681eace9e98e6e5ceef5b167cf9bfb0069de3dcd7" +} +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 0 attempts, best this round: 0, overall best: 0, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 10000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 20000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 30000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 40000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 50000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 60000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 70000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 80000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 90000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 110000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 120000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 130000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 140000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 150000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 10, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 160000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 170000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 180000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 18, overall best: 18, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 360000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 360000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 360000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 360000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 360000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 360000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 360000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 190000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 370000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 370000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 370000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 370000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 370000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 360000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 370000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 370000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 380000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 380000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 380000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 380000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 380000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 200000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 380000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 370000 attempts, best this round: 17, overall best: 18, goal: 20 +PoW mining: 380000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 390000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 390000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 390000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 390000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 390000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 390000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 380000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 390000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 400000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 400000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 400000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 210000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 400000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 400000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 400000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 390000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 400000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 410000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 410000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 410000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 410000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 410000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 410000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 400000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 410000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 420000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 420000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 220000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 420000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 420000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 420000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 420000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 420000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 410000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 430000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 430000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 430000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 430000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 430000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 430000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 420000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 430000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 440000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 230000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 440000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 440000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 440000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 440000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 440000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 440000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 430000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 450000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 450000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 450000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 450000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 450000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 450000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 450000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 440000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 240000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 240000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 450000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 250000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 250000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 490000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 490000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 490000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 490000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 490000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 490000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 490000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 260000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 260000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 500000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 500000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 500000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 500000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 500000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 500000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 500000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 490000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 510000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 510000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 510000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 510000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 510000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 510000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 510000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 500000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 270000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 270000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 520000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 520000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 520000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 520000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 520000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 520000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 520000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 510000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 530000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 530000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 530000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 530000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 530000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 530000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 530000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 280000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 520000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 540000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 540000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 540000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 540000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 540000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 540000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 540000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 530000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 550000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 550000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 550000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 290000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 550000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 550000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 550000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 540000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 550000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 560000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 560000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 560000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 560000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 550000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 570000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 570000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 570000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 560000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 300000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 560000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 570000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 560000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 560000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 580000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 580000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 580000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 580000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 570000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 570000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 590000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 590000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 310000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 590000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 570000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 590000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 570000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 580000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 600000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 600000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 600000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 600000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 580000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 590000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 610000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 320000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 610000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 350000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 580000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 610000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 610000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 580000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 600000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 620000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 620000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 360000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 360000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 620000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 590000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 620000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 610000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 630000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 330000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 630000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 370000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 590000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 370000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 630000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 590000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 630000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 620000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 640000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 640000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 380000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 380000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 640000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 600000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 640000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 340000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 630000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 650000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 600000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 650000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 390000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 390000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 650000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 600000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 650000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 640000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 610000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 660000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 400000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 660000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 400000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 660000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 660000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 350000 attempts, best this round: 18, overall best: 18, goal: 20 +PoW mining: 350000 attempts, best this round: 18, overall best: 18, goal: 20 +PoW mining: 650000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 610000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 670000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 410000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 670000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 610000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 410000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 670000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW SUCCESS: Found difficulty 20 (target 20) at nonce 353258 after 353259 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197863, + "kind": 1, + "tags": [["nonce", "353258", "20"]], + "content": "Hello POW!", + "id": "00000a29b080ccb5c60a8bc03f62aeff3f381be994fb2f4a24576c65ed0f7c1e", + "sig": "578ba77af709d04f34fb7ce90a0c7a0e137e00675e19bcda21faa892041a32458ce162cbf01b419389c75be7f26c84afc4ca1d19e186bb3005ae469c6015861b" +} +PoW SUCCESS: Found difficulty 20 (target 20) at nonce 353258 after 353259 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197863, + "kind": 1, + "tags": [["nonce", "353258", "20"]], + "content": "Hello POW!", + "id": "00000a29b080ccb5c60a8bc03f62aeff3f381be994fb2f4a24576c65ed0f7c1e", + "sig": "578ba77af709d04f34fb7ce90a0c7a0e137e00675e19bcda21faa892041a32458ce162cbf01b419389c75be7f26c84afc4ca1d19e186bb3005ae469c6015861b" +} +PoW mining: 670000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 620000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 660000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 680000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 620000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 680000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 420000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 620000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 630000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 680000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 680000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 420000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 670000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 630000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 690000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 690000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 430000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 630000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 640000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 690000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 430000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 680000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 690000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 700000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 440000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 640000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 700000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 650000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 700000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 440000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 640000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 690000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 450000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 700000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 710000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 650000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 710000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 710000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 450000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 660000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 700000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 650000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 710000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 720000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 660000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 720000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 720000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 670000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 460000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 710000 attempts, best this round: 17, overall best: 18, goal: 20 +PoW mining: 660000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 720000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 730000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 670000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 730000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 730000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 680000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 470000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 720000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 670000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 730000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 740000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 680000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 740000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 740000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 480000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 690000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW SUCCESS: Found difficulty 23 (target 20) at nonce 745149 after 745150 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197869, + "kind": 1, + "tags": [["nonce", "745149", "20"]], + "content": "Hello POW!", + "id": "000001500c6acee4a719fd13932e11419cddab889ec6d3d8940b7a1c010c0080", + "sig": "2989a9f53c07d94c51d383cf635cb1d2402f0f88ba22dd19206ff1736de13e41a0143d45540bcc94cbeed7a27e784261fac8bb4c93aa041992e1f584e0177487" +} +PoW SUCCESS: Found difficulty 23 (target 20) at nonce 745149 after 745150 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197869, + "kind": 1, + "tags": [["nonce", "745149", "20"]], + "content": "Hello POW!", + "id": "000001500c6acee4a719fd13932e11419cddab889ec6d3d8940b7a1c010c0080", + "sig": "2989a9f53c07d94c51d383cf635cb1d2402f0f88ba22dd19206ff1736de13e41a0143d45540bcc94cbeed7a27e784261fac8bb4c93aa041992e1f584e0177487" +} +PoW mining: 730000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 680000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW SUCCESS: Found difficulty 23 (target 20) at nonce 745149 after 745150 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197869, + "kind": 1, + "tags": [["nonce", "745149", "20"]], + "content": "Hello POW!", + "id": "000001500c6acee4a719fd13932e11419cddab889ec6d3d8940b7a1c010c0080", + "sig": "2989a9f53c07d94c51d383cf635cb1d2402f0f88ba22dd19206ff1736de13e41a0143d45540bcc94cbeed7a27e784261fac8bb4c93aa041992e1f584e0177487" +} +PoW mining: 490000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 740000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 690000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 700000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 490000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW SUCCESS: Found difficulty 23 (target 20) at nonce 745149 after 745150 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197869, + "kind": 1, + "tags": [["nonce", "745149", "20"]], + "content": "Hello POW!", + "id": "000001500c6acee4a719fd13932e11419cddab889ec6d3d8940b7a1c010c0080", + "sig": "2989a9f53c07d94c51d383cf635cb1d2402f0f88ba22dd19206ff1736de13e41a0143d45540bcc94cbeed7a27e784261fac8bb4c93aa041992e1f584e0177487" +} +PoW mining: 740000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 690000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 500000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 700000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 710000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 500000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 750000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 700000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 510000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 710000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 720000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 510000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 760000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 710000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 720000 attempts, best this round: 10, overall best: 17, goal: 20 +PoW mining: 520000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 730000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 520000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 770000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 720000 attempts, best this round: 10, overall best: 17, goal: 20 +PoW mining: 730000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 530000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 740000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 530000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 780000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 730000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 740000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 540000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 750000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 540000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 790000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 740000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 750000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 550000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 760000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 550000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 800000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 750000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 760000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 560000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 770000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 560000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 810000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 760000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 770000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 570000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 780000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 570000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 820000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 770000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 780000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 580000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 790000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 580000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 830000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 780000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 790000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 590000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 800000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 590000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 840000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 790000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 800000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 600000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 810000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 600000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 850000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 800000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 610000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 810000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 820000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 610000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 860000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 810000 attempts, best this round: 17, overall best: 17, goal: 20 +PoW mining: 620000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 820000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 830000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 620000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 870000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 820000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 630000 attempts, best this round: 18, overall best: 18, goal: 20 +PoW mining: 830000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 630000 attempts, best this round: 18, overall best: 18, goal: 20 +PoW mining: 840000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 880000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 830000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 640000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 840000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 640000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 850000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 890000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 840000 attempts, best this round: 18, overall best: 18, goal: 20 +PoW mining: 650000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 850000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 650000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 860000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 900000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 850000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 660000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 860000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 660000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW SUCCESS: Found difficulty 21 (target 20) at nonce 908829 after 908830 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197881, + "kind": 1, + "tags": [["nonce", "908829", "20"]], + "content": "Hello POW!", + "id": "000005d0c2a663b2007b8f050423b7793df5342d3641b8b67891036874779bbe", + "sig": "2d16c7be2330bf23076a9b25cbbb61bed5e1d609b5050cb56acd45c3b994ab93007497ea6a702735e8ee85cd4e452d1ce6ae3d6a955a19ec8f07899941845de4" +} +PoW mining: 870000 attempts, best this round: 10, overall best: 17, goal: 20 +PoW mining: 860000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 670000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 870000 attempts, best this round: 10, overall best: 17, goal: 20 +PoW mining: 670000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 880000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 870000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 680000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 880000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 680000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 890000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 880000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 690000 attempts, best this round: 17, overall best: 18, goal: 20 +PoW mining: 890000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 690000 attempts, best this round: 17, overall best: 18, goal: 20 +PoW mining: 900000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 890000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 700000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 900000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 700000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 910000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 900000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 710000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 910000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 710000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 920000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 910000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 720000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 920000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 720000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 930000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 920000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 730000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 930000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 940000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 730000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 930000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 740000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 940000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 950000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 740000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 940000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 750000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 950000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 960000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 750000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 950000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 760000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 960000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 970000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 960000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 760000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 770000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 970000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 980000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 970000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 770000 attempts, best this round: 17, overall best: 18, goal: 20 +PoW mining: 780000 attempts, best this round: 17, overall best: 18, goal: 20 +PoW mining: 980000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 990000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 980000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 780000 attempts, best this round: 17, overall best: 18, goal: 20 +PoW mining: 790000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 990000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 1000000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 990000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 790000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 800000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 1000000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 1010000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 1000000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 800000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 810000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 1010000 attempts, best this round: 12, overall best: 17, goal: 20 +PoW mining: 1020000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 1010000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 810000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 820000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1020000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 1030000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 1020000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 820000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 830000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1030000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 1040000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 1030000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 830000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 840000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 1040000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 1050000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 1040000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 840000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 850000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1050000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 1060000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 1050000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 850000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 860000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1060000 attempts, best this round: 11, overall best: 17, goal: 20 +PoW mining: 1070000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 1060000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 860000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 870000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 1070000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 1080000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 1070000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 870000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 880000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1080000 attempts, best this round: 16, overall best: 17, goal: 20 +PoW mining: 1090000 attempts, best this round: 15, overall best: 17, goal: 20 +PoW mining: 1080000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 880000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 890000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 1090000 attempts, best this round: 14, overall best: 17, goal: 20 +PoW mining: 1100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 1090000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 890000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 900000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1110000 attempts, best this round: 19, overall best: 19, goal: 20 +PoW mining: 1100000 attempts, best this round: 13, overall best: 17, goal: 20 +PoW mining: 1100000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 900000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 910000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1120000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1110000 attempts, best this round: 19, overall best: 19, goal: 20 +PoW mining: 910000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1110000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 920000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1130000 attempts, best this round: 11, overall best: 19, goal: 20 +PoW mining: 1120000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 920000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1120000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 930000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1140000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1130000 attempts, best this round: 10, overall best: 19, goal: 20 +PoW mining: 930000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 1130000 attempts, best this round: 10, overall best: 18, goal: 20 +PoW mining: 940000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW SUCCESS: Found difficulty 20 (target 20) at nonce 940705 after 940706 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197901, + "kind": 1, + "tags": [["nonce", "940705", "20"]], + "content": "Hello POW!", + "id": "0000084fbf6ed5098c5ce64cc42a79e70f68cd426b65442f57273c5c2c611100", + "sig": "61390fa5d21176b8a030ce92a2eebc355217020a6ffd2a9e8878fe904fd18466141781caf3c831f526421dc20052215c5390990c67e750a94b1e3cecf6e4131f" +} +PoW mining: 1140000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1150000 attempts, best this round: 16, overall best: 19, goal: 20 +PoW mining: 940000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1140000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW SUCCESS: Found difficulty 20 (target 20) at nonce 940705 after 940706 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197901, + "kind": 1, + "tags": [["nonce", "940705", "20"]], + "content": "Hello POW!", + "id": "0000084fbf6ed5098c5ce64cc42a79e70f68cd426b65442f57273c5c2c611100", + "sig": "61390fa5d21176b8a030ce92a2eebc355217020a6ffd2a9e8878fe904fd18466141781caf3c831f526421dc20052215c5390990c67e750a94b1e3cecf6e4131f" +} +PoW mining: 1150000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1160000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1150000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1170000 attempts, best this round: 11, overall best: 19, goal: 20 +PoW mining: 1160000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1160000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1180000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1170000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1170000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1190000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1180000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1180000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 1200000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1190000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1190000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1210000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1200000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1200000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1220000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1210000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1210000 attempts, best this round: 10, overall best: 18, goal: 20 +PoW mining: 1230000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1220000 attempts, best this round: 16, overall best: 19, goal: 20 +PoW mining: 1220000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 1240000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1230000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1230000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1250000 attempts, best this round: 17, overall best: 19, goal: 20 +PoW mining: 1240000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1240000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1260000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1250000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1250000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1270000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1260000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1260000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1280000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW SUCCESS: Found difficulty 21 (target 20) at nonce 1280669 after 1280670 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197910, + "kind": 1, + "tags": [["nonce", "1280669", "20"]], + "content": "Hello POW!", + "id": "0000058e4f775764ba271e63d6f7efc49ed17e8d951343eae4cc22d9842d004b", + "sig": "6ce43556b3c3c220a09aab220b7196c3879b894d81d06692e0d7d58e6316da599a23e122ba4329616f97db36033a27b08f51dcca178f5025594de15c20f6b4c8" +} +PoW mining: 1270000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1270000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1280000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1280000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1290000 attempts, best this round: 16, overall best: 19, goal: 20 +PoW mining: 1290000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 1300000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1300000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1310000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1310000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1320000 attempts, best this round: 16, overall best: 19, goal: 20 +PoW mining: 1320000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 1330000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1330000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1340000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1340000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 1350000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1350000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1360000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1360000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1370000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1370000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 1380000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1380000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1390000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1390000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1400000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1400000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1410000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1410000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 1420000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1420000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 1430000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1430000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1440000 attempts, best this round: 18, overall best: 19, goal: 20 +PoW mining: 1440000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 1450000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1450000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1460000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1460000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1470000 attempts, best this round: 17, overall best: 19, goal: 20 +PoW mining: 1470000 attempts, best this round: 17, overall best: 18, goal: 20 +PoW mining: 1480000 attempts, best this round: 11, overall best: 19, goal: 20 +PoW mining: 1480000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 1490000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1490000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1500000 attempts, best this round: 11, overall best: 19, goal: 20 +PoW mining: 1500000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 1510000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1510000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1520000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1520000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1530000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1530000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 1540000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1540000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1550000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1550000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1560000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1560000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1570000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1570000 attempts, best this round: 17, overall best: 19, goal: 20 +PoW mining: 1580000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1580000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1590000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1590000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1600000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 1600000 attempts, best this round: 16, overall best: 19, goal: 20 +PoW mining: 1610000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1610000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1620000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1620000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1630000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1630000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1640000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1640000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1650000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1650000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1660000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1660000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1670000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1670000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1680000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1680000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1690000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1690000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1700000 attempts, best this round: 16, overall best: 18, goal: 20 +PoW mining: 1700000 attempts, best this round: 16, overall best: 19, goal: 20 +PoW mining: 1710000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1710000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1720000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1720000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1730000 attempts, best this round: 18, overall best: 18, goal: 20 +PoW mining: 1730000 attempts, best this round: 18, overall best: 19, goal: 20 +PoW mining: 1740000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1740000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1750000 attempts, best this round: 15, overall best: 18, goal: 20 +PoW mining: 1750000 attempts, best this round: 15, overall best: 19, goal: 20 +PoW mining: 1760000 attempts, best this round: 11, overall best: 18, goal: 20 +PoW mining: 1760000 attempts, best this round: 11, overall best: 19, goal: 20 +PoW mining: 1770000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1770000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1780000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1780000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1790000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1790000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1800000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1800000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1810000 attempts, best this round: 13, overall best: 18, goal: 20 +PoW mining: 1810000 attempts, best this round: 13, overall best: 19, goal: 20 +PoW mining: 1820000 attempts, best this round: 12, overall best: 18, goal: 20 +PoW mining: 1820000 attempts, best this round: 12, overall best: 19, goal: 20 +PoW mining: 1830000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1830000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW mining: 1840000 attempts, best this round: 14, overall best: 18, goal: 20 +PoW mining: 1840000 attempts, best this round: 14, overall best: 19, goal: 20 +PoW SUCCESS: Found difficulty 20 (target 20) at nonce 1845827 after 1845828 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197950, + "kind": 1, + "tags": [["nonce", "1845827", "20"]], + "content": "Hello POW!", + "id": "000009fa806130e07cbd9ed4af22b0cfd7682a413bff78842d99e9f04d08ed9c", + "sig": "0647956592969728b51e057fe8fa795ff3542143ff517eb5fd64343e5c669d68f37fd6d9f74fc17f186aa0a5bfb9183e163ba63494cdd0080ca8d4c9908dfe70" +} +PoW SUCCESS: Found difficulty 20 (target 20) at nonce 1845827 after 1845828 attempts +Final event: { + "pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", + "created_at": 1755197950, + "kind": 1, + "tags": [["nonce", "1845827", "20"]], + "content": "Hello POW!", + "id": "000009fa806130e07cbd9ed4af22b0cfd7682a413bff78842d99e9f04d08ed9c", + "sig": "0647956592969728b51e057fe8fa795ff3542143ff517eb5fd64343e5c669d68f37fd6d9f74fc17f186aa0a5bfb9183e163ba63494cdd0080ca8d4c9908dfe70" +} diff --git a/event_miner b/event_miner new file mode 100755 index 0000000..6a4f377 Binary files /dev/null and b/event_miner differ diff --git a/event_miner.c b/event_miner.c new file mode 100644 index 0000000..c2ec02d --- /dev/null +++ b/event_miner.c @@ -0,0 +1,430 @@ +/* + * Event Miner - Nostr Proof-of-Work Mining Tool + * + * A multithreaded command-line tool for adding NIP-13 Proof-of-Work to Nostr events. + * Uses the nostr_core_lib for cryptographic operations and event handling. + */ + +#define _GNU_SOURCE // For strdup +#define _POSIX_C_SOURCE 200112L // For usleep + +#include +#include +#include +#include +#include +#include +#include +#include +#include "nostr_core_lib/nostr_core/nostr_core.h" +#include "nostr_core_lib/nostr_core/cJSON.h" + +// Constants +#define MAX_EVENT_SIZE 1048576 // 1MB max event size +#define DEFAULT_THREADS 4 +#define DEFAULT_POW 2 + +// Data structures +typedef struct { + cJSON* event; + unsigned char private_key[32]; + int target_difficulty; + volatile int found; + cJSON* result_event; + pthread_mutex_t mutex; + pthread_cond_t cond; + time_t start_time; + int timeout_seconds; + int thread_count; +} mining_context_t; + +typedef struct { + int pow; + char* nsec; + int threads; + char* event_file; + int timeout_min; + int help; +} args_t; + +// Function declarations +static void usage(const char* prog_name); +static int parse_arguments(int argc, char* argv[], args_t* args); +static char* read_event_json(const char* filename); +static char* read_stdin_json(void); +static void* miner_thread(void* arg); +static int mine_event(mining_context_t* ctx); +static void cleanup_context(mining_context_t* ctx); + +// Usage information +static void usage(const char* prog_name) { + fprintf(stderr, "Usage: %s -pow -nsec -threads [options]\n\n", prog_name); + fprintf(stderr, "Required arguments:\n"); + fprintf(stderr, " -pow Number of leading zero bits for proof-of-work\n"); + fprintf(stderr, " -nsec Private key in hex or nsec bech32 format\n"); + fprintf(stderr, " -threads Number of mining threads to use\n\n"); + fprintf(stderr, "Optional arguments:\n"); + fprintf(stderr, " -e Read event from file (default: stdin)\n"); + fprintf(stderr, " --timeout_min Timeout in minutes (default: no timeout)\n"); + fprintf(stderr, " -h, --help Show this help message\n\n"); + fprintf(stderr, "Examples:\n"); + fprintf(stderr, " echo '{\"kind\":1,...}' | %s -pow 4 -nsec nsec1... -threads 8\n", prog_name); + fprintf(stderr, " %s -pow 4 -nsec abc123... -threads 8 -e event.json --timeout_min 10\n", prog_name); +} + +// Parse command line arguments +static int parse_arguments(int argc, char* argv[], args_t* args) { + // Initialize args structure + memset(args, 0, sizeof(args_t)); + args->pow = -1; // Indicates not set + args->threads = -1; // Indicates not set + + // Simple manual parsing to avoid getopt complexities with multi-char options + for (int i = 1; i < argc; i++) { + if (strcmp(argv[i], "-pow") == 0 && i + 1 < argc) { + args->pow = atoi(argv[i + 1]); + if (args->pow <= 0) { + fprintf(stderr, "Error: pow must be a positive integer\n"); + return -1; + } + i++; // Skip the next argument + } else if (strcmp(argv[i], "-nsec") == 0 && i + 1 < argc) { + if (args->nsec) free(args->nsec); + args->nsec = strdup(argv[i + 1]); + if (!args->nsec) { + fprintf(stderr, "Error: memory allocation failed\n"); + return -1; + } + i++; // Skip the next argument + } else if (strcmp(argv[i], "-threads") == 0 && i + 1 < argc) { + args->threads = atoi(argv[i + 1]); + if (args->threads <= 0) { + fprintf(stderr, "Error: threads must be a positive integer\n"); + return -1; + } + i++; // Skip the next argument + } else if (strcmp(argv[i], "-e") == 0 && i + 1 < argc) { + args->event_file = strdup(argv[i + 1]); + if (!args->event_file) { + fprintf(stderr, "Error: memory allocation failed\n"); + return -1; + } + i++; // Skip the next argument + } else if (strcmp(argv[i], "--timeout_min") == 0 && i + 1 < argc) { + args->timeout_min = atoi(argv[i + 1]); + if (args->timeout_min <= 0) { + fprintf(stderr, "Error: timeout_min must be a positive integer\n"); + return -1; + } + i++; // Skip the next argument + } else if (strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "--help") == 0) { + args->help = 1; + return 0; + } else if (argv[i][0] == '-') { + fprintf(stderr, "Error: Unknown option '%s'\n", argv[i]); + return -1; + } + } + + // Check required arguments + if (args->pow == -1 || !args->nsec || args->threads == -1) { + fprintf(stderr, "Error: Missing required arguments\n"); + return -1; + } + + return 0; +} + +// Read event JSON from file +static char* read_event_json(const char* filename) { + FILE* file = fopen(filename, "r"); + if (!file) { + fprintf(stderr, "Error: Cannot open file '%s': %s\n", filename, strerror(errno)); + return NULL; + } + + // Get file size + fseek(file, 0, SEEK_END); + long file_size = ftell(file); + fseek(file, 0, SEEK_SET); + + if (file_size > MAX_EVENT_SIZE) { + fprintf(stderr, "Error: Event file too large (max %d bytes)\n", MAX_EVENT_SIZE); + fclose(file); + return NULL; + } + + // Allocate buffer and read file + char* buffer = malloc(file_size + 1); + if (!buffer) { + fprintf(stderr, "Error: Memory allocation failed\n"); + fclose(file); + return NULL; + } + + size_t bytes_read = fread(buffer, 1, file_size, file); + buffer[bytes_read] = '\0'; + + fclose(file); + return buffer; +} + +// Read event JSON from stdin +static char* read_stdin_json(void) { + char* buffer = malloc(MAX_EVENT_SIZE); + if (!buffer) { + fprintf(stderr, "Error: Memory allocation failed\n"); + return NULL; + } + + size_t total_read = 0; + char chunk[4096]; + + while (fgets(chunk, sizeof(chunk), stdin)) { + size_t chunk_len = strlen(chunk); + + if (total_read + chunk_len >= MAX_EVENT_SIZE - 1) { + fprintf(stderr, "Error: Input too large (max %d bytes)\n", MAX_EVENT_SIZE); + free(buffer); + return NULL; + } + + strcpy(buffer + total_read, chunk); + total_read += chunk_len; + } + + buffer[total_read] = '\0'; + + if (total_read == 0) { + fprintf(stderr, "Error: No input received\n"); + free(buffer); + return NULL; + } + + return buffer; +} + +// Mining thread function +static void* miner_thread(void* arg) { + mining_context_t* ctx = (mining_context_t*)arg; + + // Create a copy of the event for this thread + char* event_str = cJSON_Print(ctx->event); + if (!event_str) { + return NULL; + } + + cJSON* local_event = cJSON_Parse(event_str); + free(event_str); + + if (!local_event) { + return NULL; + } + + // Mine until solution found or timeout + while (!ctx->found) { + // Check timeout + if (ctx->timeout_seconds > 0) { + time_t current_time = time(NULL); + if (current_time - ctx->start_time >= ctx->timeout_seconds) { + pthread_mutex_lock(&ctx->mutex); + if (!ctx->found) { + ctx->found = -1; // Timeout flag + } + pthread_cond_broadcast(&ctx->cond); + pthread_mutex_unlock(&ctx->mutex); + break; + } + } + + // Attempt mining + int result = nostr_add_proof_of_work(local_event, ctx->private_key, + ctx->target_difficulty, NULL, NULL); + + if (result == NOSTR_SUCCESS) { + pthread_mutex_lock(&ctx->mutex); + if (!ctx->found) { + ctx->found = 1; // Success flag + ctx->result_event = cJSON_Duplicate(local_event, 1); + pthread_cond_broadcast(&ctx->cond); + } + pthread_mutex_unlock(&ctx->mutex); + break; + } + + // Small delay to prevent CPU overuse + usleep(1000); // 1ms + } + + cJSON_Delete(local_event); + return NULL; +} + +// Main mining function +static int mine_event(mining_context_t* ctx) { + // Initialize synchronization objects + if (pthread_mutex_init(&ctx->mutex, NULL) != 0) { + fprintf(stderr, "Error: Failed to initialize mutex\n"); + return -1; + } + + if (pthread_cond_init(&ctx->cond, NULL) != 0) { + fprintf(stderr, "Error: Failed to initialize condition variable\n"); + pthread_mutex_destroy(&ctx->mutex); + return -1; + } + + // Create worker threads + pthread_t* threads = malloc(ctx->thread_count * sizeof(pthread_t)); + if (!threads) { + fprintf(stderr, "Error: Memory allocation failed\n"); + pthread_mutex_destroy(&ctx->mutex); + pthread_cond_destroy(&ctx->cond); + return -1; + } + + ctx->start_time = time(NULL); + + // Start threads + for (int i = 0; i < ctx->thread_count; i++) { + if (pthread_create(&threads[i], NULL, miner_thread, ctx) != 0) { + fprintf(stderr, "Error: Failed to create thread %d\n", i); + // Clean up already created threads + ctx->found = -2; // Error flag + for (int j = 0; j < i; j++) { + pthread_join(threads[j], NULL); + } + free(threads); + pthread_mutex_destroy(&ctx->mutex); + pthread_cond_destroy(&ctx->cond); + return -1; + } + } + + // Wait for solution or timeout + pthread_mutex_lock(&ctx->mutex); + while (ctx->found == 0) { + pthread_cond_wait(&ctx->cond, &ctx->mutex); + } + pthread_mutex_unlock(&ctx->mutex); + + // Wait for all threads to finish + for (int i = 0; i < ctx->thread_count; i++) { + pthread_join(threads[i], NULL); + } + + free(threads); + pthread_mutex_destroy(&ctx->mutex); + pthread_cond_destroy(&ctx->cond); + + return ctx->found; +} + +// Cleanup context +static void cleanup_context(mining_context_t* ctx) { + if (ctx->event) { + cJSON_Delete(ctx->event); + ctx->event = NULL; + } + if (ctx->result_event) { + cJSON_Delete(ctx->result_event); + ctx->result_event = NULL; + } +} + +// Main function +int main(int argc, char* argv[]) { + args_t args; + mining_context_t ctx; + int exit_code = 0; + + // Initialize context + memset(&ctx, 0, sizeof(mining_context_t)); + + // Parse arguments + if (parse_arguments(argc, argv, &args) != 0) { + usage(argv[0]); + exit_code = 1; + goto cleanup_args; + } + + if (args.help) { + usage(argv[0]); + goto cleanup_args; + } + + // Initialize nostr library + if (nostr_init() != NOSTR_SUCCESS) { + fprintf(stderr, "Error: Failed to initialize nostr_core library\n"); + exit_code = 1; + goto cleanup_args; + } + + // Decode private key + if (nostr_decode_nsec(args.nsec, ctx.private_key) != NOSTR_SUCCESS) { + fprintf(stderr, "Error: Invalid private key format\n"); + exit_code = 1; + goto cleanup_nostr; + } + + // Read event JSON + char* event_json = NULL; + if (args.event_file) { + event_json = read_event_json(args.event_file); + } else { + event_json = read_stdin_json(); + } + + if (!event_json) { + exit_code = 1; + goto cleanup_nostr; + } + + // Parse JSON event + ctx.event = cJSON_Parse(event_json); + free(event_json); + + if (!ctx.event) { + fprintf(stderr, "Error: Invalid JSON event format\n"); + exit_code = 1; + goto cleanup_nostr; + } + + // Set mining parameters + ctx.target_difficulty = args.pow; + ctx.thread_count = args.threads; + ctx.timeout_seconds = args.timeout_min > 0 ? args.timeout_min * 60 : 0; + + // Start mining + int mining_result = mine_event(&ctx); + + if (mining_result == 1 && ctx.result_event) { + // Success - output mined event + char* output_json = cJSON_Print(ctx.result_event); + if (output_json) { + printf("%s\n", output_json); + free(output_json); + } else { + fprintf(stderr, "Error: Failed to serialize result event\n"); + exit_code = 1; + } + } else if (mining_result == -1) { + fprintf(stderr, "Error: Mining timeout reached\n"); + exit_code = 1; + } else { + fprintf(stderr, "Error: Mining failed\n"); + exit_code = 1; + } + + // Cleanup + cleanup_context(&ctx); + +cleanup_nostr: + nostr_cleanup(); + +cleanup_args: + if (args.nsec) free(args.nsec); + if (args.event_file) free(args.event_file); + + return exit_code; +} diff --git a/real_event.json b/real_event.json new file mode 100644 index 0000000..540fad2 --- /dev/null +++ b/real_event.json @@ -0,0 +1,7 @@ +{ +"kind": 1, +"created_at": 1755197329, +"tags": [], +"content": "Hello POW!", +"pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894" +} diff --git a/test_data.txt b/test_data.txt new file mode 100644 index 0000000..a50a8b2 --- /dev/null +++ b/test_data.txt @@ -0,0 +1,18 @@ + +{ +"nsec": "nsec1gn3mazjfhkyufydg8pl8shrne7wtzzvuhem6j9e3dcczshhwyp5stmt0q8", +"npub": "npub1f9nxytw9tvdwhqar5mwrjhll5jar9upuyx08jw508mh6x05j3z2q53qndh", +"npubHex": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", +"nsecHex": "44e3be8a49bd89c491a8387e785c73cf9cb1099cbe77a917316e30285eee2069" +} + + +{ +"kind": 1, +"created_at": 1755197329, +"tags": [], +"content": "", +"pubkey": "4966622dc55b1aeb83a3a6dc395fffa4ba32f03c219e793a8f3eefa33e928894", +"id": "ab044d1714a14e442db7bede4238b6060bfb28e6e5076236a453742ba856ebf6", +"sig": "99ff2eab1231d689e776d6714d18facdcbe2aacb993316a6b9bcb2f8f08a91307811f40350aeff4aafc3f220f744c977ccbb99f2e953ea28b3f2c95458ee3c96" +} \ No newline at end of file diff --git a/test_event.json b/test_event.json new file mode 100644 index 0000000..63d70ac --- /dev/null +++ b/test_event.json @@ -0,0 +1,7 @@ +{ + "kind": 1, + "content": "Hello, Nostr! Testing proof-of-work mining.", + "tags": [], + "created_at": 1723666800, + "pubkey": "0000000000000000000000000000000000000000000000000000000000000000" +}