Skip to content

Commit

Permalink
Remove Rococo and add DSNP 1.3 mappings (#284)
Browse files Browse the repository at this point in the history
Remove Rococo, update DSNP 1.3 mappings, errata for
public-key-key-agreement multicodec confusion

Still some TBDs on schema Ids, tentatively trying to get those in before
we merge this.

---------

Co-authored-by: Wes Biggs <wes.biggs@amplica.io>
  • Loading branch information
wesbiggs and Wes Biggs authored Sep 25, 2024
1 parent 67c3786 commit 490f81a
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 30 deletions.
37 changes: 20 additions & 17 deletions pages/Frequency/Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,29 @@ Official schemas may be found in [GitHub](https://github.com/LibertyDSNP/schemas

<!-- These ids are duplicated here for quick reference. -->

| Name | Schema Name | Schema Id Mainnet | Schema Id Testnet (Paseo) | Schema Id Testnet (Rococo) |
| --- | --- | --- | --- | --- |
| [Tombstone](./Publishing.md) | `dsnp.tombstone` | 1 | 1 | 1 |
| [Broadcast](./Publishing.md) | `dsnp.broadcast` | 2 | 2 | 2 |
| [Reply](./Publishing.md) | `dsnp.reply` | 3 | 3 | 3 |
| [Reaction](./Publishing.md)| `dsnp.reaction` | 4 | 4 | 4 |
| [Profile](./Publishing.md) | `dsnp.profile` | 6 | 6 | 5 |
| [Update](./Publishing.md)| `dsnp.update` | 5 | 5 | 6 |
| [Key Agreement Public Keys](./UserData.md)| `dsnp.public-key-key-agreement` | 7 | 7 | 18 |
| [Public Follows](./UserData.md)| `dsnp.public-follows` | 8 | 8 | 13 |
| [Private Follows](./UserData.md) | `dsnp.private-follows` | 9 | 9 | 14 |
| [Private Connections](./UserData.md) | `dsnp.private-connections` | 10 | 10 | 15 |
| [Assertion Method Public Keys](./UserData.md)| `dsnp.public-key-assertion-method` | TBD | 11 | 100 |
| Name | Schema Name | Schema Id Mainnet | Schema Id Testnet (Paseo) |
| --- | --- | --- | --- |
| [Tombstone](./Publishing.md) | `dsnp.tombstone` | 16 | 16 |
| [Broadcast](./Publishing.md) | `dsnp.broadcast` | 17 | 17 |
| [Reply](./Publishing.md) | `dsnp.reply` | 18 | 18 |
| [Reaction](./Publishing.md)| `dsnp.reaction` | 4 | 4 |
| [Update](./Publishing.md)| `dsnp.update` | 19 | 19 |
| [Key Agreement Public Keys](./UserData.md)| `dsnp.public-key-key-agreement` | 7 | 7 |
| [Public Follows](./UserData.md)| `dsnp.public-follows` | 8 | 8 |
| [Private Follows](./UserData.md) | `dsnp.private-follows` | 9 | 9 |
| [Private Connections](./UserData.md) | `dsnp.private-connections` | 10 | 10 |
| [Assertion Method Public Keys](./UserData.md) | `dsnp.public-key-assertion-method` | 14 | 14 |
| [Profile Resources](./UserData.md) | `dsnp.profile-resources` | 15 | 15 |
| [User Attribute Set](./Publishing.md) | `dsnp.user-attribute-set` | 20 | 20 |
| [DSNP Content Attribute Set](./Publishing.md) | `dsnp.dsnp-content-attribute-set` | 12 | 12 |
| [External Content Attribute Set](./Publishing.md) | `dsnp.ext-content-attribute-set` | 13 | 13 |

<!--
### Obsolete
| Name | Mainnet Block Obsoleted | Schema Id Mainnet | Schema Id Testnet (Paseo) | Schema Id Testnet (Rococo) |
| --- | --- | --- | --- | --- |
| TBD | TBD | 0 | 0 | 0 |
| Name | Mainnet Block Obsoleted | Schema Id Mainnet | Schema Id Testnet (Paseo) |
| --- | --- | --- | --- |
| TBD | TBD | 0 | 0 |
-->

Expand All @@ -51,4 +54,4 @@ Official schemas may be found in [GitHub](https://github.com/LibertyDSNP/schemas

| Last Update Date | Frequency Release | DSNP Version |
| --- | --- | --- |
| 2024-04-12 | 1.10.0+ | pre-1.3.0 |
| 2024-09-20 | 1.13.0+ | 1.3.0 |
14 changes: 8 additions & 6 deletions pages/Frequency/Publishing.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@ Frequency Messages are either individual Announcements from a particular user, o

| Enum | Announcement | Type | Deployed Schema Id | Frequency Model Type | Frequency Payload Location |
| :--: | --- | --- | --- | --- | --- |
| 0 | [Tombstone](../DSNP/Types/Tombstone.md) | Batched | Mainnet: 1<br />Testnet (Paseo): 1<br />Testnet (Rococo): 1 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 2 | [Broadcast](../DSNP/Types/Broadcast.md) | Batched | Mainnet: 2<br />Testnet (Paseo): 2<br />Testnet (Rococo): 2 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 3 | [Reply](../DSNP/Types/Reply.md) | Batched | Mainnet: 3<br />Testnet (Paseo): 3<br />Testnet (Rococo): 3 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 4 | [Reaction](../DSNP/Types/Reaction.md) | Batched | Mainnet: 4<br />Testnet (Paseo): 4<br />Testnet (Rococo): 4 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 5 | [Profile](../DSNP/Types/Profile.md) | Batched | Mainnet: 6<br />Testnet (Paseo): 6<br />Testnet (Rococo): 5 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 6 | [Update](../DSNP/Types/Update.md) | Batched | Mainnet: 5<br />Testnet (Paseo): 5<br />Testnet (Rococo): 6 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 0 | [Tombstone](../DSNP/Types/Tombstone.md) | Batched | Mainnet: 16<br />Testnet (Paseo): 16 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 2 | [Broadcast](../DSNP/Types/Broadcast.md) | Batched | Mainnet: 17<br />Testnet (Paseo): 17 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 3 | [Reply](../DSNP/Types/Reply.md) | Batched | Mainnet: 18<br />Testnet (Paseo): 18 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 4 | [Reaction](../DSNP/Types/Reaction.md) | Batched | Mainnet: 4<br />Testnet (Paseo): 4 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 6 | [Update](../DSNP/Types/Update.md) | Batched | Mainnet: 19<br />Testnet (Paseo): 19 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 8 | [User Attribute Set](../DSNP/Types/UserAttributeSet.md) | Batched | Mainnet: 20 <br />Testnet (Paseo): 20 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 9 | [DSNP Content Attribute Set](../DSNP/Types/DSNPContentAttributeSet.md) | Batched | Mainnet: 12 <br />Testnet (Paseo): 12 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |
| 10 | [External Content Attribute Set](../DSNP/Types/ExternalContentAttributeSet.md) | Batched | Mainnet: 13 <br />Testnet (Paseo): 13 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) |

Source code for each schema is located in the [LibertyDSNP/schemas](https://github.com/LibertyDSNP/schemas) repository.

Expand Down
19 changes: 12 additions & 7 deletions pages/Frequency/UserData.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,18 @@ On Frequency, User Data is mapped to Schemas which use [Stateful Storage](https:

| User Data Set | Deployed Schema Ids | Frequency Model Type | Frequency Payload Location | Settings |
| --- | --- | --- | --- | --- |
| [Public Key (Key Agreement)](../DSNP/Types/PublicKeyUserData.md) | Mainnet: 7<br />Testnet (Paseo): 7<br />Testnet (Rococo): 7 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Itemized`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Itemized) | [Append Only](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.AppendOnly), [Signature Required](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.SignatureRequired) |
| [Public Follows](../DSNP/Graph.md#public-follows) | Mainnet: 8<br />Testnet (Paseo): 8<br />Testnet (Rococo): 13 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None |
| [Private Follows](../DSNP/Graph.md#private-follows) | Mainnet: 9<br />Testnet (Paseo): 9<br />Testnet (Rococo): 14 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None |
| [Private Connections](../DSNP/Graph.md#private-connections) | Mainnet: 10<br />Testnet (Paseo): 10<br />Testnet (Rococo): 15 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None |
| [Public Key (Assertion Method)](../DSNP/Types/PublicKeyUserData.md) | Mainnet: TBD <br />Testnet (Paseo): 11<br />Testnet (Rococo): 100 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Itemized`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Itemized) | [Append Only](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.AppendOnly), [Signature Required](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.SignatureRequired) |

[Pseudonymous Relationship Identifiers](./../DSNP/Graph.md#pseudonymous-relationship-identifiers) (PRIds) are stored alongside Private Connections in the same Stateful Storage page.
| [Public Key (Key Agreement)](../DSNP/Types/PublicKeyUserData.md) | Mainnet: 7<br />Testnet (Paseo): 7 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Itemized`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Itemized) | [Append Only](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.AppendOnly), [Signature Required](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.SignatureRequired) |
| [Public Follows](../DSNP/Graph.md#public-follows) | Mainnet: 8<br />Testnet (Paseo): 8 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None |
| [Private Follows](../DSNP/Graph.md#private-follows) | Mainnet: 9<br />Testnet (Paseo): 9 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None |
| [Private Connections](../DSNP/Graph.md#private-connections) | Mainnet: 10<br />Testnet (Paseo): 10 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None |
| [Public Key (Assertion Method)](../DSNP/Types/PublicKeyUserData.md) | Mainnet: 14 <br />Testnet (Paseo): 14 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Itemized`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Itemized) | [Signature Required](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.SignatureRequired) |
| [Profile Resources](../DSNP/Types/ProfileResource.md) | Mainnet: 15 <br />Testnet (Paseo): 15 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Itemized`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Itemized) | None |

Private Connection [Pseudonymous Relationship Identifiers](./../DSNP/Graph.md#pseudonymous-relationship-identifiers) (PRIds) are stored alongside Private Connections in the same Stateful Storage page.

For historical reasons, bytes for the Public Key (Key Agreement) schema are serialized to the corresponding Avro `bytes` field without the leading multicodec identifier.
Readers should prepend or assume leading `0xec 0x01` bytes (indicating the `x25519-pub` multicodec).
Writers should omit these leading bytes when inserting new items.

Source code for each schema is located in the [LibertyDSNP/schemas](https://github.com/LibertyDSNP/schemas) repository.

Expand Down

0 comments on commit 490f81a

Please sign in to comment.