diff --git a/docs/alpha/consensus.rst b/docs/alpha/consensus.rst index 7dbc919a1bf1d3f8fd556c483c8aca4eae1897d1..c6626b41ffd92b3eb4880f3ed17cb8e4a65354f6 100644 --- a/docs/alpha/consensus.rst +++ b/docs/alpha/consensus.rst @@ -414,9 +414,9 @@ Consensus related protocol parameters * - ``CONSENSUS_THRESHOLD`` - ``ceil(2 * CONSENSUS_COMMITTEE_SIZE / 3)`` = 4667 * - ``MINIMAL_BLOCK_DELAY`` - - 30s + - 20s * - ``DELAY_INCREMENT_PER_ROUND`` - - 15s + - 10s * - ``MINIMAL_PARTICIPATION_RATIO`` - 2/3 * - ``FROZEN_DEPOSITS_PERCENTAGE`` @@ -428,11 +428,11 @@ Consensus related protocol parameters * - ``RATIO_OF_FROZEN_DEPOSITS_SLASHED_PER_DOUBLE_ENDORSEMENT`` - 1/2 * - ``BAKING_REWARD_FIXED_PORTION`` - - 10 tez + - 6.666666 tez * - ``BAKING_REWARD_BONUS_PER_SLOT`` - - ``bonus / (CONSENSUS_COMMITTEE_SIZE / 3)`` = 0.004286 tez + - ``bonus / (CONSENSUS_COMMITTEE_SIZE / 3)`` = 0.002857 tez * - ``ENDORSING_REWARD_PER_SLOT`` - - ``endorsing_reward / CONSENSUS_COMMITTEE_SIZE`` = 0.002857 tez + - ``endorsing_reward / CONSENSUS_COMMITTEE_SIZE`` = 0.001904 tez These are a subset of the :ref:`protocol constants `. diff --git a/docs/alpha/liquidity_baking.rst b/docs/alpha/liquidity_baking.rst index 19f4bd704f374d3a38053906bd95fc62db11512d..dc66151965c763162b31e07d57b9294e97d26900 100644 --- a/docs/alpha/liquidity_baking.rst +++ b/docs/alpha/liquidity_baking.rst @@ -26,7 +26,7 @@ The LIGO and Michelson code for these contracts, as well as detailed documentati Subsidy ~~~~~~~ -At every block in the chain, a small amount of tez is minted and credited to the CPMM contract, and the CPMM's ``%default`` entrypoint is called to update the ``xtz_pool`` balance in its storage. The amount that is minted and sent to the CPMM contract is 1/16th of the rewards for a block; currently these rewards are 40 tez per block so the amount that is sent to the CPMM contract is 2.5 tez per block. +At every block in the chain, a small amount of tez is minted and credited to the CPMM contract, and the CPMM's ``%default`` entrypoint is called to update the ``xtz_pool`` balance in its storage. The amount that is minted and sent to the CPMM contract is 1/16th of the rewards for a block of round 0 with all endorsements; currently these rewards are 80 tez per minute so the amount that is sent to the CPMM contract is 1.666666 tez per block. So the credits to the CPMM contract can be accounted for by indexers, they are included in block metadata as a balance update with a new constructor for ``update_origin``, ``Subsidy``. diff --git a/docs/alpha/octez-accuser.html b/docs/alpha/octez-accuser.html new file mode 100644 index 0000000000000000000000000000000000000000..d6bd6fe387f7db2b3af89ef9ba2d27bbb395282c --- /dev/null +++ b/docs/alpha/octez-accuser.html @@ -0,0 +1,167 @@ + +

Usage

+ + + + +

To browse the documentation

+ + + + +

Global options (must come before the command)

