| Crates.io | contact-tracing |
| lib.rs | contact-tracing |
| version | 0.2.1 |
| created_at | 2020-04-12 08:38:15.485848+00 |
| updated_at | 2020-04-12 09:10:59.145488+00 |
| description | Implementation of the apple/google contact tracing protocol |
| homepage | https://github.com/mitsuhiko/proximity-tracing |
| repository | https://github.com/mitsuhiko/proximity-tracing |
| max_upload_size | |
| id | 228924 |
| size | 19,673 |
This crate implements the apple/google proximity contact tracing.
The version of this implementation is the initial reference spec from April 2020.
chrono: Adds timestamp operations to all structs (on by default)serde: Adds serde support (implies base64)base64: Adds base64 encoding/decoding through Display and FromStrTo broadcast one needs a tracing key and the rolling proximity identifier (RPI) for a given time. The RPI is normally created from the daily tracing key but there is a shortcut to derive it automatically:
use contact_tracing::{TracingKey, DailyTracingKey, Rpi};
let tkey = TracingKey::unique();
let rpi = Rpi::for_now(&tkey);
Infection checking uses the daily tracing keys directly:
use contact_tracing::{TracingKey, DailyTracingKey, Rpi};
// normally these would come from the internet somewhere
let tkey = TracingKey::unique();
let dtkey = DailyTracingKey::for_today(&tkey);
for (tin, rpi) in dtkey.iter_rpis().enumerate() {
// check your database of contacts against the TIN and RPIs generated
// for each daily tracing key downloaded. The TIN should be within
// some reasonable window of the timestamp you captured.
}
License: Apache-2.0