15 releases

Uses old Rust 2015

0.2.3 Jul 8, 2015
0.2.2 Jun 25, 2015
0.1.52 Jun 9, 2015
0.1.4 May 27, 2015
0.0.1 Mar 12, 2015

#12 in #vaults


Used in 2 crates

GPL-3.0 license

77KB
1.5K SLoC

maidsafe_types

Primary Maintainer: Brian Smith (brian.smith@maidsafe.net)

Crate Linux Windows OSX Coverage Issues
Build Status Build Status Build Status Coverage Status Stories in Ready
API Documentation - master branch SAFE Network System Documention MaidSafe website Safe Community site

#Overview

The maidsafe_type library defines all types of data stored on maidsafe network. MaidSafe network enables the user of the data to verify the integrity of data, whether it is mutbale or immutable.

Data

Immutable Data

On MaidSafe network, most data are represented as Immutable Data. The integrity of the contents of an Immutable Data can be verified by checking the hash of content to be the address on the network where data is stored.

Structured Data

If data needs to be mutated it is represented as structured data. The structured data can hold a limited history of data updates.

ID

Id types represent information associated to an identity on the network. The Id types can be secret or public. The secret Id types hold sensitive information and are never stored on network. Each secret Id has a corresponding public Id type which is stored on the network. The secret and public part of the Id are used to offer asymmetric cryptography services.

Secret Revocation Id Type

Secret revocation Id types are never stored on network. These Id types are used on creation of Public Ids and also they can be used to revoke their corresponding public-private keys if is required.

Secret Id Type

Similar to revocation Id types, secret Id types are not stored on network. The secret Id types have private and public part of signing and encryption keys associated to an identity.

Public Id Type

Public Id types represent the public part of the secret Id types and their integrity can be verified by revocation id signed information. Moreover, the address a public id type is located on network is the hash of its contents, which can also be verified. A public Id type can be revoked by revocation id type, if required. To revoke the public id, the revocation id type sends a signed update request to the public id type. The update is performed to make the hash of the contents not be equal to its address and/or change signature to be not equal to a valid signature. Any further access to the revoked public id type then results in inregrity / validity check.

###Pre-requisite: libsodium is a native dependency for sodiumxoide. Thus, install sodium by following the instructions here.

For windows, download and use the prebuilt mingw library. Extract and place the libsodium.a file in "bin\x86_64-pc-windows-gnu" for 64bit System or "bin\i686-pc-windows-gnu" for a 32bit system.

#Todo Items

[0.2.4]

  • Add MSID type for shared data.

Dependencies

~24–33MB
~280K SLoC