Skip to content

Experimental cross-platform C implementation of the atSDK for SOC & embedded devices

License

Notifications You must be signed in to change notification settings

atsign-foundation/at_c

The Atsign FoundationThe Atsign Foundation

OpenSSF Scorecard OpenSSF Best Practices

at_c

at_c is the alpha C implementation of the atSDK

Packages

  • 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.

Building Source

Learn how to build atsdk from source code to be used as a library in your projects.

Installing on Linux/MacOS

  1. 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
  1. CMake configure
cmake -S . -B build
  1. 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
  1. 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.

Examples

Check out the examples directory for examples on how to implement and use the C SDK.

Contributing

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).

Maintainers

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:

Recognized Contributors

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

About

Experimental cross-platform C implementation of the atSDK for SOC & embedded devices

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages