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):
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
The Client Libs repository can be downloaded either as a zip archive from the official repository or by using Git:
git clone https://github.com/maidsafe/safe_client_libs.git
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.
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.
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 http://www.gnu.org/licenses/gpl-3.0.en.html).