3 个版本
0.1.4 | 2020年7月24日 |
---|---|
0.1.3 | 2020年7月21日 |
0.1.2 | 2020年7月18日 |
1456 在 数据库接口
在 artifice-installer 中使用
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