192个版本
新 0.7.31 | 2024年8月20日 |
---|---|
0.7.28 | 2024年7月30日 |
0.7.1 | 2024年3月21日 |
0.6.7 | 2023年12月14日 |
0.1.4 | 2022年7月26日 |
#1633 in 网络编程
1,726 每月下载量
用于 divviup-cli
425KB
10K SLoC
janus_client
janus_client
是分布式聚合协议客户端角色的自包含实现。它适用于与 Janus 和 Divvi Up 以及 ISRG 的尊重隐私的指标服务一起使用。当创建 janus
发布时,GitHub Action会发布到crates.io。
lib.rs
:
DAP客户端
此库实现了DAP-PPM协议的客户端角色。它将测量值上传到两个DAP聚合服务器,然后这些服务器在保留每个客户端数据隐私的情况下,对来自许多客户端的数据进行统计聚合。
示例
use url::Url;
use prio::vdaf::prio3::Prio3Histogram;
use janus_messages::{Duration, TaskId};
use std::str::FromStr;
#[tokio::main]
async fn main() {
let leader_url = Url::parse("https://leader.example.com/").unwrap();
let helper_url = Url::parse("https://helper.example.com/").unwrap();
let vdaf = Prio3Histogram::new_histogram(
2,
12,
4
).unwrap();
let taskid = "rc0jgm1MHH6Q7fcI4ZdNUxas9DAYLcJFK5CL7xUl-gU";
let task = TaskId::from_str(taskid).unwrap();
let client = janus_client::Client::new(
task,
leader_url,
helper_url,
Duration::from_seconds(300),
vdaf
)
.await
.unwrap();
client.upload(&5).await.unwrap();
}
依赖关系
~38–53MB
~1M SLoC