https://github.com/alan-turing-institute/trustchain
Trustworthy decentralised PKI
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
✓Committers with academic emails
5 of 12 committers (41.7%) from academic institutions -
✓Institutional organization owner
Organization alan-turing-institute has institutional domain (turing.ac.uk) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.4%) to scientific vocabulary
Keywords from Contributors
Repository
Trustworthy decentralised PKI
Basic Info
- Host: GitHub
- Owner: alan-turing-institute
- License: apache-2.0
- Language: Rust
- Default Branch: main
- Homepage: https://alan-turing-institute.github.io/trustchain/
- Size: 11.3 MB
Statistics
- Stars: 17
- Watchers: 5
- Forks: 5
- Open Issues: 80
- Releases: 8
Metadata Files
README.md
Trustchain
This repo hosts the reference implementation of Trustchain.
Trustchain is a decentralised approach to public key infrastructure designed for application to digital identity. In particular, it builds on the W3C standards for decentralised identifiers (DID) and verifiable credentials (VC).
These two standards are closely linked: credential verification involves retrieval of verification material contained in the issuer's DID document. For example, the verification material may be a public key, in which case the verification method is to use the key to verify a digital signature contained in the VC.
Trustchain enables the creation of DIDs which are themselves verifiable. Via this mechanism, chains of trustworthy DIDs can be constructed in which downstream DIDs (dDIDs) contain an attestation from an entity represented by an upstream DID (uDID).
More information about the concept and state of development can be found on our wiki. The following links may be of particular interest: - Trustchain on Github pages - Trustchain preprint - Trustchain FAQ - Slides & videos - Technical notes
Installation guide
This brief guide is intended for experienced users/developers who want to get started quickly. See the full guide for more detailed, platform-specific instructions.
Step 1. Install ION
Trustchain delegates all DID method operations to a wrapped node on the ION network.
The ION install guide gives step-by-step instructions on how to setup and run your own ION node.
We encountered a few problems with the official installation guide. Hence we recommend to use our modified instructions for ION installation on Mac or ION installation on Linux.
Step 2. Install Rust
Follow the Rust install guide.
Step 3. Install Trustchain
Trustchain can be built and tested using cargo:
git clone https://github.com/alan-turing-institute/trustchain.git
cd trustchain
cargo build
Install the Trustchain CLI with:
shell
cargo install --path crates/trustchain-cli
Usage Guide
Once installed, the CLI is callable with:
trustchain-cli --help
DID subcommands:
trustchain-cli did --help
Verifiable credential subcommands:
trustchain-cli vc --help
Testing
Run unit tests with:
cargo test
To include integration tests, which will fail unless a running ION node is reachable on localhost, use:
cargo test -- --include-ignored
License & disclaimer
Trustchain is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-MIT and LICENSE-APACHE for details.
Acknowledgements
This work was supported, in whole or in part, by the Bill & Melinda Gates Foundation [INV-001309].
Owner
- Name: The Alan Turing Institute
- Login: alan-turing-institute
- Kind: organization
- Email: info@turing.ac.uk
- Website: https://turing.ac.uk
- Repositories: 477
- Profile: https://github.com/alan-turing-institute
The UK's national institute for data science and artificial intelligence.
GitHub Events
Total
- Create event: 23
- Release event: 6
- Issues event: 19
- Watch event: 5
- Delete event: 14
- Issue comment event: 24
- Push event: 63
- Pull request review event: 7
- Pull request review comment event: 5
- Pull request event: 33
Last Year
- Create event: 23
- Release event: 6
- Issues event: 19
- Watch event: 5
- Delete event: 14
- Issue comment event: 24
- Push event: 63
- Pull request review event: 7
- Pull request review comment event: 5
- Pull request event: 33
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Sam Greenbury | s****y@t****k | 745 |
| Tim Hobson | t****n@t****k | 177 |
| Luke Hare | l****e@t****k | 56 |
| Ed Chapman - Turing | e****c@g****m | 50 |
| LydiaFrance | l****e@t****k | 13 |
| pwochner | p****r@t****k | 13 |
| Sam Greenbury | 5****y | 9 |
| Ed Chapman | 9****8 | 4 |
| Tim Hobson | t****8@g****m | 2 |
| pwochner | 7****r | 1 |
| lukehare | 4****e | 1 |
| Benjamin Goering | 1****o | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 124
- Total pull requests: 100
- Average time to close issues: 4 months
- Average time to close pull requests: 23 days
- Total issue authors: 5
- Total pull request authors: 7
- Average comments per issue: 1.18
- Average comments per pull request: 0.3
- Merged pull requests: 87
- Bot issues: 0
- Bot pull requests: 2
Past Year
- Issues: 22
- Pull requests: 30
- Average time to close issues: 20 days
- Average time to close pull requests: 2 days
- Issue authors: 3
- Pull request authors: 3
- Average comments per issue: 0.73
- Average comments per pull request: 0.03
- Merged pull requests: 26
- Bot issues: 0
- Bot pull requests: 2
Top Authors
Issue Authors
- sgreenbury (52)
- thobson88 (46)
- pwochner (13)
- edchapman88 (5)
- lukehare (5)
Pull Request Authors
- sgreenbury (53)
- thobson88 (50)
- edchapman88 (4)
- pwochner (4)
- github-actions[bot] (2)
- lukehare (2)
- gobengo (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 7
-
Total downloads:
- cargo 5,384 total
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 7
- Total maintainers: 1
crates.io: trustchain-ffi
FFI for Trustchain.
- Homepage: https://alan-turing-institute.github.io/trustchain/
- Documentation: https://docs.rs/trustchain-ffi/
- License: MIT OR Apache-2.0
-
Latest release: 0.1.0
published over 1 year ago
Rankings
Maintainers (1)
crates.io: trustchain-http
HTTP Trustchain library and application.
- Homepage: https://alan-turing-institute.github.io/trustchain/
- Documentation: https://docs.rs/trustchain-http/
- License: MIT OR Apache-2.0
-
Latest release: 0.1.0
published over 1 year ago
Rankings
Maintainers (1)
crates.io: trustchain-cli
CLI for Trustchain.
- Homepage: https://alan-turing-institute.github.io/trustchain/
- Documentation: https://docs.rs/trustchain-cli/
- License: MIT OR Apache-2.0
-
Latest release: 0.1.0
published over 1 year ago
Rankings
Maintainers (1)
crates.io: trustchain-api
API for Trustchain.
- Homepage: https://alan-turing-institute.github.io/trustchain/
- Documentation: https://docs.rs/trustchain-api/
- License: MIT OR Apache-2.0
-
Latest release: 0.1.0
published over 1 year ago
Rankings
Maintainers (1)
crates.io: trustchain-ion
Trustchain implementation for ION DID method.
- Homepage: https://alan-turing-institute.github.io/trustchain/
- Documentation: https://docs.rs/trustchain-ion/
- License: MIT OR Apache-2.0
-
Latest release: 0.2.0
published over 1 year ago
Rankings
Maintainers (1)
crates.io: trustchain-core
Core Trustchain functionality.
- Homepage: https://alan-turing-institute.github.io/trustchain/
- Documentation: https://docs.rs/trustchain-core/
- License: MIT OR Apache-2.0
-
Latest release: 0.2.0
published over 1 year ago
Rankings
Maintainers (1)
crates.io: trustchain
Trustchain decentralised PKI reference implementation.
- Homepage: https://alan-turing-institute.github.io/trustchain/
- Documentation: https://docs.rs/trustchain/
- License: MIT OR Apache-2.0
-
Latest release: 0.2.0
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- actions-rs/clippy-check v1 composite
- actions/checkout v1 composite
- actions/checkout v3 composite
- dtolnay/rust-toolchain stable composite
- mockall 0.11.2 development
- async-trait 0.1
- base64 0.13
- canonical_json 0.4.0
- chrono 0.4
- clap ~4.0
- futures 0.3.21
- lazy_static 1.4.0
- petgraph 0.6
- serde 1.0
- serde_jcs 0.1.0
- serde_json 1.0
- sha2 0.10
- ssi 0.4
- tempfile 3.3
- thiserror 1.0
- tokio 1.20.1
- toml 0.5
- glob 0.3 development
- mockall 0.11.2 development
- async-trait 0.1
- bitcoin 0.29.2
- bitcoincore-rpc 0.16.0
- canonical_json 0.4.0
- clap ~4.0
- did-ion 0.1.0
- flate2 1.0.24
- futures 0.3.21
- hex 0.4.3
- ipfs-api-backend-hyper 0.6
- ipfs-hasher 0.13.0
- lazy_static 1.4.0
- mongodb 2.3.1
- reqwest 0.11
- serde 1.0
- serde_jcs 0.1.0
- serde_json 1.0
- sha256 1.1.1
- ssi 0.4
- thiserror 1.0
- tokio 1.20.1
- toml 0.7.2
- tokio 1.20.1 development
- async-trait 0.1
- did-ion 0.1.0
- futures 0.3.28
- serde_json 1.0
- ssi 0.4
- axum-test-helper 0.2.0 development
- async-trait 0.1
- axum 0.6
- base64 0.21.0
- chrono ^0.4
- clap ^4
- did-ion 0.1.0
- execute 0.2.11
- gloo-console 0.2.3
- hyper 0.14.26
- image 0.23.14
- lazy_static 1.4.0
- log 0.4
- qrcode 0.12.0
- reqwest 0.11.16
- serde 1.0
- serde_jcs 0.1.0
- serde_json 1.0
- ssi 0.4
- thiserror 1.0
- tokio 1.20.1
- toml 0.7.2
- tower 0.4
- tower-http 0.4.0
- tracing 0.1
- tracing-subscriber 0.3
- uuid 1.2.2