+ +
-d --base-dir <path>: client data directory (absent: TEZOS_CLIENT_DIR env) + The directory where the Tezos client will store all its data. + If absent, its value is the value of the TEZOS_CLIENT_DIR + environment variable. If TEZOS_CLIENT_DIR is itself not specified, + defaults to $HOME/.tezos-client + +-n --no-base-dir-warnings: silence warnings about client data directory +-c --config-file <path>: configuration file +-t --timings: show RPC request times +--chain <hash|tag>: chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + Defaults to `main`. +-b --block <hash|level|tag>: block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + Defaults to `head`. +-w --wait <none|<int>>: how many confirmation blocks are needed before an operation is considered included +-p --protocol <hash>: use commands of a specific protocol +-l --log-requests: log all requests to the node +--better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. +-A --addr <IP addr|host>: [DEPRECATED: use --endpoint instead] IP address of the node +-P --port <number>: [DEPRECATED: use --endpoint instead] RPC port of the node +-S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. +-m --media-type <json, binary, any or default>: Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + Use the value "binary" for faster but less human-readable binary + serialisation format. +-E --endpoint <uri>: HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' +-s --sources <path>: path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} +-R --remote-signer <uri>: URI of the remote signer +-f --password-filename <filename>: path to the password filename +-M --mode <client|light|mockup|proxy>: how to interact with the node + Defaults to `client`.
+ + +

Access the documentation

+ + + + +

Commands related to the accuser daemon.

+ + + + +

Commands for editing and viewing the client's config file

+ + + + +

Miscellaneous commands

+ + + diff --git a/docs/alpha/octez-baker.html b/docs/alpha/octez-baker.html new file mode 100644 index 0000000000000000000000000000000000000000..999cf2526588a15ac8eab8471714667dc0be6b8b --- /dev/null +++ b/docs/alpha/octez-baker.html @@ -0,0 +1,188 @@ + +

Usage

+ + + + +

To browse the documentation

+ + + + +

Global options (must come before the command)

+ +
-d --base-dir <path>: client data directory (absent: TEZOS_CLIENT_DIR env) + The directory where the Tezos client will store all its data. + If absent, its value is the value of the TEZOS_CLIENT_DIR + environment variable. If TEZOS_CLIENT_DIR is itself not specified, + defaults to $HOME/.tezos-client + +-n --no-base-dir-warnings: silence warnings about client data directory +-c --config-file <path>: configuration file +-t --timings: show RPC request times +--chain <hash|tag>: chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + Defaults to `main`. +-b --block <hash|level|tag>: block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + Defaults to `head`. +-w --wait <none|<int>>: how many confirmation blocks are needed before an operation is considered included +-p --protocol <hash>: use commands of a specific protocol +-l --log-requests: log all requests to the node +--better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. +-A --addr <IP addr|host>: [DEPRECATED: use --endpoint instead] IP address of the node +-P --port <number>: [DEPRECATED: use --endpoint instead] RPC port of the node +-S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. +-m --media-type <json, binary, any or default>: Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + Use the value "binary" for faster but less human-readable binary + serialisation format. +-E --endpoint <uri>: HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' +-s --sources <path>: path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} +-R --remote-signer <uri>: URI of the remote signer +-f --password-filename <filename>: path to the password filename +-M --mode <client|light|mockup|proxy>: how to interact with the node + Defaults to `client`.
+ + +

Access the documentation

+ + + + +

Commands related to the baker daemon.

+ + + + +

Commands for editing and viewing the client's config file

+ + + + +

Miscellaneous commands

+ + + diff --git a/docs/alpha/octez-client.html b/docs/alpha/octez-client.html new file mode 100644 index 0000000000000000000000000000000000000000..b5960e6197252eaae946e23a04a1fa4260a00367 --- /dev/null +++ b/docs/alpha/octez-client.html @@ -0,0 +1,3685 @@ + +

Usage

+ + + + +

To browse the documentation

+ + + + +

Global options (must come before the command)

+ +
-d --base-dir <path>: client data directory (absent: TEZOS_CLIENT_DIR env) + The directory where the Tezos client will store all its data. + If absent, its value is the value of the TEZOS_CLIENT_DIR + environment variable. If TEZOS_CLIENT_DIR is itself not specified, + defaults to $HOME/.tezos-client + +-n --no-base-dir-warnings: silence warnings about client data directory +-c --config-file <path>: configuration file +-t --timings: show RPC request times +--chain <hash|tag>: chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + Defaults to `main`. +-b --block <hash|level|tag>: block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + Defaults to `head`. +-w --wait <none|<int>>: how many confirmation blocks are needed before an operation is considered included +-p --protocol <hash>: use commands of a specific protocol +-l --log-requests: log all requests to the node +--better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. +-A --addr <IP addr|host>: [DEPRECATED: use --endpoint instead] IP address of the node +-P --port <number>: [DEPRECATED: use --endpoint instead] RPC port of the node +-S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. +-m --media-type <json, binary, any or default>: Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + Use the value "binary" for faster but less human-readable binary + serialisation format. +-E --endpoint <uri>: HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' +-s --sources <path>: path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} +-R --remote-signer <uri>: URI of the remote signer +-f --password-filename <filename>: path to the password filename +-M --mode <client|light|mockup|proxy>: how to interact with the node + Defaults to `client`.
+ + +

