Data Registry
Overview
The Data Registry is a curated data reference storage under governance. Its primary role is to sidestep the constraints of on-chain storage by providing references to external data resources, like those found on IPFS or GitHub. By doing so, the Data Registry ensures that large files or extended data sequences aren't directly stored on-chain. Instead, it archives external URLs, metalinks, and various distributed references. A pivotal aspect of the Data Registry is its ability to vouch for the authenticity and integrity of the external data. This is achieved via on-chain checksums, bolstering trustworthiness by verifying the consistency of hosted data. Furthermore, the Data Registry enriches the stored references by supplying supplementary information, including file size and encoding. Akin to how the Identity Registrar assures the legitimacy and uniqueness of user identities, the Data Registry offers a secure, reliable bridge between the on-chain network and the vast external data world.
Code of Conduct
An integral property of the Data Registry is the code_of_conduct
. This can be perceived as the Service-layer Agreement bridging network governance and its users. This off-chain text serves as a guiding beacon, delineating the expected conduct of network participants. In essence, it acts as the network's constitution, providing insights and guidelines to users and incoming governance members alike.
Parameters
NAME | TYPE | EXAMPLE | DESCRIPTION |
---|---|---|---|
key | string | doc1 | The identifier for the stored property. |
reference | string | ipfs://QmYw... | The URL or metalink directing to the externally hosted file. |
encoding | string | markdown | Specifies the file's encoding type. |
hash | string | e3b0c442... | The SHA256 checksum, ensuring the file's authenticity. |
size | uint64 | 1024 | Denotes the file size in Bytes. |
CLI Syntax & Examples
Each CLI command and proposal process in KIRA requires specific permissions. These permissions must be added to the account's whitelist or obtained as sudo permissions for direct changes. Refer to the Roles & Permissions documentation for more details.
$SIGNER
represents the transaction signer's account name or address. For instructions on setting common flags as environment variables, such as $FLAGS_TX
and $FLAGS_QR
, see the CLI Guide page.
- Transactions
- Queries
- Governance
Transactions
There is no transactions other than the governance proposals for this sub-module
Queries
data-registry-keys | Retrieve a list of all keys in the Data Registry. |
---|---|
data-registry | Retrieve data associated with a specific key. |
Query All Keys
Retrieve a list of all keys in the Data Registry using the data-registry-keys
command.
sekaid query customgov data-registry-keys --page-key=100000 $FLAGS_QR | jq ".keys"
Query Data by Key
Retrieve data associated with a specific key using the data-registry
command.
Args
$
KEY
: The key whose data is to be queried.
sekaid query customgov data-registry $KEY $FLAGS_QR | jq
Governance
upsert-data-registry | Create a proposal for adding or updating a key in the Data Registry. |
---|
Create or Edit a Data Registrey Key
The CLI command, upsert-data-registry
, is utilized to create a proposal for adding or updating a key in the Data Registry. The command accepts the following arguments and flags:
Args
$KEY
: The key intended to be upserted in the Data Registry.$CHECKSUM
: The checksum corresponding to the data associated with the key.$VALUE
: The value tied to the key.$FILETYPE
: Specifies the type of the file or data that's related to the key.$SIZE
: The size of the file or data linked to the key.
Flags
$TITLE
: The title of the proposal. Typically in the form "Upserting Data Registry key '$KEY'".$DESCRIPTION
: The description of the proposal, often described as "Assign value 'KEY'".
sekaid tx customgov proposal upsert-data-registry \
--from=$SIGNER $FLAGS_TX \
--title=$TITLE --description=$DESCRIPTION \
"$KEY" "$CHECKSUM" "$VALUE" "$FILETYPE" "$SIZE"