diff --git a/.buildkite/generate-tags-pipeline.sh b/.buildkite/generate-tags-pipeline.sh index 4479bb933..680612551 100755 --- a/.buildkite/generate-tags-pipeline.sh +++ b/.buildkite/generate-tags-pipeline.sh @@ -14,7 +14,7 @@ ymlappend () { } # we don't bottle meta-formulas that contain only services -formulae=("tezos-accuser-011-PtHangz2" "tezos-accuser-012-Psithaca" "tezos-admin-client" "tezos-baker-011-PtHangz2" "tezos-baker-012-Psithaca" "tezos-client" "tezos-codec" "tezos-endorser-011-PtHangz2" "tezos-node" "tezos-sandbox" "tezos-signer") +formulae=("tezos-accuser-012-Psithaca" "tezos-accuser-013-PtJakart" "tezos-admin-client" "tezos-baker-012-Psithaca" "tezos-baker-013-PtJakart" "tezos-client" "tezos-codec" "tezos-node" "tezos-sandbox" "tezos-signer") architecture=("arm64" "x86_64") declare -A queues=(["arm64"]="arm64-darwin" ["x86_64"]="x86_64-rosetta-darwin") declare -A brew_bottle_oses=(["arm64"]="arm64_big_sur" ["x86_64"]="big_sur") diff --git a/.buildkite/pipeline-raw.yml b/.buildkite/pipeline-raw.yml index 3ca56fb79..84b3544cd 100644 --- a/.buildkite/pipeline-raw.yml +++ b/.buildkite/pipeline-raw.yml @@ -119,7 +119,7 @@ steps: - eval "$SET_VERSION" # Building all binary packages will take significant amount of time, so we build only one # in order to ensure package generation sanity - - ./docker/docker-tezos-packages.sh --os ubuntu --type binary --package tezos-baker-011-PtHangz2 + - ./docker/docker-tezos-packages.sh --os ubuntu --type binary --package tezos-baker-012-Psithaca - rm -rf out # It takes much time to build binary package, so we do it only on master branches: "master" @@ -143,7 +143,7 @@ steps: - eval "$SET_VERSION" # Building all binary packages will take significant amount of time, so we build only one # in order to ensure package generation sanity - - ./docker/docker-tezos-packages.sh --os fedora --type binary --package tezos-baker-011-PtHangz2 + - ./docker/docker-tezos-packages.sh --os fedora --type binary --package tezos-baker-012-Psithaca - rm -rf out # It takes much time to build binary package, so we do it only on master branches: "master" diff --git a/.github/workflows/build-bottles.yml b/.github/workflows/build-bottles.yml index c72592b08..09b8b9d08 100644 --- a/.github/workflows/build-bottles.yml +++ b/.github/workflows/build-bottles.yml @@ -16,7 +16,7 @@ jobs: matrix: os: [ { id: macos-10.15, name: "catalina" } ] # we don't bottle meta-formulas that contain only services - formula: [tezos-accuser-011-PtHangz2, tezos-accuser-012-Psithaca, tezos-admin-client, tezos-baker-011-PtHangz2, tezos-baker-012-Psithaca, tezos-client, tezos-codec, tezos-endorser-011-PtHangz2, tezos-node, tezos-sandbox, tezos-signer] + formula: [tezos-accuser-012-Psithaca, tezos-accuser-013-PtJakart, tezos-admin-client, tezos-baker-012-Psithaca, tezos-baker-013-PtJakart, tezos-client, tezos-codec, tezos-node, tezos-sandbox, tezos-signer] steps: - name: Checkout diff --git a/Formula/tezos-accuser-012-Psithaca.rb b/Formula/tezos-accuser-012-Psithaca.rb index 9c70c4768..e38a5a5ad 100644 --- a/Formula/tezos-accuser-012-Psithaca.rb +++ b/Formula/tezos-accuser-012-Psithaca.rb @@ -9,9 +9,9 @@ class << self end homepage "https://gitlab.com/tezos/tezos" - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false + url "https://gitlab.com/tezos/tezos.git", :tag => "v13.0-rc1", :shallow => false - version "v12.3-1" + version "v13.0-rc1-1" build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] build_dependencies.each do |dependency| @@ -26,9 +26,6 @@ class << self bottle do root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosAccuser012Psithaca.version}/" - sha256 cellar: :any, big_sur: "e443b2f58e83998d4713e2e6e9bbdb77d4971e06565aa3388bca5a5a55f0a25d" - sha256 cellar: :any, arm64_big_sur: "c662af8cdc0dfd74a753c54d141c8d54fdec9b7527d947901447bb162364840f" - sha256 cellar: :any, catalina: "037688bf6365ced1bc9f54e924905c394026dcc83b59a73d2d3508a4ee44b222" end def make_deps diff --git a/Formula/tezos-accuser-011-PtHangz2.rb b/Formula/tezos-accuser-013-PtJakart.rb similarity index 76% rename from Formula/tezos-accuser-011-PtHangz2.rb rename to Formula/tezos-accuser-013-PtJakart.rb index 1f82c3ed4..b2292aba2 100644 --- a/Formula/tezos-accuser-011-PtHangz2.rb +++ b/Formula/tezos-accuser-013-PtJakart.rb @@ -1,7 +1,7 @@ -# SPDX-FileCopyrightText: 2021 Oxhead Alpha +# SPDX-FileCopyrightText: 2022 Oxhead Alpha # SPDX-License-Identifier: LicenseRef-MIT-OA -class TezosAccuser011Pthangz2 < Formula +class TezosAccuser013Ptjakart < Formula @all_bins = [] class << self @@ -9,9 +9,9 @@ class << self end homepage "https://gitlab.com/tezos/tezos" - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false + url "https://gitlab.com/tezos/tezos.git", :tag => "v13.0-rc1", :shallow => false - version "v12.3-1" + version "v13.0-rc1-1" build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] build_dependencies.each do |dependency| @@ -25,10 +25,7 @@ class << self desc "Daemon for accusing" bottle do - root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosAccuser011Pthangz2.version}/" - sha256 cellar: :any, big_sur: "28feba18ddd2aef07989a0ada82f86d62cce7c6b02bd64052ea7520b3190291e" - sha256 cellar: :any, arm64_big_sur: "f8d1592a0b379a97b2fc67f506a27dfa009b42eb9305bb8c8e62800e847af9bc" - sha256 cellar: :any, catalina: "3e0d225b16b4055576ea018974b0ad3f4fb38f7e8f5ebd1a894d46b9d506cc91" + root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosAccuser013Ptjakart.version}/" end def make_deps @@ -61,7 +58,7 @@ def install set -euo pipefail - accuser="#{bin}/tezos-accuser-011-PtHangz2" + accuser="#{bin}/tezos-accuser-013-PtJakart" accuser_dir="$DATA_DIR" @@ -82,15 +79,15 @@ def install --endpoint "$NODE_RPC_ENDPOINT" \ run EOS - File.write("tezos-accuser-011-PtHangz2-start", startup_contents) - bin.install "tezos-accuser-011-PtHangz2-start" + File.write("tezos-accuser-013-PtJakart-start", startup_contents) + bin.install "tezos-accuser-013-PtJakart-start" make_deps - install_template "src/proto_011_PtHangz2/bin_accuser/main_accuser_011_PtHangz2.exe", - "_build/default/src/proto_011_PtHangz2/bin_accuser/main_accuser_011_PtHangz2.exe", - "tezos-accuser-011-PtHangz2" + install_template "src/proto_013_PtJakart/bin_accuser/main_accuser_013_PtJakart.exe", + "_build/default/src/proto_013_PtJakart/bin_accuser/main_accuser_013_PtJakart.exe", + "tezos-accuser-013-PtJakart" end - plist_options manual: "tezos-accuser-011-PtHangz2 run" + plist_options manual: "tezos-accuser-013-PtJakart run" def plist <<~EOS @@ -101,7 +98,7 @@ def plist Label #{plist_name} Program - #{opt_bin}/tezos-accuser-011-PtHangz2-start + #{opt_bin}/tezos-accuser-013-PtJakart-start EnvironmentVariables DATA_DIR diff --git a/Formula/tezos-admin-client.rb b/Formula/tezos-admin-client.rb index 38bb86599..a881d6706 100644 --- a/Formula/tezos-admin-client.rb +++ b/Formula/tezos-admin-client.rb @@ -9,9 +9,9 @@ class << self end homepage "https://gitlab.com/tezos/tezos" - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false + url "https://gitlab.com/tezos/tezos.git", :tag => "v13.0-rc1", :shallow => false - version "v12.3-1" + version "v13.0-rc1-1" build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] build_dependencies.each do |dependency| @@ -26,9 +26,6 @@ class << self bottle do root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosAdminClient.version}/" - sha256 cellar: :any, big_sur: "a3c0394ea9415b5016cb205b5fc7d3c39b1a23a236569f2ff482a63964535af8" - sha256 cellar: :any, arm64_big_sur: "9d050fcb4c3b526760780c24f0f40f0eab515ac716926ca65a3432ce798eb673" - sha256 cellar: :any, catalina: "67c0b74110f01ea506bb2a8dd8c1eb4ee99c9d61d151f5657e9588662cf76a91" end def make_deps diff --git a/Formula/tezos-baker-012-Psithaca.rb b/Formula/tezos-baker-012-Psithaca.rb index e8f227ce2..296d770cc 100644 --- a/Formula/tezos-baker-012-Psithaca.rb +++ b/Formula/tezos-baker-012-Psithaca.rb @@ -9,9 +9,9 @@ class << self end homepage "https://gitlab.com/tezos/tezos" - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false + url "https://gitlab.com/tezos/tezos.git", :tag => "v13.0-rc1", :shallow => false - version "v12.3-1" + version "v13.0-rc1-1" build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] build_dependencies.each do |dependency| @@ -26,9 +26,6 @@ class << self bottle do root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosBaker012Psithaca.version}/" - sha256 cellar: :any, big_sur: "7f7d0af49d2f52559cc76949285b280dfeb2eb8be8869455aa6e42c52659f115" - sha256 cellar: :any, arm64_big_sur: "f690d2a26fe688c82a96f9e2b55e403db99e05a551b51d60842aa5f1e2192b83" - sha256 cellar: :any, catalina: "f96523cd0f3d6c43c3fe79a51f1fc0a2d2b361e57de0660343b79488facbf15a" end def make_deps diff --git a/Formula/tezos-baker-011-PtHangz2.rb b/Formula/tezos-baker-013-PtJakart.rb similarity index 77% rename from Formula/tezos-baker-011-PtHangz2.rb rename to Formula/tezos-baker-013-PtJakart.rb index 7a39a5a5c..ffa262eee 100644 --- a/Formula/tezos-baker-011-PtHangz2.rb +++ b/Formula/tezos-baker-013-PtJakart.rb @@ -1,7 +1,7 @@ -# SPDX-FileCopyrightText: 2021 Oxhead Alpha +# SPDX-FileCopyrightText: 2022 Oxhead Alpha # SPDX-License-Identifier: LicenseRef-MIT-OA -class TezosBaker011Pthangz2 < Formula +class TezosBaker013Ptjakart < Formula @all_bins = [] class << self @@ -9,9 +9,9 @@ class << self end homepage "https://gitlab.com/tezos/tezos" - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false + url "https://gitlab.com/tezos/tezos.git", :tag => "v13.0-rc1", :shallow => false - version "v12.3-1" + version "v13.0-rc1-1" build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] build_dependencies.each do |dependency| @@ -25,10 +25,7 @@ class << self desc "Daemon for baking" bottle do - root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosBaker011Pthangz2.version}/" - sha256 cellar: :any, big_sur: "d0d8ea984e1a8fdcd52deab3fa928866c1b28943e809dfa82670e2c2bd52f1a1" - sha256 cellar: :any, arm64_big_sur: "c793da7d531e5d834726fa0adbaa23266db4b00140be8c1753b836db7e621ccc" - sha256 cellar: :any, catalina: "f404ef6c76d95a135fa0ba3bfdae5b110c4b644ba918dd9b65b477f8926cf0f7" + root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosBaker013Ptjakart.version}/" end def make_deps @@ -61,7 +58,7 @@ def install set -euo pipefail - baker="#{bin}/tezos-baker-011-PtHangz2" + baker="#{bin}/tezos-baker-013-PtJakart" baker_dir="$DATA_DIR" @@ -90,14 +87,14 @@ def install launch_baker "$BAKER_ACCOUNT" fi EOS - File.write("tezos-baker-011-PtHangz2-start", startup_contents) - bin.install "tezos-baker-011-PtHangz2-start" + File.write("tezos-baker-013-PtJakart", startup_contents) + bin.install "tezos-baker-013-PtJakart-start" make_deps - install_template "src/proto_011_PtHangz2/bin_baker/main_baker_011_PtHangz2.exe", - "_build/default/src/proto_011_PtHangz2/bin_baker/main_baker_011_PtHangz2.exe", - "tezos-baker-011-PtHangz2" + install_template "src/proto_013_PtJakart/bin_baker/main_baker_013_PtJakart.exe", + "_build/default/src/proto_013_PtJakart/bin_baker/main_baker_013_PtJakart.exe", + "tezos-baker-013-PtJakart" end - plist_options manual: "tezos-baker-011-PtHangz2 run with local node" + plist_options manual: "tezos-baker-013-PtJakart run with local node" def plist <<~EOS @@ -108,7 +105,7 @@ def plist Label #{plist_name} Program - #{opt_bin}/tezos-baker-011-PtHangz2-start + #{opt_bin}/tezos-baker-013-PtJakart-start EnvironmentVariables DATA_DIR diff --git a/Formula/tezos-client.rb b/Formula/tezos-client.rb index cf4bac45a..09134b350 100644 --- a/Formula/tezos-client.rb +++ b/Formula/tezos-client.rb @@ -9,9 +9,9 @@ class << self end homepage "https://gitlab.com/tezos/tezos" - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false + url "https://gitlab.com/tezos/tezos.git", :tag => "v13.0-rc1", :shallow => false - version "v12.3-1" + version "v13.0-rc1-1" build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] build_dependencies.each do |dependency| @@ -26,9 +26,6 @@ class << self bottle do root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosClient.version}/" - sha256 cellar: :any, big_sur: "2bbc8145f26967977494aa81977b462047e1f70e93861e5050bac5a16adb2034" - sha256 cellar: :any, arm64_big_sur: "fe840d7b0722f6b7c891e968695af7b3589f9c27f9a3b3914f3963dbcd6e23c3" - sha256 cellar: :any, catalina: "8cef14b4143638354f18d1edca8cab9c900ada6e831e974543b3db5dd7df75ee" end def make_deps diff --git a/Formula/tezos-codec.rb b/Formula/tezos-codec.rb index 5376f4037..4812e4aba 100644 --- a/Formula/tezos-codec.rb +++ b/Formula/tezos-codec.rb @@ -9,9 +9,9 @@ class << self end homepage "https://gitlab.com/tezos/tezos" - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false + url "https://gitlab.com/tezos/tezos.git", :tag => "v13.0-rc1", :shallow => false - version "v12.3-1" + version "v13.0-rc1-1" build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] build_dependencies.each do |dependency| @@ -26,9 +26,6 @@ class << self bottle do root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosCodec.version}/" - sha256 cellar: :any, big_sur: "4946a81d767617c78171eabf1eb416be54274f246f25b85d609d8d6b8f861002" - sha256 cellar: :any, arm64_big_sur: "167c1c1c95be06f807e458416cc550fec5313c85be2e021178c3340682c0752b" - sha256 cellar: :any, catalina: "898babdca7fc3cf0d5846f863b762bf525c77c5dbb007d0d326ba38d7b35258b" end def make_deps diff --git a/Formula/tezos-endorser-011-PtHangz2.rb b/Formula/tezos-endorser-011-PtHangz2.rb deleted file mode 100644 index 03c28e677..000000000 --- a/Formula/tezos-endorser-011-PtHangz2.rb +++ /dev/null @@ -1,136 +0,0 @@ -# SPDX-FileCopyrightText: 2021 Oxhead Alpha -# SPDX-License-Identifier: LicenseRef-MIT-OA - -class TezosEndorser011Pthangz2 < Formula - @all_bins = [] - - class << self - attr_accessor :all_bins - end - homepage "https://gitlab.com/tezos/tezos" - - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false - - version "v12.3-1" - - build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] - build_dependencies.each do |dependency| - depends_on dependency => :build - end - - dependencies = %w[gmp hidapi libev libffi] - dependencies.each do |dependency| - depends_on dependency - end - - desc "Daemon for endorsing" - - bottle do - root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosEndorser011Pthangz2.version}/" - sha256 cellar: :any, big_sur: "f1deddb8ef8a99c40ca117ea4b8a44e03bbd0345b7bf87290e1fcb465e7d96a1" - sha256 cellar: :any, arm64_big_sur: "d7f70c00f7bcc8338e598512f6b44d495b841491444c6664ec09b7a6e8f1c5db" - sha256 cellar: :any, catalina: "362cec279765b88b175ad4b3c04024e1f765e16af7f07329362a006812a272bf" - end - - def make_deps - ENV.deparallelize - ENV["CARGO_HOME"]="./.cargo" - # Disable usage of instructions from the ADX extension to avoid incompatibility - # with old CPUs, see https://gitlab.com/dannywillems/ocaml-bls12-381/-/merge_requests/135/ - ENV["BLST_PORTABLE"]="yes" - # Here is the workaround to use opam 2.0.9 because Tezos is currently not compatible with opam 2.1.0 and newer - arch = RUBY_PLATFORM.include?("arm64") ? "arm64" : "x86_64" - system "curl", "-L", "https://github.com/ocaml/opam/releases/download/2.0.9/opam-2.0.9-#{arch}-macos", "--create-dirs", "-o", "#{ENV["HOME"]}/.opam-bin/opam" - system "chmod", "+x", "#{ENV["HOME"]}/.opam-bin/opam" - ENV["PATH"]="#{ENV["HOME"]}/.opam-bin:#{ENV["PATH"]}" - system "rustup-init", "--default-toolchain", "1.52.1", "-y" - system "opam", "init", "--bare", "--debug", "--auto-setup", "--disable-sandboxing" - system ["source .cargo/env", "make build-deps"].join(" && ") - end - - def install_template(dune_path, exec_path, name) - bin.mkpath - self.class.all_bins << name - system ["eval $(opam env)", "dune build #{dune_path}", "cp #{exec_path} #{name}"].join(" && ") - bin.install name - end - - - def install - startup_contents = - <<~EOS - #!/usr/bin/env bash - - set -euo pipefail - - endorser="#{bin}/tezos-endorser-011-PtHangz2" - - endorser_dir="$DATA_DIR" - - endorser_config="$endorser_dir/config" - mkdir -p "$endorser_dir" - - if [ ! -f "$endorser_config" ]; then - "$endorser" --base-dir "$endorser_dir" \ - --endpoint "$NODE_RPC_ENDPOINT" \ - config init --output "$endorser_config" >/dev/null 2>&1 - else - "$endorser" --base-dir "$endorser_dir" \ - --endpoint "$NODE_RPC_ENDPOINT" \ - config update >/dev/null 2>&1 - fi - - launch_endorser() { - exec "$endorser" --base-dir "$endorser_dir" \ - --endpoint "$NODE_RPC_ENDPOINT" \ - run "$@" - } - - if [[ -z "$ENDORSER_ACCOUNT" ]]; then - launch_endorser - else - launch_endorser "$ENDORSER_ACCOUNT" - fi - EOS - File.write("tezos-endorser-011-PtHangz2-start", startup_contents) - bin.install "tezos-endorser-011-PtHangz2-start" - make_deps - install_template "src/proto_011_PtHangz2/bin_endorser/main_endorser_011_PtHangz2.exe", - "_build/default/src/proto_011_PtHangz2/bin_endorser/main_endorser_011_PtHangz2.exe", - "tezos-endorser-011-PtHangz2" - end - - plist_options manual: "tezos-endorser-011-PtHangz2 run" - def plist - <<~EOS - - - - - Label - #{plist_name} - Program - #{opt_bin}/tezos-endorser-011-PtHangz2-start - EnvironmentVariables - - DATA_DIR - #{var}/lib/tezos/client - NODE_RPC_ENDPOINT - http://localhost:8732 - ENDORSER_ACCOUNT - - - RunAtLoad - StandardOutPath - #{var}/log/#{name}.log - StandardErrorPath - #{var}/log/#{name}.log - - - EOS - end - def post_install - mkdir "#{var}/lib/tezos/client" - end -end diff --git a/Formula/tezos-node-ithacanet.rb b/Formula/tezos-node-ithacanet.rb index 903b72619..e11f08ae2 100644 --- a/Formula/tezos-node-ithacanet.rb +++ b/Formula/tezos-node-ithacanet.rb @@ -3,7 +3,7 @@ class TezosNodeIthacanet < Formula url "file:///dev/null" - version "v12.3-1" + version "v13.0-rc1-1" depends_on "tezos-node" diff --git a/Formula/tezos-node-hangzhounet.rb b/Formula/tezos-node-jakartanet.rb similarity index 76% rename from Formula/tezos-node-hangzhounet.rb rename to Formula/tezos-node-jakartanet.rb index ca3025712..8921b92a2 100644 --- a/Formula/tezos-node-hangzhounet.rb +++ b/Formula/tezos-node-jakartanet.rb @@ -1,13 +1,13 @@ -# SPDX-FileCopyrightText: 2021 Oxhead Alpha +# SPDX-FileCopyrightText: 2022 Oxhead Alpha # SPDX-License-Identifier: LicenseRef-MIT-OA -class TezosNodeHangzhounet < Formula +class TezosNodeJakartanet < Formula url "file:///dev/null" - version "v12.3-1" + version "v13.0-rc1-1" depends_on "tezos-node" - desc "Meta formula that provides background tezos-node service that runs on hangzhounet" + desc "Meta formula that provides background tezos-node service that runs on jakartanet" def install startup_contents = @@ -26,14 +26,14 @@ def install "$node" config init \ --data-dir "$DATA_DIR" \ --rpc-addr "$NODE_RPC_ADDR" \ - --network=hangzhounet \ + --network="https://teztnets.xyz/jakartanet" \ "$@" else echo "Updating the node configuration..." "$node" config update \ --data-dir "$DATA_DIR" \ --rpc-addr "$NODE_RPC_ADDR" \ - --network=hangzhounet \ + --network="https://teztnets.xyz/jakartanet" \ "$@" fi @@ -45,9 +45,9 @@ def install --rpc-tls="$CERT_PATH","$KEY_PATH" fi EOS - File.write("tezos-node-hangzhounet-start", startup_contents) - bin.install "tezos-node-hangzhounet-start" - print "Installing tezos-node-hangzhounet service" + File.write("tezos-node-jakartanet-start", startup_contents) + bin.install "tezos-node-jakartanet-start" + print "Installing tezos-node-jakartanet service" end def plist <<~EOS @@ -59,11 +59,11 @@ def plist Label #{plist_name} Program - #{opt_bin}/tezos-node-hangzhounet-start + #{opt_bin}/tezos-node-jakartanet-start EnvironmentVariables DATA_DIR - #{var}/lib/tezos/node-hangzhounet + #{var}/lib/tezos/node-jakartanet NODE_RPC_ADDR 127.0.0.1:8732 CERT_PATH @@ -81,7 +81,7 @@ def plist EOS end def post_install - mkdir_p "#{var}/lib/tezos/node-hangzhounet" - system "tezos-node", "config", "init", "--data-dir" "#{var}/lib/tezos/node-hangzhounet", "--network", "hangzhounet" + mkdir_p "#{var}/lib/tezos/node-jakartanet" + system "tezos-node", "config", "init", "--data-dir" "#{var}/lib/tezos/node-jakartanet", "--network", "https://teztnets.xyz/jakartanet" end end diff --git a/Formula/tezos-node-mainnet.rb b/Formula/tezos-node-mainnet.rb index dd4b0025f..456d9256d 100644 --- a/Formula/tezos-node-mainnet.rb +++ b/Formula/tezos-node-mainnet.rb @@ -3,7 +3,7 @@ class TezosNodeMainnet < Formula url "file:///dev/null" - version "v12.3-1" + version "v13.0-rc1-1" depends_on "tezos-node" diff --git a/Formula/tezos-node.rb b/Formula/tezos-node.rb index e3574c784..76d4c2e16 100644 --- a/Formula/tezos-node.rb +++ b/Formula/tezos-node.rb @@ -9,9 +9,9 @@ class << self end homepage "https://gitlab.com/tezos/tezos" - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false + url "https://gitlab.com/tezos/tezos.git", :tag => "v13.0-rc1", :shallow => false - version "v12.3-1" + version "v13.0-rc1-1" build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] build_dependencies.each do |dependency| @@ -26,9 +26,6 @@ class << self bottle do root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosNode.version}/" - sha256 cellar: :any, big_sur: "c4c63392804fa1f241b40deb53e6d28c9c3a65ba28480c39ff2136793d399772" - sha256 cellar: :any, arm64_big_sur: "8a1c4ab74e203dea0cd286eb008bc4a6d421ee1f491b5ed0ea318c4c443f4e9f" - sha256 cellar: :any, catalina: "652f696ee5c7fee49f04e335907d416413fb087a6937919ab6e6e98512fcce3f" end def make_deps diff --git a/Formula/tezos-sandbox.rb b/Formula/tezos-sandbox.rb index 87c2e3948..9b61cd418 100644 --- a/Formula/tezos-sandbox.rb +++ b/Formula/tezos-sandbox.rb @@ -9,9 +9,9 @@ class << self end homepage "https://gitlab.com/tezos/tezos" - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false + url "https://gitlab.com/tezos/tezos.git", :tag => "v13.0-rc1", :shallow => false - version "v12.3-1" + version "v13.0-rc1-1" build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] build_dependencies.each do |dependency| @@ -26,9 +26,6 @@ class << self bottle do root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosSandbox.version}/" - sha256 cellar: :any, big_sur: "167557039e54247bed942c14d322435e6c416f6c59774a548f832d1b1120aa06" - sha256 cellar: :any, arm64_big_sur: "8f7775c2c76358499c43676c2d8272d82ce37ece4cb4b2ef4d96371316611e93" - sha256 cellar: :any, catalina: "ba842b6383c1260cfa2ba0f3f7be88c950b67a23824d3708ce34a45ad9ff5e57" end def make_deps diff --git a/Formula/tezos-signer-http.rb b/Formula/tezos-signer-http.rb index eac567eea..3ef9be2ba 100644 --- a/Formula/tezos-signer-http.rb +++ b/Formula/tezos-signer-http.rb @@ -3,7 +3,7 @@ class TezosSignerHttp < Formula url "file:///dev/null" - version "v12.3-1" + version "v13.0-rc1-1" depends_on "tezos-signer" diff --git a/Formula/tezos-signer-https.rb b/Formula/tezos-signer-https.rb index a026a52a5..b291db426 100644 --- a/Formula/tezos-signer-https.rb +++ b/Formula/tezos-signer-https.rb @@ -3,7 +3,7 @@ class TezosSignerHttps < Formula url "file:///dev/null" - version "v12.3-1" + version "v13.0-rc1-1" depends_on "tezos-signer" diff --git a/Formula/tezos-signer-tcp.rb b/Formula/tezos-signer-tcp.rb index b3631813e..0c89fb325 100644 --- a/Formula/tezos-signer-tcp.rb +++ b/Formula/tezos-signer-tcp.rb @@ -3,7 +3,7 @@ class TezosSignerTcp < Formula url "file:///dev/null" - version "v12.3-1" + version "v13.0-rc1-1" depends_on "tezos-signer" diff --git a/Formula/tezos-signer-unix.rb b/Formula/tezos-signer-unix.rb index f502fff46..6f75e9110 100644 --- a/Formula/tezos-signer-unix.rb +++ b/Formula/tezos-signer-unix.rb @@ -3,7 +3,7 @@ class TezosSignerUnix < Formula url "file:///dev/null" - version "v12.3-1" + version "v13.0-rc1-1" depends_on "tezos-signer" diff --git a/Formula/tezos-signer.rb b/Formula/tezos-signer.rb index 0c33f2814..5935149bc 100644 --- a/Formula/tezos-signer.rb +++ b/Formula/tezos-signer.rb @@ -9,9 +9,9 @@ class << self end homepage "https://gitlab.com/tezos/tezos" - url "https://gitlab.com/tezos/tezos.git", :tag => "v12.3", :shallow => false + url "https://gitlab.com/tezos/tezos.git", :tag => "v13.0-rc1", :shallow => false - version "v12.3-1" + version "v13.0-rc1-1" build_dependencies = %w[pkg-config autoconf rsync wget rustup-init] build_dependencies.each do |dependency| @@ -26,9 +26,6 @@ class << self bottle do root_url "https://github.com/serokell/tezos-packaging/releases/download/#{TezosSigner.version}/" - sha256 cellar: :any, big_sur: "65fe09d0ce343732207228bde5577d64c247d26ce9f040f15e2c7991a454a2c0" - sha256 cellar: :any, arm64_big_sur: "fc697db4fa333b03119f450d86c8c00eb305b09cd4fb38112a786368f9f52312" - sha256 cellar: :any, catalina: "7cfe4bb67ee80ab8637af4557ae881104e4f25f0f18426f784f5e3f0c82d6d1a" end def make_deps diff --git a/docker/docker-static-build.sh b/docker/docker-static-build.sh index 4c23b9821..742eac813 100755 --- a/docker/docker-static-build.sh +++ b/docker/docker-static-build.sh @@ -14,10 +14,6 @@ for proto in $(jq -r ".active | .[]" ../protocols.json); do binaries+=("tezos-accuser-$proto" "tezos-baker-$proto" ) done -for proto in $(jq -r ".active-.active_noendorser | .[]" ../protocols.json); do - binaries+=("tezos-endorser-$proto") -done - if [[ "${USE_PODMAN-}" == "True" ]]; then virtualisation_engine="podman" else diff --git a/docker/package/defaults/tezos-baker.conf b/docker/package/defaults/tezos-baker.conf index ac3a23e7a..cf7be03c6 100644 --- a/docker/package/defaults/tezos-baker.conf +++ b/docker/package/defaults/tezos-baker.conf @@ -7,3 +7,4 @@ DATA_DIR="/var/lib/tezos/.tezos-client" NODE_RPC_ENDPOINT="http://localhost:8732" BAKER_ADDRESS_ALIAS="baker" +LIQUIDITY_BAKING_TOGGLE_VOTE="pass" diff --git a/docker/package/defaults/tezos-baking-custom.conf b/docker/package/defaults/tezos-baking-custom.conf index b9ea0029c..b81a9815b 100644 --- a/docker/package/defaults/tezos-baking-custom.conf +++ b/docker/package/defaults/tezos-baking-custom.conf @@ -6,5 +6,6 @@ DATA_DIR="/var/lib/tezos/.tezos-client" NODE_RPC_ENDPOINT="http://localhost:8732" BAKER_ADDRESS_ALIAS="baker" +LIQUIDITY_BAKING_TOGGLE_VOTE="pass" CUSTOM_NODE_CONFIG="" RESET_ON_STOP="" diff --git a/docker/package/defaults/tezos-baking.conf b/docker/package/defaults/tezos-baking.conf index 2118c46d1..df655ad1f 100644 --- a/docker/package/defaults/tezos-baking.conf +++ b/docker/package/defaults/tezos-baking.conf @@ -7,3 +7,4 @@ DATA_DIR="/var/lib/tezos/.tezos-client" NODE_RPC_ENDPOINT="http://localhost:8732" BAKER_ADDRESS_ALIAS="baker" +LIQUIDITY_BAKING_TOGGLE_VOTE="pass" diff --git a/docker/package/defaults/tezos-endorser.conf b/docker/package/defaults/tezos-endorser.conf deleted file mode 100644 index 184edc74c..000000000 --- a/docker/package/defaults/tezos-endorser.conf +++ /dev/null @@ -1,9 +0,0 @@ -# vim: ft=sh -# SPDX-FileCopyrightText: 2020 TQ Tezos -# -# SPDX-License-Identifier: LicenseRef-MIT-TQ - -# shellcheck disable=SC2034 -NODE_RPC_ENDPOINT="http://localhost:8732" -DATA_DIR="/var/lib/tezos/.tezos-client" -BAKER_ADDRESS_ALIAS="baker" diff --git a/docker/package/model.py b/docker/package/model.py index c33fd72ce..35b589d0f 100644 --- a/docker/package/model.py +++ b/docker/package/model.py @@ -188,7 +188,6 @@ def __init__( dune_filepath: str, systemd_units: List[SystemdUnit] = [], target_proto: str = None, - optional_opam_deps: List[str] = [], postinst_steps: str = "", postrm_steps: str = "", additional_native_deps: List[str] = [], @@ -197,7 +196,6 @@ def __init__( self.desc = desc self.systemd_units = systemd_units self.target_proto = target_proto - self.optional_opam_deps = optional_opam_deps self.postinst_steps = postinst_steps self.postrm_steps = postrm_steps self.additional_native_deps = additional_native_deps @@ -511,14 +509,12 @@ def __init__( target_networks: List[str], network_protos: Dict[str, List[str]], meta: PackagesMeta, - protocols: Dict[str, List[str]], ): self.name = "tezos-baking" self.desc = "Package that provides systemd services that orchestrate other services from Tezos packages" self.meta = deepcopy(meta) self.meta.version = self.meta.version + self.letter_version self.target_protos = set() - self.noendorser_protos = protocols["active_noendorser"] for network in target_networks: for proto in network_protos[network]: self.target_protos.add(proto) @@ -527,8 +523,6 @@ def __init__( requires = [f"tezos-node-{network}.service"] for proto in network_protos[network]: requires.append(f"tezos-baker-{proto.lower()}@{network}.service") - if proto not in self.noendorser_protos: - requires.append(f"tezos-endorser-{proto.lower()}@{network}.service") self.systemd_units.append( self.__gen_baking_systemd_unit( requires, @@ -542,10 +536,6 @@ def __init__( for network in target_networks: for proto in network_protos[network]: custom_requires.append(f"tezos-baker-{proto.lower()}@custom@%i.service") - if proto not in self.noendorser_protos: - custom_requires.append( - f"tezos-endorser-{proto.lower()}@custom@%i.service" - ) custom_unit = self.__gen_baking_systemd_unit( custom_requires, f"Tezos baking instance for custom network", @@ -572,8 +562,6 @@ def gen_control_file(self, deps, ubuntu_version, out): run_deps_list = ["acl", "tezos-client", "tezos-node"] for proto in self.target_protos: run_deps_list.append(f"tezos-baker-{proto.lower()}") - if proto not in self.noendorser_protos: - run_deps_list.append(f"tezos-endorser-{proto.lower()}") run_deps = ", ".join(run_deps_list) file_contents = f""" Source: {self.name} @@ -595,13 +583,7 @@ def gen_control_file(self, deps, ubuntu_version, out): def gen_spec_file(self, build_deps, run_deps, out): run_deps = ", ".join( ["acl", "tezos-client", "tezos-node"] - + sum( - [ - [f"tezos-{daemon}-{proto}" for daemon in ["baker", "endorser"]] - for proto in self.target_protos - ], - [], - ) + + [f"tezos-baker-{proto}" for proto in self.target_protos], ) ( systemd_deps, diff --git a/docker/package/packages.py b/docker/package/packages.py index c6360aca3..f78fba85f 100644 --- a/docker/package/packages.py +++ b/docker/package/packages.py @@ -12,11 +12,17 @@ from .systemd import Service, ServiceFile, SystemdUnit, Unit, Install -networks = ["mainnet", "hangzhounet", "ithacanet"] +# Testnets are either supported by the tezos-node directly or have known URL with +# the config +networks = { + "mainnet": "mainnet", + "ithacanet": "ithacanet", + "jakartanet": "https://teztnets.xyz/jakartanet", +} networks_protos = { "mainnet": ["012-Psithaca"], - "hangzhounet": ["011-PtHangz2"], "ithacanet": ["012-Psithaca"], + "jakartanet": ["013-PtJakart"], } signer_units = [ @@ -121,7 +127,6 @@ "tezos-client", "CLI client for interacting with tezos blockchain", meta=packages_meta, - optional_opam_deps=["tls", "ledgerwallet-tezos"], additional_native_deps=["tezos-sapling-params", "udev"], postinst_steps=ledger_udev_postinst, dune_filepath="src/bin_client/main_client.exe", @@ -130,14 +135,12 @@ "tezos-admin-client", "Administration tool for the node", meta=packages_meta, - optional_opam_deps=["tls"], dune_filepath="src/bin_client/main_admin.exe", ), TezosBinaryPackage( "tezos-signer", "A client to remotely sign operations or blocks", meta=packages_meta, - optional_opam_deps=["tls", "ledgerwallet-tezos"], additional_native_deps=["udev"], systemd_units=signer_units, postinst_steps=ledger_udev_postinst, @@ -196,16 +199,16 @@ def mk_node_unit( node_postinst_steps = postinst_steps_common node_postrm_steps = "" common_node_env = ["NODE_RPC_ADDR=127.0.0.1:8732", "CERT_PATH=", "KEY_PATH="] -for network in networks: +for network, network_config in networks.items(): env = [ f"NODE_DATA_DIR=/var/lib/tezos/node-{network}", - f"NETWORK={network}", + f"NETWORK={network_config}", ] + common_node_env node_units.append( mk_node_unit(suffix=network, env=env, desc=f"Tezos node {network}") ) node_postinst_steps += f"""mkdir -p /var/lib/tezos/node-{network} -[ ! -f /var/lib/tezos/node-{network}/config.json ] && tezos-node config init --data-dir /var/lib/tezos/node-{network} --network {network} +[ ! -f /var/lib/tezos/node-{network}/config.json ] && tezos-node config init --data-dir /var/lib/tezos/node-{network} --network {network_config} chown -R tezos:tezos /var/lib/tezos/node-{network} cat > /usr/bin/tezos-node-{network} <<- 'EOM' @@ -247,15 +250,6 @@ def mk_node_unit( "Entry point for initializing, configuring and running a Tezos node", meta=packages_meta, systemd_units=node_units, - optional_opam_deps=[ - "tezos-embedded-protocol-001-PtCJ7pwo", - "tezos-embedded-protocol-002-PsYLVpVv", - "tezos-embedded-protocol-003-PsddFKi3", - "tezos-embedded-protocol-004-Pt24m4xi", - "tezos-embedded-protocol-005-PsBABY5H", - "tezos-embedded-protocol-005-PsBabyM1", - "tezos-embedded-protocol-006-PsCARTHA", - ], postinst_steps=node_postinst_steps, postrm_steps=node_postrm_steps, additional_native_deps=["tezos-sapling-params"], @@ -269,12 +263,11 @@ def mk_node_unit( active_protocols = protocols_json["active"] -daemons = ["baker", "accuser", "endorser"] +daemons = ["baker", "accuser"] daemon_decs = { "baker": "daemon for baking", "accuser": "daemon for accusing", - "endorser": "daemon for endorsing", } daemon_postinst_common = ( @@ -289,7 +282,6 @@ def mk_node_unit( network for network, protos in networks_protos.items() if proto in protos ] baker_startup_script = f"/usr/bin/tezos-baker-{proto.lower()}-start" - endorser_startup_script = f"/usr/bin/tezos-endorser-{proto.lower()}-start" accuser_startup_script = f"/usr/bin/tezos-accuser-{proto.lower()}-start" service_file_baker = ServiceFile( Unit(after=["network.target"], description="Tezos baker"), @@ -363,46 +355,6 @@ def mk_node_unit( ), Install(wanted_by=["multi-user.target"]), ) - service_file_endorser = ServiceFile( - Unit(after=["network.target"], description="Tezos endorser"), - Service( - environment_file=f"/etc/default/tezos-endorser-{proto}", - environment=[f"PROTOCOL={proto}"], - exec_start_pre=[ - "+/usr/bin/setfacl -m u:tezos:rwx /run/systemd/ask-password" - ], - exec_start=endorser_startup_script, - exec_stop_post=["+/usr/bin/setfacl -x u:tezos /run/systemd/ask-password"], - state_directory="tezos", - user="tezos", - type_="forking", - keyring_mode="shared", - ), - Install(wanted_by=["multi-user.target"]), - ) - service_file_endorser_instantiated = ServiceFile( - Unit( - after=[ - "network.target", - "tezos-node-%i.service", - "tezos-baking-%i.service", - ], - requires=["tezos-node-%i.service"], - part_of=["tezos-baking-%i.service"], - description="Instantiated tezos endorser daemon service", - ), - Service( - environment_file="/etc/default/tezos-baking-%i", - environment=[f"PROTOCOL={proto}"], - exec_start=endorser_startup_script, - state_directory="tezos", - user="tezos", - restart="on-failure", - type_="forking", - keyring_mode="shared", - ), - Install(wanted_by=["multi-user.target"]), - ) packages.append( TezosBinaryPackage( f"tezos-baker-{proto}", @@ -423,7 +375,6 @@ def mk_node_unit( ), ], target_proto=proto, - optional_opam_deps=["tls", "ledgerwallet-tezos"], postinst_steps=daemon_postinst_common + ledger_udev_postinst, additional_native_deps=[ "tezos-sapling-params", @@ -454,45 +405,16 @@ def mk_node_unit( ), ], target_proto=proto, - optional_opam_deps=["tls", "ledgerwallet-tezos"], additional_native_deps=["udev"], postinst_steps=daemon_postinst_common + ledger_udev_postinst, dune_filepath=f"src/proto_{proto_snake_case}/bin_accuser/main_accuser_{proto_snake_case}.exe", ) ) - if proto not in protocols_json["active_noendorser"]: - packages.append( - TezosBinaryPackage( - f"tezos-endorser-{proto}", - "Daemon for endorsing", - meta=packages_meta, - systemd_units=[ - SystemdUnit( - service_file=service_file_endorser, - startup_script=endorser_startup_script.split("/")[-1], - startup_script_source="tezos-endorser-start", - config_file="tezos-endorser.conf", - ), - SystemdUnit( - service_file=service_file_endorser_instantiated, - startup_script=endorser_startup_script.split("/")[-1], - startup_script_source="tezos-endorser-start", - instances=daemons_instances, - ), - ], - target_proto=proto, - optional_opam_deps=["tls", "ledgerwallet-tezos"], - postinst_steps=daemon_postinst_common + ledger_udev_postinst, - additional_native_deps=["tezos-client", "acl", "udev"], - dune_filepath=f"src/proto_{proto_snake_case}/bin_endorser/main_endorser_{proto_snake_case}.exe", - ) - ) packages.append( TezosBakingServicesPackage( - target_networks=networks, + target_networks=networks.keys(), network_protos=networks_protos, meta=packages_meta, - protocols=protocols_json, ) ) diff --git a/docker/package/scripts/tezos-baker-start b/docker/package/scripts/tezos-baker-start index 01b9661be..ec9cd2577 100755 --- a/docker/package/scripts/tezos-baker-start +++ b/docker/package/scripts/tezos-baker-start @@ -25,6 +25,22 @@ else config update >/dev/null 2>&1 fi +# Ithaca and Jakarta baker daemons have different liquidity baking escape voting format. +# Our baker services use format introduced in Jakarta and transform it to the format expected +# by Ithaca. +if [[ $PROTOCOL == "012-Psithaca" ]]; then + case $LIQUIDITY_BAKING_TOGGLE_VOTE in + off) + vote_args=(--liquidity-baking-escape-vote) + ;; + *) + vote_args=() + ;; + esac +else + vote_args=(--liquidity-baking-toggle-vote "$LIQUIDITY_BAKING_TOGGLE_VOTE") +fi + launch_baker() { if [[ -n ${1-} ]]; then key_type="$("$tezos_client" show address "$BAKER_ADDRESS_ALIAS" -S | grep "Secret Key:" | cut -d':' -f2-2 | xargs)" @@ -33,10 +49,10 @@ launch_baker() { password="$(systemd-ask-password --keyname="tezos-$BAKER_ADDRESS_ALIAS" --accept-cached \ "Enter password for $BAKER_ADDRESS_ALIAS key:")" "$baker" --base-dir "$baker_dir" --endpoint "$NODE_RPC_ENDPOINT" \ - run with local node "$NODE_DATA_DIR" "$@" <<< "$password" & + run with local node "$NODE_DATA_DIR" "${vote_args[@]}" "$@" <<< "$password" & else "$baker" --base-dir "$baker_dir" --endpoint "$NODE_RPC_ENDPOINT" \ - run with local node "$NODE_DATA_DIR" "$@" & + run with local node "$NODE_DATA_DIR" "${vote_args[@]}" "$@" & fi } diff --git a/docker/package/scripts/tezos-endorser-start b/docker/package/scripts/tezos-endorser-start deleted file mode 100755 index 472097bc0..000000000 --- a/docker/package/scripts/tezos-endorser-start +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash - -# SPDX-FileCopyrightText: 2020 TQ Tezos -# -# SPDX-License-Identifier: LicenseRef-MIT-TQ - -set -euo pipefail - -# $PROTOCOL should be defined in the system unit environment -endorser="/usr/bin/tezos-endorser-$PROTOCOL" -tezos_client="/usr/bin/tezos-client" - -endorser_dir="$DATA_DIR" - -endorser_config="$endorser_dir/config" -mkdir -p "$endorser_dir" - -if [ ! -f "$endorser_config" ]; then - "$endorser" --base-dir "$endorser_dir" \ - --endpoint "$NODE_RPC_ENDPOINT" \ - config init --output "$endorser_config" >/dev/null 2>&1 -else - "$endorser" --base-dir "$endorser_dir" \ - --endpoint "$NODE_RPC_ENDPOINT" \ - config update >/dev/null 2>&1 -fi - -launch_endorser() { - if [[ -n ${1-} ]]; then - key_type="$("$tezos_client" show address "$BAKER_ADDRESS_ALIAS" -S | grep "Secret Key:" | cut -d':' -f2-2 | xargs)" - fi - if [[ ${key_type:-} == "encrypted" ]]; then - password="$(systemd-ask-password --keyname="tezos-$BAKER_ADDRESS_ALIAS" --accept-cached \ - "Enter password for $BAKER_ADDRESS_ALIAS key:")" - "$endorser" --base-dir "$endorser_dir" --endpoint "$NODE_RPC_ENDPOINT" \ - run "$@" <<< "$password" & - else - "$endorser" --base-dir "$endorser_dir" \ - --endpoint "$NODE_RPC_ENDPOINT" \ - run "$@" & - fi -} - -if [[ -z "$BAKER_ADDRESS_ALIAS" ]]; then - launch_endorser "$@" -else - launch_endorser "$BAKER_ADDRESS_ALIAS" "$@" -fi diff --git a/docker/package/tezos_setup_wizard.py b/docker/package/tezos_setup_wizard.py index e6923fd01..9b59523d5 100644 --- a/docker/package/tezos_setup_wizard.py +++ b/docker/package/tezos_setup_wizard.py @@ -21,7 +21,7 @@ modes = { "baking": "Set up and start all services for baking: " - "tezos-node, tezos-baker, and tezos-endorser.", + "tezos-node and tezos-baker.", "node": "Only bootstrap and run the Tezos node.", } @@ -64,7 +64,7 @@ Tezos blockchain. In order to run a baking instance, you'll need the following Tezos binaries: - tezos-client, tezos-node, tezos-baker-, tezos-endorser-. + tezos-client, tezos-node, tezos-baker-. If you have installed tezos-baking, these binaries are already installed. All commands within the service are run under the 'tezos' user. @@ -99,9 +99,9 @@ def is_full_snapshot(import_mode): id="network", prompt="Which Tezos network would you like to use?\nCurrently supported:", help="The selected network will be used to set up all required services.\n" - "The currently supported protocol is 011-PtHangz2 (used on hangzhounet and mainnet)\n" - "and 012-Psithaca (used on ithacanet).\n" - "Keep in mind that you must select the test network (hangzhounet ot ithacanet)\n" + "The currently supported protocol are 012-Psithaca (used on ithacanet and mainnet)\n" + "and 012-PtJakart (used on jakartanet).\n" + "Keep in mind that you must select the test network (ithacanet or jakartanet)\n" "if you plan on baking with a faucet JSON file.\n", options=networks, validator=Validator(enum_range_validator(networks)), diff --git a/docker/package/wizard_structure.py b/docker/package/wizard_structure.py index f10db6085..1f664bdb0 100644 --- a/docker/package/wizard_structure.py +++ b/docker/package/wizard_structure.py @@ -238,8 +238,8 @@ def yes_or_no(prompt, default=None): networks = { "mainnet": "Main Tezos network", - "hangzhounet": "Test network using version 011 of Tezos protocol (Hangzhou)", "ithacanet": "Test network using version 012 of Tezos protocol (Ithaca2)", + "jakartanet": "Test network using version 013 of Tezos protocol (Jakarta2)", } # Wizard CLI skeleton diff --git a/docs/baking.md b/docs/baking.md index 1bb4641f9..e8bf8b47f 100644 --- a/docs/baking.md +++ b/docs/baking.md @@ -28,9 +28,10 @@ that you can use by following the [installation instructions](https://www.raspbe ### Installation In order to run a baking instance, you'll need the following Tezos binaries: -`tezos-client`, `tezos-node`, `tezos-baker-`, `tezos-endorser-`. +`tezos-client`, `tezos-node`, `tezos-baker-`. -The currently supported protocol is `011-PtHangz2` (used on `hangzhounet` and `mainnet`). +The currently supported protocols are `012-Psithaca` (used on `ithacanet` and `mainnet`) and +`013-PtJakart` (used on `jakartanet`). Also, note that the corresponding packages have protocol suffix in lowercase, e.g. the list of available baker packages can be found [here](https://launchpad.net/~serokell/+archive/ubuntu/tezos/+packages?field.name_filter=tezos-baker&field.status_filter=published). @@ -75,7 +76,7 @@ sudo apt-get update sudo apt-get install tezos-baking ``` -Packages for `tezos-node`, `tezos-baker-` and `tezos-endorser-` provide +Packages for `tezos-node` and `tezos-baker-` provide systemd units for running the corresponding binaries in the background, these units are orchestrated by the `tezos-baking-` units. @@ -134,7 +135,7 @@ In order to import the snapshot, run the following command: sudo -u tezos tezos-node- snapshot import ``` -## Setting up baker and endorser key +## Setting up baker key Note that account activation from JSON file and baker registering require running a fully-bootstrapped `tezos-node`. In order to start node service do the following: @@ -209,7 +210,6 @@ sudo systemctl start tezos-baking-.service This service will trigger the following services to start: * `tezos-node-.service` * `tezos-baker-@.service` -* `tezos-endorser-@network.service` Once services have started, you can check their logs via `journalctl`: ``` @@ -221,8 +221,6 @@ You'll see the following messages in the logs in case everything has started successfully: ``` Baker started. - -Endorser started. ``` To stop the baking instance run: @@ -272,9 +270,7 @@ or official testnets, you can do so: 4. Check that all parts are indeed running: ```bash systemctl status tezos-node-custom@ - systemctl status tezos-baker-011-pthangz2@custom@.service systemctl status tezos-baker-012-psithaca@custom@.service - systemctl status tezos-endorser-011-pthangz2@custom@.service ``` If at any point after that you want to reset the custom baking service, you can set diff --git a/docs/distros/fedora.md b/docs/distros/fedora.md index 940930b05..9eebedf07 100644 --- a/docs/distros/fedora.md +++ b/docs/distros/fedora.md @@ -11,11 +11,11 @@ E.g. in order to install `tezos-client` or `tezos-baker` run the following comma # use dnf sudo dnf copr enable @Serokell/Tezos sudo dnf install tezos-client -sudo dnf install tezos-baker-011-PtHangz2 +sudo dnf install tezos-baker-012-Psithaca # or use yum sudo yum copr enable @Serokell/Tezos -sudo yum install tezos-baker-011-PtHangz2 +sudo yum install tezos-baker-012-Psithaca ``` Once you install such packages the commands `tezos-*` will be available. diff --git a/docs/distros/macos.md b/docs/distros/macos.md index 828843369..a62885c22 100644 --- a/docs/distros/macos.md +++ b/docs/distros/macos.md @@ -50,7 +50,7 @@ ln -s /opt/homebrew/Cellar/tezos-sapling-params/v8.2-3/share/zcash-params/ ~/.zc IMPORTANT: All provided `launchd` services are run as a user agents, thus they're stopped after the logout. -`tezos-accuser-`, `tezos-baker-`, `tezos-endorser-` formulas +`tezos-accuser-`, `tezos-baker-` formulas provide backround services for running the corresponding daemons. Since `tezos-node` and `tezos-signer` need multiple services they are provided @@ -59,7 +59,7 @@ background services. Formulas with `tezos-node` background services: * `tezos-node-mainnet` -* `tezos-node-hangzhounet` +* `tezos-node-ithacanet` Formulas with `tezos-signer` background services: * `tezos-signer-http` diff --git a/docs/distros/ubuntu.md b/docs/distros/ubuntu.md index 901e0f8df..5fdc8e092 100644 --- a/docs/distros/ubuntu.md +++ b/docs/distros/ubuntu.md @@ -12,7 +12,7 @@ sudo add-apt-repository ppa:serokell/tezos && sudo apt-get update sudo apt-get install tezos-client # dpkg-source prohibits uppercase in the packages names so the protocol # name is in lowercase -sudo apt-get install tezos-baker-011-pthangz2 +sudo apt-get install tezos-baker-012-psithaca ``` Once you install such packages the commands `tezos-*` will be available. @@ -27,7 +27,7 @@ sudo add-apt-repository ppa:serokell/tezos-rc && sudo apt-get update ## `tezos-baking` package As an addition, `tezos-baking` package provides `tezos-baking-` services that orchestrate -systemd units for `tezos-node`, `tezos-baker-`, and `tezos-endorser-`. +systemd units for `tezos-node` and `tezos-baker-`. Configuration files for these services are located in `/etc/default/tezos-baking-`. diff --git a/docs/systemd.md b/docs/systemd.md index 8d731073f..cfafeee69 100644 --- a/docs/systemd.md +++ b/docs/systemd.md @@ -8,7 +8,7 @@ ## Systemd units on Ubuntu and Fedora `tezos-node`, `tezos-accuser-`, `tezos-baker-`, -`tezos-endorser-`, and `tezos-signer` packages have systemd files included to the +and `tezos-signer` packages have systemd files included to the Ubuntu and Fedora packages. Once you've installed one of these packages, you can run the service @@ -25,10 +25,10 @@ Each service has its configuration file located in `/etc/default`. Default configurations can be found [here](../docker/package/defaults/). Files created by the services will be located in `/var/lib/tezos/` by default. -`tezos-{accuser, baker, endorser}-` services can have configurable +`tezos-{accuser, baker}-` services have a configurable data directory. -`tezos-{accuser, endorser}` have configurable node address, so that they can be used with both +`tezos-accuser` has a configurable node address, so that it can be used with both remote and local node. @@ -45,7 +45,7 @@ E.g.: ``` ./gen_systemd_service_file.py tezos-node # or -./gen_systemd_service_file.py tezos-baker-011-PtHangz2 +./gen_systemd_service_file.py tezos-baker-012-Psithaca ``` After that you'll have `.service` files in the current directory. @@ -67,8 +67,8 @@ It's possible to run multiple similar services, e.g. two `tezos-node`s that run networks. `tezos-node` packages provide multiple services out of the box: -`tezos-node-hangzhounet`, and `tezos-node-mainnet` that run -`hangzhounet` and `mainnet` networks respectively. +`tezos-node-ithacanet`, and `tezos-node-mainnet` that run +`ithacanet` and `mainnet` networks respectively. In order to start it run: ``` @@ -81,7 +81,7 @@ TEZOS_NODE_DIR=".service>" tezos-node ``` In addition to node services where the config is predefined to a specific network -(e.g. `tezos-node-mainnet` or `tezos-node-hangzhounet`), it's possible to run `tezos-node-custom` +(e.g. `tezos-node-mainnet` or `tezos-node-ithacanet`), it's possible to run `tezos-node-custom` service and provide a path to the custom node config file via the `CUSTOM_NODE_CONFIG` variable in the `tezos-node-custom.service` file. diff --git a/nix/build/release-binaries.nix b/nix/build/release-binaries.nix index 31df84863..24d40be14 100644 --- a/nix/build/release-binaries.nix +++ b/nix/build/release-binaries.nix @@ -4,8 +4,6 @@ let protocols = import ../protocols.nix; protocolsFormatted = builtins.concatStringsSep ", " (protocols.allowed ++ protocols.active); - protocolsWithEndorser = - builtins.filter (x: !(builtins.elem x protocols.active_noendorser)) protocols.active; in [ { name = "tezos-client"; @@ -49,10 +47,4 @@ in [ description = "Daemon for accusing"; supports = protocol; } -]) protocols.active ++ builtins.concatMap (protocol: [ - { - name = "tezos-endorser-${protocol}"; - description = "Daemon for endorsing"; - supports = protocol; - } -]) protocolsWithEndorser +]) protocols.active diff --git a/nix/build/zcash-overlay.nix b/nix/build/zcash-overlay.nix index 1733ad47d..bef132f52 100644 --- a/nix/build/zcash-overlay.nix +++ b/nix/build/zcash-overlay.nix @@ -15,7 +15,7 @@ let }; relevant-packages = - "tezos-((node|client|codec|admin-client|signer)|((accuser|baker|endorser).*))"; + "tezos-((node|client|codec|admin-client|signer)|((accuser|baker).*))"; in builtins.mapAttrs (name: pkg: if !isNull (builtins.match relevant-packages name) then pkg.overrideAttrs inject-zcash diff --git a/nix/modules/common.nix b/nix/modules/common.nix index c21d8fdbe..dfbcd99e2 100644 --- a/nix/modules/common.nix +++ b/nix/modules/common.nix @@ -21,11 +21,11 @@ rec { daemonOptions = sharedOptions // { baseProtocol = mkOption { - type = types.enum [ "011-PtHangz2" "012-Psithaca" ]; + type = types.enum [ "012-Psithaca" "013-PtJakart" ]; description = '' Base protocol version. ''; - example = "011-PtHangz2"; + example = "012-Psithaca"; }; rpcPort = mkOption { diff --git a/nix/modules/tezos-accuser.nix b/nix/modules/tezos-accuser.nix index cbcf6ef74..268e8c1e4 100644 --- a/nix/modules/tezos-accuser.nix +++ b/nix/modules/tezos-accuser.nix @@ -7,10 +7,10 @@ with lib; let tezos-accuser-pkgs = { - "011-PtHangz2" = - "${pkgs.ocamlPackages.tezos-accuser-011-PtHangz2}/bin/tezos-accuser-011-PtHangz2"; "012-Psithaca" = "${pkgs.ocamlPackages.tezos-accuser-012-Psithaca}/bin/tezos-accuser-012-Psithaca"; + "013-PtJakart" = + "${pkgs.ocamlPackages.tezos-accuser-013-PtJakart}/bin/tezos-accuser-013-PtJakart"; }; cfg = config.services.tezos-accuser; common = import ./common.nix { inherit lib; inherit pkgs; }; diff --git a/nix/modules/tezos-baker.nix b/nix/modules/tezos-baker.nix index deb226ea0..8fd29414e 100644 --- a/nix/modules/tezos-baker.nix +++ b/nix/modules/tezos-baker.nix @@ -7,10 +7,10 @@ with lib; let tezos-baker-pkgs = { - "011-PtHangz2" = - "${pkgs.ocamlPackages.tezos-baker-011-PtHangz2}/bin/tezos-baker-011-PtHangz2"; "012-Psithaca" = "${pkgs.ocamlPackages.tezos-baker-012-Psithaca}/bin/tezos-baker-012-Psithaca"; + "013-PtJakart" = + "${pkgs.ocamlPackages.tezos-baker-013-PtJakart}/bin/tezos-baker-013-PtJakart"; }; cfg = config.services.tezos-baker; common = import ./common.nix { inherit lib; inherit pkgs; }; diff --git a/nix/modules/tezos-endorser.nix b/nix/modules/tezos-endorser.nix deleted file mode 100644 index 3e20380f5..000000000 --- a/nix/modules/tezos-endorser.nix +++ /dev/null @@ -1,46 +0,0 @@ -# SPDX-FileCopyrightText: 2021 Oxhead Alpha -# SPDX-License-Identifier: LicenseRef-MIT-OA - -{config, lib, pkgs, ...}: - -with lib; - -let - tezos-endorser-pkgs = { - "011-PtHangz2" = - "${pkgs.ocamlPackages.tezos-endorser-011-PtHangz2}/bin/tezos-endorser-011-PtHangz2"; - }; - common = import ./common.nix { inherit lib; inherit pkgs; }; - cfg = config.services.tezos-endorser; - instanceOptions = types.submodule ( {...} : { - options = common.daemonOptions // { - - enable = mkEnableOption "Tezos endorser service"; - - endorserAccountAlias = mkOption { - type = types.str; - default = ""; - description = '' - Alias for the tezos-endorser account. - ''; - }; - - }; - }); - -in { - options.services.tezos-endorser = { - instances = mkOption { - type = types.attrsOf instanceOptions; - description = "Configuration options"; - default = {}; - }; - }; - config = - let endorser-script = node-cfg: '' - ${tezos-endorser-pkgs.${node-cfg.baseProtocol}} -d "$STATE_DIRECTORY/client/data" \ - -E "http://localhost:${toString node-cfg.rpcPort}" \ - run ${node-cfg.endorserAccountAlias} - ''; - in common.genDaemonConfig cfg.instances "endorser" tezos-endorser-pkgs endorser-script; -} diff --git a/nix/modules/tezos-node.nix b/nix/modules/tezos-node.nix index 966a57c5c..a53d5d216 100644 --- a/nix/modules/tezos-node.nix +++ b/nix/modules/tezos-node.nix @@ -46,9 +46,10 @@ let network = mkOption { type = types.str; - default = "hangzhounet"; + default = "ithacanet"; description = '' Network which node will be running on. + Can be either a predefined network name or a URL to the network config. ''; }; diff --git a/nix/nix/sources.json b/nix/nix/sources.json index 205a0b276..34376b306 100644 --- a/nix/nix/sources.json +++ b/nix/nix/sources.json @@ -29,17 +29,17 @@ "homepage": null, "owner": "tweag", "repo": "opam-nix", - "rev": "f20ed19391752fe8cf505945dce776ce0ffa48a2", - "sha256": "0j27nwqc88grz3zfwg3f62xj5cn57dmm3qrrzr9i3j2rkw0npkhz", + "rev": "44b97c71a379bb9517135600c7d5e83d941e65d9", + "sha256": "07cqkfgm2kzwb79y3gwrwqgmj4sszw2lrybqyv9vwwqkiwvbj7xc", "type": "tarball", - "url": "https://github.com/tweag/opam-nix/archive/f20ed19391752fe8cf505945dce776ce0ffa48a2.tar.gz", + "url": "https://github.com/tweag/opam-nix/archive/44b97c71a379bb9517135600c7d5e83d941e65d9.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "opam-repository": { - "branch": "v12-release", - "ref": "v12-release", + "branch": "master", + "ref": "master", "repo": "https://gitlab.com/tezos/opam-repository", - "rev": "049f2433bd7f4b4fb24dc7cb7faa4b9d77589138", + "rev": "fcd1fdae683f183947eeecf85887160dbf547a84", "type": "git" }, "serokell-nix": { @@ -56,9 +56,9 @@ }, "tezos": { "branch": "master", - "ref": "refs/tags/v12.3", + "ref": "refs/tags/v13.0-rc1", "repo": "https://gitlab.com/tezos/tezos", - "rev": "6e2037c907606587041136834cf7de16049412da", + "rev": "54143ed51b4dd9944e973771073a2451de236f50", "type": "git" } } diff --git a/protocols.json b/protocols.json index e7bd23b14..bceabf1ef 100644 --- a/protocols.json +++ b/protocols.json @@ -18,13 +18,11 @@ "008-PtEdoTez", "008-PtEdo2Zk", "009-PsFLoren", - "010-PtGRANAD" + "010-PtGRANAD", + "011-PtHangz2" ], "active": [ - "011-PtHangz2", - "012-Psithaca" - ], - "active_noendorser": [ - "012-Psithaca" + "012-Psithaca", + "013-PtJakart" ] } diff --git a/scripts/update-tezos.sh b/scripts/update-tezos.sh index 64644e99a..b38bd5cc8 100755 --- a/scripts/update-tezos.sh +++ b/scripts/update-tezos.sh @@ -24,7 +24,7 @@ cd .. rm -rf upstream-repo git clone --bare https://gitlab.com/tezos/opam-repository.git upstream-opam-repository -opam_repository_branch="$(git --git-dir=upstream-opam-repository name-rev --name-only "$opam_repository_tag" | cut -d'/' -f3)" +opam_repository_branch="$(git --git-dir=upstream-opam-repository for-each-ref --contains "$opam_repository_tag" --count=1 --sort='-refname' --format="%(refname:lstrip=3)" refs/remotes/origin)"" rm -rf upstream-opam-repository branch_name="auto/$latest_upstream_tag-release" diff --git a/tests/test_script.py b/tests/test_script.py index b6547527f..7d7d82f99 100644 --- a/tests/test_script.py +++ b/tests/test_script.py @@ -24,16 +24,16 @@ def run_node(network, use_tls): machine.succeed(f"{tezos_node} config init --data-dir node-dir --network {network}") machine.succeed(f"{tezos_node} identity generate 1 --data-dir node-dir") machine.succeed( - f"{tezos_node} run --data-dir node-dir --rpc-addr 127.0.0.1:8732 " + f"{tezos_node} run --data-dir node-dir --rpc-addr :8732 " + tls_args + "--no-bootstrap-peers --network " + network + " &" ) tls_endpoint = ( - " --endpoint https://127.0.0.1:8732/ " + " --endpoint https://localhost:8732/ " if use_tls - else " --endpoint http://127.0.0.1:8732/ " + else " --endpoint http://localhost:8732/ " ) machine.wait_until_succeeds( tezos_client + tls_endpoint + "rpc get chains/main/blocks/head/" @@ -43,14 +43,14 @@ def run_node(network, use_tls): def run_node_with_daemons(network, use_tls): run_node(network, use_tls) tls_endpoint = ( - " --endpoint https://127.0.0.1:8732/ " + " --endpoint https://localhost:8732/ " if use_tls - else " --endpoint http://127.0.0.1:8732/ " + else " --endpoint http://localhost:8732/ " ) machine.succeed( f"{tezos_baker} -d client-dir" + tls_endpoint - + "run with local node node-dir baker &" + + "run with local node node-dir baker --liquidity-baking-toggle-vote on &" ) machine.succeed(tezos_accuser + tls_endpoint + "-d client-dir run &") @@ -66,9 +66,9 @@ def kill_node_with_daemons(): def test_node_with_daemons_scenario(network, use_tls=False): tls_endpoint = ( - " --endpoint https://127.0.0.1:8732/ " + " --endpoint https://localhost:8732/ " if use_tls - else " --endpoint http://127.0.0.1:8732/ " + else " --endpoint http://localhost:8732/ " ) run_node_with_daemons(network, use_tls) machine.succeed( @@ -80,6 +80,12 @@ def test_node_with_daemons_scenario(network, use_tls=False): with subtest("run node with daemons on ithacanet"): test_node_with_daemons_scenario("ithacanet") +# Uncomment once '--network jakartanet' is supported by tezos-node. +# Currently it's possible to get the network config from URL, but network +# access is prohibited in NixOS tests:( +# with subtest("run node with daemons on jakartanet"): +# test_node_with_daemons_scenario("jakartanet") + with subtest("run node with daemons on mainnet"): test_node_with_daemons_scenario("mainnet") diff --git a/tests/tezos-binaries.nix b/tests/tezos-binaries.nix index b3b9a948f..2cfad04a7 100644 --- a/tests/tezos-binaries.nix +++ b/tests/tezos-binaries.nix @@ -12,13 +12,14 @@ in import "${nixpkgs}/nixos/tests/make-test-python.nix" ({ ... }: virtualisation.diskSize = 1024; environment.sessionVariables.XDG_DATA_DIRS = [ "${zcash}" ]; + security.pki.certificateFiles = [ ./ca.cert ]; }; testScript = '' path_to_binaries = "${path-to-binaries}" - tezos_accuser = f"{path_to_binaries}/tezos-accuser-012-Psithaca" + tezos_accuser = f"{path_to_binaries}/tezos-accuser-013-PtJakart" tezos_admin_client = f"{path_to_binaries}/tezos-admin-client" - tezos_baker = f"{path_to_binaries}/tezos-baker-012-Psithaca" + tezos_baker = f"{path_to_binaries}/tezos-baker-013-PtJakart" tezos_client = f"{path_to_binaries}/tezos-client" tezos_node = f"{path_to_binaries}/tezos-node" tezos_signer = f"{path_to_binaries}/tezos-signer" diff --git a/tests/tezos-nix-binaries.nix b/tests/tezos-nix-binaries.nix index e9271439a..d2bfdae74 100644 --- a/tests/tezos-nix-binaries.nix +++ b/tests/tezos-nix-binaries.nix @@ -4,7 +4,7 @@ let nixpkgs = (import ../nix/nix/sources.nix).nixpkgs; pkgs = import ../nix/build/pkgs.nix {}; inherit (pkgs.ocamlPackages) tezos-client tezos-admin-client tezos-node tezos-signer tezos-codec - tezos-accuser-012-Psithaca tezos-baker-012-Psithaca; + tezos-accuser-013-PtJakart tezos-baker-013-PtJakart; in import "${nixpkgs}/nixos/tests/make-test-python.nix" ({ ... }: { nodes.machine = { ... }: { @@ -19,9 +19,9 @@ in import "${nixpkgs}/nixos/tests/make-test-python.nix" ({ ... }: }; testScript = '' - tezos_accuser = "${tezos-accuser-012-Psithaca}/bin/tezos-accuser-012-Psithaca" + tezos_accuser = "${tezos-accuser-013-PtJakart}/bin/tezos-accuser-013-PtJakart" tezos_admin_client = "${tezos-admin-client}/bin/tezos-admin-client" - tezos_baker = "${tezos-baker-012-Psithaca}/bin/tezos-baker-012-Psithaca" + tezos_baker = "${tezos-baker-013-PtJakart}/bin/tezos-baker-013-PtJakart" tezos_client = ( "${tezos-client}/bin/tezos-client" )