Skip to content

uniquid/uidcore-c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uidcore-c

Reference C implementation of the core Uniquid library

This implementation is aimed to be simple and easy to be embedded

it depends on the following libraries:

  • trezor_crypto (block-chain related cryptography)
  • yajl (JSON parser)
  • curl (block-chain access) - the library user can do its own implementation of UID_httpal.c if unable to use curl
  • pthread (for the synchronization mutex)

There is no use of malloc() in the library code, though yajl and curl use malloc in their implementations.
yajl offers a way to implement your own malloc().

It is planned to delete dependencies from yajl
cmake is needed to build yajl under Linux

How to build

Because of the large number of environments that the library targets we give a simple make build system that builds for Linux

These packages should be enaugh to compile the library on a fresh installed Ubuntu 17.10
build-essential
cmake
libcurl4-openssl-dev

To build the documentation you need:
libcunit1-dev

to run the test suite you need:
doxygen

Download the sources from gitthub with
git clone --recurse-submodules git@github.com:uniquid/uidcore-c.git

cd in the uidcore-c directory then just run

make
to build the the shared library

make docs
to build the Doxygen documentation

make run-tests
to build and run the test suite

example code

see
example_init.c for an example of entity initialization
example_provider.c for an example of provider code
example_user.c for an example of user code

About

Reference C implementation of the core Uniquid library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages