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