mirror of
https://seed.radicle.dev/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5.git
synced 2026-10-30 16:30:47 +08:00
We ensure that a `rad/root` ref is included in the signed refs file under `rad/sigrefs` for all remotes. This prevents a certain kind of "grafting" attack where signed refs can be copied between repositories, by having the peer sign over the identity root together with the data refs. When verifying signed refs, we ensure that the ref is present and points to an identity branch root that matches the repository identity containing the signed refs. Alternatives: lots of alternatives were considered, but this one doesn't introduce any changes to the signing. The `rad/id/root` name was considered but is invalid due to `rad/id`.
1.8 KiB
1.8 KiB
To display a repository's identifier, or RID, you may use the rad inspect
command from inside a working copy:
$ rad inspect
rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
As a shorthand, you can also simply use rad .:
$ rad .
rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
It's also possible to display all of the repository's git references:
$ rad inspect --refs
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
└── refs
├── cobs
│ └── xyz.radicle.id
│ └── 0656c217f917c3e06234771e9ecae53aba5e173e
├── heads
│ └── master
└── rad
├── id
├── root
└── sigrefs
And sigrefs:
$ rad inspect --sigrefs
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi 99c549702e2bcfe02b0e68d4a2224fb7a1524529
Or display the repository identity's payload and delegates:
$ rad inspect --payload
{
"xyz.radicle.project": {
"defaultBranch": "master",
"description": "Radicle Heartwood Protocol & Stack",
"name": "heartwood"
}
}
$ rad inspect --delegates
did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi (alice)
Finally, the --history flag allows you to examine the identity document's
history:
$ rad inspect --history
commit 0656c217f917c3e06234771e9ecae53aba5e173e
blob d96f425412c9f8ad5d9a9a05c9831d0728e2338d
date Thu, 15 Dec 2022 17:28:04 +0000
Initialize identity
{
"payload": {
"xyz.radicle.project": {
"defaultBranch": "master",
"description": "Radicle Heartwood Protocol & Stack",
"name": "heartwood"
}
},
"delegates": [
"did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi"
],
"threshold": 1
}
The identity document is the metadata associated with a repository, that is only changeable by delegates.