File List
Not logged in

Files of check-in [26611521a4] in directory wiki_references/2017/software/MaidSafe_net/src_from_GitHub/the_repository_clones/safe_client_libs   [history]

SAFE Client Libs

CI Issues Lines of Code
MaidSafe website SAFE Dev Forum SAFE Network Forum


SAFE Client Libs is a set of libraries providing a way for developers to consume and use the SAFE Network facilities. The libraries communicate with Vaults and build upon the foundation of fundamental network components, such as Crust and Routing, to provide higher-level network abstractions like files and directories.

Please see Introduction to Client Libs for more about the project.

This is the project workspace. Please refer to individual members for details:

Crate graph (explanation):

safe_app dependencies

Building from source

Installing Rust

The Rust compiler is required in order to build Client Libs. Please follow the official Rust installation instructions.

The latest Stable version of Rust is required.

If you already have Rust installed, you may need to upgrade to the latest stable:

rustup update stable

Downloading Client Libs

The Client Libs repository can be downloaded either as a zip archive from the official repository or by using Git:

git clone

Building the libraries

To build one of the libraries, first navigate to its directory: this will be either safe_core, safe_authenticator, or safe_app.

To build the library in debug mode, simply use the command

cargo build --release

This builds the library in release mode, which is how we build our official binaries.

To run tests:

cargo test --release

Note: Make sure to always build in release mode (indicated by the --release flag). When testing, this will catch rare FFI bugs that may not manifest themselves in debug mode. Debug mode is also unoptimized and can take an inordinate amount of time to run tests or examples.

More about building

For information about available features, see Features.

For building using Docker, see Docker.

For configuration options, see Configuring Client Libs.


Want to contribute? Great! There are many ways to give back to the project, whether it be writing new code, fixing bugs, or just reporting errors. All forms of contributions are encouraged!

For instructions on how to contribute, see Guide to contributing.

For our testing practices, see Testing Client Libs.

More about the project

Please see the Client Libs wiki for our comprehensive documentation.


This SAFE Network Software is licensed under the General Public License (GPL), version 3 (LICENSE