package tezos-protocol-environment

  1. Overview
  2. Docs
Interface layer between the protocols and the shell

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-15.1.tar.gz
sha256=3e7de89044f57a51e83bc445d1bae95a8161768bf3afd1b532075b39bd44d508
sha512=83e483ed96e83886136323d7bce425148bb46ccb6309345eadb339852e6bcdd5bc579d9477ce0ea295de9e371366fc09d44d5a876f09b242772e6ecb928a6b1d

Description

The protocol-environment is a two-sided component sitting between the shell and the protocols.

On one side, it provides a restricted typing environment to compile the protocols against. This is a series of modules which replace the standard library of OCaml. These modules purposefully omit many functionalities, thus preventing the protocols from, say, directly writing to disk.

On the other side, it provides the shell with specific call-sites in the protocols. These are the only entry-points into the otherwise black-box protocols.

Published: 08 Dec 2022

README

Tezos Octez implementation

Introduction

Tezos is a blockchain that offers both consensus and meta-consensus, by which we mean that Tezos comes to consensus both about the state of its ledger, and also about how the protocol and the nodes should adapt and upgrade. For more information about the project, see https://tezos.com.

Getting started

Instructions to install, start using, and taking part in the consensus are available at https://tezos.gitlab.io/.

The Tezos software

This repository hosts Octez, an implementation of the Tezos blockchain. Octez provides a node, a client, a baker, an endorser, an accuser, and other tools, distributed with the Tezos economic protocols of Mainnet for convenience.

In more detail, this git repository contains:

  • the source code, in directory src/

  • tests (mainly system tests):

    • in a Python testing and execution framework, under tests_python/

    • in an OCaml system testing framework for Tezos called Tezt, under tezt/

  • the developer documentation of the Tezos software, under docs/

  • a few third-party libraries, adapted for Tezos, under vendors/

The Tezos software may run either on the nodes of the main Tezos network (mainnet) or on various Tezos test networks.

The documentation for developers, including developers of the Tezos software and developer of Tezos applications and tools, is available online at https://tezos.gitlab.io/. This documentation is always in sync with the master branch which may however be slightly desynchronized with the code running on the live networks.

The source code of Octez is placed under the MIT Open Source License.

Contributing

Development workflow

All development of the Tezos code happens on GitLab at https://gitlab.com/tezos/tezos. Merge requests (https://gitlab.com/tezos/tezos/-/merge_requests) should usually target the master branch; see the contribution instructions.

The issue tracker at https://gitlab.com/tezos/tezos/issues can be used to report bugs and to request new simple features. The Tezos Agora forum is another great place to discuss the future of Tezos with the community at large.

Continuous Integration

Running CI pipelines in your forks using GitLab's shared runners may fail, for instance because tests may take too long to run. The CI of tezos/tezos (i.e. https://gitlab.com/tezos/tezos) uses custom runners that do not have this issue. If you create a merge request targeting tezos/tezos, pipelines for your branch will run using those custom runners. To trigger those pipelines you need to be a developer in the tezos/tezos project. Otherwise, reviewers can do that for you.

Development of the Tezos protocol

The core of the Tezos software that implements the economic ruleset is called the protocol. Unlike the rest of the source code, updates to the protocol must be further adopted through the Tezos on-chain voting procedure. Protocol contributors are encouraged to synchronize their contributions to minimize the number of protocol proposals that the stakeholders have to study and to maximize the throughput of the voting procedure.

Community

Links to community websites are gathered in the following community portals:

  • https://www.tezos.help/

  • https://developers.tezos.com/ (for developers of applications built on Tezos)

Dependencies (20)

  1. tezos-event-logging = version
  2. tezos-context = version
  3. tezos-micheline = version
  4. tezos-sapling = version
  5. tezos-base = version
  6. ringo-lwt >= "0.9"
  7. ringo >= "0.9" & < "1.0.0"
  8. class_group_vdf >= "0.0.4"
  9. tezos-crypto-dal = version
  10. zarith_stubs_js
  11. zarith >= "1.12" & < "1.13"
  12. tezos-plonk >= "0.1.2"
  13. bls12-381 >= "5.0.0" & < "5.1.0"
  14. data-encoding >= "0.6" & < "0.7"
  15. tezos-scoru-wasm = version
  16. tezos-lwt-result-stdlib = version
  17. tezos-crypto = version
  18. tezos-stdlib = version
  19. ocaml >= "4.14.0" & < "4.15"
  20. dune >= "3.0"

Dev Dependencies (4)

  1. lwt with-test & >= "5.6.0"
  2. qcheck-alcotest with-test & >= "0.18"
  3. tezos-test-helpers with-test & = version
  4. alcotest-lwt with-test & >= "1.5.0"

