diff --git a/ARCs/arc-0026-k.md b/ARCs/arc-0026-k.md index 6baf82cc5..170f84025 100644 --- a/ARCs/arc-0026-k.md +++ b/ARCs/arc-0026-k.md @@ -12,13 +12,13 @@ created: 2024-10-02 ## Abstract -This URI specification represents an extension to the base Algorand URI encoding standard (ARC-26) that specifies encoding of consensus participation key registration transactions through deeplinks, QR codes, etc. +This URI specification represents an extension to the base Algorand URI encoding standard ([ARC-26](./arc-0026.md)) that specifies encoding of key registration transactions through deeplinks, QR codes, etc. ## Specification ### General format -As in ARC-26, URIs follow the general format for URIs as set forth in RFC 3986. The path component consists of an Algorand address, and the query component provides additional transaction parameters. +As in [ARC-26](./arc-0026.md), URIs follow the general format for URIs as set forth in RFC 3986. The path component consists of an Algorand address, and the query component provides additional transaction parameters. Elements of the query component may contain characters outside the valid range. These must first be encoded according to UTF-8, and then each octet of the corresponding UTF-8 sequence must be percent-encoded as described in RFC 3986. @@ -43,22 +43,22 @@ fee = "fee=" *qdigit otherparam = qchar *qchar [ "=" *qchar ] ``` -- "qbase64url" corresponds to valid characters of "base64url" encoding, as defined in [RFC 4648 section 5](https://www.rfc-editor.org/rfc/rfc4648.html#section-5) +- "qbase64url" corresponds to valid characters of "base64url" encoding, as defined in RFC 4648 section 5 - "qchar" corresponds to valid characters of an RFC 3986 URI query component, excluding the "=" and "&" characters, which this specification takes as separators. -As in the base ARC-26 standard, the scheme component ("algorand:") is case-insensitive, and implementations must accept any combination of uppercase and lowercase letters. The rest of the URI is case-sensitive, including the query parameter keys. +As in the base [ARC-26](./arc-0026.md) standard, the scheme component ("algorand:") is case-insensitive, and implementations must accept any combination of uppercase and lowercase letters. The rest of the URI is case-sensitive, including the query parameter keys. ### Query Keys - address: Algorand address of transaction sender -- type: fixed to "keyreg". Used to disambiguate the transaction type from the base ARC-26 standard and other possible extensions +- type: fixed to "keyreg". Used to disambiguate the transaction type from the base [ARC-26](./arc-0026.md) standard and other possible extensions -- votekeyparam: The vote key parameter to use in the transaction. Encoded with [base64url](https://www.rfc-editor.org/rfc/rfc4648.html#section-5) encoding. +- votekeyparam: The vote key parameter to use in the transaction. Encoded with base64url encoding. -- selkeyparam: The selection key parameter to use in the transaction. Encoded with [base64url](https://www.rfc-editor.org/rfc/rfc4648.html#section-5) encoding. +- selkeyparam: The selection key parameter to use in the transaction. Encoded with base64url encoding. -- sprfkeyparam: The state proof key parameter to use in the transaction. Encoded with [base64url](https://www.rfc-editor.org/rfc/rfc4648.html#section-5) encoding. +- sprfkeyparam: The state proof key parameter to use in the transaction. Encoded with base64url encoding. - votefstparam: The first round valid parameter to use in the transaction. @@ -66,9 +66,9 @@ As in the base ARC-26 standard, the scheme component ("algorand:") is case-insen - votekdparam: The key dilution key parameter to use in the transaction. -- xnote: As in ARC-26. A URL-encoded notes field value that must not be modifiable by the user when displayed to users. +- xnote: As in [ARC-26](./arc-0026.md). A URL-encoded notes field value that must not be modifiable by the user when displayed to users. -- note: As in ARC-26. A URL-encoded default notes field value that the the user interface may optionally make editable by the user. +- note: As in [ARC-26](./arc-0026.md). A URL-encoded default notes field value that the the user interface may optionally make editable by the user. - fee: Optional. A static fee to set for the transaction in microAlgos. Useful to signal intent to receive participation incentives (e.g. with a 2,000,000 microAlgo transaction fee.) @@ -76,7 +76,7 @@ As in the base ARC-26 standard, the scheme component ("algorand:") is case-insen ### Appendix -This section contains encoding examples. The raw transaction object is presented along with the resulting arc26k URI encoding. +This section contains encoding examples. The raw transaction object is presented along with the resulting ARC-26-K URI encoding. #### Encoding with minimum fee