diff --git a/README.md b/README.md index 2dbce9cb..4a947f3b 100644 --- a/README.md +++ b/README.md @@ -531,16 +531,24 @@ The library uses automatic semantic versioning based on Git tags. Each build inc **Build fails with secp256k1 errors:** ```bash +# Install secp256k1 with Schnorr support +sudo apt install libsecp256k1-dev # Ubuntu/Debian +# or +sudo yum install libsecp256k1-devel # CentOS/RHEL +# or +brew install secp256k1 # macOS + +# If still failing, build from source with Schnorr support: +git clone https://github.com/bitcoin-core/secp256k1.git cd secp256k1 ./autogen.sh ./configure --enable-module-schnorrsig --enable-module-ecdh make -cd .. -./build.sh lib +sudo make install ``` -**Library too large:** -The x64 library is intentionally large (~15MB) because it includes all secp256k1 cryptographic functions and OpenSSL for complete self-containment. The ARM64 library is smaller (~2.4MB) as it links against system OpenSSL. +**Library size:** +The library is small (~500KB) as it links against system libraries (secp256k1, OpenSSL, curl) rather than including them statically. This keeps the binary size manageable while maintaining full functionality. **Linking errors:** Make sure to include the math library: diff --git a/VERSION b/VERSION index 0bfccb08..ef52a648 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.4.5 +0.4.6 diff --git a/build.sh b/build.sh index 2f3ba450..486e0664 100755 --- a/build.sh +++ b/build.sh @@ -176,7 +176,7 @@ if [ "$CURRENT_DIR" != "nostr_core_lib" ]; then echo " cd nostr_core_lib" echo " ./build.sh" echo " cd .." - echo " gcc your_app.c nostr_core_lib/libnostr_core_x64.a -lz -ldl -lpthread -lm -lssl -lcrypto -lcurl -o your_app" + echo " gcc your_app.c nostr_core_lib/libnostr_core_x64.a -lz -ldl -lpthread -lm -lssl -lcrypto -lcurl -lsecp256k1 -o your_app" echo "" exit 1 fi diff --git a/nostr_core/nostr_core.h b/nostr_core/nostr_core.h index 4460f8f6..56e47c53 100644 --- a/nostr_core/nostr_core.h +++ b/nostr_core/nostr_core.h @@ -2,10 +2,10 @@ #define NOSTR_CORE_H // Version information (auto-updated by increment_and_push.sh) -#define VERSION "v0.4.5" +#define VERSION "v0.4.6" #define VERSION_MAJOR 0 #define VERSION_MINOR 4 -#define VERSION_PATCH 5 +#define VERSION_PATCH 6 /* * NOSTR Core Library - Complete API Reference