| Crates.io | openrank |
| lib.rs | openrank |
| version | 0.2.6 |
| created_at | 2024-06-11 12:44:15.876954+00 |
| updated_at | 2025-09-13 09:35:21.783856+00 |
| description | CLI for OpenRank AVS |
| homepage | https://github.com/openrankprotocol/openrank-tee |
| repository | https://github.com/openrankprotocol/openrank-tee |
| max_upload_size | |
| id | 1268191 |
| size | 225,485 |
A command-line SDK for interacting with the OpenRank AVS (Actively Validated Service) - a decentralized trust and reputation system that runs PageRank-style algorithms in Trusted Execution Environments (TEEs).
OpenRank is a decentralized system for computing trust scores and reputation rankings using the EigenTrust algorithm (a variant of PageRank). It operates within Trusted Execution Environments to ensure computational integrity and provides censorship-resistant, verifiable trust computations.
The system works with:
Build the SDK from source:
cd sdk
cargo build --release
The binary will be available at target/release/openrank.
Initialise the workspace with example datasets and .env file:
openrank init ./my-workspace
This command will create a folder with following structure:
.env file contains a placeholder for your mnemonic phrase:
MNEMONIC="add your mnemonic phrase here"
compute-requestSubmit a computation request using trust and seed data from local folders.
openrank compute-request <TRUST_FOLDER_PATH> <SEED_FOLDER_PATH>
Arguments:
TRUST_FOLDER_PATH - Path to folder containing trust CSV filesSEED_FOLDER_PATH - Path to folder containing seed CSV filesExample:
openrank compute-request ./trust_data ./seed_data
compute-watchMonitor and watch for computation results by compute ID.
openrank compute-watch <COMPUTE_ID> [--out-dir <OUT_DIR>]
Arguments:
COMPUTE_ID - The computation ID to monitorOptions:
--out-dir <OUT_DIR> - Output directory for results (optional)Example:
openrank compute-watch abc123 --out-dir ./results
download-scoresDownload computed scores for a specific computation.
openrank download-scores <COMPUTE_ID> [--out-dir <OUT_DIR>]
Arguments:
COMPUTE_ID - The computation ID to download scores forOptions:
--out-dir <OUT_DIR> - Output directory for downloaded scores (optional)Example:
openrank download-scores abc123 --out-dir ./scores
compute-localRun OpenRank computation locally using trust and seed CSV files.
openrank compute-local <TRUST_PATH> <SEED_PATH> [OUTPUT_PATH]
Arguments:
TRUST_PATH - Path to trust CSV fileSEED_PATH - Path to seed CSV fileOUTPUT_PATH - Output path for computed scores (optional)CSV Format:
from_id,to_id,trust_weightpeer_id,scoreExample:
openrank compute-local trust.csv seed.csv scores.csv
verify-localVerify computed scores against trust and seed data locally.
openrank verify-local <TRUST_PATH> <SEED_PATH> <SCORES_PATH>
Arguments:
TRUST_PATH - Path to trust CSV fileSEED_PATH - Path to seed CSV fileSCORES_PATH - Path to scores CSV file to verifyExample:
openrank verify-local trust.csv seed.csv computed_scores.csv
from_id,to_id,trust_weight
alice,bob,0.8
bob,charlie,0.6
charlie,alice,0.9
peer_id,score
alice,1.0
bob,0.5
charlie,0.3
peer_id,score
alice,0.45
bob,0.32
charlie,0.23
Or use AWS credential files and profiles as per standard AWS CLI configuration.
Prepare your data files:
echo "alice,bob,0.8" > trust.csv
echo "bob,charlie,0.6" >> trust.csv
echo "alice,1.0" > seed.csv
echo "bob,0.5" >> seed.csv
Run local computation:
openrank compute-local trust.csv seed.csv scores.csv
Verify the results:
openrank verify-local trust.csv seed.csv scores.csv
Submit computation request:
openrank compute-request ./trust_folder ./seed_folder
Monitor computation:
openrank compute-watch <compute_id> --out-dir ./results
Download results:
openrank download-scores <compute_id> --out-dir ./final_scores
OpenRank implements the EigenTrust algorithm with the following key features:
The algorithm iteratively computes trust scores until convergence, providing a robust measure of reputation in decentralized networks.
openrank --help
openrank <command> --help
For more information about the OpenRank system and TEE deployment, see the main project documentation.