Access the documentation

+ + + + +

Commands for managing FA1.2-compatible smart contracts

+ + + + +

Utility Commands

+ + + + +

Commands for working with Sapling transactions

+ + + + +

Commands for managing a multisig smart contract

+ + + + +

Binary Description

+ + + + +

Block contextual commands (see option -block)

+ + + + +

Commands for managing the record of known contracts

+ + + + +

Commands for managing the library of known scripts

+ + + + +

Tenderbake client commands

+ + + + +

Commands querying proxy and light mode support

+ + + + +

Commands for creating mockup environments

+ + + + +

Commands for managing the wallet of cryptographic keys

+ + + + +

Commands for managing the connected Ledger Nano devices

+ + + + +

Commands for the low level RPC layer

+ + + + +

Commands for editing and viewing the client's config file

+ + + + +

Miscellaneous commands

+ + + diff --git a/docs/alpha/proof_of_stake.rst b/docs/alpha/proof_of_stake.rst index 450f9e9d2696b94a43bc4c0cde5820ffe185b1d5..b38a29be7a54b34b959e76acb7758c2bd087827a 100644 --- a/docs/alpha/proof_of_stake.rst +++ b/docs/alpha/proof_of_stake.rst @@ -149,13 +149,13 @@ Proof-of-stake parameters * - Parameter name - Parameter value * - ``BLOCKS_PER_CYCLE`` - - 8192 blocks + - 12288 blocks * - ``PRESERVED_CYCLES`` - 5 cycles * - ``TOKENS_PER_ROLL`` - 6,000 ꜩ * - ``BLOCKS_PER_STAKE_SNAPSHOT`` - - 512 blocks + - 768 blocks Further External Resources diff --git a/docs/api/octez-admin-client.html b/docs/api/octez-admin-client.html new file mode 100644 index 0000000000000000000000000000000000000000..4e530bee4b5bfbdf96c2521deabbe475d685ef01 --- /dev/null +++ b/docs/api/octez-admin-client.html @@ -0,0 +1,497 @@ + +

Usage

+ + + + +

To browse the documentation

+ + + + +

Global options (must come before the command)

+ +
-d --base-dir <path>: client data directory (absent: TEZOS_CLIENT_DIR env) + The directory where the Tezos client will store all its data. + If absent, its value is the value of the TEZOS_CLIENT_DIR + environment variable. If TEZOS_CLIENT_DIR is itself not specified, + defaults to $HOME/.tezos-client + +-n --no-base-dir-warnings: silence warnings about client data directory +-c --config-file <path>: configuration file +-t --timings: show RPC request times +--chain <hash|tag>: chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + Defaults to `main`. +-b --block <hash|level|tag>: block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + Defaults to `head`. +-w --wait <none|<int>>: how many confirmation blocks are needed before an operation is considered included +-p --protocol <hash>: use commands of a specific protocol +-l --log-requests: log all requests to the node +--better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. +-A --addr <IP addr|host>: [DEPRECATED: use --endpoint instead] IP address of the node +-P --port <number>: [DEPRECATED: use --endpoint instead] RPC port of the node +-S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. +-m --media-type <json, binary, any or default>: Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + Use the value "binary" for faster but less human-readable binary + serialisation format. +-E --endpoint <uri>: HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' +-s --sources <path>: path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} +-R --remote-signer <uri>: URI of the remote signer +-f --password-filename <filename>: path to the password filename +-M --mode <client|light|mockup|proxy>: how to interact with the node + Defaults to `client`.
+ + +

Access the documentation

+ + + + +

Commands to inspect the event-logging framework

+ + + + +

Commands for the low level RPC layer

+ + + + +

Commands for managing protocols

+ + + + +

Commands for monitoring and controlling p2p-layer state

+ + + + +

Commands to perform privileged operations on the node

+ + + + +

Commands to report the node's status

+ + + + +

Commands for editing and viewing the client's config file

+ + + + +

Miscellaneous commands

