C library for Storj V3 Network.
Storj is building a decentralized cloud storage network. Check out our white paper for more info!
Storj is an S3-compatible platform and suite of decentralized applications that allows you to store data in a secure and decentralized manner. Your files are encrypted, broken into little pieces and stored in a global decentralized network of computers. Luckily, we also support allowing you (and only you) to retrieve those files!
Download and install the latest release of Go (at least Go 1.13) at golang.org.
When ready, building the shared library is as easy as executing:
The output is in the
If you specifically need GPLv2 compatibility, you can use
GPL2=true make build instead, which will compile the library without any Apache v2
dependencies (sadly, Apache v2 is incompatible with the GPLv2). Currently this
results in slower hashing performance (no github.com/minio/sha256-simd) and
reduced debugging and analysis infrastructure.
Documentation of the stable C API is at storj.github.io/uplink-c
API resource management
Functions that return a struct have allocated memory and possibly handles for that struct. There is a function associated with the struct that the caller must use to free those resources. Such a function can be recognized by the "free" in its name.
The rest of parameters of the functions follow the c-convention, the caller owns them unless they mention it explicitly.
- The caller owns the data.
- Some functions allocate on behalf of the caller (in which case there's a corresponding free that needs to be called).
This library is distributed under the MIT/expat license.