at_c
is the alpha C implementation of the atSDK
- atauth provides a binary for activating an atsign.
- atchops stands for "Cryptographic and Hashing Operations" catered for the atProtocol. atchops uses MbedTLS crypto and other MbedTLS crypto libraries as a dependency.
- atclient implements the atProtocol and will be the core dependency for most applications. atclient depends on atchops and MbedTLS.
- atcommons is a collection of common utilities and data structures used across the atSDK.
- atlogger is a tiny logging package.
Learn how to build atsdk from source code to be used as a library in your projects.
- Get ahold of the source code either via git clone or from downloading the source from our releases:
git clone https://github.com/atsign-foundation/at_c.git
cd at_c
- CMake configure
cmake -S . -B build
- Install
This will run the install step and install the static libraries and include
headers on your system. You may need to use sudo
.
cmake --build build --target install
- Building the source code will allow you to use the
atclient
library in your own CMake projects:
# myproj is a target in your CMake project that depends on atsdk
find_package(atsdk REQUIRED CONFIG)
target_link_libraries(myproj PRIVATE atsdk::atclient)
The target atsdk::atclient
is the atclient library that you can link to
your project. It includes atchops
and atlogger
as dependencies already
with it.
Check out the examples directory for examples on how to implement and use the C SDK.
Read CONTRIBUTING.md for information on how to properly fork and open a pull request.
When creating source files, include headers, or tests to certain packages, please follow the documentation in their according README files (for example atclient Contributing).
Atsign actively maintains this repository. Feel free to contact us about anything at [email protected].
As of December 2, 2024, the list of maintainers below are the active maintainers of this repository. You can ping them for help in your GitHub issues or pull requests:
Atsign encourages all contributions from the community. We appreciate the following contributors for their work on this repository:
- HamdaanaliQuatil - wrote the initial version of the atlogger package
- realvarx - many changes, including the initial version of atclient, end-to-end encryption, and CRUD operations
- natt-n - implemented atKeys file reading utility functions
- Xlin123 - docs fixes and example code improvements