Commit Graph

28 Commits

Author SHA1 Message Date
Laan Tungir 499accf440 Implement NIP-21: nostr: URI scheme with full support for note, nprofile, nevent, and naddr URIs including TLV encoding/decoding and comprehensive test suite 2025-10-03 06:10:56 -04:00
Laan Tungir 6b95ad37c5 nip 17, and 59 2025-10-03 04:25:10 -04:00
Laan Tungir 54a6044083 Add enhanced subscription functionality with EOSE result modes 2025-10-02 15:00:50 -04:00
Laan Tungir 0f897ab1b3 Getting the relay pool up to speed 2025-10-02 11:51:41 -04:00
Laan Tungir eb7a9e6098 Add NIP-42 implementation and local updates
- Added NIP-42 authentication implementation (nip042.c, nip042.h)
- Added NIP-42 test suite (nip42_test.c, nip42_test)
- Updated common core files for NIP-42 support
- Updated build script
- Rebuilt test binaries
2025-09-07 13:04:53 -04:00
Laan Tungir 55e2a9c68e nip13 validation added 2025-09-05 13:42:03 -04:00
Laan Tungir 33129d82fd remove exposed .h crypto headers 2025-09-02 12:36:52 -04:00
Laan Tungir c0d095e57b Streaming sha256 2025-08-19 11:24:48 -04:00
Laan Tungir 77d92dbcf9 Nostr note validation added to nip01 2025-08-19 06:59:04 -04:00
Laan Tungir 1da4f6751e clean up 2025-08-17 14:14:52 -04:00
Laan Tungir 3ebfdc06c0 Fixed bug in nip44.c, was an error in ecdh_shared_secret. Added comments 2025-08-17 11:29:07 -04:00
Laan Tungir d8b342ca3f Fixed error in nip04 implementation. Now working 2025-08-17 10:42:38 -04:00
Laan Tungir df23fd618a comparison test for debugging 2025-08-16 17:48:02 -04:00
Laan Tungir 711a7cc15c feat: migrate to system dependencies from static linking
BREAKING CHANGE: Library now requires system-installed dependencies

Major Changes:
- Convert secp256k1 from bundled static lib to system dependency
- Convert OpenSSL from bundled static lib to system dependency
- Convert curl from bundled static lib to system dependency
- Update build.sh with pkg-config detection and fallback logic
- Remove all static library extraction/building logic
- Update README.md with new dependency requirements and installation

Build System:
- Add detect_system_secp256k1() with pkg-config support
- Add detect_system_openssl() with pkg-config support
- Add detect_system_curl() with pkg-config support
- Remove secp256k1 building/extraction from ar archive
- Update CFLAGS and LIBS to use system library variables
- Clear error messages for missing dependencies with install commands

Documentation:
- Add system dependency installation for Ubuntu/Debian/CentOS/macOS
- Update all compile/link examples to include -lssl -lcrypto -lcurl -lsecp256k1
- Remove references to 'self-contained' and 'no external dependencies'
- Update integration examples throughout README

Benefits:
- Smaller library size (only internal code bundled)
- Automatic security updates via system package manager
- Standard Linux library distribution pattern
- Reduced build complexity
- Better system integration with pkg-config

Required Installation:
Ubuntu/Debian: sudo apt install libssl-dev libcurl4-openssl-dev libsecp256k1-dev
CentOS/RHEL: sudo yum install openssl-devel libcurl-devel libsecp256k1-devel
macOS: brew install openssl curl secp256k1
2025-08-16 13:59:29 -04:00
Laan Tungir 40dd3aa20b Updated build.sh to build curl, openssl, and 256k1 if needed 2025-08-16 10:26:39 -04:00
Laan Tungir 9fd4c61df7 Working in the mines 2025-08-16 08:51:04 -04:00
Laan Tungir 76e883fad4 Refactor and consolidate test suite
- Moved old tests from tests/old/ to main tests/ directory
- Renamed nostr_test_bip32.c to bip32_test.c for consistency
- Renamed nostr_crypto_test.c to crypto_test.c for consistency
- Renamed wss_test.c and moved from old directory
- Fixed unused variable warning in bip32_test.c
- Updated build system and workspace rules
- Cleaned up old compiled test executables
- Updated nostr_common.h and core_relays.c
- Removed obsolete nostr_core.h.old backup file

This consolidates all active tests into the main directory and removes
outdated test files while maintaining a clean, organized structure.
2025-08-16 08:38:41 -04:00
Laan Tungir c3a9482882 Completed refactoring to separate nip files, and updating build.sh 2025-08-16 07:42:48 -04:00
Laan Tungir 8ed9262c65 Last version before deleting Makefile and CmakeLists.txt 2025-08-15 16:32:59 -04:00
Laan Tungir c569c0c346 Improved POW 2025-08-15 07:47:16 -04:00
Laan Tungir 3d2537603c . 2025-08-14 19:15:55 -04:00
Laan Tungir 2637378bf0 clean up versioning 2025-08-14 16:26:37 -04:00
Laan Tungir c109c93382 Initial template structure from nostr_core_lib
- Complete C library template with OpenSSL-based crypto
- Comprehensive build system (Makefile, build.sh)
- Example code and test suite
- Documentation and usage guides
- Cross-platform compatibility (x64/ARM64)
- Production-ready structure for C library projects
2025-08-14 15:10:59 -04:00
Laan Tungir 0ace93e303 Adding in curl and openssl repos 2025-08-14 12:09:30 -04:00
Laan Tungir 6d7b709f9a Pre-mbedTLS cleanup checkpoint - OpenSSL migration complete, all tests passing 2025-08-14 11:51:26 -04:00
Laan Tungir 5a7c796873 Last commit before switching from mbedtls to openssl 2025-08-14 09:58:24 -04:00
Laan Tungir d257ae49f1 Fully statically linked for both x64 and arm64. Updated build.sh to always compile both versions 2025-08-11 06:54:50 -04:00
Laan Tungir ca6b4754f9 First commit on a late git install 2025-08-09 10:23:28 -04:00