#permissions #artifice

nightly artifice-manager

Artifice 管理库

3 个版本

0.1.4 2020年7月24日
0.1.3 2020年7月21日
0.1.2 2020年7月18日

1456数据库接口


artifice-installer 中使用

MIT 许可证

31KB
690

Artifice Manager

目的

该 crate 为 artifice 提供集中式功能,如权限请求/授予以及配置检索和维护。之所以为这些可能只使用一次或两次的功能创建单独的 crate,是为了通过暴露动态安全可配置性来扩展 artifice API。

使用库

为了使用 Artifice 网络的工具,必须首先安装该网络。有关如何操作,请参阅

示例用法

认证对等方

use manager::{ArtificeDB, Manager};
use manager::database::Database;
use networking::peers::ArtificePeer;
use networking::ArtificeHost;
fn main(){
    let database = ArtificeDB::default();
    let manager = Manager::load(database, b"example password").unwrap();
    let host = ArtificeHost::from_host_data(manager.config()).unwrap();
    for netstream in host {
        let stream = netstream.unwrap();
        if manager.authenticate(stream.peer()).unwrap() {
            println!("peer authenticated");
        }
    }
}

连接

use manager::{ArtificeDB, Manager};
use manager::database::Database;
use networking::peers::ArtificePeer;
use networking::ArtificeHost;

fn main(){
    let database = ArtificeDB::default();
    let manager = Manager::load(database, b"example_password").unwrap();
    let host = ArtificeHost::from_host_data(manager.config()).unwrap();
    let peer = manager.get_peer("global_peer_hash").unwrap();
    let host = ArtificeHost::from_host_data(manager.config()).unwrap();
    let stream = host.connect(peer).unwrap();
}

依赖项

~19–31MB
~487K SLoC