+ + + diff --git a/docs/api/octez-codec.html b/docs/api/octez-codec.html new file mode 100644 index 0000000000000000000000000000000000000000..c847730763341216de0f4b7281ce53afe88d0320 --- /dev/null +++ b/docs/api/octez-codec.html @@ -0,0 +1,155 @@ + +

Usage

+ + + + +

To browse the documentation

+ + + + +

Global options (must come before the command)

+ +
-d --base-dir <path>: data directory + The directory where the Tezos codec will output logs. + By default: '$HOME/.tezos-client'.
+ + +

Access the documentation

+ + + + +

Commands to handle encodings

+ + + diff --git a/docs/api/octez-signer.html b/docs/api/octez-signer.html new file mode 100644 index 0000000000000000000000000000000000000000..2d7896e78e069cfed05750682cafb5cd17a73fa6 --- /dev/null +++ b/docs/api/octez-signer.html @@ -0,0 +1,409 @@ + +

Usage

+ + + + +

To browse the documentation

+ + + + +

Global options (must come before the command)

+ +
-d --base-dir <path>: signer data directory + The directory where the Tezos client will store all its data. + By default: '$HOME/.tezos-signer'. +-A --require-authentication: Require a signature from the caller to sign. +-f --password-filename <filename>: path to the password filename
+ + +

Access the documentation

+ + + + +

Commands specific to the signing daemon

+ + + + +

Commands for managing the wallet of cryptographic keys

+ + + + +

Commands for managing the connected Ledger Nano devices

+ + + diff --git a/docs/api/octez-snoop.html b/docs/api/octez-snoop.html new file mode 100644 index 0000000000000000000000000000000000000000..a0762cb6dc81f2a6771731a27ab8d585bbd15f70 --- /dev/null +++ b/docs/api/octez-snoop.html @@ -0,0 +1,288 @@ + +

Usage

+ + + + +

To browse the documentation

+ + + + +

Global options (must come before the command)

+ +
--list-solvers: List all available solvers +--list-models: List all models
+ + +

Access the documentation

+ + + + +

Command for generating random sapling transactions

+ + + + +

Command for generating random Michelson code and data

+ + + + +

Commands for manipulating config files

+ + + + +

Commands for displaying lists

+ + + + +

Command for generating code

+ + + + +

Command for infering parameters of cost models

+ + + + +

Commands for benchmarking parts of the protocol

+ + + + +

Miscellaneous commands

+ + + diff --git a/docs/kathmandu/active b/docs/kathmandu/active new file mode 120000 index 0000000000000000000000000000000000000000..6811ae8d9ee211667b039bf46c3e51d98cd0b11d --- /dev/null +++ b/docs/kathmandu/active @@ -0,0 +1 @@ +active \ No newline at end of file diff --git a/docs/kathmandu/kathmandu b/docs/kathmandu/kathmandu new file mode 120000 index 0000000000000000000000000000000000000000..cfa46ad6f0a255a92dd41f37149b81fd7f256d2a --- /dev/null +++ b/docs/kathmandu/kathmandu @@ -0,0 +1 @@ +kathmandu \ No newline at end of file diff --git a/docs/kathmandu/octez-accuser.html b/docs/kathmandu/octez-accuser.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/docs/kathmandu/octez-baker.html b/docs/kathmandu/octez-baker.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/docs/kathmandu/octez-client.html b/docs/kathmandu/octez-client.html new file mode 100644 index 0000000000000000000000000000000000000000..20015b29578ab06097b44b742910cff0d1fc7451 --- /dev/null +++ b/docs/kathmandu/octez-client.html @@ -0,0 +1,3399 @@ + +

Usage

+ + + + +

To browse the documentation

+ + + + +

Global options (must come before the command)

