diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 45 |
1 files changed, 43 insertions, 2 deletions
@@ -1,2 +1,43 @@ -# NostrSDK -C++ System Development Kit for Nostr +# Aedile + +A Nostr System Development Kit written in C++. + +## Behind the Name + +In the ancient Roman Republic, the aediles were officials elected from among the plebians and charged with caring for Rome's public infrastructure and ensuring an accurate system of weights and measures. + +The aim of the Aedile SDK is in the spirit of that ancient office: + +- Provide a fast and efficient service for interacting with Nostr relays via WebSocket connections. +- Offer stable, well-tested implementations of commonly-used [Nostr Implementation Possibilities (NIPs)](https://github.com/nostr-protocol/nips/tree/master). +- Open up Nostr development by taking care of the basics so developers can focus on solving problems, rather than reimplementing the protocol. + +## Building the SDK + +### Prerequisites + +This project uses CMake as its build system, and vcpkg as its dependency manager. Thus, to build the SDK, you will need the following: + +- CMake 3.19 or later +- A C++17 compiler +- vcpkg + +CMake invokes vcpkg at the start of the configure process to install some of the project's dependencies. For this step to succeed, ensure that the `VCPKG_ROOT` environment variable is set to the path of your vcpkg installation. + +### Building and Testing + +The SDK aims to support Linux, Windows, and macOS build targets. It currently supplies a CMake preset for Linux. + +#### Linux + +To build the SDK on Linux, run the following commands from the project root: + +```bash +cmake --build --preset linux +``` + +To run unit tests, use the following command: + +```bash +ctest --preset linux +``` |