From 0097ca2c0b4899e974b954c7d6f33050bf40f820 Mon Sep 17 00:00:00 2001 From: Zach Hyatt Date: Fri, 19 Feb 2021 17:08:12 -0600 Subject: [PATCH 1/4] Update currency units to reflect recent discussions of changes --- .../protocol-design/distribution-and-units.md | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/docs/protocol-design/distribution-and-units.md b/docs/protocol-design/distribution-and-units.md index 326af5bea..cbf5f6636 100644 --- a/docs/protocol-design/distribution-and-units.md +++ b/docs/protocol-design/distribution-and-units.md @@ -27,22 +27,20 @@ The distribution of Nano (formerly RaiBlocks) was performed through solving manu During distribution the Genesis seed was kept in cold storage and funds were moved to the Landing account once per week to minimize the number of live, undistributed blocks. These were subsequently moved into the Faucet account for distribution until the faucet was closed and remaining funds sent to the Burn account. !!! info "Total Supply" - With $2^{128} - 1$ raw (i.e. `FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF` HEX raw) in the original Genesis account, upon closing of the faucet and burning of the remaining funds, the total supply which is 100% in circulation ended at **~133,248,297 Nano** (or more precisely 133248297920938463463374607431768211455 raw). Since then, additional funds have been sent to the known burn address slightly lowering the amount in circulation as a result. This amount can be found using the [available_supply](/commands/rpc-protocol/#available_supply) RPC. + With $2^{128} - 1$ rai (i.e. `FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF` HEX rai) in the original Genesis account, upon closing of the faucet and burning of the remaining funds, the total supply which is 100% in circulation ended at **~133,248,297 nano** (or more precisely 133248297920938463463374607431768211455 rai). Since then, additional funds have been sent to the known burn address slightly lowering the amount in circulation as a result. This amount can be found using the [available_supply](/commands/rpc-protocol/#available_supply) RPC. ## Unit Dividers -A 128 bit integer is used to represent account balances. A set of SI prefixes[^2] was used to make the numbers more accessible and avoid confusion. The reference wallet uses Mnano (or NANO/Nano) as a divider. - -| Name | SI Prefix | Integer | Power -|---------------|-------------|------------------------------------|------- -| | Gnano | 1000000000000000000000000000000000 | $10^{33}$ -| NANO/Nano | Mnano | 1000000000000000000000000000000 | $10^{30}$ -| | knano | 1000000000000000000000000000 | $10^{27}$ -| | nano | 1000000000000000000000000 | $10^{24}$ -| | mnano | 1000000000000000000000 | $10^{21}$ -| | μnano/unano | 1000000000000000000 | $10^{18}$ -| raw | | 1 | $10^{0}$ - -1 raw is the smallest possible division and NANO/Nano (Mnano) is the current standard division used in most wallets, on exchanges, etc. +A 128 bit integer is used to represent account balances. A set of SI prefixes[^2] was used to make the numbers more accessible and avoid confusion. The reference wallet uses nano as a divider. + +| Name | Integer | Power | Previous | +|-------------------|------------------------------------|----------|-----------------------| +| nano (NANO/Nano) | 1000000000000000000000000000000 | $10^{30}$| Mnano | +| cents (cnano) | 1000000000000000000000000000 | $10^{28}$| undefined | +| micronano (μnano) | 1000000000000000000000000 | $10^{24}$| nano (case sensitive) | +| rai | 1 | $10^{0}$ | raw | + + +**NOTE:** 1 rai is the smallest possible division and is used in QR codes as `amount`, while nano is the current standard division used for human readable elements in most wallets, on exchanges, etc. [^1]:https://medium.com/nanocurrency/the-nano-faucet-c99e18ae1202 [^2]:The SI prefixes are metric prefixes that were standardized for use in the International System of Units (SI) by the International Bureau of Weights and Measures (BIPM). https://www.bipm.org/en/measurement-units/prefixes.html From 1bf09e290708940a37187a39348017ad6291acd9 Mon Sep 17 00:00:00 2001 From: Zach Hyatt Date: Thu, 4 Mar 2021 08:53:35 -0600 Subject: [PATCH 2/4] Update distribution-and-units.md --- docs/protocol-design/distribution-and-units.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/protocol-design/distribution-and-units.md b/docs/protocol-design/distribution-and-units.md index cbf5f6636..caa58f4e7 100644 --- a/docs/protocol-design/distribution-and-units.md +++ b/docs/protocol-design/distribution-and-units.md @@ -35,7 +35,7 @@ A 128 bit integer is used to represent account balances. A set of SI prefixes[^ | Name | Integer | Power | Previous | |-------------------|------------------------------------|----------|-----------------------| | nano (NANO/Nano) | 1000000000000000000000000000000 | $10^{30}$| Mnano | -| cents (cnano) | 1000000000000000000000000000 | $10^{28}$| undefined | +| cents (cnano) | 10000000000000000000000000000 | $10^{28}$| undefined | | micronano (μnano) | 1000000000000000000000000 | $10^{24}$| nano (case sensitive) | | rai | 1 | $10^{0}$ | raw | From 543320cc470108eb7207cc635673d111dd4a43fc Mon Sep 17 00:00:00 2001 From: Zach Hyatt Date: Fri, 16 Jul 2021 15:13:57 -0700 Subject: [PATCH 3/4] Switch back to raw, remove cents and add disclaimer about SI prefixes --- docs/protocol-design/distribution-and-units.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/protocol-design/distribution-and-units.md b/docs/protocol-design/distribution-and-units.md index caa58f4e7..65a35e321 100644 --- a/docs/protocol-design/distribution-and-units.md +++ b/docs/protocol-design/distribution-and-units.md @@ -27,20 +27,20 @@ The distribution of Nano (formerly RaiBlocks) was performed through solving manu During distribution the Genesis seed was kept in cold storage and funds were moved to the Landing account once per week to minimize the number of live, undistributed blocks. These were subsequently moved into the Faucet account for distribution until the faucet was closed and remaining funds sent to the Burn account. !!! info "Total Supply" - With $2^{128} - 1$ rai (i.e. `FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF` HEX rai) in the original Genesis account, upon closing of the faucet and burning of the remaining funds, the total supply which is 100% in circulation ended at **~133,248,297 nano** (or more precisely 133248297920938463463374607431768211455 rai). Since then, additional funds have been sent to the known burn address slightly lowering the amount in circulation as a result. This amount can be found using the [available_supply](/commands/rpc-protocol/#available_supply) RPC. + With $2^{128} - 1$ raw (i.e. `FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF` HEX raw) in the original Genesis account, upon closing of the faucet and burning of the remaining funds, the total supply which is 100% in circulation ended at **~133,248,297 nano** (or more precisely 133248297920938463463374607431768211455 raw). Since then, additional funds have been sent to the known burn address slightly lowering the amount in circulation as a result. This amount can be found using the [available_supply](/commands/rpc-protocol/#available_supply) RPC. ## Unit Dividers -A 128 bit integer is used to represent account balances. A set of SI prefixes[^2] was used to make the numbers more accessible and avoid confusion. The reference wallet uses nano as a divider. +A 128 bit integer is used to represent account balances. The reference wallet uses nano as a divider. | Name | Integer | Power | Previous | |-------------------|------------------------------------|----------|-----------------------| | nano (NANO/Nano) | 1000000000000000000000000000000 | $10^{30}$| Mnano | -| cents (cnano) | 10000000000000000000000000000 | $10^{28}$| undefined | -| micronano (μnano) | 1000000000000000000000000 | $10^{24}$| nano (case sensitive) | -| rai | 1 | $10^{0}$ | raw | +| raw | 1 | $10^{0}$ | raw | -**NOTE:** 1 rai is the smallest possible division and is used in QR codes as `amount`, while nano is the current standard division used for human readable elements in most wallets, on exchanges, etc. +**NOTE:** 1 raw is the smallest possible division and is used in QR codes as `amount`, while nano is the current standard division used for human readable elements in most wallets, on exchanges, etc. + +A set of SI prefixes[^2] from the base nano has been previously used to make the numbers more accessible and avoid confusion in certain scenarios, but this approach is not common (e.g., micronano or μnano for $10^{24}$). [^1]:https://medium.com/nanocurrency/the-nano-faucet-c99e18ae1202 [^2]:The SI prefixes are metric prefixes that were standardized for use in the International System of Units (SI) by the International Bureau of Weights and Measures (BIPM). https://www.bipm.org/en/measurement-units/prefixes.html From 5734f944216bfe4e6c9705f64de4fe8b673f584d Mon Sep 17 00:00:00 2001 From: Zach Hyatt Date: Tue, 20 Jul 2021 10:43:16 -0700 Subject: [PATCH 4/4] Fix reference to Mnano --- docs/commands/rpc-protocol.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/commands/rpc-protocol.md b/docs/commands/rpc-protocol.md index 66ad96a31..1588b245b 100644 --- a/docs/commands/rpc-protocol.md +++ b/docs/commands/rpc-protocol.md @@ -703,7 +703,7 @@ Using the optional `json_block` is recommended since v19.0. } ``` -Note: The `Balance` in contents is a uint128. However, it will be a hex-encoded (like `0000000C9F2C9CD04674EDEA40000000` for [1 Mnano](/protocol-design/distribution-and-units/)) when the block is a legacy *Send Block*. If the block is a *State-Block*, the same `Balance` will be a numeric-string (like `1000000000000000000000000000000`). +Note: The `Balance` in contents is a uint128. However, it will be a hex-encoded (like `0000000C9F2C9CD04674EDEA40000000` for [1 nano](../protocol-design/distribution-and-units.md#unit-dividers)) when the block is a legacy *Send Block*. If the block is a *State-Block*, the same `Balance` will be a numeric-string (like `1000000000000000000000000000000`). **Optional "json_block"**