47 个版本 (15 个重大更新)
0.16.1 | 2024 年 1 月 30 日 |
---|---|
0.16.0 | 2023 年 11 月 21 日 |
0.15.4 | 2023 年 11 月 1 日 |
0.13.1 | 2023 年 7 月 21 日 |
0.4.0 | 2022 年 11 月 30 日 |
#311 在 文件系统
用于 2 crates
760KB
16K SLoC
非实体层
这是处理访问非实体层的大多数语言特定可分发包的入口点。它包含特定语言的绑定和平台相关的行为,以提供一组通用的高级 API。
构建头文件
要构建 C FFI 头文件
cargo run --features=headers --example generate_header
lib.rs
:
这个包是非实体层协议嵌入器的高级别入口点。嵌入器可以使用 [NoosphereContext] 初始化一个单例,以管理球体,包括创建新的和加入现有的。
#
let noosphere = NoosphereContext::new(NoosphereContextConfiguration {
storage: NoosphereStorage {
path: NoosphereStoragePath::Scoped("/path/to/block/storage".into()),
config: NoosphereStorageConfig::default(),
},
security: NoosphereSecurity::Insecure {
path: "/path/to/key/storage".into(),
},
network: NoosphereNetwork::Http {
gateway_api: Some(Url::parse("http://example.com")?),
ipfs_gateway_url: None,
},
})?;
noosphere.create_key("my-key").await?;
let SphereReceipt { identity, mnemonic } = noosphere.create_sphere("my-key").await?;
// identity is the sphere's DID
// mnemonic is a recovery phrase that must be stored securely by the user
let mut sphere_channel = noosphere.get_sphere_channel(&identity).await?;
let sphere = sphere_channel.mutable();
// Write something to the sphere's content space
sphere.write("foo", &ContentType::Text, "bar".as_bytes(), None).await?;
sphere.save(None).await?;
// Sync the sphere with the network via a Noosphere gateway
sphere.sync().await?;
依赖项
~16–35MB
~596K SLoC