66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
# Lox
|
|
|
|
Lox is a reputation-based bridge distribution system that provides privacy protection to users and their social graph and is open to all users.
|
|
Lox is written in rust and requires `cargo` to test. [Install Rust](https://www.rust-lang.org/tools/install)
|
|
|
|
### To use the docker environment to build the package:
|
|
|
|
```
|
|
./build-lox.sh
|
|
./run-lox.sh
|
|
```
|
|
|
|
### To run the full tests used for our experimental results run:
|
|
|
|
```
|
|
cargo test --release -- --nocapture TESTNAME
|
|
```
|
|
|
|
Where `TESTNAME` is one of:
|
|
|
|
```
|
|
stats_test_trust_levels
|
|
stats_test_invitations
|
|
stats_test_percent_blockage_migration_05
|
|
stats_test_percent_blockage_migration_010
|
|
stats_test_percent_blockage_migration_15
|
|
stats_test_percent_blockage_migration_20
|
|
stats_test_percent_blockage_migration_25
|
|
stats_test_percent_blockage_migration_30
|
|
stats_test_percent_blockage_migration_35
|
|
stats_test_percent_blockage_migration_40
|
|
stats_test_percent_blockage_migration_45
|
|
stats_test_percent_blockage_migration_50
|
|
stats_test_percent_blockage_migration_55
|
|
stats_test_percent_blockage_migration_60
|
|
stats_test_percent_blockage_migration_65
|
|
stats_test_percent_blockage_migration_70
|
|
stats_test_percent_blockage_migration_75
|
|
stats_test_percent_blockage_migration_80
|
|
stats_test_percent_blockage_migration_85
|
|
stats_test_percent_blockage_migration_90
|
|
stats_test_percent_blockage_migration_95
|
|
stats_test_percent_blockage_migration_100
|
|
```
|
|
|
|
Each test takes approximately 20-30 hours to run. However, this can be improved
|
|
by passing the `fast` feature. Using this feature, our tests are run for 100
|
|
users instead of 10000 users and will produce results comparable to our
|
|
reported results (with larger error margins). To run individual tests with this
|
|
flag run:
|
|
|
|
```
|
|
cargo test --release --features=fast -- --nocapture TESTNAME
|
|
```
|
|
|
|
To run all tests in fast mode and output the results to the Parsing-results
|
|
directory, run:
|
|
|
|
```
|
|
./run_tests_fast
|
|
```
|
|
|
|
Note that: our implementation is coded such that the reachability certificate expires at 00:00 UTC. A workaround has been included in each test to pause if it is too close to this time so the request won't fail. In reality, if the bucket is still reachable, a user could simply request a new reachability token if their request fails for this reason (a new certificate should be available prior to the outdated certificate expiring).
|
|
|
|
|