Used by (78)

  1. octez-protocol-compiler = "15.1"
  2. octez-validator >= "15.1"
  3. tezos-baking-014-PtKathma >= "15.1"
  4. tezos-baking-014-PtKathma-commands >= "15.1"
  5. tezos-baking-015-PtLimaPt = "15.1"
  6. tezos-baking-015-PtLimaPt-commands = "15.1"
  7. tezos-baking-alpha = "15.1"
  8. tezos-baking-alpha-commands = "15.1"
  9. tezos-client-001-PtCJ7pwo = "15.1"
  10. tezos-client-002-PsYLVpVv = "15.1"
  11. tezos-client-003-PsddFKi3 = "15.1"
  12. tezos-client-004-Pt24m4xi = "15.1"
  13. tezos-client-005-PsBabyM1 = "15.1"
  14. tezos-client-006-PsCARTHA = "15.1"
  15. tezos-client-007-PsDELPH1 = "15.1"
  16. tezos-client-008-PtEdo2Zk = "15.1"
  17. tezos-client-009-PsFLoren = "15.1"
  18. tezos-client-010-PtGRANAD = "15.1"
  19. tezos-client-011-PtHangz2 = "15.1"
  20. tezos-client-012-Psithaca = "15.1"
  21. tezos-client-013-PtJakart = "15.1"
  22. tezos-client-014-PtKathma = "15.1"
  23. tezos-client-015-PtLimaPt = "15.1"
  24. tezos-client-alpha = "15.1"
  25. tezos-client-genesis = "15.1"
  26. tezos-context-ops = "15.1"
  27. tezos-embedded-protocol-000-Ps9mPmXa = "15.1"
  28. tezos-embedded-protocol-001-PtCJ7pwo = "15.1"
  29. tezos-embedded-protocol-002-PsYLVpVv = "15.1"
  30. tezos-embedded-protocol-003-PsddFKi3 = "15.1"
  31. tezos-embedded-protocol-004-Pt24m4xi = "15.1"
  32. tezos-embedded-protocol-005-PsBABY5H = "15.1"
  33. tezos-embedded-protocol-005-PsBabyM1 = "15.1"
  34. tezos-embedded-protocol-006-PsCARTHA = "15.1"
  35. tezos-embedded-protocol-007-PsDELPH1 = "15.1"
  36. tezos-embedded-protocol-008-PtEdo2Zk = "15.1"
  37. tezos-embedded-protocol-008-PtEdoTez = "15.1"
  38. tezos-embedded-protocol-009-PsFLoren = "15.1"
  39. tezos-embedded-protocol-010-PtGRANAD = "15.1"
  40. tezos-embedded-protocol-011-PtHangz2 = "15.1"
  41. tezos-embedded-protocol-012-Psithaca = "15.1"
  42. tezos-embedded-protocol-013-PtJakart = "15.1"
  43. tezos-embedded-protocol-014-PtKathma = "15.1"
  44. tezos-embedded-protocol-015-PtLimaPt = "15.1"
  45. tezos-embedded-protocol-alpha = "15.1"
  46. tezos-embedded-protocol-demo-counter = "15.1"
  47. tezos-embedded-protocol-demo-noops = "15.1"
  48. tezos-embedded-protocol-genesis = "15.1"
  49. tezos-mockup = "15.1"
  50. tezos-mockup-proxy = "15.1"
  51. tezos-mockup-registration = "15.1"
  52. tezos-protocol-000-Ps9mPmXa = "15.1"
  53. tezos-protocol-001-PtCJ7pwo = "15.1"
  54. tezos-protocol-002-PsYLVpVv = "15.1"
  55. tezos-protocol-003-PsddFKi3 = "15.1"
  56. tezos-protocol-004-Pt24m4xi = "15.1"
  57. tezos-protocol-005-PsBABY5H = "15.1"
  58. tezos-protocol-005-PsBabyM1 = "15.1"
  59. tezos-protocol-006-PsCARTHA = "15.1"
  60. tezos-protocol-007-PsDELPH1 = "15.1"
  61. tezos-protocol-008-PtEdo2Zk = "15.1"
  62. tezos-protocol-008-PtEdoTez = "15.1"
  63. tezos-protocol-009-PsFLoren = "15.1"
  64. tezos-protocol-010-PtGRANAD = "15.1"
  65. tezos-protocol-011-PtHangz2 = "15.1"
  66. tezos-protocol-012-Psithaca = "15.1"
  67. tezos-protocol-013-PtJakart = "15.1"
  68. tezos-protocol-014-PtKathma = "15.1"
  69. tezos-protocol-015-PtLimaPt = "15.1"
  70. tezos-protocol-alpha = "15.1"
  71. tezos-protocol-demo-counter = "15.1"
  72. tezos-protocol-demo-noops = "15.1"
  73. tezos-protocol-genesis = "15.1"
  74. tezos-protocol-updater = "15.1"
  75. tezos-proxy = "15.1"
  76. tezos-shell = "15.1"
  77. tezos-shell-context = "15.1"
  78. tezos-store = "15.1"

Conflicts

None