+ +
-d --base-dir <path>: client data directory (absent: TEZOS_CLIENT_DIR env) + The directory where the Tezos client will store all its data. + If absent, its value is the value of the TEZOS_CLIENT_DIR + environment variable. If TEZOS_CLIENT_DIR is itself not specified, + defaults to $HOME/.tezos-client + +-n --no-base-dir-warnings: silence warnings about client data directory +-c --config-file <path>: configuration file +-t --timings: show RPC request times +--chain <hash|tag>: chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + Defaults to `main`. +-b --block <hash|level|tag>: block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + Defaults to `head`. +-w --wait <none|<int>>: how many confirmation blocks are needed before an operation is considered included +-p --protocol <hash>: use commands of a specific protocol +-l --log-requests: log all requests to the node +--better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. +-A --addr <IP addr|host>: [DEPRECATED: use --endpoint instead] IP address of the node +-P --port <number>: [DEPRECATED: use --endpoint instead] RPC port of the node +-S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. +-m --media-type <json, binary, any or default>: Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + Use the value "binary" for faster but less human-readable binary + serialisation format. +-E --endpoint <uri>: HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' +-s --sources <path>: path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} +-R --remote-signer <uri>: URI of the remote signer +-f --password-filename <filename>: path to the password filename +-M --mode <client|light|mockup|proxy>: how to interact with the node + Defaults to `client`.
+ + +

Access the documentation

+ + + + +

Commands for managing FA1.2-compatible smart contracts

+ + + + +

Utility Commands

+ + + + +

Commands for working with Sapling transactions

+ + + + +

Commands for managing a multisig smart contract

+ + + + +

Binary Description

+ + + + +

Block contextual commands (see option -block)

+ + + + +

Commands for managing the record of known contracts

+ + + + +

Commands for managing the library of known scripts

+ + + + +

Tenderbake client commands

+ + + + +

Commands querying proxy and light mode support

+ + + + +

Commands for creating mockup environments

+ + + + +

Commands for managing the wallet of cryptographic keys

+ + + + +

Commands for managing the connected Ledger Nano devices

+ + + + +

Commands for the low level RPC layer

+ + + + +

Commands for editing and viewing the client's config file

+ + + + +

Miscellaneous commands

+ + + diff --git a/docs/lima/octez-accuser.html b/docs/lima/octez-accuser.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/docs/lima/octez-baker.html b/docs/lima/octez-baker.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/docs/lima/octez-client.html b/docs/lima/octez-client.html new file mode 100644 index 0000000000000000000000000000000000000000..664bd0cd8c510f64f22d4ad8e06bf14ca98f72de --- /dev/null +++ b/docs/lima/octez-client.html @@ -0,0 +1,3672 @@ + +

Usage

+ + + + +

To browse the documentation

+ + + + +

Global options (must come before the command)

+ +
-d --base-dir <path>: client data directory (absent: TEZOS_CLIENT_DIR env) + The directory where the Tezos client will store all its data. + If absent, its value is the value of the TEZOS_CLIENT_DIR + environment variable. If TEZOS_CLIENT_DIR is itself not specified, + defaults to $HOME/.tezos-client + +-n --no-base-dir-warnings: silence warnings about client data directory +-c --config-file <path>: configuration file +-t --timings: show RPC request times +--chain <hash|tag>: chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + Defaults to `main`. +-b --block <hash|level|tag>: block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + Defaults to `head`. +-w --wait <none|<int>>: how many confirmation blocks are needed before an operation is considered included +-p --protocol <hash>: use commands of a specific protocol +-l --log-requests: log all requests to the node +--better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. +-A --addr <IP addr|host>: [DEPRECATED: use --endpoint instead] IP address of the node +-P --port <number>: [DEPRECATED: use --endpoint instead] RPC port of the node +-S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. +-m --media-type <json, binary, any or default>: Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + Use the value "binary" for faster but less human-readable binary + serialisation format. +-E --endpoint <uri>: HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' +-s --sources <path>: path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} +-R --remote-signer <uri>: URI of the remote signer +-f --password-filename <filename>: path to the password filename +-M --mode <client|light|mockup|proxy>: how to interact with the node + Defaults to `client`.
+ + +

Access the documentation

+ + + + +

Commands for managing FA1.2-compatible smart contracts

+ + + + +

Utility Commands

+ + + + +

Commands for working with Sapling transactions

+ + + + +

Commands for managing a multisig smart contract

+ + + + +

Binary Description

+ + + + +

Block contextual commands (see option -block)

+ + + + +

Commands for managing the record of known contracts

+ + + + +

Commands for managing the library of known scripts

+ + + + +

Tenderbake client commands

+ + + + +

Commands querying proxy and light mode support

+ + + + +

Commands for creating mockup environments

+ + + + +

Commands for managing the wallet of cryptographic keys

+ + + + +

Commands for managing the connected Ledger Nano devices

+ + + + +

Commands for the low level RPC layer

+ + + + +

