diff --git a/client-libs/kaitai-struct-files/files/alpha__errors.ksy b/client-libs/kaitai-struct-files/files/alpha__errors.ksy index 86fe7aa489eb0569e895a7485384d3cf98bba316..c82300b88a16275fda13ea4e7878d18dfe0ab8d6 100644 --- a/client-libs/kaitai-struct-files/files/alpha__errors.ksy +++ b/client-libs/kaitai-struct-files/files/alpha__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: alpha.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_005__psbabym1__errors.ksy b/client-libs/kaitai-struct-files/files/id_005__psbabym1__errors.ksy index d6a42ade06fc53a3dedbfe80ecf73728003f6752..6127926141a3b2c505433df2c181dfc533879f40 100644 --- a/client-libs/kaitai-struct-files/files/id_005__psbabym1__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_005__psbabym1__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 005-PsBabyM1.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_006__pscartha__errors.ksy b/client-libs/kaitai-struct-files/files/id_006__pscartha__errors.ksy index 0fc505670ca80d5259dd6aba0349d987a22ee1da..23019477af256a414edc2bfd1b4191a7d28827f0 100644 --- a/client-libs/kaitai-struct-files/files/id_006__pscartha__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_006__pscartha__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 006-PsCARTHA.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_007__psdelph1__errors.ksy b/client-libs/kaitai-struct-files/files/id_007__psdelph1__errors.ksy index f90fb6ac0c58bde7c0621ae029a71db907093a98..5941927fd98ba9e2fd02be9f3c6ee665860e8b88 100644 --- a/client-libs/kaitai-struct-files/files/id_007__psdelph1__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_007__psdelph1__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 007-PsDELPH1.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_008__ptedo2zk__errors.ksy b/client-libs/kaitai-struct-files/files/id_008__ptedo2zk__errors.ksy index e979911baf7679c260b7789160600e6274ea937e..ff6cd4505e1a436839a8bf9cbc3862ce050dbae0 100644 --- a/client-libs/kaitai-struct-files/files/id_008__ptedo2zk__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_008__ptedo2zk__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 008-PtEdo2Zk.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_009__psfloren__errors.ksy b/client-libs/kaitai-struct-files/files/id_009__psfloren__errors.ksy index 884b6650d2150f3be3735cd0df05a20df3261401..353c3a30f10a8e0e4b3bddd746d1f6ed8c13f5fa 100644 --- a/client-libs/kaitai-struct-files/files/id_009__psfloren__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_009__psfloren__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 009-PsFLoren.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_010__ptgranad__errors.ksy b/client-libs/kaitai-struct-files/files/id_010__ptgranad__errors.ksy index 314b491b1d54a274b8468a56f0a31ea6d31e612c..2e1ab40811bb5a37bfc2867b073f2b657162102e 100644 --- a/client-libs/kaitai-struct-files/files/id_010__ptgranad__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_010__ptgranad__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 010-PtGRANAD.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_011__pthangz2__errors.ksy b/client-libs/kaitai-struct-files/files/id_011__pthangz2__errors.ksy index 722d5d5e6c5a9056a9ad72ef163cd9070a14e9a4..db2b4dfc3ad7ecfdac6f511da51c59159bc9495b 100644 --- a/client-libs/kaitai-struct-files/files/id_011__pthangz2__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_011__pthangz2__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 011-PtHangz2.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_012__psithaca__errors.ksy b/client-libs/kaitai-struct-files/files/id_012__psithaca__errors.ksy index e9d6f05fadf3f4745d5824417702e7cca8b7f4e0..c6007515dfb466a556d0e5dbc73a00f57b45ec8f 100644 --- a/client-libs/kaitai-struct-files/files/id_012__psithaca__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_012__psithaca__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 012-Psithaca.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_013__ptjakart__errors.ksy b/client-libs/kaitai-struct-files/files/id_013__ptjakart__errors.ksy index 951bfbd8b1270d5f8fa888efcbf8a03c3d367eeb..fbf75ee4a0b8a5152b7346e594ada479df6a03af 100644 --- a/client-libs/kaitai-struct-files/files/id_013__ptjakart__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_013__ptjakart__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 013-PtJakart.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_014__ptkathma__errors.ksy b/client-libs/kaitai-struct-files/files/id_014__ptkathma__errors.ksy index 6b83ccddbb576da6fd1c1e19aaa73480011ed960..c42b95f4e201b9af56c1748024544c7bb151c5a7 100644 --- a/client-libs/kaitai-struct-files/files/id_014__ptkathma__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_014__ptkathma__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 014-PtKathma.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_015__ptlimapt__errors.ksy b/client-libs/kaitai-struct-files/files/id_015__ptlimapt__errors.ksy index a13d50e7af4d35ffb4c2d16eb95597fe44ce8e0c..daae1e7992df8a8439f75a7d05988a993600b8d1 100644 --- a/client-libs/kaitai-struct-files/files/id_015__ptlimapt__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_015__ptlimapt__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 015-PtLimaPt.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_016__ptmumbai__errors.ksy b/client-libs/kaitai-struct-files/files/id_016__ptmumbai__errors.ksy index 799ef3d7beb934b8d1b9d88894f9717ecdd300ac..c97ba010dd623b15ca6661c34d7e1c23733a5799 100644 --- a/client-libs/kaitai-struct-files/files/id_016__ptmumbai__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_016__ptmumbai__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 016-PtMumbai.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_017__ptnairob__errors.ksy b/client-libs/kaitai-struct-files/files/id_017__ptnairob__errors.ksy index d2e90d8306cdb808cf7ed17803e91b940936c608..0e122f7054141e2b4fecdae85d709233137a32b6 100644 --- a/client-libs/kaitai-struct-files/files/id_017__ptnairob__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_017__ptnairob__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 017-PtNairob.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_018__proxford__errors.ksy b/client-libs/kaitai-struct-files/files/id_018__proxford__errors.ksy index 60f21c6d791e434511d0a4dc778e5ca1f1d10825..acf154efc41ffd3a13595721a346aa5db3eebf71 100644 --- a/client-libs/kaitai-struct-files/files/id_018__proxford__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_018__proxford__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 018-Proxford.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_019__ptparisb__errors.ksy b/client-libs/kaitai-struct-files/files/id_019__ptparisb__errors.ksy index 6324ff34a5631793c3de0abcbb61f22d4534cd89..7a3f42ca2badc4f31efe71b925a22196d0cd9610 100644 --- a/client-libs/kaitai-struct-files/files/id_019__ptparisb__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_019__ptparisb__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 019-PtParisB.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_020__psparisc__errors.ksy b/client-libs/kaitai-struct-files/files/id_020__psparisc__errors.ksy index 027701c3b9b731b265f6645502881923f92db193..552f5434e1d890047a49771eed70acf7aebbf3e9 100644 --- a/client-libs/kaitai-struct-files/files/id_020__psparisc__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_020__psparisc__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 020-PsParisC.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_021__psquebec__errors.ksy b/client-libs/kaitai-struct-files/files/id_021__psquebec__errors.ksy index 04e1b04dba84261de0f1d832b784c577169a6388..6d94ab03ff89e987704fb92472e060a72d7fe68f 100644 --- a/client-libs/kaitai-struct-files/files/id_021__psquebec__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_021__psquebec__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 021-PsQuebec.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/client-libs/kaitai-struct-files/files/id_022__psriotum__errors.ksy b/client-libs/kaitai-struct-files/files/id_022__psriotum__errors.ksy index 9b808ae6fe0b649fbb54c26a17faa3619e40640e..53e4741cf2abe2ecc73047af06392d7abcc054e1 100644 --- a/client-libs/kaitai-struct-files/files/id_022__psriotum__errors.ksy +++ b/client-libs/kaitai-struct-files/files/id_022__psriotum__errors.ksy @@ -4,7 +4,7 @@ meta: doc: ! >- Encoding id: 022-PsRiotum.errors - Description: The full list of RPC errors would be too long to include.It is + Description: The full list of RPC errors would be too long to include. It is available through the RPC `/errors` (GET). types: diff --git a/docs/alpha/michelson.rst b/docs/alpha/michelson.rst index cb7d6111f98b1de51854dacc68a3a112d2b707c7..efcd03214d8bf08f0fdd12691c7d00a404183eb4 100644 --- a/docs/alpha/michelson.rst +++ b/docs/alpha/michelson.rst @@ -109,7 +109,8 @@ The subset of blockchain operations that can be emitted by Michelson programs as Internal operations are not included in any block, and are not signed. -Internal operations are run in an atomic sequence with the external operation who generated them, right after it, in depth-first order. +Internal operations are run in an atomic sequence with the external operation who triggered the contract call, *after* the contract execution, in depth-first order. +This implies in particular that any contract calls emitted by a contract C are executed after contract C successfully finishes execution returning its result (the list of internal operations and the new storage). Note that :ref:`manager operations batches ` contain a sequence of external operations signed as a whole by a source user account, which are executed atomically. For example, in case of a batch of two external operations, execution proceeds as follows: diff --git a/docs/alpha/staking.rst b/docs/alpha/staking.rst index 420a9b081939e753f4cd7e6ec916a09f210c0606..50baf482c31ac568e26734284ceebae2d645bf6d 100644 --- a/docs/alpha/staking.rst +++ b/docs/alpha/staking.rst @@ -1,5 +1,7 @@ .. note:: + For information about how to stake, see `Staking `__ on docs.tezos.com. + For operational details about the staking mechanism and its configuration, see `a staking mechanism tutorial `__. ================= diff --git a/docs/conf.py b/docs/conf.py index e98814ea32730bb5464f376f79c0db6cb629bcd6..83b35eb8d1641b15c46cd71681e3bc94a164d390 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -155,7 +155,8 @@ html_theme_options = { }, { "name": "Documentation map", - "url": "https://docs.tezos.com/overview/resources", + "url": "https://docs.tezos.com/overview/resources" + "#documentation-map", "icon": "_static/map.png", "type": "local", }, diff --git a/docs/introduction/howtoget.rst b/docs/introduction/howtoget.rst index a08782696880144ea2590f225de8996eafe589f6..4c10411770c26630a9a6a5c77b75b85b01ee462c 100644 --- a/docs/introduction/howtoget.rst +++ b/docs/introduction/howtoget.rst @@ -52,10 +52,55 @@ However, if you encounter problems when performing one of the installation scena .. _installing_packages: +Installing binary packages +-------------------------- + +When it comes to installing software, especially for critical +applications like Tezos/Octez, it’s crucial to ensure a secure and +stable environment. While compiling from source can provide +customization options, it often introduces complexities and risks. +Instead, opting for binary packages sucha as Deb or RPM packages from a trusted source simplifies +installation and enhances security. + +Deb or RPM packages compiled for a specific platform should be always preferred +over statically compiled binaries. Deb or RPM packages can also be used to +simplify the creation of `OCI `__ images or simply +deployed on bare metal using provisioning tools such as +`Ansible `__. + +Using the official Deb or RPM packages offers several advantages: + +- **Security**: Packages are pre-compiled and thoroughly tested, + reducing the risk of vulnerabilities introduced during compilation. + All our packages are signed and our supply chain is strictly + monitored to make sure the packages that we deliver only use + components that were vetted by our engineering team. + +- **Stability**: Packages from a trusted repository undergo rigorous testing, + ensuring stability and compatibility with the target system. We make sure to + compile our binaries in a clean environment and using an up-to-date software + distribution. We use LTS (long-term service) distributions to enhance + stability and reduce the attack surface. + +- **Ease of Installation**: Packages can be installed using standard package + management tools, streamlining the process. For instance, ``apt`` is + ubiquitous in the Debian world. These tools allow us to sign our packages + that can be automatically verified by the end user during installation. We + provide packages that allow the end user to easily tailor their installation + for different use cases. + +- **Reduced Downtime**: With reliable binaries and straightforward + installation, system downtime due to installation errors or + compatibility issues is minimized. We carefully test the upgrade + process of our packages to make sure that end users can enjoy a click and go + upgrade process with near to zero downtime. + +.. _installing_deb: + Ubuntu and Debian Octez packages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -If you're using Ubuntu or Debian, you can install the packages +If you're using Ubuntu or Debian, you can install the Deb packages using ``apt`` directly from our APT repository. We support the following distribution/releases: @@ -103,12 +148,15 @@ To remove the Octez packages you can simply run the following command. If migrating from Serokell packages you can check out migration documentation :doc:`./serokell`. +To upgrade packages, use ``apt-get update`` and ``apt-get upgrade``. +If runnning Octez as services, see also how to :ref:`restart them `. + .. _installing_rpm: -Fedora Octez packages -~~~~~~~~~~~~~~~~~~~~~ +RPM Octez packages +~~~~~~~~~~~~~~~~~~ -If you're using Fedora, you can install packages with Octez binaries from the +If you're using Fedora or Rocky Linux, you can install RPM packages with Octez binaries from the Octez from our DNF repository. Currently we support the latest LTS release for Fedora and for RockyLinux : @@ -161,6 +209,10 @@ To remove the Octez packages you can simply run the following command. :language: shell :start-after: [test autopurge] +To upgrade packages, use ``dnf update``. +If runnning Octez as services, see also how to :ref:`restart them `. + + .. _getting_static_binaries: Getting static binaries diff --git a/docs/introduction/install-bin-fedora.sh b/docs/introduction/install-bin-fedora.sh deleted file mode 100755 index bb4cdf36ed81a86592389168464f35be2e4b75c2..0000000000000000000000000000000000000000 --- a/docs/introduction/install-bin-fedora.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -usage() { - cat >&2 << !EOF -usage: - $0 [rc] -!EOF -} - -if [ $# -eq 1 ] && [ "$1" = "rc" ]; then - # [setup rc repository] - REPO="@Serokell/Tezos-rc" - # [end] -elif [ $# -eq 0 ]; then - # [setup stable repository] - REPO="@Serokell/Tezos" - # [end] -else - usage - exit 1 -fi - -# TODO tezos/tezos#2170: search shifted protocol name/number & adapt -set -e -set -x -# [install prerequisites] -dnf install -y dnf-plugins-core -# [install tezos] -dnf copr enable -y $REPO && dnf update -y -dnf install -y tezos-client -dnf install -y tezos-node -dnf install -y tezos-baker-Proxford -dnf install -y tezos-accuser-Proxford -# [test executables] -octez-client --version -octez-node --version -octez-baker-Proxford --version -octez-accuser-Proxford --version diff --git a/docs/introduction/services.rst b/docs/introduction/services.rst index 49712a4b19bde37df4b124f0a6b8817873e1c15a..f7f64b847b8b5e148ddcfa5924e9beb2a5a83307 100644 --- a/docs/introduction/services.rst +++ b/docs/introduction/services.rst @@ -8,53 +8,10 @@ However, in these tutorials, daemons are just run in background or left in anoth This page shows how Octez daemons can be safely run from the official binary packages, as Unix services, which can ensure that they are started automatically and restarted in case of failures. -Why Use Deb or Rpm Binary Packages? ------------------------------------ - -When it comes to installing software, especially for critical -applications like Tezos/Octez, it’s crucial to ensure a secure and -stable environment. While compiling from source can provide -customization options, it often introduces complexities and risks. -Instead, opting for deb or rpm packages from a trusted source simplifies -installation and enhances security. - -Deb or Rpm packages compiled for a specific platform should be always preferred -over statically compiled binaries. Deb or Rpm packages can also be used to -simplify the creation of [OCI](https://opencontainers.org/) images or simply -deployed on bare metal using provisioning tools such as -[Ansible](https://docs.ansible.com/). - -Using the official deb or rpm packages offers several advantages: - -- **Security**: Packages are pre-compiled and thoroughly tested, - reducing the risk of vulnerabilities introduced during compilation. - All our packages are signed and our supply chain is strictly - monitored to make sure the packages that we deliver only use - components that were vetted by our engineering team. - -- **Stability**: Packages from a trusted repository undergo rigorous testing, - ensuring stability and compatibility with the target system. We make sure to - compile our binaries in a clean environment and using an up-to-date software - distribution. We use LTS (long-term service) distributions to enhance - stability and reduce the attack surface. - -- **Ease of Installation**: Packages can be installed using standard package - management tools, streamlining the process. For instance, ``apt`` is - ubiquitous in the Debian world. These tools allow us to sign our packages - that can be automatically verified by the end user during installation. We - provide packages that allow the end user to easily tailor their installation - for different use cases. - -- **Reduced Downtime**: With reliable binaries and straightforward - installation, system downtime due to installation errors or - compatibility issues is minimized. We carefully test the upgrade - process of our packages to make sure that end users can enjoy a click and go - upgrade process with near to zero downtime. - Installing Octez ---------------- -First of all, you must :ref:`install Octez from binary packages `, as explained in the installation tutorial. +First of all, you must :ref:`install Octez from binary packages `, as explained in the installation tutorial. To make things concrete, we are assuming here that you installed Octez Debian packages, but most commands should apply to other distributions. @@ -102,7 +59,7 @@ Once the node is configured, we can use ``systemd`` to start the daemon: sudo systemctl start octez-node If configured to do so during package installation, this will automatically download a snapshot -and import it before starting the ``octez-node`` service. +and import it before starting the ``octez-node`` service (starting with v22 packages). We can check the status of the daemon in the logs of the node that are stored by default in ``/var/log/tezos/node.log``. Logs are @@ -213,6 +170,9 @@ shipped with the package. The logs of the baker are available in ``/var/log/tezos/baker-.log``. + +.. _services_upgrade: + Upgrading Octez --------------- @@ -232,3 +192,7 @@ changes in governance. Mind reloading the new services using ``sudo systemctl daemon-reload`` and then restarting the running services using ``sudo systemctl restart ``. +When doing so: + +- Always make sure that all binaries or packages are on the same version of Octez. +- The restart order should follow the dependency order: (i) Octez node, (ii) DAL node, (iii) baker, (iv) accuser (if running one). diff --git a/docs/shell/dal_overview.rst b/docs/shell/dal_overview.rst index aa22e2701d0c9d12dac8fbf124aeab39f74047cc..298255d6a3c3f17e4491246673b7c1975881711c 100644 --- a/docs/shell/dal_overview.rst +++ b/docs/shell/dal_overview.rst @@ -4,20 +4,19 @@ DAL overview The *Data-Availability Layer* (DAL) enables users to publish blobs of data outside of the Tezos Layer 1 (L1) blocks. A blob (for “binary -large object”) is a piece of data in binary form. While the primary -use case for these blobs is to store Layer 2 (L2) operations for Tezos -smart rollups, it is important to note that the DAL is more generic +large object”) is a piece of data in binary form. Currently, the primary +use case for these blobs is to represent Layer 2 (L2) operations for Tezos +smart rollups, but the DAL is more generic and could be used for other use cases in the future. -In practice, the DAL employs an additional P2P protocol to publish -blobs, enabling a better bandwidth sharing between the peers (further -elaborated in the P2P section below). The DAL aims to support a -bandwidth of 10 MiB/s, a stark contrast to the current situation on +In practice, the DAL is implemented by a network of *DAL nodes*, constituting a *DAL network*. +The DAL network employs a P2P protocol to publish blobs +(distinct from :doc:`the P2P layer used by the Octez node <../shell/p2p>`), enabling a better bandwidth sharing between the peers (further +elaborated in the P2P section below). The DAL currently supports a +data bandwidth of 0.5MiB/s, a stark contrast to the current situation on L1, which has an approximate bandwidth of 32 KiB/s. This highlights the significant boost in bandwidth provided by the DAL. - -Thanks to the DAL, the data bandwidth constraints imposed by the L1 -block size are put back by several orders of magnitudes. This +Furthermore, the DAL aims to put back by several orders of magnitudes the data bandwidth constraints imposed by the L1 block size, up to 100MiB/s. This translates into reduced fees for users when posting L2 operations without compromising the fundamental principle of decentralization. @@ -28,7 +27,7 @@ those data through the participation of bakers. Similarly to the Tezos L1, the DAL is permissionless, enabling any user to effectively contribute data to it, and allowing any smart -rollup kernel or smart rollup operator to access this data. +rollup kernel to access this data. .. |DAL overview| image:: dal_overview.png @@ -40,8 +39,8 @@ DAL as follows: The diagram depicts a scenario where a user intends to upload data for a dedicated rollup. -Anyone engaging with the DAL must utilize a tool known as the *DAL -node* (named ``octez-dal-node``). When a user decides to provide a new +Anyone engaging with the DAL must utilize a DAL +node, implemented by a binary named ``octez-dal-node``. When a user decides to provide a new blob to the DAL (depicted as step 1 in the diagram), the user transmits the data to the DAL node to calculate a commitment to the data. This commitment is then communicated to L1 via a dedicated @@ -54,17 +53,17 @@ economic protocol. Hence, the bakers, also connected to the DAL network, retrieve these assigned shards (step 5). The bakers must download and verify these shards within a specific timeframe, precisely defined by the economic protocol as the ``attestation lag`` -period. At the end of the attestation lag period, bakers declare using +period (see :ref:`dal_constants`). At the end of the attestation lag period, bakers declare using an optional field of the consensus attestation operation, whether they were able to download the shards effectively (illustrated in step 6). The economic protocol collates these attestations and, if a sufficient number of bakers have -successfully obtained the shards, the data is declared as available -(step 7). Only when the data is labeled as available can the rollup +successfully obtained the shards, the blob is declared as available +(step 7). Only when the blob is labeled as available can the rollup utilize it (represented as step 8). The rationale for having the attestation lag parameter is to give -bakers sufficient time to download their assigned shards and to -guarantee that the latency stays within acceptable limits (around one +bakers sufficient time to download their assigned shards, while +guaranteeing that the latency of publishing blobs stays within acceptable limits (around one minute). diff --git a/scripts/packaging/octez/manpages/octez-baker.1 b/scripts/packaging/octez/manpages/octez-baker.1 index 83919f2823ff947839e1775ef960c24530da67e3..c5bfc961967a68b7e16b44044285d3104dc1ea00 100644 --- a/scripts/packaging/octez/manpages/octez-baker.1 +++ b/scripts/packaging/octez/manpages/octez-baker.1 @@ -10,7 +10,7 @@ octez-baker \- Octez Baker Daemon .SH DESCRIPTION .B octez-baker includes the necessary tools and functionalities for participating in the -baking process, such as block creation, endorsement, and protocol-specific +baking process, such as block creation, attestations, and protocol-specific consensus mechanisms. .SH OPTIONS diff --git a/src/lib_base/unix/file_descriptor_sink.mli b/src/lib_base/unix/file_descriptor_sink.mli index 91012a7cca37660b8d7a58e780c574d2aac5cfbb..1dfc132fa32891da7120a5d7e314a30c09d6fc17 100644 --- a/src/lib_base/unix/file_descriptor_sink.mli +++ b/src/lib_base/unix/file_descriptor_sink.mli @@ -30,7 +30,7 @@ - ["file-descriptor-path"] outputs to the file at the URI path - ["file-descriptor-stdout"] outputs to [stdout] - ["file-descriptor-stderr"] outputs to [stderr] - - ["file-descriptor-syslog"] ouputs to a [syslog] facility + - ["file-descriptor-syslog"] outputs to a [syslog] facility Available options are diff --git a/src/proto_004_Pt24m4xi/lib_client/alpha_client_context.ml b/src/proto_004_Pt24m4xi/lib_client/alpha_client_context.ml index ede505a901ae307ab6c76c6461976d54acd13693..ecb771ac11b7b0fcd68d6ab14a4e60c6ad151a90 100644 --- a/src/proto_004_Pt24m4xi/lib_client/alpha_client_context.ml +++ b/src/proto_004_Pt24m4xi/lib_client/alpha_client_context.ml @@ -248,6 +248,6 @@ let () = @@ Data_encoding.def (stamp_proto "errors" []) ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_005_PsBabyM1/lib_client/protocol_client_context.ml b/src/proto_005_PsBabyM1/lib_client/protocol_client_context.ml index 81bbb0f1d704ffe4ed3997dc17798a495039c15b..c3e0423632c97563ea634e3f2c5ccb876113890a 100644 --- a/src/proto_005_PsBabyM1/lib_client/protocol_client_context.ml +++ b/src/proto_005_PsBabyM1/lib_client/protocol_client_context.ml @@ -232,6 +232,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_006_PsCARTHA/lib_client/protocol_client_context.ml b/src/proto_006_PsCARTHA/lib_client/protocol_client_context.ml index 40d27c01b4b030d6dc2cc14d547549ead22e2e6a..08b8229c734ead8a57b81388340c32972dfe40a4 100644 --- a/src/proto_006_PsCARTHA/lib_client/protocol_client_context.ml +++ b/src/proto_006_PsCARTHA/lib_client/protocol_client_context.ml @@ -233,6 +233,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_007_PsDELPH1/lib_client/protocol_client_context.ml b/src/proto_007_PsDELPH1/lib_client/protocol_client_context.ml index 5125c5621ecc1434a33c312cbe6daf37fad63235..8efd7868da7733c932122b0d1ca064b52f524d33 100644 --- a/src/proto_007_PsDELPH1/lib_client/protocol_client_context.ml +++ b/src/proto_007_PsDELPH1/lib_client/protocol_client_context.ml @@ -259,6 +259,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_008_PtEdo2Zk/lib_client/protocol_client_context.ml b/src/proto_008_PtEdo2Zk/lib_client/protocol_client_context.ml index 8ed4e4b8c167bb5f0e2a601ecca7a042b5483778..0efc305581c8fa0b1bfb24183bd501fa1a06295c 100644 --- a/src/proto_008_PtEdo2Zk/lib_client/protocol_client_context.ml +++ b/src/proto_008_PtEdo2Zk/lib_client/protocol_client_context.ml @@ -262,6 +262,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_009_PsFLoren/lib_client/protocol_client_context.ml b/src/proto_009_PsFLoren/lib_client/protocol_client_context.ml index 1ca2a65141fc9bdea00079b8502b198d6619399f..4bcf65448910cdbfc7483f9a39a38927b1c7ac26 100644 --- a/src/proto_009_PsFLoren/lib_client/protocol_client_context.ml +++ b/src/proto_009_PsFLoren/lib_client/protocol_client_context.ml @@ -262,6 +262,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_010_PtGRANAD/lib_client/protocol_client_context.ml b/src/proto_010_PtGRANAD/lib_client/protocol_client_context.ml index c5ace46f8ca0180837424ea282a17898ff6bf7c2..4fd9948424e378968358f63e2c7b6643caecb251 100644 --- a/src/proto_010_PtGRANAD/lib_client/protocol_client_context.ml +++ b/src/proto_010_PtGRANAD/lib_client/protocol_client_context.ml @@ -262,6 +262,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_011_PtHangz2/lib_client/protocol_client_context.ml b/src/proto_011_PtHangz2/lib_client/protocol_client_context.ml index cf448061890f2175aa124c3dde634dd335cd02e3..64ef8cf5185a4981dfc2a915f37efca807879790 100644 --- a/src/proto_011_PtHangz2/lib_client/protocol_client_context.ml +++ b/src/proto_011_PtHangz2/lib_client/protocol_client_context.ml @@ -262,6 +262,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_012_Psithaca/lib_client/protocol_client_context.ml b/src/proto_012_Psithaca/lib_client/protocol_client_context.ml index de61519f47ec1694469f6ae50625e626f24ed3fa..0b0898a4b8eaa425a3ca81be604a02a3b1a6abf1 100644 --- a/src/proto_012_Psithaca/lib_client/protocol_client_context.ml +++ b/src/proto_012_Psithaca/lib_client/protocol_client_context.ml @@ -251,6 +251,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_013_PtJakart/lib_client/protocol_client_context.ml b/src/proto_013_PtJakart/lib_client/protocol_client_context.ml index 36a706f815e6020c22e95fb182cf9857f784830a..63e96de76b260a1a67c144a4db4cace6bb0ae8df 100644 --- a/src/proto_013_PtJakart/lib_client/protocol_client_context.ml +++ b/src/proto_013_PtJakart/lib_client/protocol_client_context.ml @@ -246,6 +246,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_014_PtKathma/lib_client/protocol_client_context.ml b/src/proto_014_PtKathma/lib_client/protocol_client_context.ml index f98be0dfceb62314a6c15dab70969b9357e202f7..53b33d9a99b848e2fe7726db408c5ad5ae2c9658 100644 --- a/src/proto_014_PtKathma/lib_client/protocol_client_context.ml +++ b/src/proto_014_PtKathma/lib_client/protocol_client_context.ml @@ -246,6 +246,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_015_PtLimaPt/lib_client/protocol_client_context.ml b/src/proto_015_PtLimaPt/lib_client/protocol_client_context.ml index fdf1b41ff26f0cdf88b4c089fed8315d45df596b..53633401fea731e8df3b16afccaa3bd36a833e1c 100644 --- a/src/proto_015_PtLimaPt/lib_client/protocol_client_context.ml +++ b/src/proto_015_PtLimaPt/lib_client/protocol_client_context.ml @@ -246,6 +246,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_016_PtMumbai/lib_client/protocol_client_context.ml b/src/proto_016_PtMumbai/lib_client/protocol_client_context.ml index 3c9fbd954b40f05021e55eb6199e32b28930c777..d9f93e27cf1efcb31c71e934461019dfa0b96a4d 100644 --- a/src/proto_016_PtMumbai/lib_client/protocol_client_context.ml +++ b/src/proto_016_PtMumbai/lib_client/protocol_client_context.ml @@ -246,6 +246,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_017_PtNairob/lib_client/protocol_client_context.ml b/src/proto_017_PtNairob/lib_client/protocol_client_context.ml index 4fe07ce4465b752efb6dd707604a2b442f284231..57e7e9c98f919017275f7fed47c2ba51200bbe66 100644 --- a/src/proto_017_PtNairob/lib_client/protocol_client_context.ml +++ b/src/proto_017_PtNairob/lib_client/protocol_client_context.ml @@ -359,6 +359,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_018_Proxford/lib_client/protocol_client_context.ml b/src/proto_018_Proxford/lib_client/protocol_client_context.ml index 7b31098eab55e7ae1f95f68dca4fc5d7e48e806a..613cc8718583b3a03b1fce53434f65f1d0d0db41 100644 --- a/src/proto_018_Proxford/lib_client/protocol_client_context.ml +++ b/src/proto_018_Proxford/lib_client/protocol_client_context.ml @@ -335,6 +335,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_019_PtParisB/lib_client/protocol_client_context.ml b/src/proto_019_PtParisB/lib_client/protocol_client_context.ml index e9ccd074662d7c237b0a6ffd90b5c1c4a10dd0f2..9c2e3b986fc8097d65a2fa040341416517ce0c19 100644 --- a/src/proto_019_PtParisB/lib_client/protocol_client_context.ml +++ b/src/proto_019_PtParisB/lib_client/protocol_client_context.ml @@ -328,6 +328,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_020_PsParisC/lib_client/protocol_client_context.ml b/src/proto_020_PsParisC/lib_client/protocol_client_context.ml index e9ccd074662d7c237b0a6ffd90b5c1c4a10dd0f2..9c2e3b986fc8097d65a2fa040341416517ce0c19 100644 --- a/src/proto_020_PsParisC/lib_client/protocol_client_context.ml +++ b/src/proto_020_PsParisC/lib_client/protocol_client_context.ml @@ -328,6 +328,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_021_PsQuebec/lib_client/protocol_client_context.ml b/src/proto_021_PsQuebec/lib_client/protocol_client_context.ml index 8fe20cb2b646f583dd0cba003c45d5a5ae047688..19f5c940b8bf951ddd459e8be5c450a02dca9972 100644 --- a/src/proto_021_PsQuebec/lib_client/protocol_client_context.ml +++ b/src/proto_021_PsQuebec/lib_client/protocol_client_context.ml @@ -311,6 +311,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_022_PsRiotum/lib_client/protocol_client_context.ml b/src/proto_022_PsRiotum/lib_client/protocol_client_context.ml index 8fe20cb2b646f583dd0cba003c45d5a5ae047688..19f5c940b8bf951ddd459e8be5c450a02dca9972 100644 --- a/src/proto_022_PsRiotum/lib_client/protocol_client_context.ml +++ b/src/proto_022_PsRiotum/lib_client/protocol_client_context.ml @@ -311,6 +311,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding diff --git a/src/proto_alpha/lib_client/protocol_client_context.ml b/src/proto_alpha/lib_client/protocol_client_context.ml index 88f51735a7090b7fb5b4a3981555cd4ac4919d97..85e5af65841067fbc28c9497f0c34503aa8abb06 100644 --- a/src/proto_alpha/lib_client/protocol_client_context.ml +++ b/src/proto_alpha/lib_client/protocol_client_context.ml @@ -316,6 +316,6 @@ let () = "errors" [] ~description: - "The full list of RPC errors would be too long to include.It is\n\ + "The full list of RPC errors would be too long to include. It is\n\ available through the RPC `/errors` (GET)." error_encoding