Pre-mbedTLS cleanup checkpoint - OpenSSL migration complete, all tests passing
This commit is contained in:
21
README.md
21
README.md
@@ -2,7 +2,7 @@
|
||||
|
||||
A comprehensive, self-contained C library for NOSTR protocol implementation with no external cryptographic dependencies.
|
||||
|
||||
[](VERSION)
|
||||
[](VERSION)
|
||||
[](#license)
|
||||
[](#building)
|
||||
|
||||
@@ -142,7 +142,7 @@ make clean
|
||||
**Included:**
|
||||
- cJSON (JSON parsing)
|
||||
- secp256k1 (elliptic curve cryptography)
|
||||
- mbedTLS components (selected crypto functions)
|
||||
- OpenSSL (TLS for WebSocket connections)
|
||||
|
||||
## 📚 API Documentation
|
||||
|
||||
@@ -309,18 +309,25 @@ cd tests && make test
|
||||
|
||||
### Self-Contained Library
|
||||
|
||||
The `libnostr_core.a` file is completely self-contained with **no external dependencies**:
|
||||
**x64 Library:** The `libnostr_core.a` file is completely self-contained with **no external dependencies**:
|
||||
|
||||
- ✅ **No OpenSSL required**
|
||||
- ✅ **All OpenSSL code embedded**
|
||||
- ✅ **No libwally required**
|
||||
- ✅ **No system secp256k1 required**
|
||||
- ✅ **Only needs math library (`-lm`)**
|
||||
|
||||
```bash
|
||||
# This is all you need:
|
||||
# x64 - This is all you need:
|
||||
gcc your_app.c ./libnostr_core.a -lm -o your_app
|
||||
```
|
||||
|
||||
**ARM64 Library:** The `libnostr_core_arm64.a` requires system OpenSSL:
|
||||
|
||||
```bash
|
||||
# ARM64 - Requires OpenSSL libraries:
|
||||
aarch64-linux-gnu-gcc your_app.c ./libnostr_core_arm64.a -lssl -lcrypto -lm -o your_app
|
||||
```
|
||||
|
||||
## 🔧 Configuration
|
||||
|
||||
### Compile-Time Options
|
||||
@@ -377,7 +384,7 @@ make arm64
|
||||
|
||||
## 📈 Version History
|
||||
|
||||
Current version: **0.1.8**
|
||||
Current version: **0.1.20**
|
||||
|
||||
The library uses automatic semantic versioning based on Git tags. Each build increments the patch version automatically.
|
||||
|
||||
@@ -400,7 +407,7 @@ cd ..
|
||||
```
|
||||
|
||||
**Library too large:**
|
||||
The library is intentionally large (~2.4MB) because it includes all secp256k1 cryptographic functions for complete self-containment.
|
||||
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.
|
||||
|
||||
**Linking errors:**
|
||||
Make sure to include the math library:
|
||||
|
||||
Reference in New Issue
Block a user