Commands for editing and viewing the client's config file

+ + + + +

Miscellaneous commands

+ + + diff --git a/docs/protocols/alpha.rst b/docs/protocols/alpha.rst index 776f36c96d5a754a4ebe35bcf99d02630e0c4881..ba1b3e99b0e634ce25a896d77bfa5b9cfe648c89 100644 --- a/docs/protocols/alpha.rst +++ b/docs/protocols/alpha.rst @@ -71,6 +71,71 @@ Cryptography Bug Fixes --------- +20s Block Times (MR :gl:`!4163`) +-------------------------------- + +Blocks times have been reduced from 30 seconds to 20 seconds. +That is, a block can be produced with a delay of 20 seconds with respect to the previous block, if both blocks have round 0. +This change comes with updating many related protocol parameters in order to match the reduced block times. +In particular, the following quantities are kept the same: + +- the minimal time period of a cycle (namely, 2 days, 20 hours, and 16 minutes), +- TODO: nonce_revelation_threshold +- the number of nonce commitments per cycle (namely, 128), +- the number of stake snapshots per cycle (namely, 16), +- the maximum rewards per minute (namely 80 tez), and therefore roughly the same inflation, +- the minimal "time to live" of an operation (namely, 1 hour), +- the block gas limit per minute (namely 10400000 gas), +- the ratio between the liquidity baking subsidy and the maximum rewards per block (namely, 1/16). + +.. list-table:: TODO Changes to protocol parameters + :widths: 50 25 25 + :header-rows: 1 + + * - Parameter (unit) + - Old (Ithaca) value + - New value + * - ``minimal_block_delay`` (seconds) + - ``30`` + - ``20`` + * - ``delay_increment_per_round`` (seconds) + - ``15`` + - ``10`` + * - ``blocks_per_cycle`` (blocks) + - ``8192`` + - ``12288`` + * - ``blocks_per_commitment`` (blocks) + - ``64`` + - ``96`` + * - ``blocks_per_stake_snapshot`` (blocks) + - ``512`` + - ``768`` + * - ``blocks_per_voting_period`` (blocks) + - ``40960`` + - ``61440`` + * - ``max_operations_time_to_live`` (blocks) + - ``120`` + - ``180`` + * - ``hard_gas_limit_per_block`` (gas unit) + - ``5200000`` + - ``3466666`` + * - ``baking_reward_fixed_portion`` (mutez) + - ``10000000`` + - ``6666666`` + * - ``baking_reward_bonus_per_slot`` (mutez) + - ``4286`` + - ``2857`` + * - ``endorsing_reward_per_slot`` (mutez) + - ``2857`` + - ``1904`` + * - ``liquidity_baking_subsidy`` (mutez) + - ``2500000`` + - ``1666666`` + * - ``liquidity_baking_sunset_level`` (level) + - ``3063809`` + - H activation level + 15 voting periods + + Minor Changes ------------- diff --git a/src/proto_alpha/lib_parameters/default_parameters.ml b/src/proto_alpha/lib_parameters/default_parameters.ml index 8c14b14150893555752c9c9466695fa8a71a96df..3484d94b8daa14402a87bf322ad23e5d109a8c57 100644 --- a/src/proto_alpha/lib_parameters/default_parameters.ml +++ b/src/proto_alpha/lib_parameters/default_parameters.ml @@ -78,7 +78,7 @@ let default_dal = let constants_mainnet = let consensus_committee_size = 7000 in - let block_time = 30 in + let block_time = 20 in let Constants.Generated. { consensus_threshold; @@ -93,13 +93,13 @@ let constants_mainnet = in { Constants.Parametric.preserved_cycles = 5; - blocks_per_cycle = 8192l; - blocks_per_commitment = 64l; - nonce_revelation_threshold = 256l; - blocks_per_stake_snapshot = 512l; + blocks_per_cycle = 12288l; + blocks_per_commitment = 96l; + nonce_revelation_threshold = 0l; + blocks_per_stake_snapshot = 768l; cycles_per_voting_period = 5l; hard_gas_limit_per_operation = Gas.Arith.(integral_of_int_exn 1_040_000); - hard_gas_limit_per_block = Gas.Arith.(integral_of_int_exn 5_200_000); + hard_gas_limit_per_block = Gas.Arith.(integral_of_int_exn 3_466_666); proof_of_work_threshold = Int64.(sub (shift_left 1L 46) 1L); minimal_stake = Tez.(mul_exn one 6_000); (* VDF's difficulty must be a multiple of `nonce_revelation_threshold` times @@ -113,29 +113,29 @@ let constants_mainnet = seed_nonce_revelation_tip = (match Tez.(one /? 8L) with Ok c -> c | Error _ -> assert false); origination_size = 257; - baking_reward_fixed_portion (* 10_000_000 mutez *); - baking_reward_bonus_per_slot (* 4_286 mutez *); - endorsing_reward_per_slot (* 2_857 mutez *); + baking_reward_fixed_portion (* 6_666_666 mutez *); + baking_reward_bonus_per_slot (* 2_857 mutez *); + endorsing_reward_per_slot (* 1_904 mutez *); hard_storage_limit_per_operation = Z.of_int 60_000; cost_per_byte = Tez.of_mutez_exn 250L; quorum_min = 20_00l; quorum_max = 70_00l; min_proposal_quorum = 5_00l; (* liquidity_baking_subsidy is 1/16th of maximum total rewards for a block *) - liquidity_baking_subsidy (* 2_500_000 mutez *); - (* 1/2 window size of 2000 blocks with precision of 1_000_000 + liquidity_baking_subsidy (* 1_666_666 mutez *); + (* 1/3 window size of 2000 blocks with precision of 1_000_000 for integer computation *) - liquidity_baking_toggle_ema_threshold = 1_000_000_000l; + liquidity_baking_toggle_ema_threshold = 666_666_667l; (* The rationale behind the value of this constant is that an operation should be considered alive for about one hour: - minimal_block_delay context * max_operations_ttl = 3600 + minimal_block_delay * max_operations_time_to_live = 3600 The unit for this value is a block. *) - max_operations_time_to_live = 120; + max_operations_time_to_live = 180; minimal_block_delay = Period.of_seconds_exn (Int64.of_int block_time); - delay_increment_per_round = Period.of_seconds_exn 15L; + delay_increment_per_round = Period.of_seconds_exn 10L; consensus_committee_size; consensus_threshold; (* 4667 slots *) diff --git a/src/proto_alpha/lib_protocol/raw_context.ml b/src/proto_alpha/lib_protocol/raw_context.ml index ef4e6137aad9ec603a2d36bde6e013a89371aa7d..06e8d02f3967e0844a614b218eb48ce8a5e71dc1 100644 --- a/src/proto_alpha/lib_protocol/raw_context.ml +++ b/src/proto_alpha/lib_protocol/raw_context.ml @@ -973,39 +973,107 @@ let prepare_first_block ~level ~timestamp ctxt = min_pending_to_process = c.zk_rollup.min_pending_to_process; } in + let block_time_is_30s = + Compare.Int64.(Period_repr.to_seconds c.minimal_block_delay = 30L) + in + let minimal_block_delay, delay_increment_per_round = + if block_time_is_30s then + (Period_repr.of_seconds_exn 20L, Period_repr.of_seconds_exn 10L) + else (c.minimal_block_delay, c.delay_increment_per_round) + in + let hard_gas_limit_per_block = + if block_time_is_30s then + Gas_limit_repr.Arith.(integral_of_int_exn 3_466_666) + else c.hard_gas_limit_per_block + in + let Constants_repr.Generated. + { + consensus_threshold; + baking_reward_fixed_portion; + baking_reward_bonus_per_slot; + endorsing_reward_per_slot; + liquidity_baking_subsidy; + } = + Constants_repr.Generated.generate + ~consensus_committee_size:c.consensus_committee_size + ~blocks_per_minute: + { + numerator = 60; + denominator = + minimal_block_delay |> Period_repr.to_seconds |> Int64.to_int; + } + in + let increase x = Int32.div (Int32.mul x 3l) 2l in + let ( blocks_per_cycle, + blocks_per_commitment, + blocks_per_stake_snapshot, + max_operations_time_to_live ) = + if block_time_is_30s then + ( increase c.blocks_per_cycle, + increase c.blocks_per_commitment, + increase c.blocks_per_stake_snapshot, + 3 * c.max_operations_time_to_live / 2 ) + else + ( c.blocks_per_cycle, + c.blocks_per_commitment, + c.blocks_per_stake_snapshot, + c.max_operations_time_to_live ) + in + get_cycle_eras ctxt >>=? fun cycle_eras -> + let current_era = Level_repr.current_era cycle_eras in + let current_cycle = + let level_position = + Int32.sub level (Raw_level_repr.to_int32 current_era.first_level) + in + Cycle_repr.add + current_era.first_cycle + (Int32.to_int (Int32.div level_position c.blocks_per_cycle)) + in + let new_cycle_era = + Level_repr. + { + first_level = Raw_level_repr.of_int32_exn (Int32.succ level); + first_cycle = Cycle_repr.succ current_cycle; + blocks_per_cycle; + blocks_per_commitment; + } + in + Level_repr.add_cycle_era new_cycle_era cycle_eras + >>?= fun new_cycle_eras -> + set_cycle_eras ctxt new_cycle_eras >>=? fun ctxt -> let constants = Constants_parametric_repr. { preserved_cycles = c.preserved_cycles; - blocks_per_cycle = c.blocks_per_cycle; - blocks_per_commitment = c.blocks_per_commitment; + blocks_per_cycle; + blocks_per_commitment; nonce_revelation_threshold = c.nonce_revelation_threshold; - blocks_per_stake_snapshot = c.blocks_per_stake_snapshot; + blocks_per_stake_snapshot; cycles_per_voting_period = c.cycles_per_voting_period; hard_gas_limit_per_operation = c.hard_gas_limit_per_operation; - hard_gas_limit_per_block = c.hard_gas_limit_per_block; + hard_gas_limit_per_block; proof_of_work_threshold = c.proof_of_work_threshold; minimal_stake = c.minimal_stake; vdf_difficulty = c.vdf_difficulty; seed_nonce_revelation_tip = c.seed_nonce_revelation_tip; origination_size = c.origination_size; - max_operations_time_to_live = c.max_operations_time_to_live; - baking_reward_fixed_portion = c.baking_reward_fixed_portion; - baking_reward_bonus_per_slot = c.baking_reward_bonus_per_slot; - endorsing_reward_per_slot = c.endorsing_reward_per_slot; + max_operations_time_to_live; + baking_reward_fixed_portion; + baking_reward_bonus_per_slot; + endorsing_reward_per_slot; cost_per_byte = c.cost_per_byte; hard_storage_limit_per_operation = c.hard_storage_limit_per_operation; quorum_min = c.quorum_min; quorum_max = c.quorum_max; min_proposal_quorum = c.min_proposal_quorum; - liquidity_baking_subsidy = c.liquidity_baking_subsidy; + liquidity_baking_subsidy; liquidity_baking_toggle_ema_threshold = c.liquidity_baking_toggle_ema_threshold; - minimal_block_delay = c.minimal_block_delay; - delay_increment_per_round = c.delay_increment_per_round; + minimal_block_delay; + delay_increment_per_round; consensus_committee_size = c.consensus_committee_size; - consensus_threshold = c.consensus_threshold; + consensus_threshold (* same as c.consensus_threshold *); minimal_participation_ratio = c.minimal_participation_ratio; max_slashing_period = c.max_slashing_period; frozen_deposits_percentage = c.frozen_deposits_percentage; diff --git a/src/proto_alpha/lib_protocol/test/integration/gas/test_gas_levels.ml b/src/proto_alpha/lib_protocol/test/integration/gas/test_gas_levels.ml index 78100c3c5f81d77c29832749ac2bfca1c18808e7..c7f7a9bc56c8b007993bca737583cd7a71abb936 100644 --- a/src/proto_alpha/lib_protocol/test/integration/gas/test_gas_levels.ml +++ b/src/proto_alpha/lib_protocol/test/integration/gas/test_gas_levels.ml @@ -408,10 +408,12 @@ let test_consume_exactly_all_block_gas () = block_with_one_origination number_of_ops nil_contract >>=? fun (block, src_list, dst) -> (* assumptions: - hard gas limit per operation = 1040000 - hard gas limit per block = 5200000 + hard gas limit per operation = 1_040_000 + hard gas limit per block = 2 * 5_200_000 / 3 = 3_466_666 *) let lld = + (* TODO!!! [(dst, Alpha_context.Gas.Arith.integral_of_int_exn (1040000 / 3))] + * :: *) List.map (fun src -> [(src, dst, Alpha_context.Gas.Arith.integral_of_int_exn 1040000)])