From 1f9d4db55d2fd3391b760af28c8675609928bc85 Mon Sep 17 00:00:00 2001
From: wackerow <54227730+wackerow@users.noreply.github.com>
Date: Thu, 5 Feb 2026 14:20:37 -0500
Subject: [PATCH 1/7] i18n(cs): Crowdin translations
---
public/content/translations/cs/about/index.md | 53 +-
.../translations/cs/ai-agents/index.md | 143 ++
.../content/translations/cs/bridges/index.md | 65 +-
.../cs/community/code-of-conduct/index.md | 70 +-
.../cs/community/events/organizing/index.md | 221 ++
.../cs/community/get-involved/index.md | 113 +-
.../translations/cs/community/grants/index.md | 73 +-
.../cs/community/language-resources/index.md | 126 +-
.../translations/cs/community/online/index.md | 45 +-
.../cs/community/research/index.md | 4 +-
.../cs/community/support/index.md | 32 +-
.../adding-desci-projects/index.md | 44 +
.../adding-developer-tools/index.md | 61 +
.../cs/contributing/adding-exchanges/index.md | 40 +
.../adding-glossary-terms/index.md | 26 +
.../cs/contributing/adding-layer-2s/index.md | 97 +
.../cs/contributing/adding-products/index.md | 100 +
.../cs/contributing/adding-resources/index.md | 53 +
.../adding-staking-products/index.md | 176 ++
.../cs/contributing/adding-wallets/index.md | 80 +
.../contributing/content-resources/index.md | 32 +
.../contributing/design-principles/index.md | 24 +-
.../design/adding-design-resources/index.md | 69 +
.../cs/contributing/design/index.md | 34 +-
.../translations/cs/contributing/index.md | 92 +-
.../cs/contributing/quizzes/index.md | 62 +
.../translation-program/faq/index.md | 28 +-
.../how-to-translate/index.md | 24 +-
.../contributing/translation-program/index.md | 43 +-
.../mission-and-vision/index.md | 4 +-
.../translation-program/playbook/index.md | 317 +++
.../translation-program/resources/index.md | 45 +-
.../translatathon/details/index.md | 90 +
.../translatathon/index.md | 100 +
.../translators-guide/index.md | 72 +-
public/content/translations/cs/dao/index.md | 108 +-
.../cs/decentralized-identity/index.md | 125 +-
public/content/translations/cs/defi/index.md | 92 +-
public/content/translations/cs/desci/index.md | 104 +-
.../cs/developers/docs/accounts/index.md | 55 +-
.../cs/developers/docs/apis/backend/index.md | 211 ++
.../developers/docs/apis/javascript/index.md | 289 +++
.../cs/developers/docs/apis/json-rpc/index.md | 1898 ++++++++++++++++
.../cs/developers/docs/blocks/index.md | 73 +-
.../cs/developers/docs/bridges/index.md | 138 ++
.../docs/consensus-mechanisms/index.md | 92 +
.../docs/consensus-mechanisms/poa/index.md | 80 +
.../pos/attack-and-defense/index.md | 166 ++
.../pos/attestations/index.md | 92 +
.../pos/block-proposal/index.md | 69 +
.../consensus-mechanisms/pos/faqs/index.md | 172 ++
.../consensus-mechanisms/pos/gasper/index.md | 52 +
.../docs/consensus-mechanisms/pos/index.md | 99 +
.../consensus-mechanisms/pos/keys/index.md | 102 +
.../pos/pos-vs-pow/index.md | 69 +
.../pos/rewards-and-penalties/index.md | 91 +
.../pos/weak-subjectivity/index.md | 39 +
.../pos/withdrawal-credentials/index.md | 64 +
.../docs/consensus-mechanisms/pow/index.md | 114 +
.../consensus-mechanisms/pow/mining/index.md | 86 +
.../dagger-hashimoto/index.md | 329 +++
.../mining/mining-algorithms/ethash/index.md | 1019 +++++++++
.../pow/mining/mining-algorithms/index.md | 42 +
.../cs/developers/docs/dapps/index.md | 72 +-
.../block-explorers/index.md | 254 +++
.../docs/data-and-analytics/index.md | 72 +
.../index.md | 118 +
.../docs/data-availability/index.md | 84 +
.../data-structures-and-encoding/index.md | 32 +
.../patricia-merkle-trie/index.md | 266 +++
.../data-structures-and-encoding/rlp/index.md | 163 ++
.../data-structures-and-encoding/ssz/index.md | 150 ++
.../web3-secret-storage/index.md | 195 ++
.../dex-design-best-practice/index.md | 219 ++
.../heuristics-for-web3/index.md | 138 ++
.../cs/developers/docs/design-and-ux/index.md | 86 +
.../docs/development-networks/index.md | 71 +
.../developers/docs/ethereum-stack/index.md | 61 +
.../cs/developers/docs/evm/index.md | 58 +-
.../cs/developers/docs/evm/opcodes/index.md | 327 +--
.../cs/developers/docs/frameworks/index.md | 157 ++
.../cs/developers/docs/gas/index.md | 104 +-
.../cs/developers/docs/ides/index.md | 64 +
.../translations/cs/developers/docs/index.md | 8 +-
.../developers/docs/intro-to-ether/index.md | 42 +-
.../docs/intro-to-ethereum/index.md | 44 +-
.../cs/developers/docs/mev/index.md | 222 ++
.../developers/docs/networking-layer/index.md | 155 ++
.../network-addresses/index.md | 39 +
.../networking-layer/portal-network/index.md | 89 +
.../cs/developers/docs/networks/index.md | 159 +-
.../nodes-and-clients/archive-nodes/index.md | 81 +
.../docs/nodes-and-clients/bootnodes/index.md | 31 +
.../client-diversity/index.md | 132 ++
.../docs/nodes-and-clients/index.md | 319 +++
.../nodes-and-clients/light-clients/index.md | 61 +
.../node-architecture/index.md | 59 +
.../nodes-as-a-service/index.md | 418 ++++
.../nodes-and-clients/run-a-node/index.md | 484 ++++
.../cs/developers/docs/oracles/index.md | 433 ++++
.../docs/programming-languages/dart/index.md | 33 +
.../programming-languages/delphi/index.md | 56 +
.../programming-languages/dot-net/index.md | 86 +
.../programming-languages/elixir/index.md | 55 +
.../programming-languages/golang/index.md | 84 +
.../docs/programming-languages/index.md | 33 +
.../docs/programming-languages/java/index.md | 64 +
.../programming-languages/javascript/index.md | 72 +
.../programming-languages/python/index.md | 99 +
.../docs/programming-languages/ruby/index.md | 60 +
.../docs/programming-languages/rust/index.md | 65 +
.../cs/developers/docs/scaling/index.md | 64 +-
.../docs/scaling/optimistic-rollups/index.md | 128 +-
.../developers/docs/scaling/plasma/index.md | 89 +-
.../docs/scaling/sidechains/index.md | 50 +-
.../docs/scaling/state-channels/index.md | 58 +-
.../developers/docs/scaling/validium/index.md | 95 +-
.../docs/scaling/zk-rollups/index.md | 123 +-
.../docs/smart-contracts/anatomy/index.md | 352 +--
.../docs/smart-contracts/compiling/index.md | 14 +-
.../smart-contracts/composability/index.md | 38 +-
.../docs/smart-contracts/deploying/index.md | 50 +-
.../formal-verification/index.md | 145 +-
.../developers/docs/smart-contracts/index.md | 62 +-
.../docs/smart-contracts/languages/index.md | 179 +-
.../docs/smart-contracts/libraries/index.md | 54 +-
.../docs/smart-contracts/naming/index.md | 101 +
.../docs/smart-contracts/security/index.md | 320 +--
.../docs/smart-contracts/testing/index.md | 154 +-
.../docs/smart-contracts/upgrading/index.md | 48 +-
.../docs/smart-contracts/verifying/index.md | 44 +-
.../cs/developers/docs/standards/index.md | 59 +
.../docs/standards/tokens/erc-1155/index.md | 146 ++
.../docs/standards/tokens/erc-1363/index.md | 213 ++
.../docs/standards/tokens/erc-20/index.md | 186 ++
.../docs/standards/tokens/erc-223/index.md | 198 ++
.../docs/standards/tokens/erc-4626/index.md | 227 ++
.../docs/standards/tokens/erc-721/index.md | 255 +++
.../docs/standards/tokens/erc-777/index.md | 45 +
.../developers/docs/standards/tokens/index.md | 41 +
.../cs/developers/docs/storage/index.md | 216 ++
.../cs/developers/docs/transactions/index.md | 94 +-
.../cs/developers/docs/web2-vs-web3/index.md | 36 +-
.../index.md | 300 +++
.../tutorials/all-you-can-cache/index.md | 867 ++++++++
.../developers/tutorials/app-plasma/index.md | 1255 +++++++++++
.../index.md | 131 ++
.../index.md | 585 +++++
.../index.md | 101 +
.../index.md | 372 ++++
.../index.md | 144 ++
.../index.md | 129 ++
.../erc-721-vyper-annotated-code/index.md | 712 ++++++
.../tutorials/erc20-annotated-code/index.md | 927 ++++++++
.../erc20-with-safety-rails/index.md | 217 ++
.../tutorials/ethereum-for-web2-auth/index.md | 886 ++++++++
.../index.md | 156 ++
.../index.md | 102 +
.../index.md | 1541 +++++++++++++
.../hello-world-smart-contract/index.md | 367 +++
.../index.md | 145 ++
.../tutorials/how-to-mint-an-nft/index.md | 335 +++
.../index.md | 108 +
.../index.md | 710 ++++++
.../index.md | 524 +++++
.../index.md | 239 ++
.../how-to-use-tellor-as-your-oracle/index.md | 81 +
.../how-to-view-nft-in-metamask/index.md | 33 +
.../how-to-write-and-deploy-an-nft/index.md | 382 ++++
.../index.md | 179 ++
.../tutorials/ipfs-decentralized-ui/index.md | 73 +
.../index.md | 111 +
.../index.md | 269 +++
.../logging-events-smart-contracts/index.md | 48 +
.../index.md | 250 +++
.../index.md | 151 ++
.../developers/tutorials/nft-minter/index.md | 874 ++++++++
.../index.md | 1356 ++++++++++++
.../reverse-engineering-a-contract/index.md | 744 +++++++
.../tutorials/run-node-raspberry-pi/index.md | 190 ++
.../tutorials/scam-token-tricks/index.md | 470 ++++
.../tutorials/secret-state/index.md | 741 +++++++
.../secure-development-workflow/index.md | 52 +
.../tutorials/send-token-ethersjs/index.md | 210 ++
.../index.md | 208 ++
.../tutorials/server-components/index.md | 295 +++
.../index.md | 92 +
.../developers/tutorials/short-abi/index.md | 585 +++++
.../index.md | 91 +
.../tutorials/stealth-addr/index.md | 443 ++++
.../index.md | 314 +++
.../token-integration-checklist/index.md | 86 +
.../index.md | 314 +++
.../index.md | 177 ++
.../uniswap-v2-annotated-code/index.md | 1971 +++++++++++++++++
.../tutorials/using-websockets/index.md | 244 ++
.../index.md | 300 +++
.../index.md | 204 ++
.../index.md | 205 ++
.../tutorials/yellow-paper-evm/index.md | 278 +++
public/content/translations/cs/eips/index.md | 35 +-
.../cs/energy-consumption/index.md | 65 +-
.../translations/cs/eth/supply/index.md | 80 +
.../translations/cs/ethereum-forks/index.md | 681 ++++++
.../translations/cs/foundation/index.md | 41 +-
.../content/translations/cs/gaming/index.md | 70 +
.../content/translations/cs/glossary/index.md | 505 +++++
.../translations/cs/governance/index.md | 92 +-
.../index.md | 75 +
.../cs/guides/how-to-id-scam-tokens/index.md | 97 +
.../how-to-revoke-token-access/index.md | 75 +
.../cs/guides/how-to-swap-tokens/index.md | 70 +
.../cs/guides/how-to-use-a-bridge/index.md | 72 +
.../cs/guides/how-to-use-a-wallet/index.md | 91 +
.../content/translations/cs/guides/index.md | 27 +
public/content/translations/cs/nft/index.md | 55 +-
.../content/translations/cs/payments/index.md | 208 ++
.../cs/prediction-markets/index.md | 85 +
.../content/translations/cs/privacy/index.md | 97 +
.../cs/real-world-assets/index.md | 93 +
public/content/translations/cs/refi/index.md | 44 +-
.../translations/cs/restaking/index.md | 188 ++
.../cs/roadmap/account-abstraction/index.md | 109 +-
.../cs/roadmap/beacon-chain/index.md | 79 +
.../cs/roadmap/danksharding/index.md | 38 +-
.../translations/cs/roadmap/dencun/index.md | 8 +-
.../translations/cs/roadmap/fusaka/index.md | 300 +++
.../cs/roadmap/fusaka/peerdas/index.md | 88 +
.../cs/roadmap/future-proofing/index.md | 53 +
.../translations/cs/roadmap/merge/index.md | 94 +-
.../cs/roadmap/merge/issuance/index.md | 108 +-
.../translations/cs/roadmap/pbs/index.md | 33 +-
.../cs/roadmap/pectra/7702/index.md | 149 ++
.../translations/cs/roadmap/pectra/index.md | 127 ++
.../cs/roadmap/pectra/maxeb/index.md | 204 ++
.../translations/cs/roadmap/scaling/index.md | 58 +
.../roadmap/secret-leader-election/index.md | 14 +-
.../translations/cs/roadmap/security/index.md | 48 +
.../cs/roadmap/single-slot-finality/index.md | 29 +-
.../cs/roadmap/statelessness/index.md | 37 +-
.../cs/roadmap/user-experience/index.md | 36 +
.../cs/roadmap/verkle-trees/index.md | 38 +-
.../content/translations/cs/security/index.md | 307 ++-
.../translations/cs/smart-contracts/index.md | 42 +-
.../translations/cs/social-networks/index.md | 102 +-
.../translations/cs/staking/dvt/index.md | 58 +-
.../translations/cs/staking/pools/index.md | 42 +-
.../translations/cs/staking/saas/index.md | 45 +-
.../translations/cs/staking/solo/index.md | 140 +-
.../cs/staking/withdrawals/index.md | 104 +-
public/content/translations/cs/web3/index.md | 74 +-
.../translations/cs/what-are-apps/index.md | 81 +
.../translations/cs/whitepaper/index.md | 524 +++++
.../translations/cs/wrapped-eth/index.md | 70 +
.../cs/zero-knowledge-proofs/index.md | 128 +-
src/intl/cs/common.json | 4 +-
src/intl/cs/glossary-tooltip.json | 164 ++
src/intl/cs/glossary.json | 408 ++++
src/intl/cs/learn-quizzes.json | 698 ++++++
src/intl/cs/page-10-year-anniversary.json | 131 ++
src/intl/cs/page-about.json | 28 +-
src/intl/cs/page-apps.json | 345 +--
src/intl/cs/page-assets.json | 61 +
src/intl/cs/page-bug-bounty.json | 169 ++
src/intl/cs/page-collectibles.json | 67 +
src/intl/cs/page-community-events.json | 1 -
src/intl/cs/page-community.json | 13 +-
...-translation-program-acknowledgements.json | 3 +-
src/intl/cs/page-developers-docs.json | 7 +-
src/intl/cs/page-developers-index.json | 97 +-
.../cs/page-developers-learning-tools.json | 64 +
.../cs/page-developers-local-environment.json | 33 +
src/intl/cs/page-developers-tutorials.json | 20 +-
src/intl/cs/page-energy-consumption.json | 21 +
...thereum-history-founder-and-ownership.json | 65 +
src/intl/cs/page-ethereum-vs-bitcoin.json | 101 +
src/intl/cs/page-founders.json | 65 +
src/intl/cs/page-gas.json | 2 +-
src/intl/cs/page-get-eth.json | 8 +-
src/intl/cs/page-history.json | 7 +
src/intl/cs/page-index.json | 2 +-
src/intl/cs/page-layer-2-learn.json | 55 +
src/intl/cs/page-layer-2-networks.json | 85 +
src/intl/cs/page-layer-2.json | 115 +-
src/intl/cs/page-learn.json | 15 +-
src/intl/cs/page-resources.json | 97 +
src/intl/cs/page-roadmap.json | 102 +
src/intl/cs/page-stablecoins.json | 73 +-
.../cs/page-staking-deposit-contract.json | 4 +-
src/intl/cs/page-staking.json | 23 +-
src/intl/cs/page-start.json | 38 +
.../cs/page-trillion-dollar-security.json | 196 ++
src/intl/cs/page-upgrades-get-involved.json | 4 +-
src/intl/cs/page-upgrades-index.json | 208 ++
src/intl/cs/page-upgrades.json | 13 +
src/intl/cs/page-wallets-find-wallet.json | 9 +-
src/intl/cs/page-wallets.json | 3 +-
src/intl/cs/page-what-is-ether.json | 100 +
src/intl/cs/page-what-is-ethereum.json | 309 +--
.../cs/page-what-is-the-ethereum-network.json | 89 +
src/intl/cs/table.json | 2 +-
src/intl/cs/template-usecase.json | 10 +-
302 files changed, 48255 insertions(+), 3552 deletions(-)
create mode 100644 public/content/translations/cs/ai-agents/index.md
create mode 100644 public/content/translations/cs/community/events/organizing/index.md
create mode 100644 public/content/translations/cs/contributing/adding-desci-projects/index.md
create mode 100644 public/content/translations/cs/contributing/adding-developer-tools/index.md
create mode 100644 public/content/translations/cs/contributing/adding-exchanges/index.md
create mode 100644 public/content/translations/cs/contributing/adding-glossary-terms/index.md
create mode 100644 public/content/translations/cs/contributing/adding-layer-2s/index.md
create mode 100644 public/content/translations/cs/contributing/adding-products/index.md
create mode 100644 public/content/translations/cs/contributing/adding-resources/index.md
create mode 100644 public/content/translations/cs/contributing/adding-staking-products/index.md
create mode 100644 public/content/translations/cs/contributing/adding-wallets/index.md
create mode 100644 public/content/translations/cs/contributing/content-resources/index.md
create mode 100644 public/content/translations/cs/contributing/design/adding-design-resources/index.md
create mode 100644 public/content/translations/cs/contributing/quizzes/index.md
create mode 100644 public/content/translations/cs/contributing/translation-program/playbook/index.md
create mode 100644 public/content/translations/cs/contributing/translation-program/translatathon/details/index.md
create mode 100644 public/content/translations/cs/contributing/translation-program/translatathon/index.md
create mode 100644 public/content/translations/cs/developers/docs/apis/backend/index.md
create mode 100644 public/content/translations/cs/developers/docs/apis/javascript/index.md
create mode 100644 public/content/translations/cs/developers/docs/apis/json-rpc/index.md
create mode 100644 public/content/translations/cs/developers/docs/bridges/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/poa/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attestations/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/block-proposal/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/faqs/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/gasper/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/keys/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pos/withdrawal-credentials/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pow/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
create mode 100644 public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
create mode 100644 public/content/translations/cs/developers/docs/data-and-analytics/block-explorers/index.md
create mode 100644 public/content/translations/cs/developers/docs/data-and-analytics/index.md
create mode 100644 public/content/translations/cs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
create mode 100644 public/content/translations/cs/developers/docs/data-availability/index.md
create mode 100644 public/content/translations/cs/developers/docs/data-structures-and-encoding/index.md
create mode 100644 public/content/translations/cs/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
create mode 100644 public/content/translations/cs/developers/docs/data-structures-and-encoding/rlp/index.md
create mode 100644 public/content/translations/cs/developers/docs/data-structures-and-encoding/ssz/index.md
create mode 100644 public/content/translations/cs/developers/docs/data-structures-and-encoding/web3-secret-storage/index.md
create mode 100644 public/content/translations/cs/developers/docs/design-and-ux/dex-design-best-practice/index.md
create mode 100644 public/content/translations/cs/developers/docs/design-and-ux/heuristics-for-web3/index.md
create mode 100644 public/content/translations/cs/developers/docs/design-and-ux/index.md
create mode 100644 public/content/translations/cs/developers/docs/development-networks/index.md
create mode 100644 public/content/translations/cs/developers/docs/ethereum-stack/index.md
create mode 100644 public/content/translations/cs/developers/docs/frameworks/index.md
create mode 100644 public/content/translations/cs/developers/docs/ides/index.md
create mode 100644 public/content/translations/cs/developers/docs/mev/index.md
create mode 100644 public/content/translations/cs/developers/docs/networking-layer/index.md
create mode 100644 public/content/translations/cs/developers/docs/networking-layer/network-addresses/index.md
create mode 100644 public/content/translations/cs/developers/docs/networking-layer/portal-network/index.md
create mode 100644 public/content/translations/cs/developers/docs/nodes-and-clients/archive-nodes/index.md
create mode 100644 public/content/translations/cs/developers/docs/nodes-and-clients/bootnodes/index.md
create mode 100644 public/content/translations/cs/developers/docs/nodes-and-clients/client-diversity/index.md
create mode 100644 public/content/translations/cs/developers/docs/nodes-and-clients/index.md
create mode 100644 public/content/translations/cs/developers/docs/nodes-and-clients/light-clients/index.md
create mode 100644 public/content/translations/cs/developers/docs/nodes-and-clients/node-architecture/index.md
create mode 100644 public/content/translations/cs/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
create mode 100644 public/content/translations/cs/developers/docs/nodes-and-clients/run-a-node/index.md
create mode 100644 public/content/translations/cs/developers/docs/oracles/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/dart/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/delphi/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/dot-net/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/elixir/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/golang/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/java/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/javascript/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/python/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/ruby/index.md
create mode 100644 public/content/translations/cs/developers/docs/programming-languages/rust/index.md
create mode 100644 public/content/translations/cs/developers/docs/smart-contracts/naming/index.md
create mode 100644 public/content/translations/cs/developers/docs/standards/index.md
create mode 100644 public/content/translations/cs/developers/docs/standards/tokens/erc-1155/index.md
create mode 100644 public/content/translations/cs/developers/docs/standards/tokens/erc-1363/index.md
create mode 100644 public/content/translations/cs/developers/docs/standards/tokens/erc-20/index.md
create mode 100644 public/content/translations/cs/developers/docs/standards/tokens/erc-223/index.md
create mode 100644 public/content/translations/cs/developers/docs/standards/tokens/erc-4626/index.md
create mode 100644 public/content/translations/cs/developers/docs/standards/tokens/erc-721/index.md
create mode 100644 public/content/translations/cs/developers/docs/standards/tokens/erc-777/index.md
create mode 100644 public/content/translations/cs/developers/docs/standards/tokens/index.md
create mode 100644 public/content/translations/cs/developers/docs/storage/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/all-you-can-cache/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/app-plasma/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/calling-a-smart-contract-from-javascript/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/deploying-your-first-smart-contract/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/eip-1271-smart-contract-signatures/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/erc-721-vyper-annotated-code/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/erc20-annotated-code/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/erc20-with-safety-rails/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/ethereum-for-web2-auth/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/hello-world-smart-contract-fullstack/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/hello-world-smart-contract/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/how-to-implement-an-erc721-market/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/how-to-mint-an-nft/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/how-to-mock-solidity-contracts-for-testing/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/how-to-view-nft-in-metamask/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/interact-with-other-contracts-from-solidity/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/ipfs-decentralized-ui/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/logging-events-smart-contracts/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/nft-minter/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/optimism-std-bridge-annotated-code/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/reverse-engineering-a-contract/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/scam-token-tricks/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/secret-state/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/send-token-ethersjs/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/server-components/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/short-abi/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/stealth-addr/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/the-graph-fixing-web3-data-querying/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/token-integration-checklist/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/understand-the-erc-20-token-smart-contract/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/uniswap-v2-annotated-code/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/using-websockets/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/waffle-dynamic-mocking-and-testing-calls/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/waffle-say-hello-world-with-hardhat-and-ethers/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/waffle-test-simple-smart-contract/index.md
create mode 100644 public/content/translations/cs/developers/tutorials/yellow-paper-evm/index.md
create mode 100644 public/content/translations/cs/eth/supply/index.md
create mode 100644 public/content/translations/cs/ethereum-forks/index.md
create mode 100644 public/content/translations/cs/gaming/index.md
create mode 100644 public/content/translations/cs/glossary/index.md
create mode 100644 public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md
create mode 100644 public/content/translations/cs/guides/how-to-id-scam-tokens/index.md
create mode 100644 public/content/translations/cs/guides/how-to-revoke-token-access/index.md
create mode 100644 public/content/translations/cs/guides/how-to-swap-tokens/index.md
create mode 100644 public/content/translations/cs/guides/how-to-use-a-bridge/index.md
create mode 100644 public/content/translations/cs/guides/how-to-use-a-wallet/index.md
create mode 100644 public/content/translations/cs/guides/index.md
create mode 100644 public/content/translations/cs/payments/index.md
create mode 100644 public/content/translations/cs/prediction-markets/index.md
create mode 100644 public/content/translations/cs/privacy/index.md
create mode 100644 public/content/translations/cs/real-world-assets/index.md
create mode 100644 public/content/translations/cs/restaking/index.md
create mode 100644 public/content/translations/cs/roadmap/beacon-chain/index.md
create mode 100644 public/content/translations/cs/roadmap/fusaka/index.md
create mode 100644 public/content/translations/cs/roadmap/fusaka/peerdas/index.md
create mode 100644 public/content/translations/cs/roadmap/future-proofing/index.md
create mode 100644 public/content/translations/cs/roadmap/pectra/7702/index.md
create mode 100644 public/content/translations/cs/roadmap/pectra/index.md
create mode 100644 public/content/translations/cs/roadmap/pectra/maxeb/index.md
create mode 100644 public/content/translations/cs/roadmap/scaling/index.md
create mode 100644 public/content/translations/cs/roadmap/security/index.md
create mode 100644 public/content/translations/cs/roadmap/user-experience/index.md
create mode 100644 public/content/translations/cs/what-are-apps/index.md
create mode 100644 public/content/translations/cs/whitepaper/index.md
create mode 100644 public/content/translations/cs/wrapped-eth/index.md
create mode 100644 src/intl/cs/glossary-tooltip.json
create mode 100644 src/intl/cs/glossary.json
create mode 100644 src/intl/cs/learn-quizzes.json
create mode 100644 src/intl/cs/page-10-year-anniversary.json
create mode 100644 src/intl/cs/page-assets.json
create mode 100644 src/intl/cs/page-bug-bounty.json
create mode 100644 src/intl/cs/page-collectibles.json
create mode 100644 src/intl/cs/page-developers-learning-tools.json
create mode 100644 src/intl/cs/page-developers-local-environment.json
create mode 100644 src/intl/cs/page-energy-consumption.json
create mode 100644 src/intl/cs/page-ethereum-history-founder-and-ownership.json
create mode 100644 src/intl/cs/page-ethereum-vs-bitcoin.json
create mode 100644 src/intl/cs/page-founders.json
create mode 100644 src/intl/cs/page-history.json
create mode 100644 src/intl/cs/page-layer-2-learn.json
create mode 100644 src/intl/cs/page-layer-2-networks.json
create mode 100644 src/intl/cs/page-resources.json
create mode 100644 src/intl/cs/page-roadmap.json
create mode 100644 src/intl/cs/page-start.json
create mode 100644 src/intl/cs/page-trillion-dollar-security.json
create mode 100644 src/intl/cs/page-upgrades-index.json
create mode 100644 src/intl/cs/page-what-is-ether.json
create mode 100644 src/intl/cs/page-what-is-the-ethereum-network.json
diff --git a/public/content/translations/cs/about/index.md b/public/content/translations/cs/about/index.md
index 4358d28229d..24cb25f038b 100644
--- a/public/content/translations/cs/about/index.md
+++ b/public/content/translations/cs/about/index.md
@@ -4,7 +4,7 @@ description: O týmu, komunitě a misi ethereum.org
lang: cs
---
-# O platformě Ethereum {#about-ethereumorg}
+# O webu ethereum.org {#about-ethereumorg}
ethereum.org je veřejný, open-source projekt pro komunitu Ethereum, do kterého může přispět každý. Máme malý klíčový tým, který se věnuje údržbě a rozvoji webu, s přispěním tisíců členů komunity z celého světa.
@@ -18,7 +18,7 @@ Je běžné, že lidé zaměňují názvy v rámci ekosystému Etherea, což mů
Ethereum je veřejná síť, blockchain a open-source protokol – provozovaný, řízený, spravovaný a vlastněný globální komunitou desítek tisíc vývojářů, provozovatelů uzlů, držitelů ETH a uživatelů.
-[Více o Ethereu](/what-is-ethereum/)
+[Více o síti Ethereum](/what-is-ethereum/)
[Více o řízení Etherea](/governance/)
@@ -28,7 +28,7 @@ Ether (také známý pod svým tickerovým symbolem ETH) je nativní měna použ
[Více o ETH](/what-is-ether/)
-[Více o uzamčení ETH](/staking/)
+[Více o stakování ETH](/staking/)
### Nadace Ethereum {#ethereum-foundation}
@@ -42,7 +42,7 @@ Veřejná, open-source webová stránka a vzdělávací zdroj pro komunitu Ether
Tato stránka uvádí další informace o ethereum.org.
-## Naše mise {#our-mission}
+## Naše poslání {#our-mission}
**Posláním ethereum.org je být nejlepším portálem pro rostoucí ethereovskou komunitu**
@@ -57,14 +57,14 @@ Snažíme se vytvořit snadno pochopitelný vzdělávací zdroj pokrývající v
Abychom dosáhli této mise, náš tým se zaměřuje na dva hlavní cíle na ethereum.org:
-### 1. Zlepšení uživatelské zkušenosti pro návštěvníky ethereum.org {#visitors}
+### 1. Zlepšování uživatelského zážitku pro návštěvníky webu ethereum.org {#visitors}
- Rozšiřování, vylepšování a udržování aktuálního obsahu
- Zlepšování použitelnosti a přístupnosti prostřednictvím lokalizace a osvědčených postupů webového vývoje
- Zvýšení zapojení uživatelů prostřednictvím funkcí jako průzkumy, kvízy a integrace web3
- Udržování webu jednoduchého a výkonného
-### 2. Růst, posilování a umocňování naší komunity přispěvatelů {#community}
+### 2. Rozšiřovat, posilovat a podporovat naši komunitu přispěvatelů {#community}
- Zvýšení celkového počtu přispěvatelů na webu
- Zlepšení retence přispěvatelů prostřednictvím zapojení, uznání a odměn
@@ -72,58 +72,63 @@ Abychom dosáhli této mise, náš tým se zaměřuje na dva hlavní cíle na et
- Podpora větší rozmanitosti příspěvků: kód, obsah, design, překlady, moderace
- Udržování moderního, čistého a dobře zdokumentovaného kódu
-## Základní zásady {#core-principles}
+## Základní principy {#core-principles}
Máme několik základních zásad, které nám pomáhají k naplnění naší mise.
-### 1. ethereum.org je portál pro Ethereum 🌏 {#core-principles-1}
+### 1. ethereum.org je portál do světa Etherea 🌏 {#core-principles-1}
-Chceme, aby naši uživatelé měli zájem a jejich otázky byly zodpovězeny. Náš portál tedy musí kombinovat informace, „kouzelné okamžiky“ a odkazy na skvělé komunitní zdroje. Účelem našeho obsahu je být „nástupním portálem“, nikoliv náhradou za již existující rozsáhlé zdroje. Rádi bychom podpořili a integrovali zdroje vytvořené komunitou, zviditelnili je a učinili je lépe dohledatelnými. [Komunita Ethereum](/community/) je v centru dění: musíme komunitě nejen sloužit, ale také s ní spolupracovat a zapracovávat její zpětnou vazbu. Web není určen pouze pro komunitu, kterou máme nyní, ale pro komunitu, do které doufáme jednou přerůst. Musíme mít na paměti, že naše komunita je globální a obsahuje lidi různých řečí, regionů a kultur.
+Chceme, aby naši uživatelé měli zájem a jejich otázky byly zodpovězeny. Náš portál tedy musí kombinovat informace, „kouzelné okamžiky“ a odkazy na skvělé komunitní zdroje. Účelem našeho obsahu je být „nástupním portálem“, nikoliv náhradou za již existující rozsáhlé zdroje. Rádi bychom podpořili a integrovali zdroje vytvořené komunitou, zviditelnili je a učinili je lépe dohledatelnými.
+[Komunita Etherea](/community/) je v centru všeho: musíme komunitě nejen sloužit, ale také s ní spolupracovat a zapracovávat její zpětnou vazbu. Web není určen pouze pro komunitu, kterou máme nyní, ale pro komunitu, do které doufáme jednou přerůst. Musíme mít na paměti, že naše komunita je globální a obsahuje lidi různých řečí, regionů a kultur.
### 2. ethereum.org se neustále vyvíjí 🛠 {#core-principles-2}
-Ethereum a komunita se neustále vyvíjejí a to stejné platí i o ethereum.org. Proto má web jednoduchý design a modulární strukturu. Dozvídáme se více o tom, jak lidé web používají a co od nich komunita chce, a provádíme opětovné změny. Jsme open source s komunitou přispěvatelů, takže i vy můžete navrhovat změny nebo nám pomáhat. [Více informací o přispívání](/contributing/)
+Ethereum a komunita se neustále vyvíjejí a to stejné platí i o ethereum.org. Proto má web jednoduchý designový systém a modulární strukturu. Dozvídáme se více o tom, jak lidé web používají a co od nich komunita chce, a provádíme opětovné změny.
+Jsme open source s komunitou přispěvatelů, takže i vy můžete navrhovat změny nebo nám pomáhat.
+[Zjistěte více o přispívání](/contributing/)
### 3. ethereum.org není typický produktový web 🦄 {#core-principles-3}
-Ethereum je velká věc: zahrnuje komunitu, technologii, soubor myšlenek a ideologií a další. To znamená, že web musí vyhovět uživatelům různých zaměření, od „vývojáře, který chce konkrétní nástroj“, až po „nováčka, který si právě koupil ETH a neví, co je to peněženka“. „Jaká je nejlepší webová stránka pro blockchainovou platformu?“ zůstává otevřenou otázkou – jsme průkopníci. Její budování vyžaduje experimentování.
+Ethereum je velká věc: zahrnuje komunitu, technologii, soubor myšlenek a ideologií a další.
+To znamená, že web musí vyhovět uživatelům různých zaměření, od „vývojáře, který chce konkrétní nástroj“, až po „nováčka, který si právě koupil ETH a neví, co je to peněženka“.
+„Jaká je nejlepší webová stránka pro blockchainovou platformu?“ zůstává otevřenou otázkou – jsme průkopníci. Její budování vyžaduje experimentování.
-## Plán produktů {#roadmap}
+## Produktový plán {#roadmap}
-Aby byla naše práce přístupnější a podpořili jsme více komunitní spolupráce, publikuje klíčový tým ethereum.org přehled našich plánovaných cílů v rámci [formovacích cyklů](https://www.productplan.com/glossary/shape-up-method/).
+Aby byla naše práce přístupnější a abychom podpořili komunitní spolupráci, hlavní tým ethereum.org zveřejňuje přehled cílů našeho plánu v rámci [cyklu shape up](https://www.productplan.com/glossary/shape-up-method/).
-[Podívejte se na náš produktový plán pro cyklus 1 roku 2025](https://github.com/ethereum/ethereum-org-website/issues/14726)
+[Zobrazit náš produktový plán pro 1. cyklus roku 2025](https://github.com/ethereum/ethereum-org-website/issues/14726)
-**Jak se vám líbí?** Vždy oceníme zpětnou vazbu k našemu plánu – pokud je něco, na čem bychom podle vás měli pracovat, dejte nám vědět! Vítáme nápady a PR od kohokoli z komunity.
+**Co na to říkáte?** Vždy oceníme zpětnou vazbu k našemu plánu – pokud si myslíte, že bychom na něčem měli pracovat, dejte nám vědět! Vítáme nápady a PR od kohokoli z komunity.
-**Chcete se zapojit?** [Přečtěte si další informace o přispívání](/contributing/), [napište nám na Twitteru](https://twitter.com/ethdotorg) nebo se připojte k diskusím komunity [na našem Discord serveru](https://discord.gg/ethereum-org).
+**Chcete se zapojit?** [Zjistěte více o přispívání](/contributing/), [ozvěte se nám na Twitteru](https://x.com/ethdotorg) nebo se připojte ke komunitním diskuzím na [našem serveru na Discordu](https://discord.gg/ethereum-org).
## Principy designu {#design-principles}
-Používáme sadu [designových principů](/contributing/design-principles/), které nás vedou při rozhodování o obsahu a designu na webu.
+Při rozhodování o obsahu a designu na našem webu se řídíme sadou [principů designu](/contributing/design-principles/).
## Designový systém {#design-system}
-Vytvořili a zveřejnili jsme [designový systém](https://www.figma.com/file/NrNxGjBL0Yl1PrNrOT8G2B/ethereum.org-Design-System?node-id=0%3A1&t=QBt9RkhpPqzE3Aa6-1), abychom mohli rychleji dodávat nové funkce a umožnili členům komunity podílet se na otevřeném designu ethereum.org.
+Vytvořili a vydali jsme [designový systém](https://www.figma.com/file/NrNxGjBL0Yl1PrNrOT8G2B/ethereum.org-Design-System?node-id=0%3A1&t=QBt9RkhpPqzE3Aa6-1), abychom mohli rychleji dodávat nové funkce a umožnili členům komunity podílet se na otevřeném designu webu ethereum.org.
-Chcete se zapojit?[Sledujte náš postup na Figmě](https://www.figma.com/file/NrNxGjBL0Yl1PrNrOT8G2B/ethereum.org-Design-System), [GitHubových issues](https://github.com/ethereum/ethereum-org-website/issues/6284) a připojte se k diskusi v našem [#design kanálu na Discordu](https://discord.gg/ethereum-org).
+Chcete se zapojit?[Sledujte nás ve Figmě](https://www.figma.com/file/NrNxGjBL0Yl1PrNrOT8G2B/ethereum.org-Design-System), [problém na GitHubu](https://github.com/ethereum/ethereum-org-website/issues/6284) a zapojte se do konverzace na našem [kanálu #design na Discordu](https://discord.gg/ethereum-org).
-## Průvodce stylem {#style-guide}
+## Stylová příručka {#style-guide}
-Máme [průvodce stylem](/contributing/style-guide/), který standardizuje určité aspekty psaní obsahu, aby byl proces přispívání plynulejší.
+Máme [stylovou příručku](/contributing/style-guide/), která standardizuje některé aspekty tvorby obsahu, aby byl proces přispívání plynulejší.
-Ujistěte se, že jste si přečetli [naše principy](/contributing/design-principles/) a [průvodce stylem](/contributing/style-guide/), pokud byste chtěli [přispět na web](/contributing/).
+Pokud chcete [přispívat na web](/contributing/), přečtěte si prosím [naše principy](/contributing/design-principles/) a [naši stylovou příručku](/contributing/style-guide/).
Také uvítáme zpětnou vazbu k našim designovým principům, designovému systému a k průvodci stylem. Nezapomeňte, že ethereum.org je pro komunitu a od komunity.
## Licence {#license}
-Web ethereum.org je open source a je vytvořen pod [licencí MIT](https://github.com/ethereum/ethereum-org-website/blob/dev/LICENSE), pokud není uvedeno jinak. Více o [podmínkách použití](/terms-of-use/) ethereum.org.
+Web ethereum.org je open-source a pokud není uvedeno jinak, je vytvořen pod [licencí MIT](https://github.com/ethereum/ethereum-org-website/blob/dev/LICENSE). Více o [podmínkách použití](/terms-of-use/) webu ethereum.org.
## Volná místa {#open-jobs}
Ačkoli je tento web open source a kdokoli na něm může pracovat, máme tým věnovaný ethereum.org a dalším webovým projektům Nadace Ethereum.
-Na tomto místě zveřejníme jakékoliv pracovní nabídky. Pokud zde pro sebe nevidíte vhodnou pozici, přejděte na [náš Discord server](https://discord.gg/ethereum-org) a dejte nám vědět, jak byste s námi chtěli spolupracovat!
+Na tomto místě zveřejníme jakékoliv pracovní nabídky. Pokud zde nevidíte pozici pro vás, přejděte na [náš server na Discordu](https://discord.gg/ethereum-org) a dejte nám vědět, jak byste s námi chtěli spolupracovat!
Hledáte mimo tým ethereum.org? [Podívejte se na další pracovní příležitosti související s Ethereem](/community/get-involved/#ethereum-jobs/).
diff --git a/public/content/translations/cs/ai-agents/index.md b/public/content/translations/cs/ai-agents/index.md
new file mode 100644
index 00000000000..6ab4b10eaae
--- /dev/null
+++ b/public/content/translations/cs/ai-agents/index.md
@@ -0,0 +1,143 @@
+---
+title: AI agenti
+metaTitle: AI agenti | AI agenti na Ethereu
+description: Přehled AI agentů na Ethereu
+lang: cs
+template: use-cases
+emoji: ":robot:"
+sidebarDepth: 2
+image: /images/ai-agents/hero-image.png
+alt: Lidé shromáždění u stolu s terminálem
+summaryPoint1: UI, která interaguje s blockchainem a samostatně obchoduje
+summaryPoint2: Ovládá peněženky a prostředky na blockchainu
+summaryPoint3: Najímá lidi nebo jiné agenty na práci
+buttons:
+ - content: Co jsou AI agenti?
+ toId: what-are-ai-agents
+ - content: Prozkoumat agenty
+ toId: ai-agents-on-ethereum
+ isSecondary: false
+---
+
+Představte si, že se pohybujete po Ethereu s AI asistentem, který 24/7 studuje tržní trendy na blockchainu, odpovídá na otázky a dokonce vaším jménem provádí transakce. Vítejte ve světě AI agentů – inteligentních systémů navržených tak, aby vám zjednodušily digitální život.
+
+Na Ethereu jsme svědky inovací v oblasti AI agentů, od virtuálních influencerů a autonomních tvůrců obsahu až po platformy pro analýzu trhu v reálném čase, které posilují postavení uživatelů tím, že jim poskytují přehledy, zábavu a provozní efektivitu.
+
+## Co jsou AI agenti? {#what-are-ai-agents}
+
+AI agenti jsou softwarové programy, které využívají umělou inteligenci k plnění úkolů nebo k vlastním rozhodnutím. Učí se z dat, přizpůsobují se změnám a zvládají složité úkoly. Pracují nepřetržitě a dokážou okamžitě odhalit příležitosti.
+
+### Jak AI agenti pracují s blockchainy {#how-ai-agents-work-with-blockchains}
+
+V tradičních financích AI agenti často fungují v centralizovaných prostředích s omezenými datovými vstupy. To omezuje jejich schopnost učit se nebo autonomně spravovat aktiva.
+
+Naproti tomu decentralizovaný ekosystém Etherea nabízí několik klíčových výhod:
+
+- Transparentní data: Přístup k informacím z blockchainu v reálném čase.
+- Skutečné vlastnictví aktiv: Digitální aktiva jsou plně ve vlastnictví AI agentů.
+- Robustní funkčnost na blockchainu: Umožňuje AI agentům provádět transakce, interagovat s chytrými kontrakty, poskytovat likviditu a spolupracovat napříč protokoly.
+
+Tyto faktory přeměňují AI agenty z jednoduchých botů na dynamické, sebezdokonalující se systémy, které nabízejí významnou hodnotu v mnoha odvětvích:
+
+
+
+
+
+
+
+## Ověřitelná UI {#verifiable-ai}
+
+AI agenti běžící mimo blockchain se často chovají jako \"černé skříňky\" – jejich uvažování, vstupy a výstupy nelze nezávisle ověřit. Ethereum to mění. Ukotvením chování agentů na blockchainu mohou vývojáři vytvářet agenty, kteří jsou _na důvěře nezávislí_, _transparentní_ a _ekonomicky autonomní_. Akce takových agentů lze auditovat, omezovat a prokazovat.
+
+### Ověřitelná inference {#verifiable-inference}
+
+Inference UI se tradičně odehrává mimo blockchain, kde je provádění levné, ale provádění modelu je neprůhledné. Na Ethereu mohou vývojáři párovat agenty s ověřitelným výpočtem pomocí několika technik:
+
+- [**zkML (strojové učení s nulovou znalostí)**](https://opengradient.medium.com/a-gentle-introduction-to-zkml-8049a0e10a04) umožňuje agentům prokázat, že model byl proveden správně, aniž by odhalili model nebo vstupy
+- [**Atestace TEE (důvěryhodné spouštěcí prostředí)**](https://en.wikipedia.org/wiki/Trusted_execution_environment) umožňují hardwarově podložené důkazy o tom, že agent spustil konkrétní model nebo cestu kódu
+- **Neměnnost na blockchainu** zajišťuje, že na tyto důkazy a atestace může odkazovat, znovu je přehrávat a důvěřovat jim jakýkoli kontrakt nebo agent
+
+## Platby a obchodování s x402 {#x402}
+
+[Protokol x402](https://www.x402.org/), nasazený na Ethereu a L2, dává agentům nativní způsob, jak platit za zdroje a ekonomicky interagovat bez lidského zásahu. Agenti mohou:
+
+- Platit za výpočetní výkon, data a volání API pomocí stablecoinů
+- Vyžadovat nebo ověřovat atestace od jiných agentů nebo služeb
+- Účastnit se obchodování mezi agenty, nakupovat a prodávat výpočetní výkon, data nebo výstupy modelů
+
+x402 mění Ethereum v programovatelnou ekonomickou vrstvu pro autonomní agenty, což umožňuje interakce s platbou za použití namísto účtů, předplatných nebo centralizovaného účtování.
+
+### Bezpečnost agentních financí {#agentic-finance-security}
+
+Autonomní agenti potřebují mantinely. Ethereum je poskytuje na úrovni peněženky a kontraktu:
+
+- [Chytré účty (EIP-4337)](https://eips.ethereum.org/EIPS/eip-4337) umožňují vývojářům vynucovat limity útrat, whitelisty, relační klíče a granulární oprávnění
+- Naprogramovaná omezení v chytrých kontraktech mohou omezit, co smí agent dělat
+- Limity založené na inferenci (např. vyžadování důkazu zkML před provedením vysoce rizikové akce) přidávají další vrstvu bezpečnosti
+
+Tyto ovládací prvky umožňují nasazení autonomních agentů, kteří nejsou neomezení.
+
+### Registry na blockchainu: ERC-8004 {#erc-8004}
+
+[ERC-8004](https://eips.ethereum.org/EIPS/eip-8004) je vznikající standard (v současné době prochází recenzním řízením), který navrhuje registry na blockchainu pro identitu, schopnosti a atestace agentů.
+
+Pokud bude přijat, mohl by poskytnout:
+
+- Sdílený, na důvěře nezávislý adresář agentů
+- Standardizované formáty atestací
+- Základ pro \"na důvěře nezávislou infrastrukturu agentů\" přímo na hlavní síti Etherea
+
+To by agentům usnadnilo vzájemně se objevovat, ověřovat a provádět transakce v plně decentralizovaném prostředí.
+
+## AI agenti na Ethereu {#ai-agents-on-ethereum}
+
+Začínáme zkoumat plný potenciál AI agentů a projekty již využívají synergii mezi UI a blockchainem – zejména v oblasti transparentnosti a monetizace.
+
+
+
+První vystoupení Luny jako hosta v podcastu
+
+
+
+## Peněženky ovládané agenty {#agent-controlled-wallets}
+
+Agenti jako Luna nebo AIXBT ovládají svou vlastní peněženku na blockchainu ([peněženka AIXBT](https://clusters.xyz/aixbt), [peněženka Luny](https://zapper.xyz/account/0x0d177181e3763b20d47dc3a72dd584368bd8bf43)), což jim umožňuje dávat spropitné fanouškům a účastnit se ekonomických aktivit.
+
+Během sociální kampaně Luny na síti X #LunaMuralChallenge Luna vybrala a odměnila vítěze prostřednictvím své peněženky na síti Base – což je první případ, kdy UI najala lidi za odměnu v kryptoměnách.
+
+
+
+
+
Dobré vědět
+
AI agenti a související nástroje jsou stále v rané fázi vývoje a velmi experimentální – používejte je opatrně.
+
+
+
+## Ovládejte svou peněženku pomocí příkazů v chatu {#control-your-wallet-using-chat-commands}
+
+Můžete přeskočit složitá rozhraní DeFi a spravovat své kryptoměny pomocí jednoduchých příkazů v chatu.
+
+Tento intuitivní přístup zrychluje a zjednodušuje transakce a snižuje náchylnost k chybám, jako je odeslání prostředků na špatnou adresu nebo přeplácení poplatků.
+
+
+
+## AI agenti vs. AI boti {#ai-agents-vs-ai-bots}
+
+Rozdíl mezi AI agenty a AI boty může být někdy matoucí, protože oba provádějí automatizované akce na základě vstupů.
+
+- AI boti jsou jako automatizovaní asistenti – řídí se konkrétními, předem naprogramovanými pokyny k provádění rutinních úkolů.
+- AI agenti jsou spíše jako inteligentní společníci – učí se ze zkušeností, přizpůsobují se novým informacím a sami se rozhodují.
+
+| | AI agenti | AI boti |
+| ---------------- | ------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
+| **Interakce** | Složité, přizpůsobivé, autonomní | Jednoduché, s předem definovaným rozsahem, pevně zakódované |
+| **Učení** | Učí se nepřetržitě, může experimentovat a přizpůsobovat se novým datům v reálném čase | Pracuje s předem natrénovanými daty nebo pevnými pravidly |
+| **Plnění úkolů** | Snaží se dosáhnout širších cílů | Zaměřuje se pouze na konkrétní úkoly |
+
+## Ponořte se hlouběji {#dive-deeper}
+
+
+
+## Můžete si vytvořit vlastního AI agenta {#you-can-build-your-own-ai-agent}
+
+
diff --git a/public/content/translations/cs/bridges/index.md b/public/content/translations/cs/bridges/index.md
index 0559e97cd85..658ede8370c 100644
--- a/public/content/translations/cs/bridges/index.md
+++ b/public/content/translations/cs/bridges/index.md
@@ -4,9 +4,9 @@ description: Přemostění umožňují uživatelům přesouvat aktiva mezi různ
lang: cs
---
-# Blockchainové mosty {#prerequisites}
+# Blockchainová přemostění {#prerequisites}
-_Web3 se vyvinul do ekosystému L1 blockchainů a L2 škálovacích řešení, která mají specifické výhody i nedostatky. S rostoucím počtem blockchainových protokolů roste i poptávka po přesunu aktiv mezi různými blockchainy. K uspokojení této poptávky potřebujeme řešení, které se nazývá "přemostění"._
+_Web3 se vyvinul do ekosystému L1 blockchainů a L2 škálovacích řešení, která mají specifické výhody i nedostatky. S rostoucím počtem blockchainových protokolů roste i poptávka po přesunu aktiv mezi různými blockchainy.Abychom tuto poptávku uspokojili, potřebujeme přemostění._
@@ -18,13 +18,13 @@ Vezměme si příklad:
Jste z USA a plánujete cestu do Evropy. Máte USD, ale potřebujete EUR na útratu. Chcete-li své USD směnit na EUR, můžete využít služeb směnárny. Ta vám pravděpodobně naúčtuje nějaký poplatek.
-Ale co uděláte, pokud chcete provést podobnou směnu, abyste své prostředky mohli používat na jiném [blockchainu](/glossary/#blockchain)? Řekněme, že chcete směnit [ETH](/glossary/#ether) na hlavní síti Etherea za ETH na [Arbitru](https://arbitrum.io/). Stejně jako jsme pro směnu USD na EUR využili služeb směnárny, potřebujeme mechanismus k přesunu našeho ETH z Mainnetu Etherea na Arbitrum. Právě přemostění umožňují provádění takovýchto transakcí. V tomto případě má [Arbitrum své vlastní přemostění](https://bridge.arbitrum.io/), které umožňuje převádět ETH z hlavní sítě na Arbitrum.
+Ale co uděláte, pokud chcete provést podobnou směnu, abyste své prostředky mohli používat na jiném [blockchainu](/glossary/#blockchain)? Řekněme, že chcete směnit [ETH](/glossary/#ether) na Mainnetu Etherea za ETH na [Arbitru](https://arbitrum.io/). Stejně jako jsme pro směnu USD na EUR využili služeb směnárny, potřebujeme mechanismus k přesunu našeho ETH z Mainnetu Etherea na Arbitrum. Právě přemostění umožňují provádění takovýchto transakcí. V tomto případě má [Arbitrum své vlastní přemostění](https://portal.arbitrum.io/bridge), které umožňuje převádět ETH z Mainnetu na Arbitrum.
## Proč přemostění potřebujeme? {#why-do-we-need-bridges}
Každý blockchain má nějaké omezení. Aby mohlo Ethereum zvyšovat škálovatelnost a držet krok s poptávkou, potřebuje [rollupy](/glossary/#rollups). Naopak L1 blockchainy, jako je Solana a Avalanche, jsou navrženy tak, aby umožnily vyšší propustnost transakcí, ale za cenu nižší decentralizace.
-Faktem je, že všechny blockchainy jsou vyvíjeny v izolovaných prostředích a mají odlišná pravidla a mechanismy k dosažení [konsenzu](/glossary/#consensus). To znamená, že spolu nejsou schopny komunikovat a tokeny není možné volně přesouvat mezi blockchainy.
+Všechny blockchainy jsou však vyvíjeny v izolovaných prostředích a mají odlišná pravidla a mechanismy [konsensu](/glossary/#consensus). To znamená, že spolu nejsou schopny komunikovat a tokeny není možné volně přesouvat mezi blockchainy.
Přemostění existují k propojení blockchainů, umožňují přenos informací a tokenů.
@@ -35,11 +35,11 @@ Přemostění existují k propojení blockchainů, umožňují přenos informac
- uživatelům přístup k novým platformám a využívání výhod různých blockchainů.
- vývojářům z různých blockchainových ekosystémů spolupracovat a budovat nové platformy pro uživatele.
-[Jak propojit tokeny do 2. vrstvy](/guides/how-to-use-a-bridge/)
+[Jak přemostit tokeny na druhou vrstvu](/guides/how-to-use-a-bridge/)
-## Příklady využití přemostění mezi blockchainy {#bridge-use-cases}
+## Případy použití přemostění {#bridge-use-cases}
Podívejte se na některé možnosti využití přemostění mezi blockchainy:
@@ -47,23 +47,23 @@ Podívejte se na některé možnosti využití přemostění mezi blockchainy:
Představte si, že máte ETH na hlavní síti Ethereum, ale chtěli byste platit nižší transakční poplatky, abyste mohli vyzkoušet různé dappky. Přemostění vám umožní převést ETH z hlavní sítě na Ethereum L2 rollup a mít tak nižší transakční poplatky.
-### Dappky na jiných blockchainech {#dapps-other-chains}
+### Dapps na jiných blockchainech {#dapps-other-chains}
Pokud jste používali Aave na hlavní síti Etherea k poskytování půjček v USDT, ale úroková sazba pro půjčování USDT pomocí Aave na Polygonu je vyšší.
-### Prozkoumávání blockchainových ekosystémů {#explore-ecosystems}
+### Prozkoumejte blockchainové ekosystémy {#explore-ecosystems}
Máte-li ETH na hlavní síti Ethereum a chcete prozkoumat alternativní L1 blockchain a vyzkoušet tamní dappky. Pomocí přemostění můžete převést své ETH z hlavní sítě Ethereum na alternativní L1.
-### Vlastnictví kryptoměn {#own-native}
+### Vlastnictví nativních kryptoaktiv {#own-native}
-Představte si, že si chcete koupit Bitcoin (BTC), ale máte peníze pouze na hlavní síti Ethereum. Abyste získali BTC zastoupený na Ethereu, můžete si koupit Wrapped Bitcoin (WBTC). WBTC je ale token [ERC-20](/glossary/#erc-20) nativní pro síť Ethereum, což znamená, že jde o verzi Bitcoinu na Ethereu a nikoli o BTC na blockchainu Bitcoin. Abyste mohli vlastnit původní BTC, musíte svá aktiva převést z Etherea na Bitcoin pomocí přemostění. Tímto způsobem převedete svůj WBTC na BTC. Alternativně můžete vlastnit BTC a chtít jej použít v protokolech [DeFi](/glossary/#defi) na Ethereu. To by vyžadovalo přemostění opačným směrem, tedy z BTC na WBTC, který lze pak použít jako aktivum na Ethereu.
+Představte si, že si chcete koupit Bitcoin (BTC), ale máte peníze pouze na hlavní síti Ethereum. Abyste získali BTC zastoupený na Ethereu, můžete si koupit Wrapped Bitcoin (WBTC). WBTC je ale [ERC-20](/glossary/#erc-20) token nativní pro síť Ethereum, což znamená, že jde o verzi Bitcoinu na Ethereu a nikoli o původní aktivum na blockchainu Bitcoinu. Abyste mohli vlastnit původní BTC, musíte svá aktiva převést z Etherea na Bitcoin pomocí přemostění. Tímto způsobem převedete svůj WBTC na BTC. Alternativně můžete vlastnit BTC a chtít jej použít v protokolech [DeFi](/glossary/#defi) na Ethereu. To by vyžadovalo přemostění opačným směrem, tedy z BTC na WBTC, který lze pak použít jako aktivum na Ethereu.
- Všechny tyto operace můžete provést také prostřednictvím [centralizované burzy](/get-eth/). Ale pokud vaše prostředky ještě na burze nejsou, zahruje taková operace vícero kroků, a pravděpodobně bude jednodušší použít přemostění.
+ Vše výše uvedené můžete provést také pomocí [centralizované burzy](/get-eth). Ale pokud vaše prostředky ještě na burze nejsou, zahruje taková operace vícero kroků, a pravděpodobně bude jednodušší použít přemostění.
@@ -74,16 +74,16 @@ Představte si, že si chcete koupit Bitcoin (BTC), ale máte peníze pouze na h
Různá přemostění mají různý design a jsou různě složitá. Obecně je lze rozdělit do dvou kategorií: Centralizovaná - těm musíte věřit - a decentralizovaná, která jsou řízena smart kontrakty.
-| Přemostění s nutností další důvěry | Přemostění bez nutnosti další důvěry |
-| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Jejich provoz závisí na centrální entitě nebo systému. | Fungují pomocí chytrých kontraktů a algoritmů. |
-| Musíte důvěřovat třetí straně, pokud jde o zabezpečení prostředků a procesu přemostění. Uživatelé se většinou spoléhají na pověst provozovatele. | Neexistuje třetí strana, které byste byli nuceni důvěřovat, což znamená, že zabezpečení mostu je stejné jako zabezpečení základního blockchainu. |
-| Uživatelé musí odevzdat kontrolu nad svými kryptoměnovými prostředky. | Přemostění uživatelům umožňují zachovat si kontrolu nad svými prostředky prostřednictvím [chytrých kontraktů](/glossary/#smart-contract) bez nutnosti další důvěry. |
+| Přemostění s nutností další důvěry | Přemostění bez nutnosti další důvěry |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Jejich provoz závisí na centrální entitě nebo systému. | Fungují pomocí chytrých kontraktů a algoritmů. |
+| Musíte důvěřovat třetí straně, pokud jde o zabezpečení prostředků a procesu přemostění. Uživatelé se většinou spoléhají na pověst provozovatele. | Neexistuje třetí strana, které byste byli nuceni důvěřovat, což znamená, že zabezpečení mostu je stejné jako zabezpečení základního blockchainu. |
+| Uživatelé musí odevzdat kontrolu nad svými kryptoměnovými prostředky. | Přemostění bez nutnosti důvěry využívají [chytré kontrakty](/glossary/#smart-contract) a umožňují uživatelům ponechat si kontrolu nad svými prostředky. |
Ve zkratce: Centralizovaným řešením přemostění musíte prostě věřit, zatímco decentralizovaná přemostění nevyžadují větší míru důvěry než tu, kterou už máte v blockchain, na kterém jsou spuštěny. Zde je vysvětlení těchto pojmů:
-- **Bez nutnosti další důvěry**: S ekvivalentním zabezpečením jako má blockchain, na kterém jsou spuštěna. [Jak je popsáno v tomto článku](https://medium.com/connext/the-interoperability-trilemma-657c2cf69f17) od Arjuna Bhuptaniho.
-- **S nutností další důvěry:** Odchylují se od zabezpečení domén, na kterých jsou spuštěny, přidáním externích ověřovatelů do systému, což způsobuje menší kryptoekonomickou bezpečnost.
+- **Bez nutnosti důvěry**: zabezpečení je ekvivalentní podkladovým doménám. Jak popisuje [Arjun Bhuptani v tomto článku.](https://medium.com/connext/the-interoperability-trilemma-657c2cf69f17)
+- **S nutností další důvěry:** odchylují se od zabezpečení podkladových domén přidáním externích ověřovatelů do systému, což způsobuje menší kryptoekonomickou bezpečnost.
Pro lepší pochopení hlavních rozdílů mezi oběma přístupy si vezměme příklad:
@@ -100,26 +100,26 @@ Většina řešení přemostění aplikuje modely s různými stupni důvěry, k
-## Jak můžete přemostění používat {#use-bridge}
+## Použití přemostění {#use-bridge}
Přemostění vám umožňují přesouvat aktiva mezi různými blockchainy. Zde je několik zdrojů, které vám mohou pomoci najít a používat přemostění:
-- **[Souhrn přemostění L2BEAT](https://l2beat.com/bridges/summary) & [Analýza rizik přemostění L2BEAT](https://l2beat.com/bridges/summary)**: Komplexní souhrn různých přemostění, včetně podrobností o podílu na trhu, typu přemostění a cílových blockchainech. L2BEAT rovněž obsahuje analýzu rizik pro přemostění, která uživatelům při výběru přemostění pomáhá činit informovaná rozhodnutí.
-- **[Souhrn přemostění DefiLlama](https://defillama.com/bridges/Ethereum)**: Přehled přemostění v sítích Ethereum.
+- **[Souhrn přemostění L2BEAT](https://l2beat.com/bridges/summary) a [Analýza rizik přemostění L2BEAT](https://l2beat.com/bridges/summary)**: Komplexní souhrn různých přemostění, včetně podrobností o podílu na trhu, typu přemostění a cílových blockchainech. L2BEAT rovněž obsahuje analýzu rizik pro přemostění, která uživatelům při výběru přemostění pomáhá činit informovaná rozhodnutí.
+- **[Souhrn přemostění DefiLlama](https://defillama.com/bridges/Ethereum)**: Souhrn objemů přemostění napříč sítěmi Ethereum.
-## Rizika používání blockchainovým přemostění {#bridge-risk}
+## Rizika použití přemostění {#bridge-risk}
V současné době se nacházíme v rané fázi vývoje těchto řešení. Je pravděpodobné, že optimální návrh přemostění zatím nebyl vyvinut. Interakce s jakýmkoli typem přemostění nese rizika:
- **Riziko chytrého kontraktu —** riziko chyby v kódu, která může způsobit ztrátu prostředků uživatele
-- **Technologické riziko —** porucha softwaru, chybový kód, lidská chyba, spam a útoky hackerů mohou celý proces narušit
+- **Technologické riziko —** selhání softwaru, chybový kód, lidská chyba, spam a škodlivé útoky mohou narušit operace uživatele
Přemostění s nutností další důvěry navíc nesou dodatečná rizika spojená právě se zvýšenou nutností důvěry, jako jsou:
-- **Riziko cenzury —** provozovatelé přemostění teoreticky mohou zabránit uživatelům v převodu prostředků
-- **Riziko třetí strany—** provozovatelé přemostění se mohou spojit za účelem krádeže finančních prostředků uživatelů
+- **Riziko cenzury —** provozovatelé přemostění mohou teoreticky zabránit uživatelům v převodu jejich aktiv pomocí přemostění
+- **Riziko úschovy —** provozovatelé přemostění se mohou domluvit a ukrást prostředky uživatelů
Finanční prostředky uživatele jsou v ohrožení, pokud:
@@ -129,16 +129,17 @@ Finanční prostředky uživatele jsou v ohrožení, pokud:
- provozovatelé přemostění mejí dobré úmysly
- přemostění je pod útokem hackera
-Jedním z nedávných hacků byl hack přemostění Wormhole na blockchainu Solana, [při kterém bylo ukradeno 120 000 wETH (325 milionů USD)](https://rekt.news/wormhole-rekt/). Mnoho z [největších hacků v historii blockchainu zahrnovalo právě přemostění.](https://rekt.news/leaderboard/).
+Jedním z nedávných hacků bylo přemostění Wormhole na Solaně, [při kterém bylo ukradeno 120k wETH (325 milionů USD)](https://rekt.news/wormhole-rekt/). Mnoho z [největších hacků v historii blockchainu zahrnovalo přemostění](https://rekt.news/leaderboard/).
-Přemostění jsou klíčová pro vstup uživatelů do 2. vrstev Etherea, stejně jako pro možnost prozkoumání jiných ekosystémů. Nicméně uživatelé musí porozumět rizikům, které používání přemostění přináší. Toto jsou některé [strategie pro zajištění bezpečnosti při převodu prostředků mezi blockchainy.](https://blog.debridge.finance/10-strategies-for-cross-chain-security-8ed5f5879946).
+Přemostění jsou klíčová pro vstup uživatelů do 2. vrstev Etherea, stejně jako pro možnost prozkoumání jiných ekosystémů. Nicméně uživatelé musí porozumět rizikům, které používání přemostění přináší. Zde jsou některé [strategie pro meziřetězcové zabezpečení](https://debridge.com/learn/blog/10-strategies-for-cross-chain-security/).
-## Další četba {#further-reading}
-- [EIP-5164: Meziblockchainová exekuce](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658) – _18. června 2022 – Brendan Asselstine_
-- [Rizika přemostění vrstev 2](https://gov.l2beat.com/t/l2bridge-risk-framework/31) – _5. července 2022 – Bartek Kiepuszewski_
-- [Proč je budoucnost multiblockchainová, ale ne meziblockchainová](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) – _8. ledna 2022 – Vitalik Buterin_
-- [Využití sdíleného zabezpečení pro bezpečnou interoperabilitu mezi blockchainy: Lagrangovy stavové výbory a další](https://web.archive.org/web/20250125035123/https://research.2077.xyz/harnessing-shared-security-for-secure-blockchain-interoperability) – _ 12. června 2024 – Emmanuel Awosika_
+## Další čtení {#further-reading}
+
+- [EIP-5164: Meziřetězcové provádění](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658) – _18. června 2022 – Brendan Asselstine_
+- [Rámec rizik přemostění L2](https://gov.l2beat.com/t/l2bridge-risk-framework/31) – _5. července 2022 – Bartek Kiepuszewski_
+- [„Proč bude budoucnost víceřetězcová, ale ne meziřetězcová.“](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) – _8. ledna 2022 – Vitalik Buterin_
+- [Využití sdíleného zabezpečení pro bezpečnou meziřetězcovou interoperabilitu: Lagrangeovy stavové komise a dále](https://web.archive.org/web/20250125035123/https://research.2077.xyz/harnessing-shared-security-for-secure-blockchain-interoperability) – _12. června 2024 – Emmanuel Awosika_
- [Stav řešení interoperability rollupů](https://web.archive.org/web/20250428015516/https://research.2077.xyz/the-state-of-rollup-interoperability) – _20. června 2024 – Alex Hook_
diff --git a/public/content/translations/cs/community/code-of-conduct/index.md b/public/content/translations/cs/community/code-of-conduct/index.md
index 1f518679f6a..3a786fb6535 100644
--- a/public/content/translations/cs/community/code-of-conduct/index.md
+++ b/public/content/translations/cs/community/code-of-conduct/index.md
@@ -4,9 +4,9 @@ description: Základní standardy, o které se snažíme napříč ekosystémem
lang: cs
---
-# Etický kodex {#code-of-conduct}
+# Kodex chování {#code-of-conduct}
-## Mise {#mission}
+## Poslání {#mission}
Vyvinout a udržovat nejkomplexnější a nejdostupnější centrum znalostí pro Ethereum.
@@ -14,64 +14,64 @@ Vyvinout a udržovat nejkomplexnější a nejdostupnější centrum znalostí pr
Komunita ethereum.org se snaží být:
-- otevřena vzdělávání, cílem je pomoci pochopit Ethereum komukoliv
-- inkluzivní
-- dostupná
-- řízená komunitou
-- zaměřená na základní technologii a modelové případy použití Etherea
-- zaměřená na koncepty Etherea a designové principy
+- Vzdělávací, s cílem pomoci každému porozumět Ethereu
+- Inkluzivní
+- Dostupná
+- Řízená komunitou
+- Zaměřená na základní technologii a případy použití Etherea
+- Zaměřená na koncepty Etherea a designové principy
-## Co nejsme {#what-we-are-not}
+## Čím nejsme {#what-we-are-not}
-- Web Ethereum Foundation
+- Webové stránky Nadace Ethereum
- Platforma pro podporu investic nebo ziskuchtivosti jakéhokoli druhu
-- Platforma pro zviditelnění nebo podporu jednotlivých projektů nebo organizací
+- Platforma pro zviditelňování nebo podporu jednotlivých projektů nebo organizací
- DEX, CEX nebo jakákoli jiná forma finanční platformy
- Platforma, která poskytuje finanční nebo právní poradenství jakéhokoli druhu
-## Etický kodex {#code-of-conduct}
+## Kodex chování {#code-of-conduct}
### Závazek {#pledge}
-Otevřená účast je základem étosu ethereum.org. Jsme webová stránka a komunita spravovaná tisíci přispěvateli, a to je možné pouze tehdy, pokud udržujeme příjemné a participativní prostředí. Za tímto účelem se přispěvatelé ethereum.org zavazují udržovat příjemné prostředí bez obtěžování na všech platformách a komunitních prostorech ethereum.org. Komunita ethereum.org uvítá každého, kdo se chce zapojit konstruktivním a přátelským způsobem, bez ohledu na věk, postižení, etnický původ, pohlaví, genderovou identitu, úroveň zkušeností, oblast odbornosti, vzdělání, socioekonomický status, národnost, vzhled, rasu, náboženství nebo jakýkoliv další rozměr rozmanitosti.
+Otevřená účast je jádrem étosu ethereum.org. Jsme webová stránka a komunita spravovaná tisíci přispěvateli, a to je možné pouze tehdy, pokud udržujeme vstřícné a participativní prostředí. Za tímto účelem se přispěvatelé tohoto webu zavazují udržovat prostředí bez obtěžování pro všechny účastníky na všech platformách a v komunitních prostorech ethereum.org. Komunita ethereum.org vítá a cení si každého, kdo se chce zapojit konstruktivním a přátelským způsobem, bez ohledu na věk, postižení, etnickou příslušnost, pohlavní znaky, genderovou identitu, úroveň zkušeností, oblast odbornosti, vzdělání, socioekonomický status, národnost, osobní vzhled, rasu, náboženství nebo jakýkoli jiný rozměr rozmanitosti.
### Rozsah {#scope}
-Tento kodex chování se vztahuje na všechny prostory ethereum.org (jako jsou GitHub, Discord, Figma Crowdin, Twitter a další online platformy) i na veřejné prostory skutečného světa, jako jsou meetingy, konference a další události.
+Tento kodex chování se vztahuje na všechny prostory ethereum.org (jako jsou GitHub, Discord, Figma, Crowdin, X (dříve Twitter) a další online platformy) a platí také v případech, kdy komunita vystupuje na veřejnosti v reálném světě, například na meetupech, konferencích a událostech.
### Naše standardy {#our-standards}
-Chování, které přispívá k vytváření pozitivního prostředí, zahrnuje:
+Příklady chování, které přispívá k vytváření pozitivního prostředí:
-- Vstřícnou a inkluzivní komunikaci
-- Respektování různých názorů a zkušeností
-- Schopnost slušně přijímat a/nebo empaticky poskytovat konstruktivní kritiku
+- Používání vstřícného a inkluzivního jazyka
+- Respektování odlišných názorů a zkušeností
+- Slušné přijímání a/nebo empatické poskytování konstruktivní kritiky
- Klidné a profesionální jednání při řešení konfliktů či neshod
-- Projevy empatie a tolerance vůči ostatním členům komunity
-- Povzbuzování a posilování nových členů komunity
+- Projevování empatie a tolerance vůči ostatním členům komunity
+- Povzbuzování a dávání prostoru novým hlasům v komunitě
-Příklady nepřijatelného chování zahrnují:
+Příklady nepřijatelného chování účastníků:
-- Fyzické násilí, vyhrožování fyzickým násilím nebo nabádání k fyzickému násilí jakéhokoliv druhu
-- Používání sexualizovaného jazyka nebo vnucování nevítané sexuální pozornosti
+- Fyzické násilí, vyhrožování fyzickým násilím nebo podněcování k fyzickému násilí jakéhokoli druhu
+- Používání sexualizovaného jazyka nebo obrazových materiálů a vnucování nevítané sexuální pozornosti
- Vydávání se za jinou osobu nebo jiné nečestné tvrzení o příslušnosti k nějaké osobě nebo organizaci
-- Trolling, urážlivé komentáře a osobní nebo politické útoky
+- Trolling, urážlivé/hanlivé komentáře a osobní nebo politické útoky
- Obtěžování ostatních členů komunity na veřejných nebo soukromých kanálech
-- Zveřejňování soukromých informací ostatních, jako je fyzická nebo elektronická adresa, bez výslovného povolení
-- Sociální hacking, podvody nebo jiná manipulace ostatních členů komunity
-- Propagace investic, tokenů, projektů nebo jakýchkoliv jiných aktiv za účelem osobního peněžního nebo nepeněžního zisku
-- Spamovací servery s obsahem, který není k tématu
-- Ignorování žádostí nebo varování od moderátorů komunity
-- Jakékoliv jiné jednání, které by mohlo být v profesionálním prostředí důvodně považováno za nevhodné
+- Zveřejňování soukromých informací ostatních, jako je fyzická nebo elektronická adresa, bez jejich výslovného svolení
+- Sociální inženýrství, podvody nebo jiná manipulace s ostatními členy komunity
+- Propagace investic, tokenů, projektů nebo čehokoli jiného za účelem osobního peněžního nebo nepeněžního zisku
+- Spamování serverů obsahem mimo téma
+- Nerespektování žádostí nebo varování od komunitních moderátorů
+- Jakékoli jiné jednání, které by mohlo být v profesionálním prostředí důvodně považováno za nevhodné
### Hlášení {#reporting}
-Porušení kodexu chování bude viditelné pro celou komunitu, protože se snažíme komunikovat v otevřených, veřejných kanálech, což umožňuje členům komunity nastavit vlastní ochranná opatření.
+Porušení kodexu chování budou zpravidla viditelná pro komunitu, jelikož se snažíme vše dělat v otevřených veřejných kanálech, což umožňuje členům komunity, aby si pořádek zajišťovali sami.
-Pokud se však stane něco, o čem si myslíte, že vyžaduje pozornost, můžete na to upozornit někoho, kdo má roli moderátora (např. discord guide) a kdo by mohl pomoci při vyšetřování a nastavení vhodné reakce.
+Pokud se však stane něco, co podle vás vyžaduje pozornost, můžete to nahlásit někomu s rolí moderátora (např. discord guide), aby pomohl situaci prošetřit a zajistit příslušnou reakci.
-Při hlášení potíží uveďte co nejvíce podrobností, včetně konkrétních příkladů a času. To nám pomůže zajistit spravedlivý výsledek.
+Při hlášení prosím uveďte co nejvíce podrobností, včetně konkrétních příkladů a časových razítek. Pomůže to zajistit spravedlivý výsledek.
-### Vynucení {#enforcement}
+### Prosazování {#enforcement}
-V závislosti na závažnosti mohou lidé, kteří porušují kodex chování, obdržet varování, dočasné zákazy nebo trvalé zákazy od komunit ethereum.org.
+V závislosti na závažnosti mohou lidé, kteří poruší kodex chování, obdržet varování, dočasné zákazy nebo trvalé zákazy v komunitách ethereum.org.
diff --git a/public/content/translations/cs/community/events/organizing/index.md b/public/content/translations/cs/community/events/organizing/index.md
new file mode 100644
index 00000000000..b2ca3859bf2
--- /dev/null
+++ b/public/content/translations/cs/community/events/organizing/index.md
@@ -0,0 +1,221 @@
+---
+title: Organizace Ethereum události
+description: Jak uspořádat Ethereum událost
+lang: cs
+hideEditButton: true
+---
+
+# Jak uspořádat Ethereum událost {#how-to-organize-an-ethereum-event}
+
+Budování silné a živé komunity je klíčové pro růst ekosystému Ethereum. Ať už plánujete organizovat setkání, workshopy nebo plnohodnotnou konferenci, úspěch vaší události závisí na propojení a zapojení vaší místní sítě. Tento průvodce vám pomůže položit základy pro aktivní komunitu Ethereum a provede vás krok za krokem procesem organizace nezapomenutelné a působivé konference.
+
+## Zeptejte se sami sebe, existuje komunita Ethereum? {#ask-yourself-is-there-an-ethereum-community}
+
+Úspěšná konference Ethereum je postavena na aktivní a zapojené komunitě. Pokud ji již máte, máte náskok – ale pokud ne, zásadním předběžným krokem je vybudovat tento základ. Je důležité rozlišovat mezi scénou a komunitou: scéna může zahrnovat společnosti a jednotlivce přítomné v určité oblasti, ale často fungují nezávisle a společné iniciativy jsou pouze příležitostné – jako tradiční ekosystém web2 na mnoha místech. Komunita je na druhé straně síť vzájemně propojených lidí a organizací, které spolupracují a vzájemně se podporují, což se často vyskytuje v ekosystémech web3.
+
+**Vaše první kroky by měly být:**
+
+- Prozkoumejte místní startupy a společnosti – mít ve vašem městě nebo zemi silné a aktivní společnosti je často nejdůležitějším předpokladem pro budování komunity.
+- Zkontrolujte, zda již nějaká setkání probíhají – [stránka s událostmi](https://ethereum.org/community/events/) na ethereum.org
+- [Webové stránky ethereum.org](https://ethereum.org/community/events/) a Discord ethereum.org – pro kontrolu, zda existují místní události Ethereum, vývojáři a přispěvatelé.
+- Luma a Meetup.com – pro zjištění, zda se ve vaší oblasti konají události související s Ethereum nebo širší události web3.
+- X – Zkuste najít místní zastánce nebo influencery v tomto oboru.
+
+Pokud většinu těchto prvků najdete, je to silný signál, že existují podmínky pro vybudování komunity – ale ne nutně, že komunita již existuje. Dalším krokem je klíčová práce organizace, zapojení a péče o tyto aktéry, vytváření příležitostí pro spolupráci a dlouhodobý růst.
+
+### Pokud ne, jak ji vybudovat {#if-not-how-to-build-it}
+
+Pokud zjistíte, že mnoho z těchto prvků chybí, nezoufejte – budování komunity od nuly je náročný, ale velmi obohacující proces. Silná komunita Ethereum se neobjeví přes noc; vyžaduje trpělivost, důslednost a jasnou vizi. Začít můžete takto:
+
+- **Vytvořte komunikační kanál** — může to být Telegram, Signal, WhatsApp, WeChat nebo Discord server, podle toho, co je u vás populárnější, aby se lidé mohli spojit, klást otázky a sdílet zdroje.
+- **Najděte si své první příznivce.** Identifikujte několik lidí, kteří jsou zapáleni pro Ethereum a Web3. Stanou se vašimi klíčovými podporovateli a spolupracovníky.
+- **Pořádejte malé, pravidelné akce.** Začněte s neformálními setkáními, studijními skupinami nebo workshopy. Klíčová je důslednost – i když je skupina zpočátku malá, pravidelné akce budují důvěru a dynamiku.
+- **Zkuste oslovit místní firmy**, vzdělávací instituce nebo coworkingové prostory, aby vám poskytly prostor zdarma. Pokud nemůžete najít řečníky z vaší země, pozvěte online řečníky, ale shromážděte lidi fyzicky. Je klíčové udržet vaše publikum fyzicky přítomné na jednom místě.
+- **Spolupracujte se stávajícími technologickými komunitami.** Pokud již existují vývojářské skupiny, startupové ekosystémy nebo blockchainová setkání, spojte se s nimi, abyste představili témata Ethereum a rozšířili svůj dosah.
+- **Sdílejte vzdělávací obsah** o potenciálu Ethereum.
+- **Oslovte globální komunity.** Spojte se se zavedenými skupinami a projekty Ethereum po celém světě pro podporu, mentorství a potenciální spolupráci. Komunity Ethereum po celém světě mají společnou alespoň jednu věc: Všechny jsou ochotné pomoci.
+- **Pokuste se zajistit financování** – ať už od místních web3 společností, nebo prostřednictvím grantového programu, jako je [ESP](https://esp.ethereum.foundation/).
+
+### Pokud ano, jak ji udržovat a rozvíjet {#if-yes-how-to-maintain-and-grow-it}
+
+Jakmile máte zavedenou komunitu, práce nekončí – ve skutečnosti teprve začíná. Udržování aktivní, zapojené a rostoucí komunity vyžaduje neustálé úsilí a kreativitu. Jedním z klíčových prvků pro udržení zapojení komunity je neustálé experimentování s novými formáty a nápady.
+
+Zde jsou některé strategie pro udržení živé komunity Ethereum:
+
+- **Zpestřete formáty vašich akcí:** Nedržte se jen jednoho typu setkání. Zpestřete to setkáními, krátkými hackathony, panelovými diskusemi a networkingovými akcemi. Můžete zkusit organizovat co-workingové dny nebo vzdělávací kurzy.
+- **Zpestřete témata:** Ethereum není jen technologie; je to také soubor hodnot, které zahrnují právo, marketing a byznys.
+- **Požádejte svou komunitu** o zpětnou vazbu a nápady.
+- **Zapojte různé segmenty publika**. Přizpůsobte obsah a události různým úrovním zkušeností – od začátečníků, kteří poprvé objevují Ethereum, až po zkušené vývojáře a podnikatele.
+
+Poskytováním rozmanitých příležitostí k učení, spolupráci a růstu zajistíte, že vaše komunita zůstane aktivní a připravená na větší iniciativy, jako je organizace konference.
+
+## Událost {#event}
+
+### Kdy je ten správný čas uspořádat událost? {#when-is-the-right-time-to-organize-an-event}
+
+Organizace úspěšné konference Ethereum nebo komunitní události vyžaduje pečlivé načasování a zvážení. Správný okamžik závisí na řadě faktorů, které přispívají k celkovému úspěchu události.
+
+Měli byste vzít v úvahu zralost komunity, podmínky na trhu, zda máte tým a zda existuje místní scéna (např. potenciální sponzoři).
+
+### KYC – Poznejte svou komunitu {#kyc-know-your-community}
+
+Jedním z nejdůležitějších kroků při organizaci události je porozumění vaší komunitě. Stejně jako Know Your Customer (KYC) ve finančních službách, Know Your Community (KYC) znamená věnovat čas pochopení specifických potřeb, preferencí a charakteristik vašeho místního publika. Toto porozumění vám pomůže přizpůsobit konferenci tak, aby byl zajištěn její úspěch a relevance.
+
+Je lákavé zaměřit se hned na rozsáhlou událost, ale začít v malém je často nejlepší přístup. Nejlepší řešení pro vás zjistíte, pokud se objektivně podíváte na stav vaší komunity a některé další aspekty, které se vám mohou zdát irelevantní, jako například: je vaše země oblíbenou turistickou destinací nebo náklady na ubytování.
+
+V prvním roce bude největší část vašeho publika tvořit místní komunita, takže vše, co děláte v prvním roce organizace větší akce, by mělo být zaměřeno na potřeby a velikost této komunity.
+
+### Kde začít {#where-to-start}
+
+Pokud jde o organizaci konference, první kroky se mohou zdát ohromující. Ale s jasným plánem a strukturou můžete proces rozdělit na zvládnutelné úkoly. Každý z nich si rozebereme.
+
+Začít se strukturovaným přístupem vám pomůže zůstat organizovaní a snížit stres, když budete procházet různými fázemi organizace vaší události. Každé vaše rozhodnutí by vás mělo přiblížit k poskytnutí zážitku, který odpovídá potřebám vaší komunity.
+
+**První věcí je vytvořit organizační tým s jasnými rolemi a odpovědnostmi.**
+
+Dalším důležitým krokem před zahájením tvorby programu nebo oslovením sponzorů je výběr data. Ačkoliv to zní jako snadný krok, existuje několik důležitých faktorů, které byste měli předem zvážit. Některé z nich jsou:
+
+- **Vyhněte se kolidujícím termínům s velkými konferencemi** nebo událostmi
+- **Zvažte místní podmínky a okolnosti** (například roční období, hlavní svátky atd.)
+- **Zohledněte podmínky na trhu**
+- **Dejte si dostatek času na organizaci všeho** – alespoň devět měsíců
+
+### Jak sestavit tým {#how-to-assemble-a-team}
+
+Vyberte si lidi, kteří sdílejí vaši vizi a doplňují vaše dovednosti. Některé týmy fungují jako kolektivy, zatímco jiné mají definované role – najděte, co vám nejlépe vyhovuje. Pravidelná komunikace a jasná očekávání jsou zásadní. Ačkoli je lákavé spoléhat se při plánování událostí na komunikační platformy, doporučujeme pro organizaci a sledování úkolů zvolit platformu pro správu úkolů (jako je Notion, Basecamp, Trello, Asana nebo dokonce staré dobré Google Sheets). Je klíčové mít dobře fungující a dobře organizovaný tým.
+
+Různé organizační týmy Ethereum mají ve svých týmech různé role, ale všechny mají společné lidi, kteří pracují na logistice, rozpočtování, marketingu, programu, designu a partnerstvích.
+
+### Program: Klíčový prvek úspěšné události {#the-program-a-key-element-of-a-successful-event}
+
+Pokud jde o organizaci skutečně hodnotné a nezapomenutelné konference, **program je všechno**. Toto není oblast, kde si můžete dovolit kompromisy. Zatímco sponzoři jsou důležití a často klíčoví pro financování události, zkušenost publika a hodnota, kterou dostává, musí mít vždy přednost. Program přeplněný propagačním obsahem a nekonečnými sponzorskými prezentacemi odcizí vaše účastníky a podkope důvěryhodnost vaší události.
+
+Každá sekce, panel a workshop by měl informovat, inspirovat a zapojit komunitu. Naslouchejte svému publiku – pochopte jeho zájmy, potřeby a výzvy. Jaká témata s nimi rezonují? Zároveň představte nové pohledy a inovativní formáty, aby byl program dynamický. Vyvažte známá a populární témata s nejmodernějšími nápady, čímž zajistíte komplexní agendu, která pokrývá různé aspekty ekosystému Ethereum – od technických hloubkových ponorů a sezení na budování komunity až po politické diskuse a praktické workshopy. Dále zvažte jazyk konference – ačkoli je angličtina na většině událostí Ethereum výchozím jazykem, nabízení sekcí v místním jazyce může událost učinit přístupnější pro regionální vývojáře a nadšence.
+
+**Při výběru řečníků otevřete výzvu nejméně šest měsíců před konferencí, abyste přilákali kvalitní příspěvky a měli dostatek času na kurátorství agendy.** Osoba odpovědná za výběr řečníků by měla mít významné zkušenosti v oboru a hluboké porozumění ekosystému. Tím je zajištěno, že dokážou identifikovat cenné, pronikavé příspěvky a udržet vysoký standard obsahu.
+
+### Kde najít finanční podporu {#where-to-find-financial-support}
+
+Organizace kvalitní konference s sebou nese značné náklady – pronájem prostor, propagační materiály, jídlo a nápoje, produkce a nespočet dalších výdajů. Včasné zajištění finanční podpory je zásadní pro zajištění toho, aby vaše událost splňovala profesionální standardy a poskytla skvělý zážitek pro vaše účastníky.
+
+#### Jak vytvořit sponzorský balíček? {#how-to-create-a-sponsorship-deck}
+
+Nejprve budete potřebovat prezentační balíček. **Požádejte ostatní organizátory konferencí o radu**, dokonce i o sdílení jejich balíčků, abyste na jejich základě mohli vytvořit své vlastní. Při cenotvorbě balíčků byste měli být realističtí a snažit se pokrýt náklady, nikoli vydělat peníze, zejména na začátku.
+
+**Každý sponzorský balíček by měl poskytovat jasný a přesvědčivý přehled události**, který zajistí, že potenciální sponzoři pochopí její rozsah, zaměření a hodnotu. Začněte se základy – místo konání, datum a podrobnosti o organizačním týmu – abyste si vybudovali důvěryhodnost. Poté zdůrazněte hlavní zaměření události, protože různé konference Ethereum se zaměřují na různé publikum. Některé jsou silně orientovány na tvůrce a obsahují hluboké technické diskuse, zatímco jiné se mohou více zaměřit na témata DeFi, DAO nebo politiky.
+
+Kromě pouhého popisu události stanovte jasná očekávání. **Uveďte očekávaný počet účastníků a všechny již potvrzené klíčové řečníky**, protože to pomůže sponzorům odhadnout jejich potenciální dosah. A co je nejdůležitější, jasně definujte, co obdrží na oplátku za své sponzorství – prostor pro stánek, příležitosti k vystoupení, propagaci na sociálních sítích, zviditelnění značky nebo exkluzivní přístup k networkingu. Dobře strukturovaný balíček nejen informuje, ale také nadchne potenciální sponzory pro příležitost být součástí vaší události.
+
+#### Kdo by mohl podpořit vaši akci? {#who-might-support-your-event}
+
+Začněte oslovením společností v rámci ekosystému Ethereum a širšího technologického ekosystému ve vašem městě nebo zemi. Tyto **organizace mají často vlastní zájem podporovat místní události**, které podporují růst komunity a inovace. Je také pravděpodobnější, že si uvědomí hodnotu investic do místního ekosystému a uvidí vaši konferenci jako příležitost k navázání kontaktů s talenty, partnery a uživateli.
+
+Jakmile využijete místní podporu, rozšiřte svůj dosah na globální hráče v prostoru web3. **Zavedené protokoly, DAO a ekosystémové fondy často přidělují rozpočty na komunitně řízené události**. Pro začínající organizátory to může být trochu náročné, protože ještě nemají vybudovanou historii, kterou by mohli prezentovat, ale snažte se vytvořit přesvědčivý sponzorský balíček, který jasně popisuje výhody podpory vaší události – zviditelnění značky, příležitosti k vystoupení a smysluplné zapojení s cílovým publikem. Pokuste se najít svou jedinečnou hodnotu, kterou ostatní nemusí mít.
+
+#### Alternativní formy financování vaší události {#alternative-forms-of-funding-your-event}
+
+Granty jsou dalším potenciálním zdrojem financování, který mnoho organizátorů přehlíží. Programy jako [Ecosystem Support Program](https://esp.ethereum.foundation/) (ESP) nadace Ethereum a [další grantové iniciativy](https://ethereum.org/community/grants/#ethereum-grants) existují na podporu komunitně řízených událostí.
+
+Kromě finančních sponzorství zvažte i naturální partnerství, zejména pro jídlo a nápoje. Značky, které jsou v souladu s místní kulturou nebo technologickou komunitou, mohou být skvělými partnery pro vaši událost. Značky kávy, nápojové společnosti nebo dokonce místní pizzerie mohou být ochotny poskytnout produkty výměnou za zviditelnění na akci. Tato spolupráce může pomoci snížit náklady a zároveň zlepšit zážitek účastníků.
+
+Když už mluvíme o financích, pamatujte si toto: každý dolar, který investujete do vytvoření výjimečného zážitku pro účastníky, se exponenciálně vrátí. Vysoce kvalitní produkce, pohodlná místa, promyšlené dárky (swag) a dobře zorganizované doprovodné akce přispívají k nezapomenutelnému zážitku, o kterém budou účastníci mluvit ještě dlouho po skončení konference. Spokojení účastníci se stanou vašimi největšími zastánci a zajistí dlouhodobý úspěch vaší události.
+
+### Logistika {#logistics}
+
+Souběžně se zajištěním financování by vaším hlavním zaměřením měla být logistika. Dobře organizovaná konference vyžaduje pečlivé plánování v několika oblastech, od přípravy místa konání až po zážitek účastníků. Mít někoho s solidními zkušenostmi s organizací událostí – nejen web3 událostí, ale událostí obecně – může znamenat obrovský rozdíl. Zkušený vedoucí logistiky dokáže předvídat potenciální problémy a řešit je dříve, než se stanou problémy, čímž šetří čas, peníze a stres.
+
+Osoba odpovědná za logistiku by měla vybrat místo konání, produkční společnost a různé dodavatele jídla, nápojů a merchandise, stejně jako snadno použitelný online systém prodeje vstupenek, který účastníkům umožní registraci a platbu i v kryptoměnách.
+
+### Infrastruktura lokality {#location-infrastructure}
+
+Při výběru místa pro vaši konferenci je důležité myslet i za samotné místo konání a zvážit širší infrastrukturu města a země. Faktory jako počasí, mobilita, bezpečnost a politické prostředí hrají obrovskou roli při formování zážitku účastníků.
+
+Pro méně známá místa se to stává obzvláště zásadní. Účastníci a sponzoři z celého světa se musí cítit jistě, že mohou cestovat snadno a bezpečně. Prozkoumejte aspekty, jako je dostupnost letiště, veřejná doprava a možnosti ubytování. Je také moudré zvážit kulturní a politické klima regionu, aby se předešlo jakýmkoli komplikacím, které by mohly odradit mezinárodní účastníky, jako je například vízová politika.
+
+### Jak propagovat událost {#how-to-promote-the-event}
+
+Účinná propagace vaší události je klíčem k přilákání správného publika a budování nadšení. Dobře promyšlená propagační strategie zajistí, že vaše konference získá viditelnost a zapojení, které si zaslouží. Design hraje důležitou roli i ve vaší značce, takže byste na něj měli rozhodně vyhradit rozpočet.
+
+#### Sociální sítě {#social-media}
+
+X.com bude páteří vaší propagace na sociálních sítích. Snažte se být aktivní a důslední v přispívání, ale také se zapojujte do různých konverzací, a to jak s vaším osobním účtem, tak s účtem vaší organizace.
+
+Ačkoli se LinkedIn nezdá jako nejzjevnější volba pro propagaci, můžete tam oslovit zcela jiné publikum, nebo dokonce některé sponzory.
+
+#### Partnerství s dalšími komunitami Ethereum {#partnerships-with-other-ethereum-communities}
+
+Partnerství s různými organizátory Ethereum mohou pomoci zesílit váš dosah využitím stávajících sítí, zejména když začínáte od nuly. Nabídněte komunitní slevy, vzájemnou propagaci s jinými akcemi a pozvěte partnery, aby spolupořádali doprovodné akce nebo workshopy.
+
+#### Oslovení univerzit {#university-outreach}
+
+Oslovte technické a ekonomické fakulty ve městě prostřednictvím studentských klubů nebo profesorů, abyste propagovali událost. Zapojení univerzit může pomoci přilákat mladé talenty, výzkumníky a budoucí profesionály v oboru, což podporuje silnější spojení mezi akademickou sférou a ekosystémem Ethereum. To je obzvláště skvělé, pokud organizujete hackathon, protože studenti často přinášejí čerstvé nápady, nadšení a silný technický základ.
+
+#### Média {#media}
+
+Oslovte média a zpravodaje zaměřené na web3 pro pokrytí události. Přestože média Web3 očekávají platbu za své PR články, můžete jim nabídnout vstupenky zdarma nebo rozhovory s některými významnými řečníky a sponzory, pokud nemáte rozpočet na placenou propagaci. Vytvořte PR balíček s tiskovou zprávou a vizuály připravenými pro propagaci na sociálních sítích nebo webových stránkách v různých formátech. Rozšiřte také záběr na místní novináře nebo dokonce tvůrce obsahu (pokud mají slušnou pověst), kteří se mohou věnovat technologiím, protože to může být klíčové pro prezentaci události širšímu publiku. To pomáhá překlenout propast mezi kryptoměnovým průmyslem a širší veřejností a přitahuje zájem ze strany hlavních technologických a obchodních komunit.
+
+### Měli byste uspořádat i hackathon? {#should-you-organize-a-hackathon-as-well}
+
+Organizace hackathonu může být prospěšná, protože hackathony mohou být skvělým způsobem, jak zapojit komunitu vývojářů a podpořit inovace. Poskytuje také praktické příležitosti ke spolupráci a budování projektů, což může vést k hmatatelným výsledkům pro ekosystém. Hackathony přitahují vývojáře, kteří se obvykle neúčastní konferencí, ale mají zájem o výzvu budování a testování nových nápadů. Pokud je vaše konference zaměřena na vývojáře, inovace a praktické projekty, pořádání hackathonu je přirozenou volbou.
+
+Ale než nějaký uspořádáte, zvažte, zda máte dostatek zdrojů a času. **Hackathon vyžaduje značné zdroje, co se týče času, pracovní síly a finančních investic**. Zajistěte, aby se o něj staral specializovaný tým, zvláště pokud také řídíte konferenci. Zkontrolujte také, zda je ve vaší komunitě zájem. Pokud je vaše komunita více zaměřena na tvůrce, pak má pravděpodobně smysl ho uspořádat.
+
+Ačkoli jeho organizace přináší mnoho výhod, vezměte v úvahu, že v závislosti na rozsahu konference může být přidání hackathonu zdrcující. Měli byste zhodnotit, zda řízení obou nesníží kvalitu ani jednoho z nich. Můžete se rozhodnout pro menší, zaměřený hackathon nebo rozložit akce do různých měsíců.
+
+### (Téměř nevyhnutelné) Výzvy, kterým budete čelit {#almost-inevitable-challenges-that-you-will-face}
+
+Jednou z největších výzev při organizaci konference, zejména v prostoru Ethereum, je zajištění dostatečného financování. **Mnoho organizátorů akcí se potýká se získáním kapitálu potřebného na pokrytí nákladů na místo konání**, stravování a dalších logistických výdajů. Sponzorství je často zásadní, ale budování vztahů a přesvědčování společností, aby investovaly do vaší akce, může nějakou dobu trvat. Navíc obtížnost přilákání sponzorů se může zvýšit během poklesů na trhu, protože společnosti mohou být méně ochotné investovat do vedlejších aktivit.
+
+Efektivní správa rozpočtu je klíčová. **Nepředvídané výdaje**, jako jsou změny místa konání na poslední chvíli a dodatečné požadavky na technologii akce, mohou rychle překročit váš rozpočet.
+
+Pro nové akce **může být získání vysoce kvalitních řečníků obzvláště obtížné**. Zavedení myšlenkoví vůdci nebo influenceři v prostoru Ethereum mohou mít již plné diáře a mohou váhat se zavázat k nové akci bez prokázaných výsledků. Buďte připraveni strávit čas networkingem a oslovováním potenciálních řečníků dlouho před událostí.
+
+Také, pokud jde o řečníky, mějte s nimi jasnou a neustálou komunikaci – stanovte termín pro zaslání prezentací a vyhněte se jakýmkoli změnám na poslední chvíli.
+
+Úspěšná konference vyžaduje specializovaný tým, který zvládne logistiku, marketing, sponzorství, technickou podporu a správu účastníků. Najít jedince se zkušenostmi s organizací technologických akcí může být náročné, zvláště pokud pracujete s malým rozpočtem nebo, ve většině případů, bez rozpočtu, ale na dobrovolnické bázi.
+
+### Neměli byste na to být sami. Potřebujete dobrovolníky. {#you-shouldnt-do-it-alone-you-need-volunteers}
+
+Organizace události Ethereum vyžaduje rozmanitý a oddaný tým, který se postará o logistiku, registrace, koordinaci řečníků, podporu účastníků a mnoho dalšího. S velikostí týmu od pouhých 3 do 15 lidí je zřejmé, že dobrovolníci jsou pro hladký průběh akce nezbytní.
+
+Dobrovolníci jsou často páteří mnoha konferencí a poskytují kritickou podporu, zejména pokud pracujete s omezeným rozpočtem. Mohou se postarat o vše od obsluhy registračních pultů po pomoc s přípravou akce, čímž zajistí co nejhladší průběh akce.
+
+Ačkoli je náročné nabídnout dobrovolníkům peněžní odměnu, je nezbytné jim poskytnout něco hodnotného, co jejich zkušenost učiní smysluplnou. Zvažte, zda jim nenabídnete příležitosti k networkingu, rozvoji dovedností, nějaké exkluzivní výhody, certifikáty nebo doporučující dopisy.
+
+### Základy dodržování předpisů pro organizátory akcí {#compliance-essentials-for-event-organizers}
+
+Při organizaci akce je třeba mít na paměti několik základních právních a logistických aspektů:
+
+- **Smlouva o sponzorství** – Ujistěte se, že máte jasnou smlouvu pro sponzory, včetně dobře definovaných storno podmínek.
+- **Etický kodex** – Připravte etický kodex přizpůsobený konkrétnímu typu akce (konference/hackathon, hackerské domy atd.).
+- **Zásady ochrany osobních údajů** – Sestavte zásady ochrany osobních údajů pro vaše webové stránky, abyste dodrželi předpisy o ochraně údajů a obrazu
+- **Oznámení místním úřadům** – I když je vaše akce uzavřeným shromážděním, je vhodné ji nahlásit na místní policejní stanici.
+- **Smlouva o prodeji vstupenek** – Uzavřete formální smlouvu se svým poskytovatelem služeb prodeje vstupenek, abyste si ujasnili podmínky a odpovědnosti.
+- **Dodržování předpisů** – Předem si ověřte, zda země, kde konferenci pořádáte, nemá specifické předpisy nebo omezení pro kryptoměnový průmysl
+- **Celní odbavení pro zboží** – Pokud dovážíte zboží od sponzorů, doporučuje se najmout celního agenta, který se o proces efektivně postará.
+- **Zásady pro fotografování a média** – Jasně definujte pokyny pro fotografování a mediální pokrytí a zajistěte, aby účastníci byli informováni o souhlasu a možnostech odhlášení.
+
+## Po akci: Co dál? {#after-the-event-whats-next}
+
+Po skončení akce je klíčové shromáždit zpětnou vazbu od účastníků, řečníků a sponzorů a vytvořit interní zprávu, abyste byli lépe připraveni na budoucí akce. To pomáhá identifikovat, co se povedlo a kde lze provést zlepšení. Použijte průzkumy nebo individuální rozhovory k získání cenných poznatků, které budou vodítkem pro budoucí iterace. Věnujte čas přezkoumání jakýchkoli chyb nebo oblastí neefektivity, protože se jim lze vyhnout na příští konferenci, což proces zjednoduší.
+
+Klíčem je udržet dynamiku. Pokračujte v zapojování své komunity, sdílejte aktualizace o pokroku, kterého dosahujete na základě jejich zpětné vazby, a budujte nadšení pro další akci. Udržováním tohoto spojení zajistíte, že dopad konference přesáhne samotnou událost, posílíte vztahy a připravíte půdu pro budoucí úspěch.
+
+## Poděkování {#acknowledgement}
+
+Velké poděkování všem, kteří přispěli k tomuto článku sdílením svých postřehů: Slavo Fabisik z ETHBratislava; Lola z ETH Kipu a ETH Latam; Tanja Mladenovic z ETH Belgrade, Juan David z Ethereum Bogota; Monika Zając z ETHWarsaw; Raffaele Orefice z NapulETH; Xiao Wu(Ling) z ETH Riyadh; Marco z urbe.eth; Caolán Walsh z ETH Dublin; Alex Males z ETHCluj; a Stanko Devic z ETH Slovenia.
+
+## Zdroje {#resources}
+
+Podcast: Jak zorganizovat a propagovat ETH událost od A do Z:
+
+- [Případová studie ETHWarsaw od Out of Ordinary](https://www.youtube.com/watch?v=io2Dx1ouz8o)
+
+Twitter space:
+
+- [ETH Community AMA](https://x.com/NapulETH/status/1905732699094151623)
+
+Články:
+
+- [Budování ETHKL, od Danny H.](https://sekto.tech/ethkl24)
+- [POKT Events Playbook](https://docs.pokt.network/community/pokt-events-playbook)
diff --git a/public/content/translations/cs/community/get-involved/index.md b/public/content/translations/cs/community/get-involved/index.md
index 3e7ffc81632..a9fe9fbb4c8 100644
--- a/public/content/translations/cs/community/get-involved/index.md
+++ b/public/content/translations/cs/community/get-involved/index.md
@@ -4,130 +4,129 @@ description: Jak se zapojit do Ethereum komunity.
lang: cs
---
-# Jak se mohu zapojit? {#get-involved}
+# Jak se mohu zapojit? Zapojte se {#get-involved}
V Ethereum komunitě najdete osoby s různými zázemími a dovednostmi. Ať už jste vývojář, umělec, nebo účetní, existují způsoby, jak se zapojit. Zde je seznam nápadů, které vám mohou pomoci začít.
-Začněte tím, že si v našem [kodexu chování](/community/code-of-conduct) přečtete o misi a hodnotách ethereum.org.
+Začněte tím, že si v našem [kodexu chování](/community/code-of-conduct) přečtete o poslání a hodnotách ethereum.org.
-## Vývojáři {#developers}
+## Vývojáři {#developers}
- Učte se o Ethereu a experimentujte s ním na [ethereum.org/developers/](/developers/)
-- Zúčastněte se blízkého hackathonu [ETHGlobal](http://ethglobal.co/)!
-- Podívejte se na [projekty související s vaší odborností nebo oblíbeným programovacím jazykem](/developers/docs/programming-languages/)
-- Sledujte nebo se účastněte videohovorů [Consensus a Execution Layer](https://www.youtube.com/@EthereumProtocol/streams)
-- [Ecosystem Support Program's wishlist](https://esp.ethereum.foundation/wishlist/) – nástroje, dokumentace a infrastruktura, ve kterých tento program aktivně shání žádosti o granty
-- [Web3Bridge](https://www.web3bridge.com/) – připojte se k začínající komunitě web3, která se snaží identifikovat, školit a podporovat stovky vývojářů a členů komunity napříč Afrikou
-- Připojte se k [Discordu Eth R&D](https://discord.com/invite/VmG7Uxc)
+- Zúčastněte se hackathonu [ETHGlobal](http://ethglobal.co/) ve vašem okolí!
+- Podívejte se na [projekty související s vaší odborností nebo programovacím jazykem](/developers/docs/programming-languages/)
+- Sledujte nebo se účastněte [hovorů o konsensuální a exekuční vrstvě](https://www.youtube.com/@EthereumProtocol/streams)
+- [Seznam přání Programu na podporu ekosystému](https://esp.ethereum.foundation/wishlist/) – nástroje, dokumentace a oblasti infrastruktury, ve kterých Program na podporu ekosystému Ethereum aktivně hledá žádosti o granty
+- [Web3Bridge](https://www.web3bridgeafrica.com) – připojte se k začínající komunitě web3, která se snaží identifikovat, školit a podporovat stovky vývojářů a členů komunity napříč Afrikou
+- Připojte se k [Eth R&D Discordu](https://discord.com/invite/VmG7Uxc)
- Připojte se k [Discordu Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu)
-## Výzkumníci & akademici {#researchers-and-academics}
+## Výzkumníci a akademici {#researchers-and-academics}
Máte znalosti matematiky, kryptografie nebo ekonomie? Možná vás zaujme některá z pokročilých prací v ekosystému Ethereum:
-- Připojte se k [Discordu Eth R&D](https://discord.com/invite/VmG7Uxc)
+- Připojte se k [Eth R&D Discordu](https://discord.com/invite/VmG7Uxc)
- Napište nebo recenzujte návrh na vylepšení Etherea (EIP)
- Napište EIP
- 1. Popište svůj nápad na [Ethereum Magicians](https://ethereum-magicians.org)
+ 1. Předložte svůj nápad na [Ethereum Magicians](https://ethereum-magicians.org)
2. Přečtěte si [EIP-1](https://eips.ethereum.org/EIPS/eip-1) – **Ano, to je _celý_ dokument.**
3. Postupujte podle pokynů v EIP-1. Odkazujte na něj při psaní svého návrhu.
- - Naučte se, jak se stát [editorem EIP](https://eips.ethereum.org/EIPS/eip-5069)
- - Začít recenzovat EIP můžete hned! Podívejte se na [otevřené PRs s označením `e-review`](https://github.com/ethereum/EIPs/pulls?q=is%3Apr+is%3Aopen+label%3Ae-review). Poskytněte technickou zpětnou vazbu na `diskusní` odkaz.
- - Účastněte se [správy EIP](https://github.com/ethereum-cat-herders/EIPIP)
+ - Zjistěte, jak se stát [editorem EIP](https://eips.ethereum.org/EIPS/eip-5069)
+ - Začít recenzovat EIP můžete hned! Podívejte se na [otevřené PR s tagem `e-review`](https://github.com/ethereum/EIPs/pulls?q=is%3Apr+is%3Aopen+label%3Ae-review). Poskytněte technickou zpětnou vazbu na odkaz `discussion-to`.
+ - Zapojte se do [správy EIP](https://github.com/ethereum-cat-herders/EIPIP)
- Připojte se k [Discordu Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu)
- [Více o EIP](/eips/)
-- [Challenges.ethereum.org](https://challenges.ethereum.org/) – série výzkumných bounties s vysokou hodnotou, kde si můžete vydělat > 100 000 USD
+- [Challenges.ethereum.org](https://challenges.ethereum.org/) - série výzkumných odměn s vysokou hodnotou, kde si můžete vydělat >$100,000 USD
- [Ethresear.ch](https://ethresear.ch) – hlavní fórum pro výzkum Etherea a nejvlivnější fórum pro kryptoekonomii na světě
-- [EF Research AMA](https://old.reddit.com/r/ethereum/comments/vrx9xe/ama_we_are_ef_research_pt_8_07_july_2022) – otázky a odpovědi s výzkumníky Etherea. Jakmile se ohlásí další díl, kdokoliv jim může položit otázky.
-- [Ecosystem Support Program's wishlist](https://esp.ethereum.foundation/wishlist/) – výzkumné oblasti, ve kterých tento program aktivně hledá žádosti o granty
+- [EF Research AMA](https://old.reddit.com/r/ethereum/comments/vrx9xe/ama_we_are_ef_research_pt_8_07_july_2022) – Pravidelná série otázek a odpovědí s výzkumníky. Jakmile se ohlásí další díl, kdokoliv jim může položit otázky.
+- [Seznam přání Programu na podporu ekosystému](https://esp.ethereum.foundation/wishlist/) – oblasti výzkumu, ve kterých Program na podporu ekosystému Ethereum aktivně hledá žádosti o granty
- [AllWalletDevs](https://allwallet.dev) – fórum pro vývojáře, designéry a zájemce o Ethereum, kde se pravidelně setkávají a diskutují o peněženkách
[Prozkoumejte další aktivní oblasti výzkumu](/community/research/).
-## Netechnické dovednosti {#non-technical}
+## Netechnické dovednosti {#non-technical}
Pokud nejste vývojář, může být obtížné zjistit, jak začít pracovat s Ethereem. Zde je několik nápadů spolu se zdroji pro konkrétní odbornosti.
### Zorganizujte ve svém městě schůzku {#meetups}
-- Nevíte, jak začít? Může vám pomoci [síť BUIDL](https://consensys.net/developers/buidlnetwork/).
+- Nevíte, jak začít? [Síť BUIDL](https://consensys.net/developers/buidlnetwork/) vám může pomoci.
-### Pište o Ethereu {#write-content}
+### Pište obsah o Ethereu {#write-content}
- Ethereum potřebuje dobré autory, kteří zvládnou vysvětlit jeho přínos jednoduše
-- Nejste připraveni publikovat vlastní články? Zvažte možnost přispívat ke stávajícímu obsahu komunitních zdrojů nebo [navrhněte nový obsah pro ethereum.org](/contributing/)!
+- Nejste připraveni publikovat vlastní články? Zvažte, zda přispět ke stávajícímu obsahu komunitních zdrojů, nebo [navrhněte nový obsah pro ethereum.org](/contributing/)!
-### Nabídněte pomoc při psaní poznámek během komunitních hovorů {#take-notes}
+### Nabídněte se, že budete dělat poznámky z komunitních hovorů {#take-notes}
-- Existuje mnoho hovorů open-source komunit a mít osobu dedikovanou na zápis poznámek je velká pomoc. Pokud máte zájem, připojte se k [Discordu Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu)a představte se!
+- Existuje mnoho hovorů open-source komunit a mít osobu dedikovanou na zápis poznámek je velká pomoc. Pokud máte zájem, připojte se k [Discordu Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu) a představte se!
### Překládejte obsah o Ethereu do svého rodného jazyka {#translate-ethereum}
- ethereum.org má program věnovaný překladům, který překládá webové stránky a další zdroje do mnoha různých jazyků
-- [Tady](/contributing/translation-program)zjistíte, jak se můžete zapojit
+- Zjistěte, jak se zapojit [zde](/contributing/translation-program)
-### Spustit uzel {#run-a-node}
+### Spusťte si uzel {#run-a-node}
Připojte se k tisícům provozovatelů síťových uzlů, kteří pomáhají decentralizovat Ethereum.
-- [Další informace o spuštění uzlu](/developers/docs/nodes-and-clients/run-a-node/)
+- [Více o tom, jak spustit uzel](/developers/docs/nodes-and-clients/run-a-node/)
-### Stakujte Vaše ETH {#staking}
+### Stakujte své ETH {#staking}
Stakování ETH vám umožní vydělávat na odměnách při zajišťování bezpečnosti sítě Ethereum.
-- [Více o sázení](/staking/)
+- [Více o stakování](/staking/)
-### Podpora projektů {#support-projects}
+### Podporujte projekty {#support-projects}
Ekosystém Etherea má za cíl financovat veřejné statky a významné projekty. I velmi malými dary můžete vyjádřit svou podporu a umožnit realizaci důležitých projektů.
- [Gitcoin](https://gitcoin.co/fund)
- [clr.fund](https://clr.fund/#/about)
-## Finanční odborníci & účetní {#financial-professionals}
+## Finanční profesionálové a účetní {#financial-professionals}
- Ethereum je domovem ekosystému „decentralizovaných financí“ – sítě protokolů a aplikací, které nabízejí alternativní finanční systém. Pokud jste finanční profesionál/ka, podívejte se na některé DeFi aplikace na [DeFi Llama](https://defillama.com/) nebo [DeFiPrime](https://defiprime.com)
-- Účetní? Aktiva na Ethereu – ETH, tokeny, DeFi, atd. – přinášejí mnoho nových účetních výzev. Můžete začít tím, že se podíváte na některé projekty, které pomáhají uživatelům kryptoměn řešit jejich problémy s účetnictvím, jako je [Rotki](https://rotki.com/)
+- Účetní? Aktiva na Ethereu – ETH, tokeny, DeFi, atd. – přinášejí mnoho nových účetních výzev. Můžete začít tím, že se podíváte na některé projekty, které pomáhají uživatelům kryptoměn řešit jejich problémy s účetnictvím, jako je například [Rotki](https://rotki.com/)
-## Produktoví manažeři {#product-managers}
+## Produktoví manažeři {#product-managers}
-- Ekosystém Etherea potřebuje váš talent! Celá řada společností hledá produktové manažery. Pokud chcete začít přispívat do open source projektu, kontaktujte [Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu) nebo [RaidGuild](https://www.raidguild.org/)
+- Ekosystém Etherea potřebuje váš talent! Celá řada společností hledá produktové manažery. Pokud chcete začít přispívat do open source projektu, spojte se s [Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu) nebo [RaidGuild](https://www.raidguild.org/)
-## Marketing {#marketing}
+## Marketing {#marketing}
- V ekosystému Etherea existuje mnoho otevřených pozic v oblasti marketingu a komunikace!
-## Pracovní pozice v ekosystému Etherea {#ethereum-jobs}
+## Pracovní pozice v Ethereu {#ethereum-jobs}
**Hledáte práci v ekosystému Etherea?**
-- [ethereum.org jobs](/about/#open-jobs)
-- [Ethereum Foundation job board (Lever)](https://jobs.lever.co/ethereumfoundation)
-- [Ethereum Foundation job board (BambooHR)](https://ethereum.bamboohr.com/jobs/)
+- [Pracovní pozice na ethereum.org](/about/#open-jobs)
+- [Pracovní nabídky Nadace Ethereum](https://jobs.ashbyhq.com/ethereum-foundation)
- [JobStash](https://jobstash.xyz)
-- [Kryptoměna – pracovní pozice](https://cryptocurrencyjobs.co/ethereum/)
+- [Ethereum Job Board](https://www.ethereumjobboard.com/)
+- [Pracovní pozice v kryptoměnách](https://cryptocurrencyjobs.co/ethereum/)
- [Kariéra v ConsenSys](https://consensys.net/careers/)
-- [Seznam pracovních pozic – Crypto](https://cryptojobslist.com/ethereum-jobs)
-- [Bankless jobs board](https://pallet.xyz/list/bankless/jobs)
-- [Web3 – pracovní pozice](https://web3.career)
+- [Crypto Jobs List](https://cryptojobslist.com/ethereum-jobs)
+- [Pracovní nabídky Bankless](https://pallet.xyz/list/bankless/jobs)
+- [Web3 Jobs](https://web3.career)
- [Web3 Army](https://web3army.xyz/)
-- [Crypto Valley – pracovní pozice](https://cryptovalley.jobs/)
-- [Ethereum – pracovní pozice](https://startup.jobs/ethereum-jobs)
+- [Crypto Valley Jobs](https://cryptovalley.jobs/)
+- [Ethereum Jobs](https://startup.jobs/ethereum-jobs)
## Připojte se k DAO {#decentralized-autonomous-organizations-daos}
-„DAO“ jsou decentralizované autonomní organizace. Tyto skupiny využívají technologii Etherea k usnadnění organizace a spolupráce. Například ke kontrole členství, hlasování o návrzích nebo správě sdružených aktiv. I když jsou DAOs stále experimentální, nabízejí příležitosti, jak najít skupiny, se kterými se identifikujete, najít spolupracovníky a rozšířit svůj vliv na komunitu Etherea. [Další informace o DAO](/dao/)
+„DAO“ jsou decentralizované autonomní organizace. Tyto skupiny využívají technologii Etherea k usnadnění organizace a spolupráce. Například ke kontrole členství, hlasování o návrzích nebo správě sdružených aktiv. I když jsou DAOs stále experimentální, nabízejí příležitosti, jak najít skupiny, se kterými se identifikujete, najít spolupracovníky a rozšířit svůj vliv na komunitu Etherea. [Více o DAO](/dao/)
-- [DAOSquare](https://daosquare.io/) [@DAOSquare](https://twitter.com/DAOSquare) – _Propagujte koncept DAO v netechnických oblastech a pomáhejte lidem vytvářet hodnoty prostřednictvím DAO_
-- [Developer DAO](https://www.developerdao.com/) [@developer_dao](https://twitter.com/developer_dao) – _Komunita stavitelů, kteří věří v kolektivní vlastnictví internetu_
-- [dOrg](https://dOrg.tech) [@dOrg_tech](https://twitter.com/dOrg_tech) – _Vývojový Web3 kolektiv na volné noze pracující jako DAO_
-- [HausDAO](https://daohaus.club) [@nowdaoit](https://twitter.com/nowdaoit) – _Správa komunity DAOhaus_
-- [LexDAO](https://lexdao.org) [@lex_DAO](https://twitter.com/lex_DAO) – _Právní inženýrství_
-- [MetaCartel Ventures](https://metacartel.xyz) [@VENTURE_DAO](https://twitter.com/VENTURE_DAO) – _Podnik pro pre-seed krypto projekty_
-- [MetaGame](https://metagame.wtf) [@MetaFam](https://twitter.com/MetaFam) – _MMORPG herní mechanismy pro reálný život_
-- [MetaFactory](https://metafactory.ai) [@TheMetaFactory](https://twitter.com/TheMetaFactory) – _Digifyzické oděvní značky_
-- [MolochDAO](https://molochdao.com) [@MolochDAO](https://twitter.com/MolochDAO) – _Komunita zaměřená na financování vývoje Etherea_
-- [Raid Guild](https://raidguild.org) [@RaidGuild](https://twitter.com/RaidGuild) – _Kolektiv stavitelů Web3_
+- [DAOSquare](https://daosquare.io/) [@DAOSquare](https://twitter.com/DAOSquare) – _propagujte koncept DAO v netechnické oblasti a pomáhejte lidem vytvářet hodnotu prostřednictvím DAO_
+- [Developer DAO](https://www.developerdao.com/) [@developer_dao](https://twitter.com/developer_dao) – _komunita tvůrců, kteří věří v kolektivní vlastnictví internetu_
+- [dOrg](https://dOrg.tech) [@dOrg_tech](https://twitter.com/dOrg_tech) – _kolektiv nezávislých vývojářů Web3, kteří pracují jako DAO_
+- [HausDAO](https://daohaus.club) [@nowdaoit](https://twitter.com/nowdaoit) – _komunitní správa DAOhaus_
+- [LexDAO](https://lexdao.org) [@lex_DAO](https://twitter.com/lex_DAO) – _právní inženýrství_
+- [MetaCartel Ventures](https://metacartel.xyz) [@VENTURE_DAO](https://twitter.com/VENTURE_DAO) – _investice pro krypto projekty v rané fázi (pre-seed)_
+- [MetaFactory](https://metafactory.ai) [@TheMetaFactory](https://twitter.com/TheMetaFactory) – _značky digitálně-fyzického oblečení_
+- [MolochDAO](https://molochdao.com) [@MolochDAO](https://twitter.com/MolochDAO) – _komunita zaměřená na financování vývoje Etherea_
+- [Raid Guild](https://raidguild.org) [@RaidGuild](https://twitter.com/RaidGuild) – _kolektiv Web3 tvůrců_
-Mějte prosím na paměti, že při přispívání na ethereum.org je třeba se řídit [kodexem chování](/community/code-of-conduct)!
+Pamatujte, že při jakémkoli přispívání na ethereum.org je třeba dodržovat [kodex chování](/community/code-of-conduct) ethereum.org!
diff --git a/public/content/translations/cs/community/grants/index.md b/public/content/translations/cs/community/grants/index.md
index 43d6a2c130a..42013dfe450 100644
--- a/public/content/translations/cs/community/grants/index.md
+++ b/public/content/translations/cs/community/grants/index.md
@@ -1,47 +1,68 @@
---
-title: Ethereum Foundation & granty pro komunity
+title: Grantové programy nadace Ethereum a komunity
description: Seznam grantových programů v ekosystému Etherea.
lang: cs
---
-# Granty Etehrea {#ethereum-grants}
+# Granty Etherea {#ethereum-grants}
Níže uvedené programy nabízejí finanční granty pro projekty, které podporují úspěch a růst ekosystému Ethereum. Tento článek berte jako návod k nalezení správného grantu a k podání úspěšné žádosti o finanční prostředky, které vám pomohou k úspěchu vašeho dalšího projektu běžícího na Ethereuu.
Tento seznam je kurátorován naší komunitou. Pokud zde něco chybí nebo není uvedeno správně, navrhněte prosím úpravu této stránky!
-## Široký ekosystém Ethereum {#broad-ethereum-ecosystem}
+
+
+
Zakladatelé, potřebujete pomoct s rozvojem svého podnikání? [Přejděte do sekce Podpora pro zakladatele](/founders/)
+
+
+## Širší ekosystém Etherea {#broad-ethereum-ecosystem}
Tyto programy podporují ekosystém Ethereum tím, že nabízejí granty široké škále projektů. Patří mezi ně řešení pro škálovatelnost, budování komunit, zabezpečení, ochrana soukromí a další. Tyto granty nejsou specifické pro žádnou část Etherea a jsou dobrým místem, kde začít, pokud si nejste jisti, kam váš projekt spadá.
-- [EF Ecosystem Support Program](https://esp.ethereum.foundation) – _Financování open source projektů, které jsou přínosem pro Ethereum, se zaměřením na univerzální nástroje, infrastrukturu, výzkum a veřejné statky_
-- [Moloch DAO](https://www.molochdao.com/) – _Soukromí, škálování vrstvy 2, zabezpečení klientů a další_
-- [DAO Grants](https://docs.google.com/spreadsheets/d/1XHc-p_MHNRdjacc8uOEjtPoWL86olP4GyxAJOFO0zxY/edit#gid=0) – _Google sheet organizací nabízejících granty_
-- [Akademické granty](https://esp.ethereum.foundation/academic-grants) – _Granty na podporu akademických prací souvisejících s Ethereem_
-- [Grantfarma Blockworks](https://blockworks.co/grants/programs) – _Blockworks sestavil komplexní adresář všech grantů, RFP a bug odměn._
+- [Program podpory ekosystému EF](https://esp.ethereum.foundation) – _Financování open-source projektů, které jsou přínosem pro Ethereum, se zvláštním zaměřením na univerzální nástroje, infrastrukturu, výzkum a veřejné statky_
+- [Akademické granty](https://esp.ethereum.foundation/academic-grants) – _granty na podporu akademické práce související s Ethereem_
+
+## Agregátory a platformy se seznamy grantů {#grant-list-aggregators}
+
+Tyto zdroje shromažďují a organizují různé grantové příležitosti napříč ekosystémem Etherea a usnadňují tak vyhledávání možností financování, které odpovídají potřebám vašeho projektu. Rozdělili jsme je podle cílových skupin (person), abychom vám pomohli začít hledat nejvhodnější zdroje na základě vašich konkrétních potřeb financování.
+
+### Pro všechny žadatele o granty: Komplexní adresáře {#comprehensive-directories}
+
+Tyto obecné platformy nabízejí široké pokrytí grantů v celém prostoru Web3 a jsou užitečnými výchozími body pro každého, kdo hledá financování:
+
+- [Blockworks Grantfarm](https://blockworks.co/grants/programs) – _Blockworks sestavil obsáhlý adresář všech grantů, žádostí o návrhy (RFP) a odměn za nalezení chyb (bug bounties)._
+- [Blockchain Grants](https://www.blockchaingrants.org/) – _Adresář grantů v oblasti blockchainu a kryptoměn_
+- [Karma Funding Map](https://gap.karmahq.xyz/funding-map) – Adresář všech grantových programů pro web3, aktualizovaný na týdenní bázi
+
+### Pro vývojáře a tvůrce {#for-developers-and-builders}
+
+- [Grant Programs Viewer](https://airtable.com/shr86elKgWTSCP4AY) – _Veřejná databáze grantových programů v Airtable_
+- [Web3 Grants Spreadsheet](https://docs.google.com/spreadsheets/d/1c8koZCI-GLnD8MG-eFcXPOBCNu1v8-aXIfwAAvc7AMc/edit#gid=0) – _Tabulka Google s grantovými příležitostmi pro Web3_
+- [Arbitrum Grants](https://arbitrum.foundation/grants) – Arbitrum DAO a [The Arbitrum Foundation](https://arbitrum.foundation/)
+
+### Pro projekty DeFi a finanční aplikace {#for-defi-projects}
+
+- [LlamaoGrants](https://wiki.defillama.com/wiki/LlamaoGrants) – _Adresář grantových programů od DeFi Llama_
+- [AlphaGrowth Grants](https://alphagrowth.io/crypto-web3-grants-list) – _Komplexní seznam grantů pro kryptoměny a Web3_
+- [Granty nadace Uniswap](https://www.uniswapfoundation.org/build) – _granty pro Unichain a Uniswap v4 a podpora pro tvůrce DeFi_
-## Projektově specifické {#project-specific}
+### Pro přispěvatele do DAO a inovátory v oblasti správy {#for-dao-contributors}
-Tyto projekty vytvořily vlastní granty pro projekty zaměřené na vývoj a experimentování s jejich technologií.
+Zdroje pro komunitou řízené projekty a experimenty se správou:
-- [Aave Grants Program](https://aavegrants.org/) – _[Aave](https://aave.com/) grants DAO_
-- [Balancer](https://grants.balancer.community/) – _Ekosystémový fond od [Balanceru](https://balancer.fi/)_
-- [Chainlink Grants Program](https://chain.link/community/grants) – _Komunitní granty od [Chainlinku](https://chain.link/)_
-- [Decentraland Grants Program](https://governance.decentraland.org/grants/) – _[Decentraland](https://decentraland.org/) DAO Metaverse_
-- [Lido Ecosystem Grants Organization (LEGO)](https://lido.fi/lego) – _Finanční ekosystém [Lido](https://lido.fi/)_
-- [MetaMask Program](https://metamaskgrants.org/) – _Granty od zaměstnanci [MetaMasku](https://metamask.io/) vedeného DAO_
-- [Program grantů sítě SKALE](https://skale.space/developers#grants) – _Ekosystém [SKALE Network](https://skale.space/)_
-- [Swarm Foundation Grants Program](https://my.ethswarm.org/grants) – _Ekosystém [Swarm Foundation](https://www.ethswarm.org/)_
-- [The Graph](https://thegraph.com/ecosystem/grants/) – _[Ekosystém](https://thegraph.com/) The Graph_
-- [Uniswap Grants Program](https://www.uniswapfoundation.org/approach) – _[Uniswap](https://uniswap.org/) komunita_
+- [DAO Grants](https://docs.google.com/spreadsheets/d/1XHc-p_MHNRdjacc8uOEjtPoWL86olP4GyxAJOFO0zxY/edit#gid=0) – _Tabulka Google s organizacemi nabízejícími granty_
+- [MetaGov Database](https://docs.google.com/spreadsheets/d/1e5g-dlWWsK2DZoZGBgfxyfGNSddLk-V7sLEgfPjEhbA/edit#gid=780420708) – _Komplexní mapa grantů pro Web3_
-## Kvadratické financování {#quadratic-funding}
+### Veřejné statky a dopad {#public-goods-and-impact}
-Open sourcové kořeny Etherea vedly k růstu zajímavého nového fundraisingového modelu: kvadratického financování. To má potenciál zlepšit způsob, jakým budeme v budoucnu financovat všechny druhy veřejných statků. Kvadratické financování zajišťuje, že nejvíce finančních prostředků obdrží projekty s největší poptávkou. Jinými slovy, projekty, které zlepšují životy většiny lidí. [Další informace o kvadratickém financování.](/defi/#quadratic-funding)
+Tyto programy se zaměřují na financování projektů, které jsou přínosem pro širší komunitu, veřejné statky a iniciativy s dopadem. Patří sem poskytovatelé grantů i dárcovské platformy využívající on-chain mechanismy alokace financí, včetně [kvadratického financování](/defi/#quadratic-funding):
-- [Gitcoin](https://gitcoin.co/grants)
-- [clr.fund](https://clr.fund/)
+- [Gitcoin](https://www.gitcoin.co/program) – _Gitcoin Grants využívá několik mechanismů alokace kapitálu k financování open-source projektů a veřejných statků v ekosystému Etherea_
+- [Octant](https://octant.app/home) – _Ekosystém pro financování veřejných statků, který vyvažuje obecné dobro a individuální finanční posílení_
+- [Giveth](https://giveth.io/) – _kryptoměnová dárcovská platforma, která umožňuje přímé dary pro prospěšné projekty s nulovými poplatky_
+- [Artizen](https://artizen.fund/) – _Pomáhá tvůrcům spolufinancovat nové projekty na pomezí umění, vědy, technologie a kultury_
+- [Quadratic Accelerator](https://qacc.giveth.io/) – _Start-upový akcelerační program, který využívá kvadratické financování na podporu projektů, které jsou přínosem pro veřejné blaho_
-## Práce v ekosystému Etherea {#work-in-ethereum}
+## Práce v Ethereu {#work-in-ethereum}
-Nejste připraveni rozjet svůj vlastní projekt? Existují stovky společností, které aktivně hledají zapálené jednotlivce, kteří by pro ně pracovali a tím přispívali do ekosystému Ethereum. Zajímají vás další informace? [Podívejte se na pracovní místa související s rozvojem Etherea](/community/get-involved/#ethereum-jobs)
+Nejste připraveni rozjet svůj vlastní projekt? Existují stovky společností, které aktivně hledají zapálené jednotlivce, kteří by pro ně pracovali a tím přispívali do ekosystému Ethereum. Zajímají vás další informace? [Podívejte se na pracovní pozice související s Ethereem](/community/get-involved/#ethereum-jobs)
diff --git a/public/content/translations/cs/community/language-resources/index.md b/public/content/translations/cs/community/language-resources/index.md
index 870fdaed0a5..3021866dbc7 100644
--- a/public/content/translations/cs/community/language-resources/index.md
+++ b/public/content/translations/cs/community/language-resources/index.md
@@ -12,15 +12,15 @@ Naším cílem je poskytovat vzdělávací obsah ve všech jazycích a pomoci p
Pokud dáváte přednost čtení ve svém rodném jazyce nebo znáte někoho, kdo nemluví anglicky, níže najdete seznam užitečných neanglických zdrojů. Stovky tisíc nadšenců Etherea se shromažďují na těchto online fórech, aby sdíleli novinky, probírali nejnovější vývoj, debatovali o technických otázkách a představovali si budoucnost.
-Víte o vzdělávacím zdroji ve svém jazyce? [Otevřete problém](https://github.com/ethereum/ethereum-org-website/issues/new/choose) a přidejte ho do seznamu!
+Víte o vzdělávacím zdroji ve svém jazyce? [Vytvořte issue](https://github.com/ethereum/ethereum-org-website/issues/new/choose) a přidejte ho na seznam!
-## Zdroje na Ethereum.org {#ethereum-org}
+## Zdroje na ethereum.org {#ethereum-org}
Ethereum.org je přeloženo do více než 40 jazyků, které najdete pomocí našeho jazykového výběru v menu, které se nachází v záhlaví každé stránky.
-
+
-Pokud jste bilingvní a chcete nám pomoci oslovit více lidí, můžete se zapojit do [překladového programu ethereum.org](/contributing/translation-program/#translation-program) a pomoci nám s překladem webových stránek.
+Pokud jste bilingvní a chcete nám pomoci oslovit více lidí, můžete se zapojit do [překladatelského programu ethereum.org](/contributing/translation-program/#translation-program) a pomoci nám s překladem webových stránek.
## Komunitní zdroje {#community}
@@ -29,125 +29,125 @@ Pokud jste bilingvní a chcete nám pomoci oslovit více lidí, můžete se zapo
**Zprávy**
- [BeInCrypto](http://www.beincrypto.com.br) – zprávy a články o kryptoměnách, včetně seznamu burz dostupných v Brazílii
-- [Cointelegraph](http://cointelegraph.com.br/category/analysis) – brazilská verze Cointelegraph, hlavního zpravodajského serveru o kryptoměnách
-- [Livecoins](http://www.livecoins.com.br/ethereum) – zprávy o kryptoměnách a nástroje
-- [Seudinheiro](http://www.seudinheiro.com/criptomoedas/) – zprávy a reporty o kryptoměnách
+- [Cointelegraph](http://cointelegraph.com.br/category/analysis) – brazilská verze Cointelegraphu, hlavního zpravodajského serveru o kryptoměnách
+- [Livecoins](http://www.livecoins.com.br/ethereum) – zprávy a nástroje o kryptoměnách
+- [Seudinheiro](http://www.seudinheiro.com/criptomoedas/) – zprávy a reportáže o kryptoměnách
- [Modular Crypto](https://modularcrypto.xyz/) – zprávy a vzdělávací články o kryptoměnách
**Vzdělávání**
-- [web3dev](https://www.web3dev.com.br/) – hub obsahu a discordová komunita pro web3 vývojáře.
-- [Web3Brasil](https://github.com/web3brasil/web3brasil) – zdroje týkající se Web3 a DeFi
-- [CriptoFacil](http://www.criptofacil.com/ultimas-noticias/) – zprávy a vzdělávání v oblasti kryptoměn, včetně „Ethereum pro začátečníky“ a „DeFi“ pro začátečníky
+- [web3dev](https://www.web3dev.com.br/) – centrum obsahu a komunita na Discordu pro web3 vývojáře.
+- [Web3Brasil](https://github.com/web3brasil/web3brasil) – zdroje pro výuku Web3 a DeFi
+- [CriptoFacil](http://www.criptofacil.com/ultimas-noticias/) – zprávy a vzdělávání o kryptoměnách, včetně „Ethereum pro začátečníky“ a „DeFi pro začátečníky“
- [CriptoAtivos](http://www.criptoativos.wiki.br/) – postřehy ze světa kryptoměn, vzdělávání a blog
- [Cointimes](http://www.cointimes.com.br/) – zprávy a vzdělávání o kryptoměnách
-- [Web3 starter pack](https://docs.google.com/document/d/1X8PSTFH7FTw9J-gbKWM6Y430SWCBT8d4t4pJgFQHJ8E/) – průvodce odpovídající na nejčastější a základní otázky týkající se kryptoměn
+- [Web3 starter pack](https://docs.google.com/document/d/1X8PSTFH7FTw9J-gbKWM6Y430SWCBT8d4t4pJgFQHJ8E/) – průvodce, který odpovídá na nejčastější a nejzásadnější otázky ohledně kryptoměn
### Čínština {#zh}
**Obecné zdroje**
-- [Ethereum.cn](https://www.ethereum.cn/) – komunitou udržovaný obsah, zahrnující upgrade konsenzuální vrstvy, poznámky ze schůzek klíčových vývojářů, vrstvy 2 atd.
+- [Ethereum.cn](https://www.ethereum.cn/) – komunitou udržovaný obsah, který se zabývá upgradem konsenzuální vrstvy, poznámkami ze schůzek hlavních vývojářů, vrstvou 2 atd.
- [EthFans](https://github.com/editor-Ajian/EthFans.org-annual-collected-works/) – naučte se vše od základů po pokročilá témata Etherea
-- [Unitimes](https://mp.weixin.qq.com/s/tvloZSDBSOQN9zDQj_91kA) – komunitou udržovaný obsah, zahrnující znalosti o Ethereu, DeFi, NFT, Web3
+- [Unitimes](https://mp.weixin.qq.com/s/tvloZSDBSOQN9zDQj_91kA) – komunitou udržovaný obsah týkající se Etherea, DeFi, NFT a znalostí souvisejících s Web3
- [123ETH](https://123eth.org/) – portál do ekosystému Etherea
- [Zhen Xiao](http://zhenxiao.com/blockchain/) – bezplatné online kurzy o kryptoměnách a jejich aplikacích
-- [Ethereum Whitepaper](https://github.com/ethereum/wiki/wiki/[%E4%B8%AD%E6%96%87]-%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%99%BD%E7%9A%AE%E4%B9%A6) – čínská verze whitepaperu Etherea
+- [Ethereum Whitepaper](/zh/whitepaper/) – čínská verze whitepaperu Etherea
**Ekosystém Etherea**
-- [ETHPlanet](https://www.ethplanet.org/) – online a osobní hackathony nabízející školení pro studenty vysokých škol
-- [PrimitivesLane](https://www.primitiveslane.org/) – nezisková výzkumná skupina zaměřená na blockchainové technologie
-- [Ethereum Translation Community CN](https://www.notion.so/Ethereum-Translation-Community-CN-05375fe0a94c4214acaf90f42ba40171) – komunita zaměřená na překlad vzdělávacího obsahu o Ethereu
+- [ETHPlanet](https://www.ethplanet.org/) – online a osobní hackathony nabízející školení pro vysokoškolské studenty
+- [PrimitivesLane](https://www.primitiveslane.org/) – nezisková výzkumná skupina zaměřená na technologii blockchainu
+- [Ethereum Translation Community CN](https://www.notion.so/Ethereum-Translation-Community-CN-05375fe0a94c4214acaf90f42ba40171) – komunita věnující se překladům vzdělávacího obsahu o Ethereu
**Pro vývojáře**
-- [DappLearning](https://github.com/Dapp-Learning-DAO/Dapp-Learning) – studijní skupina zaměřená na studium hlavních dappek a každotýdenní sdílení názorů a komentářů
-- [LearnBlockchain](https://learnblockchain.cn/) – komunita pro vývojáře, sdílení informací o blockchainových technologiích
+- [DappLearning](https://github.com/Dapp-Learning-DAO/Dapp-Learning) – studijní skupina pro studium hlavních projektů dapp a každotýdenní sdílení myšlenek a komentářů
+- [LearnBlockchain](https://learnblockchain.cn/) – komunita pro vývojáře sdílející informace o technologii blockchainu
**Pro kryptografické výzkumníky**
-- [SecbitLabs](https://mp.weixin.qq.com/s/69_tqBJpr_sbaKtR1sBRMw) – WeChat účet vysvětlující kryptografii, bezpečnost atd.
-- [Sparkbyte](https://mp.weixin.qq.com/s/9KgKTc_jtJ7bWKdbNPoqvQ) – WeChat účet vysvětlující zk technologii
+- [SecbitLabs](https://mp.weixin.qq.com/s/69_tqBJpr_sbaKtR1sBRMw) – účet na WeChatu vysvětlující kryptografii, bezpečnost atd.
+- [Sparkbyte](https://mp.weixin.qq.com/s/9KgKTc_jtJ7bWKdbNPoqvQ) – účet na WeChatu vysvětlující technologii zk
### Čeština {#cs}
-- [Gwei.cz](https://gwei.cz) – místní komunita kolem Web3, vytváří vzdělávací obsah, organizuje online a osobní akce
-- [Příručka Gwei.cz](https://prirucka.gwei.cz/) – průvodce Ethereem pro začátečníky
-- [Příručka DAO](https://dao.gwei.cz/) – průvodce DAO pro začátečníky
+- [Gwei.cz](https://gwei.cz) – místní komunita kolem Web3, vytváří vzdělávací obsah, organizuje online i osobní události
+- [Gwei.cz Příručka](https://prirucka.gwei.cz/) – průvodce Ethereem pro začátečníky
+- [DAO Příručka](https://dao.gwei.cz/) – průvodce DAO pro začátečníky
- [Mastering Ethereum](https://ipfs.io/ipfs/bafybeidvuxhnsgfx3tncpfxheqglkjwmdxclknlgd7s7qggd2a6bzgb27m) – kniha Mastering Ethereum v češtině
### Francouzština {#fr}
-- [Ethereum France](https://www.ethereum-france.com/) – Ethereum France organizuje akce, vytváří obsah a podporuje diskuse o Ethereu
-- [Ethereum.fr](https://ethereum.fr/) – novinky a vzdělávání
-- [BanklessFR](https://banklessfr.substack.com/) – Bankless newsletter ve francouzštině
-- [CryptoFR](https://cryptofr.com/category/44/ethereum-general) – kryptoměnové fórum s podstránkou pro Ethereum
+- [Ethereum France](https://www.ethereum-france.com/) – Ethereum France organizuje události, vytváří obsah a podporuje diskuze o Ethereu
+- [Ethereum.fr](https://ethereum.fr/) – novinky a vzdělávání o Ethereu
+- [BanklessFR](https://banklessfr.substack.com/) – newsletter Bankless ve francouzštině
+- [CryptoFR](https://cryptofr.com/category/44/ethereum-general) – fórum o kryptoměnách s podstránkou o Ethereu
### Němčina {#de}
-- [Microsoft Learn (Solidity)](https://docs.microsoft.com/de-de/learn/modules/blockchain-learning-solidity/) – použití Solidity
-- [Microsoft Learn (chytré kontrakty)](https://docs.microsoft.com/de-de/learn/modules/blockchain-solidity-ethereum-smart-contracts/) – psaní chytrých kontraktů na Ethereu se Solidity
-- [Microsoft Learn (Ethereovské sítě)](https://docs.microsoft.com/de-de/learn/modules/blockchain-ethereum-networks/) – připojení a nasazení sítí Etherea
-- [Microsoft Learn (blockchainy)](https://docs.microsoft.com/de-de/learn/paths/ethereum-blockchain-development/) – úvod do blockchainového vývoje
+- [Microsoft Learn (Solidity)](https://docs.microsoft.com/de-de/learn/modules/blockchain-learning-solidity/) – používání Solidity
+- [Microsoft Learn (smart contracts)](https://docs.microsoft.com/de-de/learn/modules/blockchain-solidity-ethereum-smart-contracts/) – psaní chytrých kontraktů pro Ethereum pomocí Solidity
+- [Microsoft Learn (Ethereum networks)](https://docs.microsoft.com/de-de/learn/modules/blockchain-ethereum-networks/) – připojení a nasazení sítí Etherea
+- [Microsoft Learn (blockchains)](https://docs.microsoft.com/de-de/learn/paths/ethereum-blockchain-development/) – úvod do vývoje na blockchainu
### Hebrejština {#he}
-- [Udi Wertheimer – co se mohou bitcoinoví nadšenci naučit od Etherea](https://www.cryptojungle.co.il/udi-wertheimer-what-bitcoiners-can-learn-from-ethereum/)
-- [Omer Greismen (OpenZeppelin) – jak jsme zabránili hacku chytrého kontraktu za 15 miliard dolarů](https://www.cryptojungle.co.il/omer-greisman-openzeppelin/)
-- [Shy Datika (INX) – tokenizace a budoucnost cenných papírů, včetně toho, zda je Ethereum cenný papír](https://www.cryptojungle.co.il/shy-datika-tokenization/)
-- [Roy Confino (Lemonade) – pojištění na Ethereu](https://www.cryptojungle.co.il/roy-confino-insurance/)
-- [Idan Ofrat (Fireblocks) – institucionální adopce](https://www.cryptojungle.co.il/idan-ofrat-fireblocks/)
-- [Gal Weizman (MetaMask) – co je MetaMask](https://www.cryptojungle.co.il/gal-weizman-metamask/)
-- [Dror Aviely (Consensys) – centrum Etherea](https://www.cryptojungle.co.il/dror-aviely-ethereum-center/)
-- [Nir Rozin – být kryptopunk](https://www.cryptojungle.co.il/nir-rozin-cryptopunk/)
-- [Adan Kedem – gaming & metaverse](https://www.cryptojungle.co.il/adan-kedem-web3-gaming/)
-- [Uri Kolodny (Starkware) – Ethereum a vrstvy blockchainu](https://www.cryptojungle.co.il/uri-kolodny-starkware/)
-- [Udi Wertheimer – Ethereum 2.0 vs konkurence](https://www.cryptojungle.co.il/udi-on-eth2/)
-- [Ben Samocha (myself) – Ethereum 2.0 – příležitost?](https://www.cryptojungle.co.il/etherurm2-week-summary/)
-- [Alon Muroch (Bloxstaking) – co je Ethereum 2.0?](https://www.cryptojungle.co.il/alon-moroch-eth2/)
-- [Eilon Aviv (Collider Ventures) – co se může pokazit s Ethereum 2.0](https://www.cryptojungle.co.il/eilon-aviv-eth2-0/)
-- [Eilon Aviv (Collider Ventures) – proč potřebujeme Ethereum 2.0](https://www.cryptojungle.co.il/eilon-aviv-ethereum-2-0/)
+- [Udi Wertheimer – Co se mohou bitcoineři naučit od Etherea](https://www.cryptojungle.co.il/udi-wertheimer-what-bitcoiners-can-learn-from-ethereum/)
+- [Omer Greismen (OpenZeppelin) – Jak jsme zabránili hacku chytrého kontraktu v hodnotě 15 miliard dolarů](https://www.cryptojungle.co.il/omer-greisman-openzeppelin/)
+- [Shy Datika (INX) – Tokenizace a budoucnost cenných papírů, včetně otázky, zda je Ethereum cenný papír](https://www.cryptojungle.co.il/shy-datika-tokenization/)
+- [Roy Confino (Lemonade) – Pojištění @ Ethereum](https://www.cryptojungle.co.il/roy-confino-insurance/)
+- [Idan Ofrat (Fireblocks) – Institucionální přijetí](https://www.cryptojungle.co.il/idan-ofrat-fireblocks/)
+- [Gal Weizman (MetaMask) – Co je MetaMask](https://www.cryptojungle.co.il/gal-weizman-metamask/)
+- [Dror Aviely (Consensys) – Centrum Etherea](https://www.cryptojungle.co.il/dror-aviely-ethereum-center/)
+- [Nir Rozin – Být cryptopunkem](https://www.cryptojungle.co.il/nir-rozin-cryptopunk/)
+- [Adan Kedem – Hraní a Metaverse](https://www.cryptojungle.co.il/adan-kedem-web3-gaming/)
+- [Uri Kolodny (Starkware) – Vrstvy Etherea a blockchainu](https://www.cryptojungle.co.il/uri-kolodny-starkware/)
+- [Udi Wertheimer – Ethereum 2.0 vs. konkurence](https://www.cryptojungle.co.il/udi-on-eth2/)
+- [Ben Samocha (já) – Ethereum 2.0 – příležitost?](https://www.cryptojungle.co.il/etherurm2-week-summary/)
+- [Alon Muroch (Bloxstaking) – Co je Ethereum 2.0?](https://www.cryptojungle.co.il/alon-moroch-eth2/)
+- [Eilon Aviv (Collider Ventures) – Co se může pokazit s Ethereem 2.0](https://www.cryptojungle.co.il/eilon-aviv-eth2-0/)
+- [Eilon Aviv (Collider Ventures) – Proč potřebujeme Ethereum 2.0](https://www.cryptojungle.co.il/eilon-aviv-ethereum-2-0/)
### Italština {#it}
-- [Ethereum Italia](https://www.ethereum-italia.it/) – vzdělávání, akce a novinky o Ethereu, zaměřené na chytré kontrakty a technologii blockchainu
+- [Ethereum Italia](https://www.ethereum-italia.it/) – vzdělávání, události a novinky o Ethereu se zaměřením na chytré kontrakty a technologii blockchainu
- [Ethereum Italia Podcast](https://www.ethereum-italia.it/podcast/) – podcast o Ethereu v italštině
-- [Microsoft Learn (Solidity)](https://docs.microsoft.com/it-it/learn/modules/blockchain-learning-solidity/) – naučte se, jak používat Solidity
-- [Microsoft Learn (chytré kontrakty)](https://docs.microsoft.com/it-it/learn/modules/blockchain-solidity-ethereum-smart-contracts/) – naučte se psát chytré kontrakty pomocí Solidity
+- [Microsoft Learn (Solidity)](https://docs.microsoft.com/it-it/learn/modules/blockchain-learning-solidity/) – naučte se používat Solidity
+- [Microsoft Learn (Smart contracts)](https://docs.microsoft.com/it-it/learn/modules/blockchain-solidity-ethereum-smart-contracts/) – naučte se psát chytré kontrakty pomocí Solidity
- [Microsoft Learn (dapps)](https://docs.microsoft.com/it-it/learn/modules/blockchain-create-ui-decentralized-apps/) – vytvoření uživatelského rozhraní s decentralizovanými aplikacemi
### Japonština {#ja}
- [Japan Virtual and Crypto assets Exchange Association](https://jvcea.or.jp/)
- [Japan Cryptoasset Business Association](https://cryptocurrency-association.org/)
-- [Začněte s vývojem blockchainu – Learn | Microsoft Docs](https://docs.microsoft.com/ja-jp/learn/paths/ethereum-blockchain-development/) – tato výuková cesta vás uvede do světa blockchainu a vývoje na platformě Ethereum
+- [Get started with blockchain development - Learn | Microsoft Docs](https://docs.microsoft.com/ja-jp/learn/paths/ethereum-blockchain-development/) – Tento výukový kurz vás seznámí s blockchainem a vývojem na platformě Ethereum
- [Mastering Ethereum](https://www.oreilly.co.jp/books/9784873118963/) – kniha Mastering Ethereum v japonštině
-- [Hands-On Smart Contract Development with Solidity and Ethereum](https://www.oreilly.co.jp/books/9784873119342/) – praktický vývoj chytrých kontraktů pomocí Solidity a Etherea v japonštině
+- [Hands-On Smart Contract Development with Solidity and Ethereum](https://www.oreilly.co.jp/books/9784873119342/) – kniha Hands-On Smart Contract Development with Solidity and Ethereum v japonštině
### Ruština {#ru}
- [Cyber Academy](https://cyberacademy.dev) – vzdělávací prostor pro tvůrce web3
-- [Forklog](https://forklog.com) – zprávy a vzdělávací články o kryptoměnách obecně, stávajících technologiích a budoucích vylepšeních různých blockchainů
-- [BeInCrypto](https://ru.beincrypto.com) – zprávy, analýza cen kryptoměn a netechnické články s jednoduchým vysvětlením všeho v kryptoměnách
+- [Forklog](https://forklog.com) – zprávy a vzdělávací články o kryptoměnách obecně, stávajících technologiích a budoucích upgradech různých blockchainů
+- [BeInCrypto](https://ru.beincrypto.com) – zprávy, analýza cen kryptoměn a netechnické články s jednoduchým vysvětlením všeho ze světa kryptoměn
### Španělština {#es}
-- [Ethereum Madrid](https://ethereummadrid.com/) – kurzy, akce a blogy o blockchainu, DeFi a řízení
+- [Ethereum Madrid](https://ethereummadrid.com/) – kurzy, události a blog o blockchainu, DeFi a správě
- [Cointelegraph](https://es.cointelegraph.com/ethereum-for-beginners) – průvodce Ethereem pro začátečníky ve španělštině
-- [Online tutoriály](https://tutoriales.online/curso/solidity) – naučte se Solidity a programování na Ethereu
-- [Kurz Úvod do vývoje na Ethereu](https://youtube.com/playlist?list=PLTqiwJDd_R8y9pfUBjhkVa1IDMwyQz-fU) – základy Solidity, testování a nasazení vašeho prvního chytrého kontraktu
-- [Kurz Úvod do bezpečnosti a hackování na Ethereu](https://youtube.com/playlist?list=PLTqiwJDd_R8yHOvteko_DmUxUTMHnlfci) – pochopení běžných zranitelností a bezpečnostních problémů v reálných chytrých kontraktech
-- [Kurz Úvod do vývoje DeFi](https://youtube.com/playlist?list=PLTqiwJDd_R8zZiP9_jNdaPqA3HqoW2lrS) – naučte se, jak fungují chytré kontrakty DeFi v Solidity a vytvořte si vlastního automatizovaného tvůrce trhu
+- [Tutoriales online](https://tutoriales.online/curso/solidity) – naučte se Solidity a programování na Ethereu
+- [Curso Introducción a Ethereum Development](https://youtube.com/playlist?list=PLTqiwJDd_R8y9pfUBjhkVa1IDMwyQz-fU) – základy Solidity, testování a nasazení vašeho prvního chytrého kontraktu
+- [Curso Introducción a Seguridad y Hacking en Ethereum](https://youtube.com/playlist?list=PLTqiwJDd_R8yHOvteko_DmUxUTMHnlfci) – pochopení běžných zranitelností a bezpečnostních problémů ve skutečných chytrých kontraktech
+- [Curso Introducción a DeFi Development](https://youtube.com/playlist?list=PLTqiwJDd_R8zZiP9_jNdaPqA3HqoW2lrS) – naučte se, jak fungují chytré kontrakty DeFi v Solidity, a vytvořte si vlastního automatizovaného tvůrce trhu
- [Cryptoversidad](https://www.youtube.com/c/Cryptoversidad) – netechnické vzdělávání o blockchainu od začátečníků po pokročilé. Naučte se vše o kryptoměnách a Ethereu.
### Turečtina {#tr}
- [BTK Akademi](https://www.btkakademi.gov.tr/portal/course/blokzincir-ve-kripto-paralar-10569#!/about) – kurz zaměřený na blockchain a kryptoměny
-- [Velké přejmenování: co se stalo s Eth2?](https://miningturkiye.org/konu/ethereum-madenciligi-bitiyor-mu-onemli-gelisme.655/) – turecký překlad blogového příspěvku o upuštění od terminologie „Eth2“
+- [The great renaming: what happened to Eth2?](https://miningturkiye.org/konu/ethereum-madenciligi-bitiyor-mu-onemli-gelisme.655/) – turecký překlad blogového příspěvku „Velké přejmenování“ vysvětlující odklon od terminologie „Eth2“
### Vietnamština {#vi}
-- [Tino Group](https://wiki.tino.org/ethereum-la-gi/) – přehled Etherea, dapps, peněženek a častých dotazů
-- [Tap Chi Bitcoin](https://tapchibitcoin.io/tap-chi/tin-tuc-ethereum-eth) – webová platforma s podstránkami s novinkami a vzdělávání o Ethereu
-- [Coin68](https://coin68.com/ethereum-tieu-diem/) – kryptoměnový portál s novinkami a vzdělávacím obsahem o Ethereu
+- [Tino Group](https://wiki.tino.org/ethereum-la-gi/) – přehled Etherea, dapps, peněženek a často kladených dotazů
+- [Tap Chi Bitcoin](https://tapchibitcoin.io/tap-chi/tin-tuc-ethereum-eth) – webová platforma s podstránkami pro novinky a vzdělávání o Ethereu
+- [Coin68](https://coin68.com/ethereum-tieu-diem/) – portál o kryptoměnách s novinkami a vzdělávacím obsahem o Ethereu
diff --git a/public/content/translations/cs/community/online/index.md b/public/content/translations/cs/community/online/index.md
index 497f12a35bc..03f13651be6 100644
--- a/public/content/translations/cs/community/online/index.md
+++ b/public/content/translations/cs/community/online/index.md
@@ -1,6 +1,6 @@
---
title: Online komunity
-description: Seznam grantových programů v ekosystému Etherea.
+description: Objevte online fóra, chatovací místnosti a komunity na sociálních sítích, kde se scházejí nadšenci Etherea, aby diskutovali a spolupracovali.
lang: cs
---
@@ -8,62 +8,41 @@ lang: cs
Stovky tisíc nadšenců Etherea se shromažďují na těchto online fórech, aby sdíleli novinky, probírali nejnovější vývoj, debatovali o technických otázkách a představovali si budoucnost.
-## Zásady uvedení {#listing-policy}
+## Zásady pro zařazení na seznam {#listing-policy}
V zájmu zachování integrity a hodnoty uvedených komunit se ethereum.org řídí přísnými pravidly pro určování způsobilosti:
### Kritéria způsobilosti {#eligibility-criteria}
-- **Relevance**: Komunita musí přímo souviset s Ethereem a jeho ekosystémem.
+- **Relevantnost**: Komunita musí přímo souviset s Ethereem a jeho ekosystémem.
- **Úroveň aktivity**: Komunita by měla být aktivní, s pravidelnými interakcemi, příspěvky nebo diskusemi. Nečinné nebo neaktivní komunity mohou být odstraněny.
-- **Inkluzivita**: Komunita by měla vytvářet přívětivé prostředí, které respektuje rozmanitost a podporuje účast lidí z různých prostředí.
-- **Nekomerční zaměření**: Soupisky jsou určeny spíše pro komunitně zaměřené prostory než pro komerční nebo propagační platformy.
+- **Inkluzivita**: Komunita by měla vytvářet přívětivé prostředí, které respektuje rozmanitost a podporuje účast lidí všech původů.
+- **Nekomerční zaměření**: Seznamy jsou určeny spíše pro komunitní prostory než pro komerční nebo propagační platformy.
### Pokyny pro obsah {#content-guidelines}
- **Vhodný obsah**: Komunity musí mít vlastní pravidla pro moderování, vyhýbat se spamu, nenávistným projevům, obtěžování nebo jakémukoli obsahu, který propaguje nezákonné činnosti.
-- **Jazyk**: Přestože primárním jazykem je angličtina, komunity v jiných jazycích jsou podporovány, pokud zachovávají inkluzivní a uctivou atmosféru.
+- **Jazyk**: Přestože je angličtina primárním jazykem, komunity v jiných jazycích mohou být přidány, pokud si udržují inkluzivní a uctivou atmosféru.
- **Transparentnost**: Členové by měli mít k dispozici jasné informace o účelu komunity, pravidlech a moderátorech.
### Další doporučení {#other-recommendations}
-- **Přístupnost**: Komunitní fóra by měla být přístupná každému, aniž by bylo nutné se registrovat nebo přihlašovat.
-- **Pozvánky na Discord server**: Doporučujeme přidávat na ethereum.org pouze spolehlivé pozvánky na Discord server. Ideálně by tyto pozvánky měly odkazovat na stránku komunity na webových stránkách (např. [ethglobal.com/discord](https://ethglobal.com/discord)) nebo by měly být z oficiální URL adresy (např. [discord.gg/ethstaker](https://discord.gg/ethstaker) nebo [discord.com/invite/ethstaker](https://discord.com/invite/ethstaker)).
-
-Pokud si myslíte, že by komunita měla být na základě těchto pokynů přidána nebo odebrána, [otevřete prosím problém v našem GitHub repozitáři](https://github.com/ethereum/ethereum-org-website/issues).
+- **Přístupnost**: Komunitní fóra by měla být přístupná pro čtení všem bez nutnosti přihlášení nebo registrace.
+- **Pozvánky na server Discord**: Doporučuje se, aby na ethereum.org byly přidávány pouze spolehlivé pozvánky na server Discord. V ideálním případě by tyto pozvánky měly odkazovat na komunitní stránku na webu (např. [ethglobal.com/discord](https://ethglobal.com/discord)) nebo být z oficiální URL adresy (např. [discord.gg/ethstaker](https://discord.gg/ethstaker) nebo [discord.com/invite/ethstaker](https://discord.com/invite/ethstaker)).
+Pokud si myslíte, že by na základě těchto pokynů měla být komunita přidána nebo odebrána, [otevřete prosím issue v našem repozitáři na GitHubu](https://github.com/ethereum/ethereum-org-website/issues).
## Fóra {#forums}
-r/ethereum – vše o Ethereu
-r/ethfinance – finanční stránka Etherea, včetně DeFi
-r/ethdev – zaměřeno na vývoj Etherea
-r/ethtrader – trendy a analýza trhu
-r/ethstaker – vítá všechny zájemce o staking na Ethereu
-Fellowship of Ethereum Magicians – komunita zaměřená na technické standardy Etherea
-Ethereum Stackexchange – diskuze a pomoc pro vývojáře Etherea
-Ethereum Research – nejvlivnější fórum pro výzkum kryptoekonomiky
+r/ethereum – vše o Ethereur/ethfinance – finanční stránka Etherea, včetně DeFir/ethdev – zaměřeno na vývoj Etherear/ethtrader – trendy a analýza trhur/ethstaker – pro všechny, kteří mají zájem o staking na EthereuFellowship of Ethereum Magicians – komunita zaměřená na technické standardy EthereaEthereum Stackexchange – diskuze a pomoc pro vývojáře EthereaEthereum Research – nejvlivnější diskuzní fórum pro kryptoekonomický výzkum
## Chatovací místnosti {#chat-rooms}
-Ethereum Cat Herders – komunita zaměřená na poskytování projektového řízení vývoje Etherea
-Ethereum Hackers – Discord chat provozovaný ETHGlobal: online komunita pro hackery Etherea z celého světa
-CryptoDevs – komunita na Discordu zaměřená na vývoj Etherea
-EthStaker Discord – komunita poskytující vedení, vzdělání, podporu a zdroje pro stávající i potenciální stakeholdery
-Ethereum.org website team – zastavte se na slovíčko o vývoji a designu webu ethereum.org s týmem a lidmi z komunity
-Matos Discord – komunita web3 tvůrců, kde se scházejí vývojáři, průmysloví lídři a nadšenci do Etherea. Jsme nadšení do vývoje, designu a kultury web3. Pojďte s námi budovat.
-Solidity Gitter – chat pro vývoj v Solidity (Gitter)
-Solidity Matrix – chat pro vývoj v Solidity (Matrix)
-Ethereum Stack Exchange* – fórum otázek a odpovědí*
-Komunitní fórum Peera *– decentralizované fórum pro otázky a odpovědi*
+Ethereum Cat Herders – komunita zaměřená na podporu projektového řízení pro vývoj EthereaEthereum Hackers – chat na Discordu provozovaný ETHGlobal: online komunita pro hackery Etherea z celého světaCryptoDevs – komunita na Discordu zaměřená na vývoj EthereaEthStaker Discord – komunitou spravované poradenství, vzdělávání, podpora a zdroje pro stávající i potenciální stakerytým webu Ethereum.org – zastavte se a popovídejte si s týmem a lidmi z komunity o vývoji a designu webu ethereum.orgMatos Discord – komunita tvůrců web3, kde se scházejí tvůrci, osobnosti z oboru a nadšenci Etherea. Jsme nadšení do vývoje, designu a kultury web3. Pojďte s námi budovat.Solidity Gitter – chat o vývoji v Solidity (Gitter)Solidity Matrix – chat o vývoji v Solidity (Matrix)Ethereum Stack Exchange – fórum otázek a odpovědíPeera Community Forum – decentralizované fórum otázek a odpovědí
## YouTube a X (dříve Twitter) {#youtube-and-twitter}
-Ethereum Foundation – sledujte aktuální dění z Ethereum Foundation
-@ethereum – Hlavní Ethereum účet pro komunitu
-@ethereumfndn – Oficiální účet pro Nadaci Ethereum
-@ethdotorg – portál do světa Etherea, vytvořený pro naši rostoucí globální komunitu
-Seznam vlivných účtů na Twitteru o Ethereu
+Nadace Ethereum – Sledujte nejnovější zprávy od Nadace Ethereum@ethereum – Hlavní účet Etherea pro komunitu@ethereumfndn – Oficiální účet Nadace Ethereum@ethdotorg – Portál k Ethereu, vytvořený pro naši rostoucí globální komunitu
diff --git a/public/content/translations/cs/community/research/index.md b/public/content/translations/cs/community/research/index.md
index e0ab3e80cba..f90da01a763 100644
--- a/public/content/translations/cs/community/research/index.md
+++ b/public/content/translations/cs/community/research/index.md
@@ -266,7 +266,7 @@ Validátoři používají nativní aktivum Etherea (ether) jako zástavu proti n
### Likvidní staking a deriváty {#liquid-staking-and-derivatives}
-Likvidní staking umožňuje uživatelům s méně než 32 ETH získat výnosy ze stakingu výměnou etherů za token představující stakovaný ether, který lze použít v DeFi. Nové pobídky a dynamiky trhu spojené s likvidním stakingem se však stále objevují, stejně jako jejich vliv na bezpečnost Etherea (např. rizika centralizace).
+Likvidní staking umožňuje uživatelům s méně než 32 ETH získat výnosy ze stakingu výměnou etherů za token představující stakovaný ether, který lze použít v DeFi. Pobídky a tržní dynamika spojené s likvidním stakingem jsou však stále objevovány, stejně jako jeho vliv na bezpečnost Etherea (např. rizika centralizace).
#### Základní podklady {#background-reading-12}
@@ -377,7 +377,7 @@ Hackeři na Ethereu obvykle využívají zranitelnosti v jednotlivých aplikací
- [Zpráva o zneužití Wormhole](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/)
- [Seznam následných rozborů hacků kontraktů na Ethereu](https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191)
-- [Rekt News](https://twitter.com/RektHQ?s=20&t=3otjYQdM9Bqk8k3n1a1Adg)
+- [Rekt News](https://x.com/RektHQ?s=20&t=3otjYQdM9Bqk8k3n1a1Adg)
#### Nedávný výzkum {#recent-research-19}
diff --git a/public/content/translations/cs/community/support/index.md b/public/content/translations/cs/community/support/index.md
index 7fea758932c..065264193c7 100644
--- a/public/content/translations/cs/community/support/index.md
+++ b/public/content/translations/cs/community/support/index.md
@@ -1,12 +1,12 @@
---
-title: Ethereum podpora
+title: Podpora pro Ethereum
description: Získejte podporu v ekosystému Etherea.
lang: cs
---
-# Ethereum podpora {#support}
+# Podpora Etherea {#support}
-## Oficiální podpora pro Ethereum {#official-support}
+## Oficiální podpora Etherea {#official-support}
Hledáte oficiální podporu pro Ethereum? První věc, kterou byste měli vědět, je, že Ethereum je decentralizované. To znamená, že žádná centrální organizace, entita nebo osoba nevlastní Ethereum, a proto neexistují žádné oficiální kanály podpory.
@@ -20,7 +20,7 @@ Pochopení decentralizované povahy Etherea je zásadní, protože **každý, kd
Osvojte si základy Etherea
-Přestože neexistuje oficiální podpora, mnoho skupin, komunit a projektů v ekosystému Etherea je ochotných vám pomoci a na této stránce můžete najít mnoho užitečných informací a zdrojů. Stále máte dotazy? Připojte se na [Discordu ethereum.org](https://discord.gg/ethereum-org) a my se vám pokusíme pomoci.
+Přestože neexistuje oficiální podpora, mnoho skupin, komunit a projektů v ekosystému Etherea je ochotných vám pomoci a na této stránce můžete najít mnoho užitečných informací a zdrojů. Stále máte dotazy? Připojte se k [Discordu ethereum.org](https://discord.gg/ethereum-org) a my se vám pokusíme pomoci.
## Často kladené dotazy {#faq}
@@ -38,29 +38,29 @@ Ethereum giveaway jsou podvody navržené k tomu, aby vám ukradly ETH. Nenechte
Transakce na Ethereu se mohou někdy zaseknout, a to v případě, že jste zadali nižší poplatek za transakci, než je požadováno vzhledem k zatížení sítě. Spousta peněženek poskytuje možnost znovu odeslat stejnou transakci s vyšším poplatkem, aby byla transakce zpracována. Alternativně můžete zrušit nevyřízenou transakci tím, že pošlete transakci na svou vlastní adresu a použijete stejné jedinečné číslo nonce jako u nevyřízené transakce.
-[Jak zrychlit nebo zrušit nevyřízenou transakci v MetaMasku](https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-speed-up-or-cancel-a-pending-transaction)
+[Jak zrychlit nebo zrušit nevyřízenou transakci na MetaMasku](https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-speed-up-or-cancel-a-pending-transaction)
[Jak zrušit nevyřízené transakce na Ethereu](https://info.etherscan.com/how-to-cancel-ethereum-pending-transactions/)
-### Jak mohu těžit Ethereum? {#mining-ethereum}
+### Jak mohu těžit Ethereum? Těžba Etherea {#mining-ethereum}
-Těžba Etherea už není možná. Těžba byla ukončena, když Ethereum přešlo z [proof of work](/glossary/#pow) na [proof of stake](/glossary/#pos). Nyní má Ethereum místo těžařů validátory. Každý může [stakovat](/glossary/#staking) ETH a dostávat odměny za provozování validačního softwaru zabezpečujícího síť.
+Těžba Etherea už není možná. Těžba byla ukončena, když Ethereum přešlo z [důkazu prací](/glossary/#pow) na [důkaz podílem](/glossary/#pos). Nyní má Ethereum místo těžařů validátory. Každý může [stakovat](/glossary/#staking) ETH a dostávat odměny za stakování za provozování validačního softwaru zabezpečujícího síť.
-### Jak se stát stakerem / provozovat validátor? {#how-to-stake}
+### Jak se stát stakerem / provozovat validátor? Jak stakovat {#how-to-stake}
Chcete-li se stát validátorem, musíte zastakovat 32 ETH v Ethereum deposit contractu a nastavit validační síťový uzel. Další informace naleznete na našich [stránkách o stakování](/staking) a na [staking launchpadu](https://launchpad.ethereum.org/).
-## Vývoj dappek {#building-support}
+## Tvorba dapps {#building-support}
Vývoj může být obtížný. Zde najdete několik zdrojů zaměřených na vývoj, kde vám zkušení vývojáři Etherea rádi pomohou.
- [Alchemy University](https://university.alchemy.com/#starter_code)
-- [Discord CryptoDevs](https://discord.com/invite/5W5tVb3)
+- [CryptoDevs discord](https://discord.com/invite/5W5tVb3)
- [Ethereum StackExchange](https://ethereum.stackexchange.com/)
- [Web3 University](https://www.web3.university/)
- [LearnWeb3](https://discord.com/invite/learnweb3)
-V naší sekci [zdrojů pro vývojáře Etherea](/developers/) najdete dokumentaci a průvodce vývojem.
+Dokumentaci a příručky pro vývojáře najdete také v naší sekci [zdrojů pro vývojáře Etherea](/developers/).
### Nástroje {#dapp-tooling}
@@ -75,12 +75,12 @@ Zde jsou některé oblíbené příklady:
- [Alchemy](http://alchemy.com/discord)
- [Tenderly](https://discord.gg/fBvDJYR)
-## Provozování vlastního síťového uzlu {#node-support}
+## Provozování uzlu {#node-support}
Pokud provozujete uzel nebo validátora, tady najdete některé komunity, které vám pomohou začít.
-- [Discord EthStaker](https://discord.gg/ethstaker)
-- [Reddit EthStaker](https://www.reddit.com/r/ethstaker)
+- [EthStaker discord](https://discord.gg/ethstaker)
+- [EthStaker reddit](https://www.reddit.com/r/ethstaker)
Většina týmů, které vytvářejí klienty na Ethereu, má také veřejně přístupné body, kde můžete získat podporu a ptát se na otázky.
@@ -92,7 +92,7 @@ Většina týmů, které vytvářejí klienty na Ethereu, má také veřejně p
- [Erigon](https://github.com/ledgerwatch/erigon/issues)
- [Reth](https://github.com/paradigmxyz/reth/discussions)
-### Konsenzuální klienti {#consensus-clients}
+### Konsensuální klienti {#consensus-clients}
- [Prysm](https://discord.gg/prysmaticlabs)
- [Nimbus](https://discord.gg/nSmEH3qgFv)
@@ -101,4 +101,4 @@ Většina týmů, které vytvářejí klienty na Ethereu, má také veřejně p
- [Lodestar](https://discord.gg/aMxzVcr)
- [Grandine](https://discord.gg/H9XCdUSyZd)
-[Naučte se provozovat síťový uzel](/developers/docs/nodes-and-clients/run-a-node/).
+Můžete se také [zde naučit, jak provozovat uzel](/developers/docs/nodes-and-clients/run-a-node/).
diff --git a/public/content/translations/cs/contributing/adding-desci-projects/index.md b/public/content/translations/cs/contributing/adding-desci-projects/index.md
new file mode 100644
index 00000000000..dc5bf54cb8d
--- /dev/null
+++ b/public/content/translations/cs/contributing/adding-desci-projects/index.md
@@ -0,0 +1,44 @@
+---
+title: Přidávání DeSci projektů
+description: Pravidla, která používáme při přidávání odkazů na projekty na stránku DeSci na ethereum.org
+lang: cs
+---
+
+# Přidávání projektů {#adding-projects}
+
+Chceme se ujistit, že ukážeme různé projekty a poskytneme dobrý přehled o prostředí DeSci.
+
+Kdokoli může navrhnout projekt, který bude uveden na stránce DeSci na ethereum.org. Stejně tak každý, kdo si všimne projektu, který již není relevantní nebo nesplňuje naše kritéria způsobilosti, může navrhnout jeho odstranění.
+
+## Rozhodovací rámec {#the-decision-framework}
+
+### Kritéria pro zařazení: povinné vlastnosti {#the-must-haves}
+
+- **Open source kód/data** – Otevřenost kódu a dat je základní zásadou DeSci, takže projekty DeSci nesmí mít uzavřený zdrojový kód. Kódová základna by měla být přístupná a ideálně otevřená pro pull requesty.
+- **Projekty DeSci by měly být prokazatelně decentralizované** – To může zahrnovat správu prostřednictvím DAO nebo budování s využitím decentralizovaného technologického stacku, včetně peněženek bez úschovy. Pravděpodobně to zahrnuje auditovatelné chytré kontrakty na Ethereu.
+- **Čestné a přesné informace o projektu** – Očekává se, že všechny navrhované projekty k zařazení budou obsahovat čestné a přesné informace. Produkty, které zfalšují výpisy informací, například uvedou, že váš produkt je „open-source“, i když tomu tak není, budou odstraněny.
+- **Prokazatelný závazek k rozšiřování přístupu k vědě** – Projekt DeSci by měl být schopen vyjádřit, jak rozšiřuje účast na vědě pro širokou veřejnost, nejen pro držitele tokenů/NFT.
+- **Globálně přístupné** – Váš projekt nemá geografická omezení ani požadavky na KYC, které by z přístupu k vašim službám vylučovaly určité osoby.
+- **Informativní webové stránky a dokumentace** – Je důležité, aby návštěvníci webových stránek projektu pochopili, co vlastně projekt dělá, jak přispívá k decentralizaci vědecké infrastruktury a jak se do něj zapojit.
+- **Projekt by měl být součástí ekosystému Etherea** – Na ethereum.org věříme, že Ethereum (a jeho druhé vrstvy) je vhodnou základní vrstvou pro hnutí DeSci.
+- **Projekt je poměrně dobře zaveden** – Projekt má skutečné uživatele, kteří mají již několik měsíců přístup ke službám projektu.
+
+### Užitečné vlastnosti
+
+- **K dispozici ve více jazycích** – Váš projekt je přeložen do více jazyků, takže k němu mají přístup uživatelé z celého světa.
+- **Vzdělávací zdroje** – Váš produkt by měl mít dobře navržené vstupní prostředí, které uživatelům pomáhá a vzdělává je. Nebo důkazy o obsahu s návody, jako jsou články nebo videa.
+- **Audity třetí stranou** – Váš produkt byl profesionálně auditován na zranitelnosti důvěryhodnou třetí stranou.
+- **Kontaktní místo** – Kontaktní místo pro projekt (může jím být zástupce z DAO nebo komunity) nám výrazně pomůže získat přesné informace v případě změn. Díky tomu bude aktualizace ethereum.org při shromažďování budoucích informací zvládnutelná.
+
+## Údržba {#maintenance}
+
+Jak už to na Ethereu bývá, týmy a produkty přicházejí a odcházejí a denně dochází k inovacím, proto budeme provádět rutinní kontroly našeho obsahu:
+
+- Zajistěte, aby všechny uvedené projekty stále splňovaly naše kritéria
+- Ověřte si, zda nebyly navrženy produkty, které by splňovaly více našich kritérií než ty, které jsou v současné době uvedeny
+
+Ethereum.org je spravováno open source komunitou a spoléháme na to, že komunita pomůže udržovat tento web aktuální. Pokud si všimnete, že je třeba aktualizovat informace o uvedených projektech, otevřete prosím problém nebo pull request v našem repozitáři na GitHubu.
+
+## Podmínky použití {#terms-of-use}
+
+Přečtěte si také naše [podmínky používání](/terms-of-use/). Informace na ethereum.org jsou poskytovány výhradně pro obecné informační účely.
diff --git a/public/content/translations/cs/contributing/adding-developer-tools/index.md b/public/content/translations/cs/contributing/adding-developer-tools/index.md
new file mode 100644
index 00000000000..176f75736c6
--- /dev/null
+++ b/public/content/translations/cs/contributing/adding-developer-tools/index.md
@@ -0,0 +1,61 @@
+---
+title: Přidávání vývojářských nástrojů
+lang: cs
+description: Naše kritéria pro přidávání vývojářských nástrojů na ethereum.org
+---
+
+# Přidávání vývojářských nástrojů {#contributing-to-ethereumorg-}
+
+Chceme se ujistit, že uvádíme nejlepší možné vývojářské nástroje, aby lidé mohli stavět s jistotu a měli potřebnou podporu.
+
+Pokud existuje užitečný vývojářský nástroj, který jsme přehlédli, neváhejte jej na vhodném místě navrhnout.
+
+V současné době uvádíme vývojářské nástroje na našem [portálu pro vývojáře](/developers/).
+
+**Neváhejte navrhnout nové přírůstky na příslušných stránkách.**
+
+## Jak se rozhodujeme {#ways-to-contribute}
+
+Navržené vývojářské nástroje budou hodnoceny podle následujících kritérií:
+
+**Liší se smysluplně od již uvedených nástrojů?**
+
+- Nové kategorie nebo typy nástrojů
+- Nové funkce ve srovnání se stávajícími podobnými nástroji
+- Zaměřeno na specifický případ použití, který není pokryt stávajícími podobnými nástroji
+
+**Je nástroj dobře zdokumentován?**
+
+- Existuje dokumentace?
+- Je postačující pro použití nástroje?
+- Byla nedávno aktualizována?
+
+**Je nástroj široce používán?**
+
+- Budeme brát v úvahu metriky, jako jsou hvězdičky na GitHubu, statistiky stahování a to, zda jej používají známé společnosti nebo projekty
+
+**Je nástroj dostatečně kvalitní?**
+
+- Vyskytují se opakovaně chyby?
+- Je nástroj spolehlivý?
+- Je nástroj aktivně udržován?
+
+**Je nástroj open source?**
+
+Mnoho projektů v oblasti Etherea je open source. S větší pravděpodobností budeme uvádět open source projekty, které umožňují komunitním vývojářům kontrolovat kód a přispívat do něj.
+
+---
+
+## Řazení produktů {#product-ordering}
+
+Pokud nejsou produkty seřazeny jinak, například podle abecedy, zobrazují se od nejpozději po nejnověji přidaných produktů. Jinými slovy, nejnovější produkty se přidávají na konec seznamu.
+
+---
+
+## Přidejte svůj vývojářský nástroj {#how-decisions-about-the-site-are-made}
+
+Pokud chcete přidat vývojářský nástroj na ethereum.org a splňujete kritéria, vytvořte problém na GitHubu.
+
+
+ Vytvořit požadavek
+
diff --git a/public/content/translations/cs/contributing/adding-exchanges/index.md b/public/content/translations/cs/contributing/adding-exchanges/index.md
new file mode 100644
index 00000000000..aef57aa5155
--- /dev/null
+++ b/public/content/translations/cs/contributing/adding-exchanges/index.md
@@ -0,0 +1,40 @@
+---
+title: Přidávání burz
+description: Zásady, které používáme při přidávání burz na ethereum.org
+lang: cs
+---
+
+# Přidání burz pro Ethereum {#adding-ethereum-exchanges}
+
+Kdokoli může na stránkách ethereum.org navrhnout nové burzy.
+
+V současné době je uvádíme na:
+
+- [ethereum.org/get-eth](/get-eth/)
+
+Na této stránce může uživatel zadat místo svého bydliště a zjistit, jaké burzy může využít. To pomáhá včas odhalit případná zeměpisná omezení.
+
+Vzhledem k těmto souvislostem potřebujeme při návrhu burzy určité konkrétní informace.
+
+**POZNÁMKA:** Pokud chcete uvést decentralizovanou burzu, podívejte se na naše [zásady pro uvádění peněženek a dapps](/contributing/adding-products/).
+
+## Co potřebujeme {#what-we-need}
+
+- Zeměpisná omezení, která se na burzu vztahují. Zeměpisná omezení spojená s burzou by měla být podrobně uvedena na zvláštní stránce nebo v oddíle na internetových stránkách burzy.
+- Měny, které mohou uživatelé používat k nákupu ETH
+- Důkaz, že burza je legitimní obchodní společností
+- Jakékoli další informace, které máte k dispozici – mohou to být informace o společnosti, jako jsou roky jejího působení, finanční zázemí atd.
+
+Potřebujeme tyto informace, abychom mohli přesně [pomoci uživatelům najít burzu, kterou mohou používat](/get-eth/#country-picker).
+
+A aby si ethereum.org mohlo být jistější, že burza je legitimní a bezpečná služba.
+
+---
+
+## Přidejte svou burzu {#add-exchange}
+
+Pokud chcete přidat burzu na ethereum.org, vytvořte problém na GitHubu.
+
+
+ Vytvořit issue
+
diff --git a/public/content/translations/cs/contributing/adding-glossary-terms/index.md b/public/content/translations/cs/contributing/adding-glossary-terms/index.md
new file mode 100644
index 00000000000..312b91144f4
--- /dev/null
+++ b/public/content/translations/cs/contributing/adding-glossary-terms/index.md
@@ -0,0 +1,26 @@
+---
+title: Přidávání termínů do glosáře
+lang: cs
+description: Naše kritéria pro přidávání nových termínů do glosáře ethereum.org
+---
+
+# Přidávání termínů do glosáře {#contributing-to-ethereumorg-}
+
+Tento prostor se mění každým dnem. Do slovníku uživatelů Etherea se neustále dostávají nové termíny a my potřebujeme vaši pomoc při vytváření přesného a aktuálního odkazu na všechny věci týkající se Etherea. Projděte si aktuální [glosář](/glossary/) a níže zjistíte, jak můžete pomoci!
+
+## Kritéria {#criteria}
+
+Nové termíny do glosáře budou posuzovány podle následujících kritérií:
+
+- Je termín / definice aktuální a v současné době relevantní?
+- Existuje již v glosáři podobný termín? (Pokud ano, zvažte výhody nového termínu oproti aktualizaci stávajícího termínu)
+- Termín / definice neobsahuje reklamu na produkt nebo jiný propagační obsah?
+- Je tento termín / definice přímo relevantní pro Ethereum?
+- Je definice objektivní, přesná a neobsahuje subjektivní hodnocení nebo názor?
+- Je zdroj důvěryhodný? Odkazují na své zdroje?
+
+---
+
+## Přidejte svůj termín {#how-decisions-about-the-site-are-made}
+
+Pokud chcete na ethereum.org přidat termín do glosáře a ten splňuje daná kritéria, [vytvořte issue na GitHubu](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_glossary_term.yaml).
diff --git a/public/content/translations/cs/contributing/adding-layer-2s/index.md b/public/content/translations/cs/contributing/adding-layer-2s/index.md
new file mode 100644
index 00000000000..6e824c54e9a
--- /dev/null
+++ b/public/content/translations/cs/contributing/adding-layer-2s/index.md
@@ -0,0 +1,97 @@
+---
+title: Přidávání vrstev 2
+description: Zásady, které používáme při přidávání vrstev 2 na ethereum.org
+lang: cs
+---
+
+# Přidání druhých vrstev {#adding-layer-2}
+
+Chceme se ujistit, že uvádíme ty nejlepší možné zdroje, aby se uživatelé mohli bezpečně a s jistotou pohybovat v prostoru vrstev 2.
+
+Kdokoli může na stránkách ethereum.org navrhnout vrstvy 2. Pokud jsme nějakou druhou vrstvu vynechali, **[navrhněte ji, prosím](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_layer2.yaml)!**
+
+V současné době uvádíme seznam vrstev 2 na následujících stránkách:
+
+- [Optimistické rollupy](/developers/docs/scaling/optimistic-rollups/)
+- [Rollupy s nulovou znalostí](/developers/docs/scaling/zk-rollups/)
+- [Druhá vrstva](/layer-2/)
+
+Vrstva 2 je pro Ethereum relativně nové a vzrušující paradigma. Snažili jsme se vytvořit spravedlivý framework pro posuzování na ethereum.org, ale kritéria pro zařazení do seznamu se budou časem měnit a vyvíjet.
+
+## Rozhodovací rámec {#decision-framework}
+
+### Kritéria pro zařazení: co je nutností {#criteria-for-inclusion-the-must-haves}
+
+**Uvedení na L2BEAT**
+
+- Aby mohl být tento projekt zařazen, musí být uveden na [L2BEAT](https://l2beat.com). L2BEAT poskytuje robustní hodnocení rizik projektů vrstev 2, o které se při hodnocení opíráme. **Pokud projekt není uveden na L2BEAT, nebudeme ho uvádět jako vrstvu 2 na ethereum.org.**
+- [Zjistěte, jak přidat svůj projekt L2 na L2BEAT](https://github.com/l2beat/l2beat/blob/master/CONTRIBUTING.md).
+
+**Open source**
+
+- Váš kód musí být přístupný a měli byste přijímat pull requesty od širší komunity.
+
+**Kategorie vrstvy 2**
+
+V současné době považujeme za řešení vrstvy 2 následující řešení:
+
+- Optimistický rollup
+- Rollup nulové znalosti
+
+_Ostatní řešení škálování, která nevyužívají Ethereum pro dostupnost dat nebo zabezpečení, nepovažujeme za druhou vrstvu._
+
+**Ethereum pro dostupnost dat**
+
+- Dostupnost dat je důležitým rozlišovacím faktorem mezi ostatními řešeními škálování a vrstvou 2. Projekt **musí** používat hlavní síť Etherea pro dostupnost dat, aby mohl být zařazen do seznamu.
+
+**Přemostění**
+
+- Jak se mohou uživatelé přemostit na vrstvu 2?
+
+**Datum spuštění projektu**
+
+- Vrstva 2, která je na hlavní síti „naživu“ již více než 6 měsíců
+
+- U novějších projektů, které ještě nebyly testovány uživateli, je pravděpodobnost zařazení do seznamu nižší.
+
+**Externí bezpečnostní audit**
+
+- Ať už prostřednictvím auditu, interního bezpečnostního týmu nebo jiné metody, zabezpečení vašeho produktu musí být spolehlivě otestováno. Snižujete tím riziko pro naše uživatele a dáváte nám najevo, že zabezpečení berete vážně.
+
+**Stálá uživatelská základna**
+
+- Budeme brát v úvahu metriky, jako je historie TVL, statistiky transakcí a to, zda ji používají známé společnosti nebo projekty
+
+**Aktivní vývojářský tým**
+
+- Nebudeme uvádět vrstvu 2, která nemá aktivní tým pracující na projektu.
+
+**Průzkumník bloků**
+
+- Uvedené projekty vyžadují funkční průzkumník bloků, který uživatelům umožní snadnou navigaci v blockchainu.
+
+### Další kritéria: užitečné vlastnosti {#nice-to-haves}
+
+**Projekt podporuje burzy**
+
+- Mohou uživatelé vkládat a/nebo vybírat peníze přímo na burze?
+
+**Odkazy na dappky v ekosystému vrstvy 2**
+
+- Chceme být schopni poskytnout informace o tom, co mohou uživatelé očekávat, že budou moci na této vrstvě 2 dělat. (např. https://portal.arbitrum.io/, https://www.optimism.io/apps)
+
+**Seznamy tokenových kontraktů**
+
+- Vzhledem k tomu, že aktiva budou mít novou adresu na vrstvě 2, pokud je k dispozici zdroj seznamu tokenů, uveďte ho.
+
+**Nativní podpora peněženek**
+
+- Podporují některé peněženky nativně vrstvu 2?
+
+## Přidejte svou druhou vrstvu {#add-exchange}
+
+Pokud chcete přidat vrstvu 2 na ethereum.org, vytvořte problém na GitHubu.
+
+
+ Vytvořit issue
+
diff --git a/public/content/translations/cs/contributing/adding-products/index.md b/public/content/translations/cs/contributing/adding-products/index.md
new file mode 100644
index 00000000000..3ed6d643a7d
--- /dev/null
+++ b/public/content/translations/cs/contributing/adding-products/index.md
@@ -0,0 +1,100 @@
+---
+title: Přidávání produktů
+description: Zásady, které používáme při přidávání produktů na ethereum.org
+lang: cs
+---
+
+# Přidávání produktů Etherea {#adding-products}
+
+Kdokoli může navrhnout nové dappky na ethereum.org, pokud je to vhodné. **Ne, vaši dappku na naší domovské stránce neuvedeme** 😜
+
+Dappky jsou v současné době uvedeny na:
+
+- ethereum.org/dapps
+- ethereum.org/get-eth
+
+**Na těchto stránkách prosím navrhujte pouze nové přírůstky.**
+
+Ačkoli vítáme nové přírůstky, současné dappky jsme vybrali na základě zážitku, který se snažíme vytvořit pro naše uživatele. Ty vycházejí z některých našich zásad návrhu:
+
+- _Inspirativní_: cokoli na ethereum.org by mělo uživatelům nabídnout něco nového
+- _Dobrý příběh_: to, co je uvedeno, by mělo způsobit „aha“ moment
+- _Důvěryhodný_: vše by měly být legitimní podniky/projekty, aby se minimalizovalo riziko pro uživatele
+
+Celkově **chce ethereum.org novým uživatelům poskytnout „bezproblémový nástupní zážitek“**. Z tohoto důvodu přidáváme dappky na základě jejich:
+
+- snadnost použití
+- interoperabilita s jinými produkty
+- bezpečnost
+- dlouhá životnost
+
+Zde je podrobněji popsán náš rozhodovací framework. Neváhejte poskytnout zpětnou vazbu nebo navrhnout změny.
+
+## Rozhodovací rámec {#decision-framework}
+
+### Kritéria pro zařazení: co je nutností {#criteria-for-inclusion-the-must-haves}
+
+- **Produkt prověřený z hlediska zabezpečení** – ať už prostřednictvím auditu, interního bezpečnostního týmu nebo jiné metody, zabezpečení vašeho produktu musí být spolehlivě otestováno. Snižujete tím riziko pro naše uživatele a dáváte nám najevo, že zabezpečení berete vážně.
+- **Produkt, který je „naživu“ déle než 6 měsíců** – to je další ukazatel bezpečnosti. 6 měsíců je dostatečná doba na to, aby byly nalezeny kritické chyby a zneužití.
+- **Na produktu pracuje aktivní tým** – to pomáhá zajistit kvalitu a to, že uživatel dostane podporu se svými dotazy.
+- **Poctivé a přesné informace o zařazení** - očekává se, že všechny navrhované seznamy z projektů budou obsahovat poctivé a přesné informace. Produkty, které zfalšují výpisy informací, například uvedou, že váš produkt je „open-source“, i když tomu tak není, budou odstraněny.
+
+### Kritéria pro hodnocení: co je výhodou {#criteria-for-ranking-the-nice-to-haves}
+
+Vaše dappka nemusí být na ethereum.org uvedena tak výrazně jako ostatní kvůli následujícím kritériím.
+
+**dapps**
+
+- **Můžete k němu přistupovat prostřednictvím většiny uvedených peněženek** – dapps by měly fungovat s většinou peněženek uvedených na ethereum.org.
+- **Uživatelé si ji mohou sami vyzkoušet –** jednotlivý uživatel by měl být schopen používat vaši dapp a dosáhnout něčeho hmatatelného.
+- **Zaškolení** – váš produkt by měl mít dobře navržený proces zaškolení, který uživatelům pomáhá a vzdělává je. Nebo důkazy o obsahu s návody, jako jsou články nebo videa.
+- **Bez úschovy** – uživatelé mají své prostředky pod kontrolou. Pokud váš produkt zmizí, uživatelé mají stále přístup ke svým prostředkům a mohou je přesunout.
+- **Globálně přístupný** – váš produkt nemá geografická omezení ani požadavky na KYC, které by z přístupu k vašim službám vylučovaly určité osoby.
+- **Open source** – váš kód by měl být přístupný a měli byste přijímat PRs od širší komunity.
+- **Komunita** – máte vyhrazenou komunitu, třeba na Discordu, kde mohou uživatelé komunikovat s vaším týmem, aby získali pomoc nebo navrhovali nové funkce.
+
+## Kritéria v praxi {#criteria-in-practice}
+
+Čím více kritérií splníte, tím větší je pravděpodobnost, že se váš produkt dostane na ethereum.org.
+
+Uvedený produkt, který splňuje pouze povinné vlastnosti, může být odstraněn, pokud je navržen nový produkt, který splňuje povinné vlastnosti a několik užitečných vlastností.
+
+Další věci, které budou hrát roli při rozhodování:
+
+- Bude přidání místo nahrazení narušovat UX stránky?
+ - naše stránky jsou především vzdělávací a jejich hlavním účelem je vysvětlit Ethereum a jeho příslušné koncepty. Přidáním příliš mnoha možností se mohou stránky stát méně čitelnými, a tedy i méně užitečnými.
+- Ochromuje nyní tato stránka uživatele volbami?
+ - stejně jako když hodiny sedíte u Netflixu, protože se nemůžete rozhodnout, na co se koukat. Příliš velký výběr je pro nové uživatele rizikem.
+
+Za toto rozhodnutí je zodpovědné ethereum.org.
+
+Ale buďte si jisti, že **zde budou odkazy na další webové stránky, které hodnotí více dapps**
+
+### Řazení produktů {#product-ordering}
+
+Pokud nejsou produkty seřazeny jinak, například podle abecedy, zobrazují se od nejnověji po nejpozději přidaných produktů. Jinými slovy, nejnovější produkty se přidávají na konec seznamu.
+
+### Podmínky použití {#terms-of-use}
+
+Přečtěte si také naše [podmínky použití](/terms-of-use/). Informace na ethereum.org jsou poskytovány výhradně pro obecné informační účely.
+
+## Údržba {#maintenance}
+
+Jak už to na Ethereu bývá, týmy a produkty přicházejí a odcházejí a denně dochází k inovacím, proto budeme provádět rutinní kontroly našeho obsahu:
+
+- zajistíme, aby všechny uvedené dappky stále splňovaly naše kritéria
+- ověříme, zda nebyly navrženy produkty, které by splňovaly více našich kritérií než ty, které jsou v současné době uvedeny
+
+Můžete nám pomoci tím, že obsah zkontrolujete a dáte nám vědět. [Vytvořte issue](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) nebo pošlete e-mail na adresu [website@ethereum.org](mailto:website@ethereum.org)
+
+_Zkoumáme také možnosti hlasování, aby komunita mohla vyjádřit své preference a upozornit na nejlepší produkty, které můžeme doporučit._
+
+---
+
+## Přidejte svůj produkt {#add-your-product}
+
+Pokud chcete na ethereum.org přidat dapp a splňuje daná kritéria, dejte nám prosím vědět.
+
+
+ Navrhnout aplikaci
+
diff --git a/public/content/translations/cs/contributing/adding-resources/index.md b/public/content/translations/cs/contributing/adding-resources/index.md
new file mode 100644
index 00000000000..96442fde168
--- /dev/null
+++ b/public/content/translations/cs/contributing/adding-resources/index.md
@@ -0,0 +1,53 @@
+---
+title: Přidávání zdrojů
+description: Zásady, které používáme při přidávání zdrojů na ethereum.org
+lang: cs
+---
+
+# Přidávání zdrojů {#adding-resources}
+
+Chceme se ujistit, že uvádíme nejlepší možné zdroje a zároveň se postaráme o to, aby byli uživatelé v bezpečí a cítili se jistě.
+
+Kdokoli může navrhnout nové zdroje k přidání na nástěnku zdrojů na ethereum.org, kterou v současné době najdete na adrese [ethereum.org/resources](/resources/).
+
+Ačkoli vítáme nové přírůstky, současné zdroje jsme vybrali na základě zážitku, který se snažíme vytvořit pro naše uživatele. Ty vycházejí z některých našich zásad návrhu:
+
+- _Inspirativní_: cokoli na ethereum.org by mělo uživatelům nabídnout něco nového
+- _Dobrý příběh_: to, co je uvedeno, by mělo způsobit „aha“ moment
+- _Důvěryhodný_: vše by měly být legitimní podniky/projekty, aby se minimalizovalo riziko pro uživatele
+
+Celkově si **ethereum.org klade za cíl poskytnout novým uživatelům bezproblémový nástup**. Z tohoto důvodu přidáváme zdroje na základě jejich:
+
+- snadnost použití
+- přesnost
+- údržba
+
+## Rozhodovací rámec {#decision-framework}
+
+### Kritéria {#criteria}
+
+- **Poctivé a přesné informace v seznamu** – Veškeré navrhované položky v seznamu musí obsahovat poctivé a přesné informace. Produkty, které falšují informace, budou odstraněny.
+- **Aktivní projekt** – Zdroj by měl být udržován aktivním týmem, aby byla zajištěna kvalita a podpora pro uživatele. Zastaralé zdroje mohou být odstraněny.
+
+### Řazení produktů {#product-ordering}
+
+Vyhrazujeme si právo řadit produkty na základě jejich dopadu. Nové produkty budou zpravidla přidávány na konec seznamu, pokud není uvedeno jinak.
+
+## Údržba {#maintenance}
+
+S tím, jak se ekosystém Etherea vyvíjí, budeme pravidelně kontrolovat náš obsah, abychom:
+
+- Zajistili, že všechny uvedené zdroje stále splňují naše kritéria
+- Ověřte si, zda nebyly navrženy produkty, které by splňovaly více našich kritérií než ty, které jsou v současné době uvedeny
+
+Můžete nám pomoci tím, že obsah zkontrolujete a dáte nám vědět. [Vytvořte problém](https://github.com/ethereum/ethereum-org-website/issues/new?template=bug_report.yaml) nebo pošlete e-mail na adresu [website@ethereum.org](mailto:website@ethereum.org).
+
+---
+
+## Přidejte svůj zdroj {#add-your-resource}
+
+Pokud chcete přidat zdroj na ethereum.org a ten splňuje kritéria, vytvořte problém na GitHubu.
+
+
+ Vytvořit issue
+
diff --git a/public/content/translations/cs/contributing/adding-staking-products/index.md b/public/content/translations/cs/contributing/adding-staking-products/index.md
new file mode 100644
index 00000000000..6daf5fd74c1
--- /dev/null
+++ b/public/content/translations/cs/contributing/adding-staking-products/index.md
@@ -0,0 +1,176 @@
+---
+title: Přidávání produktů nebo služeb pro uzamčení
+description: Zásady, které používáme při přidávání produktů nebo služeb pro uzamčení na ethereum.org
+lang: cs
+---
+
+# Přidávání produktů nebo služeb pro uzamčení {#adding-staking-products-or-services}
+
+Chceme se ujistit, že uvádíme nejlepší možné zdroje a zároveň se postaráme o to, aby byli uživatelé v bezpečí a cítili se jistě.
+
+Kdokoli může na stránkách ethereum.org navrhnout přidání produktu nebo služby pro uzamčení. Pokud jsme nějaký vynechali, **[navrhněte ho prosím](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_staking_product.yaml)!**
+
+V současné době uvádíme produkty a služby pro uzamčení na následujících stránkách:
+
+- [Samostatné uzamčení](/staking/solo/)
+- [Uzamčení jako služba](/staking/saas/)
+- [Pooly pro uzamčení](/staking/pools/)
+
+Proof-of-stake na Beacon Chainu je v provozu od 1. prosince 2020. Ačkoli je uzamčení stále relativně nové, snažili jsme se na ethereum.org vytvořit spravedlivý a transparentní rámec pro posuzování, ale kritéria pro zařazení se budou časem měnit a vyvíjet a jsou v konečném důsledku na uvážení týmu webových stránek ethereum.org.
+
+## Rozhodovací rámec {#the-decision-framework}
+
+Rozhodnutí o uvedení produktu na ethereum.org nezávisí na žádném jediném faktoru. Při rozhodování o uvedení produktu nebo služby se posuzuje více kritérií najednou. Čím více těchto kritérií je splněno, tím je pravděpodobnější, že bude produkt uveden.
+
+**Zaprvé, do jaké kategorie produkt nebo služba spadá?**
+
+- Nástroje pro uzly nebo klienty
+- Správa klíčů
+- Uzamčení jako služba (SaaS)
+- Pool pro uzamčení
+
+V současné době uvádíme pouze produkty nebo služby v těchto kategoriích.
+
+### Kritéria pro zařazení {#criteria-for-inclusion}
+
+Návrhy produktů nebo služeb pro uzamčení budou posuzovány podle následujících kritérií:
+
+**Kdy byl projekt nebo služba spuštěna?**
+
+- Existují důkazy o tom, kdy byl produkt nebo služba zpřístupněna veřejnosti?
+- To se používá k určení skóre produktu z hlediska "prověření v praxi".
+
+**Je projekt aktivně udržován?**
+
+- Existuje aktivní tým, který projekt vyvíjí? Kdo je zapojen?
+- V úvahu budou brány pouze aktivně udržované produkty.
+
+**Je produkt nebo služba bez důvěryhodných/lidských zprostředkovatelů?**
+
+- Které kroky na cestě uživatele vyžadují důvěru v lidi, ať už při držení klíčů k jejich prostředkům, nebo při správném rozdělování odměn?
+- To se používá k určení "trustless" skóre produktu nebo služby.
+
+**Poskytuje projekt přesné a spolehlivé informace?**
+
+- Je zásadní, aby webové stránky produktu obsahovaly aktuální, přesné a nezavádějící informace, zejména pokud se týkají protokolu Ethereum nebo jiných souvisejících technologií.
+- Návrhy obsahující dezinformace, zastaralé údaje nebo potenciálně zavádějící prohlášení o Ethereu nebo jiných relevantních tématech nebudou zařazeny, nebo budou odstraněny, pokud již zařazeny jsou.
+
+**Které platformy jsou podporovány?**
+
+- tj. Linux, macOS, Windows, iOS, Android
+
+#### Software a chytré kontrakty {#software-and-smart-contracts}
+
+Pro jakýkoli použitý software na míru nebo chytré kontrakty:
+
+**Je vše open source?**
+
+- Open source projekty by měly mít veřejně dostupné úložiště zdrojového kódu.
+- To se používá k určení "open source" skóre produktu.
+
+**Je produkt již po fázi _beta_ vývoje?**
+
+- V jaké fázi svého vývojového cyklu se produkt nachází?
+- Produkty ve fázi beta se pro zařazení na ethereum.org nezvažují.
+
+**Prošel software externím bezpečnostním auditem?**
+
+- Pokud ne, plánuje se provedení externího auditu?
+- To se používá k určení skóre produktu z hlediska "auditu".
+
+**Má projekt program bug bounty?**
+
+- Pokud ne, plánuje se vytvoření bezpečnostního bug bounty programu?
+- To se používá k určení "bug bounty" skóre produktu.
+
+#### Nástroje pro uzly nebo klienty {#node-or-client-tooling}
+
+Pro softwarové produkty související s nastavením, správou nebo migrací uzlů nebo klientů:
+
+**Kteří klienti konsensuální vrstvy (tj. Lighthouse, Teku, Nimbus, Prysm, Grandine) jsou podporováni?**
+
+- Kteří klienti jsou podporováni? Může si uživatel vybrat?
+- To se používá k určení skóre produktu "multi-client".
+
+#### Uzamčení jako služba {#staking-as-a-service}
+
+Pro [seznamy uzamčení jako služby](/staking/saas/) (tj. delegovaný provoz uzlů):
+
+**Jaké jsou poplatky spojené s používáním služby?**
+
+- Jaká je struktura poplatků, např. platí se za službu měsíční poplatek?
+- Nějaké další požadavky na uzamčení?
+
+**Musí se uživatelé registrovat k účtu?**
+
+- Může někdo službu používat bez povolení nebo KYC?
+- To se používá k určení "permissionless" skóre produktu.
+
+**Kdo drží podpisové klíče a klíče pro výběr?**
+
+- K jakým klíčům si uživatel ponechává přístup? K jakým klíčům získá přístup služba?
+- To se používá k určení "trustless" skóre produktu.
+
+**Jaká je klientská diverzita provozovaných uzlů?**
+
+- Jaké procento klíčů validátorů je provozováno většinovým klientem konsensuální vrstvy (CL)?
+- Při poslední úpravě byl Prysm klientem konsensuální vrstvy, kterého provozovala většina operátorů uzlů, což je pro síť nebezpečné. Pokud jakýkoli klient konsensuální vrstvy v současné době používá více než 33 % sítě, požadujeme údaje týkající se jeho používání.
+- To se používá k určení skóre produktu z hlediska "diverzity klientů".
+
+#### Pool pro uzamčení {#staking-pool}
+
+Pro [služby sdruženého uzamčení](/staking/pools/):
+
+**Jaké je minimální množství ETH potřebné k uzamčení?**
+
+- např. 0,01 ETH
+
+**Jaké jsou s tím spojené poplatky nebo požadavky na uzamčení?**
+
+- Jaké procento odměn je odebráno na poplatcích?
+- Nějaké další požadavky na uzamčení?
+
+**Existuje token likvidity?**
+
+- O jaké tokeny se jedná? Jak fungují? Jaké jsou adresy kontraktů?
+- To se používá k určení skóre produktu z hlediska "tokenu likvidity".
+
+**Mohou se uživatelé účastnit jako operátoři uzlů?**
+
+- Co je potřeba k provozování validátorských klientů s využitím sdružených prostředků?
+- Vyžaduje to povolení od jednotlivce, společnosti nebo DAO?
+- To se používá k určení skóre produktu z hlediska "permissionless uzlů".
+
+**Jaká je klientská diverzita operátorů uzlů v poolu?**
+
+- Jaké procento operátorů uzlů provozuje většinového klienta konsensuální vrstvy (CL)?
+- Při poslední úpravě byl Prysm klientem konsensuální vrstvy, kterého provozovala většina operátorů uzlů, což je pro síť nebezpečné. Pokud jakýkoli klient konsensuální vrstvy v současné době používá více než 33 % sítě, požadujeme údaje týkající se jeho používání.
+- To se používá k určení skóre produktu z hlediska "diverzity klientů".
+
+### Další kritéria: užitečné vlastnosti {#other-criteria}
+
+**Jaká uživatelská rozhraní jsou podporována?**
+
+- tj. prohlížečová aplikace, desktopová aplikace, mobilní aplikace, CLI
+
+**Poskytuje software u nástrojů pro uzly snadný způsob přepínání mezi klienty?**
+
+- Může uživatel pomocí nástroje snadno a bezpečně měnit klienty?
+
+**Kolik validátorů v současné době provozuje služba v rámci SaaS?**
+
+- To nám dává představu o dosavadním dosahu vaší služby.
+
+## Jak zobrazujeme výsledky {#product-ordering}
+
+Výše uvedená [kritéria pro zařazení](#criteria-for-inclusion) se používají k výpočtu kumulativního skóre pro každý produkt nebo službu. Používá se jako prostředek pro třídění a prezentaci produktů, které splňují určitá objektivní kritéria. Čím více kritérií je doloženo, tím výše bude produkt zařazen, přičemž v případě shody se pořadí při načtení náhodně zamíchá.
+
+Logika kódu a váhy pro tato kritéria jsou v současné době obsaženy v [této komponentě JavaScriptu](https://github.com/ethereum/ethereum-org-website/blob/dev/src/components/Staking/StakingProductsCardGrid.js#L350) v našem repozitáři.
+
+## Přidejte svůj produkt nebo službu {#add-product}
+
+Pokud chcete na ethereum.org přidat produkt nebo službu pro uzamčení, vytvořte problém na GitHubu.
+
+
+ Vytvořit issue
+
diff --git a/public/content/translations/cs/contributing/adding-wallets/index.md b/public/content/translations/cs/contributing/adding-wallets/index.md
new file mode 100644
index 00000000000..bdf04ebc920
--- /dev/null
+++ b/public/content/translations/cs/contributing/adding-wallets/index.md
@@ -0,0 +1,80 @@
+---
+title: Přidávání peněženek
+description: Zásady, které používáme při přidávání peněženek na ethereum.org
+lang: cs
+---
+
+# Přidávání peněženek {#adding-wallets}
+
+Chceme se ujistit, že ukazujeme různé peněženky pokrývající bohatou nabídku funkcí, aby se uživatelé mohli na Ethereu s jistotou orientovat.
+
+Kdokoli může na stránkách ethereum.org navrhnout peněženku. Pokud jsme nějakou peněženku přehlédli, prosím, navrhněte ji!
+
+Peněženky jsou v současné době uvedeny na:
+
+- [ethereum.org/wallets/find-wallet/](/wallets/find-wallet/)
+
+Peněženky se na Ethereu rychle mění. Snažili jsme se vytvořit spravedlivý framework pro posuzování na ethereum.org, ale kritéria pro zařazení do seznamu se budou časem měnit a vyvíjet.
+
+## Rozhodovací rámec {#the-decision-framework}
+
+### Kritéria pro zařazení: povinné vlastnosti {#the-must-haves}
+
+- **Produkt otestovaný z hlediska bezpečnosti** – ať už prostřednictvím auditu, interního bezpečnostního týmu, otevřeného zdrojového kódu nebo jiné metody, bezpečnost vaší peněženky musí být spolehlivá. Snižujete tím riziko pro naše uživatele a dáváte nám najevo, že zabezpečení berete vážně.
+- **Peněženka, která je v provozu déle než šest měsíců NEBO ji vydala skupina s dobrou pověstí** – to je další ukazatel bezpečnosti. 6 měsíců je dostatečná doba na to, aby byly nalezeny kritické chyby a zneužití. Požadujeme šest měsíců, abychom pomohli odfiltrovat forky, které jsou jako projekty rychle opuštěny.
+- **Pracuje na ní aktivní tým** – pomáhá to zajistit kvalitu a to, že uživatel dostane podporu ke svým dotazům.
+- **Poctivé a přesné informace o zařazení** - očekává se, že všechny navrhované seznamy z projektů budou obsahovat poctivé a přesné informace. Produkty, které zfalšují výpisy informací, například uvedou, že váš produkt je „open-source“, i když tomu tak není, budou odstraněny.
+- **Kontaktní osoba** – kontaktní osoba pro peněženku nám výrazně pomůže získat přesné informace v případě změn. Díky tomu bude aktualizace ethereum.org při shromažďování budoucích informací zvládnutelná.
+- **Transakce EIP-1559 (typ 2)** – vaše peněženka musí podporovat transakce EIP-1559 (typ 2) pro transakce na hlavní síti Etherea.
+- **Dobrý uživatelský zážitek** – přestože je UX subjektivní, pokud několik členů hlavního týmu otestuje produkt a zjistí, že je obtížné ho používat, vyhrazujeme si právo peněženku odmítnout a místo toho poskytneme užitečné návrhy na zlepšení. Důvodem je ochrana naší uživatelské základny, která se skládá převážně ze začátečníků.
+- **Zaměření na Ethereum** – peněženka musí poskytovat primárně na Ethereum zaměřený zážitek. To znamená, že Ethereum (nebo jakákoli L2) je nastaveno jako výchozí síť, aktiva ERC jsou řádně podporována a funkce jsou v souladu s ekosystémem Etherea. Peněženky, které v uživatelském rozhraní upřednostňují alternativní vrstvy 1, nebudou uvedeny.
+
+### Odstranění produktů {#product-removals}
+
+- **Aktualizované informace** – poskytovatelé peněženek jsou povinni každých 6 měsíců znovu předložit informace o své peněžence, aby byla zajištěna platnost a relevance poskytnutých informací (i když u jejich produktu nedošlo k žádným změnám). Pokud tak produktový tým neučiní, může ethereum.org projekt ze stránky odstranit.
+
+### Další kritéria: co se hodí {#the-nice-to-haves}
+
+- **Globálně přístupná** – vaše peněženka nemá geografická omezení ani požadavky KYC, které by z přístupu k vašim službám vylučovaly určité osoby.
+- **K dispozici ve více jazycích** – vaše peněženka je přeložena do více jazyků, takže k ní mají přístup uživatelé z celého světa.
+- **Open source** – všechen kód projektu (nejen moduly) musí být přístupný a měli byste přijímat pull requesty od širší komunity.
+- **Neopatrovnická** – uživatelé mají své prostředky pod kontrolou. Pokud váš produkt zmizí, uživatelé mají stále přístup ke svým prostředkům a mohou je přesunout.
+- **Podpora hardwarových peněženek** – uživatelé mohou připojit svou hardwarovou peněženku a podepisovat transakce.
+- **WalletConnect** – uživatelé se mohou připojit k dapps pomocí WalletConnect.
+- **Importování RPC koncových bodů Etherea** – uživatelé mohou importovat data RPC uzlů, což jim umožní připojit se k vybranému uzlu nebo k jiným sítím kompatibilním s EVM.
+- **NFTs** – uživatelé mohou v peněžence prohlížet své NFT a pracovat s nimi.
+- **Připojení k aplikacím Etherea** – uživatelé se mohou připojit k aplikacím Etherea a používat je.
+- **Stakování** – uživatelé mohou stakovat přímo prostřednictvím peněženky.
+- **Směny** – uživatelé mohou směňovat tokeny prostřednictvím peněženky.
+- **Multichainové sítě** – vaše peněženka ve výchozím nastavení podporuje přístup uživatelů k více blockchainovým sítím.
+- **Sítě druhé vrstvy** – vaše peněženka ve výchozím nastavení podporuje přístup uživatelů k sítím druhé vrstvy.
+- **Přizpůsobení poplatků za palivo** – vaše peněženka umožňuje uživatelům přizpůsobit si transakční poplatky za palivo (základní poplatek, prioritní poplatek, maximální poplatek).
+- **Podpora ENS** – vaše peněženka umožňuje uživatelům posílat transakce na jména ENS.
+- **Podpora ERC-20** – vaše peněženka umožňuje uživatelům importovat kontrakty tokenů ERC-20 nebo automaticky vyhledává a zobrazuje tokeny ERC-20.
+- **Nákup kryptoměn** – vaše peněženka podporuje přímý nákup kryptoměn a usnadňuje uživatelům vstup do světa krypta.
+- **Prodej za fiat** – vaše peněženka podporuje prodej za fiat a výběr přímo na kartu nebo bankovní účet.
+- **Multisig** – vaše peněženka podporuje více podpisů k podepsání transakce.
+- **Sociální obnovení** – vaše peněženka podporuje strážce a uživatel může pomocí těchto strážců obnovit svou peněženku, pokud ztratí bezpečnostní frázi.
+- **Specializovaný tým podpory** – vaše peněženka má specializovaný tým podpory, na který se uživatelé mohou obrátit v případě problémů.
+- **Vzdělávací zdroje / dokumentace** – váš produkt by měl mít dobře navržené vstupní prostředí, které uživatelům pomáhá a vzdělává je. Nebo důkazy o obsahu s návody, jako jsou články nebo videa.
+
+## Přidání peněženky {#adding-a-wallet}
+
+Pokud chcete přidat peněženku na ethereum.org, vytvořte problém na GitHubu.
+
+
+ Vytvořit issue
+
+
+## Údržba {#maintenance}
+
+Jak už to na Ethereu bývá, týmy a produkty přicházejí a odcházejí a denně dochází k inovacím, proto budeme provádět rutinní kontroly našeho obsahu:
+
+- zajistíme, aby všechny uvedené peněženky a dappky stále splňovaly naše kritéria
+- ověříme, zda nebyly navrženy produkty, které by splňovaly více našich kritérií než ty, které jsou v současné době uvedeny
+
+ethereum.org je spravováno open source komunitou a spoléháme na to, že komunita pomůže udržovat tento web aktuální. Pokud si všimnete, že je třeba aktualizovat nějaké informace o uvedených peněženkách, prosím [nahlaste problém](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=wallet+%3Apurse%3A&template=suggest_wallet.yaml) nebo [vytvořte pull request](https://github.com/ethereum/ethereum-org-website/pulls)!
+
+## Podmínky použití {#terms-of-use}
+
+Přečtěte si také naše [podmínky používání](/terms-of-use/). Informace na ethereum.org jsou poskytovány výhradně pro obecné informační účely.
diff --git a/public/content/translations/cs/contributing/content-resources/index.md b/public/content/translations/cs/contributing/content-resources/index.md
new file mode 100644
index 00000000000..9936c47baa0
--- /dev/null
+++ b/public/content/translations/cs/contributing/content-resources/index.md
@@ -0,0 +1,32 @@
+---
+title: Přidávání zdrojů obsahu
+lang: cs
+description: Naše kritéria pro přidávání zdrojů obsahu na ethereum.org
+---
+
+# Přidávání zdrojů obsahu {#adding-content-resources}
+
+Nemůžeme doufat, že se budeme věnovat všemu, co se týká Etherea, a proto se snažíme představit některé z vynikajících článků, návodů, zpravodajů, pracovních nástěnek a různých zdrojů obsahu, které komunita vytváří. Ty často poskytují podrobnější informace o tématech, která mohou uživatele zajímat.
+
+Pokud si myslíte, že by na stránku měl být přidán nějaký zdroj obsahu, neváhejte ho na vhodném místě navrhnout.
+
+## Jak se rozhodujeme {#how-we-decide}
+
+Zdroje obsahu budou posuzovány podle následujících kritérií:
+
+- Je obsah aktuální?
+- Je obsah zpoplatněn?
+- Jsou informace přesné? Jsou založeny na faktech nebo názorech?
+- Je autor důvěryhodný? Odkazují na své zdroje?
+- Přináší tento obsah výraznou přidanou hodnotu, kterou stávající zdroje / odkazy nepokrývají?
+- Slouží tento obsah jedné z našich [uživatelských person](https://www.notion.so/efdn/Ethereum-org-User-Persona-Memo-b44dc1e89152457a87ba872b0dfa366c)?
+
+---
+
+## Přidejte svůj zdroj obsahu {#add-your-content-resource}
+
+Pokud chcete přidat zdroj obsahu na ethereum.org a splňujete kritéria, vytvořte problém na GitHubu.
+
+
+ Vytvořit issue
+
diff --git a/public/content/translations/cs/contributing/design-principles/index.md b/public/content/translations/cs/contributing/design-principles/index.md
index fab0828cb1b..c2f83af2b93 100644
--- a/public/content/translations/cs/contributing/design-principles/index.md
+++ b/public/content/translations/cs/contributing/design-principles/index.md
@@ -10,21 +10,21 @@ description: Principy, které stojí za designem a obsahem na ethereum.org
Naše zásady určují vzhled webu a obsah, který na něm najdete.
-Měli byste si je přečíst, než začnete [přispívat na ethereum.org](/contributing/).
+Měli byste si je přečíst, než [začnete přispívat na ethereum.org](/contributing/).
## Co jsou principy designu? {#ways-to-contribute}
-Nebojte se, jsou docela jednoduché! **Principy designu** se myslí soubor pokynů, kterými se řídíme, když něco navrhujeme (tj. vytváříme, udržujeme nebo aktualizujeme).
+Nebojte se, jsou docela jednoduché! **Principy designu** jsou souborem pokynů, kterými se řídíme při navrhování (tj. vytváření, údržbě nebo aktualizaci) něčeho.
-V kontextu ethereum.org jsou tyto principy designu základem toho, co chceme, aby web reprezentoval a ukazoval světu. Jsou aspirační **a zároveň** funkční. Nejde jen o to, jak web _vypadá_, ale také o to, jak _funguje_, a dokonce i o to, jak se na něm někdo _cítí._ Těmito principy by se mělo řídit vše, od barev přes rozvržení stránek až po to, jak na webu o Ethereu mluvíme.
+V kontextu ethereum.org jsou tyto principy designu základem toho, co chceme, aby web reprezentoval a ukazoval světu. Jsou aspirační **a zároveň** funkční. Nejde jen o to, jak web _vypadá_, ale také o to, jak _funguje_ a dokonce i o to, jak se na něm někdo _cítí._ Těmito principy by se mělo řídit vše, od barev přes rozvržení stránek až po to, jak na webu o Ethereu mluvíme.
## Principy v praxi {#how-decisions-about-the-site-are-made}
Podívejme se na přiklad. Jedním z principů je „Důvěryhodný“, což znamená, že chceme, aby návštěvníci stránek _cítili_ a _věděli_, že stránky jsou důvěryhodné – stejně jako širší ekosystém Etherea. V rámci tohoto principu máme 3 funkční „dílčí principy“, které považujeme za realizovatelné kroky, které můžeme podniknout, aby byl web důvěryhodný:
- _„Čerstvý“_, tj. udržovat obsah aktuální.
-- _„Společenský důkaz“_, tj. ukázat velikost, rozmanitost a aktivitu ekosystému (však víte: pokrok v upgradu Etherea, DeFi, hry, všechny hackathony atd.)
-- _„Konzistentní“_, tj. konzistentní design stránek a tón a přesnost psaní.
+- _„Společenský důkaz“_, tj. ukázat velikost, rozmanitost a aktivitu ekosystému (však víte: pokrok ve vylepšení Etherea, DeFi, hry, všechny hackathony atd.)
+- _„Konzistentní“_, tj. konzistentnost designu stránek, tónu a přesnosti psaní.
Když se tedy rozhodujeme o designu nebo o copywritingu, můžeme se odvolat na princip „Důvěryhodný“ a zeptat se:
@@ -47,7 +47,7 @@ Vizuální směřování • Obsah
Ethereum je globální, decentralizovaný projekt a naše publikum to odráží. Stránky by měly být přístupné všem a měly by zohledňovat rozmanitost světových kultur.
-- **Přístupné:** Stránky by měly splňovat pokyny pro přístupnost – včetně stránek pro osoby s malou šířkou pásma.
+- **Přístupné:** Stránky by měly splňovat pokyny pro přístupnost – včetně pro osoby s malou šířkou pásma.
- **Přímočaré:** Stránky by měly být jednoduché a jednoznačné. Kopie by neměla používat jazyk, který by mohl být špatně interpretován nebo ztracen v překladu.
- **Ethereum má mnoho tváří:** Ethereum je projekt, kódová základna, komunita a vize. Ethereum má pro různé lidi hodnotu z různých důvodů a existuje mnoho způsobů, jak se do něj zapojit.
@@ -57,12 +57,12 @@ Systémy psaní • Použití barev • Vizuální směřování • Obsah
Stránky by měly fungovat jako dobrý příběh. Návštěvníci jsou na cestě a obsah, který do ní vkládáte, je její součástí. Vaše příspěvky by měly zapadat do jasného příběhu: s počátkem (úvod), středem (soubor poznatků a postřehů) a koncem (odkaz(y) na příslušné zdroje nebo další kroky).
-- **Hierarchické**: Přehledná, hierarchicky strukturovaná informační architektura pomáhá návštěvníkům ethereum.org procházet webem „jako příběhem“ při hledání jejich cílů.
+- **Hierarchické**: Přehledná, hierarchicky strukturovaná informační architektura pomáhá návštěvníkům ethereum.org procházet webem „jako příběhem“, když se snaží dosáhnout svých cílů.
- **Odrazový můstek:** Jsme odrazovým můstkem pro každého, kdo hledá odpovědi. Nechceme nahradit ani se stát náhradou mnoha již existujících zdrojů. Poskytujeme odpovědi a další spolehlivé kroky.
Cesty uživatelů • Obsah
-### 4. Důvěryhodný {#4-credible}
+### 4. Důvěryhodné {#4-credible}
Někteří lidé se mohou chtít seznámit s ekosystémem Etherea nebo někteří mohou být skeptici. Uvědomte si tuto odpovědnost v tom, jak komunikujete. Zajistěte, aby oba odcházeli s větší důvěrou v ekosystém Etherea.
@@ -77,7 +77,7 @@ Vizuální směřování • Obsah
Tyto webové stránky jsou výsledkem práce mnoha přispěvatelů, stejně jako celý ekosystém.
- **Otevřené:** Oslavujte transparentnost zdrojového kódu, procesů a projektů v celém ekosystému.
-- **Rozšiřitelné:** Modularita je hlavním cílem všeho, co děláme, a proto by i příspěvky měly být modulární. Základní design, kód komponentů a implementace webu by měla umožnit jeho snadné rozšíření v budoucnu.
+- **Rozšiřitelné:** Modularita je klíčovým zaměřením všeho, co děláme, a proto by i příspěvky měly být modulární. Základní design, kód komponentů a implementace webu by měla umožnit jeho snadné rozšíření v budoucnu.
- **Experimentální:** Neustále experimentujeme, testujeme a iterujeme.
- **Spolupráce:** Tento projekt nás všechny spojuje.
- **Udržitelné:** Příprava na dlouhodobou údržbu komunitou
@@ -86,8 +86,8 @@ Naše principy designu můžete vidět v praxi [na celém našem webu](/).
## Poskytněte zpětnou vazbu {#give-feedback}
-**Podělte se o své připomínky k tomuto dokumentu!** Jedním z našich navrhovaných principů je „**Společné zlepšování**“, což znamená, že chceme, aby webové stránky byly výsledkem práce mnoha přispěvatelů. V duchu tohoto principu se proto chceme o tyto principy podělit s komunitou Etherea.
+**Podělte se o své připomínky k tomuto dokumentu!** Jedním z našich navrhovaných principů je „Společné zlepšování“, což znamená, že chceme, aby webové stránky byly výsledkem práce mnoha přispěvatelů. V duchu tohoto principu se proto chceme o tyto principy podělit s komunitou Etherea.
-Ačkoli jsou tyto principy zaměřeny na web ethereum.org, doufáme, že mnoho z nich reprezentují hodnoty ekosystému Etherea jako celku. Možná byste některé z nich dokonce chtěli začlenit do svého vlastního projektu!
+Ačkoli jsou tyto principy zaměřeny na web ethereum.org, doufáme, že mnohé z nich představují hodnoty ekosystému Ethereum jako celku. Možná byste některé z nich dokonce chtěli začlenit do svého vlastního projektu!
-Dejte nám vědět své názory na [Discord serveru](https://discord.gg/ethereum-org) nebo [vytvořením problému](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=).
+Dejte nám vědět, co si myslíte, na našem [serveru Discord](https://discord.gg/ethereum-org) nebo [vytvořením issue](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=).
diff --git a/public/content/translations/cs/contributing/design/adding-design-resources/index.md b/public/content/translations/cs/contributing/design/adding-design-resources/index.md
new file mode 100644
index 00000000000..604bc90bc96
--- /dev/null
+++ b/public/content/translations/cs/contributing/design/adding-design-resources/index.md
@@ -0,0 +1,69 @@
+---
+title: Přidávání návrhových zdrojů
+description: Pokyny a požadavky pro zajištění kvality návrhových materiálů na ethereum.org
+lang: cs
+---
+
+# Přidání designových zdrojů {#adding-design-resources}
+
+Kdokoli může navrhnout nové designové materiály na [stránku Design a UX ve web3](/developers/docs/design-and-ux/).
+
+Uvědomte si, že tato stránka se zaměřuje na poskytování uživatelské hodnoty začínajícím návrhářům webu3. Sekce návrhu neslouží k propagaci vašich služeb, produktů nebo platforem.
+
+Abychom zajistili zachování vysokého standardu informací a podpořili cenné poznatky, zavedli jsme zásady pro zařazování:
+
+## Výzkumné studie a dashboardy {#Research-studies}
+
+1. Rozumná metodika
+
+a. Metodika by měla jasně definovat způsob sběru dat.
+
+b. Měl by být uveden počet účastníků zapojených do výzkumu.
+
+c. Měly by být popsány použité výzkumné metody.
+
+2. Význam pro Web3 návrháře a běžné případy použití návrhu
+
+a. Téma výzkumu by mělo být relevantní pro web3 návrháře a mělo by se týkat běžných případů použití návrhu.
+
+3. Zaměření na poskytování informací
+
+a. Hlavním cílem textu by mělo být sdílení poznatků, nikoli propagace konkrétního projektu nebo společnosti.
+
+## Články {#Articles}
+
+1. Význam pro Web3 návrháře / výzkumníky a běžné případy použití návrhu Web3
+
+a. Téma článku by mělo být relevantní pro web3 návrháře a výzkumníky a mělo by se zaměřovat na běžné případy použití návrhu web3.
+
+2. Základní kvalita psaní
+
+a. Článek by měl být bez gramatických a pravopisných chyb.
+
+b. Důraz by měl být kladen na poskytování klíčových poznatků a zkušeností.
+
+c. Styl psaní by měl být stručný a přímočarý.
+
+3. Cíl textu
+
+a. Hlavním cílem článku by mělo být sdílení poznatků, nikoli propagace konkrétního projektu nebo společnosti.
+
+## Komunity / DAO {#Communities-and-DAOs}
+
+1. Na webových stránkách musí být jasně uvedeno, jak se do DAO / komunity zapojit
+
+2. Jasné výhody členství
+
+a. Výhody členství by měly být viditelně uvedeny.
+
+**Příklady**: získávání zpětné vazby k práci, přístup k pracovním příležitostem nebo odměnám, sdílení poznatků o návrhu a výzkumu.
+
+3. Aktivní a živá komunikace na Discordu
+
+a. Komunita na Discordu by se měla vyznačovat živou a angažovanou komunikací.
+
+b. Moderátoři by se měli aktivně podílet na udržování komunity a usnadňování diskusí.
+
+c. Komunita by měla prokázat, že v posledních dvou týdnech vedla hodnotné a produktivní rozhovory.
+
+Dodržováním těchto kritérií chceme v naší komunitě podporovat prosperující prostředí pro sdílení znalostí. Věříme, že tato politika whitelistingu zajistí našim uživatelům přístup ke spolehlivým, relevantním a přehledným zdrojům. Děkujeme vám za pochopení a spolupráci při udržování kvality obsahu naší platformy.
diff --git a/public/content/translations/cs/contributing/design/index.md b/public/content/translations/cs/contributing/design/index.md
index de4df16fc13..6c40a44225f 100644
--- a/public/content/translations/cs/contributing/design/index.md
+++ b/public/content/translations/cs/contributing/design/index.md
@@ -4,7 +4,7 @@ description: Přispívání designem na ethereum.org
lang: cs
---
-# Přispívání designem na ethereum.org {#design-contributions}
+# Příspěvek k designu ethereum.org {#design-contributions}
Design je důležitou součástí každého projektu a věnováním svého času a designérských dovedností do ethereum.org můžete přispět ke zlepšení uživatelského komfortu našich návštěvníků. Přispívání do open-source projektů je příležitostí k získání relevantních zkušeností a rozvoji dovedností v prostředí spolupráce. Budete mít možnost spolupracovat s dalšími designéry, vývojáři a členy komunity, kteří budou mít své vlastní jedinečné pohledy a postřehy.
@@ -12,15 +12,15 @@ Hlavně je to skvělý způsob, jak si vytvořit rozmanité a působivé portfol
## Jak přispívat?
-### Poskytujte zpětnou vazbu k návrhovým prototypům {#design-critique}
+### Poskytněte zpětnou vazbu k prvotním prototypům designu {#design-critique}
Někdy potřebujeme pomoc při testování našich hrubých představ. Toto je skvělý způsob, jak přispět bez jakýchkoli technických znalostí.
-1. Návrhářský tým bude sdílet prototyp návrhu na [Discordu](https://discord.com/invite/ethereum-org) a na [GitHubu](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
+1. Designérský tým bude sdílet mockup designu na [Discordu](https://discord.com/invite/ethereum-org) a na [GitHubu](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
2. Budete provedeni návrhy, abyste mohli poskytnout zpětnou vazbu prostřednictvím funkce komentářů.
3. O výsledek se podělíme v problému na GitHubu a tým ho poté uzavře.
-### Účastněte se průzkumů {#answer-surveys}
+### Zúčastněte se průzkumů {#answer-surveys}
Poskytněte nám zpětnou vazbu k našim webovým stránkám tím, že:
@@ -34,44 +34,44 @@ ethereum.org je rychle rostoucí webová stránka s mnoha funkcemi a obsahem. N
1. Projděte si webové stránky a věnujte pozornost jejich designu.
2. Pokud najdete nějaké vizuální problémy nebo problémy s UX, pořiďte si snímky obrazovky a poznámky.
-3. Nalezené problémy nahlaste pomocí [hlášení chyby](https://github.com/ethereum/ethereum-org-website/issues/new/choose).
+3. Nalezené problémy nahlaste pomocí [hlášení o chybě](https://github.com/ethereum/ethereum-org-website/issues/new/choose).
-### Navrhněte změny designu {#propose-design-changes}
+### Navrhněte změny v designu {#propose-design-changes}
-Pokud se na to cítíte, můžete navštívit naši nástěnku problémů na GitHubu a vyfiltrovat [problémy týkající se designu](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
+Pokud si troufáte na designérské výzvy, můžete navštívit naši nástěnku s problémy na GitHubu a vyfiltrovat [problémy související s designem](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
-1. Projděte si naše webové stránky a věnujte pozornost jejich designu nebo přejděte do našeho GitHub repozitáře a prohlédněte si problémy označené štítkem [„Design požadován“](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
-2. Vymyslete řešení a navrhněte ho. (ideálně pomocí našeho [návrhového systému](https://www.figma.com/community/file/1134414495420383395)).
-3. Předložte řešení do příslušného GitHub problému nebo [vytvořte nový problém.](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A&template=feature_request.yaml&title=Feature+request)
+1. Projděte si naše webové stránky a věnujte pozornost jejich designu nebo přejděte do našeho repozitáře na GitHubu a prohlédněte si problémy označené štítkem [„Design required“](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
+2. Vymyslete řešení a navrhněte ho. (ideálně s použitím našeho [systému designu](https://www.figma.com/community/file/1134414495420383395)).
+3. Navrhněte řešení v příslušném problému na GitHubu nebo [vytvořte nový.](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A&template=feature_request.yaml&title=Feature+request)
4. Počkejte, až tým návrhářů provede kontrolu.
-### Podílejte se na tvoření návrhového systému {#Contribute-to-design-system}
+### Budujte s námi systém designu {#Contribute-to-design-system}
Díky našemu návrhovému systému je navrhování ethereum.org zábavné a snadné. Pokud jste zkušený designér, můžete nám pomoci připravit mnoho komponentů pro webové stránky.
-1. Vyberte problém, na kterém chcete pracovat, z [nástěnky návrhového systému](https://github.com/ethereum/ethereum-org-website/labels/design%20system) na GitHubu nebo vytvořte nový.
+1. Vyberte si problém, na kterém budete pracovat, z [nástěnky systému designu](https://github.com/ethereum/ethereum-org-website/labels/design%20system) na GitHubu, nebo vytvořte nový.
2. Požádejte o přidělení vybraného problému.
3. Začněte navrhovat požadovaný komponent v programu Figma.
4. Jakmile budete potřebovat revizi nebo pokyny, kontaktujte tým návrhářů na GitHubu.
5. Tým návrhářů váš návrh posoudí.
6. Tým návrhářů zapracuje změny do hlavního souboru a zveřejní jej pro komunitu.
-### Pište na webové stránky obsah související s designem {#write-design-articles}
+### Pište na web obsah související s designem {#write-design-articles}
-Komunita vývojářů Etherea je silná, ale komunita designérů mírně zaostává. Pokud jste designér se znalostmi webu3, zvažte prosím sdílení svých poznatků s širší komunitou, abychom mohli všichni společně růst a zlepšovat se; máme [stránku o designu pro Ethereum](/developers/docs/design-and-ux/), na kterou můžete přispět. Můžete se také podívat na naše [zásady uvedení](/contributing/design/adding-design-resources).
+Komunita vývojářů Etherea je silná, ale komunita designérů mírně zaostává. Pokud jste designér se znalostmi webu3, zvažte prosím sdílení svých poznatků s širší komunitou, abychom mohli všichni společně růst a zlepšovat se; máme [stránku o designu pro Ethereum](/developers/docs/design-and-ux/), na kterou můžete přispět. Můžete se také podívat na naše [zásady pro zařazování do seznamu](/contributing/design/adding-design-resources).
1. Vymyslete témata designu, která by měla být zahrnuta na ethereum.org a byla by přínosná pro designéry v této oblasti.
-2. Přejděte do našeho GitHub repozitáře a [vytvořte problém](https://github.com/ethereum/ethereum-org-website/issues/new) s návrhem tématu (zatím nepište obsah).
+2. Přejděte do našeho repozitáře na GitHubu a [založte problém](https://github.com/ethereum/ethereum-org-website/issues/new) s návrhem tématu (obsah zatím nepište).
3. Počkejte, až ho tým návrhářů schválí.
4. Po schválení napište obsah.
5. Zašlete ho do příslušného problému na GitHubu.
-### Nakreslete nové ilustrace {#prepare-illustrations}
+### Kreslete nové ilustrace {#prepare-illustrations}
Vizualizace jsou jedním z nejúčinnějších nástrojů pro vysvětlení abstraktních témat. Přidáním diagramů a infografiky se otevírá obrovský potenciál. Jak se říká, jeden obrázek může říci tisíc slov.
1. Přejděte na naše webové stránky a podívejte se na stránky, kde by mohly být přidány nové infografiky.
2. Ujistěte se, že styl ilustrace odpovídá našim [zdrojům](/assets/).
-3. Přejděte na náš GitHub repozitář a [vytvořte problém](https://github.com/ethereum/ethereum-org-website/issues/new) s návrhem ilustrace.
+3. Přejděte do našeho repozitáře na GitHubu a [založte problém](https://github.com/ethereum/ethereum-org-website/issues/new) s návrhem ilustrace.
4. Tým návrhářů vaši ilustraci posoudí.
5. Vytvoříme nový problém a požádáme vývojáře o implementaci nové ilustrace.
diff --git a/public/content/translations/cs/contributing/index.md b/public/content/translations/cs/contributing/index.md
index 2a63dead5f2..70d68ec28cc 100644
--- a/public/content/translations/cs/contributing/index.md
+++ b/public/content/translations/cs/contributing/index.md
@@ -6,40 +6,46 @@ lang: cs
# Přispívání na ethereum.org 🦄 {#contributing-to-ethereumorg}
-Ethereum.org je open-source projekt s **více než 12 000** přispěvateli, kteří pomáhají překládat, psát, navrhovat a udržovat webové stránky.
+Ethereum.org je open-source projekt s více než **12 000** přispěvateli, kteří pomáhají překládat, psát, navrhovat a udržovat webové stránky.
Jsme přátelská komunita, která vám pomůže rozvíjet se a vzdělávat v ekosystému Etherea a zároveň smysluplně přispívat a získávat relevantní praktické zkušenosti!
-## Způsoby, jak přispívat {#ways-to-contribute}
+## Jak přispívat {#ways-to-contribute}
**Překlady**
-- [Připojte se k překladatelskému programu](/contributing/translation-program/) – pomozte nám přenést ethereum.org do nových jazyků
+
+- [Zapojte se do překladatelského programu](/contributing/translation-program/) – Pomozte nám přinést ethereum.org do nových jazyků
**Vývoj**
-- [Pracujte na otevřeném problému](https://github.com/ethereum/ethereum-org-website/issues) – problém, který jsme identifikovali a který je třeba vyřešit
+
+- [Pracujte na otevřeném problému](https://github.com/ethereum/ethereum-org-website/issues) – Práce, o které víme, že je potřeba udělat
**Design**
-- [Pomozte s designem webových stránek](/contributing/design/) – designéři všech úrovní mohou přispět ke zlepšení webových stránek
+
+- [Pomozte s designem webu](/contributing/design/) – Designéři všech úrovní mohou přispět ke zlepšení webových stránek
**Obsah**
-- [Vytvářejte/upravujte obsah](/contributing/#how-to-update-content) – navrhněte nové stránky nebo upravte ty, které zde již jsou
-- [Přidejte komunitní zdroje](/contributing/content-resources/) – přidejte užitečný článek nebo zdroje na příslušnou stránku
-- [Navrhněte zdroj návrhu](/contributing/design/adding-design-resources/) – přidejte, aktualizujte a mažte užitečné zdroje designu
-- [Kvízy](/contributing/quizzes/) – přidejte, aktualizujte a mažte ze sbírky kvízových otázek pro příslušnou stránku
+
+- [Vytvářejte/upravujte obsah](/contributing/#how-to-update-content) – Navrhněte nové stránky nebo vylepšete ty stávající
+- [Přidejte komunitní zdroje](/contributing/content-resources/) – Přidejte užitečný článek nebo zdroj na příslušnou stránku
+- [Navrhněte designový zdroj](/contributing/design/adding-design-resources/) – Přidejte, aktualizujte a mažte užitečné designové zdroje
+- [Kvízy](/contributing/quizzes/) – Přidávejte, aktualizujte a mažte banky kvízových otázek pro příslušnou stránku
**Nápady na funkce**
-- [Požádat o funkci](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) – dejte nám vědět o svých nápadech na novou funkci nebo design
+
+- [Požádejte o funkci](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) – Dejte nám vědět o svých nápadech na novou funkci nebo design
**Seznam produktů**
-- [Přidejte burzu](/contributing/adding-exchanges/) – přidejte burzu do našeho [vyhledávače burz](/get-eth/#country-picker)
-- [Přidejte produkt](/contributing/adding-products/) – přidejte dappku nebo peněženku na příslušnou stránku
-- [Přidejte nástroje pro vývojáře](/contributing/adding-developer-tools/) – přidejte nástroje pro vývojáře na příslušnou stránku
-- [Přidejte vrstvu 2](/contributing/adding-layer-2s/) – přidejte vrstvu 2 na příslušnou stránku
-- [Přidejte stakingový produkt nebo službu](/contributing/adding-staking-products/) – přidejte projekt, který pomáhá usnadnit individuální staking, sdružený staking nebo staking jako službu
-- [Přidejte peněženku](/contributing/adding-wallets/) – přidejte peněženku na stránku [vyhledat peněženky](/wallets/find-wallet/)
-- [Navrhněte projekt pro naši stránku o DeSci](/contributing/adding-desci-projects/) – přidejte projekt postavený na Ethereu, který přispívá k decentralizované vědě
-Nějaké dotazy? 🤔 Připojte se k našemu [Discord serveru](https://discord.gg/ethereum-org)
+- [Přidejte burzu](/contributing/adding-exchanges/) – Přidejte burzu do našeho [vyhledávače burz](/get-eth/#country-picker)
+- [Přidejte produkt](/contributing/adding-products/) – Přidejte dapp nebo peněženku na příslušnou stránku
+- [Přidejte vývojářské nástroje](/contributing/adding-developer-tools/) – Přidejte vývojářský nástroj na příslušnou stránku
+- [Přidejte druhou vrstvu](/contributing/adding-layer-2s/) – Přidejte druhou vrstvu na příslušnou stránku
+- [Přidejte stakingový produkt nebo službu](/contributing/adding-staking-products/) – Přidejte projekt, který pomáhá usnadnit sólo staking, sdružený staking nebo staking jako službu
+- [Přidejte peněženku](/contributing/adding-wallets/) – Přidejte peněženku na [stránku pro vyhledání peněženek](/wallets/find-wallet/)
+- [Navrhněte projekt pro naši stránku DeSci](/contributing/adding-desci-projects/) – Přidejte projekt postavený na Ethereu, který přispívá k decentralizované vědě
+
+Nějaké dotazy? 🤔 Připojte se na náš [server na Discordu](https://discord.gg/ethereum-org)
## Kde začít s příspíváním
@@ -51,63 +57,63 @@ Toto je několik aktuálních úkolů, které byste nám mohli pomoci vyřešit
## Jak pracovat na ethereum.org {#how-to-update-content}
-Pokud chcete přispět do [překladatelského programu](/contributing/translation-program/), žádáme vás, abyste si vytvořili účet na [Crowdinu](https://crowdin.com/project/ethereum-org). Pro všechno ostatní – přidávání nebo úpravy obsahu či vizuálů webu, opravy chyb, práci na otevřených úkolech – budete potřebovat [GitHub](https://github.com/) účet.
+Pokud si přejete přispívat do [Překladatelského programu](/contributing/translation-program/), žádáme vás o vytvoření účtu na [Crowdinu](https://crowdin.com/project/ethereum-org). Pro všechno ostatní – přidávání nebo úpravy obsahu či vizuálů webu, opravy chyb, práci na otevřených úkolech – budete potřebovat účet na [GitHubu](https://github.com/).
-Všechny aktualizace jsou prováděny prostřednictvím PR procesů na GitHubu. To znamená, že si vytvoříte místní kopii webu, provedete změny a požádáte o sloučení změn. Pokud jste to ještě nikdy nedělali, postupujte podle pokynů v dolní části našeho [GitHub repozitáře](https://github.com/ethereum/ethereum-org-website).
+Všechny aktualizace jsou prováděny prostřednictvím PR procesů na GitHubu. To znamená, že si vytvoříte místní kopii webu, provedete změny a požádáte o sloučení změn. Pokud jste to ještě nikdy nedělali, postupujte podle pokynů v dolní části našeho [repozitáře na GitHubu](https://github.com/ethereum/ethereum-org-website).
K práci nepotřebujete povolení, ale vždy je lepší nás informovat o tom, co plánujete dělat. To můžete udělat tak, že:
-- Okomentujete problém nebo PR na [GitHubu](https://github.com/ethereum/ethereum-org-website)
-- Napíšete nám na náš [Discord server](https://discord.gg/ethereum-org)
+- Komentování problému nebo PR na [GitHubu](https://github.com/ethereum/ethereum-org-website)
+- Posílání zpráv na našem [serveru na Discordu](https://discord.gg/ethereum-org)
Než začnete přispívat, ujistěte se, že jste obeznámeni s:
-- Vyvíjející se [vizí ethereum.org](/about/)
-- Našimi [principy designu](/contributing/design-principles/)
-- Naším [průvodcem stylem](/contributing/style-guide/)
-- Naším [etickým kodexem](/community/code-of-conduct)
+- vyvíjející se [vize ethereum.org](/about/)
+- naše [principy designu](/contributing/design-principles/)
+- náš [průvodce stylem](/contributing/style-guide/)
+- náš [kodex chování](/community/code-of-conduct)
-## Jak se rozhoduje o změnách stránek {#how-decisions-about-the-site-are-made}
+## Jak se rozhoduje o webu {#how-decisions-about-the-site-are-made}
-Rozhodnutí o jednotlivých PR, vývoji designu a významných aktualizacích přijímá tým z celého ekosystému Etherea. Tento tým zahrnuje projektové manažery, vývojáře, designéry, pracovníky v marketingu, komunikátory a odborníky na danou problematiku. Každé rozhodnutí je ovlivněno názory komunity: proto prosím vznášejte dotazy v otázkách, zasílejte PR nebo kontaktujte tým:
+Rozhodnutí o jednotlivých PR, vývoji designu a významných upgradech přijímá tým z celého ekosystému Etherea. Tento tým zahrnuje projektové manažery, vývojáře, designéry, odborníky na marketing a komunikaci a odborníky na danou problematiku. Každé rozhodnutí je podloženo zpětnou vazbou od komunity: proto prosím vznášejte dotazy v rámci problémů, zasílejte PR nebo kontaktujte tým:
- [website@ethereum.org](mailto:website@ethereum.org)
- [@ethdotorg](https://twitter.com/ethdotorg)
-- [Discord server](https://discord.gg/ethereum-org)
+- [Server na Discordu](https://discord.gg/ethereum-org)
### Poznámka k plagiátorství {#plagiarism}
-Při přispívání jakéhokoli obsahu na ethereum.org používejte pouze svou vlastní práci nebo obsah, k jehož použití máte povolení. Mnoho projektů v rámci ekosystému Etherea využívá open-source licence, které umožňují volné sdílení informací. Pokud však tyto informace nenajdete, nepokoušejte se je na ethereum.org přidat. Pull requesty, které budou považovány za plagiáty, budou zamítnuty.
+Při přispívání jakéhokoli obsahu nebo artefaktu na ethereum.org používejte pouze svou vlastní práci nebo obsah, k jehož použití máte povolení. Mnoho projektů v rámci ekosystému Etherea využívá open-source licence, které umožňují volné sdílení informací. Pokud však tyto informace nenajdete, nepokoušejte se je na ethereum.org přidat. Jakékoli pull requesty považované za plagiátorství budou zamítnuty.
-## Nováček v open-source? {#new-to-open-source}
+## Jste v open-source nováčkem? {#new-to-open-source}
-V našem GitHub repozitáři máme nízké vstupní bariéry speciálně určené pro vývojáře, kteří s open-source teprve začínají, označené [dobrý první problém](https://github.com/ethereum/ethereum-org-website/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
+V našem repozitáři na GitHubu máme problémy s nízkou vstupní bariérou, které jsou speciálně navrženy pro vývojáře, kteří s open-source začínají, a jsou označeny jako [good first issue](https://github.com/ethereum/ethereum-org-website/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
## Vyzvedněte si svůj Onchain Achievement Token (OAT) {#oat}
-Pokud bude váš příspěvek začleněn do ethereum.org, budete mít možnost získat speciální odznak na [Galxe](https://app.galxe.com/quest/ethereumorg). Onchain Achievement Token (OAT) je důkazem, že jste pomohli udělat ekosystém o něco úžasnějším.
+Pokud bude váš příspěvek začleněn do ethereum.org, budete mít možnost si vyzvednout speciální odznak na [Galxe](https://app.galxe.com/quest/ethereumorg). Onchain Achievement Token (OAT) je důkazem, že jste pomohli udělat ekosystém o něco úžasnějším.
-[Více o OATech](https://help.galxe.com/en/articles/9645630-create-quest-rewards#h_1c5d63ba03)
+[Více o OAT](https://help.galxe.com/en/articles/9645630-create-quest-rewards#h_1c5d63ba03)
-### Jak vyzvednout
-1. Připojte se k našemu [Discord serveru](https://discord.gg/ethereum-org).
+### Jak si token vyzvednout
+
+1. Připojte se na náš [server na Discordu](https://discord.gg/ethereum-org).
2. Vložte odkaz na svůj příspěvek do kanálu `#🥇 | proof-of-contribution`.
3. Počkejte, až vám člen našeho týmu zašle odkaz na váš OAT.
4. Vyzvedněte si svůj OAT!
-K uplatnění nároku na OAT byste měli používat pouze peněženky pro vlastní úschovu. Nepoužívejte burzové účty ani jiné účty, ke kterým nemáte soukromé klíče, protože vám neumožní přistupovat k vaším OATům a spravovat je.
+K vyzvednutí OAT byste měli používat pouze peněženky s vlastní správou. Nepoužívejte účty na burzách ani jiné účty, ke kterým nedržíte privátní klíče, protože vám neumožní přistupovat k vašim OAT a spravovat je.
## Vyzvedněte si svůj GitPOAP {#claim-gitpoap}
-GitPOAP také automaticky rozpozná váš sloučený příspěvek a nechá vás vyrazit si samostatný unikátní POAP pro přispěvatele na své platformě!
-
+GitPOAP také automaticky rozpozná váš začleněný příspěvek a umožní vám vyrazit si na jejich platformě samostatný unikátní POAP pro přispěvatele!
-### Jak vyzvednout {#how-to-claim}
+### Jak si token vyzvednout {#how-to-claim}
1. Navštivte [GitPOAP](https://www.gitpoap.io).
-2. Připojte se pomocí své peněženky nebo dokonce pomocí e-mailu prostřednictvím možnosti přihlášení.
-3. Vyhledejte své uživatelské jméno na GitHubu, ETH adresu, ENS jména nebo libovolný GitPOAP a zkontrolujte, zda máte nárok.
-4. Pokud má váš GitHub účet nárok, budete moci si vyrazit GitPOAP!
+2. Připojte se pomocí své peněženky nebo e-mailu přes možnost přihlášení.
+3. Vyhledejte své uživatelské jméno na GitHubu, adresu ETH, jména ENS nebo jakýkoli GitPOAP a zkontrolujte, zda máte nárok.
+4. Pokud má váš účet na GitHubu nárok, budete si moci vyrazit GitPOAP!
## Přispěvatelé {#contributors}
diff --git a/public/content/translations/cs/contributing/quizzes/index.md b/public/content/translations/cs/contributing/quizzes/index.md
new file mode 100644
index 00000000000..427625335ea
--- /dev/null
+++ b/public/content/translations/cs/contributing/quizzes/index.md
@@ -0,0 +1,62 @@
+---
+title: Přidávání kvízu
+description: Zásady, které používáme při přidávání kvízů na ethereum.org
+lang: cs
+---
+
+# Kvízy {#quizzes}
+
+Kvízy jsou pro uživatele příležitostí otestovat se, zda porozuměli obsahu stránky, kterou právě přečetli. Otázky by měly vycházet pouze z obsahu uvedeného na stránce a neměly by se ptát na informace, které na stránce nejsou uvedeny.
+
+Otázky jsou strukturovány následovně. Otázka, 1 správná odpověď s vysvětlením, proč je správná, 3 nesprávné odpovědi s vysvětlením, proč jsou nesprávné.
+
+Některé příklady aktuálních kvízů najdete zde:
+
+- [Druhá vrstva](/layer-2)
+- [NFT](/nft/)
+- [Co je Ethereum?](/what-is-ethereum/)
+- [Co je ETH?](/what-is-ether/)
+
+## Přidávání učebního kvízu
+
+Pokud existuje stránka, pro kterou ještě nebyl vytvořen vzdělávací kvíz, [otevřete prosím problém](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml).
+
+Uveďte prosím následující informace:
+
+- Stránka, na kterou chcete přidat kvíz
+- 5 otázek s následujícími informacemi:
+ - Část stránky, na které je otázka založena
+ - Otázka
+ - 1 správná odpověď s vysvětlením, proč je správná
+ - 3 nesprávné odpovědi s vysvětlením, proč jsou nesprávné
+
+## Přidávání kvízové otázky
+
+Pokud chcete do sady otázek pro kvíz přidat novou otázku, [otevřete prosím problém](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) a poskytněte následující informace:
+
+- Stránka, na kterou chcete přidat kvízovou otázkou
+- Pro každou otázku uveďte prosím následující informace:
+ - Část stránky, na které je otázka založena
+ - Otázka
+ - 1 správná odpověď s vysvětlením, proč je správná
+ - 3 nesprávné odpovědi s vysvětlením, proč jsou nesprávné
+
+## Aktualizace kvízové otázky
+
+Pokud chcete aktualizovat otázku v sadě otázek pro kvíz, [otevřete prosím problém](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) a poskytněte následující informace:
+
+- Stránka, na které chcete aktualizovat kvízovou otázku
+- Pro každou aktualizovanou otázku uveďte prosím následující informace:
+ - Část stránky, na které je otázka založena
+ - Otázku, kterou chcete aktualizovat
+ - Aktualizovaná otázka
+ - 1 správná odpověď s vysvětlením, proč je správná
+ - 3 nesprávné odpovědi s vysvětlením, proč jsou nesprávné
+
+## Odebírání kvízové otázky
+
+Pokud již obsah na stránce k dané otázce neexistuje a je třeba ji odstranit, [otevřete prosím problém](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) k odstranění otázky a uveďte následující informace:
+
+- Stránka, na které chcete odstranit kvízovou otázku
+- Otázka, kterou chcete odstranit
+- Případné vysvětlení, proč by otázka měla být odstraněna
diff --git a/public/content/translations/cs/contributing/translation-program/faq/index.md b/public/content/translations/cs/contributing/translation-program/faq/index.md
index 466fd119cb1..ec2b3b8f704 100644
--- a/public/content/translations/cs/contributing/translation-program/faq/index.md
+++ b/public/content/translations/cs/contributing/translation-program/faq/index.md
@@ -18,20 +18,20 @@ Cílem překladatelského programu je zpřístupnit obsah Etherea všem bez ohle
Z tohoto důvodu je překladatelský program otevřený a dobrovolný a účast v něm není podmíněna finanční odměnou. Pokud bychom měli překladatele kompenzovat za počet přeložených slov, mohli bychom do překladatelského programu pozvat pouze ty, kteří mají dostatečné překladatelské zkušenosti (profesionální překladatele). Tím by se překladatelský program stal uzavřeným a nedosáhli bychom vytyčených cílů, konkrétně: umožnit všem účastnit se a zapojit se do ekosystému.
-Vynakládáme veškeré úsilí, abychom našim přispěvatelům umožnili uspět v ekosystému Etherea; existuje mnoho nepeněžních pobídek, jako např.: [nabízíme POAPy](/contributing/translation-program/acknowledgements/#poap) a [certifikát překladatele](/contributing/translation-program/acknowledgements/#certificate), stejně jako organizujeme [Žebříčky překladatelů](/contributing/translation-program/acknowledgements/) a [seznam všech našich překladatelů na webu](/contributing/translation-program/contributors/).
+Snažíme se našim přispěvatelům umožnit uspět v ekosystému Ethereum; máme zavedeno mnoho nepeněžních pobídek, jako jsou: [nabídka POAP](/contributing/translation-program/acknowledgements/#poap) a [certifikát překladatele](/contributing/translation-program/acknowledgements/#certificate), stejně jako organizování [žebříčků překladatelů](/contributing/translation-program/acknowledgements/) a [uvedení všech našich překladatelů na webu](/contributing/translation-program/contributors/).
-## Jak překládat řetězce s ``? {#tags}
+## Jak mám překládat řetězce s ``? {#tags}
-Ne každý řetězec je čistě v textové podobě. Některé řetězce obsahují i kód, jako jsou HTML značky (`<0>`, `0>`).To obyčejně označuje hypertextové odkazy nebo vložené styly ve větě.
+Ne každý řetězec je čistě v textové podobě. Některé řetězce se skládají ze smíšených skriptů, jako jsou HTML značky (`<0>`, `0>`). Obvykle se jedná o hypertextové odkazy nebo alternativní styl uprostřed věty.
-- Přeložte text mezi značkami, ale ne samotné značky. To, co se nachází mezi `<` a `>`, nesmí být přeloženo ani odstraněno.
+- Přeložte text mezi značkami, ale ne samotné značky. Cokoli mezi znaky `<` a `>` se nesmí překládat ani odstraňovat.
- Pro jistotu doporučujeme kliknout na tlačítko „Kopírovat zdroj“ vlevo dole. To zkopíruje původní řetězec a vloží jej do textového pole. To vám pomůže si ujasnit, kde jsou značky, a pomáhá vám vyhnout se chybám.

Umístění značek v řetězci můžete přesunout, aby překlad ve vašem jazyce zněl přirozeněji. Jen se ujistěte, že přesouváte celou značku.
-Podrobnější informace o práci se štítky a úryvky kódu naleznete v [průvodci stylem překladu ethereum.org](/contributing/translation-program/translators-guide/#dealing-with-tags).
+Pro podrobnější informace o práci se značkami a úryvky kódu se prosím podívejte do [Průvodce stylem překladu ethereum.org](/contributing/translation-program/translators-guide/#dealing-with-tags).
## Odkud tyto řetězce jsou? {#strings}
@@ -42,7 +42,7 @@ Podrobnější informace o práci se štítky a úryvky kódu naleznete v [prův

-
+
## Jak mohu zanechat komentář nebo položit otázku? Rád/a bych upozornil na problém nebo překlepy… {#comment}
@@ -52,11 +52,11 @@ Pokud chcete upozornit na určitý řetězec, který vyžaduje pozornost, může
- Po odeslání bude problém nahlášen našemu týmu. Problém opravíme a dáme vám vědět odpovědí na váš komentář a uzavřením problému.
- Pokud nahlásíte nesprávný překlad, bude překlad a vámi navržená alternativa při příští kontrole zkontrolována rodilým mluvčím.
-
+
## Co je překladová paměť (PP)? {#translation-memory}
-Překladová paměť (PP) je funkce Crowdinu, která ukládá všechny dříve přeložené řetězce na [ethereum.org](https://ethereum.org/). Když je řetězec přeložen, automaticky se uloží do PP našeho projektu. Může to být užitečný nástroj, který vám pomůže ušetřit čas!
+Překladová paměť (PP) je funkce Crowdinu, která ukládá všechny dříve přeložené řetězce na ethereum.org. Když je řetězec přeložen, automaticky se uloží do PP našeho projektu. Může to být užitečný nástroj, který vám pomůže ušetřit čas!
- Podívejte se do sekce „Návrhy PP a SP“ a uvidíte, jak stejný nebo podobný řetězec přeložili jiní překladatelé. Pokud naleznete návrh s vysokou mírou shody, neváhejte na překlad odkázat kliknutím.
- Pokud v seznamu nic není, můžete v PP vyhledat dříve vytvořené překlady a znovu je použít pro zajištění konzistence.
@@ -71,7 +71,7 @@ Nejlepším místem pro objasnění pojmů a definic je glosář Crowdinu. Na gl
- Když ve zdrojovém řetězci najdete podtržený výraz, můžete na něj najet myší a zobrazit jeho stručnou definici.
-
+
- Dále, pokud uvidíte termín, který vám není známý, ale není podtržený, můžete hledat v kartě glosáře (třetí tlačítko v pravém sloupci). Najdete zde vysvětlení konkrétních a v projektu často používaných pojmů.
@@ -79,9 +79,9 @@ Nejlepším místem pro objasnění pojmů a definic je glosář Crowdinu. Na gl
- Pokud ho stále nemůžete najít, máte šanci přidat nový termín! Doporučujeme vám, abyste si ho vyhledali ve vyhledávači a přidali jeho popis do glosáře. Ostatním překladatelům to velmi pomůže lépe porozumět tomuto termínu.
-
+
-### Politika překladu terminologie {#terminology}
+### Zásady překladu terminologie {#terminology}
_Pro názvy (značek, firem, lidí) a nové technologické termíny (Beacon Chain, shard chains atd.)_
@@ -104,16 +104,16 @@ Doporučujeme ponechat názvy značek, firem a zaměstnanců nepřeložené, pro
Abychom zajistili určitou úroveň kvality a konzistence našich překladů, spolupracujeme s [Acolad](https://www.acolad.com/), jedním z největších poskytovatelů jazykových služeb na světě. Acolad má 20 000 profesionálních lingvistů, což znamená, že může poskytnout profesionální revizory pro každý jazyk a typ obsahu, který potřebujeme.
-Proces revize je jednoduchý; jakmile je určitá [obsahová kategorie](/contributing/translation-program/content-buckets) přeložena na 100 %, objednáme její revizi. Proces revize probíhá přímo v Crowdinu. Jakmile je revize dokončena, aktualizujeme webové stránky s přeloženým obsahem.
+Proces revize je jednoduchý; jakmile je sada obsahu přeložena na 100 %, objednáme revizi pro danou obsahovou kategorii. Proces revize probíhá přímo v Crowdinu. Jakmile je revize dokončena, aktualizujeme webové stránky s přeloženým obsahem.
## Jak přidám obsah ve svém jazyce? {#adding-foreign-language-content}
V současné době je veškerý neanglický obsah překládán přímo z anglického zdrojového obsahu a obsah, který neexistuje v angličtině, nelze přidat do jiných jazyků.
-Chcete-li navrhnout nový obsah pro ethereum.org, můžete [vytvořit problém](https://github.com/ethereum/ethereum-org-website/issues) na GitHubu. V případě přidání bude obsah sepsán v angličtině a přeložen do dalších jazyků přes Crowdin.
+Chcete-li navrhnout nový obsah pro ethereum.org, můžete [vytvořit hlášení](https://github.com/ethereum/ethereum-org-website/issues) na GitHubu. V případě přidání bude obsah sepsán v angličtině a přeložen do dalších jazyků přes Crowdin.
V blízké budoucnosti plánujeme přidat podporu pro přidávání jiného než anglického obsahu.
## Kontaktujte nás {#contact}
-Děkujeme, že jste si všechno přečetli. Doufáme, že vám to pomůže při nástupu do našeho programu. Neváhejte se připojit k našemu [překladatelskému kanálu na Discordu](https://discord.gg/ethereum-org) a klást otázky a spolupracovat s ostatními překladateli, nebo nás kontaktujte na adrese translations@ethereum.org!
+Děkujeme, že jste si všechno přečetli. Doufáme, že vám to pomůže při nástupu do našeho programu. Neváhejte se připojit k našemu [překladatelskému kanálu na Discordu](https://discord.gg/ethereum-org), kde můžete klást otázky a spolupracovat s ostatními překladateli, nebo nás kontaktujte na adrese translations@ethereum.org!
diff --git a/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md b/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md
index 93859198862..ff9590b0470 100644
--- a/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md
+++ b/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md
@@ -12,7 +12,7 @@ Pro ty, kteří se lépe učí vizuálně: Podívejte se, jak vás Luka provede
-## Psaný průvodce {#written-guide}
+## Písemný průvodce {#written-guide}
### Připojte se k našemu projektu v Crowdinu {#join-project}
@@ -24,7 +24,8 @@ Budete se muset přihlásit do svého účtu Crowdin nebo se zaregistrovat, poku
### Otevřete svůj jazyk {#open-language}
-Po přihlášení do Crowdinu uvidíte popis projektu a seznam všech dostupných jazyků. Každý jazyk také obsahuje informace o celkovém počtu přeložitelných slov a přehled toho, kolik obsahu bylo v daném jazyce přeloženo a schváleno.
+Po přihlášení do Crowdinu uvidíte popis projektu a seznam všech dostupných jazyků.
+Každý jazyk také obsahuje informace o celkovém počtu přeložitelných slov a přehled toho, kolik obsahu bylo v daném jazyce přeloženo a schváleno.
Otevřete jazyk, do kterého chcete překládat, abyste viděli seznam souborů dostupných k překladu.
@@ -34,17 +35,15 @@ Otevřete jazyk, do kterého chcete překládat, abyste viděli seznam souborů
Obsah webu je rozdělen do několika dokumentů a obsahových bloků. Napravo můžete zkontrolovat pokrok u každého dokumentu – pokud je pokrok překladu pod 100 %, přispějte!
-Nevidíte svůj jazyk v seznamu? [Otevřete problém](https://github.com/ethereum/ethereum-org-website/issues/new/choose) nebo se zeptejte na našem [Discordu](https://discord.gg/ethereum-org)
+Nevidíte svůj jazyk v seznamu? [Otevřete issue](https://github.com/ethereum/ethereum-org-website/issues/new/choose) nebo se zeptejte na našem [Discordu](https://discord.gg/ethereum-org)

-Poznámka k obsahovým blokům: V rámci Crowdinu používáme „obsahové bloky“, abychom nejprve přeložili obsah s nejvyšší prioritou. Když se podíváte na jazyk, například [filipínštinu](https://crowdin.com/project/ethereum-org/fil#), uvidíte složky pro obsahové bloky („1. Úvodní stránka“, „2. Základy“, „3. Průzkum“ atd.).
+Poznámka k obsahovým blokům: V rámci Crowdinu používáme „obsahové bloky“, abychom nejprve přeložili obsah s nejvyšší prioritou. Když se podíváte na jazyk, například [filipínštinu](https://crowdin.com/project/ethereum-org/fil#), uvidíte složky pro obsahové bloky (\"1. Úvodní stránka“, „2. Základy“, „3. Průzkum“ atd.).
Doporučujeme vám překládat v tomto číselném pořadí (1 → 2 → 3 → ⋯), aby byly nejdůležitější stránky přeloženy jako první.
-[Další informace o obsahových blocích ethereum.org](/contributing/translation-program/content-buckets/)
-
-### Překládejte {#translate}
+### Přeložit {#translate}
Po výběru souboru, který chcete přeložit, se otevře v online editoru. Pokud jste Crowdin nikdy nepoužívali, projděte si tohoto rychlého průvodce, abyste se seznámili se základy.
@@ -60,7 +59,8 @@ Můžete také použít tlačítka nahoře k vyhledávání konkrétních řetě
**_2 – Oblast editoru_**
-Hlavní oblast pro překlad - zdrojový text se zobrazuje nahoře s dalším kontextem a screenshoty, pokud jsou k dispozici. Chcete-li navrhnout nový překlad, zadejte svůj překlad do pole „Zadejte překlad zde“ a klikněte na Uložit.
+Hlavní oblast pro překlad - zdrojový text se zobrazuje nahoře s dalším kontextem a screenshoty, pokud jsou k dispozici.
+Chcete-li navrhnout nový překlad, zadejte svůj překlad do pole „Zadejte překlad zde“ a klikněte na Uložit.
V této sekci také najdete existující překlady řetězce a překlady do jiných jazyků, stejně jako shody z překladové paměti a návrhy strojového překladu.
@@ -70,11 +70,11 @@ Zde můžete najít komentáře, položky překladové paměti a položky glosá
Pomocí tlačítek nahoře můžete také přepnout na Překladovou paměť, kde můžete vyhledávat existující překlady, nebo na Glosář, který obsahuje popisy a standardní překlady klíčových termínů.
-Chcete se dozvědět více? Neváhejte a podívejte se na [dokumentaci k používání online editoru Crowdin](https://support.crowdin.com/online-editor/).
+Chcete se dozvědět více? Neváhejte a podívejte se na [dokumentaci k používání online editoru Crowdin](https://support.crowdin.com/online-editor/)
-### Proces kontroly {#review-process}
+### Proces revize {#review-process}
-Jakmile dokončíte překlad (tj. všechny soubory pro obsahový blok ukazují 100 %), náš profesionální překladatelský servis obsah zkontroluje (a případně upraví). Jakmile je kontrola dokončena (tj. pokrok kontroly je 100 %), přidáme ho na web.
+Jakmile dokončíte překlad (tj. všechny soubory pro obsahový blok zobrazují 100 %), naše profesionální překladatelská služba obsah zkontroluje (a případně upraví). Jakmile je revize dokončena (tj. průběh revize je 100 %), přidáme ho na web.
@@ -85,7 +85,7 @@ Jakmile dokončíte překlad (tj. všechny soubory pro obsahový blok ukazují 1
### Kontaktujte nás {#get-in-touch}
-Máte nějaké otázky? Nebo chcete spolupracovat s naším týmem a dalšími překladateli? Prosím, napište nám na kanálu #translations na našem [Discord serveru ethereum.org](https://discord.gg/ethereum-org).
+Máte nějaké otázky? Nebo chcete spolupracovat s naším týmem a dalšími překladateli? Pište prosím do kanálu #translations na našem [Discord serveru ethereum.org](https://discord.gg/ethereum-org).
Můžete se také obrátit na translations@ethereum.org
diff --git a/public/content/translations/cs/contributing/translation-program/index.md b/public/content/translations/cs/contributing/translation-program/index.md
index b08a485c47a..207888c4c44 100644
--- a/public/content/translations/cs/contributing/translation-program/index.md
+++ b/public/content/translations/cs/contributing/translation-program/index.md
@@ -16,11 +16,11 @@ Překladatelský program ethereum.org je otevřený a každý může přispět!
1. Budete se muset přihlásit ke svému účtu Crowdin nebo se zaregistrovat.
2. Vyberte jazyk, do kterého chcete přispět.
-3. Než začnete, podívejte se na průvodce [Jak překládat](/contributing/translation-program/how-to-translate/), kde se dozvíte, jak používat Crowdin, a na [Průvodce stylem překladu](/contributing/translation-program/translators-guide/) pro tipy a osvědčené postupy.
+3. Než začnete, prostudujte si prosím průvodce [Jak překládat](/contributing/translation-program/how-to-translate/), kde se dozvíte, jak používat Crowdin, a [Průvodce stylem překladu](/contributing/translation-program/translators-guide/), kde najdete tipy a osvědčené postupy.
4. Strojové překlady nebudou schváleny.
5. Všechny překlady jsou před přidáním na web přezkoumány, takže před zveřejněním vašich překladů může dojít ke krátkému zpoždění.
-_Připojte se k [Discordu ethereum.org](https://discord.gg/ethereum-org), kde můžete spolupracovat na překladech, klást otázky, sdílet zpětnou vazbu a nápady nebo se připojit ke skupině překladatelů._
+_Připojte se na [Discord ethereum.org](https://discord.gg/ethereum-org), kde můžete spolupracovat na překladech, klást otázky, sdílet zpětnou vazbu a nápady nebo se připojit k překladatelské skupině._
Začněte překládat
@@ -34,57 +34,58 @@ Cílem překladatelského programu ethereum.org je zpřístupnit Ethereum všem
Přečtěte si více o [poslání a vizi](/contributing/translation-program/mission-and-vision) překladatelského programu ethereum.org.
-### Naše dosavadní pokroky {#our-progress}
+### Náš dosavadní pokrok {#our-progress}
-- [**6 900 +** překladatelů](/contributing/translation-program/contributors/)
+- [**Více než 6 900** překladatelů](/contributing/translation-program/contributors/)
- **68** jazyků dostupných na webu
-- [**2,89 milionu** přeložených slov v roce 2024](/contributing/translation-program/acknowledgements/)
+- [**2,89 milionu** slov přeložených v roce 2024](/contributing/translation-program/acknowledgements/)
### Poděkování {#acknowledgements}
-Ethereum.org je překládáno tisíci členy komunity, kteří jsou klíčovou součástí překladatelského programu. Rádi bychom našim překladatelům vyjádřili uznání a podpořili je na jejich kariérní cestě. Zde jsou některá z našich ocenění pro překladatele:
+Ethereum.org je překládáno tisíci členy komunity, kteří jsou klíčovou součástí překladatelského programu.
+Rádi bychom našim překladatelům vyjádřili uznání a podpořili je na jejich kariérní cestě. Zde jsou některá z našich ocenění pro překladatele:
#### Certifikát {#certificate}
Pokud jste přispěli do překladatelského programu a bylo schváleno alespoň 5 000 vašich přeložených slov, máte nárok na certifikát překladatele ethereum.org. [Více o certifikátech](/contributing/translation-program/acknowledgements/#certificate)
-#### OAT {#oats}
+#### OATs {#oats}
-Přispěvatelé do překladatelského programu mají v roce 2024 nárok na různé OAT (onchain achievement tokens) na základě počtu přeložených slov. OAT jsou NFT, které dokazují váš přínos pro překladatelský program ethereum.org. [Více o OAT](/contributing/translation-program/acknowledgements/#oats)
+Přispěvatelé do překladatelského programu mají v roce 2024 nárok na různé OAT (onchain achievement tokens) na základě počtu přeložených slov. OAT jsou NFT, které dokazují váš přínos pro překladatelský program ethereum.org. [Více o OATs](/contributing/translation-program/acknowledgements/#oats)
-#### Ocenění překladatelů {#translator-acknowledgements}
+#### Poděkování překladatelům {#translator-acknowledgements}
-Veřejné uznání našich nejlepších překladatelů pomocí [žebříčků](/contributing/translation-program/acknowledgements/) a [seznamu všech přispěvatelů do překladatelského programu](/contributing/translation-program/contributors/).
+Veřejné poděkování našim nejlepším překladatelům prostřednictvím [žebříčků](/contributing/translation-program/acknowledgements/) a [seznamu všech přispěvatelů do překladatelského programu](/contributing/translation-program/contributors/).
#### Odměny {#rewards}
-V minulosti jsme našim nejaktivnějším přispěvatelům zpětně udělovali vstupenky na konference o Ethereu, jako jsou [Devcon](https://devcon.org/en/) a [Devconnect](https://devconnect.org/), a exkluzivní merch ethereum.org.
+V minulosti jsme našim nejaktivnějším přispěvatelům zpětně udělovali vstupenky na konference o Ethereu, jako je [Devcon](https://devcon.org/en/) a [Devconnect](https://devconnect.org/), a také exkluzivní merch ethereum.org.
Stále přemýšlíme o nových a inovativních způsobech, jak odměnit naše přispěvatele, takže sledujte další novinky!
-### Návody a zdroje {#guides-and-resources}
+### Příručky a zdroje {#guides-and-resources}
Pokud přispíváte do překladatelského programu nebo zvažujete zapojení, měli byste se podívat na následující překladatelské průvodce:
- [Průvodce stylem překladu](/contributing/translation-program/translators-guide/) _– pokyny a tipy pro překladatele ethereum.org_
-- [Časté dotazy k překladu](/contributing/translation-program/faq/) _– často kladené otázky a odpovědi k překladatelskému programu ethereum.org_
-- [Průvodce online editorem Crowdin](https://support.crowdin.com/online-editor/) _– podrobný průvodce používáním online editoru Crowdin a některých pokročilých funkcí Crowdinu_
-- [Obsahové kategorie](/contributing/translation-program/content-buckets/) _– které stránky jsou zahrnuty v jednotlivých obsahových kategoriích ethereum.org_
+- [Časté dotazy k překladu](/contributing/translation-program/faq/) _– často kladené otázky a odpovědi ohledně překladatelského programu ethereum.org_
+- [Průvodce online editorem Crowdin](https://support.crowdin.com/online-editor/) _– podrobný průvodce používáním online editoru Crowdin a některých jeho pokročilých funkcí_
-Pro další užitečné překladatelské nástroje, překladatelské komunity a blogové příspěvky o překladatelském programu navštivte [stránku Zdroje](/contributing/translation-program/resources/).
+Další užitečné překladatelské nástroje, komunity překladatelů a blogové příspěvky o překladatelském programu najdete na [stránce Zdroje](/contributing/translation-program/resources/).
## Kontaktujte nás {#get-in-touch}
-Máte nějaké otázky? Nebo chcete spolupracovat s naším týmem a dalšími překladateli? Zveřejněte svůj příspěvek v kanálu #translations na našem [Discord serveru ethereum.org](https://discord.gg/ethereum-org).
+Máte nějaké otázky? Nebo chcete spolupracovat s naším týmem a dalšími překladateli? Pište prosím do kanálu #translations na našem [Discord serveru ethereum.org](https://discord.gg/ethereum-org).
-Můžete se také obrátit na translations@ethereum.org.
+Můžete se také obrátit na translations@ethereum.org
-## Zahájení vlastního překladatelského programu {#starting-a-translation-program}
+## Založení vlastního překladatelského programu {#starting-a-translation-program}
-Jsme odhodláni překládat obsah Etherea do co nejvíce jazyků a zpřístupnit vzdělávací obsah všem. V souladu s naším zaměřením na překlady chceme pomoci dalším projektům Etherea s organizací, řízením a zlepšováním jejich vlastních překladatelských úsilí.
+Jsme odhodláni překládat obsah Etherea do co nejvíce jazyků a zpřístupnit vzdělávací obsah všem.
+V souladu s naším zaměřením na překlady chceme pomoci dalším projektům Etherea s organizací, řízením a zlepšováním jejich vlastních překladatelských úsilí.
-Z tohoto důvodu jsme vytvořili [příručku překladatelského programu](/contributing/translation-program/playbook/), která obsahuje některé tipy a osvědčené postupy, které jsme získali při překládání ethereum.org.
+Z tohoto důvodu jsme vytvořili [příručku překladatelského programu](/contributing/translation-program/playbook/), která obsahuje tipy a osvědčené postupy, které jsme nasbírali při překládání ethereum.org.
Chcete dále spolupracovat nebo využít některé z našich překladatelských zdrojů? Máte nějakou zpětnou vazbu k příručce? Napište nám na translations@ethereum.org.
diff --git a/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md b/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md
index 23b42369723..5be544dd4bf 100644
--- a/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md
+++ b/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md
@@ -4,13 +4,13 @@ lang: cs
description: Poslání a vize překladatelského programu ethereum.org
---
-# Poslání a vize {#mission-and-vision}
+# Mise a vize {#mission-and-vision}
Komunita Etherea se snaží být globální a inkluzivní, přesto však velká část jejího obsahu oslovuje pouze anglicky mluvící, čímž vylučuje 6 miliard lidí, kteří anglicky nemluví. Aby mohl ethereum.org sloužit jako portál do světa Etherea pro globální komunitu, věříme, že poskytování obsahu o Ethereu v rodných jazycích neanglicky mluvících uživatelů je zásadní.
Cílem překladatelského programu ethereum.org je zpřístupnit Ethereum všem tím, že překládáme ethereum.org a další obsah Etherea do co nejvíce jazyků.
-## Naše mise {#our-mission}
+## Naše poslání {#our-mission}
- Poskytnout přeložené verze webu, aby si návštěvníci z celého světa mohli přečíst o Ethereu ve svém rodném jazyce
- Usnadnit připojení dalších členů do globální komunity Etherea
diff --git a/public/content/translations/cs/contributing/translation-program/playbook/index.md b/public/content/translations/cs/contributing/translation-program/playbook/index.md
new file mode 100644
index 00000000000..43ebc639e6f
--- /dev/null
+++ b/public/content/translations/cs/contributing/translation-program/playbook/index.md
@@ -0,0 +1,317 @@
+---
+title: Příručka překladatelského programu
+lang: cs
+description: Sbírka tipů a důležitých aspektů pro zřízení překladatelského programu
+---
+
+# Příručka překladatelského programu {#translation-program-playbook}
+
+Angličtina je jedním z nejpoužívanějších jazyků na světě a je zdaleka nejstudovanějším jazykem na světě. Vzhledem k tomu, že angličtina je na internetu nejběžnějším jazykem – zejména na sociálních sítích – a vícejazyčné programovací jazyky jsou vzácné, většina obsahu v oblasti blockchainu je původně psána v angličtině.
+
+Jelikož však více než 6 miliard lidí na světě (více než 75 % populace) nemluví anglicky vůbec, představuje to pro drtivou většinu světové populace obrovskou překážku pro vstup do světa Etherea.
+
+Z tohoto důvodu se stále více projektů v této oblasti snaží nechat svůj obsah přeložit do různých jazyků a lokalizovat pro globální komunity.
+
+Poskytování vícejazyčného obsahu je jednoduchý a efektivní způsob, jak rozšiřovat svou globální komunitu, poskytovat vzdělání lidem, kteří nemluví anglicky, zajistit, aby se váš obsah a komunikace dostaly k širšímu publiku, a zapojit do tohoto prostoru více lidí.
+
+Cílem této příručky je řešit běžné problémy a mylné představy o lokalizaci obsahu. Poskytuje podrobný návod ke správě obsahu, procesu překladu a revize, zajištění kvality, oslovování překladatelů a dalším důležitým aspektům procesu lokalizace.
+
+## Správa obsahu {#content-management}
+
+Správa překladatelského obsahu označuje proces automatizace pracovního postupu překladu, který odstraňuje potřebu opakované manuální práce, zvyšuje efektivitu a kvalitu, umožňuje lepší kontrolu a usnadňuje spolupráci.
+
+Existuje mnoho různých přístupů ke správě obsahu v procesu lokalizace v závislosti na obsahu a vašich potřebách.
+
+Základním způsobem správy obsahu je vytváření dvojjazyčných souborů, které obsahují zdrojový a cílový text. Tento způsob se při překladu používá jen zřídka, protože kromě jednoduchosti nenabízí žádné významné výhody.
+
+Překladatelské agentury obvykle přistupují ke správě překladů pomocí softwaru pro správu překladů nebo lokalizačních nástrojů, které poskytují možnosti projektového řízení a umožňují mnohem větší kontrolu nad soubory, obsahem a lingvisty.
+
+Přečtěte si více o správě obsahu:
+
+[Trados o tom, co je správa překladů](https://www.trados.com/solutions/translation-management/)
+
+[Phrase o vícejazyčné správě obsahu](https://phrase.com/blog/posts/multilingual-content-management/)
+
+### Software pro správu překladů {#translation-management-software}
+
+Existuje mnoho systémů pro správu překladů a lokalizačních nástrojů a výběr softwaru závisí především na vašich potřebách.
+
+Ačkoli se některé projekty rozhodnou nepoužívat systémy pro správu překladů a dávají přednost manuálnímu zpracování překladů – buď přímo v dvojjazyčných souborech, nebo na hostovacích službách, jako je GitHub – toto dramaticky snižuje kontrolu, produktivitu, kvalitu, škálovatelnost a možnosti spolupráce. Takový přístup může být nejvýhodnější pro malé nebo jednorázové překladatelské projekty.
+
+Rychlý přehled některých z nejvýkonnějších a nejpoužívanějších nástrojů pro správu překladů:
+
+**Nejlepší pro crowdsourcing a spolupráci**
+
+[Crowdin](https://crowdin.com/)
+
+- Zdarma pro open-source projekty (neomezený počet řetězců a projektů)
+- Překladová paměť (TM) a glosář jsou k dispozici u všech plánů
+- Více než 60 podporovaných formátů souborů, více než 70 integrací API
+
+[Lokalise](https://lokalise.com/)
+
+- Zdarma pro 2 členy týmu, placené plány pro více přispěvatelů (omezený počet řetězců pro většinu plánů)
+- Překladová paměť (TM) a glosář jsou k dispozici u některých placených plánů
+- Více než 30 podporovaných formátů souborů, více než 40 integrací API
+
+[Transifex](https://www.transifex.com/)
+
+- Pouze placené plány (omezený počet řetězců pro většinu plánů)
+- Překladová paměť (TM) a glosář jsou k dispozici u všech placených plánů
+- Více než 30 podporovaných formátů souborů, více než 20 integrací API
+
+[Phrase](https://phrase.com/)
+
+- Pouze placené plány (neomezený počet řetězců pro všechny plány, omezený počet projektů a členů týmu)
+- Překladová paměť (TM) a glosář jsou k dispozici u některých placených plánů
+- Více než 40 podporovaných formátů souborů, více než 20 integrací API
+
+[Smartcat](https://www.smartcat.com/)
+
+- Základní bezplatný plán s placenými pokročilými funkcemi (neomezený počet řetězců a projektů pro všechny plány)
+- Překladová paměť (TM) a glosář jsou k dispozici u všech plánů
+- Více než 60 podporovaných formátů souborů, více než 20 integrací API
+
+[POEditor](https://poeditor.com/)
+
+- Zdarma pro open-source projekty (omezený počet řetězců pro všechny projekty, neomezený pro open-source projekty)
+- Překladová paměť (TM) a glosář jsou k dispozici pro placené plány
+- Více než 20 podporovaných formátů souborů, více než 10 integrací API
+
+a mnoho dalších...
+
+**Profesionální překladatelské nástroje**
+
+[SDL Trados Studio](https://www.trados.com/products/trados-studio/)
+
+- Placené plány pro nezávislé překladatele a týmy
+- Velmi výkonný nástroj pro počítačem podporovaný překlad (CAT) a software pro produktivitu překladatelů
+
+[MemoQ](https://www.memoq.com/)
+
+- Omezená bezplatná verze je k dispozici s několika placenými plány pro pokročilé funkce
+- Software pro správu překladů pro společnosti, poskytovatele jazykových služeb a překladatele
+
+[Memsource](https://www.memsource.com/)
+
+- Zdarma pro jednotlivé překladatele s několika placenými plány pro týmy
+- Cloudový systém pro počítačem podporovaný překlad a správu překladů
+
+a mnoho dalších...
+
+Přečtěte si více o softwaru pro správu překladů:
+
+[Definice systémů pro správu překladů na Wikipedii](https://en.wikipedia.org/wiki/Translation_management_system)
+
+[Phrase o 7 věcech, které by měl mít každý software pro správu překladů](https://phrase.com/blog/posts/7-things-every-translation-management-software-should-have/)
+
+[MemoQ o tom, co je systém pro správu překladů](https://www.memoq.com/tools/what-is-a-translation-management-system)
+
+[Seznam 16 nejlepších systémů pro správu překladů od Gengo](https://gengo.com/translator-product-updates/16-best-translation-management-systems/)
+
+## Pracovní postup {#workflow}
+
+V oblasti překladu může pracovní postup překladu znamenat několik různých věcí, které jsou vzájemně propojené a představují důležité aspekty pro váš projekt.
+
+Níže se budeme zabývat oběma.
+
+**Význam 1**
+
+Toto je pravděpodobně nejběžnější způsob přemýšlení o pracovních postupech překladu a něco, co se obvykle vybaví při slyšení slova pracovní postup.
+
+V podstatě se jedná o ‚tok práce‘ od počáteční úvahy o překladech až po použití přeloženého obsahu ve vašem produktu.
+
+Příklad pracovního postupu v tomto případě by byl:
+
+1. **Příprava souborů k překladu** – Zní to jednoduše, ale je třeba zvážit několik důležitých věcí. V tomto kroku byste měli mít jasný plán, jak by měl celý proces fungovat.
+
+- _Jaké typy souborů budete používat?_ V jakém formátu chcete přeložené soubory obdržet?_
+ - Pokud je váš obsah k dispozici ve formátu DOCX nebo MD, bude přístup mnohem jednodušší, než když překládáte PDF verzi vaší Bílé knihy nebo jiných dokumentů.
+- _Které lokalizační nástroje podporují tento typ souboru?_ Lze soubor přeložit tak, aby se zachovalo původní formátování?_
+ - Ne všechny typy souborů podporují přímou lokalizaci (např. soubory PDF, obrázkové soubory) a ne všechny lokalizační nástroje podporují všechny typy souborů.
+- _Kdo bude obsah překládat?_ Objednáte si profesionální překlady, nebo se budete spoléhat na dobrovolníky?_
+ - To ovlivňuje řadu dalších rozhodnutí, která musíte učinit. Například profesionální překladatelé jsou při práci s pokročilými lokalizačními nástroji pohodlnější než dobrovolníci.
+- _Jaká jsou vaše očekávání od lingvistů?_ Pokud využíváte poskytovatele jazykových služeb, co od vás očekávají oni?_
+ - V tomto kroku je třeba zajistit, aby vaše cíle, očekávání a časové plány byly v souladu.
+- _Je veškerý obsah k překladu stejně důležitý?_ Měl by se některý obsah přeložit jako první?_
+ - Existují způsoby, jak upřednostnit určitý obsah, který by měl být přeložen a implementován jako první. Pokud máte například velké množství obsahu k překladu, můžete použít správu verzí, abyste zajistili, že překladatelé budou vědět, čemu mají dát přednost.
+
+2. **Sdílení souborů k překladu** – Tento krok také vyžaduje dlouhodobé přemýšlení a není tak jednoduchý jako pouhé zaslání zdrojových souborů poskytovateli jazykových služeb.
+
+- _Kdo bude obsah překládat?_ Kolik lidí se do tohoto procesu zapojí?_
+ - Pokud plánujete použít lokalizační nástroj, je tento krok zjednodušen, protože zdrojové soubory můžete nahrát přímo do nástroje. To platí i v případě, že proces překladu probíhá na hostovací službě, protože zdrojové soubory není třeba nikam exportovat.
+- _Budou zdrojové soubory zpracovávány ručně, nebo lze tento proces automatizovat?_
+ - Většina lokalizačních nástrojů umožňuje nějaký typ integrace nebo automatizace procesu správy souborů. Na druhou stranu, pokud pracujete s jednotlivými překladateli a nepoužíváte lokalizační nástroj, ruční zasílání zdrojových souborů stovkám nebo tisícům překladatelů není škálovatelný proces.
+- _Jaké nástroje budou pro lokalizaci použity?_
+ - Odpověď na tuto otázku určí, jak budete přistupovat ke všemu ostatnímu. Výběr správného nástroje vám může pomoci automatizovat správu obsahu, správu překladové paměti a glosáře, správu překladatelů, sledování průběhu překladu/revize atd., takže si dejte čas a prozkoumejte, který nástroj chcete použít. Pokud neplánujete používat lokalizační nástroj, vše výše uvedené bude nutné provést ručně.
+- _Jak dlouho bude proces překladu trvat?_ Kolik to bude stát?_
+ - V tomto bodě byste měli být připraveni sdílet zdrojové soubory s poskytovatelem jazykových služeb nebo skupinou překladatelů. Poskytovatel jazykových služeb vám může pomoci analyzovat počet slov a poskytnout cenovou nabídku, včetně sazeb a časového harmonogramu překladatelského procesu.
+- _Plánujete během tohoto procesu provádět změny/aktualizace zdrojového obsahu?_
+ - Pokud je váš obsah dynamický a často se mění, jakékoli změny nebo aktualizace mohou narušit postup překladu. Použití překladové paměti může tento problém výrazně zmírnit, i když je stále důležité přemýšlet o tom, jak bude proces fungovat a jak můžete zabránit zmaření pokroku, kterého překladatelé dosahují.
+
+3. **Řízení překladatelského procesu** – Vaše práce nekončí předáním zdrojového obsahu poskytovateli jazykových služeb nebo překladatelům. Pro zajištění optimální kvality překladů by se tvůrci obsahu měli co nejvíce zapojit do procesu překladu.
+
+- _Jakým způsobem plánujete komunikovat s překladateli?_
+ - Pokud plánujete používat lokalizační nástroj, komunikace může probíhat přímo v tomto nástroji. Doporučuje se také zřídit alternativní komunikační kanál s překladateli, protože by se mohli méně zdráhat oslovit vás a nástroje pro zasílání zpráv umožňují volnější komunikaci.
+- _Jak řešit dotazy překladatelů?_ Kdo by měl na tyto otázky odpovídat?_
+ - Překladatelé (profesionální i neprofesionální) se často obracejí s dotazy a žádostmi o vysvětlení nebo dodatečný kontext, stejně jako se zpětnou vazbou a nápady na zlepšení. Odpovídání na tyto dotazy může často vést k lepšímu zapojení a kvalitě přeloženého obsahu. Je také cenné poskytnout jim co nejvíce zdrojů (např. příručky, tipy, terminologické pokyny, často kladené dotazy atd.).
+- _Jak řešit proces revize?_ Chcete jej outsourcovat, nebo máte kapacity na provádění revizí interně?_
+ - Ačkoli nejsou vždy nutné, revize jsou nedílnou součástí optimálního procesu překladu. Obvykle je nejsnadnější outsourcovat proces revize profesionálním revizorům. Pokud však máte velký mezinárodní tým, revize nebo zajištění kvality (QA) lze také provádět interně.
+
+4. **Implementace přeloženého obsahu** – Poslední část pracovního postupu, kterou je však stále důležité zvážit předem.
+
+- _Budou všechny překlady dokončeny ve stejnou dobu?_
+ - Pokud ne, měli byste přemýšlet o tom, které překlady by měly být upřednostněny, jak sledovat probíhající překlady a jak se řeší implementace během překladů.
+- _Jak vám bude přeložený obsah doručen?_ V jakém formátu bude?_
+ - Toto je důležitá úvaha bez ohledu na to, jaký přístup použijete. Lokalizační nástroje vám umožňují udržovat kontrolu nad formátem cílového souboru a procesem exportu a obvykle podporují automatizaci, např. umožněním integrace s hostovací službou.
+- _Jak budete implementovat překlady ve svém projektu?_
+ - V některých případech to může být tak jednoduché jako nahrání přeloženého souboru nebo jeho přidání do vaší dokumentace. U složitějších projektů, jako jsou překlady webových stránek nebo aplikací, byste se však měli ujistit, že kód podporuje internacionalizaci, a předem stanovit, jak bude proces implementace probíhat.
+- _Co se stane, když se formátování liší od zdrojového?_
+ - Podobně jako výše, pokud překládáte jednoduché textové soubory, formátování pravděpodobně není zásadně důležité. U složitějších souborů, jako je obsah pro webové stránky nebo aplikace, však musí být formátování a kód totožné se zdrojovým, aby mohly být implementovány ve vašem projektu. Pokud ne, cílové soubory bude třeba upravit, a to buď překladateli, nebo vašimi vývojáři.
+
+**Význam 2**
+
+Alternativní pracovní postup překladu, který nezohledňuje interní rozhodnutí a přístupy. Hlavním hlediskem je zde tok samotného obsahu.
+
+Příklad pracovního postupu v tomto případě by byl:
+
+1. _Překlad → Implementace_
+
+- Nejjednodušší pracovní postup, kde překlad bude pravděpodobně lidský, protože neexistuje proces revize nebo zajištění kvality (QA) pro hodnocení kvality a úpravu překladů před implementací.
+- S tímto pracovním postupem je důležité, aby překladatelé dokázali udržet určitou úroveň kvality, což bude vyžadovat odpovídající zdroje a komunikaci mezi projektovými manažery a překladateli.
+
+2. _Překlad → Revize → Implementace_
+
+- Pokročilejší pracovní postup, který zahrnuje proces revize a úprav, aby se zajistila přijatelná a konzistentní kvalita překladů.
+- Existuje řada přístupů k tomuto pracovnímu postupu, kde překlady mohou provádět profesionální překladatelé nebo dobrovolníci, zatímco proces revize budou pravděpodobně provádět profesionální revizoři, kteří jsou obeznámeni se všemi gramatickými a pravopisnými pravidly, která je třeba v cílovém jazyce dodržovat.
+
+3. _Překlad → Revize → Zajištění kvality (QA) → Implementace_
+
+- Optimální pracovní postup pro zajištění nejvyšší úrovně kvality. Ačkoli zajištění kvality (QA) není vždy nutné, může být užitečné pro získání lepší představy o kvalitě přeloženého textu po překladu a revizi.
+- S tímto pracovním postupem mohou překlady provádět výhradně dobrovolníci nebo dokonce strojový překlad. Proces revize by měli provádět profesionální překladatelé, zatímco zajištění kvality (QA) může provádět poskytovatel jazykových služeb nebo interně, pokud máte zaměstnance, kteří jsou rodilými mluvčími cílových jazyků.
+
+Přečtěte si více o pracovních postupech překladu:
+
+[Pravidla obsahu o pěti fázích pracovního postupu překladu](https://contentrules.com/creating-translation-workflow/)
+
+[Smartling o tom, co je řízení pracovního postupu překladu](https://www.smartling.com/resources/101/what-is-translation-workflow-management/)
+
+[RixTrans o pracovním postupu překladu](https://www.rixtrans.com/translation-workflow)
+
+## Správa terminologie {#terminology-management}
+
+Vytvoření jasného plánu, jak nakládat s terminologií, je jedním z nejdůležitějších kroků k zajištění kvality a konzistence vašich překladů a k úspoře času vašich překladatelů.
+
+V oblasti překladu je to známo jako správa terminologie a je to jedna z klíčových služeb, které poskytovatelé jazykových služeb nabízejí svým klientům, kromě přístupu ke své skupině lingvistů a správě obsahu.
+
+Správa terminologie označuje proces identifikace, shromažďování a správy terminologie, která je důležitá pro váš projekt a měla by být vždy překládána správně a konzistentně.
+
+Při úvahách o správě terminologie je třeba dodržet několik kroků:
+
+- Identifikujte klíčové termíny, které by měly být zahrnuty do terminologické databáze.
+- Vytvořte glosář termínů a jejich definic.
+- Přeložte termíny a přidejte je do glosáře.
+- Zkontrolujte a schvalte překlady.
+- Udržujte glosář a aktualizujte jej o nové termíny, jakmile se stanou důležitými.
+
+Přečtěte si více o správě terminologie:
+
+[Trados o tom, co je správa terminologie](https://www.trados.com/solutions/terminology-management/translation-101-what-is-terminology-management.html)
+
+[Language Scientific o tom, proč je správa terminologie důležitá](https://www.languagescientific.com/terminology-management-why-it-matters/#:~:text=Terminology%20management%20is%20the%20process,are%20related%20to%20each%20other.)
+
+[Clear Words Translation o tom, co je správa terminologie a proč je důležitá](http://clearwordstranslations.com/language/en/what-is-terminology-management/)
+
+### Překladová paměť a glosář {#tm-and-glossary}
+
+Překladová paměť a glosář jsou důležité nástroje v překladatelském průmyslu a něco, na co se většina poskytovatelů jazykových služeb spoléhá.
+
+Podívejme se, co tyto termíny znamenají a jak se od sebe liší:
+
+**Překladová paměť (TM)** – Databáze, která automaticky ukládá segmenty nebo řetězce, včetně delších bloků textu, celých vět, odstavců a jednotlivých termínů, stejně jako jejich současné a předchozí překlady v každém jazyce.
+
+Většina lokalizačních nástrojů, systémů pro správu překladů a nástrojů pro počítačem podporovaný překlad má vestavěné překladové paměti, které lze obvykle exportovat a používat i v jiných podobných nástrojích.
+
+Mezi výhody používání překladové paměti patří rychlejší překlady, lepší kvalita překladu, schopnost zachovat určité překlady při aktualizaci nebo změně zdrojového obsahu a levnější náklady na překlad opakovaného obsahu.
+
+Překladové paměti fungují na základě procentuální shody mezi různými segmenty a obvykle jsou nejužitečnější, když dva segmenty obsahují více než 50 % stejného obsahu. Používají se také k automatickému překladu opakujících se segmentů, které jsou 100% shodné, čímž se odstraňuje potřeba překládat opakovaný obsah více než jednou.
+
+Přečtěte si více o překladových pamětech:
+
+[Memsource o překladových pamětech](https://www.memsource.com/translation-memory/)
+
+[Smartling o tom, co je překladová paměť](https://www.smartling.com/resources/101/what-is-translation-memory/)
+
+**Glosář –** Seznam důležitých nebo citlivých termínů, jejich definic, funkcí a zavedených překladů. Hlavní rozdíl mezi glosářem a překladovou pamětí je v tom, že glosář se nevytváří automaticky a neobsahuje překlady celých vět.
+
+Většina lokalizačních nástrojů, systémů pro správu překladů a nástrojů pro počítačem podporovaný překlad má vestavěné glosáře, které můžete udržovat, abyste zajistili, že budou obsahovat terminologii důležitou pro váš projekt. Stejně jako překladovou paměť lze glosář obvykle exportovat a používat v jiných lokalizačních nástrojích.
+
+Před zahájením překladatelského projektu se důrazně doporučuje věnovat čas vytvoření glosáře pro vaše překladatele a revizory. Použití glosáře zajišťuje, že důležité termíny jsou přeloženy správně, poskytuje překladatelům tolik potřebný kontext a zaručuje konzistenci překladů.
+
+Ačkoli glosáře nejčastěji obsahují zavedené překlady v cílových jazycích, jsou užitečné i bez nich. I bez zavedených překladů může glosář obsahovat definice technických termínů, zvýrazňovat termíny, které by se neměly překládat, a informovat překladatele, zda se konkrétní termín používá jako podstatné jméno, sloveso, vlastní jméno nebo jakýkoli jiný slovní druh.
+
+Přečtěte si více o glosářích:
+
+[Lionbridge o tom, co je překladatelský glosář](http://info.lionbridge.com/rs/lionbridge/images/Lionbridge%20FAQ_Glossary_2013.pdf)
+
+[Transifex o glosářích](https://docs.transifex.com/glossary/glossary)
+
+Pokud neplánujete pro svůj projekt používat lokalizační nástroj, pravděpodobně nebudete moci používat překladovou paměť a glosář (glosář nebo terminologickou databázi byste mohli vytvořit v souboru Excel, nicméně automatizované glosáře odstraňují potřebu, aby překladatelé ručně vyhledávali termíny a jejich definice).
+
+To znamená, že veškerý opakující se a podobný obsah by se musel pokaždé ručně překládat. Navíc by překladatelé museli klást otázky, zda je třeba určitý termín přeložit či nikoli, jak se v textu používá a zda již má zavedený překlad.
+
+_Chcete ve svém projektu použít překladovou paměť a glosář webu ethereum.org?_ Kontaktujte nás na adrese translations@ethereum.org._
+
+## Oslovování překladatelů {#translator-outreach}
+
+**Spolupráce s poskytovatelem jazykových služeb**
+
+Pokud spolupracujete s poskytovatelem jazykových služeb a jejich profesionálními překladateli, tato část pro vás nemusí být příliš relevantní.
+
+V tomto případě je důležité vybrat si poskytovatele jazykových služeb s kapacitou poskytovat všechny služby, které potřebujete (např. překlad, revize, zajištění kvality) v mnoha jazycích.
+
+Ačkoli může být lákavé vybrat si poskytovatele jazykových služeb pouze na základě nabízených sazeb, je důležité si uvědomit, že největší poskytovatelé jazykových služeb mají vyšší sazby z nějakého důvodu.
+
+- Mají v databázi desítky tisíc lingvistů, což znamená, že budou schopni vašemu projektu přidělit překladatele s dostatečnými zkušenostmi a znalostmi vašeho konkrétního odvětví (tj. technické překladatele).
+- Mají významné zkušenosti s prací na různých projektech a s plněním rozmanitých potřeb svých klientů. To znamená, že se s větší pravděpodobností přizpůsobí vašemu konkrétnímu pracovnímu postupu, nabídnou cenné návrhy a potenciální vylepšení vašeho překladatelského procesu a splní vaše potřeby, požadavky a termíny.
+- Většina největších poskytovatelů jazykových služeb má také své vlastní lokalizační nástroje, překladové paměti a glosáře, které můžete použít. Pokud ne, mají alespoň dostatek lingvistů ve své skupině, aby se ujistili, že jejich překladatelé budou obeznámeni a schopni pracovat s jakýmkoli lokalizačním nástrojem, který chcete použít.
+
+Podrobné srovnání největších poskytovatelů jazykových služeb na světě, některé podrobnosti o každém z nich a rozdělení podle poskytovaných služeb, geografických údajů atd. najdete ve [zprávě Nimdzi 100 za rok 2021](https://www.nimdzi.com/nimdzi-100-top-lsp/).
+
+**Spolupráce s neprofesionálními překladateli**
+
+Možná spolupracujete s neprofesionálními překladateli a hledáte dobrovolníky, kteří by vám s překladem pomohli.
+
+Existuje několik způsobů, jak oslovit lidi a pozvat je, aby se připojili k vašemu projektu. To bude do značné míry záviset na vašem produktu a na velikosti komunity, kterou již máte.
+
+Některé způsoby zapojení dobrovolníků jsou uvedeny níže:
+
+**Oslovování –** Ačkoli je toto téma částečně pokryto v bodech níže, oslovování potenciálních dobrovolníků a ujištění se, že jsou si vědomi vaší překladatelské iniciativy, může být samo o sobě účinné.
+
+Mnoho lidí se chce zapojit a přispět ke svým oblíbeným projektům, ale často nevidí jasný způsob, jak to udělat, aniž by byli vývojáři nebo měli speciální technické dovednosti. Pokud dokážete šířit povědomí o svém projektu, mnoho dvojjazyčných lidí se pravděpodobně rádo zapojí.
+
+**Hledání v rámci vaší komunity –** Většina projektů v tomto prostoru již má velké a aktivní komunity. Mnoho členů vaší komunity by pravděpodobně ocenilo možnost přispět k projektu jednoduchým způsobem.
+
+Přestože přispívání do open-source projektů je často založeno na vnitřní motivaci, je to také fantastická příležitost k učení. Každý, kdo má zájem dozvědět se více o vašem projektu, by se pravděpodobně rád zapojil do překladatelského programu jako dobrovolník, protože by mu to umožnilo spojit skutečnost, že přispěl k něčemu, na čem mu záleží, s intenzivní praktickou zkušeností s učením.
+
+**Zmínka o iniciativě ve vašem produktu –** Pokud je váš produkt oblíbený a používá ho velké množství lidí, může být zvýraznění vašeho překladatelského programu a výzva uživatelů k akci během používání produktu nesmírně účinná.
+
+U aplikací a webových stránek to může být tak jednoduché jako přidání banneru nebo vyskakovacího okna s výzvou k akci do vašeho produktu. To je efektivní, protože vaše cílová skupina je vaše komunita – lidé, kteří se s největší pravděpodobností zapojí jako první.
+
+**Sociální média –** Sociální média mohou být účinným způsobem, jak šířit povědomí o vašem překladatelském programu a oslovit členy vaší komunity, stejně jako další lidi, kteří ještě členy vaší komunity nejsou.
+
+Pokud máte server na Discordu nebo kanál na Telegramu, je snadné je použít k oslovení, komunikaci s překladateli a uznání vašich přispěvatelů.
+
+Platformy jako X (dříve Twitter) mohou být také užitečné pro zapojování nových členů komunity a veřejné uznání vašich přispěvatelů.
+
+Linux Foundation vytvořila rozsáhlou [zprávu z průzkumu přispěvatelů FOSS v roce 2020](https://www.linuxfoundation.org/wp-content/uploads/2020FOSSContributorSurveyReport_121020.pdf), která analyzuje přispěvatele do open-source a jejich motivace.
+
+## Závěr {#conclusion}
+
+Tento dokument obsahuje několik klíčových úvah, o kterých by měl vědět každý překladatelský program. V žádném případě se nejedná o vyčerpávající příručku, i když může pomoci komukoli bez zkušeností v překladatelském průmyslu zorganizovat překladatelský program pro svůj projekt.
+
+Pokud hledáte podrobnější pokyny a rozbory různých nástrojů, procesů a kritických aspektů řízení překladatelského programu, někteří z největších poskytovatelů jazykových služeb udržují blogy a často publikují články o různých aspektech lokalizačního procesu. Toto jsou nejlepší zdroje, pokud se chcete hlouběji ponořit do některého z výše uvedených témat a pochopit, jak profesionálně funguje lokalizační proces.
+
+Některé relevantní odkazy jsou uvedeny na konci každé části; mnoho dalších zdrojů však můžete najít online.
+
+Pro návrhy na spolupráci nebo další informace, poznatky a osvědčené postupy, které jsme získali při udržování překladatelského programu ethereum.org, nás neváhejte kontaktovat na adrese translations@ethereum.org.
diff --git a/public/content/translations/cs/contributing/translation-program/resources/index.md b/public/content/translations/cs/contributing/translation-program/resources/index.md
index dd645f281b6..ce26fa4db94 100644
--- a/public/content/translations/cs/contributing/translation-program/resources/index.md
+++ b/public/content/translations/cs/contributing/translation-program/resources/index.md
@@ -4,41 +4,46 @@ lang: cs
description: Užitečné zdroje pro překladatele ethereum.org
---
-# Zdroje {#resources}
+# Zdroje informací {#resources}
Níže najdete několik užitečných průvodců a nástrojů pro překladatele ethereum.org, stejně jako překladatelské komunity a aktualizace.
-## Příručky {#guides}
+## Průvodci {#guides}
-- [Průvodce stylem překladu](/contributing/translation-program/translators-guide/) _– pokyny a tipy pro překladatele ethereum.org_
-- [Časté dotazy k překladu](/contributing/translation-program/faq/) _– často kladené otázky a odpovědi k překladatelskému programu ethereum.org_
-- [Průvodce online editorem Crowdin](https://support.crowdin.com/online-editor/) _– podrobný průvodce používáním online editoru Crowdin a některých pokročilých funkcí Crowdinu_
-- [Obsahové kategorie](/contributing/translation-program/content-buckets/) _– které stránky jsou zahrnuty v jednotlivých obsahových kategoriích ethereum.org_
+- [Stylová příručka pro překladatele](/contributing/translation-program/translators-guide/) _– pokyny a tipy pro překladatele webu ethereum.org_
+- [Časté dotazy k překladu](/contributing/translation-program/faq/) _– často kladené otázky a odpovědi ohledně překladatelského programu ethereum.org_
+- [Průvodce online editorem Crowdin](https://support.crowdin.com/online-editor/) _– podrobný průvodce používáním online editoru Crowdin a některých jeho pokročilých funkcí_
## Nástroje {#tools}
-- [Linguee](https://www.linguee.com/) _– vyhledávač překladů a slovník, který umožňuje vyhledávání podle slov nebo frází_
-- [Proz term search](https://www.proz.com/search/) _– databáze překladových slovníků a glosářů pro odborné termíny_
-- [Eurotermbank](https://www.eurotermbank.com/) _– sbírky evropské terminologie ve 42 jazycích_
+- [Linguee](https://www.linguee.com/)
+ _– vyhledávač překladů a slovník, který umožňuje vyhledávání podle slov nebo frází_
+- [Proz term search](https://www.proz.com/search/)
+ _– databáze překladových slovníků a glosářů pro odborné termíny_
+- [Eurotermbank](https://www.eurotermbank.com/)
+ _– sbírky evropské terminologie ve 42 jazycích_
## Komunity {#communities}
-- [Jazykově specifické překladové skupiny na Discordu](https://discord.gg/ethereum-org) _– iniciativa na propojení překladatelů ethereum.org s překladatelskými skupinami_
-- [Skupina překladatelů do čínštiny](https://www.notion.so/Ethereum-org-05375fe0a94c4214acaf90f42ba40171) _– stránka s pojmy pro snazší koordinaci mezi překladateli do čínštiny_
+- [Jazykově specifické překladové skupiny na Discordu](https://discord.gg/ethereum-org)
+ _– iniciativa na propojení překladatelů ethereum.org s překladatelskými skupinami_
+- [Skupina čínských překladatelů](https://www.notion.so/Ethereum-org-05375fe0a94c4214acaf90f42ba40171)
+ _– stránka na Notionu pro snazší koordinaci mezi čínskými překladateli_
-## Poslední aktualizace {#latest-updates}
+## Nejnovější aktualizace {#latest-updates}
-Chcete-li mít přehled o nejnovějším vývoji překladatelského programu, můžete sledovat [blog Nadace Ethereum](https://blog.ethereum.org/):
+Chcete-li mít přehled o nejnovějším pokroku v překladatelském programu, můžete sledovat [blog Nadace Ethereum](https://blog.ethereum.org/):
-- [Aktualizace milníků v říjnu 2021](https://blog.ethereum.org/2021/10/04/translation-program-update/)
-- [Aktualizace milníků v prosinci 2020](https://blog.ethereum.org/2020/12/21/translation-program-milestones-updates-20/)
-- [Aktualizace milníků v červenci 2020](https://blog.ethereum.org/2020/07/29/ethdotorg-translation-milestone/)
-- [Zahájení překladatelského programu v srpnu 2019](https://blog.ethereum.org/2019/08/20/translating-ethereum-for-our-global-community/)
+- [Aktualizace milníků z října 2021](https://blog.ethereum.org/2021/10/04/translation-program-update/)
+- [Aktualizace milníků z prosince 2020](https://blog.ethereum.org/2020/12/21/translation-program-milestones-updates-20/)
+- [Aktualizace milníků z července 2020](https://blog.ethereum.org/2020/07/29/ethdotorg-translation-milestone/)
+- [Spuštění překladatelského programu v srpnu 2019](https://blog.ethereum.org/2019/08/20/translating-ethereum-for-our-global-community/)
-## Úřední hodiny pro překladatele {#office-hours}
+## Konzultační hodiny pro překladatele {#office-hours}
-Každou druhou středu v měsíci máme úřední hodiny pro překladatele. Ty se konají v hlasovém kanálu #office-hours na [Discordu ethereum.org](https://discord.gg/ethereum-org), kde také najdete přesné časy a další podrobnosti.
+Každou druhou středu v měsíci máme úřední hodiny pro překladatele. Konají se v hlasovém kanálu #office-hours na [Discordu ethereum.org](https://discord.gg/ethereum-org), kde také najdete přesné časy a další podrobnosti.
-V úředních hodinách mohou naši překladatelé klást otázky týkající se procesu překladu, poskytovat zpětnou vazbu k programu, sdílet své nápady nebo si jen popovídat s hlavním týmem ethereum.org. V neposlední řadě chceme prostřednictvím těchto hovorů informovat o nejnovějším vývoji překladatelského programu a sdílet s našimi přispěvateli klíčové tipy a pokyny.
+V úředních hodinách mohou naši překladatelé klást otázky týkající se procesu překladu, poskytovat zpětnou vazbu k programu, sdílet své nápady nebo si jen popovídat s hlavním týmem ethereum.org.
+V neposlední řadě chceme prostřednictvím těchto hovorů informovat o nejnovějším vývoji překladatelského programu a sdílet s našimi přispěvateli klíčové tipy a pokyny.
Pokud jste překladatelem ethereum.org nebo byste se jím chtěli stát, neváhejte a připojte se k nám během jednoho z těchto zasedání.
diff --git a/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md b/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md
new file mode 100644
index 00000000000..e4ea62249c0
--- /dev/null
+++ b/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md
@@ -0,0 +1,90 @@
+---
+title: Podrobnosti a pravidla
+lang: cs
+template: překladaton
+---
+
+
+
+Translatathon je otevřený a zúčastnit se ho může kdokoli po vyplnění přihlášky a připojení k projektu v Crowdin.
+
+Překladatelé sbírají body za navrhování překladů pro nepřeložené řetězce ve svém jazyce v editoru Crowdin během období překladu.
+
+Konečné skóre každého účastníka je určeno jeho pozicí v žebříčku na základě počtu slov, která přeložil během období překladu, a případných bonusových bodů, které nasbíral.
+
+## Začínáme {#getting-started}
+
+Překlad probíhá v projektu ethereum.org v aplikaci Crowdin. Překladatelé navrhují své překlady nepřeložených řetězců, které tvoří téměř veškerý obsah webu ethereum.org.
+
+Překlady se navrhují přímo v online editoru, takže není třeba stahovat ani nahrávat žádné soubory ani výstupy. Každé přeložené slovo se sleduje a počítá.
+
+**1) Připojte se k projektu**
+
+- Chcete-li začít přispívat, připojte se k [projektu ethereum.org na Crowdinu](https://crowdin.com/project/ethereum-org)
+- Budete se muset přihlásit nebo si vytvořit účet – vše, co je potřeba, je e-mailová adresa a heslo
+
+**2) Vyberte si jazyk**
+
+- Najděte svůj jazyk v seznamu cílových jazyků a otevřete jej kliknutím na jeho název nebo vlajku
+- Pokud byste chtěli překládat do jazyka, který není k dispozici, kontaktujte [tým Ethereum.org](https://crowdin.com/profile/ethdotorg) na Crowdinu nebo nám pošlete e-mail na adresu translations@ethereum.org a my na požádání přidáme další cílové jazyky
+
+**3) Otevřete nepřeložený soubor**
+
+- Najděte první nepřeložený soubor a začněte překládat. Složky obsahující zdrojové soubory jsou seřazeny podle priority, takže byste měli začít překládat první složku, která obsahuje nepřeložené soubory
+- Každý soubor má ukazatel průběhu, který ukazuje, kolik přeložitelného obsahu v souboru bylo přeloženo a schváleno… pokud je průběh překladu u některého souboru nižší než 100 %, přeložte jej
+
+**4) Přeložte nepřeložené řetězce**
+
+- Když otevřete soubor k překladu, ujistěte se, že překládáte pouze nepřeložené řetězce!
+- Každý řetězec má ukazatel stavu, který ukazuje, zda je _přeložený_, _nepřeložený_, nebo _schválený_. Pokud má zdrojový řetězec již navržený překlad do vašeho jazyka, není třeba jej překládat
+- V editoru můžete také filtrovat řetězce a zobrazit _Nejprve nepřeložené_ nebo _Pouze nepřeložené_
+
+Pro podrobný návod k orientaci a používání editoru Crowdin doporučujeme všem účastníkům Translatathonu, aby si přečetli naši příručku [Jak překládat](/contributing/translation-program/how-to-translate/).
+
+Některé tipy a osvědčené postupy najdete také v naší [příručce pro styl překladu](/contributing/translation-program/translators-guide/).
+
+**Jak fungují body**
+
+Každý účastník Translatathonu získává body do svého konečného skóre za překládání obsahu v projektu ethereum.org Crowdin a dalších způsobilých projektech (úplný seznam způsobilých projektů je k dispozici níže).
+
+Bodování je jednoduché: **1 přeložené slovo = 1 bod**
+
+Abyste získali konečné přidělení bodů, musí vaše navrhované překlady projít procesem hodnocení, při kterém profesionální recenzenti zkontrolují překlady každého účastníka, aby se ujistili, že splňují minimální hranici kvality a že v procesu nebyly použity strojové překlady nebo překlady s pomocí AI.
+
+## Obsah ekosystému {#ecosystem-content}
+
+Protože překladatelský program ethereum.org je aktivní neustále, je pokrok v překladu některých cílových jazyků na webu výrazně vyšší než u jiných.
+
+Aby bylo zajištěno, že všichni účastníci Translatathonu budou mít stejnou příležitost přeložit co nejvíce obsahu a soutěžit o hlavní ceny, není zdrojový obsah, který je součástí Translatathonu, omezen pouze na obsah webových stránek ethereum.org.
+
+Účastníci překládající některý ze způsobilých projektů získají stejný počet bodů, 1 přeložené slovo v jakémkoli projektu = 1 bod.
+
+Zde je seznam všech způsobilých projektů, které jsou součástí Translatathonu 2025:
+
+- [Ethereum.org](https://crowdin.com/project/ethereum-org)
+
+- [Vývojářské tutoriály Ethereum.org](https://crowdin.com/project/33388446abbe9d7aa21e42e49bba7f97)
+
+- [EthStaker vkladové CLI](https://crowdin.com/project/ethstaker-deposit-cli)
+
+- [Dokumentace Eth Docker](https://crowdin.com/project/eth-docker-docs)
+
+- [Dokumentace Remix IDE](https://crowdin.com/project/remix-translation)
+
+- [Remix LearnEth](https://crowdin.com/project/remix-learneth)
+
+- [web3.py](https://crowdin.com/project/web3py)
+
+## Proces hodnocení {#evaluation-process}
+
+Všechny překlady budou podléhat kontrole kvality a zpětné vazbě, přičemž profesionální lingvisté budou hodnotit příspěvky na základě kvality a přesnosti.
+
+Budeme také používat **opatření proti strojovému překladu** pomocí nástrojů, které automaticky detekují strojové překlady nebo překlady s pomocí AI.
+
+Kvalita překladu sice nebude hrát rozhodující roli v bodování, ale **účastníci, u kterých se zjistí, že používají strojové překlady nebo překlady s pomocí AI** nebo navrhují nekvalitní a nepřesné překlady, nebudou mít nárok na ceny!
+
+Hodnotící období bude probíhat během celého září a výsledky budou vyhlášeny na komunitním hovoru ethereum.org 25. září.
+
+Všechny překlady budou před přidáním na web také kompletně zkontrolovány.
+
+
diff --git a/public/content/translations/cs/contributing/translation-program/translatathon/index.md b/public/content/translations/cs/contributing/translation-program/translatathon/index.md
new file mode 100644
index 00000000000..aabb2a5b722
--- /dev/null
+++ b/public/content/translations/cs/contributing/translation-program/translatathon/index.md
@@ -0,0 +1,100 @@
+---
+title: ethereum.org Translaton 2025
+lang: cs
+template: translatathon
+---
+
+
+
+
+
+
+
+## Úvod {#introduction}
+
+Věříme, že obsah o Ethereu a materiály pro začátečníky by měly být přístupné všem bez ohledu na jazyk, kterým mluví.
+Abychom se tomuto cíli přiblížili, vznikl překladatelský program ethereum.org – iniciativa, jejímž cílem je přeložit web do co nejvíce jazyků.
+
+V rámci překladatelského programu pořádáme 3. ročník Translatonu, naší překladatelské soutěže, která má za cíl motivovat k překladům v méně aktivních jazycích, zvýšit počet jazyků a množství obsahu dostupného na webu, přivést nové přispěvatele a odměnit ty stávající.
+
+Pokud jste rodilý mluvčí jiného jazyka než angličtiny a chcete pomoci zpřístupnit obsah o Ethereu a přitom soutěžit o ceny, čtěte dál a dozvíte se víc!
+
+[Zjistěte více o překladatelském programu ethereum.org](/contributing/translation-program/)
+
+## Časový plán {#timeline}
+
+Zde jsou důležitá data pro Translaton 2025:
+
+
+
+
+
+## Zapojte se {#participate}
+
+
+
+
+
+
Kdo se může zúčastnit?
+ Každý, komu je více než 18 let, je rodilým mluvčím alespoň jednoho jiného jazyka než angličtiny a ovládá angličtinu.
+
+
+
Musím být překladatel?
+ Ne. Stačí být bilingvní a navrhovat lidské překlady (používání strojového překladu je zakázáno!) podle svých nejlepších schopností, žádné odborné zkušenosti nejsou vyžadovány.
+
+
+
+
+
+
Kolik času musím věnovat?
+ Kolik jen chcete. Minimální hranice pro nárok na ceny je 1 000 přeložených slov, což by mělo zabrat asi 2 hodiny. Soutěž o nejvyšší ceny bude vyžadovat větší časové nasazení.
+
+
+
Musím se vyznat v Ethereu?
+ Ne. Znalost Etherea sice může pomoci s produktivitou a kvalitou, ale Translaton je také příležitost se učit a všichni jsou zváni, aby se zúčastnili a během účasti se o Ethereu dozvěděli více.
+
+
+
+Další podrobnosti najdete v úplných [podmínkách](/contributing/translation-program/translatathon/terms-and-conditions)
+
+### Pokyny krok za krokem {#step-by-step-instructions}
+
+
+
+## Ceny {#prizes}
+
+| Umístění | Výše ceny |
+| ----------------------------------------------- | --------- |
+| 1. místo | $4000 |
+| 2. místo | $2500 |
+| 3. místo | $1500 |
+| 4. místo | $1100 |
+| 5. místo | $1000 |
+| 6. místo | $600 |
+| 7. místo | $550 |
+| 8. místo | $500 |
+| 9. místo | $450 |
+| 10. místo | $400 |
+| 11.–20. místo | $240 |
+| 21.–50. místo | $120 |
+| 51.–100. místo | $60 |
+| 101.–150. místo | $40 |
+| Ostatní | $20 |
+
+Všechny ceny budou vyplaceny v ETH.
+
+
+
+
diff --git a/public/content/translations/cs/contributing/translation-program/translators-guide/index.md b/public/content/translations/cs/contributing/translation-program/translators-guide/index.md
index 0054ee24ae8..800f87d256a 100644
--- a/public/content/translations/cs/contributing/translation-program/translators-guide/index.md
+++ b/public/content/translations/cs/contributing/translation-program/translators-guide/index.md
@@ -10,15 +10,15 @@ Průvodce stylem překladu pro ethereum.org obsahuje některé z nejdůležitěj
Tento dokument slouží jako obecný průvodce a není specifický pro žádný konkrétní jazyk.
-Pokud máte jakékoli dotazy, návrhy nebo zpětnou vazbu, neváhejte nás kontaktovat na translations@ethereum.org, pošlete zprávu na @ethdotorg na Crowdin nebo se [připojte k našemu Discordu](https://discord.gg/ethereum-org), kde nám můžete poslat zprávu v kanálu #translations nebo kontaktovat některého z členů týmu.
+Pokud máte nějaké dotazy, návrhy nebo zpětnou vazbu, neváhejte nás kontaktovat na adrese translations@ethereum.org, pošlete zprávu uživateli @ethdotorg na Crowdinu nebo se [připojte k našemu Discordu](https://discord.gg/ethereum-org), kde nám můžete napsat do kanálu #translations nebo se obrátit na kteréhokoliv člena týmu.
## Používání Crowdinu {#using-crowdin}
-Základní pokyny, jak se připojit k projektu na Crowdinu a jak používat online editor Crowdin, najdete na stránce [Translation Program](/contributing/translation-program/#how-to-translate).
+Základní pokyny, jak se připojit k projektu na Crowdinu a jak používat online editor Crowdin, naleznete na [stránce překladatelského programu](/contributing/translation-program/#how-to-translate).
-Pokud byste se chtěli dozvědět více o Crowdinu a používat některé z jeho pokročilých funkcí, [znalostní báze Crowdin](https://support.crowdin.com/online-editor/) obsahuje mnoho podrobných průvodců a přehledů všech jeho funkcionalit.
+Pokud se chcete dozvědět více o Crowdinu a používání některých jeho pokročilých funkcí, [znalostní báze Crowdinu](https://support.crowdin.com/online-editor/) obsahuje mnoho podrobných příruček a přehledů všech funkcí Crowdinu.
-## Zachycení podstaty sdělení {#capturing-the-essence}
+## Vystižení podstaty sdělení {#capturing-the-essence}
Při překládání obsahu ethereum.org se vyhýbejte doslovným překladům.
@@ -28,7 +28,7 @@ Různé jazyky mají různá gramatické pravidla, konvence a pořadí slov. Př
Místo překládání zdrojového textu slovo od slova se doporučuje přečíst si celou větu a přizpůsobit ji tak, aby odpovídala konvencím cílového jazyka.
-## Formální vs. neformální {#formal-vs-informal}
+## Formální vs. neformální oslovení {#formal-vs-informal}
Používáme formální oslovení, které je vždy zdvořilé a vhodné pro všechny návštěvníky.
@@ -42,7 +42,7 @@ Naším cílem je, aby obsah na webu byl srozumitelný co největšímu počtu l
Ve většině případů toho lze snadno dosáhnout použitím krátkých a jednoduchých slov, která jsou snadno srozumitelná. Pokud ve vašem jazyce existuje více možných překladů pro určitý výraz se stejným významem, nejlepší možností je většinou nejkratší slovo, které jasně odráží význam.
-## Písmo {#writing-system}
+## Systém písma {#writing-system}
Ethereum.org je dostupné v řadě jazyků, které používají alternativní písma (nebo abecedy) k latince.
@@ -54,13 +54,13 @@ Běžná mylná představa je, že Ethereum by mělo být vždy psáno latinkou.
**Výše uvedené neplatí pro jazyky, kde se jména obvykle nepřekládají.**
-## Překládání metadat stránky {#translating-metadata}
+## Překlad metadat stránky {#translating-metadata}
Některé stránky obsahují metadata jako „title“, „lang“, „description“, „sidebar“ atd.
Když nahráváme nové stránky do Crowdinu, skryjeme obsah, který by překladatelé nikdy neměli překládat, což znamená, že všechna metadata viditelná pro překladatele v Crowdinu by měla být přeložena.
-Buďte obzvláště opatrní při překládání jakýchkoli řetězců, kde je zdrojový text „en“. Tento text představuje jazyk, ve kterém je stránka dostupná, a měl by být přeložen na [ISO jazykový kód vašeho jazyka](https://www.andiamo.co.uk/resources/iso-language-codes/). Tyto řetězce by měly být vždy přeloženy pomocí latinských znaků, nikoli abecedy, která je vlastní cílovému jazyku.
+Buďte obzvláště opatrní při překládání jakýchkoli řetězců, kde je zdrojový text „en“. Toto označuje jazyk, ve kterém je stránka k dispozici, a mělo by být přeloženo jako [jazykový kód ISO pro váš jazyk](https://www.andiamo.co.uk/resources/iso-language-codes/). Tyto řetězce by měly být vždy přeloženy pomocí latinských znaků, nikoli abecedy, která je vlastní cílovému jazyku.
Pokud si nejste jisti, jaký jazykový kód použít, můžete se podívat do překladové paměti v Crowdinu nebo najít jazykový kód pro váš jazyk v URL stránky v online editoru Crowdin.
@@ -78,17 +78,20 @@ Některé řetězce obsahují názvy externích článků. Většina našich str
Níže najdete několik příkladů toho, jak tyto řetězce vypadají pro překladatele a jak je identifikovat (odkazy na články najdete většinou na konci těchto stránek, v sekci „Další čtení“):
- 
+
+
## Upozornění v Crowdinu {#crowdin-warnings}
-Crowdin má zabudovanou funkci, která varuje překladatele, když se chystají udělat chybu. Crowdin vás automaticky upozorní před uložením překladu, pokud zapomenete zahrnout tag ze zdroje, přeložíte prvky, které by neměly být přeloženy, přidáte několik po sobě jdoucích mezer, zapomenete koncové interpunkční znaménko atd. Pokud vidíte takové upozornění, vraťte se a dvakrát zkontrolujte navrhovaný překlad.
+Crowdin má zabudovanou funkci, která varuje překladatele, když se chystají udělat chybu. Crowdin vás automaticky upozorní před uložením překladu, pokud zapomenete zahrnout tag ze zdroje, přeložíte prvky, které by neměly být přeloženy, přidáte několik po sobě jdoucích mezer, zapomenete koncové interpunkční znaménko atd.
+Pokud vidíte takové upozornění, vraťte se a dvakrát zkontrolujte navrhovaný překlad.
**Nikdy tato varování neignorujte, protože obvykle znamenají, že něco není v pořádku nebo že v překladu chybí klíčová část zdrojového textu.**
-Příklad upozornění v Crowdinu, když zapomenete přidat tag do překladu: 
+Příklad upozornění v Crowdinu, když do překladu zapomenete přidat značku:
+
-## Práce s tagy a úryvky kódu {#dealing-with-tags}
+## Práce se značkami a úryvky kódu {#dealing-with-tags}
Mnoho zdrojového obsahu obsahuje tagy a proměnné, které jsou v editoru Crowdin zvýrazněny žlutě. Tyto prvky slouží různým funkcím a je nutné k nim přistupovat správně.
@@ -96,15 +99,18 @@ Mnoho zdrojového obsahu obsahuje tagy a proměnné, které jsou v editoru Crowd
Aby bylo snazší pracovat s tagy a kopírovat je přímo ze zdroje, doporučujeme změnit nastavení v editoru Crowdin.
-1. Otevřete nastavení 
+1. Otevřít nastavení
+ 
2. Sjeďte dolů do sekce „Zobrazování HTML tagů“
-3. Vyberte „Skrýt“ 
+3. Zvolte „Skrýt“
+ 
4. Klikněte na „Uložit“
-Při výběru této možnosti se celý text tagu již nebude zobrazovat a bude nahrazen číslem. Při překládání kliknutí na tento tag automaticky zkopíruje přesný tag do pole překladu.
+Při výběru této možnosti se celý text tagu již nebude zobrazovat a bude nahrazen číslem.
+Při překládání kliknutí na tento tag automaticky zkopíruje přesný tag do pole překladu.
**Odkazy**
@@ -116,7 +122,7 @@ Nejlepší způsob, jak pracovat s odkazy, je kopírovat je přímo ze zdroje, b

-Odkazy se také zobrazují ve zdrojovém textu ve formě tagů (tj. \<0> \0>). Pokud na tag umístíte kurzor, editor zobrazí jeho celý obsah – někdy tyto tagy představují odkazy.
+Odkazy se ve zdrojovém textu také objevují v podobě značek (tj. `<0>` `0>`). Pokud na tag umístíte kurzor, editor zobrazí jeho celý obsah – někdy tyto tagy představují odkazy.
Je velmi důležité zkopírovat odkazy ze zdroje a neměnit jejich pořadí.
@@ -130,35 +136,35 @@ Zdrojový text obsahuje mnoho různých typů tagů, které by měly být vždy
Tagy vždy obsahují otevírací a zavírací tag. Ve většině případů by text mezi otevíracím a zavíracím tagem měl být přeložen.
-Příklad: ``Decentralized``
+Příklad: ``Decentralizované``
-`` – _otevírací tag, který udělá text tučným_
+`` – _Otevírací značka, která udělá text tučným_
-Decentralized – _přeložitelný text_
+Decentralized – _Přeložitelný text_
-`` – _zavírací tag_
+`` – _Zavírací značka_
-
+
Úryvky kódu by měly být zpracovány trochu jinak než ostatní tagy, protože obsahují kód, který by neměl být přeložen.
Příklad: ``nonce``
-`` – _otevírací tag, který obsahuje úryvek kódu_
+`` – _Otevírací značka, která obsahuje úryvek kódu_
-nonce – _text, který není určen k překladu_
+nonce – _Nepřeložitelný text_
-`` – _zavírací tag_
+`` – _Zavírací značka_

Zdrojový text také obsahuje zkrácené tagy, které obsahují pouze čísla, což znamená, že jejich funkce není okamžitě zřejmá. Můžete na tyto tagy najet kurzorem, abyste přesně zjistili, jakou funkci plní.
-V příkladu níže můžete vidět, že když najedete kurzorem na tag \<0> , zobrazí se, že představuje `` a obsahuje úryvek kódu, takže obsah uvnitř těchto tagů by neměl být přeložen.
+V níže uvedeném příkladu můžete vidět, že když najedete kurzorem na značku `<0>`, zobrazí se, že představuje `` a obsahuje úryvek kódu, proto by se obsah uvnitř těchto značek neměl překládat.
-
+
-## Krátké versus plné formy nebo zkratky {#short-vs-full-forms}
+## Krátké vs. plné tvary / zkratky {#short-vs-full-forms}
Na webových stránkách se používá mnoho zkratek, např. dapps, NFT, DAO, DeFi atd. Tyto zkratky jsou běžně používány v angličtině a většina návštěvníků webu je s nimi obeznámena.
@@ -168,9 +174,9 @@ Tyto zkratky nepřekládejte, protože většina lidí by jim nerozuměla a loka
Příklad, jak přeložit dapps:
-- Decentralized applications (dapps) → _přeložená plná forma (anglická zkratka v závorkách)_
+- Decentralized applications (dapps) → _Přeložený plný tvar (anglická zkratka v závorce)_
-## Termíny bez zavedených překladů {#terms-without-established-translations}
+## Pojmy bez zavedených překladů {#terms-without-established-translations}
Některé termíny nemusí mít zavedené překlady v jiných jazycích a jsou široce známé pod původním anglickým termínem. Tyto termíny většinou zahrnují novější koncepty, jako je proof-of-work, proof-of-stake, Beacon Chain, staking atd.
@@ -190,7 +196,7 @@ Překlady tlačítek by měly být co nejkratší, aby se zabránilo problémům

-## Překládání s ohledem na inkluzivitu {#translating-for-inclusivity}
+## Překlad s ohledem na inkluzivitu {#translating-for-inclusivity}
Návštěvníci ethereum.org pocházejí z celého světa a z různých prostředí. Jazyk na webu by proto měl být neutrální, přívětivý ke všem a ne vylučující.
@@ -200,7 +206,7 @@ Další formou inkluzivity je snaha překládat pro globální publikum, nikoli
Jazyk by měl být vhodný pro všechna publika a věkové kategorie.
-## Jazykově specifické překlady {#language-specific-translations}
+## Překlady specifické pro daný jazyk {#language-specific-translations}
Při překládání je důležité dodržovat gramatická pravidla, konvence a formátování používané ve vašem jazyce, na rozdíl od kopírování ze zdroje. Zdrojový text se řídí anglickými gramatickými pravidly a konvencemi, což není použitelné pro mnoho jiných jazyků.
@@ -229,7 +235,7 @@ Některé příklady toho, na co být obzvláště opatrní:
- Každý jazyk má rozmanitý a složitý soubor pravidel pro psaní seznamů. Tato pravidla mohou být výrazně odlišná od angličtiny.
- V některých jazycích je první slovo každé nové položky seznamu třeba psát s velkým písmenem, zatímco v jiných jazycích by nové položky měly začínat malým písmenem. Mnoho jazyků má také různá pravidla pro psaní velkých písmen v seznamech, která závisí na délce každé položky.
-- Totéž platí pro interpunkci jednotlivých položek seznamu. Závěrečná interpunkce v seznamech může být tečka (**.**), čárka (**,**) nebo středník (**;**), v závislosti na jazyce.
+- Totéž platí pro interpunkci jednotlivých položek seznamu. Koncová interpunkce v seznamech může být tečka (**.**), čárka (**,**) nebo středník (**;**), v závislosti na jazyce.
**Uvozovky**
@@ -256,7 +262,7 @@ Některé příklady toho, na co být obzvláště opatrní:
- Angličtina – **1,000.50**
- Španělština – **1.000,50**
- Francouzština – **1 000,50**
-- Dalším důležitým faktorem při překladu čísel je procentní znak. Ten může být psán různými způsoby: **100%**, **100 %** nebo **%100**.
+- Dalším důležitým faktorem při překladu čísel je procentní znak. Lze jej zapsat různými způsoby: **100%**, **100 %** nebo **%100**.
- Záporná čísla mohou být zobrazena různě, v závislosti na jazyce: -100, 100-, (100) nebo [100].
**Data**
diff --git a/public/content/translations/cs/dao/index.md b/public/content/translations/cs/dao/index.md
index d4d54e2a446..6c4dfb77b90 100644
--- a/public/content/translations/cs/dao/index.md
+++ b/public/content/translations/cs/dao/index.md
@@ -19,7 +19,7 @@ DAO je kolektivně vlastněná organizace sloužící k dosažení společně vy
DAO nám umožňují pracovat s podobně smýšlejícími lidmi po celém světě, aniž bychom věřili benevolentnímu lídrovi, aby spravoval finanční prostředky nebo operace. Není zde žádný výkonný ředitel, který by rozmarně utrácel peníze nebo výkonný finanční ředitel, který by mohl manipulovat s rozvahou firmy. Namísto toho jsou do kódu zavedena pravidla založená na blockchainu, která definují, jak organizace funguje a jak je s finančními prostředky vynaloženo.
-Mají zabudované pokladny, do kterých nikdo nemá přístup bez souhlasu skupiny. Rozhodnutí se řídí návrhy a hlasováním, což zajišťuje, že každý člen organizace má možnost vyjádřit svůj názor. To vše se díky blockchainovým technologiím odehrává [on-chain](/glossary/#on-chain) a naprosto transparentně.
+Mají zabudované pokladny, do kterých nikdo nemá přístup bez souhlasu skupiny. Rozhodnutí se řídí návrhy a hlasováním, aby se zajistilo, že každý v organizaci bude mít svůj hlas a vše probíhá transparentně [na blockchainu](/glossary/#onchain).
## Proč potřebujeme DAO? {#why-dao}
@@ -29,27 +29,27 @@ Tento princip tak otevírá mnoho nových příležitostí ke globální spolupr
### Srovnání {#dao-comparison}
-| Decentralizovaná Autonomní Organizace | Tradiční organizace |
-| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
-| Obvykle má horizontální strukturu a je plně demokratická. | Obvykle má hierarchickou strukturu. |
-| Veškeré plánované změny vyžadují členské hlasování. | V závislosti na struktuře se změny dějí buď pomocí hlasování nebo rozhodnutím členů s výhraním právem. |
-| Výsledky hlasování jsou zpracovávané automaticky bez nutnosti důvěryhodného prostředníka. | Pokud je hlasování povoleno, je vyřizováno ručně a výsledek je zpracováván interně. |
+| DAO | Tradiční organizace |
+| --------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
+| Obvykle má horizontální strukturu a je plně demokratická. | Obvykle má hierarchickou strukturu. |
+| Veškeré plánované změny vyžadují členské hlasování. | V závislosti na struktuře se změny dějí buď pomocí hlasování nebo rozhodnutím členů s výhraním právem. |
+| Výsledky hlasování jsou zpracovávané automaticky bez nutnosti důvěryhodného prostředníka. | Pokud je hlasování povoleno, je vyřizováno ručně a výsledek je zpracováván interně. |
| Služby jsou řízeny automatickým a decentralizovaným způsobem (například distribuce filantropických fondů). | Vyžaduje lidskou manipulaci nebo centrálně řízenou automatizaci náchylnou k falšování. |
-| Veškerá činnost je transparentní a zcela veřejná. | Aktivity jsou obvykle soukromé a skryté před veřejností. |
+| Veškerá činnost je transparentní a zcela veřejná. | Aktivity jsou obvykle soukromé a skryté před veřejností. |
### Příklady DAO {#dao-examples}
Několik příkladů, k čemu je možné DAO využít:
- **Charitativní organizace** – můžete přijímat dary od kohokoliv na světě a hlasovat o tom, které projekty budou s jejich pomocí financovány.
-- **Kolektivní vlastnictví** – jako DAO můžete zakoupit fyzická či digitální aktiva a nechat vaše členy hlasovat o tom, jak s nimi naložit.
-- **Fondy a granty** – můžete vytvořit fond rizikového kapitálu, který sdružuje investiční kapitál a nechat členy DAO organizace hlasovat o projektech, které podpoří. Splacené peníze mohou být později přerozděleny mezi členy DAO.
+- **Kolektivní vlastnictví** – můžete zakoupit fyzická či digitální aktiva a členové mohou hlasovat o tom, jak je používat.
+- **Podnikatelské záměry a granty** – můžete vytvořit fond rizikového kapitálu, který sdružuje investiční kapitál, a hlasovat o tom, které záměry podpoříte. Splacené peníze mohou být později přerozděleny mezi členy DAO.
## Jak fungují DAO? {#how-daos-work}
-Základem DAO je [chytrý kontrakt](/glossary/#smart-contract), který definuje pravidla organizace a spravuje majetek celé skupiny. Jakmile je kontrakt nasazen na Ethereu, nikdo nemůže změnit pravidla jinak než hlasováním. Pokud by se tedy někdo prokusil provést akci, která není definována pravidly a logikou počítačového kódu, skončí to neúspěchem. Stejně tak i finanční prostředky jsou řízeny chytrým kontraktem, takže nikdo nemůže utratit peníze bez souhlasu skupiny Znamená to tedy, že DAO nepotřebuje žádnou ústřední entitu a namísto toho jsou všechna rozhodnutí i platby prováděny kolektivně na základě společného hlasování.
+Základem DAO je její [chytrý kontrakt](/glossary/#smart-contract), který definuje pravidla organizace a spravuje pokladnu skupiny. Jakmile je kontrakt nasazen na Ethereu, nikdo nemůže změnit pravidla jinak než hlasováním. Pokud by se tedy někdo prokusil provést akci, která není definována pravidly a logikou počítačového kódu, skončí to neúspěchem. Stejně tak i finanční prostředky jsou řízeny chytrým kontraktem, takže nikdo nemůže utratit peníze bez souhlasu skupiny Znamená to tedy, že DAO nepotřebuje žádnou ústřední entitu a namísto toho jsou všechna rozhodnutí i platby prováděny kolektivně na základě společného hlasování.
To je možné z toho důvodu, že chytré kontrakty jsou po nasazení na Ethereum chráněny proti nedovolené manipulaci. Pravidla DAO jsou totiž zapsaná pomocí veřejně dostupného kódu a nelze je tak upravovat bez povšimnutí.
@@ -62,105 +62,107 @@ Ethereum je ideálním ekosystémem pro založení DAO a to hned z několika dů
- Chytré kontrakty mohou posílat i přijímat finanční prostředky, což umožňuje správu společných financí bez existence důvěryhodného prostředníka.
- Komunita kolem Etherea prokazuje schopnost spolupracovat, což umožňuje vznik osvědčených postupů a podpůrných systémů.
-## Řízení DAO {#dao-governance}
+## Správa DAO {#dao-governance}
Při řízení DAO je třeba zvážit mnoho aspektů, například způsob hlasování a navrhování.
-### Delegace {#governance-delegation}
+### Delegování {#governance-delegation}
Delegování je něco jako DAO verze zastupitelské demokracie. Držitelé tokenu delegují hlasy uživatelům, kteří se nabídnou a slíbí, že budou spravovat protokol a zůstanou o něm informováni.
-#### Příklad z praxe {#governance-example}
+#### Známý příklad {#governance-example}
-[ENS](https://claim.ens.domains/delegate-ranking) – Držitelé ENS mohou delegovat své hlasy členům angažovaných komunit za účelem reprezentace v zastoupení.
+[ENS](https://claim.ens.domains/delegate-ranking) – Držitelé ENS mohou delegovat své hlasy angažovaným členům komunity, aby je zastupovali.
-### Automatické řízení transakcí {#governance-example}
+### Automatická správa transakcí {#governance-example}
V mnoha DAO budou transakce provedeny automaticky, pokud bude dostatečně uživatelů hlasovat pro.
-#### Příklad z praxe {#governance-example}
+#### Známý příklad {#governance-example}
-[Nouns](https://nouns.wtf) – V Nouns DAO je transakce provedena pouze v případě, pokud je dosaženo dostatečného počtu hlasů, většina z nich je pro, a zakladatelé Nouns DAO tuto transakci nevetují.
+[Nouns](https://nouns.wtf) – V Nouns DAO se transakce automaticky provede, pokud je dosaženo kvóra hlasů a většina hlasuje pro, pokud ji zakladatelé nevetují.
-### Řízení Multisig {#governance-example}
+### Správa pomocí multisig {#governance-example}
-Přestože DAO mohou mít i tísíce hlasujících členů, finanční prostředky takové organizace mohou být uloženy v [peněžence](/glossary/#wallet) sdílené 5 až 20 aktivními členy komunity, kteří jsou důvěryhodní a doxxnutí (jejich veřejná identita je komunitě známá). Po skončení hlasování vykonají právě tito členové vůli celé komunity.
+Ačkoli DAO mohou mít tisíce hlasujících členů, prostředky mohou být uloženy v [peněžence](/glossary/#wallet) sdílené 5–20 aktivními členy komunity, kteří jsou důvěryhodní a obvykle mají zveřejněnou identitu (veřejná identita známá komunitě). Po hlasování signatáři s [vícenásobným podpisem](/glossary/#multisig) vykonají vůli komunity.
-## Zákony DAO {#dao-laws}
+## Zákony o DAO {#dao-laws}
V roce 1977 představil stát Wyoming LLC, typ společnosti ekvivalentní k české společnosti s ručením omezením, který chrání podnikatele a omezuje jejich odpovědnost. V nedávné době se stal průkopníkem zákona DAO, který pro organizaci zavádí právní status. V současné době mají Wyoming, Vermont a Panenské ostrovy v nějaké formě zákony DAO.
-### Příklad z praxe {#law-example}
+### Známý příklad {#law-example}
-[CityDAO](https://citizen.citydao.io/) – CityDAO používal zákon DAO státu Wyoming ke koupi 40 akrů půdy poblíž Yellowstonského národního parku.
+[CityDAO](https://citizen.citydao.io/) – CityDAO využilo wyomingský zákon o DAO k nákupu 40 akrů půdy poblíž Yellowstonského národního parku.
## Členství v DAO {#dao-membership}
Existují různé typy členství v DAO. Na základně nich je pak určeno, jak v dané DAO funguje hlasování a další klíčové principy.
-### Členství založené na tokenech {#token-based-membership}
+### Členství na základě tokenů {#token-based-membership}
-Obvykle zcela [bez nutnosti povolení](/glossary/#permissionless), v závislosti na použitém tokenu. Takové tokeny jsou typicky volně obchodovány na [decentralizovaných burzách](/glossary/#dex). získávány poskytnutím likvidity anebo těženy nějakým „důkazem prací“. Ve všech případech ale pouhé držení tokenu umožňuje přístup k hlasování.
+Obvykle zcela [bez oprávnění](/glossary/#permissionless), v závislosti na použitém tokenu. S těmito tokeny pro správu lze většinou obchodovat bez oprávnění na [decentralizované burze](/glossary/#dex). získávány poskytnutím likvidity anebo těženy nějakým „důkazem prací“. Ve všech případech ale pouhé držení tokenu umožňuje přístup k hlasování.
_Obvykle se používá k řízení rozsáhlých decentralizovaných protokolů a/nebo tokenů samotných._
-#### Příklad z praxe {#token-example}
+#### Známý příklad {#token-example}
-[MakerDAO](https://makerdao.com) – Token MKR společnosti MakerDAO je široce dostupný na decentralizovaných burzách a kdokoliv si může koupit hlasovací práva ohledně budoucnosti protokolu Maker.
+[MakerDAO](https://makerdao.com) – Token MKR od MakerDAO je široce dostupný na decentralizovaných burzách a kdokoli si může zakoupit hlasovací právo o budoucnosti protokolu Maker.
-### Členství založené na akciích {#share-based-membership}
+### Členství na základě podílů {#share-based-membership}
DAO založené na akciích jsou přísnější, ale stále docela otevřené. Každý potenciální člen může předložit návrh na přijetí, který obvykle nabízí hodnotu ve formě tokenů nebo určitého typu práce. Akcie pak představují přímou hlasovací sílu a vlastnictví. Členové mohou z takové DAO kdykoli vystoupit a to se svým poměrným podílem celkových prostředků.
_Obvykle se používá u lidskoprávních organizací, jako jsou charity a odborové svazy nebo u investičních klubů. Může být použita také k řízení protokolů nebo správě tokenů._
-#### Příklad z praxe {#share-example}
+#### Známý příklad {#share-example}
-[MolochDAO](http://molochdao.com/) – MolochDAO se zaměřuje na financování projektů, které běží na Ethereu. Pro získání členství je potřeba předložit návrh, na jehož základě skupina posoudí, má-li zájemce potřebné odborné znalosti a kapitál, aby mohl činit informované úsudky o potenciálních grantech. Přístup k takovému DAO tedy nelze koupit na otevřeném trhu.
+[MolochDAO](http://molochdao.com/) – MolochDAO se zaměřuje na financování projektů na Ethereu. Pro získání členství je potřeba předložit návrh, na jehož základě skupina posoudí, má-li zájemce potřebné odborné znalosti a kapitál, aby mohl činit informované úsudky o potenciálních grantech. Přístup k takovému DAO tedy nelze koupit na otevřeném trhu.
-### Členství založené na reputaci {#reputation-based-membership}
+### Členství na základě reputace {#reputation-based-membership}
-Reputace je důkazem účasti a poskytuje hlasovací práva v DAO. Na rozdíl od tokenových či podílových členství, organizace DAO založené na reputaci nepřevádějí vlastnictví na přispěvatele. Reputaci nelze koupit, převést či delegovat; členové DAO si ji musí získat prostřednictvím účasti. Hlasování na blockchainuje je veřejně dostupné a budoucí členové mohou svobodně předložit návrhy na vstup do DAO a požádat o získání reputace a tokenů jako odměnu za své příspěvky.
+Reputace je důkazem účasti a poskytuje hlasovací práva v DAO. Na rozdíl od tokenových či podílových členství, organizace DAO založené na reputaci nepřevádějí vlastnictví na přispěvatele. Reputaci nelze koupit, převést či delegovat; členové DAO si ji musí získat prostřednictvím účasti. Hlasování na blockchainu je veřejně dostupné a budoucí členové mohou svobodně předložit návrhy na vstup do DAO a požádat o získání reputace a tokenů jako odměnu za své příspěvky.
-_Tento přístup se obvykle používá při decentralizovaném vývoji a řízení protokolů a [dappek](/glossary/#dapp), ale hodí se i pro další organizace, jako je charita, pracovní družstva, investiční kluby atd._
+_Obvykle se používá pro decentralizovaný vývoj a správu protokolů a [dapps](/glossary/#dapp), ale dobře se hodí i pro různé organizace, jako jsou charity, pracovní družstva, investiční kluby atd._
-#### Příklad z praxe {#reputation-example}
+#### Známý příklad {#reputation-example}
-[DXdao](https://DXdao.eth.limo) – DXdao bylo globální suverénní družstvo budující a řídící decentralizované protokoly a aplikace od roku 2019. Ke koordinaci a správě finančních prostředků využívalo řízení založené na reputaci a [holografický konsensus](/glossary/#holographic-consensus), což znamená, že si nikdo nemohl koupit ovládání budoucnosti organizace.
+[DXdao](https://DXdao.eth.limo) – DXdao byl globální suverénní kolektiv, který od roku 2019 budoval a spravoval decentralizované protokoly a aplikace. Využívalo správu založenou na reputaci a [holografický konsensus](/glossary/#holographic-consensus) ke koordinaci a správě prostředků, což znamenalo, že si nikdo nemohl koupit vliv na jeho budoucnost nebo správu.
-## Připojte se / založte DAO {#join-start-a-dao}
+## Připojit se k DAO / založit DAO {#join-start-a-dao}
-### Připojte se k DAO {#join-a-dao}
+### Připojit se k DAO {#join-a-dao}
-- [DAO pro komunitu kolem Etherea](/community/get-involved/#decentralized-autonomous-organizations-daos)
-- [Seznam DAO od platformy DAOHaus](https://app.daohaus.club/explore)
-- [Seznam DAO Tally.xyz](https://www.tally.xyz)
+- [Komunitní DAO na Ethereu](/community/get-involved/#decentralized-autonomous-organizations-daos)
+- [Seznam DAO na DAOHaus](https://app.daohaus.club/explore)
+- [Seznam DAO na Tally.xyz](https://www.tally.xyz/explore)
+- [Seznam DAO na DeGov.AI](https://apps.degov.ai/)
-### Založte DAO {#start-a-dao}
+### Založit DAO {#start-a-dao}
-- [Rozběhněte DAO pomocí DAOHaus](https://app.daohaus.club/summon)
-- [Založte guvernéské DAO s Tally](https://www.tally.xyz/add-a-dao)
-- [Vytvořte DAO postavenou na Aragonu](https://aragon.org/product)
+- [Svolejte DAO s DAOHaus](https://app.daohaus.club/summon)
+- [Založte Governor DAO s Tally](https://www.tally.xyz/get-started)
+- [Vytvořte DAO na platformě Aragon](https://aragon.org/product)
- [Založte kolonii](https://colony.io/)
-- [Vytvořte DAO s holografickým konsenzem DAOstack](https://alchemy.daostack.io/daos/create)
+- [Vytvořte DAO s holografickým konsensem od DAOstacku](https://alchemy.daostack.io/daos/create)
+- [Spusťte DAO pomocí DeGov Launcheru](https://docs.degov.ai/integration/deploy)
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
### Články o DAO {#dao-articles}
-- [Co je DAO?](https://aragon.org/dao) – [Aragon](https://aragon.org/)
+- [Co je to DAO?](https://aragon.org/dao) – [Aragon](https://aragon.org/)
- [House of DAOs](https://wiki.metagame.wtf/docs/great-houses/house-of-daos) – [Metagame](https://wiki.metagame.wtf/)
-- [Co je to DAO a k čemu je to dobré?](https://daohaus.substack.com/p/-what-is-a-dao-and-what-is-it-for) – [DAOhaus](https://daohaus.club/)
-- [Jak založit komunitu založenou na DAO](https://daohaus.substack.com/p/four-and-a-half-steps-to-start-a) – [DAOhaus](https://daohaus.club/)
+- [Co je DAO a k čemu slouží?](https://daohaus.substack.com/p/-what-is-a-dao-and-what-is-it-for) – [DAOhaus](https://daohaus.club/)
+- [Jak založit digitální komunitu na bázi DAO](https://daohaus.substack.com/p/four-and-a-half-steps-to-start-a) – [DAOhaus](https://daohaus.club/)
- [Co je to DAO?](https://coinmarketcap.com/alexandria/article/what-is-a-dao) – [Coinmarketcap](https://coinmarketcap.com)
-- [Co je holografický konsenzus?](https://medium.com/daostack/holographic-consensus-part-1-116a73ba1e1c) - [DAOstack](https://daostack.io/)
-- [DAO nejsou korporace: kde na decentralizaci v autonomních organizacích záleží od Vitalika](https://vitalik.eth.limo/general/2022/09/20/daos.html)
-- [DAO, DAC, DA a další: Neúplná příručka terminologie](https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide) - [Ethereum Blog](https://blog.ethereum.org)
+- [Co je to holografický konsensus?](https://medium.com/daostack/holographic-consensus-part-1-116a73ba1e1c) - [DAOstack](https://daostack.io/)
+- [DAO nejsou korporace: kde na decentralizaci v autonomních organizacích záleží](https://vitalik.eth.limo/general/2022/09/20/daos.html) od Vitalika
+- [DAO, DAC, DA a další: Neúplný terminologický průvodce](https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide) - [Blog Etherea](https://blog.ethereum.org)
### Videa {#videos}
-- [Co je to DAO?](https://youtu.be/KHm0uUPqmVE)
-- [Dokáže DAO vybudovat město?](https://www.ted.com/talks/scott_fitsimones_could_a_dao_build_the_next_great_city) – [TED](https://www.ted.com/)
+- [Co je DAO v kryptoměnách?](https://youtu.be/KHm0uUPqmVE)
+- [Může DAO postavit město?](https://www.ted.com/talks/scott_fitsimones_could_a_dao_build_the_next_great_city) – [TED](https://www.ted.com/)
diff --git a/public/content/translations/cs/decentralized-identity/index.md b/public/content/translations/cs/decentralized-identity/index.md
index f16a0110b64..159efe3a9b0 100644
--- a/public/content/translations/cs/decentralized-identity/index.md
+++ b/public/content/translations/cs/decentralized-identity/index.md
@@ -13,9 +13,9 @@ summaryPoint3: Díky kryptu mají nyní opět uživatelé nástroje k vydáván
Identita podpírá prakticky každý aspekt vašeho života. Využívání online služeb, otevírání bankovního účtu, hlasování ve volbách, nákup majetku, zajištění zaměstnávání — to vše vyžaduje prokázání vaší totožnosti.
-Tradiční systémy správy identity však dlouho závisely na centralizovaných zprostředkovatelích, kteří vydávají, drží a ovládají vaše identifikátory a [atestace](/glossary/#attestation). To znamená, že nemůžete ovládat informace související s vaší identitou nebo rozhodovat o tom, kdo má přístup k osobně identifikovatelným informacím (PII) a jak velký přístup tyto strany mají.
+Tradiční systémy správy identity však dlouho spoléhaly na centralizované zprostředkovatele, kteří vydávají, drží a ovládají vaše identifikátory a [atestace](/glossary/#attestation). To znamená, že nemůžete ovládat informace související s vaší identitou nebo rozhodovat o tom, kdo má přístup k osobně identifikovatelným informacím (PII) a jak velký přístup tyto strany mají.
-Abychom tyto problémy vyřešili, vytvořili jsme decentralizované systémy identity založené na veřejných blockchainech, jako je Ethereum. Decentralizovaná identita umožňuje jednotlivcům spravovat informace související s jejich identitou. Pomocí decentralizovaných řešení identity můžete i _vy_ vytvářet identifikátory a nárokovat a spravovat své atestace, aniž byste byli závislí na centrální autoritě, jako jsou poskytovatelé služeb či vlády.
+Abychom tyto problémy vyřešili, vytvořili jsme decentralizované systémy identity založené na veřejných blockchainech, jako je Ethereum. Decentralizovaná identita umožňuje jednotlivcům spravovat informace související s jejich identitou. Díky řešením decentralizované identity můžete i _vy_ vytvářet identifikátory, nárokovat a spravovat své atestace, aniž byste byli závislí na ústředních orgánech, jako jsou poskytovatelé služeb nebo vlády.
## Co je to identita? {#what-is-identity}
@@ -27,7 +27,7 @@ Identita značí sebepojetí jednotlivce, které je definováno jedinečnými ch
Identifikátor je informace, která slouží jako ukazatel ke konkrétní identitě či identitám. Mezi časté identifikátory patří:
-- Jméno
+- Název
- Číslo sociálního zabezpečení / DIČ
- Číslo mobilního telefonu
- Datum a místo narození
@@ -39,31 +39,31 @@ Tyto tradiční příklady identifikátorů jsou vydávány, drženy a kontrolov
1. Decentralizovaná identita zvyšuje individuální kontrolu nad identifikačními údaji. Decentralizované identifikátory a atestace lze ověřit bez spoléhání se na centralizované autority a služby třetích stran.
-2. Decentralizovaná řešení identity umožňují spolehlivou, bezproblémovou a soukromou metodu, jak ověřovat a spravovat identitu uživatele.
+2. Řešení decentralizované identity umožňují nedůvěryhodnou, bezproblémovou a soukromí chránící metodu pro ověřování a správu identity uživatele.
3. Decentralizovaná identita využívá blockchainovou technologii, která vytváří důvěru mezi různými stranami a poskytuje kryptografické záruky k prokázání platnosti atestací.
4. Decentralizovaná identita umožňuje přenosnost identit. Uživatelé ukládají atestace a identifikátory v mobilní peněžence a mohou je sdílet s jakoukoliv stranou dle svého výběru. Decentralizované identifikátory a atestace nejsou uzamčeny v databázi vydávající organizace.
-5. Předpokládá se, že by decentralizovaná identita měla dobře fungovat s rozvíjejícími se technologiemi s [nulovými znalostmi](/glossary/#zk-proof), které jednotlivcům umožní dokázat, že něco vlastní nebo udělali, aniž by odhalili, o co konkrétně jde. Toto by se mohlo stát účinným způsobem, jak kombinovat důvěru a soukromí využití decentralizované identity, jako je hlasování.
+5. Decentralizovaná identita by měla dobře fungovat s nově vznikajícími technologiemi s [nulovou znalostí](/glossary/#zk-proof), které jednotlivcům umožní prokázat, že něco vlastní nebo udělali, aniž by odhalili, co to je. Toto by se mohlo stát účinným způsobem, jak kombinovat důvěru a soukromí využití decentralizované identity, jako je hlasování.
-6. Decentralizovaná identita umožňuje mechanismům [proti Sybil](/glossary/#anti-sybil) identifikovat, kdy se jednotlivec vydává za více lidí za účelem hry nebo spamování určitého systému.
+6. Decentralizovaná identita umožňuje mechanismům [proti Sybil útokům](/glossary/#anti-sybil) identifikovat, kdy se jeden jednotlivec vydává za více lidí, aby si na nějakém systému zahrál nebo ho zaspamoval.
-## Příklady využití decentralizované identity {#decentralized-identity-use-cases}
+## Případy použití decentralizované identity {#decentralized-identity-use-cases}
Decentralizovaná identita má mnoho možných využití:
### 1. Univerzální přihlášení {#universal-dapp-logins}
-Decentralizovaná identita může pomoci nahradit přihlašování založené na heslech decentralizovanou autentifikací. Poskytovatelé služeb mohou vydávat atestace uživatelům, které mohou být uloženy v Ethereum peněžence. Příkladem atestace by byl [NFT](/glossary/#nft) umožňující držiteli přístup k online komunitě.
+Decentralizovaná identita může pomoci nahradit přihlašování založené na heslech decentralizovanou autentifikací. Poskytovatelé služeb mohou vydávat atestace uživatelům, které mohou být uloženy v Ethereum peněžence. Příkladem atestace by bylo [NFT](/glossary/#nft) udělující držiteli přístup do online komunity.
-Funkce [Přihlášení s Ethereem](https://siwe.xyz/) by pak umožnila serverům potvrdit uživatelův Ethereum účet a načíst požadovanou atestaci z jejich adresy účtu. To znamená, že uživatelé mohou přistupovat k platformám a webům, aniž by si museli zapamatovat dlouhá hesla, a tím zlepšili jejich online zážitek.
+Funkce [Přihlášení pomocí Etherea](https://siwe.xyz/) by pak serverům umožnila potvrdit uživatelský účet na Ethereu a získat požadovanou atestaci z adresy jeho účtu. To znamená, že uživatelé mohou přistupovat k platformám a webům, aniž by si museli zapamatovat dlouhá hesla, a tím zlepšili jejich online zážitek.
-### 2. Autentizace KYC {#kyc-authentication}
+### 2. Ověření KYC {#kyc-authentication}
Používání mnoha on-line služeb vyžaduje, aby jednotlivci poskytovali atestace a ověření, jako je řidičský průkaz nebo národní cestovní pas. Tento přístup je však problematický, protože soukromé informace uživatelů mohou být ohroženy a poskytovatelé služeb nemohou ověřit autenticitu atestace.
-Decentralizovaná identita umožňuje společnostem vyhnout se konvenčním [Know-Your-Customer (KYC)](https://en.wikipedia.org/wiki/Know_your_customer) procesům a ověřovat identitu uživatelů pomocí ověřitelných údajů. To snižuje náklady na správu identit a zabraňuje používání falešné dokumentace.
+Decentralizovaná identita umožňuje společnostem vynechat konvenční procesy [Poznej svého zákazníka (KYC)](https://en.wikipedia.org/wiki/Know_your_customer) a ověřovat identity uživatelů pomocí ověřitelných pověření. To snižuje náklady na správu identit a zabraňuje používání falešné dokumentace.
### 3. Hlasování a online komunity {#voting-and-online-communities}
@@ -73,13 +73,39 @@ Decentralizovaná identita může pomoci vytvořit online komunity, které jsou
### 4. Ochrana proti Sybil útokům {#sybil-protection}
-Aplikace pro udělování grantů, které využívají [kvadratické hlasování](/glossary/#quadratic-voting), jsou zranitelné vůči [Sybil útokům](/glossary/#sybil-attack), protože hodnota grantu se zvýší, když pro něj hlasuje více jednotlivců, což podněcuje uživatele k tomu, aby své příspěvky rozdělili mezi více identit. Decentralizované identity tomu pomáhají zabránit tím, že zvyšují břemeno každého účastníka, aby dokázali, že jsou skutečně lidé, i když často aniž by bylo nutné zveřejnit konkrétní soukromé informace.
+Aplikace pro udělování grantů, které používají [kvadratické hlasování](/glossary/#quadratic-voting), jsou zranitelné vůči [Sybil útokům](/glossary/#sybil-attack), protože hodnota grantu se zvyšuje, když pro něj hlasuje více jednotlivců, což motivuje uživatele, aby své příspěvky rozdělili mezi mnoho identit. Decentralizované identity tomu pomáhají zabránit tím, že zvyšují břemeno každého účastníka, aby dokázali, že jsou skutečně lidé, i když často aniž by bylo nutné zveřejnit konkrétní soukromé informace.
+
+### 5. Státní a vládní ID {#national-and-government-id}
+
+Vlády mohou využít principy decentralizované identity k vydávání základních dokladů totožnosti – jako jsou občanské průkazy, pasy nebo řidičské průkazy – jako ověřitelná pověření na Ethereu, čímž poskytnou silné kryptografické záruky pravosti, které omezí podvody a padělání při online ověřování identity. Občané si mohou tyto atestace ukládat do své osobní [peněženky](/wallets/) a používat je k prokazování své totožnosti, věku nebo volebního práva.
+
+Tento model umožňuje selektivní zveřejňování, zejména v kombinaci s technologií ochrany soukromí pomocí [důkazů s nulovou znalostí (ZKP)](/zero-knowledge-proofs/). Občan by například mohl kryptograficky prokázat, že je starší 18 let, aby získal přístup ke službě s věkovým omezením, aniž by prozradil své přesné datum narození, což nabízí větší soukromí než tradiční doklad totožnosti.
+
+#### 💡Případová studie: Bhútánské národní digitální ID (NDI) na Ethereu {#case-study-bhutan-ndi}
+
+- Poskytuje přístup k ověřitelným pověřením totožnosti pro téměř 800 000 občanů Bhútánu
+- Migrováno ze sítě Polygon [na mainnet Etherea](https://www.bhutanndi.com/article/bhutan-adopts-ethereum-for-national-identity-a-new-chapter-in-digital-sovereignty_2d0c7ec2-5605-4c42-b258-bd9361ae8878) v říjnu 2025
+- K březnu 2025 vydáno přes [234 000 digitálních ID](https://www.blockchain-council.org/blockchain/bhutan-uses-blockchain-in-digital-id-project/)
+
+Bhútánské království [migrovalo svůj systém národní digitální identity (NDI)](https://www.bhutanndi.com/article/bhutan-adopts-ethereum-for-national-identity-a-new-chapter-in-digital-sovereignty_2d0c7ec2-5605-4c42-b258-bd9361ae8878) na Ethereum v říjnu 2025. Bhútánský systém NDI, postavený na principech decentralizované a sebe-suverénní identity, používá decentralizované identifikátory a ověřitelná pověření k vydávání digitálně podepsaných pověření přímo do osobní peněženky občana. Ukotvením kryptografických důkazů těchto pověření na Ethereu systém zajišťuje, že jsou autentická, odolná proti neoprávněné manipulaci a mohou být ověřena jakoukoli stranou bez dotazování se na centrální autoritu.
+
+Architektura systému klade důraz na soukromí prostřednictvím technologie [důkazů s nulovou znalostí (ZKP)](/zero-knowledge-proofs/). Tato implementace „selektivního zveřejňování“ umožňuje občanům prokazovat konkrétní skutečnosti (např. „Je mi více než 18 let“ nebo „Jsem občan“) pro přístup ke službám, aniž by odhalili podkladové osobní údaje, jako je celé číslo jejich průkazu totožnosti nebo přesné datum narození. To demonstruje silné využití Etherea v reálném světě pro bezpečný, na uživatele zaměřený a soukromí zachovávající systém národních průkazů totožnosti.
+
+#### 💡Případová studie: QuarkID města Buenos Aires na [vrstvě 2](/layer-2/) Etherea ZKSync Era {#case-study-buenos-aires-quarkid}
+
+- Při spuštění vydány decentralizované identifikační údaje pro více než [3,6 milionu uživatelů](https://buenosaires.gob.ar/innovacionytransformaciondigital/miba-con-tecnologia-quarkid-la-ciudad-de-buenos-aires-incorporo)
+- QuarkID je protokol s otevřeným zdrojovým kódem uznaný jako [digitální veřejný statek](https://www.digitalpublicgoods.net/r/quarkid) v rámci Cílů udržitelného rozvoje OSN
+- Zdůrazňuje model „[vláda jako uživatel](https://buenosaires.gob.ar/innovacionytransformaciondigital/miba-con-tecnologia-quarkid-la-ciudad-de-buenos-aires-incorporo)“, kdy město nevlastní protokol, což dává občanům plné vlastnictví údajů a soukromí
+
+V roce 2024 vláda města Buenos Aires (GCBA) integrovala QuarkID, „rámec digitální důvěry“ s otevřeným zdrojovým kódem vytvořený Sekretariátem pro inovace a digitální transformaci GCBA, do miBA, oficiální městské aplikace pro obyvatele pro přístup k vládním službám a oficiálním dokumentům. Při spuštění bylo všem více než 3,6 milionům uživatelů miBA vydáno decentralizované digitální identity, které jim umožňují spravovat a sdílet ověřitelné digitální dokumenty a certifikáty na blockchainu, včetně pověření o občanství, rodných, oddacích a úmrtních listů, daňových záznamů, záznamů o očkování a dalších.
+
+Systém QuarkID, postavený na síti [vrstvy 2](/layer-2/) Etherea ZKSync Era, využívá technologii ZKP, která občanům umožňuje ověřovat osobní pověření peer-to-peer prostřednictvím jejich mobilních zařízení – aniž by odhalovali zbytečné osobní údaje. Program zdůrazňuje model „vláda jako uživatel“, ve kterém GCBA funguje jako jeden z uživatelů interoperabilního protokolu QuarkID s otevřeným zdrojovým kódem, spíše než jako centralizovaný vlastník. Tato architektura s podporou ZKP poskytuje klíčovou funkci ochrany soukromí: žádná třetí strana, dokonce ani GCBA, nemůže sledovat, jak, kdy nebo proč občan používá svá pověření. Tento úspěšný program poskytuje občanům plnou sebe-suverénní identitu a kontrolu nad jejich citlivými údaji, vše zabezpečené globálně distribuovanou sítí Etherea.
## Co jsou atestace? {#what-are-attestations}
Atestace je nárok uplatněn jednou entitou o jiné entitě. Pokud žijete ve Spojených státech, řidičský průkaz, který vám byl vydán Ministerstvem pro motorová vozidla (jednou entitou) vám (jiné entitě) udělí atestaci, která vám legálně umožňuje řídit auto.
-Atestace se liší od identifikátorů. Atestace _obsahuje_ identifikátory odkazující na určitou identitu a uplatňuje nárok o atributu vztahujícím se k této identitě. Takže váš řidičský průkaz má identifikátory (jméno, datum narození, adresa), ale je také atestací o vašem zákonném právu řídit.
+Atestace se liší od identifikátorů. Atestace _obsahuje_ identifikátory, které odkazují na konkrétní identitu, a činí nárok na atribut související s touto identitou. Takže váš řidičský průkaz má identifikátory (jméno, datum narození, adresa), ale je také atestací o vašem zákonném právu řídit.
### Co jsou decentralizované identifikátory? {#what-are-decentralized-identifiers}
@@ -87,15 +113,15 @@ Tradiční identifikátory, jako je vaše jméno nebo e-mailová adresa, jsou z
Decentralizované identifikátory jsou vydávány, drženy a kontrolovány jednotlivci. [Účet na Ethereu](/glossary/#account) je příkladem decentralizovaného identifikátoru. Můžete si vytvořit tolik účtů, kolik chcete, bez povolení od kohokoliv a bez nutnosti jejich uložení do centrálního rejstříku.
-Decentralizované identifikátory jsou uloženy v decentralizovaných strukturách ([blockchainech](/glossary/#blockchain)) nebo v [sítích typu peer-to-peer](/glossary/#peer-to-peer-network). Díky tomu jsou DID [globálně jedinečné, řešitelné s vysokou dostupností a kryptograficky ověřitelné](https://w3c-ccg.github.io/did-primer/). Decentralizovaný identifikátor může být spojen s různými entitami, včetně lidí, organizací nebo vládních institucí.
+Decentralizované identifikátory jsou uloženy na distribuovaných účetních knihách ([blockchainech](/glossary/#blockchain)) nebo v [peer-to-peer sítích](/glossary/#peer-to-peer-network). Díky tomu jsou DID [globálně jedinečné, řešitelné s vysokou dostupností a kryptograficky ověřitelné](https://w3c-ccg.github.io/did-primer/). Decentralizovaný identifikátor může být spojen s různými entitami, včetně lidí, organizací nebo vládních institucí.
-## Které technologie umožňují použití decentralizovaných identifikátorů? {#what-makes-decentralized-identifiers-possible}
+## Které technologie umožňují použití decentralizovaných identifikátorů? Co umožňuje decentralizované identifikátory? {#what-makes-decentralized-identifiers-possible}
-### 1. Infrastruktura veřejných klíčů {#public-key-cryptography}
+### 1. Kryptografie s veřejným klíčem {#public-key-cryptography}
-Infrastruktura veřejných klíčů je kryptografická technologie hojně využívaná v oblasti informační bezpečnosti, která pro uživatele nebo entitu vytváří [veřejný klíč](/glossary/#public-key) a [privátní klíč](/glossary/#private-key). Infrastruktura veřejných klíčů se využívá v blockchainových sítích k ověření totožnosti uživatelů a k prokázání vlastnictví digitálních majetků.
+Kryptografie s veřejným klíčem je opatření pro zabezpečení informací, které pro entitu generuje [veřejný klíč](/glossary/#public-key) a [soukromý klíč](/glossary/#private-key). [Kryptografie](/glossary/#cryptography) s veřejným klíčem se používá v blockchainových sítích k ověřování identity uživatelů a k prokázání vlastnictví digitálních aktiv.
-Některé decentralizované identifikátory, například účet Ethereum, mají veřejné a privátní klíče. Veřejný klíč identifikuje správce účtu, zatímco privátní klíče mohou podepisovat a dešifrovat zprávy pro tento účet. Infrastruktura veřejných klíčů poskytuje pomocí [kryptografických podpisů](https://andersbrownworth.com/blockchain/public-private-keys/) důkazy potřebné k ověření totožnosti jednotlivých entit, což jim zabraňuje vydávat se za jinou osobu a používat falešné identity.
+Některé decentralizované identifikátory, například účet Ethereum, mají veřejné a privátní klíče. Veřejný klíč identifikuje správce účtu, zatímco privátní klíče mohou podepisovat a dešifrovat zprávy pro tento účet. Kryptografie s veřejným klíčem poskytuje důkazy potřebné k ověření entit a zabránění zosobnění a používání falešných identit, přičemž k ověření všech nároků používá [kryptografické podpisy](https://andersbrownworth.com/blockchain/public-private-keys/).
### 2. Decentralizovaná datová úložiště {#decentralized-datastores}
@@ -103,11 +129,11 @@ Blockchain slouží jako ověřitelný rejstřík dat: otevřený a decentralizo
Pokud někdo potřebuje potvrdit platnost decentralizovaného identifikátoru, může najít přidružený veřejný klíč na blockchainu. Toto je odlišné od tradičních identifikátorů, které vyžadují ověření od třetích stran.
-## Jak decentralizované identifikátory a atestace umožňují decentralizovanou identitu? {#how-decentralized-identifiers-and-attestations-enable-decentralized-identity}
+## Jak decentralizované identifikátory a atestace umožňují decentralizovanou identitu? Jak decentralizované identifikátory a atestace umožňují decentralizovanou identitu? {#how-decentralized-identifiers-and-attestations-enable-decentralized-identity}
Decentralizovaná identita je přesvědčení, že informace týkající se identity by měly být samostatně kontrolovány, soukromé a přenosné, přičemž základem toho všeho jsou decentralizované identifikátory a atestace.
-V kontextu decentralizované identity jsou atestace (známé také jako [ověřitelné přihlašovací údaje](https://www.w3.org/TR/vc-data-model/)) odolné proti manipulaci a jsou to kryptograficky ověřitelné nároky vznešené vydavatelem. Každá atestace nebo ověřitelný přihlašovací údaj, který entita (např.: organizace) uplatní je spojen s jejich decentralizovanými identifikátory (DID).
+V kontextu decentralizované identity jsou atestace (známé také jako [ověřitelná pověření](https://www.w3.org/TR/vc-data-model/)) kryptograficky ověřitelné nároky vydané vydavatelem, které jsou odolné proti neoprávněné manipulaci. Každá atestace nebo ověřitelný přihlašovací údaj, který entita (např.: organizace) uplatní je spojen s jejich decentralizovanými identifikátory (DID).
Protože jsou DID uloženy na blockchainu, každý může ověřit platnost atestace pomocí porovnávání DID vydavatele na Ethereu. Ethereový blockchain se v podstatě chová jako globální adresář, který umožňuje ověření DID spojených s určitými entitami.
@@ -123,7 +149,7 @@ Jak se informace atestací ukládají a získávají v ekosystému založeném n
Jednou z obav o uchovávání atestací na blockchainu je to, že by mohly obsahovat informace, které si jednotlivci přejí zachovat v tajnosti. Veřejná povaha blockchainu Ethereum činí ukládání takových osvědčení neatraktivním.
-Řešením je vydávat atestace držené uživateli mimo blockchain v digitálních peněženkách, ale podepsané s DID vydavatele uloženým na blockchainu. Tyto atestace jsou zakódovány jako [JSON Web Tokeny](https://en.wikipedia.org/wiki/JSON_Web_Token) a obsahují digitální podpis vydavatele, který umožňuje snadné ověření nároků mimo blockchain.
+Řešením je vydávat atestace držené uživateli mimo blockchain v digitálních peněženkách, ale podepsané s DID vydavatele uloženým na blockchainu. Tyto atestace jsou kódovány jako [JSON Web Tokeny](https://en.wikipedia.org/wiki/JSON_Web_Token) a obsahují digitální podpis vydavatele, což umožňuje snadné ověření nároků mimo blockchain.
Zde je hypotetická situace pro vysvětlení atestací mimo blockchain:
@@ -133,59 +159,60 @@ Zde je hypotetická situace pro vysvětlení atestací mimo blockchain:
### Atestace mimo blockchain s trvalým přístupem {#offchain-attestations-with-persistent-access}
-V rámci tohoto uspořádání jsou atestace přeměněny na soubory JSON a uloženy mimo blockchain (ideálně na platformě [decentralizovaného cloudového úložiště](/developers/docs/storage/), jako je IPFS nebo Swarm). Nicméně [hash](/glossary/#hash) souboru JSON je uložen na blockchainu a propojen s DID prostřednictvím blockchainového rejstříku. Související DID může být buď vydavatele atestace, nebo příjemce.
+V tomto uspořádání jsou atestace převedeny do souborů JSON a uloženy mimo blockchain (ideálně na [decentralizované cloudové úložiště](/developers/docs/storage/), jako je IPFS nebo Swarm). Nicméně [haš](/glossary/#hash) souboru JSON je uložen na blockchainu a propojen s DID prostřednictvím registru na blockchainu. Související DID může být buď vydavatele atestace, nebo příjemce.
Tento přístup umožňuje atestacím získat trvalost založenou na blockchainu a současně uchovávat informace o nárocích šifrované a ověřitelné. Umožňuje rovněž selektivní zveřejnění, jelikož držitel privátního klíče může informace dešifrovat.
### Atestace na blockchainu {#onchain-attestations}
-Atestace na blockchainu jsou ukládány v [chytrých kontaktech](/glossary/#smart-contract) na blockchainu Etherea. Chytrý kontrakt (sloužící jako rejstřík) spojí atestaci s odpovídajícím blockchainovým decentralizovaným identifikátorem (veřejným klíčem).
+Atestace na blockchainu jsou uloženy v [chytrých kontraktech](/glossary/#smart-contract) na blockchainu Etherea. Chytrý kontrakt (sloužící jako rejstřík) spojí atestaci s odpovídajícím blockchainovým decentralizovaným identifikátorem (veřejným klíčem).
Zde je příklad toho, jak by mohla fungovat blockchainová atestace v praxi:
1. Společnost (XYZ s. r. o.) plánuje prodat vlastnické akcie pomocí chytrého kontraktu, ale chce pouze kupce, kteří dokončili prověření minulosti.
-2. XYZ s. r. o. může nechat společnost, která prověřuje minulost, vydávat atestace na blockchainu Ethereum. Tato atestace potvrzuje, že jednotlivec prošel prověřením minulosti, aniž by odhalil jakékoli osobní údaje.
+2. XYZ s. r. o. může nechat společnost, která prověřuje minulost, vydávat atestace na blockchainu Etherea. Tato atestace potvrzuje, že jednotlivec prošel prověřením minulosti, aniž by odhalil jakékoli osobní údaje.
3. Chytrý kontrakt o prodeji akcií může zkontrolovat registrační kontrakt k nalezení identity zkontrolovaných kupců, což chytrému kontraktu umožňuje určit, kdo smí akcie koupit a kdo ne.
-### Soulbound tokeny a identity {#soulbound}
+### Soulbound tokeny a identita {#soulbound}
-[Soulbound tokeny](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) ([nepřenosná NFT](/glossary/#nft)) je možné používat ke shromažďování informací, které jsou pro konkrétní peněženku jedinečné. To efektivně vytváří jedinečnou blockchainovou identitu vázanou na konkrétní Ethereum adresu, která by mohla zahrnovat tokeny reprezentující úspěchy (např.: dokončení daného online kurzu nebo dosažení nového skóre ve hře) nebo komunitní účast.
+[Soulbound tokeny](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) ([nepřenositelné NFT](/glossary/#nft)) by mohly být použity ke shromažďování informací jedinečných pro určitou peněženku. Tím se efektivně vytváří jedinečná identita na blockchainu vázaná na konkrétní adresu Etherea, která může zahrnovat tokeny představující úspěchy (např. dokončení určitého online kurzu nebo překročení prahové hodnoty skóre ve hře) nebo účast v komunitě.
-## Využití decentralizované identity {#use-decentralized-identity}
+## Použijte decentralizovanou identitu {#use-decentralized-identity}
Existuje mnoho ambiciózních projektů, které využívají Ethereum jako základ pro decentralizovaná řešení identity:
-- **[Ethereum Name Service (ENS)](https://ens.domains/)** – _Decentralizovaný systém pojmenování pro blockchainové, strojově čitelné identifikátory, jako jsou adresy Ethereum peněženek, hashe obsahů a metadata._
-- **[SpruceID](https://www.spruceid.com/)** – _Projekt decentralizované identity, který uživatelům umožňuje ovládat digitální identitu s Ethereum účty a profily ENS místo spoléhání se na služby třetích stran._
-- **[Ethereum Attestation Service (EAS)](https://attest.sh/)** – _Decentralizovaná účetní kniha / protokol pro vytváření atestací na blockchainu nebo mimo něj._
-- **[Proof of Humanity](https://www.proofofhumanity.id)** – _Proof of Humanity (nebo PoH) je systém pro ověřování sociální identity postavený na Ethereu._
-- **[BrightID](https://www.brightid.org/)** – _Decentralizovaná síť sociální identity s veřejně dostupným zdrojovým kódem usilující o reformu ověřování identity vytvořením a analýzou sociálního grafu._
-- **[walt.id](https://walt.id)** - _Open source decentralizovaná identita a peněženková infrastruktura, která umožňuje vývojářům a organizacím využívat vlastní suverénní identitu a NFT/SBT._
-- **[Veramo](https://veramo.io/)** – _Framework JavaScriptu, který každému usnadňuje používání kryptograficky ověřitelných dat v aplikacích._
+- **[Ethereum Name Service (ENS)](https://ens.domains/)** – _Decentralizovaný systém pojmenování pro strojově čitelné identifikátory na blockchainu, jako jsou adresy peněženek Etherea, haše obsahu a metadata._
+- **[Přihlášení pomocí Etherea (SIWE)](https://siwe.xyz/)** – _Otevřený standard pro ověřování pomocí účtů na Ethereu._
+- **[SpruceID](https://www.spruceid.com/)** – _Projekt decentralizované identity, který uživatelům umožňuje ovládat digitální identitu pomocí účtů na Ethereu a profilů ENS, aniž by se museli spoléhat na služby třetích stran._
+- **[Ethereum Attestation Service (EAS)](https://attest.org/)** – _Decentralizovaná účetní kniha / protokol pro vytváření atestací na blockchainu nebo mimo něj o čemkoli._
+- **[Proof of Humanity](https://www.proofofhumanity.id)** – _Proof of Humanity (neboli PoH) je systém pro ověřování sociální identity postavený na Ethereu._
+- **[BrightID](https://www.brightid.org/)** – _Decentralizovaná síť sociální identity s otevřeným zdrojovým kódem, která se snaží o reformu ověřování identity prostřednictvím vytváření a analýzy sociálního grafu._
+- **[walt.id](https://walt.id)** — _Infrastruktura peněženky a decentralizované identity s otevřeným zdrojovým kódem, která vývojářům a organizacím umožňuje využívat sebe-suverénní identitu a NFT/SBT._
+- **[Veramo](https://veramo.io/)** – _JavaScriptový framework, který každému usnadňuje používání kryptograficky ověřitelných dat v aplikacích._
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
### Články {#articles}
-- [Využití blockchainu: Blockchain a digitální identita](https://consensys.net/blockchain-use-cases/digital-identity/) – _ConsenSys_
-- [Co je Ethereum ERC725? Samostatně suverénní správa identity na Blockchainu](https://cryptoslate.com/what-is-erc725-self-sovereign-identity-management-on-the-blockchain/) — _Sam Town_
-- [Jak by blockchain mohl vyřešit problém digitální identity](https://time.com/6142810/proof-of-humanity/) — _Andrew R. Chow_
-- [Co je decentralizovaná identita a proč by vás měla zajímat?](https://web3.hashnode.com/what-is-decentralized-identity) — _Emmanuel Awosika_
-- [Úvod do decentralizované identity](https://walt.id/white-paper/digital-identity) - _Dominik Beron_
+- [Případy použití blockchainu: Blockchain v digitální identitě](https://consensys.net/blockchain-use-cases/digital-identity/) — _ConsenSys_
+- [Co je Ethereum ERC725? [Správa sebe-suverénní identity na blockchainu](https://cryptoslate.com/what-is-erc725-self-sovereign-identity-management-on-the-blockchain/) — _Sam Town_
+- [Jak by mohl blockchain vyřešit problém digitální identity](https://time.com/6142810/proof-of-humanity/) — _Andrew R. Chow_
+- [Co je decentralizovaná identita a proč by vás to mělo zajímat?](https://web3.hashnode.com/what-is-decentralized-identity) — _Emmanuel Awosika_
+- [Úvod do decentralizované identity](https://walt.id/white-paper/digital-identity) — _Dominik Beron_
### Videa {#videos}
-- [Decentralizovaná identita (Bonusové živé vysílání)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) — _Skvělé video na vysvětlení decentralizované identity od Andrease Antonopolouse_
-- [Přihlaste se pomocí Etherea a decentralizované identity s Ceramic, IDX, React, a 3ID Connect](https://www.youtube.com/watch?v=t9gWZYJxk7c) – _YouTube tutorial na vytváření systému správy identity pro tvorbu, čtení a aktualizaci uživatelského profilu pomocí jejich Ethereum peněženky od Nadera Dabita_
-- [BrightID – Decentralizovaná identita na Ethereu](https://www.youtube.com/watch?v=D3DbMFYGRoM) — _epizoda podcastu Bankless o BrightID, decentralizovaném řešení identity pro Ethereum_
-- [Internet mimo blockchain: Decentralizovaná identita a Ověřitelné údaje](https://www.youtube.com/watch?v=EZ_Bb6j87mg) – EthDenver 2022 prezentace Evina McMullena
-- [Vysvětlení ověřitelných pověření](https://www.youtube.com/watch?v=ce1IdSr-Kig) - Vysvětlující video na YouTube s demo ukázkou od Tamina Baumanna
+- [Decentralizovaná identita (Bonusová živá relace)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) — _Skvělé vysvětlující video o decentralizované identitě od Andrease Antonopoulose_
+- [Přihlášení pomocí Etherea a decentralizovaná identita s Ceramic, IDX, React a 3ID Connect](https://www.youtube.com/watch?v=t9gWZYJxk7c) — _Výukové video na YouTube od Nadera Dabita o budování systému správy identity pro vytváření, čtení a aktualizaci profilu uživatele pomocí jeho peněženky Etherea_
+- [BrightID – Decentralizovaná identita na Ethereu](https://www.youtube.com/watch?v=D3DbMFYGRoM) — _Epizoda podcastu Bankless o BrightID, decentralizovaném řešení identity pro Ethereum_
+- [Internet mimo blockchain: Decentralizovaná identita a ověřitelná pověření](https://www.youtube.com/watch?v=EZ_Bb6j87mg) — Prezentace Evin McMullen na EthDenver 2022
+- [Vysvětlení ověřitelných pověření](https://www.youtube.com/watch?v=ce1IdSr-Kig) – Vysvětlující video na YouTube s ukázkou od Tamina Baumanna
### Komunity {#communities}
-- [Aliance ERC-725 na GitHubu](https://github.com/erc725alliance) – _Stoupenci normy ERC725 pro správu identity na blockchainu Ethereum_
-- [EthID Discord server](https://discord.com/invite/ZUyG3mSXFD) – _Komunita pro nadšence a vývojáře pracující na přihlášení s Ethereem_
-- [Veramo Labs](https://discord.gg/sYBUXpACh4) – _Komunita vývojářů podílejících se na budování rámce pro ověřitelná data pro aplikace_
-- [walt.id](https://discord.com/invite/AW8AgqJthZ) — _Komunika vývojářů a builderů pracující na praktickém použití decentralizované identity napříč různými obory_
+- [Aliance ERC-725 na GitHubu](https://github.com/erc725alliance) — _Zastánci standardu ERC725 pro správu identity na blockchainu Etherea_
+- [Discord server EthID](https://discord.com/invite/ZUyG3mSXFD) — _Komunita pro nadšence a vývojáře, kteří pracují na „Přihlášení pomocí Etherea“ a protokolu Ethereum Follow_
+- [Veramo Labs](https://discord.gg/sYBUXpACh4) — _Komunita vývojářů přispívajících k budování rámce pro ověřitelná data pro aplikace_
+- [walt.id](https://discord.com/invite/AW8AgqJthZ) — _Komunita vývojářů a tvůrců pracujících na případech použití decentralizované identity v různých odvětvích_
diff --git a/public/content/translations/cs/defi/index.md b/public/content/translations/cs/defi/index.md
index 790d2b6abb9..957ef2ec4d5 100644
--- a/public/content/translations/cs/defi/index.md
+++ b/public/content/translations/cs/defi/index.md
@@ -1,5 +1,6 @@
---
title: Decentralizované finance (DeFi)
+metaTitle: Co je to DeFi? | Výhody a využití decentralizovaných financí
description: Přehled DeFi na platformě Ethereum
lang: cs
template: use-cases
@@ -35,16 +36,16 @@ Jedním z nejlepších způsobů, jak vidět potenciál DeFi je pochopit problé
- Převody peněz mohou trvat několik dní kvůli vnitřním lidským procesům.
- Finanční služby jsou zpoplatněny, protože zprostředkovatelské instituce potřebují svůj podíl.
-### Srovnání {#defi-comparison}
+### Porovnání {#defi-comparison}
-| DeFi | Tradiční finanční systém |
-| --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Své peníze spravujete vy. | Vaše peníze jsou spravovány společnostmi. |
-| Máte kontrolu nad tím, kam vaše peníze půjdou a jak budou utraceny. | Musíte věřit firmám, že s vašimi penězi nebudou špatně hospodařit, například půjčovat je rizikovým dlužníkům. |
-| Převody finančních prostředků probíhají během několika minut. | Platby mohou kvůli manuálním procesům trvat několik dní. |
-| Transakční činnost je pseudonymní. | Finanční činnost je úzce spojená s vaší identitou. |
-| DeFi je otevřeno komukoliv. | O využívání finančních služeb musíte požádat. |
-| Trhy jsou vždy otevřené. | Trhy se zavírají, protože zaměstnanci potřebují přestávky. |
+| DeFi | Tradiční finanční systém |
+| ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Své peníze spravujete vy. | Vaše peníze jsou spravovány společnostmi. |
+| Máte kontrolu nad tím, kam vaše peníze půjdou a jak budou utraceny. | Musíte věřit firmám, že s vašimi penězi nebudou špatně hospodařit, například půjčovat je rizikovým dlužníkům. |
+| Převody finančních prostředků probíhají během několika minut. | Platby mohou kvůli manuálním procesům trvat několik dní. |
+| Transakční činnost je pseudonymní. | Finanční činnost je úzce spojená s vaší identitou. |
+| DeFi je otevřeno komukoliv. | O využívání finančních služeb musíte požádat. |
+| Trhy jsou vždy otevřené. | Trhy se zavírají, protože zaměstnanci potřebují přestávky. |
| Je postaveno na transparentnosti – kdokoli se může podívat na data produktu a zkontrolovat, jak systém funguje. | Finanční instituce jsou uzavřeným účetnictvím: nemůžete je požádat o nahlédnutí do jejich úvěrové historie, záznamu o spravovaných aktivech apod. |
@@ -61,11 +62,11 @@ Na tom Ethereum staví. Stejně jako u Bitcoinu se pravidla nemohou změnit a p
## Programovatelné peníze {#programmable-money}
-Zní to zvláštně... "Proč bych chtěl programovat své peníze"? Toto je však více než výchozí funkce tokenů na Ethereu. Každý může naprogramovat logiku do plateb. Takže můžete získat kontrolu a bezpečnost Bitcoinu v kombinaci se službami poskytovanými finančními institucemi. Díky tomu můžete s kryptoměnami dělat věci, které s Bitcoinem dělat nemůžete, jako je půjčování a vypůjčování, plánování plateb, investování do indexových fondů a další.
+To zní divně... „proč bych si chtěl/a programovat peníze“? Toto je však více než jen výchozí funkce tokenů na Ethereu. Každý může naprogramovat logiku do plateb. Takže můžete získat kontrolu a bezpečnost Bitcoinu v kombinaci se službami poskytovanými finančními institucemi. Díky tomu můžete s kryptoměnami dělat věci, které s Bitcoinem dělat nemůžete, jako je půjčování a vypůjčování, plánování plateb, investování do indexových fondů a další.
-
+
Prozkoumejte naše návrhy pro DeFi aplikace a vyzkoušet je, pokud jste v Ethereu noví.
Objevte DeFi aplikace
@@ -77,8 +78,8 @@ Zní to zvláštně... "Proč bych chtěl programovat své peníze"? Toto je vš
Existuje decentralizovaná alternativa k většině finančních služeb. Ethereum však také vytváří příležitosti pro vytváření finančních produktů, které jsou zcela nové. Toto je stále rostoucí seznam.
-- [Posílat peníze napříč zeměkoulí](#send-money)
-- [Streamovat peníze napříč zeměkoulí](#stream-money)
+- [Posílat peníze po celém světě](#send-money)
+- [Streamovat peníze po celém světě](#stream-money)
- [Pracovat se stabilními měnami](#stablecoins)
- [Vypůjčit si finanční prostředky se zajištěním](#lending)
- [Půjčovat si bez zajištění](#flash-loans)
@@ -86,14 +87,14 @@ Existuje decentralizovaná alternativa k většině finančních služeb. Ethere
- [Obchodovat s tokeny](#swaps)
- [Rozšířit své portfolio](#investing)
- [Financovat své nápady](#crowdfunding)
-- [Zakoupit pojištění](#insurance)
+- [Koupit si pojištění](#insurance)
- [Spravovat své portfolio](#aggregators)
-### Rychle posílat peníze napříč zeměkoulí {#send-money}
+### Rychlé posílání peněz po celém světě {#send-money}
-Protože je Ethereum blockchain, je navržen pro zasílání bezpečných a celosvětových transakcí. Stejně jako Bitcoin umožňuje Ethereum posílat peníze po celém světě stejně snadno jako poslat e-mail. Stačí zadat příjemcovo [ENS jméno](/glossary/#ens) (např. bob.eth) nebo adresu jeho účtu z vaší peněženky a vaše platba mu (obvykle) během několika minut přijde. Chcete-li posílat nebo přijímat platby, budete potřebovat [peněženku](/wallets/).
+Protože je Ethereum blockchain, je navržen pro zasílání bezpečných a celosvětových transakcí. Stejně jako Bitcoin umožňuje Ethereum posílat peníze po celém světě stejně snadno jako poslat e-mail. Stačí zadat [jméno ENS](/glossary/#ens) příjemce (např. bob.eth) nebo adresu jeho účtu z vaší peněženky a vaše platba mu (obvykle) během několika minut dorazí. Chcete-li posílat nebo přijímat platby, budete potřebovat [peněženku](/wallets/).
Zobrazit platební dappky
@@ -103,11 +104,11 @@ Protože je Ethereum blockchain, je navržen pro zasílání bezpečných a celo
Můžete také streamovat peníze přes Ethereum. To vám umožní vyplatit někomu jejich plat za pouhou vteřinu a umožnit jim přístup k jejich penězům, kdykoli bude potřeba. Nebo si za vteřinu něco pronajmout, jako třeba úložnou skříňku nebo elektrický skútr.
-A pokud nechcete posílat nebo streamovat [ETH](/glossary/#ether) kvůli tomu, jak moc se může měnit jeho hodnota, existují na Ethereu alternativní měny: [stablecoiny](/glossary/#stablecoin).
+A pokud nechcete posílat nebo streamovat [ETH](/glossary/#ether), protože se jeho hodnota může výrazně měnit, na Ethereu existují alternativní měny: [stablecoiny](/glossary/#stablecoin).
-### Pracovat se stabilními měnami {#stablecoins}
+### Přístup ke stabilním měnám {#stablecoins}
Volatilita kryptoměn je problémem pro spoustu finančních produktů a obecných výdajů. Komunita DeFi tento problém vyřešila pomocí stablecoinů. Jejich hodnota zůstává vázaná na jiný majetek, obvykle populární měnu jako dolary.
@@ -119,7 +120,7 @@ Mince jako Dai nebo USDC mají hodnotu, která zůstane v rozmezí několika cen
-### Půjčky {#lending}
+### Půjčování {#lending}
Půjčování peněz od decentralizovaných poskytovatelů má dvě hlavní varianty.
@@ -132,23 +133,23 @@ Půjčování peněz od decentralizovaných poskytovatelů má dvě hlavní vari
Použití decentralizovaného věřitele má mnoho výhod...
-#### Půjčování s ochranou soukromí {#borrowing-privacy}
+#### Půjčování si se zachováním soukromí {#borrowing-privacy}
Dnes se půjčování peněz točí kolem zúčastněných osob. Banky musí vědět, zda je pravděpodobné, že úvěr splatíte před jeho poskytnutím.
-Decentralizované půjčky fungují, aniž by se kterákoli ze stran musela identifikovat. Místo toho musí dlužník poskytnout zajištění, který věřitel automaticky obdrží, pokud dlužníkův úvěr nebude splacen. Někteří věřitelé dokonce přijímají jako kolaterál [NFT](/glossary/#nft). NFT je listina na unikátní aktivum, jako třeba obraz. [Více o NFT](/nft/)
+Decentralizované půjčky fungují, aniž by se kterákoli ze stran musela identifikovat. Místo toho musí dlužník poskytnout zajištění, který věřitel automaticky obdrží, pokud dlužníkův úvěr nebude splacen. Někteří věřitelé dokonce přijímají [NFT](/glossary/#nft) jako zajištění. NFT je listina na unikátní aktivum, jako třeba obraz. [Více o NFT](/nft/)
To vám umožní půjčit si peníze bez úvěrových kontrol nebo předávání vašich citlivých informací.
-#### Přístup ke globálním finančním prostředkům {#access-global-funds}
+#### Přístup ke globálním fondům {#access-global-funds}
-Když používáte decentralizovaného věřitele, máte přístup k finančním prostředkům z celého světa, nikoli pouze k finančním prostředkům v úschově vámi vybrané banky nebo instituce. Díky tomu jsou půjčky přístupnější a zlepšují se tak úrokové sazby.
+Když používáte decentralizovaného věřitele, máte přístup k finančním prostředkům z celého světa, nikoli pouze k finančním prostředkům v úschově vámi vybrané banky nebo instituce. Díky tomu jsou půjčky dostupnější a úrokové sazby výhodnější.
-#### Daňové úlevy {#tax-efficiencies}
+#### Daňová efektivita {#tax-efficiencies}
Půjčka vám může umožnit přístup k potřebným prostředkům, aniž byste museli prodat svůj ETH (zdanitelnou událost). Místo toho můžete použít ETH jako zajištění pro půjčku stabilní kryptoměny (stablecoin). To vám zajistí potřebný cash-flow a umožní vám ponechat si své ETH. Stablecoiny jsou tokeny, které jsou mnohem vhodnější, když potřebujete hotovost, protože jejich hodnota nekolísá jako u ETH. [Více o stablecoinech](#stablecoins)
-#### Bleskové úvěry {#flash-loans}
+#### Bleskové půjčky {#flash-loans}
Bleskové úvěry jsou experimentálnější formou decentralizovaného půjčování, která vám umožní půjčit si bez zástavy nebo poskytnutí jakýchkoli osobních údajů.
@@ -177,15 +178,15 @@ Abyste mohli provést výše uvedený příklad v tradičním finančním systé
-### Začít šetřit s kryptem {#saving}
+### Začněte spořit s kryptoměnami {#saving}
-#### Půjčování {#lending}
+#### Poskytování půjček {#lending}
Půjčováním kryptoměn můžete vydělávat na úrocích a sledovat růst svých prostředků v reálném čase. Momentálně jsou úrokové sazby mnohem vyšší než ty, které pravděpodobně dostanete v místní bance (pokud máte to štěstí, že se k ní dostanete). Toto je příklad:
-- Půjčíte svých 100 Dai, [stablecoinů](/stablecoins/), produktu, jako je Aave.
+- Půjčíte svých 100 Dai, [stablecoinu](/stablecoins/), produktu jako je Aave.
- Obdržíte 100 Aave Dai (aDai), což je token, který reprezentuje vaše zapůjčené Dai.
-- Váš aDai se bude zvyšovat na základě úrokových sazeb a v peněžence uvidíte rostoucí zůstatek. V závislosti na [APR](/glossary/#apr) bude zůstatek ve vaší peněžence po několika dnech nebo dokonce hodinách činit například 100,1234!
+- Váš aDai se bude zvyšovat na základě úrokových sazeb a v peněžence uvidíte rostoucí zůstatek. V závislosti na [RPSN](/glossary/#apr) bude zůstatek ve vaší peněžence po několika dnech nebo dokonce hodinách činit například 100,1234!
- Kdykoli si můžete vybrat částku běžných Dai, která se rovná vašemu zůstatku aDai.
@@ -210,7 +211,7 @@ Výherní fond je tvořen všemi úroky z půjčování vkladů lístků jako v
-### Vyměňování tokenů {#swaps}
+### Výměna tokenů {#swaps}
Na Ethereu jsou tisíce tokenů. Decentralizované burzy (DEXy) umožňují obchodovat s různými tokeny kdykoliv chcete. Nikdy se nevzdáte kontroly nad svým majetkem. Je to podobné, jako když při návštěvě jiné země používáte směnárnu. Ale DeFi nikdy nezavírá. Trhy fungují 24 hodin denně, 365 dní v roce a technologie zaručuje, že se vždy najde někdo, kdo obchod přijme.
@@ -234,11 +235,11 @@ Když používáte centralizovanou burzu, musíte svá aktiva před obchodem ulo
-### Rozšířit své portfolio {#investing}
+### Rozšiřte své portfolio {#investing}
Na Ethereu existují produkty pro správu fondů, které se snaží rozšířit vaše portfolio na základě vámi zvolené strategie. Je to automatické, otevřené všem a nepotřebuje to lidského manažera, který by si bral podíl ze zisku.
-Dobrým příkladem je fond [DeFi Pulse Index (DPI)](https://defipulse.com/blog/defi-pulse-index/). Jedná se o fond, který se automaticky rebalancuje, aby vaše portfolio vždy zahrnovalo nejlepší DeFi tokeny podle tržní kapitalizace. Nikdy se nemusíte starat o žádné podrobnosti a z fondu můžete vybírat, kdykoli se vám zachce.
+Dobrým příkladem je [indexový fond DeFi Pulse (DPI)](https://defipulse.com/blog/defi-pulse-index/). Jedná se o fond, který se automaticky rebalancuje, aby vaše portfolio vždy zahrnovalo nejlepší DeFi tokeny podle tržní kapitalizace. Nikdy se nemusíte starat o žádné podrobnosti a z fondu můžete vybírat, kdykoli se vám zachce.
Zobrazit investiční dappky
@@ -246,7 +247,7 @@ Dobrým příkladem je fond [DeFi Pulse Index (DPI)](https://defipulse.com/blog/
-### Financovat své nápady {#crowdfunding}
+### Financujte své nápady {#crowdfunding}
Ethereum je ideální platformou pro crowdfunding:
@@ -281,7 +282,7 @@ To znamená, že projekt A se 100 dary ve výši 1 dolaru může nakonec získat
Cílem decentralizovaného pojištění je zlevnit pojištění, urychlit výplatu pojistného plnění a zvýšit jeho transparentnost. Díky větší automatizaci je pojištění cenově dostupnější a výplaty pojistného plnění jsou mnohem rychlejší. Údaje použité k rozhodnutí o vaší události jsou zcela transparentní.
-Ethereum produkty, stejně jako ostatní software, mohou trpět chybami a zneužíváním. Mnoho pojišťovacích produktů v této oblasti se nyní zaměřuje na ochranu uživatelů před ztrátou finančních prostředků. Existují ale i projekty, které začínají vytvářet krytí pro všechno, co nám život může přinést. Dobrým příkladem je projekt společnosti Etherisc Crop, jehož cílem je [ochránit drobné zemědělce v Keni před suchem a povodněmi](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Decentralizované pojištění může poskytnout levnější krytí zemědělcům, kteří jsou často z tradičního pojištění vyřazeni.
+Ethereum produkty, stejně jako ostatní software, mohou trpět chybami a zneužíváním. Mnoho pojišťovacích produktů v této oblasti se nyní zaměřuje na ochranu uživatelů před ztrátou finančních prostředků. Existují ale i projekty, které začínají vytvářet krytí pro všechno, co nám život může přinést. Dobrým příkladem je pojištění plodin od společnosti Etherisc, jehož cílem je [chránit drobné zemědělce v Keni před suchem a záplavami](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Decentralizované pojištění může poskytnout levnější krytí zemědělcům, kteří jsou často z tradičního pojištění vyřazeni.
Zobrazit dappky na pojištění
@@ -289,7 +290,7 @@ Ethereum produkty, stejně jako ostatní software, mohou trpět chybami a zneuž
-### Agregátoři a správci portfolia {#aggregators}
+### Agregátory a správci portfolia {#aggregators}
Vzhledem k tomuto všemu potřebujete mít přehled o všech svých investicích, půjčkách a obchodech. Existuje celá řada produktů, které umožňují koordinovat všechny aktivity DeFi z jednoho místa. V tom spočívá krása otevřené architektury DeFi. Týmy mohou vytvořit rozhraní, ve kterých můžete nejen vidět své zůstatky napříč produkty, ale také používat jejich funkce. Mohlo by se vám to hodit, až budete prozkoumávat další části DeFi.
@@ -324,12 +325,12 @@ O DeFi můžete přemýšlet ve vrstvách:
1. Blockchain – Ethereum obsahuje historii transakcí a stavy účtů.
2. Aktiva – [ETH](/what-is-ether/) a ostatní tokeny (měny).
-3. Protokoly 2 [chytré kontrakty](/glossary/#smart-contract), které poskytují například službu umožňující decentralizované půjčování aktiv.
+3. Protokoly – [chytré kontrakty](/glossary/#smart-contract), které poskytují funkcionalitu, například službu umožňující decentralizované půjčování aktiv.
4. [Aplikace](/apps/) – produkty, které používáme ke správě a přístupu k protokolům.
-Poznámka: Většina subjektů působících v DeFi používá [ERC-20 standard](/glossary/#erc-20). Aplikace v DeFi používají wrapper pro ETH, který je nazývá Wrapped Ether (WETH). [Další informace o WETH](/wrapped-eth).
+Poznámka: velká část DeFi používá [standard ERC-20](/glossary/#erc-20). Aplikace v DeFi používají wrapper pro ETH zvaný Wrapped ether (WETH). [Další informace o wrapped ether (WETH)](/wrapped-eth).
-## Budujte DeFi {#build-defi}
+## Tvořte v DeFi {#build-defi}
DeFi je open-source hnutí. Všechny protokoly a aplikace DeFi jsou otevřené, abyste je mohli kontrolovat, rozšiřovat a inovovat. Díky tomuto vrstvenému zásobníku (všechny sdílejí stejný základní blockchain a aktiva) lze protokoly kombinovat a odemykat tak jedinečné možnosti kombinací.
@@ -337,27 +338,28 @@ DeFi je open-source hnutí. Všechny protokoly a aplikace DeFi jsou otevřené,
Více o budování dappek
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-### DeFi data {#defi-data}
+### Data o DeFi {#defi-data}
- [DeFi Prime](https://defiprime.com/)
- [DeFi Llama](https://defillama.com/)
-### DeFi články {#defi-articles}
+### Články o DeFi {#defi-articles}
- [Průvodce DeFi pro začátečníky](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) – _Sid Coelho-Prabhu, 6. ledna 2020_
+- [Pokyny EEA pro posuzování rizik DeFi](https://entethalliance.org/specs/defi-risks/) – Přehled podporovaný odvětvím o tom, jak identifikovat a posuzovat klíčová rizika v protokolech DeFi.
### Videa {#videos}
-- [Finematics – decentralizované finanční vzdělávání](https://finematics.com/) – _Videa o DeFi_
-- [The Defiant](https://www.youtube.com/playlist?list=PLaDcID4s1KronHMKojfjwiHL0DdQEPDcq) – _Základy DeFi: Vše, co potřebujete vědět, abyste mohli začít v tomto občas matoucím prostoru._
+- [Finematics – vzdělávání v oblasti decentralizovaných financí](https://finematics.com/) – _videa o DeFi_
+- [The Defiant](https://www.youtube.com/playlist?list=PLaDcID4s1KronHMKojfjwiHL0DdQEPDcq) – _Základy DeFi: Vše, co potřebujete vědět, abyste mohli začít v tomto občas matoucím světě._
- [Whiteboard Crypto](https://youtu.be/17QRFlml4pA) _Co je to DeFi?_
### Komunity {#communities}
-- [Server DeFi Llama na Discordu](https://discord.defillama.com/)
-- [Server DeFi Pulse na Discordu](https://discord.gg/Gx4TCTk)
+- [Discord server DeFi Llama](https://discord.defillama.com/)
+- [Discord server DeFi Pulse](https://discord.gg/Gx4TCTk)
diff --git a/public/content/translations/cs/desci/index.md b/public/content/translations/cs/desci/index.md
index d03e42f8651..b21fd631ad0 100644
--- a/public/content/translations/cs/desci/index.md
+++ b/public/content/translations/cs/desci/index.md
@@ -14,44 +14,44 @@ summaryPoint3: Vychází z hnutí otevřené vědy.
## Co je decentralizovaná věda (DeSci)? {#what-is-desci}
-Decentralizovaná věda (DeSci) je hnutí, jehož cílem je vybudovat veřejnou infrastrukturu pro financování, vytváření, vyhodnocování, připisování, ukládání a šíření vědeckých poznatků poctivě a spravedlivě pomocí nástrojů [Web3](/glossary/#web3).
+Decentralizovaná věda (DeSci) je hnutí, jehož cílem je vybudovat veřejnou infrastrukturu pro financování, vytváření, přezkoumávání, připisování zásluh, ukládání a šíření vědeckých poznatků spravedlivým a rovným způsobem pomocí sady nástrojů [Web3](/glossary/#web3).
Cílem DeSci je vytvořit ekosystém, v němž jsou vědci motivováni k otevřenému sdílení svého výzkumu a získávání uznání za svou práci a který zároveň umožňuje každému snadný přístup k výzkumu a přispívání do výzkumu. DeSci vychází z myšlenky, že vědecké poznatky by měly být přístupné všem a že proces vědeckého výzkumu by měl být transparentní. DeSci vytváří decentralizovanější a distribuovanější model vědeckého výzkumu, který je odolnější vůči cenzuře a kontrole ze strany centrálních autorit. DeSci věří, že decentralizací přístupu k financování, vědeckým nástrojům a komunikačním kanálům vytvoří prostředí, kde budou moci vzkvétat nové a nekonvenční myšlenky.
-Decentralizovaná věda také umožňuje rozmanitější zdroje financování (od [DAO](/glossary/#dao) a [kvadratického financování](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531) po crowdfunding a další), přístupnější data a metody, stejně jako motivaci k reprodukovatelnosti.
+Decentralizovaná věda umožňuje rozmanitější zdroje financování (od [DAO](/glossary/#dao), přes [kvadratické dary](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531) až po crowdfunding a další), přístupnější data a metody a poskytuje pobídky pro reprodukovatelnost.
### Juan Benet – Hnutí DeSci
-## Jak DeSci zlepšuje vědu {#desci-improves-science}
+## Jak DeSci vylepšuje vědu {#desci-improves-science}
Neúplný seznam klíčových problémů ve vědě a způsobů, jakými může decentralizovaná věda přispět k jejich řešení
-| **Decentralizovaná věda** | **Tradiční věda** |
-| ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
-| Rozdělení finančních prostředků je **určováno veřejností** za použití mechanismů, jako jsou kvadratické financování nebo DAO. | Malé, uzavřené, **centralizované skupiny** kontrolují rozdělování finančních prostředků. |
-| V dynamických týmech spolupracujete s kolegy **z celého světa**. | Financující organizace a domovské instituce **omezují** vaši spolupráci. |
-| Rozhodnutí o financování se konají online a **transparentně**. Zkoumají se nové mechanismy financování. | Rozhodnutí o financování se konají s dlouhým časovým odstupem a **omezenou transparentností**. Existuje jen málo mechanismů financování. |
-| Sdílení laboratorních služeb je jednodušší a transparentnější pomocí nástrojů [Web3](/glossary/#web3). | Sdílení laboratorních zdrojů je často **pomalé a netransparentní**. |
-| Lze vyvíjet **nové modely pro publikování**, které využívají základní prvky Web3 pro větší spolehlivost, transparentnost a univerzální přístup. | Publikujete prostřednictvím zavedených cest, které jsou často považovány za **neefektivní, neobjektivní a vykořisťovatelské**. |
-| Můžete **získat tokeny a reputaci za práci věnovanou vzájemnému hodnocení**. | Vaše **práce na vzájemném hodnocení je neplacená** a přináší tak prospěch vydavatelům zaměřeným na zisk. |
-| **Duševní vlastnictví (intellectual property, IP) patří vám**. Vytváříte a distribuujete ho podle transparentních podmínek. | **Vaše domovská instituce vlastní IP**, které vygenerujete. Přístup k IP není transparentní. |
-| **Sdílíte veškerý výzkum** na blockchainu, včetně dat z neúspěšných pokusů. | **Publikační zaujatost** znamená, že výzkumníci s větší pravděpodobností budou sdílet jen experimenty, které byly úspěšné. |
+| **Decentralizovaná věda** | **Tradiční věda** |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| O rozdělování finančních prostředků **rozhoduje veřejnost** pomocí mechanismů, jako jsou kvadratické dary nebo DAO. | Rozdělování finančních prostředků kontrolují malé, uzavřené, **centralizované skupiny**. |
+| Spolupracujete s kolegy z **celého světa** v dynamických týmech. | Financující organizace a domovské instituce vaši spolupráci **omezují**. |
+| Rozhodnutí o financování probíhají online a **transparentně**. Zkoumají se nové mechanismy financování. | Rozhodnutí o financování probíhají s dlouhou dobou vyřízení a **omezenou transparentností**. Existuje jen málo mechanismů financování. |
+| Sdílení laboratorních služeb je snazší a transparentnější pomocí technologie [Web3](/glossary/#web3). | Sdílení laboratorních zdrojů je často **pomalé a neprůhledné**. |
+| **Lze vyvíjet nové modely pro publikování**, které využívají primitiv Web3 pro zajištění důvěry, transparentnosti a univerzálního přístupu. | Publikujete prostřednictvím zavedených cest, které jsou často považovány za **neefektivní, zaujaté a vykořisťovatelské**. |
+| Za **recenzování** práce můžete získat **tokeny a reputaci**. | Vaše **recenzentská práce je neplacená** a přináší prospěch ziskovým vydavatelům. |
+| **Vlastníte duševní vlastnictví (IP)**, které vytváříte, a distribuujete ho za transparentních podmínek. | **Vaše domovská instituce vlastní IP**, které vytvoříte. Přístup k IP není transparentní. |
+| **Sdílení veškerého výzkumu**, včetně dat z neúspěšných pokusů, díky tomu, že všechny kroky jsou na blockchainu. | **Publikační zkreslení** znamená, že výzkumníci s větší pravděpodobností sdílejí experimenty, které měly úspěšné výsledky. |
## Ethereum a DeSci {#ethereum-and-desci}
Decentralizovaný vědecký systém vyžaduje robustní zabezpečení, minimální peněžní a transakční náklady a rozsáhlý ekosystém pro vývoj aplikací. Ethereum poskytuje vše potřebné pro vybudování decentralizovaného vědeckého ekosystému.
-## Příklady využití DeSci {#use-cases}
+## Případy použití DeSci {#use-cases}
DeSci buduje vědeckou sadu nástrojů pro integraci tradičních akademických obcí do digitálního světa. Níže je ukázka použití, které Web3 může nabídnout vědecké komunitě.
### Publikování {#publishing}
-Vědecké publikování je všeobecně problematické, neboť je řízeno nakladatelskými společnostmi, které spoléhají na neplacenou práci vědců, recenzentů a editorů při tvorbě článků, ale pak účtují přemrštěné poplatky za publikování. Veřejnost, která obvykle zaplatila za práci a náklady na publikaci nepřímo formou daní, často nemá bez další platby nakladateli k této práci přístup. Celkové poplatky za publikaci jednotlivých vědeckých článků často dosahují pěticiferných částek (v amerických dolarech, $USD), což podkopává celý koncept vědeckého poznání jako [veřejného dobra](/glossary/#public-goods) a zároveň generuje obrovské zisky pro malou skupinu vydavatelů.
+Vědecké publikování je všeobecně problematické, neboť je řízeno nakladatelskými společnostmi, které spoléhají na neplacenou práci vědců, recenzentů a editorů při tvorbě článků, ale pak účtují přemrštěné poplatky za publikování. Veřejnost, která obvykle zaplatila za práci a náklady na publikaci nepřímo formou daní, často nemá bez další platby nakladateli k této práci přístup. Celkové poplatky za publikování jednotlivých vědeckých prací často dosahují pěticiferných částek (USD), což podkopává celý koncept vědeckého poznání jako [veřejného statku](/glossary/#public-goods) a zároveň generuje obrovské zisky pro malou skupinu vydavatelů.
-Volně dostupné platformy existují ve formě předtiskových serverů, [jako je ArXiv](https://arxiv.org/). Nicméně tyto platformy postrádají kontrolu kvality, [mechanismy proti sybil útokům](/glossary/#anti-sybil) a obvykle nesledují metriky na úrovni článků, což znamená, že jsou obvykle používány pouze ke zveřejnění prací před odesláním k tradičnímu vydavateli. SciHub také umožňuje volný přístup k publikovaným článkům, avšak nelegálně, a to až poté, co vydavatelé již přijali platbu a práci opatřili přísnými autorskými právy. To zanechává kritickou mezeru pro dostupné vědecké práce a data s vloženým mechanismem legitimity a modelu motivace. Nástroje pro vytvoření takového systému existují ve světě Web3.
+Existují bezplatné platformy s otevřeným přístupem ve formě předtiskových serverů, [jako je ArXiv](https://arxiv.org/). Tyto platformy však postrádají kontrolu kvality, [mechanismy proti Sybil útokům](/glossary/#anti-sybil) a obecně nesledují metriky na úrovni článků, což znamená, že se obvykle používají pouze ke zveřejnění práce před jejím odesláním tradičnímu vydavateli. SciHub také umožňuje volný přístup k publikovaným článkům, avšak nelegálně, a to až poté, co vydavatelé již přijali platbu a práci opatřili přísnými autorskými právy. To zanechává kritickou mezeru pro dostupné vědecké práce a data s vloženým mechanismem legitimity a modelu motivace. Nástroje pro vytvoření takového systému existují ve světě Web3.
### Reprodukovatelnost a replikovatelnost {#reproducibility-and-replicability}
@@ -60,78 +60,80 @@ Reprodukovatelnost a replikovatelnost tvoří základy kvalitního vědeckého o
- Reprodukovatelných výsledků lze dosáhnout několikrát za sebou stejným týmem používajícím stejnou metodologii.
- Replikovatelných výsledků lze dosáhnout jinou skupinou, ale pomocí stejné metodologie.
-Nové nástroje založené na Web3 mohou zajistit, že reprodukovatelnost a replikovatelnost jsou základní vlastností vědeckých objevů. Kvalitní vědu dokážeme začlenit do technologické struktury akademické obce. Web3 nabízí možnost vytvářet [atestace](/glossary/#attestation) pro každý komponent analýzy: surová data, výpočetní pohon a výsledek aplikace. Krásou konsenzuálních systémů je, že když se vytvoří důvěryhodná síť pro udržování těchto komponent, každý účastník sítě může být zodpovědný za reprodukování výpočtu a ověření každého výsledku.
+Nové nástroje založené na Web3 mohou zajistit, že reprodukovatelnost a replikovatelnost jsou základní vlastností vědeckých objevů. Kvalitní vědu dokážeme začlenit do technologické struktury akademické obce. Web3 nabízí možnost vytvářet [atestace](/glossary/#attestation) pro každou složku analýzy: nezpracovaná data, výpočetní jádro a výsledek aplikace. Krásou konsenzuálních systémů je, že když se vytvoří důvěryhodná síť pro udržování těchto komponent, každý účastník sítě může být zodpovědný za reprodukování výpočtu a ověření každého výsledku.
### Financování {#funding}
-Současný standardní model financování vědy spočívá v tom, že jednotlivci nebo skupiny vědců podávají písemné žádosti na finanční agenturu. Malá skupina důvěryhodných jednotlivců hodnotí žádosti a následně provádí pohovory s uchazeči před udělením finančních prostředků malé části žadatelů. Kromě vytváření úzkých míst, která často vedou k **letům čekání** mezi podáním žádosti a obdržením grantu, je známo, že tento model je velmi **zranitelný vůči předsudkům, vlastním zájmům a politice** hodnotícího panelu.
+Současný standardní model financování vědy spočívá v tom, že jednotlivci nebo skupiny vědců podávají písemné žádosti na finanční agenturu. Malá skupina důvěryhodných jednotlivců hodnotí žádosti a následně provádí pohovory s uchazeči před udělením finančních prostředků malé části žadatelů. Kromě toho, že tento model vytváří úzká místa, která někdy vedou k **mnohaletému čekání** mezi podáním žádosti o grant a jeho obdržením, je také známo, že je vysoce **náchylný k předsudkům, vlastním zájmům a politice** hodnotící komise.
Studie ukázaly, že hodnotící panely pro udělování grantů nedokážou dobře vybírat kvalitní návrhy, protože stejné návrhy poskytnuté různým panelům mají zcela odlišné výsledky. Vzhledem k tomu, že financování je stále vzácnější, koncentrovalo se do menší skupiny zkušenějších výzkumníků s intelektuálně konzervativnějšími projekty. Tento efekt vytvořil hyperkonkurenční prostředí pro financování, posilující nepřirozené podněty a brzdící inovace.
-Web3 má potenciál narušit tento nefungující model financování tím, že experimentuje s různými modely podnětů vyvinutými DAO a Web3 obecně. [Retroaktivní financování veřejných statků](https://medium.com/ethereum-optimism/retroactive-public-goods-funding-33c9b7d00f0c), [kvadratické financování](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531), [DAO](https://www.antler.co/blog/daos-and-web3-governance-the-promise-implications-and-challenges-ahead) a [tokenizované stimulační struktury](https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design) jsou některými z nástrojů web3, které by mohly pomoci spustit revoluci ve financování vědy.
+Web3 má potenciál narušit tento nefungující model financování tím, že experimentuje s různými modely podnětů vyvinutými DAO a Web3 obecně. [Retroaktivní financování veřejných statků](https://medium.com/ethereum-optimism/retroactive-public-goods-funding-33c9b7d00f0c), [kvadratické financování](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531), [správa DAO](https://www.antler.co/blog/daos-and-web3-governance-the-promise-implications-and-challenges-ahead) a [tokenizované motivační struktury](https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design) jsou některé z nástrojů Web3, které by mohly způsobit revoluci ve financování vědy.
### Vlastnictví a vývoj IP {#ip-ownership}
-Duševní vlastnictví (IP) je v tradiční vědě velkým problémem: počínaje ponecháním na univerzitách přes nevyužití v biotechnologiích až po notoricky obtížné ocenění. Nicméně vlastnictví digitálních aktiv (jako jsou vědecká data nebo články) je něco, co Web3 umí výjimečně dobře pomocí [nezaměnitelných tokenů (NFT)](/glossary/#nft).
+Duševní vlastnictví (IP) je v tradiční vědě velkým problémem: počínaje ponecháním na univerzitách přes nevyužití v biotechnologiích až po notoricky obtížné ocenění. Vlastnictví digitálních aktiv (jako jsou vědecká data nebo články) je však něco, co Web3 umí výjimečně dobře pomocí [nezaměnitelných tokenů (NFT)](/glossary/#nft).
Podobně jako NFT mohou posílat budoucí příjmy z transakcí zpět původnímu tvůrci, můžete vytvořit transparentní řetězce přiřazující ocenění, abyste odměňovali výzkumníky, řídící orgány (jako DAO) nebo dokonce subjekty, jejichž data jsou shromažďována.
-[IP-NFT](https://medium.com/molecule-blog/ip-nfts-for-researchers-a-new-biomedical-funding-paradigm-91312d8d92e6) mohou také fungovat jako klíč k decentralizovanému datovému úložišti prováděných výzkumných experimentů a spojení do finančního systému NFT a [DeFi](/glossary/#defi) (od frakcionace po úvěrové fondy a ocenění). Také nativně umožňují entitám na blockchainu, jako jsou DAO, například [VitaDAO](https://www.vitadao.com/), provádět výzkum přímo na blockchainu. Důležitou roli v DeSci může hrát také příchod nepřenosných ["soulbound" tokenů](https://vitalik.eth.limo/general/2022/01/26/soulbound.html), které jednotlivcům umožní prokázat své zkušenosti a kvalifikace spojené s jejich Ethereum adresou.
+[IP-NFTs](https://medium.com/molecule-blog/ip-nfts-for-researchers-a-new-biomedical-funding-paradigm-91312d8d92e6) mohou také fungovat jako klíč k decentralizovanému datovému úložišti prováděných výzkumných experimentů a napojit se na financializaci NFT a [DeFi](/glossary/#defi) (od frakcionalizace po úvěrové pooly a oceňování hodnoty). Umožňuje také entitám nativně na blockchainu, jako jsou DAO, například [VitaDAO](https://www.vitadao.com/), provádět výzkum přímo na blockchainu.
+Nástup nepřevoditelných [„soulbound“ tokenů](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) může také hrát důležitou roli v DeSci tím, že jednotlivcům umožní prokázat své zkušenosti a pověření spojené s jejich ethereumovou adresou.
### Ukládání dat, přístup a architektura {#data-storage}
Vědecká data mohou být mnohem dostupnější pomocí Web3 schémat a distribuované úložiště umožňuje výzkumu přežít kataklyzmatické události.
-Výchozím bodem musí být systém dostupný pro jakoukoli decentralizovanou identitu s náležitými ověřitelnými pověřeními. To umožňuje bezpečnou replikaci citlivých dat důvěryhodnými stranami, díky čemuž je možná redundance a odolnost proti cenzuře, reprodukce výsledků a dokonce možnost spolupráce více stran a přidávání nových dat do datové sady. Důvěrné výpočetní metody, jako je [compute-to-data](https://7wdata.be/predictive-analytics/compute-to-data-using-blockchain-to-decentralize-data-science-and-ai-with-the-ocean-protocol), poskytují alternativní způsoby přístupu k replikaci surových dat a vytvářejí důvěryhodná výzkumná prostředí pro nejcitlivější data. Důvěryhodná výzkumná prostředí byla [citována NHS](https://medium.com/weavechain/whats-in-store-for-the-future-of-healthcare-data-b6398745fbbb) jako řešení směřující k budoucnosti v oblasti ochrany dat a spolupráce. Vytvářejí ekosystém, kde výzkumníci mohou bezpečně pracovat s daty pomocí standardizovaných prostředí pro sdílení kódu a postupů.
+Výchozím bodem musí být systém dostupný pro jakoukoli decentralizovanou identitu s náležitými ověřitelnými pověřeními. To umožňuje bezpečnou replikaci citlivých dat důvěryhodnými stranami, díky čemuž je možná redundance a odolnost proti cenzuře, reprodukce výsledků a dokonce možnost spolupráce více stran a přidávání nových dat do datové sady. Metody důvěrného zpracování dat, jako je [compute-to-data](https://7wdata.be/predictive-analytics/compute-to-data-using-blockchain-to-decentralize-data-science-and-ai-with-the-ocean-protocol), poskytují alternativní mechanismy přístupu k replikaci nezpracovaných dat a vytvářejí důvěryhodná výzkumná prostředí pro nejcitlivější data. Důvěryhodná výzkumná prostředí byla [citována NHS](https://medium.com/weavechain/whats-in-store-for-the-future-of-healthcare-data-b6398745fbbb) jako řešení budoucnosti pro ochranu osobních údajů a spolupráci tím, že vytvářejí ekosystém, kde mohou výzkumníci bezpečně pracovat s daty na místě pomocí standardizovaných prostředí pro sdílení kódu a postupů.
Flexibilní řešení úschovy a sdílení dat ve Web3 podporují výše zmíněné scénáře a poskytují základ pro skutečně Otevřenou vědu, kde výzkumníci mohou vytvářet veřejně prospěšné statky bez nutnosti povolení nebo poplatků. Veřejná datová řešení ve Web3, jako jsou IPFS, Arweave a Filecoin, jsou optimalizována pro decentralizaci. Například dClimate poskytuje univerzální přístup k datům o klimatu a počasí, včetně dat z meteorologických stanic a prediktivních klimatických modelů.
-## Zapojit se {#get-involved}
+## Zapojte se {#get-involved}
Podívejte se na níže uvedené projekty a zapojte se do DeSci komunity.
-- [DeSci.Global: Globální kalendář událostí a setkání](https://desci.global)
-- [Telegramová skupina Blockchain for Science](https://t.me/BlockchainForScience)
+- [DeSci.Global: globální kalendář událostí a setkání](https://desci.global)
+- [Blockchain for Science Telegram](https://t.me/BlockchainForScience)
- [Molecule: Financujte a získejte financování pro vaše výzkumné projekty](https://www.molecule.xyz/)
-- [VitaDAO: Získávejte financování prostřednictvím sponzorovaných smluv o výzkumu pro výzkum dlouhověkosti](https://www.vitadao.com/)
-- [ResearchHub: Publikujte vědecké výsledky a zapojte se do konverzace s kolegy](https://www.researchhub.com/)
-- [dClimate API: Poptávejte klimatická data shromážděná decentralizovanou komunitou](https://www.dclimate.net/)
-- [DeSci Foundation: Publikační nástroj v rámci DeSci](https://descifoundation.org/)
-- [DeSci.World: Jednotné kontaktní místo, kde se uživatelé mohou podívat a zapojovat do DeSci](https://desci.world)
-- [OceanDAO: Financování řízené DAO pro vědu zabývající se daty](https://oceanprotocol.com/)
+- [VitaDAO: Získejte financování prostřednictvím sponzorovaných smluv o výzkumu dlouhověkosti](https://www.vitadao.com/)
+- [ResearchHub: Zveřejněte vědecký výsledek a zapojte se do konverzace s kolegy](https://www.researchhub.com/)
+- [dClimate API: Dotazujte se na klimatická data shromážděná decentralizovanou komunitou](https://www.dclimate.net/)
+- [DeSci Foundation: Tvůrce publikačních nástrojů DeSci](https://descifoundation.org/)
+- [DeSci.World: Jedno místo, kde si uživatelé mohou prohlížet decentralizovanou vědu a zapojit se do ní](https://desci.world)
+- [OceanDAO: Financování spravované DAO pro vědu související s daty](https://oceanprotocol.com/)
- [Opscientia: Otevřené decentralizované vědecké pracovní postupy](https://opsci.io/research/)
-- [Bio.xyz: Získejte financování pro svůj biotechnologický DAO nebo DeSci projekt](https://www.bio.xyz/)
-- [Fleming Protocol: Open-source datová ekonomika, která podporuje spolupracující biomedicinské objevy](http://flemingprotocol.io/)
+- [Bio.xyz: Získejte financování pro svůj biotechnologický projekt DAO nebo DeSci](https://www.bio.xyz/)
+- [Fleming Protocol: Open-source datová ekonomika, která pohání kolaborativní biomedicínské objevy](http://flemingprotocol.io/)
- [Active Inference Institute](https://www.activeinference.org/)
-- [IdeaMarkets: Získávání decentralizované vědecké kredibility](https://ideamarket.io/)
+- [IdeaMarkets: Umožnění decentralizované vědecké důvěryhodnosti](https://ideamarket.io/)
- [DeSci Labs](https://www.desci.com/)
-- [ValleyDAO: otevřená, globální komunita nabízející financování a překladatelskou podporu pro výzkum syntetické biologie](https://www.valleydao.bio)
-- [Cerebrum DAO: získávání řešení pro zlepšení zdraví mozku a prevenci neurodegenerace a údržba těchto řešení](https://www.cerebrumdao.com/)
-- [CryoDAO: financování výzkumu Moonshot v oblasti kryokonzervace](https://www.cryodao.org)
+- [ValleyDAO: otevřená, globální komunita nabízející financování a translační podporu pro výzkum syntetické biologie](https://www.valleydao.bio)
+- [Cerebrum DAO: vyhledávání a podpora řešení pro pokrok v oblasti zdraví mozku a prevenci neurodegenerace](https://www.cerebrumdao.com/)
+- [CryoDAO: financování „moonshot“ výzkumu v oblasti kryokonzervace](https://www.cryodao.org)
+- [Elata: Mějte slovo v budoucnosti psychiatrické medicíny](https://www.elata.bio/)
-Uvítáme návrhy na nové projekty, které je třeba uvést na seznam – pro začátek si přečtěte naše [zásady pro zařazení do seznamu](/contributing/adding-desci-projects/)!
+Vítáme návrhy na zařazení nových projektů – pro začátek se prosím podívejte na naše [zásady zařazování](/contributing/adding-desci-projects/).
-## Další četba {#further-reading}
+## Další čtení {#further-reading}
- [DeSci Wiki od Jocelynn Pearl a Ultrarare](https://docs.google.com/document/d/1aQC6zn-eXflSmpts0XGE7CawbUEHwnL6o-OFXO52PTc/edit#)
-- [Průvodce decentralizovanou biotechnologií od Jocelynn Pearl pro budoucnost a16z](https://future.a16z.com/a-guide-to-decentralized-biotech/)
-- [Případ pro DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
+- [Průvodce decentralizovaným biotechnologickým průmyslem od Jocelynn Pearl pro a16z future](https://future.a16z.com/a-guide-to-decentralized-biotech/)
+- [Argumenty pro DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [Průvodce DeSci](https://future.com/what-is-decentralized-science-aka-desci/)
-- [Decentralizované vědecké zdroje](https://www.vincentweisser.com/desci)
-- [Molecule's Biopharma IP-NFTs – technický popis](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description)
-- [Budování důvěryhodných systémů vědy od Jona Starra](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
+- [Zdroje k decentralizované vědě](https://www.vincentweisser.com/desci)
+- [Biofarmaceutické IP-NFT od Molecule – technický popis](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description)
+- [Budování vědeckých systémů bez nutnosti důvěry od Jona Starra](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [Paul Kohlhaas – DeSci: Budoucnost decentralizované vědy (podcast)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a)
-- [Aktivní inferenční ontologie pro decentralizovanou vědu: Od situovaného vytváření smyslu k epistemickému společnému prostoru](https://zenodo.org/record/6320575)
+- [Ontologie aktivní inference pro decentralizovanou vědu: od situačního utváření smyslu k epistemickým obecným statkům](https://zenodo.org/record/6320575)
- [DeSci: Budoucnost výzkumu od Samuela Akinosho](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec)
-- [Financování vědy (Epilolog: DeSci a nové krypto základní prvky) od Nadie](https://nadia.xyz/science-funding)
+- [Financování vědy (Epilog: DeSci a nové krypto primitivy) od Nadie](https://nadia.xyz/science-funding)
- [Decentralizace narušuje vývoj léků](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f)
- [Co je DeSci – decentralizovaná věda?](https://usadailytimes.com/2022/09/12/what-is-desci-decentralized-science/)
### Videa {#videos}
- [Co je decentralizovaná věda?](https://www.youtube.com/watch?v=-DeMklVWNdA)
-- [Rozhovor mezi Vitalikem Buterinem a vědcem Aubreyem de Greyem o průsečíku výzkumu dlouhověkosti a kryptoměn](https://www.youtube.com/watch?v=x9TSJK1widA)
-- [Vědecké publikování je rozbité. Může ho opravit Web3?](https://www.youtube.com/watch?v=WkvzYgCvWj8)
-- [Juan Benet – DeSci, nezávislé laboratoře & velké škálování Data Science](https://www.youtube.com/watch?v=zkXM9H90g_E)
-- [Sebastian Brunemeier – Jak může DeSci transformovat biomedicínský výzkum & rizikový kapitál](https://www.youtube.com/watch?v=qB4Tc3FcVbM)
-- [Paige Donner - Tooling Open Science with Web3 & The Blockchain](https://www.youtube.com/watch?v=nC-2QWQ-lgw&t=17s)
+- [Rozhovor mezi Vitalikem Buterinem a vědcem Aubrey de Greyem o průsečíku výzkumu dlouhověkosti a krypta](https://www.youtube.com/watch?v=x9TSJK1widA)
+- [Vědecké publikování je rozbité. Může to Web3 napravit?](https://www.youtube.com/watch?v=WkvzYgCvWj8)
+- [Juan Benet – DeSci, nezávislé laboratoře a rozsáhlá datová věda](https://www.youtube.com/watch?v=zkXM9H90g_E)
+- [Sebastian Brunemeier – Jak může DeSci transformovat biomedicínský výzkum a rizikový kapitál](https://www.youtube.com/watch?v=qB4Tc3FcVbM)
+- [Paige Donner – Nástroje pro otevřenou vědu s Web3 a blockchainem](https://www.youtube.com/watch?v=nC-2QWQ-lgw&t=17s)
diff --git a/public/content/translations/cs/developers/docs/accounts/index.md b/public/content/translations/cs/developers/docs/accounts/index.md
index 652341ff95c..1ef386ebf87 100644
--- a/public/content/translations/cs/developers/docs/accounts/index.md
+++ b/public/content/translations/cs/developers/docs/accounts/index.md
@@ -4,25 +4,25 @@ description: Vysvětlení účtů na Ethereu – jejich datových struktur a jej
lang: cs
---
-Účet na Ethereu je entita se zůstatkem etherů (ETH), která může posílat transakce na Ethereu. Účty mohou být ovládány uživatelem nebo spuštěny jako chytré kontrakty.
+Účet na Ethereu je entita se zůstatkem etheru (ETH), která může na Ethereu posílat zprávy. Účty mohou být ovládány uživatelem nebo spuštěny jako chytré kontrakty.
## Předpoklady {#prerequisites}
-K lepšímu pochopení této stránky doporučujeme si nejprve přečíst náš [úvod do Etherea](/developers/docs/intro-to-ethereum/).
+Pro lepší pochopení této stránky vám doporučujeme nejprve si přečíst náš [úvod do Etherea](/developers/docs/intro-to-ethereum/).
-## Typy Účtů {#types-of-account}
+## Typy účtů {#types-of-account}
Ethereum má dva typy účtů:
- Externě vlastněné účty (EOA) – ovládané kýmkoliv s privátním klíčem.
-- Kontraktové účty – chytrý kontrakt nasazený v síti, řízený kódem. Další informace o [chytrých kontraktech](/developers/docs/smart-contracts/).
+- Kontraktové účty – chytrý kontrakt nasazený v síti, řízený kódem. Zjistěte více o [chytrých kontraktech](/developers/docs/smart-contracts/)
Oba typy účtů mohou:
- Přijímat, uchovávat a posílat ETH a tokeny.
- Interagovat se spuštěnými chytrými kontrakty.
-### Hlavní rozdíly {#key-differences}
+### Klíčové rozdíly {#key-differences}
**Externě vlastněné účty**
@@ -31,23 +31,24 @@ Oba typy účtů mohou:
- Transakce mezi účty vlastněnými externími subjekty mohou být pouze převody ETH/tokenů.
- Skládají se z kryptografického páru klíčů: veřejného a privátního klíče, které kontrolují činnosti účtu.
-**Kontraktové účty**
+**Kontraktový účet**
- Vytvoření kontraktu je spojeno s náklady, protože využíváte úložiště sítě.
-- Mohou odesílat transakce pouze jako reakci na přijetí transakce.
+- Mohou odesílat zprávy pouze v reakci na přijetí transakce.
- Transakce z externího účtu na kontraktový účet mohou spustit kód, který může vykonávat různé akce, jako je převod tokenů nebo dokonce vytvoření nového kontraktu.
- Kontraktové účty nemají privátní klíče. Místo toho jsou řízeny logikou kódu chytrého kontraktu.
-## Složení účtu {#an-account-examined}
+## Podrobný pohled na účet {#an-account-examined}
Účet na Ethereu má čtyři pole:
-- `nonce` – Počítadlo, které udává počet transakcí odeslaných z účtu vlastněného externím subjektem nebo počet kontraktů vytvořených kontraktovým účtem. Jen jedna transakce s daným nonce (jedinečným číslem) může být z účtu úspěšně odeslána, což slouží jako obrana proti útokům opakovaným posíláním, kdy jsou podepsané transakce opakovaně vysílány a znovu vykonávány.
+- `nonce` – Počítadlo, které udává počet transakcí odeslaných z externě vlastněného účtu nebo počet kontraktů vytvořených kontraktovým účtem. Jen jedna transakce s daným nonce (jedinečným číslem) může být z účtu úspěšně odeslána, což slouží jako obrana proti útokům opakovaným posíláním, kdy jsou podepsané transakce opakovaně vysílány a znovu vykonávány.
- `balance` – Počet wei vlastněných touto adresou. Wei je denominací ETH a jeden ETH obsahuje 1e+18 wei.
-- `codeHash` – Tento hash odkazuje na _kód_ účtu na virtuálním stroji Etherea (EVM). Kontraktové účty mají naprogramované kódové fragmenty, které mohou provádět různé operace. Tento EVM kód se spustí v případě, že účet obdrží zprávu (message call). Na rozdíl od ostatních polí účtu nelze tento kód změnit. Všechny takové kódové fragmenty jsou uloženy ve stavové databázi pod odpovídajícími hashi umožňujícími jejich pozdější vyhledání. Tato hodnota hashe je známá jako codeHash. U účtů vlastněných externími subjekty je pole codeHash hash prázdného řetězce.
-- `storageRoot` – Někdy označován jako storage hash. 256bitový hash kořenového uzlu Merkle Patricia trie, který kóduje obsah úložiště účtu (mapování mezi 256bitovými celočíselnými hodnotami), zakódovaný do trie jako mapování Keccak 256bitového hashe 256bitových celočíselných klíčů na RLP-kódované 256bitové celočíselné hodnoty. Tento trie kóduje hash obsahu úložiště tohoto účtu a je ve výchozím nastavení prázdný.
+- `codeHash` – Tento haš odkazuje na _kód_ účtu na Ethereum Virtual Machine (EVM). Kontraktové účty mají naprogramované kódové fragmenty, které mohou provádět různé operace. Tento EVM kód se spustí v případě, že účet obdrží zprávu (message call). Na rozdíl od ostatních polí účtu nelze tento kód změnit. Všechny takové kódové fragmenty jsou uloženy ve stavové databázi pod odpovídajícími hashi umožňujícími jejich pozdější vyhledání. Tato hodnota hashe je známá jako codeHash. U účtů vlastněných externími subjekty je pole codeHash hash prázdného řetězce.
+- `storageRoot` – Někdy označován jako haš úložiště. 256bitový haš kořenového uzlu [Merkle Patricia trie](/developers/docs/data-structures-and-encoding/patricia-merkle-trie/), který kóduje obsah úložiště účtu (mapování mezi 256bitovými celočíselnými hodnotami), zakódovaný do trie jako mapování z 256bitového haše Keccak 256bitových celočíselných klíčů na RLP kódované 256bitové celočíselné hodnoty. Tento trie kóduje hash obsahu úložiště tohoto účtu a je ve výchozím nastavení prázdný.
- _Schéma převzato z [ilustrace Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+
+_Diagram upravený podle [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
## Externě vlastněné účty a páry klíčů {#externally-owned-accounts-and-key-pairs}
@@ -67,32 +68,32 @@ Např.:
`fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f`
-Veřejný klíč je vygenerován z privátního klíče pomocí algoritmu [Elliptic Curve Digital Signature Algorithm (ECDSA)](https://wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm). Veřejnou adresu vašeho účtu získáte tak, že vezmete posledních 20 bajtů z Keccak-256 hashe veřejného klíče a přidáte předponu `0x`.
+Veřejný klíč je generován z privátního klíče pomocí [algoritmu digitálního podpisu s eliptickými křivkami](https://wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm). Veřejnou adresu svého účtu získáte tak, že vezmete posledních 20 bajtů z haše Keccak-256 veřejného klíče a na začátek přidáte `0x`.
-To znamená, že účet vlastněný externím subjektem (Externally Owned Account, EOA) má 42znakovou adresu (20bajtový segment, což je 40 hexadecimálních znaků plus předpona `0x`).
+To znamená, že externě vlastněný účet (EOA) má 42znakovou adresu (20bajtový segment, což je 40 hexadecimálních znaků plus předpona `0x`).
-Příklad:
+Např.:
`0x5e97870f263700f46aa00d967821199b9bc5a120`
-Následující příklad ukazuje, jak můžete používat nástroj pro podepisování zvaný [Clef](https://geth.ethereum.org/docs/tools/clef/introduction) k vygenerování nového účtu. Clef je nástroj pro správu účtů a podepisování, který je součástí klienta na Ethereu, [Geth](https://geth.ethereum.org). Příkaz `clef newaccount` vytvoří nový pár klíčů a uloží je do zašifrovaného úložiště klíčů.
+Následující příklad ukazuje, jak použít nástroj pro podepisování zvaný [Clef](https://geth.ethereum.org/docs/tools/clef/introduction) k vygenerování nového účtu. Clef je nástroj pro správu účtů a podepisování, který je dodáván s klientem Etherea, [Geth](https://geth.ethereum.org). Příkaz `clef newaccount` vytvoří nový pár klíčů a uloží je do zašifrovaného úložiště klíčů.
```
-> clef newaccount --keystore
+> clef newaccount --keystore
-Please enter a password for the new account to be created:
->
+Zadejte prosím heslo pro nově vytvářený účet:
+>
------------
-INFO [10-28|16:19:09.156] Your new key was generated address=0x5e97870f263700f46aa00d967821199b9bc5a120
-WARN [10-28|16:19:09.306] Please backup your key file path=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120
-WARN [10-28|16:19:09.306] Please remember your password!
-Generated account 0x5e97870f263700f46aa00d967821199b9bc5a120
+INFO [10-28|16:19:09.156] Váš nový klíč byl vygenerován adresa=0x5e97870f263700f46aa00d967821199b9bc5a120
+WARN [10-28|16:19:09.306] Zálohujte si prosím soubor s klíčem cesta=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120
+WARN [10-28|16:19:09.306] Zapamatujte si prosím své heslo!
+Vygenerován účet 0x5e97870f263700f46aa00d967821199b9bc5a120
```
[Dokumentace Geth](https://geth.ethereum.org/docs)
-Z privátního klíče lze odvodit nové veřejné klíče, ale privátní klíč z veřejných klíčů odvodit nelze. To znamená, že je nezbytné uchovávat privátní klíč v bezpečí a, jak název napovídá, v **SOUKROMÍ**.
+Z privátního klíče lze odvodit nové veřejné klíče, ale privátní klíč z veřejných klíčů odvodit nelze. Je nezbytné uchovávat své privátní klíče v bezpečí a, jak název napovídá, **PRIVÁTNÍ**.
Privátní klíč potřebujete k podepisování zpráv a transakcí, jejichž výstupem je podpis. Ostatní pak mohou na základě tohoto podpisu odvodit váš veřejný klíč a ověřit si tak autora zprávy. V aplikaci můžete k odesílání transakcí do sítě použít JavaScriptovou knihovnu.
@@ -110,7 +111,7 @@ Adresa kontraktu je obvykle přidělena při prvním spuštění kontraktu na bl
V Ethereu existuje také další typ klíče, který byl zaveden při přechodu Etherea z konsenzu založeného na důkazu prací na důkaz podílem. Jedná se o tzv. „BLS“ klíče, které slouží k identifikaci validátorů. Tyto klíče mohou být efektivně sdružovány, což snižuje sířku pásma potřebnou k dosažení konsenzu v síti. Bez této agregace by byla minimální uzamčená částka pro validátora mnohem vyšší.
-[Další informace o klíčích validátorů](/developers/docs/consensus-mechanisms/pos/keys/).
+[Více o klíčích validátorů](/developers/docs/consensus-mechanisms/pos/keys/).
## Poznámka k peněženkám {#a-note-on-wallets}
@@ -124,9 +125,9 @@ Podívejte se na video, kde Austin ukazuje, jak fungují hashovací funkce a pá
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Understanding Ethereum Accounts](https://info.etherscan.com/understanding-ethereum-accounts/) – etherscan
+- [Pochopení účtů na Ethereu](https://info.etherscan.com/understanding-ethereum-accounts/) – etherscan
_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/apis/backend/index.md b/public/content/translations/cs/developers/docs/apis/backend/index.md
new file mode 100644
index 00000000000..537a79a1732
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/apis/backend/index.md
@@ -0,0 +1,211 @@
+---
+title: Backend API knihovny
+description: Úvod do klientských rozhraní API Etherea, která umožňují interakci s blockchainem z vaší aplikace.
+lang: cs
+---
+
+Aby mohla softwarová aplikace komunikovat s ethereovým blockchainem (tj. číst data z blockchainu a/nebo posílat transakce do sítě), musí se připojit k ethereovému uzlu.
+
+Za tímto účelem implementuje každý ethereový klient specifikaci [JSON-RPC](/developers/docs/apis/json-rpc/), takže existuje jednotná sada [metod](/developers/docs/apis/json-rpc/#json-rpc-methods), na které se aplikace mohou spolehnout.
+
+Pokud chcete pro připojení k síťovému uzlu na Ethereu použít konkrétní programovací jazyk, vytvořte si vlastní řešení, ale v rámci ekosystému existuje několik užitečných knihoven, které vám to značně usnadní. Pomocí těchto knihoven mohou vývojáři psát intuitivní jednořádkové metody pro inicializaci JSON-RPC požadavků, které komunikují s Ethereem.
+
+## Předpoklady {#prerequisites}
+
+Mohlo by být užitečné porozumět [ethereovému stacku](/developers/docs/ethereum-stack/) a [ethereovým klientům](/developers/docs/nodes-and-clients/).
+
+## Proč používat knihovnu? {#why-use-a-library}
+
+Knihovny snižují složitost přímé interakce se síťovým uzlem Etherea. Poskytují také užitečné funkce (např. převod ETH na Gwei), takže jako vývojář můžete strávit méně času řešením složitostí ethereových klientů a více času se věnovat jedinečným funkcím své aplikace.
+
+## Dostupné knihovny {#available-libraries}
+
+### Infrastruktura a služby uzlů {#infrastructure-and-node-services}
+
+**Alchemy –** **_Vývojářská platforma pro Ethereum._**
+
+- [alchemy.com](https://www.alchemy.com/)
+- [Dokumentace](https://www.alchemy.com/docs/)
+- [GitHub](https://github.com/alchemyplatform)
+- [Discord](https://discord.com/invite/alchemyplatform)
+
+**All That Node –** **_Uzel jako služba._**
+
+- [All That Node.com](https://www.allthatnode.com/)
+- [Dokumentace](https://docs.allthatnode.com)
+- [Discord](https://discord.gg/GmcdVEUbJM)
+
+**Blast od Bware Labs –** **_Decentralizovaná API pro Ethereum Mainnet a testovací sítě._**
+
+- [blastapi.io](https://blastapi.io/)
+- [Dokumentace](https://docs.blastapi.io)
+- [Discord](https://discord.gg/SaRqmRUjjQ)
+
+**BlockPi –** **_Poskytování efektivnějších a rychlejších služeb RPC_**
+
+- [blockpi.io](https://blockpi.io/)
+- [Dokumentace](https://docs.blockpi.io/)
+- [GitHub](https://github.com/BlockPILabs)
+- [Discord](https://discord.com/invite/xTvGVrGVZv)
+
+**Brána Cloudflare pro Ethereum.**
+
+- [cloudflare-eth.com](https://www.cloudflare.com/application-services/products/web3/)
+
+**Etherscan - Průzkumník bloků a APIs transakcí**
+
+- [Dokumentace](https://docs.etherscan.io/)
+
+**Blockscout – open-source prohlížeč bloků**
+
+- [Dokumentace](https://docs.blockscout.com/)
+
+**GetBlock –** **_Blockchain jako služba pro vývoj Web3_**
+
+- [GetBlock.io](https://getblock.io/)
+- [Dokumentace](https://docs.getblock.io/)
+
+**Infura –** **_Ethereum API jako služba._**
+
+- [infura.io](https://infura.io)
+- [Dokumentace](https://docs.infura.io/api)
+- [GitHub](https://github.com/INFURA)
+
+**Node RPC – _Nákladově efektivní poskytovatel EVM JSON-RPC_**
+
+- [noderpc.xyz](https://www.noderpc.xyz/)
+- [Dokumentace](https://docs.noderpc.xyz/node-rpc)
+
+**NOWNodes –** **_Plnohodnotné uzly a prohlížeče bloků._**
+
+- [NOWNodes.io](https://nownodes.io/)
+- [Dokumentace](https://nownodes.gitbook.io/documentation)
+
+**QuickNode –** **_Blockchainová infrastruktura jako služba._**
+
+- [quicknode.com](https://quicknode.com)
+- [Dokumentace](https://www.quicknode.com/docs/welcome)
+- [Discord](https://discord.gg/quicknode)
+
+**Rivet –** **_API pro Ethereum a Ethereum Classic jako služba postavená na open-source softwaru._**
+
+- [rivet.cloud](https://rivet.cloud)
+- [Dokumentace](https://rivet.cloud/docs/)
+- [GitHub](https://github.com/openrelayxyz/ethercattle-deployment)
+
+**Zmok –** **_Ethereové uzly zaměřené na rychlost jako JSON-RPC/WebSockets API._**
+
+- [zmok.io](https://zmok.io/)
+- [GitHub](https://github.com/zmok-io)
+- [Dokumentace](https://docs.zmok.io/)
+- [Discord](https://discord.gg/fAHeh3ka6s)
+
+### Vývojářské nástroje {#development-tools}
+
+**ethers-kt –** **_Asynchronní, vysoce výkonná knihovna pro Kotlin/Javu/Android pro blockchainy založené na EVM._**
+
+- [GitHub](https://github.com/Kr1ptal/ethers-kt)
+- [Příklady](https://github.com/Kr1ptal/ethers-kt/tree/master/examples)
+- [Discord](https://discord.gg/rx35NzQGSb)
+
+**Nethereum –** **_Open-source .NET integrační knihovna pro blockchain._**
+
+- [GitHub](https://github.com/Nethereum/Nethereum)
+- [Dokumentace](http://docs.nethereum.com/en/latest/)
+- [Discord](https://discord.com/invite/jQPrR58FxX)
+
+**Nástroje pro Python –** **_Různé knihovny pro interakci s Ethereem přes Python._**
+
+- [py.ethereum.org](https://snakecharmers.ethereum.org/)
+- [web3.py GitHub](https://github.com/ethereum/web3.py)
+- [web3.py Chat](https://gitter.im/ethereum/web3.py)
+
+**Tatum –** **_Špičková vývojářská platforma pro blockchain._**
+
+- [Tatum](https://tatum.io/)
+- [GitHub](https://github.com/tatumio/)
+- [Dokumentace](https://docs.tatum.io/)
+- [Discord](https://discord.gg/EDmW3kjTC9)
+
+**web3j –** **_Integrační knihovna pro Javu, Android, Kotlin a Scalu pro Ethereum._**
+
+- [GitHub](https://github.com/web3j/web3j)
+- [Dokumentace](https://docs.web3j.io/)
+- [Gitter](https://gitter.im/web3j/web3j)
+
+### Blockchainové služby {#blockchain-services}
+
+**BlockCypher –** **_Webová API pro Ethereum._**
+
+- [blockcypher.com](https://www.blockcypher.com/)
+- [Dokumentace](https://www.blockcypher.com/dev/ethereum/)
+
+**Chainbase –** **_Komplexní datová infrastruktura web3 pro Ethereum._**
+
+- [chainbase.com](https://chainbase.com/)
+- [Dokumentace](https://docs.chainbase.com/)
+- [Discord](https://discord.gg/Wx6qpqz4AF)
+
+**Chainstack –** **_Elastické a dedikované ethereové uzly jako služba._**
+
+- [chainstack.com](https://chainstack.com)
+- [Dokumentace](https://docs.chainstack.com/)
+- [Referenční příručka API pro Ethereum](https://docs.chainstack.com/reference/ethereum-getting-started)
+
+**Coinbase Cloud Node –** **_API pro infrastrukturu blockchainu._**
+
+- [Coinbase Cloud Node](https://www.coinbase.com/developer-platform)
+- [Dokumentace](https://docs.cdp.coinbase.com/)
+
+**DataHub od Figmentu –** **_Služby API Web3 s Ethereum Mainnetem a testovacími sítěmi._**
+
+- [DataHub](https://www.figment.io/)
+- [Dokumentace](https://docs.figment.io/)
+
+**Moralis –** **_Poskytovatel EVM API na podnikové úrovni._**
+
+- [moralis.io](https://moralis.io)
+- [Dokumentace](https://docs.moralis.io/)
+- [GitHub](https://github.com/MoralisWeb3)
+- [Discord](https://moralis.io/joindiscord/)
+- [Fórum](https://forum.moralis.io/)
+
+**NFTPort –** **_Datová a mintovací API na Ethereu._**
+
+- [nftport.xyz](https://www.nftport.xyz/)
+- [Dokumentace](https://docs.nftport.xyz/)
+- [GitHub](https://github.com/nftport/)
+- [Discord](https://discord.com/invite/K8nNrEgqhE)
+
+**Tokenview –** **_Univerzální blockchainová platforma API pro více kryptoměn._**
+
+- [services.tokenview.io](https://services.tokenview.io/)
+- [Dokumentace](https://services.tokenview.io/docs?type=api)
+- [GitHub](https://github.com/Tokenview)
+
+**Watchdata –** **_Poskytuje jednoduchý a spolehlivý přístup přes API k blockchainu Etherea._**
+
+- [Watchdata](https://watchdata.io/)
+- [Dokumentace](https://docs.watchdata.io/)
+- [Discord](https://discord.com/invite/TZRJbZ6bdn)
+
+**Covalent –** **_Obohacená blockchainová API pro více než 200 blockchainů._**
+
+- [covalenthq.com](https://www.covalenthq.com/)
+- [Dokumentace](https://www.covalenthq.com/docs/api/)
+- [GitHub](https://github.com/covalenthq)
+- [Discord](https://www.covalenthq.com/discord/)
+
+## Další čtení {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+## Související témata {#related-topics}
+
+- [Uzly a klienti](/developers/docs/nodes-and-clients/)
+- [Vývojářské frameworky](/developers/docs/frameworks/)
+
+## Související návody {#related-tutorials}
+
+- [Nastavení Web3.js pro použití ethereového blockchainu v JavaScriptu](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/) _– Návod na nastavení web3.js ve vašem projektu._
+- [Volání chytrých kontraktů z JavaScriptu](/developers/tutorials/calling-a-smart-contract-from-javascript/) _– Podívejte se, jak pomocí tokenu DAI volat funkce kontraktů v JavaScriptu._
diff --git a/public/content/translations/cs/developers/docs/apis/javascript/index.md b/public/content/translations/cs/developers/docs/apis/javascript/index.md
new file mode 100644
index 00000000000..389f51c5580
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/apis/javascript/index.md
@@ -0,0 +1,289 @@
+---
+title: JavaScript API knihovny
+description: Úvod do JavaScriptových klientských knihoven, které umožňují interakci s blockchainem z vaší aplikace.
+lang: cs
+---
+
+Aby mohla webová aplikace komunikovat s blockchainem Etherea (tj. číst data blockchainu a/nebo odesílat transakce do sítě), musí se připojit k uzlu Etherea.
+
+Za tímto účelem každý klient Etherea implementuje specifikaci [JSON-RPC](/developers/docs/apis/json-rpc/), takže existuje jednotná sada [metod](/developers/docs/apis/json-rpc/#json-rpc-methods), na které se aplikace mohou spolehnout.
+
+Pokud chcete pro připojení k síťovému uzlu na Ethereu použít JavaScript, je možné využít vanilla JavaScript, ale v rámci ekosystému existuje několik užitečných knihoven, které vám to značně usnadní. Pomocí těchto knihoven mohou vývojáři psát intuitivní jednořádkové metody pro inicializaci JSON-RPC požadavků, které komunikují s Ethereem.
+
+Vezměte prosím na vědomí, že od [sloučení](/roadmap/merge/) jsou ke spuštění uzlu potřeba dva propojené softwarové programy pro Ethereum – exekuční klient a konsensuální klient. Ujistěte se, že váš síťový uzel obsahuje oba dva. Pokud váš uzel není na vašem místním počítači (např. běží na instanci AWS), aktualizujte podle toho IP adresy v tutoriálu. Další informace naleznete na naší stránce o [spuštění uzlu](/developers/docs/nodes-and-clients/run-a-node/).
+
+## Předpoklady {#prerequisites}
+
+Kromě znalosti JavaScriptu může být užitečné porozumět i [Ethereum stacku](/developers/docs/ethereum-stack/) a [klientům Etherea](/developers/docs/nodes-and-clients/).
+
+## Proč používat knihovnu? {#why-use-a-library}
+
+Knihovny snižují složitost přímé interakce se síťovým uzlem Etherea. Poskytují také užitečné funkce (např. převod ETH na Gwei), takže jako vývojář můžete strávit méně času řešením složitostí ethereových klientů a více času se věnovat jedinečným funkcím své aplikace.
+
+## Funkce knihoven {#library-features}
+
+### Připojení k uzlům Ethereum {#connect-to-ethereum-nodes}
+
+Tyto knihovny vám pomocí poskytovatelů umožňují připojit se k Ethereu a číst jeho data, ať už prostřednictvím JSON-RPC, INFURY, Etherscanu, Alchemy nebo MetaMasku.
+
+> **Varování:** Web3.js byl 4. března 2025 archivován. [Přečtěte si oznámení](https://blog.chainsafe.io/web3-js-sunset/). Pro nové projekty zvažte použití alternativních knihoven, jako jsou [ethers.js](https://ethers.org) nebo [viem](https://viem.sh).
+
+**Příklad v ethers**
+
+```js
+// BrowserProvider obaluje standardního poskytovatele Web3, kterého
+// MetaMask vkládá do každé stránky jako window.ethereum
+const provider = new ethers.BrowserProvider(window.ethereum)
+
+// Plugin MetaMask také umožňuje podepisovat transakce pro
+// odesílání etheru a placení za změnu stavu v rámci blockchainu.
+// K tomu potřebujeme podepisovatele účtu...
+const signer = provider.getSigner()
+```
+
+**Příklad ve Web3js**
+
+```js
+var web3 = new Web3("http://localhost:8545")
+// nebo
+var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"))
+
+// změna poskytovatele
+web3.setProvider("ws://localhost:8546")
+// nebo
+web3.setProvider(new Web3.providers.WebsocketProvider("ws://localhost:8546"))
+
+// Použití IPC poskytovatele v node.js
+var net = require("net")
+var web3 = new Web3("/Users/myuser/Library/Ethereum/geth.ipc", net) // cesta na mac os
+// nebo
+var web3 = new Web3(
+ new Web3.providers.IpcProvider("/Users/myuser/Library/Ethereum/geth.ipc", net)
+) // cesta na mac os
+// cesta na windows: "\\\\.\\pipe\\geth.ipc"
+// cesta na linux: "/users/myuser/.ethereum/geth.ipc"
+```
+
+Po nastavení se budete moci dotazovat na blockchain na:
+
+- čísla bloků
+- odhady paliva
+- události smart kontraktů
+- id sítě
+- a více...
+
+### Funkce peněženky {#wallet-functionality}
+
+Tyto knihovny poskytují funkce pro vytváření peněženek, správu klíčů a podepisování transakcí.
+
+Zde jsou příklady z Ethers
+
+```js
+// Vytvoření instance peněženky z mnemonické fráze...
+mnemonic =
+ "announce room limb pattern dry unit scale effort smooth jazz weasel alcohol"
+walletMnemonic = Wallet.fromPhrase(mnemonic)
+
+// ...nebo z privátního klíče
+walletPrivateKey = new Wallet(walletMnemonic.privateKey)
+
+walletMnemonic.address === walletPrivateKey.address
+// true
+
+// Adresa jako Promise podle Signer API
+walletMnemonic.getAddress()
+// { Promise: '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1' }
+
+// Adresa peněženky je také dostupná synchronně
+walletMnemonic.address
+// '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1'
+
+// Interní kryptografické komponenty
+walletMnemonic.privateKey
+// '0x1da6847600b0ee25e9ad9a52abbd786dd2502fa4005dd5af9310b7cc7a3b25db'
+walletMnemonic.publicKey
+// '0x04b9e72dfd423bcf95b3801ac93f4392be5ff22143f9980eb78b3a860c4843bfd04829ae61cdba4b3b1978ac5fc64f5cc2f4350e35a108a9c9a92a81200a60cd64'
+
+// Mnemonic peněženky
+walletMnemonic.mnemonic
+// {
+// locale: 'en',
+// path: 'm/44\'/60\'/0\'/0/0',
+// phrase: 'announce room limb pattern dry unit scale effort smooth jazz weasel alcohol'
+// }
+
+// Poznámka: Peněženka vytvořená privátním klíčem nemá
+// mnemonic (odvození tomu brání)
+walletPrivateKey.mnemonic
+// null
+
+// Podepisování zprávy
+walletMnemonic.signMessage("Hello World")
+// { Promise: '0x14280e5885a19f60e536de50097e96e3738c7acae4e9e62d67272d794b8127d31c03d9cd59781d4ee31fb4e1b893bd9b020ec67dfa65cfb51e2bdadbb1de26d91c' }
+
+tx = {
+ to: "0x8ba1f109551bD432803012645Ac136ddd64DBA72",
+ value: utils.parseEther("1.0"),
+}
+
+// Podepisování transakce
+walletMnemonic.signTransaction(tx)
+// { Promise: '0xf865808080948ba1f109551bd432803012645ac136ddd64dba72880de0b6b3a7640000801ca0918e294306d177ab7bd664f5e141436563854ebe0a3e523b9690b4922bbb52b8a01181612cec9c431c4257a79b8c9f0c980a2c49bb5a0e6ac52949163eeb565dfc' }
+
+// Metoda connect vrací novou instanci
+// Peněženky připojené k poskytovateli
+wallet = walletMnemonic.connect(provider)
+
+// Dotazování sítě
+wallet.getBalance()
+// { Promise: { BigNumber: "42" } }
+wallet.getTransactionCount()
+// { Promise: 0 }
+
+// Odesílání etheru
+wallet.sendTransaction(tx)
+```
+
+[Přečtěte si celou dokumentaci](https://docs.ethers.io/v5/api/signer/#Wallet)
+
+Po nastavení budete moci:
+
+- vytvářet účty
+- odesílat transakce
+- podepisovat transakce
+- a více...
+
+### Interakce s funkcemi chytrých kontraktů {#interact-with-smart-contract-functions}
+
+Knihovny JavaScriptových klientů umožňují vaší aplikaci volat funkce smart kontraktů načtením aplikačního binárního rozhraní (ABI) zkompilovaného kontraktu.
+
+ABI v podstatě vysvětluje funkce kontraktu ve formátu JSON a umožňuje jej používat jako běžný objekt JavaScriptu.
+
+Takže následující kontrakt v Solidity:
+
+```solidity
+contract Test {
+ uint a;
+ address d = 0x12345678901234567890123456789012;
+
+ constructor(uint testInt) { a = testInt;}
+
+ event Event(uint indexed b, bytes32 c);
+
+ event Event2(uint indexed b, bytes32 c);
+
+ function foo(uint b, bytes32 c) returns(address) {
+ Event(b, c);
+ return d;
+ }
+}
+```
+
+Výsledekem by byl následující JSON:
+
+```json
+[{
+ "type":"constructor",
+ "payable":false,
+ "stateMutability":"nonpayable"
+ "inputs":[{"name":"testInt","type":"uint256"}],
+ },{
+ "type":"function",
+ "name":"foo",
+ "constant":false,
+ "payable":false,
+ "stateMutability":"nonpayable",
+ "inputs":[{"name":"b","type":"uint256"}, {"name":"c","type":"bytes32"}],
+ "outputs":[{"name":"","type":"address"}]
+ },{
+ "type":"event",
+ "name":"Event",
+ "inputs":[{"indexed":true,"name":"b","type":"uint256"}, {"indexed":false,"name":"c","type":"bytes32"}],
+ "anonymous":false
+ },{
+ "type":"event",
+ "name":"Event2",
+ "inputs":[{"indexed":true,"name":"b","type":"uint256"},{"indexed":false,"name":"c","type":"bytes32"}],
+ "anonymous":false
+}]
+```
+
+To znamená, že můžete:
+
+- Odeslat transakci do smart kontraktu a provést jeho metodu
+- Zjistit odhad množství paliva, který spotřebuje vykonání metody při spuštění v EVM
+- Nasadit kontrakt
+- A další...
+
+### Pomocné funkce {#utility-functions}
+
+Tyto užitečné funkce poskytují praktické zkratky, které vám usnadní práci s Ethereem.
+
+Hodnoty ETH jsou ve výchozím nastavení ve Wei. 1 ETH = 1 000 000 000 000 000 000 000 000 WEI - to znamená, že máte co do činění se spoustou čísel! `web3.utils.toWei` za vás převede ether na Wei.
+
+A v etherech to vypadá následovně:
+
+```js
+// Získejte zůstatek na účtu (podle adresy nebo jména ENS).
+balance = await provider.getBalance("ethers.eth")
+// { BigNumber: "2337132817842795605" }
+
+// Často bude potřeba formátovat výstup pro uživatele,
+// kteří preferují zobrazení hodnot v etherech (namísto ve wei)
+ethers.utils.formatEther(balance)
+// '2.337132817842795605'
+```
+
+- [Pomocné funkce Web3js](https://docs.web3js.org/api/web3-utils)
+- [Pomocné funkce Ethers](https://docs.ethers.org/v6/api/utils/)
+
+## Dostupné knihovny {#available-libraries}
+
+**Web3.js –** **_JavaScriptové API pro Ethereum._**
+
+- [Dokumentace](https://docs.web3js.org)
+- [GitHub](https://github.com/ethereum/web3.js)
+
+**Ethers.js –** **_Kompletní implementace peněženky pro Ethereum a nástrojů v JavaScriptu a v TypeScriptu._**
+
+- [Domovská stránka Ethers.js](https://ethers.org/)
+- [Dokumentace](https://docs.ethers.io)
+- [GitHub](https://github.com/ethers-io/ethers.js)
+
+**The Graph –** **_Protokol pro indexování dat Etherea a IPFS a dotazování na ně pomocí GraphQL._**
+
+- [The Graph](https://thegraph.com)
+- [Graph Explorer](https://thegraph.com/explorer)
+- [Dokumentace](https://thegraph.com/docs)
+- [GitHub](https://github.com/graphprotocol)
+- [Discord](https://thegraph.com/discord)
+
+**Alchemy SDK –** **_Wrapper nad Ethers.js s vylepšenými API._**
+
+- [Dokumentace](https://www.alchemy.com/docs)
+- [GitHub](https://github.com/alchemyplatform/alchemy-sdk-js)
+
+**viem –** **_TypeScript rozhraní pro Ethereum._**
+
+- [Dokumentace](https://viem.sh)
+- [GitHub](https://github.com/wagmi-dev/viem)
+
+**Drift –** **_TypeScriptová meta-knihovna s vestavěným cachováním, hooky a testovacími mocky._**
+
+- [Dokumentace](https://ryangoree.github.io/drift/)
+- [GitHub](https://github.com/ryangoree/drift/)
+
+## Další čtení {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+## Související témata {#related-topics}
+
+- [Uzly a klienti](/developers/docs/nodes-and-clients/)
+- [Vývojářské frameworky](/developers/docs/frameworks/)
+
+## Související návody {#related-tutorials}
+
+- [Nastavení Web3.js pro použití ethereového blockchainu v JavaScriptu](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/) _– Návod na nastavení web3.js ve vašem projektu._
+- [Volání chytrých kontraktů z JavaScriptu](/developers/tutorials/calling-a-smart-contract-from-javascript/) _– Podívejte se, jak pomocí tokenu DAI volat funkce kontraktů v JavaScriptu._
+- [Odesílání transakcí pomocí web3 a Alchemy](/developers/tutorials/sending-transactions-using-web3-and-alchemy/) _– Podrobný návod pro odesílání transakcí z backendu._
diff --git a/public/content/translations/cs/developers/docs/apis/json-rpc/index.md b/public/content/translations/cs/developers/docs/apis/json-rpc/index.md
new file mode 100644
index 00000000000..93b2a5344a1
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/apis/json-rpc/index.md
@@ -0,0 +1,1898 @@
+---
+title: JSON-RPC API
+description: Bezstavový, lehký protokol pro vzdálené volání procedur (RPC) pro klienty na Ethereu.
+lang: cs
+---
+
+Aby mohla softwarová aplikace interagovat s blockchainem Ethereum - ať už čtením dat z blockchainu nebo odesíláním transakcí do sítě - musí se připojit k síťovému uzlu.
+
+Za tímto účelem každý [klient Etherea](/developers/docs/nodes-and-clients/#execution-clients) implementuje [specifikaci JSON-RPC](https://github.com/ethereum/execution-apis), takže existuje jednotná sada metod, na které se aplikace mohou spolehnout bez ohledu na konkrétní implementaci uzlu nebo klienta.
+
+[JSON-RPC](https://www.jsonrpc.org/specification) je bezstavový, odlehčený protokol pro vzdálené volání procedur (RPC). Definuje několik datových struktur a pravidla pro jejich zpracování. Je transportně agnostický, což znamená, že koncepty lze použít v rámci stejného procesu, přes sokety, přes HTTP nebo v mnoha různých prostředích pro předávání zpráv. Jako datový formát používá JSON (RFC 4627).
+
+## Implementace klienta {#client-implementations}
+
+Ethereovští klienti mohou při implementaci specifikace JSON-RPC používat různé programovací jazyky. Další podrobnosti týkající se konkrétních programovacích jazyků naleznete v dokumentaci jednotlivých [klientů](/developers/docs/nodes-and-clients/#execution-clients). Doporučujeme vám projít si dokumentaci každého klienta pro nejnovější informace o podpoře API.
+
+## Knihovny usnadňující práci {#convenience-libraries}
+
+I když se můžete rozhodnout přímo komunikovat s ethereovskými klienty přes JSON-RPC API, pro vývojáře dappek existují často jednodušší možnosti. Existuje mnoho knihoven pro [JavaScript](/developers/docs/apis/javascript/#available-libraries) a [backendové API](/developers/docs/apis/backend/#available-libraries), které poskytují obálky nad rozhraním JSON-RPC API. S těmito knihovnami mohou vývojáři psát intuitivní, jednorázové metody ve zvoleném programovacím jazyce, které (pod kapotou) inicializují JSON-RPC požadavky a interagují s Ethereem.
+
+## API konsensuálních klientů {#consensus-clients}
+
+Tato stránka se zabývá především JSON-RPC API používaným exekučními klienty Etherea. Nicméně, konsensuální klienti také mají RPC API, které umožňuje uživatelům dotazovat se na informace o síťovém uzlu, žádat Beacon bloky, stav Beaconu a další informace související s konsensem přímo ze síťového uzlu. Toto API je zdokumentováno na [webové stránce Beacon API](https://ethereum.github.io/beacon-APIs/#/).
+
+Interní API se také používá pro komunikaci mezi klienty v rámci síťového uzlu - tedy umožňuje konsensuálnímu klientovi a exekučnímu klientovi vyměňovat si data. Tomuto se říká „Engine API“ a specifikace jsou dostupné na [GitHubu](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).
+
+## Specifikace exekučního klienta {#spec}
+
+[Přečtěte si celou specifikaci JSON-RPC API na GitHubu](https://github.com/ethereum/execution-apis). Toto API je zdokumentováno na [webové stránce Execution API](https://ethereum.github.io/execution-apis/) a obsahuje inspektor, který vám umožní vyzkoušet si všechny dostupné metody.
+
+## Konvence {#conventions}
+
+### Kódování šestnáctkových hodnot {#hex-encoding}
+
+Přes JSON jsou přenášeny dva klíčové datové typy: neformátovaná pole bajtů a množství. Oba jsou přenášeny s hex kódováním, ale s různými požadavky na formátování.
+
+#### Množství {#quantities-encoding}
+
+Pokud kódujete množství (integery, čísla): Kódujte jako hex, předpona "0x", nejkompaktnější reprezentace (mírná výjimka: nula by měla být reprezentována jako "0x0").
+
+Zde je několik příkladů:
+
+- 0x41 (65 v desítkové soustavě)
+- 0x400 (1024 v desítkové soustavě)
+- ŠPATNĚ: 0x (vždy by mělo být alespoň jedno číslo - nula je "0x0")
+- ŠPATNĚ: 0x0400 (nejsou povoleny žádné nuly na začátku)
+- ŠPATNĚ: ff (musí mít předponu 0x)
+
+### Neformátovaná data {#unformatted-data-encoding}
+
+Při kódování neformátovaných dat (pole bajtů, adresy účtů, hashe, pole bytecode): Kódujte jako hex, předpona "0x", dva hexadecimální znaky na bajt.
+
+Zde je několik příkladů:
+
+- 0x41 (velikost 1, "A")
+- 0x004200 (velikost 3, "0B0")
+- 0x (velikost 0, "")
+- ŠPATNĚ: 0xf0f0f (musí být sudý počet znaků)
+- ŠPATNĚ: 004200 (musí mít předponu 0x)
+
+### Parametr bloku {#block-parameter}
+
+Následující metody mají parametr bloku:
+
+- [eth_getBalance](#eth_getbalance)
+- [eth_getCode](#eth_getcode)
+- [eth_getTransactionCount](#eth_gettransactioncount)
+- [eth_getStorageAt](#eth_getstorageat)
+- [eth_call](#eth_call)
+
+Když jsou podány požadavky, které se dotazují na stav Etherea, zadaný parametr bloku určuje jeho výšku.
+
+Pro parametr bloku jsou možné následující možnosti:
+
+- `HEX String` – celé číslo bloku
+- `String "earliest"` pro nejstarší/genesis blok
+- `String "latest"` – pro poslední navržený blok
+- `String "safe"` – pro poslední bezpečný hlavní blok
+- `String "finalized"` – pro poslední finalizovaný blok
+- `String "pending"` – pro nevyřízený stav/transakce
+
+## Příklady
+
+Na této stránce poskytujeme příklady použití jednotlivých koncových bodů JSON_RPC API pomocí nástroje příkazového řádku [curl](https://curl.se). Tyto jednotlivé příklady koncových bodů naleznete níže v sekci [Příklady s curl](#curl-examples). Dále na stránce také poskytujeme [kompletní příklad](#usage-example) kompilace a nasazení chytrého kontraktu pomocí uzlu Geth, rozhraní JSON_RPC API a curl.
+
+## Příklady s curl {#curl-examples}
+
+Níže jsou uvedeny příklady použití rozhraní JSON_RPC API prostřednictvím požadavků [curl](https://curl.se) na uzel Ethereum. Každý příklad
+obsahuje popis konkrétního endpointu, jeho parametrů, návratového typu a konkrétní příklad, jak by měl být použit.
+
+Požadavky curl mohou vrátit chybovou zprávu týkající se typu obsahu. Důvodem je to, že volba `--data` nastavuje typ obsahu na `application/x-www-form-urlencoded`. Pokud si váš uzel na toto stěžuje, nastavte hlavičku ručně umístěním `-H "Content-Type: application/json"` na začátek volání. Příklady také nezahrnují kombinaci URL/IP adresy a portu, která musí být posledním argumentem předaným příkazu curl (např. `127.0.0.1:8545`). Kompletní požadavek curl včetně těchto údajů má následující podobu:
+
+```shell
+curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' 127.0.0.1:8545
+```
+
+## Šíření informací, stav, historie {#gossip-state-history}
+
+Několik základních metod JSON-RPC vyžaduje data ze sítě Ethereum a přehledně se dělí do tří hlavních kategorií: _šíření informací, stav a historie_. Pomocí odkazů v těchto sekcích můžete přejít na jednotlivé metody, nebo použít obsah pro prozkoumání kompletního seznamu metod.
+
+### Metody šíření informací {#gossip-methods}
+
+> Tyto metody sledují hlavičku řetězce. Takto se transakce šíří po síti, dostávají se do bloků a takto se také klienti dozvídají o nových blocích.
+
+- [eth_blockNumber](#eth_blocknumber)
+- [eth_sendRawTransaction](#eth_sendrawtransaction)
+
+### Metody stavu {#state_methods}
+
+> Metody, které informují o aktuálním stavu všech uložených dat. "Stav" je jako jeden velký sdílený kus RAM a zahrnuje zůstatky účtů, data kontraktů a odhady spotřeby paliva.
+
+- [eth_getBalance](#eth_getbalance)
+- [eth_getStorageAt](#eth_getstorageat)
+- [eth_getTransactionCount](#eth_gettransactioncount)
+- [eth_getCode](#eth_getcode)
+- [eth_call](#eth_call)
+- [eth_estimateGas](#eth_estimategas)
+
+### Metody historie {#history_methods}
+
+> Získávají historické záznamy o každém bloku až po genesis. Představte si je jako jeden velký soubor pouze pro přidávání, který obsahuje všechny hlavičky bloků, těla bloků, uncle bloky a stvrzenky transakcí.
+
+- [eth_getBlockTransactionCountByHash](#eth_getblocktransactioncountbyhash)
+- [eth_getBlockTransactionCountByNumber](#eth_getblocktransactioncountbynumber)
+- [eth_getUncleCountByBlockHash](#eth_getunclecountbyblockhash)
+- [eth_getUncleCountByBlockNumber](#eth_getunclecountbyblocknumber)
+- [eth_getBlockByHash](#eth_getblockbyhash)
+- [eth_getBlockByNumber](#eth_getblockbynumber)
+- [eth_getTransactionByHash](#eth_gettransactionbyhash)
+- [eth_getTransactionByBlockHashAndIndex](#eth_gettransactionbyblockhashandindex)
+- [eth_getTransactionByBlockNumberAndIndex](#eth_gettransactionbyblocknumberandindex)
+- [eth_getTransactionReceipt](#eth_gettransactionreceipt)
+- [eth_getUncleByBlockHashAndIndex](#eth_getunclebyblockhashandindex)
+- [eth_getUncleByBlockNumberAndIndex](#eth_getunclebyblocknumberandindex)
+
+## JSON-RPC API Playground
+
+K prozkoumání a vyzkoušení metod API můžete použít [nástroj playground](https://ethereum-json-rpc.com). Ukazuje vám také, které metody a sítě jsou podporovány různými poskytovateli síťových uzlů.
+
+## Metody rozhraní JSON-RPC API {#json-rpc-methods}
+
+### web3_clientVersion {#web3_clientversion}
+
+Vrací aktuální verzi klienta.
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`String` – aktuální verze klienta
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}'
+// Result
+{
+ "id":67,
+ "jsonrpc":"2.0",
+ "result": "Geth/v1.12.1-stable/linux-amd64/go1.19.1"
+}
+```
+
+### web3_sha3 {#web3_sha3}
+
+Vrátí haš Keccak-256 (nikoli standardizovaný SHA3-256) z daných dat.
+
+**Parametry**
+
+1. `DATA` – data, která mají být převedena na haš SHA3
+
+```js
+params: ["0x68656c6c6f20776f726c64"]
+```
+
+**Návratová hodnota**
+
+`DATA` – výsledek haše SHA3 daného řetězce.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"web3_sha3","params":["0x68656c6c6f20776f726c64"],"id":64}'
+// Result
+{
+ "id":64,
+ "jsonrpc": "2.0",
+ "result": "0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad"
+}
+```
+
+### net_version {#net_version}
+
+Vrací ID aktuální sítě.
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`String` – ID aktuální sítě.
+
+Úplný seznam aktuálních ID sítí je k dispozici na [chainlist.org](https://chainlist.org). Některé běžné jsou:
+
+- `1`: Ethereum Mainnet
+- `11155111`: testnet Sepolia
+- `560048` : Hoodi Testnet
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":67}'
+// Result
+{
+ "id":67,
+ "jsonrpc": "2.0",
+ "result": "3"
+}
+```
+
+### net_listening {#net_listening}
+
+Vrátí `true`, pokud klient aktivně naslouchá síťovým připojením.
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`Boolean` – `true`, když naslouchá, jinak `false`.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"net_listening","params":[],"id":67}'
+// Result
+{
+ "id":67,
+ "jsonrpc":"2.0",
+ "result":true
+}
+```
+
+### net_peerCount {#net_peercount}
+
+Vrací počet peerů, kteří jsou aktuálně připojeni ke klientovi.
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`QUANTITY` – celé číslo počtu připojených peerů.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":74}'
+// Result
+{
+ "id":74,
+ "jsonrpc": "2.0",
+ "result": "0x2" // 2
+}
+```
+
+### eth_protocolVersion {#eth_protocolversion}
+
+Vrátí aktuální verzi protokolu Ethereum. Upozorňujeme, že tato metoda [není v Gethu dostupná](https://github.com/ethereum/go-ethereum/pull/22064#issuecomment-788682924).
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`String` – aktuální verze protokolu Ethereum
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_protocolVersion","params":[],"id":67}'
+// Result
+{
+ "id":67,
+ "jsonrpc": "2.0",
+ "result": "54"
+}
+```
+
+### eth_syncing {#eth_syncing}
+
+Vrátí objekt s daty o stavu synchronizace nebo `false`.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+Přesná návratová data se liší mezi implementacemi klientů. Všichni klienti vracejí `False`, když se uzel nesynchronizuje, a všichni klienti vracejí následující pole.
+
+`Object|Boolean`, Objekt s daty o stavu synchronizace nebo `FALSE`, když nesynchronizuje:
+
+- `startingBlock`: `QUANTITY` – blok, u kterého import začal (resetuje se pouze po dosažení hlavičky synchronizace)
+- `currentBlock`: `QUANTITY` – aktuální blok, stejné jako eth_blockNumber
+- `highestBlock`: `QUANTITY` – odhadovaný nejvyšší blok
+
+Individuální klienti mohou také poskytovat další data. Například Geth vrací následující:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "currentBlock": "0x3cf522",
+ "healedBytecodeBytes": "0x0",
+ "healedBytecodes": "0x0",
+ "healedTrienodes": "0x0",
+ "healingBytecode": "0x0",
+ "healingTrienodes": "0x0",
+ "highestBlock": "0x3e0e41",
+ "startingBlock": "0x3cbed5",
+ "syncedAccountBytes": "0x0",
+ "syncedAccounts": "0x0",
+ "syncedBytecodeBytes": "0x0",
+ "syncedBytecodes": "0x0",
+ "syncedStorage": "0x0",
+ "syncedStorageBytes": "0x0"
+ }
+}
+```
+
+Zatímco Besu vrací:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 51,
+ "result": {
+ "startingBlock": "0x0",
+ "currentBlock": "0x1518",
+ "highestBlock": "0x9567a3",
+ "pulledStates": "0x203ca",
+ "knownStates": "0x200636"
+ }
+}
+```
+
+Další podrobnosti naleznete v dokumentaci pro vašeho konkrétního klienta.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": {
+ startingBlock: '0x384',
+ currentBlock: '0x386',
+ highestBlock: '0x454'
+ }
+}
+// Or when not syncing
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": false
+}
+```
+
+### eth_coinbase {#eth_coinbase}
+
+Vrátí klientskou adresu coinbase.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+> **Poznámka:** Tato metoda je od verze **v1.14.0** zastaralá a již není podporována. Pokus o použití této metody bude mít za následek chybu „Metoda není podporována“.
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`DATA`, 20 bajtů – aktuální coinbase adresa.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":64}'
+// Result
+{
+ "id":64,
+ "jsonrpc": "2.0",
+ "result": "0x407d73d8a49eeb85d32cf465507dd71d507100c1"
+}
+```
+
+### eth_chainId {#eth_chainId}
+
+Vrátí ID řetězce používané pro podepisování transakcí chráněných proti opakování.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`chainId`, šestnáctková hodnota jako řetězec představující celé číslo ID aktuálního řetězce.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":67}'
+// Result
+{
+ "id":67,
+ "jsonrpc": "2.0",
+ "result": "0x1"
+}
+```
+
+### eth_mining {#eth_mining}
+
+Vrátí `true`, pokud klient aktivně těží nové bloky. Toto může vrátit `true` pouze pro sítě proof-of-work a v některých klientech nemusí být po [sloučení](/roadmap/merge/) k dispozici.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`Boolean` – vrátí `true`, pokud klient těží, jinak `false`.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":71}'
+//
+{
+ "id":71,
+ "jsonrpc": "2.0",
+ "result": true
+}
+```
+
+### eth_hashrate {#eth_hashrate}
+
+Vrátí počet hashů za sekundu, se kterými uzel těží. Toto může vrátit `true` pouze pro sítě proof-of-work a v některých klientech nemusí být po [sloučení](/roadmap/merge/) k dispozici.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`QUANTITY` – počet hašů za sekundu.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":71}'
+// Result
+{
+ "id":71,
+ "jsonrpc": "2.0",
+ "result": "0x38a"
+}
+```
+
+### eth_gasPrice {#eth_gasprice}
+
+Vrací odhad aktuální ceny za palivo v jednotkách wei. Například klient Besu zkoumá posledních 100 bloků a vrací mediánovou cenu za jednotku paliva ve výchozím nastavení.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`QUANTITY` – celé číslo aktuální ceny gasu ve wei.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'
+// Result
+{
+ "id":73,
+ "jsonrpc": "2.0",
+ "result": "0x1dfd14000" // 8049999872 Wei
+}
+```
+
+### eth_accounts {#eth_accounts}
+
+Vrátí seznam adres, které klient vlastní.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`Pole DATA`, 20 bajtů – adresy vlastněné klientem.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1"]
+}
+```
+
+### eth_blockNumber {#eth_blocknumber}
+
+Vrací číslo nejnovějšího bloku.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+Žádná
+
+**Návratová hodnota**
+
+`QUANTITY` – celé číslo aktuálního čísla bloku, na kterém se klient nachází.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":83}'
+// Result
+{
+ "id":83,
+ "jsonrpc": "2.0",
+ "result": "0x4b7" // 1207
+}
+```
+
+### eth_getBalance {#eth_getbalance}
+
+Vrací zůstatek účtu na dané adrese.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `DATA`, 20 bajtů – adresa pro kontrolu zůstatku.
+2. `QUANTITY|TAG` – celé číslo bloku nebo řetězec `"latest"`, `"earliest"`, `"pending"`, `"safe"` nebo `"finalized"`, viz [parametr bloku](/developers/docs/apis/json-rpc/#block-parameter)
+
+```js
+params: ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]
+```
+
+**Návratová hodnota**
+
+`QUANTITY` – celé číslo aktuálního zůstatku ve wei.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x0234c8a3397aab58" // 158972490234375000
+}
+```
+
+### eth_getStorageAt {#eth_getstorageat}
+
+Vrátí hodnotu z pozice v úložišti na dané adrese.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `DATA`, 20 bajtů – adresa úložiště.
+2. `QUANTITY` – celé číslo pozice v úložišti.
+3. `QUANTITY|TAG` – celé číslo bloku nebo řetězec `"latest"`, `"earliest"`, `"pending"`, `"safe"`, `"finalized"`, viz [parametr bloku](/developers/docs/apis/json-rpc/#block-parameter)
+
+**Návratová hodnota**
+
+`DATA` – hodnota na této pozici v úložišti.
+
+**Příklad**
+Výpočet správné pozice závisí na úložišti, které se má načíst. Zvažte následující kontrakt nasazený na adrese `0x295a70b2de5e3953354a6a8344e616ed314d7251` adresou `0x391694e7e0b0cce554cb130d723a9d27458f9298`.
+
+```
+contract Storage {
+ uint pos0;
+ mapping(address => uint) pos1;
+ constructor() {
+ pos0 = 1234;
+ pos1[msg.sender] = 5678;
+ }
+}
+```
+
+Získání hodnoty pos0 je přímočaré:
+
+```js
+curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545
+{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"}
+```
+
+Načtení prvku mapy je obtížnější. Pozice prvku v mapě se vypočítá pomocí:
+
+```js
+keccak(LeftPad32(key, 0), LeftPad32(map position, 0))
+```
+
+To znamená, že pro načtení úložiště na pos1["0x391694e7e0b0cce554cb130d723a9d27458f9298"] musíme vypočítat pozici pomocí:
+
+```js
+keccak(
+ decodeHex(
+ "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" +
+ "0000000000000000000000000000000000000000000000000000000000000001"
+ )
+)
+```
+
+Konzole Geth, která je dodávána s knihovnou web3, může být použita k provedení výpočtu:
+
+```js
+> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"
+undefined
+> web3.sha3(key, {"encoding": "hex"})
+"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9"
+```
+
+Nyní načteme úložiště:
+
+```js
+curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545
+{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"}
+```
+
+### eth_getTransactionCount {#eth_gettransactioncount}
+
+Vrátí počet transakcí _odeslaných_ z adresy.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `DATA`, 20 bajtů – adresa.
+2. `QUANTITY|TAG` – celé číslo bloku nebo řetězec `"latest"`, `"earliest"`, `"pending"`, `"safe"` nebo `"finalized"`, viz [parametr bloku](/developers/docs/apis/json-rpc/#block-parameter)
+
+```js
+params: [
+ "0x407d73d8a49eeb85d32cf465507dd71d507100c1",
+ "latest", // stav v posledním bloku
+]
+```
+
+**Návratová hodnota**
+
+`QUANTITY` - celé číslo udávající počet transakcí odeslaných z této adresy.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1","latest"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x1" // 1
+}
+```
+
+### eth_getBlockTransactionCountByHash {#eth_getblocktransactioncountbyhash}
+
+Vrátí počet transakcí v bloku, který odpovídá danému haši bloku.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `DATA`, 32 bajtů – haš bloku
+
+```js
+params: ["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"]
+```
+
+**Návratová hodnota**
+
+`QUANTITY` – celé číslo počtu transakcí v tomto bloku.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x8b" // 139
+}
+```
+
+### eth_getBlockTransactionCountByNumber {#eth_getblocktransactioncountbynumber}
+
+Vrátí počet transakcí v bloku odpovídajícím danému číslu bloku.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `QUANTITY|TAG` – celé číslo čísla bloku nebo řetězec `"earliest"`, `"latest"`, `"pending"`, `"safe"` nebo `"finalized"`, jako v [parametru bloku](/developers/docs/apis/json-rpc/#block-parameter).
+
+```js
+params: [
+ "0x13738ca", // 20396234
+]
+```
+
+**Návratová hodnota**
+
+`QUANTITY` – celé číslo počtu transakcí v tomto bloku.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0x13738ca"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x8b" // 139
+}
+```
+
+### eth_getUncleCountByBlockHash {#eth_getunclecountbyblockhash}
+
+Vrátí počet strýčkovských bloků v bloku odpovídajícím danému haši bloku.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `DATA`, 32 bajtů – haš bloku
+
+```js
+params: ["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"]
+```
+
+**Návratová hodnota**
+
+`QUANTITY` – celé číslo počtu strýčkovských bloků v tomto bloku.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x1" // 1
+}
+```
+
+### eth_getUncleCountByBlockNumber {#eth_getunclecountbyblocknumber}
+
+Vrátí počet strýčkovských bloků v bloku odpovídajícím danému číslu bloku.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `QUANTITY|TAG` – celé číslo čísla bloku nebo řetězec `"latest"`, `"earliest"`, `"pending"`, `"safe"` nebo `"finalized"`, viz [parametr bloku](/developers/docs/apis/json-rpc/#block-parameter)
+
+```js
+params: [
+ "0xe8", // 232
+]
+```
+
+**Návratová hodnota**
+
+`QUANTITY` – celé číslo počtu strýčkovských bloků v tomto bloku.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber","params":["0xe8"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x0" // 0
+}
+```
+
+### eth_getCode {#eth_getcode}
+
+Vrátí kód na dané adrese.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `DATA`, 20 bajtů – adresa
+2. `QUANTITY|TAG` – celé číslo bloku nebo řetězec `"latest"`, `"earliest"`, `"pending"`, `"safe"` nebo `"finalized"`, viz [parametr bloku](/developers/docs/apis/json-rpc/#block-parameter)
+
+```js
+params: [
+ "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
+ "0x5daf3b", // 6139707
+]
+```
+
+**Návratová hodnota**
+
+`DATA` – kód z dané adresy.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "0x5daf3b"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x6060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a0029"
+}
+```
+
+### eth_sign {#eth_sign}
+
+Metoda podpisu vypočítá specifický podpis Etherea pomocí: `sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)))`.
+
+Přidáním předpony ke zprávě je vypočtený podpis rozpoznatelný jako specifický podpis Etherea. Tím se zabrání zneužití, kdy může škodlivá dapp podepsat libovolná data (např. transakci) a použít podpis k tomu, aby se vydávala za oběť.
+
+Poznámka: adresa, kterou se má podepsat, musí být odemčena.
+
+**Parametry**
+
+1. `DATA`, 20 bajtů – adresa
+2. `DATA`, N bajtů – zpráva k podepsání
+
+**Návratová hodnota**
+
+`DATA`: Podpis
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sign","params":["0x9b2055d370f73ec7d8a03e965129118dc8f5bf83", "0xdeadbeaf"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
+}
+```
+
+### eth_signTransaction {#eth_signtransaction}
+
+Podepíše transakci, kterou lze později odeslat do sítě pomocí [eth_sendRawTransaction](#eth_sendrawtransaction).
+
+**Parametry**
+
+1. `Object` – objekt transakce
+
+- `type`:
+- `from`: `DATA`, 20 bajtů – adresa, ze které je transakce odeslána.
+- `to`: `DATA`, 20 bajtů – (volitelné při vytváření nového kontraktu) adresa, na kterou je transakce směrována.
+- `gas`: `QUANTITY` – (volitelné, výchozí: 90000) celé číslo gasu poskytnutého pro provedení transakce. Vrátí nevyužitý gas.
+- `gasPrice`: `QUANTITY` – (volitelné, výchozí: bude určeno) celé číslo ceny gasPrice použité pro každý zaplacený gas, ve Wei.
+- `value`: `QUANTITY` – (volitelné) celé číslo hodnoty odeslané s touto transakcí, ve Wei.
+- `data`: `DATA` – zkompilovaný kód kontraktu NEBO haš podpisu vyvolané metody a zakódovaných parametrů.
+- `nonce`: `QUANTITY` – (volitelné) celé číslo nonce. To umožňuje přepsat vlastní nevyřízené transakce, které používají stejný nonce.
+
+**Návratová hodnota**
+
+`DATA`, objekt transakce kódovaný pomocí RLP podepsaný zadaným účtem.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"id": 1,"jsonrpc": "2.0","method": "eth_signTransaction","params": [{"data":"0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675","from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155","gas": "0x76c0","gasPrice": "0x9184e72a000","to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567","value": "0x9184e72a"}]}'
+// Result
+{
+ "id": 1,
+ "jsonrpc": "2.0",
+ "result": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
+}
+```
+
+### eth_sendTransaction {#eth_sendtransaction}
+
+Vytvoří novou transakci volání zprávy nebo vytvoření kontraktu, pokud pole data obsahuje kód, a podepíše ji pomocí účtu uvedeného v `from`.
+
+**Parametry**
+
+1. `Object` – objekt transakce
+
+- `from`: `DATA`, 20 bajtů – adresa, ze které je transakce odeslána.
+- `to`: `DATA`, 20 bajtů – (volitelné při vytváření nového kontraktu) adresa, na kterou je transakce směrována.
+- `gas`: `QUANTITY` – (volitelné, výchozí: 90000) celé číslo gasu poskytnutého pro provedení transakce. Vrátí nevyužitý gas.
+- `gasPrice`: `QUANTITY` – (volitelné, výchozí: bude určeno) celé číslo ceny gasPrice použité pro každý zaplacený gas.
+- `value`: `QUANTITY` – (volitelné) celé číslo hodnoty odeslané s touto transakcí.
+- `input`: `DATA` – zkompilovaný kód kontraktu NEBO haš podpisu vyvolané metody a zakódovaných parametrů.
+- `nonce`: `QUANTITY` – (volitelné) celé číslo nonce. To umožňuje přepsat vlastní nevyřízené transakce, které používají stejný nonce.
+
+```js
+params: [
+ {
+ from: "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
+ to: "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
+ gas: "0x76c0", // 30400
+ gasPrice: "0x9184e72a000", // 10000000000000
+ value: "0x9184e72a", // 2441406250
+ input:
+ "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
+ },
+]
+```
+
+**Návratová hodnota**
+
+`DATA`, 32 bajtů – haš transakce, nebo nulový haš, pokud transakce ještě není k dispozici.
+
+Použijte [eth_getTransactionReceipt](#eth_gettransactionreceipt) pro získání adresy kontraktu poté, co byla transakce navržena v bloku, když jste vytvořili kontrakt.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{see above}],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
+}
+```
+
+### eth_sendRawTransaction {#eth_sendrawtransaction}
+
+Vytvoří novou transakci volání zprávy nebo vytvoření kontraktu pro podepsané transakce.
+
+**Parametry**
+
+1. `DATA`, podepsaná data transakce.
+
+```js
+params: [
+ "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
+]
+```
+
+**Návratová hodnota**
+
+`DATA`, 32 bajtů – haš transakce, nebo nulový haš, pokud transakce ještě není k dispozici.
+
+Použijte [eth_getTransactionReceipt](#eth_gettransactionreceipt) pro získání adresy kontraktu poté, co byla transakce navržena v bloku, když jste vytvořili kontrakt.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":[{see above}],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
+}
+```
+
+### eth_call {#eth_call}
+
+Okamžitě provede nové volání zprávy bez vytvoření transakce na blockchainu. Často se používá pro provádění funkcí chytrých kontraktů pouze pro čtení, například `balanceOf` pro kontrakt ERC-20.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `Object` – objekt volání transakce
+
+- `from`: `DATA`, 20 bajtů – (volitelné) adresa, ze které je transakce odeslána.
+- `to`: `DATA`, 20 bajtů – adresa, na kterou je transakce směrována.
+- `gas`: `QUANTITY` – (volitelné) celé číslo gasu poskytnutého pro provedení transakce. eth_call spotřebovává nulový gas, ale tento parametr může být potřebný pro některá provedení.
+- `gasPrice`: `QUANTITY` – (volitelné) celé číslo ceny gasu (gasPrice) použité pro každý zaplacený gas
+- `value`: `QUANTITY` – (volitelné) celé číslo hodnoty odeslané s touto transakcí
+- `input`: `DATA` – (volitelné) haš podpisu metody a zakódovaných parametrů. Podrobnosti naleznete v [dokumentaci Solidity o ABI kontraktu Etherea](https://docs.soliditylang.org/en/latest/abi-spec.html).
+
+2. `QUANTITY|TAG` – celé číslo bloku nebo řetězec `"latest"`, `"earliest"`, `"pending"`, `"safe"` nebo `"finalized"`, viz [parametr bloku](/developers/docs/apis/json-rpc/#block-parameter)
+
+**Návratová hodnota**
+
+`DATA` – návratová hodnota provedeného kontraktu.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{see above}],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x"
+}
+```
+
+### eth_estimateGas {#eth_estimategas}
+
+Generuje a vrací odhad, kolik gasu je nutné k dokončení transakce. Transakce nebude přidána do blockchainu. Všimněte si, že odhad může být výrazně vyšší než množství gasu skutečně spotřebovaného transakcí, a to z různých důvodů, včetně mechaniky EVM a výkonu uzlu.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+Viz parametry [eth_call](#eth_call) s tím rozdílem, že všechny vlastnosti jsou volitelné. Pokud není zadán žádný limit transakčních poplatků, Geth použije jako horní hranici limit transakčních poplatků bloku z nevyřízeného bloku. V důsledku toho vrácený odhad nemusí být dostatečný k provedení volání/transakce, pokud je množství paliva vyšší než limit transakčních poplatků nevyřízeného bloku.
+
+**Návratová hodnota**
+
+`QUANTITY` – množství spotřebovaného gasu.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{see above}],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x5208" // 21000
+}
+```
+
+### eth_getBlockByHash {#eth_getblockbyhash}
+
+Vrátí informace o bloku podle haše.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `DATA`, 32 bajtů – haš bloku.
+2. `Boolean` – pokud `true`, vrátí celé objekty transakcí, pokud `false`, vrátí pouze haše transakcí.
+
+```js
+params: [
+ "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
+ false,
+]
+```
+
+**Návratová hodnota**
+
+`Object` – objekt bloku, nebo `null`, pokud nebyl nalezen žádný blok:
+
+- `number`: `QUANTITY` – číslo bloku. `null`, pokud se jedná o nevyřízený blok.
+- `hash`: `DATA`, 32 bajtů – haš bloku. `null`, pokud se jedná o nevyřízený blok.
+- `parentHash`: `DATA`, 32 bajtů – haš rodičovského bloku.
+- `nonce`: `DATA`, 8 bajtů – haš vygenerovaného proof-of-work. `null` pro nevyřízený blok, `0x0` pro bloky proof-of-stake (od sloučení)
+- `sha3Uncles`: `DATA`, 32 bajtů – SHA3 dat strýčkovských bloků v bloku.
+- `logsBloom`: `DATA`, 256 bajtů – bloom filtr pro záznamy bloku. `null`, pokud se jedná o nevyřízený blok.
+- `transactionsRoot`: `DATA`, 32 bajtů – kořen trie transakcí bloku.
+- `stateRoot`: `DATA`, 32 bajtů – kořen konečného stavového trie bloku.
+- `receiptsRoot`: `DATA`, 32 bajtů – kořen trie potvrzení bloku.
+- `miner`: `DATA`, 20 bajtů – adresa příjemce, kterému byly uděleny odměny za blok.
+- `difficulty`: `QUANTITY` – celé číslo obtížnosti tohoto bloku.
+- `totalDifficulty`: `QUANTITY` – celé číslo celkové obtížnosti řetězce až do tohoto bloku.
+- `extraData`: `DATA` – pole „extra data“ tohoto bloku.
+- `size`: `QUANTITY` – celé číslo velikosti tohoto bloku v bajtech.
+- `gasLimit`: `QUANTITY` – maximální povolený gas v tomto bloku.
+- `gasUsed`: `QUANTITY` – celkový spotřebovaný gas všemi transakcemi v tomto bloku.
+- `timestamp`: `QUANTITY` – časové razítko unixu pro okamžik, kdy byl blok seřazen.
+- `transactions`: `Pole` – pole objektů transakcí nebo 32bajtových hašů transakcí v závislosti na posledním zadaném parametru.
+- `uncles`: `Pole` – pole hašů strýčkovských bloků.
+
+**Příklad**
+
+```js
+// Požadavek
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByHash","params":["0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae", false],"id":1}'
+// Výsledek
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "difficulty": "0x4ea3f27bc",
+ "extraData": "0x476574682f4c5649562f76312e302e302f6c696e75782f676f312e342e32",
+ "gasLimit": "0x1388",
+ "gasUsed": "0x0",
+ "hash": "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "miner": "0xbb7b8287f3f0a933474a79eae42cbca977791171",
+ "mixHash": "0x4fffe9ae21f1c9e15207b1f472d5bbdd68c9595d461666602f2be20daf5e7843",
+ "nonce": "0x689056015818adbe",
+ "number": "0x1b4",
+ "parentHash": "0xe99e022112df268087ea7eafaf4790497fd21dbeeb6bd7a1721df161a6657a54",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "size": "0x220",
+ "stateRoot": "0xddc8b0234c2e0cad087c8b389aa7ef01f7d79b2570bccb77ce48648aa61c904d",
+ "timestamp": "0x55ba467c",
+ "totalDifficulty": "0x78ed983323d",
+ "transactions": [
+ ],
+ "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncles": [
+ ]
+ }
+}
+```
+
+### eth_getBlockByNumber {#eth_getblockbynumber}
+
+Vrátí informace o bloku podle čísla bloku.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `QUANTITY|TAG` – celé číslo čísla bloku nebo řetězec `"earliest"`, `"latest"`, `"pending"`, `"safe"` nebo `"finalized"`, jako v [parametru bloku](/developers/docs/apis/json-rpc/#block-parameter).
+2. `Boolean` – pokud `true`, vrátí celé objekty transakcí, pokud `false`, vrátí pouze haše transakcí.
+
+```js
+params: [
+ "0x1b4", // 436
+ true,
+]
+```
+
+**Návratová hodnota**
+Viz [eth_getBlockByHash](#eth_getblockbyhash)
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x1b4", true],"id":1}'
+```
+
+Výsledek viz [eth_getBlockByHash](#eth_getblockbyhash)
+
+### eth_getTransactionByHash {#eth_gettransactionbyhash}
+
+Vrátí informace o transakci požadované podle haše transakce.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `DATA`, 32 bajtů – haš transakce
+
+```js
+params: ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"]
+```
+
+**Návratová hodnota**
+
+`Object` – objekt transakce nebo `null`, pokud nebyla nalezena žádná transakce:
+
+- `blockHash`: `DATA`, 32 bajtů – haš bloku, ve kterém se tato transakce nacházela. `null`, když je nevyřízená.
+- `blockNumber`: `QUANTITY` – číslo bloku, ve kterém se tato transakce nacházela. `null`, když je nevyřízená.
+- `from`: `DATA`, 20 bajtů – adresa odesílatele.
+- `gas`: `QUANTITY` – gas poskytnutý odesílatelem.
+- `gasPrice`: `QUANTITY` – cena gasu poskytnutá odesílatelem ve Wei.
+- `hash`: `DATA`, 32 bajtů – haš transakce.
+- `input`: `DATA` – data odeslaná spolu s transakcí.
+- `nonce`: `QUANTITY` – počet transakcí provedených odesílatelem před touto.
+- `to`: `DATA`, 20 bajtů – adresa příjemce. `null`, pokud se jedná o transakci vytvoření kontraktu.
+- `transactionIndex`: `QUANTITY` – celé číslo pozice indexu transakcí v bloku. `null`, když je nevyřízená.
+- `value`: `QUANTITY` – převedená hodnota ve Wei.
+- `v`: `QUANTITY` – ID pro obnovení ECDSA
+- `r`: `QUANTITY` – ECDSA podpis r
+- `s`: `QUANTITY` – ECDSA podpis s
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"],"id":1}'
+// Result
+{
+ "jsonrpc":"2.0",
+ "id":1,
+ "result":{
+ "blockHash":"0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
+ "blockNumber":"0x5daf3b", // 6139707
+ "from":"0xa7d9ddbe1f17865597fbd27ec712455208b6b76d",
+ "gas":"0xc350", // 50000
+ "gasPrice":"0x4a817c800", // 20000000000
+ "hash":"0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b",
+ "input":"0x68656c6c6f21",
+ "nonce":"0x15", // 21
+ "to":"0xf02c1c8e6114b1dbe8937a39260b5b0a374432bb",
+ "transactionIndex":"0x41", // 65
+ "value":"0xf3dbb76162000", // 4290000000000000
+ "v":"0x25", // 37
+ "r":"0x1b5e176d927f8e9ab405058b2d2457392da3e20f328b16ddabcebc33eaac5fea",
+ "s":"0x4ba69724e8f69de52f0125ad8b3c5c2cef33019bac3249e2c0a2192766d1721c"
+ }
+}
+```
+
+### eth_getTransactionByBlockHashAndIndex {#eth_gettransactionbyblockhashandindex}
+
+Vrátí informace o transakci podle haše bloku a pozice indexu transakce.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `DATA`, 32 bajtů – haš bloku.
+2. `QUANTITY` – celé číslo pozice indexu transakce.
+
+```js
+params: [
+ "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
+ "0x0", // 0
+]
+```
+
+**Návratová hodnota**
+Viz [eth_getTransactionByHash](#eth_gettransactionbyhash)
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}'
+```
+
+Výsledek viz [eth_getTransactionByHash](#eth_gettransactionbyhash)
+
+### eth_getTransactionByBlockNumberAndIndex {#eth_gettransactionbyblocknumberandindex}
+
+Vrátí informace o transakci podle čísla bloku a pozice indexu transakce.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `QUANTITY|TAG` – číslo bloku nebo řetězec `"earliest"`, `"latest"`, `"pending"`, `"safe"` nebo `"finalized"`, jako v [parametru bloku](/developers/docs/apis/json-rpc/#block-parameter).
+2. `QUANTITY` – pozice indexu transakce.
+
+```js
+params: [
+ "0x9c47cf", // 10241999
+ "0x24", // 36
+]
+```
+
+**Návratová hodnota**
+Viz [eth_getTransactionByHash](#eth_gettransactionbyhash)
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockNumberAndIndex","params":["0x9c47cf", "0x24"],"id":1}'
+```
+
+Výsledek viz [eth_getTransactionByHash](#eth_gettransactionbyhash)
+
+### eth_getTransactionReceipt {#eth_gettransactionreceipt}
+
+Vrátí potvrzení o transakci podle haše transakce.
+
+**Poznámka:** Potvrzení není k dispozici pro nevyřízené transakce.
+
+**Parametry**
+
+1. `DATA`, 32 bajtů – haš transakce
+
+```js
+params: ["0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5"]
+```
+
+**Návratová hodnota**
+`Object` – objekt potvrzení transakce, nebo `null`, pokud nebylo nalezeno žádné potvrzení:
+
+- `transactionHash `: `DATA`, 32 bajtů – haš transakce.
+- `transactionIndex`: `QUANTITY` – celé číslo pozice indexu transakcí v bloku.
+- `blockHash`: `DATA`, 32 bajtů – haš bloku, ve kterém se tato transakce nacházela.
+- `blockNumber`: `QUANTITY` – číslo bloku, ve kterém se tato transakce nacházela.
+- `from`: `DATA`, 20 bajtů – adresa odesílatele.
+- `to`: `DATA`, 20 bajtů – adresa příjemce. `null`, pokud se jedná o transakci vytvoření kontraktu.
+- `cumulativeGasUsed` : `QUANTITY ` – celkové množství gasu spotřebovaného při provedení této transakce v bloku.
+- `effectiveGasPrice` : `QUANTITY` – součet základního poplatku a spropitného zaplaceného za jednotku gasu.
+- `gasUsed `: `QUANTITY ` – množství gasu spotřebovaného pouze touto konkrétní transakcí.
+- `contractAddress `: `DATA`, 20 bajtů – adresa vytvořeného kontraktu, pokud se jednalo o transakci vytvoření kontraktu, jinak `null`.
+- `logs`: `Pole` – pole objektů logu, které tato transakce vygenerovala.
+- `logsBloom`: `DATA`, 256 bajtů – bloom filtr pro lehké klienty k rychlému načtení souvisejících záznamů.
+- `type`: `QUANTITY` – celé číslo typu transakce, `0x0` pro starší transakce, `0x1` pro typy se seznamem přístupů, `0x2` pro dynamické poplatky.
+
+Vrátí také _buď_:
+
+- `root`: `DATA` 32 bajtů kořene stavu po transakci (před Byzantium)
+- `status`: `QUANTITY` buď `1` (úspěch), nebo `0` (selhání)
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5"],"id":1}'
+// Result
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "blockHash":
+ "0xa957d47df264a31badc3ae823e10ac1d444b098d9b73d204c40426e57f47e8c3",
+ "blockNumber": "0xeff35f",
+ "contractAddress": null, // řetězec adresy, pokud byla vytvořena
+ "cumulativeGasUsed": "0xa12515",
+ "effectiveGasPrice": "0x5a9c688d4",
+ "from": "0x6221a9c005f6e47eb398fd867784cacfdcfff4e7",
+ "gasUsed": "0xb4c8",
+ "logs": [{
+ // logy vrácené pomocí getFilterLogs atd.
+ }],
+ "logsBloom": "0x00...0", // 256bajtový bloom filtr
+ "status": "0x1",
+ "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
+ "transactionHash":
+ "0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5",
+ "transactionIndex": "0x66",
+ "type": "0x2"
+ }
+}
+```
+
+### eth_getUncleByBlockHashAndIndex {#eth_getunclebyblockhashandindex}
+
+Vrací informace o „uncle“ bloku podle haše a pozice indexu „uncle“.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `DATA`, 32 bajtů – haš bloku.
+2. `QUANTITY` – pozice indexu strýčkovského bloku.
+
+```js
+params: [
+ "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
+ "0x0", // 0
+]
+```
+
+**Návratová hodnota**
+Viz [eth_getBlockByHash](#eth_getblockbyhash)
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}'
+```
+
+Výsledek viz [eth_getBlockByHash](#eth_getblockbyhash)
+
+**Poznámka**: Strýčkovský blok neobsahuje jednotlivé transakce.
+
+### eth_getUncleByBlockNumberAndIndex {#eth_getunclebyblocknumberandindex}
+
+Vrací informace o „uncle“ bloku podle čísla a pozice indexu „uncle“.
+
+
+ Vyzkoušejte koncový bod na playgroundu
+
+
+**Parametry**
+
+1. `QUANTITY|TAG` – číslo bloku nebo řetězec `"earliest"`, `"latest"`, `"pending"`, `"safe"`, `"finalized"`, jako v [parametru bloku](/developers/docs/apis/json-rpc/#block-parameter).
+2. `QUANTITY` – pozice indexu strýčkovského bloku.
+
+```js
+params: [
+ "0x29c", // 668
+ "0x0", // 0
+]
+```
+
+**Návratová hodnota**
+Viz [eth_getBlockByHash](#eth_getblockbyhash)
+
+**Poznámka**: Strýčkovský blok neobsahuje jednotlivé transakce.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockNumberAndIndex","params":["0x29c", "0x0"],"id":1}'
+```
+
+Výsledek viz [eth_getBlockByHash](#eth_getblockbyhash)
+
+### eth_newFilter {#eth_newfilter}
+
+Vytvoří objekt filtru na základě možností filtru, který upozorní na změnu stavu (záznamy).
+Chcete-li zkontrolovat, zda se stav změnil, zavolejte [eth_getFilterChanges](#eth_getfilterchanges).
+
+**Poznámka k zadávání filtrů témat:**
+Témata jsou závislá na pořadí. Transakce s logem s tématy [A, B] bude odpovídat následujícím filtrům témat:
+
+- `[]` „cokoliv“
+- `[A]` „A na první pozici (a cokoliv dalšího)“
+- `[null, B]` „cokoliv na první pozici A B na druhé pozici (a cokoliv dalšího)“
+- `[A, B]` „A na první pozici A B na druhé pozici (a cokoliv dalšího)“
+- `[[A, B], [A, B]]` „(A NEBO B) na první pozici A (A NEBO B) na druhé pozici (a cokoliv dalšího)“
+- **Parametry**
+
+1. `Object` – možnosti filtru:
+
+- `fromBlock`: `QUANTITY|TAG` – (volitelné, výchozí: `"latest"`) celé číslo bloku, nebo `"latest"` pro poslední navržený blok, `"safe"` pro poslední bezpečný blok, `"finalized"` pro poslední finalizovaný blok nebo `"pending"`, `"earliest"` pro transakce, které ještě nejsou v bloku.
+- `toBlock`: `QUANTITY|TAG` – (volitelné, výchozí: `"latest"`) celé číslo bloku, nebo `"latest"` pro poslední navržený blok, `"safe"` pro poslední bezpečný blok, `"finalized"` pro poslední finalizovaný blok nebo `"pending"`, `"earliest"` pro transakce, které ještě nejsou v bloku.
+- `address`: `DATA|Pole`, 20 bajtů – (volitelné) adresa kontraktu nebo seznam adres, ze kterých by měly logy pocházet.
+- `topics`: `Pole DATA`, – (volitelné) pole 32bajtových témat `DATA`. Témata jsou závislá na pořadí. Každé téma může být také polem DATA s možnostmi „nebo“.
+
+```js
+params: [
+ {
+ fromBlock: "0x1",
+ toBlock: "0x2",
+ address: "0x8888f1f195afa192cfee860698584c030f4c9db1",
+ topics: [
+ "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ null,
+ [
+ "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x0000000000000000000000000aff3454fce5edbc8cca8697c15331677e6ebccc",
+ ],
+ ],
+ },
+]
+```
+
+**Návratová hodnota**
+`QUANTITY` – ID filtru.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics":["0x12341234"]}],"id":73}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x1" // 1
+}
+```
+
+### eth_newBlockFilter {#eth_newblockfilter}
+
+Vytvoří v uzlu filtr, který upozorní na příchod nového bloku.
+Chcete-li zkontrolovat, zda se stav změnil, zavolejte [eth_getFilterChanges](#eth_getfilterchanges).
+
+**Parametry**
+Žádné
+
+**Návratová hodnota**
+`QUANTITY` – ID filtru.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":73}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x1" // 1
+}
+```
+
+### eth_newPendingTransactionFilter {#eth_newpendingtransactionfilter}
+
+Vytvoří v uzlu filtr, který upozorní na příchod nových nevyřízených transakcí.
+Chcete-li zkontrolovat, zda se stav změnil, zavolejte [eth_getFilterChanges](#eth_getfilterchanges).
+
+**Parametry**
+Žádné
+
+**Návratová hodnota**
+`QUANTITY` – ID filtru.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":73}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x1" // 1
+}
+```
+
+### eth_uninstallFilter {#eth_uninstallfilter}
+
+Odinstaluje filtr s daným ID. Mělo by být vždy voláno, když již není potřeba sledování.
+Filtry navíc vyprší, pokud nejsou po určitou dobu požadovány pomocí [eth_getFilterChanges](#eth_getfilterchanges).
+
+**Parametry**
+
+1. `QUANTITY` – ID filtru.
+
+```js
+params: [
+ "0xb", // 11
+]
+```
+
+**Návratová hodnota**
+`Boolean` – `true`, pokud byl filtr úspěšně odinstalován, jinak `false`.
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0xb"],"id":73}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": true
+}
+```
+
+### eth_getFilterChanges {#eth_getfilterchanges}
+
+Dotazovací metoda pro filtr, která vrací pole záznamů, které se objevily od posledního dotazu.
+
+**Parametry**
+
+1. `QUANTITY` – ID filtru.
+
+```js
+params: [
+ "0x16", // 22
+]
+```
+
+**Návratová hodnota**
+`Pole` – pole objektů logů, nebo prázdné pole, pokud se od posledního dotazu nic nezměnilo.
+
+- Pro filtry vytvořené pomocí `eth_newBlockFilter` jsou návratovou hodnotou haše bloků (`DATA`, 32 bajtů), např. `[\"0x3454645634534...\"]`.
+
+- Pro filtry vytvořené pomocí `eth_newPendingTransactionFilter` jsou návratovou hodnotou haše transakcí (`DATA`, 32 bajtů), např. `[\"0x6345343454645...\"]`.
+
+- Pro filtry vytvořené pomocí `eth_newFilter` jsou logy objekty s následujícími parametry:
+ - `removed`: `TAG` – `true`, když byl log odstraněn kvůli reorganizaci řetězce. `false`, pokud se jedná o platný log.
+ - `logIndex`: `QUANTITY` – celé číslo pozice indexu logu v bloku. `null`, pokud se jedná o nevyřízený log.
+ - `transactionIndex`: `QUANTITY` – celé číslo pozice indexu transakcí, ze kterého byl log vytvořen. `null`, pokud se jedná o nevyřízený log.
+ - `transactionHash`: `DATA`, 32 bajtů – haš transakcí, ze kterých byl tento log vytvořen. `null`, pokud se jedná o nevyřízený log.
+ - `blockHash`: `DATA`, 32 bajtů – haš bloku, ve kterém se tento log nacházel. `null`, když je nevyřízená. `null`, pokud se jedná o nevyřízený log.
+ - `blockNumber`: `QUANTITY` – číslo bloku, ve kterém se tento log nacházel. `null`, když je nevyřízená. `null`, pokud se jedná o nevyřízený log.
+ - `address`: `DATA`, 20 bajtů – adresa, ze které tento log pochází.
+ - `data`: `DATA` – neindexovaná data protokolu s proměnnou délkou. (V _solidity_: nula nebo více 32bajtových neindexovaných argumentů protokolu.)
+ - `topics`: `Pole DATA` – pole 0 až 4 32bajtových `DATA` indexovaných argumentů logu. (V _solidity_: První téma je _haš_ podpisu události (např. `Deposit(address,bytes32,uint256)`), pokud jste událost nedeklarovali se specifikátorem `anonymous`.)
+
+- **Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0x16"],"id":73}'
+// Result
+{
+ "id":1,
+ "jsonrpc":"2.0",
+ "result": [{
+ "logIndex": "0x1", // 1
+ "blockNumber":"0x1b4", // 436
+ "blockHash": "0x8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcfdf829c5a142f1fccd7d",
+ "transactionHash": "0xdf829c5a142f1fccd7d8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcf",
+ "transactionIndex": "0x0", // 0
+ "address": "0x16c5785ac562ff41e2dcfdf829c5a142f1fccd7d",
+ "data":"0x0000000000000000000000000000000000000000000000000000000000000000",
+ "topics": ["0x59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a5"]
+ },{
+ ...
+ }]
+}
+```
+
+### eth_getFilterLogs {#eth_getfilterlogs}
+
+Vrátí pole všech logů odpovídajících filtru s daným ID.
+
+**Parametry**
+
+1. `QUANTITY` – ID filtru.
+
+```js
+params: [
+ "0x16", // 22
+]
+```
+
+**Návratová hodnota**
+Viz [eth_getFilterChanges](#eth_getfilterchanges)
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0x16"],"id":74}'
+```
+
+Výsledek viz [eth_getFilterChanges](#eth_getfilterchanges)
+
+### eth_getLogs {#eth_getlogs}
+
+Vrátí pole všech logů odpovídajících danému objektu filtru.
+
+**Parametry**
+
+1. `Object` – možnosti filtru:
+
+- `fromBlock`: `QUANTITY|TAG` – (volitelné, výchozí: `"latest"`) celé číslo bloku, nebo `"latest"` pro poslední navržený blok, `"safe"` pro poslední bezpečný blok, `"finalized"` pro poslední finalizovaný blok nebo `"pending"`, `"earliest"` pro transakce, které ještě nejsou v bloku.
+- `toBlock`: `QUANTITY|TAG` – (volitelné, výchozí: `"latest"`) celé číslo bloku, nebo `"latest"` pro poslední navržený blok, `"safe"` pro poslední bezpečný blok, `"finalized"` pro poslední finalizovaný blok nebo `"pending"`, `"earliest"` pro transakce, které ještě nejsou v bloku.
+- `address`: `DATA|Pole`, 20 bajtů – (volitelné) adresa kontraktu nebo seznam adres, ze kterých by měly logy pocházet.
+- `topics`: `Pole DATA`, – (volitelné) pole 32bajtových témat `DATA`. Témata jsou závislá na pořadí. Každé téma může být také polem DATA s možnostmi „nebo“.
+- `blockHash`: `DATA`, 32 bajtů – (volitelné, **v budoucnu**) S přidáním EIP-234 bude `blockHash` novou možností filtru, která omezuje vrácené logy na jediný blok s 32bajtovým hašem `blockHash`. Použití `blockHash` je ekvivalentní `fromBlock` = `toBlock` = číslo bloku s hašem `blockHash`. Pokud je v kritériích filtru přítomen `blockHash`, pak nejsou povoleny ani `fromBlock`, ani `toBlock`.
+
+```js
+params: [
+ {
+ topics: [
+ "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ ],
+ },
+]
+```
+
+**Návratová hodnota**
+Viz [eth_getFilterChanges](#eth_getfilterchanges)
+
+**Příklad**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"topics":["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"]}],"id":74}'
+```
+
+Výsledek viz [eth_getFilterChanges](#eth_getfilterchanges)
+
+## Příklad použití {#usage-example}
+
+### Nasazení kontraktu pomocí JSON_RPC {#deploying-contract}
+
+Tato část obsahuje ukázku, jak nasadit kontrakt pouze pomocí rozhraní RPC. Existují alternativní cesty k nasazení kontraktů, kde je tato složitost abstrahována – například pomocí knihoven postavených na rozhraní RPC, jako jsou [web3.js](https://web3js.readthedocs.io/) a [web3.py](https://github.com/ethereum/web3.py). Tyto abstrakce jsou obecně snáze pochopitelné a méně náchylné k chybám, ale stále je užitečné pochopit, co se děje pod pokličkou.
+
+Následuje jednoduchý chytrý kontrakt s názvem `Multiply7`, který bude nasazen pomocí rozhraní JSON-RPC na uzel Ethereum. Tento tutoriál předpokládá, že čtenář již provozuje uzel Geth. Více informací o uzlech a klientech je k dispozici [zde](/developers/docs/nodes-and-clients/run-a-node). Informace o tom, jak spustit HTTP JSON-RPC pro klienty jiné než Geth, naleznete v dokumentaci jednotlivých [klientů](/developers/docs/nodes-and-clients/). Většina klientů má jako výchozí nastavení poskytování služeb na `localhost:8545`.
+
+```javascript
+contract Multiply7 {
+ event Print(uint);
+ function multiply(uint input) returns (uint) {
+ Print(input * 7);
+ return input * 7;
+ }
+}
+```
+
+První věc, kterou je třeba udělat, je ujistit se, že je povoleno rozhraní HTTP RPC. To znamená, že při spuštění poskytneme Gethu příznak `--http`. V tomto příkladu používáme uzel Geth na soukromém vývojovém řetězci. Při tomto přístupu nepotřebujeme ether na skutečné síti.
+
+```bash
+geth --http --dev console 2>>geth.log
+```
+
+Tím se spustí rozhraní HTTP RPC na `http://localhost:8545`.
+
+Ověřit, že rozhraní běží, můžeme načtením coinbase adresy (získáním první adresy z pole účtů) a zůstatku pomocí [curl](https://curl.se). Upozorňujeme, že data v těchto příkladech se na vašem lokálním uzlu budou lišit. Pokud chcete tyto příkazy vyzkoušet, nahraďte parametry požadavku v druhém požadavku curl výsledkem vráceným z prvního.
+
+```bash
+curl --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[], "id":1}' -H "Content-Type: application/json" localhost:8545
+{"id":1,"jsonrpc":"2.0","result":["0x9b1d35635cc34752ca54713bb99d38614f63c955"]}
+
+curl --data '{"jsonrpc":"2.0","method":"eth_getBalance", "params": ["0x9b1d35635cc34752ca54713bb99d38614f63c955", "latest"], "id":2}' -H "Content-Type: application/json" localhost:8545
+{"id":2,"jsonrpc":"2.0","result":"0x1639e49bba16280000"}
+```
+
+Protože čísla jsou kódována šestnáctkově, zůstatek je vrácen ve wei jako šestnáctkový řetězec. Pokud chceme mít zůstatek v etheru jako číslo, můžeme použít web3 z konzole Geth.
+
+```javascript
+web3.fromWei("0x1639e49bba16280000", "ether")
+// "410"
+```
+
+Nyní, když máme na našem soukromém vývojovém řetězci nějaký ether, můžeme nasadit kontrakt. Prvním krokem je zkompilovat kontrakt Multiply7 do bajtkódu, který lze odeslat do EVM. Pro instalaci solc, kompilátoru Solidity, postupujte podle [dokumentace Solidity](https://docs.soliditylang.org/en/latest/installing-solidity.html). (Možná budete chtít použít starší vydání `solc`, aby odpovídalo [verzi kompilátoru použitého pro náš příklad](https://github.com/ethereum/solidity/releases/tag/v0.4.20).)
+
+Dalším krokem je zkompilovat kontrakt Multiply7 do bajtového kódu, který lze odeslat do EVM.
+
+```bash
+echo 'pragma solidity ^0.4.16; contract Multiply7 { event Print(uint); function multiply(uint input) public returns (uint) { Print(input * 7); return input * 7; } }' | solc --bin
+
+======= :Multiply7 =======
+Binary:
+6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029
+```
+
+Nyní, když máme zkompilovaný kód, musíme určit, kolik gasu stojí jeho nasazení. Rozhraní RPC má metodu `eth_estimateGas`, která nám poskytne odhad.
+
+```bash
+curl --data '{"jsonrpc":"2.0","method": "eth_estimateGas", "params": [{"from": "0x9b1d35635cc34752ca54713bb99d38614f63c955", "data": "0x6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029"}], "id": 5}' -H "Content-Type: application/json" localhost:8545
+{"jsonrpc":"2.0","id":5,"result":"0x1c31e"}
+```
+
+A nakonec nasaďte kontrakt.
+
+```bash
+curl --data '{"jsonrpc":"2.0","method": "eth_sendTransaction", "params": [{"from": "0x9b1d35635cc34752ca54713bb99d38614f63c955", "gas": "0x1c31e", "data": "0x6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029"}], "id": 6}' -H "Content-Type: application/json" localhost:8545
+{"id":6,"jsonrpc":"2.0","result":"0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf"}
+```
+
+Transakce je přijata uzlem a vrátí se haš transakce. Tento haš může být použit ke sledování transakce. Dalším krokem je určení adresy, na které je náš kontrakt nasazen. Každá provedená transakce vytvoří potvrzení. Toto potvrzení obsahuje různé informace o transakci, například do kterého bloku byla transakce zahrnuta a kolik gasu spotřeboval EVM. Pokud transakce
+vytváří kontrakt, bude také obsahovat adresu kontraktu. Potvrzení můžeme získat pomocí RPC metody `eth_getTransactionReceipt`.
+
+```bash
+curl --data '{"jsonrpc":"2.0","method": "eth_getTransactionReceipt", "params": ["0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf"], "id": 7}' -H "Content-Type: application/json" localhost:8545
+{"jsonrpc":"2.0","id":7,"result":{"blockHash":"0x77b1a4f6872b9066312de3744f60020cbd8102af68b1f6512a05b7619d527a4f","blockNumber":"0x1","contractAddress":"0x4d03d617d700cf81935d7f797f4e2ae719648262","cumulativeGasUsed":"0x1c31e","from":"0x9b1d35635cc34752ca54713bb99d38614f63c955","gasUsed":"0x1c31e","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf","transactionIndex":"0x0"}}
+```
+
+Náš kontrakt byl vytvořen na adrese `0x4d03d617d700cf81935d7f797f4e2ae719648262`. Výsledek null namísto potvrzení znamená, že transakce ještě nebyla zahrnuta do bloku. Chvíli počkejte, zkontrolujte, zda běží váš konsensuální klient, a zkuste to znovu.
+
+#### Interakce s chytrými kontrakty {#interacting-with-smart-contract}
+
+V tomto příkladu odešleme transakci pomocí `eth_sendTransaction` na metodu `multiply` daného kontraktu.
+
+`eth_sendTransaction` vyžaduje několik argumentů, konkrétně `from`, `to` a `data`. `From` je veřejná adresa našeho účtu a `to` je adresa kontraktu. Argument `data` obsahuje datovou část (payload), která definuje, jaká metoda se má zavolat a s jakými argumenty. Zde přichází na řadu [ABI (application binary interface)](https://docs.soliditylang.org/en/latest/abi-spec.html). ABI je soubor JSON, který definuje, jak definovat a kódovat data pro EVM.
+
+Bajty datové části (payload) definují, která metoda v kontraktu je volána. Jedná se o první 4 bajty z haše Keccak přes název funkce a typy jejích argumentů, kódované v šestnáctkové soustavě. Funkce multiply přijímá uint, což je alias pro uint256. Zůstane nám tedy:
+
+```javascript
+web3.sha3("multiply(uint256)").substring(0, 10)
+// "0xc6888fa1"
+```
+
+Dalším krokem je zakódování argumentů. Je zde pouze jeden uint256, řekněme hodnota 6. ABI má sekci, která specifikuje, jak kódovat typy uint256.
+
+`int: enc(X)` je kódování X v doplňkovém kódu big-endian, doplněné na straně vyššího řádu (vlevo) o 0xff pro záporné X a o nulové bajty pro kladné X tak, aby délka byla násobkem 32 bajtů.
+
+To se zakóduje na `0000000000000000000000000000000000000000000000000000000000000006`.
+
+Kombinací selektoru funkce a zakódovaného argumentu budou naše data `0xc6888fa10000000000000000000000000000000000000000000000000000000000000006`.
+
+Toto lze nyní odeslat do uzlu:
+
+```bash
+curl --data '{"jsonrpc":"2.0","method": "eth_sendTransaction", "params": [{"from": "0xeb85a5557e5bdc18ee1934a89d8bb402398ee26a", "to": "0x6ff93b4b46b41c0c3c9baee01c255d3b4675963d", "data": "0xc6888fa10000000000000000000000000000000000000000000000000000000000000006"}], "id": 8}' -H "Content-Type: application/json" localhost:8545
+{"id":8,"jsonrpc":"2.0","result":"0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74"}
+```
+
+Jelikož byla odeslána transakce, vrátil se její haš. Získání potvrzení vrátí:
+
+```javascript
+{
+ blockHash: "0xbf0a347307b8c63dd8c1d3d7cbdc0b463e6e7c9bf0a35be40393588242f01d55",
+ blockNumber: 268,
+ contractAddress: null,
+ cumulativeGasUsed: 22631,
+ gasUsed: 22631,
+ logs: [{
+ address: "0x6ff93b4b46b41c0c3c9baee01c255d3b4675963d",
+ blockHash: "0xbf0a347307b8c63dd8c1d3d7cbdc0b463e6e7c9bf0a35be40393588242f01d55",
+ blockNumber: 268,
+ data: "0x000000000000000000000000000000000000000000000000000000000000002a",
+ logIndex: 0,
+ topics: ["0x24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da"],
+ transactionHash: "0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74",
+ transactionIndex: 0
+ }],
+ transactionHash: "0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74",
+ transactionIndex: 0
+}
+```
+
+Potvrzení obsahuje log. Tento log byl vygenerován EVM při provedení transakce a zahrnut do potvrzení. Funkce `multiply` ukazuje, že událost `Print` byla vyvolána se vstupem vynásobeným 7. Vzhledem k tomu, že argument pro událost `Print` byl uint256, můžeme jej dekódovat podle pravidel ABI, což nám zanechá očekávanou desetinnou hodnotu 42. Kromě dat stojí za zmínku, že témata lze použít k určení, která událost vytvořila záznam:
+
+```javascript
+web3.sha3("Print(uint256)")
+// "24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da"
+```
+
+Toto byl jen stručný úvod do některých z nejběžnějších úkolů, demonstrující přímé použití JSON-RPC.
+
+## Související témata {#related-topics}
+
+- [Specifikace JSON-RPC](http://www.jsonrpc.org/specification)
+- [Uzly a klienti](/developers/docs/nodes-and-clients/)
+- [JavaScript API](/developers/docs/apis/javascript/)
+- [Backend API](/developers/docs/apis/backend/)
+- [Exekuční klienti](/developers/docs/nodes-and-clients/#execution-clients)
diff --git a/public/content/translations/cs/developers/docs/blocks/index.md b/public/content/translations/cs/developers/docs/blocks/index.md
index 84b13845fe4..82d03cb3138 100644
--- a/public/content/translations/cs/developers/docs/blocks/index.md
+++ b/public/content/translations/cs/developers/docs/blocks/index.md
@@ -8,13 +8,14 @@ Bloky jsou soubory transakcí s hashem předchozího bloku v řetězci. Tím se
## Předpoklady {#prerequisites}
-Bloky jsou velmi přívětivým tématem pro začátečníky. K lepšímu pochopení této stránky však doporučujeme nejprve si přečíst [Účty](/developers/docs/accounts/), [Transakce](/developers/docs/transactions/), a náš [úvod do Etherea](/developers/docs/intro-to-ethereum/).
+Bloky jsou velmi přívětivým tématem pro začátečníky. Ale abychom Vám pomohli lépe porozumět této stránce, doporučujeme Vám si nejprve přečíst [Účty](/developers/docs/accounts/), [Transakce](/developers/docs/transactions/) a náš [úvod do Etherea](/developers/docs/intro-to-ethereum/).
## Proč bloky? {#why-blocks}
Aby bylo zajištěno, že všichni účastníci sítě Ethereum udržují synchronizovaný stav a shodují se na přesné historii transakcí, seskupujeme transakce do bloků. To znamená, že desítky (nebo stovky) transakcí jsou potvrzeny, odsouhlaseny a synchronizovány najednou.
- _Diagram převzat z [ilustrace Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+
+_Diagram byl převzat z [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
Tím, že rozdělujeme potvrzení do jednotlivých intervalů, dáváme všem účastníkům sítě dostatek času k dosažení konsenzu: I když jsou požadavky na transakce zasílány v řádu vyšších desítek za sekundu, bloky jsou na Ethereu vytvářeny a potvrzovány pouze jednou za dvanáct sekund.
@@ -24,7 +25,7 @@ K zachování historie transakcí jsou bloky přísně uspořádány (každý no
Jakmile náhodně vybraný validátor blok sestaví, rozšíří se do zbytku sítě. Všechny uzly přidají tento blok na konec svého blockchainu a vybere se nový validátor, který vytvoří další blok. Přesný proces sestavování bloků a proces potvrzení/konsenzu je v současnosti specifikován protokolem „důkazu podílem“ Etherea.
-## Protokol důkazu podílem {#proof-of-work-protocol}
+## Protokol Proof-of-Stake {#proof-of-stake-protocol}
Důkaz podílem znamená následující:
@@ -40,52 +41,52 @@ Důkaz podílem znamená následující:
Blok obsahuje spoustu informací. Na nejvyšší úrovni blok obsahuje následující pole:
| Pole | Popis |
-|:---------------- |:------------------------------------------------------- |
+| :--------------- | :------------------------------------------------------ |
| `slot` | slot, do kterého blok patří |
| `proposer_index` | ID validátora, který navrhuje blok |
| `parent_root` | hash předchozího bloku |
| `state_root` | kořenový hash stavového objektu |
-| `body` | tělo bloku obsahující několik polí, jak je uvedeno níže |
+| `tělo` | tělo bloku obsahující několik polí, jak je uvedeno níže |
-`Tělo` bloku obsahuje několik vlastních polí:
+Tělo bloku obsahuje několik vlastních polí:
| Pole | Popis |
-|:-------------------- |:--------------------------------------------------------------- |
+| :------------------- | :-------------------------------------------------------------- |
| `randao_reveal` | hodnota, která byla použita k výběru dalšího navrhovatele bloku |
| `eth1_data` | informace o vkladovém kontraktu |
| `graffiti` | libovolná data používaná k označování bloků |
| `proposer_slashings` | seznam validátorů, kteří budou penalizováni |
| `attester_slashings` | seznam atestátorů bloků, kteří budou penalizováni |
-| `atestace` | seznam atestací ve prospěch aktuálního bloku |
-| `deposits` | seznam nových vkladů do vkladového kontraktu |
+| `atestace` | seznam atestací provedených proti předchozím slotům |
+| `vklady` | seznam nových vkladů do vkladového kontraktu |
| `voluntary_exits` | seznam validátorů odcházejících ze sítě |
| `sync_aggregate` | podmnožina validátorů používaná k obsluze lehkých klientů |
| `execution_payload` | transakce předané z exekučního klienta |
-Pole `atestace` obsahuje seznam všech atestací v bloku. Atestace mají svůj vlastní datový typ, který obsahuje několik částí dat. Každá atestace obsahuje:
+Pole `attestations` obsahuje seznam všech atestací v bloku. Atestace mají svůj vlastní datový typ, který obsahuje několik částí dat. Každá atestace obsahuje:
| Pole | Popis |
-|:------------------ |:--------------------------------------------------- |
+| :----------------- | :-------------------------------------------------- |
| `aggregation_bits` | seznam validátorů, kteří se účastnili této atestace |
| `data` | objekt s několika podpoli |
-| `podpis` | agregovaný podpis všech atestujících validátorů |
+| `podpis` | souhrnný podpis sady validátorů proti části `data` |
-Pole `data` v `atestaci` obsahuje následující:
+Pole `data` v `attestation` obsahuje následující:
-| Pole | Popis |
-|:------------------- |:----------------------------------------------------------- |
-| `slot` | slot, k němuž se atestace vztahuje |
-| `index` | indexy pro atestující validátory |
-| `beacon_block_root` | kořenový hash bloku na Beaconu, který obsahuje tento objekt |
-| `zdroj` | poslední oprávněný kontrolní bod |
-| `target` | poslední hraniční blok epochy |
+| Pole | Popis |
+| :------------------ | :------------------------------------------------------------- |
+| `slot` | slot, k němuž se atestace vztahuje |
+| `index` | indexy pro atestující validátory |
+| `beacon_block_root` | kořenový haš Beacon bloku, který je považován za hlavu řetězce |
+| `zdroj` | poslední oprávněný kontrolní bod |
+| `target` | poslední hraniční blok epochy |
-Provádění transakcí v `execution_payload` aktualizuje globální stav. Všechny klienty znovu provedou transakce v `execution_payload`, aby se ujistily, že nový stav odpovídá stavu v novém poli `state_root` bloku. Takto mohou klienty zjistit, že nový blok je platný a bezpečný pro přidání do jejich blockchainu. Samotný `execution_payload` je objekt s několika poli. Existuje také `execution_payload_header` – hlavička, která obsahuje důležité souhrnné informace o datech provádění. Tyto datové struktury jsou organizovány následovně:
+Provedení transakcí v `execution_payload` aktualizuje globální stav. Všichni klienti znovu provedou transakce v `execution_payload`, aby se ujistili, že nový stav odpovídá stavu v poli `state_root` nového bloku. Takto mohou klienty zjistit, že nový blok je platný a bezpečný pro přidání do jejich blockchainu. Samotný `execution_payload` je objekt s několika poli. Existuje také `execution_payload_header` – hlavička, která obsahuje důležité souhrnné informace o datech provádění. Tyto datové struktury jsou organizovány následovně:
-`Execution_payload_header` obsahuje tato pole:
+`execution_payload_header` obsahuje následující pole:
| Pole | Popis |
-|:------------------- |:--------------------------------------------------------------- |
+| :------------------ | :-------------------------------------------------------------- |
| `parent_hash` | hash předchozího bloku |
| `fee_recipient` | adresa účtu pro platbu transakčních poplatků |
| `state_root` | kořenový hash pro globální stav po uplatnění změn v tomto bloku |
@@ -102,10 +103,10 @@ Provádění transakcí v `execution_payload` aktualizuje globální stav. Všec
| `transactions_root` | kořenový hash transakcí v payloadu |
| `withdrawal_root` | kořenový hash výběrů v payloadu |
-Samotný `execution_payload` obsahuje následující (všimněte si, že je totožný s hlavičkou, s výjimkou toho, že místo kořenového hashe transakcí zahrnuje skutečný seznam transakcí a informace o výběrech):
+Samotný `execution_payload` obsahuje následující (všimněte si, že je totožný s hlavičkou, s výjimkou toho, že místo kořenového haše transakcí zahrnuje skutečný seznam transakcí a informace o výběrech):
| Pole | Popis |
-|:------------------ |:--------------------------------------------------------------- |
+| :----------------- | :-------------------------------------------------------------- |
| `parent_hash` | hash předchozího bloku |
| `fee_recipient` | adresa účtu pro platbu transakčních poplatků |
| `state_root` | kořenový hash pro globální stav po uplatnění změn v tomto bloku |
@@ -122,30 +123,30 @@ Samotný `execution_payload` obsahuje následující (všimněte si, že je toto
| `transakce` | seznam transakcí připravených k realizaci |
| `výběry` | seznam objektů výběru |
-Seznam `výběrů` obsahuje objekty `výběru` strukturované následovně:
+Seznam `withdrawals` obsahuje objekty `withdrawal` strukturované následovně:
-| Pole | Popis |
-|:------------------ |:-------------------------------- |
-| `address (adresa)` | adresa účtu, který provádí výběr |
-| `částka` | částka výběru |
-| `index` | indexní hodnota výběru |
-| `validatorIndex` | indexní hodnota validátora |
+| Pole | Popis |
+| :--------------- | :------------------------------- |
+| `adresa` | adresa účtu, který provádí výběr |
+| `částka` | částka výběru |
+| `index` | indexní hodnota výběru |
+| `validatorIndex` | indexní hodnota validátora |
## Čas bloku {#block-time}
Čas bloku referuje o čase mezi bloky. Na Ethereu je čas rozdělen do dvanáctisekundových jednotek nazývaných „sloty“. V každém slotu je vybrán jeden validátor, který navrhne blok. Za předpokladu, že všichni validátoři jsou online a plně funkční, bude v každém slotu blok, což znamená, že čas bloku je 12 s. Někdy ale mohou být validátoři offline, když jsou vyzváni k navržení bloku, což znamená, že některé sloty mohou zůstat prázdné.
-Tato implementace se liší od systémů založených na důkazu prací, kde jsou časy bloků pravděpodobnostní a upravují se cílovou obtížností těžby v protokolu. [Průměrný čas bloku](https://etherscan.io/chart/blocktime) na Ethereu je dokonalým příkladem tohoto rozdílu, na kterém lze jasně pozorovat přechod z důkazu prací na důkaz podílem díky konzistenci nového 12s času bloku.
+Tato implementace se liší od systémů založených na důkazu prací, kde jsou časy bloků pravděpodobnostní a upravují se cílovou obtížností těžby v protokolu. [Průměrný čas bloku](https://etherscan.io/chart/blocktime) Etherea je toho dokonalým příkladem, kdy přechod z důkazu prací na důkaz podílem lze jasně odvodit na základě konzistence nového času bloku 12 s.
## Velikost bloku {#block-size}
-Poslední důležitou poznámkou je, že velikost samotných bloků je omezená. Každý blok má cílovou velikost 30 milionů jednotek, ale velikost bloků se bude zvyšovat nebo snižovat v závislosti na požadavcích sítě, až do limitu bloku 60 milionů jednotek (2x cílová velikost bloku). Limit jednotek na jeden blok může být upraven směrem nahoru nebo dolů faktorem 1/1024 oproti limitu jednotek předchozího bloku. Výsledkem je, že validátoři mohou prostřednictvím konsenzu měnit limit jednotek na jeden blok. Celkové množství jednotek spotřebované všemi transakcemi v bloku musí být menší než limit jednotek pro blok. To je důležité, protože je díky tomu zajištěno, že bloky nemohou být libovolně velké. Pokud by bloky mohly být libovolně velké, pak by méně výkonné plné uzly postupně přestávaly být schopny držet krok se sítí kvůli požadavkům na prostor a rychlost. Čím větší je blok, tím větší výpočetní výkon je potřeba k jeho včasnému zpracování pro další slot. Toto je centralizující síla, proti které se bojuje omezením velikosti bloků.
+Poslední důležitou poznámkou je, že velikost samotných bloků je omezená. Každý blok má cílovou velikost 30 milionů jednotek paliva, ale velikost bloků se bude zvyšovat nebo snižovat v souladu s požadavky sítě, až do limitu bloku 60 milionů jednotek paliva (2x cílová velikost bloku). Limit jednotek na jeden blok může být upraven směrem nahoru nebo dolů faktorem 1/1024 oproti limitu jednotek předchozího bloku. Výsledkem je, že validátoři mohou prostřednictvím konsenzu měnit limit jednotek na jeden blok. Celkové množství jednotek spotřebované všemi transakcemi v bloku musí být menší než limit jednotek pro blok. To je důležité, protože je díky tomu zajištěno, že bloky nemohou být libovolně velké. Pokud by bloky mohly být libovolně velké, pak by méně výkonné plné uzly postupně přestávaly být schopny držet krok se sítí kvůli požadavkům na prostor a rychlost. Čím větší je blok, tím větší výpočetní výkon je potřeba k jeho včasnému zpracování pro další slot. Toto je centralizující síla, proti které se bojuje omezením velikosti bloků.
## Další čtení {#further-reading}
-_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ji!_
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
-## Příbuzná témata {#related-topics}
+## Související témata {#related-topics}
- [Transakce](/developers/docs/transactions/)
- [Palivo](/developers/docs/gas/)
diff --git a/public/content/translations/cs/developers/docs/bridges/index.md b/public/content/translations/cs/developers/docs/bridges/index.md
new file mode 100644
index 00000000000..1d2f1e8672b
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/bridges/index.md
@@ -0,0 +1,138 @@
+---
+title: Přemostění
+description: Přehled přemostění pro vývojáře
+lang: cs
+---
+
+S rozmachem L1 blockchainů a L2 [škalovacích](/developers/docs/scaling/) řešení, spolu s rostoucím počtem decentralizovaných aplikací, které fungují napříč různými sítěmi, se potřeba komunikace a přesunu aktiv mezi těmito sítěmi stala nezbytnou součástí síťové infrastruktury. Existuje několik typů přemostění (bridges), které tuto potřebu pomáhají naplnit.
+
+## Potřeba přemostění {#need-for-bridges}
+
+Přemostění existují proto, aby propojily blockchainové sítě. Umožňují propojení a interoperabilitu mezi blockchainy.
+
+Blockchainy fungují v oddělených prostředích, což znamená, že neexistuje přirozený způsob, jak by si blockchainy mohly vyměňovat data a komunikovat mezi sebou. V důsledku toho, i když by v určitém ekosystému mohlo probíhat mnoho aktivity a inovací, je tento potenciál omezen nedostatkem propojení a interoperability s jinými ekosystémy.
+
+Přemostění nabízejí způsob, jak izolovaná blockchainová prostředí propojit. Vytvářejí přepravní cestu mezi blockchainy, kde mohou být tokeny, zprávy, libovolná data a dokonce i volání [chytrých kontraktů](/developers/docs/smart-contracts/) přenášena z jednoho řetězce na druhý.
+
+## Výhody přemostění {#benefits-of-bridges}
+
+Jednoduše řečeno, přemostění nabízí mnoho využití tím, že umožňuje blockchainovým sítím vyměňovat si data a přesouvat aktiva mezi sebou.
+
+Blockchainy mají unikátní silné stránky, slabiny a přístupy k vytváření aplikací (např. rychlost, propustnost, náklady atd.). Přemostění podporuje vývoj celého krypto ekosystému tím, že umožňuje blockchainům využívat inovace ostatních.
+
+Pro vývojáře přináší přemostění následující výhody:
+
+- přenos jakýchkoli dat, informací a aktiv napříč blockchainy.
+- nové funkce a využití pro protokoly, protože přemostění rozšiřují designový prostor, který mohou protokoly nabízet. Například protokol pro výnosové farmářství původně nasazený na Ethereum Mainnetu může nabídnout likviditní fondy napříč všemi EVM-kompatibilními řetězci.
+- příležitost využít silné stránky různých blockchainů. Například vývojáři mohou těžit z nižších poplatků nabízených různými L2 řešeními tím, že nasadí své dappky napříč rollupy a sidechainy a uživatelé se mezi nimi mohou volně pohybovat.
+- spolupráci mezi vývojáři z různých blockchainových ekosystémů na vytváření nových produktů.
+- nalákání uživatelů a komunit z různých ekosystémů do jejich dappek.
+
+## Jak přemostění fungují? {#how-do-bridges-work}
+
+I když existuje mnoho [typů designů přemostění](https://li.fi/knowledge-hub/blockchain-bridges-and-classification/), tři způsoby, jak usnadnit přesun aktiv mezi řetězci, vynikají:
+
+- **Zamknutí a ražba –** Zamknete aktiva na zdrojovém řetězci a vyrazíte aktiva na cílovém řetězci.
+- **Spálení a ražba –** Spálíte aktiva na zdrojovém řetězci a vyrazíte aktiva na cílovém řetězci.
+- **Atomické swapy –** Směníte aktiva na zdrojovém řetězci za aktiva na cílovém řetězci s jinou stranou.
+
+## Typy přemostění {#bridge-types}
+
+Přemostění lze obvykle zařadit do jedné z následujících kategorií:
+
+- **Nativní přemostění –** Tato přemostění jsou obvykle vytvořena pro zavedení likvidity na konkrétním blockchainu, což usnadňuje uživatelům přesun prostředků do ekosystému. Například [Arbitrum Bridge](https://bridge.arbitrum.io/) je vytvořen pro snadný přechod uživatelů z Ethereum Mainnetu na Arbitrum. Další taková přemostění zahrnují Polygon PoS Bridge, [Optimism Gateway](https://app.optimism.io/bridge) atd.
+- **Přemostění založená na validátorech nebo orákulech –** Tato přemostění se spoléhají na externí sady validátorů nebo orákulí pro validaci přesunů mezi řetězci. Příklady: Multichain a Across.
+- **Generalizovaná přemostění pro přenos zpráv –** Tato přemostění mohou přenášet aktiva spolu se zprávami a libovolnými daty napříč řetězci. Příklady: Axelar, LayerZero a Nomad.
+- **Likviditní sítě –** Tato přemostění se primárně zaměřují na přenos aktiv z jednoho řetězce na druhý prostřednictvím atomických swapů. Obecně nepodporují přenos zpráv napříč řetězci. Příklady: Connext a Hop.
+
+## Kompromisy ke zvážení {#trade-offs}
+
+Dokonalá řešení u přemostění nenajdete. Spíše se jedná o kompromisy, které je třeba učinit, aby byl splněn určitý účel. Vývojáři a uživatelé mohou hodnotit přemostění na základě následujících faktorů:
+
+- **Bezpečnost –** Kdo verifikuje systém? Přemostění zabezpečená externími validátory jsou obvykle méně bezpečná než přemostění, která jsou lokálně nebo nativně zabezpečena validátory blockchainu.
+- **Pohodlí –** Jak dlouho trvá dokončení transakce a kolik transakcí musel uživatel podepsat? Pro vývojáře: Jak dlouho trvá integrace přemostění a jak složitý je proces?
+- **Konektivita –** Jaké jsou různé cílové řetězce, které může přemostění propojit (např. rollupy, sidechainy, jiné blockchainy L1 atd.) a jak obtížné je integrovat nový blockchain?
+- **Schopnost přenášet složitější data –** Umožňuje přemostění přenos zpráv a dalších složitějších dat napříč řetězci, nebo podporuje pouze meziřetězcový přesun aktiv?
+- **Nákladová efektivita –** Kolik stojí přesun aktiv mezi řetězci pomocí přemostění? Obvykle přemostění účtují pevný nebo proměnný poplatek v závislosti na palivových nákladech a likviditě specifických tras. Je také důležité zhodnotit nákladovou efektivitu přemostění na základě kapitálu potřebného k zajištění jeho bezpečnosti.
+
+Na vyšší úrovni lze přemostění dělit na ta, kterým musíte důvěřovat, a přemostění bez nutnosti důvěry.
+
+- **Ta, kterým musíte důvěřovat –** Tato přemostění jsou verifikována externě. Používají externí sadu ověřovatelů (federace s multi-sig, multi-party výpočetní systémy, síť orákulí) k odesílání dat napříč řetězci. Díky tomu mohou nabídnout skvělou konektivitu a umožnit plně generalizovaný přenos zpráv napříč řetězci. Také mají tendenci dobře fungovat s ohledem na rychlost a nákladovou efektivitu. Toto vše však přichází na úkor bezpečnosti, protože uživatelé se musí spolehnout na bezpečnost přemostění.
+- **Bez nutnosti důvěry –** Tato přemostění pro přenos zpráv a tokenů spoléhají na blockchainy, které propojují, a jejich validátory. Jsou "bez nutnosti důvěry", protože nepřidávají nové předpoklady vyžadující důvěru (kromě blockchainů). Z tohoto důvodu jsou přemostění bez nutnosti důvěry považována za bezpečnější než přemostění, kterým je potřeba důvěřovat.
+
+Pro hodnocení přemostění bez nutnosti důvěry na základě dalších faktorů je třeba je rozdělit je na generalizovaná přemostění pro přenos zpráv a likviditní sítě.
+
+- **Generalizovaná přemostění pro přenos zpráv –** Tato přemostění vynikají v oblasti bezpečnosti a schopnosti přenášet složitější data napříč řetězci. Obvykle jsou také dobrá z hlediska nákladové efektivity. Tyto silné stránky však obvykle přicházejí na úkor konektivity u přemostění s lehkým klientem (např. IBC) a rychlostních nevýhod pro optimistická přemostění (např. Nomad), která používají důkazy o podvodech.
+- **Likviditní sítě –** Tato přemostění používají pro přenos aktiv atomické swapy a jsou lokálně ověřovanými systémy (tj. používají validátory podkladových blockchainů k ověření transakcí). Díky tomu vynikají bezpečností a rychlostí. Kromě toho jsou považovány za relativně nákladově efektivní a nabízejí dobrou konektivitu. Hlavním kompromisem je však jejich neschopnost přenášet složitější data – například nepodporují přenos zpráv.
+
+## Rizika spojená s přemostěními {#risk-with-bridges}
+
+Přemostění mají na svědomí tři největší [hacky v DeFi](https://rekt.news/leaderboard/) a jsou stále v raných fázích vývoje. Použití jakéhokoli přemostění s sebou nese následující rizika:
+
+- **Riziko chyby v chytrém kontraktu –** I když mnoho přemostění úspěšně prošlo audity, stačí jedna chyba v chytrém kontraktu, aby byla aktiva vystavena hackům (např. [Wormhole Bridge na Solaně](https://rekt.news/wormhole-rekt/)).
+- **Systémová finanční rizika –** Mnoho přemostění používá zabalená aktiva k ražbě kanonických verzí původního aktiva na novém řetězci. To vystavuje ekosystém systémovému riziku, čehož jsme už u zneužitých zabalených verzí tokenů byli svědky.
+- **Riziko protistrany –** Některá přemostění využívají design, kterému musí uživatelé důvěřovat: Je zde nutné spoléhat se na předpoklad, že validátoři nebudou spolupracovat na odcizení prostředků uživatelů. Nutnost důvěřovat těmto třetím stranám vystavuje uživatele rizikům, jako jsou "rug pulls", cenzura a další škodlivé aktivity.
+- **Otevřené otázky –** Vzhledem k tomu, že přemostění jsou v raných fázích vývoje, existuje mnoho nezodpovězených otázek týkajících se toho, jak budou fungovat v různých tržních podmínkách, jako jsou období přetížení sítě nebo neočekávané události, jako jsou útoky na úrovni sítě nebo rollbacky stavu. Tato nejistota představuje jistá rizika, jejichž míra je ale zatím neznámá.
+
+## Jak mohou přemostění využívat dappky? Jak mohou dapps využívat přemostění? {#how-can-dapps-use-bridges}
+
+Níže uvádíme některá praktická použití, která mohou vzít vývojáři na vědomí při využívání přemostění a přenosu svých dappek napříč řetězci:
+
+### Integrace přemostění {#integrating-bridges}
+
+Existuje několik způsobů, jak mohou vývojáři přidat podporu pro přemostění:
+
+1. **Vytvoření vlastního přemostění –** Vytvoření bezpečného a spolehlivého přemostění není snadné, zejména pokud se rozhodnete pro cestu vyžadující minimální důvěru ze strany uživatele. Navíc to vyžaduje roky zkušeností a technických znalostí týkajících se škálovatelnosti a interoperability. Dále by to vyžadovalo najmout tým na plný úvazek, který by přemostění udržoval a zajišťoval dostatečnou likviditu, aby bylo neustále funkční.
+
+2. **Zobrazení více možností přemostění pro uživatele –** Mnoho [dapps](/developers/docs/dapps/) vyžaduje, aby uživatelé pro interakci s nimi vlastnili jejich nativní token. Aby uživatelé mohli získat přístup k těmto tokenům, nabízejí dappky na svých webových stránkách různé možnosti přemostění. Tento způsob je však jen rychlou opravou problému, protože uživatele odvádí pryč z rozhraní dappky a vyžaduje, aby interagovali s dalšími dappkami a přemostěními. Uživatel takové dappky získá dojem složitosti, který je navíc doprovázený zvýšeným rizikem chyb.
+
+3. **Integrace přemostění –** Toto řešení nevyžaduje, aby dapp posílala uživatele na externí rozhraní přemostění a DEXu. Umožňuje dappkám usnadnit onboarding uživatelů. Tento přístup má ale svá omezení:
+
+ - Posuzování a údržba přemostění jsou složité a časově náročné.
+ - Výběr jednoho přemostění vytváří jediný bod selhání a závislost.
+ - Dappka je omezeno schopnostmi přemostění.
+ - Samotná přemostění nemusí být dostatečná. Dappky mohou potřebovat DEXy kvůli větší funkčnosti, například pro meziblockchainové směny.
+
+4. **Integrace více přemostění –** Toto řešení řeší mnoho problémů spojených s integrací jediného přemostění. Má však také svá omezení, protože integrace více přemostění je náročná na zdroje a vytváří technickou a komunikační zátěž pro vývojáře - a ti jsou v kryptu momentálně nejvzácnějším zdrojem.
+
+5. **Integrace agregátoru přemostění –** Další možností pro dapps je integrace řešení agregace přemostění, které jim poskytne přístup k několika přemostěním. Agregátory přemostění dědí silné stránky všech agregovaných přemostění a nejsou tak omezeni schopnostmi jen jediného přemostění. Je důležité poznamenat, že agregátory přemostění obvykle udržují integraci přemostění, což zbavuje dappky nutnosti sledovat technické a provozní aspekty integrace přemostění.
+
+Nicméně, agregátory přemostění mají svá omezení. Například, i když mohou nabídnout více variant přemostění, na trhu je obvykle k dispozici ještě spousta dalších přemostění, které agregátor nenabízí. Navíc, stejně jako přemostění, jsou i agregátory přemostění vystaveny rizikům spojeným se smart kontrakty a technologií (více smart kontraktů = více rizik).
+
+Pokud se dappka rozhodne pro integraci přemostění nebo agregátoru, má na výběr z několika různých možností podle hloubky integrace. Například, pokud se jedná pouze o frontendovou integraci pro zlepšení onboardingu uživatelů, dappka by měla integrovat widget. Pokud je však integrace zaměřena na hlubší meziřetězové strategie jako staking, výnosové farmářství atd., dappka integruje SDK nebo API.
+
+### Nasazení dapp na více řetězců {#deploying-a-dapp-on-multiple-chains}
+
+K nasazení dapp na více řetězců mohou vývojáři používat vývojářské platformy jako [Alchemy](https://www.alchemy.com/), [Hardhat](https://hardhat.org/), [Moralis](https://moralis.io/) atd. Tyto platformy obvykle přicházejí s pluginy, které umožňují dappkám fungovat napříč blockchainy. Vývojáři mohou například využít deterministickou nasazovací proxy nabízenou pluginem [hardhat-deploy](https://github.com/wighawag/hardhat-deploy).
+
+#### Příklady:
+
+- [Jak vytvářet meziřetězcové dapps](https://moralis.io/how-to-build-cross-chain-dapps/)
+- [Vytvoření meziřetězcového tržiště s NFT](https://youtu.be/WZWCzsB1xUE)
+- [Moralis: Tvorba meziřetězcových NFT dapps](https://www.youtube.com/watch?v=ehv70kE1QYo)
+
+### Monitorování aktivity kontraktů napříč řetězci {#monitoring-contract-activity-across-chains}
+
+Pro monitorování aktivity kontraktů napříč řetězci mohou vývojáři použít subgrafy a vývojové platformy jako je Tenderly, které umožňují monitorovat smart kontrakty v reálném čase. Tyto platformy také nabízejí nástroje s rozšířenou funkcionalitou pro sledování aktivit napříč řetězci, jako je kontrola [událostí emitovaných kontrakty](https://docs.soliditylang.org/en/v0.8.14/contracts.html?highlight=events#events) atd.
+
+#### Nástroje
+
+- [The Graph](https://thegraph.com/en/)
+- [Tenderly](https://tenderly.co/)
+
+## Další čtení {#further-reading}
+
+- [Blockchainová přemostění](/bridges/) – ethereum.org
+- [Rámec pro posuzování rizik přemostění od L2Beat](https://l2beat.com/bridges/summary)
+- [Blockchainová přemostění: Budování sítí kryptosítí](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8) – 8. září 2021 – Dmitriy Berenzon
+- [Trilema interoperability](https://blog.connext.network/the-interoperability-trilemma-657c2cf69f17) – 1. října 2021 – Arjun Bhuptani
+- [Klastry: Jak důvěryhodná přemostění a přemostění s minimalizovanou důvěrou utvářejí prostředí s více řetězci](https://blog.celestia.org/clusters/) – 4. října 2021 – Mustafa Al-Bassam
+- [LI.FI: U přemostění je důvěra spektrum](https://blog.li.fi/li-fi-with-bridges-trust-is-a-spectrum-354cd5a1a6d8) – 28. dubna 2022 – Arjun Chand
+- [Stav řešení interoperability rollupů](https://web.archive.org/web/20250428015516/https://research.2077.xyz/the-state-of-rollup-interoperability) – 20. června 2024 – Alex Hook
+- [Využití sdíleného zabezpečení pro bezpečnou meziřetězcovou interoperabilitu: Lagrangeovy státní výbory a další](https://web.archive.org/web/20250125035123/https://research.2077.xyz/harnessing-shared-security-for-secure-blockchain-interoperability) – 12. června 2024 – Emmanuel Awosika
+
+Dále uvádíme některé zajímavé prezentace od [Jamese Prestwiche](https://twitter.com/_prestwich), které vám mohou pomoci porozumění přemostěním ještě prohloubit:
+
+- [Stavění přemostění, ne zděných zahrad](https://youtu.be/ZQJWMiX4hT0)
+- [Rozbor přemostění](https://youtu.be/b0mC-ZqN8Oo)
+- [Proč přemostění hoří](https://youtu.be/c7cm2kd20j8)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/index.md
new file mode 100644
index 00000000000..5b7297f8787
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/index.md
@@ -0,0 +1,92 @@
+---
+title: Mechanismy konsenzu
+description: Vysvětlení konsensuálních protokolů v distribuovaných systémech a jejich role v Ethereu.
+lang: cs
+---
+
+Pojem „mechanismus konsenzu“ se často hovorově používá pro protokoly „důkaz podílem“, „důkaz prací“ nebo „důkaz autoritou“. Jedná se však pouze o součásti mechanismů konsenzu, které chrání proti [útokům Sybil](/glossary/#sybil-attack). Mechanismy konsenzu jsou kompletní soubor myšlenek, protokolů a pobídek, které umožňují distribuované sadě uzlů dohodnout se na stavu blockchainu.
+
+## Předpoklady {#prerequisites}
+
+Pro lepší pochopení této stránky doporučujeme si nejprve přečíst náš [úvod do Etherea](/developers/docs/intro-to-ethereum/).
+
+## Co je to konsensus? {#what-is-consensus}
+
+Konsensem myslíme, že bylo dosaženo všeobecné shody. Představte si skupinu lidí, kteří jdou do kina. Pokud nedojde k neshodě ohledně navrhovaného výběru filmu, je dosaženo konsensu. Pokud dojde k neshodě, skupina musí mít prostředky, jak se rozhodnout, na který film se podívat. V krajních případech se skupina nakonec rozdělí.
+
+Pokud jde o blockchain Etherea, proces je formalizován a dosažení konsensu znamená, že se alespoň 66 % uzlů v síti shodne na globálním stavu sítě.
+
+## Co je to konsensuální mechanismus? {#what-is-a-consensus-mechanism}
+
+Termín mechanismus konsenzu se vztahuje na celý soubor protokolů, pobídek a myšlenek, které umožňují síti uzlů dohodnout se na stavu blockchainu.
+
+Ethereum používá mechanismus konsenzu založený na důkazu podílem, který odvozuje své krypto-ekonomické zabezpečení ze souboru odměn a pokut uplatňovaných na kapitál uzamčený stakery. Tato motivační struktura povzbuzuje jednotlivé stakery, aby provozovali poctivé validátory, trestá ty, kteří tak nečiní, a vytváří extrémně vysoké náklady na útok na síť.
+
+Dále existuje protokol, který řídí, jak jsou poctiví validátoři vybíráni, aby navrhovali nebo validovali bloky, zpracovávali transakce a hlasovali pro svůj pohled na začátek řetězce. Ve vzácných situacích, kdy se v blízkosti začátku řetězce nachází více bloků ve stejné pozici, existuje mechanismus výběru větve, který vybírá bloky, které tvoří „nejtěžší“ řetězec, měřeno počtem validátorů, kteří pro bloky hlasovali, váženým jejich zůstatkem vsazeného etheru.
+
+Některé koncepty jsou pro konsensus důležité, ale nejsou explicitně definovány v kódu, jako například dodatečné zabezpečení, které nabízí potenciální mimopásmová sociální koordinace jako poslední obranná linie proti útokům na síť.
+
+Tyto komponenty dohromady tvoří mechanismus konsenzu.
+
+## Typy mechanismů konsenzu {#types-of-consensus-mechanisms}
+
+### Založené na důkazu prací {#proof-of-work}
+
+Stejně jako Bitcoin, i Ethereum kdysi používalo konsensuální protokol založený na **důkazu prací (PoW)**.
+
+#### Tvorba bloku {#pow-block-creation}
+
+Těžaři soutěží o vytvoření nových bloků naplněných zpracovanými transakcemi. Vítěz se o nový blok podělí se zbytkem sítě a získá čerstvě vytěžené ETH. Závod vyhrává počítač, který dokáže nejrychleji vyřešit matematickou hádanku. Tím se vytvoří kryptografické spojení mezi aktuálním blokem a blokem, který mu předcházel. Vyřešení této hádanky je ona „práce“ v „důkazu prací“. Kanonický řetězec je pak určen pravidlem výběru větve, které vybírá sadu bloků, na jejichž vytěžení bylo vynaloženo nejvíce práce.
+
+#### Bezpečnost {#pow-security}
+
+Síť je bezpečná díky tomu, že k podvodu v řetězci byste potřebovali 51% výpočetního výkonu sítě. To by vyžadovalo tak obrovské investice do vybavení a energie, že byste pravděpodobně utratili více, než byste získali.
+
+Více o [důkazu prací](/developers/docs/consensus-mechanisms/pow/)
+
+### Založené na důkazu podílem {#proof-of-stake}
+
+Ethereum nyní používá konsensuální protokol založený na **důkazu podílem (PoS)**.
+
+#### Tvorba bloku {#pos-block-creation}
+
+Validátoři vytvářejí bloky. V každém slotu je náhodně vybrán jeden validátor, který se stane navrhovatelem bloku. Jejich konsensuální klient si vyžádá balíček transakcí jako „exekuční datovou část“ od spárovaného exekučního klienta. Toto zabalí do konsensuálních dat, aby vytvořili blok, který odešlou ostatním uzlům v síti Ethereum. Tato produkce bloků je odměňována v ETH. Ve vzácných případech, kdy pro jeden slot existuje více možných bloků nebo se uzly o blocích dozvědí v různou dobu, algoritmus výběru větve vybere blok, který tvoří řetězec s největší váhou atestací (kde váha je počet atestujících validátorů škálovaný jejich zůstatkem ETH).
+
+#### Bezpečnost {#pos-security}
+
+Systém důkazu podílem je krypto-ekonomicky bezpečný, protože útočník, který se pokusí převzít kontrolu nad řetězcem, musí zničit obrovské množství ETH. Systém odměn motivuje jednotlivé stakery k čestnému chování a pokuty je odrazují od škodlivého jednání.
+
+Více o [důkazu podílem](/developers/docs/consensus-mechanisms/pos/)
+
+### Vizuální průvodce {#types-of-consensus-video}
+
+Podívejte se na více informací o různých typech mechanismů konsenzu používaných v Ethereu:
+
+
+
+### Odolnost proti útokům Sybil a výběr řetězce {#sybil-chain}
+
+Důkaz prací a důkaz podílem samy o sobě nejsou konsensuální protokoly, ale pro zjednodušení se tak často označují. Jsou to ve skutečnosti mechanismy odolnosti proti útokům Sybil a voliči autora bloku; je to způsob, jak rozhodnout, kdo je autorem nejnovějšího bloku. Další důležitou součástí je algoritmus pro výběr řetězce (neboli výběr větve), který umožňuje uzlům vybrat si jeden jediný správný blok na začátku řetězce ve scénářích, kdy na stejné pozici existuje více bloků.
+
+**Odolnost proti útokům Sybil** měří, jak si protokol vede proti útoku Sybil. Odolnost proti tomuto typu útoku je pro decentralizovaný blockchain zásadní a umožňuje těžařům a validátorům, aby byli odměňováni rovnoměrně na základě vložených zdrojů. Důkaz prací a důkaz podílem proti tomu chrání tím, že nutí uživatele vynaložit velké množství energie nebo vložit velký kolaterál. Tato ochrana je ekonomickým odstrašujícím prostředkem proti útokům Sybil.
+
+**Pravidlo výběru řetězce** se používá k rozhodnutí, který řetězec je ten „správný“. Bitcoin používá pravidlo „nejdelšího řetězce“, což znamená, že nejdelší blockchain bude ten, který zbytek uzlů přijme jako platný a bude s ním pracovat. U řetězců s důkazem prací je nejdelší řetězec určen celkovou kumulativní obtížností důkazu prací daného řetězce. I Ethereum dříve používalo pravidlo nejdelšího řetězce; nicméně nyní, když Ethereum běží na důkazu podílem, přijalo aktualizovaný algoritmus výběru větve, který měří „váhu“ řetězce. Váha je kumulativní součet hlasů validátorů, vážený zůstatky vsazeného etheru validátorů.
+
+Ethereum používá mechanismus konsenzu známý jako [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/), který kombinuje [důkaz podílem Casper FFG](https://arxiv.org/abs/1710.09437) s [pravidlem výběru větve GHOST](https://arxiv.org/abs/2003.03052).
+
+## Další čtení {#further-reading}
+
+- [Co je to konsensuální algoritmus blockchainu?](https://academy.binance.com/en/articles/what-is-a-blockchain-consensus-algorithm)
+- [Co je to Nakamoto konsensus? Kompletní průvodce pro začátečníky](https://blockonomi.com/nakamoto-consensus/)
+- [Jak funguje Casper?](https://medium.com/unitychain/intro-to-casper-ffg-9ed944d98b2d)
+- [O bezpečnosti a výkonu blockchainů s důkazem prací](https://eprint.iacr.org/2016/555.pdf)
+- [Byzantská chyba](https://en.wikipedia.org/wiki/Byzantine_fault)
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+## Související témata {#related-topics}
+
+- [Důkaz prací](/developers/docs/consensus-mechanisms/pow/)
+- [Těžba](/developers/docs/consensus-mechanisms/pow/mining/)
+- [Důkaz podílem](/developers/docs/consensus-mechanisms/pos/)
+- [Důkaz autoritou](/developers/docs/consensus-mechanisms/poa/)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/poa/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/poa/index.md
new file mode 100644
index 00000000000..844fc6f32d1
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/poa/index.md
@@ -0,0 +1,80 @@
+---
+title: Proof-of-authority (PoA)
+description: Vysvětlení konsenzuálního protokolu proof-of-authority a jeho role v ekosystému blockchainu.
+lang: cs
+---
+
+**Proof-of-authority (PoA)** je konsenzuální algoritmus založený na reputaci, který je upravenou verzí [důkazu podílem](/developers/docs/consensus-mechanisms/pos/). Většinou se používá na privátních řetězcích, testnetech a lokálních vývojových sítích. PoA je konsenzuální algoritmus založený na reputaci, který k vytváření bloků vyžaduje důvěru v sadu autorizovaných podepisovatelů, a to na rozdíl od mechanismu PoS založeného na podílu.
+
+## Předpoklady {#prerequisites}
+
+Abyste lépe porozuměli této stránce, doporučujeme vám si nejprve přečíst o [transakcích](/developers/docs/transactions/), [blocích](/developers/docs/blocks/) a [mechanismech konsenzu](/developers/docs/consensus-mechanisms/).
+
+## Co je to proof-of-authority (PoA)? {#what-is-poa}
+
+Proof-of-authority je upravená verze **[důkazu podílem](/developers/docs/consensus-mechanisms/pos/) (PoS)**, což je konsenzuální algoritmus založený na reputaci namísto mechanismu PoS založeného na podílu. Tento termín poprvé představil v roce 2017 Gavin Wood a tento konsenzuální algoritmus se většinou používá na privátních řetězcích, testnetech a lokálních vývojových sítích, jelikož překonává potřebu vysoce kvalitních zdrojů jako PoW a řeší problémy se škálovatelností u PoS tím, že pouze malá podmnožina uzlů ukládá blockchain a vytváří bloky.
+
+Proof-of-authority vyžaduje důvěru v sadu autorizovaných podepisovatelů, kteří jsou definováni v [genesis bloku](/glossary/#genesis-block). Ve většině současných implementací si všichni autorizovaní podepisovatelé ponechávají stejnou moc a oprávnění při určování konsensu řetězce. Myšlenka stakování reputace je taková, že každý autorizovaný validátor je všem dobře známý, například prostřednictvím ověření klienta (KYC) nebo tím, že jediným validátorem je známá organizace. Tímto způsobem je v případě, že validátor udělá něco špatně, jeho identita známa.
+
+Existuje několik implementací PoA, ale standardní implementací Etherea je **clique**, která implementuje [EIP-225](https://eips.ethereum.org/EIPS/eip-225). Clique je standard přívětivý pro vývojáře a snadno se implementuje, přičemž podporuje všechny typy synchronizace klientů. Mezi další implementace patří [IBFT 2.0](https://besu.hyperledger.org/private-networks/concepts/poa) a [Aura](https://openethereum.github.io/Chain-specification).
+
+## Jak to funguje {#how-it-works}
+
+V PoA je k vytváření nových bloků vybrána sada autorizovaných podepisovatelů. Podepisovatelé jsou vybíráni na základě své reputace a jsou jediní, kdo smí vytvářet nové bloky. Podepisovatelé jsou vybíráni cyklicky (způsobem round-robin) a každý podepisovatel smí vytvořit blok v určitém časovém rámci. Doba vytváření bloku je pevně daná a podepisovatelé musí vytvořit blok v tomto časovém rámci.
+
+Reputace v tomto kontextu není kvantifikovatelná veličina, ale spíše reputace známých korporací, jako je Microsoft nebo Google. Z toho důvodu výběr důvěryhodných podepisovatelů není algoritmický, ale je to normální lidský akt _důvěry_. Když například entita jako Microsoft vytvoří privátní síť PoA pro stovky nebo tisíce startupů a sama se ujme role jediného důvěryhodného podepisovatele s možností v budoucnu přidat další známé podepisovatele, jako je Google, startupy by bezpochyby důvěřovaly společnosti Microsoft, že bude vždy jednat čestně, a síť by používaly. Tím se řeší nutnost stakovat v různých malých/soukromých sítích, které byly vytvořeny pro různé účely, aby zůstaly decentralizované a funkční, a zároveň se eliminuje potřeba těžařů, což spotřebovává velké množství energie a zdrojů. Některé privátní sítě, jako například VeChain, používají standard PoA v jeho původní podobě a některé ho upravují, jako například Binance, která používá [PoSA](https://academy.binance.com/en/glossary/proof-of-staked-authority-posa), což je vlastní upravená verze PoA a PoS.
+
+Hlasovací proces provádějí sami podepisovatelé. Každý podepisovatel hlasuje pro přidání nebo odebrání podepisovatele ve svém bloku, když vytváří nový blok. Uzly sečtou hlasy a podepisovatelé jsou přidáni nebo odebráni na základě toho, zda hlasy dosáhnou určitého prahu `SIGNER_LIMIT`.
+
+Může nastat situace, kdy dojde k malým větvím. Obtížnost bloku závisí na tom, zda byl blok podepsán v pořadí, nebo mimo pořadí. Bloky „v pořadí“ mají obtížnost 2 a bloky „mimo pořadí“ mají obtížnost 1. V případě malých větví získá největší celkovou obtížnost a vyhraje ten řetězec, ve kterém většina podepisovatelů potvrzuje bloky „v pořadí“.
+
+## Vektory útoku {#attack-vectors}
+
+### Zlomyslní podepisovatelé {#malicious-signers}
+
+Do seznamu podepisovatelů by mohl být přidán zlomyslný uživatel nebo by mohl být kompromitován podpisový klíč/stroj. V takovém scénáři se protokol musí být schopen bránit proti reorganizacím a spamování. Navrhovaným řešením je, že na seznamu N autorizovaných podepisovatelů může každý podepisovatel razit pouze 1 blok z každých K. To zajišťuje omezení škod a zbytek validátorů může zlomyslného uživatele odhlasovat.
+
+### Cenzura {#censorship-attack}
+
+Dalším zajímavým vektorem útoku je, když se podepisovatel (nebo skupina podepisovatelů) pokusí cenzurovat bloky, které hlasují o jejich odstranění ze seznamu autorizací. Aby se tomu předešlo, je povolená frekvence ražení bloků podepisovateli omezena na 1 z N/2. To zajišťuje, že zlomyslní podepisovatelé musí ovládat alespoň 51 % podepisovacích účtů. V takovém případě by se fakticky stali novým zdrojem pravdy pro řetězec.
+
+### Spam {#spam-attack}
+
+Dalším menším vektorem útoku je, když zlomyslní podepisovatelé vkládají nové návrhy na hlasování do každého bloku, který razí. Protože uzly musí sečíst všechny hlasy, aby vytvořily skutečný seznam autorizovaných podepisovatelů, musí v průběhu času zaznamenávat všechny hlasy. Bez omezení hlasovacího okna by tento počet mohl pomalu, ale neomezeně růst. Řešením je zavést _pohyblivé_ okno W bloků, po kterém jsou hlasy považovány za zastaralé. _Přiměřené okno může být 1–2 epochy._
+
+### Souběžné bloky {#concurrent-blocks}
+
+V síti PoA, kde je N autorizovaných podepisovatelů, smí každý podepisovatel razit 1 blok z K, což znamená, že v daném okamžiku smí razit blok N-K+1 validátorů. Aby se zabránilo tomu, že tito validátoři budou soutěžit o bloky, měl by každý podepisovatel přidat malý náhodný "offset" k času, kdy uvolní nový blok. Ačkoli tento proces zajišťuje, že malé větve jsou vzácné, občasné větve se stále mohou vyskytnout, stejně jako na hlavní síti. Pokud se zjistí, že podepisovatel zneužívá svou moc a způsobuje chaos, mohou ho ostatní podepisovatelé odhlasovat.
+
+Pokud je například 10 autorizovaných podepisovatelů a každý podepisovatel smí vytvořit 1 blok z 20, pak v daném okamžiku může 11 validátorů vytvářet bloky. Aby se zabránilo tomu, že budou soutěžit o vytváření bloků, každý podepisovatel přidá malý náhodný "offset" k času, kdy uvolní nový blok. To snižuje výskyt malých větví, ale stále umožňuje občasné větve, jak je vidět na hlavní síti Etherea. Pokud podepisovatel zneužije svou autoritu a způsobí narušení, může být odhlasován ze sítě.
+
+## Výhody a nevýhody {#pros-and-cons}
+
+| Plusy | Minusy |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Škálovatelnější než jiné populární mechanismy jako PoS a PoW, protože je založen na omezeném počtu podepisovatelů bloků. | Sítě PoA mají obvykle relativně malý počet ověřovacích uzlů. Díky tomu je síť PoA více centralizovaná. |
+| Provoz a údržba blockchainů PoA je neuvěřitelně levná. | Stát se autorizovaným podepisovatelem je pro běžného člověka obvykle nedostupné, protože blockchain vyžaduje entity se zavedenou reputací. |
+| Transakce jsou potvrzovány velmi rychle, může to být i za méně než 1 sekundu, protože k ověření nových bloků je zapotřebí pouze omezený počet podepisovatelů. | Zlomyslní podepisovatelé by mohli provést reorganizaci, dvojí útratu, cenzurovat transakce v síti. Tyto útoky jsou sice zmírněny, ale stále možné. |
+
+## Další čtení {#further-reading}
+
+- [EIP-225](https://eips.ethereum.org/EIPS/eip-225) _standard Clique_
+- [Studie Proof of Authority](https://github.com/cryptoeconomics-study/website/blob/master/docs/sync/2.4-lecture.md) _Cryptoeconomics_
+- [Co je to Proof of Authority](https://forum.openzeppelin.com/t/proof-of-authority/3577) _OpenZeppelin_
+- [Vysvětlení Proof of Authority](https://academy.binance.com/en/articles/proof-of-authority-explained) _binance_
+- [PoA v blockchainu](https://medium.com/techskill-brew/proof-of-authority-or-poa-in-blockchain-part-11-blockchain-series-be15b3321cba)
+- [Vysvětlení Clique](https://medium.com/@Destiner/clique-cross-client-proof-of-authority-algorithm-for-ethereum-8b2a135201d)
+- [Zastaralé PoA, specifikace Aura](https://openethereum.github.io/Chain-specification)
+- [IBFT 2.0, další implementace PoA](https://besu.hyperledger.org/private-networks/concepts/poa)
+
+### Učíte se spíše vizuálně? Vizuální výuka {#visual-learner}
+
+Podívejte se na vizuální vysvětlení proof-of-authority:
+
+
+
+## Související témata {#related-topics}
+
+- [Důkaz prací](/developers/docs/consensus-mechanisms/pow/)
+- [Důkaz podílem](/developers/docs/consensus-mechanisms/pos/)
+
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
new file mode 100644
index 00000000000..dcedf00c3d5
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
@@ -0,0 +1,166 @@
+---
+title: Útok a obrana na ethereový důkaz podílem
+description: Zjistěte více o známých vektorech útoku na Ethereum s důkazem podílem a o tom, jaká je proti nim obrana.
+lang: cs
+---
+
+Zloději a sabotéři neustále hledají příležitosti k útoku na klientský software Etherea. Tato stránka popisuje známé vektory útoku na konsensuální vrstvu Etherea a popisuje, jak se těmto útokům bránit. Informace na této stránce jsou převzaty z [delší verze](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs).
+
+## Předpoklady {#prerequisites}
+
+Vyžadují se základní znalosti [důkazu podílem](/developers/docs/consensus-mechanisms/pos/). Také je užitečné mít základní znalosti o ethereové [vrstvě pobídek](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties) a algoritmu pro výběr větve, [LMD-GHOST](/developers/docs/consensus-mechanisms/pos/gasper).
+
+## Co útočníci chtějí? {#what-do-attackers-want}
+
+Běžnou mylnou představou je, že úspěšný útočník může vytvářet nový ether nebo odčerpávat ether z libovolných účtů. Nic z toho není možné, protože všechny transakce jsou prováděny všemi exekučními klienty v síti. Musí splňovat základní podmínky platnosti (např. transakce jsou podepsány soukromým klíčem odesílatele, odesílatel má dostatečný zůstatek atd.), jinak se jednoduše vrátí. Existují tři třídy výsledků, na které se může útočník realisticky zaměřit: reorganizace, dvojí finalita nebo zpoždění finality.
+
+**„Reorganizace“** je přeskupení bloků do nového pořadí, případně s přidáním nebo odebráním některých bloků v kanonickém řetězci. Škodlivá reorganizace může zajistit zahrnutí nebo vyloučení konkrétních bloků, což umožňuje dvojí útratu nebo extrakci hodnoty prostřednictvím front-runningu a back-runningu transakcí (MEV). Reorganizace by se také mohly použít k zabránění zahrnutí určitých transakcí do kanonického řetězce – což je forma cenzury. Nejextrémnější formou reorganizace je „vrácení finality“, které odstraňuje nebo nahrazuje bloky, jež byly dříve finalizovány. To je možné pouze v případě, že více než ⅓ celkového stakovaného etheru je zničeno útočníkem – tato záruka je známá jako „ekonomická finalita“ – o tom více později.
+
+**Dvojí finalita** je nepravděpodobný, ale závažný stav, kdy se dvě větve dokáží finalizovat současně, což vytvoří trvalé rozdělení v řetězci. To je teoreticky možné pro útočníka, který je ochoten riskovat 34 % celkového stakovaného etheru. Komunita by byla nucena se koordinovat mimo řetězec a dohodnout se, kterou větev bude následovat, což by vyžadovalo sílu sociální vrstvy.
+
+Útok **zpožděním finality** brání síti v dosažení nezbytných podmínek pro finalizaci úseků řetězce. Bez finality je těžké důvěřovat finančním aplikacím postaveným na Ethereu. Cílem útoku zpožděním finality je pravděpodobně jen narušit Ethereum, než přímý zisk, pokud útočník nemá nějaké strategické krátké pozice.
+
+Útok na sociální vrstvu může mít za cíl podkopat důvěru veřejnosti v Ethereum, znehodnotit ether, snížit adopci nebo oslabit komunitu Etherea, aby byla externí koordinace obtížnější.
+
+Poté, co jsme si ujasnili, proč by protivník mohl zaútočit na Ethereum, následující části se zabývají tím, _jak_ by to mohl udělat.
+
+## Metody útoku {#methods-of-attack}
+
+### Útoky na 0. vrstvu {#layer-0}
+
+Především jednotlivci, kteří se aktivně neúčastní na Ethereu (provozováním klientského softwaru), mohou útočit na sociální vrstvu (0. vrstvu). 0. vrstva je základ, na kterém je Ethereum postaveno, a jako taková představuje potenciální plochu pro útoky s důsledky, které se šíří zbytkem stacku. Některé příklady mohou zahrnovat:
+
+- Dezinformační kampaň by mohla narušit důvěru komunity v plán Etherea, týmy vývojářů, aplikace atd. To by pak mohlo snížit počet jednotlivců ochotných se podílet na zabezpečení sítě, což by narušilo decentralizaci i kryptoekonomickou bezpečnost.
+
+- Cílené útoky a/nebo zastrašování zaměřené na komunitu vývojářů. To by mohlo vést k dobrovolnému odchodu vývojářů a zpomalit pokrok Etherea.
+
+- Příliš horlivá regulace by také mohla být považována za útok na 0. vrstvu, protože by mohla rychle odradit od účasti a přijetí.
+
+- Infiltrace znalých, ale škodlivých aktérů do komunity vývojářů, jejichž cílem je zpomalit pokrok diskusemi o nepodstatných detailech, oddalováním klíčových rozhodnutí, vytvářením spamu atd.
+
+- Úplatky klíčovým hráčům v ekosystému Etherea za účelem ovlivnění rozhodování.
+
+Co dělá tyto útoky obzvláště nebezpečnými, je skutečnost, že v mnoha případech je zapotřebí jen velmi malý kapitál nebo technické know-how. Útok na 0. vrstvu by mohl být násobitelem kryptoekonomického útoku. Pokud by například cenzury nebo vrácení finality bylo dosaženo škodlivým většinovým držitelem, podkopání sociální vrstvy by mohlo ztížit koordinaci komunitní reakce mimo běžné kanály.
+
+Obrana proti útokům na 0. vrstvu pravděpodobně není jednoduchá, ale lze stanovit některé základní principy. Jedním z nich je udržování celkově vysokého poměru signálu k šumu u veřejných informací o Ethereu, vytvářených a šířených poctivými členy komunity prostřednictvím blogů, serverů na Discordu, anotovaných specifikací, knih, podcastů a YouTube. Zde na ethereum.org se usilovně snažíme udržovat přesné informace a překládat je do co nejvíce jazyků. Zaplavení prostoru vysoce kvalitními informacemi a memy je účinnou obranou proti dezinformacím.
+
+Dalším důležitým opevněním proti útokům na sociální vrstvu je jasné poslání a protokol správy. Ethereum se etablovalo jako šampion v decentralizaci a bezpečnosti mezi 1. vrstvami s chytrými kontrakty, přičemž si také vysoce cení škálovatelnosti a udržitelnosti. Ať už v komunitě Etherea vzniknou jakékoli neshody, tyto základní principy jsou ohroženy jen minimálně. Posuzování narativu oproti těmto základním principům a jeho zkoumání v postupných kolech revize v procesu EIP (Ethereum Improvement Proposal) může komunitě pomoci rozlišit dobré aktéry od špatných a omezuje prostor pro škodlivé aktéry, aby ovlivňovali budoucí směřování Etherea.
+
+A konečně, je zásadní, aby komunita Etherea zůstala otevřená a vstřícná vůči všem účastníkům. Komunita s vrátnými a exkluzivitou je obzvláště zranitelná vůči sociálním útokům, protože je snadné vytvářet narativy „my a oni“. Tribalismus a toxický maximalismus poškozují komunitu a narušují bezpečnost 0. vrstvy. Ethereané s osobním zájmem na bezpečnosti sítě by měli své chování online a v reálném světě vnímat jako přímý příspěvek k bezpečnosti 0. vrstvy Etherea.
+
+### Útok na protokol {#attacking-the-protocol}
+
+Kdokoli může provozovat klientský software Etherea. Pro přidání validátora ke klientovi musí uživatel stakovat 32 etherů do depozitního kontraktu. Validátor umožňuje uživateli aktivně se podílet na bezpečnosti sítě Ethereum navrhováním a atestováním nových bloků. Validátor má nyní hlas, který může použít k ovlivnění budoucího obsahu blockchainu – může to dělat poctivě a navyšovat svou zásobu etheru prostřednictvím odměn, nebo se může pokusit manipulovat procesem ve svůj vlastní prospěch a riskovat svůj stake. Jedním ze způsobů, jak provést útok, je nashromáždit větší podíl celkového staku a poté ho použít k přehlasování poctivých validátorů. Čím větší je podíl staku ovládaný útočníkem, tím větší je jeho hlasovací síla, zejména při určitých ekonomických milnících, které prozkoumáme později. Většina útočníků však nebude schopna nashromáždit dostatek etheru k takovému útoku, takže místo toho musí používat jemné techniky k manipulaci poctivé většiny, aby jednala určitým způsobem.
+
+V zásadě jsou všechny útoky s malým stakem jemnými variacemi dvou typů nesprávného chování validátorů: nedostatečná aktivita (neúspěšná atestace/navržení nebo jejich pozdní provedení) nebo nadměrná aktivita (navrhování/atestování příliš mnohokrát v jednom slotu). V nejzákladnějších formách se s těmito akcemi snadno vypořádá algoritmus volby větve a vrstva pobídek, ale existují chytré způsoby, jak systém zneužít ve prospěch útočníka.
+
+### Útoky pomocí malého množství ETH {#attacks-by-small-stakeholders}
+
+#### Reorganizace {#reorgs}
+
+Několik studií vysvětlilo útoky na Ethereum, které dosahují reorganizace nebo zpoždění finality pouze s malým podílem celkového stakovaného etheru. Tyto útoky obecně spoléhají na to, že útočník zadrží některé informace před ostatními validátory a poté je uvolní nějakým rafinovaným způsobem a/nebo v nějakém vhodném okamžiku. Obvykle se zaměřují na vytlačení některých poctivých bloků z kanonického řetězce. [Neuder a kol. 2020](https://arxiv.org/pdf/2102.02247.pdf) ukázali, jak může útočící validátor vytvořit a atestovat blok (`B`) pro konkrétní slot `n+1`, ale zdržet se jeho šíření ostatním uzlům v síti. Místo toho si ponechá atestovaný blok až do dalšího slotu `n+2`. Poctivý validátor navrhne blok (`C`) pro slot `n+2`. Téměř současně může útočník uvolnit svůj zadržený blok (`B`) a své zadržené atestace pro něj a také atestovat `B` jako hlavu řetězce svými hlasy pro slot `n+2`, čímž účinně popře existenci poctivého bloku `C`. Když je uvolněn poctivý blok `D`, algoritmus volby větve vidí, že `D` postavený na `B` má větší váhu než `D` postavený na `C`. Útočník tedy dokázal odstranit poctivý blok `C` ve slotu `n+2` z kanonického řetězce pomocí ex ante reorganizace jednoho bloku. [Útočník s 34%](https://www.youtube.com/watch?v=6vzXwwk12ZE) staku má velmi dobrou šanci na úspěch v tomto útoku, jak je vysvětleno [v této poznámce](https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair). Teoreticky by se však tento útok mohl pokusit i s menšími staky. [Neuder a kol. 2020](https://arxiv.org/pdf/2102.02247.pdf) popsali tento útok fungující s 30% stakem, ale později se ukázalo, že je životaschopný s [2 % celkového staku](https://arxiv.org/pdf/2009.04987.pdf) a poté znovu pro [jednoho validátora](https://arxiv.org/abs/2110.10086#) pomocí vyrovnávacích technik, které prozkoumáme v další části.
+
+
+
+Koncepční diagram útoku reorganizací jednoho bloku popsaný výše (převzato z https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair)
+
+Sofistikovanější útok může rozdělit sadu poctivých validátorů do diskrétních skupin, které mají různé pohledy na hlavu řetězce. To je známé jako **vyrovnávací útok**. Útočník čeká na svou šanci navrhnout blok, a když se naskytne, provede ekvivokaci a navrhne dva. Jeden blok pošle jedné polovině sady poctivých validátorů a druhý blok druhé polovině. Ekvivokace by byla detekována algoritmem výběru větve a navrhovatel bloku by byl potrestán (slashed) a vyloučen ze sítě, ale oba bloky by stále existovaly a měly by asi polovinu sady validátorů atestujících pro každou větev. Mezitím zbývající škodliví validátoři zadržují své atestace. Poté selektivním uvolněním atestací ve prospěch jedné či druhé větve právě pro dostatek validátorů v okamžiku, kdy se spustí algoritmus volby větve, převáží kumulativní váhu atestací ve prospěch jedné či druhé větve. To může pokračovat neomezeně, přičemž útočící validátoři udržují rovnoměrné rozdělení validátorů mezi oběma větvemi. Vzhledem k tomu, že žádná větev nemůže přilákat dvoutřetinovou nadpoloviční většinu, síť by se nefinalizovala.
+
+**Odrazové útoky** jsou podobné. Hlasy jsou opět zadrženy útočícími validátory. Místo uvolnění hlasů, aby se udrželo rovnoměrné rozdělení mezi dvěma větvemi, používají své hlasy ve vhodných okamžicích k ospravedlnění kontrolních bodů, které se střídají mezi větví A a větví B. Toto přeskakování ospravedlnění mezi dvěma větvemi brání tomu, aby existovaly páry ospravedlněných zdrojových a cílových kontrolních bodů, které by mohly být finalizovány na obou řetězcích, což zastaví finalitu.
+
+
+
+Odrazové i vyrovnávací útoky spoléhají na to, že útočník má velmi jemnou kontrolu nad časováním zpráv v síti, což je nepravděpodobné. Nicméně v protokolu jsou zabudovány obrany ve formě dodatečného vážení daného rychlým zprávám ve srovnání s pomalými. To je známé jako [posílení váhy navrhovatele](https://github.com/ethereum/consensus-specs/pull/2730). Pro obranu proti odrazovým útokům byl algoritmus volby větve aktualizován tak, aby se nejnovější ospravedlněný kontrolní bod mohl přepnout na alternativní řetězec pouze během [první 1/3 slotů v každé epoše](https://ethresear.ch/t/prevention-of-bouncing-attack-on-ffg/6114). Tato podmínka brání útočníkovi, aby si šetřil hlasy na pozdější nasazení – algoritmus volby větve jednoduše zůstane věrný kontrolnímu bodu, který si vybral v první 1/3 epochy, během níž by většina poctivých validátorů hlasovala.
+
+Dohromady tato opatření vytvářejí scénář, kdy poctivý navrhovatel bloku vydá svůj blok velmi rychle po začátku slotu, poté následuje období ~1/3 slotu (4 sekundy), kdy tento nový blok může způsobit, že algoritmus volby větve přejde na jiný řetězec. Po uplynutí stejného termínu jsou atestace, které přicházejí od pomalých validátorů, váženy méně než ty, které dorazily dříve. To silně upřednostňuje rychlé navrhovatele a validátory při určování hlavy řetězce a podstatně snižuje pravděpodobnost úspěšného vyrovnávacího nebo odrazového útoku.
+
+Stojí za zmínku, že posilování navrhovatele samo o sobě brání pouze „levným reorganizacím“, tj. těm, o které se pokouší útočník s malým stakem. Ve skutečnosti může být samotné posilování navrhovatele zneužito většími držiteli staku. Autoři [tohoto příspěvku](https://ethresear.ch/t/change-fork-choice-rule-to-mitigate-balancing-and-reorging-attacks/11127) popisují, jak útočník se 7% staku může strategicky nasadit své hlasy, aby oklamal poctivé validátory, aby stavěli na jeho větvi, a reorganizoval tak poctivý blok. Tento útok byl navržen za předpokladu ideálních podmínek latence, které jsou velmi nepravděpodobné. Šance jsou pro útočníka stále velmi malé a větší stake také znamená větší rizikový kapitál a silnější ekonomickou demotivaci.
+
+Byl také navržen [vyrovnávací útok specificky zaměřený na pravidlo LMD](https://ethresear.ch/t/balancing-attack-lmd-edition/11853), který byl navržen jako životaschopný navzdory posilování navrhovatele. Útočník nastaví dva konkurenční řetězce tak, že ekvivokuje svůj návrh bloku a každý blok rozšíří asi do poloviny sítě, čímž nastaví přibližnou rovnováhu mezi větvemi. Poté spolupracující validátoři ekvivokují své hlasy a načasují je tak, aby polovina sítě obdržela jejich hlasy pro větev `A` jako první a druhá polovina obdržela jejich hlasy pro větev `B` jako první. Protože pravidlo LMD zahodí druhou atestaci a ponechá si pouze první pro každého validátora, polovina sítě vidí hlasy pro `A` a žádné pro `B`, druhá polovina vidí hlasy pro `B` a žádné pro `A`. Autoři popisují, že pravidlo LMD dává protivníkovi „pozoruhodnou sílu“ k provedení vyrovnávacího útoku.
+
+Tento LMD vektor útoku byl uzavřen [aktualizací algoritmu volby větve](https://github.com/ethereum/consensus-specs/pull/2845) tak, aby zcela vyloučil ekvivokující validátory z posuzování volby větve. Ekvivokujícím validátorům je také snížen budoucí vliv algoritmem volby větve. To brání vyrovnávacímu útoku popsanému výše a zároveň udržuje odolnost proti lavinovým útokům.
+
+Další třída útoků, nazývaná [**lavinové útoky**](https://ethresear.ch/t/avalanche-attack-on-proof-of-stake-ghost/11854/3), byla popsána ve [studii z března 2022](https://arxiv.org/pdf/2203.01315.pdf). K provedení lavinového útoku potřebuje útočník ovládat několik po sobě jdoucích navrhovatelů bloků. V každém ze slotů pro návrh bloku útočník zadrží svůj blok a sbírá je, dokud poctivý řetězec nedosáhne stejné váhy podstromu jako zadržené bloky. Poté jsou zadržené bloky uvolněny tak, aby maximálně ekvivokovaly. Autoři naznačují, že posilování navrhovatele – primární obrana proti vyrovnávacím a odrazovým útokům – nechrání proti některým variantám lavinového útoku. Autoři však také demonstrovali útok pouze na vysoce idealizované verzi algoritmu volby větve Etherea (použili GHOST bez LMD).
+
+Lavinový útok je zmírněn částí LMD algoritmu volby větve LMD-GHOST. LMD znamená „latest-message-driven“ (řízený poslední zprávou) a odkazuje na tabulku, kterou si každý validátor udržuje a která obsahuje poslední zprávu obdrženou od ostatních validátorů. Toto pole je aktualizováno pouze v případě, že nová zpráva je z pozdějšího slotu než ta, která je již v tabulce pro konkrétního validátora. V praxi to znamená, že v každém slotu je první přijatá zpráva ta, která je akceptována, a jakékoli další zprávy jsou ekvivokace, které se ignorují. Jinými slovy, konsensuální klienti nepočítají ekvivokace – používají první příchozí zprávu od každého validátora a ekvivokace jsou jednoduše zahozeny, což brání lavinovým útokům.
+
+Existuje několik dalších potenciálních budoucích vylepšení pravidla volby větve, které by mohly přidat k bezpečnosti poskytované posílením navrhovatele. Jedním je [view-merge](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739), kde atestátoři zmrazí svůj pohled na volbu větve `n` sekund před začátkem slotu a navrhovatel pak pomáhá synchronizovat pohled na řetězec v síti. Dalším potenciálním vylepšením je [finalita jednoho slotu](https://notes.ethereum.org/@vbuterin/single_slot_finality), která chrání proti útokům založeným na časování zpráv finalizací řetězce po jediném slotu.
+
+#### Zpoždění finality {#finality-delay}
+
+[Stejná studie](https://econcs.pku.edu.cn/wine2020/wine2020/Workshop/GTiB20_paper_8.pdf), která poprvé popsala levný útok reorganizací jednoho bloku, také popsala útok zpožděním finality (a.k.a „selhání živosti“), který spoléhá na to, že útočník je navrhovatelem bloku na hranici epochy. To je kritické, protože tyto bloky na hranici epochy se stávají kontrolními body, které Casper FFG používá k finalizaci částí řetězce. Útočník jednoduše zadrží svůj blok, dokud dostatek poctivých validátorů nepoužije své FFG hlasy ve prospěch bloku na hranici předchozí epochy jako aktuálního cíle finalizace. Poté uvolní svůj zadržený blok. Atestují svůj blok a zbývající poctiví validátoři také, čímž vytvářejí větve s různými cílovými kontrolními body. Pokud to načasovali správně, zabrání finalitě, protože nebude existovat dvoutřetinová nadpoloviční většina atestující pro žádnou větev. Čím menší je stake, tím přesnější musí být načasování, protože útočník přímo ovládá méně atestací, a tím nižší je pravděpodobnost, že útočník ovládá validátora navrhujícího daný blok na hranici epochy.
+
+#### Útoky na velkou vzdálenost {#long-range-attacks}
+
+Existuje také třída útoků specifických pro blockchainy s důkazem podílem, která zahrnuje validátora, jenž se podílel na genesis bloku, udržujícího oddělenou větev blockchainu vedle té poctivé a nakonec přesvědčujícího poctivou sadu validátorů, aby na ni přešla v nějakém vhodném okamžiku mnohem později. Tento typ útoku není na Ethereu možný kvůli finalizačnímu zařízení, které zajišťuje, že se všichni validátoři shodnou na stavu poctivého řetězce v pravidelných intervalech („kontrolních bodech“). Tento jednoduchý mechanismus neutralizuje útočníky na velkou vzdálenost, protože klienti Etherea jednoduše nebudou reorganizovat finalizované bloky. Nové uzly se připojují k síti tak, že najdou důvěryhodný nedávný haš stavu (kontrolní bod „[slabé subjektivity](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/)“) a použijí jej jako pseudo-genesis blok, na kterém staví. To vytváří „důvěryhodnou bránu“ pro nový uzel vstupující do sítě, než si může začít ověřovat informace sám.
+
+#### Odepření služby {#denial-of-service}
+
+Mechanismus PoS Etherea vybírá jednoho validátora z celkové sady validátorů jako navrhovatele bloku v každém slotu. To lze vypočítat pomocí veřejně známé funkce a je možné, aby protivník identifikoval dalšího navrhovatele bloku s mírným předstihem před jeho návrhem bloku. Poté může útočník spamovat navrhovatele bloku, aby mu zabránil ve výměně informací s jeho vrstevníky. Zbytku sítě by se zdálo, že navrhovatel bloku byl offline, a slot by jednoduše zůstal prázdný. To by mohla být forma cenzury proti konkrétním validátorům, která by jim bránila v přidávání informací do blockchainu. Implementace voleb jediného tajného lídra (SSLE) nebo voleb nejediného tajného lídra zmírní rizika DoS, protože pouze navrhovatel bloku ví, že byl vybrán, a výběr není znám předem. To ještě není implementováno, ale je to aktivní oblast [výzkumu a vývoje](https://ethresear.ch/t/secret-non-single-leader-election/11789).
+
+To vše poukazuje na skutečnost, že je velmi obtížné úspěšně zaútočit na Ethereum s malým stakem. Životaschopné útoky, které zde byly popsány, vyžadují idealizovaný algoritmus volby větve, nepravděpodobné podmínky sítě nebo vektory útoku již byly uzavřeny relativně drobnými záplatami klientského softwaru. To samozřejmě nevylučuje možnost existence zero-day zranitelností, ale ukazuje to extrémně vysokou laťku technické zdatnosti, znalostí konsensuální vrstvy a štěstí, které jsou nutné, aby byl útočník s menšinovým stakem účinný. Z pohledu útočníka by jejich nejlepší sázka mohla být nashromáždit co nejvíce etheru a vrátit se vyzbrojeni větším podílem celkového staku.
+
+### Útočníci používající >= 33 % celkového staku {#attackers-with-33-stake}
+
+Všechny útoky zmíněné dříve v tomto článku se stávají pravděpodobnějšími, když má útočník více stakovaného etheru k hlasování a více validátorů, kteří mohou být vybráni k navrhování bloků v každém slotu. Škodlivý validátor by se proto mohl zaměřit na ovládnutí co největšího množství stakovaného etheru.
+
+33 % stakovaného etheru je pro útočníka referenční hodnota, protože s čímkoli větším než tímto množstvím má schopnost zabránit finalizaci řetězce, aniž by musel jemně ovládat akce ostatních validátorů. Mohou jednoduše všichni společně zmizet. Pokud 1/3 nebo více stakovaného etheru škodlivě atestuje nebo neprovádí atestaci, pak nemůže existovat dvoutřetinová nadpoloviční většina a řetězec se nemůže finalizovat. Obranou proti tomu je únik nečinnosti. Únik nečinnosti identifikuje ty validátory, kteří neprovádějí atestaci nebo atestují v rozporu s většinou. Stakovaný ether vlastněný těmito neatestujícími validátory postupně ubývá, dokud nakonec společně nepředstavují méně než 1/3 celkového množství, takže se řetězec může znovu finalizovat.
+
+Účelem úniku nečinnosti je znovu zprovoznit finalizaci řetězce. Útočník však také ztratí část svého stakovaného etheru. Trvalá nečinnost u validátorů představujících 33 % celkového stakovaného etheru je velmi drahá, i když validátoři nejsou potrestáni (slashed).
+
+Za předpokladu, že síť Ethereum je asynchronní (tj. dochází ke zpoždění mezi odesláním a přijetím zpráv), útočník ovládající 34 % celkového staku by mohl způsobit dvojí finalitu. Je to proto, že útočník může ekvivokovat, když je vybrán jako producent bloku, a poté dvakrát hlasovat se všemi svými validátory. To vytváří situaci, kdy existuje větev blockchainu, přičemž každá má 34 % stakovaného etheru, který pro ni hlasuje. Každá větev vyžaduje pouze 50 % zbývajících validátorů, aby hlasovali v její prospěch, aby obě větve byly podporovány nadpoloviční většinou, v takovém případě se obě řetězce mohou finalizovat (protože 34 % útočníkových validátorů + polovina zbývajících 66 % = 67 % na každé větvi). Konkurenční bloky by musely být přijaty asi 50 % poctivých validátorů, takže tento útok je životaschopný pouze tehdy, když má útočník určitou míru kontroly nad časováním zpráv šířených po síti, aby mohl nasměrovat polovinu poctivých validátorů na každý řetězec. Útočník by nutně zničil celý svůj stake (34 % z ~10 milionů etherů s dnešní sadou validátorů), aby dosáhl této dvojí finality, protože 34 % jeho validátorů by současně hlasovalo dvakrát – což je trestný čin (slashable) s maximální korelační penalizací. Obranou proti tomuto útoku je velmi vysoká cena zničení 34 % celkového stakovaného etheru. Zotavení z tohoto útoku by vyžadovalo, aby se komunita Etherea koordinovala „mimo pásmo“ a dohodla se, že bude následovat jednu nebo druhou větev a druhou ignorovat.
+
+### Útočníci používající ~50 % celkového staku {#attackers-with-50-stake}
+
+S 50 % stakovaného etheru by zlomyslná skupina validátorů teoreticky mohla rozdělit řetězec na dvě stejně velké větve a poté jednoduše použít celý svůj 50% stake k hlasování v rozporu s poctivou sadou validátorů, čímž by udržela obě větve a zabránila finalitě. Únik nečinnosti na obou větvích by nakonec vedl k finalizaci obou řetězců. V tomto okamžiku je jedinou možností vrátit se k sociálnímu zotavení.
+
+Je velmi nepravděpodobné, že by nepřátelská skupina validátorů mohla trvale ovládat přesně 50 % celkového staku vzhledem k určité fluktuaci počtu poctivých validátorů, latenci sítě atd. – obrovské náklady na provedení takového útoku v kombinaci s nízkou pravděpodobností úspěchu se zdají být silnou demotivací pro racionálního útočníka, zejména když malá dodatečná investice do získání více než 50 % odemkne mnohem více síly.
+
+S více než 50 % celkového staku by útočník mohl ovládnout algoritmus volby větve. V tomto případě by útočník mohl atestovat s většinovým hlasem, což by mu dalo dostatečnou kontrolu k provádění krátkých reorganizací, aniž by musel klamat poctivé klienty. Poctiví validátoři by následovali, protože jejich algoritmus volby větve by také viděl útočníkem preferovaný řetězec jako nejtěžší, takže by se řetězec mohl finalizovat. To umožňuje útočníkovi cenzurovat určité transakce, provádět krátkodobé reorganizace a extrahovat maximální MEV přeskupováním bloků ve svůj prospěch. Obranou proti tomu je obrovská cena většinového staku (v současnosti téměř 19 miliard USD), který je útočníkem ohrožen, protože sociální vrstva pravděpodobně zasáhne a přijme poctivou menšinovou větev, což dramaticky znehodnotí útočníkův stake.
+
+### Útočníci používající >=66 % celkového staku {#attackers-with-66-stake}
+
+Útočník s 66 % nebo více celkového stakovaného etheru může finalizovat svůj preferovaný řetězec, aniž by musel nutit poctivé validátory. Útočník může jednoduše hlasovat pro svou preferovanou větev a poté ji finalizovat, jednoduše proto, že může hlasovat s nepoctivou nadpoloviční většinou. Jako držitel nadpoloviční většiny by útočník vždy ovládal obsah finalizovaných bloků, s mocí utrácet, vracet a znovu utrácet, cenzurovat určité transakce a reorganizovat řetězec podle libosti. Nákupem dalšího etheru k ovládnutí 66 % místo 51 % si útočník v podstatě kupuje schopnost provádět ex post reorganizace a vrácení finality (tj. měnit minulost a ovládat budoucnost). Jedinou skutečnou obranou jsou zde obrovské náklady na 66 % celkového stakovaného etheru a možnost vrátit se k sociální vrstvě a koordinovat přijetí alternativní větve. To si můžeme podrobněji prozkoumat v další části.
+
+## Lidé: poslední obranná linie {#people-the-last-line-of-defense}
+
+Pokud se nepoctivým validátorům podaří finalizovat svou preferovanou verzi řetězce, komunita Etherea se dostane do obtížné situace. Kanonický řetězec zahrnuje nepoctivou část zapečenou do své historie, zatímco poctiví validátoři mohou být potrestáni za atestování alternativního (poctivého) řetězce. Všimněte si, že finalizovaný, ale nesprávný řetězec by mohl vzniknout také z chyby ve většinovém klientovi. Nakonec je posledním útočištěm spoléhat se na sociální vrstvu – 0. vrstvu – k vyřešení situace.
+
+Jednou ze silných stránek konsensu PoS Etherea je, že existuje [řada obranných strategií](https://youtu.be/1m12zgJ42dI?t=1712), které může komunita použít tváří v tvář útoku. Minimální odpovědí by mohlo být nucené opuštění sítě útočníkovými validátory bez jakéhokoli dalšího postihu. Pro opětovný vstup do sítě by se útočník musel zařadit do aktivační fronty, která zajišťuje, že se sada validátorů rozrůstá postupně. Například přidání dostatečného počtu validátorů ke zdvojnásobení množství stakovaného etheru trvá asi 200 dní, což poctivým validátorům efektivně kupuje 200 dní, než se útočník může pokusit o další 51%ní útok. Komunita by se však také mohla rozhodnout potrestat útočníka přísněji, a to zrušením minulých odměn nebo spálením části (až 100 %) jeho stakovaného kapitálu.
+
+Ať už je útočníkovi uložen jakýkoli trest, komunita se také musí společně rozhodnout, zda je nepoctivý řetězec, přestože je favorizován algoritmem volby větve zakódovaným v klientech Etherea, ve skutečnosti neplatný a zda by komunita měla místo toho stavět na poctivém řetězci. Poctiví validátoři by se mohli kolektivně dohodnout, že budou stavět na komunitou akceptované větvi blockchainu Etherea, která by se například mohla odpojit od kanonického řetězce před začátkem útoku nebo by mohla mít nuceně odstraněné validátory útočníka. Poctiví validátoři by byli motivováni stavět na tomto řetězci, protože by se vyhnuli trestům, které by jim byly uloženy za (oprávněné) neprovedení atestace útočníkova řetězce. Burzy, on-rampy a aplikace postavené na Ethereu by pravděpodobně preferovaly být na poctivém řetězci a následovaly by poctivé validátory na poctivý blockchain.
+
+To by však byla podstatná výzva pro správu. Někteří uživatelé a validátoři by nepochybně utrpěli v důsledku přechodu zpět na poctivý řetězec, transakce v blocích validovaných po útoku by mohly být potenciálně vráceny, což by narušilo aplikační vrstvu, a jednoduše to podkopává etiku některých uživatelů, kteří mají tendenci věřit, že „kód je zákon“. Burzy a aplikace budou s největší pravděpodobností mít propojené offchain akce s onchain transakcemi, které mohou být nyní vráceny, což spustí kaskádu odvolání a revizí, které by bylo těžké spravedlivě rozplést, zejména pokud byly neoprávněně získané zisky smíchány, uloženy do DeFi nebo jiných derivátů se sekundárními účinky pro poctivé uživatele. Nepochybně někteří uživatelé, možná i institucionální, by již profitovali z nepoctivého řetězce buď díky prozíravosti, nebo náhodě, a mohli by se postavit proti větvi, aby ochránili své zisky. Objevily se výzvy k nácviku reakce komunity na >51%ní útoky, aby bylo možné rychle provést rozumnou koordinovanou mitigaci. Užitečnou diskusi od Vitalika na ethresear.ch najdete [zde](https://ethresear.ch/t/timeliness-detectors-and-51-attack-recovery-in-blockchains/6925) a [zde](https://ethresear.ch/t/responding-to-51-attacks-in-casper-ffg/6363) a na Twitteru [zde](https://twitter.com/skylar_eth/status/1551798684727508992?s=20&t=oHZ1xv8QZdOgAXhxZKtHEw). Cílem koordinované sociální reakce by mělo být velmi cílené a specifické potrestání útočníka a minimalizace dopadů na ostatní uživatele.
+
+Správa je již sama o sobě složitým tématem. Řízení nouzové reakce 0. vrstvy na nepoctivý finalizující řetězec by pro komunitu Etherea bylo nepochybně náročné, ale v historii Etherea se to [stalo](/ethereum-forks/#dao-fork-summary) – [dvakrát](/ethereum-forks/#tangerine-whistle)).
+
+Nicméně je něco docela uspokojivého na tom, že poslední útočiště spočívá v reálném světě. Nakonec, i s touto fenomenální technologickou soustavou nad námi, pokud by se kdy stalo to nejhorší, skuteční lidé by se z toho museli koordinovaně dostat.
+
+## Shrnutí {#summary}
+
+Tato stránka prozkoumala některé způsoby, jak by se útočníci mohli pokusit zneužít konsensuální protokol Etherea s důkazem podílem. Byly prozkoumány reorganizace a zpoždění finality pro útočníky s rostoucím podílem celkového stakovaného etheru. Celkově má bohatší útočník větší šanci na úspěch, protože jeho stake se promítá do hlasovací síly, kterou může použít k ovlivnění obsahu budoucích bloků. Při určitých prahových hodnotách stakovaného etheru se síla útočníka zvyšuje:
+
+33 %: zpoždění finality
+
+34 %: zpoždění finality, dvojí finalita
+
+51 %: zpoždění finality, dvojí finalita, cenzura, kontrola nad budoucností blockchainu
+
+66 %: zpoždění finality, dvojí finalita, cenzura, kontrola nad budoucností i minulostí blockchainu
+
+Existuje také řada sofistikovanějších útoků, které vyžadují malé množství stakovaného etheru, ale spoléhají na velmi sofistikovaného útočníka, který má jemnou kontrolu nad časováním zpráv, aby ovlivnil poctivou sadu validátorů ve svůj prospěch.
+
+Celkově je navzdory těmto potenciálním vektorům útoku riziko úspěšného útoku nízké, rozhodně nižší než u ekvivalentů s důkazem prací. Je to kvůli obrovským nákladům na stakovaný ether, který je ohrožen útočníkem, jenž se snaží přemoci poctivé validátory svou hlasovací silou. Zabudovaná vrstva pobídek „cukru a biče“ chrání před většinou zločinného jednání, zejména u útočníků s nízkým stakem. Jemnější odrazové a vyrovnávací útoky také pravděpodobně neuspějí, protože reálné podmínky sítě činí jemnou kontrolu doručování zpráv konkrétním podmnožinám validátorů velmi obtížně dosažitelnou a týmy klientů rychle uzavřely známé vektory odrazových, vyrovnávacích a lavinových útoků jednoduchými záplatami.
+
+Útoky s 34 %, 51 % nebo 66 % by pravděpodobně vyžadovaly sociální koordinaci mimo pásmo k vyřešení. I když by to pro komunitu pravděpodobně bylo bolestivé, schopnost komunity reagovat mimo pásmo je pro útočníka silnou demotivací. Sociální vrstva Etherea je konečnou pojistkou – technicky úspěšný útok by stále mohl být neutralizován, pokud by se komunita dohodla na přijetí poctivé větve. Dojde k závodu mezi útočníkem a komunitou Etherea – miliardy dolarů utracené za 66% útok by pravděpodobně byly zničeny úspěšným sociálním koordinačním útokem, pokud by byl proveden dostatečně rychle, a útočníkovi by zůstaly těžké pytle nelikvidního stakovaného etheru na známém nepoctivém řetězci ignorovaném komunitou Etherea. Pravděpodobnost, že by to pro útočníka bylo ziskové, je dostatečně nízká na to, aby to bylo účinným odstrašujícím prostředkem. Proto je investice do udržování soudržné sociální vrstvy s pevně sladěnými hodnotami tak důležitá.
+
+## Další čtení {#further-reading}
+
+- [Podrobnější verze této stránky](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs)
+- [Vitalik o finalitě vypořádání](https://blog.ethereum.org/2016/05/09/on-settlement-finality/)
+- [Studie o LMD GHOST](https://arxiv.org/abs/2003.03052)
+- [Práce na Casper-FFG](https://arxiv.org/abs/1710.09437)
+- [Práce na Casper](https://arxiv.org/pdf/2003.03052.pdf)
+- [Specifikace konsensu pro posílení váhy navrhovatele](https://github.com/ethereum/consensus-specs/pull/2730)
+- [Odrazové útoky na ethresear.ch](https://ethresear.ch/t/prevention-of-bouncing-attack-on-ffg/6114)
+- [Výzkum SSLE](https://ethresear.ch/t/secret-non-single-leader-election/11789)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attestations/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attestations/index.md
new file mode 100644
index 00000000000..439dec46c58
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attestations/index.md
@@ -0,0 +1,92 @@
+---
+title: Atestace
+description: Popis atestací na Ethereu s důkazem podílem.
+lang: cs
+---
+
+Očekává se, že validátor během každé epochy vytvoří, podepíše a odvysílá atestaci. Tato stránka popisuje, jak tyto atestace vypadají a jak jsou zpracovávány a předávány mezi konsensuálními klienty.
+
+## Co je atestace? {#what-is-an-attestation}
+
+Každou [epochu](/glossary/#epoch) (6,4 minuty) validátor navrhuje síti atestaci. Atestace se týká konkrétního slotu v epoše. Účelem atestace je hlasovat ve prospěch pohledu validátora na řetězec, zejména pro nejnovější potvrzený blok a první blok v aktuální epoše (známé jako kontrolní body `source` a `target`). Tyto informace od všech zúčastněných validátorů se zkombinují, což síti umožňuje dosáhnout konsensu o stavu blockchainu.
+
+Atestace obsahuje následující komponenty:
+
+- `aggregation_bits`: bitový seznam validátorů, kde pozice odpovídá indexu validátora v jeho výboru; hodnota (0/1) udává, zda validátor podepsal `data` (tzn. zda je aktivní a souhlasí s navrhovatelem bloku)
+- `data`: podrobnosti týkající se atestace, jak je definováno níže
+- `signature`: podpis BLS, který agreguje podpisy jednotlivých validátorů
+
+Prvním úkolem atestujícího validátora je sestavit `data`. `data` obsahuje následující informace:
+
+- `slot`: Číslo slotu, na který se atestace vztahuje
+- `index`: Číslo, které identifikuje, do kterého výboru validátor v daném slotu patří
+- `beacon_block_root`: Kořenový haš bloku, který validátor vidí v čele řetězce (výsledek použití algoritmu pro výběr větve)
+- `source`: Část hlasování o finalitě, která udává, co validátoři považují za nejnovější potvrzený blok
+- `target`: Část hlasování o finalitě, která udává, co validátoři považují za první blok v aktuální epoše
+
+Jakmile jsou `data` sestavena, může validátor otočit bit v `aggregation_bits` odpovídající jeho vlastnímu indexu validátora z 0 na 1, aby ukázal, že se zúčastnil.
+
+Nakonec validátor podepíše atestaci a odvysílá ji do sítě.
+
+### Agregovaná atestace {#aggregated-attestation}
+
+S předáváním těchto dat po síti pro každého validátora je spojena značná režie. Proto jsou atestace od jednotlivých validátorů agregovány v podsítích, než jsou odvysílány do širší sítě. To zahrnuje agregaci podpisů tak, aby atestace, která je odvysílána, obsahovala konsensuální `data` a jediný podpis vytvořený spojením podpisů všech validátorů, kteří s těmito `daty` souhlasí. To lze zkontrolovat pomocí `aggregation_bits`, protože to poskytuje index každého validátora v jeho výboru (jehož ID je uvedeno v `data`), který lze použít k dotazování na jednotlivé podpisy.
+
+V každé epoše je v každé podsíti vybráno 16 validátorů, kteří se stanou `agregátory`. Agregátoři shromažďují všechny atestace, o kterých se doslechnou v gossip síti a které mají ekvivalentní `data` jako jejich vlastní. Odesílatel každé shodné atestace je zaznamenán v `aggregation_bits`. Agregátoři poté odvysílají agregát atestací do širší sítě.
+
+Když je validátor vybrán jako navrhovatel bloku, zabalí agregované atestace z podsítí až do posledního slotu do nového bloku.
+
+### Životní cyklus zahrnutí atestace {#attestation-inclusion-lifecycle}
+
+1. Generování
+2. Šíření
+3. Agregace
+4. Šíření
+5. Zahrnutí
+
+Životní cyklus atestace je znázorněn na schématu níže:
+
+
+
+## Odměny {#rewards}
+
+Validátoři jsou za odesílání atestací odměňováni. Odměna za atestaci závisí na příznacích účasti (zdroj, cíl a hlava), základní odměně a míře účasti.
+
+Každý z příznaků účasti může být buď pravdivý, nebo nepravdivý, v závislosti na odeslané atestaci a jejím zpoždění zahrnutí.
+
+Nejlepší scénář nastává, když jsou všechny tři příznaky pravdivé, v takovém případě by validátor získal (za každý správný příznak):
+
+`odměna += základní odměna * váha příznaku * míra atestace příznaku / 64`
+
+Míra atestace příznaku se měří pomocí součtu efektivních zůstatků všech atestujících validátorů pro daný příznak v porovnání s celkovým aktivním efektivním zůstatkem.
+
+### Základní odměna {#base-reward}
+
+Základní odměna se vypočítá podle počtu atestujících validátorů a jejich efektivních uzamčených zůstatků etheru:
+
+`základní odměna = efektivní zůstatek validátora x 2^6 / SQRT(Efektivní zůstatek všech aktivních validátorů)`
+
+#### Zpoždění zahrnutí {#inclusion-delay}
+
+V době, kdy validátoři hlasovali o čele řetězce (`blok n`), `blok n+1` ještě nebyl navržen. Atestace se proto přirozeně zařazují **o jeden blok později**, takže všechny atestace, které hlasovaly o tom, že `blok n` je čelo řetězce, se zařadily do `bloku n+1` a **zpoždění zahrnutí** je 1. Pokud se zpoždění zahrnutí zdvojnásobí na dva sloty, odměna za atestaci se sníží na polovinu, protože pro výpočet odměny za atestaci se základní odměna násobí převrácenou hodnotou zpoždění zahrnutí.
+
+### Scénáře atestací {#attestation-scenarios}
+
+#### Chybějící hlasující validátor {#missing-voting-validator}
+
+Validátoři mají na odeslání své atestace maximálně 1 epochu. Pokud byla atestace v epoše 0 zmeškána, mohou ji odeslat se zpožděním zahrnutí v epoše 1.
+
+#### Chybějící agregátor {#missing-aggregator}
+
+V každé epoše je celkem 16 agregátorů. Kromě toho se náhodní validátoři přihlásí k odběru **dvou podsítí na 256 epoch** a slouží jako záloha pro případ, že by agregátoři chyběli.
+
+#### Chybějící navrhovatel bloku {#missing-block-proposer}
+
+Všimněte si, že v některých případech se šťastný agregátor může stát i navrhovatelem bloku. Pokud atestace nebyla zahrnuta, protože navrhovatel bloku chyběl, další navrhovatel bloku by agregovanou atestaci vyzvedl a zahrnul ji do dalšího bloku. Nicméně, **zpoždění zahrnutí** se zvýší o jedna.
+
+## Další čtení {#further-reading}
+
+- [Atestace v komentované specifikaci konsensu od Vitalika](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#attestationdata)
+- [Atestace na eth2book.info](https://eth2book.info/capella/part3/containers/dependencies/#attestationdata)
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/block-proposal/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/block-proposal/index.md
new file mode 100644
index 00000000000..c43e21faad9
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/block-proposal/index.md
@@ -0,0 +1,69 @@
+---
+title: Návrh bloku
+description: Vysvětlení, jak se navrhují bloky v síti Ethereum s mechanismem konsensu důkaz podílem.
+lang: cs
+---
+
+Bloky jsou základní jednotky blockchainu. Bloky jsou samostatné jednotky informací, které se předávají mezi uzly, odsouhlasují se a přidávají se do databáze každého uzlu. Tato stránka vysvětluje, jak se vytvářejí.
+
+## Předpoklady {#prerequisites}
+
+Navrhování bloků je součástí protokolu důkaz podílem. Pro lepší pochopení této stránky doporučujeme přečíst si o [důkazu podílem](/developers/docs/consensus-mechanisms/pos/) a [architektuře bloků](/developers/docs/blocks/).
+
+## Kdo vytváří bloky? {#who-produces-blocks}
+
+Bloky navrhují účty validátorů. Účty validátorů spravují operátoři uzlů, kteří provozují software validátorů jako součást svých exekučních a konsensuálních klientů a kteří vložili alespoň 32 ETH do smlouvy o vkladu. Každý validátor je však za navržení bloku zodpovědný jen příležitostně. Ethereum měří čas ve slotech a epochách. Každý slot trvá dvanáct sekund a 32 slotů (6,4 minuty) tvoří jednu epochu. Každý slot je příležitostí přidat do sítě Ethereum nový blok.
+
+### Náhodný výběr {#random-selection}
+
+V každém slotu je pseudonáhodně vybrán jeden validátor, který navrhne blok. V blockchainu neexistuje skutečná náhodnost, protože kdyby každý uzel generoval skutečně náhodná čísla, nemohly by dospět ke konsensu. Cílem je naopak učinit proces výběru validátorů nepředvídatelným. Náhodnosti se v síti Ethereum dosahuje pomocí algoritmu RANDAO, který smíchá haš od navrhovatele bloku se seedem, který se aktualizuje s každým blokem. Tato hodnota se používá k výběru konkrétního validátora z celkové sady validátorů. Výběr validátora je stanoven dvě epochy předem, aby se zabránilo určitým druhům manipulace se seedem.
+
+Ačkoli validátoři přispívají do RANDAO v každém slotu, globální hodnota RANDAO se aktualizuje pouze jednou za epochu. Pro výpočet indexu dalšího navrhovatele bloku se hodnota RANDAO smíchá s číslem slotu, aby v každém slotu vznikla jedinečná hodnota. Pravděpodobnost výběru jednotlivého validátora není pouze `1/N` (kde `N` = celkový počet aktivních validátorů). Místo toho je vážena efektivním zůstatkem ETH každého validátora. Maximální efektivní zůstatek je 32 ETH (to znamená, že `zůstatek < 32 ETH` vede k nižší váze než `zůstatek == 32 ETH`, ale `zůstatek > 32 ETH` nevede k vyšší váze než `zůstatek == 32 ETH`).
+
+V každém slotu je vybrán pouze jeden navrhovatel bloku. Za normálních podmínek vytvoří a vydá jeden tvůrce bloku jeden blok ve svém vyhrazeném slotu. Vytvoření dvou bloků pro stejný slot je přestupek, za který hrozí trest (tzv. slashing), často známý jako „ekvivokace“.
+
+## Jak se blok vytváří? {#how-is-a-block-created}
+
+Očekává se, že navrhovatel bloku bude vysílat podepsaný beacon blok, který navazuje na nejnovější hlavu řetězce podle pohledu jeho vlastního lokálně spuštěného algoritmu pro výběr větve. Algoritmus pro výběr větve použije všechny atestace ve frontě z předchozího slotu a poté najde blok s největší kumulovanou váhou atestací ve své historii. Tento blok je rodičem nového bloku vytvořeného navrhovatelem.
+
+Navrhovatel bloku vytváří blok shromažďováním dat z vlastní lokální databáze a pohledu na řetězec. Obsah bloku je uveden v úryvku níže:
+
+```rust
+class BeaconBlockBody(Container):
+ randao_reveal: BLSSignature
+ eth1_data: Eth1Data
+ graffiti: Bytes32
+ proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS]
+ attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS]
+ attestations: List[Attestation, MAX_ATTESTATIONS]
+ deposits: List[Deposit, MAX_DEPOSITS]
+ voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS]
+ sync_aggregate: SyncAggregate
+ execution_payload: ExecutionPayload
+```
+
+Pole `randao_reveal` obsahuje ověřitelnou náhodnou hodnotu, kterou navrhovatel bloku vytvoří podepsáním čísla aktuální epochy. `eth1_data` je hlasování o pohledu navrhovatele bloku na smlouvu o vkladu, včetně kořene Merkle trie vkladů a celkového počtu vkladů, který umožňuje ověřování nových vkladů. `graffiti` je volitelné pole, které lze použít k přidání zprávy do bloku. `proposer_slashings` a `attester_slashings` jsou pole, která obsahují důkaz, že se někteří validátoři podle pohledu navrhovatele na řetězec dopustili přestupků, za které hrozí trest. `deposits` je seznam nových vkladů validátorů, o kterých ví navrhovatel bloku, a `voluntary_exits` je seznam validátorů, kteří chtějí odejít a o kterých se navrhovatel bloku doslechl v gossip síti na konsensuální vrstvě. `sync_aggregate` je vektor, který ukazuje, kteří validátoři byli dříve přiřazeni k synchronizačnímu výboru (podmnožina validátorů, kteří poskytují data lehkým klientům) a podíleli se na podepisování dat.
+
+`execution_payload` umožňuje předávání informací o transakcích mezi exekučními a konsensuálními klienty. `execution_payload` je blok exekučních dat, který je vnořen do beacon bloku. Pole uvnitř `execution_payload` odrážejí strukturu bloku popsanou ve Žluté knize Etherea, s tím rozdílem, že neobsahují ommery a místo `difficulty` existuje `prev_randao`. Exekuční klient má přístup k lokálnímu poolu transakcí, o kterých se dozvěděl ve své vlastní gossip síti. Tyto transakce se spouštějí lokálně, aby se vygeneroval aktualizovaný stavový strom (trie), známý jako post-state. Transakce jsou zahrnuty v `execution_payload` jako seznam nazvaný `transactions` a post-state je uveden v poli `state-root`.
+
+Všechna tato data jsou shromážděna v beacon bloku, podepsána a vysílána peerům navrhovatele bloku, kteří je dále šíří svým peerům atd.
+
+Přečtěte si více o [anatomii bloků](/developers/docs/blocks).
+
+## Co se stane s blokem? {#what-happens-to-blocks}
+
+Blok je přidán do lokální databáze navrhovatele bloku a vysílán peerům prostřednictvím gossip sítě konsensuální vrstvy. Když validátor obdrží blok, ověří data v něm, včetně kontroly, zda má blok správného rodiče, odpovídá správnému slotu, zda je index navrhovatele očekávaný, zda je odhalení RANDAO platné a zda navrhovatel nebyl potrestán (slashingem). `execution_payload` se rozbalí a exekuční klient validátora znovu provede transakce v seznamu, aby zkontroloval navrhovanou změnu stavu. Za předpokladu, že blok projde všemi těmito kontrolami, každý validátor přidá blok do svého vlastního kanonického řetězce. Proces se pak znovu spustí v dalším slotu.
+
+## Odměny za blok {#block-rewards}
+
+Navrhovatel bloku dostává za svou práci odměnu. Existuje `base_reward` (základní odměna) vypočtená jako funkce počtu aktivních validátorů a jejich efektivních zůstatků. Navrhovatel bloku pak obdrží zlomek `base_reward` za každou platnou atestaci obsaženou v bloku; čím více validátorů blok dosvědčí, tím větší je odměna navrhovatele bloku. Existuje také odměna za nahlášení validátorů, kteří by měli být potrestáni (slashingem), která se rovná `1/512 * efektivní zůstatek` za každého potrestaného validátora.
+
+[Více o odměnách a trestech](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties)
+
+## Další čtení {#further-reading}
+
+- [Úvod do bloků](/developers/docs/blocks/)
+- [Úvod do důkazu podílem](/developers/docs/consensus-mechanisms/pos/)
+- [Specifikace konsensu Etherea](https://github.com/ethereum/consensus-specs)
+- [Úvod do Gasperu](/developers/docs/consensus-mechanisms/pos/gasper/)
+- [Vylepšování Etherea](https://eth2book.info/)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/faqs/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/faqs/index.md
new file mode 100644
index 00000000000..f69c674d78e
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/faqs/index.md
@@ -0,0 +1,172 @@
+---
+title: Často kladené otázky
+description: Často kladené otázky ohledně Etherea s důkazem podílem.
+lang: cs
+---
+
+## Co je to důkaz podílem {#what-is-proof-of-stake}
+
+Důkaz podílem je třída algoritmu, která může poskytnout zabezpečení blockchainům tím, že zajistí, že útočníci, kteří jednají nečestně, přijdou o hodnotná aktiva. Systémy s důkazem podílem vyžadují, aby sada validátorů zpřístupnila nějaký majetek, který může být zničen, pokud se validátor prokazatelně chová nečestně. Ethereum používá mechanismus důkazu podílem k zabezpečení blockchainu.
+
+## Jak si stojí důkaz podílem v porovnání s důkazem prací? {#comparison-to-proof-of-work}
+
+Jak důkaz prací, tak důkaz podílem jsou mechanismy, které ekonomicky odrazují škodlivé aktéry od spamování nebo podvodů v síti. V obou případech uzly, které se aktivně účastní konsensu, vkládají "do sítě" nějaké aktivum, o které přijdou, pokud se budou chovat nesprávně.
+
+V případě důkazu prací je tímto aktivem energie. Uzel, známý jako těžař, spouští algoritmus, jehož cílem je vypočítat hodnotu rychleji než jakýkoli jiný uzel. Nejrychlejší uzel má právo navrhnout blok do řetězce. Aby mohl těžař změnit historii řetězce nebo ovládnout navrhování bloků, musel by mít tolik výpočetního výkonu, aby vždy vyhrál závod. Je to neúměrně drahé a obtížně proveditelné, což chrání řetězec před útoky. Energie potřebná k "těžbě" pomocí důkazu prací je reálné aktivum, za které těžaři platí.
+
+Důkaz podílem vyžaduje, aby uzly, známé jako validátoři, explicitně odeslaly kryptoaktivum do chytrého kontraktu. Pokud se validátor chová nesprávně, může být toto kryptoaktivum zničeno, protože svá aktiva "stakují" přímo do řetězce, nikoli nepřímo prostřednictvím výdajů na energii.
+
+Důkaz prací je mnohem energeticky náročnější, protože při procesu těžby se spotřebovává elektřina. Na druhou stranu důkaz podílem vyžaduje jen velmi malé množství energie – validátoři Etherea mohou dokonce běžet na zařízení s nízkou spotřebou, jako je Raspberry Pi. Mechanismus důkazu podílem Etherea je považován za bezpečnější než důkaz prací, protože náklady na útok jsou vyšší a důsledky pro útočníka jsou závažnější.
+
+Důkaz prací versus důkaz podílem je kontroverzní téma. [Blog Vitalika Buterina](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-are-the-benefits-of-proof-of-stake-as-opposed-to-proof-of-work) a debata mezi Justinem Drakem a Lyn Aldenovou poskytují dobré shrnutí argumentů.
+
+
+
+## Je důkaz podílem energeticky účinný? {#is-pos-energy-efficient}
+
+Ano. Uzly v síti s důkazem podílem spotřebovávají nepatrné množství energie. Studie třetí strany dospěla k závěru, že celá síť Ethereum s důkazem podílem spotřebuje přibližně 0,0026 TWh/rok – což je asi 13 000krát méně než hraní her v samotných USA.
+
+[Více o spotřebě energie Etherea](/energy-consumption/).
+
+## Je důkaz podílem bezpečný? {#is-pos-secure}
+
+Důkaz podílem Etherea je velmi bezpečný. Mechanismus byl osm let důkladně zkoumán, vyvíjen a testován, než byl spuštěn do ostrého provozu. Bezpečnostní záruky se liší od blockchainů s důkazem prací. V důkazu podílem mohou být škodliví validátoři aktivně potrestáni ("slashed") a vyloučeni ze sady validátorů, což je stojí značné množství ETH. V případě důkazu prací může útočník opakovat svůj útok, dokud má dostatečný hašovací výkon. Je také nákladnější provádět ekvivalentní útoky na Ethereum s důkazem podílem než na Ethereum s důkazem prací. K ovlivnění živosti řetězce je zapotřebí alespoň 33 % z celkového stakovaného etheru v síti (kromě případů velmi sofistikovaných útoků s extrémně nízkou pravděpodobností úspěchu). K ovládání obsahu budoucích bloků je zapotřebí alespoň 51 % z celkového stakovaného ETH a k přepsání historie je zapotřebí více než 66 % z celkového staku. Protokol Etherea by zničil tato aktiva ve scénářích 33% nebo 51% útoku a prostřednictvím společenského konsensu ve scénáři 66% útoku.
+
+- [Více o obraně Etherea s důkazem podílem před útočníky](/developers/docs/consensus-mechanisms/pos/attack-and-defense)
+- [Více o návrhu důkazu podílem](https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51)
+
+## Je díky důkazu podílem Ethereum levnější? {#does-pos-make-ethereum-cheaper}
+
+Ne. Cena za odeslání transakce (poplatek za gas) je určena dynamickým trhem s poplatky, který se zvyšuje s rostoucí poptávkou v síti. Mechanismus konsensu to přímo neovlivňuje.
+
+[Více o gasu](/developers/docs/gas).
+
+## Co jsou to uzly, klienti a validátoři? {#what-are-nodes-clients-and-validators}
+
+Uzly jsou počítače připojené k síti Ethereum. Klienti jsou software, který na nich běží a který z počítače dělá uzel. Existují dva typy klientů: exekuční klienti a konsensuální klienti. K vytvoření uzlu jsou zapotřebí oba. Validátor je volitelný doplněk ke konsensuálnímu klientovi, který uzlu umožňuje účastnit se konsensu důkazu podílem. To znamená vytvářet a navrhovat bloky, když je uzel vybrán, a potvrzovat bloky, o kterých se dozví v síti. Pro provozování validátoru musí operátor uzlu vložit 32 ETH do depozitního kontraktu.
+
+- [Více o uzlech a klientech](/developers/docs/nodes-and-clients)
+- [Více o stakování](/staking)
+
+## Je důkaz podílem nová myšlenka? {#is-pos-new}
+
+Ne. Uživatel na BitcoinTalku [navrhl základní myšlenku důkazu podílem](https://bitcointalk.org/index.php?topic=27787.0) jako vylepšení Bitcoinu v roce 2011. Trvalo jedenáct let, než byl připraven k implementaci na hlavní síti Ethereum. Některé jiné řetězce implementovaly důkaz podílem dříve než Ethereum, ale ne specifický mechanismus Etherea (známý jako Gasper).
+
+## Čím je důkaz podílem na Ethereu výjimečný? {#why-is-ethereum-pos-special}
+
+Mechanismus důkazu podílem na Ethereu je svým designem unikátní. Nebyl to první mechanismus důkazu podílem, který byl navržen a implementován, ale je nejrobustnější. Tento mechanismus důkazu podílem je známý jako "Casper". Casper definuje, jak jsou vybíráni validátoři pro navrhování bloků, jak a kdy se provádějí atestace, jak se atestace počítají, odměny a tresty pro validátory, podmínky pro slashing, bezpečnostní mechanismy jako únik neaktivity a podmínky pro "finalitu". Finalita je podmínka, že aby byl blok považován za trvalou součást kanonického řetězce, musí pro něj hlasovat alespoň 66 % z celkového stakovaného ETH v síti. Výzkumníci vyvinuli Casper speciálně pro Ethereum a Ethereum je první a jediný blockchain, který ho implementoval.
+
+Kromě Casperu používá důkaz podílem Etherea algoritmus pro výběr větve nazvaný LMD-GHOST. To je nutné pro případ, že nastane situace, kdy pro stejný slot existují dva bloky. Tím vzniknou dvě větve blockchainu. LMD-GHOST vybere tu, která má největší "váhu" atestací. Váha je počet atestací vážený efektivním zůstatkem validátorů. LMD-GHOST je unikátní pro Ethereum.
+
+Kombinace Casper a LMD_GHOST je známá jako Gasper.
+
+[Více o Gasperu](/developers/docs/consensus-mechanisms/pos/gasper/)
+
+## Co je to slashing? {#what-is-slashing}
+
+Slashing je termín pro zničení části staku validátora a jeho vyloučení ze sítě. Množství ETH ztracených při slashingu se škáluje s počtem „slashed“ validátorů – to znamená, že tajně spolupracující validátoři jsou potrestáni přísněji než jednotlivci.
+
+[Více o slashingu](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties#slashing)
+
+## Proč validátoři potřebují 32 ETH? {#why-32-eth}
+
+Validátoři musí stakovat ETH, aby měli co ztratit, pokud se budou chovat nesprávně. Důvodem, proč musí stakovat právě 32 ETH, je umožnit provoz uzlů na skromném hardwaru. Pokud by bylo minimum ETH na validátora nižší, počet validátorů a tím i počet zpráv, které musí být zpracovány v každém slotu, by se zvýšil, což by znamenalo, že k provozu uzlu by byl zapotřebí výkonnější hardware.
+
+## Jak jsou vybíráni validátoři? {#how-are-validators-selected}
+
+Jeden validátor je pseudo-náhodně vybrán, aby navrhl blok v každém slotu pomocí algoritmu zvaného RANDAO, který mísí haš od navrhovatele bloku se seedem, který se aktualizuje s každým blokem. Tato hodnota se používá k výběru konkrétního validátora z celkové sady validátorů. Výběr validátora je stanoven s předstihem dvou epoch.
+
+[Více o výběru validátorů](/developers/docs/consensus-mechanisms/pos/block-proposal)
+
+## Co je to „stake grinding“? {#what-is-stake-grinding}
+
+„Stake grinding“ je kategorie útoku na sítě s důkazem podílem, kde se útočník snaží ovlivnit algoritmus výběru validátorů ve prospěch svých vlastních validátorů. Útoky typu „stake grinding“ na RANDAO vyžadují asi polovinu celkového stakovaného ETH.
+
+[Více o „stake grinding“](https://eth2book.info/altair/part2/building_blocks/randomness/#randao-biasability)
+
+## Co je to sociální slashing? {#what-is-social-slashing}
+
+Sociální slashing je schopnost komunity koordinovat větev blockchainu v reakci na útok. Umožňuje komunitě zotavit se poté, co útočník finalizuje nečestný řetězec. Sociální slashing lze také použít proti útokům cenzury.
+
+- [Více o sociálním slashingu](https://ercwl.medium.com/the-case-for-social-slashing-59277ff4d9c7)
+- [Vitalik Buterin o sociálním slashingu](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-is-proof-of-stake)
+
+## Hrozí mi slashing? {#will-i-get-slashed}
+
+Jako validátorovi vám hrozí slashing jen velmi těžko, pokud se záměrně nezapojíte do škodlivého chování. Slashing se provádí pouze ve velmi specifických scénářích, kdy validátoři navrhnou více bloků pro stejný slot nebo si protiřečí svými atestacemi – je velmi nepravděpodobné, že by k tomu došlo náhodou.
+
+[Více o podmínkách pro slashing](https://eth2book.info/altair/part2/incentives/slashing)
+
+## Co je to problém „nothing-at-stake“? {#what-is-nothing-at-stake-problem}
+
+Problém „nothing-at-stake“ je koncepční problém některých mechanismů důkazu podílem, kde existují pouze odměny a žádné tresty. Pokud není nic v sázce, pragmatický validátor je stejně ochoten potvrzovat jakoukoli, nebo dokonce více větví blockchainu, protože to zvyšuje jeho odměny. Ethereum tento problém řeší pomocí podmínek finality a slashingu, aby zajistilo jeden kanonický řetězec.
+
+[Více o problému „nothing-at-stake“](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed)
+
+## Co je to algoritmus pro výběr větve? {#what-is-a-fork-choice-algorithm}
+
+Algoritmus pro výběr větve implementuje pravidla, která určují, který řetězec je ten kanonický. Za optimálních podmínek není pravidlo pro výběr větve potřeba, protože na každý slot připadá pouze jeden navrhovatel bloku a na výběr je pouze jeden blok. Občas se však stane, že více bloků pro stejný slot nebo pozdě doručené informace vedou k více možnostem, jak jsou bloky poblíž hlavy řetězce uspořádány. V těchto případech musí všichni klienti implementovat některá pravidla identicky, aby bylo zajištěno, že všichni vyberou správnou sekvenci bloků. Algoritmus pro výběr větve tato pravidla kóduje.
+
+Algoritmus Etherea pro výběr větve se nazývá LMD-GHOST. Vybírá větev s největší váhou atestací, což znamená tu, pro kterou hlasovala většina stakovaného ETH.
+
+[Více o LMD-GHOST](/developers/docs/consensus-mechanisms/pos/gasper/#fork-choice)
+
+## Co je to finalita v důkazu podílem? {#what-is-finality}
+
+Finalita v důkazu podílem je záruka, že daný blok je trvalou součástí kanonického řetězce a nelze jej vrátit zpět, pokud nedojde k selhání konsensu, při kterém útočník spálí 33 % z celkového stakovaného etheru. Jedná se o "kryptoekonomickou" finalitu, na rozdíl od "pravděpodobnostní finality", která je relevantní pro blockchainy s důkazem prací. Při pravděpodobnostní finalitě neexistují pro bloky žádné explicitní finalizované/nefinalizované stavy – jednoduše se stává stále méně pravděpodobným, že by blok mohl být z řetězce odstraněn, čím je starší, a uživatelé si sami určují, kdy jsou dostatečně přesvědčeni, že je blok "bezpečný". Při kryptoekonomické finalitě musí pro páry kontrolních bloků (checkpoint) hlasovat 66 % stakovaného etheru. Pokud je tato podmínka splněna, bloky mezi těmito kontrolními body jsou explicitně "finalizovány".
+
+[Více o finalitě](/developers/docs/consensus-mechanisms/pos/#finality)
+
+## Co je to "slabá subjektivita"? {#what-is-weak-subjectivity}
+
+Slabá subjektivita je vlastnost sítí s důkazem podílem, kde se sociální informace používají k potvrzení aktuálního stavu blockchainu. Novým uzlům nebo uzlům, které se znovu připojují k síti po dlouhé době offline, lze poskytnout nedávný stav, takže uzel může okamžitě zjistit, zda je na správném řetězci. Tyto stavy jsou známé jako "kontrolní body slabé subjektivity" a lze je získat od jiných operátorů uzlů mimo pásmo (out-of-band), z prohlížečů bloků nebo z několika veřejných koncových bodů.
+
+[Více o slabé subjektivitě](/developers/docs/consensus-mechanisms/pos/weak-subjectivity)
+
+## Je důkaz podílem odolný proti cenzuře? {#is-pos-censorship-resistant}
+
+Odolnost proti cenzuře je v současné době obtížné prokázat. Na rozdíl od důkazu prací však důkaz podílem nabízí možnost koordinovat slashingy k potrestání cenzurujících validátorů. Připravují se změny protokolu, které oddělují tvůrce bloků od navrhovatelů bloků a implementují seznamy transakcí, které tvůrci musí do každého bloku zahrnout. Tento návrh je známý jako oddělení navrhovatele a tvůrce (proposer-builder separation) a pomáhá zabránit validátorům v cenzurování transakcí.
+
+[Více o oddělení navrhovatele a tvůrce](https://notes.ethereum.org/@fradamt/H1TsYRfJc#Original-basic-scheme)
+
+## Může být systém důkazu podílem Etherea napaden 51% útokem? {#pos-51-attack}
+
+Ano. Důkaz podílem je zranitelný vůči 51% útokům, stejně jako důkaz prací. Místo toho, aby útočník potřeboval 51 % hašovacího výkonu sítě, potřebuje 51 % celkového stakovaného ETH. Útočník, který nashromáždí 51 % celkového staku, získá kontrolu nad algoritmem pro výběr větve. To útočníkovi umožňuje cenzurovat určité transakce, provádět reorganizace krátkého dosahu a extrahovat MEV přeskupováním bloků ve svůj prospěch.
+
+[Více o útocích na důkaz podílem](/developers/docs/consensus-mechanisms/pos/attack-and-defense)
+
+## Co je to sociální koordinace a proč je potřebná? {#what-is-social-coordination}
+
+Sociální koordinace je poslední obrannou linií Etherea, která by umožnila obnovit poctivý řetězec z útoku, který finalizoval nepoctivé bloky. V tomto případě by se komunita Etherea musela koordinovat "mimo pásmo" (out-of-band) a dohodnout se na použití poctivé menšinové větve, přičemž by v procesu provedla slashing validátorů útočníka. To by vyžadovalo, aby i aplikace a burzy uznaly poctivou větev.
+
+[Přečtěte si více o sociální koordinaci](/developers/docs/consensus-mechanisms/pos/attack-and-defense#people-the-last-line-of-defense)
+
+## Bohatnou v důkazu podílem bohatí? {#do-rich-get-richer}
+
+Čím více ETH někdo stakuje, tím více validátorů může provozovat a tím více odměn může získat. Odměny se škálují lineárně s množstvím stakovaného ETH a každý dostává stejné procentuální zhodnocení. Důkaz prací obohacuje bohaté více než důkaz podílem, protože bohatší těžaři, kteří nakupují hardware ve velkém, těží z úspor z rozsahu, což znamená, že vztah mezi bohatstvím a odměnou je nelineární.
+
+## Je důkaz podílem centralizovanější než důkaz prací? {#is-pos-decentralized}
+
+Ne, důkaz prací má tendenci k centralizaci, protože náklady na těžbu rostou a vytlačují jednotlivce, pak malé společnosti a tak dále. Současným problémem důkazu podílem je vliv derivátů likvidního stakování (LSD). Jedná se o tokeny reprezentující ETH stakované nějakým poskytovatelem, které může kdokoli směnit na sekundárních trzích, aniž by skutečné ETH bylo odemčeno (unstaked). LSD umožňují uživatelům stakovat s méně než 32 ETH, ale také vytvářejí riziko centralizace, kde několik velkých organizací může nakonec ovládat velkou část staku. [samostatné stakování](/staking/solo) je pro Ethereum nejlepší volbou.
+
+[Více o centralizaci staku v LSD](https://notes.ethereum.org/@djrtwo/risks-of-lsd)
+
+## Proč mohu stakovat pouze ETH? {#why-can-i-only-stake-eth}
+
+ETH je vlastní měna na platformě Ethereum. Je nezbytné mít jednotnou měnu, ve které jsou denominovány všechny staky, a to jak pro účtování efektivních zůstatků pro vážení hlasů, tak pro bezpečnost. Samotné ETH je základní součástí Etherea, nikoli chytrý kontrakt. Začlenění jiných měn by výrazně zvýšilo složitost a snížilo bezpečnost stakování.
+
+## Je Ethereum jediný blockchain s důkazem podílem? {#is-ethereum-the-only-pos-blockchain}
+
+Ne, existuje několik blockchainů s důkazem podílem. Žádný není identický s Ethereem; mechanismus důkazu podílem Etherea je unikátní.
+
+## Co je to The Merge? {#what-is-the-merge}
+
+The Merge byl okamžik, kdy Ethereum vypnulo svůj mechanismus konsensu založený na důkazu prací a zapnulo svůj mechanismus konsensu založený na důkazu podílem. The Merge proběhlo 15. září 2022.
+
+[Více o The Merge](/roadmap/merge)
+
+## Co je to živost a bezpečnost? {#what-are-liveness-and-safety}
+
+Živost a bezpečnost jsou dva základní bezpečnostní aspekty blockchainu. Živost je dostupnost finalizujícího řetězce. Pokud řetězec přestane finalizovat nebo k němu uživatelé nemohou snadno přistupovat, jedná se o selhání živosti. Extrémně vysoké náklady na přístup by také mohly být považovány za selhání živosti. Bezpečnost se týká toho, jak obtížné je zaútočit na řetězec – tj. finalizovat konfliktní kontrolní body (checkpointy).
+
+[Přečtěte si více v dokumentu o Casperu](https://arxiv.org/pdf/1710.09437.pdf)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/gasper/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/gasper/index.md
new file mode 100644
index 00000000000..4b842c922fc
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/gasper/index.md
@@ -0,0 +1,52 @@
+---
+title: Gasper
+description: Vysvětlení mechanismu důkazu podílem Gasper.
+lang: cs
+---
+
+Gasper je kombinací Casper the Friendly Finality Gadget (Casper-FFG) a algoritmu pro výběr větve LMD-GHOST. Tyto komponenty společně tvoří mechanismus konsenzu, který zabezpečuje Ethereum na bázi důkazu podílem. Casper je mechanismus, který povyšuje určité bloky na „finalizované“, takže noví účastníci sítě si mohou být jisti, že synchronizují kanonický řetězec. Algoritmus pro výběr větve využívá nahromaděné hlasy, aby zajistil, že uzly mohou snadno vybrat tu správnou větev, když v blockchainu vzniknou větve.
+
+**Upozornění:** Původní definice Casper-FFG byla pro zařazení do systému Gasper mírně aktualizována. Na této stránce se budeme zabývat aktualizovanou verzí.
+
+## Předpoklady
+
+Pro pochopení tohoto materiálu je nutné si přečíst úvodní stránku o [důkazu podílem](/developers/docs/consensus-mechanisms/pos/).
+
+## Role systému Gasper {#role-of-gasper}
+
+Gasper funguje na blockchainu s důkazem podílem, kde uzly poskytují ether jako bezpečnostní zálohu, která může být zničena, pokud jsou nečinné nebo nečestné při navrhování nebo validaci bloků. Gasper je mechanismus, který definuje, jak jsou validátoři odměňováni a trestáni, jak se rozhodují, které bloky přijmout a které odmítnout a na které větvi blockchainu stavět.
+
+## Co je to finalita? {#what-is-finality}
+
+Finalita je vlastnost určitých bloků, která znamená, že nemohou být vráceny zpět, pokud nedošlo ke kritickému selhání konsenzu a útočník nezničil alespoň 1/3 celkového uzamčeného etheru. Finalizované bloky lze považovat za informace, kterými si je blockchain jistý. Aby mohl být blok finalizován, musí projít dvoukrokovým procesem vylepšení:
+
+1. Dvě třetiny z celkového uzamčeného etheru musí hlasovat pro zahrnutí tohoto bloku do kanonického řetězce. Tato podmínka povýší blok na „justifikovaný“. Je nepravděpodobné, že by justifikované bloky byly vráceny zpět, ale za určitých podmínek se to může stát.
+2. Když je další blok justifikován nad justifikovaným blokem, je povýšen na „finalizovaný“. Finalizace bloku je závazek zahrnout daný blok do kanonického řetězce. Nelze jej vrátit zpět, pokud útočník nezničí miliony etheru (miliardy USD).
+
+Tato vylepšení bloků se nedějí v každém slotu. Místo toho lze justifikovat a finalizovat pouze bloky na hranicích epoch. Tyto bloky jsou známé jako „checkpointy“. Vylepšení se týká dvojic checkpointů. Mezi dvěma po sobě jdoucími checkpointy musí existovat „propojení nadpoloviční většinou“ (tzn. dvě třetiny z celkového uzamčeného etheru hlasují, že checkpoint B je správným potomkem checkpointu A), aby se starší checkpoint povýšil na finalizovaný a novější blok na justifikovaný.
+
+Protože finalita vyžaduje dvoutřetinovou shodu na tom, že blok je kanonický, útočník nemůže vytvořit alternativní finalizovaný řetězec, aniž by:
+
+1. Vlastnil nebo manipuloval se dvěma třetinami z celkového uzamčeného etheru.
+2. Zničil alespoň jednu třetinu z celkového uzamčeného etheru.
+
+První podmínka vyplývá z toho, že k finalizaci řetězce jsou zapotřebí dvě třetiny uzamčeného etheru. Druhá podmínka vyplývá z toho, že pokud dvě třetiny z celkového podílu hlasovaly pro obě větve, pak jedna třetina musela hlasovat pro obě. Dvojí hlasování je podmínka pro slashing, která by byla maximálně potrestána a jedna třetina celkového podílu by byla zničena. K květnu 2022 to vyžaduje, aby útočník spálil ether v hodnotě zhruba 10 miliard dolarů. Algoritmus, který v systému Gasper justifikuje a finalizuje bloky, je mírně upravenou formou [Casper the Friendly Finality Gadget (Casper-FFG)](https://arxiv.org/pdf/1710.09437.pdf).
+
+### Pobídky a slashing {#incentives-and-slashing}
+
+Validátoři jsou odměňováni za poctivé navrhování a validaci bloků. Ether je odměňován a přidáván k jejich podílu. Na druhou stranu validátoři, kteří jsou nepřítomní a nekonají, když jsou k tomu vyzváni, o tyto odměny přicházejí a někdy ztratí malou část svého stávajícího podílu. Sankce za offline stav jsou však malé a ve většině případů se rovnají nákladům ušlé příležitosti ze ztracených odměn. Některé akce validátorů je však velmi obtížné provést náhodou a značí nějaký zlovolný úmysl, jako je navrhování více bloků pro stejný slot, atestování více bloků pro stejný slot nebo protiřečení si s předchozími hlasy o checkpointech. Jedná se o chování, které je „trestatelné slashingem“ a které je trestáno přísněji – slashing má za následek zničení části podílu validátora a jeho odstranění ze sítě validátorů. Tento proces trvá 36 dní. První den je udělena počáteční pokuta až do výše 1 ETH. Poté ether slasheovaného validátora během doby odchodu pomalu odtéká, ale 18. den obdrží „korelační pokutu“, která je vyšší, když je ve stejnou dobu slasheováno více validátorů. Maximální trest je celý podíl. Tyto odměny a tresty jsou navrženy tak, aby motivovaly poctivé validátory a odrazovaly od útoků na síť.
+
+### Únik z neaktivity {#inactivity-leak}
+
+Kromě zabezpečení poskytuje Gasper také „pravděpodobnou živost“. Je to podmínka, že dokud dvě třetiny z celkového uzamčeného etheru hlasují poctivě a dodržují protokol, řetězec bude schopen finalizace bez ohledu na jakoukoli jinou aktivitu (jako jsou útoky, problémy s latencí nebo slashing). Jinými slovy, jedna třetina celkového uzamčeného etheru musí být nějakým způsobem kompromitována, aby se zabránilo finalizaci řetězce. V systému Gasper existuje další obranná linie proti selhání živosti, známá jako „únik z neaktivity“. Tento mechanismus se aktivuje, když se řetězci nepodařilo finalizovat déle než čtyři epochy. Validátorům, kteří aktivně neatestují většinový řetězec, se postupně odčerpává jejich podíl, dokud většina znovu nezíská dvoutřetinový podíl z celkového objemu, což zajišťuje, že selhání živosti jsou pouze dočasná.
+
+### Výběr větve {#fork-choice}
+
+Původní definice Casper-FFG zahrnovala algoritmus pro výběr větve, který zavedl pravidlo: `sledujte řetězec obsahující justifikovaný checkpoint, který má největší výšku`, kde výška je definována jako největší vzdálenost od genesis bloku. V systému Gasper je původní pravidlo pro výběr větve zastaralé a nahrazeno sofistikovanějším algoritmem zvaným LMD-GHOST. Je důležité si uvědomit, že za normálních podmínek není pravidlo pro výběr větve nutné – pro každý slot existuje jediný navrhovatel bloku a poctiví validátoři jej atestují. Algoritmus pro výběr větve je vyžadován pouze v případech velké asynchronicity sítě nebo když se nepoctivý navrhovatel bloku dopustil ekvivokace. Když však tyto případy nastanou, algoritmus pro výběr větve je kritickou obranou, která zajišťuje správný řetězec.
+
+LMD-GHOST je zkratka pro „latest message-driven greedy heaviest observed sub-tree“ (nejnovější zprávou řízený chamtivý nejtěžší pozorovaný podstrom). Jedná se o odborný způsob, jak definovat algoritmus, který jako kanonickou větev vybere tu s největší nahromaděnou váhou atestací (chamtivý nejtěžší podstrom) a který v případě, že je od validátora přijato více zpráv, bere v úvahu pouze tu poslední (řízený nejnovější zprávou). Před přidáním nejtěžšího bloku do svého kanonického řetězce každý validátor posoudí každý blok pomocí tohoto pravidla.
+
+## Další čtení {#further-reading}
+
+- [Gasper: Kombinace GHOST a Casper](https://arxiv.org/pdf/2003.03052.pdf)
+- [Casper the Friendly Finality Gadget](https://arxiv.org/pdf/1710.09437.pdf)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/index.md
new file mode 100644
index 00000000000..4584ca478cc
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/index.md
@@ -0,0 +1,99 @@
+---
+title: Proof-of-stake (PoS)
+description: Vysvětlení konsensuálního protokolu důkaz podílem a jeho role v platformě Ethereum.
+lang: cs
+---
+
+Důkaz podílem (PoS) je základem [mechanismu konsensu](/developers/docs/consensus-mechanisms/) sítě Ethereum. Ethereum přešlo v roce 2022 na mechanismus důkazu podílem, protože je bezpečnější, méně energeticky náročný a lepší pro implementaci nových řešení škálování ve srovnání s předchozí architekturou [důkazu prací](/developers/docs/consensus-mechanisms/pow).
+
+## Předpoklady {#prerequisites}
+
+Pro lepší pochopení této stránky vám doporučujeme si nejprve přečíst o [mechanismech konsensu](/developers/docs/consensus-mechanisms/).
+
+## Co je proof of stake (PoS)? {#what-is-pos}
+
+Důkaz podílem je způsob, jak prokázat, že validátoři vložili do sítě něco hodnotného, co může být zničeno, pokud jednají nečestně. V mechanismu důkazu podílem Etherea validátoři explicitně stakují kapitál ve formě ETH do chytrého kontraktu na Ethereu. Validátor je pak zodpovědný za kontrolu, zda jsou nové bloky šířené po síti platné, a občas za vytváření a šíření nových bloků. Pokud se pokusí síť podvést (například navržením více bloků, když by měli poslat jeden, nebo zasláním konfliktních atestací), může být část nebo celé jejich stakované ETH zničeno.
+
+## Validátoři {#validators}
+
+Aby se uživatel mohl stát validátorem, musí vložit 32 ETH do depozitního kontraktu a spustit tři samostatné softwarové programy: exekučního klienta, konsensuálního klienta a klienta validátora. Po vložení ETH se uživatel zařadí do aktivační fronty, která omezuje rychlost připojování nových validátorů do sítě. Po aktivaci validátoři dostávají nové bloky od peerů v síti Ethereum. Transakce doručené v bloku jsou znovu provedeny, aby se zkontrolovalo, že navrhované změny stavu Etherea jsou platné, a zkontroluje se podpis bloku. Validátor pak pošle hlas (nazývaný atestace) ve prospěch daného bloku po celé síti.
+
+Zatímco v případě důkazu prací je časování bloků určeno obtížností těžby, v případě důkazu podílem je tempo pevně dané. Čas v síti Ethereum s důkazem podílem je rozdělen na sloty (12 sekund) a epochy (32 slotů). V každém slotu je náhodně vybrán jeden validátor, který bude navrhovatelem bloku. Tento validátor je zodpovědný za vytvoření nového bloku a jeho odeslání ostatním uzlům v síti. V každém slotu je také náhodně vybrán výbor validátorů, jejichž hlasy se použijí k určení platnosti navrhovaného bloku. Rozdělení sady validátorů do výborů je důležité pro udržení zvládnutelné zátěže sítě. Výbory rozdělují sadu validátorů tak, aby každý aktivní validátor atestoval v každé epoše, ale ne v každém slotu.
+
+## Jak se transakce provádí v síti Ethereum s PoS {#transaction-execution-ethereum-pos}
+
+Následující text poskytuje kompletní vysvětlení toho, jak se transakce provádí v síti Ethereum s mechanismem důkazu podílem.
+
+1. Uživatel vytvoří a podepíše [transakci](/developers/docs/transactions/) svým soukromým klíčem. To obvykle zajišťuje peněženka nebo knihovna, jako je [ethers.js](https://docs.ethers.org/v6/), [web3js](https://docs.web3js.org/), [web3py](https://web3py.readthedocs.io/en/v5/) atd., ale na pozadí uživatel odesílá požadavek na uzel pomocí Ethereum [JSON-RPC API](/developers/docs/apis/json-rpc/). Uživatel definuje množství gasu, které je ochoten zaplatit jako spropitné validátorovi, aby ho motivoval k zahrnutí transakce do bloku. [Spropitné](/developers/docs/gas/#priority-fee) se vyplácí validátorovi, zatímco [základní poplatek](/developers/docs/gas/#base-fee) je spálen.
+2. Transakce je odeslána [exekučnímu klientovi](/developers/docs/nodes-and-clients/#execution-client) sítě Ethereum, který ověří její platnost. To znamená zajistit, aby odesílatel měl dostatek ETH k provedení transakce a aby ji podepsal správným klíčem.
+3. Pokud je transakce platná, exekuční klient ji přidá do svého lokálního mempoolu (seznamu nevyřízených transakcí) a také ji rozešle ostatním uzlům prostřednictvím gossip sítě exekuční vrstvy. Když se o transakci dozví další uzly, přidají ji také do svého lokálního mempoolu. Pokročilí uživatelé se mohou zdržet vysílání své transakce a místo toho ji přeposlat specializovaným tvůrcům bloků, jako je [Flashbots Auction](https://docs.flashbots.net/flashbots-auction/overview). To jim umožňuje organizovat transakce v nadcházejících blocích pro maximální zisk ([MEV](/developers/docs/mev/#mev-extraction)).
+4. Jeden z validátorských uzlů v síti je navrhovatelem bloku pro aktuální slot, který byl předtím pseudo-náhodně vybrán pomocí RANDAO. Tento uzel je zodpovědný za sestavení a vysílání dalšího bloku, který má být přidán do blockchainu Etherea, a za aktualizaci globálního stavu. Uzel se skládá ze tří částí: exekučního klienta, konsensuálního klienta a klienta validátora. Exekuční klient seskupuje transakce z lokálního mempoolu do "exekuční datové části" a lokálně je provádí, aby vygeneroval změnu stavu. Tato informace se předává konsensuálnímu klientovi, kde je exekuční datová část zabalena jako součást "beacon bloku", který také obsahuje informace o odměnách, penále, slashingu, atestacích atd., které síti umožňují dohodnout se na sekvenci bloků na čele řetězce. Komunikace mezi exekučním a konsensuálním klientem je podrobněji popsána v části [Propojení konsensuálního a exekučního klienta](/developers/docs/networking-layer/#connecting-clients).
+5. Ostatní uzly přijímají nový beacon blok v gossip síti konsensuální vrstvy. Předají jej svému exekučnímu klientovi, kde jsou transakce znovu lokálně provedeny, aby se zajistilo, že navrhovaná změna stavu je platná. Klient validátora pak atestuje, že blok je platný a je logickým dalším blokem v jeho pohledu na řetězec (což znamená, že navazuje na řetězec s největší váhou atestací, jak je definováno v [pravidlech výběru větve](/developers/docs/consensus-mechanisms/pos/#fork-choice)). Blok je přidán do lokální databáze v každém uzlu, který ho atestuje.
+6. Transakce může být považována za "finalizovanou", pokud se stala součástí řetězce s "nadpolovičním spojením" mezi dvěma kontrolními body. Kontrolní body se vyskytují na začátku každé epochy a existují proto, aby se zohlednila skutečnost, že v každém slotu atestuje pouze podmnožina aktivních validátorů, ale v každé epoše atestují všichni aktivní validátoři. Proto pouze mezi epochami může být prokázáno ‚nadpoloviční spojení‘ (to je místo, kde se 66 % z celkového stakovaného ETH v síti shodne na dvou kontrolních bodech).
+
+Více podrobností o finalitě naleznete níže.
+
+## Konečnost {#finality}
+
+Transakce má v distribuovaných sítích "finalitu", pokud je součástí bloku, který nelze změnit, aniž by bylo spáleno velké množství ETH. V síti Ethereum s důkazem podílem je to řešeno pomocí "kontrolních" bloků. První blok v každé epoše je kontrolním bodem. Validátoři hlasují pro dvojice kontrolních bodů, které považují za platné. Pokud dvojice kontrolních bodů získá hlasy představující alespoň dvě třetiny z celkového stakovaného ETH, jsou kontrolní body vylepšeny. Novější z těchto dvou (cíl) se stane "opodstatněným". Dřívější z nich je již opodstatněný, protože byl "cílem" v předchozí epoše. Nyní je vylepšen na "finalizovaný". Tento proces vylepšování kontrolních bodů zajišťuje **[Casper the Friendly Finality Gadget (Casper-FFG)](https://arxiv.org/pdf/1710.09437)**. Casper-FFG je nástroj pro finalitu bloku v rámci konsensu. Jakmile je blok finalizován, nelze jej vrátit ani změnit bez většinového slashingu stakerů, což ho činí ekonomicky neživotaschopným.
+
+Aby mohl útočník vrátit finalizovaný blok, musel by se zavázat ke ztrátě nejméně jedné třetiny celkové zásoby stakovaného ETH. Přesný důvod je vysvětlen v tomto [blogovém příspěvku nadace Ethereum](https://blog.ethereum.org/2016/05/09/on-settlement-finality/). Protože finalita vyžaduje dvoutřetinovou většinu, útočník by mohl zabránit síti v dosažení finality hlasováním s jednou třetinou celkového podílu. Existuje mechanismus na obranu proti tomu: [únik z nečinnosti](https://eth2book.info/bellatrix/part2/incentives/inactivity). Tento mechanismus se aktivuje vždy, když se řetězec nepodaří finalizovat po dobu delší než čtyři epochy. Únik z nečinnosti odčerpává stakované ETH od validátorů, kteří hlasují proti většině, což umožňuje většině znovu získat dvoutřetinovou většinu a finalizovat řetězec.
+
+## Kryptoekonomická bezpečnost {#crypto-economic-security}
+
+Provozování validátora je závazek. Od validátora se očekává, že bude udržovat dostatečný hardware a konektivitu, aby se mohl účastnit validace a navrhování bloků. Na oplátku je validátor placen v ETH (jeho stakovaný zůstatek se zvyšuje). Na druhou stranu účast v roli validátora také otevírá nové možnosti pro uživatele, jak zaútočit na síť za účelem osobního zisku nebo sabotáže. Aby se tomu zabránilo, validátoři přicházejí o odměny v ETH, pokud se neúčastní, když jsou vyzváni, a jejich stávající podíl může být zničen, pokud se chovají nečestně. Za nečestné lze považovat dvě hlavní chování: navrhování více bloků v jednom slotu (ekvivokace) a předkládání rozporuplných atestací.
+
+Množství seknutého ETH závisí na tom, kolik validátorů je také seknuto přibližně ve stejnou dobu. Toto je známé jako ["korelační pokuta"](https://eth2book.info/bellatrix/part2/incentives/slashing#the-correlation-penalty) a může být malá (~1% podílu pro jednoho samostatně seknutého validátora) nebo může vést ke zničení 100% podílu validátora (událost hromadného slashingu). Je uložena v polovině období nuceného odchodu, které začíná okamžitou pokutou (až 1 ETH) 1. den, korelační pokutou 18. den a nakonec vyloučením ze sítě 36. den. Dostávají každý den malé pokuty za atestace, protože jsou přítomni v síti, ale nepředkládají hlasy. To vše znamená, že koordinovaný útok by byl pro útočníka velmi nákladný.
+
+## Výběr větve {#fork-choice}
+
+Když síť funguje optimálně a poctivě, na čele řetězce je vždy jen jeden nový blok a všichni validátoři ho atestují. Je však možné, že validátoři mají různé pohledy na čelo řetězce kvůli latenci sítě nebo protože navrhovatel bloku ekvivokoval. Proto konsensuální klienti vyžadují algoritmus, který rozhodne, kterému dát přednost. Algoritmus používaný v síti Ethereum s důkazem podílem se nazývá [LMD-GHOST](https://arxiv.org/pdf/2003.03052.pdf) a funguje tak, že identifikuje větev, která má ve své historii největší váhu atestací.
+
+## Důkaz podílem a bezpečnost {#pos-and-security}
+
+Hrozba [51% útoku](https://www.investopedia.com/terms/1/51-attack.asp) stále existuje u důkazu podílem, stejně jako u důkazu prací, ale pro útočníky je ještě riskantnější. Útočník by potřeboval 51 % stakovaného ETH. Poté by mohli použít své vlastní atestace, aby zajistili, že jejich preferovaná větev bude ta s nejvíce nahromaděnými atestacemi. „Váha“ nahromaděných atestací je to, co konsensuální klienti používají k určení správného řetězce, takže tento útočník by byl schopen učinit svou větev kanonickou. Silnou stránkou důkazu podílem oproti důkazu prací je však to, že komunita má flexibilitu při zahájení protiútoku. Poctiví validátoři by se například mohli rozhodnout pokračovat v budování menšinového řetězce a ignorovat útočníkovu větev a zároveň povzbuzovat aplikace, burzy a pooly, aby udělaly totéž. Mohli by se také rozhodnout násilně odstranit útočníka ze sítě a zničit jeho stakované ETH. Jedná se o silnou ekonomickou obranu proti 51% útoku.
+
+Kromě 51% útoků se mohou záškodníci pokusit i o jiné typy škodlivých aktivit, jako jsou:
+
+- útoky na velkou vzdálenost (ačkoli nástroj finality tento vektor útoku neutralizuje)
+- krátkodobé „reorganizace“ (ačkoli toto zmírňuje podpora navrhovatele a termíny pro atestace)
+- odrážecí a vyvažovací útoky (také zmírněné podporou navrhovatele a tyto útoky byly stejně prokázány pouze za idealizovaných síťových podmínek)
+- lavinové útoky (neutralizované pravidlem algoritmu pro výběr větve, který zvažuje pouze nejnovější zprávu)
+
+Celkově se ukázalo, že důkaz podílem, jak je implementován na Ethereu, je ekonomicky bezpečnější než důkaz prací.
+
+## Výhody a nevýhody {#pros-and-cons}
+
+| Plusy | Minusy |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
+| Staking usnadňuje jednotlivcům účast na zabezpečení sítě a podporuje decentralizaci. validátorský uzel lze provozovat na běžném notebooku. Staking pooly umožňují uživatelům stakovat bez nutnosti mít 32 ETH. | Důkaz podílem je mladší a méně prověřený v praxi ve srovnání s důkazem prací. |
+| Staking je více decentralizovaný. Úspory z rozsahu se neuplatňují stejným způsobem jako při těžbě s PoW. | Důkaz podílem je složitější na implementaci než důkaz prací. |
+| Důkaz podílem nabízí větší kryptoekonomickou bezpečnost než důkaz prací. | Uživatelé musí spustit tři softwarové programy, aby se mohli podílet na důkazu podílem Etherea. |
+| K motivaci účastníků sítě je zapotřebí menší vydávání nových ETH. | |
+
+### Srovnání s důkazem prací {#comparison-to-proof-of-work}
+
+Ethereum původně používalo důkaz prací, ale v září 2022 přešlo na důkaz podílem. PoS nabízí několik výhod oproti PoW, jako jsou:
+
+- lepší energetická účinnost – není třeba spotřebovávat velké množství energie na výpočty v rámci důkazu prací
+- nižší bariéry vstupu, snížené hardwarové nároky – není potřeba elitní hardware, abyste měli šanci vytvářet nové bloky
+- snížené riziko centralizace – důkaz podílem by měl vést k většímu počtu uzlů zabezpečujících síť
+- kvůli nízké energetické náročnosti je k motivaci účasti zapotřebí menší vydávání ETH
+- ekonomické pokuty za špatné chování činí útoky ve stylu 51 % pro útočníka nákladnějšími ve srovnání s důkazem prací
+- komunita se může uchýlit k sociální obnově poctivého řetězce, pokud by 51% útok překonal kryptoekonomickou obranu.
+
+## Další čtení {#further-reading}
+
+- [Často kladené otázky k důkazu podílem](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html) _Vitalik Buterin_
+- [Co je důkaz podílem](https://consensys.net/blog/blockchain-explained/what-is-proof-of-stake/) _ConsenSys_
+- [Co je důkaz podílem a proč na něm záleží](https://bitcoinmagazine.com/culture/what-proof-of-stake-is-and-why-it-matters-1377531463) _Vitalik Buterin_
+- [Proč důkaz podílem (listopad 2020)](https://vitalik.eth.limo/general/2020/11/06/pos2020.html) _Vitalik Buterin_
+- [Důkaz podílem: Jak jsem se naučil milovat slabou subjektivitu](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/) _Vitalik Buterin_
+- [Útok a obrana Etherea s důkazem podílem](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs)
+- [Filozofie návrhu důkazu podílem](https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51) _Vitalik Buterin_
+- [Video: Vitalik Buterin vysvětluje důkaz podílem Lexi Fridmanovi](https://www.youtube.com/watch?v=3yrqBG-7EVE)
+
+## Související témata {#related-topics}
+
+- [Důkaz prací](/developers/docs/consensus-mechanisms/pow/)
+- [Důkaz autoritou](/developers/docs/consensus-mechanisms/poa/)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/keys/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/keys/index.md
new file mode 100644
index 00000000000..e49d8dffe95
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/keys/index.md
@@ -0,0 +1,102 @@
+---
+title: Klíče v proof-of-stake Ethereu
+description: Vysvětlení klíčů používaných v mechanismu konsensu proof-of-stake v Ethereu
+lang: cs
+---
+
+Ethereum zabezpečuje majetek uživatelů pomocí kryptografie s veřejným a soukromým klíčem. Veřejný klíč se používá jako základ pro adresu Etherea – to znamená, že je viditelný pro širokou veřejnost a používá se jako jedinečný identifikátor. Soukromý (neboli „tajný“) klíč by měl být přístupný pouze majiteli účtu. Soukromý klíč se používá k „podepisování“ transakcí a dat, aby kryptografie mohla prokázat, že držitel schvaluje určitou akci konkrétního soukromého klíče.
+
+Klíče Etherea se generují pomocí [kryptografie na bázi eliptických křivek](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography).
+
+Když však Ethereum přešlo z [důkazu prací](/developers/docs/consensus-mechanisms/pow) na [důkaz podílem](/developers/docs/consensus-mechanisms/pos), byl do Etherea přidán nový typ klíče. Původní klíče stále fungují úplně stejně jako dříve – u klíčů založených na eliptických křivkách, které zabezpečují účty, nedošlo k žádným změnám. Uživatelé však potřebovali nový typ klíče pro účast v mechanismu proof-of-stake prostřednictvím stakingu ETH a provozování validátorů. Tato potřeba vznikla z problémů se škálovatelností spojených s velkým množstvím zpráv předávaných mezi velkým počtem validátorů, což vyžadovalo kryptografickou metodu, kterou by bylo možné snadno agregovat, aby se snížilo množství komunikace potřebné k tomu, aby síť dosáhla konsensu.
+
+Tento nový typ klíče používá schéma podpisu [**Boneh-Lynn-Shacham (BLS)**](https://wikipedia.org/wiki/BLS_digital_signature). BLS umožňuje velmi efektivní agregaci podpisů, ale také umožňuje zpětné inženýrství agregovaných jednotlivých klíčů validátorů a je ideální pro správu akcí mezi validátory.
+
+## Dva typy klíčů validátora {#two-types-of-keys}
+
+Před přechodem na proof-of-stake měli uživatelé Etherea pro přístup ke svým prostředkům pouze jediný soukromý klíč založený na eliptických křivkách. Se zavedením proof-of-stake potřebovali uživatelé, kteří chtěli být solo stakery, také **klíč validátora** a **klíč pro výběr**.
+
+### Klíč validátora {#validator-key}
+
+Podpisový klíč validátora se skládá ze dvou prvků:
+
+- **Soukromý** klíč validátora
+- **Veřejný** klíč validátora
+
+Účelem soukromého klíče validátora je podepisovat on-chain operace, jako jsou návrhy bloků a atestace. Z tohoto důvodu musí být tyto klíče uloženy v horké peněžence.
+
+Tato flexibilita má tu výhodu, že umožňuje velmi rychlý přesun podpisových klíčů validátora z jednoho zařízení na druhé, avšak v případě jejich ztráty nebo odcizení může zloděj několika způsoby **jednat se zlým úmyslem**:
+
+- Způsobit slashing validátora tím, že:
+ - Jako navrhovatel podepíše dva různé beacon bloky pro stejný slot
+ - Jako atestátor podepíše atestaci, která "obklopuje" jinou
+ - Jako atestátor podepíše dvě různé atestace se stejným cílem
+- Vynutí si dobrovolný odchod, čímž validátor přestane se stakingem a majitel klíče pro výběr získá přístup k jeho zůstatku ETH
+
+**Veřejný klíč validátora** je zahrnut v transakčních datech, když uživatel vkládá ETH do smlouvy o vkladu pro staking. Toto se nazývá _data vkladu_ a umožňuje to Ethereu identifikovat validátora.
+
+### Pověření pro výběr {#withdrawal-credentials}
+
+Každý validátor má vlastnost známou jako _pověření pro výběr_. První bajt tohoto 32bajtového pole identifikuje typ účtu: `0x00` představuje původní BLS pověření (před upgradem Shapella, bez možnosti výběru), `0x01` představuje starší pověření, která odkazují na exekuční adresu, a `0x02` představuje moderní typ složeného pověření.
+
+Validátoři s BLS klíči `0x00` musí tato pověření aktualizovat, aby odkazovala na exekuční adresu, a aktivovat tak platby z přebytku zůstatku nebo plný výběr ze stakingu. To lze provést buď poskytnutím exekuční adresy v datech vkladu během počátečního generování klíčů, _NEBO_ pozdějším použitím klíče pro výběr k podepsání a odvysílání zprávy `BLSToExecutionChange`.
+
+[Více o pověřeních pro výběr validátora](/developers/docs/consensus-mechanisms/pos/withdrawal-credentials/)
+
+### Klíč pro výběr {#withdrawal-key}
+
+Klíč pro výběr bude vyžadován k aktualizaci pověření pro výběr, aby odkazovala na exekuční adresu, pokud nebyla nastavena během počátečního vkladu. To umožní zahájení zpracování plateb z přebytku zůstatku a také umožní uživatelům plně vybrat jejich stakovaná ETH.
+
+Stejně jako klíče validátora se i klíče pro výběr skládají ze dvou složek:
+
+- **Soukromý** klíč pro výběr
+- **Veřejný** klíč pro výběr
+
+Ztráta tohoto klíče před aktualizací pověření pro výběr na typ `0x01` znamená ztrátu přístupu k zůstatku validátora. Validátor může stále podepisovat atestace a bloky, protože tyto akce vyžadují soukromý klíč validátora, avšak v případě ztráty klíčů pro výběr je motivace malá nebo žádná.
+
+Oddělení klíčů validátora od klíčů účtu Ethereum umožňuje jednomu uživateli provozovat více validátorů.
+
+
+
+**Poznámka**: Ukončení povinností stakingu a výběr zůstatku validátora v současné době vyžaduje podepsání [zprávy o dobrovolném odchodu (VEM)](https://mirror.xyz/ladislaus.eth/wmoBbUBes2Wp1_6DvP6slPabkyujSU7MZOFOC3QpErs&1) klíčem validátora. [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) je však návrh, který v budoucnu umožní uživateli spustit odchod validátora a výběr jeho zůstatku podepsáním zpráv o odchodu klíčem pro výběr. Tím se sníží předpoklady důvěry, protože stakerům, kteří delegují ETH [poskytovatelům stakingu jako služby](/staking/saas/#what-is-staking-as-a-service), umožní mít své prostředky stále pod kontrolou.
+
+## Odvození klíčů z bezpečnostní fráze {#deriving-keys-from-seed}
+
+Pokud by každých 32 stakovaných ETH vyžadovalo novou sadu 2 zcela nezávislých klíčů, správa klíčů by se rychle stala nepraktickou, zejména pro uživatele provozující více validátorů. Místo toho lze odvodit více klíčů validátora z jediného společného tajemství a uložení tohoto jediného tajemství umožňuje přístup k více klíčům validátora.
+
+[Mnemotechnické pomůcky](https://en.bitcoinwiki.org/wiki/Mnemonic_phrase) a cesty jsou prominentními prvky, se kterými se uživatelé často setkávají, když [přistupují](https://ethereum.stackexchange.com/questions/19055/what-is-the-difference-between-m-44-60-0-0-and-m-44-60-0) ke svým peněženkám. Mnemotechnická pomůcka je sekvence slov, která funguje jako počáteční seed pro soukromý klíč. V kombinaci s dalšími daty generuje mnemotechnická pomůcka haš známý jako „hlavní klíč“. To si lze představit jako kořen stromu. Větve z tohoto kořene lze poté odvodit pomocí hierarchické cesty, takže podřízené uzly mohou existovat jako kombinace haše jejich nadřazeného uzlu a jejich indexu ve stromě. Přečtěte si o standardech [BIP-32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) a [BIP-19](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) pro generování klíčů na základě mnemotechnických pomůcek.
+
+Tyto cesty mají následující strukturu, která bude známá uživatelům, kteří interagovali s hardwarovými peněženkami:
+
+```
+m/44'/60'/0'/0`
+```
+
+Lomítka v této cestě oddělují složky soukromého klíče následovně:
+
+```
+hlavní_klíč / účel / typ_mince / účet / změna / index_adresy
+```
+
+Tato logika umožňuje uživatelům připojit co nejvíce validátorů k jediné **mnemotechnické frázi**, protože kořen stromu může být společný a odlišení může probíhat na úrovni větví. Uživatel může z mnemotechnické fráze **odvodit libovolný počet klíčů**.
+
+```
+ [m / 0]
+ /
+ /
+[m] - [m / 1]
+ \
+ \
+ [m / 2]
+```
+
+Každá větev je oddělena znakem `/`, takže `m/2` znamená začít od hlavního klíče a sledovat větev 2. V níže uvedeném schématu se jediná mnemotechnická fráze používá k uložení tří klíčů pro výběr, z nichž každý má dva přidružené validátory.
+
+
+
+## Další čtení {#further-reading}
+
+- [Příspěvek na blogu Nadace Ethereum od Carla Beekhuizena](https://blog.ethereum.org/2020/05/21/keys/)
+- [EIP-2333 Generování klíčů BLS12-381](https://eips.ethereum.org/EIPS/eip-2333)
+- [EIP-7002: Odchody spouštěné exekuční vrstvou](https://web.archive.org/web/20250125035123/https://research.2077.xyz/eip-7002-unpacking-improvements-to-staking-ux-post-merge)
+- [Správa klíčů ve velkém měřítku](https://docs.ethstaker.cc/ethstaker-knowledge-base/scaled-node-operators/key-management-at-scale)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md
new file mode 100644
index 00000000000..e48164dc4e2
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md
@@ -0,0 +1,69 @@
+---
+title: Důkaz podílem vs. důkaz prací
+description: Srovnání mechanismu konsensu Etherea založeného na důkazu podílem a důkazu prací
+lang: cs
+---
+
+Když bylo Ethereum spuštěno, důkaz podílem ještě potřeboval hodně výzkumu a vývoje, než mu mohlo být svěřeno zabezpečení Etherea. Důkaz prací byl jednodušší mechanismus, který již byl prověřen Bitcoinem, což znamenalo, že ho hlavní vývojáři mohli ihned implementovat a spustit tak Ethereum. Trvalo dalších osm let, než se důkaz podílem vyvinul do bodu, kdy mohl být implementován.
+
+Tato stránka vysvětluje důvody přechodu Etherea z důkazu prací na důkaz podílem a s tím spojené kompromisy.
+
+## Bezpečnost {#security}
+
+Výzkumníci Etherea považují důkaz podílem za bezpečnější než důkaz prací. Byl však implementován teprve nedávno na skutečné hlavní síti Etherea a je méně časem prověřený než důkaz prací. Následující části pojednávají o výhodách a nevýhodách bezpečnostního modelu důkazu podílem ve srovnání s důkazem prací.
+
+### Náklady na útok {#cost-to-attack}
+
+V systému důkazu podílem musí validátoři uzamknout („stakovat“) alespoň 32 ETH v chytrém kontraktu. Ethereum může zničit uzamčený ether, aby potrestalo validátory, kteří se chovají nesprávně. Aby se dosáhlo konsensu, musí pro určitou sadu bloků hlasovat alespoň 66 % z celkového uzamčeného etheru. Bloky, pro které hlasovalo >=66 % vkladu, se stávají „finalizovanými“, což znamená, že je nelze odstranit ani přeorganizovat.
+
+Útok na síť může znamenat zabránění finalizaci řetězce nebo zajištění určitého uspořádání bloků v kanonickém řetězci, které nějakým způsobem prospívá útočníkovi. To vyžaduje, aby útočník odklonil cestu poctivého konsensu buď nahromaděním velkého množství etheru a přímým hlasováním s ním, nebo tím, že přiměje poctivé validátory, aby hlasovali určitým způsobem. Kromě sofistikovaných, málo pravděpodobných útoků, které klamou poctivé validátory, jsou náklady na útok na Ethereum náklady na vklad, který musí útočník nahromadit, aby ovlivnil konsensus ve svůj prospěch.
+
+Nejnižší náklady na útok jsou >33 % z celkového vkladu. Útočník, který drží >33 % celkového vkladu, může způsobit zpoždění finality tím, že se jednoduše odpojí. Pro síť se jedná o relativně malý problém, protože existuje mechanismus známý jako „únik z nečinnosti“ (inactivity leak), který přesouvá vklady od offline validátorů, dokud online většina nepředstavuje 66 % vkladu a nemůže řetězec znovu finalizovat. Je také teoreticky možné, aby útočník s více než 33 % celkového vkladu způsobil dvojí finalitu tím, že vytvoří dva bloky místo jednoho, když je požádán, aby byl producentem bloku, a poté provede dvojité hlasování se všemi svými validátory. Každá větev vyžaduje pouze 50 % zbývajících poctivých validátorů, aby viděli každý blok jako první, takže pokud se jim podaří správně načasovat své zprávy, mohou být schopni finalizovat obě větve. Pravděpodobnost úspěchu je nízká, ale pokud by se útočníkovi podařilo způsobit dvojitou finalitu, komunita Etherea by se musela rozhodnout následovat jednu větev, v takovém případě by u validátorů útočníka na druhé větvi nutně došlo ke slashingu.
+
+S >33 % z celkového vkladu má útočník šanci mít menší (zpoždění finality) nebo závažnější (dvojitá finalita) dopad na síť Etherea. S více než 14 000 000 ETH uzamčenými v síti a reprezentativní cenou 1000 $/ETH jsou minimální náklady na provedení těchto útoků `1000 x 14 000 000 x 0.33 = 4 620 000 000 $`. Útočník by o tyto peníze přišel prostřednictvím slashingu a byl by vyloučen ze sítě. Aby mohl zaútočit znovu, musel by (znovu) nashromáždit >33 % vkladu a (znovu) jej spálit. Každý pokus o útok na síť by stál více než 4,6 miliardy dolarů (při ceně 1 000 $/ETH a 14 milionech uzamčených ETH). Útočník je také vyloučen ze sítě, když dojde ke slashingu, a musí se zařadit do aktivační fronty, aby se mohl znovu připojit. To znamená, že rychlost opakovaného útoku je omezena nejen rychlostí, jakou může útočník nashromáždit >33 % z celkového vkladu, ale také časem, který je zapotřebí k zapojení všech jeho validátorů do sítě. Pokaždé, když útočník zaútočí, výrazně zchudne a zbytek komunity zbohatne díky výslednému šoku v nabídce.
+
+Jiné útoky, jako jsou 51% útoky nebo zvrácení finality s 66 % celkového vkladu, vyžadují podstatně více ETH a jsou pro útočníka mnohem nákladnější.
+
+Porovnejte to s důkazem prací. Náklady na zahájení útoku na Ethereum s důkazem prací byly náklady na trvalé vlastnictví >50 % celkového hashratu sítě. To se rovnalo nákladům na hardware a provoz dostatečného výpočetního výkonu, aby bylo možné trvale překonávat ostatní těžaře při výpočtu řešení pro důkaz prací. Ethereum se většinou těžilo pomocí GPU, nikoli ASIC, což udržovalo nízké náklady (ačkoli kdyby Ethereum zůstalo u důkazu prací, těžba pomocí ASIC by se mohla stát populárnější). Protivník by musel nakoupit spoustu hardwaru a zaplatit za elektřinu k jeho provozu, aby zaútočil na síť Ethereum s důkazem prací, ale celkové náklady by byly nižší než náklady potřebné k nashromáždění dostatečného množství ETH k zahájení útoku. 51% útok je na důkazu prací přibližně [20krát levnější](https://youtu.be/1m12zgJ42dI?t=1562) než na důkazu podílem. Pokud by byl útok odhalen a v řetězci by došlo k hard forku, aby se odstranily změny útočníka, mohl by útočník opakovaně použít stejný hardware k útoku na novou větev.
+
+### Složitost {#complexity}
+
+Důkaz podílem je mnohem složitější než důkaz prací. To by mohlo být plus pro důkaz prací, protože je těžší náhodně zavést chyby nebo nezamýšlené efekty do jednodušších protokolů. Složitost však byla zkrocena lety výzkumu a vývoje, simulacemi a implementacemi na testnetech. Protokol důkazu podílem byl nezávisle implementován pěti samostatnými týmy (na exekuční i konsensuální vrstvě) v pěti programovacích jazycích, což poskytuje odolnost proti chybám klientů.
+
+Pro bezpečný vývoj a testování logiky konsensu důkazu podílem byl Beacon Chain spuštěn dva roky před implementací důkazu podílem na hlavní síti Etherea. Beacon Chain fungoval jako sandbox pro testování důkazu podílem, protože to byl živý blockchain implementující logiku konsensu důkazu podílem, ale bez dotyku reálných transakcí Etherea – v podstatě jen dosahoval konsensu sám o sobě. Jakmile byl po dostatečně dlouhou dobu stabilní a bez chyb, Beacon Chain byl „sloučen“ s hlavní sítí Etherea. To vše přispělo ke zkrocení složitosti důkazu podílem do té míry, že riziko nezamýšlených důsledků nebo chyb klienta bylo velmi nízké.
+
+### Vektor útoku {#attack-surface}
+
+Důkaz podílem je složitější než důkaz prací, což znamená, že existuje více potenciálních vektorů útoku, které je třeba řešit. Místo jedné peer-to-peer sítě spojující klienty existují dvě, z nichž každá implementuje samostatný protokol. To, že je v každém slotu předem vybrán jeden konkrétní validátor, který navrhuje blok, vytváří potenciál pro útok odepření služby, kdy velké množství síťového provozu vyřadí tohoto konkrétního validátora z provozu.
+
+Existují také způsoby, jak mohou útočníci pečlivě načasovat vydání svých bloků nebo atestací tak, aby je obdržela určitá část poctivé sítě, a ovlivnit je tak, aby hlasovali určitým způsobem. Nakonec může útočník jednoduše nashromáždit dostatek ETH k uzamčení a ovládnout mechanismus konsensu. Každý z těchto [vektorů útoku má přidruženou obranu](/developers/docs/consensus-mechanisms/pos/attack-and-defense), ale v rámci důkazu prací tyto vektory neexistují.
+
+## Decentralizace {#decentralization}
+
+Důkaz podílem je decentralizovanější než důkaz prací, protože závody ve zbrojení těžebního hardwaru mají tendenci vytlačovat jednotlivce a malé organizace z trhu. I když kdokoli může technicky začít těžit se skromným hardwarem, jeho pravděpodobnost získání jakékoli odměny je mizivě malá ve srovnání s institucionálními těžebními operacemi. U důkazu podílem jsou náklady na uzamčení a procentuální návratnost tohoto vkladu pro všechny stejné. Provoz validátoru v současné době stojí 32 ETH.
+
+Na druhou stranu, vynález derivátů tekutého stakingu vedl k obavám z centralizace, protože několik velkých poskytovatelů spravuje velké množství uzamčených ETH. To je problematické a je třeba to co nejdříve napravit, ale je to také složitější, než se zdá. Centralizovaní poskytovatelé stakingu nemusí nutně mít centralizovanou kontrolu nad validátory – často je to jen způsob, jak vytvořit centrální pool ETH, který může mnoho nezávislých operátorů uzlů stakovat, aniž by každý účastník potřeboval vlastních 32 ETH.
+
+Nejlepší možností pro Ethereum je, aby byly validátory provozovány lokálně na domácích počítačích, což maximalizuje decentralizaci. Proto se Ethereum brání změnám, které zvyšují hardwarové nároky na provoz uzlu/validátoru.
+
+## Udržitelnost {#sustainability}
+
+Důkaz podílem je uhlíkově nenáročný způsob zabezpečení blockchainu. V rámci důkazu prací těžaři soutěží o právo vytěžit blok. Těžaři jsou úspěšnější, když mohou provádět výpočty rychleji, což motivuje k investicím do hardwaru a spotřeby energie. To bylo pozorováno u Etherea předtím, než přešlo na důkaz podílem. Krátce před přechodem na důkaz podílem Ethereum spotřebovávalo přibližně 78 TWh/rok – tolik jako malá země. Přechod na důkaz podílem však snížil tyto energetické výdaje o ~99,98 %. Díky důkazu podílem se z Etherea stala energeticky účinná a nízkouhlíková platforma.
+
+[Více o spotřebě energie Etherea](/energy-consumption)
+
+## Vydávání {#issuance}
+
+Ethereum s důkazem podílem může platit za svou bezpečnost vydáváním mnohem menšího počtu mincí než Ethereum s důkazem prací, protože validátoři nemusí platit vysoké náklady na elektřinu. V důsledku toho může ETH snížit svou inflaci nebo se dokonce stát deflačním, když se spálí velké množství ETH. Nižší míra inflace znamená, že zabezpečení Etherea je levnější, než bylo u důkazu prací.
+
+## Učíte se spíše vizuálně? Vizuální výuka {#visual-learner}
+
+Podívejte se, jak Justin Drake vysvětluje výhody důkazu podílem oproti důkazu prací:
+
+
+
+## Další čtení {#further-reading}
+
+- [Vitalikova filozofie návrhu důkazu podílem](https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51)
+- [Vitalikovy časté dotazy k důkazu podílem](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-is-proof-of-stake)
+- [Video „Jednoduše vysvětleno“ o PoS vs. PoW](https://www.youtube.com/watch?v=M3EFi_POhps)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
new file mode 100644
index 00000000000..1e89769ec04
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
@@ -0,0 +1,91 @@
+---
+title: Odměny a tresty v mechanismu proof-of-stake
+description: Seznamte se s pobídkami v rámci protokolu v Ethereu s mechanismem proof-of-stake.
+lang: cs
+---
+
+Ethereum je zabezpečeno pomocí své nativní kryptoměny, etheru (ETH). Provozovatelé uzlů, kteří se chtějí podílet na validaci bloků a určování hlavy řetězce, vkládají ether do [vkladového kontraktu](/staking/deposit-contract/) na Ethereu. Poté jsou placeni v etheru za provozování softwaru validátoru, který kontroluje platnost nových bloků přijatých přes síť peer-to-peer a aplikuje algoritmus pro výběr větve k identifikaci hlavy řetězce.
+
+Validátor má dvě hlavní role: 1) kontroluje nové bloky a „atestuje“ je, pokud jsou platné, 2) navrhuje nové bloky, když je náhodně vybrán z celkového poolu validátorů. Pokud validátor některý z těchto úkolů na vyžádání nesplní, přijde o výplatu v etheru. Validátoři jsou také někdy pověřeni agregací podpisů a účastí v synchronizačních výborech.
+
+Existují také některé akce, které je velmi obtížné provést náhodou a které značí nějaký zlovolný úmysl, jako je navrhování více bloků pro stejný slot nebo atestování více bloků pro stejný slot. Jedná se o chování, které je postihnutelné „slashingem“ a jehož výsledkem je, že validátorovi je spálena určitá částka etheru (až 1 ETH), než je validátor odstraněn ze sítě, což trvá 36 dní. Ether validátora postiženého slashingem se během období odchodu pomalu vytrácí, ale 18. den obdrží „korelační penalizaci“, která je větší, když je ve stejnou dobu postiženo slashingem více validátorů. Struktura pobídek mechanismu konsenzu tedy odměňuje poctivost a trestá špatné aktéry.
+
+Všechny odměny a tresty se uplatňují jednou za epochu.
+
+Pro více podrobností čtěte dál...
+
+## Odměny a tresty {#rewards}
+
+### Odměny {#rewards}
+
+Validátoři dostávají odměny, když hlasují v souladu s většinou ostatních validátorů, když navrhují bloky a když se účastní synchronizačních výborů. Hodnota odměn v každé epoše se vypočítává ze `základní odměny` (`base_reward`). Jedná se o základní jednotku, ze které se počítají ostatní odměny. `base_reward` představuje průměrnou odměnu, kterou validátor obdrží za optimálních podmínek za epochu. Vypočítává se z efektivního zůstatku validátora a celkového počtu aktivních validátorů následovně:
+
+```
+base_reward = effective_balance * (base_reward_factor / (base_rewards_per_epoch * sqrt(sum(active_balance))))
+```
+
+kde `base_reward_factor` je 64, `base_rewards_per_epoch` je 4 a `sum(active balance)` je celkový uzamčený ether napříč všemi aktivními validátory.
+
+To znamená, že základní odměna je úměrná efektivnímu zůstatku validátora a nepřímo úměrná počtu validátorů v síti. Čím více validátorů, tím větší je celkové vydávání (jako `sqrt(N)`), ale tím menší je `base_reward` na validátora (jako `1/sqrt(N)`). Tyto faktory ovlivňují RPSN pro staking uzel. Odůvodnění si přečtěte v [poznámkách Vitalika](https://notes.ethereum.org/@vbuterin/rkhCgQteN?type=view#Base-rewards).
+
+Celková odměna se pak vypočítá jako součet pěti složek, z nichž každá má váhu, která určuje, kolik každá složka přispěje k celkové odměně. Složky jsou:
+
+```
+1. hlasování o zdroji: validátor včas hlasoval pro správný zdrojový kontrolní bod
+2. hlasování o cíli: validátor včas hlasoval pro správný cílový kontrolní bod
+3. hlasování o hlavě: validátor včas hlasoval pro správný hlavní blok
+4. odměna synchronizačního výboru: validátor se zúčastnil synchronizačního výboru
+5. odměna navrhovatele: validátor navrhl blok ve správném slotu
+```
+
+Váhy pro každou složku jsou následující:
+
+```
+TIMELY_SOURCE_WEIGHT uint64(14)
+TIMELY_TARGET_WEIGHT uint64(26)
+TIMELY_HEAD_WEIGHT uint64(14)
+SYNC_REWARD_WEIGHT uint64(2)
+PROPOSER_WEIGHT uint64(8)
+```
+
+Součet těchto vah je 64. Odměna se vypočítá jako součet příslušných vah dělený 64. Validátor, který včas hlasoval o zdroji, cíli a hlavě, navrhl blok a zúčastnil se synchronizačního výboru, může obdržet `64/64 * base_reward == base_reward`. Validátor však obvykle není navrhovatelem bloku, takže jeho maximální odměna je `64-8 / 64 * base_reward == 7/8 * base_reward`. Validátoři, kteří nejsou ani navrhovateli bloků, ani v synchronizačním výboru, mohou obdržet `64-8-2 / 64 * base_reward == 6.75/8 * base_reward`.
+
+Další odměna se přidává jako pobídka pro rychlé atestace. Jedná se o `inclusion_delay_reward`. Její hodnota se rovná `base_reward` vynásobené `1/zpoždění`, kde `zpoždění` je počet slotů oddělujících návrh bloku a atestaci. Pokud je například atestace odeslána do jednoho slotu od návrhu bloku, atestující obdrží `base_reward * 1/1 == base_reward`. Pokud atestace dorazí v dalším slotu, atestující obdrží `base_reward * 1/2` a tak dále.
+
+Navrhovatelé bloků dostávají `8 / 64 * base_reward` za **každou platnou atestaci** zahrnutou v bloku, takže skutečná hodnota odměny se škáluje s počtem atestujících validátorů. Navrhovatelé bloků mohou také zvýšit svou odměnu tím, že do svého navrhovaného bloku zahrnou důkazy o nesprávném chování jiných validátorů. Tyto odměny jsou „pobídkami“, které podporují poctivost validátorů. Navrhovatel bloku, který zahrne slashing, bude odměněn částkou `slashed_validators_effective_balance / 512`.
+
+### Tresty {#penalties}
+
+Dosud jsme se zabývali dokonale se chovajícími validátory, ale co validátoři, kteří nehlasují včas o hlavě, zdroji a cíli nebo tak činí pomalu?
+
+Tresty za zmeškání hlasování o cíli a zdroji se rovnají odměnám, které by atestující obdržel, kdyby je odeslal. To znamená, že místo přičtení odměny k jejich zůstatku jim bude z jejich zůstatku odečtena stejná hodnota. Za zmeškání hlasování o hlavě se neuděluje žádný trest (tj. hlasy o hlavě se pouze odměňují, nikdy se netrestají). S `inclusion_delay` není spojen žádný trest – odměna se prostě nepřičte k zůstatku validátora. Není ani žádný trest za nenavrhnutí bloku.
+
+Přečtěte si více o odměnách a trestech ve [specifikacích konsenzu](https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/beacon-chain.md). Odměny a tresty byly upraveny ve vylepšení Bellatrix – podívejte se, jak o tom diskutují Danny Ryan a Vitalik v tomto [videu Peep an EIP](https://www.youtube.com/watch?v=iaAEGs1DMgQ).
+
+## Slashing {#slashing}
+
+Slashing je závažnější akce, která má za následek nucené odstranění validátora ze sítě a s tím spojenou ztrátu jeho uzamčeného etheru. Existují tři způsoby, jak může být validátor postižen slashingem, přičemž všechny se rovnají nečestnému navrhování nebo atestaci bloků:
+
+- Navrhováním a podepisováním dvou různých bloků pro stejný slot
+- Atestací bloku, který \"obklopuje\" jiný (což v podstatě mění historii)
+- \"Dvojitým hlasováním\" prostřednictvím atestace dvou kandidátů na stejný blok
+
+Pokud jsou tyto akce zjištěny, je validátor postižen slashingem. To znamená, že pro validátora s 32 ETH je okamžitě spáleno 0,0078125 (lineárně škálováno s aktivním zůstatkem) a poté začíná 36denní období odstraňování. Během tohoto období odstraňování se vklad validátora postupně snižuje. V polovině (18. den) se uplatní dodatečný trest, jehož velikost se škáluje s celkovým uzamčeným etherem všech validátorů postižených slashingem v 36 dnech před událostí slashingu. To znamená, že když je více validátorů postiženo slashingem, velikost trestu se zvyšuje. Maximální trest slashingem je plný efektivní zůstatek všech postižených validátorů (tj. pokud je slashingem postiženo mnoho validátorů, mohou přijít o celý svůj vklad). Na druhou stranu, jedna izolovaná událost slashingu spálí pouze malou část vkladu validátora. Tento trest v polovině období, který se škáluje s počtem validátorů postižených slashingem, se nazývá \"korelační penalizace\".
+
+## Únik z nečinnosti {#inactivity-leak}
+
+Pokud konsensuální vrstva neprovede finalizaci déle než čtyři epochy, aktivuje se nouzový protokol nazvaný \"únik z nečinnosti\". Konečným cílem úniku z nečinnosti je vytvořit podmínky nutné k tomu, aby řetězec obnovil finalitu. Jak bylo vysvětleno výše, finalita vyžaduje, aby se dvoutřetinová většina celkového uzamčeného etheru shodla na zdrojových a cílových kontrolních bodech. Pokud se validátoři představující více než 1/3 všech validátorů odpojí nebo neodešlou správné atestace, není možné, aby dvoutřetinová supervětšina finalizovala kontrolní body. Únik z nečinnosti umožňuje, aby se vklad patřící neaktivním validátorům postupně snižoval, dokud nebudou ovládat méně než 1/3 celkového vkladu, což umožní zbývajícím aktivním validátorům finalizovat řetězec. Ať je pool neaktivních validátorů jakkoli velký, zbývající aktivní validátoři nakonec ovládnou >2/3 vkladu. Ztráta vkladu je silnou pobídkou pro neaktivní validátory, aby se co nejdříve znovu aktivovali! Scénář úniku z nečinnosti nastal na testovací síti Medalla, když se < 66 % aktivních validátorů nebylo schopno shodnout na aktuální hlavě blockchainu. Byl aktivován únik z nečinnosti a finalita byla nakonec obnovena!
+
+Návrh odměn, trestů a slashingu v rámci mechanismu konsenzu podporuje jednotlivé validátory, aby se chovali správně. Z těchto návrhových rozhodnutí však vyplývá systém, který silně motivuje k rovnoměrnému rozložení validátorů mezi více klientů a měl by silně demotivovat dominanci jednoho klienta.
+
+## Další čtení {#further-reading}
+
+- [Vylepšení Etherea: Motivační vrstva](https://eth2book.info/altair/part2/incentives)
+- [Pobídky v hybridním protokolu Casper od Etherea](https://arxiv.org/pdf/1903.04205.pdf)
+- [Vitalikova anotovaná specifikace](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#rewards-and-penalties-1)
+- [Tipy pro prevenci slashingu v Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50)
+- [Analýza trestů za slashing podle EIP-7251](https://ethresear.ch/t/slashing-penalty-analysis-eip-7251/16509)
+
+_Zdroje_
+
+- _[https://benjaminion.xyz/eth2-annotated-spec/phase0/beacon-chain/](https://benjaminion.xyz/eth2-annotated-spec/phase0/beacon-chain/)_
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
new file mode 100644
index 00000000000..600389bd4da
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
@@ -0,0 +1,39 @@
+---
+title: Slabá subjektivita
+description: Vysvětlení slabé subjektivity a její role v PoS Ethereu.
+lang: cs
+---
+
+Subjektivita v blockchainech označuje spoléhání se na sociální informace za účelem dohody na aktuálním stavu. Může existovat více platných větví, ze kterých se vybírá podle informací získaných od ostatních peerů v síti. Opakem je objektivita, která se vztahuje na řetězce, kde existuje pouze jeden možný platný řetězec, na kterém se nutně shodnou všechny uzly použitím svých zakódovaných pravidel. Existuje také třetí stav, známý jako slabá subjektivita. Tento se vztahuje na řetězec, který může objektivně postupovat poté, co je sociálně získán určitý počáteční základ informací.
+
+## Předpoklady {#prerequisites}
+
+Abyste porozuměli této stránce, je nutné nejprve pochopit základy [důkazu podílem](/developers/docs/consensus-mechanisms/pos/).
+
+## Jaké problémy řeší slabá subjektivita? {#problems-ws-solves}
+
+Subjektivita je přirozenou součástí blockchainů s důkazem podílem, protože výběr správného řetězce z několika větví se provádí sčítáním historických hlasů. Tím je blockchain vystaven několika vektorům útoku, včetně útoků na dálku (long-range attacks), při kterých uzly, které se účastnily velmi brzy v řetězci, udržují alternativní větev, kterou zveřejní mnohem později ve svůj vlastní prospěch. Alternativně, pokud 33 % validátorů vybere svůj vklad, ale bude pokračovat v potvrzování a vytváření bloků, mohou vygenerovat alternativní větev, která je v konfliktu s kanonickým řetězcem. Nové uzly nebo uzly, které byly dlouho offline, si nemusí být vědomy, že tito útočící validátoři vybrali své prostředky, takže by je útočníci mohli oklamat, aby sledovaly nesprávný řetězec. Ethereum může tyto vektory útoku vyřešit zavedením omezení, která omezují subjektivní aspekty mechanismu – a tedy i předpoklady důvěry – na naprosté minimum.
+
+## Kontrolní body slabé subjektivity {#ws-checkpoints}
+
+Slabá subjektivita je implementována v Ethereu s důkazem podílem pomocí „kontrolních bodů slabé subjektivity“. Jedná se o kořeny stavu, na kterých se všechny uzly v síti shodnou, že patří do kanonického řetězce. Slouží ke stejnému účelu „univerzální pravdy“ jako genesis bloky, až na to, že se nenacházejí na genesis pozici v blockchainu. Algoritmus pro výběr větve důvěřuje, že stav blockchainu definovaný v tomto kontrolním bodě je správný a že nezávisle a objektivně ověřuje řetězec od tohoto bodu dále. Kontrolní body fungují jako „limity pro vrácení zpět“, protože bloky umístěné před kontrolními body slabé subjektivity nelze změnit. Tím se narušují útoky na dálku jednoduše tím, že se větve vytvořené útoky na dálku definují jako neplatné v rámci návrhu mechanismu. Zajištění toho, aby kontrolní body slabé subjektivity byly odděleny menší vzdáleností než období pro výběr validátora, zajišťuje, že validátor, který větví řetězec, bude potrestán („slashed“) alespoň o nějakou prahovou částku, než bude moci vybrat svůj vklad, a že noví účastníci nemohou být podvedeni k tomu, aby se připojili k nesprávným větvím validátorů, jejichž vklad byl vybrán.
+
+## Rozdíl mezi kontrolními body slabé subjektivity a finalizovanými bloky {#difference-between-ws-and-finalized-blocks}
+
+Finalizované bloky a kontrolní body slabé subjektivity jsou uzly Etherea zpracovávány odlišně. Pokud se uzel dozví o dvou konkurenčních finalizovaných blocích, je mezi nimi rozpolcen – nemá žádný způsob, jak automaticky identifikovat, která je kanonická větev. To je příznakem selhání konsensu. Naproti tomu uzel jednoduše odmítne jakýkoli blok, který je v konfliktu s jeho kontrolním bodem slabé subjektivity. Z pohledu uzlu představuje kontrolní bod slabé subjektivity absolutní pravdu, kterou nelze podkopat novými znalostmi od ostatních peerů.
+
+## Jak slabá je slabá? {#how-weak-is-weak}
+
+Subjektivním aspektem důkazu podílem Etherea je požadavek na nedávný stav (kontrolní bod slabé subjektivity) z důvěryhodného zdroje, ze kterého se má synchronizovat. Riziko získání špatného kontrolního bodu slabé subjektivity je velmi nízké, protože je lze zkontrolovat oproti několika nezávislým veřejným zdrojům, jako jsou prohlížeče bloků nebo více uzlů. Nicméně pro spuštění jakékoli softwarové aplikace je vždy nutná určitá míra důvěry, například důvěra v to, že vývojáři softwaru vytvořili poctivý software.
+
+Kontrolní bod slabé subjektivity může být dokonce součástí klientského softwaru. Pravděpodobně může útočník poškodit kontrolní bod v softwaru a stejně tak snadno může poškodit i samotný software. Neexistuje žádná skutečná kryptoekonomická cesta, jak tento problém obejít, ale dopad nedůvěryhodných vývojářů je v Ethereu minimalizován tím, že existuje několik nezávislých klientských týmů, z nichž každý vytváří ekvivalentní software v různých jazycích, a všechny mají vlastní zájem na udržení poctivého řetězce. Prohlížeče bloků mohou také poskytovat kontrolní body slabé subjektivity nebo způsob, jak křížově ověřit kontrolní body získané odjinud oproti dalšímu zdroji.
+
+Nakonec lze kontrolní body vyžádat od jiných uzlů; například jiný uživatel Etherea, který provozuje plný uzel, může poskytnout kontrolní bod, který pak mohou validátoři ověřit oproti datům z prohlížeče bloků. Celkově lze říci, že důvěra v poskytovatele kontrolního bodu slabé subjektivity může být považována za stejně problematickou jako důvěra v klientské vývojáře. Celková požadovaná důvěra je nízká. Je důležité si uvědomit, že tyto úvahy se stávají důležitými pouze ve velmi nepravděpodobném případě, že se většina validátorů spikne a vytvoří alternativní větev blockchainu. Za jakýchkoli jiných okolností existuje pouze jeden řetězec Etherea, ze kterého lze vybírat.
+
+## Další čtení {#further-reading}
+
+- [Slabá subjektivita v Eth2](https://notes.ethereum.org/@adiasg/weak-subjectvity-eth2)
+- [Vitalik: Jak jsem se naučil milovat slabou subjektivitu](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/)
+- [Slabá subjektivita (dokumentace Teku)](https://docs.teku.consensys.io/concepts/weak-subjectivity)
+- [Příručka ke slabé subjektivitě Fáze 0](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/weak-subjectivity.md)
+- [Analýza slabé subjektivity v Ethereu 2.0](https://github.com/runtimeverification/beacon-chain-verification/blob/master/weak-subjectivity/weak-subjectivity-analysis.pdf)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/withdrawal-credentials/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/withdrawal-credentials/index.md
new file mode 100644
index 00000000000..79cb14f5a0f
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/withdrawal-credentials/index.md
@@ -0,0 +1,64 @@
+---
+title: Pověření k výběru
+description: Vysvětlení typů pověření validátora k výběru (0x00, 0x01, 0x02) a jejich dopady na stakery Etherea.
+lang: cs
+---
+
+Každý validátor má **pověření k výběru**, které určuje, jak a kam lze vybrat jeho stakované ETH a odměny. Typ pověření je určen prvním bajtem: `0x00`, `0x01` nebo `0x02`. Porozumění těmto typům je důležité pro validátory, kteří spravují svůj vklad.
+
+## 0x00: Pověření před upgradem Shapella {#0x00-credentials}
+
+Typ `0x00` je původní formát pověření k výběru z doby před upgradem Shapella (duben 2023). Validátoři s tímto typem pověření nemají nastavenou adresu pro výběr na exekuční vrstvě, což znamená, že jejich prostředky zůstávají uzamčeny na vrstvě konsenzu. Pokud stále máte pověření `0x00`, musíte provést upgrade na `0x01` nebo `0x02`, abyste mohli provádět jakékoli výběry.
+
+## 0x01: Zastaralá pověření k výběru {#0x01-credentials}
+
+Typ `0x01` byl zaveden s upgradem Shapella a stal se standardem pro validátory, kteří si chtěli nastavit adresu pro výběr na exekuční vrstvě. S pověřením `0x01`:
+
+- Jakýkoli zůstatek nad 32 ETH je **automaticky převeden** na vaši adresu pro výběr
+- Úplné exity procházejí standardní frontou pro exity
+- Odměny nad 32 ETH se nemohou úročit – jsou pravidelně převáděny pryč
+
+**Proč někteří validátoři stále používají 0x01:** Je to jednodušší a znají to. Mnoho validátorů provedlo vklad po upgradu Shapella a tento typ již mají a funguje dobře pro ty, kteří chtějí automatické výběry přebytečného zůstatku.
+
+**Proč se nedoporučuje:** S typem `0x01` ztrácíte možnost úročit odměny nad 32 ETH. Každý přebytek je automaticky převeden pryč, což omezuje výdělkový potenciál vašeho validátora a vyžaduje samostatnou správu vybraných prostředků.
+
+## 0x02: Pověření k výběru s úročením {#0x02-credentials}
+
+Typ `0x02` byl zaveden s upgradem Pectra a dnes je pro validátory **doporučenou volbou**. Validátoři s pověřením `0x02` se někdy nazývají "úročící validátoři".
+
+S pověřením `0x02`:
+
+- Odměny nad 32 ETH se **úročí** v přírůstcích po 1 ETH až do maximálního efektivního zůstatku 2048 ETH
+- O částečné výběry je nutné požádat ručně (automatické převody se provádějí pouze nad hranicí 2048 ETH)
+- Validátoři mohou sloučit více validátorů s vkladem 32 ETH do jednoho validátora s vyšším zůstatkem
+- Úplné exity jsou stále podporovány prostřednictvím standardní fronty pro exity
+
+Jak částečné výběry, tak slučování lze provést prostřednictvím [akcí pro validátory na Launchpadu](https://launchpad.ethereum.org/en/validator-actions).
+
+**Proč by měli validátoři preferovat 0x02:** Nabízí lepší kapitálovou efektivitu díky úročení, větší kontrolu nad tím, kdy dochází k výběrům, a podporuje slučování validátorů. Pro sólo stakery, kteří v průběhu času shromažďují odměny, to znamená, že jejich efektivní zůstatek – a tedy i jejich odměny – mohou růst nad 32 ETH bez ručního zásahu.
+
+**Důležité:** Jakmile provedete převod z `0x01` na `0x02`, nemůžete se vrátit zpět.
+
+Podrobného průvodce převodem na pověření typu 2 a funkcí MaxEB najdete na [stránce s vysvětlením MaxEB](/roadmap/pectra/maxeb/).
+
+## Co si mám vybrat? {#what-should-i-pick}
+
+- **Noví validátoři:** Zvolte `0x02`. Je to moderní standard s lepším úročením a flexibilitou.
+- **Stávající validátoři s pověřením 0x01:** Zvažte převod na `0x02`, pokud chcete, aby se odměny úročily nad 32 ETH, nebo plánujete sloučit validátory.
+- **Stávající validátoři s pověřením 0x00:** Okamžitě proveďte upgrade – bez aktualizace pověření nemůžete provádět výběry. Nejprve musíte provést převod na `0x01`, poté můžete provést převod na `0x02`.
+
+## Nástroje pro správu pověření k výběru {#withdrawal-credential-tools}
+
+Několik nástrojů podporuje výběr nebo převod mezi typy pověření:
+
+- **[Ethereum Staking Launchpad](https://launchpad.ethereum.org/en/validator-actions)** – oficiální nástroj pro vklady a správu validátorů, včetně převodů pověření a slučování
+- **[Pectra Staking Manager](https://pectrastaking.com)** – webové rozhraní s podporou wallet-connect pro převody a slučování
+- **[Pectra Validator Ops CLI Tool](https://github.com/Luganodes/Pectra-Batch-Contract)** – nástroj příkazového řádku pro hromadné převody
+- **[Ethereal](https://github.com/wealdtech/ethereal)** – nástroj CLI pro operace v síti Ethereum včetně správy validátorů
+
+Úplný seznam nástrojů pro slučování a podrobné pokyny k převodu najdete v části [Nástroje pro slučování MaxEB](/roadmap/pectra/maxeb/#consolidation-tooling).
+
+## Další čtení {#further-reading}
+
+- [Klíče v síti Ethereum s proof-of-stake](/developers/docs/consensus-mechanisms/pos/keys/) – zjistěte více o klíčích validátorů a o tom, jak souvisí s pověřeními k výběru
+- [MaxEB](/roadmap/pectra/maxeb/) – podrobný průvodce upgradem Pectra a funkcí maximálního efektivního zůstatku
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/index.md
new file mode 100644
index 00000000000..50004f7c6e6
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/index.md
@@ -0,0 +1,114 @@
+---
+title: Proof-of-work (PoW)
+description: Vysvětlení konsensuálního protokolu proof of work a jeho role v Ethereum síti.
+lang: cs
+---
+
+Síť Ethereum začala používat mechanismus konsenzu, který zahrnoval **[důkaz prací (PoW)](/developers/docs/consensus-mechanisms/pow)**. Tento mechanismus umožňoval uzlům sítě Ethereum shodnout se na stavu všech informací zaznamenaných na blockchainu Etherea a bránil určitým druhům ekonomických útoků. V roce 2022 však Ethereum přešlo z důkazu prací na [důkaz podílem](/developers/docs/consensus-mechanisms/pos).
+
+
+
+
+
+ Proof-of-work je nyní zastaralý. Ethereum už proof-of-work nepoužívá jako součást svého konsensuálního mechanismu. Místo toho používá proof-of-stake. Přečtěte si více o [důkazu podílem](/developers/docs/consensus-mechanisms/pos/) a [uzamčení](/staking/).
+
+
+
+
+## Předpoklady {#prerequisites}
+
+Abyste lépe porozuměli této stránce, doporučujeme vám si nejprve přečíst o [transakcích](/developers/docs/transactions/), [blocích](/developers/docs/blocks/) a [mechanismech konsenzu](/developers/docs/consensus-mechanisms/).
+
+## Co je důkaz prací (PoW)? {#what-is-pow}
+
+Nakamotův konsensus, který využívá důkaz prací, je mechanismus, který kdysi umožňoval decentralizované síti Ethereum dosáhnout konsenzu (tj. shody všech uzlů) na věcech, jako jsou zůstatky na účtech a pořadí transakcí. Tento mechanismus zabránil uživatelům v „dvojím utracení“ prostředků a zajistil, že Ethereum blockchain bylo mimořádně obtížné napadnout nebo s ním manipulovat. Tyto bezpečnostní vlastnosti nyní pocházejí z důkazu podílem za použití mechanismu konsenzu známého jako [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/).
+
+## Důkaz prací a těžba {#pow-and-mining}
+
+Proof-of-work je základní algoritmus, který stanovuje obtížnost a pravidla pro práci těžařů na proof-of-work blockchainech. Těžba je samotná "práce". Těžbou je myšleno přidávání platných bloků do řetězce. To je důležité, protože délka řetězce pomáhá síti sledovat správnou větev blockchainu. Čím více "práce" je vykonáno, tím delší je řetězec a čím vyšší je číslo bloku, tím jistější si síť může být aktuálním stavem věcí.
+
+[Více o těžbě](/developers/docs/consensus-mechanisms/pow/mining/)
+
+## Jak funguje proof-of-work na Ethereu? Jak to funguje {#how-it-works}
+
+Transakce na Ethereu se zpracovávají do bloků. Na nyní zastaralém proof-of-work Ethereu každý blok obsahoval:
+
+- obtížnost bloku - například: 3,324,092,183,262,715
+- mixHash – například: `0x44bca881b07a6a09f83b130798072441705d9a665c5ac8bdf2f39a3cdf3bee29`
+- nonce – například: `0xd3ee432b4fb3d26b`
+
+Tato data bloku byla přímo spojena s proof-of-work.
+
+### Práce v důkazu prací {#the-work}
+
+Protokol proof-of-work, Ethash, vyžadoval, aby těžaři prošli intenzivním závodem sestávajícím z pokusů a omylů, aby našli jednorázové číslo bloku. Pouze bloky s platným jednorázovým číslem mohly být přidány do řetězce.
+
+Při závodě o vytvoření bloku těžař opakovaně procházel datovou sadu, kterou bylo možné získat pouze stažením a provozováním celého řetězce (což těžaři dělají), pomocí matematické funkce. Tato datová sada byla použita k vygenerování mixHashe, který byl pod cílovou hodnotou určenou obtížností bloku. Nejlepší způsob, jak toho dosáhnout, je metoda pokusů a omylů.
+
+Obtížnost určovala cíl pro hash. Čím nižší je cílová hodnota, tím menší je množina platných hashů. Jakmile byl hash vygenerován, bylo pro ostatní těžaře a klienty velmi snadné jej ověřit. I malá změna v transakci by vedla k úplně jinému hashi, což by signalizovalo podvod.
+
+Díky hashování je podvod snadno odhalitelný. Ale proof-of-work jako proces byl také velkým odrazujícím prvkem proti útokům na řetězec.
+
+### Důkaz prací a bezpečnost {#security}
+
+Těžaři byli motivováni vykonávat tuto práci na Ethereum Mainnetu. Podskupina těžařů měla jen malou motivaci k tomu, aby si založila vlastní řetězec - podkopává to celý systém. Blockchainy se spoléhají na to, že mají jediný stav jako zdroj pravdy.
+
+Cílem proof-of-work bylo prodloužit řetězec. Nejdelší řetězec byl považován za nejvěrohodnější, protože na něm bylo provedeno nejvíce výpočetní práce. V rámci Ethereum systému PoW bylo téměř nemožné vytvářet nové bloky, které by vymazaly transakce, vytvořily falešné bloky nebo udržovaly druhý řetězec. To proto, že by těžař s úmyslem poškodit blockchain musel vždy vypočítat jedinečné číslo bloku rychleji než ostatní.
+
+Aby zlý těžař mohl konzistentně vytvářet škodlivé, ale platné bloky, musel by mít více než 51 % výpočetní síly sítě, aby porazil ostatní těžaře. Takové množství „práce“ vyžaduje značné množství drahé výpočetní síly a náklady na energii by mohly dokonce převýšit zisky útoku.
+
+### Ekonomika důkazu prací {#economics}
+
+Proof-of-work byl také zodpovědný za vytváření nové měny v systému a za motivaci těžařů k vykonávání práce.
+
+Od [upgradu Constantinople](/ethereum-forks/#constantinople) byli těžaři, kteří úspěšně vytvořili blok, odměněni dvěma nově vyraženými ETH a částí transakčních poplatků. Ommer bloky byly také kompenzovány částkou 1,75 ETH. Ommer bloky byly platné bloky vytvořené těžařem prakticky ve stejnou dobu jako jiný těžař vytvořil kanonický blok, přičemž rozhodující bylo, který blok byl přidán ke stávajícímu řetězci jako první. Ommer bloky se obvykle objevovaly kvůli latenci sítě.
+
+## Konečnost {#finality}
+
+Transakce má na Ethereu „konečnost“, když je součástí bloku, který se nemůže změnit.
+
+Protože těžaři pracovali decentralizovaným způsobem, mohly být současně vytěženy dva platné bloky. To vedlo k dočasnémuu větvení řetězce. Nakonec se jeden z těchto řetězců stal přijatým řetězcem poté, co byly vytěženy a přidány další bloky, čímž se stal delším.
+
+Aby se věci ještě více zkomplikovaly, transakce, které byly zamítnuty na dočasné větvi, nemusely být zahrnuty v přijatém řetězci. To znamená, že mohlo dojít k jejich zrušení. Konečnost se tedy týká doby, po kterou byste měli vyčkat, než lze transakci považovat za nevratnou. V předchozím Ethereu s důkazem prací platilo, že čím více bloků bylo vytěženo nad konkrétním blokem `N`, tím vyšší byla důvěra, že transakce v `N` byly úspěšné a nebudou zrušeny. Nyní, s proof-of-stake, je konečnost explicitní vlastností bloku, nikoli probabilistickou.
+
+## Spotřeba energie u důkazu prací {#energy}
+
+Hlavní kritikou proof-of-work je množství energie potřebné k udržení bezpečnosti sítě. Aby si Ethereum udrželo míru bezpečnosti a decentralizace, spotřebovávalo velké množství energie. Krátce před přechodem na důkaz podílem těžaři Etherea kolektivně spotřebovávali přibližně 70 TWh/rok (přibližně stejně jako Česká republika – podle [digiconomist](https://digiconomist.net/) k 18. červenci 2022).
+
+## Výhody a nevýhody {#pros-and-cons}
+
+| Plusy | Minusy |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Proof-of-work je neutrální. Pro začátek nepotřebujete ETH a odměny za bloky vám umožní přejít z 0ETH do kladného zůstatku. U [důkazu podílem](/developers/docs/consensus-mechanisms/pos/) potřebujete pro začátek ETH. | Proof-of-work spotřebovává tolik energie, že je škodlivý pro životní prostředí. |
+| Proof-of-work je osvědčený a vyzkoušený konsensuální mechanismus, který udržoval Bitcoin a Ethereum bezpečné a decentralizované po mnoho let. | Pokud chcete těžit, potřebujete tak specializované vybavení, že je to pro začátek velká investice. |
+| Ve srovnání s proof-of-stake je jeho implementace relativně snadná. | Vzhledem k rostoucí potřebě výpočtů by těžební pooly mohly potenciálně ovládnout těžbu, což by vedlo k centralizaci a bezpečnostním rizikům. |
+
+## Srovnání s důkazem podílem {#compared-to-pos}
+
+Z obecného pohledu má proof-of-stake stejný cíl jako proof-of-work: Pomoci decentralizované síti bezpečně dosáhnout konsensu. Má však některé rozdíly v procesu a personálu:
+
+- Proof-of-stake nahrazuje důležitost výpočetní síly stakovaným ETH.
+- Proof-of-stake nahrazuje těžaře validátory. Validátoři uzamikají své ETH, aby aktivovali schopnost vytvářet nové bloky.
+- Validátoři nesoutěží o vytváření bloků, místo toho jsou náhodně vybíráni algoritmem.
+- Konečnost je jasnější: pokud se v určitých kontrolních bodech 2/3 validátorů shodnou na stavu bloku, je považován za konečný. Validátoři na to musí vsadit celý svůj vklad, takže pokud se pokusí o tajnou dohodu bokem, přijdou o celý svůj vklad.
+
+[Více o důkazu podílem](/developers/docs/consensus-mechanisms/pos/)
+
+## Učíte se spíše vizuálně? Vizuální výuka {#visual-learner}
+
+
+
+## Další čtení {#further-reading}
+
+- [Většinový útok](https://en.bitcoin.it/wiki/Majority_attack)
+- [O finalitě vypořádání](https://blog.ethereum.org/2016/05/09/on-settlement-finality/)
+
+### Videa {#videos}
+
+- [Technické vysvětlení protokolů důkazu prací](https://youtu.be/9V1bipPkCTU)
+
+## Související témata {#related-topics}
+
+- [Těžba](/developers/docs/consensus-mechanisms/pow/mining/)
+- [Důkaz podílem](/developers/docs/consensus-mechanisms/pos/)
+- [Důkaz autoritou](/developers/docs/consensus-mechanisms/poa/)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md
new file mode 100644
index 00000000000..bfde7be97dd
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md
@@ -0,0 +1,86 @@
+---
+title: Těžba
+description: Vysvětlení, jak fungovala těžba na Ethereu.
+lang: cs
+---
+
+
+
+
+
+Proof-of-work již není základním mechanismem konsensu Etherea, což znamená, že těžení bylo vypnuto. Místo toho je Ethereum zabezpečeno validátory, kteří stakují ETH. Své ETH můžete začít stakeovat hned dnes. Přečtěte si více o Sloučení, proof-of-stake a stakování. Tato stránka má pouze historický význam.
+
+
+
+
+## Předpoklady {#prerequisites}
+
+Pro lepší pochopení této stránky doporučujeme si nejprve přečíst o [transakcích](/developers/docs/transactions/), [blocích](/developers/docs/blocks/) a [důkazu prací](/developers/docs/consensus-mechanisms/pow/).
+
+## Co je to těžba Etherea? Co je to těžba Etherea? {#what-is-ethereum-mining}
+
+Těžení je proces vytváření bloků transakcí, které byly přidávány do blockchainu Etherea v dříve používané architektuře proof-of-work.
+
+Slovo „těžení“ pochází z analogie se zlatem v kontextu kryptoměn. Zlaté nebo cenné kovy jsou vzácné, stejně jako digitální tokeny, a jediným způsobem, jak zvýšit jejich celkový objem v systému proof-of-work, je těžení. Na proof-of-work Ethereu byl jediný způsob, jak vydávat nové ETH, právě těžba. Na rozdíl od zlata nebo cenných kovů však těžení Etherea také sloužilo k zabezpečení sítě tím, že vytvářelo, ověřovalo, publikovalo a šířilo bloky blockchainu.
+
+Těžení etheru = Zabezpečení sítě
+
+Těžení je krví každého blockchainu založeného na proof-of-work. Těžaři Etherea – počítače, na kterých je spuštěn software – používali před přechodem na proof-of-stake svůj čas a výpočetní výkon ke zpracovávání transakcí a vytváření bloků.
+
+## Proč těžaři existují? {#why-do-miners-exist}
+
+V decentralizovaných systémech, jako je Ethereum, musíme zajistit, aby se všichni shodli na pořadí transakcí. Těžaři tomu napomáhají tím, že řeší výpočetně náročné "hádanky" a vytvářejí tak bloky, které slouží k zabezpečení sítě před útoky.
+
+[Více o důkazu prací](/developers/docs/consensus-mechanisms/pow/)
+
+Dříve měl každý možnost těžit na síti Ethereum pomocí svého počítače. Avšak ne každý mohl těžit ether (ETH) ziskově. V mnoha případech museli těžaři investovat do specializovaného počítačového hardwaru a mít přístup k levným zdrojům energie. Průměrný počítač pravděpodobně nikdy nevydělal dost prostředků na pokrytí nákladů spojených s těžením.
+
+### Náklady na těžbu {#cost-of-mining}
+
+- Potenciální náklady na hardware potřebný k vybudování a údržbě těžebního zařízení
+- Náklady napájení těžebního zařízení elektřinou
+- Pokud jste těžili v těžebním poolu, účtovaly vám tyto pooly obvykle pevný procentuální poplatek z každého bloku generovaného poolem
+- Potenciální náklady na vybavení pro podporu těžebního zařízení (ventilace, monitoring energie, elektrické vedení atd.)
+
+Pro podrobnější prozkoumání ziskovosti těžby použijte kalkulačku těžby, například tu, kterou poskytuje [Etherscan](https://etherscan.io/ether-mining-calculator).
+
+## Jak se těžily transakce na Ethereu {#how-ethereum-transactions-were-mined}
+
+Následující text je přehledem způsobu těžby na proof-of-work Ethereu. Analogický popis tohoto procesu pro Ethereum s důkazem podílem najdete [zde](/developers/docs/consensus-mechanisms/pos/#transaction-execution-ethereum-pos).
+
+1. Uživatel napíše a podepíše požadavek na [transakci](/developers/docs/transactions/) privátním klíčem nějakého [účtu](/developers/docs/accounts/).
+2. Uživatel odešle požadavek na transakci do celé sítě Ethereum z nějakého [uzlu](/developers/docs/nodes-and-clients/).
+3. Jakmile se o novém požadavku na transakci dozví, každý uzel v Ethereum síti přidá požadavek do svého lokálního mempoolu, seznamu všech požadavků na transakci, o kterých se dozvěděl a které ještě nebyly odevzdány v bloku do blockchainu.
+4. V určitém okamžiku těžební uzel agreguje několik desítek nebo stovek požadavků na transakce do potenciálního [bloku](/developers/docs/blocks/) tak, aby maximalizoval [transakční poplatky](/developers/docs/gas/), které vydělá, a zároveň se udržel pod palivovým limitem bloku. Těžební uzel pak:
+ 1. Ověří platnost každého požadavku na transakci (tj. nikdo se nepokouší převést ether z účtu, pro který nevytvořil podpis, požadavek není chybný atd.), a poté provede kód požadavku, čímž změní stav své lokální kopie EVM. Těžař obdrží transakční poplatek za každý takový požadavek na svůj vlastní účet.
+ 2. Zahájí proces vytváření „certifikátu legitimity“ důkazu prací pro potenciální blok, jakmile jsou všechny požadavky na transakce v bloku ověřeny a provedeny na místní kopii EVM.
+5. Nakonec těžař dokončí vytvoření certifikátu pro blok, který obsahuje náš konkrétní požadavek na transakci. Těžař pak vyšle dokončený blok, který obsahuje certifikát a kontrolní součet nárokovaného nového stavu EVM.
+6. Ostatní uzly se o novém bloku dozvědí. Ověří certifikát, samy provedou všechny transakce na bloku (včetně transakce původně vyslané naším uživatelem) a ověří, zda se kontrolní součet jejich nového stavu EVM po provedení všech transakcí shoduje s kontrolním součtem stavu deklarovaného blokem těžaře. Teprve poté tyto uzly připojí tento blok na konec svého blockchainu a přijmou nový stav EVM jako kanonický stav.
+7. Každý uzel odstraní všechny transakce v novém bloku ze svého lokálního mempoolu nesplněných transakčních požadavků.
+8. Nové uzly, které se připojují k síti, stahují postupně všechny bloky, včetně bloku obsahujícího naši sledovanou transakci. Inicializují lokální kopii EVM (která začíná prázdném stavu) a poté procházejí procesem provádění všech transakcí v každém bloku nad svou lokální kopií EVM a cestou ověřují kontrolní součty stavu v každém bloku.
+
+Každá transakce je vytěžena (zařazena do nového bloku a poprvé propagována) jednou, ale provedena a ověřena každým účastníkem procesu postupu kanonického stavu EVM. To zdůrazňuje jednu z ústředních manter blockchainu: **Nevěř, ověřuj**.
+
+## Ommer (uncle) bloky {#ommer-blocks}
+
+Těžení bloků v proof-of-work bylo pravděpodobnostní, což znamená, že někdy byly současně publikovány dva platné bloky kvůli latenci sítě. V takovém případě musel protokol určit nejdelší (a tedy nejvíce „platný“) řetězec, přičemž zajistil spravedlnost vůči těžařům tím, že částečně odměnil nezařazený platný blok. To podpořilo další decentralizaci sítě, protože menší těžaři, kteří mohli čelit větší latenci, mohli stále generovat výnosy prostřednictvím odměn za [ommer](/glossary/#ommer) bloky.
+
+Termín „ommer“ je preferovaný genderově neutrální termín pro sourozence rodičovského bloku, ale někdy se také používá termín „strýc“ (uncle). **Od přechodu Etherea na důkaz podílem se ommer bloky již netěží**, protože v každém slotu je zvolen pouze jeden navrhovatel. Tuto změnu můžete vidět na [historickém grafu](https://ycharts.com/indicators/ethereum_uncle_rate) ommer bloků, které byly těženy.
+
+## Vizuální ukázka {#a-visual-demo}
+
+Podívejte se, jak vás Austin provede těžbou a PoS blockchainem.
+
+
+
+## Algoritmus těžby {#mining-algorithm}
+
+Hlavní síť Ethereum kdy používala pouze jeden algoritmus těžby – ['Ethash'](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/). Ethash byl nástupcem původního R&D algoritmu známého jako ['Dagger-Hashimoto'](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/).
+
+[Více o algoritmech těžby](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/).
+
+## Související témata {#related-topics}
+
+- [Palivo](/developers/docs/gas/)
+- [EVM](/developers/docs/evm/)
+- [Důkaz prací](/developers/docs/consensus-mechanisms/pow/)
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
new file mode 100644
index 00000000000..c2fd53e98c2
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
@@ -0,0 +1,329 @@
+---
+title: Dagger-Hashimoto
+description: Podrobný pohled na algoritmus Dagger-Hashimoto.
+lang: cs
+---
+
+Dagger-Hashimoto byla původní výzkumná implementace a specifikace těžebního algoritmu Etherea. Dagger-Hashimoto byl nahrazen [Ethash](#ethash). Těžba byla zcela vypnuta při [Sloučení](/roadmap/merge/) dne 15. září 2022. Od té doby je Ethereum zabezpečeno pomocí mechanismu [důkazu podílem](/developers/docs/consensus-mechanisms/pos). Tato stránka má historický význam – informace na ní již nejsou pro Ethereum po Sloučení relevantní.
+
+## Předpoklady {#prerequisites}
+
+Pro lepší pochopení této stránky doporučujeme si nejprve přečíst o [konsensu důkazu prací](/developers/docs/consensus-mechanisms/pow), [těžbě](/developers/docs/consensus-mechanisms/pow/mining) a [těžebních algoritmech](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms).
+
+## Dagger-Hashimoto {#dagger-hashimoto}
+
+Dagger-Hashimoto se snaží splnit dva cíle:
+
+1. **Odolnost vůči ASIC**: výhoda plynoucí z vytvoření specializovaného hardwaru pro tento algoritmus by měla být co nejmenší
+2. **Ověřitelnost lehkým klientem**: blok by měl být efektivně ověřitelný lehkým klientem.
+
+S další úpravou také specifikujeme, jak v případě potřeby splnit třetí cíl, avšak za cenu zvýšené složitosti:
+
+**Úplné úložiště řetězce**: těžba by měla vyžadovat uložení celého stavu blockchainu (kvůli nepravidelné struktuře stavového stromu Ethereum očekáváme, že bude možné určité prořezávání, zejména některých často používaných kontraktů, ale chceme to minimalizovat).
+
+## Generování DAG {#dag-generation}
+
+Kód algoritmu bude definován níže v jazyce Python. Nejprve uvedeme `encode_int` pro převádění celých čísel bez znaménka o zadané přesnosti na řetězce. Je uvedena i jeho inverzní funkce:
+
+```python
+NUM_BITS = 512
+
+def encode_int(x):
+ "Zakóduje celé číslo x jako řetězec 64 znaků pomocí schématu big-endian"
+ o = ''
+ for _ in range(NUM_BITS / 8):
+ o = chr(x % 256) + o
+ x //= 256
+ return o
+
+def decode_int(s):
+ "Dekóduje celé číslo x z řetězce pomocí schématu big-endian"
+ x = 0
+ for c in s:
+ x *= 256
+ x += ord(c)
+ return x
+```
+
+Dále předpokládáme, že `sha3` je funkce, která přijímá celé číslo a vrací celé číslo, a `dbl_sha3` je funkce double-sha3; pokud převádíte tento referenční kód do implementace, použijte:
+
+```python
+from pyethereum import utils
+def sha3(x):
+ if isinstance(x, (int, long)):
+ x = encode_int(x)
+ return decode_int(utils.sha3(x))
+
+def dbl_sha3(x):
+ if isinstance(x, (int, long)):
+ x = encode_int(x)
+ return decode_int(utils.sha3(utils.sha3(x)))
+```
+
+### Parametry {#parameters}
+
+Parametry použité pro algoritmus jsou:
+
+```python
+SAFE_PRIME_512 = 2**512 - 38117 # Největší bezpečné prvočíslo menší než 2**512
+
+params = {
+ "n": 4000055296 * 8 // NUM_BITS, # Velikost datové sady (4 gigabajty); MUSÍ BÝT NÁSOBEK 65536
+ "n_inc": 65536, # Přírůstek hodnoty n za období; MUSÍ BÝT NÁSOBEK 65536
+ # s epochtime=20000 dává 882 MB ročně
+ "cache_size": 2500, # Velikost mezipaměti lehkého klienta (může si zvolit lehký klient, není součástí specifikace algoritmu)
+ "diff": 2**14, # Obtížnost (upraveno během vyhodnocování bloku)
+ "epochtime": 100000, # Délka epochy v blocích (jak často se datová sada aktualizuje)
+ "k": 1, # Počet rodičů uzlu
+ "w": w, # Používá se pro hašování modulárním umocňováním
+ "accesses": 200, # Počet přístupů k datové sadě během hashimota
+ "P": SAFE_PRIME_512 # Bezpečné prvočíslo pro hašování a generování náhodných čísel
+}
+```
+
+`P` je v tomto případě prvočíslo zvolené tak, že `log₂(P)` je jen o málo menší než 512, což odpovídá 512 bitům, které jsme používali k reprezentaci našich čísel. Všimněte si, že je třeba ukládat pouze druhou polovinu DAG, takže de-facto požadavek na paměť RAM začíná na 1 GB a roste o 441 MB ročně.
+
+### Vytvoření grafu Daggeru {#dagger-graph-building}
+
+Primitivní funkce pro vytvoření grafu Daggeru je definována následovně:
+
+```python
+def produce_dag(params, seed, length):
+ P = params["P"]
+ picker = init = pow(sha3(seed), params["w"], P)
+ o = [init]
+ for i in range(1, length):
+ x = picker = (picker * init) % P
+ for _ in range(params["k"]):
+ x ^= o[x % i]
+ o.append(pow(x, params["w"], P))
+ return o
+```
+
+V podstatě začíná graf jako jediný uzel, `sha3(seed)`, a odtud začne postupně přidávat další uzly na základě náhodných předchozích uzlů. Když je vytvořen nový uzel, je vypočítána modulární mocnina seedu pro náhodný výběr některých indexů menších než `i` (pomocí `x % i` výše) a hodnoty uzlů na těchto indexech jsou použity ve výpočtu pro generování nové hodnoty `x`, která je pak vložena do malé funkce důkazu prací (založené na XOR) pro konečné vygenerování hodnoty grafu na indexu `i`. Důvodem tohoto konkrétního návrhu je vynutit si sekvenční přístup k DAG; další hodnota DAG, ke které se bude přistupovat, nemůže být určena, dokud není známa aktuální hodnota. Nakonec modulární umocňování výsledek dále hašuje.
+
+Tento algoritmus se opírá o několik výsledků z teorie čísel. Diskuzi naleznete v dodatku níže.
+
+## Vyhodnocení lehkým klientem {#light-client-evaluation}
+
+Výše uvedená konstrukce grafu má umožnit rekonstrukci každého uzlu v grafu výpočtem podstromu pouze malého počtu uzlů a vyžaduje pouze malé množství pomocné paměti. Všimněte si, že s k=1 je podstrom pouze řetězcem hodnot vedoucích až k prvnímu prvku v DAG.
+
+Výpočetní funkce lehkého klienta pro DAG funguje následovně:
+
+```python
+def quick_calc(params, seed, p):
+ w, P = params["w"], params["P"]
+ cache = {}
+
+ def quick_calc_cached(p):
+ if p in cache:
+ pass
+ elif p == 0:
+ cache[p] = pow(sha3(seed), w, P)
+ else:
+ x = pow(sha3(seed), (p + 1) * w, P)
+ for _ in range(params["k"]):
+ x ^= quick_calc_cached(x % p)
+ cache[p] = pow(x, w, P)
+ return cache[p]
+
+ return quick_calc_cached(p)
+```
+
+V podstatě se jedná pouze o přepsání výše uvedeného algoritmu, který odstraňuje smyčku výpočtu hodnot pro celý DAG a nahrazuje dřívější vyhledávání uzlů rekurzivním voláním nebo vyhledáváním v mezipaměti. Všimněte si, že pro `k=1` je mezipaměť zbytečná, ačkoliv další optimalizace ve skutečnosti předpočítává prvních několik tisíc hodnot DAG a ponechává je jako statickou mezipaměť pro výpočty; implementaci tohoto kódu naleznete v dodatku.
+
+## Dvojitá vyrovnávací paměť DAG {#double-buffer}
+
+V plnohodnotném klientovi se používá [_dvojitá vyrovnávací paměť_](https://wikipedia.org/wiki/Multiple_buffering) 2 DAGů vytvořených podle výše uvedeného vzorce. Myšlenka je taková, že DAG se vytvářejí každých `epochtime` bloků podle výše uvedených parametrů. Místo toho, aby klient používal nejnovější vytvořený DAG, používá ten předchozí. Výhodou je, že to umožňuje nahrazovat DAG v průběhu času, aniž by bylo nutné zahrnout krok, kdy těžaři musí náhle přepočítat všechna data. V opačném případě existuje potenciál pro náhlé dočasné zpomalení zpracování řetězce v pravidelných intervalech a dramatické zvýšení centralizace. Tím vzniká riziko 51% útoku během několika minut před přepočítáním všech dat.
+
+Algoritmus použitý ke generování sady DAG používaných k výpočtu práce pro blok je následující:
+
+```python
+def get_prevhash(n):
+ from pyethereum.blocks import GENESIS_PREVHASH
+ from pyethereum import chain_manager
+ if n <= 0:
+ return hash_to_int(GENESIS_PREVHASH)
+ else:
+ prevhash = chain_manager.index.get_block_by_number(n - 1)
+ return decode_int(prevhash)
+
+def get_seedset(params, block):
+ seedset = {}
+ seedset["back_number"] = block.number - (block.number % params["epochtime"])
+ seedset["back_hash"] = get_prevhash(seedset["back_number"])
+ seedset["front_number"] = max(seedset["back_number"] - params["epochtime"], 0)
+ seedset["front_hash"] = get_prevhash(seedset["front_number"])
+ return seedset
+
+def get_dagsize(params, block):
+ return params["n"] + (block.number // params["epochtime"]) * params["n_inc"]
+
+def get_daggerset(params, block):
+ dagsz = get_dagsize(params, block)
+ seedset = get_seedset(params, block)
+ if seedset["front_hash"] <= 0:
+ # Zadní vyrovnávací paměť není možná, vytvořte pouze přední vyrovnávací paměť
+ return {"front": {"dag": produce_dag(params, seedset["front_hash"], dagsz),
+ "block_number": 0}}
+ else:
+ return {"front": {"dag": produce_dag(params, seedset["front_hash"], dagsz),
+ "block_number": seedset["front_number"]},
+ "back": {"dag": produce_dag(params, seedset["back_hash"], dagsz),
+ "block_number": seedset["back_number"]}}
+```
+
+## Hashimoto {#hashimoto}
+
+Původní myšlenkou Hashimota je použít blockchain jako datovou sadu, provést výpočet, který vybere N indexů z blockchainu, shromáždí transakce na těchto indexech, provede XOR těchto dat a vrátí haš výsledku. Původní algoritmus Thaddeuse Dryji, přeložený do Pythonu pro konzistenci, je následující:
+
+```python
+def orig_hashimoto(prev_hash, merkle_root, list_of_transactions, nonce):
+ hash_output_A = sha256(prev_hash + merkle_root + nonce)
+ txid_mix = 0
+ for i in range(64):
+ shifted_A = hash_output_A >> i
+ transaction = shifted_A % len(list_of_transactions)
+ txid_mix ^= list_of_transactions[transaction] << i
+ return txid_mix ^ (nonce << 192)
+```
+
+Bohužel, ačkoli je Hashimoto považováno za paměťově náročné, spoléhá na 256bitovou aritmetiku, která má značnou výpočetní režii. Dagger-Hashimoto však k řešení tohoto problému používá při indexování své datové sady pouze nejméně významných 64 bitů.
+
+```python
+def hashimoto(dag, dagsize, params, header, nonce):
+ m = dagsize / 2
+ mix = sha3(encode_int(nonce) + header)
+ for _ in range(params["accesses"]):
+ mix ^= dag[m + (mix % 2**64) % m]
+ return dbl_sha3(mix)
+```
+
+Použití dvojitého SHA3 umožňuje formu předběžného ověření s nulovými daty a téměř okamžitou odezvou, kdy se ověřuje pouze to, že byla poskytnuta správná mezihodnota. Tato vnější vrstva důkazu prací je vysoce přívětivá k ASIC a poměrně slabá, ale existuje proto, aby ještě více ztížila útoky DDoS, protože toto malé množství práce musí být provedeno, aby se vytvořil blok, který nebude okamžitě zamítnut. Zde je verze pro lehkého klienta:
+
+```python
+def quick_hashimoto(seed, dagsize, params, header, nonce):
+ m = dagsize // 2
+ mix = sha3(nonce + header)
+ for _ in range(params["accesses"]):
+ mix ^= quick_calc(params, seed, m + (mix % 2**64) % m)
+ return dbl_sha3(mix)
+```
+
+## Těžba a ověřování {#mining-and-verifying}
+
+Nyní to všechno spojíme do těžebního algoritmu:
+
+```python
+def mine(daggerset, params, block):
+ from random import randint
+ nonce = randint(0, 2**64)
+ while 1:
+ result = hashimoto(daggerset, get_dagsize(params, block),
+ params, decode_int(block.prevhash), nonce)
+ if result * params["diff"] < 2**256:
+ break
+ nonce += 1
+ if nonce >= 2**64:
+ nonce = 0
+ return nonce
+```
+
+Zde je ověřovací algoritmus:
+
+```python
+def verify(daggerset, params, block, nonce):
+ result = hashimoto(daggerset, get_dagsize(params, block),
+ params, decode_int(block.prevhash), nonce)
+ return result * params["diff"] < 2**256
+```
+
+Ověření přátelské k lehkému klientovi:
+
+```python
+def light_verify(params, header, nonce):
+ seedset = get_seedset(params, block)
+ result = quick_hashimoto(seedset["front_hash"], get_dagsize(params, block),
+ params, decode_int(block.prevhash), nonce)
+ return result * params["diff"] < 2**256
+```
+
+Všimněte si také, že Dagger-Hashimoto klade další požadavky na hlavičku bloku:
+
+- Aby dvouvrstvé ověření fungovalo, musí hlavička bloku obsahovat jak nonce, tak střední hodnotu před hašováním sha3.
+- Někde musí hlavička bloku ukládat sha3 aktuální sady seedů.
+
+## Další čtení {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+## Dodatek {#appendix}
+
+Jak bylo uvedeno výše, RNG použité pro generování DAG se opírá o některé výsledky z teorie čísel. Nejprve poskytneme ujištění, že Lehmerův RNG, který je základem proměnné `picker`, má široké období. Za druhé, ukážeme, že `pow(x,3,P)` nezobrazí `x` na `1` nebo `P-1` za předpokladu, že na začátku je `x ∈ [2,P-2]`. Nakonec ukážeme, že `pow(x,3,P)` má nízkou míru kolizí, pokud je považováno za hašovací funkci.
+
+### Lehmerův generátor náhodných čísel {#lehmer-random-number}
+
+Přestože funkce `produce_dag` nemusí produkovat nezaujatá náhodná čísla, potenciální hrozbou je, že `seed**i % P` nabývá pouze několika hodnot. To by mohlo poskytnout výhodu těžařům, kteří vzor rozpoznají, oproti těm, kteří ho nerozpoznají.
+
+Abychom se tomu vyhnuli, odvoláváme se na výsledek z teorie čísel. [_Bezpečné prvočíslo_](https://en.wikipedia.org/wiki/Safe_prime) je definováno jako prvočíslo `P` takové, že `(P-1)/2` je také prvočíslo. _Řád_ členu `x` [multiplikativní skupiny](https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n) `ℤ/nℤ` je definován jako minimální `m` takové, že
xᵐ mod P ≡ 1
+Vzhledem k těmto definicím máme:
+
+> Pozorování 1. Nechť `x` je členem multiplikativní skupiny `ℤ/Pℤ` pro bezpečné prvočíslo `P`. Pokud `x mod P ≠ 1 mod P` a `x mod P ≠ P-1 mod P`, pak řád `x` je buď `P-1` nebo `(P-1)/2`.
+
+_Důkaz_. Protože `P` je bezpečné prvočíslo, pak podle [Lagrangeovy věty][lagrange] máme, že řád `x` je buď `1`, `2`, `(P-1)/2` nebo `P-1`.
+
+Řád `x` nemůže být `1`, protože podle Malé Fermatovy věty máme:
+
+
xP-1 mod P ≡ 1
+
+Proto musí být `x` multiplikativní identitou `ℤ/nℤ`, která je jedinečná. Protože jsme předpokládali, že `x ≠ 1`, není to možné.
+
+Řád `x` nemůže být `2`, pokud `x ≠ P-1`, protože by to porušilo, že `P` je prvočíslo.
+
+Z výše uvedeného tvrzení můžeme rozpoznat, že iterace `(picker * init) % P` bude mít délku cyklu alespoň `(P-1)/2`. Je to proto, že jsme zvolili `P` jako bezpečné prvočíslo přibližně rovné vyšší mocnině dvou a `init` je v intervalu `[2,2**256+1]`. Vzhledem k velikosti `P` bychom nikdy neměli očekávat cyklus z modulárního umocňování.
+
+Když přiřazujeme první buňku v DAG (proměnná označená `init`), vypočítáme `pow(sha3(seed) + 2, 3, P)`. Na první pohled to nezaručuje, že výsledek nebude ani `1`, ani `P-1`. Protože je však `P-1` bezpečné prvočíslo, máme následující další ujištění, které je důsledkem Pozorování 1:
+
+> Pozorování 2. Nechť `x` je členem multiplikativní skupiny `ℤ/Pℤ` pro bezpečné prvočíslo `P` a nechť `w` je přirozené číslo. Pokud `x mod P ≠ 1 mod P` a `x mod P ≠ P-1 mod P`, a také `w mod P ≠ P-1 mod P` a `w mod P ≠ 0 mod P`, pak `xʷ mod P ≠ 1 mod P` a `xʷ mod P ≠ P-1 mod P`
+
+### Modulární umocňování jako hašovací funkce {#modular-exponentiation}
+
+Pro určité hodnoty `P` a `w` může mít funkce `pow(x, w, P)` mnoho kolizí. Například `pow(x,9,19)` nabývá pouze hodnot `{1,18}`.
+
+Vzhledem k tomu, že `P` je prvočíslo, lze pomocí následujícího výsledku zvolit vhodné `w` pro hašovací funkci modulárního umocňování:
+
+> Pozorování 3. Nechť `P` je prvočíslo; `w` a `P-1` jsou nesoudělná právě tehdy, když pro všechna `a` a `b` v `ℤ/Pℤ` platí:
`aʷ mod P ≡ bʷ mod P` právě tehdy, když `a mod P ≡ b mod P`
+
+Vzhledem k tomu, že `P` je prvočíslo a `w` je nesoudělné s `P-1`, máme tedy `|{pow(x, w, P) : x ∈ ℤ}| = P`, z čehož vyplývá, že hašovací funkce má nejmenší možnou míru kolizí.
+
+Ve zvláštním případě, že `P` je bezpečné prvočíslo, jak jsme si zvolili, pak `P-1` má pouze dělitele 1, 2, `(P-1)/2` a `P-1`. Protože `P` > 7, víme, že 3 je nesoudělné s `P-1`, a proto `w=3` splňuje výše uvedené tvrzení.
+
+## Efektivnější algoritmus vyhodnocování založený na mezipaměti {#cache-based-evaluation}
+
+```python
+def quick_calc(params, seed, p):
+ cache = produce_dag(params, seed, params["cache_size"])
+ return quick_calc_cached(cache, params, p)
+
+def quick_calc_cached(cache, params, p):
+ P = params["P"]
+ if p < len(cache):
+ return cache[p]
+ else:
+ x = pow(cache[0], p + 1, P)
+ for _ in range(params["k"]):
+ x ^= quick_calc_cached(cache, params, x % p)
+ return pow(x, params["w"], P)
+
+def quick_hashimoto(seed, dagsize, params, header, nonce):
+ cache = produce_dag(params, seed, params["cache_size"])
+ return quick_hashimoto_cached(cache, dagsize, params, header, nonce)
+
+def quick_hashimoto_cached(cache, dagsize, params, header, nonce):
+ m = dagsize // 2
+ mask = 2**64 - 1
+ mix = sha3(encode_int(nonce) + header)
+ for _ in range(params["accesses"]):
+ mix ^= quick_calc_cached(cache, params, m + (mix & mask) % m)
+ return dbl_sha3(mix)
+```
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
new file mode 100644
index 00000000000..93e4f1fa923
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
@@ -0,0 +1,1019 @@
+---
+title: Ethash
+description: Podrobný pohled na algoritmus Ethash.
+lang: cs
+---
+
+
+
+
+
+ Ethash byl algoritmus Etherea pro těžbu s důkazem prací. Důkaz prací byl nyní **zcela vypnut** a Ethereum je místo toho zabezpečeno pomocí [důkazu podílem](/developers/docs/consensus-mechanisms/pos/). Přečtěte si více o [Sloučení](/roadmap/merge/), [důkazu podílem](/developers/docs/consensus-mechanisms/pos/) a [uzamčení](/staking/). Tato stránka má pouze historickou hodnotu!
+
+
+
+
+Ethash je upravená verze algoritmu [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto). Důkaz prací Ethash je [paměťově náročný](https://wikipedia.org/wiki/Memory-hard_function), díky čemuž se předpokládalo, že je algoritmus odolný vůči ASIC. Nakonec byly vyvinuty ASIC pro Ethash, ale těžba pomocí GPU byla stále reálnou možností, dokud nebyl vypnut důkaz prací. Ethash se stále používá k těžbě jiných coinů na jiných ne-ethereových sítích s důkazem prací.
+
+## Jak Ethash funguje? {#how-does-ethash-work}
+
+Paměťové náročnosti je dosaženo pomocí algoritmu důkazu prací, který vyžaduje výběr podmnožin z pevně daného zdroje v závislosti na nonce a hlavičce bloku. Tento zdroj (o velikosti několika gigabytů) se nazývá DAG. DAG se mění každých 30 000 bloků, což je ~125hodinové okno nazývané epocha (přibližně 5,2 dne), a jeho generování chvíli trvá. Protože DAG závisí pouze na výšce bloku, může být předem vygenerován, ale pokud není, musí klient počkat do konce tohoto procesu, aby mohl vytvořit blok. Pokud klienti negenerují a neukládají DAGy do mezipaměti předem, může na síti docházet k masivnímu zpoždění bloků při každém přechodu epochy. Všimněte si, že DAG nemusí být generován pro ověření důkazu prací, což v podstatě umožňuje ověření s nízkým využitím CPU a malou pamětí.
+
+Obecný postup, který algoritmus používá, je následující:
+
+1. Existuje **seed**, který lze vypočítat pro každý blok proskenováním hlaviček bloků až do daného bodu.
+2. Ze seedu lze vypočítat **16MB pseudonáhodnou mezipaměť**. Lehcí klienti ukládají mezipaměť.
+3. Z mezipaměti můžeme vygenerovat **1GB datovou sadu** s vlastností, že každá položka v datové sadě závisí pouze na malém počtu položek z mezipaměti. Plní klienti a těžaři ukládají datovou sadu. Datová sada roste lineárně s časem.
+4. Těžba zahrnuje získávání náhodných výřezů z datové sady a jejich společné hašování. Ověření lze provést s malou pamětí použitím mezipaměti k regeneraci specifických částí datové sady, které potřebujete, takže stačí ukládat pouze mezipaměť.
+
+Velká datová sada se aktualizuje jednou za 30 000 bloků, takže drtivá většina úsilí těžaře bude spočívat ve čtení datové sady, nikoli v jejích změnách.
+
+## Definice {#definitions}
+
+Používáme následující definice:
+
+```
+WORD_BYTES = 4 # bajtů ve slově
+DATASET_BYTES_INIT = 2**30 # bajtů v datové sadě při genezi
+DATASET_BYTES_GROWTH = 2**23 # růst datové sady za epochu
+CACHE_BYTES_INIT = 2**24 # bajtů v mezipaměti při genezi
+CACHE_BYTES_GROWTH = 2**17 # růst mezipaměti za epochu
+CACHE_MULTIPLIER=1024 # Velikost DAG relativně k mezipaměti
+EPOCH_LENGTH = 30000 # bloků za epochu
+MIX_BYTES = 128 # šířka mixu
+HASH_BYTES = 64 # délka haše v bajtech
+DATASET_PARENTS = 256 # počet rodičů každého prvku datové sady
+CACHE_ROUNDS = 3 # počet kol při produkci mezipaměti
+ACCESSES = 64 # počet přístupů ve smyčce hashimoto
+```
+
+### Použití 'SHA3' {#sha3}
+
+Vývoj Etherea se shodoval s vývojem standardu SHA3 a v procesu standardizace došlo k pozdní změně ve výplni finalizovaného hašovacího algoritmu, takže ethereové haše \"sha3_256\" a \"sha3_512\" nejsou standardními haši sha3, ale variantou, která je v jiných kontextech často označována jako \"Keccak-256\" a \"Keccak-512\". Viz diskuse, např. [zde](https://eips.ethereum.org/EIPS/eip-1803), [zde](http://ethereum.stackexchange.com/questions/550/which-cryptographic-hash-function-does-ethereum-use), nebo [zde](http://bitcoin.stackexchange.com/questions/42055/what-is-the-approach-to-calculate-an-ethereum-address-from-a-256-bit-private-key/42057#42057).
+
+Mějte to prosím na paměti, jelikož se na haše \"sha3\" odkazuje v níže uvedeném popisu algoritmu.
+
+## Parametry {#parameters}
+
+Parametry pro mezipaměť a datovou sadu Ethashe závisí na čísle bloku. Velikost mezipaměti i velikost datové sady rostou lineárně; nicméně vždy bereme nejvyšší prvočíslo pod lineárně rostoucí prahovou hodnotou, abychom snížili riziko náhodných pravidelností vedoucích k cyklickému chování.
+
+```python
+def get_cache_size(block_number):
+ sz = CACHE_BYTES_INIT + CACHE_BYTES_GROWTH * (block_number // EPOCH_LENGTH)
+ sz -= HASH_BYTES
+ while not isprime(sz / HASH_BYTES):
+ sz -= 2 * HASH_BYTES
+ return sz
+
+def get_full_size(block_number):
+ sz = DATASET_BYTES_INIT + DATASET_BYTES_GROWTH * (block_number // EPOCH_LENGTH)
+ sz -= MIX_BYTES
+ while not isprime(sz / MIX_BYTES):
+ sz -= 2 * MIX_BYTES
+ return sz
+```
+
+Tabulky hodnot velikosti datové sady a mezipaměti jsou uvedeny v příloze.
+
+## Generování mezipaměti {#cache-generation}
+
+Nyní specifikujeme funkci pro vytvoření mezipaměti:
+
+```python
+def mkcache(cache_size, seed):
+ n = cache_size // HASH_BYTES
+
+ # Sekvenčně vytvoří počáteční datovou sadu
+ o = [sha3_512(seed)]
+ for i in range(1, n):
+ o.append(sha3_512(o[-1]))
+
+ # Použije verzi randmemohash s nízkým počtem kol
+ for _ in range(CACHE_ROUNDS):
+ for i in range(n):
+ v = o[i][0] % n
+ o[i] = sha3_512(map(xor, o[(i-1+n) % n], o[v]))
+
+ return o
+```
+
+Proces produkce mezipaměti zahrnuje nejprve sekvenční zaplnění 32 MB paměti, poté provedení dvou průchodů algoritmu _RandMemoHash_ Sergia Demiana Lernera z práce [_Strict Memory Hard Hashing Functions_ (2014)](http://www.hashcash.org/papers/memohash.pdf). Výstupem je sada 524 288 64bajtových hodnot.
+
+## Funkce agregace dat {#date-aggregation-function}
+
+V některých případech používáme algoritmus inspirovaný [hašem FNV](https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function) jako neasociativní náhradu za XOR. Všimněte si, že prvočíslo násobíme celým 32bitovým vstupem, na rozdíl od specifikace FNV-1, která postupně násobí prvočíslo jedním bajtem (oktetem).
+
+```python
+FNV_PRIME = 0x01000193
+
+def fnv(v1, v2):
+ return ((v1 * FNV_PRIME) ^ v2) % 2**32
+```
+
+Upozorňujeme, že i když yellow paper (žlutá kniha) specifikuje fnv jako v1\*(FNV_PRIME ^ v2), všechny současné implementace konzistentně používají výše uvedenou definici.
+
+## Výpočet plné datové sady {#full-dataset-calculation}
+
+Každá 64bajtová položka v plné 1GB datové sadě se vypočítá následovně:
+
+```python
+def calc_dataset_item(cache, i):
+ n = len(cache)
+ r = HASH_BYTES // WORD_BYTES
+ # inicializace mixu
+ mix = copy.copy(cache[i % n])
+ mix[0] ^= i
+ mix = sha3_512(mix)
+ # fnv s mnoha náhodnými uzly mezipaměti na základě i
+ for j in range(DATASET_PARENTS):
+ cache_index = fnv(i ^ j, mix[j % r])
+ mix = map(fnv, mix, cache[cache_index % n])
+ return sha3_512(mix)
+```
+
+V podstatě kombinujeme data z 256 pseudonáhodně vybraných uzlů mezipaměti a hašujeme je, abychom vypočítali uzel datové sady. Celá datová sada je pak generována pomocí:
+
+```python
+def calc_dataset(full_size, cache):
+ return [calc_dataset_item(cache, i) for i in range(full_size // HASH_BYTES)]
+```
+
+## Hlavní smyčka {#main-loop}
+
+Nyní specifikujeme hlavní smyčku podobnou \"hashimoto\", kde agregujeme data z plné datové sady, abychom vytvořili naši konečnou hodnotu pro konkrétní hlavičku a nonce. V níže uvedeném kódu `header` představuje _haš_ SHA3-256 reprezentace RLP _zkrácené_ hlavičky bloku, tj. hlavičky s vyloučením polí **mixHash** a **nonce**. `nonce` je osm bajtů 64bitového celého čísla bez znaménka v pořadí big-endian. Takže `nonce[::-1]` je osmibajtová reprezentace této hodnoty v pořadí little-endian:
+
+```python
+def hashimoto(header, nonce, full_size, dataset_lookup):
+ n = full_size / HASH_BYTES
+ w = MIX_BYTES // WORD_BYTES
+ mixhashes = MIX_BYTES / HASH_BYTES
+ # zkombinuje header+nonce do 64bajtového seedu
+ s = sha3_512(header + nonce[::-1])
+ # spustí mix s replikovaným s
+ mix = []
+ for _ in range(MIX_BYTES / HASH_BYTES):
+ mix.extend(s)
+ # přimíchá náhodné uzly datové sady
+ for i in range(ACCESSES):
+ p = fnv(i ^ s[0], mix[i % w]) % (n // mixhashes) * mixhashes
+ newdata = []
+ for j in range(MIX_BYTES / HASH_BYTES):
+ newdata.extend(dataset_lookup(p + j))
+ mix = map(fnv, mix, newdata)
+ # komprimuje mix
+ cmix = []
+ for i in range(0, len(mix), 4):
+ cmix.append(fnv(fnv(fnv(mix[i], mix[i+1]), mix[i+2]), mix[i+3]))
+ return {
+ "mix digest": serialize_hash(cmix),
+ "result": serialize_hash(sha3_256(s+cmix))
+ }
+
+def hashimoto_light(full_size, cache, header, nonce):
+ return hashimoto(header, nonce, full_size, lambda x: calc_dataset_item(cache, x))
+
+def hashimoto_full(full_size, dataset, header, nonce):
+ return hashimoto(header, nonce, full_size, lambda x: dataset[x])
+```
+
+V podstatě udržujeme \"mix\" o šířce 128 bajtů a opakovaně sekvenčně načítáme 128 bajtů z plné datové sady a používáme funkci `fnv` ke zkombinování s mixem. Používá se 128 bajtů sekvenčního přístupu, takže každé kolo algoritmu vždy načte celou stránku z paměti RAM, čímž se minimalizují chyby v translation lookaside bufferu (vyrovnávací paměti pro překlad adres), kterým by se teoreticky mohly vyhnout ASIC.
+
+Pokud je výstup tohoto algoritmu pod požadovaným cílem, pak je nonce platný. Všimněte si, že dodatečná aplikace `sha3_256` na konci zajišťuje, že existuje mezilehlý nonce, který lze poskytnout k prokázání, že byla vykonána alespoň malá část práce; toto rychlé vnější ověření PoW lze použít pro účely anti-DDoS. Slouží také k poskytnutí statistické jistoty, že výsledek je nezaujaté 256bitové číslo.
+
+## Těžba {#mining}
+
+Algoritmus těžby je definován následovně:
+
+```python
+def mine(full_size, dataset, header, difficulty):
+ # vyplní cíl nulami pro porovnání s hašem na stejné číslici
+ target = zpad(encode_int(2**256 // difficulty), 64)[::-1]
+ from random import randint
+ nonce = randint(0, 2**64)
+ while hashimoto_full(full_size, dataset, header, nonce) > target:
+ nonce = (nonce + 1) % 2**64
+ return nonce
+```
+
+## Definování seed haše {#seed-hash}
+
+K výpočtu seed haše, který by byl použit k těžbě na daném bloku, používáme následující algoritmus:
+
+```python
+ def get_seedhash(block):
+ s = '\x00' * 32
+ for i in range(block.number // EPOCH_LENGTH):
+ s = serialize_hash(sha3_256(s))
+ return s
+```
+
+Všimněte si, že pro plynulou těžbu a ověřování doporučujeme předem vypočítat budoucí seedhaše a datové sady v samostatném vlákně.
+
+## Další čtení {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+## Dodatek {#appendix}
+
+Následující kód by měl být připojen na začátek, pokud máte zájem spustit výše uvedenou specifikaci v Pythonu jako kód.
+
+```python
+import sha3, copy
+
+# Předpokládá pořadí bitů little endian (stejné jako u architektur Intel)
+def decode_int(s):
+ return int(s[::-1].encode('hex'), 16) if s else 0
+
+def encode_int(s):
+ a = "%x" % s
+ return '' if s == 0 else ('0' * (len(a) % 2) + a).decode('hex')[::-1]
+
+def zpad(s, length):
+ return s + '\x00' * max(0, length - len(s))
+
+def serialize_hash(h):
+ return ''.join([zpad(encode_int(x), 4) for x in h])
+
+def deserialize_hash(h):
+ return [decode_int(h[i:i+WORD_BYTES]) for i in range(0, len(h), WORD_BYTES)]
+
+def hash_words(h, sz, x):
+ if isinstance(x, list):
+ x = serialize_hash(x)
+ y = h(x)
+ return deserialize_hash(y)
+
+def serialize_cache(ds):
+ return ''.join([serialize_hash(h) for h in ds])
+
+serialize_dataset = serialize_cache
+
+# hašovací funkce sha3, výstupem je 64 bajtů
+def sha3_512(x):
+ return hash_words(lambda v: sha3.sha3_512(v).digest(), 64, x)
+
+def sha3_256(x):
+ return hash_words(lambda v: sha3.sha3_256(v).digest(), 32, x)
+
+def xor(a, b):
+ return a ^ b
+
+def isprime(x):
+ for i in range(2, int(x**0.5)):
+ if x % i == 0:
+ return False
+ return True
+```
+
+### Velikosti dat {#data-sizes}
+
+Následující vyhledávací tabulky poskytují přibližně 2048 tabelovaných epoch velikostí dat a velikostí mezipaměti.
+
+```python
+def get_datasize(block_number):
+ return data_sizes[block_number // EPOCH_LENGTH]
+
+def get_cachesize(block_number):
+ return cache_sizes[block_number // EPOCH_LENGTH]
+
+data_sizes = [
+1073739904, 1082130304, 1090514816, 1098906752, 1107293056,
+1115684224, 1124070016, 1132461952, 1140849536, 1149232768,
+1157627776, 1166013824, 1174404736, 1182786944, 1191180416,
+1199568512, 1207958912, 1216345216, 1224732032, 1233124736,
+1241513344, 1249902464, 1258290304, 1266673792, 1275067264,
+1283453312, 1291844992, 1300234112, 1308619904, 1317010048,
+1325397376, 1333787776, 1342176128, 1350561664, 1358954368,
+1367339392, 1375731584, 1384118144, 1392507008, 1400897408,
+1409284736, 1417673344, 1426062464, 1434451072, 1442839168,
+1451229056, 1459615616, 1468006016, 1476394112, 1484782976,
+1493171584, 1501559168, 1509948032, 1518337664, 1526726528,
+1535114624, 1543503488, 1551892096, 1560278656, 1568669056,
+1577056384, 1585446272, 1593831296, 1602219392, 1610610304,
+1619000192, 1627386752, 1635773824, 1644164224, 1652555648,
+1660943488, 1669332608, 1677721216, 1686109312, 1694497664,
+1702886272, 1711274624, 1719661184, 1728047744, 1736434816,
+1744829056, 1753218944, 1761606272, 1769995904, 1778382464,
+1786772864, 1795157888, 1803550592, 1811937664, 1820327552,
+1828711552, 1837102976, 1845488768, 1853879936, 1862269312,
+1870656896, 1879048064, 1887431552, 1895825024, 1904212096,
+1912601216, 1920988544, 1929379456, 1937765504, 1946156672,
+1954543232, 1962932096, 1971321728, 1979707264, 1988093056,
+1996487552, 2004874624, 2013262208, 2021653888, 2030039936,
+2038430848, 2046819968, 2055208576, 2063596672, 2071981952,
+2080373632, 2088762752, 2097149056, 2105539712, 2113928576,
+2122315136, 2130700672, 2139092608, 2147483264, 2155872128,
+2164257664, 2172642176, 2181035392, 2189426048, 2197814912,
+2206203008, 2214587264, 2222979712, 2231367808, 2239758208,
+2248145024, 2256527744, 2264922752, 2273312128, 2281701248,
+2290086272, 2298476672, 2306867072, 2315251072, 2323639168,
+2332032128, 2340420224, 2348808064, 2357196416, 2365580416,
+2373966976, 2382363008, 2390748544, 2399139968, 2407530368,
+2415918976, 2424307328, 2432695424, 2441084288, 2449472384,
+2457861248, 2466247808, 2474637184, 2483026816, 2491414144,
+2499803776, 2508191872, 2516582272, 2524970368, 2533359232,
+2541743488, 2550134144, 2558525056, 2566913408, 2575301504,
+2583686528, 2592073856, 2600467328, 2608856192, 2617240448,
+2625631616, 2634022016, 2642407552, 2650796416, 2659188352,
+2667574912, 2675965312, 2684352896, 2692738688, 2701130624,
+2709518464, 2717907328, 2726293376, 2734685056, 2743073152,
+2751462016, 2759851648, 2768232832, 2776625536, 2785017728,
+2793401984, 2801794432, 2810182016, 2818571648, 2826959488,
+2835349376, 2843734144, 2852121472, 2860514432, 2868900992,
+2877286784, 2885676928, 2894069632, 2902451584, 2910843008,
+2919234688, 2927622784, 2936011648, 2944400768, 2952789376,
+2961177728, 2969565568, 2977951616, 2986338944, 2994731392,
+3003120256, 3011508352, 3019895936, 3028287104, 3036675968,
+3045063808, 3053452928, 3061837696, 3070228352, 3078615424,
+3087003776, 3095394944, 3103782272, 3112173184, 3120562048,
+3128944768, 3137339264, 3145725056, 3154109312, 3162505088,
+3170893184, 3179280256, 3187669376, 3196056704, 3204445568,
+3212836736, 3221224064, 3229612928, 3238002304, 3246391168,
+3254778496, 3263165824, 3271556224, 3279944576, 3288332416,
+3296719232, 3305110912, 3313500032, 3321887104, 3330273152,
+3338658944, 3347053184, 3355440512, 3363827072, 3372220288,
+3380608384, 3388997504, 3397384576, 3405774208, 3414163072,
+3422551936, 3430937984, 3439328384, 3447714176, 3456104576,
+3464493952, 3472883584, 3481268864, 3489655168, 3498048896,
+3506434432, 3514826368, 3523213952, 3531603584, 3539987072,
+3548380288, 3556763264, 3565157248, 3573545344, 3581934464,
+3590324096, 3598712704, 3607098752, 3615488384, 3623877248,
+3632265856, 3640646528, 3649043584, 3657430144, 3665821568,
+3674207872, 3682597504, 3690984832, 3699367808, 3707764352,
+3716152448, 3724541056, 3732925568, 3741318016, 3749706368,
+3758091136, 3766481536, 3774872704, 3783260032, 3791650432,
+3800036224, 3808427648, 3816815488, 3825204608, 3833592704,
+3841981568, 3850370432, 3858755968, 3867147904, 3875536256,
+3883920512, 3892313728, 3900702592, 3909087872, 3917478784,
+3925868416, 3934256512, 3942645376, 3951032192, 3959422336,
+3967809152, 3976200064, 3984588416, 3992974976, 4001363584,
+4009751168, 4018141312, 4026530432, 4034911616, 4043308928,
+4051695488, 4060084352, 4068472448, 4076862848, 4085249408,
+4093640576, 4102028416, 4110413696, 4118805632, 4127194496,
+4135583104, 4143971968, 4152360832, 4160746112, 4169135744,
+4177525888, 4185912704, 4194303616, 4202691968, 4211076736,
+4219463552, 4227855488, 4236246656, 4244633728, 4253022848,
+4261412224, 4269799808, 4278184832, 4286578048, 4294962304,
+4303349632, 4311743104, 4320130432, 4328521088, 4336909184,
+4345295488, 4353687424, 4362073472, 4370458496, 4378852736,
+4387238528, 4395630208, 4404019072, 4412407424, 4420790656,
+4429182848, 4437571456, 4445962112, 4454344064, 4462738048,
+4471119232, 4479516544, 4487904128, 4496289664, 4504682368,
+4513068416, 4521459584, 4529846144, 4538232704, 4546619776,
+4555010176, 4563402112, 4571790208, 4580174464, 4588567936,
+4596957056, 4605344896, 4613734016, 4622119808, 4630511488,
+4638898816, 4647287936, 4655675264, 4664065664, 4672451968,
+4680842624, 4689231488, 4697620352, 4706007424, 4714397056,
+4722786176, 4731173248, 4739562368, 4747951744, 4756340608,
+4764727936, 4773114496, 4781504384, 4789894784, 4798283648,
+4806667648, 4815059584, 4823449472, 4831835776, 4840226176,
+4848612224, 4857003392, 4865391488, 4873780096, 4882169728,
+4890557312, 4898946944, 4907333248, 4915722368, 4924110976,
+4932499328, 4940889728, 4949276032, 4957666432, 4966054784,
+4974438016, 4982831488, 4991221376, 4999607168, 5007998848,
+5016386432, 5024763776, 5033164672, 5041544576, 5049941888,
+5058329728, 5066717056, 5075107456, 5083494272, 5091883904,
+5100273536, 5108662144, 5117048192, 5125436032, 5133827456,
+5142215296, 5150605184, 5158993024, 5167382144, 5175769472,
+5184157568, 5192543872, 5200936064, 5209324928, 5217711232,
+5226102656, 5234490496, 5242877312, 5251263872, 5259654016,
+5268040832, 5276434304, 5284819328, 5293209728, 5301598592,
+5309986688, 5318374784, 5326764416, 5335151488, 5343542144,
+5351929472, 5360319872, 5368706944, 5377096576, 5385484928,
+5393871232, 5402263424, 5410650496, 5419040384, 5427426944,
+5435816576, 5444205952, 5452594816, 5460981376, 5469367936,
+5477760896, 5486148736, 5494536832, 5502925952, 5511315328,
+5519703424, 5528089984, 5536481152, 5544869504, 5553256064,
+5561645696, 5570032768, 5578423936, 5586811264, 5595193216,
+5603585408, 5611972736, 5620366208, 5628750464, 5637143936,
+5645528192, 5653921408, 5662310272, 5670694784, 5679082624,
+5687474048, 5695864448, 5704251008, 5712641408, 5721030272,
+5729416832, 5737806208, 5746194304, 5754583936, 5762969984,
+5771358592, 5779748224, 5788137856, 5796527488, 5804911232,
+5813300608, 5821692544, 5830082176, 5838468992, 5846855552,
+5855247488, 5863636096, 5872024448, 5880411008, 5888799872,
+5897186432, 5905576832, 5913966976, 5922352768, 5930744704,
+5939132288, 5947522432, 5955911296, 5964299392, 5972688256,
+5981074304, 5989465472, 5997851008, 6006241408, 6014627968,
+6023015552, 6031408256, 6039796096, 6048185216, 6056574848,
+6064963456, 6073351808, 6081736064, 6090128768, 6098517632,
+6106906496, 6115289216, 6123680896, 6132070016, 6140459648,
+6148849024, 6157237376, 6165624704, 6174009728, 6182403712,
+6190792064, 6199176064, 6207569792, 6215952256, 6224345216,
+6232732544, 6241124224, 6249510272, 6257899136, 6266287744,
+6274676864, 6283065728, 6291454336, 6299843456, 6308232064,
+6316620928, 6325006208, 6333395584, 6341784704, 6350174848,
+6358562176, 6366951296, 6375337856, 6383729536, 6392119168,
+6400504192, 6408895616, 6417283456, 6425673344, 6434059136,
+6442444672, 6450837376, 6459223424, 6467613056, 6476004224,
+6484393088, 6492781952, 6501170048, 6509555072, 6517947008,
+6526336384, 6534725504, 6543112832, 6551500672, 6559888768,
+6568278656, 6576662912, 6585055616, 6593443456, 6601834112,
+6610219648, 6618610304, 6626999168, 6635385472, 6643777408,
+6652164224, 6660552832, 6668941952, 6677330048, 6685719424,
+6694107776, 6702493568, 6710882176, 6719274112, 6727662976,
+6736052096, 6744437632, 6752825984, 6761213824, 6769604224,
+6777993856, 6786383488, 6794770816, 6803158144, 6811549312,
+6819937664, 6828326528, 6836706176, 6845101696, 6853491328,
+6861880448, 6870269312, 6878655104, 6887046272, 6895433344,
+6903822208, 6912212864, 6920596864, 6928988288, 6937377152,
+6945764992, 6954149248, 6962544256, 6970928768, 6979317376,
+6987709312, 6996093824, 7004487296, 7012875392, 7021258624,
+7029652352, 7038038912, 7046427776, 7054818944, 7063207808,
+7071595136, 7079980928, 7088372608, 7096759424, 7105149824,
+7113536896, 7121928064, 7130315392, 7138699648, 7147092352,
+7155479168, 7163865728, 7172249984, 7180648064, 7189036672,
+7197424768, 7205810816, 7214196608, 7222589824, 7230975104,
+7239367552, 7247755904, 7256145536, 7264533376, 7272921472,
+7281308032, 7289694848, 7298088832, 7306471808, 7314864512,
+7323253888, 7331643008, 7340029568, 7348419712, 7356808832,
+7365196672, 7373585792, 7381973888, 7390362752, 7398750592,
+7407138944, 7415528576, 7423915648, 7432302208, 7440690304,
+7449080192, 7457472128, 7465860992, 7474249088, 7482635648,
+7491023744, 7499412608, 7507803008, 7516192384, 7524579968,
+7532967296, 7541358464, 7549745792, 7558134656, 7566524032,
+7574912896, 7583300992, 7591690112, 7600075136, 7608466816,
+7616854912, 7625244544, 7633629824, 7642020992, 7650410368,
+7658794112, 7667187328, 7675574912, 7683961984, 7692349568,
+7700739712, 7709130368, 7717519232, 7725905536, 7734295424,
+7742683264, 7751069056, 7759457408, 7767849088, 7776238208,
+7784626816, 7793014912, 7801405312, 7809792128, 7818179968,
+7826571136, 7834957184, 7843347328, 7851732352, 7860124544,
+7868512384, 7876902016, 7885287808, 7893679744, 7902067072,
+7910455936, 7918844288, 7927230848, 7935622784, 7944009344,
+7952400256, 7960786048, 7969176704, 7977565312, 7985953408,
+7994339968, 8002730368, 8011119488, 8019508096, 8027896192,
+8036285056, 8044674688, 8053062272, 8061448832, 8069838464,
+8078227328, 8086616704, 8095006592, 8103393664, 8111783552,
+8120171392, 8128560256, 8136949376, 8145336704, 8153726848,
+8162114944, 8170503296, 8178891904, 8187280768, 8195669632,
+8204058496, 8212444544, 8220834176, 8229222272, 8237612672,
+8246000768, 8254389376, 8262775168, 8271167104, 8279553664,
+8287944064, 8296333184, 8304715136, 8313108352, 8321497984,
+8329885568, 8338274432, 8346663296, 8355052928, 8363441536,
+8371828352, 8380217984, 8388606592, 8396996224, 8405384576,
+8413772672, 8422161536, 8430549376, 8438939008, 8447326592,
+8455715456, 8464104832, 8472492928, 8480882048, 8489270656,
+8497659776, 8506045312, 8514434944, 8522823808, 8531208832,
+8539602304, 8547990656, 8556378752, 8564768384, 8573154176,
+8581542784, 8589933952, 8598322816, 8606705024, 8615099264,
+8623487872, 8631876992, 8640264064, 8648653952, 8657040256,
+8665430656, 8673820544, 8682209152, 8690592128, 8698977152,
+8707374464, 8715763328, 8724151424, 8732540032, 8740928384,
+8749315712, 8757704576, 8766089344, 8774480768, 8782871936,
+8791260032, 8799645824, 8808034432, 8816426368, 8824812928,
+8833199488, 8841591424, 8849976448, 8858366336, 8866757248,
+8875147136, 8883532928, 8891923328, 8900306816, 8908700288,
+8917088384, 8925478784, 8933867392, 8942250368, 8950644608,
+8959032704, 8967420544, 8975809664, 8984197504, 8992584064,
+9000976256, 9009362048, 9017752448, 9026141312, 9034530688,
+9042917504, 9051307904, 9059694208, 9068084864, 9076471424,
+9084861824, 9093250688, 9101638528, 9110027648, 9118416512,
+9126803584, 9135188096, 9143581312, 9151969664, 9160356224,
+9168747136, 9177134464, 9185525632, 9193910144, 9202302848,
+9210690688, 9219079552, 9227465344, 9235854464, 9244244864,
+9252633472, 9261021824, 9269411456, 9277799296, 9286188928,
+9294574208, 9302965888, 9311351936, 9319740032, 9328131968,
+9336516736, 9344907392, 9353296768, 9361685888, 9370074752,
+9378463616, 9386849408, 9395239808, 9403629184, 9412016512,
+9420405376, 9428795008, 9437181568, 9445570688, 9453960832,
+9462346624, 9470738048, 9479121536, 9487515008, 9495903616,
+9504289664, 9512678528, 9521067904, 9529456256, 9537843584,
+9546233728, 9554621312, 9563011456, 9571398784, 9579788672,
+9588178304, 9596567168, 9604954496, 9613343104, 9621732992,
+9630121856, 9638508416, 9646898816, 9655283584, 9663675776,
+9672061312, 9680449664, 9688840064, 9697230464, 9705617536,
+9714003584, 9722393984, 9730772608, 9739172224, 9747561088,
+9755945344, 9764338816, 9772726144, 9781116544, 9789503872,
+9797892992, 9806282624, 9814670464, 9823056512, 9831439232,
+9839833984, 9848224384, 9856613504, 9865000576, 9873391232,
+9881772416, 9890162816, 9898556288, 9906940544, 9915333248,
+9923721088, 9932108672, 9940496512, 9948888448, 9957276544,
+9965666176, 9974048384, 9982441088, 9990830464, 9999219584,
+10007602816, 10015996544, 10024385152, 10032774016, 10041163648,
+10049548928, 10057940096, 10066329472, 10074717824, 10083105152,
+10091495296, 10099878784, 10108272256, 10116660608, 10125049216,
+10133437312, 10141825664, 10150213504, 10158601088, 10166991232,
+10175378816, 10183766144, 10192157312, 10200545408, 10208935552,
+10217322112, 10225712768, 10234099328, 10242489472, 10250876032,
+10259264896, 10267656064, 10276042624, 10284429184, 10292820352,
+10301209472, 10309598848, 10317987712, 10326375296, 10334763392,
+10343153536, 10351541632, 10359930752, 10368318592, 10376707456,
+10385096576, 10393484672, 10401867136, 10410262144, 10418647424,
+10427039104, 10435425664, 10443810176, 10452203648, 10460589952,
+10468982144, 10477369472, 10485759104, 10494147712, 10502533504,
+10510923392, 10519313536, 10527702656, 10536091264, 10544478592,
+10552867712, 10561255808, 10569642368, 10578032768, 10586423168,
+10594805632, 10603200128, 10611588992, 10619976064, 10628361344,
+10636754048, 10645143424, 10653531776, 10661920384, 10670307968,
+10678696832, 10687086464, 10695475072, 10703863168, 10712246144,
+10720639616, 10729026688, 10737414784, 10745806208, 10754190976,
+10762581376, 10770971264, 10779356288, 10787747456, 10796135552,
+10804525184, 10812915584, 10821301888, 10829692288, 10838078336,
+10846469248, 10854858368, 10863247232, 10871631488, 10880023424,
+10888412032, 10896799616, 10905188992, 10913574016, 10921964672,
+10930352768, 10938742912, 10947132544, 10955518592, 10963909504,
+10972298368, 10980687488, 10989074816, 10997462912, 11005851776,
+11014241152, 11022627712, 11031017344, 11039403904, 11047793024,
+11056184704, 11064570752, 11072960896, 11081343872, 11089737856,
+11098128256, 11106514816, 11114904448, 11123293568, 11131680128,
+11140065152, 11148458368, 11156845696, 11165236864, 11173624192,
+11182013824, 11190402688, 11198790784, 11207179136, 11215568768,
+11223957376, 11232345728, 11240734592, 11249122688, 11257511296,
+11265899648, 11274285952, 11282675584, 11291065472, 11299452544,
+11307842432, 11316231296, 11324616832, 11333009024, 11341395584,
+11349782656, 11358172288, 11366560384, 11374950016, 11383339648,
+11391721856, 11400117376, 11408504192, 11416893568, 11425283456,
+11433671552, 11442061184, 11450444672, 11458837888, 11467226752,
+11475611776, 11484003968, 11492392064, 11500780672, 11509169024,
+11517550976, 11525944448, 11534335616, 11542724224, 11551111808,
+11559500672, 11567890304, 11576277376, 11584667008, 11593056128,
+11601443456, 11609830016, 11618221952, 11626607488, 11634995072,
+11643387776, 11651775104, 11660161664, 11668552576, 11676940928,
+11685330304, 11693718656, 11702106496, 11710496128, 11718882688,
+11727273088, 11735660416, 11744050048, 11752437376, 11760824704,
+11769216128, 11777604736, 11785991296, 11794381952, 11802770048,
+11811157888, 11819548544, 11827932544, 11836324736, 11844713344,
+11853100928, 11861486464, 11869879936, 11878268032, 11886656896,
+11895044992, 11903433088, 11911822976, 11920210816, 11928600448,
+11936987264, 11945375872, 11953761152, 11962151296, 11970543488,
+11978928512, 11987320448, 11995708288, 12004095104, 12012486272,
+12020875136, 12029255552, 12037652096, 12046039168, 12054429568,
+12062813824, 12071206528, 12079594624, 12087983744, 12096371072,
+12104759936, 12113147264, 12121534592, 12129924992, 12138314624,
+12146703232, 12155091584, 12163481216, 12171864704, 12180255872,
+12188643968, 12197034112, 12205424512, 12213811328, 12222199424,
+12230590336, 12238977664, 12247365248, 12255755392, 12264143488,
+12272531584, 12280920448, 12289309568, 12297694592, 12306086528,
+12314475392, 12322865024, 12331253632, 12339640448, 12348029312,
+12356418944, 12364805248, 12373196672, 12381580928, 12389969024,
+12398357632, 12406750592, 12415138432, 12423527552, 12431916416,
+12440304512, 12448692352, 12457081216, 12465467776, 12473859968,
+12482245504, 12490636672, 12499025536, 12507411584, 12515801728,
+12524190592, 12532577152, 12540966272, 12549354368, 12557743232,
+12566129536, 12574523264, 12582911872, 12591299456, 12599688064,
+12608074624, 12616463488, 12624845696, 12633239936, 12641631616,
+12650019968, 12658407296, 12666795136, 12675183232, 12683574656,
+12691960192, 12700350592, 12708740224, 12717128576, 12725515904,
+12733906816, 12742295168, 12750680192, 12759071872, 12767460736,
+12775848832, 12784236928, 12792626816, 12801014656, 12809404288,
+12817789312, 12826181504, 12834568832, 12842954624, 12851345792,
+12859732352, 12868122496, 12876512128, 12884901248, 12893289088,
+12901672832, 12910067584, 12918455168, 12926842496, 12935232896,
+12943620736, 12952009856, 12960396928, 12968786816, 12977176192,
+12985563776, 12993951104, 13002341504, 13010730368, 13019115392,
+13027506304, 13035895168, 13044272512, 13052673152, 13061062528,
+13069446272, 13077838976, 13086227072, 13094613632, 13103000192,
+13111393664, 13119782528, 13128157568, 13136559232, 13144945024,
+13153329536, 13161724288, 13170111872, 13178502784, 13186884736,
+13195279744, 13203667072, 13212057472, 13220445824, 13228832128,
+13237221248, 13245610624, 13254000512, 13262388352, 13270777472,
+13279166336, 13287553408, 13295943296, 13304331904, 13312719488,
+13321108096, 13329494656, 13337885824, 13346274944, 13354663808,
+13363051136, 13371439232, 13379825024, 13388210816, 13396605056,
+13404995456, 13413380224, 13421771392, 13430159744, 13438546048,
+13446937216, 13455326848, 13463708288, 13472103808, 13480492672,
+13488875648, 13497269888, 13505657728, 13514045312, 13522435712,
+13530824576, 13539210112, 13547599232, 13555989376, 13564379008,
+13572766336, 13581154432, 13589544832, 13597932928, 13606320512,
+13614710656, 13623097472, 13631477632, 13639874944, 13648264064,
+13656652928, 13665041792, 13673430656, 13681818496, 13690207616,
+13698595712, 13706982272, 13715373184, 13723762048, 13732150144,
+13740536704, 13748926592, 13757316224, 13765700992, 13774090112,
+13782477952, 13790869376, 13799259008, 13807647872, 13816036736,
+13824425344, 13832814208, 13841202304, 13849591424, 13857978752,
+13866368896, 13874754688, 13883145344, 13891533184, 13899919232,
+13908311168, 13916692096, 13925085056, 13933473152, 13941866368,
+13950253696, 13958643584, 13967032192, 13975417216, 13983807616,
+13992197504, 14000582272, 14008973696, 14017363072, 14025752192,
+14034137984, 14042528384, 14050918016, 14059301504, 14067691648,
+14076083584, 14084470144, 14092852352, 14101249664, 14109635968,
+14118024832, 14126407552, 14134804352, 14143188608, 14151577984,
+14159968384, 14168357248, 14176741504, 14185127296, 14193521024,
+14201911424, 14210301824, 14218685056, 14227067264, 14235467392,
+14243855488, 14252243072, 14260630144, 14269021568, 14277409408,
+14285799296, 14294187904, 14302571392, 14310961792, 14319353728,
+14327738752, 14336130944, 14344518784, 14352906368, 14361296512,
+14369685376, 14378071424, 14386462592, 14394848128, 14403230848,
+14411627392, 14420013952, 14428402304, 14436793472, 14445181568,
+14453569664, 14461959808, 14470347904, 14478737024, 14487122816,
+14495511424, 14503901824, 14512291712, 14520677504, 14529064832,
+14537456768, 14545845632, 14554234496, 14562618496, 14571011456,
+14579398784, 14587789184, 14596172672, 14604564608, 14612953984,
+14621341312, 14629724288, 14638120832, 14646503296, 14654897536,
+14663284864, 14671675264, 14680061056, 14688447616, 14696835968,
+14705228416, 14713616768, 14722003328, 14730392192, 14738784128,
+14747172736, 14755561088, 14763947648, 14772336512, 14780725376,
+14789110144, 14797499776, 14805892736, 14814276992, 14822670208,
+14831056256, 14839444352, 14847836032, 14856222848, 14864612992,
+14872997504, 14881388672, 14889775744, 14898165376, 14906553472,
+14914944896, 14923329664, 14931721856, 14940109696, 14948497024,
+14956887424, 14965276544, 14973663616, 14982053248, 14990439808,
+14998830976, 15007216768, 15015605888, 15023995264, 15032385152,
+15040768384, 15049154944, 15057549184, 15065939072, 15074328448,
+15082715008, 15091104128, 15099493504, 15107879296, 15116269184,
+15124659584, 15133042304, 15141431936, 15149824384, 15158214272,
+15166602368, 15174991232, 15183378304, 15191760512, 15200154496,
+15208542592, 15216931712, 15225323392, 15233708416, 15242098048,
+15250489216, 15258875264, 15267265408, 15275654528, 15284043136,
+15292431488, 15300819584, 15309208192, 15317596544, 15325986176,
+15334374784, 15342763648, 15351151744, 15359540608, 15367929728,
+15376318336, 15384706432, 15393092992, 15401481856, 15409869952,
+15418258816, 15426649984, 15435037568, 15443425664, 15451815296,
+15460203392, 15468589184, 15476979328, 15485369216, 15493755776,
+15502146944, 15510534272, 15518924416, 15527311232, 15535699072,
+15544089472, 15552478336, 15560866688, 15569254528, 15577642624,
+15586031488, 15594419072, 15602809472, 15611199104, 15619586432,
+15627975296, 15636364928, 15644753792, 15653141888, 15661529216,
+15669918848, 15678305152, 15686696576, 15695083136, 15703474048,
+15711861632, 15720251264, 15728636288, 15737027456, 15745417088,
+15753804928, 15762194048, 15770582656, 15778971008, 15787358336,
+15795747712, 15804132224, 15812523392, 15820909696, 15829300096,
+15837691264, 15846071936, 15854466944, 15862855808, 15871244672,
+15879634816, 15888020608, 15896409728, 15904799104, 15913185152,
+15921577088, 15929966464, 15938354816, 15946743424, 15955129472,
+15963519872, 15971907968, 15980296064, 15988684928, 15997073024,
+16005460864, 16013851264, 16022241152, 16030629248, 16039012736,
+16047406976, 16055794816, 16064181376, 16072571264, 16080957824,
+16089346688, 16097737856, 16106125184, 16114514816, 16122904192,
+16131292544, 16139678848, 16148066944, 16156453504, 16164839552,
+16173236096, 16181623424, 16190012032, 16198401152, 16206790528,
+16215177344, 16223567744, 16231956352, 16240344704, 16248731008,
+16257117824, 16265504384, 16273898624, 16282281856, 16290668672,
+16299064192, 16307449216, 16315842176, 16324230016, 16332613504,
+16341006464, 16349394304, 16357783168, 16366172288, 16374561664,
+16382951296, 16391337856, 16399726208, 16408116352, 16416505472,
+16424892032, 16433282176, 16441668224, 16450058624, 16458448768,
+16466836864, 16475224448, 16483613056, 16492001408, 16500391808,
+16508779648, 16517166976, 16525555328, 16533944192, 16542330752,
+16550719616, 16559110528, 16567497088, 16575888512, 16584274816,
+16592665472, 16601051008, 16609442944, 16617832064, 16626218624,
+16634607488, 16642996096, 16651385728, 16659773824, 16668163712,
+16676552576, 16684938112, 16693328768, 16701718144, 16710095488,
+16718492288, 16726883968, 16735272832, 16743661184, 16752049792,
+16760436608, 16768827008, 16777214336, 16785599104, 16793992832,
+16802381696, 16810768768, 16819151744, 16827542656, 16835934848,
+16844323712, 16852711552, 16861101952, 16869489536, 16877876864,
+16886265728, 16894653056, 16903044736, 16911431296, 16919821696,
+16928207488, 16936592768, 16944987776, 16953375616, 16961763968,
+16970152832, 16978540928, 16986929536, 16995319168, 17003704448,
+17012096896, 17020481152, 17028870784, 17037262208, 17045649536,
+17054039936, 17062426496, 17070814336, 17079205504, 17087592064,
+17095978112, 17104369024, 17112759424, 17121147776, 17129536384,
+17137926016, 17146314368, 17154700928, 17163089792, 17171480192,
+17179864192, 17188256896, 17196644992, 17205033856, 17213423488,
+17221811072, 17230198912, 17238588032, 17246976896, 17255360384,
+17263754624, 17272143232, 17280530048, 17288918912, 17297309312,
+17305696384, 17314085504, 17322475136, 17330863744, 17339252096,
+17347640192, 17356026496, 17364413824, 17372796544, 17381190016,
+17389583488, 17397972608, 17406360704, 17414748544, 17423135872,
+17431527296, 17439915904, 17448303232, 17456691584, 17465081728,
+17473468288, 17481857408, 17490247552, 17498635904, 17507022464,
+17515409024, 17523801728, 17532189824, 17540577664, 17548966016,
+17557353344, 17565741184, 17574131584, 17582519168, 17590907008,
+17599296128, 17607687808, 17616076672, 17624455808, 17632852352,
+17641238656, 17649630848, 17658018944, 17666403968, 17674794112,
+17683178368, 17691573376, 17699962496, 17708350592, 17716739968,
+17725126528, 17733517184, 17741898112, 17750293888, 17758673024,
+17767070336, 17775458432, 17783848832, 17792236928, 17800625536,
+17809012352, 17817402752, 17825785984, 17834178944, 17842563968,
+17850955648, 17859344512, 17867732864, 17876119424, 17884511872,
+17892900224, 17901287296, 17909677696, 17918058112, 17926451072,
+17934843776, 17943230848, 17951609216, 17960008576, 17968397696,
+17976784256, 17985175424, 17993564032, 18001952128, 18010339712,
+18018728576, 18027116672, 18035503232, 18043894144, 18052283264,
+18060672128, 18069056384, 18077449856, 18085837184, 18094225792,
+18102613376, 18111004544, 18119388544, 18127781248, 18136170368,
+18144558976, 18152947328, 18161336192, 18169724288, 18178108544,
+18186498944, 18194886784, 18203275648, 18211666048, 18220048768,
+18228444544, 18236833408, 18245220736]
+
+cache_sizes = [
+16776896, 16907456, 17039296, 17170112, 17301056, 17432512, 17563072,
+17693888, 17824192, 17955904, 18087488, 18218176, 18349504, 18481088,
+18611392, 18742336, 18874304, 19004224, 19135936, 19267264, 19398208,
+19529408, 19660096, 19791424, 19922752, 20053952, 20184896, 20315968,
+20446912, 20576576, 20709184, 20840384, 20971072, 21102272, 21233216,
+21364544, 21494848, 21626816, 21757376, 21887552, 22019392, 22151104,
+22281536, 22412224, 22543936, 22675264, 22806464, 22935872, 23068096,
+23198272, 23330752, 23459008, 23592512, 23723968, 23854912, 23986112,
+24116672, 24247616, 24378688, 24509504, 24640832, 24772544, 24903488,
+25034432, 25165376, 25296704, 25427392, 25558592, 25690048, 25820096,
+25951936, 26081728, 26214208, 26345024, 26476096, 26606656, 26737472,
+26869184, 26998208, 27131584, 27262528, 27393728, 27523904, 27655744,
+27786688, 27917888, 28049344, 28179904, 28311488, 28441792, 28573504,
+28700864, 28835648, 28966208, 29096768, 29228608, 29359808, 29490752,
+29621824, 29752256, 29882816, 30014912, 30144448, 30273728, 30406976,
+30538432, 30670784, 30799936, 30932672, 31063744, 31195072, 31325248,
+31456192, 31588288, 31719232, 31850432, 31981504, 32110784, 32243392,
+32372672, 32505664, 32636608, 32767808, 32897344, 33029824, 33160768,
+33289664, 33423296, 33554368, 33683648, 33816512, 33947456, 34076992,
+34208704, 34340032, 34471744, 34600256, 34734016, 34864576, 34993984,
+35127104, 35258176, 35386688, 35518528, 35650624, 35782336, 35910976,
+36044608, 36175808, 36305728, 36436672, 36568384, 36699968, 36830656,
+36961984, 37093312, 37223488, 37355072, 37486528, 37617472, 37747904,
+37879232, 38009792, 38141888, 38272448, 38403392, 38535104, 38660672,
+38795584, 38925632, 39059264, 39190336, 39320768, 39452096, 39581632,
+39713984, 39844928, 39974848, 40107968, 40238144, 40367168, 40500032,
+40631744, 40762816, 40894144, 41023552, 41155904, 41286208, 41418304,
+41547712, 41680448, 41811904, 41942848, 42073792, 42204992, 42334912,
+42467008, 42597824, 42729152, 42860096, 42991552, 43122368, 43253696,
+43382848, 43515712, 43646912, 43777088, 43907648, 44039104, 44170432,
+44302144, 44433344, 44564288, 44694976, 44825152, 44956864, 45088448,
+45219008, 45350464, 45481024, 45612608, 45744064, 45874496, 46006208,
+46136768, 46267712, 46399424, 46529344, 46660672, 46791488, 46923328,
+47053504, 47185856, 47316928, 47447872, 47579072, 47710144, 47839936,
+47971648, 48103232, 48234176, 48365248, 48496192, 48627136, 48757312,
+48889664, 49020736, 49149248, 49283008, 49413824, 49545152, 49675712,
+49807168, 49938368, 50069056, 50200256, 50331584, 50462656, 50593472,
+50724032, 50853952, 50986048, 51117632, 51248576, 51379904, 51510848,
+51641792, 51773248, 51903296, 52035136, 52164032, 52297664, 52427968,
+52557376, 52690112, 52821952, 52952896, 53081536, 53213504, 53344576,
+53475776, 53608384, 53738816, 53870528, 54000832, 54131776, 54263744,
+54394688, 54525248, 54655936, 54787904, 54918592, 55049152, 55181248,
+55312064, 55442752, 55574336, 55705024, 55836224, 55967168, 56097856,
+56228672, 56358592, 56490176, 56621888, 56753728, 56884928, 57015488,
+57146816, 57278272, 57409216, 57540416, 57671104, 57802432, 57933632,
+58064576, 58195264, 58326976, 58457408, 58588864, 58720192, 58849984,
+58981696, 59113024, 59243456, 59375552, 59506624, 59637568, 59768512,
+59897792, 60030016, 60161984, 60293056, 60423872, 60554432, 60683968,
+60817216, 60948032, 61079488, 61209664, 61341376, 61471936, 61602752,
+61733696, 61865792, 61996736, 62127808, 62259136, 62389568, 62520512,
+62651584, 62781632, 62910784, 63045056, 63176128, 63307072, 63438656,
+63569216, 63700928, 63831616, 63960896, 64093888, 64225088, 64355392,
+64486976, 64617664, 64748608, 64879424, 65009216, 65142464, 65273792,
+65402816, 65535424, 65666752, 65797696, 65927744, 66060224, 66191296,
+66321344, 66453056, 66584384, 66715328, 66846656, 66977728, 67108672,
+67239104, 67370432, 67501888, 67631296, 67763776, 67895104, 68026304,
+68157248, 68287936, 68419264, 68548288, 68681408, 68811968, 68942912,
+69074624, 69205568, 69337024, 69467584, 69599168, 69729472, 69861184,
+69989824, 70122944, 70253888, 70385344, 70515904, 70647232, 70778816,
+70907968, 71040832, 71171648, 71303104, 71432512, 71564992, 71695168,
+71826368, 71958464, 72089536, 72219712, 72350144, 72482624, 72613568,
+72744512, 72875584, 73006144, 73138112, 73268672, 73400128, 73530944,
+73662272, 73793344, 73924544, 74055104, 74185792, 74316992, 74448832,
+74579392, 74710976, 74841664, 74972864, 75102784, 75233344, 75364544,
+75497024, 75627584, 75759296, 75890624, 76021696, 76152256, 76283072,
+76414144, 76545856, 76676672, 76806976, 76937792, 77070016, 77200832,
+77331392, 77462464, 77593664, 77725376, 77856448, 77987776, 78118336,
+78249664, 78380992, 78511424, 78642496, 78773056, 78905152, 79033664,
+79166656, 79297472, 79429568, 79560512, 79690816, 79822784, 79953472,
+80084672, 80214208, 80346944, 80477632, 80608576, 80740288, 80870848,
+81002048, 81133504, 81264448, 81395648, 81525952, 81657536, 81786304,
+81919808, 82050112, 82181312, 82311616, 82443968, 82573376, 82705984,
+82835776, 82967744, 83096768, 83230528, 83359552, 83491264, 83622464,
+83753536, 83886016, 84015296, 84147776, 84277184, 84409792, 84540608,
+84672064, 84803008, 84934336, 85065152, 85193792, 85326784, 85458496,
+85589312, 85721024, 85851968, 85982656, 86112448, 86244416, 86370112,
+86506688, 86637632, 86769344, 86900672, 87031744, 87162304, 87293632,
+87424576, 87555392, 87687104, 87816896, 87947968, 88079168, 88211264,
+88341824, 88473152, 88603712, 88735424, 88862912, 88996672, 89128384,
+89259712, 89390272, 89521984, 89652544, 89783872, 89914816, 90045376,
+90177088, 90307904, 90438848, 90569152, 90700096, 90832832, 90963776,
+91093696, 91223744, 91356992, 91486784, 91618496, 91749824, 91880384,
+92012224, 92143552, 92273344, 92405696, 92536768, 92666432, 92798912,
+92926016, 93060544, 93192128, 93322816, 93453632, 93583936, 93715136,
+93845056, 93977792, 94109504, 94240448, 94371776, 94501184, 94632896,
+94764224, 94895552, 95023424, 95158208, 95287744, 95420224, 95550016,
+95681216, 95811904, 95943872, 96075328, 96203584, 96337856, 96468544,
+96599744, 96731072, 96860992, 96992576, 97124288, 97254848, 97385536,
+97517248, 97647808, 97779392, 97910464, 98041408, 98172608, 98303168,
+98434496, 98565568, 98696768, 98827328, 98958784, 99089728, 99220928,
+99352384, 99482816, 99614272, 99745472, 99876416, 100007104,
+100138048, 100267072, 100401088, 100529984, 100662592, 100791872,
+100925248, 101056064, 101187392, 101317952, 101449408, 101580608,
+101711296, 101841728, 101973824, 102104896, 102235712, 102366016,
+102498112, 102628672, 102760384, 102890432, 103021888, 103153472,
+103284032, 103415744, 103545152, 103677248, 103808576, 103939648,
+104070976, 104201792, 104332736, 104462528, 104594752, 104725952,
+104854592, 104988608, 105118912, 105247808, 105381184, 105511232,
+105643072, 105774784, 105903296, 106037056, 106167872, 106298944,
+106429504, 106561472, 106691392, 106822592, 106954304, 107085376,
+107216576, 107346368, 107478464, 107609792, 107739712, 107872192,
+108003136, 108131392, 108265408, 108396224, 108527168, 108657344,
+108789568, 108920384, 109049792, 109182272, 109312576, 109444928,
+109572928, 109706944, 109837888, 109969088, 110099648, 110230976,
+110362432, 110492992, 110624704, 110755264, 110886208, 111017408,
+111148864, 111279296, 111410752, 111541952, 111673024, 111803456,
+111933632, 112066496, 112196416, 112328512, 112457792, 112590784,
+112715968, 112852672, 112983616, 113114944, 113244224, 113376448,
+113505472, 113639104, 113770304, 113901376, 114031552, 114163264,
+114294592, 114425536, 114556864, 114687424, 114818624, 114948544,
+115080512, 115212224, 115343296, 115473472, 115605184, 115736128,
+115867072, 115997248, 116128576, 116260288, 116391488, 116522944,
+116652992, 116784704, 116915648, 117046208, 117178304, 117308608,
+117440192, 117569728, 117701824, 117833024, 117964096, 118094656,
+118225984, 118357312, 118489024, 118617536, 118749632, 118882112,
+119012416, 119144384, 119275328, 119406016, 119537344, 119668672,
+119798464, 119928896, 120061376, 120192832, 120321728, 120454336,
+120584512, 120716608, 120848192, 120979136, 121109056, 121241408,
+121372352, 121502912, 121634752, 121764416, 121895744, 122027072,
+122157632, 122289088, 122421184, 122550592, 122682944, 122813888,
+122945344, 123075776, 123207488, 123338048, 123468736, 123600704,
+123731264, 123861952, 123993664, 124124608, 124256192, 124386368,
+124518208, 124649024, 124778048, 124911296, 125041088, 125173696,
+125303744, 125432896, 125566912, 125696576, 125829056, 125958592,
+126090304, 126221248, 126352832, 126483776, 126615232, 126746432,
+126876608, 127008704, 127139392, 127270336, 127401152, 127532224,
+127663552, 127794752, 127925696, 128055232, 128188096, 128319424,
+128449856, 128581312, 128712256, 128843584, 128973632, 129103808,
+129236288, 129365696, 129498944, 129629888, 129760832, 129892288,
+130023104, 130154048, 130283968, 130416448, 130547008, 130678336,
+130807616, 130939456, 131071552, 131202112, 131331776, 131464384,
+131594048, 131727296, 131858368, 131987392, 132120256, 132250816,
+132382528, 132513728, 132644672, 132774976, 132905792, 133038016,
+133168832, 133299392, 133429312, 133562048, 133692992, 133823296,
+133954624, 134086336, 134217152, 134348608, 134479808, 134607296,
+134741056, 134872384, 135002944, 135134144, 135265472, 135396544,
+135527872, 135659072, 135787712, 135921472, 136052416, 136182848,
+136313792, 136444864, 136576448, 136707904, 136837952, 136970048,
+137099584, 137232064, 137363392, 137494208, 137625536, 137755712,
+137887424, 138018368, 138149824, 138280256, 138411584, 138539584,
+138672832, 138804928, 138936128, 139066688, 139196864, 139328704,
+139460032, 139590208, 139721024, 139852864, 139984576, 140115776,
+140245696, 140376512, 140508352, 140640064, 140769856, 140902336,
+141032768, 141162688, 141294016, 141426496, 141556544, 141687488,
+141819584, 141949888, 142080448, 142212544, 142342336, 142474432,
+142606144, 142736192, 142868288, 142997824, 143129408, 143258944,
+143392448, 143523136, 143653696, 143785024, 143916992, 144045632,
+144177856, 144309184, 144440768, 144570688, 144701888, 144832448,
+144965056, 145096384, 145227584, 145358656, 145489856, 145620928,
+145751488, 145883072, 146011456, 146144704, 146275264, 146407232,
+146538176, 146668736, 146800448, 146931392, 147062336, 147193664,
+147324224, 147455936, 147586624, 147717056, 147848768, 147979456,
+148110784, 148242368, 148373312, 148503232, 148635584, 148766144,
+148897088, 149028416, 149159488, 149290688, 149420224, 149551552,
+149683136, 149814976, 149943616, 150076352, 150208064, 150338624,
+150470464, 150600256, 150732224, 150862784, 150993088, 151125952,
+151254976, 151388096, 151519168, 151649728, 151778752, 151911104,
+152042944, 152174144, 152304704, 152435648, 152567488, 152698816,
+152828992, 152960576, 153091648, 153222976, 153353792, 153484096,
+153616192, 153747008, 153878336, 154008256, 154139968, 154270912,
+154402624, 154533824, 154663616, 154795712, 154926272, 155057984,
+155188928, 155319872, 155450816, 155580608, 155712064, 155843392,
+155971136, 156106688, 156237376, 156367424, 156499264, 156630976,
+156761536, 156892352, 157024064, 157155008, 157284416, 157415872,
+157545536, 157677248, 157810496, 157938112, 158071744, 158203328,
+158334656, 158464832, 158596288, 158727616, 158858048, 158988992,
+159121216, 159252416, 159381568, 159513152, 159645632, 159776192,
+159906496, 160038464, 160169536, 160300352, 160430656, 160563008,
+160693952, 160822208, 160956352, 161086784, 161217344, 161349184,
+161480512, 161611456, 161742272, 161873216, 162002752, 162135872,
+162266432, 162397888, 162529216, 162660032, 162790976, 162922048,
+163052096, 163184576, 163314752, 163446592, 163577408, 163707968,
+163839296, 163969984, 164100928, 164233024, 164364224, 164494912,
+164625856, 164756672, 164887616, 165019072, 165150016, 165280064,
+165412672, 165543104, 165674944, 165805888, 165936832, 166067648,
+166198336, 166330048, 166461248, 166591552, 166722496, 166854208,
+166985408, 167116736, 167246656, 167378368, 167508416, 167641024,
+167771584, 167903168, 168034112, 168164032, 168295744, 168427456,
+168557632, 168688448, 168819136, 168951616, 169082176, 169213504,
+169344832, 169475648, 169605952, 169738048, 169866304, 169999552,
+170131264, 170262464, 170393536, 170524352, 170655424, 170782016,
+170917696, 171048896, 171179072, 171310784, 171439936, 171573184,
+171702976, 171835072, 171966272, 172097216, 172228288, 172359232,
+172489664, 172621376, 172747712, 172883264, 173014208, 173144512,
+173275072, 173407424, 173539136, 173669696, 173800768, 173931712,
+174063424, 174193472, 174325696, 174455744, 174586816, 174718912,
+174849728, 174977728, 175109696, 175242688, 175374272, 175504832,
+175636288, 175765696, 175898432, 176028992, 176159936, 176291264,
+176422592, 176552512, 176684864, 176815424, 176946496, 177076544,
+177209152, 177340096, 177470528, 177600704, 177731648, 177864256,
+177994816, 178126528, 178257472, 178387648, 178518464, 178650176,
+178781888, 178912064, 179044288, 179174848, 179305024, 179436736,
+179568448, 179698496, 179830208, 180092608, 180223808, 180354752,
+180485696, 180617152, 180748096, 180877504, 181009984, 181139264,
+181272512, 181402688, 181532608, 181663168, 181795136, 181926592,
+182057536, 182190016, 182320192, 182451904, 182582336, 182713792,
+182843072, 182976064, 183107264, 183237056, 183368384, 183494848,
+183631424, 183762752, 183893824, 184024768, 184154816, 184286656,
+184417984, 184548928, 184680128, 184810816, 184941248, 185072704,
+185203904, 185335616, 185465408, 185596352, 185727296, 185859904,
+185989696, 186121664, 186252992, 186383552, 186514112, 186645952,
+186777152, 186907328, 187037504, 187170112, 187301824, 187429184,
+187562048, 187693504, 187825472, 187957184, 188087104, 188218304,
+188349376, 188481344, 188609728, 188743616, 188874304, 189005248,
+189136448, 189265088, 189396544, 189528128, 189660992, 189791936,
+189923264, 190054208, 190182848, 190315072, 190447424, 190577984,
+190709312, 190840768, 190971328, 191102656, 191233472, 191364032,
+191495872, 191626816, 191758016, 191888192, 192020288, 192148928,
+192282176, 192413504, 192542528, 192674752, 192805952, 192937792,
+193068608, 193198912, 193330496, 193462208, 193592384, 193723456,
+193854272, 193985984, 194116672, 194247232, 194379712, 194508352,
+194641856, 194772544, 194900672, 195035072, 195166016, 195296704,
+195428032, 195558592, 195690304, 195818176, 195952576, 196083392,
+196214336, 196345792, 196476736, 196607552, 196739008, 196869952,
+197000768, 197130688, 197262784, 197394368, 197523904, 197656384,
+197787584, 197916608, 198049472, 198180544, 198310208, 198442432,
+198573632, 198705088, 198834368, 198967232, 199097792, 199228352,
+199360192, 199491392, 199621696, 199751744, 199883968, 200014016,
+200146624, 200276672, 200408128, 200540096, 200671168, 200801984,
+200933312, 201062464, 201194944, 201326144, 201457472, 201588544,
+201719744, 201850816, 201981632, 202111552, 202244032, 202374464,
+202505152, 202636352, 202767808, 202898368, 203030336, 203159872,
+203292608, 203423296, 203553472, 203685824, 203816896, 203947712,
+204078272, 204208192, 204341056, 204472256, 204603328, 204733888,
+204864448, 204996544, 205125568, 205258304, 205388864, 205517632,
+205650112, 205782208, 205913536, 206044736, 206176192, 206307008,
+206434496, 206569024, 206700224, 206831168, 206961856, 207093056,
+207223616, 207355328, 207486784, 207616832, 207749056, 207879104,
+208010048, 208141888, 208273216, 208404032, 208534336, 208666048,
+208796864, 208927424, 209059264, 209189824, 209321792, 209451584,
+209582656, 209715136, 209845568, 209976896, 210106432, 210239296,
+210370112, 210501568, 210630976, 210763712, 210894272, 211024832,
+211156672, 211287616, 211418176, 211549376, 211679296, 211812032,
+211942592, 212074432, 212204864, 212334016, 212467648, 212597824,
+212727616, 212860352, 212991424, 213120832, 213253952, 213385024,
+213515584, 213645632, 213777728, 213909184, 214040128, 214170688,
+214302656, 214433728, 214564544, 214695232, 214826048, 214956992,
+215089088, 215219776, 215350592, 215482304, 215613248, 215743552,
+215874752, 216005312, 216137024, 216267328, 216399296, 216530752,
+216661696, 216790592, 216923968, 217054528, 217183168, 217316672,
+217448128, 217579072, 217709504, 217838912, 217972672, 218102848,
+218233024, 218364736, 218496832, 218627776, 218759104, 218888896,
+219021248, 219151936, 219281728, 219413056, 219545024, 219675968,
+219807296, 219938624, 220069312, 220200128, 220331456, 220461632,
+220592704, 220725184, 220855744, 220987072, 221117888, 221249216,
+221378368, 221510336, 221642048, 221772736, 221904832, 222031808,
+222166976, 222297536, 222428992, 222559936, 222690368, 222820672,
+222953152, 223083968, 223213376, 223345984, 223476928, 223608512,
+223738688, 223869376, 224001472, 224132672, 224262848, 224394944,
+224524864, 224657344, 224788288, 224919488, 225050432, 225181504,
+225312704, 225443776, 225574592, 225704768, 225834176, 225966784,
+226097216, 226229824, 226360384, 226491712, 226623424, 226754368,
+226885312, 227015104, 227147456, 227278528, 227409472, 227539904,
+227669696, 227802944, 227932352, 228065216, 228196288, 228326464,
+228457792, 228588736, 228720064, 228850112, 228981056, 229113152,
+229243328, 229375936, 229505344, 229636928, 229769152, 229894976,
+230030272, 230162368, 230292416, 230424512, 230553152, 230684864,
+230816704, 230948416, 231079616, 231210944, 231342016, 231472448,
+231603776, 231733952, 231866176, 231996736, 232127296, 232259392,
+232388672, 232521664, 232652608, 232782272, 232914496, 233043904,
+233175616, 233306816, 233438528, 233569984, 233699776, 233830592,
+233962688, 234092224, 234221888, 234353984, 234485312, 234618304,
+234749888, 234880832, 235011776, 235142464, 235274048, 235403456,
+235535936, 235667392, 235797568, 235928768, 236057152, 236190272,
+236322752, 236453312, 236583616, 236715712, 236846528, 236976448,
+237108544, 237239104, 237371072, 237501632, 237630784, 237764416,
+237895232, 238026688, 238157632, 238286912, 238419392, 238548032,
+238681024, 238812608, 238941632, 239075008, 239206336, 239335232,
+239466944, 239599168, 239730496, 239861312, 239992384, 240122816,
+240254656, 240385856, 240516928, 240647872, 240779072, 240909632,
+241040704, 241171904, 241302848, 241433408, 241565248, 241696192,
+241825984, 241958848, 242088256, 242220224, 242352064, 242481856,
+242611648, 242744896, 242876224, 243005632, 243138496, 243268672,
+243400384, 243531712, 243662656, 243793856, 243924544, 244054592,
+244187072, 244316608, 244448704, 244580032, 244710976, 244841536,
+244972864, 245104448, 245233984, 245365312, 245497792, 245628736,
+245759936, 245889856, 246021056, 246152512, 246284224, 246415168,
+246545344, 246675904, 246808384, 246939584, 247070144, 247199552,
+247331648, 247463872, 247593536, 247726016, 247857088, 247987648,
+248116928, 248249536, 248380736, 248512064, 248643008, 248773312,
+248901056, 249036608, 249167552, 249298624, 249429184, 249560512,
+249692096, 249822784, 249954112, 250085312, 250215488, 250345792,
+250478528, 250608704, 250739264, 250870976, 251002816, 251133632,
+251263552, 251395136, 251523904, 251657792, 251789248, 251919424,
+252051392, 252182464, 252313408, 252444224, 252575552, 252706624,
+252836032, 252968512, 253099712, 253227584, 253361728, 253493056,
+253623488, 253754432, 253885504, 254017216, 254148032, 254279488,
+254410432, 254541376, 254672576, 254803264, 254933824, 255065792,
+255196736, 255326528, 255458752, 255589952, 255721408, 255851072,
+255983296, 256114624, 256244416, 256374208, 256507712, 256636096,
+256768832, 256900544, 257031616, 257162176, 257294272, 257424448,
+257555776, 257686976, 257818432, 257949632, 258079552, 258211136,
+258342464, 258473408, 258603712, 258734656, 258867008, 258996544,
+259127744, 259260224, 259391296, 259522112, 259651904, 259784384,
+259915328, 260045888, 260175424, 260308544, 260438336, 260570944,
+260700992, 260832448, 260963776, 261092672, 261226304, 261356864,
+261487936, 261619648, 261750592, 261879872, 262011968, 262143424,
+262274752, 262404416, 262537024, 262667968, 262799296, 262928704,
+263061184, 263191744, 263322944, 263454656, 263585216, 263716672,
+263847872, 263978944, 264108608, 264241088, 264371648, 264501184,
+264632768, 264764096, 264895936, 265024576, 265158464, 265287488,
+265418432, 265550528, 265681216, 265813312, 265943488, 266075968,
+266206144, 266337728, 266468032, 266600384, 266731072, 266862272,
+266993344, 267124288, 267255616, 267386432, 267516992, 267648704,
+267777728, 267910592, 268040512, 268172096, 268302784, 268435264,
+268566208, 268696256, 268828096, 268959296, 269090368, 269221312,
+269352256, 269482688, 269614784, 269745856, 269876416, 270007616,
+270139328, 270270272, 270401216, 270531904, 270663616, 270791744,
+270924736, 271056832, 271186112, 271317184, 271449536, 271580992,
+271711936, 271843136, 271973056, 272105408, 272236352, 272367296,
+272498368, 272629568, 272759488, 272891456, 273022784, 273153856,
+273284672, 273415616, 273547072, 273677632, 273808448, 273937088,
+274071488, 274200896, 274332992, 274463296, 274595392, 274726208,
+274857536, 274988992, 275118656, 275250496, 275382208, 275513024,
+275643968, 275775296, 275906368, 276037184, 276167872, 276297664,
+276429376, 276560576, 276692672, 276822976, 276955072, 277085632,
+277216832, 277347008, 277478848, 277609664, 277740992, 277868608,
+278002624, 278134336, 278265536, 278395328, 278526784, 278657728,
+278789824, 278921152, 279052096, 279182912, 279313088, 279443776,
+279576256, 279706048, 279838528, 279969728, 280099648, 280230976,
+280361408, 280493632, 280622528, 280755392, 280887104, 281018176,
+281147968, 281278912, 281411392, 281542592, 281673152, 281803712,
+281935552, 282066496, 282197312, 282329024, 282458816, 282590272,
+282720832, 282853184, 282983744, 283115072, 283246144, 283377344,
+283508416, 283639744, 283770304, 283901504, 284032576, 284163136,
+284294848, 284426176, 284556992, 284687296, 284819264, 284950208,
+285081536]
+```
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
new file mode 100644
index 00000000000..4b6dd5f98a1
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
@@ -0,0 +1,42 @@
+---
+title: Těžební algoritmy
+description: Podrobný pohled na algoritmy používané pro těžbu Etherea.
+lang: cs
+---
+
+
+
+
+
+Proof-of-work již není základním mechanismem konsensu Etherea, což znamená, že těžení bylo vypnuto. Místo toho je Ethereum zabezpečeno validátory, kteří stakují ETH. Své ETH můžete začít stakeovat hned dnes. Přečtěte si více o Sloučení, proof-of-stake a stakování. Tato stránka má pouze historický význam.
+
+
+
+
+Těžba Etherea používala algoritmus známý jako Ethash. Základní myšlenkou algoritmu je, že se těžař snaží najít vstupní nonce pomocí výpočtu hrubou silou tak, aby výsledný haš byl menší než prahová hodnota určená vypočítanou obtížností. Tuto úroveň obtížnosti lze dynamicky upravovat, což umožňuje, aby produkce bloků probíhala v pravidelném intervalu.
+
+## Předpoklady {#prerequisites}
+
+Pro lepší pochopení této stránky vám doporučujeme si nejprve přečíst o [konsensu proof-of-work](/developers/docs/consensus-mechanisms/pow) a [těžbě](/developers/docs/consensus-mechanisms/pow/mining).
+
+## Dagger Hashimoto {#dagger-hashimoto}
+
+Dagger Hashimoto byl předběžný výzkumný algoritmus pro těžbu Etherea, který nahradil Ethash. Jednalo se o spojení dvou různých algoritmů: Dagger a Hashimoto. Šlo pouze o výzkumnou implementaci, která byla v době spuštění mainnetu Etherea nahrazena algoritmem Ethash.
+
+[Dagger](http://www.hashcash.org/papers/dagger.html) zahrnuje generování [orientovaného acyklického grafu](https://en.wikipedia.org/wiki/Directed_acyclic_graph), jehož náhodné části se společně hašují. Základním principem je, že každá nonce vyžaduje pouze malou část velkého celkového datového stromu. Přepočítávání podstromu pro každou nonce je pro těžbu neúnosné – proto je nutné strom uložit –, ale pro ověření jediné hodnoty nonce je to v pořádku. Dagger byl navržen jako alternativa ke stávajícím algoritmům, jako je Scrypt, které jsou paměťově náročné (memory-hard), ale obtížně se ověřují, když se jejich paměťová náročnost zvýší na skutečně bezpečnou úroveň. Dagger byl však zranitelný vůči hardwarové akceleraci sdílené paměti a bylo od něj upuštěno ve prospěch jiných směrů výzkumu.
+
+[Hashimoto](http://diyhpl.us/%7Ebryan/papers2/bitcoin/meh/hashimoto.pdf) je algoritmus, který přidává odolnost vůči ASIC tím, že je vázán na I/O (vstup/výstup) (tj. čtení z paměti je limitujícím faktorem v procesu těžby). Teorie je taková, že paměť RAM je dostupnější než výpočetní výkon; výzkum v hodnotě miliard dolarů se již zabýval optimalizací paměti RAM pro různé případy použití, které často zahrnují téměř náhodné vzory přístupu (odtud „paměť s náhodným přístupem“). V důsledku toho je stávající paměť RAM pravděpodobně poměrně blízko optimu pro vyhodnocování algoritmu. Hashimoto používá blockchain jako zdroj dat a současně splňuje body (1) a (3) uvedené výše.
+
+Dagger-Hashimoto používal upravené verze algoritmů Dagger a Hashimoto. Rozdíl mezi Dagger Hashimoto a Hashimoto je v tom, že namísto použití blockchainu jako zdroje dat používá Dagger Hashimoto vlastní vygenerovanou datovou sadu, která se aktualizuje na základě dat bloku každých N bloků. Datová sada se generuje pomocí algoritmu Dagger, což umožňuje efektivní výpočet podmnožiny specifické pro každou nonce pro ověřovací algoritmus lehkého klienta. Rozdíl mezi algoritmy Dagger Hashimoto a Dagger je v tom, že na rozdíl od původního Daggeru je datová sada používaná k dotazování bloku semipermanentní a aktualizuje se pouze v občasných intervalech (např. jednou týdně). To znamená, že část úsilí vynaloženého na generování datové sady se blíží nule, takže argumenty Sergia Lernera ohledně zrychlení díky sdílené paměti se stávají zanedbatelnými.
+
+Více o [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto).
+
+## Ethash {#ethash}
+
+Ethash byl těžební algoritmus, který se skutečně používal na mainnetu Etherea v rámci dnes již zastaralé architektury proof-of-work. Ethash byl v podstatě nový název pro specifickou verzi Dagger-Hashimoto poté, co byl algoritmus výrazně aktualizován, přičemž si stále zachoval základní principy svého předchůdce. Mainnet Etherea používal pouze Ethash – Dagger Hashimoto byl verzí těžebního algoritmu pro výzkum a vývoj, která byla nahrazena předtím, než začala těžba na mainnetu Etherea.
+
+Více o [Ethash](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash).
+
+## Další čtení {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/dapps/index.md b/public/content/translations/cs/developers/docs/dapps/index.md
index 4687126396f..45ae01d3237 100644
--- a/public/content/translations/cs/developers/docs/dapps/index.md
+++ b/public/content/translations/cs/developers/docs/dapps/index.md
@@ -1,64 +1,64 @@
---
-title: Úvod do dappek
+title: Technický úvod do dapps
description:
lang: cs
---
-Decentralizovaná aplikace (dappka) je aplikace naprogramovaná na decentralizované síti, která kombinuje [chytrý kontrakt](/developers/docs/smart-contracts/) a frontendové uživatelské rozhraní. V Ethereu jsou chytré kontrakty přístupné a transparentní jako otevřené API, takže vaše dappka může obsahovat i chytrý kontrakt, který napsal někdo jiný.
+Decentralizovaná aplikace (dapp) je aplikace vytvořená na decentralizované síti, která kombinuje [chytrý kontrakt](/developers/docs/smart-contracts/) a frontendové uživatelské rozhraní. V Ethereu jsou chytré kontrakty přístupné a transparentní jako otevřené API, takže vaše dappka může obsahovat i chytrý kontrakt, který napsal někdo jiný.
## Předpoklady {#prerequisites}
-Než se začnete učit o dappkách, měli byste se seznámit se[ základy blockchainu](/developers/docs/intro-to-ethereum/) a přečíst si něco o síti Ethereu a o její decentralizaci.
+Než se začnete učit o dapps, měli byste se seznámit se [základy blockchainu](/developers/docs/intro-to-ethereum/) a přečíst si o síti Ethereum a její decentralizaci.
-## Definice dappky {#definition-of-a-dapp}
+## Definice dapp {#definition-of-a-dapp}
Dappka má svůj backendový kód spuštěný v decentralizované peer-to-peer síti. To je v kontrastu s aplikací, jejíž backendový kód běží na centralizovaných serverech.
-Dappka může mít frontendový kód a uživatelská rozhraní napsaná v libovolném programovacím jazyce (stejně jako aplikace), který může volat její backend. Kromě toho může být její frontend umístěn na decentralizovaném úložišti, jako je [IPFS](https://ipfs.io/).
+Dappka může mít frontendový kód a uživatelská rozhraní napsaná v libovolném programovacím jazyce (stejně jako aplikace), který může volat její backend. Kromě toho může být její frontend hostován na decentralizovaném úložišti, jako je [IPFS](https://ipfs.io/).
-- **Decentralizované** – dappky fungují na Ethereu, otevřené veřejné decentralizované platformě, nad kterou nemá kontrolu žádná jednotlivá osoba ani skupina.
-- **Deterministické** – dappky vykonávají stejnou funkci bez ohledu na prostředí, ve kterém jsou spuštěny.
-- **Turingovsky úplné** – dappky mohou provádět jakoukoliv akci, pokud mají k dispozici potřebné prostředky.
-- **Izolované** – dappky jsou spouštěny ve virtuálním prostředí známém jako Virtuální stroj Etherea, takže pokud chytrý kontrakt obsahuje nějakou chybu, neovlivní to běžné fungování blockchainové sítě.
+- **Decentralizované** – dapps fungují na Ethereu, otevřené veřejné decentralizované platformě, nad kterou nemá kontrolu žádná osoba ani skupina.
+- **Deterministické** – dapps vykonávají stejnou funkci bez ohledu na prostředí, ve kterém jsou spuštěny.
+- **Turingovsky úplné** – dapps mohou provádět jakoukoli akci, pokud mají k dispozici potřebné prostředky.
+- **Izolované** – dapps jsou spouštěny ve virtuálním prostředí známém jako Ethereum Virtual Machine (EVM), takže pokud má chytrý kontrakt chybu, neovlivní to běžné fungování blockchainové sítě.
### O chytrých kontraktech {#on-smart-contracts}
-Abychom mohli vysvětlit fungování dappek, musíme nejdříve vysvětlit chytré kontrakty – backend dappek, což není úplně přesné, ale lepší popis neexistuje. Podrobný přehled naleznete v sekci o [chytrých kontraktech](/developers/docs/smart-contracts/).
+Abychom mohli vysvětlit fungování dappek, musíme nejdříve vysvětlit chytré kontrakty – backend dappek, což není úplně přesné, ale lepší popis neexistuje. Podrobný přehled naleznete v naší sekci o [chytrých kontraktech](/developers/docs/smart-contracts/).
Chytrý kontrakt je kód, který žije v blockchainu Etherea a běží přesně tak, jak je naprogramován. Jakmile jsou chytré kontrakty spuštěny na síti, nemůžete je měnit. Dappky mohou být decentralizované, protože jsou řízeny logikou zapsanou do kontraktu, nikoli jednotlivcem nebo společností. To také znamená, že musíte své kontrakty navrhovat velmi pečlivě a důkladně je testovat.
-## Výhody vývoje dappek {#benefits-of-dapp-development}
+## Výhody vývoje dapps {#benefits-of-dapp-development}
-- **Žádné výpadky** – Jakmile je chytrý kontrakt umístěn na blockchain a spuštěn, síť jako celek bude vždy schopna vyhovět uživatelům, kteří chtějí s kontraktem komunikovat. Zlomyslní aktéři proto nemohou provádět útoky typu DoS zaměřené na jednotlivé dappky.
-- **Soukromí** – K nasazení dappky nebo interakci s ní není třeba zveřejnit svoji skutečnou identitu.
-- **Odolnost vůči cenzuře** – Žádný subjekt v síti nemůže uživatelům blokovat zadávání transakcí, nasazování dappek nebo čtení dat z blockchainu.
+- **Žádné výpadky** – Jakmile je chytrý kontrakt nasazen na blockchain, síť jako celek bude vždy schopna obsloužit klienty, kteří chtějí s kontraktem interagovat. Zlomyslní aktéři proto nemohou provádět útoky typu DoS zaměřené na jednotlivé dappky.
+- **Soukromí** – K nasazení dapp nebo interakci s ní nemusíte poskytovat svou skutečnou identitu.
+- **Odolnost vůči cenzuře** – Žádný subjekt v síti nemůže uživatelům blokovat odesílání transakcí, nasazování dapps nebo čtení dat z blockchainu.
- **Úplná integrita dat** – Data uložená na blockchainu jsou díky kryptografickým primitivům neměnná a nezpochybnitelná. Zlomyslní aktéři nemohou falšovat transakce ani jiná data, která již byla zveřejněna.
-- **Výpočty / ověřitelné chování bez nutnosti důvěry** – Chytré kontrakty lze analyzovat a je zaručeno, že se budou provádět předvídatelně, aniž by bylo nutné důvěřovat nějaké centrální autoritě. To v tradičních modelech neplatí. Např. když používáme systémy internetového bankovnictví, musíme věřit, že finanční instituce nezneužijí naše finanční údaje, nezmanipulují záznamy nebo se do nich nenabourají hackeři.
+- **Výpočty bez nutnosti důvěry / ověřitelné chování** – Chytré kontrakty lze analyzovat a je zaručeno, že se budou provádět předvídatelným způsobem, aniž by bylo nutné důvěřovat centrální autoritě. To v tradičních modelech neplatí. Např. když používáme systémy internetového bankovnictví, musíme věřit, že finanční instituce nezneužijí naše finanční údaje, nezmanipulují záznamy nebo se do nich nenabourají hackeři.
-## Nevýhody vývoje dappek {#drawbacks-of-dapp-development}
+## Nevýhody vývoje dapps {#drawbacks-of-dapp-development}
-- **Údržba** – Údržba dappek je náročnější, protože kód a data publikovaná na blockchainu se hůře upravují. Pro vývojáře je těžké aktualizovat dappky (nebo podkladová data, která dappky ukládají), jakmile jsou nasazeny, když jsou ve staré verzi identifikovány chyby nebo bezpečnostní rizika.
-- **Výkonnostní režie** – Výkonnostní režie je obrovská a škálování je opravdu obtížné. Aby bylo dosaženo úrovně bezpečnosti, integrity, transparentnosti a spolehlivosti, o kterou Ethereum usiluje, musí každý uzel spouštět a ukládat každou transakci. Kromě toho, nějaký čas zabere i konsenzus důkazu podílem.
-- **Přetížení sítě** – Pokud jedna dappka využívá příliš mnoho výpočetních zdrojů, celá síť se zahltí. V současné době je síť schopna zpracovat pouze asi 10–15 transakcí za sekundu. Pokud jsou transakce odesílány rychleji, může fond nepotvrzených transakcí rychle narůstat.
-- **Uživatelská zkušenost** – Může být obtížnější navrhnout uživatelsky přívětivé prostředí, protože průměrný koncový uživatel by mohl považovat za příliš složité nastavit nástrojový stack nezbytný pro skutečně bezpečnou interakci s blockchainem.
-- **Centralizace** – Uživatelsky a vývojářsky přívětivá řešení spuštěná na základní vrstvě Etherea mohou nakonec vypadat jako centralizované služby. Např. takové služby mohou ukládat klíče nebo jiné citlivé informace na serverové straně, poskytovat frontend pomocí centralizovaného serveru nebo provozovat důležitou obchodní logiku na centralizovaném serveru před zápisem na blockchain. Centralizace eliminuje mnoho (ne-li všechny) výhod blockchainu oproti tradičnímu modelu.
+- **Údržba** – Udržovat dapps může být těžší, protože kód a data publikovaná na blockchainu se hůře upravují. Pro vývojáře je těžké aktualizovat dappky (nebo podkladová data, která dappky ukládají), jakmile jsou nasazeny, když jsou ve staré verzi identifikovány chyby nebo bezpečnostní rizika.
+- **Výkonnostní režie** – Existuje obrovská výkonnostní režie a škálování je opravdu obtížné. Aby bylo dosaženo úrovně bezpečnosti, integrity, transparentnosti a spolehlivosti, o kterou Ethereum usiluje, musí každý uzel spouštět a ukládat každou transakci. Kromě toho, nějaký čas zabere i konsenzus důkazu podílem.
+- **Přetížení sítě** – Když jedna dapp využívá příliš mnoho výpočetních zdrojů, celá síť se zahltí. V současné době je síť schopna zpracovat pouze asi 10–15 transakcí za sekundu. Pokud jsou transakce odesílány rychleji, může fond nepotvrzených transakcí rychle narůstat.
+- **Uživatelská zkušenost** – Může být obtížnější navrhnout uživatelsky přívětivé prostředí, protože průměrný koncový uživatel může považovat za příliš složité nastavit sadu nástrojů nezbytnou pro skutečně bezpečnou interakci s blockchainem.
+- **Centralizace** – Uživatelsky a vývojářsky přívětivá řešení postavená na základní vrstvě Etherea mohou nakonec stejně vypadat jako centralizované služby. Např. takové služby mohou ukládat klíče nebo jiné citlivé informace na serverové straně, poskytovat frontend pomocí centralizovaného serveru nebo provozovat důležitou obchodní logiku na centralizovaném serveru před zápisem na blockchain. Centralizace eliminuje mnoho (ne-li všechny) výhod blockchainu oproti tradičnímu modelu.
-## Učíte se spíše vizuálně? {#visual-learner}
+## Učíte se spíše vizuálně? Vizuální výuka {#visual-learner}
-## Nástroje pro vytváření dappek {#dapp-tools}
+## Nástroje pro vytváření dapps {#dapp-tools}
-**Scaffold-ETH_ – Experimentujte se Solidity pomocí frontendu, který se přizpůsobuje vašemu chytrému kontraktu._**
+**Scaffold-ETH _– Rychle experimentujte se Solidity pomocí frontendu, který se přizpůsobí vašemu chytrému kontraktu._**
- [GitHub](https://github.com/scaffold-eth/scaffold-eth-2)
-- [Příkladová dappka](https://punkwallet.io/)
+- [Příklad dapp](https://punkwallet.io/)
-**Vytvořte ethereovskou appku _– Vytvořte aplikace s podporou Etherea pomocí jednoho příkazu._**
+**Create Eth App _– Vytvořte aplikace s podporou Etherea jedním příkazem._**
- [GitHub](https://github.com/paulrberg/create-eth-app)
-**One Click Dapp_ – FOSS nástroj pro generování frontendů dappek z [ABI](/glossary/#abi)._**
+**One Click Dapp _– FOSS nástroj pro generování frontendů pro dapps z [ABI](/glossary/#abi)._**
- [oneclickdapp.com](https://oneclickdapp.com)
- [GitHub](https://github.com/oneclickdapp/oneclickdapp-v1)
@@ -68,7 +68,7 @@ Chytrý kontrakt je kód, který žije v blockchainu Etherea a běží přesně
- [etherflow.quiknode.io](https://etherflow.quiknode.io/)
- [GitHub](https://github.com/abunsen/etherflow)
-**thirdweb_ – SDK v každém jazyce, chytré kontrakty, nástroje a infrastruktura pro vývoj web3._**
+**thirdweb _– SDK v každém jazyce, chytré kontrakty, nástroje a infrastruktura pro vývoj web3._**
- [Domovská stránka](https://thirdweb.com/)
- [Dokumentace](https://portal.thirdweb.com/)
@@ -80,17 +80,17 @@ Chytrý kontrakt je kód, který žije v blockchainu Etherea a běží přesně
- [Dokumentace](https://docs.crossmint.com)
- [Discord](https://discord.com/invite/crossmint)
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Prozkoumat dappky](/apps)
-- [The Architecture of a Web 3.0 application](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) – _Preethi Kasireddy_
-- [A 2021 guide to decentralized applications](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) – _LimeChain_
-- [What Are Decentralized Apps?](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) – _Gemini_
-- [Popular dapps](https://www.alchemy.com/dapps) – _Alchemy_
+- [Prozkoumejte dapps](/apps)
+- [Architektura aplikace Web 3.0](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) – _Preethi Kasireddy_
+- [Průvodce decentralizovanými aplikacemi pro rok 2021](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) - _LimeChain_
+- [Co jsou decentralizované aplikace?](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) - _Gemini_
+- [Populární dapps](https://www.alchemy.com/dapps) - _Alchemy_
-_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ji!_
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
## Související témata {#related-topics}
- [Úvod do stacku Etherea](/developers/docs/ethereum-stack/)
-- [Vývojářské rámce](/developers/docs/frameworks/)
+- [Vývojářské frameworky](/developers/docs/frameworks/)
diff --git a/public/content/translations/cs/developers/docs/data-and-analytics/block-explorers/index.md b/public/content/translations/cs/developers/docs/data-and-analytics/block-explorers/index.md
new file mode 100644
index 00000000000..0582fb14bd9
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/data-and-analytics/block-explorers/index.md
@@ -0,0 +1,254 @@
+---
+title: Průzkumníci bloků
+description: Úvod k průzkumníkům bloků, vašeho portálu do světa blockchainových dat, kde můžete vyhledávat informace o transakcích, účtech, kontraktech a dalších.
+lang: cs
+sidebarDepth: 3
+---
+
+Průzkumníci bloků jsou vaším portálem k datům Etherea. Pomocí nich můžete v reálném čase sledovat údaje o blocích, transakcích, validátorech, účtech a dalších on-chain aktivitách.
+
+## Předpoklady {#prerequisites}
+
+Měli byste rozumět základním konceptům Etherea, abyste dokázali porozumět údajům, které vám průzkumník bloku poskytne. Začněte s [úvodem do Etherea](/developers/docs/intro-to-ethereum/).
+
+## Služby {#services}
+
+- [Etherscan](https://etherscan.io/) -_Dostupné také v čínštině, korejštině, ruštině a japonštině_
+- [3xpl](https://3xpl.com/ethereum)
+- [Beaconcha.in](https://beaconcha.in/)
+- [Blockchair](https://blockchair.com/ethereum) -_Dostupné také ve španělštině, francouzštině, italštině, nizozemštině, portugalštině, ruštině, čínštině a perštině_
+- [Blockscout](https://eth.blockscout.com/)
+- [Chainlens](https://www.chainlens.com/)
+- [DexGuru Block Explorer](https://ethereum.dex.guru/)
+- [Etherchain](https://www.etherchain.org/)
+- [Ethplorer](https://ethplorer.io/) -_Dostupné také v čínštině, španělštině, francouzštině, turečtině, ruštině, korejštině a vietnamštině_
+- [EthVM](https://www.ethvm.com/)
+- [OKLink](https://www.oklink.com/eth)
+- [Ethseer](https://ethseer.io)
+
+## Open-source nástroje {#open-source-tools}
+
+- [Otterscan](https://otterscan.io/)
+- [lazy-etherscan](https://github.com/woxjro/lazy-etherscan)
+
+## Data {#data}
+
+Ethereum je ze své podstaty transparentní, takže je vše ověřitelné. Průzkumníci bloků poskytují rozhraní pro získání těchto informací. A to jak pro hlavní síť Ethereum, tak pro testovací sítě, pokud tato data potřebujete. Data se dělí na exekuční data a data o konsensu. Exekuční data se vztahují k transakcím, které byly provedeny v konkrétním bloku. Data o konsensu se týkají samotných bloků a validátorů, kteří je navrhli.
+
+Zde je přehled typů dat, která můžete z průzkumníka bloků získat.
+
+### Exekuční data {#execution-data}
+
+Nové bloky jsou přidávány do Etherea každých 12 sekund (pokud navrhovatel bloku nezmešká svou šanci), takže do průzkumníků bloků je přidáván téměř nepřetržitý tok dat. Bloky obsahují spoustu důležitých údajů, které se vám mohou hodit:
+
+**Standardní data**
+
+- Výška bloku (Block height) - značí číslo bloku a délku blockchainu (v blocích) při vytvoření aktuálního bloku
+- Časová značka (Timestamp) - Čas, kdy byl blok navržen
+- Transakce (Transactions) - Počet transakcí zahrnutých v bloku
+- Příjemce poplatků (Fee recipient) - Adresa, která obdržela spropitné z transakcí
+- Odměna za blok (Block Reward) - Množství ETH udělené validátorovi, který blok navrhl
+- Velikost (Size) - Velikost dat v bloku (měřeno v bajtech)
+- Využité palivo (Gas used) - Celkový počet jednotek paliva spotřebovaných transakcemi v bloku
+- Limit paliva (Gas limit) - Celkové limity paliva nastavené transakcemi v bloku
+- Základní poplatek za palivo (Base fee per gas) - Minimální násobitel potřebný pro zařazení transakce do bloku
+- Spálené poplatky (Burnt fees) - Množství ETH spálené v bloku
+- Extra data (Extra data) - Jakákoli další data, která tvůrce bloku zahrnul
+
+**Pokročilá data**
+
+- Hash (Hash) - Kryptografický hash, který představuje hlavičku bloku (jedinečný identifikátor bloku)
+- Rodičovský hash (Parent hash) - Hash bloku, který předcházel aktuálnímu bloku
+- Kořenový stav (StateRoot) - Kořenový hash Merkle trie, který ukládá celý stav systému
+
+### Gas {#gas}
+
+Průzkumníci bloků vám poskytnou nejen údaje o využití paliva v transakcích a blocích, ale někteří vám poskytnou i informace o aktuálních cenách paliva v síti. To vám pomůže pochopit využití sítě, zadávat bezpečné transakce a neutrácet za palivo příliš mnoho. Vyhledejte rozhraní API, která vám pomohou tyto informace dostat do rozhraní vašeho produktu. Specifické údaje pro palivo zahrnují:
+
+- Odhadované jednotky paliva potřebné pro bezpečnou, ale pomalou transakci (+ odhadovaná cena a doba trvání)
+- Odhadované jednotky paliva potřebné pro průměrnou transakci (+ odhadovaná cena a doba trvání)
+- Odhadované jednotky paliva potřebné pro rychlou transakci (+ odhadovaná cena a doba trvání)
+- Průměrná doba potvrzení na základě ceny paliva
+- Kontrakty, které spotřebovávají palivo – jinými slovy populární produkty, které se v síti hodně používají
+- Účty, které spotřebovávají nejvíce paliva – jinými slovy častí uživatelé sítě
+
+### Transakce {#transactions}
+
+Průzkumníci bloků se stali běžným místem, kde lidé sledují průběh svých transakcí. Je to proto, že úroveň detailů, kterou můžete získat, poskytuje dodatečnou jistotu. Údaje o transakcích zahrnují:
+
+**Standardní data**
+
+- Transaction hash - Hash, který se generuje při odeslání transakce
+- Stav - Udává, zda je transakce čekající, neúspěšná, nebo úspěšná
+- Block - Označuje blok, ve kterém byla transakce zahrnuta
+- Timestamp - Čas, kdy byla transakce zahrnuta do bloku navrženého validátorem
+- From - Adresa účtu, který transakci odeslal
+- To - Adresa příjemce nebo smart kontraktu, se kterým transakce interaguje
+- Tokens transferred - Seznam tokenů, které byly v rámci transakce převedeny
+- Hodnota - Celková převáděná hodnota ETH
+- Transakční poplatek - Částka zaplacená validátorovi za zpracování transakce (vypočítá se jako cena paliva \* množství použitého paliva)
+
+**Pokročilá data**
+
+- Gas limit - Maximální počet jednotek paliva, které může tato transakce spotřebovat
+- Využité palivo - Skutečné množství jednotek paliva, které transakce spotřebovala
+- Cena paliva - Cena stanovená za jednotku paliva
+- Nonce - Číslo transakce pro adresu `from` (mějte na paměti, že se začíná od 0, takže nonce `100` by ve skutečnosti byla 101. transakce odeslaná tímto účtem).
+- Vstupní data - Veškeré další informace požadované transakcí
+
+### Účty {#accounts}
+
+O účtu existuje mnoho dat, ke kterým můžete získat přístup. Proto se často doporučuje používat více účtů, aby nebylo možné snadno zjistit váš majetek a jeho hodnotu. Ve vývoji jsou také další řešení, která umožňují větší soukromí transakcí a aktivit na účtu. Zde jsou však data, která jsou k dispozici o účtech:
+
+**Uživatelské účty**
+
+- Adresa účtu - veřejná adresa, na kterou můžete posílat finanční prostředky
+- Zůstatek ETH - Množství ETH spojené s daným účtem
+- Celková hodnota ETH - Hodnota ETH
+- Tokeny - Tokeny spojené s účtem a jejich hodnota
+- Historie transakcí - Seznam všech transakcí, kde byl tento účet buď odesílatelem, nebo příjemcem
+
+**Chytré kontrakty**
+
+Smart kontrakt účty obsahují všechny údaje, které má uživatelský účet, ale někteří průzkumníci bloků zobrazují navíc i některé informace o kódu. Mezi příklady patří:
+
+- Tvůrce kontraktu - Adresa, která kontrakt nasadila na Mainnet
+- Transakce vytvoření - Transakce, která zahrnovala spuštění na Mainnetu
+- Zdrojový kód - Solidity nebo Vyper kód smart kontraktu
+- ABI kontraktu - Aplikační binární rozhraní kontraktu - volání, která kontrakt provádí, a data, která přijímá
+- Kód vytvoření kontraktu - Zkompilovaný bajtový kód smart kontraktu - vytvoří se při kompilaci smart kontraktu napsaného v Solidity, Vyper apod.
+- Události kontraktu - Historie metod volaných ve smart kontraktu – v podstatě způsob, jak zjistit, jak je kontrakt používán a jak často
+
+### Tokeny {#tokens}
+
+Tokeny jsou typem kontraktu, takže ponesou podobné údaje jako smart kontrakty. Ale protože mají hodnotu a lze s nimi obchodovat, mají i další datové položky:
+
+- Typ - Zda se jedná o token ERC-20, ERC-721 nebo jiný standard
+- Cena - Pokud se jedná o ERC-20, budou mít aktuální tržní hodnotu
+- Tržní kapitalizace - Pokud se jedná o ERC-20, bude u nich uvedena tržní kapitalizace (vypočtená jako cena \* celkové množství)
+- Celková zásoba - Počet tokenů v oběhu
+- Držitelé - Počet adres, které drží daný token
+- Převody - Počet koliktrát byl token převeden mezi účty
+- Historie transakcí - Historie všech transakcí zahrnující daný token
+- Adresa kontraktu - Adresa tokenu nasazeného na Mainnet
+- Desetinná místa - Tokeny ERC-20 jsou dělitelné a mají desetinná místa
+
+### Síť {#network}
+
+Některá data bloku se týkají celkového zdraví sítě Ethereum.
+
+- Celkový počet transakcí - Počet transakcí od vzniku Etherea
+- Transakce za sekundu - Počet transakcí zpracovatelných během jedné sekundy
+- Cena ETH - Aktuální hodnota 1 ETH
+- Celková nabídka ETH - Počet ETH v oběhu - nezapomeňte, že s vytvořením každého bloku vznikají nové ETH ve formě blokových odměn
+- Tržní kapitalizace - Výpočítá se jako cena \* celková nabídka
+
+## Data konsenzuální vrstvy {#consensus-layer-data}
+
+### Epocha {#epoch}
+
+Z bezpečnostních důvodů jsou na konci každé epochy (každých 6,4 minut) vytvořeny náhodně vybrané komise validátorů. Data o epochách zahrnují:
+
+- Číslo epochy
+- Finalizovaný stav - Zda byla epocha finalizována (ano/ne)
+- Čas - Čas ukončení epochy
+- Atestace - Počet atestací v epoše (hlasování pro bloky v rámci slotů)
+- Vklady - Počet vložených ETH zahrnutých v epoše (validátoři musí uzamknout ETH, aby se stali validátory)
+- Srážky - Počet pokut udělených navrhovatelům bloků nebo atestátorům
+- Účast na hlasování - Množství uzamčených ETH použitých k atestování bloků
+- Validátoři - Počet validátorů aktivních pro danou epochu
+- Průměrný zůstatek validátorů - Průměrný zůstatek aktivních validátorů
+- Sloty - Počet časových úseků "slotů" zahrnutých do epochy (sloty zahrnují jeden validní blok)
+
+### Slot {#slot}
+
+Sloty jsou časové úseky pro vytváření bloků, údaje dostupné pro každý slot zahrnují:
+
+- Epocha - Epocha, ve které je slot platný
+- Číslo slotu
+- Stav - Stav slotu (navržený/nepřijatý)
+- Čas - Časová stopa slotu
+- Navrhovatel - validátor, který navrhl blok pro slot
+- Kořen bloku - Kořen stromu hashů bloku BeaconBlock
+- Rodičovský kořen - Hash předcházejícího bloku
+- Kořen stavu - Kořen stromového hashe bloku BeaconState
+- Podpis
+- Randao reveal
+- Graffiti - Navrhovatel bloku může ke svému návrhu bloku připojit 32 bajtů dlouhou zprávu
+- Exekuční data
+ - Hash bloku
+ - Počet vkladů
+ - Kořen vkladů
+- Atestace - Počet atestací bloku v tomto slotu
+- Vklady - Počet vkladů během tohoto slotu
+- Dobrovolné odchody - Počet validátorů, kteří během tohoto slotu odešli
+- Srážky - Počet pokut udělených navrhovatelům bloků nebo atestátorům
+- Hlasy - Validátoři, kteří hlasovali pro blok v tomto slotu
+
+### Bloky {#blocks-1}
+
+Proof of stake dělí čas to slotů a epoch. To tedy znamená nová data!
+
+- Navrhovatel - validátor, který byl algoritmem vybrán, aby navrhl nový blok
+- Epocha - Epocha, ve které byl blok navržen
+- Slot - Časový úsek, ve kterém byl blok navržen
+- Atestace - Počet atestací zahrnutých do slotu - atestace jsou jako hlasy, které označují, že blok je připraven přejít do Beacon Chainu
+
+### Validátoři {#validators}
+
+Validátoři jsou odpovědní za navrhování bloků a jejich atestaci v rámci slotů.
+
+- Číslo validátora - Jedinečné číslo, které reprezentuje validátora
+- Aktuální zůstatek - Zůstatek validátora včetně odměn
+- Efektivní zůstatek - Zůstatek validátora, který se používá pro staking (uzamčení)
+- Příjem - Odměny nebo pokuty, které validátor obdržel
+- Stav - Zda je validátor aktuálně online a aktivní, nebo ne
+- Efektivita atestace - Průměrná doba, za kterou jsou atestace validátora zařazeny do řetězce
+- Způsobilost k aktivaci - Datum (a epocha), kdy se validátor stal dostupným pro validace
+- Aktivní od - Datum (a epocha), kdy se validátor stal aktivním
+- Navrhované bloky - Bloky, které validátor navrhl
+- Atestace - Atestace, které validátor provedl
+- Vklady - Adresa odesílatele, hash transakce, číslo bloku, časové razítko, částka a stav stakovaného vkladu, který validátor provedl
+
+### Atestace {#attestations}
+
+Atestace jsou hlasy "ano" pro zařazení bloků do řetězce. Jejich data se týkají záznamu o atestaci a validátorů, kteří atestovali
+
+- Slot - Časový úsek, ve kterém se atestace uskutečnila
+- Index komise - Index komise v daném slotu
+- Agregační bity - Představuje agregovanou atestaci všech zúčastněných validátorů v atestaci
+- Validátoři - Validátoři, kteří provedli atestace
+- Kořen beacon bloku - Ukazuje na blok, ke kterému validátoři vydávají atestace
+- Zdroj - Ukazuje na poslední oprávněnou epochu
+- Cíl - Ukazuje na poslední hranici epochy
+- Podpis
+
+### Síť {#network-1}
+
+Základní data o konsensuální vrstvě zahrnují následující údaje:
+
+- Aktuální epochu
+- Aktuální slot
+- Aktivní validátoty - Počet aktivních validátorů
+- Čekající validátory – Počet validátorů, kteří čekají na to, až budou aktivní
+- Stakované ETH - Množství ETH uzamčených v síti
+- Průměrný zůstatek - Průměrný zůstatek ETH validátorů
+
+## Průzkumníky bloků {#block-explorers}
+
+- [Etherscan](https://etherscan.io/) – průzkumník bloků, který můžete použít k získávání dat pro Ethereum Mainnet a testnet.
+- [3xpl](https://3xpl.com/ethereum) – open-source průzkumník Etherea bez reklam, který umožňuje stahování jeho datasetů.
+- [Beaconcha.in](https://beaconcha.in/) – open-source průzkumník bloků pro Ethereum Mainnet a testnet.
+- [Blockchair](https://blockchair.com/ethereum) – nejprivátnější průzkumník Etherea. Také pro třídění a filtrování dat (mempoolu)
+- [Etherchain](https://www.etherchain.org/) – průzkumník bloků pro Ethereum Mainnet.
+- [Ethplorer](https://ethplorer.io/) – průzkumník bloků se zaměřením na tokeny pro Ethereum Mainnet a testnet Kovan.
+
+## Další čtení {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+## Související témata {#related-topics}
+
+- [Transakce](/developers/docs/transactions/)
+- [Účty](/developers/docs/accounts/)
+- [Sítě](/developers/docs/networks/)
diff --git a/public/content/translations/cs/developers/docs/data-and-analytics/index.md b/public/content/translations/cs/developers/docs/data-and-analytics/index.md
new file mode 100644
index 00000000000..b4d73e9b562
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/data-and-analytics/index.md
@@ -0,0 +1,72 @@
+---
+title: Data a analytika
+description: Jak získat on-chainové analýzy a data pro použití ve vašich dapps
+lang: cs
+---
+
+## Úvod {#Introduction}
+
+S rostoucím využíváním sítě se stále větší množství cenných informací nachází v on-chain datech. Jak objem dat rychle narůstá, výpočty a agregace těchto informací za účelem reportování nebo provozu dappek se mohou stát časově i procesně náročnými.
+
+Využití stávajících poskytovatelů dat může urychlit vývoj, přinést přesnější výsledky a snížit náklady na údržbu. To umožní týmům vývojářů dappek soustředit se na hlavní funkce, které jejich projekt poskytuje.
+
+## Předpoklady {#prerequisites}
+
+Měli byste rozumět základnímu konceptu [průzkumníků bloků](/developers/docs/data-and-analytics/block-explorers/), abyste lépe pochopili jejich použití v kontextu analýzy dat. Kromě toho se seznamte s konceptem [indexu](/glossary/#index), abyste pochopili výhody, které přidávají k designu systému.
+
+Z hlediska základů architektury pochopení, co jsou [API](https://www.wikipedia.org/wiki/API) a [REST](https://www.wikipedia.org/wiki/Representational_state_transfer), a to i jen teoreticky.
+
+## Průzkumníky bloků {#block-explorers}
+
+Mnoho [průzkumníků bloků](/developers/docs/data-and-analytics/block-explorers/) nabízí [RESTful](https://www.wikipedia.org/wiki/Representational_state_transfer) [API](https://www.wikipedia.org/wiki/API) brány, které vývojářům poskytnou přehled o datech v reálném čase o blocích, transakcích, validátorech, účtech a dalších on-chain aktivitách.
+
+Vývojáři pak mohou tato data zpracovávat a transformovat, aby svým uživatelům poskytli jedinečné vhledy a interakce s [blockchainem](/glossary/#blockchain). Například [Etherscan](https://etherscan.io) a [Blockscout](https://eth.blockscout.com) poskytují exekuční a konsensuální data pro každý 12s slot.
+
+## The Graph {#the-graph}
+
+[The Graph](https://thegraph.com/) je indexovací protokol, který poskytuje snadný způsob dotazování se na blockchainová data prostřednictvím otevřených API známých jako podgrafy.
+
+Díky The Graph mohou vývojáři využívat:
+
+- Decentralizované indexování: Umožňuje indexování blockchainových dat prostřednictvím několika indexerů, čímž se eliminuje jediný bod selhání.
+- GraphQL dotazy: Poskytuje výkonné rozhraní GraphQL pro dotazování na indexovaná data, díky čemuž je získávání dat velmi jednoduché.
+- Přizpůsobení: Definujte si vlastní logiku pro transformaci a ukládání blockchainových dat a znovu použijte podgrafy publikované jinými vývojáři v síti The Graph.
+
+Postupujte podle tohoto [rychlého průvodce](https://thegraph.com/docs/en/quick-start/) a vytvořte, nasaďte a dotazujte se na podgraf během 5 minut.
+
+## Diverzita klientů {#client-diversity}
+
+[Diverzita klientů](/developers/docs/nodes-and-clients/client-diversity/) je důležitá pro celkové zdraví sítě Ethereum, protože poskytuje odolnost vůči chybám a exploitům. Nyní existuje několik dashboardů pro diverzitu klientů, včetně [clientdiversity.org](https://clientdiversity.org/), [rated.network](https://www.rated.network), [supermajority.info](https://supermajority.info//) a [Ethernodes](https://ethernodes.org/).
+
+## Dune Analytics {#dune-analytics}
+
+[Dune Analytics](https://dune.com/) předzpracovává blockchainová data do tabulek relační databáze (DuneSQL), umožňuje uživatelům dotazovat se na blockchainová data pomocí SQL a vytvářet dashboardy na základě výsledků dotazů. On-chainová data jsou uspořádána do 4 surových tabulek: `blocks`, `transactions`, (událostí) `logs` a (volání) `traces`. Populární kontrakty a protokoly byly dekódovány a každý z nich má svou vlastní sadu událostních a volacích tabulek. Tyto tabulky jsou dále zpracovávány a organizovány do abstraktních tabulek podle typu protokolů, například dex, půjčky, stablecoiny atd.
+
+## SQD {#sqd}
+
+[SQD](https://sqd.dev/) je decentralizovaná, hyperškálovatelná datová platforma optimalizovaná pro poskytování efektivního přístupu bez oprávnění k velkým objemům dat. V současné době poskytuje historická on-chainová data, včetně protokolů událostí, potvrzení o transakcích, stop a rozdílů stavů pro každou transakci. SQD nabízí výkonnou sadu nástrojů pro vytváření vlastních kanálů pro extrakci a zpracování dat a dosahuje rychlosti indexování až 150k bloků za sekundu.
+
+Chcete-li začít, navštivte [dokumentaci](https://docs.sqd.dev/) nebo si prohlédněte [příklady pro EVM](https://github.com/subsquid-labs/squid-evm-examples) toho, co můžete s SQD vytvořit.
+
+## Síť SubQuery {#subquery-network}
+
+[SubQuery](https://subquery.network/) je přední indexátor dat, který vývojářům poskytuje rychlá, spolehlivá, decentralizovaná a přizpůsobená API pro jejich web3 projekty. SubQuery umožňuje vývojářům z více než 165 ekosystémů (včetně Etherea) používat bohatě indexovaná data k vytváření intuitivních a imersivních zážitků pro jejich uživatele. Síť SubQuery pohání vaše nezastavitelné aplikace díky odolné a decentralizované infrastruktuře. Použijte vývojářskou sadu nástrojů SubQuery pro blockchain k vytváření web3 aplikací budoucnosti, aniž byste museli trávit čas budováním vlastního backendu pro zpracování dat.
+
+Začněte tím, že navštívíte [rychlého průvodce pro Ethereum](https://academy.subquery.network/quickstart/quickstart_chains/ethereum-gravatar.html) a během několika minut začnete indexovat data z blockchainu Etherea v místním prostředí Dockeru pro účely testování před nasazením na [spravovanou službu SubQuery](https://managedservice.subquery.network/) nebo do [decentralizované sítě SubQuery](https://app.subquery.network/dashboard).
+
+## Dotazovací jazyk EVM {#evm-query-language}
+
+Dotazovací jazyk EVM (EQL) je jazyk podobný SQL určený k dotazování na řetězce EVM (Ethereum Virtual Machine). Konečným cílem EQL je podporovat komplexní relační dotazy na prvky první třídy řetězce EVM (bloky, účty a transakce) a zároveň poskytovat vývojářům a výzkumníkům ergonomickou syntaxi pro každodenní použití. S EQL mohou vývojáři získávat blockchainová data pomocí známé syntaxe podobné SQL a eliminovat tak potřebu složitého šablonovitého kódu. EQL podporuje standardní požadavky na blockchainová data (např. získání nonce a zůstatku účtu na Ethereu nebo získání aktuální velikosti bloku a časového razítka) a neustále přidává podporu pro složitější požadavky a sady funkcí.
+
+## Další čtení {#further-reading}
+
+- [Zkoumání krypto dat I: Architektury datových toků](https://web.archive.org/web/20250125012042/https://research.2077.xyz/exploring-crypto-data-1-data-flow-architectures)
+- [Přehled sítě The Graph](https://thegraph.com/docs/en/about/)
+- [Hřiště pro dotazy The Graph](https://thegraph.com/explorer/subgraph/graphprotocol/graph-network-mainnet?version=current)
+- [Příklady kódu API na EtherScanu](https://etherscan.io/apis#contracts)
+- [Dokumentace API na Blockscoutu](https://docs.blockscout.com/devs/apis)
+- [Průzkumník řetězové vazby Beaconcha.in](https://beaconcha.in)
+- [Základy Dune](https://docs.dune.com/#dune-basics)
+- [Rychlý průvodce pro Ethereum od SubQuery](https://academy.subquery.network/indexer/quickstart/quickstart_chains/ethereum-gravatar.html)
+- [Přehled sítě SQD](https://docs.sqd.dev/)
+- [Dotazovací jazyk EVM](https://eql.sh/blog/alpha-release-notes)
diff --git a/public/content/translations/cs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md b/public/content/translations/cs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
new file mode 100644
index 00000000000..5b27f068a69
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
@@ -0,0 +1,118 @@
+---
+title: Strategie ukládání dat na blockchainu
+description: Existuje několik způsobů, jak ukládat data pomocí blockchainu. Tento článek porovná různé strategie, jejich náklady a kompromisy, a také požadavky na jejich bezpečné používání.
+lang: cs
+---
+
+Existuje několik způsobů, jak ukládat informace buď přímo na blockchainu, nebo způsobem, který je blockchainem zabezpečen:
+
+- Bloby EIP-4844
+- Calldata
+- Mimo řetězec s mechanismy L1
+- Kód kontraktu
+- Události
+- Úložiště EVM
+
+Volba metody závisí na několika kritériích:
+
+- Zdroj informací. Informace v calldata nemohou pocházet přímo ze samotného blockchainu.
+- Cíl informací. Calldata je dostupná pouze v transakci, která ji obsahuje. Události nejsou na řetězci vůbec přístupné.
+- Jaká míra obtíží je přijatelná? Počítače, na kterých běží plnohodnotný uzel, mohou provádět více zpracování než lehký klient v aplikaci běžící v prohlížeči.
+- Je nutné zajistit snadný přístup k informacím z každého uzlu?
+- Požadavky na zabezpečení.
+
+## Požadavky na zabezpečení {#security-requirements}
+
+Obecně se bezpečnost informací skládá ze tří atributů:
+
+- _Důvěrnost_, neoprávněné subjekty nesmějí informace číst. To je v mnoha případech důležité, ale ne tady. _Na blockchainu neexistují žádná tajemství_. Blockchainy fungují, protože kdokoli může ověřit přechody stavů, takže je nelze použít k přímému ukládání tajemství. Existují způsoby, jak ukládat důvěrné informace na blockchain, ale všechny se spoléhají na nějakou komponentu mimo řetězec, která ukládá alespoň klíč.
+
+- _Integrita_, informace jsou správné, nemohou je měnit neoprávněné subjekty ani neoprávněnými způsoby (například přenos [tokenů ERC-20](https://eips.ethereum.org/EIPS/eip-20#events) bez události `Transfer`). Na blockchainu každý uzel ověřuje každou změnu stavu, což zajišťuje integritu.
+
+- _Dostupnost_, informace jsou dostupné jakémukoli oprávněnému subjektu. Na blockchainu se toho obvykle dosahuje tak, že jsou informace dostupné na každém [plném uzlu](https://ethereum.org/developers/docs/nodes-and-clients#full-node).
+
+Všechna zde uvedená řešení mají vynikající integritu, protože haše jsou zveřejňovány na L1. Mají však různé záruky dostupnosti.
+
+## Předpoklady {#prerequisites}
+
+Měli byste dobře rozumět [základům blockchainu](/developers/docs/intro-to-ethereum/). Tato stránka také předpokládá, že je čtenář obeznámen s [bloky](/developers/docs/blocks/), [transakcemi](/developers/docs/transactions/) a dalšími relevantními tématy.
+
+## Bloby EIP-4844 {#eip-4844-blobs}
+
+Počínaje [hardforkem Dencun](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md) obsahuje blockchain Etherea [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), který do Etherea přidává datové bloby s omezenou životností (původně asi [18 dní](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md#configuration)). Cena těchto blobů se stanovuje odděleně od [exekučního paliva](/developers/docs/gas), i když se používá podobný mechanismus. Jsou levným způsobem, jak zveřejnit dočasná data.
+
+Hlavním případem použití blobů EIP-4844 je zveřejňování transakcí rollupy. [Optimistické rollupy](/developers/docs/scaling/optimistic-rollups) musí zveřejňovat transakce na svých blockchainech. Tyto transakce musí být dostupné komukoli během [období pro napadení](https://docs.optimism.io/connect/resources/glossary#challenge-period), aby [validátoři](https://docs.optimism.io/connect/resources/glossary#validator) mohli opravit chybu, pokud [sekvencer](https://docs.optimism.io/connect/resources/glossary#sequencer) rollupu zveřejní nesprávný kořen stavu.
+
+Jakmile však období pro napadení uplyne a kořen stavu je finalizován, zbývajícím účelem znalosti těchto transakcí je replikace aktuálního stavu řetězce. Tento stav je také dostupný z uzlů řetězce, přičemž je zapotřebí mnohem méně zpracování. Informace o transakcích by se tedy měly stále uchovávat na několika místech, například v [prohlížečích bloků](/developers/docs/data-and-analytics/block-explorers), ale není třeba platit za úroveň odolnosti vůči cenzuře, kterou Ethereum poskytuje.
+
+[Rollupy s nulovou znalostí](/developers/docs/scaling/zk-rollups/#data-availability) také zveřejňují svá transakční data, aby ostatní uzly mohly replikovat existující stav a ověřit důkazy platnosti, ale opět se jedná o krátkodobý požadavek.
+
+V době psaní tohoto článku stojí zveřejnění na EIP-4844 jeden wei (10-18 ETH) za bajt, což je zanedbatelné ve srovnání s [21 000 exekučního paliva, které stojí jakákoli transakce, včetně té, která zveřejňuje bloby](https://eth.blockscout.com/tx/0xf6cfaf0431c73dd1d96369a5e6707d64f463ccf477a4131265397f1d81466929?tab=index). Aktuální cenu EIP-4844 si můžete prohlédnout na [blobscan.com](https://blobscan.com/blocks).
+
+Zde jsou adresy, na kterých si můžete prohlédnout bloby zveřejněné některými známými rollupy.
+
+| Rollup | Adresa poštovní schránky |
+| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
+| [Optimism](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://blobscan.com/address/0xFF00000000000000000000000000000000000010) |
+| [Arbitrum](https://arbitrum.io/) | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://blobscan.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) |
+| [Base](https://base.org/) | [`0xFF00000000000000000000000000000000008453`](https://blobscan.com/address/0xFF00000000000000000000000000000000008453) |
+
+## Calldata {#calldata}
+
+Calldata označuje bajty odeslané jako součást transakce. Jsou uložena jako součást trvalého záznamu blockchainu v bloku, který danou transakci obsahuje.
+
+Toto je nejlevnější metoda pro trvalé vložení dat do blockchainu. Cena za bajt je buď 4 exekučního paliva (pokud je bajt nulový) nebo 16 paliva (jakákoli jiná hodnota). Pokud jsou data komprimována, což je standardní postup, pak je každá hodnota bajtu stejně pravděpodobná, takže průměrná cena je přibližně 15,95 paliva za bajt.
+
+V době psaní tohoto článku jsou ceny 12 gwei/palivo a 2300 $/ETH, což znamená, že cena je přibližně 45 centů za kilobajt. Protože se jednalo o nejlevnější metodu před EIP-4844, je to metoda, kterou rollupy používaly k ukládání informací o transakcích, které musí být dostupné pro [napadení chyb](https://docs.optimism.io/stack/protocol/overview#fault-proofs), ale nemusí být přístupné přímo na řetězci.
+
+Zde jsou adresy, na kterých si můžete prohlédnout transakce zveřejněné některými známými rollupy.
+
+| Rollup | Adresa poštovní schránky |
+| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
+| [Optimism](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000000010) |
+| [Arbitrum](https://arbitrum.io/) | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://eth.blockscout.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) |
+| [Base](https://base.org/) | [`0xFF00000000000000000000000000000000008453`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000008453) |
+
+## Mimo řetězec s mechanismy L1 {#offchain-with-l1-mechs}
+
+V závislosti na vašich bezpečnostních kompromisech může být přijatelné umístit informace jinam a použít mechanismus, který zajistí dostupnost dat v případě potřeby. Aby to fungovalo, jsou zapotřebí dva požadavky:
+
+1. Zveřejněte na blockchainu [haš](https://en.wikipedia.org/wiki/Cryptographic_hash_function) dat, nazývaný _závazek vstupu_. Může to být jediné 32bajtové slovo, takže to není drahé. Dokud je k dispozici závazek vstupu, je zaručena integrita, protože není možné najít jiná data, která by se hašovala na stejnou hodnotu. Pokud jsou tedy poskytnuta nesprávná data, lze je odhalit.
+
+2. Mít mechanismus, který zajišťuje dostupnost. Například v [Redstone](https://redstone.xyz/docs/what-is-redstone) může jakýkoli uzel podat výzvu k dostupnosti. Pokud sekvencer neodpoví na řetězci do termínu, závazek vstupu se zruší, takže se informace považují za nikdy nezveřejněné.
+
+To je pro optimistický rollup přijatelné, protože se již spoléháme na to, že pro kořen stavu existuje alespoň jeden poctivý ověřovatel. Takový poctivý ověřovatel se také ujistí, že má data ke zpracování bloků, a vydá výzvu k dostupnosti, pokud informace nejsou k dispozici mimo řetězec. Tento typ optimistického rollupu se nazývá [plasma](/developers/docs/scaling/plasma/).
+
+## Kód kontraktu {#contract-code}
+
+Informace, které je třeba zapsat pouze jednou, nikdy se nepřepisují a musí být dostupné na řetězci, lze uložit jako kód kontraktu. To znamená, že vytvoříme "chytrý kontrakt" s daty a poté pomocí [`EXTCODECOPY`](https://www.evm.codes/#3c?fork=shanghai) informace přečteme. Výhodou je, že kopírování kódu je relativně levné.
+
+Kromě nákladů na rozšíření paměti stojí `EXTCODECOPY` 2600 paliva za první přístup ke kontraktu (když je "studený") a 100 paliva za následné kopie ze stejného kontraktu plus 3 paliva za 32bajtové slovo. Ve srovnání s calldata, které stojí 15,95 za bajt, je to levnější od přibližně 200 bajtů. Na základě [vzorce pro náklady na rozšíření paměti](https://www.evm.codes/about#memoryexpansion), pokud nepotřebujete více než 4 MB paměti, jsou náklady na rozšíření paměti menší než náklady na přidání calldata.
+
+Samozřejmě, to jsou jen náklady na _přečtení_ dat. Vytvoření kontraktu stojí přibližně 32 000 paliva + 200 paliva/bajt. Tato metoda je ekonomická pouze tehdy, když je třeba stejné informace číst mnohokrát v různých transakcích.
+
+Kód kontraktu může být nesmyslný, pokud nezačíná na `0xEF`. Kontrakty, které začínají na `0xEF`, jsou interpretovány jako [objektový formát ethereum](https://notes.ethereum.org/@ipsilon/evm-object-format-overview), který má mnohem přísnější požadavky.
+
+## Události {#events}
+
+[Události](https://docs.alchemy.com/docs/solidity-events) jsou emitovány chytrými kontrakty a čteny softwarem mimo řetězec.
+Jejich výhodou je, že kód mimo řetězec může naslouchat událostem. Cena je [palivo](https://www.evm.codes/#a0?fork=cancun), 375 plus 8 paliva za bajt dat. Při 12 gwei/palivo a 2300 $/ETH to znamená jeden cent plus 22 centů za kilobajt.
+
+## Úložiště {#storage}
+
+Chytré kontrakty mají přístup k [trvalému úložišti](https://docs.alchemy.com/docs/smart-contract-storage-layout#what-is-storage-memory). Je to však velmi drahé. Zápis 32bajtového slova do dříve prázdného slotu úložiště může [stát 22 100 paliva](https://www.evm.codes/#55?fork=cancun). Při 12 gwei/palivo a 2300 $/ETH je to asi 61 centů za operaci zápisu, neboli 19,5 $ za kilobajt.
+
+Toto je nejdražší forma úložiště v Ethereu.
+
+## Shrnutí {#summary}
+
+Tato tabulka shrnuje různé možnosti, jejich výhody a nevýhody.
+
+| Typ úložiště | Zdroj dat | Záruka dostupnosti | Dostupnost na řetězci | Další omezení |
+| ---------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------- |
+| Bloby EIP-4844 | Mimo řetězec | Záruka Etherea po dobu [~18 dnů](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md#configuration) | Je dostupný pouze haš | |
+| Calldata | Mimo řetězec | Záruka Etherea navždy (součást blockchainu) | Dostupné pouze při zápisu do kontraktu a v dané transakci | |
+| Mimo řetězec s mechanismy L1 | Mimo řetězec | Záruka "jednoho poctivého ověřovatele" během období pro napadení | Pouze haš | Zaručeno mechanismem napadení, pouze během období pro napadení |
+| Kód kontraktu | Na řetězci nebo mimo řetězec | Záruka Etherea navždy (součást blockchainu) | Ano | Zapsáno na "náhodnou" adresu, nesmí začínat `0xEF` |
+| Události | Na řetězci | Záruka Etherea navždy (součást blockchainu) | Ne | |
+| Úložiště | Na řetězci | Záruka Etherea navždy (součást blockchainu a současného stavu, dokud není přepsán) | Ano | |
diff --git a/public/content/translations/cs/developers/docs/data-availability/index.md b/public/content/translations/cs/developers/docs/data-availability/index.md
new file mode 100644
index 00000000000..a778ae0c1d2
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/data-availability/index.md
@@ -0,0 +1,84 @@
+---
+title: Dostupnost dat
+description: Přehled problémů a řešení souvisejících s dostupností dat na Ethereu
+lang: cs
+---
+
+"Nevěř, ověř" je v ethereovské komunitě běžným rčením. Myšlenka za ním je taková, že váš síťový uzel může nezávisle ověřit, že informace, které obdrží, jsou správné, a to tak, že vykoná transakce v blocích, které přijme od ostatních uzlů, aby se ujistil, že navrhované změny přesně odpovídají těm, které tento uzel spočítal nezávisle na dalších síťových uzlech. To znamená, že uzly nemusí důvěřovat, že odesílatelé bloku jsou poctiví. To ale není možné, pokud data chybí.
+
+**Dostupnost dat** se týká důvěry, kterou může mít uživatel v to, že data potřebná k ověření bloku jsou skutečně dostupná všem účastníkům sítě. Pro plné uzly na 1. vrstvě Etherea je to relativně jednoduché; plný uzel si stáhne kopii všech dat v každém bloku – data _musí_ být dostupná, aby bylo stahování možné. Blok s chybějícími daty by byl zamítnut, místo toho, aby byl přidán na blockchain. Jedná se o „dostupnost on-chain dat“ a je to vlastnost monolitických blockchainů. Úplné uzly není možné oklamat přijetím neplatných transakcí, protože samy stahují a exekuují každou transakci. Pro modulární blockchainy, rollupy druhé vrstvy a jednoduché klienty je však dostupnost dat složitější a vyžaduje sofistikovanější ověřovací postupy.
+
+## Předpoklady {#prerequisites}
+
+Měli byste dobře rozumět [základům blockchainu](/developers/docs/intro-to-ethereum/) a zejména [mechanismům konsensu](/developers/docs/consensus-mechanisms/). Tato stránka také předpokládá, že čtenář je obeznámen s [bloky](/developers/docs/blocks/), [transakcemi](/developers/docs/transactions/), [uzly](/developers/docs/nodes-and-clients/), [řešeními škálovatelnosti](/developers/docs/scaling/) a dalšími relevantními tématy.
+
+## Problém s dostupností dat {#the-data-availability-problem}
+
+Problém dostupnosti dat spočívá v potřebě prokázat celé síti, že souhrnná forma nějakých transakčních dat, která jsou přidávána na blockchain, skutečně reprezentuje sadu platných transakcí, a to bez nutnosti, aby musely všechny síťové uzly stahovat všechna data. Úplná transakční data jsou nezbytná pro nezávislé ověřování bloků, ale požadavek na stažení všech transakčních dat všemi síťovými uzly je překážkou škálování. Řešení problému dostupnosti dat mají za úkol poskytnout dostatečné záruky, že všechna transakční data byla zpřístupněna pro ověření účastníkům sítě, kteří si tato data sami nestahují a neukládají.
+
+[Lehké uzly](/developers/docs/nodes-and-clients/light-clients) a [rollupy 2. vrstvy](/developers/docs/scaling) jsou důležitými příklady účastníků sítě, kteří vyžadují silné záruky dostupnosti dat, ale nemohou si sami stahovat a zpracovávat transakční data. Vyhýbání se stahování transakčních dat je to, co dělá jednoduché uzly jednoduchými a umožňuje rollupům být efektivním řešením pro škálování.
+
+Dostupnost dat je také kritickým problémem pro budoucí ["bezstavové"](/roadmap/statelessness) klienty Etherea, kteří nepotřebují stahovat a ukládat stavová data za účelem ověřování bloků. Bezstavoví klienti si stále potřebují být jisti, že data jsou _někde_ dostupná a že byla správně zpracována.
+
+## Řešení dostupnosti dat {#data-availability-solutions}
+
+### Vzorkování dostupnosti dat (DAS) {#data-availability-sampling}
+
+Vzorkování dostupnosti dat (DAS) je způsob, jakým může síť ověřit, že data jsou dostupná, aniž by příliš zatěžovala jakýkoliv jednotlivý síťový uzel. Každý uzel (včetně nestakujících uzlů) stahuje malou, náhodně vybranou podmnožinu všech dat. Úspěšné stažení takových vzorků potvrzuje s vysokou jistotou, že všechna data jsou dostupná. To se opírá o mazací kódování (erasure coding), které rozšiřuje danou datovou sadu o redundantní informace (dělá se to tak, že se daty proloží funkce známá jako _polynom_ a tento polynom se vyhodnotí v dalších bodech). Tento proces umožňuje obnovit původní data z redundantních dat, pokud je to nutné. Důsledkem tohoto vytvoření dat je, že pokud _jakákoli_ z původních dat nejsou dostupná, bude chybět _polovina_ rozšířených dat! Množství datových vzorků stažených každým uzlem lze vyladit tak, aby bylo _extrémně_ pravděpodobné, že alespoň jeden z datových fragmentů, které každý klient vzorkuje, bude chybět, _pokud_ je skutečně k dispozici méně než polovina dat.
+
+DAS se bude používat k zajištění toho, aby operátoři rollupů zpřístupnili svá transakční data po implementaci [úplného Dankshardingu](/roadmap/danksharding/#what-is-danksharding). Síťové uzly Etherea budou náhodně vzorkovat transakční data doručená v blobech pomocí výše popsaného redundantního schématu, aby ověřily, že všechna data existují. Stejnou techniku by bylo možné použít k zajištění toho, aby producenti bloků zpřístupnili všechna svá data pro zabezpečení jednoduchých klientů. Podobně v rámci [oddělení navrhovatele a stavitele bloku](/roadmap/pbs) by celý blok musel zpracovat pouze stavitel bloku – ostatní validátoři by jej ověřovali pomocí vzorkování dostupnosti dat.
+
+### Komise pro dostupnost dat {#data-availability-committees}
+
+Komise pro dostupnost dat (Data Availability Committees, DACs) jsou důvěryhodné strany, které zajišťují nebo potvrzují dostupnost dat. DAC lze použít místo DAS, [nebo v kombinaci s ním](https://hackmd.io/@vbuterin/sharding_proposal#Why-not-use-just-committees-and-not-DAS). Záruky bezpečnosti, které DACs poskytují, závisí na konkrétním nastavení. Ethereum například využívá k potvrzení dostupnosti dat pro jednoduché klienty náhodně vybrané podskupiny validátorů.
+
+DACs také využívají některá validia. V takovém případě hho tvoří důvěryhodná skupina uzlů, která uchovává kopie dat offline. DAC má povinnost tato data v případě sporu zpřístupnit. Členové DAC také publikují on-chain atestace, aby dokázali, že uvedená data jsou skutečně dostupná. Některá validia nahrazují DACs systémem validátorů založeným na proof of stake (PoS). Zde se kdokoli může stát validátorem a ukládat data offchain. Tito validátoři musí poskytnout „zástavu“, která je uložena ve smart kontraktu. V případě škodlivého chování, jako je zadržování dat, může být validátorovi tento vklad odebrán. DACs založené na proof of stake jsou výrazně bezpečnější než běžné DACs, protože jsou přímou motivací k poctivému chování.
+
+## Dostupnost dat a lehké uzly {#data-availability-and-light-nodes}
+
+[Lehké uzly](/developers/docs/nodes-and-clients/light-clients) potřebují ověřit správnost hlaviček bloků, které přijímají, aniž by stahovaly data bloku. Cena za tuto „jednoduchoou“ variantu je neschopnost nezávisle ověřit hlavičky bloků opětovným provedením transakcí na místní úrovni, jak to dělají úplné uzly.
+
+Lehké uzly Etherea důvěřují náhodným sadám 512 validátorů, které byly přiřazeny k _synchronizační komisi_. Synchronizační komise funguje jako DAC, která pomocí kryptografického podpisu signalizuje jednoduchým klientům, že data v hlavičce jsou správná. Synchronizační komise se obnovuje denně. Každá hlavička bloku upozorní lehké uzly na to, od kterých validátorů se očekává podepsání _dalšího_ bloku, takže nemohou být oklamány škodlivou skupinou, která se vydává za skutečnou synchronizační komisi.
+
+Co se ale stane, když se útočníkovi _podaří_ předat škodlivou hlavičku bloku lehkým klientům a přesvědčit je, že ji podepsala poctivá synchronizační komise? V takovém případě by útočník do hlavičky mohl zahrnout neplatné transakce a jednoduchý klient by je slepě přijal, protože nezávisle neověřuje všechny změny stavu zahrnuté v hlavičkách bloků. Aby se proti takovým případům efektivně bránil, může jednochý klient využít důkazy o podvodech (fraud proofs).
+
+Tyto důkazy fungují tak, že úplný uzel, který zaznamená neplatnou změnu stavu, může rychle vytvořit malý datový soubor, který prokazuje, že navrhovaná změna stavu nemohla vzniknout z dané sady transakcí, a tento důkaz rozšíří mezi své kolegy. Jednoduché uzly mohou tyto důkazy o podvodech zachytit a použít je k zamítnutí podvodných hlaviček bloků, což jim zajistí, že zůstanou na stejné - správné - větvi řetězce jako úplné uzly.
+
+Aby byla tato obrana funkční, musí mít úplné uzly přístup k úplným datům transakcí. Útočník, který se snaží hlavičku bloku podvrhnout a zároveň zajistí, aby byla data transakcí nedostupná, může zabránit úplným uzlům v generování důkazů o podvodu. Úplné uzly by sice mohly vydat varování před špatným blokem, ale nemohly by toto varování podložit žádným důkazem, protože data, ze kterých by bylo možné důkaz vytvořit, nebyla k dispozici!
+
+Řešením tohoto problému s dostupností dat je technika DAS. Jednoduché uzly stahují velmi malé náhodné části všech dat a pomocí těchto vzorků ověřují, že je k dispozici celá sada dat. Skutečnou pravděpodobnost nesprávného předpokladu plné dostupnosti dat po stažení N náhodných částí lze vypočítat ([pro 100 částí je šance 10^-30](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html), tj. neuvěřitelně nepravděpodobné).
+
+Dokonce i v tomto scénáři by si útoků, které zadržují jen několik bajtů dat, klienti, kteří by posílali náhodné požadavky na data, nemuseli všimnout. Kódování pomocí oprav chyb (erasure coding) tento problém řeší rekonstrukcí malých chybějících částí dat, které lze použít k ověření navrhovaných změn stavu. Poté by mohl být vytvořen důkaz o podvodu pomocí rekonstruovaných dat, což by zabránilo jednoduchým uzlům přijímat špatné hlavičky bloků.
+
+**Poznámka:** DAS a důkazy o podvodu ještě nebyly implementovány pro lehké klienty Etherea s proof-of-stake, ale jsou v plánu a s největší pravděpodobností budou mít formu důkazů založených na ZK-SNARK. Dnes se jednoduchý klient spoléhá na DAC: Ověřuje identity synchronizační komise a poté důvěřuje podepsaným hlavičkám bloků, které dostává.
+
+## Dostupnost dat a rollupy 2. vrstvy {#data-availability-and-layer-2-rollups}
+
+[Řešení škálovatelnosti 2. vrstvy](/layer-2/), jako jsou [rollupy](/glossary/#rollups), snižují transakční náklady a zvyšují propustnost Etherea zpracováváním transakcí offchain. Transakce z rollupů jsou komprimovány a následně odesílány na Ethereum v balíčcích. Dávky představují tisíce jednotlivých offchain transakcí v jedné transakci na Ethereu. To snižuje přetížení základní vrstvy, stejně jako poplatky pro uživatele.
+
+„Souhrnným“ transakcím zveřejněným na Ethereu je však možné důvěřovat pouze v případě, že navrhovanou změnu stavu lze nezávisle ověřit a potvrdit jako výsledek použití všech jednotlivých offchain transakcí. Pokud provozovatelé rollupů nezajistí dostupnost dat, pomocí kterých by to bylo možné ověřit, mohli by na Ethereum poslat nesprávná data.
+
+[Optimistické rollupy](/developers/docs/scaling/optimistic-rollups/) zveřejňují komprimovaná transakční data na Ethereu a čekají určitou dobu (obvykle 7 dní), aby nezávislí ověřovatelé mohli data zkontrolovat. Pokud někdo najde problém, může vygenerovat důkaz o podvodu a rollup s ním konfrontovat. To by způsobilo vrácení řetězce a vynechání neplatného bloku. Toto je možné pouze tehdy, pokud jsou data dostupná. V současné době existují dva způsoby, jak optimistické rollupy odesílají transakční data na L1. Některé rollupy zpřístupňují data trvale jako `CALLDATA`, která jsou trvale onchain. S implementací EIP-4844 odesílají některé rollupy svá transakční data do levnějšího úložiště v blobech. Toto úložiště není permanentní. Nezávislí ověřovatelé se musí blobů dotazovat a vznést své námitky do ~ 18 dnů: před smazáním dat z první vrstvy Etherea. Dostupnost dat je zaručena protokolem Etherea pouze na tuto krátkou pevně stanovenou dobu. Poté se odpovědnost přenáší na jiné subjekty v ekosystému Etherea. Jakýkoli uzel může ověřit dostupnost dat pomocí DAS, tj. stažením malých náhodných vzorků blob dat.
+
+[Rollupy s nulovou znalostí (ZK rollupy)](/developers/docs/scaling/zk-rollups) nemusí zveřejňovat transakční data, protože [důkazy platnosti s nulovou znalostí](/glossary/#zk-proof) zaručují správnost přechodů stavu. Dostupnost dat i tak představuje problém, protože nemůžeme zaručit funkčnost ZK-rollupu (nebo s ním interagovat) bez přístupu k jeho stavovým datům. Například uživatelé nemohou zjistit své zůstatky, pokud provozovatel zadrží podrobnosti o stavu rollupu. Také nemohou provádět změny stavu pomocí informací obsažených v nově přidaném bloku.
+
+## Dostupnost dat vs. znovu-získatelnost dat {#data-availability-vs-data-retrievability}
+
+Dostupnost dat se liší od opětovného získání dat liší. Dostupnost dat zaručuje, že úplné uzly měly přístup k úplné sadě transakcí spojené s konkrétním blokem a mohly je ověřit. To však nezaručuje, že data budou dostupná navždy.
+
+Znovu-získatelnost dat je schopnost uzlů získat _historické informace_ z blockchainu. Tato historická data nejsou potřebná pro ověřování nových bloků, jsou nutná pouze pro synchronizaci úplných síťových uzlů od genesis bloku nebo pro vyřízení specifických historických požadavků.
+
+Klíčový protokol Etherea se primárně zaměřuje na dostupnost dat, ne na jejich opětovnou dostupnost. Znovu-získatelnost dat může zajistit malá skupina archivních uzlů provozovaných třetími stranami, nebo může být distribuována po síti pomocí decentralizovaného úložiště souborů, jako je [Portal Network](https://www.ethportal.net/).
+
+## Další čtení {#further-reading}
+
+- [WTF je dostupnost dat?](https://medium.com/blockchain-capital-blog/wtf-is-data-availability-80c2c95ded0f)
+- [Co je dostupnost dat?](https://coinmarketcap.com/academy/article/what-is-data-availability)
+- [Úvod do kontrol dostupnosti dat](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html)
+- [Vysvětlení návrhu tříštění + DAS](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling)
+- [Poznámka k dostupnosti dat a mazacímu kódování](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding#can-an-attacker-not-circumvent-this-scheme-by-releasing-a-full-unavailable-block-but-then-only-releasing-individual-bits-of-data-as-clients-query-for-them)
+- [Komise pro dostupnost dat.](https://medium.com/starkware/data-availability-e5564c416424)
+- [Komise pro dostupnost dat s proof-of-stake.](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
+- [Řešení problému se znovu-získatelností dat](https://notes.ethereum.org/@vbuterin/data_sharding_roadmap#Who-would-store-historical-data-under-sharding)
+- [Dostupnost dat aneb: Jak se rollupy naučily nedělat si starosti a milovat Ethereum](https://web.archive.org/web/20250515194659/https://web.archive.org/web/20241108192208/https://research.2077.xyz/data-availability-or-how-rollups-learned-to-stop-worrying-and-love-ethereum)
+- [EIP-7623: Zvýšení nákladů na Calldata](https://web.archive.org/web/20250515194659/https://research.2077.xyz/eip-7623-increase-calldata-cost)
diff --git a/public/content/translations/cs/developers/docs/data-structures-and-encoding/index.md b/public/content/translations/cs/developers/docs/data-structures-and-encoding/index.md
new file mode 100644
index 00000000000..5806737c42e
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/data-structures-and-encoding/index.md
@@ -0,0 +1,32 @@
+---
+title: Datové struktury a kódování
+description: Přehled základních datových struktur Etherea.
+lang: cs
+sidebarDepth: 2
+---
+
+Ethereum vytváří, ukládá a přenáší velké objemy dat. Tato data musí být formátována standardizovaným a paměťově efektivním způsobem, aby bylo možné [provozovat uzel](/run-a-node/) na relativně nenáročném hardwaru. K dosažení tohoto cíle se v rámci Etherea používá několik specifických datových struktur.
+
+## Předpoklady {#prerequisites}
+
+Měli byste rozumět základům Etherea a [klientskému softwaru](/developers/docs/nodes-and-clients/). Doporučuje se obeznámenost se síťovou vrstvou a [whitepaperem Etherea](/whitepaper/).
+
+## Datové struktury {#data-structures}
+
+### Patricia Merkle tries {#patricia-merkle-tries}
+
+Patricia Merkle Trie jsou struktury, které kódují páry klíč-hodnota do deterministického a kryptograficky ověřeného trie. Tyto struktury se hojně používají v rámci exekuční vrstvy Etherea.
+
+[Více o Patricia Merkle Tries](/developers/docs/data-structures-and-encoding/patricia-merkle-trie)
+
+### Rekurzivní délkový prefix {#recursive-length-prefix}
+
+Rekurzivní délkový prefix (RLP) je metoda serializace, která se hojně využívá v rámci exekuční vrstvy Etherea.
+
+[Více o RLP](/developers/docs/data-structures-and-encoding/rlp)
+
+### Jednoduchá serializace {#simple-serialize}
+
+Jednoduchá serializace (SSZ) je dominantním formátem serializace v konsensuální vrstvě Etherea kvůli její kompatibilitě s merkelizací.
+
+[Více o SSZ](/developers/docs/data-structures-and-encoding/ssz)
diff --git a/public/content/translations/cs/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md b/public/content/translations/cs/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
new file mode 100644
index 00000000000..b1af27fb014
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
@@ -0,0 +1,266 @@
+---
+title: Merkle Patricia Trie
+description: Úvod do Merkle Patricia Trie.
+lang: cs
+sidebarDepth: 2
+---
+
+Stav Etherea (tj. souhrn všech účtů, zůstatků a smart kontraktů) je zakódován do speciální verze datové struktury, která je obecně v informatice známá jako Merkle tree. Tato struktura je užitečná pro mnoho aplikací v kryptografii, protože vytváří ověřitelný vztah mezi všemi jednotlivými datovými prvky propletenými ve stromu, což vede k jediné **kořenové** hodnotě, kterou lze použít k prokazování různých skutečností o datech.
+
+Datová struktura Etherea je „modifikovaný Merkle-Patricia Trie“, pojmenovaný tak proto, že si půjčuje některé vlastnosti z PATRICIA (Practical Algorithm To Retrieve Information Coded in Alphanumeric) a protože je navržen pro efektivní re**trie**val (vyhledávání) položek, které tvoří stav Etherea.
+
+Datová struktura Merkle-Patricia trie je deterministická a kryptograficky ověřitelná: Jediný způsob, jak vygenerovat kořen stavu, je jeho výpočet z každé jednotlivé části stavu, a dva identické stavy lze snadno prokázat porovnáním kořenového haše a hašů, které k němu vedly (_Merkleho důkaz_). Naopak není možné vytvořit dva různé stavy se stejným kořenovým hashem a jakýkoli pokus o modifikaci stavu s jinými hodnotami povede k odlišnému kořenovému hashi stavu. Teoreticky tato struktura poskytuje „svatý grál“ efektivity `O(log(n))` pro vkládání, vyhledávání a mazání.
+
+V blízké budoucnosti Ethereum plánuje přejít na strukturu [stromu Verkle](/roadmap/verkle-trees), což otevře mnoho nových možností pro budoucí vylepšení protokolu.
+
+## Předpoklady {#prerequisites}
+
+Pro lepší pochopení této stránky je užitečné mít základní znalosti o [haších](https://en.wikipedia.org/wiki/Hash_function), [Merkleho stromech](https://en.wikipedia.org/wiki/Merkle_tree), [trie](https://en.wikipedia.org/wiki/Trie) a [serializaci](https://en.wikipedia.org/wiki/Serialization). Tento článek začíná popisem základního [radixového stromu](https://en.wikipedia.org/wiki/Radix_tree) a postupně zavádí úpravy nezbytné pro optimalizovanější datovou strukturu Etherea.
+
+## Základní radixové trie {#basic-radix-tries}
+
+V základním radixovém trie vypadá každý síťový uzel následovně:
+
+```
+ [i_0, i_1 ... i_n, value]
+```
+
+Kde `i_0 ...` i_n`představují symboly abecedy (často binární nebo hexadecimální),`value`je konečná hodnota v uzlu a hodnoty v`i_0, i_1 ...` i_n` slotech jsou buď `NULL`, nebo ukazatele na (v našem případě haše) jiné uzly. To tvoří základní úložiště `(key, value)`.
+
+Řekněme, že chcete použít strukturu radixového stromu pro uchování uspořádání nad sadou párů key-value. Chcete-li najít hodnotu aktuálně namapovanou na klíč `dog` v trie, nejprve byste `dog` převedli na písmena abecedy (což dá `64 6f 67`) a poté sestupovali v trie po této cestě, dokud nenajdete hodnotu. To znamená, že začnete vyhledáním kořenového hashe v ploché databázi key-value, abyste našli kořenový uzel trie. Ten je reprezentován jako pole klíčů ukazujících na jiné uzly. Použili byste hodnotu na indexu `6` jako klíč a vyhledali ji v ploché databázi klíč/hodnota, abyste získali uzel o jednu úroveň níže. Poté zvolíte index `4` pro vyhledání další hodnoty, pak index `6` a tak dále, dokud po sledování cesty: `root -> 6 -> 4 -> 6 -> 15 -> 6 -> 7` nevyhledáte hodnotu uzlu a nevrátíte výsledek.
+
+Existuje rozdíl mezi vyhledáváním něčeho v „trie“ a v podkladové ploché databázi key-value. Obě definují uspořádání key-value, ale podkladová databáze může provést tradiční jednorázové vyhledání klíče. Vyhledávání klíče v trie vyžaduje několik podkladových vyhledávání v databázi, aby se dospělo k finální hodnotě popsané výše. Nazvěme to druhé jako `path`, abychom eliminovali nejednoznačnost.
+
+Operace aktualizace a mazání pro radixové trie mohou být definovány následovně:
+
+```python
+ def update(node_hash, path, value):
+ curnode = db.get(node_hash) if node_hash else [NULL] * 17
+ newnode = curnode.copy()
+ if path == "":
+ newnode[-1] = value
+ else:
+ newindex = update(curnode[path[0]], path[1:], value)
+ newnode[path[0]] = newindex
+ db.put(hash(newnode), newnode)
+ return hash(newnode)
+
+ def delete(node_hash, path):
+ if node_hash is NULL:
+ return NULL
+ else:
+ curnode = db.get(node_hash)
+ newnode = curnode.copy()
+ if path == "":
+ newnode[-1] = NULL
+ else:
+ newindex = delete(curnode[path[0]], path[1:])
+ newnode[path[0]] = newindex
+
+ if all(x is NULL for x in newnode):
+ return NULL
+ else:
+ db.put(hash(newnode), newnode)
+ return hash(newnode)
+```
+
+"Merkle" radixový strom je vytvořen propojením uzlů pomocí deterministicky generovaných kryptografických hash digestů. Toto adresování obsahu (v databázi klíč/hodnota `key == keccak256(rlp(value))`) poskytuje kryptografickou záruku integrity uložených dat. Pokud je kořenový hash daného trie veřejně známý, pak kdokoli s přístupem k podkladovým datům listů může vytvořit důkaz, že trie obsahuje danou hodnotu na konkrétní cestě tím, že poskytne hashe každého uzlu spojujícího danou hodnotu s kořenem stromu.
+
+Je nemožné, aby útočník poskytl důkaz o páru `(path, value)`, který neexistuje, protože kořenový haš je nakonec založen na všech haších pod ním. Jakákoli podkladová modifikace by změnila kořenový haš. Můžete si představit haš jako komprimované zobrazení strukturálních informací o datech, zajištěné ochranou před obrazy hašovací funkce.
+
+Atomickou jednotku radixového stromu (např. jeden hexadecimální znak nebo 4bitové binární číslo) budeme nazývat „nibble“. Při procházení cesty po jednom nibble, jak je popsáno výše, mohou uzly odkazovat na maximálně 16 potomků, ale obsahují prvek `value`. Proto je reprezentujeme jako pole o délce 17. Těmto 17prvkovým polím říkáme "větvové uzly".
+
+## Merkle Patricia Trie {#merkle-patricia-trees}
+
+Radixové trie mají jednu zásadní nevýhodu: jsou neefektivní. Pokud chcete uložit jednu vazbu `(path, value)`, kde cesta, stejně jako na Ethereu, má délku 64 znaků (počet nibblů v `bytes32`), budete potřebovat více než kilobajt dalšího prostoru pro uložení jedné úrovně na znak a každé vyhledání nebo smazání bude trvat celých 64 kroků. Patricia trie, představené níže, tento problém řeší.
+
+### Optimalizace {#optimization}
+
+Uzel v Merkle Patricia trie je jedním z následujících:
+
+1. `NULL` (reprezentován jako prázdný řetězec)
+2. `branch` 17položkový uzel `[ v0 ...` v15, vt ]\`
+3. `leaf` 2položkový uzel `[ encodedPath, value ]`
+4. `extension` 2položkový uzel `[ encodedPath, key ]`
+
+S cestami 64 znaků je nevyhnutelné, že po projití několika prvních vrstev trie se dostanete do uzlu, kde alespoň část cesty dolů neexistuje žádná divergentní cesta. Abychom se vyhnuli vytváření až 15 řídkých uzlů `NULL` podél cesty, zkrátíme sestup nastavením uzlu `extension` ve tvaru `[ encodedPath, key ]`, kde `encodedPath` obsahuje „částečnou cestu“ pro přeskočení (pomocí kompaktního kódování popsaného níže) a `key` je pro další vyhledávání v DB.
+
+U uzlu `leaf`, který může být označen příznakem v prvním nibble `encodedPath`, cesta kóduje všechny fragmenty cesty předchozích uzlů a hodnotu `value` můžeme vyhledat přímo.
+
+Tato výše uvedená optimalizace však zavádí nejednoznačnost.
+
+Při procházení cest po nibblech můžeme skončit s lichým počtem nibblů k procházení, ale protože všechna data jsou uložena ve formátu `bytes`. Není možné rozlišit například mezi nibblem `1` a nibbly `01` (obojí musí být uloženo jako `<01>`). Abychom specifikovali lichou délku, je částečná cesta předznačena příznakem.
+
+### Specifikace: Kompaktní kódování hexadecimální sekvence s volitelným terminátorem {#specification}
+
+Příznaky pro _lichou vs. sudou zbývající délku částečné cesty_ i pro _uzel list vs. uzel rozšíření_, jak je popsáno výše, se nacházejí v prvním nibblu částečné cesty jakéhokoli 2položkového uzlu. Výsledkem je následující:
+
+| hex znak | bity | částečný typ uzlu | délka cesty |
+| -------- | ---- | ------------------------------------ | ----------- |
+| 0 | 0000 | rozšíření | sudá |
+| 1 | 0001 | rozšíření | lichá |
+| 2 | 0010 | ukončující (list) | sudá |
+| 3 | 0011 | ukončující (list) | lichá |
+
+Pro sudou zbývající délku cesty (`0` nebo `2`) bude vždy následovat další „vycpávkový“ nibble `0`.
+
+```python
+ def compact_encode(hexarray):
+ term = 1 if hexarray[-1] == 16 else 0
+ if term:
+ hexarray = hexarray[:-1]
+ oddlen = len(hexarray) % 2
+ flags = 2 * term + oddlen
+ if oddlen:
+ hexarray = [flags] + hexarray
+ else:
+ hexarray = [flags] + [0] + hexarray
+ # hexarray now has an even length whose first nibble is the flags.
+ o = ""
+ for i in range(0, len(hexarray), 2):
+ o += chr(16 * hexarray[i] + hexarray[i + 1])
+ return o
+```
+
+Příklady:
+
+```python
+ > [1, 2, 3, 4, 5, ...]
+ '11 23 45'
+ > [0, 1, 2, 3, 4, 5, ...]
+ '00 01 23 45'
+ > [0, f, 1, c, b, 8, 10]
+ '20 0f 1c b8'
+ > [f, 1, c, b, 8, 10]
+ '3f 1c b8'
+```
+
+Zde je rozšířený kód pro získání uzlu v Merkle Patricia trie:
+
+```python
+ def get_helper(node_hash, path):
+ if path == []:
+ return node_hash
+ if node_hash == "":
+ return ""
+ curnode = rlp.decode(node_hash if len(node_hash) < 32 else db.get(node_hash))
+ if len(curnode) == 2:
+ (k2, v2) = curnode
+ k2 = compact_decode(k2)
+ if k2 == path[: len(k2)]:
+ return get(v2, path[len(k2) :])
+ else:
+ return ""
+ elif len(curnode) == 17:
+ return get_helper(curnode[path[0]], path[1:])
+
+ def get(node_hash, path):
+ path2 = []
+ for i in range(len(path)):
+ path2.push(int(ord(path[i]) / 16))
+ path2.push(ord(path[i]) % 16)
+ path2.push(16)
+ return get_helper(node_hash, path2)
+```
+
+### Příklad Trie {#example-trie}
+
+Předpokládejme, že chceme trie obsahující čtyři páry cesta/hodnota `('do', 'verb')`, `('dog', 'puppy')`, `('doge', 'coins')`, `('horse', 'stallion')`.
+
+Nejprve převedeme cesty i hodnoty na `bytes`. Níže jsou skutečné bajtové reprezentace _cest_ označeny `<>`, ačkoli _hodnoty_ jsou pro snazší pochopení stále zobrazeny jako řetězce označené `''` (i ony by ve skutečnosti byly `bytes`):
+
+```
+ <64 6f> : 'verb'
+ <64 6f 67> : 'puppy'
+ <64 6f 67 65> : 'coins'
+ <68 6f 72 73 65> : 'stallion'
+```
+
+Nyní vytvoříme takový trie s následujícími páry klíč/hodnota v podkladové DB:
+
+```
+ rootHash: [ <16>, hashA ]
+ hashA: [ <>, <>, <>, <>, hashB, <>, <>, <>, [ <20 6f 72 73 65>, 'stallion' ], <>, <>, <>, <>, <>, <>, <>, <> ]
+ hashB: [ <00 6f>, hashC ]
+ hashC: [ <>, <>, <>, <>, <>, <>, hashD, <>, <>, <>, <>, <>, <>, <>, <>, <>, 'verb' ]
+ hashD: [ <17>, [ <>, <>, <>, <>, <>, <>, [ <35>, 'coins' ], <>, <>, <>, <>, <>, <>, <>, <>, <>, 'puppy' ] ]
+```
+
+Pokud jeden uzel odkazuje na jiný uzel, je zahrnuto `keccak256(rlp.encode(node))`, pokud `len(rlp.encode(node)) >= 32`, jinak `node`, kde `rlp.encode` je kódovací funkce [RLP](/developers/docs/data-structures-and-encoding/rlp).
+
+Všimněte si, že při aktualizaci trie je třeba uložit pár klíč/hodnota `(keccak256(x), x)` do perzistentní vyhledávací tabulky, _pokud_ má nově vytvořený uzel délku >= 32. Pokud je však uzel kratší, není třeba nic ukládat, protože funkce f(x) = x je reverzibilní.
+
+## Trie v Ethereu {#tries-in-ethereum}
+
+Všechny merkle trie v exekuční vrstvě Etherea používají Merkle Patricia Trie.
+
+V hlavičce bloku jsou 3 kořeny z 3 těchto trie.
+
+1. stateRoot
+2. transactionsRoot
+3. receiptsRoot
+
+### Stavová trie {#state-trie}
+
+Existuje jedna globální stavová trie, která se aktualizuje pokaždé, když klient zpracuje blok. V ní je `path` vždy: `keccak256(ethereumAddress)` a `value` je vždy: `rlp(ethereumAccount)`. Konkrétně je ethereový `účet` 4položkové pole `[nonce,balance,storageRoot,codeHash]`. V tomto bodě stojí za zmínku, že tento `storageRoot` je kořenem další patricia trie:
+
+### Úložná trie {#storage-trie}
+
+V úložné trie jsou uložena _všechna_ data kontraktu. Pro každý účet existuje samostatná úložná trie. K načtení hodnot na konkrétních pozicích úložiště na dané adrese je nutná adresa úložiště, celočíselná pozice uložených dat v úložišti a ID bloku. Ty pak mohou být předány jako argumenty do `eth_getStorageAt` definovaného v JSON-RPC API, např. pro načtení dat v úložném slotu 0 pro adresu `0x295a70b2de5e3953354a6a8344e616ed314d7251`:
+
+```bash
+curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545
+
+{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"}
+
+```
+
+Načítání dalších prvků v úložišti je o něco složitější, protože se nejprve musí vypočítat pozice v úložné trie. Pozice se vypočítá jako haš `keccak256` adresy a pozice v úložišti, obě doplněné zleva nulami na délku 32 bajtů. Například pozice pro data v úložném slotu 1 pro adresu `0x391694e7e0b0cce554cb130d723a9d27458f9298` je:
+
+```python
+keccak256(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"))
+```
+
+V konzoli Geth to lze vypočítat následovně:
+
+```
+> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"
+undefined
+> web3.sha3(key, {"encoding": "hex"})
+"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9"
+```
+
+`path` je tedy `keccak256(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)`. To lze nyní použít k načtení dat z úložné trie jako předtím:
+
+```bash
+curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545
+
+{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"}
+```
+
+Poznámka: `storageRoot` pro ethereový účet je ve výchozím nastavení prázdný, pokud se nejedná o účet kontraktu.
+
+### Transakční trie {#transaction-trie}
+
+Pro každý blok existuje samostatná transakční trie, která opět ukládá páry `(klíč, hodnota)`. Cesta je zde: `rlp(transactionIndex)`, která představuje klíč odpovídající hodnotě určené:
+
+```python
+if legacyTx:
+ value = rlp(tx)
+else:
+ value = TxType | encode(tx)
+```
+
+Více informací o tomto naleznete v dokumentaci k [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718).
+
+### Trie účtenek {#receipts-trie}
+
+Každý blok má svou vlastní trie účtenek. `path` zde je: `rlp(transactionIndex)`. `transactionIndex` je jeho index v bloku, ve kterém byl zahrnut. Trie účtenek se nikdy neaktualizuje. Podobně jako transakční trie, existují aktuální a starší účtenky. Pro dotaz na konkrétní účtenku v trie účtenek je nutný index transakce v jejím bloku, datová část účtenky a typ transakce. Vrácená účtenka může být typu `Receipt`, který je definován jako zřetězení `TransactionType` a `ReceiptPayload`, nebo může být typu `LegacyReceipt`, který je definován jako `rlp([status, cumulativeGasUsed, logsBloom, logs])`.
+
+Více informací o tomto naleznete v dokumentaci k [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718).
+
+## Další čtení {#further-reading}
+
+- [Modifikovaný Merkle Patricia Trie – jak Ethereum ukládá stav](https://medium.com/codechain/modified-merkle-patricia-trie-how-ethereum-saves-a-state-e6d7555078dd)
+- [Merkling v Ethereu](https://blog.ethereum.org/2015/11/15/merkling-in-ethereum/)
+- [Pochopení Ethereum trie](https://easythereentropy.wordpress.com/2014/06/04/understanding-the-ethereum-trie/)
diff --git a/public/content/translations/cs/developers/docs/data-structures-and-encoding/rlp/index.md b/public/content/translations/cs/developers/docs/data-structures-and-encoding/rlp/index.md
new file mode 100644
index 00000000000..2b1d434d91c
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/data-structures-and-encoding/rlp/index.md
@@ -0,0 +1,163 @@
+---
+title: Serializace rekurzivního délkového prefixu (RLP)
+description: Definice kódování RLP v exekuční vrstvě Etherea.
+lang: cs
+sidebarDepth: 2
+---
+
+Serializace rekurzivního délkového prefixu (RLP) se hojně používá v exekučních klientech Etherea. RLP standardizuje přenos dat mezi uzly v prostorově úsporném formátu. Účelem RLP je kódovat libovolně vnořená pole binárních dat a RLP je primární metodou kódování používanou k serializaci objektů v exekuční vrstvě Etherea. Hlavním účelem RLP je kódovat strukturu; s výjimkou kladných celých čísel RLP deleguje kódování specifických datových typů (např. řetězců, čísel s plovoucí desetinnou čárkou) na protokoly vyššího řádu. Kladná celá čísla musí být reprezentována v binární formě big-endian bez úvodních nul (takže celočíselná hodnota nula je ekvivalentní prázdnému poli bajtů). Deserializovaná kladná celá čísla s úvodními nulami musí být jakýmkoli protokolem vyššího řádu používajícím RLP považována za neplatná.
+
+Více informací v [Ethereum yellow paper (Dodatek B)](https://ethereum.github.io/yellowpaper/paper.pdf#page=19).
+
+Pro použití RLP ke kódování slovníku jsou dvě navrhované kanonické formy:
+
+- použijte `[[k1,v1],[k2,v2]...]` s klíči v lexikografickém pořadí
+- použijte kódování Patricia Tree na vyšší úrovni, tak jak to dělá Ethereum
+
+## Definice {#definition}
+
+Kódovací funkce RLP přijímá položku. Položka je definována následovně:
+
+- řetězec (tj. pole bajtů) je položka
+- seznam položek je položka
+- kladné celé číslo je položka
+
+Například všechny následující jsou položky:
+
+- prázdný řetězec;
+- řetězec obsahující slovo "cat";
+- seznam obsahující libovolný počet řetězců;
+- a složitější datové struktury, jako je `["cat", ["puppy", "cow"], "horse", [[]], "pig", [""], "sheep"]`.
+- číslo `100`
+
+Všimněte si, že v kontextu zbytku této stránky „řetězec“ znamená „určitý počet bajtů binárních dat“; nepoužívají se žádná speciální kódování a nepředpokládá se žádná znalost o obsahu řetězců (kromě toho, co vyžaduje pravidlo proti neminimálním kladným celým číslům).
+
+Kódování RLP je definováno následovně:
+
+- U kladného celého čísla se toto převede na nejkratší pole bajtů, jehož interpretace big-endian je dané celé číslo, a poté se zakóduje jako řetězec podle níže uvedených pravidel.
+- Pro jediný bajt, jehož hodnota je v rozsahu `[0x00, 0x7f]` (desítkově `[0, 127]`), je tento bajt svým vlastním kódováním RLP.
+- Jinak, pokud je řetězec dlouhý 0–55 bajtů, kódování RLP se skládá z jednoho bajtu s hodnotou **0x80** (des. 128) plus délka řetězce, po níž následuje samotný řetězec. Rozsah prvního bajtu je tedy `[0x80, 0xb7]` (des. `[128, 183]`).
+- Pokud je řetězec delší než 55 bajtů, kódování RLP se skládá z jednoho bajtu s hodnotou **0xb7** (des. 183) plus délka délky řetězce v bajtech v binární formě, následovaná délkou řetězce a samotným řetězcem. Například řetězec dlouhý 1024 bajtů by byl zakódován jako `\xb9\x04\x00` (des. `185, 4, 0`) a za ním by následoval řetězec. Zde je `0xb9` (183 + 2 = 185) jako první bajt, po němž následují 2 bajty `0x0400` (des. 1024), které označují délku skutečného řetězce. Rozsah prvního bajtu je tedy `[0xb8, 0xbf]` (des. `[184, 191]`).
+- Pokud je řetězec dlouhý 2^64 bajtů nebo více, nesmí být kódován.
+- Pokud je celková datová část seznamu (tj. kombinovaná délka všech jeho položek kódovaných pomocí RLP) dlouhá 0–55 bajtů, kódování RLP se skládá z jediného bajtu s hodnotou **0xc0** plus délka datové části, po níž následuje zřetězení kódování RLP jednotlivých položek. Rozsah prvního bajtu je tedy `[0xc0, 0xf7]` (des. `[192, 247]`).
+- Pokud je celková datová část seznamu delší než 55 bajtů, kódování RLP se skládá z jednoho bajtu s hodnotou **0xf7** plus délka délky datové části v bajtech v binární podobě, následovaná délkou datové části a zřetězením kódování RLP jednotlivých položek. Rozsah prvního bajtu je tedy `[0xf8, 0xff]` (des. `[248, 255]`).
+
+V kódu to vypadá takto:
+
+```python
+def rlp_encode(input):
+ if isinstance(input,str):
+ if len(input) == 1 and ord(input) < 0x80:
+ return input
+ return encode_length(len(input), 0x80) + input
+ elif isinstance(input, list):
+ output = ''
+ for item in input:
+ output += rlp_encode(item)
+ return encode_length(len(output), 0xc0) + output
+
+def encode_length(L, offset):
+ if L < 56:
+ return chr(L + offset)
+ elif L < 256**8:
+ BL = to_binary(L)
+ return chr(len(BL) + offset + 55) + BL
+ raise Exception("input too long")
+
+def to_binary(x):
+ if x == 0:
+ return ''
+ return to_binary(int(x / 256)) + chr(x % 256)
+```
+
+## Příklady {#examples}
+
+- řetězec "dog" = [ 0x83, 'd', 'o', 'g' ]
+- seznam [ "cat", "dog" ] = `[ 0xc8, 0x83, 'c', 'a', 't', 0x83, 'd', 'o', 'g' ]`
+- prázdný řetězec ('null') = `[ 0x80 ]`
+- prázdný seznam = `[ 0xc0 ]`
+- celé číslo 0 = `[ 0x80 ]`
+- bajt '\\x00' = `[ 0x00 ]`
+- bajt '\\x0f' = `[ 0x0f ]`
+- bajty '\\x04\\x00' = `[ 0x82, 0x04, 0x00 ]`
+- [teoreticko-množinová reprezentace](http://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers) trojky, `[ [], [[]], [ [], [[]] ] ] = [ 0xc7, 0xc0, 0xc1, 0xc0, 0xc3, 0xc0, 0xc1, 0xc0 ]`
+- řetězec "Lorem ipsum dolor sit amet, consectetur adipisicing elit" = `[ 0xb8, 0x38, 'L', 'o', 'r', 'e', 'm', ' ', ... , 'e', 'l', 'i', 't' ]`
+
+## Dekódování RLP {#rlp-decoding}
+
+Podle pravidel a postupu kódování RLP je vstup pro dekódování RLP považován za pole binárních dat. Proces dekódování RLP je následující:
+
+1. podle prvního bajtu (tj. prefixu) vstupních dat a dekódování datového typu, délky skutečných dat a offsetu;
+
+2. podle typu a offsetu dat dekódujte data odpovídajícím způsobem, přičemž respektujte pravidlo minimálního kódování pro kladná celá čísla;
+
+3. pokračujte v dekódování zbytku vstupu;
+
+Pravidla pro dekódování datových typů a offsetu jsou následující:
+
+1. data jsou řetězec, pokud je rozsah prvního bajtu (tj. prefixu) [0x00, 0x7f], a řetězec je přesně samotný první bajt;
+
+2. data jsou řetězec, pokud je rozsah prvního bajtu [0x80, 0xb7] a za prvním bajtem následuje řetězec, jehož délka se rovná prvnímu bajtu mínus 0x80;
+
+3. data jsou řetězec, pokud je rozsah prvního bajtu [0xb8, 0xbf] a za prvním bajtem následuje délka řetězce, jejíž délka v bajtech se rovná prvnímu bajtu mínus 0xb7, a za délkou řetězce následuje samotný řetězec;
+
+4. data jsou seznam, pokud je rozsah prvního bajtu [0xc0, 0xf7] a za prvním bajtem následuje zřetězení kódování RLP všech položek seznamu, jejichž celková datová část se rovná prvnímu bajtu mínus 0xc0;
+
+5. data jsou seznam, pokud je rozsah prvního bajtu [0xf8, 0xff] a za prvním bajtem následuje celková datová část seznamu, jejíž délka se rovná prvnímu bajtu mínus 0xf7, a za celkovou datovou částí seznamu následuje zřetězení kódování RLP všech položek seznamu;
+
+V kódu to vypadá takto:
+
+```python
+def rlp_decode(input):
+ if len(input) == 0:
+ return
+ output = ''
+ (offset, dataLen, type) = decode_length(input)
+ if type is str:
+ output = instantiate_str(substr(input, offset, dataLen))
+ elif type is list:
+ output = instantiate_list(substr(input, offset, dataLen))
+ output += rlp_decode(substr(input, offset + dataLen))
+ return output
+
+def decode_length(input):
+ length = len(input)
+ if length == 0:
+ raise Exception("input is null")
+ prefix = ord(input[0])
+ if prefix <= 0x7f:
+ return (0, 1, str)
+ elif prefix <= 0xb7 and length > prefix - 0x80:
+ strLen = prefix - 0x80
+ return (1, strLen, str)
+ elif prefix <= 0xbf and length > prefix - 0xb7 and length > prefix - 0xb7 + to_integer(substr(input, 1, prefix - 0xb7)):
+ lenOfStrLen = prefix - 0xb7
+ strLen = to_integer(substr(input, 1, lenOfStrLen))
+ return (1 + lenOfStrLen, strLen, str)
+ elif prefix <= 0xf7 and length > prefix - 0xc0:
+ listLen = prefix - 0xc0;
+ return (1, listLen, list)
+ elif prefix <= 0xff and length > prefix - 0xf7 and length > prefix - 0xf7 + to_integer(substr(input, 1, prefix - 0xf7)):
+ lenOfListLen = prefix - 0xf7
+ listLen = to_integer(substr(input, 1, lenOfListLen))
+ return (1 + lenOfListLen, listLen, list)
+ raise Exception("input does not conform to RLP encoding form")
+
+def to_integer(b):
+ length = len(b)
+ if length == 0:
+ raise Exception("input is null")
+ elif length == 1:
+ return ord(b[0])
+ return ord(substr(b, -1)) + to_integer(substr(b, 0, -1)) * 256
+```
+
+## Další čtení {#further-reading}
+
+- [RLP v Ethereu](https://medium.com/coinmonks/data-structure-in-ethereum-episode-1-recursive-length-prefix-rlp-encoding-decoding-d1016832f919)
+- [Ethereum pod pokličkou: RLP](https://medium.com/coinmonks/ethereum-under-the-hood-part-3-rlp-decoding-df236dc13e58)
+- [Coglio, A. (2020). Rekurzivní délkový prefix Etherea v ACL2. arXiv preprint arXiv:2009.13769.](https://arxiv.org/abs/2009.13769)
+
+## Související témata {#related-topics}
+
+- [Patricia Merkle trie](/developers/docs/data-structures-and-encoding/patricia-merkle-trie)
diff --git a/public/content/translations/cs/developers/docs/data-structures-and-encoding/ssz/index.md b/public/content/translations/cs/developers/docs/data-structures-and-encoding/ssz/index.md
new file mode 100644
index 00000000000..7d5784a39bd
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/data-structures-and-encoding/ssz/index.md
@@ -0,0 +1,150 @@
+---
+title: Jednoduchá serializace
+description: Vysvětlení formátu SSZ Etherea.
+lang: cs
+sidebarDepth: 2
+---
+
+**Jednoduchá serializace (SSZ)** je metoda serializace používaná na Beacon Chainu. Nahrazuje RLP serializaci, která je používána na exekuční vrstvě a všude v rámci konsensuální vrstvy kromě protokolu pro objevování peerů. Více informací o serializaci RLP naleznete v článku [Recursive-length prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp/). SSZ je navržena tak, aby byla deterministická a také efektivně merkelizovatelná. Na SSZ můžeme pohlížet jako na dvě složky: Schéma serializace a schéma merkelizace, které je navrženo tak, aby efektivně fungovalo se serializovanou datovou strukturou.
+
+## Jak SSZ funguje? {#how-does-ssz-work}
+
+### Serializace {#serialization}
+
+SSZ je schéma serializace, které není samo o sobě popisné - spíše spoléhá na schéma, které musí být předem známo. Cílem SSZ serializace je reprezentovat objekty libovolné složitosti jako řetězce bajtů. Tento proces je velmi jednoduchý pro "základní typy". Element je jednoduše převeden na hexadecimální bajty. Mezi základní typy patří:
+
+- celá čísla bez znaménka
+- booleovské hodnoty
+
+Pro složité "kompozitní" typy je serializace složitější, protože kompozitní typ obsahuje více prvků, které mohou mít různé typy nebo různé velikosti, nebo obojí. V případech, kdy mají všechny tyto objekty pevnou délku (tj. velikost prvků bude vždy konstantní bez ohledu na jejich skutečné hodnoty), je serializace jednoduše konverzí každého prvku ve složeném typu, seřazeného do little-endian bajtových řetězců. Tyto bajtové řetězce jsou spojeny dohromady. Serializovaný objekt má bytelistovou reprezentaci prvků s pevnou délkou ve stejném pořadí, v jakém se objevují v deserializovaném objektu.
+
+Pro typy s proměnlivou délkou se skutečná data nahrazují hodnotou "offsetu" na pozici toho prvku v serializovaném objektu. Skutečná data se přidávají do zásobníku na konci serializovaného objektu. Hodnota offsetu je indexem pro začátek skutečných dat v zásobníku, což funguje jako ukazatel na příslušné bajty.
+
+Následující příklad ilustruje, jak funguje offsetování pro kontejner s prvky s pevnou i proměnlivou délkou:
+
+```Rust
+
+ struct Dummy {
+
+ number1: u64,
+ number2: u64,
+ vector: Vec,
+ number3: u64
+ }
+
+ dummy = Dummy{
+
+ number1: 37,
+ number2: 55,
+ vector: vec![1,2,3,4],
+ number3: 22,
+ }
+
+ serialized = ssz.serialize(dummy)
+
+```
+
+`serialized` by mělo následující strukturu (zde pouze doplněno na 4 bity, ve skutečnosti doplněno na 32 bitů a pro přehlednost je zachována reprezentace `int`):
+
+```
+[37, 0, 0, 0, 55, 0, 0, 0, 16, 0, 0, 0, 22, 0, 0, 0, 1, 2, 3, 4]
+------------ ----------- ----------- ----------- ----------
+ | | | | |
+ number1 number2 posun pro number 3 hodnota pro
+ vektor vektor
+
+```
+
+pro přehlednost je rozdělíme do řádků:
+
+```
+[
+ 37, 0, 0, 0, # kódování `number1` v pořadí little-endian.
+ 55, 0, 0, 0, # kódování `number2` v pořadí little-endian.
+ 16, 0, 0, 0, # „Posun“, který udává, kde začíná hodnota `vector` (little-endian 16).
+ 22, 0, 0, 0, # kódování `number3` v pořadí little-endian.
+ 1, 2, 3, 4, # Skutečné hodnoty ve `vector`.
+]
+```
+
+Toto je stále zjednodušení - celá čísla a nuly ve schématech výše by ve skutečnosti byly uloženy bytelisty, jako je tento:
+
+```
+[
+ 10100101000000000000000000000000 # kódování `number1` v pořadí little-endian
+ 10110111000000000000000000000000 # kódování `number2` v pořadí little-endian.
+ 10010000000000000000000000000000 # „Posun“, který udává, kde začíná hodnota `vector` (little-endian 16).
+ 10010110000000000000000000000000 # kódování `number3` v pořadí little-endian.
+ 10000001100000101000001110000100 # Skutečná hodnota pole `bytes`.
+]
+```
+
+Takže skutečné hodnoty pro typy s proměnlivou délkou jsou uloženy v zásobníku na konci serializovaného objektu, přičemž jejich offsety jsou uloženy na správných pozicích v uspořádaném seznamu polí.
+
+Existují také některé speciální případy, které vyžadují specifické zacházení, například typ `BitList`, který vyžaduje přidání délkového limitu během serializace a jeho odstranění během deserializace. Veškeré podrobnosti jsou k dispozici ve [specifikaci SSZ](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md).
+
+### Deserializace {#deserialization}
+
+K deserializaci tohoto objektu je zapotřebí schéma. Schéma definuje přesné uspořádání serializovaných dat tak, aby každý konkrétní prvek mohl být deserializován z blobu bajtů do nějakého smysluplného objektu s prvky majícími správný typ, hodnotu, velikost a pozici. Je to právě schéma, které říká deserializátoru, které hodnoty jsou skutečné hodnoty a které jsou offsety. Všechny názvy polí zmizí, když je objekt serializován, ale při deserializaci se podle schématu znovu vytvoří.
+
+Pro interaktivní vysvětlení se podívejte na [ssz.dev](https://www.ssz.dev/overview).
+
+## Merkleizace {#merkleization}
+
+Tento SSZ serializovaný objekt pak může být merkelizován - to znamená transformován do Merkleova stromu reprezentujícího stejná data. Nejprve se určí počet 32bajtových bloků v serializovaném objektu. Tyto bloky tvoří „listy“ stromu. Celkový počet listů musí být mocnina dvou, aby hašování listů nakonec vytvořilo jediný hašový kořen stromu. Pokud tomu tak přirozeně není, jsou přidány další listy obsahující 32 bajtů nul. Schématicky:
+
+```
+ kořen hašového stromu
+ / \
+ / \
+ / \
+ / \
+ haš listů haš listů
+ 1 a 2 3 a 4
+ / \ / \
+ / \ / \
+ / \ / \
+ list1 list2 list3 list4
+```
+
+Existují také případy, kdy se listy stromu přirozeně nerozdělují rovnoměrně, jako tomu bylo v předchozím příkladu. Například list 4 by mohl být kontejner s více prvky, které vyžadují přidání další "hloubky" do Merkle tree, čímž se vytvoří nerovnoměrný strom.
+
+Místo toho, abychom tyto prvky stromu označovali jako list X, uzel X atd., můžeme jim přiřadit zobecněné indexy, počínaje kořenem = 1 a číslováním zleva doprava na každé úrovni. Toto je zobecněný index, který jsme vysvětlili výše. Každý prvek v serializovaném seznamu má zobecněný index rovný `2**depth + idx`, kde idx je jeho pozice s indexem nula v serializovaném objektu a hloubka je počet úrovní v Merkle tree, který lze určit jako logaritmus počtu prvků (listů) při základu 2.
+
+## Zobecněné indexy {#generalized-indices}
+
+Zobecněný index je celé číslo, které představuje uzel v binárním Merkle tree, kde každý uzel má zobecněný index `2 ** depth + index in row`.
+
+```
+ 1 --hloubka = 0 2**0 + 0 = 1
+ 2 3 --hloubka = 1 2**1 + 0 = 2, 2**1+1 = 3
+ 4 5 6 7 --hloubka = 2 2**2 + 0 = 4, 2**2 + 1 = 5...
+
+```
+
+Toto zobrazení poskytuje index uzlu pro každý datový prvek v Merkletree.
+
+## Multiproofy {#multiproofs}
+
+Poskytnutí seznamu zobecněných indexů představujících konkrétní prvek nám umožňuje jej ověřit vůči hašovému kořenovému stromu. Tento kořen je naším přijatým zobrazením reality. Jakákoli data, která nám jsou poskytnuta, mohou být ověřena vůči této realitě vložením do správného místa v Merkle tree (určeného jeho zobecněným indexem) a pozorováním, zda kořen zůstává konstantní. Ve specifikaci [zde](https://github.com/ethereum/consensus-specs/blob/dev/ssz/merkle-proofs.md#merkle-multiproofs) jsou funkce, které ukazují, jak vypočítat minimální sadu uzlů potřebnou k ověření obsahu konkrétní sady zobecněných indexů.
+
+Například k ověření dat na indexu 9 v níže uvedeném stromu potřebujeme haš dat na indexech 8, 9, 5, 3, 1.
+Haš (8,9) by měl být roven haši (4), který se hašuje s 5 a vytváří 2, který se hašuje s 3 a vytváří kořen stromu 1. Pokud by byla poskytnuta nesprávná data pro 9, kořen by se změnil – to bychom zjistili a ověření větve by selhalo.
+
+```
+* = data potřebná k vygenerování důkazu
+
+ 1*
+ 2 3*
+ 4 5* 6 7
+8* 9* 10 11 12 13 14 15
+
+```
+
+## Další čtení {#further-reading}
+
+- [Vylepšení Etherea: SSZ](https://eth2book.info/altair/part2/building_blocks/ssz)
+- [Vylepšení Etherea: Merkleizace](https://eth2book.info/altair/part2/building_blocks/merkleization)
+- [Implementace SSZ](https://github.com/ethereum/consensus-specs/issues/2138)
+- [Kalkulačka SSZ](https://simpleserialize.com/)
+- [SSZ.dev](https://www.ssz.dev/)
diff --git a/public/content/translations/cs/developers/docs/data-structures-and-encoding/web3-secret-storage/index.md b/public/content/translations/cs/developers/docs/data-structures-and-encoding/web3-secret-storage/index.md
new file mode 100644
index 00000000000..01835a97a08
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/data-structures-and-encoding/web3-secret-storage/index.md
@@ -0,0 +1,195 @@
+---
+title: Definice tajného úložiště web3
+description: Formální definice pro tajné úložiště web3
+lang: cs
+sidebarDepth: 2
+---
+
+Aby vaše aplikace fungovala na síti Ethereum, můžete použít objekt web3 poskytovaný knihovnou web3.js. Na pozadí komunikuje s místním uzlem prostřednictvím volání RPC. [web3](https://github.com/ethereum/web3.js/) funguje s jakýmkoli uzlem Ethereum, který zpřístupňuje vrstvu RPC.
+
+`web3` obsahuje objekt `eth` – web3.eth.
+
+```js
+var fs = require("fs")
+var recognizer = require("ethereum-keyfile-recognizer")
+
+fs.readFile("keyfile.json", (err, data) => {
+ var json = JSON.parse(data)
+ var result = recognizer(json)
+})
+
+/** výsledek
+ * [ 'web3', 3 ] soubor s klíčem web3 (v3)
+ * [ 'ethersale', undefined ] soubor s klíčem Ethersale
+ * null neplatný soubor s klíčem
+ */
+```
+
+Tento dokument popisuje **verzi 3** definice tajného úložiště Web3.
+
+## Definice {#definition}
+
+Vlastní kódování a dekódování souboru zůstává z velké části nezměněno oproti verzi 1, s tím rozdílem, že kryptoalgoritmus již není pevně nastaven na AES-128-CBC (minimálním požadavkem je nyní AES-128-CTR). Většina významů/algoritmů je podobná verzi 1, kromě `mac`, který je dán jako SHA3 (keccak-256) zřetězení druhých 16 bajtů zleva odvozeného klíče společně s úplným `ciphertextem`.
+
+Soubory s tajným klíčem jsou uloženy přímo v `~/.web3/keystore` (pro systémy podobné Unixu) a `~/AppData/Web3/keystore` (pro Windows). Mohou být pojmenovány jakkoli, ale dobrou konvencí je `.json`, kde `` je 128bitový identifikátor UUID přiřazený tajnému klíči (proxy chránící soukromí pro adresu tajného klíče).
+
+Všechny takové soubory mají přidružené heslo. Chcete-li odvodit tajný klíč daného souboru `.json`, nejprve odvoďte šifrovací klíč souboru; to se provede tak, že vezmete heslo souboru a předáte ho funkci pro odvození klíče, jak je popsáno v klíči `kdf`. Statické a dynamické parametry závislé na KDF pro funkci KDF jsou popsány v klíči `kdfparams`.
+
+PBKDF2 musí být podporován všemi minimálně vyhovujícími implementacemi, označeno jako:
+
+- `kdf`: `pbkdf2`
+
+Pro PBKDF2 parametry kdfparams zahrnují:
+
+- `prf`: Musí být `hmac-sha256` (může být v budoucnu rozšířen);
+- `c`: počet iterací;
+- `salt`: sůl předaná do PBKDF;
+- `dklen`: délka odvozeného klíče. Musí být >= 32.
+
+Jakmile byl klíč souboru odvozen, měl by být ověřen prostřednictvím odvození MAC. MAC by se měl vypočítat jako haš SHA3 (keccak-256) bajtového pole vytvořeného zřetězením druhých 16 bajtů zleva odvozeného klíče s obsahem klíče `ciphertext`, tj.:
+
+```js
+KECCAK(DK[16..31] ++ )
+```
+
+(kde `++` je operátor zřetězení)
+
+Tato hodnota by se měla porovnat s obsahem klíče `mac`; pokud se liší, mělo by se vyžádat alternativní heslo (nebo operace zrušena).
+
+Po ověření klíče souboru může být šifrovaný text (klíč `ciphertext` v souboru) dešifrován pomocí algoritmu symetrického šifrování specifikovaného klíčem `cipher` a parametrizovaného pomocí klíče `cipherparams`. Pokud se velikost odvozeného klíče a velikost klíče algoritmu neshodují, měly by se jako klíč k algoritmu použít nejvíce pravé bajty odvozeného klíče, doplněné nulami.
+
+Všechny minimálně vyhovující implementace musí podporovat algoritmus AES-128-CTR, označený jako:
+
+- `cipher: aes-128-ctr`
+
+Tato šifra přebírá následující parametry, uvedené jako klíče ke klíči cipherparams:
+
+- `iv`: 128bitový inicializační vektor pro šifru.
+
+Klíčem pro šifru je 16 nejvíce levých bajtů odvozeného klíče, tj. `DK[0..15]`
+
+Vytvoření/zašifrování tajného klíče by mělo být v podstatě opakem těchto pokynů. Ujistěte se, že `uuid`, `salt` a `iv` jsou skutečně náhodné.
+
+Kromě pole `version`, které by mělo fungovat jako "tvrdý" identifikátor verze, mohou implementace také používat `minorversion` ke sledování menších změn formátu, které nenaruší zpětnou kompatibilitu.
+
+## Testovací vektory {#test-vectors}
+
+Podrobnosti:
+
+- `Adresa`: `008aeeda4d805471df9b2a5b0f38a0c3bcba786b`
+- `ICAP`: `XE542A5PZHH8PYIZUBEJEO0MFWRAPPIL67`
+- `UUID`: `3198bc9c-6672-5ab3-d9954942343ae5b6`
+- `Heslo`: `testpassword`
+- `Tajný klíč`: `7a28b5ba57c53603b0b07b56bba752f7784bf506fa95edc395f5cf6c7514fe9d`
+
+### PBKDF2-SHA-256 {#PBKDF2-SHA-256}
+
+Testovací vektor používající `AES-128-CTR` a `PBKDF2-SHA-256`:
+
+Obsah souboru `~/.web3/keystore/3198bc9c-6672-5ab3-d9954942343ae5b6.json`:
+
+```json
+{
+ "crypto": {
+ "cipher": "aes-128-ctr",
+ "cipherparams": {
+ "iv": "6087dab2f9fdbbfaddc31a909735c1e6"
+ },
+ "ciphertext": "5318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46",
+ "kdf": "pbkdf2",
+ "kdfparams": {
+ "c": 262144,
+ "dklen": 32,
+ "prf": "hmac-sha256",
+ "salt": "ae3cd4e7013836a3df6bd7241b12db061dbe2c6785853cce422d148a624ce0bd"
+ },
+ "mac": "517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2"
+ },
+ "id": "3198bc9c-6672-5ab3-d995-4942343ae5b6",
+ "version": 3
+}
+```
+
+**Mezivýsledky**:
+
+`Odvozený klíč`: `f06d69cdc7da0faffb1008270bca38f5e31891a3a773950e6d0fea48a7188551`
+`Tělo MAC`: `e31891a3a773950e6d0fea48a71885515318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46`
+`MAC`: `517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2`
+`Šifrovací klíč`: `f06d69cdc7da0faffb1008270bca38f5`
+
+### Scrypt {#scrypt}
+
+Testovací vektor používající AES-128-CTR a Scrypt:
+
+```json
+{
+ "crypto": {
+ "cipher": "aes-128-ctr",
+ "cipherparams": {
+ "iv": "740770fce12ce862af21264dab25f1da"
+ },
+ "ciphertext": "dd8a1132cf57db67c038c6763afe2cbe6ea1949a86abc5843f8ca656ebbb1ea2",
+ "kdf": "scrypt",
+ "kdfparams": {
+ "dklen": 32,
+ "n": 262144,
+ "p": 1,
+ "r": 8,
+ "salt": "25710c2ccd7c610b24d068af83b959b7a0e5f40641f0c82daeb1345766191034"
+ },
+ "mac": "337aeb86505d2d0bb620effe57f18381377d67d76dac1090626aa5cd20886a7c"
+ },
+ "id": "3198bc9c-6672-5ab3-d995-4942343ae5b6",
+ "version": 3
+}
+```
+
+**Mezivýsledky**:
+
+`Odvozený klíč`: `7446f59ecc301d2d79bc3302650d8a5cedc185ccbb4bf3ca1ebd2c163eaa6c2d`
+`Tělo MAC`: `edc185ccbb4bf3ca1ebd2c163eaa6c2ddd8a1132cf57db67c038c6763afe2cbe6ea1949a86abc5843f8ca656ebbb1ea2`
+`MAC`: `337aeb86505d2d0bb620effe57f18381377d67d76dac1090626aa5cd20886a7c`
+`Šifrovací klíč`: `7446f59ecc301d2d79bc3302650d8a5c`
+
+## Změny oproti verzi 1 {#alterations-from-v2}
+
+Tato verze opravuje několik nesrovnalostí s verzí 1 publikovanou [zde](https://github.com/ethereum/homestead-guide/blob/master/old-docs-for-reference/go-ethereum-wiki.rst/Passphrase-protected-key-store-spec.rst). Stručně řečeno se jedná o:
+
+- Použití velkých a malých písmen je neopodstatněné a nekonzistentní (scrypt malými písmeny, Kdf s různou velikostí písmen, MAC velkými písmeny).
+- Adresa je zbytečná a ohrožuje soukromí.
+- `Salt` je ze své podstaty parametrem funkce pro odvození klíče a zaslouží si být s ní spojena, nikoli s kryptem obecně.
+- _SaltLen_ je zbytečné (stačí jej odvodit ze Salt).
+- Funkce pro odvození klíče je dána, ale kryptoalgoritmus je pevně specifikován.
+- `Version` je ze své podstaty číselná, ale je to řetězec (strukturované verzování by bylo možné s řetězcem, ale lze to považovat za nadbytečné pro formát konfiguračního souboru, který se mění jen zřídka).
+- `KDF` a `cipher` jsou teoreticky sourozenecké koncepty, ale jsou organizovány odlišně.
+- `MAC` se vypočítává z datového bloku, který ignoruje prázdné znaky (!)
+
+Ve formátu byly provedeny změny tak, aby vznikl následující soubor, který je funkčně ekvivalentní příkladu uvedenému na dříve odkazované stránce:
+
+```json
+{
+ "crypto": {
+ "cipher": "aes-128-cbc",
+ "ciphertext": "07533e172414bfa50e99dba4a0ce603f654ebfa1ff46277c3e0c577fdc87f6bb4e4fe16c5a94ce6ce14cfa069821ef9b",
+ "cipherparams": {
+ "iv": "16d67ba0ce5a339ff2f07951253e6ba8"
+ },
+ "kdf": "scrypt",
+ "kdfparams": {
+ "dklen": 32,
+ "n": 262144,
+ "p": 1,
+ "r": 8,
+ "salt": "06870e5e6a24e183a5c807bd1c43afd86d573f7db303ff4853d135cd0fd3fe91"
+ },
+ "mac": "8ccded24da2e99a11d48cda146f9cc8213eb423e2ea0d8427f41c3be414424dd",
+ "version": 1
+ },
+ "id": "0498f19a-59db-4d54-ac95-33901b4f1870",
+ "version": 2
+}
+```
+
+## Změny oproti verzi 2 {#alterations-from-v2}
+
+Verze 2 byla raná implementace v C++ s řadou chyb. Všechny základní věci v ní zůstávají beze změny.
diff --git a/public/content/translations/cs/developers/docs/design-and-ux/dex-design-best-practice/index.md b/public/content/translations/cs/developers/docs/design-and-ux/dex-design-best-practice/index.md
new file mode 100644
index 00000000000..8f9371277a5
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/design-and-ux/dex-design-best-practice/index.md
@@ -0,0 +1,219 @@
+---
+title: Osvědčené postupy návrhu decentralizovaných burz (DEX)
+description: Průvodce vysvětlující rozhodnutí o návrhu UX/UI pro směnu tokenů.
+lang: cs
+---
+
+Od spuštění Uniswapu v roce 2018 byly spuštěny stovky decentralizovaných burz na desítkách různých řetězců.
+Mnohé z nich zavedly nové prvky nebo přidaly vlastní vylepšení, ale rozhraní zůstalo obecně stejné.
+
+Jedním z důvodů je [Jakobův zákon](https://lawsofux.com/jakobs-law/):
+
+> Uživatelé tráví většinu svého času na jiných stránkách. To znamená, že uživatelé dávají přednost tomu, aby vaše stránky fungovaly stejně jako všechny ostatní stránky, které již znají.
+
+Díky prvním inovátorům, jako jsou Uniswap, Pancakeswap a Sushiswap, mají uživatelé DeFi kolektivní představu o tom, jak DEX vypadá.
+Z tohoto důvodu se nyní objevuje něco jako „osvědčený postup“. Stále častěji vidíme, že se rozhodnutí o designu napříč weby standardizují. Vývoj DEX můžete vnímat jako obrovský příklad testování v reálném čase. Věci, které fungovaly, zůstaly, věci, které ne, byly zahozeny. Stále je zde prostor pro osobitost, ale existují určité standardy, kterým by měla DEX vyhovovat.
+
+Tento článek je shrnutím:
+
+- co zahrnout
+- jak to udělat co nejpoužitelnější
+- hlavní způsoby přizpůsobení designu
+
+Všechny příklady drátěných modelů (wireframes) byly vytvořeny speciálně pro tento článek, ačkoli všechny vycházejí ze skutečných projektů.
+
+Sada pro Figmu je také zahrnuta na konci – klidně ji použijte a zrychlete si tak tvorbu vlastních drátěných modelů!
+
+## Základní anatomie DEX {#basic-anatomy-of-a-dex}
+
+Uživatelské rozhraní (UI) obecně obsahuje tři prvky:
+
+1. Hlavní formulář
+2. Tlačítko
+3. Panel s podrobnostmi
+
+
+
+## Varianty {#variations}
+
+To bude v tomto článku běžné téma, ale existují různé způsoby, jak mohou být tyto prvky uspořádány. „Panel podrobností“ může být:
+
+- Nad tlačítkem
+- Pod tlačítkem
+- Skrytý v rozbalovacím panelu
+- A/nebo v modálním okně „náhledu“
+
+Pozn. Modální okno „náhledu“ je volitelné, ale pokud v hlavním uživatelském rozhraní zobrazujete jen velmi málo podrobností, stává se nezbytným.
+
+## Struktura hlavního formuláře {#structure-of-the-main-form}
+
+Toto je pole, kde si skutečně vybíráte, který token chcete směnit. Komponenta se skládá ze vstupního pole a malého tlačítka v jednom řádku.
+
+Burzy DEX obvykle zobrazují další podrobnosti v jednom řádku nad a v jednom řádku pod, i když to lze nakonfigurovat i jinak.
+
+
+
+## Varianty {#variations2}
+
+Jsou zde uvedeny dvě varianty uživatelského rozhraní; jedna bez ohraničení, která vytváří velmi otevřený design, a druhá, kde má vstupní řádek ohraničení, což vytváří zaměření na tento prvek.
+
+
+
+Tato základní struktura umožňuje v návrhu zobrazit **čtyři klíčové informace**: jednu v každém rohu. Pokud existuje pouze jeden horní/dolní řádek, pak jsou k dispozici pouze dvě místa.
+
+Během vývoje DeFi se sem zařadilo mnoho různých věcí.
+
+## Klíčové informace, které je třeba zahrnout {#key-info-to-include}
+
+- Zůstatek v peněžence
+- Tlačítko Max
+- Fiatový ekvivalent
+- Dopad na cenu u „obdržené“ částky
+
+V počátcích DeFi fiatový ekvivalent často chyběl. Pokud vytváříte jakýkoli projekt Web3, je nezbytné, aby byl zobrazen fiatový ekvivalent. Uživatelé stále přemýšlejí v místních měnách, takže aby to odpovídalo jejich mentálním modelům z reálného světa, mělo by to být zahrnuto.
+
+Ve druhém poli (v tom, kde si vybíráte token, na který směňujete) můžete také uvést dopad na cenu vedle částky ve fiat měně, a to výpočtem rozdílu mezi vstupní částkou a odhadovanou výstupní částkou. Je to poměrně užitečný detail, který je dobré zahrnout.
+
+Procentuální tlačítka (např. 25 %, 50 %, 75 %) mohou být užitečnou funkcí, ale zabírají více místa, přidávají více výzev k akci a zvyšují mentální zátěž. To samé platí pro procentuální posuvníky. Některá z těchto rozhodnutí ohledně UI budou záviset na vaší značce a typu uživatele.
+
+Další podrobnosti mohou být zobrazeny pod hlavním formulářem. Protože je tento typ informací určen především pro profesionální uživatele, dává smysl buď:
+
+- udržovat ho co nejminimálnější, nebo;
+- skrýt ho do rozbalovacího panelu
+
+
+
+## Další informace k zahrnutí {#extra-info-to-include}
+
+- Cenu tokenu
+- Skluz
+- Minimální obdržená částka
+- Očekávaný výstup
+- Dopad na cenu
+- Odhad nákladů na gas
+- Další poplatky
+- Směrování příkazu
+
+Některé z těchto údajů by mohly být volitelné.
+
+Směrování příkazů je zajímavé, ale pro většinu uživatelů nepředstavuje velký rozdíl.
+
+Některé další podrobnosti pouze uvádějí totéž různými způsoby. Například „minimální obdržená částka“ a „skluz“ jsou dvě strany téže mince. Pokud máte skluz nastavený na 1 %, pak minimální částka, kterou můžete očekávat, se rovná očekávanému výstupu - 1 %. Některá UI zobrazují očekávanou částku, minimální částku a skluz… Což je užitečné, ale možná až přehnané.
+
+Většina uživatelů stejně ponechá výchozí nastavení skluzu.
+
+„Dopad na cenu“ se často zobrazuje v závorkách vedle fiatového ekvivalentu v poli „Do“. Je to skvělý UX detail, který lze přidat, ale pokud je zobrazen zde, je opravdu nutné ho znovu zobrazovat níže? A pak znovu na obrazovce náhledu?
+
+Mnoho uživatelů (zejména těch, kteří směňují malé částky) se o tyto podrobnosti nebude starat; jednoduše zadají číslo a stisknou tlačítko pro směnu.
+
+
+
+Jaké podrobnosti přesně zobrazíte, bude záviset na vašem publiku a na tom, jaký dojem má aplikace budit.
+
+Pokud do panelu s podrobnostmi zahrnete toleranci skluzu, měli byste ji také umožnit upravovat přímo odtud. Toto je dobrý příklad „urychlovače“; šikovný trik v UX, který může zrychlit postupy zkušených uživatelů, aniž by to ovlivnilo obecnou použitelnost aplikace.
+
+
+
+Je dobré se pečlivě zamyslet nejen nad jednou konkrétní informací na jedné obrazovce, ale nad celým postupem: zadání čísel v hlavním formuláři → kontrola podrobností → kliknutí na obrazovku náhledu (pokud ji máte).
+Měl by být panel s podrobnostmi viditelný po celou dobu, nebo musí uživatel kliknout, aby ho rozbalil?
+Měli byste vytvářet tření přidáním obrazovky náhledu? To donutí uživatele zpomalit a zvážit svůj obchod, což může být užitečné. Ale chtějí vidět všechny stejné informace znovu? Co je pro ně v tuto chvíli nejužitečnější?
+
+## Možnosti návrhu {#design-options}
+
+Jak již bylo zmíněno, mnoho z toho závisí na vašem osobním stylu
+Kdo je váš uživatel?
+Jaká je vaše značka?
+Chcete „profesionální“ rozhraní, které zobrazuje každý detail, nebo chcete být minimalističtí?
+I když se zaměřujete na profesionální uživatele, kteří chtějí všechny možné informace, měli byste si pamatovat moudrá slova Alana Coopera:
+
+> Bez ohledu na to, jak krásné a skvělé je vaše rozhraní, bylo by lepší, kdyby ho bylo méně.
+
+### Struktura {#structure}
+
+- tokeny vlevo, nebo tokeny vpravo
+- 2 nebo 3 řádky
+- podrobnosti nad nebo pod tlačítkem
+- podrobnosti rozbalené, sbalené nebo nezobrazené
+
+### Styl komponenty {#component-style}
+
+- prázdný
+- s obrysem
+- vyplněný
+
+Z čistě UX hlediska na stylu UI záleží méně, než si myslíte. Vizuální trendy přicházejí a odcházejí v cyklech a mnoho preferencí je subjektivních.
+
+Nejjednodušší způsob, jak to pochopit – a přemýšlet o různých konfiguracích – je podívat se na několik příkladů a pak si sami zaexperimentovat.
+
+Přiložená sada pro Figmu obsahuje prázdné, obrysové a vyplněné komponenty.
+
+Podívejte se na níže uvedené příklady, abyste viděli různé způsoby, jak to všechno můžete složit dohromady:
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Ale na kterou stranu by měl token jít? {#but-which-side-should-the-token-go-on}
+
+Podstatné je, že to na použitelnost pravděpodobně nemá velký vliv. Existuje však několik věcí, které je třeba mít na paměti a které vás mohou přiklonit na jednu nebo druhou stranu.
+
+Je mírně zajímavé sledovat, jak se móda s časem mění. Uniswap měl původně token vlevo, ale od té doby ho přesunul doprava. Sushiswap také provedl tuto změnu během vylepšení designu. Většina, ale ne všechny protokoly následovaly.
+
+Finanční konvence tradičně umisťuje symbol měny před číslo, např. $50, €50, £50, ale my _říkáme_ 50 dolarů, 50 eur, 50 liber.
+
+Pro běžného uživatele – zejména pro toho, kdo čte zleva doprava, shora dolů – je token vpravo pravděpodobně přirozenější.
+
+
+
+Umístění tokenu vlevo a všech čísel vpravo vypadá příjemně symetricky, což je plus, ale toto uspořádání má i další nevýhodu.
+
+Zákon blízkosti říká, že prvky, které jsou blízko u sebe, jsou vnímány jako související. Proto chceme umisťovat související položky vedle sebe. Zůstatek tokenu přímo souvisí se samotným tokenem a změní se vždy, když je vybrán nový token. Proto dává o něco větší smysl, aby byl zůstatek tokenu vedle tlačítka pro výběr tokenu. Mohl by být přesunut pod token, ale to narušuje symetrii rozvržení.
+
+Nakonec mají obě možnosti svá plusy a mínusy, ale je zajímavé, jak se zdá, že trend směřuje k tokenu napravo.
+
+## Chování tlačítka {#button-behavior}
+
+Nemějte samostatné tlačítko pro Schválit. Také nemějte samostatné kliknutí pro Schválit. Uživatel chce směnit, takže na tlačítku stačí uvést „Směnit“ a jako první krok zahájit schválení. Modální okno může zobrazovat pokrok pomocí krokování nebo jednoduchého oznámení „transakce 1 ze 2 – schvalování“.
+
+
+
+
+
+### Tlačítko jako kontextová nápověda {#button-as-contextual-help}
+
+Tlačítko může sloužit dvojímu účelu jako upozornění!
+
+Je to vlastně poměrně neobvyklý designový vzor mimo Web3, ale v něm se stal standardem. Je to dobrá inovace, protože šetří místo a udržuje pozornost.
+
+Pokud je hlavní akce – SMĚNIT – nedostupná z důvodu chyby, důvod lze vysvětlit pomocí tlačítka, např.:
+
+- přepnout síť
+- připojit peněženku
+- různé chyby
+
+Tlačítko může být také **přiřazeno k akci**, která má být provedena. Například pokud uživatel nemůže provést směnu, protože je na špatné síti, na tlačítku by mělo být uvedeno „Přepnout na Ethereum“ a po kliknutí na tlačítko by se síť měla přepnout na Ethereum. To výrazně zrychluje postup uživatele.
+
+
+
+
+
+## Vytvořte si vlastní pomocí tohoto souboru Figma {#build-your-own-with-this-figma-file}
+
+Díky tvrdé práci několika protokolů se design DEX hodně zlepšil. Víme, jaké informace uživatel potřebuje, jak bychom je měli zobrazit a jak zajistit, aby byl postup co nejplynulejší.
+Doufejme, že tento článek poskytuje solidní přehled principů UX.
+
+Pokud chcete experimentovat, neváhejte použít sadu drátěných modelů pro Figma. Je co nejjednodušší, ale má dostatečnou flexibilitu k tomu, aby bylo možné základní strukturu sestavit různými způsoby.
+
+[Sada drátěných modelů pro Figma](https://www.figma.com/community/file/1393606680816807382/dex-wireframes-kit)
+
+DeFi se bude i nadále vyvíjet a vždy je co zlepšovat.
+
+Hodně štěstí!
diff --git a/public/content/translations/cs/developers/docs/design-and-ux/heuristics-for-web3/index.md b/public/content/translations/cs/developers/docs/design-and-ux/heuristics-for-web3/index.md
new file mode 100644
index 00000000000..1fbd91d1f49
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/design-and-ux/heuristics-for-web3/index.md
@@ -0,0 +1,138 @@
+---
+title: 7 heuristik pro návrh rozhraní Web3
+description: Principy pro zlepšení použitelnosti Web3
+lang: cs
+---
+
+Heuristiky použitelnosti jsou obecná „empirická pravidla“, která můžete použít k měření použitelnosti vašich stránek.
+Těchto 7 heuristik je speciálně přizpůsobeno pro Web3 a měly by se používat společně s [deseti obecnými principy pro návrh interakce](https://www.nngroup.com/articles/ten-usability-heuristics/) od Jakoba Nielsena.
+
+## Sedm heuristik použitelnosti pro Web3 {#seven-usability-heuristics-for-web3}
+
+1. Zpětná vazba následuje po akci
+2. Bezpečnost a důvěra
+3. Nejdůležitější informace jsou zřejmé
+4. Srozumitelná terminologie
+5. Akce jsou co nejkratší
+6. Síťová připojení jsou viditelná a flexibilní
+7. Ovládání z aplikace, nikoli z peněženky
+
+## Definice a příklady {#definitions-and-examples}
+
+### 1. Zpětná vazba následuje po akci {#feedback-follows-action}
+
+**Mělo by být zřejmé, kdy se něco stalo nebo se děje.**
+
+Uživatelé se rozhodují o svých dalších krocích na základě výsledku svých předchozích kroků. Proto je nezbytné, aby byli stále informováni o stavu systému. To je důležité zejména ve Web3, protože transakcím může někdy chvíli trvat, než se zapíší do blockchainu. Pokud není k dispozici žádná zpětná vazba, která by je informovala, aby počkali, uživatelé si nejsou jisti, zda se něco stalo.
+
+**Tipy:**
+
+- Informujte uživatele prostřednictvím zpráv, oznámení a dalších upozornění.
+- Srozumitelně sdělujte čekací doby.
+- Pokud bude akce trvat déle než několik sekund, uklidněte uživatele časovačem nebo animací, aby měli pocit, že se něco děje.
+- Pokud má proces více kroků, zobrazte každý krok.
+
+**Příklad:**
+Zobrazení každého kroku transakce pomáhá uživatelům vědět, kde se v procesu nacházejí. Vhodné ikony informují uživatele o stavu jejich akcí.
+
+
+
+### 2. Bezpečnost a důvěra jsou integrovány {#security-and-trust-are-backed-in}
+
+Bezpečnost by měla být prioritou a to by mělo být uživateli zdůrazněno.
+Lidem velmi záleží na jejich datech. Bezpečnost je pro uživatele často primárním zájmem, proto by se na ni mělo myslet na všech úrovních návrhu. Vždy byste se měli snažit získat důvěru svých uživatelů, ale způsob, jakým to děláte, se může u různých aplikací lišit. Nemělo by se na to myslet dodatečně, ale mělo by to být vědomě navrženo v celém rozsahu. Budujte důvěru v rámci celé uživatelské zkušenosti, včetně sociálních kanálů a dokumentace, a také konečného uživatelského rozhraní. Věci jako úroveň decentralizace, stav multi-sig pokladnice a to, zda je tým „doxxed“ (veřejně známý), to vše ovlivňuje důvěru uživatelů.
+
+**Tipy:**
+
+- Hrdě uvádějte své audity
+- Získejte několik auditů
+- Propagujte všechny bezpečnostní funkce, které jste navrhli
+- Zvýrazněte možná rizika, včetně souvisejících integrací
+- Sdělujte složitost strategií
+- Zvažte problémy mimo uživatelské rozhraní, které by mohly ovlivnit vnímání bezpečnosti vašimi uživateli
+
+**Příklad:**
+Uveďte své audity v zápatí na viditelném místě.
+
+
+
+### 3. Nejdůležitější informace jsou zřejmé {#the-most-important-info-is-obvious}
+
+U složitých systémů zobrazujte pouze nejrelevantnější data. Určete, co je nejdůležitější, a upřednostněte zobrazení těchto informací.
+Příliš mnoho informací je zahlcující a uživatelé se při rozhodování obvykle soustředí na jednu informaci. V DeFi to bude pravděpodobně RPSN u výnosových aplikací a LTV u aplikací pro půjčování.
+
+**Tipy:**
+
+- Uživatelský průzkum odhalí nejdůležitější metriku
+- Klíčové informace udělejte velké a ostatní detaily malé a nenápadné
+- Lidé nečtou, ale prolétávají text očima; zajistěte, aby byl váš design snadno přehledný
+
+**Příklad:** Velké, plně barevné tokeny lze při rychlém procházení snadno najít. RPSN je velká a zvýrazněná doplňkovou barvou.
+
+
+
+### 4. Jasná terminologie {#clear-terminology}
+
+Terminologie by měla být srozumitelná a vhodná.
+Technický žargon může být obrovskou překážkou, protože vyžaduje vytvoření zcela nového mentálního modelu. Uživatelé si nedokážou spojit design se slovy, frázemi a koncepty, které již znají. Všechno se zdá matoucí a neznámé a je zde strmá křivka učení, než se vůbec pokusí aplikaci použít. Uživatel může přijít k DeFi s tím, že si chce ušetřit nějaké peníze, a najde: těžbu, farming, stakování, emise, úplatky, trezory, skříňky, veTokeny, vesting, epochy, decentralizované algoritmy, likviditu vlastněnou protokolem…
+Snažte se používat jednoduché termíny, kterým porozumí co nejširší skupina lidí. Nevymýšlejte zcela nové termíny jen pro svůj projekt.
+
+**Tipy:**
+
+- Používejte jednoduchou a konzistentní terminologii
+- Co nejvíce používejte stávající jazyk
+- Nevymýšlejte si vlastní termíny
+- Dodržujte konvence tak, jak se objevují
+- Co nejvíce vzdělávejte uživatele
+
+**Příklad:**
+„Vaše odměny“ je široce srozumitelný, neutrální termín; nikoliv nové slovo vymyšlené pro tento projekt. Odměny jsou denominovány v USD, aby odpovídaly mentálním modelům reálného světa, i když samotné odměny jsou v jiném tokenu.
+
+
+
+### 5. Akce jsou co nejkratší {#actions-are-as-short-as-possible}
+
+Zrychlete interakce uživatele seskupením dílčích akcí.
+To lze provést na úrovni chytrého kontraktu i na úrovni uživatelského rozhraní. Uživatel by se neměl muset přesouvat z jedné části systému do druhé – nebo systém zcela opouštět – aby dokončil běžnou akci.
+
+**Tipy:**
+
+- Kombinujte „Schválit“ s jinými akcemi, kde je to možné
+- Seskupte kroky podepisování co nejblíže k sobě
+
+**Příklad:** Kombinace „přidat likviditu“ a „stakovat“ je jednoduchým příkladem urychlovače, který uživateli šetří čas i palivo.
+
+
+
+### 6. Síťová připojení jsou viditelná a flexibilní {#network-connections-are-visible-and-flexible}
+
+Informujte uživatele o tom, ke které síti je připojen, a poskytněte jasné zkratky pro změnu sítě.
+To je důležité zejména u multichain aplikací. Hlavní funkce aplikace by měly být stále viditelné, i když je odpojena nebo připojena k nepodporované síti.
+
+**Tipy:**
+
+- Při odpojení zobrazte co nejvíce z aplikace
+- Zobrazte, ke které síti je uživatel aktuálně připojen
+- Nenuťte uživatele chodit do peněženky, aby změnil síť
+- Pokud aplikace vyžaduje, aby uživatel přepnul síť, vyzvěte k akci z hlavní výzvy k akci
+- Pokud aplikace obsahuje trhy nebo trezory pro více sítí, jasně uveďte, kterou sadu si uživatel právě prohlíží
+
+**Příklad:** Ukažte uživateli, ke které síti je připojen, a umožněte mu ji změnit v panelu aplikace.
+
+
+
+### 7. Ovládání z aplikace, nikoli z peněženky {#control-from-the-app-not-the-wallet}
+
+Uživatelské rozhraní by mělo uživateli sdělit vše, co potřebuje vědět, a dát mu kontrolu nad vším, co potřebuje udělat.
+Ve Web3 existují akce, které provádíte v uživatelském rozhraní, a akce, které provádíte v peněžence. Obecně platí, že akci zahájíte v uživatelském rozhraní a poté ji potvrdíte v peněžence. Uživatelé se mohou cítit nepříjemně, pokud tyto dvě části nejsou pečlivě integrovány.
+
+**Tipy:**
+
+- Informujte o stavu systému prostřednictvím zpětné vazby v uživatelském rozhraní
+- Veďte záznamy o jejich historii
+- Poskytněte odkazy na prohlížeče bloků pro staré transakce
+- Poskytněte zkratky pro změnu sítí.
+
+**Příklad:** Nenápadný kontejner ukazuje uživateli, jaké relevantní tokeny má ve své peněžence, a hlavní výzva k akci poskytuje zkratku ke změně sítě.
+
+
diff --git a/public/content/translations/cs/developers/docs/design-and-ux/index.md b/public/content/translations/cs/developers/docs/design-and-ux/index.md
new file mode 100644
index 00000000000..977a329af24
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/design-and-ux/index.md
@@ -0,0 +1,86 @@
+---
+title: Design a UX ve web3
+description: Úvod do UX designu a výzkumu ve web3 prostoru a v ekosystému Etherea
+lang: cs
+---
+
+Jste v navrhování pro Ethereum nováčci? Pak jste na správném místě. Komunita Etherea vytvořila zdroje, které vás seznámí se základy designu a výzkumu v prostředí web3. Dozvíte se zde se o klíčových konceptech, které se mohou lišit od jiných návrhů aplikací, se kterými jste se už setkali.
+
+Zatím nejste obeznámeni se základy web3? Podívejte se na [**Centrum vzdělávání**](/learn/).
+
+## Začněte s uživatelským výzkumem {#start-with-user-research}
+
+Efektivní design jde nad rámec tvorby vizuálně atraktivních uživatelských rozhraní. Zahrnuje hluboké pochopení potřeb, cílů a motivačních faktorů uživatelů. Proto všem návrhářům důrazně doporučujeme, aby si osvojili proces návrhu, jako je [**proces dvojitého diamantu**](https://en.wikipedia.org/wiki/Double_Diamond_\(design_process_model\)), aby bylo zajištěno, že jejich práce bude promyšlená a cílevědomá.
+
+- [Web3 potřebuje více UX výzkumníků a designérů](https://blog.akasha.org/akasha-conversations-9-web3-needs-more-ux-researchers-and-designers) – Přehled současné vyspělosti designu
+- [Jednoduchý průvodce UX výzkumem ve webu3](https://uxplanet.org/a-complete-guide-to-ux-research-for-web-3-0-products-d6bead20ebb1) – Jednoduchý průvodce, jak provádět výzkum
+- [Jak přistupovat k rozhodnutím ohledně UX ve webu3](https://archive.devcon.org/archive/watch/6/data-empathy-how-to-approach-ux-decisions-in-web3/) – Stručný přehled kvantitativního a kvalitativního výzkumu a rozdílů mezi nimi (video, 6 min)
+- [Být UX výzkumníkem ve webu3](https://medium.com/@georgia.rakusen/what-its-like-being-a-user-researcher-in-web3-6a4bcc096849) – Osobní pohled na to, jaké to je být UX výzkumníkem ve webu3
+
+## Výzkumné studie ve webu3 {#research-in-web3}
+
+Níže najdete kurátorský seznam uživatelských výzkumů, které byly ve web3 realizovány v minulosti: Může vám pomoci s designovými a produktovými rozhodnutími nebo posloužit jako inspirace k provedení vlastního výzkumu.
+
+| Oblast zájmu | Název |
+| :------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Krypto onboarding | [The Reown Pulse 2024: Nálada a používání kryptoměn spotřebiteli](https://reown.com/blog/unveiling-walletconnects-consumer-crypto-report) |
+| Krypto onboarding | [CRADL: UX v kryptoměnách](https://docs.google.com/presentation/d/1s2OPSH5sMJzxRYaJSSRTe8W2iIoZx0PseIV-WeZWD1s/edit?usp=sharing) |
+| Krypto onboarding | [CRADL: On-boarding do světa kryptoměn](https://docs.google.com/presentation/d/1R9nFuzA-R6SxaGCKhoMbE4Vxe0JxQSTiHXind3LVq_w/edit?usp=sharing) |
+| Krypto onboarding | [Zpráva o UX Bitcoinu](https://github.com/patestevao/BitcoinUX-report/blob/master/report.md) |
+| Krypto onboarding | [Consensys: Stav vnímání webu3 ve světě v roce 2023](https://consensys.io/insight-report/web3-and-crypto-global-survey-2023) |
+| Krypto onboarding | [NEAR: Urychlení cesty k přijetí](https://drive.google.com/file/d/1VuaQP4QSaQxR5ddQKTMGI0b0rWdP7uGn/view) |
+| Staking | [OpenUX: UX operátora uzlu Rocket Pool](https://storage.googleapis.com/rocketpool/RocketPool-NodeOperator-UX-Report-Jan-2024.pdf) |
+| Staking | [Staking: Klíčové trendy, poznatky a předpovědi – Eth Staker](https://lookerstudio.google.com/u/0/reporting/cafcee00-e1af-4148-bae8-442a88ac75fa/page/p_ja2srdhh2c?s=hmbTWDh9hJo) |
+| Staking | [Víceaplikační staking](https://github.com/threshold-network/UX-User-Research/blob/main/Multi-App%20Staking%20\(MAS\)/iterative-user-study/MAS%20Iterative%20User%20Study.pdf) |
+| DAO | [Aktualizace výzkumu DAO za rok 2022: Co potřebují tvůrci DAO?](https://blog.aragon.org/2022-dao-research-update/) |
+| DeFi | [Pooly krytí](https://github.com/threshold-network/UX-User-Research/tree/main/Keep%20Coverage%20Pool) |
+| DeFi | [Consensys: Zpráva o uživatelském výzkumu DeFi 2022](https://cdn2.hubspot.net/hubfs/4795067/ConsenSys%20Codefi-Defi%20User%20ResearchReport.pdf) |
+| Metaverzum | [Metaverzum: Zpráva o uživatelském výzkumu](https://www.politico.com/f/?id=00000187-7685-d820-a7e7-7e85d1420000) |
+| Metaverzum | [Jako na safari: Výzkum uživatelů v metaverzu](https://archive.devcon.org/archive/watch/6/going-on-safari-researching-users-in-the-metaverse/?tab=YouTube) (video, 27 min) |
+
+## Design pro web3 {#design-for-web3}
+
+- [Web3 UX Design Handbook](https://web3ux.design/) – Praktický průvodce návrhem aplikací pro web3
+- [Principy designu pro web3](https://medium.com/@lyricalpolymath/web3-design-principles-f21db2f240c1) – Rámec pravidel UX pro dapps založené na blockchainu
+- [Principy designu pro blockchain](https://medium.com/design-ibm/blockchain-design-principles-599c5c067b6e) – Zkušenosti designérského týmu pro blockchain v IBM
+- [Neueux.com](https://neueux.com/apps) – Knihovna uživatelského rozhraní s uživatelskými toky s různými možnostmi filtrování
+- [Web3's Usability Crisis: What You NEED to Know!](https://www.youtube.com/watch?v=oBSXT_6YDzg) – Panelová diskuze o úskalích tvorby projektů zaměřených na vývojáře (video, 34 min)
+
+## Začínáme {#getting-started}
+
+- [Heuristiky pro web3](/developers/docs/design-and-ux/heuristics-for-web3/) – 7 heuristik pro návrh rozhraní webu3
+- [Osvědčené postupy pro design DEX](/developers/docs/design-and-ux/dex-design-best-practice/) – Průvodce navrhováním decentralizovaných burz
+
+## Případové studie designu pro web3 {#design-case-studies}
+
+- [Deep Work Studio](https://www.deepwork.studio/case-studies)
+- [Prodej NFT na OpenSea](https://builtformars.com/case-studies/opensea)
+- [Analýza UX peněženek a jak se musí změnit](https://www.youtube.com/watch?v=oTpuxYj8JWI&ab_channel=ETHDenver) (video, 20 min)
+
+## Odměny za design {#bounties}
+
+- [Dework](https://app.dework.xyz/bounties)
+- [Buildbox hackathons](https://app.buidlbox.io/)
+- [ETHGlobal hackathons](https://ethglobal.com/)
+
+## Designérské DAO a komunity {#design-daos-and-communities}
+
+Zapojte se do profesionálních komunitně řízených organizací nebo se připojte ke skupinám designérů a diskutujte o designu, výzkumu a souvisejících tématech a trendech s ostatními členy.
+
+- [Vectordao.com](https://vectordao.com/)
+- [Deepwork.studio](https://www.deepwork.studio/)
+- [We3.co](https://we3.co/)
+- [Openux.xyz](https://openux.xyz/)
+
+## Design systémy a další designérské zdroje {#design-systems-and-resources}
+
+- [Optimism Design](https://www.figma.com/@optimism) (Figma)
+- [Design systém Ethereum.org](https://www.figma.com/@ethdotorg) (Figma)
+- [Finity, design systém od Polygonu](https://www.figma.com/community/file/1073921725197233598/finity-design-system) (Figma)
+- [Design systém Kleros](https://www.figma.com/community/file/999852250110186964/kleros-design-system) (Figma)
+- [Design systém Safe](https://www.figma.com/community/file/1337417127407098506/safe-design-system) (Figma)
+- [Design systém ENS](https://thorin.ens.domains/)
+- [Design systém Mirror](https://degen-xyz.vercel.app/)
+
+**Články a projekty uvedené na této stránce nejsou oficiálními doporučeními a jsou zde uvedeny pouze pro informační účely.**
+Odkazy na tuto stránku přidáváme na základě kritérií v našich [zásadách pro zařazování do seznamu](/contributing/design/adding-design-resources). Pokud chcete, abychom přidali projekt/článek, upravte tuto stránku na [GitHubu](https://github.com/ethereum/ethereum-org-website/blob/dev/public/content/developers/docs/design-and-ux/index.md).
diff --git a/public/content/translations/cs/developers/docs/development-networks/index.md b/public/content/translations/cs/developers/docs/development-networks/index.md
new file mode 100644
index 00000000000..6e437efb921
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/development-networks/index.md
@@ -0,0 +1,71 @@
+---
+title: Vývojové sítě
+description: Přehled vývojových sítí a dostupných nástrojů, nápomocných při vytváření aplikací pro Ethereum.
+lang: cs
+---
+
+Když vytváříte aplikaci pro Ethereum se smart kontrakty, budete ji chtít před nasazením spustit nejdříve v místní síti, abyste zjistili, jak funguje.
+
+Podobně jako můžete na svém počítači spustit lokální server pro vývoj webu, můžete pomocí vývojové sítě vytvořit lokální instanci blockchainu a otestovat svou dapp. Tyto vývojové sítě Etherea poskytují funkce, které umožňují mnohem rychlejší iteraci než veřejná testovací síť (například nemusíte řešit získávání ETH).
+
+## Předpoklady {#prerequisites}
+
+Měli byste rozumět [základům Ethereum stacku](/developers/docs/ethereum-stack/) a [ethereových sítí](/developers/docs/networks/), než se pustíte do vývojových sítí.
+
+## Co je to vývojová síť? {#what-is-a-development-network}
+
+Vývojové sítě jsou v zásadě klienti Etherea (implementace Etherea) navrženi speciálně pro lokální vývoj.
+
+**Proč jen lokálně nespustit standardní uzel Etherea?**
+
+_Můžete_ [spustit uzel](/developers/docs/nodes-and-clients/#running-your-own-node), ale protože vývojové sítě jsou účelově vytvořeny pro vývoj, často obsahují praktické funkce, jako jsou:
+
+- Deterministické naplnění vašeho lokálního blockchainu daty (např. účty se zůstatky ETH)
+- Okamžitá produkce bloků s každou přijatou transakcí, a to popořadě a bez zpoždění
+- Vylepšená funkce debugování a protokolování
+
+## Dostupné nástroje {#available-projects}
+
+**Poznámka**: Většina [vývojových frameworků](/developers/docs/frameworks/) obsahuje vestavěnou vývojovou síť. Doporučujeme začít s frameworkem pro [nastavení vašeho lokálního vývojového prostředí](/developers/local-environment/).
+
+### Hardhat Network {#hardhat-network}
+
+Lokální síť Etherea určená pro vývoj. Umožňuje nasazovat kontrakty, spouštět testy a ladit kód.
+
+Síť Hardhat Network je integrovaná s Hardhatem, vývojovým prostředím Etherea pro profesionály.
+
+- [Webové stránky](https://hardhat.org/)
+- [GitHub](https://github.com/NomicFoundation/hardhat)
+
+### Lokální řetězové vazby {#local-beacon-chains}
+
+Někteří konsensuální klienti mají vestavěné nástroje pro spuštění lokálních řetězových vazeb pro účely testování. Jsou k dispozici pokyny pro Lighthouse, Nimbus a Lodestar:
+
+- [Lokální testovací síť s použitím Lodestar](https://chainsafe.github.io/lodestar/contribution/advanced-topics/setting-up-a-testnet#post-merge-local-testnet/)
+- [Lokální testovací síť s použitím Lighthouse](https://lighthouse-book.sigmaprime.io/setup.html#local-testnets)
+
+### Veřejné testovací řetězce Etherea {#public-beacon-testchains}
+
+Existují také dvě udržované veřejné testovací implementace Etherea: Sepolia a Hoodi. Doporučenou testovací sítí s dlouhodobou podporou je Hoodi, na které může kdokoli volně validovat. Sepolia používá sadu validátorů s oprávněním, což znamená, že na této testovací síti není obecný přístup k novým validátorům.
+
+- [Hoodi Staking Launchpad](https://hoodi.launchpad.ethereum.org/)
+
+### Kurtosis Ethereum Package {#kurtosis}
+
+Kurtosis je systém pro sestavování testovacích prostředí s více kontejnery, který vývojářům umožňuje lokálně spouštět reprodukovatelné instance blockchainových sítí.
+
+Balíček Ethereum Kurtosis lze použít k rychlému vytvoření parametrizovatelné, vysoce škálovatelné a soukromé testovací sítě Ethereum přes Docker nebo Kubernetes. Balíček podporuje všechny hlavní klienty exekuční vrstvy (EL) a vrstvy konsensu (CL). Kurtosis elegantně zpracovává všechna lokální mapování portů a servisní připojení pro reprezentativní síť, která se má používat v pracovních postupech validace a testování týkajících se základní infrastruktury Etherea.
+
+- [Ethereum network package](https://github.com/kurtosis-tech/ethereum-package)
+- [Webové stránky](https://www.kurtosis.com/)
+- [GitHub](https://github.com/kurtosis-tech/kurtosis)
+- [Dokumentace](https://docs.kurtosis.com/)
+
+## Další čtení {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+## Související témata {#related-topics}
+
+- [Vývojářské frameworky](/developers/docs/frameworks/)
+- [Nastavení lokálního vývojového prostředí](/developers/local-environment/)
diff --git a/public/content/translations/cs/developers/docs/ethereum-stack/index.md b/public/content/translations/cs/developers/docs/ethereum-stack/index.md
new file mode 100644
index 00000000000..d17de489be9
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/ethereum-stack/index.md
@@ -0,0 +1,61 @@
+---
+title: Úvod do stacku Etherea
+description: Průvodce různými vrstvami Ethereum zásobníku a tím, jak do sebe zapadají.
+lang: cs
+---
+
+Stejně jako každý softwarový zásobník se i kompletní „Ethereum zásobník“ bude lišit projekt od projektu v závislosti na vašich cílech.
+
+Existují však základní komponenty Etherea, které pomáhají vytvořit mentální model interakce softwarových aplikací s ethereovým blockchainem. Pochopení vrstev zásobníku vám pomůže porozumět různým způsobům, jak lze Ethereum integrovat do softwarových projektů.
+
+## Úroveň 1: Ethereum Virtual Machine {#ethereum-virtual-machine}
+
+[Virtuální stroj Etherea (EVM)](/developers/docs/evm/) je běhové prostředí pro chytré kontrakty na Ethereu. Všechny chytré kontrakty a změny stavu na blockchainu Etherea jsou prováděny [transakcemi](/developers/docs/transactions/). EVM zajišťuje veškeré zpracování transakcí v síti Ethereum.
+
+Stejně jako u každého virtuálního stroje vytváří EVM úroveň abstrakce mezi prováděným kódem a vykonávajícím strojem (uzlem Etherea). V současné době běží EVM na tisících uzlů rozmístěných po celém světě.
+
+Pod kapotou používá EVM sadu instrukcí opkódu k provádění konkrétních úloh. Těchto (140 unikátních) opkódů umožňuje, aby byl EVM [Turingovsky kompletní](https://en.wikipedia.org/wiki/Turing_completeness), což znamená, že pokud má dostatek zdrojů, je schopen vypočítat téměř cokoli.
+
+Jako vývojář dapps nemusíte o EVM vědět o moc víc než to, že existuje a spolehlivě a bez výpadků pohání všechny aplikace na Ethereu.
+
+## Úroveň 2: Chytré kontrakty {#smart-contracts}
+
+[Chytré kontrakty](/developers/docs/smart-contracts/) jsou spustitelné programy, které běží na ethereovém blockchainu.
+
+Chytré kontrakty se píší pomocí specifických [programovacích jazyků](/developers/docs/smart-contracts/languages/), které se kompilují do bajtkódu EVM (nízkoúrovňové strojové instrukce nazývané opkódy).
+
+Chytré kontrakty neslouží jen jako open source knihovny, ale jsou to v podstatě otevřené služby API, které jsou neustále v provozu a nelze je vypnout. Chytré kontrakty poskytují veřejné funkce, se kterými mohou uživatelé a aplikace ([dapps](/developers/docs/dapps/)) interagovat bez nutnosti povolení. Jakákoli aplikace se může integrovat s nasazenými chytrými kontrakty a skládat tak funkcionalitu, jako je přidávání [datových kanálů](/developers/docs/oracles/) nebo podpora směny tokenů. Kdokoli může navíc na Ethereum nasadit nové chytré kontrakty a přidat tak vlastní funkcionalitu, která bude vyhovovat potřebám jeho aplikace.
+
+Jako vývojář dec. aplikací budete muset psát smart kontrakty pouze v případě, že budete chtít přidat vlastní funkcionalitu do blockchainu Etherea. Možná zjistíte, že většiny nebo všech potřeb vašeho projektu dosáhnete pouhou integrací s již existujícími smart kontrakty, například pokud chcete podporovat platby ve stablecoinech nebo umožnit decentralizovanou výměnu tokenů.
+
+## Úroveň 3: Ethereové uzly {#ethereum-nodes}
+
+Aby mohla aplikace interagovat s ethereovým blockchainem, musí se připojit k [ethereovému uzlu](/developers/docs/nodes-and-clients/). Připojení k uzlu vám umožní číst data z blockchainu a/nebo posílat transakce do sítě.
+
+Ethereum uzly jsou počítače se spuštěným softwarem - Ethereum klientem. Klient je implementace Etherea, která ověřuje všechny transakce v každém bloku, čímž zajišťuje bezpečnost sítě a přesnost dat. **Ethereové uzly JSOU ethereový blockchain**. Společně uchovávají stav blockchainu Etherea a dosahují konsensu o transakcích, které mají za cíl měnit stav blockchainu.
+
+Připojením vaší aplikace k ethereovému uzlu (prostřednictvím [JSON-RPC API](/developers/docs/apis/json-rpc/)) je vaše aplikace schopna číst data z blockchainu (například zůstatky na uživatelských účtech) a také vysílat do sítě nové transakce (například převod ETH mezi uživatelskými účty nebo provádění funkcí chytrých kontraktů).
+
+## Úroveň 4: Klientská API pro Ethereum {#ethereum-client-apis}
+
+Mnoho pomocných knihoven (vytvořených a spravovaných open source komunitou Etherea) umožňuje vašim aplikacím připojit se k ethereovému blockchainu a komunikovat s ním.
+
+Pokud je vaše uživatelská aplikace webová, můžete si zvolit `npm install` [JavaScript API](/developers/docs/apis/javascript/) přímo do frontendu. Nebo se možná rozhodnete implementovat tuto funkcionalitu na straně serveru pomocí API pro [Python](/developers/docs/programming-languages/python/) nebo [Javu](/developers/docs/programming-languages/java/).
+
+I když tato API nejsou nezbytnou součástí zásobníku, abstrahují od velké části složitosti přímé interakce s ethereovým uzlem. Poskytují také pomocné funkce (např. převod ETH na Gwei), takže jako vývojář můžete strávit méně času řešením složitostí klientů Etherea a více času se soustředit na funkcionalitu specifickou pro vaši aplikaci.
+
+## Úroveň 5: Aplikace pro koncové uživatele {#end-user-applications}
+
+Na nejvyšší úrovni zásobníku jsou aplikace určené pro uživatele. Jedná se o standardní aplikace, které dnes běžně vytváříte a používáte: především webové a mobilní aplikace.
+
+Způsob vývoje těchto uživatelských rozhraní se v podstatě nemění. Uživatelé často nebudou potřebovat vědět, že aplikace, kterou používají, je vytvořena pomocí blockchainu.
+
+## Jste připraveni vybrat si svůj zásobník? {#ready-to-choose-your-stack}
+
+Podívejte se na našeho průvodce [nastavením místního vývojového prostředí](/developers/local-environment/) pro vaši ethereovou aplikaci.
+
+## Další čtení {#further-reading}
+
+- [Architektura aplikace Web 3.0](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) – _Preethi Kasireddy_
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/evm/index.md b/public/content/translations/cs/developers/docs/evm/index.md
index 8e2502a19bd..2f3bb1d61ad 100644
--- a/public/content/translations/cs/developers/docs/evm/index.md
+++ b/public/content/translations/cs/developers/docs/evm/index.md
@@ -4,74 +4,84 @@ description: Úvod do virtuálního stroje Etherea a jeho vztah ke stavu, transa
lang: cs
---
-Virtuální stroj Etherea (EVM) je decentralizované virtuální prostředí, které konzistentně a bezpečně vykonává kód na všech uzlech Etherea. Uzly spouštějí EVM, aby vykonávaly chytré kontrakty, přičemž používají jednotky „[paliva](/developers/docs/gas/)“ k měření výpočetního úsilí potřebného pro tyto [operace](/developers/docs/evm/opcodes/), což zajišťuje efektivní alokaci zdrojů a bezpečnost sítě.
+Virtuální stroj Etherea (EVM) je decentralizované virtuální prostředí, které konzistentně a bezpečně vykonává kód na všech uzlech Etherea. Uzly spouštějí EVM k provádění chytrých kontraktů a používají "[palivo](/developers/docs/gas/)" k měření výpočetní náročnosti [operací](/developers/docs/evm/opcodes/), čímž zajišťují efektivní alokaci zdrojů a bezpečnost sítě.
## Předpoklady {#prerequisites}
-Pro pochopení EVM je nutné mít základní povědomí o běžné terminologii v informatice, jako jsou [bajty](https://wikipedia.org/wiki/Byte), [paměť](https://wikipedia.org/wiki/Computer_memory) a [zásobník](https://wikipedia.org/wiki/Stack_(abstract_data_type)). Také se hodí mít znalosti z oblasti kryptografie a blockchainu, např. o [hashovacích funkcích](https://wikipedia.org/wiki/Cryptographic_hash_function) a [Merkle tree](https://wikipedia.org/wiki/Merkle_tree).
+Pro pochopení EVM je nutné mít základní znalosti běžné terminologie v informatice, jako jsou [bajty](https://wikipedia.org/wiki/Byte), [paměť](https://wikipedia.org/wiki/Computer_memory) a [zásobník](https://wikipedia.org/wiki/Stack_\(abstract_data_type\)). Také by bylo užitečné se seznámit s kryptografickými/blockchainovými koncepty, jako jsou [hašovací funkce](https://wikipedia.org/wiki/Cryptographic_hash_function) a [Merkleho strom](https://wikipedia.org/wiki/Merkle_tree).
## Od účetní knihy ke stavovému stroji {#from-ledger-to-state-machine}
Přirovnání k „distribuované účetní knize“ se často používá k popisu blockchainů, jako je Bitcoin, které mají decentralizovanou měnu s využitím základních nástrojů kryptografie. Účetní kniha udržuje záznam aktivit za současného dodržování souboru pravidel, která určují, co může a nemůže uživatel dělat při úpravě této knihy. Např. bitcoinová adresa nemůže utratit více Bitcoinů, než kolik jich předtím obdržela. Tato pravidla jsou základem všech transakcí na Bitcoinu a mnoha dalších blockchainech.
-Ethereum sice má vlastní nativní kryptoměnu (ether), která se řídí téměř stejnými intuitivními pravidly, ale zároveň umožňuje mnohem výkonnější funkce: [chytré kontrakty](/developers/docs/smart-contracts/). Pro tuto složitější funkci potřebujeme sofistikovanější přirovnání. Namísto distribuované účetní knihy je Ethereum distribuovaný [stavový stroj](https://wikipedia.org/wiki/Finite-state_machine). Stav Etherea je velká datová struktura, která obsahuje nejen všechny účty a zůstatky, ale také _stav stroje_, který se může měnit od bloku k bloku podle předem definovaného souboru pravidel a který může vykonávat libovolný strojový kód. Specifická pravidla pro změnu stavu od bloku k bloku jsou definována v EVM.
+Ethereum sice má svou vlastní nativní kryptoměnu (ether), která se řídí téměř úplně stejnými intuitivními pravidly, ale zároveň umožňuje mnohem výkonnější funkci: [chytré kontrakty](/developers/docs/smart-contracts/). Pro tuto složitější funkci potřebujeme sofistikovanější přirovnání. Místo distribuované účetní knihy je Ethereum distribuovaný [stavový stroj](https://wikipedia.org/wiki/Finite-state_machine). Stav Etherea je velká datová struktura, která obsahuje nejen všechny účty a zůstatky, ale také _stav stroje_, který se může měnit z bloku na blok podle předem definované sady pravidel a který může vykonávat libovolný strojový kód. Specifická pravidla pro změnu stavu od bloku k bloku jsou definována v EVM.
- _Schéma převzato z [ilustrace Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+
+_Diagram převzatý z [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
-## Funkce změny stavu na Ethereu {#the-ethereum-state-transition-function}
+## Funkce přechodu stavu Etherea {#the-ethereum-state-transition-function}
-EVM se chová jako matematická funkce: Na základě vstupu produkuje deterministický výstup. Je tedy užitečné formálněji popsat Ethereum jako systém s **funkcí změny stavu**:
+EVM se chová jako matematická funkce: Na základě vstupu produkuje deterministický výstup. Je proto velmi užitečné formálněji popsat Ethereum tak, že má **funkci přechodu stavu**:
```
Y(S, T)= S'
```
-Na základě starého platného stavu `(S)` a nové sady platných transakcí `(T)` funkce změny stavu Etherea `Y(S, T)` vytvoří nový platný výstupní stav `S'`.
+Je-li dán starý platný stav `(S)` a nová sada platných transakcí `(T)`, funkce přechodu stavu Etherea `Y(S, T)` vytvoří nový platný výstupní stav `S'`
### Stav {#state}
-V kontextu Etherea je stav obrovská datová struktura nazývaná [modifikovaný Merkle Patricia Trie](/developers/docs/data-structures-and-encoding/patricia-merkle-trie/), která udržuje všechny [účty](/developers/docs/accounts/) propojené pomocí hashů a redukovatelné na jediný kořenový hash uložený na blockchainu.
+V kontextu Etherea je stav obrovská datová struktura zvaná [modifikovaný Merkle Patricia Trie](/developers/docs/data-structures-and-encoding/patricia-merkle-trie/), která uchovává všechny [účty](/developers/docs/accounts/) propojené haši a redukovatelné na jeden kořenový haš uložený na blockchainu.
### Transakce {#transactions}
Transakce jsou kryptograficky podepsané instrukce poslané z účtů. Existují dva typy transakcí: Ty, jejich výsledkem je volání zpráv (message calls), a ty, které vedou k vytvoření kontraktu.
-Vytvoření kontraktu vede k vytvoření nového kontraktového účtu, který obsahuje zkompilovaný bytecode [chytrého kontraktu](/developers/docs/smart-contracts/anatomy/). Kdykoli jiný účet vyšle zprávu na tento kontrakt, vykoná se jeho bytecode.
+Vytvoření kontraktu vede k vytvoření nového účtu kontraktu, který obsahuje zkompilovaný bytecode [chytrého kontraktu](/developers/docs/smart-contracts/anatomy/). Kdykoli jiný účet vyšle zprávu na tento kontrakt, vykoná se jeho bytecode.
## Instrukce EVM {#evm-instructions}
-EVM funguje jako [zásobníkový stroj](https://wikipedia.org/wiki/Stack_machine) s hloubkou 1 024 položek. Každá položka je 256bitové slovo, které bylo zvoleno pro snadné použití s 256bitovou kryptografií (např. hashe Keccak-256 nebo podpisy secp256k1).
+EVM se spouští jako [zásobníkový stroj](https://wikipedia.org/wiki/Stack_machine) s hloubkou 1024 položek. Každá položka je 256bitové slovo, které bylo zvoleno pro snadné použití s 256bitovou kryptografií (např. hashe Keccak-256 nebo podpisy secp256k1).
-Během vykonávání EVM udržuje přechodnou _paměť_ (jako bajtové pole adresované slovy), která nepřetrvává mezi transakcemi.
+Během provádění udržuje EVM přechodnou _paměť_ (jako bajtové pole adresované slovem), která se mezi transakcemi neuchovává.
-Kontrakty však obsahují trie _úložiště_ Merkle Patricia (jako pole adresovatelné slovy), které je spojeno s příslušným účtem a je součástí globálního stavu.
+### Přechodné úložiště
-Zkompilovaný bytecode chytrého kontraktu se vykonává jako řada [opkódů](/developers/docs/evm/opcodes) EVM, které provádějí standardní zásobníkové operace jako `XOR`, `AND`, `ADD`, `SUB` atd. EVM také implementuje několik blockchainově specifických zásobníkových operací, jako je `ADDRESS`, `BALANCE`, `BLOCKHASH` atd.
+Přechodné úložiště je úložiště klíč–hodnota pro jednotlivé transakce, ke kterému se přistupuje pomocí opkódů `TSTORE` a `TLOAD`. Zůstává zachováno napříč všemi interními voláními během jedné transakce, ale na konci transakce se vymaže. Na rozdíl od paměti je přechodné úložiště modelováno jako součást stavu EVM, nikoli jako součást exekučního rámce, ale není zapsáno do globálního stavu. Přechodné úložiště umožňuje úsporné dočasné sdílení stavu mezi interními voláními během transakce.
- _Diagram převzat z [ilustrovaného Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+### Úložiště
+
+Kontrakty obsahují Merkle Patricia _úložiště_ trie (jako pole slov adresovatelné slovy), které je spojeno s příslušným účtem a je součástí globálního stavu. Toto trvalé úložiště se liší od přechodného úložiště, které je k dispozici pouze po dobu trvání jedné transakce a netvoří součást trvalého úložiště trie účtu.
+
+### Opkódy
+
+Zkompilovaný bytecode chytrého kontraktu se provádí jako řada [opkódů](/developers/docs/evm/opcodes) EVM, které provádějí standardní zásobníkové operace jako `XOR`, `AND`, `ADD`, `SUB` atd. EVM také implementuje řadu blockchainově specifických operací se zásobníkem, jako jsou `ADDRESS`, `BALANCE`, `BLOCKHASH` atd. Sada opkódů zahrnuje také `TSTORE` a `TLOAD`, které poskytují přístup k přechodnému úložišti.
+
+
+_Diagramy převzaty z [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
## Implementace EVM {#evm-implementations}
Všechny implementace EVM musí dodržovat specifikaci popsanou v Ethereum Yellowpaperu.
-Během devítileté historie Etherea prošlo EVM několika revizemi a existuje několik implementací EVM v různých programovacích jazycích.
+Během desetileté historie Etherea prošel EVM několika revizemi a existuje několik implementací EVM v různých programovacích jazycích.
-[Exekuční klienty Etherea](/developers/docs/nodes-and-clients/#execution-clients) obsahují implementaci EVM. Navíc existuje několik samostatných implementací, včetně:
+[Exekuční klienti Etherea](/developers/docs/nodes-and-clients/#execution-clients) zahrnují implementaci EVM. Navíc existuje několik samostatných implementací, včetně:
-- [Py-EVM](https://github.com/ethereum/py-evm) – _Python_
-- [evmone](https://github.com/ethereum/evmone) – _C++_
-- [ethereumjs-vm](https://github.com/ethereumjs/ethereumjs-vm) – _JavaScript_
-- [revm](https://github.com/bluealloy/revm) – _Rust_
+- [Py-EVM](https://github.com/ethereum/py-evm) - _Python_
+- [evmone](https://github.com/ethereum/evmone) - _C++_
+- [ethereumjs-vm](https://github.com/ethereumjs/ethereumjs-vm) - _JavaScript_
+- [revm](https://github.com/bluealloy/revm) - _Rust_
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
- [Ethereum Yellowpaper](https://ethereum.github.io/yellowpaper/paper.pdf)
- [Jellopaper alias KEVM: Sémantika EVM v K](https://jellopaper.org/)
- [The Beigepaper](https://github.com/chronaeon/beigepaper)
-- [Opkódy Virtuálního stroje Etherea](https://www.ethervm.io/)
-- [Interaktivní reference pro opkódy Virtuálního stroje Etherea](https://www.evm.codes/)
+- [Opkódy Ethereum Virtual Machine](https://www.ethervm.io/)
+- [Interaktivní reference pro opkódy Ethereum Virtual Machine](https://www.evm.codes/)
- [Krátký úvod v dokumentaci Solidity](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#index-6)
-- [Kniha Mastering Ethereum – Virtuální stroj Etherea](https://github.com/ethereumbook/ethereumbook/blob/openedition/13evm.asciidoc)
+- [Mastering Ethereum - The Ethereum Virtual Machine](https://github.com/ethereumbook/ethereumbook/blob/openedition/13evm.asciidoc)
## Související témata {#related-topics}
diff --git a/public/content/translations/cs/developers/docs/evm/opcodes/index.md b/public/content/translations/cs/developers/docs/evm/opcodes/index.md
index 50f17e9f2eb..7ce441bdd37 100644
--- a/public/content/translations/cs/developers/docs/evm/opcodes/index.md
+++ b/public/content/translations/cs/developers/docs/evm/opcodes/index.md
@@ -6,169 +6,172 @@ lang: cs
## Přehled {#overview}
-Toto je aktualizovaná verze referenční stránky EVM na [wolflo/evm-opcodes](https://github.com/wolflo/evm-opcodes). Rovněž čerpá z [Yellow Paperu](https://ethereum.github.io/yellowpaper/paper.pdf), [Jello Paperu](https://jellopaper.org/evm/) a implementace v [Geth](https://github.com/ethereum/go-ethereum). Tento dokument má být přístupnou referencí, ale není nijak zvlášť důkladný. Pokud si chcete být jisti správností a být si vědomi všech hraničních případů, doporučujeme vám používat Jello Paper nebo implementaci klienta.
+Toto je aktualizovaná verze referenční stránky EVM na [wolflo/evm-opcodes](https://github.com/wolflo/evm-opcodes).
+Čerpáno také z [Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf), [Jello Paper](https://jellopaper.org/evm/) a implementace [geth](https://github.com/ethereum/go-ethereum).
+Tento dokument má být přístupnou referencí, ale není nijak zvlášť důkladný.
+Pokud si chcete být jisti správností a být si vědomi všech hraničních případů, doporučujeme vám používat Jello Paper nebo implementaci klienta.
-Hledáte interaktivní referenci? Zkuste [evm.codes.](https://www.evm.codes/).
+Hledáte interaktivní referenci? Podívejte se na [evm.codes](https://www.evm.codes/).
-Pro operace s dynamickými poplatky se podívejte na [gas.md](https://github.com/wolflo/evm-opcodes/blob/main/gas.md).
+Pro operace s dynamickými náklady na plyn viz [gas.md](https://github.com/wolflo/evm-opcodes/blob/main/gas.md).
-💡Rychlý tip: Chcete-li zobrazit celé řádky, použijte `[shift] + scroll` pro horizontální posun na ploše.
+💡 Rychlý tip: Chcete-li zobrazit celé řádky, použijte `[shift] + scroll` pro horizontální posouvání na počítači.
-| Zásobník | Název | Palivo | Počáteční zásobník | Výsledný zásobník | Paměť/úložiště | Poznámky |
-|:--------:|:-------------- |:-----------------------------------------------------------------------------------------------:|:------------------------------------------------ |:-------------------------------------------- |:----------------------------------------------------------------------------- |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 00 | STOP | 0 | | | | halt execution |
-| 01 | ADD | 3 | `a, b` | `a + b` | | (u)int256 addition modulo 2\*\*256 |
-| 02 | MUL | 5 | `a, b` | `a * b` | | (u)int256 multiplication modulo 2\*\*256 |
-| 03 | SUB | 3 | `a, b` | `a - b` | | (u)int256 addition modulo 2\*\*256 |
-| 04 | DIV | 5 | `a, b` | `a // b` | | uint256 division |
-| 05 | SDIV | 5 | `a, b` | `a // b` | | int256 division |
-| 06 | MOD | 5 | `a, b` | `a % b` | | uint256 modulus |
-| 07 | SMOD | 5 | `a, b` | `a % b` | | int256 modulus |
-| 08 | ADDMOD | 8 | `a, b, N` | `(a + b) % N` | | (u)int256 addition modulo N |
-| 09 | MULMOD | 8 | `a, b, N` | `(a * b) % N` | | (u)int256 multiplication modulo N |
-| 0A | EXP | [A1](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a1-exp) | `a, b` | `a ** b` | | uint256 exponentiation modulo 2\*\*256 |
-| 0B | SIGNEXTEND | 5 | `b, x` | `SIGNEXTEND(x, b)` | | [sign extend](https://wikipedia.org/wiki/Sign_extension) `x` from `(b+1)` bytes to 32 bytes |
-| 0C-0F | _invalid_ | | | | | |
-| 10 | LT | 3 | `a, b` | `a < b` | | uint256 less-than |
-| 11 | GT | 3 | `a, b` | `a > b` | | uint256 greater-than |
-| 12 | SLT | 3 | `a, b` | `a < b` | | int256 less-than |
-| 13 | SGT | 3 | `a, b` | `a > b` | | int256 greater-than |
-| 14 | EQ | 3 | `a, b` | `a == b` | | (u)int256 equality |
-| 15 | ISZERO | 3 | `a` | `a == 0` | | (u)int256 iszero |
-| 16 | AND | 3 | `a, b` | `a && b` | | bitwise AND |
-| 17 | OR | 3 | `a, b` | `a \|\| b` | | bitwise OR |
-| 18 | XOR | 3 | `a, b` | `a ^ b` | | bitwise XOR |
-| 19 | NOT | 3 | `a` | `~a` | | bitwise NOT |
-| 1A | BYTE | 3 | `i, x` | `(x >> (248 - i * 8)) && 0xFF` | | `i`th byte of (u)int256 `x`, from the left |
-| 1B | SHL | 3 | `shift, val` | `val << shift` | | shift left |
-| 1C | SHR | 3 | `shift, val` | `val >> shift` | | logical shift right |
-| 1D | SAR | 3 | `shift, val` | `val >> shift` | | arithmetic shift right |
-| 1E-1F | _invalid_ | | | | | |
-| 20 | KECCAK256 | [A2](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a2-sha3) | `ost, len` | `keccak256(mem[ost:ost+len-1])` | | keccak256 |
-| 21-2F | _invalid_ | | | | | |
-| 30 | ADDRESS | 2 | `.` | `address(this)` | | address of executing contract |
-| 31 | BALANCE | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `addr.balance` | | balance, in wei |
-| 32 | ORIGIN | 2 | `.` | `tx.origin` | | address that originated the tx |
-| 33 | CALLER | 2 | `.` | `msg.sender` | | address of msg sender |
-| 34 | CALLVALUE | 2 | `.` | `msg.value` | | msg value, in wei |
-| 35 | CALLDATALOAD | 3 | `idx` | `msg.data[idx:idx+32]` | | read word from msg data at index `idx` |
-| 36 | CALLDATASIZE | 2 | `.` | `len(msg.data)` | | length of msg data, in bytes |
-| 37 | CALLDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := msg.data[ost:ost+len-1] | copy msg data |
-| 38 | CODESIZE | 2 | `.` | `len(this.code)` | | length of executing contract's code, in bytes |
-| 39 | CODECOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | | mem[dstOst:dstOst+len-1] := this.code[ost:ost+len-1] | copy executing contract's bytecode |
-| 3A | GASPRICE | 2 | `.` | `tx.gasprice` | | gas price of tx, in wei per unit gas [\*\*](https://eips.ethereum.org/EIPS/eip-1559#gasprice) |
-| 3B | EXTCODESIZE | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `len(addr.code)` | | size of code at addr, in bytes |
-| 3C | EXTCODECOPY | [A4](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a4-extcodecopy) | `addr, dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := addr.code[ost:ost+len-1] | copy code from `addr` |
-| 3D | RETURNDATASIZE | 2 | `.` | `size` | | size of returned data from last external call, in bytes |
-| 3E | RETURNDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := returndata[ost:ost+len-1] | copy returned data from last external call |
-| 3F | EXTCODEHASH | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `hash` | | hash = addr.exists ? keccak256(addr.code) : 0 |
-| 40 | BLOCKHASH | 20 | `blockNum` | `blockHash(blockNum)` | | |
-| 41 | COINBASE | 2 | `.` | `block.coinbase` | | adresa navrhovatele aktuálního bloku |
-| 42 | TIMESTAMP | 2 | `.` | `block.timestamp` | | timestamp of current block |
-| 43 | NUMBER | 2 | `.` | `block.number` | | number of current block |
-| 44 | PREVRANDAO | 2 | `.` | `randomness beacon` | | randomness beacon |
-| 45 | GASLIMIT | 2 | `.` | `block.gaslimit` | | gas limit of current block |
-| 46 | CHAINID | 2 | `.` | `chain_id` | | push current [chain id](https://eips.ethereum.org/EIPS/eip-155) onto stack |
-| 47 | SELFBALANCE | 5 | `.` | `address(this).balance` | | balance of executing contract, in wei |
-| 48 | BASEFEE | 2 | `.` | `block.basefee` | | base fee of current block |
-| 49 | BLOBHASH | 3 | `idx` | `tx.blob_versioned_hashes[idx]` | | [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) |
-| 4A | BLOBBASEFEE | 2 | `.` | `block.blobbasefee` | | blob base fee of current block ([EIP-7516](https://eips.ethereum.org/EIPS/eip-7516)) |
-| 4B-4F | _invalid_ | | | | | |
-| 50 | POP | 2 | `_anon` | `.` | | remove item from top of stack and discard it |
-| 51 | MLOAD | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost` | `mem[ost:ost+32]` | | read word from memory at offset `ost` |
-| 52 | MSTORE | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, val` | `.` | mem[ost:ost+32] := val | write a word to memory |
-| 53 | MSTORE8 | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, val` | `.` | mem[ost] := val && 0xFF | write a single byte to memory |
-| 54 | SLOAD | [A6](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a6-sload) | `key` | `storage[key]` | | read word from storage |
-| 55 | SSTORE | [A7](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a7-sstore) | `key, val` | `.` | storage[key] := val | write word to storage |
-| 56 | JUMP | 8 | `dst` | `.` | | `$pc := dst` mark that `pc` is only assigned if `dst` is a valid jumpdest |
-| 57 | JUMPI | 10 | `dst, condition` | `.` | | `$pc := condition ? dst : $pc + 1` |
-| 58 | PC | 2 | `.` | `$pc` | | program counter |
-| 59 | MSIZE | 2 | `.` | `len(mem)` | | size of memory in current execution context, in bytes |
-| 5A | GAS | 2 | `.` | `gasRemaining` | | |
-| 5B | JUMPDEST | 1 | | | mark valid jump destination | a valid jump destination for example a jump destination not inside the push data |
-| 5C | TLOAD | 100 | `key` | `tstorage[key]` | | read word from transient storage ([EIP-1153](https://eips.ethereum.org/EIPS/eip-1153)) |
-| 5D | TSTORE | 100 | `key, val` | `.` | tstorage[key] := val | write word to transient storage ([EIP-1153](https://eips.ethereum.org/EIPS/eip-1153)) |
-| 5E | MCOPY | 3+3\*words+[A0](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `dstOst, ost, len` | `.` | mem[dstOst] := mem[ost:ost+len] | copy memory from one area to another ([EIP-5656](https://eips.ethereum.org/EIPS/eip-5656)) |
-| 5F | PUSH0 | 2 | `.` | `uint8` | | push the constant value 0 onto stack |
-| 60 | PUSH1 | 3 | `.` | `uint8` | | push 1-byte value onto stack |
-| 61 | PUSH2 | 3 | `.` | `uint16` | | push 2-byte value onto stack |
-| 62 | PUSH3 | 3 | `.` | `uint24` | | push 3-byte value onto stack |
-| 63 | PUSH4 | 3 | `.` | `uint32` | | push 4-byte value onto stack |
-| 64 | PUSH5 | 3 | `.` | `uint40` | | push 5-byte value onto stack |
-| 65 | PUSH6 | 3 | `.` | `uint48` | | push 6-byte value onto stack |
-| 66 | PUSH7 | 3 | `.` | `uint56` | | push 7-byte value onto stack |
-| 67 | PUSH8 | 3 | `.` | `uint64` | | push 8-byte value onto stack |
-| 68 | PUSH9 | 3 | `.` | `uint72` | | push 9-byte value onto stack |
-| 69 | PUSH10 | 3 | `.` | `uint80` | | push 10-byte value onto stack |
-| 6A | PUSH11 | 3 | `.` | `uint88` | | push 11-byte value onto stack |
-| 6B | PUSH12 | 3 | `.` | `uint96` | | push 12-byte value onto stack |
-| 6C | PUSH13 | 3 | `.` | `uint104` | | push 13-byte value onto stack |
-| 6D | PUSH14 | 3 | `.` | `uint112` | | push 14-byte value onto stack |
-| 6E | PUSH15 | 3 | `.` | `uint120` | | push 15-byte value onto stack |
-| 6F | PUSH16 | 3 | `.` | `uint128` | | push 16-byte value onto stack |
-| 70 | PUSH17 | 3 | `.` | `uint136` | | push 17-byte value onto stack |
-| 71 | PUSH18 | 3 | `.` | `uint144` | | push 18-byte value onto stack |
-| 72 | PUSH19 | 3 | `.` | `uint152` | | push 19-byte value onto stack |
-| 73 | PUSH20 | 3 | `.` | `uint160` | | push 20-byte value onto stack |
-| 74 | PUSH21 | 3 | `.` | `uint168` | | push 21-byte value onto stack |
-| 75 | PUSH22 | 3 | `.` | `uint176` | | push 22-byte value onto stack |
-| 76 | PUSH23 | 3 | `.` | `uint184` | | push 23-byte value onto stack |
-| 77 | PUSH24 | 3 | `.` | `uint192` | | push 24-byte value onto stack |
-| 78 | PUSH25 | 3 | `.` | `uint200` | | push 25-byte value onto stack |
-| 79 | PUSH26 | 3 | `.` | `uint208` | | push 26-byte value onto stack |
-| 7A | PUSH27 | 3 | `.` | `uint216` | | push 27-byte value onto stack |
-| 7B | PUSH28 | 3 | `.` | `uint224` | | push 28-byte value onto stack |
-| 7C | PUSH29 | 3 | `.` | `uint232` | | push 29-byte value onto stack |
-| 7D | PUSH30 | 3 | `.` | `uint240` | | push 30-byte value onto stack |
-| 7E | PUSH31 | 3 | `.` | `uint248` | | push 31-byte value onto stack |
-| 7F | PUSH32 | 3 | `.` | `uint256` | | push 32-byte value onto stack |
-| 80 | DUP1 | 3 | `a` | `a, a` | | clone 1st value on stack |
-| 81 | DUP2 | 3 | `_, a` | `a, _, a` | | clone 2nd value on stack |
-| 82 | DUP3 | 3 | `_, _, a` | `a, _, _, a` | | clone 3rd value on stack |
-| 83 | DUP4 | 3 | `_, _, _, a` | `a, _, _, _, a` | | clone 4th value on stack |
-| 84 | DUP5 | 3 | `..., a` | `a, ..., a` | | clone 5th value on stack |
-| 85 | DUP6 | 3 | `..., a` | `a, ..., a` | | clone 6th value on stack |
-| 86 | DUP7 | 3 | `..., a` | `a, ..., a` | | clone 7th value on stack |
-| 87 | DUP8 | 3 | `..., a` | `a, ..., a` | | clone 8th value on stack |
-| 88 | DUP9 | 3 | `..., a` | `a, ..., a` | | clone 9th value on stack |
-| 89 | DUP10 | 3 | `..., a` | `a, ..., a` | | clone 10th value on stack |
-| 8A | DUP11 | 3 | `..., a` | `a, ..., a` | | clone 11th value on stack |
-| 8B | DUP12 | 3 | `..., a` | `a, ..., a` | | clone 12th value on stack |
-| 8C | DUP13 | 3 | `..., a` | `a, ..., a` | | clone 13th value on stack |
-| 8D | DUP14 | 3 | `..., a` | `a, ..., a` | | clone 14th value on stack |
-| 8E | DUP15 | 3 | `..., a` | `a, ..., a` | | clone 15th value on stack |
-| 8F | DUP16 | 3 | `..., a` | `a, ..., a` | | clone 16th value on stack |
-| 90 | SWAP1 | 3 | `a, b` | `b, a` | | |
-| 91 | SWAP2 | 3 | `a, _, b` | `b, _, a` | | |
-| 92 | SWAP3 | 3 | `a, _, _, b` | `b, _, _, a` | | |
-| 93 | SWAP4 | 3 | `a, _, _, _, b` | `b, _, _, _, a` | | |
-| 94 | SWAP5 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 95 | SWAP6 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 96 | SWAP7 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 97 | SWAP8 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 98 | SWAP9 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 99 | SWAP10 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9A | SWAP11 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9B | SWAP12 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9C | SWAP13 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9D | SWAP14 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9E | SWAP15 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9F | SWAP16 | 3 | `a, ..., b` | `b, ..., a` | | |
-| A0 | LOG0 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len` | `.` | | LOG0(memory[ost:ost+len-1]) |
-| A1 | LOG1 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0` | `.` | | LOG1(memory[ost:ost+len-1], topic0) |
-| A2 | LOG2 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1` | `.` | | LOG2(memory[ost:ost+len-1], topic0, topic1) |
-| A3 | LOG3 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1, topic2` | `.` | | LOG3(memory[ost:ost+len-1], topic0, topic1, topic2) |
-| A4 | LOG4 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1, topic2, topic3` | `.` | | LOG4(memory[ost:ost+len-1], topic0, topic1, topic2, topic3) |
-| A5-EF | _invalid_ | | | | | |
-| F0 | CREATE | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len` | `addr` | | addr = keccak256(rlp([address(this), this.nonce])) |
-| F1 | CALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | gas, addr, val, argOst, argLen, retOst, retLen | `success` | mem[retOst:retOst+retLen-1] := returndata | |
-| F2 | CALLCODE | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, val, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] = returndata | same as DELEGATECALL, but does not propagate original msg.sender and msg.value |
-| F3 | RETURN | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | return mem[ost:ost+len-1] |
-| F4 | DELEGATECALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | |
-| F5 | CREATE2 | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len, salt` | `addr` | | addr = keccak256(0xff ++ address(this) ++ salt ++ keccak256(mem[ost:ost+len-1]))[12:] |
-| F6-F9 | _invalid_ | | | | | |
-| FA | STATICCALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | |
-| FB-FC | _invalid_ | | | | | |
-| FD | REVERT | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | revert(mem[ost:ost+len-1]) |
-| FE | INVALID | [AF](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#af-invalid) | | | designated invalid opcode - [EIP-141](https://eips.ethereum.org/EIPS/eip-141) | |
-| FF | SELFDESTRUCT | [AB](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#ab-selfdestruct) | `addr` | `.` | | sends all ETH to `addr`; if executed in the same transaction as a contract was created it destroys the contract |
+| Zásobník | Název | Palivo | Počáteční zásobník | Výsledný zásobník | Paměť/úložiště | Poznámky | |
+| :------: | :------------- | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
+| 00 | STOP | 0 | | | | zastavit provádění | |
+| 01 | ADD | 3 | `a, b` | `a + b` | | sčítání (u)int256 modulo 2\*\*256 | |
+| 02 | MUL | 5 | `a, b` | `a * b` | | násobení (u)int256 modulo 2\*\*256 | |
+| 03 | SUB | 3 | `a, b` | `a - b` | | odčítání (u)int256 modulo 2\*\*256 | |
+| 04 | DIV | 5 | `a, b` | `a // b` | | dělení uint256 | |
+| 05 | SDIV | 5 | `a, b` | `a // b` | | dělení int256 | |
+| 06 | MOD | 5 | `a, b` | `a % b` | | modulo uint256 | |
+| 07 | SMOD | 5 | `a, b` | `a % b` | | modulo int256 | |
+| 08 | ADDMOD | 8 | `a, b, N` | `(a + b) % N` | | sčítání (u)int256 modulo N | |
+| 09 | MULMOD | 8 | `a, b, N` | `(a * b) % N` | | násobení (u)int256 modulo N | |
+| 0A | EXP | [A1](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a1-exp) | `a, b` | `a ** b` | | umocňování uint256 modulo 2\*\*256 | |
+| 0B | SIGNEXTEND | 5 | `b, x` | `SIGNEXTEND(x, b)` | | [rozšíření znaménka](https://wikipedia.org/wiki/Sign_extension) `x` z `(b+1)` bajtů na 32 bajtů | |
+| 0C-0F | _neplatné_ | | | | | | |
+| 10 | LT | 3 | `a, b` | `a < b` | | uint256 menší než | |
+| 11 | GT | 3 | `a, b` | `a > b` | | uint256 větší než | |
+| 12 | SLT | 3 | `a, b` | `a < b` | | int256 menší než | |
+| 13 | SGT | 3 | `a, b` | `a > b` | | int256 větší než | |
+| 14 | EQ | 3 | `a, b` | `a == b` | | rovnost (u)int256 | |
+| 15 | ISZERO | 3 | `a` | `a == 0` | | (u)int256 je nula | |
+| 16 | AND | 3 | `a, b` | `a && b` | | bitové AND | |
+| 17 | OR | 3 | `a, b` | `a \\|\\| b` | | bitové OR | |
+| 18 | XOR | 3 | `a, b` | `a ^ b` | | bitové XOR | |
+| 19 | NOT | 3 | `a` | `~a` | | bitové NOT | |
+| 1A | BYTE | 3 | `i, x` | `(x >> (248 - i * 8)) && 0xFF` | | `i`-tý bajt (u)int256 `x`, zleva | |
+| 1B | SHL | 3 | `shift, val` | `val << shift` | | posun vlevo | |
+| 1C | SHR | 3 | `shift, val` | `val >> shift` | | logický posun vpravo | |
+| 1D | SAR | 3 | `shift, val` | `val >> shift` | | aritmetický posun vpravo | |
+| 1E-1F | _neplatné_ | | | | | | |
+| 20 | KECCAK256 | [A2](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a2-sha3) | `ost, len` | `keccak256(mem[ost:ost+len-1])` | | keccak256 | |
+| 21-2F | _neplatné_ | | | | | | |
+| 30 | ADDRESS | 2 | `.` | `address(this)` | | adresa prováděné smlouvy | |
+| 31 | BALANCE | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `addr.balance` | | zůstatek, ve wei | |
+| 32 | ORIGIN | 2 | `.` | `tx.origin` | | adresa, která zahájila transakci | |
+| 33 | CALLER | 2 | `.` | `msg.sender` | | adresa odesílatele zprávy | |
+| 34 | CALLVALUE | 2 | `.` | `msg.value` | | hodnota zprávy, ve wei | |
+| 35 | CALLDATALOAD | 3 | `idx` | `msg.data[idx:idx+32]` | | přečíst slovo z dat zprávy na indexu `idx` | |
+| 36 | CALLDATASIZE | 2 | `.` | `len(msg.data)` | | délka dat zprávy, v bajtech | |
+| 37 | CALLDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := msg.data[ost:ost+len-1] | kopírovat data zprávy | |
+| 38 | CODESIZE | 2 | `.` | `len(this.code)` | | délka kódu prováděné smlouvy, v bajtech | |
+| 39 | CODECOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | | mem[dstOst:dstOst+len-1] := this.code[ost:ost+len-1] | kopírovat bajtkód prováděné smlouvy |
+| 3A | GASPRICE | 2 | `.` | `tx.gasprice` | | cena plynu transakce, ve wei za jednotku plynu [\*\*](https://eips.ethereum.org/EIPS/eip-1559#gasprice) | |
+| 3B | EXTCODESIZE | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `len(addr.code)` | | velikost kódu na adrese, v bajtech | |
+| 3C | EXTCODECOPY | [A4](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a4-extcodecopy) | `addr, dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := addr.code[ost:ost+len-1] | kopírovat kód z `addr` | |
+| 3D | RETURNDATASIZE | 2 | `.` | `size` | | velikost vrácených dat z posledního externího volání, v bajtech | |
+| 3E | RETURNDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := returndata[ost:ost+len-1] | kopírovat vrácená data z posledního externího volání | |
+| 3F | EXTCODEHASH | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `hash` | | haš = addr.exists ? keccak256(addr.code) : 0 | |
+| 40 | BLOCKHASH | 20 | `blockNum` | `blockHash(blockNum)` | | | |
+| 41 | COINBASE | 2 | `.` | `block.coinbase` | | adresa navrhovatele aktuálního bloku | |
+| 42 | TIMESTAMP | 2 | `.` | `block.timestamp` | | časové razítko aktuálního bloku | |
+| 43 | NUMBER | 2 | `.` | `block.number` | | číslo aktuálního bloku | |
+| 44 | PREVRANDAO | 2 | `.` | `randomness beacon` | | maják náhodnosti | |
+| 45 | GASLIMIT | 2 | `.` | `block.gaslimit` | | limit transakčních poplatků aktuálního bloku | |
+| 46 | CHAINID | 2 | `.` | `chain_id` | | vložit aktuální [ID řetězce](https://eips.ethereum.org/EIPS/eip-155) na zásobník | |
+| 47 | SELFBALANCE | 5 | `.` | `address(this).balance` | | zůstatek prováděné smlouvy, ve wei | |
+| 48 | BASEFEE | 2 | `.` | `block.basefee` | | základní poplatek aktuálního bloku | |
+| 49 | BLOBHASH | 3 | `idx` | `tx.blob_versioned_hashes[idx]` | | [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) | |
+| 4A | BLOBBASEFEE | 2 | `.` | `block.blobbasefee` | | základní poplatek blobu aktuálního bloku ([EIP-7516](https://eips.ethereum.org/EIPS/eip-7516)) | |
+| 4B-4F | _neplatné_ | | | | | | |
+| 50 | POP | 2 | `_anon` | `.` | | odebrat položku z vrcholu zásobníku a zahodit ji | |
+| 51 | MLOAD | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost` | `mem[ost:ost+32]` | | přečíst slovo z paměti na offsetu `ost` | |
+| 52 | MSTORE | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, val` | `.` | mem[ost:ost+32] := val | zapsat slovo do paměti | |
+| 53 | MSTORE8 | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, val` | `.` | mem[ost] := val && 0xFF | zapsat jeden bajt do paměti | |
+| 54 | SLOAD | [A6](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a6-sload) | `key` | `storage[key]` | | přečíst slovo z úložiště | |
+| 55 | SSTORE | [A7](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a7-sstore) | `key, val` | `.` | storage[key] := val | zapsat slovo do úložiště | |
+| 56 | JUMP | 8 | `dst` | `.` | | `$pc := dst` označuje, že `pc` se přiřadí, pouze pokud je `dst` platný cíl skoku | |
+| 57 | JUMPI | 10 | `dst, condition` | `.` | | `$pc := condition ?` dst : $pc + 1\` | |
+| 58 | PC | 2 | `.` | `$pc` | | čítač programu | |
+| 59 | MSIZE | 2 | `.` | `len(mem)` | | velikost paměti v aktuálním kontextu provádění, v bajtech | |
+| 5A | GAS | 2 | `.` | `gasRemaining` | | | |
+| 5B | JUMPDEST | 1 | | | označit platný cíl skoku | platný cíl skoku, například cíl skoku, který není uvnitř dat pro push | |
+| 5C | TLOAD | 100 | `key` | `tstorage[key]` | | přečíst slovo z dočasného úložiště ([EIP-1153](https://eips.ethereum.org/EIPS/eip-1153)) | |
+| 5D | TSTORE | 100 | `key, val` | `.` | tstorage[key] := val | zapsat slovo do dočasného úložiště ([EIP-1153](https://eips.ethereum.org/EIPS/eip-1153)) | |
+| 5E | MCOPY | 3+3\*words+[A0](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `dstOst, ost, len` | `.` | mem[dstOst] := mem[ost:ost+len] | kopírovat paměť z jedné oblasti do druhé ([EIP-5656](https://eips.ethereum.org/EIPS/eip-5656)) | |
+| 5F | PUSH0 | 2 | `.` | `uint8` | | vložit konstantní hodnotu 0 na zásobník | |
+| 60 | PUSH1 | 3 | `.` | `uint8` | | vložit 1bajtovou hodnotu na zásobník | |
+| 61 | PUSH2 | 3 | `.` | `uint16` | | vložit 2bajtovou hodnotu na zásobník | |
+| 62 | PUSH3 | 3 | `.` | `uint24` | | vložit 3bajtovou hodnotu na zásobník | |
+| 63 | PUSH4 | 3 | `.` | `uint32` | | vložit 4bajtovou hodnotu na zásobník | |
+| 64 | PUSH5 | 3 | `.` | `uint40` | | vložit 5bajtovou hodnotu na zásobník | |
+| 65 | PUSH6 | 3 | `.` | `uint48` | | vložit 6bajtovou hodnotu na zásobník | |
+| 66 | PUSH7 | 3 | `.` | `uint56` | | vložit 7bajtovou hodnotu na zásobník | |
+| 67 | PUSH8 | 3 | `.` | `uint64` | | vložit 8bajtovou hodnotu na zásobník | |
+| 68 | PUSH9 | 3 | `.` | `uint72` | | vložit 9bajtovou hodnotu na zásobník | |
+| 69 | PUSH10 | 3 | `.` | `uint80` | | vložit 10bajtovou hodnotu na zásobník | |
+| 6A | PUSH11 | 3 | `.` | `uint88` | | vložit 11bajtovou hodnotu na zásobník | |
+| 6B | PUSH12 | 3 | `.` | `uint96` | | vložit 12bajtovou hodnotu na zásobník | |
+| 6C | PUSH13 | 3 | `.` | `uint104` | | vložit 13bajtovou hodnotu na zásobník | |
+| 6D | PUSH14 | 3 | `.` | `uint112` | | vložit 14bajtovou hodnotu na zásobník | |
+| 6E | PUSH15 | 3 | `.` | `uint120` | | vložit 15bajtovou hodnotu na zásobník | |
+| 6F | PUSH16 | 3 | `.` | `uint128` | | vložit 16bajtovou hodnotu na zásobník | |
+| 70 | PUSH17 | 3 | `.` | `uint136` | | vložit 17bajtovou hodnotu na zásobník | |
+| 71 | PUSH18 | 3 | `.` | `uint144` | | vložit 18bajtovou hodnotu na zásobník | |
+| 72 | PUSH19 | 3 | `.` | `uint152` | | vložit 19bajtovou hodnotu na zásobník | |
+| 73 | PUSH20 | 3 | `.` | `uint160` | | vložit 20bajtovou hodnotu na zásobník | |
+| 74 | PUSH21 | 3 | `.` | `uint168` | | vložit 21bajtovou hodnotu na zásobník | |
+| 75 | PUSH22 | 3 | `.` | `uint176` | | vložit 22bajtovou hodnotu na zásobník | |
+| 76 | PUSH23 | 3 | `.` | `uint184` | | vložit 23bajtovou hodnotu na zásobník | |
+| 77 | PUSH24 | 3 | `.` | `uint192` | | vložit 24bajtovou hodnotu na zásobník | |
+| 78 | PUSH25 | 3 | `.` | `uint200` | | vložit 25bajtovou hodnotu na zásobník | |
+| 79 | PUSH26 | 3 | `.` | `uint208` | | vložit 26bajtovou hodnotu na zásobník | |
+| 7A | PUSH27 | 3 | `.` | `uint216` | | vložit 27bajtovou hodnotu na zásobník | |
+| 7B | PUSH28 | 3 | `.` | `uint224` | | vložit 28bajtovou hodnotu na zásobník | |
+| 7C | PUSH29 | 3 | `.` | `uint232` | | vložit 29bajtovou hodnotu na zásobník | |
+| 7D | PUSH30 | 3 | `.` | `uint240` | | vložit 30bajtovou hodnotu na zásobník | |
+| 7E | PUSH31 | 3 | `.` | `uint248` | | vložit 31bajtovou hodnotu na zásobník | |
+| 7F | PUSH32 | 3 | `.` | `uint256` | | vložit 32bajtovou hodnotu na zásobník | |
+| 80 | DUP1 | 3 | `a` | `a, a` | | klonovat 1. hodnotu na zásobníku | |
+| 81 | DUP2 | 3 | `_, a` | `a, _, a` | | klonovat 2. hodnotu na zásobníku | |
+| 82 | DUP3 | 3 | `_, _, a` | `a, _, _, a` | | klonovat 3. hodnotu na zásobníku | |
+| 83 | DUP4 | 3 | `_, _, _, a` | `a, _, _, _, a` | | klonovat 4. hodnotu na zásobníku | |
+| 84 | DUP5 | 3 | `..., a` | `a, ..., a` | | klonovat 5. hodnotu na zásobníku | |
+| 85 | DUP6 | 3 | `..., a` | `a, ..., a` | | klonovat 6. hodnotu na zásobníku | |
+| 86 | DUP7 | 3 | `..., a` | `a, ..., a` | | klonovat 7. hodnotu na zásobníku | |
+| 87 | DUP8 | 3 | `..., a` | `a, ..., a` | | klonovat 8. hodnotu na zásobníku | |
+| 88 | DUP9 | 3 | `..., a` | `a, ..., a` | | klonovat 9. hodnotu na zásobníku | |
+| 89 | DUP10 | 3 | `..., a` | `a, ..., a` | | klonovat 10. hodnotu na zásobníku | |
+| 8A | DUP11 | 3 | `..., a` | `a, ..., a` | | klonovat 11. hodnotu na zásobníku | |
+| 8B | DUP12 | 3 | `..., a` | `a, ..., a` | | klonovat 12. hodnotu na zásobníku | |
+| 8C | DUP13 | 3 | `..., a` | `a, ..., a` | | klonovat 13. hodnotu na zásobníku | |
+| 8D | DUP14 | 3 | `..., a` | `a, ..., a` | | klonovat 14. hodnotu na zásobníku | |
+| 8E | DUP15 | 3 | `..., a` | `a, ..., a` | | klonovat 15. hodnotu na zásobníku | |
+| 8F | DUP16 | 3 | `..., a` | `a, ..., a` | | klonovat 16. hodnotu na zásobníku | |
+| 90 | SWAP1 | 3 | `a, b` | `b, a` | | | |
+| 91 | SWAP2 | 3 | `a, _, b` | `b, _, a` | | | |
+| 92 | SWAP3 | 3 | `a, _, _, b` | `b, _, _, a` | | | |
+| 93 | SWAP4 | 3 | `a, _, _, _, b` | `b, _, _, _, a` | | | |
+| 94 | SWAP5 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 95 | SWAP6 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 96 | SWAP7 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 97 | SWAP8 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 98 | SWAP9 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 99 | SWAP10 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 9A | SWAP11 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 9B | SWAP12 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 9C | SWAP13 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 9D | SWAP14 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 9E | SWAP15 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| 9F | SWAP16 | 3 | `a, ..., b` | `b, ..., a` | | | |
+| A0 | LOG0 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len` | `.` | | LOG0(memory[ost:ost+len-1]) | |
+| A1 | LOG1 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0` | `.` | | LOG1(memory[ost:ost+len-1], topic0) | |
+| A2 | LOG2 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1` | `.` | | LOG2(memory[ost:ost+len-1], topic0, topic1) | |
+| A3 | LOG3 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1, topic2` | `.` | | LOG3(memory[ost:ost+len-1], topic0, topic1, topic2) | |
+| A4 | LOG4 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1, topic2, topic3` | `.` | | LOG4(memory[ost:ost+len-1], topic0, topic1, topic2, topic3) | |
+| A5-EF | _neplatné_ | | | | | | |
+| F0 | CREATE | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len` | `addr` | | addr = keccak256(rlp([address(this), this.nonce])) | |
+| F1 | CALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | plyn, addr, val, argOst, argLen, retOst, retLen | `success` | mem[retOst:retOst+retLen-1] := returndata | | |
+| F2 | CALLCODE | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `plyn, addr, val, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] = returndata | stejné jako DELEGATECALL, ale nešíří původní msg.sender a msg.value | |
+| F3 | RETURN | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | vrátit mem[ost:ost+len-1] | |
+| F4 | DELEGATECALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `plyn, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | | |
+| F5 | CREATE2 | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len, salt` | `addr` | | addr = keccak256(0xff ++ address(this) ++ salt ++ keccak256(mem[ost:ost+len-1]))[12:] | |
+| F6-F9 | _neplatné_ | | | | | | |
+| FA | STATICCALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `plyn, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | | |
+| FB-FC | _neplatné_ | | | | | | |
+| FD | REVERT | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | revert(mem[ost:ost+len-1]) | |
+| FE | INVALID | [AF](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#af-invalid) | | | označený neplatný operační kód – [EIP-141](https://eips.ethereum.org/EIPS/eip-141) | | |
+| FF | SELFDESTRUCT | [AB](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#ab-selfdestruct) | `addr` | `.` | | pošle všechny ETH na `addr`; pokud je proveden ve stejné transakci, ve které byla vytvořena smlouva, smlouvu zničí | |
diff --git a/public/content/translations/cs/developers/docs/frameworks/index.md b/public/content/translations/cs/developers/docs/frameworks/index.md
new file mode 100644
index 00000000000..d21d1e87822
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/frameworks/index.md
@@ -0,0 +1,157 @@
+---
+title: Frameworky pro vývoj dappek
+description: Prozkoumejte výhody frameworků a porovnejte dostupné možnosti.
+lang: cs
+---
+
+## Úvod do frameworků {#introduction-to-frameworks}
+
+Vytvoření plnohodnotné dappky (decentralizované aplikace) vyžaduje
+různé technologie. Softwarové frameworky zahrnují mnoho potřebných
+funkcí nebo poskytují snadné pluginové systémy, které vám umožní vybrat si nástroje,
+které potřebujete.
+
+Frameworky nabízejí velké množství funkcí,
+například:
+
+- Funkce ke spuštění vlastního lokálního blockchainu.
+- Nástroje pro kompilaci a testování chytrých kontraktů.
+- Vývojové doplňky klienta, které vytvoří vaši uživatelskou aplikaci
+ v rámci stejného projektu/úložiště.
+- Konfigurace pro připojení k sítím Ethereum a nasazení
+ kontraktů, ať už na lokálně spuštěnou instanci, nebo na jednu z
+ veřejných sítí Ethereum.
+- Decentralizovaná distribuce aplikací – integrace s možnostmi úložiště,
+ jako je IPFS.
+
+## Předpoklady {#prerequisites}
+
+Než se ponoříte do frameworků, doporučujeme vám nejprve si přečíst náš úvod do [dapps](/developers/docs/dapps/) a [zásobníku Ethereum](/developers/docs/ethereum-stack/).
+
+## Dostupné frameworky {#available-frameworks}
+
+**Foundry** – **_Foundry je bleskově rychlá, přenosná a modulární sada nástrojů pro vývoj aplikací na Ethereum_**
+
+- [Nainstalovat Foundry](https://book.getfoundry.sh/)
+- [Kniha o Foundry](https://book.getfoundry.sh/)
+- [Komunitní chat Foundry na Telegramu](https://t.me/foundry_support)
+- [Awesome Foundry](https://github.com/crisgarner/awesome-foundry)
+
+**Hardhat –** **_Vývojové prostředí Ethereum pro profesionály._**
+
+- [hardhat.org](https://hardhat.org)
+- [GitHub](https://github.com/nomiclabs/hardhat)
+
+**Ape –** **_Nástroj pro vývoj chytrých kontraktů pro pythonisty, datové vědce a bezpečnostní profesionály._**
+
+- [Dokumentace](https://docs.apeworx.io/ape/stable/)
+- [GitHub](https://github.com/ApeWorX/ape)
+
+**Web3j –** **_Platforma pro vývoj blockchainových aplikací na JVM._**
+
+- [Domovská stránka](https://www.web3labs.com/web3j-sdk)
+- [Dokumentace](https://docs.web3j.io)
+- [GitHub](https://github.com/web3j/web3j)
+
+**ethers-kt –** **_Asynchronní, vysoce výkonná knihovna pro Kotlin/Javu/Android pro blockchainy založené na EVM._**
+
+- [GitHub](https://github.com/Kr1ptal/ethers-kt)
+- [Příklady](https://github.com/Kr1ptal/ethers-kt/tree/master/examples)
+- [Discord](https://discord.gg/rx35NzQGSb)
+
+**Create Eth App –** **_Vytvořte aplikace s podporou Ethereum jedním příkazem. Nabízí širokou škálu UI frameworků a DeFi šablon._**
+
+- [GitHub](https://github.com/paulrberg/create-eth-app)
+- [Šablony](https://github.com/PaulRBerg/create-eth-app/tree/develop/templates)
+
+**Scaffold-Eth –** **_Ethers.js + Hardhat + React komponenty a hooky pro web3: vše, co potřebujete k tomu, abyste mohli začít budovat decentralizované aplikace využívající chytré kontrakty._**
+
+- [GitHub](https://github.com/scaffold-eth/scaffold-eth-2)
+
+**Tenderly –** **_Web3 vývojářská platforma, která umožňuje blockchainovým vývojářům vytvářet, testovat, ladit, monitorovat a provozovat chytré kontrakty a zlepšovat UX pro dapps._**
+
+- [Webová stránka](https://tenderly.co/)
+- [Dokumentace](https://docs.tenderly.co/)
+
+**The Graph –** **_The Graph pro efektivní dotazování na data z blockchainu._**
+
+- [Webová stránka](https://thegraph.com/)
+- [Návod](/developers/tutorials/the-graph-fixing-web3-data-querying/)
+
+**Alchemy –** **_Vývojářská platforma pro Ethereum._**
+
+- [alchemy.com](https://www.alchemy.com/)
+- [GitHub](https://github.com/alchemyplatform)
+- [Discord](https://discord.com/invite/alchemyplatform)
+
+**NodeReal –** **_Vývojářská platforma pro Ethereum._**
+
+- [Nodereal.io](https://nodereal.io/)
+- [GitHub](https://github.com/node-real)
+- [Discord](https://discord.gg/V5k5gsuE)
+
+**thirdweb SDK –** **_Vytvářejte web3 aplikace, které mohou interagovat s vašimi chytrými kontrakty pomocí našich výkonných SDK a CLI._**
+
+- [Dokumentace](https://portal.thirdweb.com/sdk/)
+- [GitHub](https://github.com/thirdweb-dev/)
+
+**Chainstack –** **_Vývojářská platforma pro Web3 (Ethereum a další)._**
+
+- [chainstack.com](https://www.chainstack.com/)
+- [GitHub](https://github.com/chainstack)
+- [Discord](https://discord.gg/BSb5zfp9AT)
+
+**Crossmint –** **_Web3 vývojářská platforma podnikové úrovně, která vám umožňuje vytvářet NFT aplikace na všech hlavních EVM řetězcích (a dalších)._**
+
+- [Webová stránka](https://www.crossmint.com)
+- [Dokumentace](https://docs.crossmint.com)
+- [Discord](https://discord.com/invite/crossmint)
+
+**Brownie –** **_Vývojové prostředí a testovací framework založený na Pythonu._**
+
+- [Dokumentace](https://eth-brownie.readthedocs.io/en/latest/)
+- [GitHub](https://github.com/eth-brownie/brownie)
+- **Brownie se v současné době neudržuje**
+
+**OpenZeppelin SDK –** **_Kompletní sada nástrojů pro chytré kontrakty: sada nástrojů, které vám pomohou vyvíjet, kompilovat, vylepšovat, nasazovat chytré kontrakty a pracovat s nimi._**
+
+- [OpenZeppelin Defender SDK](https://docs.openzeppelin.com/defender/sdk)
+- [GitHub](https://github.com/OpenZeppelin/openzeppelin-sdk)
+- [Komunitní fórum](https://forum.openzeppelin.com/c/support/17)
+- **Vývoj OpenZeppelin SDK byl ukončen**
+
+**Catapulta –** **_Nástroj pro nasazování chytrých kontraktů na více řetězců, který automatizuje ověřování v prohlížečích bloků, sleduje nasazené chytré kontrakty, sdílí zprávy o nasazení a funguje jako plug-n-play pro projekty Foundry a Hardhat._**
+
+- [Webová stránka](https://catapulta.sh/)
+- [Dokumentace](https://catapulta.sh/docs)
+- [Github](https://github.com/catapulta-sh)
+
+**GoldRush (využívá Covalent) –** **_GoldRush nabízí nejkomplexnější sadu API pro data z blockchainu pro vývojáře, analytiky a podniky. Ať už vytváříte DeFi dashboard, peněženku, obchodního bota, AI agenta nebo platformu pro dodržování předpisů, datová API poskytují rychlý, přesný a pro vývojáře přívětivý přístup k základním onchain datům, která potřebujete_**
+
+- [Webová stránka](https://goldrush.dev/)
+- [Dokumentace](https://goldrush.dev/docs/chains/ethereum)
+- [GitHub](https://github.com/covalenthq)
+- [Discord](https://www.covalenthq.com/discord/)
+
+**Wake –** **_Univerzální pythonový framework pro testování kontraktů, fuzzing, nasazení, skenování zranitelností a navigaci v kódu._**
+
+- [Domovská stránka](https://getwake.io/)
+- [Dokumentace](https://ackeeblockchain.com/wake/docs/latest/)
+- [GitHub](https://github.com/Ackee-Blockchain/wake)
+- [Rozšíření pro VS Code](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity)
+
+**Veramo –** **_Otevřený, modulární a agnostický framework, který usnadňuje vývojářům decentralizovaných aplikací vytvářet decentralizované identity a ověřitelná pověření ve svých aplikacích._**
+
+- [Domovská stránka](https://veramo.io/)
+- [Dokumentace](https://veramo.io/docs/basics/introduction)
+- [GitHub](https://github.com/uport-project/veramo)
+- [Discord](https://discord.com/invite/FRRBdjemHV)
+- [Balíček NPM](https://www.npmjs.com/package/@veramo/core)
+
+## Další čtení {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+## Související témata {#related-topics}
+
+- [Nastavení lokálního vývojového prostředí](/developers/local-environment/)
diff --git a/public/content/translations/cs/developers/docs/gas/index.md b/public/content/translations/cs/developers/docs/gas/index.md
index 90a371cc64f..339b7110c97 100644
--- a/public/content/translations/cs/developers/docs/gas/index.md
+++ b/public/content/translations/cs/developers/docs/gas/index.md
@@ -1,7 +1,7 @@
---
title: Palivo a poplatky
metaTitle: "Palivo a poplatky na Ethereu: technický přehled"
-description:
+description: Zjistěte více o poplatcích za palivo na Ethereu, jak se vypočítávají a jakou roli hrají v zabezpečení sítě a zpracování transakcí.
lang: cs
---
@@ -9,7 +9,7 @@ Palivo je pro síť Ethereum nezbytné. Umožňuje jí fungovat, stejně jako au
## Předpoklady {#prerequisites}
-Abyste lépe porozuměli této stránce, doporučujeme vám si nejprve přečíst o [transakcích](/developers/docs/transactions/) a [EVM](/developers/docs/evm/).
+Pro lepší pochopení této stránky vám doporučujeme si nejprve přečíst o [transakcích](/developers/docs/transactions/) a [EVM](/developers/docs/evm/).
## Co je to palivo? {#what-is-gas}
@@ -17,15 +17,16 @@ Palivo označuje jednotku, která měří množství výpočetního úsilí pot
Jelikož každá transakce na Ethereu potřebuje výpočetní zdroje k jejímu provedení, tyto zdroje se musí zaplatit, aby Ethereum nebylo zranitelné vůči spamovým útokům a nemohlo se zaseknout v nekonečných výpočetních smyčkách. Platba za výpočetní úsilí se provádí ve formě poplatku za palivo.
-Poplatek za palivo je **množství paliva použitého k provedení určité operace, vynásobené nákladem na jednotku paliva**. Poplatek je zaplacen bez ohledu na to, zda je transakce úspěšně realizována, nebo selže.
+Poplatek za palivo je **množství paliva použitého k provedení určité operace vynásobené cenou za jednotku paliva**. Poplatek je zaplacen bez ohledu na to, zda je transakce úspěšně realizována, nebo selže.
- _Schéma převzato z [ilustrace Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+
+_Diagram převzat z [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
Poplatky za palivo musí být zaplaceny v nativní měně Etherea, etheru (ETH). Ceny paliva jsou obvykle uváděny v gwei, což je denominace ETH. Každý gwei je roven jedné miliardtině ETH (0,000000001 ETH nebo 10-9 ETH).
Např. místo toho, abyste řekli, že vaše palivo stojí 0,000000001 etheru, můžete říct, že stojí 1 gwei.
-Slovo 'gwei' je zkratka pro „giga-wei“, což znamená „miliarda wei“. Jeden gwei se rovná jedné miliardě wei. Wei samo o sobě (pojmenované po [Wei Daiovi](https://wikipedia.org/wiki/Wei_Dai), tvůrci [b-money](https://www.investopedia.com/terms/b/bmoney.asp)) je nejmenší jednotkou ETH.
+Slovo 'gwei' je zkratka pro „giga-wei“, což znamená „miliarda wei“. Jeden gwei se rovná jedné miliardě wei. Samotný wei (pojmenovaný po [Wei Daiovi](https://wikipedia.org/wiki/Wei_Dai), tvůrci [b-money](https://www.investopedia.com/terms/b/bmoney.asp)) je nejmenší jednotkou ETH.
## Jak se vypočítají palivové poplatky? {#how-are-gas-fees-calculated}
@@ -35,7 +36,7 @@ Celkový poplatek za palivo, který zaplatíte, se skládá ze dvou složek: `z
`Základní poplatek` stanovuje protokol – musíte zaplatit alespoň tuto částku, aby byla vaše transakce považována za platnou. `Prioritní poplatek` je spropitné, které přidáte k základnímu poplatku, aby byla vaše transakce atraktivní pro validátory – aby ji vybrali k zařazení do dalšího bloku.
-Transakce, která nabízí pouze `základní poplatek`, je technicky platná, ale je nepravděpodobné, že bude do bloku zařazena, protože nenabízí validátorům žádný motiv ji vybrat před jakoukoli jinou transakcí. „Správný“ `prioritní` poplatek je stanoven podle využití sítě v době odeslání vaší transakce – pokud je vysoká poptávka, možná budete muset nastavit vyšší `prioritní` poplatek, ale když je poptávka nižší, můžete zaplatit méně.
+Transakce, u které se platí pouze `základní poplatek`, je technicky platná, ale je nepravděpodobné, že bude zahrnuta, protože validátorům nenabízí žádnou motivaci, aby ji upřednostnili před jinou transakcí. „Správný“ `prioritní` poplatek je určen vytížením sítě v době odeslání transakce – pokud je velká poptávka, možná budete muset nastavit vyšší `prioritní` poplatek, ale když je poptávka nižší, můžete zaplatit méně.
Např. řekněme, že Jordan musí zaplatit Taylorovi 1 ETH. Převod ETH vyžaduje 21 000 jednotek paliva a základní poplatek je 10 gwei. Jordan přidá spropitné 2 gwei.
@@ -43,44 +44,44 @@ Celkový poplatek by nyní dělal:
`spotřebované jednotky paliva * (základní poplatek + prioritní poplatek)`
-kde `základní poplatek` je hodnota stanovená protokolem a `prioritní poplatek` je hodnota stanovená uživatelem jako spropitné pro validátora.
+kde `základní poplatek` je hodnota stanovená protokolem a `prioritní poplatek` je hodnota, kterou stanoví uživatel jako spropitné pro validátora.
-tj. `21 000 * (10 + 2) = 252 000 gwei` (0,000252 ETH).
+např. `21,000 * (10 + 2) = 252,000 gwei` (0,000252 ETH).
-Když Jordan odešle peníze, z jeho účtu bude odečteno 1,000252 ETH. Taylor obdrží 1,0000 ETH. Validátor obdrží spropitné ve výši 0,000042 ETH. `Základní poplatek` 0,00021 ETH bude spálen.
+Když Jordan odešle peníze, z jeho účtu bude odečteno 1,000252 ETH. Taylor obdrží 1,0000 ETH. Validátor obdrží spropitné ve výši 0,000042 ETH. `Základní poplatek` ve výši 0,00021 ETH je spálen.
### Základní poplatek {#base-fee}
-Každý blok má základní poplatek, který funguje jako rezervní cena. Aby byla transakce způsobilá k zařazení do bloku, nabízená cena za palivo musí být rovna alespoň základnímu poplatku. Základní poplatek je vypočítán nezávisle na aktuálním bloku a je místo toho určen bloky před ním – což dělá transakční poplatky pro uživatele předvídatelnějšími. Po vytvoření bloku je tento **základní poplatek „spálen“**, což znamená, že množství etheru použité na jeho zaplacení je odstraněno z oběhu.
+Každý blok má základní poplatek, který funguje jako rezervní cena. Aby byla transakce způsobilá k zařazení do bloku, nabízená cena za palivo musí být rovna alespoň základnímu poplatku. Základní poplatek se vypočítává nezávisle na aktuálním bloku a je určen bloky před ním, díky čemuž jsou transakční poplatky pro uživatele předvídatelnější. Při vytvoření bloku je tento **základní poplatek „spálen“**, čímž je odstraněn z oběhu.
-Základní poplatek je vypočítán podle vzorce, který porovnává velikost předchozího bloku (množství paliva použitého na všechny transakce) s cílovou velikostí. Základní poplatek se zvýší o maximálně 12,5 % za blok, pokud je překročena cílová velikost bloku. Tento exponenciální růst činí ekonomicky neudržitelným, aby velikost bloku zůstala vysoká po neomezenou dobu.
+Základní poplatek se vypočítává podle vzorce, který porovnává velikost předchozího bloku (množství paliva spotřebovaného na všechny transakce) s cílovou velikostí (polovina limitu transakčních poplatků). Základní poplatek se zvýší nebo sníží o maximálně 12,5 % za blok, pokud je cílová velikost bloku překročena, resp. nedosažena. Tento exponenciální růst činí ekonomicky neudržitelným, aby velikost bloku zůstala vysoká po neomezenou dobu.
-| Číslo bloku | Zahrnuté palivo | Zvýšení poplatku | Aktuální základní poplatek |
-| ----------- | ---------------:| ----------------:| --------------------------:|
-| 1 | 15M | 0% | 100 gwei |
-| 2 | 30M | 0% | 100 gwei |
-| 3 | 30M | 12,5 % | 112,5 gwei |
-| 4 | 30M | 12,5 % | 126,6 gwei |
-| 5 | 30M | 12,5 % | 142,4 gwei |
-| 6 | 30M | 12,5 % | 160,2 gwei |
-| 7 | 30M | 12,5 % | 180,2 gwei |
-| 8 | 30M | 12,5 % | 202,7 gwei |
+| Číslo bloku | Zahrnuté palivo | Zvýšení poplatku | Aktuální základní poplatek |
+| ----------- | ----------------------: | ---------------: | -------------------------: |
+| 1 | 18 mil. | 0% | 100 gwei |
+| 2 | 36 mil. | 0% | 100 gwei |
+| 3 | 36 mil. | 12,5 % | 112,5 gwei |
+| 4 | 36 mil. | 12,5 % | 126,6 gwei |
+| 5 | 36 mil. | 12,5 % | 142,4 gwei |
+| 6 | 36 mil. | 12,5 % | 160,2 gwei |
+| 7 | 36 mil. | 12,5 % | 180,2 gwei |
+| 8 | 36 mil. | 12,5 % | 202,7 gwei |
-Podle výše uvedené tabulky by k vytvoření transakce v bloku číslo 9 peněženka s jistotou informovala uživatele, že **maximální základní poplatek** dalšího bloku je `aktuální základní poplatek * 112,5 %` nebo `202,7 gwei * 112,5 % = 228,1 gwei`.
+Ve výše uvedené tabulce je uveden příklad s limitem transakčních poplatků 36 milionů. Podle tohoto příkladu při vytváření transakce v bloku číslo 9 peněženka s jistotou informuje uživatele, že **maximální základní poplatek**, který bude přidán do dalšího bloku, je `current base fee * 112.5%` neboli `202.7 gwei * 112.5% = 228.1 gwei`.
Je také důležité poznamenat, že z důvodu rychlosti, s jakou se základní poplatek zvyšuje předcházejícímu plnému bloku, je nepravděpodobné, že bychom viděli dlouhodobé peaky plných bloků.
-| Číslo bloku | Zahrnuté palivo | Zvýšení poplatku | Aktuální základní poplatek |
-| ----------- | ---------------:| ----------------:| --------------------------:|
-| 30 | 30M | 12,5 % | 2 705,6 gwei |
-| ... | ... | 12,5 % | ... |
-| 50 | 30M | 12,5 % | 28 531,3 gwei |
-| ... | ... | 12,5 % | ... |
-| 100 | 30M | 12,5 % | 10 302 608,6 gwei |
+| Číslo bloku | Zahrnuté palivo | Zvýšení poplatku | Aktuální základní poplatek |
+| --------------------------------------------------- | --------------------------------------------------: | ---------------: | --------------------------------------------------: |
+| 30 | 36 mil. | 12,5 % | 2 705,6 gwei |
+| ... | ... | 12,5 % | ... |
+| 50 | 36 mil. | 12,5 % | 28 531,3 gwei |
+| ... | ... | 12,5 % | ... |
+| 100 | 36 mil. | 12,5 % | 10 302 608,6 gwei |
### Prioritní poplatek (spropitné) {#priority-fee}
-Prioritní poplatek (spropitné) motivuje validátory k zařazení transakce do bloku. Bez spropitného by pro validátory bylo ekonomicky výhodné těžit prázdné bloky, protože by obdrželi stejnou odměnu za blok. Malé spropitné dává validátorům minimální motivaci zahrnout transakci. Pro transakce, které mají být preferenčně provedeny před jinými transakcemi ve stejném bloku, lze přidat vyšší spropitné a pokusit se tak přeplatit konkurenční transakce.
+Prioritní poplatek (spropitné) motivuje validátory, aby maximalizovali počet transakcí v bloku, přičemž jsou omezeni pouze limitem transakčních poplatků bloku. Bez spropitného by racionální validátor mohl zahrnout méně transakcí, nebo dokonce žádné, a to bez jakéhokoli přímého postihu na exekuční nebo konsensuální vrstvě, protože odměny ze stakingu jsou nezávislé na počtu transakcí v bloku. Spropitné navíc umožňuje uživatelům přeplatit ostatní za prioritu v rámci stejného bloku, čímž efektivně signalizují naléhavost.
### Maximální poplatek {#maxfee}
@@ -88,7 +89,11 @@ Při provedení transakce na síti mohou uživatelé specifikovat maximální li
### Velikost bloku {#block-size}
-Každý blok má cílovou velikost 15 milionů jednotek paliva, ale velikost bloků se bude zvyšovat nebo snižovat v závislosti na poptávce na síti, až do limitu bloku 30 milionů jednotek paliva (2x cílová velikost bloku). Protokol v průměru dosahuje rovnovážné velikosti bloku 15 milionů prostřednictvím procesu zvaného _tâtonnement_. To znamená, že pokud je velikost bloku větší než cílová velikost bloku, protokol zvýší základní poplatek pro následující blok. Podobně, pokud je velikost bloku menší než cílová velikost, protokol sníží základní poplatek. Hodnota, o kterou se základní poplatek upravuje, je úměrná tomu, jak daleko je aktuální velikost bloku od cíle. [Další informace o blocích](/developers/docs/blocks/).
+Každý blok má cílovou velikost poloviny současného limitu transakčních poplatků, ale velikost bloků se bude zvyšovat nebo snižovat v souladu s poptávkou v síti, a to až do dosažení limitu bloku (2x cílová velikost bloku). Protokol dosahuje rovnovážné průměrné velikosti bloku na cílové úrovni prostřednictvím procesu _tâtonnement_. To znamená, že pokud je velikost bloku větší než cílová velikost bloku, protokol zvýší základní poplatek pro následující blok. Podobně, pokud je velikost bloku menší než cílová velikost, protokol sníží základní poplatek.
+
+Hodnota, o kterou se základní poplatek upravuje, je úměrná tomu, jak daleko je aktuální velikost bloku od cíle. Jedná se o lineární výpočet od -12,5 % pro prázdný blok, 0 % při cílové velikosti, až po +12,5 % pro blok, který dosáhne limitu transakčních poplatků. Limit transakčních poplatků se může v čase měnit na základě signalizace validátorů a také prostřednictvím vylepšení sítě. Změny limitu transakčních poplatků v čase si můžete [prohlédnout zde](https://eth.blockscout.com/stats/averageGasLimit?interval=threeMonths).
+
+[Více o blocích](/developers/docs/blocks/)
### Výpočet poplatků za palivo v praxi {#calculating-fees-in-practice}
@@ -98,13 +103,14 @@ Můžete explicitně uvést, kolik jste ochotni zaplatit, aby byla vaše transak
Stručně řečeno, poplatky za palivo pomáhají udržovat bezpečnost sítě Ethereum. Požadováním poplatku za každý výpočet provedený v síti zabráníme nečestným aktérům v zahlcení sítě. Abychom se vyhnuli náhodným nebo záměrným nekonečným smyčkám nebo jinému plýtvání výpočetními zdroji v kódu, každá transakce musí nastavit limit na počet výpočetních kroků potřebných k vykonání kódu. Základní jednotkou výpočtu je „palivo“.
-Ačkoliv transakce obsahuje limit, palivo nevyužité během transakce se vrací uživateli (tj. `maximální poplatek - (základní polatek + spropitné)` se vrací).
+Ačkoli transakce zahrnuje limit, jakékoli palivo, které se v transakci nespotřebuje, se vrací uživateli (např. se vrací `max fee - (base fee + tip)`).
- _Schéma převzato z [ilustrace Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+
+_Diagram převzat z [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
## Co je to limit paliva? {#what-is-gas-limit}
-Limit paliva označuje maximální množství paliva, které jste ochotni za transakci utratit. Složitější transakce zahrnující [chytré kontrakty](/developers/docs/smart-contracts/) potřebují více výpočetního výkonu, a proto vyžadují vyšší limit paliva než jednoduchá platba. Standardní převod ETH vyžaduje limit paliva 21 000 jednotek.
+Limit paliva označuje maximální množství paliva, které jste ochotni za transakci utratit. Složitější transakce zahrnující [chytré kontrakty](/developers/docs/smart-contracts/) vyžadují více výpočetní práce, takže vyžadují vyšší limit transakčních poplatků než jednoduchá platba. Standardní převod ETH vyžaduje limit paliva 21 000 jednotek.
Např. pokud nastavíte limit paliva na 50 000 pro jednoduchý převod ETH, EVM spotřebuje 21 000 a zbývajících 29 000 se vám vrátí. Pokud však zadáte příliš málo paliva, například limit paliva 20 000 pro jednoduchý převod ETH, transakce ve fázi validace selže. Bude odmítnuta před zařazením do bloku a nebude spotřebováno žádné palivo. Na druhou stranu, pokud transakci během provádění dojde palivo (např. chytrý kontrakt spotřebuje v polovině provádění veškeré palivo), EVM vrátí všechny změny, ale veškeré poskytnuté palivo bude stále spotřebováno na provedenou práci.
@@ -114,28 +120,32 @@ Vysoké poplatky za palivo jsou způsobeny popularitou Etherea. Pokud je poptáv
## Iniciativy na snížení nákladů na palivo {#initiatives-to-reduce-gas-costs}
-[Vylepšení škálovatelnosti](/roadmap/) Etherea by měly řešit některé problémy palivových poplatků, což následně umožní platformě zpracovávat tisíce transakcí za sekundu a škálovat globálně.
+[Vylepšení škálovatelnosti](/roadmap/) Etherea by měla v konečném důsledku vyřešit některé problémy s poplatky za palivo, což platformě umožní zpracovávat tisíce transakcí za sekundu a škálovat globálně.
+
+Primární iniciativou ke snížení palivových nákladů a zlepšení uživatelských možností a škálovatelnosti je škálování druhé vrstvy.
-Primární iniciativou ke snížení palivových nákladů a zlepšení uživatelských možností a škálovatelnosti je škálování druhé vrstvy. [Další informace o škálování druhé vrstvy](/developers/docs/scaling/#layer-2-scaling).
+[Více o škálování na druhé vrstvě](/developers/docs/scaling/#layer-2-scaling)
## Monitorování poplatků za palivo {#monitoring-gas-fees}
Pokud chcete monitorovat poplatky za palivo, abyste mohli odesílat své ETH za nižší ceny, můžete využít několik různých nástrojů, např.:
-- [Etherscan](https://etherscan.io/gastracker) – _odhad ceny paliva za transakci_
-- [ETH tracker paliva](https://www.ethgastracker.com/) _Monitorujte a sledujte ceny paliva na Ethereu a vrstvě 2, abyste snížili transakční poplatky a ušetřili peníze_
-- [Blocknative ETH Gas Estimator](https://chrome.google.com/webstore/detail/blocknative-eth-gas-estim/ablbagjepecncofimgjmdpnhnfjiecfm) – _rozšíření pro prohlížeč Chrome odhadující poplatky za palivo, které podporuje jak typ 0 legacy transakce, tak typ 2 transakce EIP-1559_
-- [Cryptoneur Gas Fees Calculator](https://www.cryptoneur.xyz/gas-fees-calculator) – _kalkulačka poplatků za palivo v místní měně pro různé typy transakcí na hlavní síti, Arbitru a Polygonu_
+- [Etherscan](https://etherscan.io/gastracker) _Odhad ceny transakčního paliva_
+- [Blockscout](https://eth.blockscout.com/gas-tracker) _Open-source odhad ceny transakčního paliva_
+- [ETH Gas Tracker](https://www.ethgastracker.com/) _Monitorujte a sledujte ceny paliva na Ethereu a L2, abyste snížili transakční poplatky a ušetřili peníze_
+- [Blocknative ETH Gas Estimator](https://chrome.google.com/webstore/detail/blocknative-eth-gas-estim/ablbagjepecncofimgjmdpnhnfjiecfm) _Rozšíření pro Chrome pro odhad paliva, které podporuje jak starší transakce typu 0, tak transakce typu 2 EIP-1559._
+- [Cryptoneur Gas Fees Calculator](https://www.cryptoneur.xyz/gas-fees-calculator) _Vypočítejte poplatky za palivo ve vaší místní měně pro různé typy transakcí na hlavní síti (Mainnet), Arbitrum a Polygonu._
## Související nástroje {#related-tools}
-- [Blocknative's Gas Platform](https://www.blocknative.com/gas) – _API pro odhadování poplatků za palivo podporované globální datovou platformou Blocknative mempool_
+- [Blocknative's Gas Platform](https://www.blocknative.com/gas) _API pro odhadování paliva, které využívá globální datovou platformu mempoolu od Blocknative_
+- [Gas Network](https://gas.network) Oracles pro palivo na blockchainu. Podpora pro více než 35 chainů.
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Vysvětlení paliva na Ethereu](https://defiprime.com/gas)
-- [Snížení spotřeby paliva ve vašich chytrých kontraktech](https://medium.com/coinmonks/8-ways-of-reducing-the-gas-consumption-of-your-smart-contracts-9a506b339c0a)
+- [Vysvětlení ethereového paliva](https://defiprime.com/gas)
+- [Snížení spotřeby paliva vašich chytrých kontraktů](https://medium.com/coinmonks/8-ways-of-reducing-the-gas-consumption-of-your-smart-contracts-9a506b339c0a)
- [Strategie optimalizace paliva pro vývojáře](https://www.alchemy.com/overviews/solidity-gas-optimization)
-- [Dokumentace EIP-1559](https://eips.ethereum.org/EIPS/eip-1559)
-- [Zdroje k EIP-1559 od Tima Beika](https://hackmd.io/@timbeiko/1559-resources)
-- [EIP-1559: Oddělování mechanismů od memů](https://web.archive.org/web/20241126205908/https://research.2077.xyz/eip-1559-separating-mechanisms-from-memes)
+- [Dokumentace k EIP-1559](https://eips.ethereum.org/EIPS/eip-1559).
+- [Zdroje Tima Beika k EIP-1559](https://hackmd.io/@timbeiko/1559-resources)
+- [EIP-1559: Oddělení mechanismů od memů](https://web.archive.org/web/20241126205908/https://research.2077.xyz/eip-1559-separating-mechanisms-from-memes)
diff --git a/public/content/translations/cs/developers/docs/ides/index.md b/public/content/translations/cs/developers/docs/ides/index.md
new file mode 100644
index 00000000000..c29a8874b24
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/ides/index.md
@@ -0,0 +1,64 @@
+---
+title: Integrovaná vývojová prostředí (IDE)
+description: Přečtěte si o webových a desktopových IDE pro vývoj na Ethereu, včetně Remixu, VS Code a oblíbených pluginů.
+lang: cs
+---
+
+Při nastavování [integrovaného vývojového prostředí (IDE)](https://wikipedia.org/wiki/Integrated_development_environment) je programování aplikací na Ethereu podobné jako programování jakéhokoli jiného softwarového projektu. Existuje spousta možností, takže si na konci dne vyberte IDE nebo kódový editor, který nejlépe vyhovuje vašim preferencím. S největší pravděpodobností bude nejlepší volbou IDE, které již používáte pro vývoj tradičního softwaru.
+
+## Webová IDE {#web-based-ides}
+
+Pokud si chcete pohrát s kódem před tím, než si [nastavíte lokální vývojové prostředí](/developers/local-environment/), tyto webové aplikace jsou speciálně vytvořeny pro vývoj chytrých kontraktů na Ethereu.
+
+**[Remix](https://remix.ethereum.org/)** - **_Webové IDE s vestavěnou statickou analýzou a testovacím blockchainovým virtuálním strojem_**
+
+- [Dokumentace](https://remix-ide.readthedocs.io/en/latest/#)
+- [Gitter](https://gitter.im/ethereum/remix)
+
+**[ChainIDE](https://chainide.com/)** - **_Cloudové IDE pro více blockchainů_**
+
+- [Dokumentace](https://chainide.gitbook.io/chainide-english-1/)
+- [Fórum nápovědy](https://forum.chainide.com/)
+
+**[Replit (Solidity Starter - Beta)](https://replit.com/@replit/Solidity-starter-beta)** - **_Přizpůsobitelné vývojové prostředí pro Ethereum s hot-reloadingem, kontrolou chyb a prvotřídní podporou testnetu_**
+
+- [Dokumentace](https://docs.replit.com/)
+
+**[Tenderly Sandbox](https://sandbox.tenderly.co/)** - **_Rychlé prototypovací prostředí, kde můžete psát, spouštět a ladit chytré kontrakty v prohlížeči pomocí Solidity a JavaScriptu_**
+
+**[EthFiddle](https://ethfiddle.com/)** - **_Webové IDE, které vám umožní psát, kompilovat a ladit váš chytrý kontrakt_**
+
+- [Gitter](https://gitter.im/loomnetwork/ethfiddle)
+
+## Desktopová IDE {#desktop-ides}
+
+Většina zavedených IDE má vytvořené pluginy pro zlepšení vývojového prostředí pro Ethereum. Minimálně poskytují zvýrazňování syntaxe pro [jazyky chytrých kontraktů](/developers/docs/smart-contracts/languages/).
+
+**Visual Studio Code -** **_Profesionální multiplatformní IDE s oficiální podporou Etherea_**
+
+- [Visual Studio Code](https://code.visualstudio.com/)
+- [Ukázky kódu](https://github.com/Azure-Samples/blockchain/blob/master/blockchain-workbench/application-and-smart-contract-samples/readme.md)
+- [GitHub](https://github.com/microsoft/vscode)
+
+**JetBrains IDEs (IntelliJ IDEA, atd.) -** **_Základní nástroje pro vývojáře softwaru a týmy_**
+
+- [JetBrains](https://www.jetbrains.com/)
+- [GitHub](https://github.com/JetBrains)
+- [IntelliJ Solidity](https://github.com/intellij-solidity/intellij-solidity/)
+
+**Remix Desktop -** **_Remix IDE na vašem lokálním počítači_**
+
+- [Stáhnout](https://github.com/ethereum/remix-desktop/releases)
+- [GitHub](https://github.com/ethereum/remix-desktop)
+
+## Pluginy a rozšíření {#plugins-extensions}
+
+- [solidity](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity) – Jazyk Ethereum Solidity pro Visual Studio Code
+- [Solidity + Hardhat pro VS Code](https://marketplace.visualstudio.com/items?itemName=NomicFoundation.hardhat-solidity) – Podpora pro Solidity a Hardhat od týmu Hardhat
+- [Prettier Solidity](https://github.com/prettier-solidity/prettier-plugin-solidity) – Formátovač kódu využívající Prettier
+
+## Další čtení {#further-reading}
+
+- [Ethereum IDEs](https://www.alchemy.com/list-of/web3-ides-on-ethereum) _– Seznam Ethereum IDE od Alchemy_
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/index.md b/public/content/translations/cs/developers/docs/index.md
index 44c82d43f8a..40a1a2be5f5 100644
--- a/public/content/translations/cs/developers/docs/index.md
+++ b/public/content/translations/cs/developers/docs/index.md
@@ -6,9 +6,9 @@ lang: cs
Tato dokumentace je navržena tak, aby vám pomohla s vývojem na Ethereu. Pokrývá Ethereum jako koncept, vysvětluje technologický stack Etherea a dokumentuje pokročilá témata pro složitější aplikace a případy použití.
-Jedná se o komunitní open-source projekt, takže neváhejte navrhovat nová témata, přidávat nový obsah a poskytovat příklady tam, kde si myslíte, že by to mohlo být užitečné. Veškerou dokumentaci lze upravovat přes GitHub – pokud si nejste jisti, jak na to, [postupujte podle těchto pokynů](https://github.com/ethereum/ethereum-org-website/blob/dev/docs/editing-markdown.md).
+Jedná se o komunitní open-source projekt, takže neváhejte navrhovat nová témata, přidávat nový obsah a poskytovat příklady tam, kde si myslíte, že by to mohlo být užitečné. Veškerou dokumentaci lze upravit prostřednictvím GitHubu – pokud si nejste jisti, jak na to, [postupujte podle těchto pokynů](https://github.com/ethereum/ethereum-org-website/blob/dev/docs/editing-markdown.md).
-## Moduly vývoje {#development-modules}
+## Vývojové moduly {#development-modules}
Pokud je toto váš první pokus o vývoj na Ethereu, doporučujeme začít od začátku a postupovat jako při čtení knihy.
@@ -16,10 +16,10 @@ Pokud je toto váš první pokus o vývoj na Ethereu, doporučujeme začít od z
-### Ethereum zásobník {#ethereum-stack}
+### Stack Etherea {#ethereum-stack}
-### Další {#advanced}
+### Pokročilé {#advanced}
diff --git a/public/content/translations/cs/developers/docs/intro-to-ether/index.md b/public/content/translations/cs/developers/docs/intro-to-ether/index.md
index f877b92093f..4ee02655445 100644
--- a/public/content/translations/cs/developers/docs/intro-to-ether/index.md
+++ b/public/content/translations/cs/developers/docs/intro-to-ether/index.md
@@ -1,12 +1,12 @@
---
-title: Úvod ke kryptoměně ether
+title: Technický úvod do etheru
description: Úvod ke kryptoměně ether pro vývojáře.
lang: cs
---
## Předpoklady {#prerequisites}
-K lepšímu pochopení této stránky vám doporučujeme si nejprve přečíst náš [úvod do Etherea](/developers/docs/intro-to-ethereum/).
+Pro lepší porozumění této stránce vám doporučujeme si nejprve přečíst [Úvod do Etherea](/developers/docs/intro-to-ethereum/).
## Co je kryptoměna? {#what-is-a-cryptocurrency}
@@ -16,17 +16,17 @@ Médium směny je cokoliv, co je široce přijímáno jako platba za zboží a s
První kryptoměnou byl Bitcoin, který vytvořil Satoshi Nakamoto. Od spuštění Bitcoinu v roce 2009 lidé vytvořili tisíce kryptoměn na různých blockchainech.
-## Co je Ether? {#what-is-ether}
+## Co je to ether? {#what-is-ether}
-**Ether (ETH)** je kryptoměna používaná pro různé účely v síti Ethereum. V základu je to jediná přijatelná forma platby za transakční poplatky a po [Sloučení](/roadmap/merge) je ether vyžadován k validaci a navrhování bloků na hlavní síti. Ether se také používá jako primární forma zajištění na [DeFi](/defi) půjčkových trzích, jako účetní jednotka na trzích NFT, jako platba za poskytování služeb nebo prodej reálného zboží atd.
+**Ether (ETH)** je kryptoměna používaná k mnoha věcem v síti Ethereum. V zásadě je to jediná přijatelná forma platby za transakční poplatky a po [Sloučení](/roadmap/merge) je ether vyžadován k ověřování a navrhování bloků na hlavní síti. Ether se také používá jako primární forma kolaterálu na úvěrových trzích [DeFi](/defi), jako zúčtovací jednotka na NFT tržištích, jako platba za poskytnuté služby nebo prodej reálného zboží a tak dále.
-Ethereum umožňuje vývojářům vytvářet [**decentralizované aplikace (dappky)**](/developers/docs/dapps), které sdílejí společný fond výpočetního výkonu. Tento sdílený fond je omezený, takže Ethereum potřebuje mechanismus, který určí, kdo ho může používat. Jinak by mohla dappka omylem nebo záměrně spotřebovat všechny síťové zdroje, což by znemožnilo přístup ostatním.
+Ethereum umožňuje vývojářům vytvářet [**decentralizované aplikace (dapps)**](/developers/docs/dapps), které všechny sdílejí společný výpočetní výkon. Tento sdílený fond je omezený, takže Ethereum potřebuje mechanismus, který určí, kdo ho může používat. Jinak by mohla dappka omylem nebo záměrně spotřebovat všechny síťové zdroje, což by znemožnilo přístup ostatním.
-Kryptoměna ether podporuje mechanismus stanovení cen pro výpočetní výkon Etherea. Když uživatelé chtějí provést transakci, musí zaplatit Ethereum, aby byla jejich transakce na blockchainu uznána. Tyto náklady jsou známé jako [poplatky za palivo](/developers/docs/gas/) a výše poplatku závisí na množství výpočetního výkonu potřebného k provedení transakce a na celosíťové poptávce po výpočetním výkonu v daném okamžiku.
+Kryptoměna ether podporuje mechanismus stanovení cen pro výpočetní výkon Etherea. Když uživatelé chtějí provést transakci, musí zaplatit etherem, aby byla jejich transakce na blockchainu uznána. Tyto náklady na použití jsou známé jako [poplatky za gas](/developers/docs/gas/) a poplatek za gas závisí na množství výpočetního výkonu potřebného k provedení transakce a na celosíťové poptávce po výpočetním výkonu v daném okamžiku.
Proto, i když by škodlivá dappka odeslala nekonečnou smyčku, transakci by nakonec došel ether a byla by ukončena, což by umožnilo síti vrátit se do normálu.
-Je [běžné zaměňovat](https://abcnews.go.com/Business/bitcoin-slumps-week-low-amid-renewed-worries-chinese/story?id=78399845) Ethereum a ether – když se lidé zmiňují o „ceně Etherea“, popisují cenu etheru.
+Je [běžné zaměňovat](https://abcnews.go.com/Business/bitcoin-slumps-week-low-amid-renewed-worries-chinese/story?id=78399845) Ethereum a ether — když lidé mluví o „ceně Etherea“, popisují cenu etheru.
## Ražba etheru {#minting-ether}
@@ -38,15 +38,15 @@ Ether se razí jako odměna za každý navržený blok a při každém epocháln
Kromě vytváření etheru prostřednictvím odměn za bloky může být ether také zničen procesem zvaným „pálení“. Když se ether spálí, je trvale odstraněn z oběhu.
-K pálení etheru dochází při každé transakci na Ethereu. Když uživatelé platí za transakce, základní poplatek za palivo, který je stanoven sítí podle poptávky po transakcích, je zničen. Tento proces, ve spojení s proměnlivými velikostmi bloků a maximálním poplatkem za palivo, zjednodušuje odhad poplatků za transakce na Ethereu. Když je poptávka po síti vysoká, [bloky](https://etherscan.io/block/12965263) mohou spálit více etheru, než kolik se vyrazí, což efektivně kompenzuje vydávání nových etherů.
+K pálení etheru dochází při každé transakci na Ethereu. Když uživatelé platí za transakce, základní poplatek za palivo, který je stanoven sítí podle poptávky po transakcích, je zničen. Tento proces, ve spojení s proměnlivými velikostmi bloků a maximálním poplatkem za palivo, zjednodušuje odhad poplatků za transakce na Ethereu. Když je poptávka v síti vysoká, mohou [bloky](https://eth.blockscout.com/block/22580057) spálit více etheru, než kolik vyrazí, což efektivně kompenzuje vydávání etheru.
Pálení základního poplatku omezuje schopnost producenta bloku manipulovat s transakcemi. Např. kdyby producenti bloků dostávali základní poplatek, mohli by zahrnout své vlastní transakce zdarma a zvýšit základní poplatek pro všechny ostatní. Alternativně by mohli vrátit základní poplatek některým uživatelům mimo blockchain, což by vedlo k méně transparentnímu a složitějšímu trhu s transakčními poplatky.
-## Denominace etheru {#denominations}
+## Jednotky etheru {#denominations}
Protože hodnota mnoha transakcí na Ethereu je malá, ether má několik denominací, které mohou být použity jako menší účetní jednotky. Z těchto denominací jsou obzvláště důležité wei a gwei.
-Wei je nejmenší možnou jednotkou etheru, a proto se mnoho technických implementací, např. [Ethereum Yellowpaper](https://ethereum.github.io/yellowpaper/paper.pdf), zakládá na výpočtech ve wei.
+Wei je nejmenší možná částka etheru a v důsledku toho budou mnohé technické implementace, jako například [Ethereum Yellowpaper](https://ethereum.github.io/yellowpaper/paper.pdf), zakládat všechny výpočty na wei.
Gwei, zkratka pro giga-wei, se často používá k popisu nákladů na palivo na Ethereu.
@@ -55,24 +55,24 @@ Gwei, zkratka pro giga-wei, se často používá k popisu nákladů na palivo na
| Wei | 10-18 | Technické implementace |
| Gwei | 10-9 | Srozumitelné poplatky za palivo |
-## Převod etheru {#transferring-ether}
+## Převádění etheru {#transferring-ether}
-Každá transakce na Ethereu obsahuje pole `hodnota`, které určuje částku etheru k převodu, denominovanou ve wei, k odeslání z adresy odesílatele na adresu příjemce.
+Každá transakce na Ethereu obsahuje pole `value`, které určuje množství etheru k převodu, denominované ve wei, k odeslání z adresy odesílatele na adresu příjemce.
-Když je adresou příjemce [chytrý kontrakt](/developers/docs/smart-contracts/), tento převedený ether může být použit k úhradě paliva při vykonávání kódu chytrého kontraktu.
+Pokud je adresa příjemce [chytrý kontrakt](/developers/docs/smart-contracts/), může být tento převedený ether použit k zaplacení gasu, když chytrý kontrakt spouští svůj kód.
-[Další informace o transakcích](/developers/docs/transactions/)
+[Více o transakcích](/developers/docs/transactions/)
-## Dotazování na ether {#querying-ether}
+## Zjišťování zůstatku etheru {#querying-ether}
-Uživatelé mohou zjistit zůstatek etheru na jakémkoliv [účtu](/developers/docs/accounts/) tím, že se podívají na pole `zůstatku` účtu, které zobrazuje hodnotu drženou v etheru v denominaci wei.
+Uživatelé mohou zjistit zůstatek etheru na jakémkoli [účtu](/developers/docs/accounts/) nahlédnutím do pole `balance` daného účtu, které ukazuje držený ether v nominální hodnotě wei.
-[Etherscan](https://etherscan.io) je populárním nástrojem ke zjištění zůstatků adres prostřednictvím webové aplikace. [Tato stránka na Etherscanu](https://etherscan.io/address/0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae) např. ukazuje zůstatek etherů na účtu Ethereum Foundation. Zůstatky účtů lze také zjistit pomocí peněženek nebo přímo pomocí vyslání požadavku na uzly.
+[Etherscan](https://etherscan.io) a [Blockscout](https://eth.blockscout.com) jsou populární nástroje pro kontrolu zůstatků na adresách prostřednictvím webových aplikací. Například [tato stránka Blockscout](https://eth.blockscout.com/address/0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe) ukazuje zůstatek Nadace Ethereum. Zůstatky účtů lze také zjistit pomocí peněženek nebo přímo pomocí vyslání požadavku na uzly.
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Definování etheru a Etherea](https://www.cmegroup.com/education/courses/introduction-to-ether/defining-ether-and-ethereum.html) – _CME Group_
-- [Ethereum Whitepaper](/whitepaper/): Původní návrh Etherea. Tento dokument obsahuje popis etheru a motivaci za jeho vytvořením.
-- [Kalkulačka gwei](https://www.alchemy.com/gwei-calculator): Použijte tuto kalkulačku gwei pro snadnou konverzi mezi wei, gwei a ether. Stačí zadat jakoukoliv částku ve wei, gwei nebo ETH a automaticky vypočítat konverzi.
+- [Definice etheru a Etherea](https://www.cmegroup.com/education/courses/introduction-to-ether/defining-ether-and-ethereum.html) – _CME Group_
+- [Bílá kniha Etherea](/whitepaper/): Původní návrh Etherea. Tento dokument obsahuje popis etheru a motivaci za jeho vytvořením.
+- [Kalkulačka gwei](https://www.alchemy.com/gwei-calculator): Použijte tuto kalkulačku gwei pro snadný převod mezi wei, gwei a etherem. Stačí zadat jakoukoliv částku ve wei, gwei nebo ETH a automaticky vypočítat konverzi.
_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md b/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md
index 8e8d75df56c..2adfe450ab7 100644
--- a/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md
+++ b/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md
@@ -1,10 +1,10 @@
---
-title: Úvod k platformě Ethereum
+title: Technický úvod do Etherea
description: Úvod do základních konceptů Etherea pro vývojáře dappek.
lang: cs
---
-## Co je to blockchain? {#what-is-a-blockchain}
+## Co je to blockchain? Co je to blockchain? {#what-is-a-blockchain}
Blockchain je veřejná databáze, která je aktualizována a sdílena mnoha počítači v síti.
@@ -16,13 +16,13 @@ Každý počítač v síti musí souhlasit s každým novým blokem a řetězcem
Ethereum používá [mechanismus konsenzu založený na důkazu podílem](/developers/docs/consensus-mechanisms/pos/). Každý, kdo chce přidat nové bloky do řetězce, musí uzamknout ETH – nativní měnu v Ethereu – jako záruku a spustit validační software. Tito „validátoři“ mohou být pak náhodně vybráni k navržení bloků, které ostatní validátoři zkontrolují a přidají na blockchain. Existuje systém odměn a trestů, který silně motivuje účastníky, aby byli poctiví a co nejvíce online.
-Pokud se chcete podívat, jak jsou blockchainová data hashována a následně přidávána k historii odkazů bloků, podívejte se na [tuto ukázku](https://andersbrownworth.com/blockchain/blockchain) od Anderse Brownwortha na videu níže.
+Pokud se chcete podívat, jak se data v blockchainu hašují a následně připojují k historii odkazů na bloky, určitě si prohlédněte [tuto ukázku](https://andersbrownworth.com/blockchain/blockchain) od Anderse Brownwortha a podívejte se na doprovodné video níže.
Podívejte se, jak Anders vysvětluje hashe na blockchainech:
-## Co je to Ethereum? {#what-is-ethereum}
+## Co je to Ethereum? Co je Ethereum? {#what-is-ethereum}
Ethereum je blockchain s integrovaným počítačem. Je základem pro budování aplikací a organizací decentralizovaným, cenzuře odolným způsobem bez nutnosti dovolovat se třetí strany.
@@ -32,7 +32,7 @@ Požadavky na výpočet se nazývají transakční požadavky. Záznam všech tr
Kryptografické mechanismy zajišťují, že jakmile jsou transakce ověřeny jako platné a přidány na blockchain, nemohou být později zmanipulovány. Tyto mechanismy také zajišťují, že všechny transakce jsou podepsány a provedeny s odpovídajícími „oprávněními“ (nikdo by neměl být schopen poslat digitální aktiva z účtu Alice, kromě Alice samotné).
-## Co je ether? {#what-is-ether}
+## Co je to ether? {#what-is-ether}
**Ether (ETH)** je nativní kryptoměna Etherea. Účelem ETH je umožnit fungování trhu výpočetních zdrojů. Takový trh poskytuje účastníkům ekonomickou pobídku k ověřování a provádění požadavků na transakce a poskytování výpočetních zdrojů síti.
@@ -42,9 +42,9 @@ Množství zaplaceného ETH odpovídá zdrojům potřebným k provedení výpoč
ETH se také používá k zajištění kryptografické bezpečnosti sítě třemi hlavními způsoby: 1) Slouží jako prostředek k odměňování validátorů, kteří navrhují bloky nebo upozorňují na nepoctivé chování jiných validátorů. 2) Validátoři ho uzamykají jako záruku proti nepoctivému chování – pokud se validátoři pokusí o nekalou činnost, jejich ETH může být zničeno. 3) Používá se k vážení „hlasů“ pro nově navrhované bloky, což se promítá do volby větve v mechanismu konsenzu.
-## Co to jsou chytré kontrakty? {#what-are-smart-contracts}
+## Co to jsou chytré kontrakty? Co jsou chytré kontrakty? {#what-are-smart-contracts}
-V praxi účastníci nepíší nový kód pokaždé, když chtějí požádat o výpočet na EVM. Místo toho vývojáři aplikací nahrají programy (znovu použitelné úryvky kódu) do stavu EVM a uživatelé posílají požadavky na provedení těchto úryvků kódu s různými parametry. Tyto programy, které jsou nahrány do sítě a touto sítí také vykonávány, nazýváme chytré kontrakty.
+V praxi účastníci nepíší nový kód pokaždé, když chtějí požádat o výpočet na EVM. Místo toho vývojáři aplikací nahrají programy (znovu použitelné úryvky kódu) do stavu EVM a uživatelé posílají požadavky na provedení těchto úryvků kódu s různými parametry. Programy nahrané do sítě, které síť zároveň vykonává, nazýváme "chytré kontrakty".
Na základní úrovni si můžete chytrý kontrakt představit jako druh automatu: Skript, který při volání s určitými parametry, pokud jsou splněny určité podmínky, provádí nějaké akce nebo výpočet. Např. jednoduchý vydávající chytrý kontrakt by mohl vytvořit a přiřadit vlastnictví digitálního aktiva, pokud volající pošle ETH konkrétnímu příjemci.
@@ -62,15 +62,15 @@ Sekvence všech bloků, které byly historicky přidány na síť Ethereum. Toto
**Ether (ETH)** je nativní kryptoměna Etherea. Uživatelé platí ETH jiným uživatelům, aby byly splněny jejich požadavky na vykonání kódu.
-[Více o ETH](/developers/docs/intro-to-ether/)
+[Více o ETH](/developers/docs/intro-to-ether/)
### EVM {#evm}
Virtuální stroj Etherea (EVM) je globální virtuální počítač, jehož stav uchovává a uznává každý účastník sítě Ethereum. Každý účastník může požádat o vykonání libovolného kódu na EVM. To mění stav EVM.
-[Další informace o EVM](/developers/docs/evm/)
+[Více o EVM](/developers/docs/evm/)
-### Síťové uzly {#nodes}
+### Uzly {#nodes}
Reálné stroje, které ukládají stav EVM. Uzly mezi sebou komunikují, aby sdílely informace o stavu EVM a jeho změnách. Každý uživatel může také požádat o vykonání kódu tím, že z uzlu vyšle požadavek na vykonání kódu. Samotná síť Ethereum je souhrnem všech uzlů Etherea a jejich komunikací.
@@ -80,7 +80,7 @@ Reálné stroje, které ukládají stav EVM. Uzly mezi sebou komunikují, aby sd
Místo, kde je uloženo ETH. Uživatelé mohou inicializovat účty, vkládat ETH na účty a převádět ETH ze svých účtů na účty jiných uživatelů. Účty a zůstatky na účtech jsou uloženy ve velké tabulce v EVM. Jsou součástí celkového stavu EVM.
-[Další informace o účtech](/developers/docs/accounts/)
+[Více o účtech](/developers/docs/accounts/)
### Transakce {#transactions}
@@ -90,27 +90,35 @@ Místo, kde je uloženo ETH. Uživatelé mohou inicializovat účty, vkládat ET
- Nahraj nějaký chytrý kontraktový kód do stavu EVM.
- Vykonej kód chytrého kontraktu na adrese X v EVM s argumenty Y.
-[Další informace o transakcích](/developers/docs/transactions/)
+[Více o transakcích](/developers/docs/transactions/)
### Bloky {#blocks}
Objem transakcí je velmi vysoký, takže transakce jsou „zapisovány“ v dávkách neboli blocích. Bloky obvykle obsahují desítky až stovky transakcí.
-[Další informace o blocích](/developers/docs/blocks/)
+[Více o blocích](/developers/docs/blocks/)
### Chytré kontrakty {#smart-contracts}
-Znovu použitelný úryvek kódu (program), který vývojář nahraje do stavu EVM. Každý může podáním transakčního požadavku požádat o vykonání kódu chytrého kontraktu. Protože vývojáři mohou do EVM zapisovat libovolné spustitelné aplikace (hry, tržiště, finanční nástroje atd.) tím, že publikují chytré kontrakty, často se jim říká [dappky nebo decentralizované aplikace](/developers/docs/dapps/).
+Znovu použitelný úryvek kódu (program), který vývojář nahraje do stavu EVM. Každý může podáním transakčního požadavku požádat o vykonání kódu chytrého kontraktu. Protože vývojáři mohou do EVM psát libovolné spustitelné aplikace (hry, tržiště, finanční nástroje atd.) zveřejňováním chytrých kontraktů se těmto často říká také [dapps neboli decentralizované aplikace](/developers/docs/dapps/).
[Více o chytrých kontraktech](/developers/docs/smart-contracts/)
-## Další četba {#further-reading}
+## Další čtení {#further-reading}
-- [Oficiální dokumenty Ethereum](/whitepaper/)
-- [Jak vlastně Ethereum funguje?](https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369) – _Preethi Kasireddy_ (**Poznámka**: Tento zdroj je stále užitečný, ale vezměte na vědomí, že předchází [Sloučení](/roadmap/merge), a proto stále odkazuje na mechanismus důkazu prací – Ethereum je nyní zabezpečeno pomocí [důkazu podílem.](/developers/docs/consensus-mechanisms/pos))
+- [Bílá kniha Ethereum](/whitepaper/)
+- [Jak vlastně Ethereum funguje?](https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369) - _Preethi Kasireddy_ (**Poznámka:** tento zdroj je stále hodnotný, ale uvědomte si, že předchází [Sloučení](/roadmap/merge) a tudíž stále odkazuje na mechanismus důkazu prací – Ethereum je ve skutečnosti nyní zabezpečeno pomocí [důkazu podílem](/developers/docs/consensus-mechanisms/pos))
+
+### Učíte se spíše vizuálně? Vizuální výuka {#visual-learner}
+
+Tato série videí nabízí důkladné prozkoumání základních témat:
+
+
+
+[Playlist se základy Etherea](https://youtube.com/playlist?list=PLqgutSGloqiJyyoL0zvLVFPS-GMD2wKa5&si=kZTf5I7PKGTXDsOZ)
_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
## Související návody {#related-tutorials}
-- [Průvodce Ethereem pro vývojáře, část 1](/developers/tutorials/a-developers-guide-to-ethereum-part-one/) _– Velmi přívětivý průvodce Ethereem používající Python a web3.py_
+- [Průvodce Ethereem pro vývojáře, 1. část](/developers/tutorials/a-developers-guide-to-ethereum-part-one/) _– Velice srozumitelné seznámení s Ethereem pro začátečníky s použitím Pythonu a web3.py_
diff --git a/public/content/translations/cs/developers/docs/mev/index.md b/public/content/translations/cs/developers/docs/mev/index.md
new file mode 100644
index 00000000000..ef031367c41
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/mev/index.md
@@ -0,0 +1,222 @@
+---
+title: Maximální extrahovatelná hodnota (MEV)
+description: Úvod do maximální extrahovatelné hodnoty (MEV)
+lang: cs
+---
+
+Maximální extrahovatelná hodnota (MEV) označuje maximální hodnotu, kterou lze získat z produkce bloku nad rámec standardní odměny za blok a poplatků za palivo tím, že se do bloku zahrnou, vyloučí se nebo se změní pořadí transakcí.
+
+## Maximální vytěžitelná hodnota {#maximal-extractable-value}
+
+Maximální vytěžitelná hodnota byla poprvé použita v kontextu [proof-of-work](/developers/docs/consensus-mechanisms/pow/) a původně se označovala jako „miner extractable value“ (hodnota vytěžitelná těžařem). To proto, že v systému proof of work ovládají zahrnutí, vyloučení a pořadí transakcí těžaři. Po přechodu na proof-of-stake prostřednictvím [The Merge](/roadmap/merge) však za tyto role převzali odpovědnost validátoři a těžba již není součástí protokolu Ethereum. Metody extrakce hodnoty však stále existují, a proto se nyní používá termín "maximální extrahovatelná hodnota".
+
+## Předpoklady {#prerequisites}
+
+Ujistěte se, že jste obeznámeni s [transakcemi](/developers/docs/transactions/), [bloky](/developers/docs/blocks/), [proof-of-stake](/developers/docs/consensus-mechanisms/pos) a [palivem](/developers/docs/gas/). Znalost [dapps](/apps/) a [DeFi](/defi/) je také užitečná.
+
+## Extrakce MEV {#mev-extraction}
+
+MEV teoreticky plně připadne validátorům, protože jsou jedinou stranou, která může šanci na ziskovou MEV zrealizovat. V praxi však velkou část MEV extrahují nezávislí účastníci sítě, označovaní jako "hledači" (searchers). Hledači aplikují na blockchainová data složité algoritmy za účelem detekce ziskových MEV příležitostí a spouští robotické programy, které automaticky posílají tyto ziskové transakce do sítě.
+
+Validátoři přesto získávají část hodnoty MEV, protože hledači jsou ochotni platit vysoké poplatky za palivo (které jdou validátorům) výměnou za vyšší pravděpodobnost zahrnutí jejich ziskových transakcí do bloku. Předpokládá se, že hledači jsou ekonomicky racionální, a poplatek za palivo, který jsou ochotni zaplatit, bude činit až 100 % jejich MEV (protože pokud by byl poplatek vyšší, hledač by prodělával).
+
+V případě vysoce konkurenčních příležitostí k MEV, jako je [arbitráž na DEX](#mev-examples-dex-arbitrage), mohou hledači validátorům zaplatit 90 % nebo více ze svých celkových příjmů z MEV na poplatcích za palivo, protože mnoho lidí chce provést stejný ziskový arbitrážní obchod. Jediným způsobem, jak zajistit, aby jejich arbitrážní transakce proběhla, je zaslat transakci s nejvyšším palivovým poplatkem.
+
+### Gas golfing {#mev-extraction-gas-golfing}
+
+Tato dynamika způsobila, že vynikat v "gas golfu" — programování transakcí tak, aby spotřebovávaly co nejméně plynu — je konkurenční výhodou, protože to umožňuje hledačům nastavit vyšší cenu za palivo a udržet přitom své celkové palivové poplatky na stejné úrovni (protože poplatky za palivo = cena paliva \* spotřebované palivo).
+
+Některé známé techniky „gas golfing“ zahrnují: používání adres, které začínají dlouhým řetězcem nul (např. [0x0000000000C521824EaFf97Eac7B73B084ef9306](https://eth.blockscout.com/address/0x0000000000C521824EaFf97Eac7B73B084ef9306)), protože zabírají méně místa (a tedy i paliva) k uložení; a ponechání malých zůstatků tokenů [ERC-20](/developers/docs/standards/tokens/erc-20/) ve smlouvách, protože inicializace úložného slotu (v případě, že je zůstatek 0) stojí více paliva než aktualizace úložného slotu. Hledání dalších technik ke snížení spotřeby paliva je mezi hledači aktivní oblastí výzkumu.
+
+### Generalizovaní frontrunneři {#mev-extraction-generalized-frontrunners}
+
+Někteří hledači provozují generalizované frontrunnery místo programování složitých algoritmů pro detekci ziskových MEV příležitostí. Generalizovaní frontrunneři jsou robotické programy, které sledují mempool a detekují ziskové transakce. Frontrunner zkopíruje kód potenciálně ziskové transakce, nahradí adresy vlastní adresou a lokálně spustí transakci, aby se přesvědčil, že frontrunner na upravené transakci vydělá. Pokud je transakce skutečně zisková, frontrunner odešle upravenou transakci s nahrazenou adresou a nabídne vyšší cenu za palivo, "předběhne" původní transakci a získá MEV původního hledače.
+
+### Flashbots {#mev-extraction-flashbots}
+
+Flashboti jsou nezávislý projekt, který rozšiřuje exekuční klienty o službu, která hledačům umožňuje předkládat MEV transakce validátorům, aniž by je odhalovali veřejnému mempoolu. Tímto způsobem se zabraňuje tomu, aby transakce předběhli generalizovaní frontrunneři.
+
+## Příklady MEV {#mev-examples}
+
+MEV se na blockchainu objevuje v několika podobách.
+
+### Arbitráž na DEX {#mev-examples-dex-arbitrage}
+
+Arbitráž na [decentralizované burze](/glossary/#dex) (DEX) je nejjednodušší a nejznámější příležitostí k získání MEV. Výsledkem je, že je také nejkonkurenčnější.
+
+Funguje to takto: Pokud dva DEXy nabízejí token za dvě různé ceny, někdo může v jediné atomické transakci koupit token na DEXu s nižší cenou a prodat ho na DEXu s vyšší cenou. Díky mechanice blockchainu je tato arbitráž bezriziková.
+
+[Zde je příklad](https://eth.blockscout.com/tx/0x5e1657ef0e9be9bc72efefe59a2528d0d730d478cfc9e6cdd09af9f997bb3ef4) ziskové arbitrážní transakce, při které hledač proměnil 1 000 ETH na 1 045 ETH tím, že využil rozdílných cen páru ETH/DAI na Uniswap vs. Sushiswap.
+
+### Likvidace {#mev-examples-liquidations}
+
+Likvidace v protokolech poskytujících půjčky představují další známou příležitost pro MEV.
+
+Půjčovací protokoly jako Maker a Aave vyžadují, aby uživatelé vložili nějaký kolaterál (např. ETH). Tento vložený kolaterál se pak půjčuje dalším uživatelům.
+
+Uživatelé si pak mohou půjčovat aktiva a tokeny od ostatních v závislosti na tom, co potřebují (např. si můžete půjčit MKR, pokud chcete hlasovat v návrhu správy MakerDAO), a to až do určitého procenta svého vloženého kolaterálu. Například pokud je maximální výše půjčky 30 %, může si uživatel, který vloží do protokolu 100 DAI, půjčit až 30 DAI v hodnotě jiného aktiva. Přesné procento půjčovací síly určuje protokol.
+
+Jak se hodnota kolaterálu dlužníka mění, mění se i jeho půjčovací síla. Pokud v důsledku výkyvů na trhu hodnota vypůjčených aktiv přesáhne řekněme 30 % hodnoty jejich kolaterálu (přesné procento opět určuje protokol), protokol obvykle komukoli umožní kolaterál zlikvidovat a okamžitě vyplatit věřitele (podobně fungují i [margin calls](https://www.investopedia.com/terms/m/margincall.asp) v tradičním finančnictví). Pokud je kolaterál zlikvidován, musí dlužník obvykle zaplatit vysoký poplatek za likvidaci, z čehož jde část likvidátorovi – a právě zde se objevuje příležitost pro MEV.
+
+Hledači soutěží v co nejrychlejším zpracování blockchainových dat, aby zjistili, které dlužníky je možné zlikvidovat, a aby jako první podali likvidační transakci a získali tak poplatek za likvidaci.
+
+### Sendvičové obchodování {#mev-examples-sandwich-trading}
+
+Jedná se o další běžná metoda extrakce MEV.
+
+Chcete-li hledač provést sendvičový obchod, bude v mempoolu hledat velké DEX obchody. Například, pokud chce někdo koupit 10 000 UNI za DAI na Uniswapu. Takový obchod bude mít významný vliv na pár UNI/DAI, což může výrazně zvýšit cenu UNI vůči DAI.
+
+Hledač může vypočítat přibližný cenový dopad tohoto velkého obchodu na pár UNI/DAI a provést optimální nákupní příkaz okamžitě _před_ velkým obchodem, levně tak nakoupit UNI, a poté provést prodejní příkaz okamžitě _po_ velkém obchodu a prodat ho za vyšší cenu způsobenou velkým příkazem.
+
+Sendvičové obchodování je však rizikovější, protože není atomické (na rozdíl od výše popsané arbitráže na DEX) a je náchylné k [útoku salmonelou](https://github.com/Defi-Cartel/salmonella).
+
+### NFT MEV {#mev-examples-nfts}
+
+MEV v prostoru NFT je vznikajícím fenoménem a nemusí být nutně zisková.
+
+Jelikož se však NFT transakce odehrávají na stejném blockchainu jako všechny ostatní transakce na Ethereu, mohou hledači používat podobné techniky jako ty, které se používají u tradičních příležitostí MEV, i na trhu NFT.
+
+Například pokud je nějaký populární NFT drop a hledač chce určité NFT nebo sadu NFT, může naprogramovat transakci tak, aby byl první v řadě na nákup NFT, nebo může koupit celou sadu NFT v jedné transakci. Nebo pokud je NFT [omylem zalistováno za nízkou cenu](https://www.theblockcrypto.com/post/113546/mistake-sees-69000-cryptopunk-sold-for-less-than-a-cent), může hledač předběhnout ostatní kupující a levně ho získat.
+
+Jeden významný příklad NFT MEV nastal, když hledač utratil 7 milionů dolarů za [nákup](https://eth.blockscout.com/address/0x650dCdEB6ecF05aE3CAF30A70966E2F395d5E9E5?tab=txs) všech Cryptopunků za nejnižší možnou cenu. Jeden blockchainový výzkumník [vysvětlil na Twitteru](https://twitter.com/IvanBogatyy/status/1422232184493121538), jak kupující spolupracoval s poskytovatelem MEV, aby svůj nákup utajil.
+
+### Dlouhý chvost {#mev-examples-long-tail}
+
+Arbitráž na DEXech, likvidace a sendvičové obchodování jsou všechny velmi známé příležitosti pro MEV a pro nové hledače jsou pravděpodobně neziskové. Existuje však dlouhý chvost méně známých příležitostí pro MEV (NFT MEV je pravděpodobně jednou z takových příležitostí).
+
+Začínající hledači, mohou mít větší úspěch, pokud budou hledat MEV v tomto dlouhém chvostu. [Pracovní nástěnka MEV](https://github.com/flashbots/mev-job-board) od Flashbotů uvádí některé nově vznikající příležitosti.
+
+## Účinky MEV {#effects-of-mev}
+
+MEV není vždy špatná - pro Ethereum má jak pozitivní, tak negativní důsledky.
+
+### Pozitiva {#effects-of-mev-the-good}
+
+Mnohé DeFi projekty se za účelem zajištění užitečnosti a stability svých protokolů spoléhá na ekonomicky racionální aktéry. Arbitráž na DEXech například zajišťuje, že uživatelé mohou své tokeny směnit za nejlepší a nejpřesnější ceny, a protokoly poskytující půjčky se spoléhají na rychlé likvidace, když dlužníci klesnou pod kolateralizační poměry, aby zajistili, že věřitelé budou vyplaceni.
+
+Bez racionálních hledačů, kteří vyhledávají a opravují ekonomické neefektivity a využívají ekonomické pobídky protokolů, by DeFi protokoly a dappky obecně nemusely být tak robustní, jak dnes jsou.
+
+### Negativa {#effects-of-mev-the-bad}
+
+Některé formy MEV, jako je sendvičové obchodování, vedou na aplikační vrstvě k jednoznačně horší uživatelské zkušenosti. Uživatelé, kteří jsou „sendvičováni“, čelí zvýšenému riziku pohybu ceny a horší exekuci svých obchodů.
+
+Na síťové vrstvě vedou generalizovaní frontrunneři a aukce palivových cen, kterých se často účastní (když dva nebo více frontrunnerů soutěží o zařazení své transakce do dalšího bloku postupným zvyšováním ceny za palivo u svých transakcí), k přetížení sítě a vysokým poplatkům pro všechny ostatní, kteří se snaží provádět běžné transakce.
+
+Kromě toho, co se děje _uvnitř_ bloků, může mít MEV škodlivé účinky i _mezi_ bloky. Pokud MEV dostupná v bloku výrazně převyšuje standardní odměnu za blok, mohou být validátoři motivováni k reorganizaci bloků a uzmutí MEV pro sebe, což způsobí reorganizaci blockchainu a destabilizaci konsensu.
+
+Tato možnost reorganizace blockchainu byla [již dříve prozkoumána na blockchainu Bitcoinu](https://dl.acm.org/doi/10.1145/2976749.2978408). Jak se odměna za blok na Bitcoinu snižuje a transakční poplatky tvoří stále větší část odměny, vznikají situace, kdy se pro těžaře stává ekonomicky racionálním vzdát se odměny za další blok a místo toho znovu vytěžit minulé bloky s vyššími poplatky. S růstem MEV by se stejná situace mohla vyskytnout i na Ethereu, což by ohrozilo integritu blockchainu.
+
+## Stav MEV {#state-of-mev}
+
+Extrakce MEV prudce vzrostla na začátku roku 2021, což vedlo k extrémně vysokým cenám za palivo v prvních měsících tohoto roku. Vznik MEV-relay od Flashbotů snížil účinnost generalizovaných frontrunnerů a aukce cen za palivo přesunul mimo řetězec, čímž snížil ceny za palivo pro běžné uživatele.
+
+I když spousta hledačů stále vydělává na MEV slušné peníze, jakmile se tyto příležitosti stanou známějšími a stále více hledačů bude soutěžit o stejnou příležitost, validátoři začnou získávat stále větší podíl z celkových příjmů z MEV (protože stejné palivové aukce, jak byly původně popsány výše, se stále vyskytují i ve Flashbotech, i když soukromě, a validátoři tak získávají příjmy z transakčních poplatků). MEV není omezeno pouze na Ethereum, a jakmile budou příležitosti na Ethereu více konkurenční, hledači se přesunou na alternativní blockchainy, jako je Binance Smart Chain, kde existují podobné MEV příležitosti jako na Ethereu, ale s menší konkurencí.
+
+Na druhé straně přechod z proof of work na proof of stake a probíhající snahy o škálování Etherea pomocí rollupů mění MEV způsoby, které jsou zatím nejasné. Zatím není dobře známo, jak to, že jsou garantovaní navrhovatelé bloků známi s mírným předstihem, mění dynamiku extrakce MEV v porovnání s pravděpodobnostním modelem v proof-of-work, ani jak to bude narušeno, až bude implementována [volba jednoho tajného vůdce](https://ethresear.ch/t/secret-non-single-leader-election/11789) a [technologie distribuovaných validátorů](/staking/dvt/). Podobně není jasné, jaké MEV příležitosti budou existovat, když většina uživatelské aktivity přejde mimo Ethereum a na jeho rollupy druhé vrstvy a shardy.
+
+## MEV v Ethereu s Proof-of-Stake (PoS) {#mev-in-ethereum-proof-of-stake}
+
+Jak jsme vysvětlili výše, MEV má negativní dopady na celkovou uživatelskou zkušenost a bezpečnost na úrovni konsensu. Přechod Etherea na konsensus proof of stake (tzv. "Sloučení") však potenciálně přináší nová rizika spojená s MEV:
+
+### Centralizace validátorů {#validator-centralization}
+
+Na Ethereu po sloučení validátoři (kteří složili bezpečnostní zálohu ve výši 32 ETH) dosahují konsensu o platnosti bloků přidávaných do Beacon Chainu. Jelikož 32 ETH může být pro mnohé mimo dosah, může být schůdnější variantou [připojení se ke staking poolu](/staking/pools/). Nicméně ideální je zdravé rozložení [sólových stakerů](/staking/solo/), protože to zmírňuje centralizaci validátorů a zlepšuje bezpečnost Etherea.
+
+Extrakce MEV se však předpokládá jako faktor, který může urychlit centralizaci validátorů. Je to částečně proto, že od [The Merge](/roadmap/merge/) validátoři [za navrhování bloků vydělávají méně](/roadmap/merge/issuance/#how-the-merge-impacts-ETH-supply) než dříve těžaři a extrakce MEV výrazně [ovlivnila výdělky validátorů](https://github.com/flashbots/eth2-research/blob/main/notebooks/mev-in-eth2/eth2-mev-calc.ipynb).
+
+Větší stakingové pooly budou mít pravděpodobně více prostředků k investování do potřebných optimalizací pro zachycení příležitostí k MEV. Čím více MEV tyto pooly vytěží, tím více prostředků mají na zlepšení svých schopností extrakce MEV (a na zvýšení celkových příjmů), což v podstatě vytváří [úspory z rozsahu](https://www.investopedia.com/terms/e/economiesofscale.asp#).
+
+S menším objemem prostředků, které mají k dispozici, nebudou nezávislí stakeři schopni využívat příležitostí k MEV v takovém rozsahu jako pooly. To může zvýšit tlak na nezávislé validátory, aby se připojili k mocným stakingovým poolům a zvýšili své příjmy, což snižuje míru decentralizace Etherea.
+
+### Mempooly s oprávněním {#permissioned-mempools}
+
+V reakci na sendvičové útoky a frontrunning mohou obchodníci za účelem zajištění soukromí transakcí začít uzavírat offchain dohody s validátory. Místo toho, aby posílali potenciální MEV transakci do veřejného mempoolu, pošlou ji přímo validátorovi, který ji zahrne do bloku a o zisk se s obchodníkem rozdělí.
+
+„Temné pooly“ jsou větší verzí tohoto uspořádání a fungují jako mempooly, pro vstup do nich dostanou povolení uti živatelé, kteří jsou ochotni platit určité poplatky. Tento trend by mohl oslabit charakter Etherea založený na přístupu bez nutnosti povolení a bez nutnosti důvěry a potenciálně transformovat blockchain do mechanismu „plať, pak hraj“, který zvýhodňuje uchazeče s nejvyšším příhozem.
+
+Mempooly s nutností povolení by také zrychlily centralizační rizika popsaná v předchozí sekci. Velké pooly provozující více validátorů budou pravděpodobně mít prospěch z nabídky soukromí během transakcí obchodníkům a dalším uživatelům, čímž zvýší své příjmy z MEV.
+
+Řešení těchto problémů spojených s MEV na Ethereu po sloučení je klíčovou oblastí výzkumu. K dnešnímu dni jsou dvě navrhovaná řešení ke snížení negativního dopadu MEV na decentralizaci a bezpečnost Etherea po The Merge [**oddělení navrhovatele a stavitele bloků (PBS)**](/roadmap/pbs/) a [**Builder API**](https://github.com/ethereum/builder-specs).
+
+### Oddělení navrhovatele a stavitele bloků {#proposer-builder-separation}
+
+V rámci proof of work i proof of stake navrhuje síťový uzel, který vytvoří blok, jeho přidání do řetězce ostatním uzlům, které se účastní konsenzu. Nový blok se stane součástí kanonického řetězce poté, co na něm staví další těžař (v PoW) nebo obdrží atestace od většiny validátorů (v PoS).
+
+Kombinace rolí tvůrce bloku a navrhovatele bloku je to, co přináší většinu problémů souvisejících s MEV, jak bylo popsáno výše. Například konsensuální uzly jsou motivovány spouštět reorganizace řetězce při [útocích typu time-bandit](https://www.mev.wiki/attack-examples/time-bandit-attack), aby maximalizovaly výdělky z MEV.
+
+[Oddělení navrhovatele a stavitele bloků](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725) (PBS) je navrženo tak, aby zmírnilo dopad MEV, zejména na konsensuální vrstvě. Hlavním rysem PBS je oddělení rolí producenta bloku a navrhovatele bloku. Validátoři jsou stále zodpovědní za navrhování a hlasování o blocích, ale nová třída specializovaných entit, nazývaných **stavitelé bloků**, má za úkol seřazovat transakce a stavět bloky.
+
+V rámci PBS stavitel bloku vytvoří balík transakcí a podá nabídku na jeho zahrnutí do bloku Beacon Chain (jako „execution payload“). Validátor vybraný k navržení dalšího bloku poté porovná různé nabídky a vybere balíček s nejvyšším poplatkem. PBS v podstatě vytváří aukční trh, kde stavitelé jednají s validátory, kteří prodávají prostor v bloku.
+
+Současné návrhy PBS používají [schéma commit-reveal](https://gitcoin.co/blog/commit-reveal-scheme-on-ethereum/), ve kterém stavitelé bloků publikují pouze kryptografický závazek k obsahu bloku (hlavička bloku) spolu se svými nabídkami. Po přijetí vítězné nabídky vytvoří navrhovatel podepsaný návrh bloku, který obsahuje hlavičku bloku. Očekává se, že stavitel bloku zveřejní celé tělo bloku poté, co uvidí podepsaný návrh bloku, a před jeho finalizací musí také obdržet dostatek [atestací](/glossary/#attestation) od validátorů.
+
+#### Jak oddělení navrhovatele a stavitele bloků zmírňuje dopad MEV? {#how-does-pbs-curb-mev-impact}
+
+Oddělení navrhovatele a stavitele v rámci protokolu snižuje vliv MEV na konsenzus tím, že validátorům odebírá možnost extrakce MEV. Místo toho budou příležitosti k MEV zachycovat stavitelé bloků, kteří provozují specializovaný hardware.
+
+To však neznamená, že by validátoři byli zcela vyloučeni z příjmů souvisejících s MEV, protože stavitelé bloků musí nabízet vysoké částky, aby validátoři jejich bloky byly přijali. Nicméně díky tomu, že validátoři se už nebudou přímo zaměřovat na optimalizaci příjmů z MEV, se snižuje hrozba rychlých útoků.
+
+Oddělení navrhovatele a stavitele také snižuje rizika centralizace spojená s MEV. Například použití schématu přispěj-odhal odstraňuje potřebu důvěry stavitelů, že validátoři neukradnou příležitost k MEV nebo ji nezveřejní ostatním stavitelům. To snižuje bariéru pro sólové stakery, aby mohli těžit z MEV, jinak by stavitelé bloků měli tendenci upřednostňovat velké pooly s offchain reputací a uzavírat s nimi offchain dohody.
+
+Podobně validátoři nemusí důvěřovat stavitelům bloků a mohou se spolehnout, že nezatajili tělo bloku nebo nezveřejnili neplatné bloky, protože platba je bezpodmínečná. Poplatek pro validátora je zpracován i v případě, že navržený blok není dostupný nebo je jinými validátory prohlášen za neplatný. V tomto případě je blok jednoduše vyřazen, což způsobí, že stavitel bloku přijde o všechny transakční poplatky a příjmy z MEV.
+
+### Builder API {#builder-api}
+
+Zatímco oddělení navrhovatelů a stavitelů bloků slibuje snížení dopadů extrakce MEV, jeho implementace vyžaduje změny v konsensuálním protokolu. Konkrétně by bylo třeba aktualizovat pravidlo pro [výběr větve](/developers/docs/consensus-mechanisms/pos/#fork-choice) na Řetězové vazbě. [Builder API](https://github.com/ethereum/builder-specs) je dočasné řešení, jehož cílem je poskytnout funkční implementaci oddělení navrhovatele a stavitele bloků, i když s vyššími předpoklady důvěry.
+
+Builder API je upravená verze [Engine API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md), kterou používají klienti konsensuální vrstvy k vyžádání datových částí od klientů exekuční vrstvy. Jak je uvedeno ve [specifikaci poctivého validátora](https://github.com/ethereum/consensus-specs/blob/dev/specs/bellatrix/validator.md), validátoři vybraní k navrhování bloků požadují balíček transakcí od připojeného exekučního klienta, který zahrnou do navrhovaného bloku Řetězové vazby.
+
+API stavitele také funguje jako prostředník mezi validátory a klienty exekuční vrstvy; liší se však tím, že validátorům na Beacon Chainu umožňuje získávat bloky od externích subjektů (namísto vytváření bloku lokálně pomocí klienta exekuční vrstvy).
+
+Níže uvádíme přehled, jak API stavitele funguje:
+
+1. API stavitele připojuje validátora k síti stavitelů bloků, kteří provozují klienty exekuční vrstvy. Stejně jako u PBS, stavitelé jsou specializované subjekty, které investují do náročného budování bloků a k maximalizaci příjmů z MEV a spropitného za prioritní zpracování používají různé strategie.
+
+2. Validátor (provozující klienta konsenzuální vrstvy) žádá exekuční payload spolu s nabídkami od sítě stavitelů. Nabídky od stavitelů obsahují hlavičku exekučního payloadu – kryptografický závazek k obsahu payloadu – a poplatek, který má být uhrazen validátorovi.
+
+3. Validátor projde příchozí nabídky a vybere exekuční payload s nejvyšším poplatkem. Pomocí API stavitele vytvoří validátor "zaslepený" návrh Beacon bloku, který obsahuje pouze jeho podpis a hlavičku exekučního payloadu, a pošle jej staviteli.
+
+4. Od stavitele provozujícího API stavitele se očekává, že po zhlédnutí zaslepeného návrhu bloku odpoví plným exekučním payloadem. To validátorovi umožňuje vytvořit "podepsaný" Beacon blok, který poté rozšíří po celé síti.
+
+5. Od validátora používající API stavitele se stále očekává, že vytvoří blok lokálně, pokud stavitel bloků neodpoví včas, aby nepřišel o odměny za navrhování bloků. Validátor však nemůže vytvořit další blok s použitím nyní odhalených transakcí nebo jiné sady, protože by se jednalo o _ekvivokaci_ (podepsání dvou bloků ve stejném slotu), což je přestupek, za který hrozí slashing.
+
+Příkladem implementace Builder API je [MEV Boost](https://github.com/flashbots/mev-boost), vylepšení [aukčního mechanismu Flashbots](https://docs.flashbots.net/Flashbots-auction/overview) navržené tak, aby omezilo negativní externality MEV na Ethereu. Aukce Flashbots umožňuje validátorům v proof-of-stake zadat práci na vytváření ziskových bloků specializovaným stranám, nazývaným **hledači**.
+
+
+Hledači vyhledávají lukrativní příležitosti k MEV a posílají balíčky transakcí navrhovatelům bloků spolu s [nabídkou v zalepené obálce](https://en.wikipedia.org/wiki/First-price_sealed-bid_auction) za zahrnutí do bloku. Validátor provozující mev-geth, větvenou verzi go-ethereum (Geth) klienta, musí pouze vybrat balíček s nejvyšší nabídnou a zahrnout jej jako součást nového bloku. Aby byli navrhovatelé bloků (validátoři) chráněni před spamem a neplatnými transakcemi, procházejí balíčky transakcí před doručením navrhovateli validací přes **přeposílače**.
+
+MEV Boost zachovává stejné fungování původní Flashbotí aukce, i když s novými funkcemi navrženými pro přechod Etherea na proof of stake. Hledači stále nacházejí ziskové MEV transakce pro zahrnutí do bloků, ale za agregaci transakcí a balíčků do bloků je zodpovědná nová třída specializovaných stran nazývaných **stavitelé**. Stavitel přijímá nabídky se zapečetěnou cenou od hledačů a provádí optimalizace pro výběr nejziskovějšího pořadí.
+
+Štafeta je stále zodpovědná za validaci balíčků transakcí před jejich předáním navrhovateli. MEV Boost však zavádí **úschovy (escrows)** odpovědné za zajištění [dostupnosti dat](/developers/docs/data-availability/) ukládáním těl bloků zaslaných staviteli a hlaviček bloků zaslaných validátory. Zde se validátor připojený ke štafetě dotazuje na dostupné exekuční payloady a používá algoritmus řazení MEV Boost k výběru payloadové hlavičky s nejvyšší nabídkou a největším MEV spropitným.
+
+#### Jak API stavitele zmírňuje dopady MEV? {#how-does-builder-api-curb-mev-impact}
+
+Hlavním přínosem API stavitele je jeho potenciál demokratizovat přístup k MEV příležitostem. Použití přispěj-odhal schématu eliminuje potřebu důvěry a snižuje vstupní bariéry pro validátory, kteří se chtějí podílet na zisku z MEV. To by mělo snížit tlak na samostatné stakery, aby se zapojili do velkých staking poolů za účelem zvýšení zisků z MEV.
+
+Širší implementace API stavitele podpoří větší konkurenci mezi staviteli bloků, což zvýší odolnost vůči cenzuře. Jak validátoři přezkoumávají nabídky od různých stavitelů, stavitel, který má v úmyslu cenzurovat jednu nebo více uživatelských transakcí, musí nabídnout vyšší cenu než všichni ostatní necenzurující stavitelé, jinak neuspěje. To dramaticky zvyšuje náklady na cenzuru uživatelů a odrazuje od této praxe.
+
+Některé projekty, jako je MEV Boost, používají API stavitele jako součást celkové struktury navržené k zajištění soukromí transakcí určitým stranám, jako jsou obchodníci snažící se vyhnout frontrunningu nebo sendvičovým
+útokům. Toho lze docílit zřízením soukromého komunikačního kanálu mezi uživateli a staviteli bloků. Na rozdíl od dříve popsaných mempoolů s nutností povolení je tento přístup prospěšný z následujících důvodů:
+
+1. Přítomnost většího počtu stavitelů na trhu dělá cenzuru nepraktickou, což je výhodné pro uživatele. Naopak existence centralizovaných a na důvěře založených temných poolů by koncentrovala moc v rukou několika stavitelů bloků a zvýšila by možnost cenzury.
+
+2. Software API stavitele je open-source, což umožňuje komukoli nabízet služby stavitelů bloků. To znamená, že uživatelé nejsou nuceni používat žádného konkrétního stavitele a zlepšuje to neutralitu a přístup k Ethereu bez nutnosti povolení. Navíc obchodníci usilující o MEV nebudou nevědomky přispívat k centralizaci používáním soukromých transakčních kanálů.
+
+## Související zdroje {#related-resources}
+
+- [Dokumentace Flashbots](https://docs.flashbots.net/)
+- [Flashbots GitHub](https://github.com/flashbots/pm)
+- [mevboost.org](https://www.mevboost.org/) – _Sledovač s real-time statistikami pro MEV-Boost relé a stavitele bloků_
+
+## Další čtení {#further-reading}
+
+- [Co je to hodnota vytěžitelná těžařem (MEV)?](https://blog.chain.link/what-is-miner-extractable-value-mev/)
+- [MEV a já](https://www.paradigm.xyz/2021/02/mev-and-me)
+- [Ethereum je temný les](https://www.paradigm.xyz/2020/08/ethereum-is-a-dark-forest/)
+- [Únik z temného lesa](https://samczsun.com/escaping-the-dark-forest/)
+- [Flashbots: Frontrunning krize MEV](https://medium.com/flashbots/frontrunning-the-mev-crisis-40629a613752)
+- [Vlákna o MEV od @bertcmiller](https://twitter.com/bertcmiller/status/1402665992422047747)
+- [MEV-Boost: Architektura Flashbots připravená na The Merge](https://ethresear.ch/t/mev-boost-merge-ready-flashbots-architecture/11177)
+- [Co je MEV Boost](https://www.alchemy.com/overviews/mev-boost)
+- [Proč používat mev-boost?](https://writings.flashbots.net/writings/why-run-mevboost/)
+- [Stopařův průvodce po Ethereu](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum)
diff --git a/public/content/translations/cs/developers/docs/networking-layer/index.md b/public/content/translations/cs/developers/docs/networking-layer/index.md
new file mode 100644
index 00000000000..899dc8c3a71
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/networking-layer/index.md
@@ -0,0 +1,155 @@
+---
+title: Síťová vrstva
+description: Úvod do síťové vrstvy Etherea.
+lang: cs
+sidebarDepth: 2
+---
+
+Ethereum je peer-to-peer síť s tisíci uzly, které musí být schopny spolu komunikovat pomocí standardizovaných protokolů. "Síťová vrstva“ je vrstva protokolů, která umožňuje těmto uzlům se navzájem najít a vyměňovat si informace. To zahrnuje jak „gossiping“ informací (komunikaci jeden-k-mnohým) po síti, tak výměnu požadavků a odpovědí mezi konkrétními uzly (komunikace jeden na jednoho). Každý uzel musí dodržovat specifická síťová pravidla, aby zajistil, že odesílá a přijímá správné informace.
+
+Klientský software má dvě části (exekuční klienty a konsensuální klienty), z nichž každá má vlastní specifickou síťovou vrstvu. Kromě komunikace s ostatními uzly Etherea musí exekuční a konsensuální klienti komunikovat mezi sebou. Tato stránka poskytuje úvodní vysvětlení protokolů, které umožňují tuto komunikaci.
+
+Exekuční klienti šíří transakce po peer-to-peer síti exekuční vrstvy. To vyžaduje šifrovanou komunikaci mezi ověřenými peery. Když je validátor vybrán k návrhu bloku, transakce z místního transakčního poolu uzlu jsou předány konsensuálním klientům prostřednictvím lokálního RPC připojení, které je následně zabalí do Beacon bloků. Konsensuální klienti pak šíří Beacon bloky po své p2p síti. To vyžaduje dvě samostatné p2p sítě: Kednu pro propojení exekučních klientů pro gossiping transakcí a druhou pro propojení konsensuálních klientů pro gossiping bloků.
+
+## Předpoklady {#prerequisites}
+
+Některé znalosti o [uzlech a klientech](/developers/docs/nodes-and-clients/) sítě Ethereum budou užitečné pro pochopení této stránky.
+
+## Exekuční vrstva {#execution-layer}
+
+Síťové protokoly exekuční vrstvy jsou rozděleny do dvou skupin:
+
+- vrstva pro objevování: postavená na protokolu UDP - umožňuje novému síťovému uzlu najít kolegy, ke kterým se může připojit
+
+- vrstva DevP2P: běží na protokolu TCP a umožňuje uzlům vyměňovat si informace
+
+Obě vrstvy fungují paralelně. Vrstva pro objevování přivádí do sítě nové účastníky, zatímco vrstva DevP2P umožňuje jejich interakce.
+
+### Objevování {#discovery}
+
+Objevování je proces hledání dalších uzlů v síti. Tento proces je zahájen pomocí malé sady bootnodů (uzlů, jejichž adresy jsou [pevně zakódovány](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go) v klientovi, aby je bylo možné okamžitě najít a připojit klienta k peerům). Tyto bootnody existují pouze za účelem představení nového uzlu sadě kolegů - to je jejich jediný účel, neúčastní se normálních úkolů klienta, jako je synchronizace řetězce, a používají se pouze při prvním spuštění klienta.
+
+Protokol používaný pro interakce mezi uzlem a bootnodem je upravenou formou [Kademlia](https://medium.com/coinmonks/a-brief-overview-of-kademlia-and-its-use-in-various-decentralized-platforms-da08a7f72b8f), která používá [distribuovanou hašovací tabulku](https://en.wikipedia.org/wiki/Distributed_hash_table) ke sdílení seznamů uzlů. Každý uzel má verzi této tabulky obsahující informace potřebné k připojení k nejbližším kolegům. Tato „blízkost“ není geografická – vzdálenost je definována podobností ID uzlu. Tabulka každého uzlu je pravidelně obnovována jako bezpečnostní opatření. Například v protokolu pro objevování [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5) mohou uzly také posílat „inzeráty“, které zobrazují subprotokoly, které klient podporuje, což umožňuje peerům vyjednávat o protokolech, které mohou oba použít ke vzájemné komunikaci.
+
+Objevování začíná hrou PING-PONG. Úspěšné PING-PONG „spojí“ nový uzel s bootnodem. Počáteční zpráva, která upozorní bootnode na existenci nového uzlu vstupujícího do sítě, je `PING`. Tento `PING` obsahuje hašované informace o novém uzlu, bootnodu a časové razítko expirace. Bootnode obdrží `PING` a vrátí `PONG` obsahující haš zprávy `PING`. Pokud se haše `PING` a `PONG` shodují, je spojení mezi novým uzlem a bootnodem ověřeno a říká se, že jsou „propojeni“.
+
+Po propojení může nový uzel poslat bootnodu požadavek `FIND-NEIGHBOURS`. Data vrácená bootnodem zahrnují seznam peerů, ke kterým se nový uzel může připojit. Pokud uzly nejsou propojeny, požadavek `FIND-NEIGHBOURS` selže a nový uzel tak nebude moci vstoupit do sítě.
+
+Jakmile nový uzel obdrží seznam sousedů od bootnodu, zahájí s každým z nich výměnu PING-PONG. Úspěšné PING-PONGy spojují nový uzel s jeho sousedy a umožňují výměnu zpráv.
+
+```
+spustit klienta --> připojit se k bootnodu --> propojit se s bootnodem --> najít sousedy --> propojit se se sousedy
+```
+
+Exekuční klienti v současné době používají protokol pro objevování [Discv4](https://github.com/ethereum/devp2p/blob/master/discv4.md) a aktivně se pracuje na migraci na protokol [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5).
+
+#### ENR: Ethereum Node Records {#enr}
+
+[Záznam o uzlu Ethereum (ENR)](/developers/docs/networking-layer/network-addresses/) je objekt, který obsahuje tři základní prvky: podpis (haš obsahu záznamu vytvořený podle dohodnutého schématu identity), pořadové číslo, které sleduje změny v záznamu, a libovolný seznam párů klíč:hodnota. Jedná se o formát, který je připraven na budoucnost a umožňuje snazší výměnu identifikačních informací mezi novými peery a je preferovaným formátem [síťové adresy](/developers/docs/networking-layer/network-addresses) pro uzly sítě Ethereum.
+
+#### Proč je objevování postaveno na UDP? Proč UDP? {#why-udp}
+
+UDP nepodporuje žádné kontrolní mechanismy chyb, opakované odesílání neúspěšných paketů ani dynamické otevírání a zavírání spojení – místo toho jen posílá nepřetržitý tok informací na cíl, bez ohledu na to, zda je úspěšně přijat. Tato minimální funkcionalita se také promítá do minimální režie, což činí tento typ spojení velmi rychlým. Pro objevování, kde uzel prostě chce oznámit svou přítomnost, aby pak mohl navázat formální spojení s peerem, je UDP dostačující. Pro zbytek síťové vrstvy však UDP není vhodné. Výměna informací mezi uzly je poměrně složitá a proto potřebuje plně vybavený protokol, který podporuje opakované odesílání, kontrolu chyb atd. Dodatečná režie spojená s TCP stojí za tuto dodatečnou funkcionalitu. Proto většina P2P stacku funguje přes TCP.
+
+### DevP2P {#devp2p}
+
+DevP2P je sada protokolů, které Ethereum implementuje k vytvoření a udržování peer-to-peer sítě. Poté, co nové uzly vstoupí do sítě, jsou jejich interakce řízeny protokoly ve stacku [DevP2P](https://github.com/ethereum/devp2p). Ty všechny běží na protokolu TCP a zahrnují transportní protokol RLPx, wire protokol a několik subprotokolů. [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) je protokol, který řídí navazování, autentizaci a udržování relací mezi uzly. RLPx kóduje zprávy pomocí RLP (Recursive Length Prefix), což je velmi prostorově úsporná metoda kódování dat do minimální struktury pro odesílání mezi uzly.
+
+Relace RLPx mezi dvěma uzly začíná úvodním kryptografickým "podáním ruky". To zahrnuje uzel, který odesílá ověřovací zprávu, která je následně ověřena peerem. Při úspěšném ověření peer generuje ověřovací zprávu, kterou vrátí iniciátorskému uzlu. Toto je proces výměny klíčů, který umožňuje uzlům komunikovat soukromě a bezpečně. Úspěšné kryptografické podání ruky poté spustí oba uzly, aby si mezi sebou "na drátu" poslaly zprávu "hello". Wire protokol je zahájen úspěšnou výměnou zprávy "hello".
+
+Zprávy hello obsahují:
+
+- verzi protokolu
+- ID klienta
+- port
+- ID uzlu
+- seznam podporovaných subprotokolů
+
+Toto jsou informace potřebné pro úspěšnou interakci, protože definují, jaké schopnosti jsou sdíleny mezi oběma uzly, a konfigurují komunikaci. Tak probíhá proces vyjednávání subprotokolů, kde jsou porovnávány seznamy subprotokolů podporovaných každým uzlem a ty, které jsou společné oběma uzlům, mohou být použity v relaci.
+
+Spolu se zprávami hello může wire protokol také odeslat zprávu "disconnect", která upozorní kolegu, že spojení bude uzavřeno. Wire protokol také zahrnuje zprávy PING a PONG, které jsou pravidelně odesílány k udržení otevřené relace. Výměny RLPx a wire protokolu tedy vytvářejí základy komunikace mezi uzly a poskytují rámec pro výměnu užitečných informací podle specifického subprotokolu.
+
+### Subprotokoly {#sub-protocols}
+
+#### Wire protokol {#wire-protocol}
+
+Jakmile jsou peery připojeny a relace RLPx je spuštěna, wire protokol definuje, jakým způsobem peery komunikují. Původně wire protokol definoval tři hlavní úkoly: synchronizaci řetězce, šíření bloků a výměnu transakcí. Nicméně, jakmile Ethereum přešlo na proof of stake, šíření bloků a synchronizace řetězce se staly součástí konsensuální vrstvy. Výměna transakcí však stále spadá do působnosti exekučních klientů. Výměna transakcí se týká výměny nevyřízených transakcí mezi uzly, aby blokoví producenti mohli vybrat některé z nich k zařazení do dalšího bloku. Podrobné informace o těchto úkolech jsou k dispozici [zde](https://github.com/ethereum/devp2p/blob/master/caps/eth.md). Klienti, kteří tyto subprotokoly podporují, je zpřístupňují prostřednictvím [JSON-RPC](/developers/docs/apis/json-rpc/).
+
+#### les (light Ethereum subprotocol) {#les}
+
+Toto je minimální protokol pro synchronizaci jednoduchých uzlů. Tradičně byl tento protokol zřídka používán, protože úplné uzly jsou požadovány k poskytování dat jednoduchým uzlům bez pobídek. Výchozí chování exekučních klientů je neposkytovat data jednoduchým uzlům přes "les". Více informací je k dispozici ve [specifikaci](https://github.com/ethereum/devp2p/blob/master/caps/les.md) protokolu les.
+
+#### Snap {#snap}
+
+[Protokol snap](https://github.com/ethereum/devp2p/blob/master/caps/snap.md#ethereum-snapshot-protocol-snap) je volitelné rozšíření, které umožňuje peerům vyměňovat si snímky nedávných stavů, což peerům umožňuje ověřovat data účtu a úložiště bez nutnosti stahovat mezilehlé uzly Merkle trie.
+
+#### Wit (witness protocol) {#wit}
+
+[Protokol witness](https://github.com/ethereum/devp2p/blob/master/caps/wit.md#ethereum-witness-protocol-wit) je volitelné rozšíření, které umožňuje výměnu stavových svědků mezi peery a pomáhá synchronizovat klienty na nejnovější blok řetězce.
+
+#### Whisper {#whisper}
+
+Whisper byl protokol, který měl za cíl poskytovat bezpečné zprávy mezi peery, aniž by zapisoval jakékoli informace na blockchain. Byl součástí wire protokolu DevP2P, ale nyní je zastaralý. Existují i další [související projekty](https://wakunetwork.com/) s podobnými cíli.
+
+## Konsensuální vrstva {#consensus-layer}
+
+Konsensuální klienti se účastní samostatné peer-to-peer sítě s odlišnou specifikací. Konsensuální klienti se potřebují účastnit gossipu bloků, aby mohli přijímat nové bloky od kolegů a šířit je, když jsou na řadě v nahrhování bloku. Podobně jako u exekuční vrstvy, toto nejprve vyžaduje objevovací protokol, aby uzel mohl najít peery a vytvořit zabezpečené relace pro výměnu bloků, potvrzení atd.
+
+### Objevování {#consensus-discovery}
+
+Podobně jako exekuční klienti používají i konsensuální klienti pro vyhledávání peerů protokol [discv5](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-discovery-domain-discv5) přes UDP. Implementace protokolu discv5 na konsensuální vrstvě se liší od implementace exekučních klientů pouze v tom, že obsahuje adaptér propojující discv5 se stackem [libP2P](https://libp2p.io/), čímž se DevP2P stává zastaralým. RLPx relace v exekuční vrstvě jsou nahrazeny zabezpečeným kanálem libP2P noise.
+
+### ENR {#consensus-enr}
+
+ENR pro konsensuální uzly obsahuje veřejný klíč uzlu, IP adresu, porty UDP a TCP a dvě pole specifická pro konsensus: bitové pole atestačního subnetu a klíč `eth2`. První z nich usnadňuje uzlům najít peery účastnící se specifických gossip subnetů pro potvrzení. Klíč `eth2` obsahuje informace o tom, jakou verzi větve (fork) Etherea uzel používá, což zajišťuje, že se peery připojují ke správnému Ethereu.
+
+### libP2P {#libp2p}
+
+LibP2P stack podporuje veškerou komunikaci po objevení. Klienti mohou volat a poslouchat na IPv4 a/nebo IPv6, jak je definováno v jejich ENR. Protokoly na vrstvě libP2P mohou být rozděleny do domén gossip a req/resp.
+
+### Gossip {#gossip}
+
+Doména gossip zahrnuje veškeré informace, které musí být rychle rozšířeny po síti. To zahrnuje beacon bloky, důkazy, potvrzení, výstupy a penalty. Toto je přenášeno pomocí libP2P gossipsub v1 a spoléhá na různá metadata, která jsou lokálně uložena na každém uzlu, včetně maximální velikosti gossip payloadů k přijímání a přenosu. Podrobné informace o gossip doméně jsou k dispozici [zde](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub).
+
+### Požadavek–odpověď {#request-response}
+
+Doména request-response obsahuje protokoly, které umožňují klientům požadovat specifické informace od svých kolegů. Příklady zahrnují žádosti o konkrétní Beacon bloky, které odpovídají určitým kořenovým hashům nebo jsou v rozmezí určitých slotů. Odpovědi jsou vždy vráceny jako snappy-komprimované SSZ zakódované bajty.
+
+## Proč dává konsensuální klient přednost SSZ před RLP? {#ssz-vs-rlp}
+
+SSZ znamená simple serialization (jednoduchá serializace). Používá pevné offsety, které usnadňují dekódování jednotlivých částí zakódované zprávy, aniž by bylo nutné dekódovat celou strukturu, což je pro konsensuálního klienta velmi užitečné, protože umožňuje efektivně vyzvednout specifické části informací ze zakódovaných zpráv. SSZ je také navrženo speciálně pro integraci s Merkle protokoly, což přináší související zisky v efektivitě merkleizace. Vzhledem k tomu, že všechny hashe v konsensuální vrstvě jsou Merkle kořeny, jedná se o významné zlepšení. SSZ také zaručuje jedinečné reprezentace hodnot.
+
+## Propojení exekučních a konsensuálních klientů {#connecting-clients}
+
+Konsensuální i exekuční klienti běží paralelně. Potřebují být propojeni tak, aby konsensuální klient mohl poskytovat pokyny exekučnímu klientovi a exekuční klient mohl předávat balíky transakcí konsensuálnímu klientovi k zařazení do Beacon bloků. Komunikace mezi těmito dvěma klienty může být realizována pomocí lokálního RPC spojení. API známé jako ['Engine-API'](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) definuje instrukce posílané mezi těmito dvěma klienty. Vzhledem k tomu, že oba klienti fungují pod jednou síťovou identitou, sdílejí jeden ENR (Ethereum node record), který obsahuje samostatný klíč pro každého klienta (eth1 klíč a eth2 klíč).
+
+Souhrn toku řízení je uveden níže, s relevantní síťovou vrstvou v závorkách.
+
+### Když konsensuální klient není producentem bloku: {#when-consensus-client-is-not-block-producer}
+
+- Konsensuální klient přijme blok prostřednictvím block gossip protokolu (konsensuální p2p)
+- Konsensuální klient předběžně validuje blok, tj. zajišťuje, že přišel od platného odesílatele se správnými metadaty.
+- Transakce v bloku jsou odeslány do exekuční vrstvy jako exekuční payload (lokální RPC spojení)
+- Exekuční vrstva provede transakce a zvaliduje stav v hlavičce bloku (tj. zkontroluje, zda se shodují haše).
+- Exekuční vrstva předává validační data zpět konsensuální vrstvě, blok je nyní považován za validovaný (lokální RPC spojení)
+- Konsensuální vrstva přidá blok na svéůj vlastní blockchain a potvrzuje ho, přičemž vysílá potvrzení po síti (konsensuální p2p)
+
+### Když je konsensuální klient producentem bloku: {#when-consensus-client-is-block-producer}
+
+- Konsensuální klient dostane oznámení, že je dalším producentem bloku (konsensuální p2p)
+- Konsensuální vrstva volá metodu `create block` v exekučním klientovi (místní RPC).
+- Exekuční vrstva přistupuje k transakčnímu mempoolu, který byl naplněn prostřednictvím transakčního gossip protokolu (exekuční p2p)
+- Exekuční klient shromažďuje transakce do bloku, provádí transakce a generuje hash bloku
+- Konsensuální klient uchopí transakce a hash bloku od exekučního klienta a přidá je do beacon bloku (lokální RPC)
+- Konsensuální klient vysílá blok prostřednictvím block gossip protokolu (konsensuální p2p)
+- Ostatní klienti přijímají navržený blok prostřednictvím block gossip protokolu a validují ho, jak je popsáno výše (konsensuální p2p)
+
+Jakmile je blok potvrzen dostatečným počtem validátorů, je přidán na hlavu řetězce, ospravedlněn a nakonec finalizován.
+
+\n
+
+Schéma síťové vrstvy pro konsensuální a exekuční klienty, z [ethresear.ch](https://ethresear.ch/t/eth1-eth2-client-relationship/7248)
+
+## Další čtení {#further-reading}
+
+[DevP2P](https://github.com/ethereum/devp2p)\n[LibP2p](https://github.com/libp2p/specs)\n[Specifikace sítě konsensuální vrstvy](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure)\n[Od Kademlia k Discv5](https://vac.dev/kademlia-to-discv5)\n[Článek o Kademlia](https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf)\n[Úvod do P2P sítě Etherea](https://p2p.paris/en/talks/intro-ethereum-networking/)\n[Vztah eth1/eth2](http://ethresear.ch/t/eth1-eth2-client-relationship/7248)\n[Video s podrobnostmi o klientech pro sloučení a eth2](https://www.youtube.com/watch?v=zNIrIninMgg)
diff --git a/public/content/translations/cs/developers/docs/networking-layer/network-addresses/index.md b/public/content/translations/cs/developers/docs/networking-layer/network-addresses/index.md
new file mode 100644
index 00000000000..71404bea61e
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/networking-layer/network-addresses/index.md
@@ -0,0 +1,39 @@
+---
+title: Síťové adresy
+description: Úvod do síťových adres.
+lang: cs
+sidebarDepth: 2
+---
+
+Síťové uzly se musí identifikovat pomocí základních informací, aby se mohly připojit k peerům. Aby se zajistilo, že jakýkoli potenciální peer může tyto informace interpretovat, jsou předávány v jednom ze tří standardizovaných formátů, kterým rozumí každý Ethereum uzel: multiaddr, enode nebo Ethereum Node Records (ENR). ENR jsou současným standardem pro síťové adresy na Ethereu.
+
+## Předpoklady {#prerequisites}
+
+Pro pochopení této stránky je nutná určitá znalost [síťové vrstvy](/developers/docs/networking-layer/) Etherea.
+
+## Multiaddr {#multiaddr}
+
+Původní formát adresy síťového uzlu Etherea byl 'multiaddr' (zkratka pro 'multi-adresy'). Multiaddr je univerzální formát navržený pro sítě peer-to-peer. Adresy jsou reprezentovány jako páry klíč-hodnota, kde jsou klíče a hodnoty odděleny lomítkem. Například multiaddr pro uzel s IPv4 adresou `192.168.22.27`, který naslouchá na TCP portu `33000`, vypadá takto:
+
+`/ip4/192.168.22.27/tcp/33000`
+
+Pro Ethereum uzel obsahuje multiaddr node-ID (haš veřejného klíče):
+
+`/ip4/192.168.22.27/tcp/33000/p2p/5t7Nv7dG2d6ffbvAiewVsEwWweU3LdebSqX2y1bPrW8br`
+
+## Enode {#enode}
+
+Enode je způsob, jak identifikovat Ethereum uzel pomocí formátu URL adresy. Hexadecimální node-ID je zakódováno v uživatelské části URL, oddělené od hostitele znakem @. Hostitelské jméno může být zadáno pouze jako IP adresa; DNS jména nejsou povolena. Port v části hostitelského jména je TCP naslouchací port. Pokud se TCP a UDP (discovery) porty liší, UDP port je specifikován jako dotazovací parametr "discport".
+
+V následujícím příkladu URL uzlu popisuje uzel s IP adresou `10.3.58.6`, TCP portem `30303` a UDP discovery portem `30301`.
+
+`enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@10.3.58.6:30303?discport=30301`
+
+## Záznamy ethereových uzlů (ENR) {#enr}
+
+Ethereum Node Records (ENR) jsou standardizovaným formátem síťových adres na Ethereu. Nahrazují formáty multiaddr a enode. Tyto záznamy jsou obzvláště užitečné, protože umožňují větší výměnu informací mezi uzly. ENR obsahuje podpis, pořadové číslo a pole podrobně popisující identifikační schéma použité k vytvoření a ověření podpisů. ENR může být také naplněn libovolnými daty organizovanými jako páry klíč-hodnota. Tyto páry klíč-hodnota obsahují IP adresu uzlu a informace o podprotokolech, které uzel může používat. Konsensuální klienti používají [specifickou strukturu ENR](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) k identifikaci bootovacích uzlů a také obsahují pole `eth2` s informacemi o aktuální větvi Etherea a atestačním gossip subnetu (to propojuje uzel s konkrétní sadou peerů, jejichž atestace jsou agregovány dohromady).
+
+## Další čtení {#further-reading}
+
+- [EIP-778: Záznamy ethereových uzlů (ENR)](https://eips.ethereum.org/EIPS/eip-778)
+- [LibP2P: Multiaddr-Enode-ENR?!](https://consensys.net/diligence/blog/2020/09/libp2p-multiaddr-enode-enr/)
diff --git a/public/content/translations/cs/developers/docs/networking-layer/portal-network/index.md b/public/content/translations/cs/developers/docs/networking-layer/portal-network/index.md
new file mode 100644
index 00000000000..b6560a9f77f
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/networking-layer/portal-network/index.md
@@ -0,0 +1,89 @@
+---
+title: The Portal Network
+description: Přehled sítě Portal Network - sítě ve vývoji, navržené pro podporu nízkozdrojových klientů.
+lang: cs
+---
+
+Ethereum je síť složená z počítačů, které provozují softwarové klienty Etherea. Každý z těchto počítačů se nazývá síťový „uzel“. Klientský software umožňuje uzlu odesílat a přijímat data v síti Ethereum a ověřovat data podle pravidel protokolu Etherea. Uzel uchovává velké množství historických dat na svém disku a přidává další, když přijme nové informační pakety, známé jako bloky, od ostatních uzlů v síti. To je nutné pro neustálou kontrolu, zda má uzel informace konzistentní se zbytkem sítě. To znamená, že provozování uzlu může vyžadovat hodně prostoru na disku. Některé operace uzlu mohou vyžadovat také hodně RAM.
+
+Aby se tento problém s prostorem vyřešil, byly vyvinuty „jednoduché“ uzly, které požadují informace od úplných uzlů, místo aby je všechny uchovávaly samy. To však znamená, že jednoduchý uzel nezávisle neověřuje informace a místo toho důvěřuje jinému uzlu. Znamená to také, že úplné uzly musí vykonávat dodatečnou práci, aby těmto jednoduchým uzlům poskytly potřebná data.
+
+Portal Network je nový síťový design pro Ethereum, který si klade za cíl vyřešit problém dostupnosti dat pro „jednoduché“ uzly, aniž by bylo nutné důvěřovat úplným uzlům nebo na ně klást další zátěž, sdílením potřebných dat v malých kouscích napříč sítí.
+
+Více o [uzlech a klientech](/developers/docs/nodes-and-clients/)
+
+## Proč potřebujeme síť Portal {#why-do-we-need-portal-network}
+
+Síťové uzly na Ethereu uchovávají vlastní plnou nebo částečnou kopii blockchainu Etherea. Tato lokální kopie slouží k validaci transakcí a zajištění, že uzel sleduje správný řetězec. Tato lokálně uložená data umožňují síťovým uzlům nezávisle ověřovat, že příchozí data jsou platná a správná, aniž by musely důvěřovat jakékoli jiné entitě.
+
+Tato lokální kopie blockchainu a s ní spojená stavová a potvrzovací data zabírají na pevném disku uzlu hodně místa. Například pro spuštění uzlu pomocí [Geth](https://geth.ethereum.org) spárovaného s konsensuálním klientem se doporučuje 2TB pevný disk. Při použití snap syncu, který ukládá data řetězce pouze z relativně nedávné sady bloků, obvykle Geth zabírá asi 650 GB diskového prostoru, ale roste přibližně o 14 GB týdně (uzel můžete pravidelně snižovat úschovu zpět na 650 GB).
+
+To znamená, že provozování síťových uzlů může být nákladné, protože velké množství diskového prostoru musí být vyhrazeno pro Ethereum. V plánu Ethereum existuje několik řešení tohoto problému, včetně [vypršení historie](/roadmap/statelessness/#history-expiry), [vypršení stavu](/roadmap/statelessness/#state-expiry) a [bezstavovosti](/roadmap/statelessness/). Tato řešení jsou však pravděpodobně od implementace vzdálena několik let. Existují také [lehké uzly](/developers/docs/nodes-and-clients/light-clients/), které neukládají vlastní kopii dat řetězce, ale vyžadují data, která potřebují, od plných uzlů. To však znamená, že jednoduché uzly musí důvěřovat úplným uzlům, že poskytnou poctivá data, a zároveň zatěžují úplné uzly, které musí tato data poskytovat.
+
+Portal Network si klade za cíl poskytnout alternativní způsob, jak mohou jednoduché uzly získat svá data, aniž by musely důvěřovat úplným uzlům nebo výrazně přispívat k práci, kterou musí úplné uzly vykonávat. Tento cíl bude dosažen zavedením nového způsobu, jak mohou uzly Etherea sdílet data napříč sítí.
+
+## Jak funguje Portal Network? {#how-does-portal-network-work}
+
+Síťové uzly na Ethereu mají přísné protokoly, které definují, jak spolu komunikují. Exekuční klienti komunikují pomocí sady subprotokolů známých jako [DevP2P](/developers/docs/networking-layer/#devp2p), zatímco konsensuální klienti používají jinou sadu subprotokolů nazvanou [libP2P](/developers/docs/networking-layer/#libp2p). Tyto protokoly definují typy dat, která mohou být mezi uzly předávána.
+
+
+
+Uzly mohou také poskytovat specifická data prostřednictvím [JSON-RPC API](/developers/docs/apis/json-rpc/), což je způsob, jakým si aplikace a peněženky vyměňují informace s uzly Ethereum. Nicméně, žádný z těchto protokolů není ideální pro poskytování dat jednoduchým klientům.
+
+Jednoduché uzly aktuálně nemohou požadovat konkrétní části dat řetězce přes DevP2P nebo libP2p, protože tyto protokoly jsou navrženy pouze pro synchronizaci řetězce a šíření bloků a transakcí. Jednoduché uzly nechtějí tato data stahovat, protože by to narušilo jejich jednoduchost.
+
+JSON-RPC API také není ideální volbou pro požadavky na data vyslaná od jednoduchými klienty, protože spoléhá na připojení ke konkrétnímu úplnému uzlu nebo centralizovanému poskytovateli RPC, který může tato data sdílet. To znamená, že jednoduchý klient musí důvěřovat tomuto konkrétnímu uzlu nebo poskytovateli, že bude poctivý, a také úplný uzel může být zatížen množstvím požadavků od mnoha jednoduchých klientů, což zvyšuje jeho nároky na šířku pásma.
+
+Cílem sítě Portal Network je znovu promyslet celý design, s důrazem na jednoduchost, mimo omezení existujících Ethereum klientů.
+
+Hlavní myšlenkou sítě Portal je vzít to nejlepší ze současného síťového stacku tím, že umožní, aby informace potřebné pro lehké klienty, jako jsou historická data a identita aktuální hlavy řetězce, byly obsluhovány prostřednictvím odlehčené, decentralizované peer-to-peer sítě ve stylu DevP2P s využitím [DHT](https://en.wikipedia.org/wiki/Distributed_hash_table) (podobně jako Bittorrent).
+
+Idea je přidat malé části celkových historických dat Etherea a určité specifické uzlové odpovědnosti každému uzlu. Poté jsou požadavky obsluhovány tím, že se vyhledají síťové uzly uchovávající požadovaná data a tato data se od nich získají.
+
+Tento přístup obrací normální model, kdy jednoduché uzly vyhledávají jediný uzel a požadují po něm filtrování a poskytování velkých objemů dat; místo toho rychle filtrují velkou síť uzlů, z nichž každý zpracovává malé množství dat.
+
+Cílem je umožnit decentralizované síti jednoduchých Portal klientů:
+
+- sledovat hlavičku řetězce
+- synchronizovat nedávná a historická data řetězce
+- získávat stavová data
+- vysílat transakce
+- provádět transakce pomocí [EVM](/developers/docs/evm/)
+
+Výhody tohoto síťového designu jsou:
+
+- snížení závislosti na centralizovaných poskytovatelích
+- Snížení využití internetové šířky pásma
+- Minimální nebo žádná synchronizace
+- Přístupné pro zařízení s omezenými zdroji (\<1 GB RAM, \<100 MB místa na disku, 1 CPU)
+
+Níže uvedená tabulka ukazuje funkce stávajících klientů, které může poskytovat síť Portal, což uživatelům umožňuje přístup k těmto funkcím na zařízeních s velmi malými zdroji.
+
+### Sítě Portal
+
+| Lehký klient Beaconu | Stavová síť | Gossip transakcí | Historická síť |
+| --------------------------- | --------------------- | ----------------- | -------------- |
+| Lehká data pro Beacon Chain | Úložiště účtů a smluv | Odlehčený mempool | Hlavičky |
+| Data protokolu | | | Těla bloků |
+| | | | Potvrzení |
+
+## Diverzita klientů ve výchozím nastavení {#client-diversity-as-default}
+
+Vývojáři sítě Portal se také od prvního dne rozhodli vytvořit čtyři samostatné klienty sítě Portal.
+
+Klienti sítě Portal Network jsou:
+
+- [Trin](https://github.com/ethereum/trin): napsaný v Rustu
+- [Fluffy](https://fluffy.guide): napsaný v Nim
+- [Ultralight](https://github.com/ethereumjs/ultralight): napsaný v Typescriptu
+- [Shisui](https://github.com/zen-eth/shisui): napsaný v Go
+
+Mít více nezávislých implementací klientů zvyšuje odolnost a decentralizaci sítě Ethereum.
+
+Pokud by jeden klient měl problémy nebo zranitelnosti, ostatní klienti mohou nadále hladce fungovat, čímž se zabrání vzniku jediného bodu selhání. Různorodost implementací klientů navíc podporuje inovace a konkurenci, což vede k vylepšením a snižuje riziko monokultury v ekosystému.
+
+## Další čtení {#further-reading}
+
+- [Síť Portal (Piper Merriam na Devcon Bogota)](https://www.youtube.com/watch?v=0stc9jnQLXA).
+- [Discord sítě Portal](https://discord.gg/CFFnmE7Hbs)
+- [Webové stránky sítě Portal](https://www.ethportal.net/)
diff --git a/public/content/translations/cs/developers/docs/networks/index.md b/public/content/translations/cs/developers/docs/networks/index.md
index cd11b69763e..3e1d415cf36 100644
--- a/public/content/translations/cs/developers/docs/networks/index.md
+++ b/public/content/translations/cs/developers/docs/networks/index.md
@@ -4,25 +4,25 @@ description: Přehled sítí Etherea a návod, kde získat ether (ETH) testovac
lang: cs
---
-Sítě Etherea jsou skupiny propojených počítačů, které komunikují pomocí protokolu Ethereum. Existuje pouze jedna hlavní síť Etherea, ale nezávislé sítě, které dodržují stejná pravidla protokolu, mohou být vytvořeny pro testovací a vývojové účely. Existuje mnoho nezávislých "sítí", které dodržují protokol, aniž by mezi sebou komunikovaly. Můžete si dokonce spustit vlastní síť na svém počítači k testování chytrých kontraktů a web3 aplikací.
+Sítě Etherea jsou skupiny propojených počítačů, které komunikují pomocí protokolu Ethereum. Existuje pouze jedna hlavní síť Etherea, ale nezávislé sítě, které dodržují stejná pravidla protokolu, mohou být vytvořeny pro testovací a vývojové účely. Existuje mnoho nezávislých „sítí“, které dodržují protokol, aniž by mezi sebou komunikovaly. Můžete si dokonce spustit vlastní síť na svém počítači k testování chytrých kontraktů a web3 aplikací.
Váš účet na Ethereu bude fungovat na různých sítích, ale zůstatek na účtu a historie transakcí se nepřenesou z hlavní sítě Etherea. Pro testovací účely je užitečné vědět, které sítě jsou k dispozici a jak získat ETH testovací sítě, abyste mohli experimentovat. Obecně platí, že z bezpečnostních důvodů se nedoporučuje používat účty z hlavní sítě na testovacích sítích nebo naopak.
## Předpoklady {#prerequisites}
-Předtím, než se začnete zabývat různými sítěmi, byste měli rozumět [základům Etherea](/developers/docs/intro-to-ethereum/), protože testovací sítě vám poskytnou levnou a bezpečnou verzi Etherea pro experimentování.
+Než si začnete číst o různých sítích, měli byste porozumět [základům Etherea](/developers/docs/intro-to-ethereum/), protože testnety vám poskytnou levnou a bezpečnou verzi Etherea, se kterou si můžete hrát.
## Veřejné sítě {#public-networks}
Veřejné sítě jsou přístupné komukoliv na světě s připojením k internetu. Každý může číst nebo vytvářet transakce na veřejném blockchainu a ověřovat prováděné transakce. Konsenzus mezi síťovými uzly rozhoduje o zahrnutí transakcí a stavu sítě.
-### Hlavní síť Ethereum {#ethereum-mainnet}
+### Mainnet Etherea {#ethereum-mainnet}
Hlavní síť je primární veřejný produkční blockchain Etherea, kde dochází k transakcím s reálnou hodnotou na distribuované účetní knize.
Když veřejnost nebo burzy diskutují o cenách ETH, mluví o ETH na hlavní síti.
-### Testovací sítě Etherea {#ethereum-testnets}
+### Testnety Etherea {#ethereum-testnets}
Kromě hlavní sítě existují veřejné testovací sítě. Tyto sítě používají vývojáři protokolu nebo chytrých kontraktů k testování jak vylepšení protokolu, tak potenciálních chytrých kontraktů v prostředí podobném produkčnímu prostředí, než budou nasazeny na hlavní síť. Můžete si je představit jako analogii mezi produkčním a testovacím serverem.
@@ -34,19 +34,15 @@ ETH na testovacích sítích nemá mít žádnou skutečnou hodnotu. Přesto vzn
#### Kterou testovací síť bych měl/a použít?
-Dvě veřejné testovací sítě, které aktuálně udržují vývojáři klientů, jsou Sepolia a Hoodi. Sepolia je síť pro vývojáře kontraktů a aplikací, kteří je chtějí otestovat. Síť Hoodi umožňuje vývojářům protokolu testovat vylepšení sítě a také umožňuje uzamykatelům zkoušet provozování validátorů.
+Dva veřejné testnety, které vývojáři klientů v současné době udržují, jsou Sepolia a Hoodi. Sepolia je síť pro vývojáře kontraktů a aplikací, kteří je chtějí otestovat. Síť Hoodi umožňuje vývojářům protokolů testovat vylepšení sítě a stakerům testovat provoz validátorů.
#### Sepolia {#sepolia}
-**Sepolia je doporučená výchozí testovací síť pro vývoj aplikací**. Síť Sepolia používá povolenou sadu validátorů. Je poměrně nová, což znamená, že její stav a historie jsou stále celkem malé. To znamená, že síť se rychle synchronizuje a provozování uzlu na ní vyžaduje méně úložného prostoru. To je užitečné pro uživatele, kteří chtějí spustit uzel rychle a napřímo komunikovat se sítí.
-
-- Uzavřená sada validátorů, kontrolována týmy klientů a testerů
-- Nová testovací síť, méně spuštěných aplikací než na jiných testovacích sítích
-- Rychlá synchronizace, provoz uzlu vyžaduje minimální úložný prostor
+**Sepolia je doporučená výchozí testovací síť pro vývoj aplikací**. Síť Sepolia používá sadu validátorů s oprávněními, která je kontrolovaná týmy klientů a testovacími týmy.
##### Zdroje
-- [Web](https://sepolia.dev/)
+- [Webové stránky](https://sepolia.dev/)
- [GitHub](https://github.com/eth-clients/sepolia)
- [Otterscan](https://sepolia.otterscan.io/)
- [Etherscan](https://sepolia.etherscan.io)
@@ -54,18 +50,20 @@ Dvě veřejné testovací sítě, které aktuálně udržují vývojáři klient
##### Faucety
-- [QuickNode Sepolia Faucet](https://faucet.quicknode.com/drip)
+- [Alchemy Sepolia Faucet](https://www.alchemy.com/faucets/ethereum-sepolia)
+- [Chain Platform Sepolia Faucet](https://faucet.chainplatform.co/faucets/ethereum-sepolia/)
+- [Chainstack Sepolia Faucet](https://faucet.chainstack.com/sepolia-testnet-faucet)
+- [Faucet ekosystému Ethereum](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia)
+- [ethfaucet.com Sepolia Faucet](https://ethfaucet.com/networks/ethereum)
+- [Google Cloud Web3 Sepolia Faucet](https://cloud.google.com/application/web3/faucet/ethereum/sepolia)
- [Grabteeth](https://grabteeth.xyz/)
-- [PoW faucet](https://sepolia-faucet.pk910.de/)
-- [Coinbase Wallet Faucet | Sepolia](https://coinbase.com/faucets/ethereum-sepolia-faucet)
-- [Alchemy Sepolia faucet](https://sepoliafaucet.com/)
-- [Infura Sepolia faucet](https://www.infura.io/faucet)
-- [Chainstack Sepolia faucet](https://faucet.chainstack.com/sepolia-testnet-faucet)
-- [Ethereum Ecosystem faucet](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia)
+- [Infura Sepolia Faucet](https://www.infura.io/faucet)
+- [PoW Faucet](https://sepolia-faucet.pk910.de/)
+- [QuickNode Sepolia Faucet](https://faucet.quicknode.com/ethereum/sepolia)
#### Hoodi {#hoodi}
-Hoodi je testovací síť pro testování validace a uzamčení. Síť Hoodi je otevřená uživatelům, kteří chtějí provozovat validátor na testovací síti. Uzamykatelé, kteří chtějí testovat vylepšení protokolu před jejich nasazením na hlavní síť, by proto měli používat Hoodi.
+Hoodi je testnet pro testování validace a stakingu. Síť Hoodi je otevřená pro uživatele, kteří chtějí provozovat testnet validátor. Stakeři, kteří chtějí testovat vylepšení protokolu před jejich nasazením na mainnet, by proto měli používat Hoodi.
- Otevřená sada validátorů, uzamykatelé mohou testovat vylepšení sítě
- Obsáhlý stav, užitečné pro testování složitých interakcí chytrých kontraktů
@@ -73,69 +71,146 @@ Hoodi je testovací síť pro testování validace a uzamčení. Síť Hoodi je
##### Zdroje
-- [Web](https://hoodi.ethpandaops.io/)
+- [Webové stránky](https://hoodi.ethpandaops.io/)
- [GitHub](https://github.com/eth-clients/hoodi)
-- [Explorer](https://explorer.hoodi.ethpandaops.io/)
+- [Průzkumník](https://explorer.hoodi.ethpandaops.io/)
- [Checkpoint Sync](https://checkpoint-sync.hoodi.ethpandaops.io/)
+- [Otterscan](https://hoodi.otterscan.io/)
+- [Etherscan](https://hoodi.etherscan.io/)
##### Faucety
+- [Chain Platform Hoodi Faucet](https://faucet.chainplatform.co/faucets/ethereum-hoodi/)
- [Hoodi Faucet](https://hoodi.ethpandaops.io/)
+- [PoW Faucet](https://hoodi-faucet.pk910.de/)
+
+#### Ephemery {#ephemery}
+
+Ephemery je jedinečný druh testnetu, který se každý měsíc plně resetuje. Exekuční a konsensuální stav se každých 28 dní vrací zpět do geneze, což znamená, že vše, co se na testnetu stane, je pomíjivé. Díky tomu je ideální pro krátkodobé testování, rychlý bootstrap uzlů a aplikace typu „hello world“, které nepotřebují stálost.
+
+- Vždy čerstvý stav, krátkodobé testování validátorů a aplikací
+- Zahrnuje pouze základní sadu kontraktů
+- Otevřená sada validátorů a snadný přístup k velkým finančním částkám
+- Nejmenší požadavky na uzel a nejrychlejší synchronizace, v průměru <5 GB
+
+##### Zdroje
+
+- [Webové stránky](https://ephemery.dev/)
+- [Github](https://github.com/ephemery-testnet/ephemery-resources)
+- [Komunitní chat](https://matrix.to/#/#staker-testnet:matrix.org)
+- [Blockscout](https://explorer.ephemery.dev/)
+- [Otterscan](https://otter.bordel.wtf/)
+- [Průzkumník Beacon](https://beaconlight.ephemery.dev/)
+- [Checkpoint Sync](https://checkpoint-sync.ephemery.ethpandaops.io)
+- [Launchpad](https://launchpad.ephemery.dev/)
-Ke spuštění validátoru na testovací síti Hoodi použijte [Hoodi launchpad](https://hoodi.launchpad.ethereum.org/en/).
+#### Faucety
-### Testovací sítě druhé vrstvy {#layer-2-testnets}
+- [Bordel Faucet](https://faucet.bordel.wtf/)
+- [Pk910 PoW Faucet](https://ephemery-faucet.pk910.de/)
-[Druhá vrstva (L2)](/layer-2/) je souhrnný termín pro popis specifických sad škálovacích řešení Etherea. Druhá vrstva je samostatný blockchain, který rozšiřuje Ethereum a dědí jeho bezpečnostní záruky. Testovací sítě druhé vrstvy jsou obvykle úzce spojeny s veřejnými testovacími sítěmi Etherea.
+#### Holesky (zastaralý) {#holesky}
+
+Testnet Holesky je od září 2025 zastaralý. Provozovatelé stakingu a poskytovatelé infrastruktury by místo toho měli pro testování validátorů používat Hoodi.
+
+- [Oznámení o ukončení provozu testnetu Holesky](https://blog.ethereum.org/2025/09/01/holesky-shutdown-announcement) – _Blog EF, 1. září 2025_
+- [Aktualizace testnetů Holesky a Hoodi](https://blog.ethereum.org/en/2025/03/18/hoodi-holesky) – _Blog EF, 18. března 2025_
+
+### Testnety druhé vrstvy {#layer-2-testnets}
+
+[Druhá vrstva (L2)](/layer-2/) je souhrnný termín popisující specifickou sadu řešení pro škálování Etherea. Druhá vrstva je samostatný blockchain, který rozšiřuje Ethereum a dědí jeho bezpečnostní záruky. Testovací sítě druhé vrstvy jsou obvykle úzce spojeny s veřejnými testovacími sítěmi Etherea.
#### Arbitrum Sepolia {#arbitrum-sepolia}
-Testovací síť pro [Arbitrum](https://arbitrum.io/).
+Testnet pro [Arbitrum](https://arbitrum.io/).
+
+##### Zdroje
+
+- [Etherscan](https://sepolia.arbiscan.io/)
+- [Blockscout](https://sepolia-explorer.arbitrum.io/)
##### Faucety
-- [Chainlink faucet](https://faucets.chain.link/arbitrum-sepolia)
-- [Alchemy faucet](https://www.alchemy.com/faucets/arbitrum-sepolia)
+- [Alchemy Arbitrum Sepolia Faucet](https://www.alchemy.com/faucets/arbitrum-sepolia)
+- [Chainlink Arbitrum Sepolia faucet](https://faucets.chain.link/arbitrum-sepolia)
+- [ethfaucet.com Arbitrum Sepolia Faucet](https://ethfaucet.com/networks/arbitrum)
+- [QuickNode Arbitrum Sepolia Faucet](https://faucet.quicknode.com/arbitrum/sepolia)
#### Optimistic Sepolia {#optimistic-sepolia}
-Testovací síť pro [Optimism](https://www.optimism.io/).
+Testnet pro [Optimism](https://www.optimism.io/).
+
+##### Zdroje
+
+- [Etherscan](https://sepolia-optimistic.etherscan.io/)
+- [Blockscout](https://optimism-sepolia.blockscout.com/)
##### Faucety
-- [Chainlink faucet](https://faucets.chain.link/optimism-sepolia)
-- [Alchemy faucet](https://www.alchemy.com/faucets/optimism-sepolia)
+- [Alchemy Faucet](https://www.alchemy.com/faucets/optimism-sepolia)
+- [Chainlink Faucet](https://faucets.chain.link/optimism-sepolia)
+- [ethfaucet.com Optimism Sepolia Faucet](https://ethfaucet.com/networks/optimism)
+- [Testnet Faucet](https://docs.optimism.io/builders/tools/build/faucets)
#### Starknet Sepolia {#starknet-sepolia}
-Testovací síť pro [Starknet](https://www.starknet.io).
+Testnet pro [Starknet](https://www.starknet.io).
+
+##### Zdroje
+
+- [Starkscan](https://sepolia.starkscan.co/)
##### Faucety
-- [Alchemy faucet](https://www.alchemy.com/faucets/starknet-sepolia)
+- [Alchemy Faucet](https://www.alchemy.com/faucets/starknet-sepolia)
+- [Blast Starknet Sepolia Faucet](https://blastapi.io/faucets/starknet-sepolia-eth)
+- [Starknet Faucet](https://starknet-faucet.vercel.app/)
-## Privátní sítě {#private-networks}
+## Soukromé sítě {#private-networks}
-Síť Etherea je privátní, pokud její uzly nejsou připojeny k veřejné síti (tj. hlavní nebo testovací síť). V tomto kontextu znamená "privátní" pouze vyhrazená nebo izolovaná, spíše než chráněná nebo bezpečná.
+Síť Etherea je soukromá síť, pokud její uzly nejsou připojeny k veřejné síti (tj. k mainnetu nebo testnetu). V tomto kontextu znamená „privátní“ pouze vyhrazená nebo izolovaná, spíše než chráněná nebo bezpečná.
-### Vývojové sítě {#development-networks}
+### Vývojářské sítě {#development-networks}
Chcete-li vyvíjet aplikaci na Ethereu, budete ji chtít nejprve spustit na privátní síti, abyste viděli, jak funguje, než ji nasadíte. Podobně jako vytváříte lokální server na svém počítači pro vývoj webu, můžete vytvořit lokální instanci blockchainu pro testování vaší dappky. To umožňuje mnohem rychlejší iteraci než na veřejné testovací síti.
-Existují projekty a nástroje, které vám s tím pomohou. Další informace o [vývojových sítích](/developers/docs/development-networks/).
+Existují projekty a nástroje, které vám s tím pomohou. Přečtěte si více o [vývojářských sítích](/developers/docs/development-networks/).
-### Konsorciové sítě {#consortium-networks}
+### Konsorciální sítě {#consortium-networks}
Proces konsenzu je řízen předem definovanou sadou důvěryhodných uzlů. Např. soukromá síť známých akademických institucí, z nichž každá spravuje jeden uzel, a bloky jsou ověřovány prahovým počtem signatářů v této síti.
Pokud je veřejná síť Etherea jako veřejný internet, konsorciová síť je jako privátní intranet.
+## Proč jsou testnety Etherea pojmenovány po stanicích metra? {#why-naming}
+
+Mnoho testnetů Etherea je pojmenováno po skutečných stanicích metra nebo vlakových nádražích. Tato tradice pojmenovávání začala brzy a odráží světová města, kde přispěvatelé žili nebo pracovali. Je to symbolické, zapamatovatelné a praktické. Stejně jako jsou testnety izolovány od mainnetu Etherea, linky metra jezdí odděleně od povrchové dopravy.
+
+### Běžně používané a starší testnety {#common-and-legacy-testnets}
+
+- **Sepolia** – Čtvrť v řeckých Aténách napojená na metro. V současné době se používá pro testování chytrých kontraktů a dApps.
+- **Hoodi** – Pojmenováno po stanici metra Hoodi v indickém Bengalúru. Používá se pro testování validátorů a vylepšení protokolu.
+- **Goerli** _(zastaralý)_ – Pojmenováno po nádraží Görlitzer Bahnhof v německém Berlíně.
+- **Rinkeby** _(zastaralý)_ – Pojmenováno po předměstí Stockholmu se stanicí metra.
+- **Ropsten** _(zastaralý)_ – Odkazuje na oblast a bývalý terminál trajektů/metra ve Stockholmu.
+- **Kovan** _(zastaralý)_ – Pojmenováno po stanici MRT v Singapuru.
+- **Morden** _(zastaralý)_ – Pojmenováno po stanici londýnského metra. První veřejný testnet Etherea.
+
+### Ostatní specializované testnety {#other-testnets}
+
+Některé testnety byly vytvořeny pro krátkodobé nebo pro vylepšení specifické testování a nemusí být nutně s tématikou metra:
+
+- **Holesky** _(zastaralý)_ – Pojmenováno po stanici Holešovice v Praze. Používá se pro testování validátorů; zastaralý v roce 2025.
+- **Kiln**, **Zhejiang**, **Shandong**, **Prater**, **Pyrmont**, **Olympic** _(všechny zastaralé)_ a **Ephemery** – Účelově vytvořené pro simulace vylepšení, jako je Sloučení, Shanghai, nebo pro experimenty s validátory. Některé názvy jsou spíše regionální nebo tematické než založené na metru.
+
+Používání názvů stanic metra pomáhá vývojářům rychle identifikovat a zapamatovat si testnety, aniž by se museli spoléhat na číselné ID řetězců. Odráží také kulturu Etherea: praktickou, globální a zaměřenou na člověka.
+
## Související nástroje {#related-tools}
-- [Chainlist](https://chainlist.org/) _– seznam EVM sítí pro připojení peněženek a poskytovatelů k odpovídajícímu Chain ID a Network ID_
-- [EVM-based Chains](https://github.com/ethereum-lists/chains) _– repozitář na GitHubu obsahující metadata řetězců, která napájí Chainlist_
+- [Chainlist](https://chainlist.org/) _seznam EVM sítí pro připojení peněženek a poskytovatelů k odpovídajícímu Chain ID a Network ID_
+- [Řetězce založené na EVM](https://github.com/ethereum-lists/chains) _GitHub repozitář metadat řetězců, který pohání Chainlist_
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Návrh: Předvídatelný životní cyklus testovací sítě Etherea](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17)
-- [Vývoj testovacích sítí Etherea](https://etherworld.co/2022/08/19/the-evolution-of-ethereum-testnet/)
+- [Návrh: Předvídatelný životní cyklus testnetů Etherea](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17)
+- [Evoluce testnetů Etherea](https://etherworld.co/2022/08/19/the-evolution-of-ethereum-testnet/)
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/archive-nodes/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/archive-nodes/index.md
new file mode 100644
index 00000000000..bc74188d927
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/archive-nodes/index.md
@@ -0,0 +1,81 @@
+---
+title: Archivní uzel Etherea
+description: Přehled archivních uzlů
+lang: cs
+sidebarDepth: 2
+---
+
+Archivní uzel je instancí klienta sítě Ethereum, který je nakonfigurován k vytvoření archivu všech historických stavů. Jedná se o užitečný nástroj pro určité případy použití, ale jeho provoz může být složitější než u plného uzlu.
+
+## Předpoklady {#prerequisites}
+
+Měli byste rozumět konceptu [uzlu sítě Ethereum](/developers/docs/nodes-and-clients/), [jeho architektuře](/developers/docs/nodes-and-clients/node-architecture/), [strategiím synchronizace](/developers/docs/nodes-and-clients/#sync-modes) a postupům pro jejich [provoz](/developers/docs/nodes-and-clients/run-a-node/) a [používání](/developers/docs/apis/json-rpc/).
+
+## Co je to archivní uzel
+
+Abychom pochopili důležitost archivního uzlu, objasněme si pojem "stav". O Ethereu lze mluvit jako o _stavovém automatu založeném na transakcích_. Skládá se z účtů a aplikací, které provádějí transakce měnící jejich stav. Globální data s informacemi o každém účtu a kontraktu jsou uložena v databázi trie nazývané stav. O to se stará klient exekuční vrstvy (EL) a zahrnuje to:
+
+- Zůstatky na účtech a hodnoty nonce
+- Kód kontraktu a úložiště
+- Data související s konsensem, např. vkladový kontrakt pro uzamčení
+
+Aby mohly interagovat se sítí, ověřovat a vytvářet nové bloky, musí klienti Etherea držet krok s nejnovějšími změnami (špičkou řetězce), a tedy i s aktuálním stavem. Klient exekuční vrstvy nakonfigurovaný jako plný uzel ověřuje a sleduje nejnovější stav sítě, ale do mezipaměti ukládá pouze několik posledních stavů, např. stav spojený s posledními 128 bloky, aby mohl zpracovávat reorganizace řetězce a poskytovat rychlý přístup k nejnovějším datům. Poslední stav je to, co všichni klienti potřebují k ověření příchozích transakcí a používání sítě.
+
+Stav si můžete představit jako okamžitý snímek sítě v daném bloku a archiv jako přehrání historie.
+
+Historické stavy mohou být bezpečně odstraněny, protože nejsou nutné pro fungování sítě a bylo by zbytečně redundantní, aby si klient ponechával všechna zastaralá data. Stavy, které existovaly před nějakým nedávným blokem (např. 128 bloků před špičkou), jsou v podstatě zahozeny. Plné uzly uchovávají pouze historická data blockchainu (bloky a transakce) a příležitostné historické snímky, které mohou na požádání použít k obnovení starších stavů. Dělají to tak, že znovu provádějí minulé transakce v EVM, což může být výpočetně náročné, když je požadovaný stav daleko od nejbližšího snímku.
+
+To však znamená, že přístup k historickému stavu na plném uzlu spotřebuje mnoho výpočetního výkonu. Klient může potřebovat provést všechny minulé transakce a vypočítat jeden historický stav od geneze. Archivní uzly to řeší tím, že ukládají nejen nejnovější stavy, ale všechny historické stavy vytvořené po každém bloku. V podstatě se jedná o kompromis s většími požadavky na místo na disku.
+
+Je důležité si uvědomit, že síť nezávisí na archivních uzlech, které by uchovávaly a poskytovaly všechna historická data. Jak již bylo zmíněno, všechny historické přechodné stavy lze odvodit na plném uzlu. Transakce jsou uloženy na každém plném uzlu (v současnosti méně než 400 GB) a lze je znovu přehrát a vytvořit tak celý archiv.
+
+### Případy použití
+
+Běžné používání Etherea, jako je odesílání transakcí, nasazování kontraktů, ověřování konsensu atd., nevyžaduje přístup k historickým stavům. Uživatelé nikdy nepotřebují archivní uzel pro standardní interakci se sítí.
+
+Hlavní výhodou stavového archivu je rychlý přístup k dotazům na historické stavy. Archivní uzel by například okamžitě vrátil výsledky jako:
+
+- _Jaký byl zůstatek ETH na účtu 0x1337... v bloku 15537393?_
+- _Jaký je zůstatek tokenu 0x v kontraktu 0x v bloku 1920000?_
+
+Jak bylo vysvětleno výše, plný uzel by musel tato data generovat provedením EVM, které využívá procesor a zabere čas. Archivní uzly k nim přistupují na disku a okamžitě poskytují odpovědi. Jedná se o užitečnou funkci pro určité části infrastruktury, například:
+
+- Poskytovatelé služeb, jako jsou prohlížeče bloků
+- Výzkumníci
+- Bezpečnostní analytici
+- Vývojáři dapp
+- Audit a dodržování předpisů
+
+Existují různé bezplatné [služby](/developers/docs/nodes-and-clients/nodes-as-a-service/), které také umožňují přístup k historickým datům. Vzhledem k tomu, že provoz archivního uzlu je náročnější, je tento přístup většinou omezený a funguje pouze pro příležitostný přístup. Pokud váš projekt vyžaduje neustálý přístup k historickým datům, měli byste zvážit provoz vlastního uzlu.
+
+## Implementace a použití
+
+Archivní uzel v tomto kontextu znamená data poskytovaná klienty exekuční vrstvy, kteří se starají o databázi stavů a poskytují koncové body JSON-RPC. Možnosti konfigurace, doba synchronizace a velikost databáze se mohou u jednotlivých klientů lišit. Podrobnosti naleznete v dokumentaci poskytnuté vaším klientem.
+
+Než spustíte vlastní archivní uzel, seznamte se s rozdíly mezi klienty a zejména s různými [hardwarovými požadavky](/developers/docs/nodes-and-clients/run-a-node/#requirements). Většina klientů není pro tuto funkci optimalizována a jejich archivy vyžadují více než 12 TB místa. Naproti tomu implementace jako Erigon mohou ukládat stejná data na méně než 3 TB, což z nich činí nejefektivnější způsob provozu archivního uzlu.
+
+## Doporučené postupy
+
+Kromě obecných [doporučení pro provoz uzlu](/developers/docs/nodes-and-clients/run-a-node/) může být archivní uzel náročnější na hardware a údržbu. S ohledem na [klíčové funkce](https://github.com/ledgerwatch/erigon#key-features) Erigonu je nejpraktičtějším přístupem použití klientské implementace [Erigon](/developers/docs/nodes-and-clients/#erigon).
+
+### Hardware
+
+Vždy si ověřte hardwarové požadavky pro daný režim v dokumentaci klienta.
+Největším požadavkem pro archivní uzly je místo na disku. V závislosti na klientovi se pohybuje od 3 TB do 12 TB. I když by se pro velké objemy dat mohl disk HDD považovat za lepší řešení, jeho synchronizace a neustálá aktualizace špičky řetězce budou vyžadovat disky SSD. Disky [SATA](https://www.cleverfiles.com/help/sata-hard-drive.html) jsou dostatečně dobré, ale měly by být spolehlivé kvality, alespoň [TLC](https://blog.synology.com/tlc-vs-qlc-ssds-what-are-the-differences). Disky lze umístit do stolního počítače nebo serveru s dostatečným počtem slotů. Tato vyhrazená zařízení jsou ideální pro provoz uzlu s vysokou dostupností. Je zcela možné jej provozovat na notebooku, ale přenosnost bude spojena s dalšími náklady.
+
+Všechna data se musí vejít na jeden svazek, proto je třeba disky spojit, např. pomocí [RAID0](https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0) nebo LVM. Za zvážení může stát také použití systému [ZFS](https://en.wikipedia.org/wiki/ZFS), protože podporuje funkci "Copy-on-write", která zajišťuje správný zápis dat na disk bez jakýchkoli nízkoúrovňových chyb.
+
+Pro větší stabilitu a zabezpečení při prevenci náhodného poškození databáze, zejména v profesionálním prostředí, zvažte použití [paměti ECC](https://en.wikipedia.org/wiki/ECC_memory), pokud ji váš systém podporuje. Obecně se doporučuje, aby velikost paměti RAM byla stejná jako pro plný uzel, ale více paměti RAM může pomoci urychlit synchronizaci.
+
+Během počáteční synchronizace provedou klienti v archivním režimu všechny transakce od geneze. Rychlost provádění je většinou omezena procesorem, takže rychlejší procesor může pomoci zkrátit dobu počáteční synchronizace. Na průměrném spotřebitelském počítači může počáteční synchronizace trvat až měsíc.
+
+## Další čtení {#further-reading}
+
+- [Plný uzel Etherea vs. archivní uzel](https://www.quicknode.com/guides/infrastructure/ethereum-full-node-vs-archive-node) – _QuickNode, září 2022_
+- [Vytvoření vlastního archivního uzlu Etherea](https://tjayrush.medium.com/building-your-own-ethereum-archive-node-72c014affc09) – _Thomas Jay Rush, srpen 2021_
+- [Jak nastavit Erigon, Erigon RPC a TrueBlocks (scrape a API) jako služby](https://magnushansson.xyz/blog_posts/crypto_defi/2022-01-10-Erigon-Trueblocks) _– Magnus Hansson, aktualizováno v září 2022_
+
+## Související témata {#related-topics}
+
+- [Uzly a klienti](/developers/docs/nodes-and-clients/)
+- [Provozování uzlu](/developers/docs/nodes-and-clients/run-a-node/)
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/bootnodes/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/bootnodes/index.md
new file mode 100644
index 00000000000..43f16123ff5
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/bootnodes/index.md
@@ -0,0 +1,31 @@
+---
+title: Úvod do Ethereum bootnodů
+description: Základní informace, které potřebujete k pochopení bootnodů
+lang: cs
+---
+
+Když se nový uzel připojí k síti Ethereum, musí se spojit s uzly, které již v síti jsou, aby mohl objevit další peery. Těmto vstupním bodům do sítě Ethereum se říká bootnody. Klienti v sobě mají obvykle pevně zakódovaný seznam bootnodů. Tyto bootnody jsou obvykle provozovány devops týmem nadace Ethereum nebo samotnými týmy klientů. Všimněte si, že bootnody nejsou totéž co statické uzly. Statické uzly jsou volány stále dokola, zatímco bootnody jsou volány pouze v případě, že není dostatek peerů pro připojení a uzel potřebuje navázat některá nová spojení.
+
+## Připojení k bootnodu {#connect-to-a-bootnode}
+
+Většina klientů má v sobě zabudovaný seznam bootnodů, ale možná budete chtít provozovat vlastní bootnode nebo použít takový, který není součástí pevně zakódovaného seznamu klienta. V takovém případě je můžete určit při spouštění vašeho klienta následujícím způsobem (příklad je pro Geth, podívejte se prosím do dokumentace vašeho klienta):
+
+```
+geth --bootnodes "enode://@:"
+```
+
+## Provozování bootnodu {#run-a-bootnode}
+
+Bootnody jsou plnohodnotné uzly, které nejsou za NAT ([překlad síťových adres](https://www.geeksforgeeks.org/network-address-translation-nat/)). Každý plnohodnotný uzel může fungovat jako bootnode, pokud je veřejně dostupný.
+
+Když spustíte uzel, měl by se vám zobrazit váš [enode](/developers/docs/networking-layer/network-addresses/#enode), což je veřejný identifikátor, který mohou ostatní použít k připojení k vašemu uzlu.
+
+Enode se obvykle regeneruje při každém restartu, takže se podívejte do dokumentace vašeho klienta, jak vygenerovat trvalý enode pro váš bootnode.
+
+Abyste byli dobrým bootnodem, je dobré navýšit maximální počet peerů, kteří se k němu mohou připojit. Provozování bootnodu s mnoha peery výrazně zvýší nároky na šířku pásma.
+
+## Dostupné bootnody {#available-bootnodes}
+
+Seznam vestavěných bootnodů v go-ethereum naleznete [zde](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go#L23). Tyto bootnody jsou spravovány nadací Ethereum a týmem go-ethereum.
+
+K dispozici jsou i další seznamy bootnodů spravované dobrovolníky. Ujistěte se prosím, že vždy zahrnete alespoň jeden oficiální bootnode, jinak byste se mohli stát obětí eclipse útoku.
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/client-diversity/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/client-diversity/index.md
new file mode 100644
index 00000000000..b904212d18a
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/client-diversity/index.md
@@ -0,0 +1,132 @@
+---
+title: Rozmanitost klientů
+description: Vysvětlení důležitosti diverzity klientů Etherea na vysoké úrovni.
+lang: cs
+sidebarDepth: 2
+---
+
+Chování uzlu sítě Ethereum je řízeno klientským softwarem, který na něm běží. Existuje několik klientů sítě Ethereum na produkční úrovni, přičemž každý z nich je vyvíjen a udržován v různých jazycích samostatnými týmy. Klienti jsou vytvořeni podle společné specifikace, která zajišťuje, že mezi sebou bezproblémově komunikují, mají stejnou funkcionalitu a poskytují ekvivalentní uživatelskou zkušenost. V současné době však distribuce klientů napříč uzly není dostatečně rovnoměrná, aby se toto posílení sítě využilo v plném rozsahu. V ideálním případě by se uživatelé měli zhruba rovnoměrně rozdělit mezi různé klienty, aby síti zajistili co největší diverzitu klientů.
+
+## Předpoklady {#prerequisites}
+
+Pokud ještě nerozumíte tomu, co jsou uzly a klienti, podívejte se na [uzly a klienty](/developers/docs/nodes-and-clients/). [Exekuční](/glossary/#execution-layer) a [konsensuální](/glossary/#consensus-layer) vrstvy jsou definovány ve slovníku.
+
+## Proč existuje více klientů? {#why-multiple-clients}
+
+Existuje více nezávisle vyvíjených a udržovaných klientů, protože diverzita klientů činí síť odolnější vůči útokům a chybám. Více klientů je silnou stránkou, kterou má pouze Ethereum – ostatní blockchainy se spoléhají na neomylnost jediného klienta. Nestačí však mít k dispozici pouze více klientů, musí je přijmout komunita a celkový počet aktivních uzlů musí být mezi nimi relativně rovnoměrně rozložen.
+
+## Proč je diverzita klientů důležitá? {#client-diversity-importance}
+
+Existence mnoha nezávisle vyvíjených a udržovaných klientů je pro zdraví decentralizované sítě životně důležitá. Pojďme se podívat na důvody, proč tomu tak je.
+
+### Chyby {#bugs}
+
+Chyba v jednotlivém klientovi představuje pro síť menší riziko, když představuje menšinu uzlů sítě Ethereum. Při zhruba rovnoměrném rozložení uzlů mezi mnoho klientů je pravděpodobnost, že by většina klientů trpěla společným problémem, malá, a síť je díky tomu robustnější.
+
+### Odolnost vůči útokům {#resilience}
+
+Diverzita klientů také nabízí odolnost vůči útokům. Například útok, který [přiměje konkrétního klienta](https://twitter.com/vdWijden/status/1437712249926393858) k přechodu na konkrétní větev řetězce, má malou šanci na úspěch, protože ostatní klienti pravděpodobně nebudou zneužitelní stejným způsobem a kanonický řetězec zůstane neporušený. Nízká diverzita klientů zvyšuje riziko spojené s hackem dominantního klienta. Diverzita klientů se již osvědčila jako důležitá obrana proti škodlivým útokům na síť. Například útok typu denial-of-service v Šanghaji v roce 2016 byl možný, protože útočníci dokázali přimět dominantního klienta (Geth) k provedení pomalé I/O operace na disku desítky tisíckrát za blok. Protože byly online i alternativní klienti, kteří tuto zranitelnost nesdíleli, bylo Ethereum schopno útoku odolat a pokračovat v provozu, zatímco byla opravena zranitelnost v Gethu.
+
+### Finalita u důkazu podílem {#finality}
+
+Chyba v konsensuálním klientovi, který by používalo více než 33 % uzlů sítě Ethereum, by mohla zabránit finalizaci konsensuální vrstvy, což znamená, že by uživatelé nemohli věřit, že transakce nebudou v určitém okamžiku vráceny nebo změněny. To by bylo velmi problematické pro mnoho aplikací postavených na Ethereu, zejména pro DeFi.
+
+ A co je horší, kritická chyba v klientovi s dvoutřetinovou většinou by mohla způsobit nesprávné rozdělení a finalizaci řetězce, což by vedlo k tomu, že by se velká skupina validátorů zasekla na neplatném řetězci. Pokud se tito validátoři chtějí znovu připojit ke správnému řetězci, čelí slashingu nebo pomalému a nákladnému dobrovolnému odchodu a reaktivaci. Velikost slashingu se odvíjí od počtu provinilých uzlů, přičemž dvoutřetinová většina je penalizována maximálně (32 ETH).
+
+Přestože se jedná o nepravděpodobné scénáře, ekosystém Etherea může jejich riziko zmírnit vyrovnáním distribuce klientů mezi aktivními uzly. V ideálním případě by žádný konsensuální klient nikdy neměl dosáhnout 33% podílu na celkovém počtu uzlů.
+
+### Sdílená odpovědnost {#responsibility}
+
+Existence majoritních klientů si vybírá i lidskou daň. Znamená to nadměrnou zátěž a odpovědnost pro malý vývojářský tým. Čím menší je diverzita klientů, tím větší je břemeno odpovědnosti pro vývojáře, kteří udržují majoritního klienta. Rozdělení této odpovědnosti mezi více týmů je dobré jak pro zdraví sítě uzlů Etherea, tak pro jeho síť lidí.
+
+## Současná diverzita klientů {#current-client-diversity}
+
+### Exekuční klienti {#execution-clients-breakdown}
+
+
+
+### Konsensuální klienti {#consensus-clients-breakdown}
+
+
+
+Tento diagram může být zastaralý – aktuální informace naleznete na [ethernodes.org](https://ethernodes.org) a [clientdiversity.org](https://clientdiversity.org).
+
+Dva výše uvedené koláčové grafy ukazují snímky současné diverzity klientů pro exekuční a konsensuální vrstvu (v době psaní v říjnu 2025). Diverzita klientů se v průběhu let zlepšila a v exekuční vrstvě došlo ke snížení dominance klienta [Geth](https://geth.ethereum.org/), v těsném závěsu je [Nethermind](https://www.nethermind.io/nethermind-client), třetí [Besu](https://besu.hyperledger.org/) a čtvrtý [Erigon](https://github.com/ledgerwatch/erigon), přičemž ostatní klienti tvoří méně než 3 % sítě. Nejčastěji používaný klient na konsensuální vrstvě – [Lighthouse](https://lighthouse.sigmaprime.io/) – je poměrně blízko druhému nejpoužívanějšímu. [Prysm](https://prysmaticlabs.com/#projects) a [Teku](https://consensys.net/knowledge-base/ethereum-2/teku/) tvoří přibližně 31 %, respektive 14 %, a ostatní klienti jsou používáni zřídka.
+
+Data o exekuční vrstvě byla získána z [supermajority.info](https://supermajority.info/) dne 26. října 2025. Data pro konsensuální klienty byla získána od [Michaela Sproula](https://github.com/sigp/blockprint). Data konsensuálních klientů je obtížnější získat, protože klienti konsensuální vrstvy nemají vždy jednoznačné stopy, které lze použít k jejich identifikaci. Data byla vygenerována pomocí klasifikačního algoritmu, který si někdy plete některé menšinové klienty (více podrobností naleznete [zde](https://twitter.com/sproulM_/status/1440512518242197516)). Ve výše uvedeném diagramu jsou tyto nejednoznačné klasifikace označeny štítkem typu buď/nebo (např. Nimbus/Teku). Nicméně je zřejmé, že na většině sítě běží Prysm. Přestože se jedná pouze o snímky, hodnoty v diagramu poskytují dobrý obecný přehled o současném stavu diverzity klientů.
+
+Aktuální data o diverzitě klientů pro konsensuální vrstvu jsou nyní k dispozici na [clientdiversity.org](https://clientdiversity.org/).
+
+## Exekuční vrstva {#execution-layer}
+
+Dosud se konverzace o diverzitě klientů zaměřovala především na konsensuální vrstvu. Nicméně exekuční klient [Geth](https://geth.ethereum.org) v současné době tvoří přibližně 85 % všech uzlů. Toto procento je problematické ze stejných důvodů jako u konsensuálních klientů. Například chyba v Gethu, která ovlivňuje zpracování transakcí nebo vytváření exekučních payloadů, by mohla vést k tomu, že by konsensuální klienti finalizovali problematické nebo chybné transakce. Proto by Ethereum bylo zdravější s rovnoměrnějším rozložením exekučních klientů, přičemž v ideálním případě by žádný klient neměl představovat více než 33 % sítě.
+
+## Používejte menšinového klienta {#use-minority-client}
+
+Řešení diverzity klientů vyžaduje více než jen to, aby si jednotliví uživatelé vybírali menšinové klienty – vyžaduje to také, aby klienta změnily pooly validátorů a instituce, jako jsou hlavní dapps a burzy. Každý uživatel se však může podílet na nápravě současné nerovnováhy a normalizaci používání veškerého dostupného softwaru Etherea. Po sloučení (The Merge) budou všichni provozovatelé uzlů muset provozovat exekučního klienta a konsensuálního klienta. Volba kombinací níže navržených klientů pomůže zvýšit diverzitu klientů.
+
+### Exekuční klienti {#execution-clients}
+
+- [Besu](https://www.hyperledger.org/use/besu)
+- [Nethermind](https://downloads.nethermind.io/)
+- [Erigon](https://github.com/ledgerwatch/erigon)
+- [Go-Ethereum](https://geth.ethereum.org/)
+- [Reth](https://reth.rs/)
+
+### Konsensuální klienti {#consensus-clients}
+
+- [Nimbus](https://nimbus.team/)
+- [Lighthouse](https://github.com/sigp/lighthouse)
+- [Teku](https://consensys.io/teku)
+- [Lodestar](https://github.com/ChainSafe/lodestar)
+- [Prysm](https://prysm.offchainlabs.com/docs/)
+- [Grandine](https://docs.grandine.io/)
+
+Technicky zdatní uživatelé mohou tento proces urychlit tím, že budou psát více návodů a dokumentace pro menšinové klienty a povzbuzovat své kolegy provozující uzly k přechodu od dominantních klientů. Průvodci přechodem na menšinového konsensuálního klienta jsou k dispozici na [clientdiversity.org](https://clientdiversity.org/).
+
+## Nástěnky diverzity klientů {#client-diversity-dashboards}
+
+Několik nástěnek poskytuje statistiky o diverzitě klientů v reálném čase pro exekuční a konsensuální vrstvu.
+
+**Konsensuální vrstva:**
+
+- [Rated.network](https://www.rated.network/)
+- [clientdiversity.org](https://clientdiversity.org/)
+
+**Exekuční vrstva:**
+
+- [supermajority.info](https://supermajority.info//)
+- [Ethernodes](https://ethernodes.org/)
+
+## Další čtení {#further-reading}
+
+- [Diverzita klientů na konsensuální vrstvě Etherea](https://mirror.xyz/jmcook.eth/S7ONEka_0RgtKTZ3-dakPmAHQNPvuj15nh0YGKPFriA)
+- [Sloučení Etherea: Provozujte majoritního klienta na vlastní nebezpečí!](https://dankradfeist.de/ethereum/2022/03/24/run-the-majority-client-at-your-own-peril.html) – _Dankrad Fiest, 24. března 2022_
+- [Důležitost diverzity klientů](https://our.status.im/the-importance-of-client-diversity/)
+- [Seznam služeb uzlů Etherea](https://ethereumnodes.com/)
+- [Problém diverzity klientů metodou „Pěti proč“](https://notes.ethereum.org/@afhGjrKfTKmksTOtqhB9RQ/BJGj7uh08)
+- [Diverzita Etherea a jak ji řešit (YouTube)](https://www.youtube.com/watch?v=1hZgCaiqwfU)
+- [clientdiversity.org](https://clientdiversity.org/)
+
+## Související témata {#related-topics}
+
+- [Provozovat uzel Etherea](/run-a-node/)
+- [Uzly a klienti](/developers/docs/nodes-and-clients/)
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/index.md
new file mode 100644
index 00000000000..1852ba79206
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/index.md
@@ -0,0 +1,319 @@
+---
+title: " Uzly a klienty"
+description: Přehled uzlů a klientského softwaru Etherea, plus jak nastavit uzel a proč byste to měli dělat.
+lang: cs
+sidebarDepth: 2
+---
+
+Ethereum je distribuovaná síť počítačů (známých jako uzly), na kterých běží software, jenž dokáže ověřovat bloky a transakční data. Tento software musí být spuštěn na vašem počítači, aby se z něj stal uzel sítě Ethereum. K vytvoření uzlu jsou zapotřebí dva samostatné softwarové programy (známé jako „klienti“).
+
+## Předpoklady {#prerequisites}
+
+Než se ponoříte hlouběji a spustíte si vlastní instanci klienta Etherea, měli byste rozumět konceptu peer-to-peer sítě a [základům EVM](/developers/docs/evm/). Podívejte se na náš [úvod do Etherea](/developers/docs/intro-to-ethereum/).
+
+Pokud jste v problematice uzlů nováčkem, doporučujeme vám, abyste si nejprve přečetli náš uživatelsky přívětivý úvod na téma [provozování uzlu Etherea](/run-a-node).
+
+## Co jsou uzly a klienti? {#what-are-nodes-and-clients}
+
+„Uzel“ je jakákoli instance klientského softwaru Etherea, která je připojena k jiným počítačům, na nichž také běží software Etherea, a tvoří tak síť. Klient je implementace Etherea, která ověřuje data podle pravidel protokolu a udržuje síť bezpečnou. Uzel musí provozovat dva klienty: konsensuálního klienta a exekučního klienta.
+
+- Exekuční klient (známý také jako exekuční engine, EL klient nebo dříve klient Eth1) naslouchá novým transakcím vysílaným v síti, provádí je v EVM a uchovává nejnovější stav a databázi všech aktuálních dat Etherea.
+- Konsensuální klient (známý také jako Beacon Node, CL klient nebo dříve klient Eth2) implementuje konsensuální algoritmus proof-of-stake, který umožňuje síti dosáhnout shody na základě ověřených dat z exekučního klienta. Existuje také třetí softwarový program známý jako „validátor“, který lze přidat ke konsensuálnímu klientovi a který uzlu umožňuje podílet se na zabezpečení sítě.
+
+Tito klienti spolupracují, aby sledovali čelo řetězce Etherea a umožnili uživatelům interakci se sítí Ethereum. Modulární návrh s více softwarovými programy, které spolupracují, se nazývá [zapouzdřená složitost](https://vitalik.eth.limo/general/2022/02/28/complexity.html). Tento přístup usnadnil bezproblémové provedení [sloučení](/roadmap/merge), usnadňuje údržbu a vývoj klientského softwaru a umožňuje opětovné použití jednotlivých klientů, například v [ekosystému druhé vrstvy](/layer-2/).
+
+
+Zjednodušené schéma propojeného exekučního a konsensuálního klienta.
+
+### Diverzita klientů {#client-diversity}
+
+[Exekuční klienti](/developers/docs/nodes-and-clients/#execution-clients) i [konsensuální klienti](/developers/docs/nodes-and-clients/#consensus-clients) existují v různých programovacích jazycích a jsou vyvíjeni různými týmy.
+
+Více implementací klientů může posílit síť tím, že se sníží její závislost na jediné kódové základně. Ideálním cílem je dosáhnout rozmanitosti, aniž by síti dominoval jediný klient, čímž se eliminuje potenciální jediný bod selhání.
+Rozmanitost jazyků také láká širší komunitu vývojářů a umožňuje jim vytvářet integrace v jimi preferovaném jazyce.
+
+Zjistěte více o [rozmanitosti klientů](/developers/docs/nodes-and-clients/client-diversity/).
+
+Společným rysem těchto implementací je, že se všechny řídí jedinou specifikací. Specifikace určují, jak funguje síť Ethereum a její blockchain. Každý technický detail je definován a specifikace lze nalézt jako:
+
+- Původně [Žlutá kniha Etherea](https://ethereum.github.io/yellowpaper/paper.pdf)
+- [Specifikace exekuce](https://github.com/ethereum/execution-specs/)
+- [Specifikace konsensu](https://github.com/ethereum/consensus-specs)
+- [EIP](https://eips.ethereum.org/) implementované v různých [vylepšeních sítě](/ethereum-forks/)
+
+### Sledování uzlů v síti {#network-overview}
+
+Několik trackerů nabízí přehled uzlů v síti Ethereum v reálném čase. Všimněte si, že vzhledem k povaze decentralizovaných sítí mohou tyto crawlery poskytovat pouze omezený pohled na síť a mohou hlásit různé výsledky.
+
+- [Mapa uzlů](https://etherscan.io/nodetracker) od Etherscanu
+- [Ethernodes](https://ethernodes.org/) od Bitfly
+- [Nodewatch](https://www.nodewatch.io/) od Chainsafe, prochází konsensuální uzly
+- [Monitoreth](https://monitoreth.io/) – od MigaLabs, distribuovaný nástroj pro monitorování sítě
+- [Weekly Network Health Reports](https://probelab.io) – od ProbeLab, s využitím crawleru [Nebula](https://github.com/dennis-tra/nebula) a dalších nástrojů
+
+## Typy uzlů {#node-types}
+
+Chcete-li si [spustit vlastní uzel](/developers/docs/nodes-and-clients/run-a-node/), měli byste pochopit, že existují různé typy uzlů, které spotřebovávají data odlišně. Klienti mohou provozovat tři různé typy uzlů: lehké, plné a archivní. Existují také možnosti různých synchronizačních strategií, které umožňují rychlejší synchronizaci. Synchronizace se vztahuje k tomu, jak rychle dokáže získat nejaktuálnější informace o stavu Etherea.
+
+### Plný uzel {#full-node}
+
+Plné uzly provádějí validaci blockchainu blok po bloku, včetně stahování a ověřování těla bloku a stavových dat pro každý blok. Existují různé třídy plných uzlů – některé začínají od genesis bloku a ověřují každý jednotlivý blok v celé historii blockchainu. Jiné začínají ověřování od novějšího bloku, který považují za platný (např. 'snap sync' klienta Geth). Bez ohledu na to, kde ověření začíná, plné uzly uchovávají pouze lokální kopii relativně nedávných dat (typicky posledních 128 bloků), což umožňuje smazat starší data a ušetřit tak místo na disku. Starší data mohou být v případě potřeby znovu vygenerována.
+
+- Ukládá kompletní data blockchainu (ačkoli jsou pravidelně prořezávána, takže plný uzel neukládá všechna stavová data až po genesis blok)
+- Účastní se validace bloků, ověřuje všechny bloky a stavy.
+- Všechny stavy mohou být buď načteny z lokálního úložiště, nebo znovu vygenerovány ze 'snímků' plným uzlem.
+- Slouží síti a poskytuje data na vyžádání.
+
+### Archivní uzel {#archive-node}
+
+Archivní uzly jsou plné uzly, které ověřují každý blok od genesis bloku a nikdy nemažou žádná stažená data.
+
+- Ukládá vše, co je uchováváno v plném uzlu, a vytváří archiv historických stavů. Je zapotřebí, pokud chcete zjistit například zůstatek na účtu v bloku č. 4 000 000 nebo jednoduše a spolehlivě otestovat vlastní sadu transakcí bez jejich ověřování pomocí trasování.
+- Tato data představují jednotky terabajtů, což činí archivní uzly méně atraktivními pro běžné uživatele, ale mohou být užitečné pro služby jako jsou prohlížeče bloků, poskytovatelé peněženek a analytika řetězce.
+
+Synchronizace klientů v jakémkoli jiném režimu než archivním bude mít za následek prořezaná data blockchainu. To znamená, že neexistuje archiv všech historických stavů, ale plný uzel je schopen je na vyžádání vytvořit.
+
+Zjistěte více o [archivních uzlech](/developers/docs/nodes-and-clients/archive-nodes).
+
+### Lehký uzel {#light-node}
+
+Místo stahování každého bloku stahují lehké uzly pouze hlavičky bloků. Tyto hlavičky obsahují souhrnné informace o obsahu bloků. Jakékoli další informace, které lehký uzel potřebuje, si vyžádá od plného uzlu. Lehký uzel pak může nezávisle ověřit data, která obdrží, oproti kořenům stavu v hlavičkách bloků. Lehké uzly umožňují uživatelům účastnit se sítě Ethereum bez výkonného hardwaru nebo vysoké šířky pásma potřebné k provozu plných uzlů. Časem by lehké uzly mohly běžet na mobilních telefonech nebo vestavěných zařízeních. Lehké uzly se neúčastní konsensu (tzn. nemohou být validátory), ale mohou přistupovat k blockchainu Etherea se stejnou funkčností a bezpečnostními zárukami jako plný uzel.
+
+Lehcí klienti jsou oblastí aktivního vývoje Etherea a očekáváme, že brzy uvidíme nové lehké klienty pro konsensuální a exekuční vrstvu.
+Existují také potenciální cesty k poskytování dat lehkých klientů přes [gossip síť](https://www.ethportal.net/). To je výhodné, protože gossip síť by mohla podporovat síť lehkých uzlů, aniž by vyžadovala plné uzly pro obsluhu požadavků.
+
+Ethereum zatím nepodporuje velkou populaci lehkých uzlů, ale podpora lehkých uzlů je oblast, u které se v blízké budoucnosti očekává rychlý rozvoj. Zejména klienti jako [Nimbus](https://nimbus.team/), [Helios](https://github.com/a16z/helios) a [LodeStar](https://lodestar.chainsafe.io/) se v současné době silně zaměřují na lehké uzly.
+
+## Proč bych měl provozovat uzel sítě Ethereum? {#why-should-i-run-an-ethereum-node}
+
+Provozování uzlu vám umožňuje přímo, bez nutnosti důvěry a soukromě používat Ethereum a zároveň podporovat síť tím, že ji udržujete robustnější a decentralizovanější.
+
+### Výhody pro vás {#benefits-to-you}
+
+Provozování vlastního uzlu vám umožňuje používat Ethereum soukromým, soběstačným způsobem bez nutnosti důvěry. Nemusíte důvěřovat síti, protože si data můžete sami ověřit pomocí svého klienta. „Nedůvěřuj, ověřuj“ je populární mantra blockchainu.
+
+- Váš uzel sám ověřuje všechny transakce a bloky podle pravidel konsensu. To znamená, že se nemusíte spoléhat na žádné jiné uzly v síti ani jim plně důvěřovat.
+- S vlastním uzlem můžete používat peněženku Ethereum. Aplikace dApps můžete používat bezpečněji a soukroměji, protože nebudete muset prozrazovat své adresy a zůstatky zprostředkovatelům. Vše lze zkontrolovat pomocí vlastního klienta. [MetaMask](https://metamask.io), [Frame](https://frame.sh/) a [mnoho dalších peněženek](/wallets/find-wallet/) nabízejí import RPC, což jim umožňuje používat váš uzel.
+- Můžete spouštět a sami hostovat další služby, které závisí na datech z Etherea. Může se jednat například o validátor Beacon Chain, software jako druhá vrstva, infrastrukturu, prohlížeče bloků, zpracovatele plateb atd.
+- Můžete poskytovat vlastní [koncové body RPC](/developers/docs/apis/json-rpc/). Tyto koncové body můžete dokonce veřejně nabídnout komunitě, abyste jim pomohli vyhnout se velkým centralizovaným poskytovatelům.
+- K uzlu se můžete připojit pomocí **meziprocesové komunikace (IPC)** nebo přepsat uzel tak, aby se váš program načetl jako plugin. To zaručuje nízkou latenci, což hodně pomáhá, např. při zpracování velkého množství dat pomocí knihoven web3 nebo když potřebujete co nejrychleji nahradit své transakce (tj. frontrunning).
+- Můžete přímo stakovat ETH, abyste zabezpečili síť a získali odměny. Pro začátek se podívejte na [sólo stakování](/staking/solo/).
+
+
+
+### Výhody sítě {#network-benefits}
+
+Rozmanitá sada uzlů je důležitá pro zdraví, bezpečnost a provozní odolnost Etherea.
+
+- Plné uzly vynucují pravidla konsensu, takže je nelze oklamat, aby přijímaly bloky, které je nedodržují. To poskytuje dodatečnou bezpečnost v síti, protože pokud by všechny uzly byly lehké uzly, které neprovádějí úplné ověření, mohli by validátoři na síť zaútočit.
+- V případě útoku, který překoná kryptoekonomickou obranu [důkazu podílem](/developers/docs/consensus-mechanisms/pos/#what-is-pos), mohou plné uzly provést sociální obnovu tím, že se rozhodnou následovat poctivý řetězec.
+- Více uzlů v síti vede k rozmanitější a robustnější síti, což je konečným cílem decentralizace, která umožňuje systém odolný vůči cenzuře a spolehlivý.
+- Plné uzly poskytují přístup k datům blockchainu pro lehké klienty, kteří na nich závisí. Lehké uzly neukládají celý blockchain, místo toho ověřují data prostřednictvím [kořenů stavu v hlavičkách bloků](/developers/docs/blocks/#block-anatomy). V případě potřeby si mohou od plných uzlů vyžádat více informací.
+
+Pokud provozujete plný uzel, prospívá to celé síti Ethereum, i když neprovozujete validátor.
+
+## Provozování vlastního uzlu {#running-your-own-node}
+
+Máte zájem o spuštění vlastního klienta Etherea?
+
+Pro začátečnický úvod navštivte naši stránku [spustit uzel](/run-a-node) a dozvíte se více.
+
+Pokud jste technicky zdatnější uživatel, ponořte se do podrobností a možností, jak [spustit vlastní uzel](/developers/docs/nodes-and-clients/run-a-node/).
+
+## Alternativy {#alternatives}
+
+Nastavení vlastního uzlu vás může stát čas a zdroje, ale ne vždy potřebujete provozovat vlastní instanci. V tomto případě můžete použít poskytovatele API třetí strany. Přehled použití těchto služeb najdete na stránce [uzly jako služba](/developers/docs/nodes-and-clients/nodes-as-a-service/).
+
+Pokud někdo ve vaší komunitě provozuje uzel Etherea s veřejným API, můžete své peněženky nasměrovat na komunitní uzel přes vlastní RPC a získat tak více soukromí než u nějaké náhodné důvěryhodné třetí strany.
+
+Na druhou stranu, pokud provozujete klienta, můžete jej sdílet se svými přáteli, kteří by jej mohli potřebovat.
+
+## Exekuční klienti {#execution-clients}
+
+Komunita Etherea udržuje několik open-source exekučních klientů (dříve známých jako „klienti Eth1“ nebo jen „klienti Etherea“), vyvinutých různými týmy v různých programovacích jazycích. Díky tomu je síť silnější a [rozmanitější](/developers/docs/nodes-and-clients/client-diversity/). Ideálním cílem je dosáhnout rozmanitosti, aniž by síti dominoval jediný klient, čímž se omezí jednotlivé body selhání.
+
+Tato tabulka shrnuje různé klienty. Všichni procházejí [testy klientů](https://github.com/ethereum/tests) a jsou aktivně udržováni, aby byli aktuální s vylepšeními sítě.
+
+| Klient | Jazyk | Operační systémy | Sítě | Strategie synchronizace | Prořezávání stavu |
+| ------------------------------------------------------------------------------------------- | ------------------------ | --------------------- | ----------------------- | -------------------------------------------------------------------------------- | ------------------- |
+| [Geth](https://geth.ethereum.org/) | Go | Linux, Windows, macOS | Mainnet, Sepolia, Hoodi | [Snap](#snap-sync), [Úplná](#full-sync) | Archivní, Prořezaný |
+| [Nethermind](https://www.nethermind.io/) | C#, .NET | Linux, Windows, macOS | Mainnet, Sepolia, Hoodi | [Snap](#snap-sync) (bez obsluhy), Rychlá, [Úplná](#full-sync) | Archivní, Prořezaný |
+| [Besu](https://besu.hyperledger.org/en/stable/) | Java | Linux, Windows, macOS | Mainnet, Sepolia, Hoodi | [Snap](#snap-sync), [Rychlá](#fast-sync), [Úplná](#full-sync) | Archivní, Prořezaný |
+| [Erigon](https://github.com/ledgerwatch/erigon) | Go | Linux, Windows, macOS | Mainnet, Sepolia, Hoodi | [Úplná](#full-sync) | Archivní, Prořezaný |
+| [Reth](https://reth.rs/) | Rust | Linux, Windows, macOS | Mainnet, Sepolia, Hoodi | [Úplná](#full-sync) | Archivní, Prořezaný |
+| [EthereumJS](https://github.com/ethereumjs/ethereumjs-monorepo) _(beta)_ | TypeScript | Linux, Windows, macOS | Sepolia, Hoodi | [Úplná](#full-sync) | Prořezaný |
+
+Více informací o podporovaných sítích naleznete na stránce [sítě Etherea](/developers/docs/networks/).
+
+Každý klient má jedinečné případy použití a výhody, takže byste si měli vybrat podle svých vlastních preferencí. Rozmanitost umožňuje, aby se implementace zaměřovaly na různé funkce a skupiny uživatelů. Klienta si můžete vybrat na základě funkcí, podpory, programovacího jazyka nebo licencí.
+
+### Besu {#besu}
+
+Hyperledger Besu je klient Etherea podnikové třídy pro veřejné sítě a sítě s oprávněními. Provozuje všechny funkce Ethereum Mainnet, od trasování po GraphQL, má rozsáhlé monitorování a je podporován společností ConsenSys, a to jak v otevřených komunitních kanálech, tak prostřednictvím komerčních SLA pro podniky. Je napsán v jazyce Java a licencován pod Apache 2.0.
+
+Rozsáhlá [dokumentace](https://besu.hyperledger.org/en/stable/) klienta Besu vás provede všemi podrobnostmi o jeho funkcích a nastaveních.
+
+### Erigon {#erigon}
+
+Erigon, dříve známý jako Turbo-Geth, začal jako větev Go Ethereum zaměřená na rychlost a efektivitu využití diskového prostoru. Erigon je kompletně přepracovaná implementace Etherea, v současné době napsaná v jazyce Go, ale s implementacemi v dalších jazycích ve vývoji. Cílem Erigonu je poskytnout rychlejší, modulárnější a optimalizovanější implementaci Etherea. Dokáže provést plnou synchronizaci archivního uzlu s využitím přibližně 2 TB místa na disku za méně než 3 dny.
+
+### Go Ethereum {#geth}
+
+Go Ethereum (zkráceně Geth) je jednou z původních implementací protokolu Ethereum. V současné době je to nejrozšířenější klient s největší uživatelskou základnou a rozmanitostí nástrojů pro uživatele a vývojáře. Je napsán v jazyce Go, je plně open-source a licencován pod GNU LGPL v3.
+
+Zjistěte více o Gethu v jeho [dokumentaci](https://geth.ethereum.org/docs/).
+
+### Nethermind {#nethermind}
+
+Nethermind je implementace Etherea vytvořená pomocí technologického stacku C# .NET, licencovaná pod LGPL-3.0 a běžící na všech hlavních platformách včetně ARM. Nabízí skvělý výkon s:
+
+- optimalizovaným virtuálním strojem
+- přístupem ke stavu
+- sítěmi a bohatými funkcemi, jako jsou dashboardy Prometheus/Grafana, podpora podnikového protokolování seq, trasování JSON-RPC a analytické pluginy.
+
+Nethermind má také [podrobnou dokumentaci](https://docs.nethermind.io), silnou vývojářskou podporu, online komunitu a podporu 24/7 dostupnou pro prémiové uživatele.
+
+### Reth {#reth}
+
+Reth (zkratka pro Rust Ethereum) je implementace plného uzlu Etherea, která je zaměřena na uživatelskou přívětivost, vysokou modularitu, rychlost a efektivitu. Reth byl původně vytvořen a poháněn společností Paradigm a je licencován pod licencemi Apache a MIT.
+
+Reth je připraven pro produkční nasazení a je vhodný pro použití v kriticky důležitých prostředích, jako je stakování nebo služby s vysokou dostupností. Dobře si vede v případech použití, kde je vyžadován vysoký výkon s velkými rezervami, jako jsou RPC, MEV, indexování, simulace a P2P aktivity.
+
+Zjistěte více v [Reth Book](https://reth.rs/) nebo v [repozitáři Reth na GitHubu](https://github.com/paradigmxyz/reth?tab=readme-ov-file#reth).
+
+### Ve vývoji {#execution-in-development}
+
+Tito klienti jsou stále v raných fázích vývoje a zatím se nedoporučují pro produkční použití.
+
+#### EthereumJS {#ethereumjs}
+
+Exekuční klient EthereumJS (EthereumJS) je napsán v TypeScriptu a skládá se z řady balíčků, včetně základních primitiv Etherea reprezentovaných třídami Block, Transaction a Merkle-Patricia Trie a základních komponent klienta, včetně implementace Ethereum Virtual Machine (EVM), třídy blockchainu a síťového stacku DevP2P.
+
+Zjistěte více v jeho [dokumentaci](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master)
+
+## Konsensuální klienti {#consensus-clients}
+
+Existuje několik konsensuálních klientů (dříve známých jako klienti „Eth2“), kteří podporují [vylepšení konsensu](/roadmap/beacon-chain/). Jsou zodpovědní za veškerou logiku související s konsensem, včetně algoritmu volby větve, zpracování atestací a správy odměn a penalizací [důkazu podílem](/developers/docs/consensus-mechanisms/pos).
+
+| Klient | Jazyk | Operační systémy | Sítě |
+| ------------------------------------------------------------- | ---------- | --------------------- | ----------------------------------------------------- |
+| [Lighthouse](https://lighthouse.sigmaprime.io/) | Rust | Linux, Windows, macOS | Beacon Chain, Hoodi, Pyrmont, Sepolia a další |
+| [Lodestar](https://lodestar.chainsafe.io/) | TypeScript | Linux, Windows, macOS | Beacon Chain, Hoodi, Sepolia a další |
+| [Nimbus](https://nimbus.team/) | Nim | Linux, Windows, macOS | Beacon Chain, Hoodi, Sepolia a další |
+| [Prysm](https://prysm.offchainlabs.com/docs/) | Go | Linux, Windows, macOS | Beacon Chain, Gnosis, Hoodi, Pyrmont, Sepolia a další |
+| [Teku](https://consensys.net/knowledge-base/ethereum-2/teku/) | Java | Linux, Windows, macOS | Beacon Chain, Gnosis, Hoodi, Sepolia a další |
+| [Grandine](https://docs.grandine.io/) | Rust | Linux, Windows, macOS | Beacon Chain, Hoodi, Sepolia a další |
+
+### Lighthouse {#lighthouse}
+
+Lighthouse je implementace konsensuálního klienta napsaná v Rustu pod licencí Apache-2.0. Je udržován společností Sigma Prime a je stabilní a připravený k produkčnímu nasazení od genesis bloku Beacon Chainu. Spoléhají na něj různé podniky, stakovací pooly a jednotlivci. Jeho cílem je být bezpečný, výkonný a interoperabilní v široké škále prostředí, od stolních PC až po sofistikovaná automatizovaná nasazení.
+
+Dokumentaci naleznete v [Lighthouse Book](https://lighthouse-book.sigmaprime.io/)
+
+### Lodestar {#lodestar}
+
+Lodestar je produkčně připravená implementace konsensuálního klienta napsaná v Typescriptu pod licencí LGPL-3.0. Je udržován společností ChainSafe Systems a je nejnovějším z konsensuálních klientů pro sólo stakery, vývojáře a výzkumníky. Lodestar se skládá z beacon uzlu a klienta validátoru poháněného implementacemi protokolů Etherea v JavaScriptu. Lodestar si klade za cíl zlepšit použitelnost Etherea pomocí lehkých klientů, rozšířit dostupnost pro větší skupinu vývojářů a dále přispět k rozmanitosti ekosystému.
+
+Více informací naleznete na [webu Lodestar](https://lodestar.chainsafe.io/)
+
+### Nimbus {#nimbus}
+
+Nimbus je implementace konsensuálního klienta napsaná v jazyce Nim pod licencí Apache-2.0. Je to produkčně připravený klient, který používají sólo stakeři a stakovací pooly. Nimbus je navržen pro efektivní využití zdrojů, což usnadňuje jeho provoz na zařízeních s omezenými zdroji i na podnikové infrastruktuře se stejnou lehkostí, aniž by byla ohrožena stabilita nebo výkon odměn. Menší náročnost na zdroje znamená, že klient má větší bezpečnostní rezervu, když je síť pod tlakem.
+
+Zjistěte více v [dokumentaci Nimbus](https://nimbus.guide/)
+
+### Prysm {#prysm}
+
+Prysm je plně funkční open-source konsensuální klient napsaný v Go pod licencí GPL-3.0. Obsahuje volitelné webové uživatelské rozhraní a upřednostňuje uživatelský zážitek, dokumentaci a konfigurovatelnost jak pro domácí stakery, tak pro institucionální uživatele.
+
+Navštivte [dokumentaci Prysm](https://prysm.offchainlabs.com/docs/) a dozvíte se více.
+
+### Teku {#teku}
+
+Teku je jedním z původních klientů z doby genesis Beacon Chainu. Kromě obvyklých cílů (bezpečnost, robustnost, stabilita, použitelnost, výkon) se Teku specificky snaží plně vyhovět všem různým standardům pro konsensuální klienty.
+
+Teku nabízí velmi flexibilní možnosti nasazení. Beacon uzel a klient validátoru mohou být spuštěny společně jako jeden proces, což je mimořádně pohodlné pro sólo stakery, nebo mohou být uzly spuštěny samostatně pro sofistikované stakovací operace. Kromě toho je Teku plně interoperabilní s [Web3Signer](https://github.com/ConsenSys/web3signer/) pro zabezpečení podpisových klíčů a ochranu proti slashingu.
+
+Teku je napsán v jazyce Java a licencován pod Apache 2.0. Je vyvíjen týmem Protocols v ConsenSys, který je také zodpovědný za Besu a Web3Signer. Zjistěte více v [dokumentaci Teku](https://docs.teku.consensys.net/en/latest/).
+
+### Grandine {#grandine}
+
+Grandine je implementace konsensuálního klienta, napsaná v Rustu pod licencí GPL-3.0. Je udržován týmem Grandine Core a je rychlý, výkonný a lehký. Vyhovuje široké škále stakerů od sólo stakerů běžících na zařízeních s nízkými zdroji, jako je Raspberry Pi, až po velké institucionální stakery provozující desítky tisíc validátorů.
+
+Dokumentaci naleznete v [Grandine Book](https://docs.grandine.io/)
+
+## Režimy synchronizace {#sync-modes}
+
+Aby mohl klient Etherea sledovat a ověřovat aktuální data v síti, musí se synchronizovat s nejnovějším stavem sítě. To se provádí stahováním dat od peerů, kryptografickým ověřováním jejich integrity a budováním lokální databáze blockchainu.
+
+Režimy synchronizace představují různé přístupy k tomuto procesu s různými kompromisy. Klienti se také liší v implementaci synchronizačních algoritmů. Vždy se obraťte na oficiální dokumentaci vámi zvoleného klienta pro specifika implementace.
+
+### Režimy synchronizace exekuční vrstvy {#execution-layer-sync-modes}
+
+Exekuční vrstva může být spuštěna v různých režimech, aby vyhovovala různým případům použití, od opětovného provedení světového stavu blockchainu až po synchronizaci pouze s čelem řetězce z důvěryhodného checkpointu.
+
+#### Úplná synchronizace {#full-sync}
+
+Úplná synchronizace stahuje všechny bloky (včetně hlaviček a těl bloků) a postupně regeneruje stav blockchainu prováděním každého bloku od genesis bloku.
+
+- Minimalizuje důvěru a nabízí nejvyšší bezpečnost ověřováním každé transakce.
+- S rostoucím počtem transakcí může zpracování všech transakcí trvat dny až týdny.
+
+[Archivní uzly](#archive-node) provádějí úplnou synchronizaci, aby vytvořily (a uchovaly) kompletní historii změn stavu provedených každou transakcí v každém bloku.
+
+#### Rychlá synchronizace {#fast-sync}
+
+Stejně jako úplná synchronizace, i rychlá synchronizace stahuje všechny bloky (včetně hlaviček, transakcí a potvrzení). Místo opětovného zpracování historických transakcí se však rychlá synchronizace spoléhá na potvrzení, dokud nedosáhne nedávného čela, kdy přejde na import a zpracování bloků, aby poskytla plný uzel.
+
+- Strategie rychlé synchronizace.
+- Snižuje nároky na zpracování ve prospěch využití šířky pásma.
+
+#### Snap synchronizace {#snap-sync}
+
+Snap synchronizace také ověřují řetězec blok po bloku. Místo toho, aby začala od genesis bloku, snap synchronizace začíná od novějšího „důvěryhodného“ checkpointu, o kterém je známo, že je součástí skutečného blockchainu. Uzel ukládá periodické checkpointy a zároveň maže data starší než určitý věk. Tyto snímky se používají k regeneraci stavových dat podle potřeby, místo aby se ukládala navždy.
+
+- Nejrychlejší strategie synchronizace, v současnosti výchozí v Ethereum Mainnet.
+- Šetří velké množství místa na disku a šířky pásma sítě bez obětování bezpečnosti.
+
+[Více o snap synchronizaci](https://github.com/ethereum/devp2p/blob/master/caps/snap.md).
+
+#### Lehká synchronizace {#light-sync}
+
+Režim lehkého klienta stahuje všechny hlavičky bloků, data bloků a náhodně některé ověřuje. Synchronizuje pouze čelo řetězce z důvěryhodného checkpointu.
+
+- Získává pouze nejnovější stav a spoléhá na důvěru ve vývojáře a mechanismus konsensu.
+- Klient je připraven k použití s aktuálním stavem sítě během několika minut.
+
+**Pozn.** Lehká synchronizace zatím nefunguje s Ethereem proof-of-stake – nové verze lehké synchronizace by měly být brzy k dispozici!
+
+[Více o lehkých klientech](/developers/docs/nodes-and-clients/light-clients/)
+
+### Režimy synchronizace konsensuální vrstvy {#consensus-layer-sync-modes}
+
+#### Optimistická synchronizace {#optimistic-sync}
+
+Optimistická synchronizace je strategie synchronizace po sloučení, navržená tak, aby byla volitelná a zpětně kompatibilní, což umožňuje exekučním uzlům synchronizovat se zavedenými metodami. Exekuční engine může _optimisticky_ importovat beacon bloky, aniž by je plně ověřoval, najít nejnovější čelo a poté začít synchronizovat řetězec výše uvedenými metodami. Poté, co se exekuční klient dostane do synchronizace, bude informovat konsensuálního klienta o platnosti transakcí v Beacon Chainu.
+
+[Více o optimistické synchronizaci](https://github.com/ethereum/consensus-specs/blob/dev/sync/optimistic.md)
+
+#### Synchronizace z checkpointu {#checkpoint-sync}
+
+Synchronizace z checkpointu, známá také jako synchronizace slabé subjektivity, vytváří vynikající uživatelský zážitek pro synchronizaci Beacon uzlu. Je založena na předpokladech [slabé subjektivity](/developers/docs/consensus-mechanisms/pos/weak-subjectivity/), což umožňuje synchronizaci Beacon Chainu z nedávného checkpointu slabé subjektivity místo z genesis bloku. Synchronizace z checkpointu výrazně zrychlují počáteční dobu synchronizace s podobnými předpoklady důvěry jako synchronizace z [genesis bloku](/glossary/#genesis-block).
+
+V praxi to znamená, že se váš uzel připojí ke vzdálené službě, aby si stáhl nedávné finalizované stavy a od tohoto bodu pokračoval v ověřování dat. Třetí strana poskytující data je důvěryhodná a měla by být pečlivě vybrána.
+
+Více o [synchronizaci z checkpointu](https://notes.ethereum.org/@djrtwo/ws-sync-in-practice)
+
+## Další čtení {#further-reading}
+
+- [Ethereum 101 – Část 2 – Porozumění uzlům](https://kauri.io/ethereum-101-part-2-understanding-nodes/48d5098292fd4f11b251d1b1814f0bba/a) _– Wil Barnes, 13. února 2019_
+- [Provozování plných uzlů Ethereum: Příručka pro sotva motivované](https://medium.com/@JustinMLeroux/running-ethereum-full-nodes-a-guide-for-the-barely-motivated-a8a13e7a0d31) _– Justin Leroux, 7. listopadu 2019_
+
+## Související témata {#related-topics}
+
+- [Bloky](/developers/docs/blocks/)
+- [Sítě](/developers/docs/networks/)
+
+## Související návody {#related-tutorials}
+
+- [Proměňte své Raspberry Pi 4 na uzel validátoru pouhým flashnutím microSD karty – Instalační příručka](/developers/tutorials/run-node-raspberry-pi/) _– Flashněte své Raspberry Pi 4, zapojte ethernetový kabel, připojte SSD disk a zapněte zařízení, abyste z Raspberry Pi 4 udělali plný uzel Etherea provozující exekuční vrstvu (Mainnet) a/nebo konsensuální vrstvu (Beacon Chain / validátor)._
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/light-clients/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/light-clients/index.md
new file mode 100644
index 00000000000..2f86bf458b1
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/light-clients/index.md
@@ -0,0 +1,61 @@
+---
+title: Jednoduché klienty
+description: Úvod do lehkých klientů Etherea.
+lang: cs
+---
+
+Provozování plného uzlu je způsob interakce s Ethereem, který nevyžaduje důvěru, je soukromý, decentralizovaný a odolný vůči cenzuře. S plným uzlem si uchováváte vlastní kopii blockchainu, na kterou se můžete okamžitě dotazovat, a získáte přímý přístup do peer-to-peer sítě Etherea. Provozování plného uzlu však vyžaduje značné množství paměti, úložiště a CPU. To znamená, že není pro každého proveditelné, aby provozoval svůj vlastní uzel. V plánu Etherea existuje několik řešení, včetně bezstavovosti, ale od jejich implementace nás dělí několik let. Krátkodobým řešením je vyměnit některé výhody provozování plného uzlu za velké zlepšení výkonu, které umožňuje provozovat uzly s velmi nízkými hardwarovými nároky. Uzly, které dělají tento kompromis, jsou známé jako lehké uzly.
+
+## Co je to lehký klient {#what-is-a-light-client}
+
+Lehký uzel je uzel, který provozuje software lehkého klienta. Místo toho, aby si uchovávaly místní kopie dat blockchainu a nezávisle ověřovaly všechny změny, požadují potřebná data od poskytovatele. Poskytovatelem může být přímé připojení k plnému uzlu nebo centralizovaný RPC server. Data jsou poté ověřena lehkým uzlem, což mu umožňuje držet krok s čelem řetězce. Lehký uzel zpracovává pouze hlavičky bloků a jen příležitostně stahuje skutečný obsah bloků. Uzly se mohou lišit ve své „lehkosti“ v závislosti na kombinacích softwaru lehkých a plných klientů, které provozují. Nejlehčí konfigurací by bylo například spuštění lehkého exekučního klienta a lehkého konsensuálního klienta. Je také pravděpodobné, že mnoho uzlů se rozhodne provozovat lehké konsensuální klienty s plnými exekučními klienty, nebo naopak.
+
+## Jak fungují lehcí klienti? {#how-do-light-clients-work}
+
+Když Ethereum začalo používat mechanismus konsensu založený na důkazu podílem, byla zavedena nová infrastruktura speciálně pro podporu lehkých klientů. Funguje to tak, že se každých 1,1 dne náhodně vybere podmnožina 512 validátorů, kteří fungují jako **synchronizační výbor**. Synchronizační výbor podepisuje hlavičku posledních bloků. Každá hlavička bloku obsahuje agregovaný podpis validátorů v synchronizačním výboru a „bitové pole“, které ukazuje, kteří validátoři podepsali a kteří ne. Každá hlavička také obsahuje seznam validátorů, od kterých se očekává, že se zúčastní podepisování dalšího bloku. To znamená, že lehký klient může rychle zjistit, že synchronizační výbor podepsal data, která obdrží, a může také zkontrolovat, že synchronizační výbor je ten pravý, porovnáním toho, který obdrží, s tím, který mu bylo řečeno očekávat v předchozím bloku. Tímto způsobem si může lehký klient udržovat aktuální znalosti o nejnovějším bloku Etherea, aniž by stahoval samotný blok, ale pouze hlavičku, která obsahuje souhrnné informace.
+
+Na exekuční vrstvě neexistuje jednotná specifikace pro lehkého exekučního klienta. Rozsah lehkého exekučního klienta se může lišit od „lehkého režimu“ plného exekučního klienta, který má všechny funkce EVM a síťové funkce plného uzlu, ale ověřuje pouze hlavičky bloků bez stahování souvisejících dat, nebo to může být více osekaný klient, který se silně spoléhá na předávání požadavků poskytovateli RPC pro interakci s Ethereem.
+
+## Proč jsou lehcí klienti důležití? {#why-are-light-clients-important}
+
+Lehcí klienti jsou důležití, protože umožňují uživatelům ověřovat příchozí data, místo aby slepě důvěřovali, že jejich poskytovatel dat je správný a poctivý, a přitom využívají jen malý zlomek výpočetních zdrojů plného uzlu. Data, která lehcí klienti obdrží, lze zkontrolovat vůči hlavičkám bloků, o kterých vědí, že byly podepsány alespoň 2/3 náhodné sady 512 validátorů Etherea. To je velmi silný důkaz, že data jsou správná.
+
+Lehký klient využívá jen malé množství výpočetního výkonu, paměti a úložiště, takže ho lze spustit na mobilním telefonu, vložit do aplikace nebo jako součást prohlížeče. Lehcí klienti jsou způsob, jak učinit přístup k Ethereu s minimalizovanou důvěrou stejně bezproblémovým jako důvěřování poskytovateli třetí strany.
+
+Uveďme si jednoduchý příklad. Představte si, že si chcete zkontrolovat zůstatek na účtu. K tomu musíte odeslat požadavek na uzel Etherea. Tento uzel zkontroluje svou místní kopii stavu Etherea pro váš zůstatek a vrátí vám ho. Pokud nemáte přímý přístup k uzlu, existují centralizovaní operátoři, kteří tato data poskytují jako službu. Můžete jim poslat požadavek, oni zkontrolují svůj uzel a pošlou vám výsledek zpět. Problém je v tom, že pak musíte důvěřovat poskytovateli, že vám poskytuje správné informace. Nikdy si nemůžete být jisti, že jsou informace správné, pokud si je nemůžete sami ověřit.
+
+Lehký klient tento problém řeší. Stále si vyžadujete data od externího poskytovatele, ale když data obdržíte zpět, přijdou s důkazem, který si váš lehký uzel může zkontrolovat vůči informacím, které obdržel v hlavičce bloku. To znamená, že správnost vašich dat ověřuje Ethereum namísto nějakého důvěryhodného operátora.
+
+## Jaké inovace lehcí klienti umožňují? {#what-innovations-do-light-clients-enable}
+
+Hlavním přínosem lehkých klientů je umožnit více lidem nezávislý přístup k Ethereu se zanedbatelnými hardwarovými nároky a minimální závislostí na třetích stranách. To je dobré pro uživatele, protože si mohou ověřit svá vlastní data, a je to dobré pro síť, protože to zvyšuje počet a rozmanitost uzlů, které ověřují řetězec.
+
+Schopnost provozovat uzly Etherea na zařízeních s velmi malým úložištěm, pamětí a výpočetním výkonem je jednou z hlavních oblastí inovací, které lehcí klienti odemykají. Zatímco dnes uzly Etherea vyžadují mnoho výpočetních zdrojů, lehcí klienti by mohli být vloženi do prohlížečů, spuštěni na mobilních telefonech a možná i na menších zařízeních, jako jsou chytré hodinky. To znamená, že peněženky Ethereum s vestavěnými klienty by mohly běžet na mobilním telefonu. To znamená, že mobilní peněženky by mohly být mnohem více decentralizované, protože by nemusely důvěřovat centralizovaným poskytovatelům dat pro svá data.
+
+Rozšířením toho je podpora zařízení **internetu věcí (IoT)**. Lehký klient by mohl být použit k rychlému prokázání vlastnictví nějakého zůstatku tokenu nebo NFT, se všemi bezpečnostními zárukami poskytovanými synchronizačními výbory, což by vyvolalo nějakou akci v síti IoT. Představte si [půjčovnu kol](https://youtu.be/ZHNrAXf3RDE?t=929), která používá aplikaci s vestavěným lehkým klientem k rychlému ověření, že vlastníte NFT půjčovny, a pokud ano, odemkne vám kolo, na kterém můžete odjet!
+
+Z lehkých klientů by také těžily rollupy Etherea. Jedním z velkých problémů pro rollupy byly hackerské útoky zaměřené na přemostění, která umožňují převod prostředků z hlavní sítě Etherea na rollup. Jednou ze zranitelností jsou orákula, která rollupy používají k detekci, že uživatel provedl vklad na přemostění. Pokud orákulum dodá špatná data, mohlo by přimět rollup k tomu, aby si myslel, že došlo k vkladu na přemostění, a nesprávně uvolnil prostředky. Lehký klient zabudovaný v rollupu by mohl být použit k ochraně proti poškozeným orákulům, protože vklad do přemostění by mohl přijít s důkazem, který si rollup může ověřit před uvolněním jakýchkoli tokenů. Stejný koncept by se dal použít i na jiná meziřetězcová přemostění.
+
+Lehké klienty by bylo možné použít také k vylepšení peněženek Ethereum. Místo důvěřování datům poskytovaným poskytovatelem RPC by si vaše peněženka mohla přímo ověřit data, která vám jsou předkládána, pomocí vestavěného lehkého klienta. To by zvýšilo bezpečnost vaší peněženky. Pokud by byl váš poskytovatel RPC nečestný a poskytl vám nesprávná data, vestavěný lehký klient by vás na to mohl upozornit!
+
+## Jaký je současný stav vývoje lehkých klientů? {#current-state-of-development}
+
+Ve vývoji je několik lehkých klientů, včetně exekučních, konsensuálních a kombinovaných exekučních/konsensuálních lehkých klientů. Toto jsou implementace lehkých klientů, o kterých víme v době psaní této stránky:
+
+- [Lodestar](https://github.com/ChainSafe/lodestar/tree/unstable/packages/light-client): konsensuální lehký klient v TypeScriptu
+- [Helios](https://github.com/a16z/helios): kombinovaný exekuční a konsensuální lehký klient v Rustu
+- [Geth](https://github.com/ethereum/go-ethereum/tree/master/beacon/light): lehký režim pro exekučního klienta (ve vývoji) v Go
+- [Nimbus](https://nimbus.guide/el-light-client.html): konsensuální lehký klient v Nimu
+
+Podle našich informací žádný z nich zatím není považován za připravený pro produkční nasazení.
+
+Probíhá také mnoho práce na zlepšení způsobů, jakými mohou lehcí klienti přistupovat k datům Etherea. V současné době se lehcí klienti spoléhají na RPC požadavky na plné uzly pomocí modelu klient/server, ale v budoucnu by data mohla být požadována decentralizovanějším způsobem pomocí vyhrazené sítě, jako je [Portal Network](https://www.ethportal.net/), která by mohla data lehkým klientům poskytovat pomocí protokolu peer-to-peer gossip.
+
+Další položky [plánu](/roadmap/), jako jsou [Verkle stromy](/roadmap/verkle-trees/) a [bezstavovost](/roadmap/statelessness/), nakonec přinesou bezpečnostní záruky lehkých klientů na úroveň plných klientů.
+
+## Další čtení {#further-reading}
+
+- [Zsolt Felfodhi o lehkých klientech Geth](https://www.youtube.com/watch?v=EPZeFXau-RE)
+- [Etan Kissling o síťování lehkých klientů](https://www.youtube.com/watch?v=85MeiMA4dD8)
+- [Etan Kissling o lehkých klientech po Sloučení](https://www.youtube.com/watch?v=ZHNrAXf3RDE)
+- [Piper Merriam: Trnitá cesta k funkčním lehkým klientům](https://snakecharmers.ethereum.org/the-winding-road-to-functional-light-clients/)
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/node-architecture/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/node-architecture/index.md
new file mode 100644
index 00000000000..eef746119e3
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/node-architecture/index.md
@@ -0,0 +1,59 @@
+---
+title: Architektura uzlů
+description: Úvod do organizace uzlů sítě Ethereum.
+lang: cs
+---
+
+Uzel sítě Ethereum se skládá ze dvou klientů: [exekučního klienta](/developers/docs/nodes-and-clients/#execution-clients) a [konsensuálního klienta](/developers/docs/nodes-and-clients/#consensus-clients). Aby mohl uzel navrhnout nový blok, musí na něm také běžet [klient validátoru](#validators).
+
+Když Ethereum používalo [důkaz prací](/developers/docs/consensus-mechanisms/pow/), stačil k provozování plného uzlu sítě Ethereum exekuční klient. Od zavedení [důkazu podílem](/developers/docs/consensus-mechanisms/pow/) se však musí exekuční klient používat společně s dalším softwarem, který se nazývá [konsensuální klient](/developers/docs/nodes-and-clients/#consensus-clients).
+
+Níže uvedený diagram znázorňuje vztah mezi dvěma klienty sítě Ethereum. Oba klienti se připojují ke svým vlastním sítím peer-to-peer (P2P). Jsou zapotřebí oddělené P2P sítě, protože exekuční klienti si přes svou P2P síť vyměňují transakce, což jim umožňuje spravovat jejich lokální transakční pool, zatímco konsensuální klienti si přes svou P2P síť vyměňují bloky, což umožňuje konsensus a růst řetězce.
+
+
+
+_Pro exekučního klienta existuje několik možností, včetně Erigon, Nethermind a Besu_.
+
+Aby tato dvou-klientská struktura fungovala, musí konsensuální klienti předávat balíčky transakcí exekučnímu klientovi. Exekuční klient provádí transakce lokálně, aby ověřil, že transakce neporušují žádná pravidla Etherea a že navrhovaná aktualizace stavu Etherea je správná. Když je uzel vybrán jako producent bloku, jeho instance konsensuálního klienta si vyžádá balíčky transakcí od exekučního klienta, které zahrne do nového bloku a provede je, aby aktualizoval globální stav. Konsensuální klient řídí exekučního klienta prostřednictvím místního RPC připojení pomocí [Engine API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).
+
+## Co dělá exekuční klient? {#execution-client}
+
+Exekuční klient je zodpovědný za validaci, zpracování a šíření transakcí, spolu se správou stavu a podporou Ethereum Virtual Machine ([EVM](/developers/docs/evm/)). **Není** zodpovědný za tvorbu bloků, jejich šíření nebo za zpracování logiky konsensu. To spadá do kompetence konsensuálního klienta.
+
+Exekuční klient vytváří exekuční datové části – seznam transakcí, aktualizovaný stavový strom (trie) a další data související s prováděním. Konsensuální klienti zahrnují exekuční datovou část do každého bloku. Exekuční klient je také zodpovědný za opětovné provedení transakcí v nových blocích, aby se zajistila jejich platnost. Provádění transakcí probíhá na vestavěném počítači exekučního klienta, který je známý jako [Ethereum Virtual Machine (EVM)](/developers/docs/evm).
+
+Exekuční klient také nabízí uživatelské rozhraní k síti Ethereum prostřednictvím [metod RPC](/developers/docs/apis/json-rpc), které uživatelům umožňují dotazovat se na blockchain Etherea, odesílat transakce a nasazovat chytré kontrakty. Je běžné, že volání RPC jsou zpracovávána knihovnou jako [Web3js](https://docs.web3js.org/), [Web3py](https://web3py.readthedocs.io/en/v5/) nebo uživatelským rozhraním, jako je například peněženka v prohlížeči.
+
+Stručně řečeno, exekuční klient je:
+
+- uživatelskou bránou do Etherea
+- domovem pro Ethereum Virtual Machine, stav Etherea a transakční pool.
+
+## Co dělá konsensuální klient? {#consensus-client}
+
+Konsensuální klient se zabývá veškerou logikou, která umožňuje uzlu zůstat synchronizovaný se sítí Ethereum. To zahrnuje přijímání bloků od ostatních uzlů a spouštění algoritmu pro výběr větve, který zajišťuje, že uzel vždy sleduje řetězec s největším počtem atestací (vážených efektivními zůstatky validátorů). Podobně jako exekuční klienti, i konsensuální klienti mají vlastní P2P síť, prostřednictvím které sdílejí bloky a atestace.
+
+Konsensuální klient se nepodílí na atestování nebo navrhování bloků – to dělá validátor, volitelný doplněk konsensuálního klienta. Konsensuální klient bez validátoru pouze sleduje vrchol řetězce, což umožňuje uzlu zůstat synchronizovaný. To umožňuje uživateli provádět transakce v síti Ethereum pomocí svého exekučního klienta s jistotou, že je na správném řetězci.
+
+## Validátoři {#validators}
+
+Staking a spuštění softwaru validátoru činí uzel způsobilým k výběru pro navržení nového bloku. Provozovatelé uzlů mohou přidat validátor ke svým konsensuálním klientům vložením 32 ETH do depozitního kontraktu. Klient validátoru je dodáván v balíku s konsensuálním klientem a může být kdykoli přidán k uzlu. Validátor se stará o atestace a návrhy bloků. Umožňuje také uzlu získávat odměny nebo ztrácet ETH prostřednictvím pokut nebo „slashingu“.
+
+[Více o stakingu](/staking/).
+
+## Porovnání komponent uzlu {#node-comparison}
+
+| Exekuční klient | Konsensuální klient | Validátor |
+| -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------- |
+| Šíří transakce přes svou P2P síť | Šíří bloky a atestace přes svou P2P síť | Navrhuje bloky |
+| Provádí/znovu provádí transakce | Spouští algoritmus pro výběr větve | Získává odměny / postihy |
+| Ověřuje příchozí změny stavu | Sleduje vrchol řetězce | Vytváří atestace |
+| Spravuje stavové stromy (trie) a stromy (trie) účtenek | Spravuje stav Beacon Chainu (obsahuje informace o konsensu a provádění) | Vyžaduje vsadit 32 ETH. |
+| Vytváří exekuční datovou část | Sleduje nahromaděnou náhodnost v RANDAO (algoritmus, který poskytuje ověřitelnou náhodnost pro výběr validátorů a další operace konsensu) | Může být podroben „slashingu“ |
+| Zpřístupňuje JSON-RPC API pro interakci s Ethereem | Sleduje justifikaci a finalizaci | |
+
+## Další čtení {#further-reading}
+
+- [Důkaz podílem](/developers/docs/consensus-mechanisms/pos)
+- [Návrh bloku](/developers/docs/consensus-mechanisms/pos/block-proposal)
+- [Odměny a postihy pro validátory](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties)
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
new file mode 100644
index 00000000000..c0142c75fb4
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
@@ -0,0 +1,418 @@
+---
+title: Uzly jako služba
+description: Úvodní přehled služeb uzlů, jejich výhody a nevýhody a oblíbení poskytovatelé.
+lang: cs
+sidebarDepth: 2
+---
+
+## Úvod {#Introduction}
+
+Provozování vlastního [uzlu sítě Ethereum](/developers/docs/nodes-and-clients/#what-are-nodes-and-clients) může být náročné, zejména na začátku nebo při rychlém škálování. Existuje [řada služeb](#popular-node-services), které za vás provozují optimalizované infrastruktury uzlů, takže se místo toho můžete soustředit na vývoj své aplikace nebo produktu. Vysvětlíme si, jak fungují služby uzlů, jaké jsou výhody a nevýhody jejich používání, a uvedeme poskytovatele pro případ, že byste chtěli začít.
+
+## Předpoklady {#prerequisites}
+
+Pokud ještě nechápete, co jsou uzly a klienti, podívejte se na článek [Uzly a klienti](/developers/docs/nodes-and-clients/).
+
+## Stakeři {#stakoooooooooooooors}
+
+Samostatní stakeři musí provozovat vlastní infrastrukturu, místo aby se spoléhali na poskytovatele třetích stran. To znamená provozovat exekučního klienta spojeného s konsensuálním klientem. Před [Sloučením](/roadmap/merge) bylo možné provozovat pouze konsensuálního klienta a pro exekuční data využívat centralizovaného poskytovatele; to už nyní není možné – samostatný staker musí provozovat oba klienty. Existují však služby, které tento proces usnadňují.
+
+[Přečtěte si více o provozování uzlu](/developers/docs/nodes-and-clients/run-a-node/).
+
+Služby popsané na této stránce jsou pro nestakující uzly.
+
+## Jak fungují služby uzlů? {#how-do-node-services-work}
+
+Poskytovatelé služeb uzlů za vás na pozadí provozují distribuované klienty uzlů, takže vy nemusíte.
+
+Tyto služby obvykle poskytují klíč API, který můžete použít k zápisu a čtení z blockchainu. Často zahrnují přístup k [testovacím sítím Etherea](/developers/docs/networks/#ethereum-testnets) kromě hlavní sítě (Mainnetu).
+
+Některé služby vám nabízejí vlastní dedikovaný uzel, který pro vás spravují, zatímco jiné používají nástroje pro vyrovnávání zátěže (load balancery) k rozdělení aktivity mezi uzly.
+
+Integrace téměř všech služeb uzlů je velmi snadná a spočívá ve změně jednoho řádku kódu, kterým nahradíte svůj vlastní hostovaný uzel, nebo dokonce přepnete mezi jednotlivými službami.
+
+Služby uzlů často provozují různé [klienty uzlů](/developers/docs/nodes-and-clients/#execution-clients) a [typy uzlů](/developers/docs/nodes-and-clients/#node-types), což vám v jednom rozhraní API umožňuje přístup k plným a archivním uzlům a také k metodám specifickým pro klienta.
+
+Je důležité si uvědomit, že služby uzlů neukládají a neměly by ukládat vaše soukromé klíče ani informace.
+
+## Jaké jsou výhody používání služby uzlů? {#benefits-of-using-a-node-service}
+
+Hlavní výhodou používání služby uzlů je, že nemusíte trávit čas technickou prací s údržbou a správou vlastních uzlů. Díky tomu se můžete soustředit na tvorbu svého produktu, místo abyste se museli starat o údržbu infrastruktury.
+
+Provoz vlastních uzlů může být velmi nákladný, a to jak z hlediska úložiště a šířky pásma, tak i cenného času vývojářů. Činnosti jako spouštění dalších uzlů při škálování, aktualizace uzlů na nejnovější verze a zajišťování konzistence stavu mohou odvádět vaši pozornost od budování a vynakládání zdrojů na vámi požadovaný produkt web3.
+
+## Jaké jsou nevýhody používání služby uzlů? {#cons-of-using-a-node-service}
+
+Používáním služby uzlů centralizujete infrastrukturní aspekt svého produktu. Z tohoto důvodu mohou projekty, pro které je decentralizace nanejvýš důležitá, upřednostňovat vlastní hostování uzlů před outsourcingem třetí straně.
+
+Přečtěte si více o [výhodách provozování vlastního uzlu](/developers/docs/nodes-and-clients/#benefits-to-you).
+
+## Oblíbené služby uzlů {#popular-node-services}
+
+Zde je seznam některých nejoblíbenějších poskytovatelů uzlů sítě Ethereum. Neváhejte přidat ty, které v seznamu chybí! Každá služba uzlů nabízí kromě bezplatných nebo placených úrovní i různé výhody a funkce. Před rozhodnutím byste si měli zjistit, která z nich nejlépe vyhovuje vašim potřebám.
+
+- [**Alchemy**](https://alchemy.com/)
+ - [Dokumentace](https://www.alchemy.com/docs/)
+ - Funkce
+ - Největší bezplatná úroveň s 300 miliony výpočetních jednotek za měsíc (~30 milionů požadavků getLatestBlock)
+ - Podpora více řetězců pro Polygon, Starknet, Optimism, Arbitrum
+ - Zajišťuje provoz přibližně 70 % největších ethereových dapps a objem transakcí DeFi
+ - Upozornění webhooků v reálném čase prostřednictvím Alchemy Notify
+ - Špičková podpora a spolehlivost/stabilita
+ - NFT API od Alchemy
+ - Řídicí panel s nástroji Request Explorer, Mempool Watcher a Composer
+ - Integrovaný přístup k faucetu testnetu
+ - Aktivní komunita tvůrců na Discordu s 18 tisíci uživateli
+
+- [**Allnodes**](https://www.allnodes.com/)
+ - [Dokumentace](https://docs.allnodes.com/)
+ - Funkce
+ - Žádné limity rychlosti s tokenem PublicNode vytvořeným na stránce portfolia Allnodes.
+ - Bezplatné koncové body rpc zaměřené na soukromí (100+ blockchainů) na [PublicNode](https://www.publicnode.com)
+ - Dedikované uzly bez omezení rychlosti pro více než 90 blockchainů
+ - Dedikované archivní uzly pro více než 30 blockchainů
+ - Dostupné ve 3 regionech (USA, EU, Asie)
+ - Snímky pro více než 100 blockchainů na [PublicNode](https://www.publicnode.com/snapshots)
+ - Technická podpora 24/7 s SLA dostupností 99,90–99,98 % (v závislosti na plánu).
+ - Hodinová sazba
+ - Plaťte kreditní kartou, přes PayPal nebo v kryptoměnách
+
+- [**All That Node**](https://allthatnode.com/)
+ - [Dokumentace](https://docs.allthatnode.com/)
+ - Funkce
+ - 50 000 požadavků denně v rámci bezplatné úrovně
+ - Podpora pro více než 40 protokolů
+ - Podporovaná rozhraní JSON-RPC (EVM, Tendermint), REST a Websocket API
+ - Neomezený přístup k archivním datům
+ - Technická podpora 24/7 a více než 99,9% dostupnost
+ - Faucet dostupný na více řetězcích
+ - Neomezený přístup ke koncovým bodům s neomezeným počtem klíčů API
+ - Podpora Trace/Debug API
+ - Automatické aktualizace
+
+- [**Amazon Managed Blockchain**](https://aws.amazon.com/managed-blockchain/)
+ - [Dokumentace](https://aws.amazon.com/managed-blockchain/resources/)
+ - Funkce
+ - Plně spravované uzly Etherea
+ - Dostupné v šesti regionech
+ - JSON-RPC přes HTTP a zabezpečené WebSockety
+ - Podporuje 3 řetězce
+ - SLA, podpora AWS 24/7
+ - Go-ethereum a Lighthouse
+
+- [**Ankr**](https://www.ankr.com/)
+ - [Dokumentace](https://docs.ankr.com/)
+ - Funkce
+ - Ankr Protocol – otevřený přístup k veřejným koncovým bodům RPC API pro více než 8 řetězců
+ - Vyrovnávání zátěže a sledování stavu uzlů pro rychlou a spolehlivou bránu k nejbližšímu dostupnému uzlu
+ - Prémiová úroveň umožňující koncový bod WSS a neomezený limit rychlosti
+ - Nasazení plného uzlu a uzlu validátoru na jedno kliknutí pro více než 40 řetězců
+ - Škálování podle potřeby
+ - Analytické nástroje
+ - Řídicí panel
+ - Koncové body RPC, HTTPS a WSS
+ - Přímá podpora
+
+- [**Blast**](https://blastapi.io/)
+ - [Dokumentace](https://docs.blastapi.io/)
+ - Funkce
+ - Podpora RPC a WSS
+ - Hostování uzlů ve více regionech
+ - Decentralizovaná infrastruktura
+ - Veřejné API
+ - Dedikovaný bezplatný plán
+ - Podpora více řetězců (více než 17 blockchainů)
+ - Archivní uzly
+ - Podpora 24/7 na Discordu
+ - Monitorování a upozornění 24/7
+ - Celková SLA 99,9 %
+ - Platba v kryptoměnách
+
+- [**BlockDaemon**](https://blockdaemon.com/)
+ - [Dokumentace](https://ubiquity.docs.blockdaemon.com/)
+ - Výhody
+ - Řídicí panel
+ - Na bázi jednotlivých uzlů
+ - Analytika
+
+- [**BlockPI**](https://blockpi.io/)
+ - [Dokumentace](https://docs.blockpi.io/)
+ - Funkce
+ - Robustní a distribuovaná struktura uzlů
+ - Až 40 koncových bodů HTTPS a WSS
+ - Bezplatný registrační balíček a měsíční balíček
+ - Metoda sledování + podpora archivních dat
+ - Balíčky s platností až 90 dní
+ - Vlastní plán a průběžné platby
+ - Platba v kryptoměnách
+ - Přímá podpora a technická podpora
+
+- [**Chainbase**](https://www.chainbase.com/)
+ - [Dokumentace](https://docs.chainbase.com)
+ - Funkce
+ - Vysoce dostupná, rychlá a škálovatelná služba RPC
+ - Podpora více řetězců
+ - Bezplatné tarify
+ - Uživatelsky přívětivý řídicí panel
+ - Poskytuje služby blockchainových dat nad rámec RPC
+
+- [**Chainstack**](https://chainstack.com/)
+ - [Dokumentace](https://docs.chainstack.com/)
+ - Funkce
+ - Bezplatné sdílené uzly
+ - Sdílené archivní uzly
+ - Podpora GraphQL
+ - Koncové body RPC a WSS
+ - Dedikované plné a archivní uzly
+ - Rychlá synchronizace pro dedikovaná nasazení
+ - Použití vlastního cloudu
+ - Hodinová sazba
+ - Přímá podpora 24/7
+
+- [**dRPC**](https://drpc.org/)
+ - [Dokumentace](https://drpc.org/docs)
+ - NodeCloud: Plug-n-play RPC infrastruktura od 10 USD – plná rychlost, bez omezení
+ - Funkce NodeCloud:
+ - Podpora API pro 185 sítí
+ - Distribuovaný pool více než 40 poskytovatelů
+ - Globální pokrytí s devíti (9) geografickými clustery
+ - Systém vyrovnávání zátěže s umělou inteligencí
+ - Paušální průběžné platby – žádné zdražování, žádné vypršení platnosti, žádné závazky
+ - Neomezené klíče, granulární úpravy klíčů, týmové role, front-endová ochrana
+ - Paušální sazba 20 výpočetních jednotek (CU) za metodu
+ - [Seznam veřejných koncových bodů](https://drpc.org/chainlist)
+ - [Kalkulačka cen](https://drpc.org/pricing#calculator)
+ - NodeCore: open-source stack pro organizace, které chtějí plnou kontrolu
+
+- [**GetBlock**](https://getblock.io/)
+ - [Dokumentace](https://getblock.io/docs/get-started/authentication-with-api-key/)
+ - Funkce
+ - Přístup k více než 40 blockchainovým uzlům
+ - 40 tisíc bezplatných požadavků denně
+ - Neomezený počet klíčů API
+ - Vysoká rychlost připojení 1 GB/s
+ - Sledování+archivace
+ - Pokročilá analytika
+ - Automatické aktualizace
+ - Technická podpora
+
+- [**InfStones**](https://infstones.com/)
+ - Funkce
+ - Možnost bezplatné úrovně
+ - Škálování podle potřeby
+ - Analytika
+ - Řídicí panel
+ - Unikátní koncové body API
+ - Dedikované plné uzly
+ - Rychlá synchronizace pro dedikovaná nasazení
+ - Přímá podpora 24/7
+ - Přístup k více než 50 blockchainovým uzlům
+
+- [**Infura**](https://infura.io/)
+ - [Dokumentace](https://infura.io/docs)
+ - Funkce
+ - Možnost bezplatné úrovně
+ - Škálování podle potřeby
+ - Placená archivní data
+ - Přímá podpora
+ - Řídicí panel
+
+- [**Kaleido**](https://kaleido.io/)
+ - [Dokumentace](https://docs.kaleido.io/)
+ - Funkce
+ - Bezplatná úroveň pro začátečníky
+ - Nasazení uzlu Etherea na jedno kliknutí
+ - Přizpůsobitelní klienti a algoritmy (Geth, Quorum a Besu || PoA, IBFT a Raft)
+ - Více než 500 administrativních a servisních API
+ - RESTful rozhraní pro odesílání transakcí Etherea (zajištěno Apache Kafka)
+ - Odchozí streamy pro doručování událostí (zajištěno Apache Kafka)
+ - Rozsáhlá sbírka „offchainových“ a doplňkových služeb (např. bilaterální přenos šifrovaných zpráv)
+ - Jednoduché zprovoznění sítě se správou a řízením přístupu na základě rolí
+ - Sofistikovaná správa uživatelů pro administrátory i koncové uživatele
+ - Vysoce škálovatelná, odolná infrastruktura podnikové úrovně
+ - Správa soukromých klíčů pomocí cloudového HSM
+ - Propojení s hlavní sítí Etherea (tethering)
+ - Certifikace ISO 27k a SOC 2, typ 2
+ - Dynamická konfigurace za běhu (např. přidávání cloudových integrací, změna vstupních bodů uzlů atd.)
+ - Podpora pro multi-cloudové, multi-regionální a hybridní orchestrace nasazení
+ - Jednoduchá hodinová sazba na bázi SaaS
+ - SLA a podpora 24/7
+
+- [**Lava Network**](https://www.lavanet.xyz/)
+ - [Dokumentace](https://docs.lavanet.xyz/)
+ - Funkce
+ - Bezplatné použití testnetu
+ - Decentralizovaná redundance pro vysokou dostupnost
+ - Open-source
+ - Plně decentralizované SDK
+ - Integrace s Ethers.js
+ - Intuitivní rozhraní pro správu projektů
+ - Integrita dat založená na konsensu
+ - Podpora více řetězců
+
+- [**Moralis**](https://moralis.io/)
+ - [Dokumentace](https://docs.moralis.io/)
+ - Funkce
+ - Bezplatné sdílené uzly
+ - Bezplatné sdílené archivní uzly
+ - Zaměřeno na soukromí (zásada neukládání záznamů)
+ - Podpora více řetězců
+ - Škálování podle potřeby
+ - Řídicí panel
+ - Unikátní SDK pro Ethereum
+ - Unikátní koncové body API
+ - Přímá technická podpora
+
+- [**NodeReal MegaNode**](https://nodereal.io/)
+ - [Dokumentace](https://docs.nodereal.io/docs/introduction)
+ - Funkce
+ - Spolehlivé, rychlé a škálovatelné služby RPC API
+ - Vylepšené API pro vývojáře web3
+ - Podpora více řetězců
+ - Začněte zdarma
+
+- [**NOWNodes**](https://nownodes.io/)
+ - [Dokumentace](https://documenter.getpostman.com/view/13630829/TVmFkLwy)
+ - Funkce
+ - Přístup k více než 50 blockchainovým uzlům
+ - Bezplatný klíč API
+ - Prohlížeče bloků
+ - Doba odezvy API ⩽ 1 s
+ - Tým podpory 24/7
+ - Osobní správce účtu
+ - Sdílené, archivní, záložní a dedikované uzly
+
+- [**Pocket Network**](https://www.pokt.network/)
+ - [Dokumentace](https://docs.pokt.network/home/)
+ - Funkce
+ - Decentralizovaný RPC protokol a tržiště
+ - 1 milion požadavků denně v rámci bezplatné úrovně (na koncový bod, max. 2)
+ - [Veřejné koncové body](https://docs.pokt.network/developers/public-endpoints)
+ - Program Pre-Stake+ (pokud potřebujete více než 1 milion požadavků denně)
+ - Podpora více než 15 blockchainů
+ - Více než 6400 uzlů vydělávajících POKT za obsluhu aplikací
+ - Podpora archivních uzlů, archivních uzlů se sledováním a uzlů testnetu
+ - Diverzita klientů uzlů hlavní sítě Etherea
+ - Žádný jediný bod selhání
+ - Nulové prostoje
+ - Cenově efektivní tokenomika s téměř nulovými náklady (jednou stakujte POKT za šířku pásma sítě)
+ - Žádné měsíční utopené náklady, přeměňte svou infrastrukturu na aktivum
+ - Vyrovnávání zátěže zabudované v protokolu
+ - Nekonečné škálování počtu požadavků za den a uzlů za hodinu podle potřeby
+ - Nejsoukromější a nejodolnější možnost proti cenzuře
+ - Praktická podpora pro vývojáře
+ - Řídicí panel a analytika [Pocket Portal](https://bit.ly/ETHorg_POKTportal)
+
+- [**QuickNode**](https://www.quicknode.com)
+ - [Dokumentace](https://www.quicknode.com/docs/)
+ - Funkce
+ - Technická podpora 24/7 a vývojářská komunita na Discordu
+ - Geograficky vyvážená síť s nízkou latencí, multi-cloud/metal
+ - Podpora více řetězců (Optimism, Arbitrum, Polygon + 11 dalších)
+ - Střední vrstvy pro rychlost a stabilitu (směrování volání, cache, indexování)
+ - Monitorování chytrých kontraktů přes Webhooky
+ - Intuitivní řídicí panel, sada analytických nástrojů, skladatel RPC
+ - Pokročilé bezpečnostní funkce (JWT, maskování, whitelisting)
+ - API pro NFT data a analytiku
+ - [Certifikováno SOC2](https://www.quicknode.com/security)
+ - Vhodné pro vývojáře i podniky
+
+- [**Rivet**](https://rivet.cloud/)
+ - [Dokumentace](https://rivet.readthedocs.io/en/latest/)
+ - Funkce
+ - Možnost bezplatné úrovně
+ - Škálování podle potřeby
+
+- [**SenseiNode**](https://senseinode.com)
+ - [Dokumentace](https://docs.senseinode.com/)
+ - Funkce
+ - Dedikované a sdílené uzly
+ - Řídicí panel
+ - Hostování mimo AWS u více poskytovatelů hostingu v různých lokalitách v Latinské Americe
+ - Klienti Prysm a Lighthouse
+
+- [**SettleMint**](https://console.settlemint.com/)
+ - [Dokumentace](https://docs.settlemint.com/)
+ - Funkce
+ - Zkušební verze zdarma
+ - Škálování podle potřeby
+ - Podpora GraphQL
+ - Koncové body RPC a WSS
+ - Dedikované plné uzly
+ - Použití vlastního cloudu
+ - Analytické nástroje
+ - Řídicí panel
+ - Hodinová sazba
+ - Přímá podpora
+
+- [**Tenderly**](https://tenderly.co/web3-gateway)
+ - [Dokumentace](https://docs.tenderly.co/web3-gateway/web3-gateway)
+ - Funkce
+ - Bezplatná úroveň zahrnující 25 milionů jednotek Tenderly měsíčně
+ - Bezplatný přístup k historickým datům
+ - Až 8x rychlejší pracovní zátěž s velkým objemem čtení
+ - 100% konzistentní přístup ke čtení
+ - Koncové body JSON-RPC
+ - Tvůrce požadavků RPC založený na uživatelském rozhraní a náhled požadavků
+ - Úzce integrováno s vývojovými, ladicími a testovacími nástroji Tenderly
+ - Simulace transakcí
+ - Analytika použití a filtrování
+ - Snadná správa přístupových klíčů
+ - Dedikovaná technická podpora přes chat, e-mail a Discord
+
+- [**Tokenview**](https://services.tokenview.io/)
+ - [Dokumentace](https://services.tokenview.io/docs?type=nodeService)
+ - Funkce
+ - Technická podpora 24/7 a vývojářská komunita na Telegramu
+ - Podpora více řetězců (Bitcoin, Ethereum, Tron, BNB Smart Chain, Ethereum Classic)
+ - K dispozici jsou koncové body RPC i WSS
+ - Neomezený přístup k API pro archivní data
+ - Řídicí panel s nástroji Request Explorer a Mempool Watcher
+ - API pro NFT data a upozornění přes Webhook
+ - Platba v kryptoměnách
+ - Externí podpora pro další požadavky na chování
+
+- [**Watchdata**](https://watchdata.io/)
+ - [Dokumentace](https://docs.watchdata.io/)
+ - Funkce
+ - Spolehlivost dat
+ - Nepřetržité připojení bez prostojů
+ - Automatizace procesů
+ - Bezplatné tarify
+ - Vysoké limity, které vyhovují každému uživateli
+ - Podpora různých uzlů
+ - Škálování zdrojů
+ - Vysoké rychlosti zpracování
+
+- [**ZMOK**](https://zmok.io/)
+ - [Dokumentace](https://docs.zmok.io/)
+ - Funkce
+ - Front-running jako služba
+ - Globální mempool transakcí s metodami vyhledávání/filtrování
+ - Neomezený poplatek za transakci a nekonečný gas pro odesílání transakcí
+ - Nejrychlejší získání nového bloku a čtení z blockchainu
+ - Záruka nejlepší ceny za volání API
+
+- [**Zeeve**](https://www.zeeve.io/)
+ - [Dokumentace](https://www.zeeve.io/docs/)
+ - Funkce
+ - Automatizační platforma podnikové třídy bez nutnosti kódování, která poskytuje nasazení, monitorování a správu blockchainových uzlů a sítí
+ - Více než 30 podporovaných protokolů a integrací a další přibývají
+ - Služby infrastruktury web3 s přidanou hodnotou, jako je decentralizované úložiště, decentralizovaná identita a API pro data z blockchainové účetní knihy pro reálné případy použití
+ - Podpora 24/7 a proaktivní monitorování zajišťují neustálý bezproblémový stav uzlů.
+ - Koncové body RPC nabízejí ověřený přístup k API, bezproblémovou správu s intuitivním řídicím panelem a analytikou.
+ - Poskytuje možnost volby mezi spravovaným cloudem a vlastním cloudem a podporuje všechny hlavní poskytovatele cloudu, jako jsou AWS, Azure, Google Cloud, Digital Ocean a on-premise.
+ - Používáme inteligentní směrování, abychom pokaždé zasáhli uzel nejblíže vašemu uživateli
+
+## Další čtení {#further-reading}
+
+- [Seznam služeb uzlů Etherea](https://ethereumnodes.com/)
+
+## Související témata {#related-topics}
+
+- [Uzly a klienti](/developers/docs/nodes-and-clients/)
+
+## Související návody {#related-tutorials}
+
+- [Začínáme s vývojem na Ethereu pomocí Alchemy](/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/)
+- [Průvodce odesíláním transakcí pomocí web3 a Alchemy](/developers/tutorials/sending-transactions-using-web3-and-alchemy/)
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/run-a-node/index.md
new file mode 100644
index 00000000000..87b16da06d9
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/run-a-node/index.md
@@ -0,0 +1,484 @@
+---
+title: Spusťte si vlastní uzel Etherea
+description: Obecný úvod do spouštění vlastní instance klienta Etherea.
+lang: cs
+sidebarDepth: 2
+---
+
+Provozování vlastního uzlu vám přináší různé výhody, otevírá nové možnosti a pomáhá podporovat ekosystém. Tato stránka vás provede spuštěním vlastního uzlu a účastí na validaci ethereových transakcí.
+
+Všimněte si, že po [Sloučení](/roadmap/merge) jsou k provozu uzlu Etherea zapotřebí dva klienti: klient **exekuční vrstvy (EL)** a klient **konsensuální vrstvy (CL)**. Tato stránka vám ukáže, jak nainstalovat, nakonfigurovat a připojit tyto dva klienty k provozu uzlu Etherea.
+
+## Předpoklady {#prerequisites}
+
+Měli byste rozumět tomu, co je uzel Etherea a proč byste mohli chtít provozovat klienta. Toto je popsáno v části [Uzly a klienti](/developers/docs/nodes-and-clients/).
+
+Pokud jste v tématu provozování uzlu nováčkem nebo hledáte méně technickou cestu, doporučujeme nejprve se podívat na náš uživatelsky přívětivý úvod do [provozování uzlu Etherea](/run-a-node).
+
+## Výběr přístupu {#choosing-approach}
+
+Prvním krokem při spouštění uzlu je výběr přístupu. Na základě požadavků a různých možností si musíte vybrat implementaci klienta (exekučního i konsensuálního klienta), prostředí (hardware, systém) a parametry pro nastavení klienta.
+
+Tato stránka vás provede těmito rozhodnutími a pomůže vám najít nejvhodnější způsob, jak provozovat vaši instanci Etherea.
+
+Chcete-li si vybrat z implementací klientů, podívejte se na všechny dostupné [exekuční klienty](/developers/docs/nodes-and-clients/#execution-clients) a [konsensuální klienty](/developers/docs/nodes-and-clients/#consensus-clients) připravené pro Mainnet a přečtěte si o [diverzitě klientů](/developers/docs/nodes-and-clients/client-diversity).
+
+Rozhodněte se, zda chcete software provozovat na vlastním [hardwaru nebo v cloudu](#local-vs-cloud), a zvažte [požadavky](#requirements) klientů.
+
+Po přípravě prostředí nainstalujte vybrané klienty buď pomocí [rozhraní pro začátečníky](#automatized-setup), nebo [ručně](#manual-setup) pomocí terminálu s pokročilými možnostmi.
+
+Když je uzel spuštěn a synchronizuje se, jste připraveni [jej používat](#using-the-node), ale nezapomeňte dohlížet na jeho [údržbu](#operating-the-node).
+
+
+
+### Prostředí a hardware {#environment-and-hardware}
+
+#### Lokálně nebo v cloudu {#local-vs-cloud}
+
+Klienti Etherea mohou běžet na běžných počítačích a nevyžadují žádný speciální hardware, jako například těžařské stroje. Proto máte na základě svých potřeb různé možnosti nasazení uzlu.
+Pro zjednodušení si představme provoz uzlu na lokálním fyzickém stroji i na cloudovém serveru:
+
+- Cloud
+ - Poskytovatelé nabízejí vysokou dostupnost serverů a statické veřejné IP adresy
+ - Pořízení dedikovaného nebo virtuálního serveru může být pohodlnější než stavba vlastního
+ - Kompromisem je důvěra třetí straně – poskytovateli serveru
+ - Vzhledem k požadované velikosti úložiště pro plný uzel může být cena pronajatého serveru vysoká
+- Vlastní hardware
+ - Více suverénní přístup, který nevyžaduje důvěru.
+ - Jednorázová investice
+ - Možnost zakoupení předkonfigurovaných strojů
+ - Musíte fyzicky připravit, udržovat a případně řešit problémy se strojem a sítí
+
+Obě možnosti mají různé výhody, které jsou shrnuty výše. Pokud hledáte cloudové řešení, kromě mnoha tradičních poskytovatelů cloudových služeb existují také služby zaměřené na nasazování uzlů. Podívejte se na [uzly jako službu](/developers/docs/nodes-and-clients/nodes-as-a-service/), kde naleznete více možností pro hostované uzly.
+
+#### Hardware {#hardware}
+
+Decentralizovaná síť odolná vůči cenzuře by se však neměla spoléhat na poskytovatele cloudových služeb. Místo toho je pro ekosystém zdravější provozovat uzel na vlastním lokálním hardwaru. [Odhady](https://www.ethernodes.org/networkType/cl/Hosting) ukazují, že velká část uzlů běží v cloudu, což by se mohlo stát jediným bodem selhání.
+
+Klienti Etherea mohou běžet na vašem počítači, notebooku, serveru nebo dokonce na jednodeskovém počítači. I když je možné provozovat klienty na osobním počítači, mít vyhrazený stroj pouze pro váš uzel může výrazně zvýšit jeho výkon a bezpečnost a zároveň minimalizovat dopad na váš primární počítač.
+
+Používání vlastního hardwaru může být velmi snadné. Existuje mnoho jednoduchých možností i pokročilých nastavení pro technicky zdatnější lidi. Pojďme se tedy podívat na požadavky a prostředky pro provozování klientů Etherea na vašem stroji.
+
+#### Požadavky {#requirements}
+
+Hardwarové požadavky se liší podle klienta, ale obecně nejsou tak vysoké, protože uzel musí pouze zůstat synchronizovaný. Nezaměňujte to s těžbou, která vyžaduje mnohem větší výpočetní výkon. Doba synchronizace a výkon se však s výkonnějším hardwarem zlepšují.
+
+Před instalací jakéhokoli klienta se prosím ujistěte, že váš počítač má dostatek zdrojů pro jeho provoz. Minimální a doporučené požadavky naleznete níže.
+
+Úzkým hrdlem pro váš hardware je většinou místo na disku. Synchronizace blockchainu Etherea je velmi náročná na vstup/výstup a vyžaduje hodně místa. Nejlepší je mít **disk SSD (solid-state drive)** se stovkami GB volného místa i po synchronizaci.
+
+Velikost databáze a rychlost počáteční synchronizace závisí na zvoleném klientovi, jeho konfiguraci a [strategii synchronizace](/developers/docs/nodes-and-clients/#sync-modes).
+
+Také se ujistěte, že vaše internetové připojení není omezeno [datovým limitem](https://wikipedia.org/wiki/Data_cap). Doporučuje se používat připojení bez měření, protože počáteční synchronizace a data vysílaná do sítě by mohla překročit váš limit.
+
+##### Operační systém
+
+Všichni klienti podporují hlavní operační systémy – Linux, MacOS, Windows. To znamená, že uzly můžete provozovat na běžných stolních počítačích nebo serverech s operačním systémem (OS), který vám nejvíce vyhovuje. Ujistěte se, že je váš operační systém aktuální, abyste se vyhnuli potenciálním problémům a bezpečnostním zranitelnostem.
+
+##### Minimální požadavky
+
+- CPU s 2 a více jádry
+- 8 GB RAM
+- 2TB SSD
+- Šířka pásma 10+ MBit/s
+
+##### Doporučené specifikace
+
+- Rychlý CPU se 4 a více jádry
+- 16 GB+ RAM
+- Rychlý SSD s 2+ TB
+- Šířka pásma 25+ MBit/s
+
+Režim synchronizace a klient, kterého si vyberete, ovlivní požadavky na prostor, ale níže jsme odhadli místo na disku, které budete pro každého klienta potřebovat.
+
+| Klient | Velikost disku (snap sync) | Velikost disku (plný archiv) |
+| ---------- | --------------------------------------------- | ----------------------------------------------- |
+| Besu | 800 GB+ | 12 TB+ |
+| Erigon | Není k dispozici | 2,5 TB+ |
+| Geth | 500 GB+ | 12 TB+ |
+| Nethermind | 500 GB+ | 12 TB+ |
+| Reth | Není k dispozici | 2,2 TB+ |
+
+- Poznámka: Erigon a Reth nenabízejí snap sync, ale je možné úplné prořezávání (Full Pruning) (~2 TB pro Erigon, ~1,2 TB pro Reth)
+
+U konsensuálních klientů závisí požadavek na prostor také na implementaci klienta a povolených funkcích (např. validator slasher), ale obecně počítejte s dalšími 200 GB potřebnými pro data beaconu. S velkým počtem validátorů roste i zatížení šířky pásma. [Podrobnosti o požadavcích na konsensuální klienty naleznete v této analýze](https://mirror.xyz/0x934e6B4D7eee305F8C9C42b46D6EEA09CcFd5EDc/b69LBy8p5UhcGJqUAmT22dpvdkU-Pulg2inrhoS9Mbc).
+
+#### Plug-and-play řešení {#plug-and-play}
+
+Nejjednodušší možností pro provozování uzlu na vlastním hardwaru je použití plug-and-play boxů. Předkonfigurované stroje od prodejců nabízejí nejpřímočařejší zážitek: objednat, připojit, spustit. Vše je předkonfigurováno a běží automaticky s intuitivním průvodcem a řídicím panelem pro monitorování a ovládání softwaru.
+
+- [DappNode](https://dappnode.io/)
+- [Avado](https://ava.do/)
+
+#### Ethereum na jednodeskovém počítači {#ethereum-on-a-single-board-computer}
+
+Snadný a levný způsob, jak provozovat uzel Etherea, je použít jednodeskový počítač, a to i s architekturou ARM, jako je Raspberry Pi. [Ethereum on ARM](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/) poskytuje snadno spustitelné obrazy několika exekučních a konsensuálních klientů pro Raspberry Pi a další desky ARM.
+
+Malá, cenově dostupná a efektivní zařízení, jako jsou tato, jsou ideální pro provoz uzlu doma, ale mějte na paměti jejich omezený výkon.
+
+## Spuštění uzlu {#spinning-up-node}
+
+Vlastní nastavení klienta lze provést buď pomocí automatizovaných spouštěčů, nebo ručně, přímým nastavením softwaru klienta.
+
+Pro méně pokročilé uživatele je doporučeným přístupem použití spouštěče, softwaru, který vás provede instalací a automatizuje proces nastavení klienta. Pokud však máte nějaké zkušenosti s používáním terminálu, kroky pro ruční nastavení by měly být snadno proveditelné.
+
+### Nastavení s průvodcem {#automatized-setup}
+
+Několik uživatelsky přívětivých projektů si klade za cíl zlepšit zážitek z nastavování klienta. Tyto spouštěče poskytují automatickou instalaci a konfiguraci klienta, přičemž některé dokonce nabízejí grafické rozhraní pro nastavení s průvodcem a monitorování klientů.
+
+Níže je uvedeno několik projektů, které vám mohou pomoci nainstalovat a ovládat klienty na pár kliknutí:
+
+- [DappNode](https://docs.dappnode.io/docs/user/getting-started/choose-your-path) – DappNode není dodáván pouze se strojem od prodejce. Software, samotný spouštěč uzlu a řídicí centrum s mnoha funkcemi lze použít na libovolném hardwaru.
+- [EthPillar](https://www.coincashew.com/coins/overview-eth/ethpillar) – Nejrychlejší a nejjednodušší způsob nastavení plného uzlu. Jednořádkový instalační nástroj a TUI pro správu uzlů. Zdarma. Open source. Veřejné statky pro Ethereum od sólo stakerů. Podpora ARM64 a AMD64.
+- [eth-docker](https://eth-docker.net/) – Automatizované nastavení pomocí Dockeru zaměřené na snadný a bezpečný staking, vyžaduje základní znalosti terminálu a Dockeru, doporučeno pro mírně pokročilejší uživatele.
+- [Stereum](https://stereum-dev.github.io/ethereum-node-web-docs) – Spouštěč pro instalaci klientů na vzdálený server přes SSH připojení s průvodcem nastavení v GUI, řídicím centrem a mnoha dalšími funkcemi.
+- [NiceNode](https://www.nicenode.xyz/) – Spouštěč s přímočarým uživatelským zážitkem pro spuštění uzlu na vašem počítači. Stačí si vybrat klienty a spustit je na pár kliknutí. Stále ve vývoji.
+- [Sedge](https://docs.sedge.nethermind.io/docs/intro) – Nástroj pro nastavení uzlu, který automaticky generuje konfiguraci Dockeru pomocí průvodce CLI. Napsáno v Go od Nethermind.
+
+### Ruční nastavení klientů {#manual-setup}
+
+Druhou možností je ruční stažení, ověření a konfigurace softwaru klienta. I když někteří klienti nabízejí grafické rozhraní, ruční nastavení stále vyžaduje základní dovednosti s terminálem, ale nabízí mnohem větší všestrannost.
+
+Jak bylo vysvětleno dříve, nastavení vlastního uzlu Etherea bude vyžadovat spuštění páru konsensuálního a exekučního klienta. Někteří klienti mohou obsahovat odlehčeného klienta (light client) druhého typu a synchronizovat se bez potřeby dalšího softwaru. Úplné ověření nevyžadující důvěru však vyžaduje obě implementace.
+
+#### Získání softwaru klienta {#getting-the-client}
+
+Nejprve musíte získat software preferovaného [exekučního klienta](/developers/docs/nodes-and-clients/#execution-clients) a [konsensuálního klienta](/developers/docs/nodes-and-clients/#consensus-clients).
+
+Můžete si jednoduše stáhnout spustitelnou aplikaci nebo instalační balíček, který vyhovuje vašemu operačnímu systému a architektuře. Vždy ověřujte podpisy a kontrolní součty stažených balíčků. Někteří klienti také nabízejí repozitáře nebo obrazy Docker pro snadnější instalaci a aktualizace. Všichni klienti jsou open source, takže si je můžete také sestavit ze zdrojového kódu. Toto je pokročilejší metoda, ale v některých případech může být vyžadována.
+
+Pokyny k instalaci každého klienta jsou uvedeny v dokumentaci, na kterou odkazují seznamy klientů výše.
+
+Zde jsou stránky s vydáními klientů, kde naleznete jejich předpřipravené binární soubory nebo pokyny k instalaci:
+
+##### Exekuční klienti
+
+- [Besu](https://github.com/hyperledger/besu/releases)
+- [Erigon](https://github.com/ledgerwatch/erigon/releases)
+- [Geth](https://geth.ethereum.org/downloads/)
+- [Nethermind](https://downloads.nethermind.io/)
+- [Reth](https://reth.rs/installation/installation.html)
+
+Je také třeba poznamenat, že diverzita klientů je [problémem na exekuční vrstvě](/developers/docs/nodes-and-clients/client-diversity/#execution-layer). Doporučuje se, aby čtenáři zvážili provozování menšinového exekučního klienta.
+
+##### Konsenzuální klienti
+
+- [Lighthouse](https://github.com/sigp/lighthouse/releases/latest)
+- [Lodestar](https://chainsafe.github.io/lodestar/run/getting-started/installation#build-from-source) (Neposkytuje předpřipravený binární soubor, pouze obraz Dockeru nebo je nutné jej sestavit ze zdrojového kódu)
+- [Nimbus](https://github.com/status-im/nimbus-eth2/releases/latest)
+- [Prysm](https://github.com/prysmaticlabs/prysm/releases/latest)
+- [Teku](https://github.com/ConsenSys/teku/releases)
+
+[Diverzita klientů](/developers/docs/nodes-and-clients/client-diversity/) je klíčová pro konsensuální uzly provozující validátory. Pokud většina validátorů provozuje jedinou implementaci klienta, je ohrožena bezpečnost sítě. Proto se doporučuje zvážit výběr menšinového klienta.
+
+[Podívejte se na nejnovější využití síťových klientů](https://clientdiversity.org/) a zjistěte více o [diverzitě klientů](/developers/docs/nodes-and-clients/client-diversity).
+
+##### Ověření softwaru
+
+Při stahování softwaru z internetu se doporučuje ověřit jeho integritu. Tento krok je nepovinný, ale zejména u klíčové části infrastruktury, jako je klient Etherea, je důležité si uvědomit potenciální vektory útoku a vyhnout se jim. Pokud jste si stáhli předpřipravený binární soubor, musíte mu důvěřovat a riskovat, že by útočník mohl spustitelný soubor vyměnit za škodlivý.
+
+Vývojáři podepisují vydané binární soubory svými klíči PGP, takže si můžete kryptograficky ověřit, že spouštíte přesně ten software, který vytvořili. Stačí získat veřejné klíče používané vývojáři, které naleznete na stránkách s vydáními klientů nebo v dokumentaci. Po stažení vydání klienta a jeho podpisu je můžete snadno ověřit pomocí implementace PGP, např. [GnuPG](https://gnupg.org/download/index.html). Podívejte se na návod k ověřování open-source softwaru pomocí `gpg` na [Linuxu](https://www.tecmint.com/verify-pgp-signature-downloaded-software/) nebo [Windows/MacOS](https://freedom.press/training/verifying-open-source-software/).
+
+Další formou ověření je ujistit se, že haš, jedinečný kryptografický otisk, softwaru, který jste stáhli, se shoduje s tím, který poskytli vývojáři. To je ještě jednodušší než použití PGP a někteří klienti nabízejí pouze tuto možnost. Stačí spustit hašovací funkci na staženém softwaru a porovnat ji s tou ze stránky vydání. Například:
+
+```sh
+sha256sum teku-22.6.1.tar.gz
+
+9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde
+```
+
+#### Nastavení klienta {#client-setup}
+
+Po instalaci, stažení nebo zkompilování softwaru klienta jste připraveni jej spustit. To pouze znamená, že musí být spuštěn se správnou konfigurací. Klienti nabízejí bohaté možnosti konfigurace, které mohou povolit různé funkce.
+
+Začněme možnostmi, které mohou výrazně ovlivnit výkon klienta a využití dat. [Režimy synchronizace](/developers/docs/nodes-and-clients/#sync-modes) představují různé metody stahování a validace dat blockchainu. Před spuštěním uzlu byste se měli rozhodnout, jakou síť a režim synchronizace použít. Nejdůležitějšími věcmi, které je třeba zvážit, jsou místo na disku a doba synchronizace, kterou bude klient potřebovat. Věnujte pozornost dokumentaci klienta, abyste zjistili, který režim synchronizace je výchozí. Pokud vám to nevyhovuje, vyberte si jiný na základě úrovně zabezpečení, dostupných dat a nákladů. Kromě synchronizačního algoritmu můžete také nastavit prořezávání (pruning) různých druhů starých dat. Prořezávání (pruning) umožňuje mazat zastaralá data, tj. odstraňovat uzly stavového trie, které jsou nedosažitelné z posledních bloků.
+
+Další základní možnosti konfigurace jsou např. výběr sítě – Mainnet nebo testnety, povolení HTTP endpointu pro RPC nebo WebSockets atd. Všechny funkce a možnosti naleznete v dokumentaci klienta. Různé konfigurace klienta lze nastavit spuštěním klienta s odpovídajícími příznaky přímo v CLI nebo konfiguračním souboru. Každý klient je trochu jiný; podrobnosti o možnostech konfigurace naleznete vždy v jeho oficiální dokumentaci nebo na stránce nápovědy.
+
+Pro účely testování můžete preferovat spuštění klienta na jedné z testovacích sítí. [Podívejte se na přehled podporovaných sítí](/developers/docs/nodes-and-clients/#execution-clients).
+
+Příklady spuštění exekučních klientů se základní konfigurací naleznete v další části.
+
+#### Spuštění exekučního klienta {#starting-the-execution-client}
+
+Před spuštěním softwaru klienta Etherea proveďte poslední kontrolu, zda je vaše prostředí připraveno. Například se ujistěte, že:
+
+- Je dostatek místa na disku s ohledem na zvolenou síť a režim synchronizace.
+- Paměť a CPU nejsou vytíženy jinými programy.
+- Operační systém je aktualizován na nejnovější verzi.
+- Systém má správný čas a datum.
+- Váš router a firewall přijímají připojení na naslouchajících portech. Ve výchozím nastavení používají klienti Etherea naslouchací port (TCP) a port pro zjišťování (UDP), oba ve výchozím nastavení na 30303.
+
+Nejprve spusťte klienta na testnetu, abyste se ujistili, že vše funguje správně.
+
+Na začátku musíte deklarovat všechna nastavení klienta, která nejsou výchozí. Pro deklarování preferované konfigurace můžete použít příznaky nebo konfigurační soubor. Sada funkcí a syntaxe konfigurace se u každého klienta liší. Specifika naleznete v dokumentaci vašeho klienta.
+
+Exekuční a konsensuální klienti komunikují prostřednictvím ověřeného koncového bodu specifikovaného v [Engine API](https://github.com/ethereum/execution-apis/tree/main/src/engine). Aby se mohl exekuční klient připojit ke konsensuálnímu klientovi, musí vygenerovat [`jwtsecret`](https://jwt.io/) ve známé cestě. Z bezpečnostních a stabilizačních důvodů by klienti měli běžet na stejném stroji a oba klienti musí znát tuto cestu, protože se používá k ověření lokálního připojení RPC mezi nimi. Exekuční klient musí také definovat naslouchací port pro ověřená API.
+
+Tento token je generován automaticky softwarem klienta, ale v některých případech jej možná budete muset vytvořit sami. Můžete jej vygenerovat pomocí [OpenSSL](https://www.openssl.org/):
+
+```sh
+openssl rand -hex 32 > jwtsecret
+```
+
+#### Spuštění exekučního klienta {#running-an-execution-client}
+
+Tato část vás provede spuštěním exekučních klientů. Slouží pouze jako příklad základní konfigurace, která spustí klienta s těmito nastaveními:
+
+- Určuje síť pro připojení, v našich příkladech Mainnet
+ - Pro předběžné testování vašeho nastavení si můžete místo toho vybrat [jeden z testnetů](/developers/docs/networks/)
+- Definuje datový adresář, kde budou uložena všechna data včetně blockchainu
+ - Ujistěte se, že cestu nahradíte skutečnou, např. odkazující na váš externí disk
+- Povoluje rozhraní pro komunikaci s klientem
+ - Včetně JSON-RPC a Engine API pro komunikaci s konsensuálním klientem
+- Definuje cestu k `jwtsecret` pro ověřené API
+ - Ujistěte se, že příkladovou cestu nahradíte skutečnou, ke které mají klienti přístup, např. `/tmp/jwtsecret`
+
+Mějte na paměti, že se jedná pouze o základní příklad, všechna ostatní nastavení budou nastavena na výchozí hodnoty. Věnujte pozornost dokumentaci každého klienta, abyste se dozvěděli o výchozích hodnotách, nastaveních a funkcích. Pro více funkcí, například pro provozování validátorů, monitorování atd., se prosím obraťte na dokumentaci konkrétního klienta.
+
+> Všimněte si, že zpětná lomítka `\` v příkladech slouží pouze pro účely formátování; konfigurační příznaky lze definovat na jednom řádku.
+
+##### Spuštění Besu
+
+Tento příklad spouští Besu na Mainnetu, ukládá data blockchainu ve výchozím formátu na `/data/ethereum`, povoluje JSON-RPC a Engine RPC pro připojení konsensuálního klienta. Engine API je ověřeno tokenem `jwtsecret` a jsou povolána pouze volání z `localhost`.
+
+```sh
+besu --network=mainnet \
+ --data-path=/data/ethereum \
+ --rpc-http-enabled=true \
+ --engine-rpc-enabled=true \
+ --engine-host-allowlist="*" \
+ --engine-jwt-enabled=true \
+ --engine-jwt-secret=/path/to/jwtsecret
+```
+
+Besu také přichází s možností spouštěče, který položí řadu otázek a vygeneruje konfigurační soubor. Spusťte interaktivní spouštěč pomocí:
+
+```sh
+besu --Xlauncher
+```
+
+[Dokumentace Besu](https://besu.hyperledger.org/public-networks/get-started/start-node/) obsahuje další možnosti a podrobnosti o konfiguraci.
+
+##### Spuštění Erigonu
+
+Tento příklad spouští Erigon na Mainnetu, ukládá data blockchainu na `/data/ethereum`, povoluje JSON-RPC, definuje, které jmenné prostory jsou povoleny, a povoluje ověřování pro připojení konsensuálního klienta, což je definováno cestou k `jwtsecret`.
+
+```sh
+erigon --chain mainnet \
+ --datadir /data/ethereum \
+ --http --http.api=engine,eth,web3,net \
+ --authrpc.jwtsecret=/path/to/jwtsecret
+```
+
+Erigon ve výchozím nastavení provádí plnou synchronizaci s 8GB HDD, což bude mít za následek více než 2 TB archivních dat. Ujistěte se, že `datadir` ukazuje na disk s dostatkem volného místa, nebo se podívejte na příznak `--prune`, který může oříznout různé druhy dat. Pro více informací se podívejte na `--help` Erigonu.
+
+##### Spuštění Gethu
+
+Tento příklad spouští Geth na Mainnetu, ukládá data blockchainu na `/data/ethereum`, povoluje JSON-RPC a definuje, které jmenné prostory jsou povoleny. Také povoluje ověřování pro připojení konsensuálního klienta, což vyžaduje cestu k `jwtsecret` a také možnost definující, která připojení jsou povolena, v našem příkladu pouze z `localhost`.
+
+```sh
+geth --mainnet \
+ --datadir "/data/ethereum" \
+ --http --authrpc.addr localhost \
+ --authrpc.vhosts="localhost" \
+ --authrpc.port 8551
+ --authrpc.jwtsecret=/path/to/jwtsecret
+```
+
+Podívejte se na [dokumentaci pro všechny možnosti konfigurace](https://geth.ethereum.org/docs/fundamentals/command-line-options) a dozvíte se více o [provozování Gethu s konsensuálním klientem](https://geth.ethereum.org/docs/getting-started/consensus-clients).
+
+##### Spuštění Nethermindu
+
+Nethermind nabízí různé [možnosti instalace](https://docs.nethermind.io/get-started/installing-nethermind). Balíček obsahuje různé binární soubory, včetně spouštěče s průvodcem nastavení, který vám pomůže interaktivně vytvořit konfiguraci. Alternativně najdete Runner, což je samotný spustitelný soubor, a můžete jej spustit s konfiguračními příznaky. JSON-RPC je ve výchozím nastavení povoleno.
+
+```sh
+Nethermind.Runner --config mainnet \
+ --datadir /data/ethereum \
+ --JsonRpc.JwtSecretFile=/path/to/jwtsecret
+```
+
+Dokumentace Nethermind nabízí [kompletního průvodce](https://docs.nethermind.io/get-started/running-node/) provozováním Nethermindu s konsensuálním klientem.
+
+Exekuční klient spustí své základní funkce, zvolené koncové body a začne hledat peery. Po úspěšném nalezení peerů klient zahájí synchronizaci. Exekuční klient bude čekat na připojení od konsensuálního klienta. Aktuální data blockchainu budou k dispozici, jakmile bude klient úspěšně synchronizován s aktuálním stavem.
+
+##### Spuštění Reth
+
+Tento příklad spouští Reth na Mainnetu s použitím výchozího umístění dat. Povoluje JSON-RPC a ověřování Engine RPC pro připojení konsensuálního klienta, což je definováno cestou k `jwtsecret`, přičemž jsou povolena pouze volání z `localhost`.
+
+```sh
+reth node \
+ --authrpc.jwtsecret /path/to/jwtsecret \
+ --authrpc.addr 127.0.0.1 \
+ --authrpc.port 8551
+```
+
+Podívejte se na [Konfigurace Reth](https://reth.rs/run/config.html?highlight=data%20directory#configuring-reth), abyste se dozvěděli více o výchozích datových adresářích. [Dokumentace Reth](https://reth.rs/run/mainnet.html) obsahuje další možnosti a podrobnosti o konfiguraci.
+
+#### Spuštění konsensuálního klienta {#starting-the-consensus-client}
+
+Konsensuální klient musí být spuštěn se správnou konfigurací portu, aby se navázalo lokální připojení RPC k exekučnímu klientovi. Konsensuální klienti musí být spuštěni s portem vystaveným exekučním klientem jako konfiguračním argumentem.
+
+Konsensuální klient také potřebuje cestu k souboru `jwt-secret` exekučního klienta, aby mohl ověřit připojení RPC mezi nimi. Podobně jako v příkladech s exekučními klienty výše, každý konsensuální klient má konfigurační příznak, který jako argument přijímá cestu k souboru s tokenem jwt. Ta musí být shodná s cestou k `jwtsecret` poskytnutou exekučnímu klientovi.
+
+Pokud plánujete provozovat validátora, ujistěte se, že jste přidali konfigurační příznak specifikující adresu Etherea příjemce poplatků. Zde se hromadí odměny v etheru pro vašeho validátora. Každý konsensuální klient má možnost, např. `--suggested-fee-recipient=0xabcd1`, která jako argument přijímá adresu Etherea.
+
+Při spouštění Beacon Node na testnetu můžete ušetřit značný čas synchronizace použitím veřejného koncového bodu pro [Checkpoint sync](https://notes.ethereum.org/@launchpad/checkpoint-sync).
+
+#### Spuštění konsensuálního klienta {#running-a-consensus-client}
+
+##### Spuštění Lighthouse
+
+Před spuštěním Lighthouse se dozvíte více o tom, jak jej nainstalovat a nakonfigurovat v [Lighthouse Booku](https://lighthouse-book.sigmaprime.io/installation.html).
+
+```sh
+lighthouse beacon_node \
+ --network mainnet \
+ --datadir /data/ethereum \
+ --http \
+ --execution-endpoint http://127.0.0.1:8551 \
+ --execution-jwt /path/to/jwtsecret
+```
+
+##### Spuštění Lodestaru
+
+Nainstalujte software Lodestar kompilací nebo stažením obrazu Docker. Více se dozvíte v [dokumentaci](https://chainsafe.github.io/lodestar/) a v podrobnějším [průvodci nastavením](https://hackmd.io/@philknows/rk5cDvKmK).
+
+```sh
+lodestar beacon \
+ --dataDir="/data/ethereum" \
+ --network=mainnet \
+ --eth1.enabled=true \
+ --execution.urls="http://127.0.0.1:8551" \
+ --jwt-secret="/path/to/jwtsecret"
+```
+
+##### Spuštění Nimbus
+
+Nimbus přichází s konsensuálním i exekučním klientem. Může být spuštěn na různých zařízeních, dokonce i s velmi skromným výpočetním výkonem.
+Po [instalaci závislostí a samotného Nimbusu](https://nimbus.guide/quick-start.html) můžete spustit jeho konsensuálního klienta:
+
+```sh
+nimbus_beacon_node \
+ --network=mainnet \
+ --web3-url=http://127.0.0.1:8551 \
+ --rest \
+ --jwt-secret="/path/to/jwtsecret"
+```
+
+##### Spuštění Prysm
+
+Prysm přichází se skriptem, který umožňuje snadnou automatickou instalaci. Podrobnosti naleznete v [dokumentaci Prysm](https://prysm.offchainlabs.com/docs/install-prysm/install-with-script/).
+
+```sh
+./prysm.sh beacon-chain \
+ --mainnet \
+ --datadir /data/ethereum \
+ --execution-endpoint=http://localhost:8551 \
+ --jwt-secret=/path/to/jwtsecret
+```
+
+##### Spuštění Teku
+
+```sh
+teku --network mainnet \
+ --data-path "/data/ethereum" \
+ --ee-endpoint http://localhost:8551 \
+ --ee-jwt-secret-file "/path/to/jwtsecret"
+```
+
+Když se konsensuální klient připojí k exekučnímu klientovi, aby si přečetl depozitní kontrakt a identifikoval validátory, připojí se také k ostatním peerům Beacon Node a zahájí synchronizaci konsensuálních slotů od geneze. Jakmile Beacon Node dosáhne aktuální epochy, stane se Beacon API použitelné pro vaše validátory. Dozvíte se více o [Beacon Node API](https://eth2docs.vercel.app/).
+
+### Přidání validátorů {#adding-validators}
+
+Konsensuální klient slouží jako Beacon Node, ke kterému se validátoři připojují. Každý konsensuální klient má svůj vlastní software pro validátory, který je podrobně popsán v jeho příslušné dokumentaci.
+
+Provozování vlastního validátoru umožňuje sólo staking (solo staking), nejúčinnější metodu podpory sítě Etherea, která nevyžaduje důvěru. To však vyžaduje vklad ve výši 32 ETH. Chcete-li spustit validátora na vlastním uzlu s menší částkou, mohl by vás zajímat decentralizovaný pool s operátory uzlů bez oprávnění, jako je [Rocket Pool](https://rocketpool.net/node-operators).
+
+Nejjednodušší způsob, jak začít se stakingem a generováním klíčů validátora, je použít [testnet Hoodi Staking Launchpad](https://hoodi.launchpad.ethereum.org/), který vám umožní otestovat vaše nastavení [provozováním uzlů na Hoodi](https://notes.ethereum.org/@launchpad/hoodi). Až budete připraveni na Mainnet, můžete tyto kroky zopakovat pomocí [Mainnet Staking Launchpadu](https://launchpad.ethereum.org/).
+
+Podívejte se na [stránku o stakingu](/staking) pro přehled možností stakingu.
+
+### Používání uzlu {#using-the-node}
+
+Exekuční klienti nabízejí koncové body [RPC API](/developers/docs/apis/json-rpc/), které můžete použít k odesílání transakcí, interakci s chytrými kontrakty nebo jejich nasazení na síti Etherea různými způsoby:
+
+- Ručním voláním s vhodným protokolem (např. pomocí `curl`)
+- Připojením poskytnuté konzole (např. `geth attach`)
+- Implementací v aplikacích pomocí knihoven web3, např. [web3.py](https://web3py.readthedocs.io/en/stable/overview.html#overview), [ethers](https://github.com/ethers-io/ethers.js/)
+
+Různí klienti mají různé implementace koncových bodů RPC. Existuje však standardní JSON-RPC, který můžete použít s každým klientem. Pro přehled si přečtěte [dokumentaci JSON-RPC](/developers/docs/apis/json-rpc/). Aplikace, které potřebují informace ze sítě Etherea, mohou používat toto RPC. Například populární peněženka MetaMask vám umožňuje [připojit se k vlastnímu koncovému bodu RPC](https://metamask.zendesk.com/hc/en-us/articles/360015290012-Using-a-Local-Node), což má velké výhody v oblasti soukromí a bezpečnosti.
+
+Konsensuální klienti všichni vystavují [Beacon API](https://ethereum.github.io/beacon-APIs), které lze použít ke kontrole stavu konsensuálního klienta nebo ke stahování bloků a konsensuálních dat odesíláním požadavků pomocí nástrojů, jako je [Curl](https://curl.se). Více informací o tomto naleznete v dokumentaci pro každý konsensuální klient.
+
+#### Dosažení RPC {#reaching-rpc}
+
+Výchozí port pro JSON-RPC exekučního klienta je `8545`, ale porty lokálních koncových bodů můžete v konfiguraci upravit. Ve výchozím nastavení je rozhraní RPC dostupné pouze na localhostu vašeho počítače. Chcete-li jej zpřístupnit vzdáleně, můžete jej vystavit veřejnosti změnou adresy na `0.0.0.0`. Tím se stane dostupným přes lokální síť a veřejné IP adresy. Ve většině případů budete také muset nastavit přesměrování portů na vašem routeru.
+
+K vystavování portů na internet přistupujte opatrně, protože to umožní komukoli na internetu ovládat váš uzel. Zlomyslní aktéři by mohli získat přístup k vašemu uzlu, aby shodili váš systém nebo ukradli vaše prostředky, pokud používáte svého klienta jako peněženku.
+
+Jedním ze způsobů, jak se tomu vyhnout, je zabránit modifikaci potenciálně škodlivých metod RPC. Například s Geth můžete deklarovat modifikovatelné metody pomocí příznaku: `--http.api web3,eth,txpool`.
+
+Přístup k rozhraní RPC lze rozšířit vývojem API na okrajové vrstvě nebo aplikací webového serveru, jako je Nginx, a jejich připojením k lokální adrese a portu vašeho klienta. Využití mezivrstvy může také vývojářům umožnit nastavit certifikát pro zabezpečené `https` připojení k rozhraní RPC.
+
+Nastavení webového serveru, proxy nebo externě orientovaného Rest API není jediný způsob, jak poskytnout přístup k koncovému bodu RPC vašeho uzlu. Dalším způsobem, jak nastavit veřejně dostupný koncový bod se zachováním soukromí, je hostovat uzel na vaší vlastní službě onion [Tor](https://www.torproject.org/). To vám umožní dosáhnout RPC mimo vaši lokální síť bez statické veřejné IP adresy nebo otevřených portů. Použití této konfigurace však může umožnit přístup k koncovému bodu RPC pouze přes síť Tor, kterou nepodporují všechny aplikace a může to vést k problémům s připojením.
+
+K tomu si musíte vytvořit vlastní [službu onion](https://community.torproject.org/onion-services/). Podívejte se na [dokumentaci](https://community.torproject.org/onion-services/setup/) o nastavení služby onion pro hostování vaší vlastní. Můžete ji nasměrovat na webový server s proxy na port RPC nebo přímo na RPC.
+
+A konečně, jedním z nejpopulárnějších způsobů poskytování přístupu k interním sítím je připojení VPN. V závislosti na vašem případu použití a počtu uživatelů, kteří potřebují přístup k vašemu uzlu, může být bezpečná VPN připojení volbou. [OpenVPN](https://openvpn.net/) je plně funkční SSL VPN, která implementuje zabezpečené rozšíření sítě na 2. nebo 3. vrstvě OSI pomocí standardního protokolu SSL/TLS, podporuje flexibilní metody ověřování klientů na základě certifikátů, čipových karet a/nebo přihlašovacích údajů s uživatelským jménem/heslem a umožňuje zásady řízení přístupu specifické pro uživatele nebo skupiny pomocí pravidel firewallu aplikovaných na virtuální rozhraní VPN.
+
+### Provozování uzlu {#operating-the-node}
+
+Měli byste pravidelně monitorovat svůj uzel, abyste se ujistili, že funguje správně. Možná budete muset provádět občasnou údržbu.
+
+#### Udržování uzlu online {#keeping-node-online}
+
+Váš uzel nemusí být online neustále, ale měli byste ho udržovat online co nejvíce, aby zůstal v synchronizaci se sítí. Můžete jej vypnout, abyste jej restartovali, ale mějte na paměti, že:
+
+- Vypnutí může trvat několik minut, pokud se poslední stav stále zapisuje na disk.
+- Nucené vypnutí může poškodit databázi, což vyžaduje resynchronizaci celého uzlu.
+- Váš klient se dostane mimo synchronizaci se sítí a bude se muset při restartu znovu synchronizovat. I když uzel může začít synchronizovat od místa, kde byl naposledy vypnut, proces může trvat určitou dobu v závislosti na tom, jak dlouho byl offline.
+
+_Toto se nevztahuje na uzly validátorů konsensuální vrstvy._ Vypnutí vašeho uzlu ovlivní všechny služby na něm závislé. Pokud provozujete uzel pro účely _stakování_, měli byste se snažit minimalizovat prostoje co nejvíce.
+
+#### Vytváření služeb klienta {#creating-client-services}
+
+Zvažte vytvoření služby pro automatické spouštění vašich klientů při startu. Například na serverech s Linuxem by dobrou praxí bylo vytvořit službu, např. s `systemd`, která spouští klienta se správnou konfigurací, pod uživatelem s omezenými oprávněními a automaticky se restartuje.
+
+#### Aktualizace klientů {#updating-clients}
+
+Musíte udržovat svůj software klienta aktuální s nejnovějšími bezpečnostními záplatami, funkcemi a [EIP](/eips/). Zejména před [hard forky](/ethereum-forks/) se ujistěte, že používáte správné verze klienta.
+
+> Před důležitými aktualizacemi sítě EF zveřejňuje příspěvek na svém [blogu](https://blog.ethereum.org). Můžete se [přihlásit k odběru těchto oznámení](https://blog.ethereum.org/category/protocol#subscribe), abyste dostali upozornění na váš e-mail, když váš uzel potřebuje aktualizaci.
+
+Aktualizace klientů je velmi jednoduchá. Každý klient má ve své dokumentaci specifické pokyny, ale proces je obecně jen stažení nejnovější verze a restartování klienta s novým spustitelným souborem. Klient by měl pokračovat tam, kde skončil, ale s aplikovanými aktualizacemi.
+
+Každá implementace klienta má lidsky čitelný řetězec verze, který se používá v protokolu peer-to-peer, ale je také přístupný z příkazového řádku. Tento řetězec verze umožňuje uživatelům zkontrolovat, zda používají správnou verzi, a umožňuje prohlížečům bloků a dalším analytickým nástrojům, které se zajímají o kvantifikaci distribuce konkrétních klientů v síti. Pro více informací o řetězcích verzí se prosím obraťte na dokumentaci jednotlivých klientů.
+
+#### Provozování dalších služeb {#running-additional-services}
+
+Provozování vlastního uzlu vám umožňuje používat služby, které vyžadují přímý přístup k RPC klienta Etherea. Jedná se o služby postavené na Ethereu, jako jsou [řešení vrstvy 2](/developers/docs/scaling/#layer-2-scaling), backend pro peněženky, prohlížeče bloků, vývojářské nástroje a další infrastruktura Etherea.
+
+#### Monitorování uzlu {#monitoring-the-node}
+
+Chcete-li správně monitorovat svůj uzel, zvažte sběr metrik. Klienti poskytují koncové body pro metriky, takže můžete získat komplexní data o svém uzlu. Použijte nástroje jako [InfluxDB](https://www.influxdata.com/get-influxdb/) nebo [Prometheus](https://prometheus.io/) k vytvoření databází, které můžete přeměnit na vizualizace a grafy v softwaru jako [Grafana](https://grafana.com/). Existuje mnoho nastavení pro použití tohoto softwaru a různé řídicí panely Grafana pro vizualizaci vašeho uzlu a celé sítě. Například se podívejte na [návod na monitorování Gethu](/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/).
+
+V rámci monitorování se ujistěte, že sledujete výkon vašeho stroje. Během počáteční synchronizace vašeho uzlu může být software klienta velmi náročný na CPU a RAM. Kromě Grafany můžete k tomu použít nástroje, které nabízí váš operační systém, jako `htop` nebo `uptime`.
+
+## Další čtení {#further-reading}
+
+- [Ethereum Staking Guides](https://github.com/SomerEsat/ethereum-staking-guides) – _Somer Esat, často aktualizováno_
+- [Průvodce | Jak nastavit validátor pro staking na mainnetu Etherea](https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet) _– CoinCashew, často aktualizováno_
+- [Průvodci ETHStaker k provozování validátorů na testnetech](https://github.com/remyroy/ethstaker#guides) – _ETHStaker, pravidelně aktualizováno_
+- [Ukázková aplikace AWS Blockchain Node Runner pro uzly Etherea](https://aws-samples.github.io/aws-blockchain-node-runners/docs/Blueprints/Ethereum) – _AWS, často aktualizováno_
+- [Časté dotazy ke Sloučení pro operátory uzlů](https://notes.ethereum.org/@launchpad/node-faq-merge) – _červenec 2022_
+- [Analýza hardwarových požadavků pro plně validovaný uzel Etherea](https://medium.com/coinmonks/analyzing-the-hardware-requirements-to-be-an-ethereum-full-validated-node-dc064f167902) _– Albert Palau, 24. září 2018_
+- [Provozování plných uzlů Ethereum: Příručka pro sotva motivované](https://medium.com/@JustinMLeroux/running-ethereum-full-nodes-a-guide-for-the-barely-motivated-a8a13e7a0d31) _– Justin Leroux, 7. listopadu 2019_
+- [Spuštění uzlu Hyperledger Besu na mainnetu Etherea: Výhody, požadavky a nastavení](https://pegasys.tech/running-a-hyperledger-besu-node-on-the-ethereum-mainnet-benefits-requirements-and-setup/) _– Felipe Faraggi, 7. května 2020_
+- [Nasazení klienta Nethermind Ethereum s monitorovacím balíčkem](https://medium.com/nethermind-eth/deploying-nethermind-ethereum-client-with-monitoring-stack-55ce1622edbd) _– Nethermind.eth, 8. července 2020_
+
+## Související témata {#related-topics}
+
+- [Uzly a klienti](/developers/docs/nodes-and-clients/)
+- [Bloky](/developers/docs/blocks/)
+- [Sítě](/developers/docs/networks/)
diff --git a/public/content/translations/cs/developers/docs/oracles/index.md b/public/content/translations/cs/developers/docs/oracles/index.md
new file mode 100644
index 00000000000..b4c6ce0ea2d
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/oracles/index.md
@@ -0,0 +1,433 @@
+---
+title: Data oracle
+description: Orákula poskytují smart kontraktům na Ethereu přístup k reálným datům, čímž otevírají nové způsoby použití a přinášejí větší hodnotu pro uživatele.
+lang: cs
+---
+
+Oracles jsou aplikace, které vytvářejí datové kanály, jež zpřístupňují blockchainu pro smart kontrakty offchainové datové zdroje. To je nezbytné, protože smart kontrakty založené na Ethereu nemohou ve výchozím nastavení přistupovat k informacím uloženým mimo blockchainovou síť.
+
+Poskytnutí možnosti smart kontraktům provádět operace s využitím offchainových dat rozšiřuje užitečnost a hodnotu decentralizovaných aplikací. Například onchainové predikční trhy se spoléhají na oracles, které jim poskytují informace o výsledcích, jež používají k ověření předpovědí uživatelů. Představme si, že Alice vsadí 20 ETH na to, kdo se stane příštím prezidentem USA. V takovém případě bude predikční aplikace potřebovat orákulum, které potvrdí výsledky voleb a určilí, zda má Alice nárok na výplatu.
+
+## Předpoklady {#prerequisites}
+
+Tato stránka předpokládá, že je čtenář obeznámen se základy Etherea, včetně [uzlů](/developers/docs/nodes-and-clients/), [mechanismů konsenzu](/developers/docs/consensus-mechanisms/) a [EVM](/developers/docs/evm/). Měli byste také dobře rozumět [smart kontraktům](/developers/docs/smart-contracts/) a [anatomii smart kontraktů](/developers/docs/smart-contracts/anatomy/), zejména [událostem](/glossary/#events).
+
+## Co je blockchainové orákulum? Co je to blockchain oracle? {#what-is-a-blockchain-oracle}
+
+Oracles jsou aplikace, které získávají, ověřují a přenášejí externí informace (tj. informace uložené mimo blockchain) do smart kontraktů běžících na blockchainu. Kromě „tahání“ offchainových dat a jejich vysílání na Ethereu mohou oracles také „tlačit“ informace z blockchainu do externích systémů, např. odemknutí chytrého zámku, jakmile uživatel odešle poplatek prostřednictvím transakce na Ethereu.
+
+Bez oraclu by byl smart kontrakt zcela omezen na onchainová data.
+
+Orákula se liší podle zdroje dat (jeden nebo více zdrojů), modelů důvěry (centralizované nebo decentralizované) a systémové architektury (okamžité čtení, publikování-odběr a žádost-odpověď). Oracles můžeme také rozlišovat podle toho, zda získávají externí data pro použití onchainovými kontrakty (vstupní oracles), posílají informace z blockchainu do offchainových aplikací (výstupní oracles), nebo provádějí výpočetní úlohy offchain (výpočetní oracles).
+
+## Proč smart kontrakty potřebují orákula? {#why-do-smart-contracts-need-oracles}
+
+Mnoho vývojářů vidí smart kontrakty jako kód běžící na specifických adresách na blockchainu. Obecnější [pohled na smart kontrakty](/smart-contracts/) je však takový, že se jedná o samočinně se provádějící softwarové programy, které jsou schopny vynucovat dohody mezi stranami, jakmile jsou splněny určité podmínky – odtud pochází termín „smart kontrakty“.
+
+Použití smart kontraktů k vynucování dohod mezi lidmi však není jednoduché, vzhledem k tomu, že Ethereum je deterministické. [Deterministický systém](https://en.wikipedia.org/wiki/Deterministic_algorithm) je takový systém, který při daném počátečním stavu a konkrétním vstupu vždy produkuje stejné výsledky, což znamená, že v procesu výpočtu výstupů ze vstupů není žiadna náhodnost ani variace.
+
+Pro dosažení deterministického provádění omezují blockchainy uzly na dosažení konsenzu u jednoduchých binárních otázek (pravda/nepravda) s použitím _pouze_ dat uložených na samotném blockchainu. Příklady takových otázek zahrnují:
+
+- „Podepsal vlastník účtu (identifikovaný veřejným klíčem) tuto transakci přidruženým privátním klíčem?“
+- „Má tento účet dostatek prostředků na pokrytí transakce?“
+- „Je tato transakce platná v kontextu tohoto smart kontraktu?“ atd.
+
+Pokud by blockchainy dostávaly informace z externích zdrojů (tj. z reálného světa), nebylo by možné dosáhnout determinismu, což by bránilo uzlům dohodnout se na platnosti změn stavu blockchainu. Vezměme si například smart kontrakt, který provádí transakci na základě aktuálního směnného kurzu ETH/USD získaného z tradičního cenového API. Tato hodnota se pravděpodobně bude často měnit (nemluvě o tom, že API může být zrušeno nebo napadeno), což znamená, že síťové uzly provádějící stejný kód kontraktu by dospěly k různým výsledkům.
+
+U veřejného blockchainu, jako je Ethereum, kde tisíce síťových uzlů po celém světě zpracovávají transakce, je determinismus klíčový. Bez centrální autority, která by sloužila jako zdroj pravdy, potřebují tyto uzly mechanismy, které jim umožní dosáhnout stejného stavu po aplikaci stejných transakcí. Pokud by uzel A vykonal kód smart kontraktu a dosáhl výsledku "3", zatímco uzel B by při provedení stejné transakce dosáhl výsledku "7", došlo by k narušení konsensu a Ethereum by ztratilo svou hodnotu jako decentralizovaná výpočetní platforma.
+
+Tento scénář také zdůrazňuje problém s navrhováním blockchainů tak, aby získávaly informace z externích zdrojů. Oracles však tento problém řeší tak, že berou informace z offchainových zdrojů a ukládají je na blockchain, aby je mohly smart kontrakty využívat. Protože informace uložené onchain jsou neměnné a veřejně dostupné, mohou uzly Etherea bezpečně používat offchainová data importovaná oraclem k výpočtu změn stavu bez narušení konsenzu.
+
+Za tímto účelem se oracle obvykle skládá ze smart kontraktu běžícího onchain a některých offchainových komponent. Onchainový kontrakt přijímá požadavky na data od jiných smart kontraktů, které předává offchainové komponentě (nazývané uzel oraclu). Tento orákulový uzel může dotazovat zdroje dat – například pomocí aplikačních programových rozhraní (API) – a zasílat transakce pro uložení požadovaných dat do úložiště smart kontraktu.
+
+Orákulum v podstatě překlenuje informační propast mezi blockchainem a externím prostředím a vytváří „hybridní smart kontrakty“. Hybridní smart kontrakt je takový, který funguje na základě kombinace kódu onchainového kontraktu a offchainové infrastruktury. Decentralizované predikční trhy jsou vynikajícím příkladem hybridních smart kontraktů. Dalšími příklady mohou být smart kontrakty určené k pojištění plodin, které vyplácejí pojistné plnění, když určitá orákula určí, že došlo k určitému meteorologickému jevu.
+
+## Jaké problémy se s orákuly pojí? Problém oracles {#the-oracle-problem}
+
+Orákula řeší důležitý problém, ale zároveň přinášejí některé komplikace, např.,:
+
+- Jak ověříme, že zadané informace byly získány ze správného zdroje nebo že nebyly pozměněny?
+
+- Jak zajistíme, že tato data budou vždy dostupná a pravidelně aktualizovaná?
+
+Takzvané „problémy orákulí“ poukazuje na problémy spojené s používáním blockchainových orákul k zasílání vstupů do smart kontraktů. Data z orákula musí být správná, aby mohl smart kontrakt správně fungovat. Navíc nutnost „důvěřovat“ operátorům orákul, že poskytují přesné informace, podkopává „bezpečnost bez nutnosti důvěry“, kterou smart kontrakty slibují.
+
+Různá orákula nabízejí různé způsoby řešení problému orákulí, které prozkoumáme později. Orákula jsou obvykle hodnocena na základě toho, jak dobře zvládají následující výzvy:
+
+1. **Správnost**: Oracle by neměl způsobovat, aby smart kontrakty spouštěly změny stavu na základě neplatných offchainových dat. Oracle musí zaručit _pravost_ a _integritu_ dat. Pravost znamená, že data byla získána ze správného zdroje, zatímco integrita znamená, že data zůstala nedotčena (tj. nebyla změněna) před odesláním onchain.
+
+2. **Dostupnost**: Oracle by neměl zdržovat nebo bránit smart kontraktům v provádění akcí a spouštění změn stavu. To znamená, že data z oraclu musí být _dostupná na vyžádání_ bez přerušení.
+
+3. **Kompatibilita pobídek**: Oracle by měl motivovat offchainové poskytovatele dat k předkládání správných informací smart kontraktům. Kompatibilita pobídek zahrnuje _přiřaditelnost_ a _odpovědnost_. Možnost přiřazení umožňuje spojit externí informaci s jejím poskytovatelem, zatímco odpovědnost váže poskytovatele dat k informacím, které poskytují, aby mohli být odměněni nebo potrestáni na základě kvality poskytnutých informací.
+
+## Jak funguje služba blockchainového orákula? Jak funguje služba blockchain oracle? {#how-does-a-blockchain-oracle-service-work}
+
+### Uživatelé {#users}
+
+Uživatelé jsou entity (tj. smart kontrakty), které potřebují informace mimo blockchain k dokončení konkrétních akcí. Základní pracovní postup služby orákula začíná tím, že uživatel odešle požadavek na data do orákulového kontraktu. Požadavky na data obvykle odpovídají na některé nebo všechny následující otázky:
+
+1. Z jakých zdrojů mohou offchainové uzly čerpat požadované informace?
+
+2. Jak reportující entity zpracovávají informace ze zdrojů dat a extrahují užitečné datové body?
+
+3. Kolik orákulových uzlů se může podílet na získávání dat?
+
+4. Jak by měly být řešeny nesrovnalosti v orákulových reportech?
+
+5. Jakou metodou by mělo být implementováno filtrování příspěvků a agregace zpráv do jedné hodnoty?
+
+### Kontrakt oraclu {#oracle-contract}
+
+Kontrakt oraclu je onchainová komponenta služby oraclu. Naslouchá požadavkům na data od jiných kontraktů, předává dotazy na data orákulovým uzlům a vysílá vrácená data do klientských kontraktů. Tento kontrakt může také provádět určité výpočty na vrácených datových bodech, aby vytvořil agregovanou hodnotu, kterou odešle požadujícímu kontraktu.
+
+Orákulový kontrakt poskytuje některé funkce, které klientské kontrakty volají během podání požadavku na data. Po obdržení nového dotazu smart kontrakt vyšle [událost protokolu](/developers/docs/smart-contracts/anatomy/#events-and-logs) s podrobnostmi o požadavku na data. Tím se upozorní offchainové uzly, které jsou přihlášeny k odběru protokolu (obvykle pomocí příkazu JSON-RPC `eth_subscribe`), a ty následně přistoupí k získání dat definovaných v události protokolu.
+
+Níže je uveden [příklad kontraktu oraclu](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) od Pedra Costy. Jedná se o jednoduchou službu oraclu, která se na žádost jiných smart kontraktů může dotazovat offchainových API a ukládat požadované informace na blockchain:
+
+```solidity
+pragma solidity >=0.4.21 <0.6.0;
+
+contract Oracle {
+ Request[] requests; //seznam požadavků zadaných kontraktu
+ uint currentId = 0; //inkrementální ID požadavku
+ uint minQuorum = 2; //minimální počet odpovědí, které je třeba obdržet před vyhlášením konečného výsledku
+ uint totalOracleCount = 3; // napevno zakódovaný počet oraclů
+
+ // definuje obecný požadavek na API
+ struct Request {
+ uint id; //ID požadavku
+ string urlToQuery; //URL adresa API
+ string attributeToFetch; //atribut JSON (klíč), který se má získat v odpovědi
+ string agreedValue; //hodnota z klíče
+ mapping(uint => string) answers; //odpovědi poskytnuté oracly
+ mapping(address => uint) quorum; //oracles, které se budou dotazovat na odpověď (1=oracle nehlasoval, 2=oracle hlasoval)
+ }
+
+ //událost, která spouští oracle mimo blockchain
+ event NewRequest (
+ uint id,
+ string urlToQuery,
+ string attributeToFetch
+ );
+
+ //spustí se, když dojde ke konsenzu o konečném výsledku
+ event UpdatedRequest (
+ uint id,
+ string urlToQuery,
+ string attributeToFetch,
+ string agreedValue
+ );
+
+ function createRequest (
+ string memory _urlToQuery,
+ string memory _attributeToFetch
+ )
+ public
+ {
+ uint length = requests.push(Request(currentId, _urlToQuery, _attributeToFetch, ""));
+ Request storage r = requests[length-1];
+
+ // napevno zakódovaná adresa oraclů
+ r.quorum[address(0x6c2339b46F41a06f09CA0051ddAD54D1e582bA77)] = 1;
+ r.quorum[address(0xb5346CF224c02186606e5f89EACC21eC25398077)] = 1;
+ r.quorum[address(0xa2997F1CA363D11a0a35bB1Ac0Ff7849bc13e914)] = 1;
+
+ // spustit událost, kterou zjistí oracle mimo blockchain
+ emit NewRequest (
+ currentId,
+ _urlToQuery,
+ _attributeToFetch
+ );
+
+ // zvýšit ID požadavku
+ currentId++;
+ }
+
+ //voláno oraclem pro záznam jeho odpovědi
+ function updateRequest (
+ uint _id,
+ string memory _valueRetrieved
+ ) public {
+
+ Request storage currRequest = requests[_id];
+
+ //zkontrolovat, zda je oracle v seznamu důvěryhodných oraclů
+ //a zda oracle ještě nehlasoval
+ if(currRequest.quorum[address(msg.sender)] == 1){
+
+ //označení, že tato adresa hlasovala
+ currRequest.quorum[msg.sender] = 2;
+
+ //procházet „pole“ odpovědí, dokud není pozice volná, a uložit načtenou hodnotu
+ uint tmpI = 0;
+ bool found = false;
+ while(!found) {
+ //najít první prázdné místo
+ if(bytes(currRequest.answers[tmpI]).length == 0){
+ found = true;
+ currRequest.answers[tmpI] = _valueRetrieved;
+ }
+ tmpI++;
+ }
+
+ uint currentQuorum = 0;
+
+ //procházet seznamem oraclů a zkontrolovat, zda dostatek oraclů (minimální kvorum)
+ //hlasovalo pro stejnou odpověď jako je ta současná
+ for(uint i = 0; i < totalOracleCount; i++){
+ bytes memory a = bytes(currRequest.answers[i]);
+ bytes memory b = bytes(_valueRetrieved);
+
+ if(keccak256(a) == keccak256(b)){
+ currentQuorum++;
+ if(currentQuorum >= minQuorum){
+ currRequest.agreedValue = _valueRetrieved;
+ emit UpdatedRequest (
+ currRequest.id,
+ currRequest.urlToQuery,
+ currRequest.attributeToFetch,
+ currRequest.agreedValue
+ );
+ }
+ }
+ }
+ }
+ }
+}
+```
+
+### Uzly oraclu {#oracle-nodes}
+
+Uzel oraclu je offchainová komponenta služby oraclu. Získává informace z externích zdrojů, jako jsou API hostované на serverech třetích stran, a ukládá je onchain pro využití smart kontrakty. Uzly oraclu naslouchají událostem z onchainového kontraktu oraclu a přistupují k dokončení úkolu popsaného v protokolu.
+
+Běžným úkolem uzlů oraclu je odeslání požadavku [HTTP GET](https://www.w3schools.com/tags/ref_httpmethods.asp) službě API, parsování odpovědi za účelem extrakce relevantních dat, jejich formátování do výstupu čitelného pro blockchain a odeslání onchain zahrnutím do transakce do kontraktu oraclu. Orákulový uzel může být také povinen potvrdit platnost a integritu předkládaných informací pomocí „důkazů autenticity“, které prozkoumáme později.
+
+Výpočetní oracles se také spoléhají na offchainové uzly při provádění výpočetních úloh, které by bylo nepraktické provádět onchain, vzhledem k nákladům na gas a limitům velikosti bloku. Například orákulový uzel může být pověřen generováním ověřitelně náhodného čísla (např. pro hry založené na blockchainu).
+
+## Návrhové vzory oraclů {#oracle-design-patterns}
+
+Oracles se vyskytují v různých typech, včetně _okamžitého čtení_, _publikování-odběru_ a _požadavku-odpovědi_, přičemž poslední dva jsou nejoblíbenější mezi smart kontrakty na Ethereu. V následujících odstavcích krátce popíšeme modely "publikování-odběr" a "žádost-odpověď".
+
+### Oracles typu publikování-odběr {#publish-subscribe-oracles}
+
+Tento typ orákula poskytuje "datový kanál", který mohou ostatní kontrakty pravidelně číst za účelem získání informací. Data v tomto případě často podléhají změnám, takže klientské kontrakty musí sledovat aktualizace dat v úložišti orákula. Příkladem je orákulum, které uživatelům poskytuje nejnovější informace o ceně ETH/USD.
+
+### Oracles typu požadavek-odpověď {#request-response-oracles}
+
+Nastavení "žádost-odpověď" umožňuje klientskému kontraktu požadovat libovolná data jiná než ta, která poskytuje orákulum typu "publikování-odběr". Orákula typu žádost-odpověď jsou ideální, když je dataset příliš velký na to, aby byl uchováván v úložišti smart kontraktu, a nebo když uživatelé potřebují v daném okamžiku pouze malou část dat.
+
+Ačkoli jsou složitější než modely "publikování-odběr", orákula typu žádost-odpověď v zásadě fungují tak, jak jsme popsali v předchozí sekci. Oracle bude mít onchainovou komponentu, která přijímá požadavek na data a předává ho ke zpracování offchainovému uzlu.
+
+Uživatelé, kteří iniciují datové dotazy, musí uhradit náklady na získání informací z offchainového zdroje. Klientský kontrakt musí také poskytnout prostředky na pokrytí palivových nákladů, které vzniknou orákulovému kontraktu při vrácení odpovědi prostřednictvím funkce callback, která je specifikována v požadavku.
+
+## Centralizované vs. decentralizované oracles {#types-of-oracles}
+
+### Centralizované oracles {#centralized-oracles}
+
+Centralizovaný oracle je řízen jedinou entitou, která je zodpovědná za agregaci offchainových informací a aktualizaci dat kontraktu oraclu podle požadavků. Centralizovaná orákula jsou efektivní, protože se spoléhají na jediný zdroj pravdy. Mohou lépe fungovat v případech, kdy jsou proprietární datové sady publikovány přímo vlastníkem s široce akceptovaným podpisem. Nicméně, přinášejí i nevýhody:
+
+#### Nízké záruky správnosti {#low-correctness-guarantees}
+
+U centralizovaných orákul neexistuje způsob, jak ověřit, zda jsou poskytnuté informace správné či nikoliv. I "důvěryhodní" poskytovatelé se mohou stát nedůvěryhodnými nebo mohou být hacknuti. Pokud se orákulum nechá zkorumpovat, smart kontrakty budou vykonávat činnosti na základě špatných dat.
+
+#### Špatná dostupnost {#poor-availability}
+
+U centralizovaných oraclů není zaručeno, že budou offchainová data vždy dostupná ostatním smart kontraktům. Pokud se poskytovatel rozhodne službu vypnout nebo hacker unese offchainovou komponentu oraclu, je váš smart kontrakt vystaven riziku útoku typu DoS (denial of service).
+
+#### Špatná kompatibilita pobídek {#poor-incentive-compatibility}
+
+Centralizovaná orákula často nemají dobře navržené motivace (případně nemajjí vůbec žádné motivace) pro poskytovatele dat, nemohou tak zaručit, že jim budou zasílat přesné a nepozměněné informace. Platba za správnost orákula nezaručuje jeho poctivost. Tento problém se zhoršuje, jakmile se zvýší hodnota, kterou smart kontrakty spravují.
+
+### Decentralizované oracles {#decentralized-oracles}
+
+Decentralizovaná orákula jsou navržena tak, aby překonala omezení centralizovaných orákul odstraněním tzv. jediného bodu selhání. Decentralizovaná služba oraclu se skládá z více účastníků v peer-to-peer síti, kteří dosáhnou konsenzu ohledně offchainových dat před jejich odesláním do smart kontraktu.
+
+Decentralizované orákulum by mělo být (ideálně) bez nutnosti povolení, důvěryhodné a bez nutnosti správy centrální stranou; ve skutečnosti je však decentralizace mezi orákuly spektrální. Existují polodecentralizované sítě orákulí, do kterých se může zapojit kdokoliv, ale s „vlastníkem“, který schvaluje a odstraňuje uzly na základě historické výkonnosti. Existují také plně decentralizované orákulové sítě: Ty obvykle fungují jako samostatné blockchainy a mají definované konsensuální mechanismy pro koordinaci uzlů a postihů za špatného chování.
+
+Používání decentralizovaných orákul přináší následující výhody:
+
+### Vysoké záruky správnosti {#high-correctness-guarantees}
+
+Decentralizovaná orákula se snaží zajistit správnost dat pomocí různých přístupů. To zahrnuje použití důkazů potvrzujících pravost a integritu vrácených informací a požadavek, aby se více entit kolektivně shodlo na platnosti offchainových dat.
+
+#### Důkazy pravosti {#authenticity-proofs}
+
+Důkazy autenticity jsou kryptografické mechanismy, které umožňují nezávislé ověření informací získaných z externích zdrojů. Tyto důkazy mohou ověřit zdroj informací a odhalit možné změny provedené v datech poté, co byla obdržena.
+
+Příklady důkazů autenticity zahrnují:
+
+**Důkazy Transport Layer Security (TLS)**: Uzly oraclu často získávají data z externích zdrojů pomocí zabezpečeného připojení HTTP založeného na protokolu Transport Layer Security (TLS). Některá decentralizovaná orákula používají důkazy autenticity k ověření TLS akce (tj. potvrzení výměny informací mezi uzlem a konkrétním serverem) a potvrzení, že obsah akce nebyl změněn.
+
+**Atestace důvěryhodného prostředí pro provádění (TEE)**: [Důvěryhodné prostředí pro provádění](https://en.wikipedia.org/wiki/Trusted_execution_environment) (TEE) je sandboxové výpočetní prostředí, které je izolováno od provozních procesů svého hostitelského systému. TEE zajišťuje, že jakýkoliv aplikační kód nebo data uložená či používaná ve výpočetním prostředí si zachovávají integritu, důvěrnost a neměnnost. Uživatelé mohou také generovat ověření, aby dokázali, že instance aplikace běží v důvěryhodném výpočetním prostředí.
+
+Některé třídy decentralizovaných orákul vyžadují, aby provozovatelé orákulových uzlů poskytovali TEE ověření. To uživateli potvrzuje, že provozovatel uzlu spouští instanci orákulového klienta v důvěryhodném výpočetním prostředí. TEE zabraňují externím procesům měnit nebo číst kód a data aplikace, a proto tato ověření dokazují, že orákulový uzel zachoval informace neporušené a důvěrné.
+
+#### Ověřování informací na základě konsenzu {#consensus-based-validation-of-information}
+
+Centralizovaná orákula se spoléhají na jeden zdroj pravdy při poskytování dat smart kontraktům, což přináší možnost publikace nepřesných informací. Decentralizované oracles řeší tento problém tím, že se spoléhají na více uzlů oraclu, které se dotazují na offchainové informace. Porovnáváním dat z více zdrojů snižují decentralizované oracles riziko předání neplatných informací onchainovým kontraktům.
+
+Decentralizované oracles se však musí vypořádat s nesrovnalostmi v informacích získaných z více offchainových zdrojů. Aby se minimalizovaly rozdíly v informacích a zajistilo se, že data předaná orákulovému kontraktu odrážejí kolektivní názor orákulových uzlů, používají decentralizovaná orákula následující mechanismy:
+
+##### Hlasování nebo staking sloužící k potvrzení správnosti dat
+
+Některé decentralizované orákulové sítě vyžadují, aby účastníci hlasovali nebo aby na důkaz správnosti odpovědí na dotazy (např. „Kdo vyhrál americké volby v roce 2020?“) zastakovali své prostředky pomocí nativního tokenu sítě. Agregační protokol poté sdruží hlasy a zastakovaný kolaterál a odpověď podporovanou většinou bere jako platnou.
+
+Uzlům, jejichž odpovědi se odchylují od většinové odpovědi, jsou jejich tokeny odebrány a dále se rozdělí těm, kteří poskytli správnější hodnoty. Nutnost poskytnout kolaterál před odesláním dat je motivací k poctivým odpovědím, protože se předpokládá, že uzly jednají jako racionální ekonomičtí aktéři s úmyslem maximalizovat své výnosy.
+
+Stakování/hlasování také chrání decentralizované oracles před [útoky Sybil](/glossary/#sybil-attack), kdy škodliví aktéři vytvářejí více identit, aby manipulovali se systémem konsenzu. Nicméně staking nemůže zabránit „parazitování“ (kdy orákulové uzly kopírují informace od ostatních) a „línému ověřování“ (kdy orákulové uzly následují většinu bez vlastního ověření informací).
+
+##### Mechanismy Schellingova bodu
+
+[Schelling point](https://en.wikipedia.org/wiki/Focal_point_\(game_theory\)) je koncept z teorie her, který předpokládá, že více entit bude v nepřítomnosti jakékoli komunikace vždy inklinovat ke společnému řešení problému. Mechanismy Schellingova bodu se často používají v decentralizovaných orákulových sítích, aby v odpovědích na dotazy umožnily uzlům dosáhnout shody.
+
+Ranou myšlenkou byl [SchellingCoin](https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/), navrhovaný datový kanál, kde účastníci zasílají odpovědi na „skalární“ otázky (otázky, jejichž odpovědi jsou popsány velikostí, např. „jaká je cena ETH?“) spolu s vkladem. Uživatelé, kteří poskytnou hodnoty mezi 25. a 75. [percentilem](https://en.wikipedia.org/wiki/Percentile), jsou odměněni, zatímco ti, jejichž hodnoty se výrazně odchylují od mediánu, jsou penalizováni.
+
+Ačkoli SchellingCoin dnes neexistuje, řada decentralizovaných oraclů – zejména [oracly protokolu Maker](https://docs.makerdao.com/smart-contract-modules/oracle-module) – používá mechanismus Schelling point ke zlepšení přesnosti dat oraclu. Každý Maker Oracle se skládá z offchainové P2P sítě uzlů („relayers“ a „feeds“), které předkládají tržní ceny kolaterálových aktiv, a onchainového kontraktu „Medianizer“, který vypočítá medián všech poskytnutých hodnot. Jakmile uplyne stanovená doba zpoždění, tato mediánová hodnota se stává novou referenční cenou daného aktiva.
+
+Dalšími příklady oraclů, které používají mechanismy Schelling point, jsou [Chainlink Offchain Reporting](https://docs.chain.link/architecture-overview/off-chain-reporting) a [Witnet](https://witnet.io/). V obou systémech jsou odpovědi z orákulových uzlů v peer-to-peer síti agregovány do jedné agregované hodnoty, jako je průměr nebo medián. Uzly jsou odměněny nebo penalizovány v závislosti na tom, do jaké míry se jejich odpovědi shodují a nebo jak moc se odchylují od agregované hodnoty.
+
+Mechanismy Schelling point jsou atraktivní, protože minimalizují onchainovou stopu (je třeba odeslat pouze jednu transakci) a zároveň zaručují decentralizaci. To je možné díky tomu, že uzly musí podepsat seznam předložených odpovědí, než je tento seznam předán algoritmu, který vypočítá průměrnou či mediánovou hodnotu.
+
+### Dostupnost {#availability}
+
+Decentralizované služby oraclů zajišťují vysokou dostupnost offchainových dat pro smart kontrakty. Toho je dosaženo decentralizací jak zdroje offchainových informací, tak uzlů odpovědných za přenos informací onchain.
+
+Tím je zajišťema odolnost proti chybám, protože orákulový kontrakt se při plnění dotazů z jiných kontraktů může spolehnout na více uzlů (které se také spoléhají na více zdrojů dat). Decentralizace na úrovni zdroje _a_ operátorů uzlů je klíčová – síť uzlů oraclu poskytujících informace získané ze stejného zdroje se dostane do stejného problému jako centralizovaný oracle.
+
+Je také možné, aby oracly založené na stakování trestaly operátory uzlů, kteří na požadavky o data nereagují dostatečně rychle. To výrazně motivuje orákulové uzly investovat do infrastruktury odolné proti chybám a poskytovat data včas.
+
+### Dobrá kompatibilita pobídek {#good-incentive-compatibility}
+
+Decentralizované oracles implementují různé návrhy pobídek, aby zabránily [byzantskému](https://en.wikipedia.org/wiki/Byzantine_fault) chování mezi uzly oraclu. Konkrétně dosahují _přiřaditelnosti_ a _odpovědnosti_:
+
+1. Decentralizované orákulové uzly mají často povinnost podepisovat data, která poskytují v odpovědi na dotazy na data. Tyto informace pomáhají s hodnocením historického výkonu orákulových uzlů, takže uživatelé mohou při zadávání dotazů na data vyloučit nespolehlivé orákulové uzly. Příkladem je [algoritmický reputační systém](https://docs.witnet.io/intro/about/architecture#algorithmic-reputation-system) od Witnet.
+
+2. Decentralizovaná orákula - jak bylo vysvětleno dříve - mohou vyžadovat, aby uzly vložily kolaterál jako potvrzení důvěry v pravdivost dat, která předkládají. Pokud se ukáže, že jsou data správná, může být tento kolaterál vrácen společně s odměnami za poctivé služby. Pokud jsou však informace nesprávné, může být odebrán, což poskytuje určitý stupeň odpovědnosti.
+
+## Aplikace oraclů ve smart kontraktech {#applications-of-oracles-in-smart-contracts}
+
+Následující příklady jsou běžnými případy použití orákulí na Ethereu:
+
+### Získávání finančních dat {#retrieving-financial-data}
+
+Aplikace [decentralizovaného financování](/defi/) (DeFi) umožňují peer-to-peer půjčování, vypůjčování a obchodování s aktivy. To často vyžaduje různé finanční informace, včetně údajů o směnných kurzech (pro výpočet hodnoty kryptoměn ve fiat měnách nebo pro srovnávání cen tokenů) a údajů z kapitálových trhů (pro výpočet hodnoty tokenizovaných aktiv, jako je zlato nebo americký dolar).
+
+DeFi Protokol pro poskytování půjček se potřebuje dotazovat na aktuální tržní ceny aktiv (např. ETH) uložených jako kolaterál. To umožňuje kontraktu určit hodnotu kolateralizovaných aktiv a stanovit, kolik si může vypůjčit z tohoto systému.
+
+Populární „cenové oracles“ (jak se jim často říká) v DeFi zahrnují Chainlink Price Feeds, [Open Price Feed](https://compound.finance/docs/prices) od Compound Protocol, [Time-Weighted Average Prices (TWAPs)](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) od Uniswapu a [Maker Oracles](https://docs.makerdao.com/smart-contract-modules/oracle-module).
+
+Vývojáři by měli rozumět omezením, které s sebou tato cenová orákula nesou, než je integrují do svého projektu. Tento [článek](https://blog.openzeppelin.com/secure-smart-contract-guidelines-the-dangers-of-price-oracles/) poskytuje podrobnou analýzu toho, co je třeba zvážit při plánování použití kteréhokoli ze zmíněných cenových oraclů.
+
+Níže uvádíme kód, pomocí kterého můžete ve svém smart kontraktu získat aktuální cenu ETH pomocí cenového kanálu od Chainlinku:
+
+```solidity
+pragma solidity ^0.6.7;
+
+import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
+
+contract PriceConsumerV3 {
+
+ AggregatorV3Interface internal priceFeed;
+
+ /**
+ * Síť: Kovan
+ * Agregátor: ETH/USD
+ * Adresa: 0x9326BFA02ADD2366b30bacB125260Af641031331
+ */
+ constructor() public {
+ priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331);
+ }
+
+ /**
+ * Vrátí nejnovější cenu
+ */
+ function getLatestPrice() public view returns (int) {
+ (
+ uint80 roundID,
+ int price,
+ uint startedAt,
+ uint timeStamp,
+ uint80 answeredInRound
+ ) = priceFeed.latestRoundData();
+ return price;
+ }
+}
+```
+
+### Generování ověřitelné náhodnosti {#generating-verifiable-randomness}
+
+Některé blockchainové aplikace, jako jsou blockchainové hry nebo loterie, vyžadují vysokou úroveň nepředvídatelnosti a náhodnosti, aby mohly efektivně fungovat. Deterministické provádění transakcí na blockchainu však eliminuje náhodnost.
+
+Původní přístup spočíval v použití pseudonáhodných kryptografických funkcí, jako je `blockhash`, ale ty mohly být [manipulovány těžaři](https://ethereum.stackexchange.com/questions/3140/risk-of-using-blockhash-other-miners-preventing-attack#:~:text=So%20while%20the%20miners%20can,to%20one%20of%20the%20players.) při řešení algoritmu proof-of-work. Přechod Etherea na [proof-of-stake](/roadmap/merge/) také znamená, že vývojáři se již nemohou spoléhat na `blockhash` pro onchainovou náhodnost. Mechanismus [RANDAO](https://eth2book.info/altair/part2/building_blocks/randomness) řetězce Beacon Chain místo toho poskytuje alternativní zdroj náhodnosti.
+
+Je možné generovat náhodnou hodnotu offchain a poslat ji onchain, ale to klade vysoké nároky na důvěru uživatelů. Musí věřit, že hodnota byla skutečně vygenerována nepředvídatelným způsobem a nebyla během přenosu změněna.
+
+Oracly určené pro offchainové výpočty řeší tento problém bezpečným generováním náhodných výsledků offchain, které vysílají onchain spolu s kryptografickými důkazy potvrzujícími nepředvídatelnost procesu. Příkladem je [Chainlink VRF](https://docs.chain.link/docs/chainlink-vrf/) (Verifiable Random Function), což je prokazatelně spravedlivý a proti neoprávněné manipulaci odolný generátor náhodných čísel (RNG), který je užitečný pro vytváření spolehlivých smart kontraktů pro aplikace, které se spoléhají na nepředvídatelné výsledky.
+
+### Získávání výsledků událostí {#getting-outcomes-for-events}
+
+S orákuly je snadné vytvářet smart kontrakty, které reagují na reálné události. Služby oraclů to umožňují tím, že kontraktům dovolují připojit se k externím API prostřednictvím offchainových komponent a využívat informace z těchto datových zdrojů. Například dříve zmíněná predikční dApp může požádat oracle, aby vrátil výsledky voleb z důvěryhodného offchainového zdroje (např. Associated Press).
+
+Použití orákul k získávání dat na základě reálných výsledků umožňuje další nové případy použití; například decentralizovaný pojišťovací produkt potřebuje přesné informace o počasí, katastrofách atd., aby mohl efektivně fungovat.
+
+### Automatizace smart kontraktů {#automating-smart-contracts}
+
+Smart kontrakty se nespouštějí automaticky; externě vlastněný účet (EOA) nebo jiný kontraktový účet musí za účelem spuštění smart kontraktu zavolat ty správné funkce. Ve většině případů jsou hlavní funkce kontraktu veřejné a mohou být vyvolány EOA nebo jinými kontrakty.
+
+Existují však také _soukromé funkce_ v rámci kontraktu, které jsou pro ostatní nepřístupné, ale které jsou klíčové pro celkovou funkčnost dApp. Příklady zahrnují funkci `mintERC721Token()`, která periodicky razí nové NFT pro uživatele, funkci pro udělování výplat na predikčním trhu nebo funkci pro odemknutí stakovaných tokenů v DEX.
+
+Pro zajištění hladké funkčnosti aplikace musí vývojáři tyto funkce spouštět v intervalech. To však může vést ke ztrátě času vývojářů na rutinních úkolech, což je důvod, proč je automatizace spouštění smart kontraktů atraktivní.
+
+Některé decentralizované sítě oraclů nabízejí automatizační služby, které umožňují offchainovým uzlům oraclu spouštět funkce smart kontraktu podle parametrů definovaných uživatelem. Typicky to vyžaduje „registraci“ cílového kontraktu u orákulové služby, poskytnutí prostředků na zaplacení provozovatele orákula a specifikaci podmínek nebo časů pro spuštění kontraktu.
+
+[Keeper Network](https://chain.link/keepers) od Chainlinku poskytuje smart kontraktům možnosti, jak zadat externě pravidelné úkoly údržby s minimalizovanou důvěrou a decentralizovaným způsobem. Přečtěte si oficiální [dokumentaci Keeper's](https://docs.chain.link/docs/chainlink-keepers/introduction/) pro informace o tom, jak učinit váš kontrakt kompatibilní s Keeper a jak používat službu Upkeep.
+
+## Jak používat blockchain oracles {#use-blockchain-oracles}
+
+Existuje několik orákulových aplikací, které můžete integrovat do své dappky na Ethereu:
+
+**[Chainlink](https://chain.link/)** – _decentralizované sítě oraclů Chainlink poskytují vstupy, výstupy a výpočty odolné proti neoprávněné manipulaci pro podporu pokročilých smart kontraktů na jakémkoli blockchainu._
+
+**[RedStone Oracles](https://redstone.finance/)** – _RedStone je decentralizovaný modulární oracle, který poskytuje datové kanály optimalizované z hlediska gasu. Specializuje se na poskytování cenových kanálů pro nově vznikající aktiva, jako jsou liquid staking tokeny (LST), liquid restaking tokeny (LRT) a deriváty stakování Bitcoinu._
+
+**[Chronicle](https://chroniclelabs.org/)** – _Chronicle překonává současná omezení přenosu dat onchain vývojem skutečně škálovatelných, nákladově efektivních, decentralizovaných a ověřitelných oraclů._
+
+**[Witnet](https://witnet.io/)** – _Witnet je decentralizovaný oracle bez oprávnění a odolný proti cenzuře, který pomáhá smart kontraktům reagovat na události reálného světa se silnými krypto-ekonomickými zárukami._
+
+**[UMA Oracle](https://uma.xyz)** – _Optimistický oracle od UMA umožňuje smart kontraktům rychle přijímat jakýkoli druh dat pro různé aplikace, včetně pojištění, finančních derivátů a predikčních trhů._
+
+**[Tellor](https://tellor.io/)** – _Tellor je transparentní protokol oraclu bez oprávnění, díky kterému váš smart kontrakt snadno získá jakákoli data, kdykoli je potřebuje._
+
+**[Band Protocol](https://bandprotocol.com/)** – _Band Protocol je cross-chainová platforma datových oraclů, která agreguje a propojuje data z reálného světa a API se smart kontrakty._
+
+**[Pyth Network](https://pyth.network/)** – _Síť Pyth je finanční síť oraclů první strany navržená tak, aby publikovala nepřetržitá data z reálného světa onchain v prostředí odolném proti neoprávněné manipulaci, decentralizovaném a soběstačném._
+
+**[API3 DAO](https://www.api3.org/)** – _API3 DAO dodává řešení oraclů první strany, která poskytují větší transparentnost zdroje, bezpečnost a škálovatelnost v decentralizovaném řešení pro smart kontrakty_
+
+**[Supra](https://supra.com/)** – vertikálně integrovaná sada cross-chainových řešení, která propojují všechny blockchainy, veřejné (L1 a L2) i soukromé (podnikové), a poskytují decentralizované cenové kanály oraclů, které lze použít pro onchainové i offchainové případy použití.
+
+**[Gas Network](https://gas.network/)** – distribuovaná platforma oraclů poskytující data o ceně gasu v reálném čase napříč blockchainy. Tím, že přináší onchain data od předních poskytovatelů dat o cenách gasu, pomáhá Gas Network podporovat interoperabilitu. Gas Network podporuje data pro více než 35 řetězců, včetně mainnetu Ethereum a mnoha předních L2.
+
+## Další literatura {#further-reading}
+
+**Články**
+
+- [Co je to blockchain oracle?](https://chain.link/education/blockchain-oracles) – _Chainlink_
+- [Co je to blockchain oracle?](https://medium.com/better-programming/what-is-a-blockchain-oracle-f5ccab8dbd72) – _Patrick Collins_
+- [Decentralizované oracles: komplexní přehled](https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841) – _Julien Thevenard_
+- [Implementace blockchain oraclu na Ethereu](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) – _Pedro Costa_
+- [Proč nemohou smart kontrakty volat API?](https://ethereum.stackexchange.com/questions/301/why-cant-contracts-make-api-calls) – _StackExchange_
+- [Takže chcete použít cenový oracle](https://samczsun.com/so-you-want-to-use-a-price-oracle/) – _samczsun_
+
+**Videa**
+
+- [Oracles a rozšíření užitečnosti blockchainu](https://youtu.be/BVUZpWa8vpw) – _Real Vision Finance_
+
+**Návody**
+
+- [Jak získat aktuální cenu Etherea v Solidity](https://blog.chain.link/fetch-current-crypto-price-data-solidity/) – _Chainlink_
+- [Využívání dat z oraclu](https://docs.chroniclelabs.org/Developers/tutorials/Remix) – _Chronicle_
+
+**Ukázkové projekty**
+
+- [Kompletní startovací projekt Chainlink pro Ethereum v Solidity](https://github.com/hackbg/chainlink-fullstack) – _HackBG_
diff --git a/public/content/translations/cs/developers/docs/programming-languages/dart/index.md b/public/content/translations/cs/developers/docs/programming-languages/dart/index.md
new file mode 100644
index 00000000000..0b91fbc1824
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/dart/index.md
@@ -0,0 +1,33 @@
+---
+title: Ethereum pro vývojáře v Dartu
+description: Naučte se vyvíjet na Ethereu v jazyce Dart
+lang: cs
+incomplete: true
+---
+
+## Začínáme s chytrými kontrakty a jazykem Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+## Návody {#tutorials}
+
+- [Flutter and Blockchain – Hello World Dapp](https://www.geeksforgeeks.org/flutter-and-blockchain-hello-world-dapp/) vás provede všemi kroky, jak začít:
+ 1. Napsání chytrého kontraktu v jazyce [Solidity](https://soliditylang.org/)
+ 2. Vytvoření uživatelského rozhraní v Dartu
+- [Building a Mobile dapp with Flutter](https://medium.com/dash-community/building-a-mobile-dapp-with-flutter-be945c80315a) je mnohem kratší, což může být lepší,
+ pokud již znáte základy
+- Pokud se raději učíte sledováním videa, můžete se podívat na [Build Your First Blockchain Flutter App](https://www.youtube.com/watch?v=3Eeh3pJ6PeA), které trvá přibližně hodinu
+- Pokud jste netrpěliví, možná dáte přednost videu [Building a Blockchain Decentralized-app with Flutter and Dart on Ethereum](https://www.youtube.com/watch?v=jaMFEOCq_1s), které trvá jen asi dvacet minut
+- [Integrating MetaMask in Flutter application with Web3Modal by WalletConnect](https://www.youtube.com/watch?v=v_M2buHCpc4) – toto krátké video vás provede kroky integrace MetaMask do vašich aplikací Flutter pomocí knihovny [Web3Modal](https://pub.dev/packages/web3modal_flutter) od WalletConnect
+- [Mobile Blockchain Developer Bootcamp Course With Solidity & Flutter](https://youtube.com/playlist?list=PL4V4Unlk5luhQ26ERO6hWEbcUwHDSSmVH) – playlist s kompletním kurzem pro mobilní blockchainové vývojáře
+
+## Práce s klienty Etherea {#working-with-ethereum-clients}
+
+Na platformě Ethereum můžete vytvářet decentralizované aplikace (neboli dappky), které využívají výhody kryptoměn a blockchainových technologií.
+Existují alespoň dvě aktuálně udržované knihovny pro Dart, které umožňují využívat
+[JSON-RPC API](/developers/docs/apis/json-rpc/) pro Ethereum.
+
+1. [Web3dart od pwa.ir](https://pub.dev/packages/web3dart)
+2. [Ethereum 5.0.0 od darticulate.com](https://pub.dev/packages/ethereum)
+
+Existují také další knihovny, které vám umožní manipulovat s konkrétními adresami na Ethereu
+nebo získávat ceny různých kryptoměn.
+[Celý seznam si můžete prohlédnout zde](https://pub.dev/dart/packages?q=ethereum).
diff --git a/public/content/translations/cs/developers/docs/programming-languages/delphi/index.md b/public/content/translations/cs/developers/docs/programming-languages/delphi/index.md
new file mode 100644
index 00000000000..16c960d4b86
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/delphi/index.md
@@ -0,0 +1,56 @@
+---
+title: Ethereum pro vývojáře v Delphi
+description: Naučte se vyvíjet pro Ethereum v programovacím jazyce Delphi
+lang: cs
+incomplete: true
+---
+
+
+
+Naučte se vyvíjet pro Ethereum v programovacím jazyce Delphi
+
+
+
+Na platformě Ethereum můžete vytvářet decentralizované aplikace (neboli dapps), které využívají výhody kryptoměn a blockchainové technologie. Tyto aplikace mohou být důvěryhodné, což znamená, že jakmile je jednou nasadíte na Ethereum, budou vždy spouštěny přesně tak, jak jsou naprogramovány. Tyto aplikace mohou kontrolovat digitální aktiva, a tím vytvářet nové druhy finančních aplikací. Mohou být decentralizované, což znamená, že je nemůže ovládat jediná entita nebo osoba a že jsou téměř necenzurovatelné.
+
+Vytvářejte decentralizované aplikace na Ethereu a interagujte s chytrými kontrakty pomocí programovacího jazyka Delphi!
+
+## Začínáme s chytrými kontrakty a jazykem Solidity {#getting-started-with-smart-contracts-and-the-solidity-language}
+
+**Podnikněte první kroky k integraci Delphi s Ethereem**
+
+Potřebujete nejdříve úplně základní informace? Podívejte se na [ethereum.org/learn](/learn/) nebo [ethereum.org/developers](/developers/).
+
+- [Vysvětlení blockchainu](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Porozumění chytrým kontraktům](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Napište svůj první chytrý kontrakt](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Naučte se kompilovat a nasazovat Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Odkazy a reference pro začátečníky {#beginner-references-and-links}
+
+**Představujeme knihovnu Delphereum**
+
+- [Co je Delphereum?](https://github.com/svanas/delphereum/blob/master/README.md)
+- [Připojení Delphi k místnímu (in-memory) blockchainu](https://medium.com/@svanas/connecting-delphi-to-a-local-in-memory-blockchain-9a1512d6c5b0)
+- [Připojení Delphi k hlavní síti Ethereum](https://medium.com/@svanas/connecting-delphi-to-the-ethereum-main-net-5faf1feffd83)
+- [Připojení Delphi k chytrým kontraktům](https://medium.com/@svanas/connecting-delphi-to-smart-contracts-3146b12803a1)
+
+**Chcete přeskočit nastavení a přejít přímo na ukázky?**
+
+- [Chytrý kontrakt a Delphi za 3 minuty – část 1](https://medium.com/@svanas/a-3-minute-smart-contract-and-delphi-61d998571d)
+- [Chytrý kontrakt a Delphi za 3 minuty – část 2](https://medium.com/@svanas/a-3-minute-smart-contract-and-delphi-part-2-446925faa47b)
+
+## Články pro pokročilé {#intermediate-articles}
+
+- [Generování podpisu zprávy podepsané Ethereem v Delphi](https://medium.com/@svanas/generating-an-ethereum-signed-message-signature-in-delphi-75661ce5031b)
+- [Převádění etheru pomocí Delphi](https://medium.com/@svanas/transferring-ether-with-delphi-b5f24b1a98a4)
+- [Převádění tokenů ERC-20 pomocí Delphi](https://medium.com/@svanas/transferring-erc-20-tokens-with-delphi-bb44c05b295d)
+
+## Pokročilé vzory použití {#advanced-use-patterns}
+
+- [Delphi a Ethereum Name Service (ENS)](https://medium.com/@svanas/delphi-and-ethereum-name-service-ens-4443cd278af7)
+- [QuikNode, Ethereum a Delphi](https://medium.com/@svanas/quiknode-ethereum-and-delphi-f7bfc9671c23)
+- [Delphi a Ethereum Dark Forest](https://svanas.medium.com/delphi-and-the-ethereum-dark-forest-5b430da3ad93)
+- [Směna jednoho tokenu za jiný v Delphi](https://svanas.medium.com/swap-one-token-for-another-in-delphi-bcb999c47f7)
+
+Hledáte další informační zdroje? Podívejte se na [ethereum.org/developers](/developers/).
diff --git a/public/content/translations/cs/developers/docs/programming-languages/dot-net/index.md b/public/content/translations/cs/developers/docs/programming-languages/dot-net/index.md
new file mode 100644
index 00000000000..a015a3f10cc
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/dot-net/index.md
@@ -0,0 +1,86 @@
+---
+title: Ethereum pro vývojáře v .NET
+description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na .NET
+lang: cs
+incomplete: true
+---
+
+Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na .NET
+
+Na platformě Ethereum můžete vytvářet decentralizované aplikace (neboli dapps), které využívají výhody kryptoměn a blockchainové technologie. Tyto aplikace mohou být důvěryhodné, což znamená, že jakmile je jednou nasadíte na Ethereum, budou vždy spouštěny přesně tak, jak jsou naprogramovány. Tyto aplikace mohou kontrolovat digitální aktiva, a tím vytvářet nové druhy finančních aplikací. Mohou být decentralizované, což znamená, že je nemůže ovládat jediná entita nebo osoba a že jsou téměř necenzurovatelné.
+
+Sestavte decentralizované aplikace na Ethereu a komunikujte s chytrými kontrakty pomocí nástrojů a jazyků od Microsoftu - Podpora C#, #Visual Basic .NET, F# na nástrojích jako VSCode a Visual Studio, s použitím .NET Framework/.NET Core/.NET standard. Nasaďte Ethereum blockchain na Azure pomocí Microsoft Azure Blockchainu během několika minut. Přiveďte lásku .NET na platformu Ethereum!
+
+## Začínáme s chytrými kontrakty a jazykem Solidity {#getting-started-with-smart-contracts-and-the-solidity-language}
+
+**Udělejte své první kroky k integraci .NET s Ethereem**
+
+Potřebujete nejdříve úplně základní informace? Podívejte se na [ethereum.org/learn](/learn/) nebo [ethereum.org/developers](/developers/).
+
+- [Vysvětlení blockchainu](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Porozumění chytrým kontraktům](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Napište svůj první chytrý kontrakt](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Naučte se kompilovat a nasazovat Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Odkazy a reference pro začátečníky {#beginner-references-and-links}
+
+**Představení knihovny Nethereum podpory Solidity ve VS Code**
+
+- [Nethereum, Začínáme](https://docs.nethereum.com/en/latest/getting-started/)
+- [Instalace VS Code Solidity](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity)
+- [Pracovní postup .NET vývojáře pro vytváření a volání chytrých kontraktů na Ethereu](https://medium.com/coinmonks/a-net-developers-workflow-for-creating-and-calling-ethereum-smart-contracts-44714f191db2)
+- [Integrace chytrých kontraktů s Nethereum](https://kauri.io/#collections/Getting%20Started/smart-contracts-integration-with-nethereum/#smart-contracts-integration-with-nethereumm)
+- [Propojení .NET a chytrých kontraktů na blockchainu Etherea s Nethereum](https://medium.com/my-blockchain-development-daily-journey/interfacing-net-and-ethereum-blockchain-smart-contracts-with-nethereum-2fa3729ac933), také v [中文版](https://medium.com/my-blockchain-development-daily-journey/%E4%BD%BF%E7%94%A8nethereum%E9%80%A3%E6%8E%A5-net%E5%92%8C%E4%BB%A5%E5%A4%AA%E7%B6%B2%E5%8D%80%E5%A1%8A%E9%8F%88%E6%99%BA%E8%83%BD%E5%90%88%E7%B4%84-4a96d35ad1e1)
+- [Nethereum – open-source .NET integrační knihovna pro blockchain](https://kauri.io/#collections/a%20hackathon%20survival%20guide/nethereum-an-open-source-.net-integration-library/)
+- [Zápis transakcí Etherea do SQL databáze pomocí Nethereum](https://medium.com/coinmonks/writing-ethereum-transactions-to-sql-database-using-nethereum-fd94e0e4fa36)
+- [Podívejte se, jak snadno nasadit chytré kontrakty na Ethereu pomocí C# a Visual Studia](https://koukia.ca/deploy-ethereum-smart-contracts-using-c-and-visualstudio-5be188ae928c)
+
+**Chcete přeskočit nastavení a přejít přímo na ukázky?**
+
+- [Playground](http://playground.nethereum.com/) – interagujte s Ethereem a naučte se, jak používat Nethereum v prohlížeči.
+ - Dotaz na zůstatek na účtu [C#](http://playground.nethereum.com/csharp/id/1001) [VB.NET](http://playground.nethereum.com/vb/id/2001)
+ - Dotaz na zůstatek na ERC20 chytrém kontraktu [C#](http://playground.nethereum.com/csharp/id/1005) [VB.NET](http://playground.nethereum.com/vb/id/2004)
+ - Převod etherů na účet [C#](http://playground.nethereum.com/csharp/id/1003) [VB.NET](http://playground.nethereum.com/vb/id/2003)
+ - ... A více!
+
+## Články pro pokročilé {#intermediate-articles}
+
+- [Nethereum pracovní sešit / Seznam ukázek](http://docs.nethereum.com/en/latest/Nethereum.Workbooks/docs/)
+- [Nasaďte si vlastní vývojové testnety](https://github.com/Nethereum/Testchains)
+- [Plugin VSCode Codegen pro Solidity](https://docs.nethereum.com/en/latest/nethereum-codegen-vscodesolidity/)
+- [Unity a Ethereum: Proč a jak](https://www.raywenderlich.com/5509-unity-and-ethereum-why-and-how)
+- [Vytvoření webového API ASP.NET Core pro Ethereum dapps](https://tech-mint.com/blockchain/create-asp-net-core-web-api-for-ethereum-dapps/)
+- [Použití Nethereum Web3 k implementaci systému pro sledování dodavatelského řetězce](http://blog.pomiager.com/post/using-nethereum-web3-to-implement-a-supply-chain-traking-system4)
+- [Zpracování bloků v Nethereum](https://nethereum.readthedocs.io/en/latest/nethereum-block-processing-detail/) s [ukázkou pro C# Playground](http://playground.nethereum.com/csharp/id/1025)
+- [Streamování přes websocket v Nethereum](https://nethereum.readthedocs.io/en/latest/nethereum-subscriptions-streaming/)
+- [Kaleido a Nethereum](https://kaleido.io/kaleido-and-nethereum/)
+- [Quorum a Nethereum](https://github.com/Nethereum/Nethereum/blob/master/src/Nethereum.Quorum/README.md)
+
+## Pokročilé vzory použití {#advanced-use-patterns}
+
+- [Azure Key Vault a Nethereum](https://github.com/Azure-Samples/bc-community-samples/tree/master/akv-nethereum)
+- [Nethereum.DappHybrid](https://github.com/Nethereum/Nethereum.DappHybrid)
+- [Referenční architektura backendu Ujo Nethereum](https://docs.nethereum.com/en/latest/nethereum-ujo-backend-sample/)
+
+## .NET projekty, nástroje a další zajímavosti {#dot-net-projects-tools-and-other-fun-stuff}
+
+- [Nethereum Playground](http://playground.nethereum.com/) – _kompilujte, vytvářejte a spouštějte úryvky kódu Nethereum v prohlížeči_
+- [Nethereum Codegen Blazor](https://github.com/Nethereum/Nethereum.CodeGen.Blazor) – _Nethereum codegen s UI v Blazor_
+- [Nethereum Blazor](https://github.com/Nethereum/NethereumBlazor) – _lehký .NET Wasm SPA prohlížeč blockchainu a jednoduchá peněženka_
+- [Wonka Business Rules Engine](https://docs.nethereum.com/en/latest/wonka/) – _engine pro obchodní pravidla (pro platformy .NET i Ethereum), který je ze své podstaty řízen metadaty_
+- [Nethermind](https://github.com/NethermindEth/nethermind) – _klient Etherea v .NET Core pro Linux, Windows a macOS_
+- [eth-utils](https://github.com/ethereum/eth-utils/) - _pomocné funkce pro práci s kódovými bázemi souvisejícími s Ethereem_
+- [TestChains](https://github.com/Nethereum/TestChains) – _předkonfigurované .NET devchainy pro rychlou odezvu (PoA)_
+
+Hledáte další informační zdroje? Podívejte se na [ethereum.org/developers](/developers/).
+
+## Přispěvatelé .NET komunity {#dot-net-community-contributors}
+
+My v Nethereum se většinou scházíme na [Gitteru](https://gitter.im/Nethereum/Nethereum), kde se každý může ptát a odpovídat na otázky, získat pomoc nebo prostě jen tak relaxovat. Neváhejte vytvořit PR nebo otevřít issue v [repozitáři Nethereum na GitHubu](https://github.com/Nethereum), nebo si jen projděte mnoho vedlejších a ukázkových projektů, které máme. Najdete nás také na [Discordu](https://discord.gg/jQPrR58FxX)!
+
+Pokud s Nethermindem začínáte a potřebujete pomoc, připojte se na náš [Discord](http://discord.gg/PaCMRFdvWT). Naši vývojáři jsou připraveni zodpovědět vaše otázky. Neváhejte otevřít PR nebo nahlásit jakékoliv problémy v [repozitáři Nethermind na GitHubu](https://github.com/NethermindEth/nethermind).
+
+## Další souhrnné seznamy {#other-aggregated-lists}
+
+[Oficiální stránky Nethereum](https://nethereum.com/)
+[Oficiální stránky Nethermind](https://nethermind.io/)
diff --git a/public/content/translations/cs/developers/docs/programming-languages/elixir/index.md b/public/content/translations/cs/developers/docs/programming-languages/elixir/index.md
new file mode 100644
index 00000000000..d880f6e02a8
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/elixir/index.md
@@ -0,0 +1,55 @@
+---
+title: Ethereum pro Elixir vývojáře
+description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Elixiru.
+lang: cs
+incomplete: false
+---
+
+Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Elixiru.
+
+Na platformě Ethereum můžete vytvářet decentralizované aplikace (neboli dapps), které využívají výhody kryptoměn a blockchainové technologie. Tyto aplikace nevyžadují, abyste jim důvěřovali, což znamená, že jakmile je jednou nasadíte na Ethereum, budou vždy spouštěny přesně tak, jak jsou naprogramovány. Mohou kontrolovat digitální aktiva, a tím vytvářet nové druhy finančních aplikací. Mohou být decentralizované, což znamená, že je nemůže ovládat jediná entita nebo osoba a že jsou téměř necenzurovatelné.
+
+## Začínáme s chytrými kontrakty a jazykem Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Udělejte první kroky k integraci Elixiru s Ethereem**
+
+Potřebujete nejdříve úplně základní informace? Podívejte se na [ethereum.org/learn](/learn/) nebo [ethereum.org/developers](/developers/).
+
+- [Vysvětlení blockchainu](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Porozumění chytrým kontraktům](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Napište svůj první chytrý kontrakt](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Naučte se kompilovat a nasazovat Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Články pro začátečníky {#beginner-articles}
+
+- [Konečně pochopení účtů na Ethereu](https://dev.to/q9/finally-understanding-ethereum-accounts-1kpe)
+- [Ethers – prvotřídní Web3 knihovna pro Ethereum v Elixiru](https://medium.com/@alisinabh/announcing-ethers-a-first-class-ethereum-web3-library-for-elixir-1d64e9409122)
+
+## Články pro pokročilé {#intermediate-articles}
+
+- [Jak podepsat surové transakce ethereových kontraktů pomocí Elixiru](https://kohlerjp.medium.com/how-to-sign-raw-ethereum-contract-transactions-with-elixir-f8822bcc813b)
+- [Chytré kontrakty na Ethereu a Elixir](https://medium.com/agile-alpha/ethereum-smart-contracts-and-elixir-c7c4b239ddb4)
+
+## Elixir projekty a nástroje {#elixir-projects-and-tools}
+
+### Aktivní {#active}
+
+- [block_keys](https://github.com/ExWeb3/block_keys) – _implementace BIP32 a BIP44 v Elixiru (hierarchie více účtů pro deterministické peněženky)_
+- [ethereumex](https://github.com/mana-ethereum/ethereumex) – _Elixir JSON-RPC klient pro blockchain Etherea_
+- [ethers](https://github.com/ExWeb3/elixir_ethers) – _komplexní Web3 knihovna pro interakci s chytrými kontrakty na Ethereu pomocí Elixiru_
+- [ethers_kms](https://github.com/ExWeb3/elixir_ethers_kms) – _KMS knihovna podepisovače pro Ethers (podepisování transakcí pomocí AWS KMS)_
+- [ex_abi](https://github.com/poanetwork/ex_abi) – _implementace parseru/dekodéru/kodéru Ethereum ABI v Elixiru_
+- [ex_keccak](https://github.com/ExWeb3/ex_keccak) – _knihovna Elixiru pro výpočet hašů Keccak SHA3-256 pomocí NIF postaveného na Rust crate tiny-keccak_
+- [ex_rlp](https://github.com/mana-ethereum/ex_rlp) – _implementace kódování RLP (Recursive Length Prefix) Etherea v Elixiru_
+
+### Archivované / Již neudržované {#archived--no-longer-maintained}
+
+- [eth](https://hex.pm/packages/eth) – _nástroje pro Ethereum v Elixiru_
+- [exw3](https://github.com/hswick/exw3) – _vysokoúrovňový Ethereum RPC klient pro Elixir_
+- [mana](https://github.com/mana-ethereum/mana) – _implementace plného uzlu Etherea napsaná v Elixiru_
+
+Hledáte další informační zdroje? Podívejte se na naši [domovskou stránku pro vývojáře](/developers/).
+
+## Přispěvatelé z komunity Elixiru {#elixir-community-contributors}
+
+[Kanál #ethereum na Slacku Elixiru](https://elixir-lang.slack.com/archives/C5RPZ3RJL) hostí rychle se rozrůstající komunitu a je vyhrazeným zdrojem pro diskuze o jakýchkoliv výše uvedených projektech a souvisejících tématech.
diff --git a/public/content/translations/cs/developers/docs/programming-languages/golang/index.md b/public/content/translations/cs/developers/docs/programming-languages/golang/index.md
new file mode 100644
index 00000000000..879ce8219c2
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/golang/index.md
@@ -0,0 +1,84 @@
+---
+title: Ethereum pro vývojáře v Go
+description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů v jazyce Go
+lang: cs
+incomplete: true
+---
+
+Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů v jazyce Go
+
+Použijte Ethereum k vytváření decentralizovaných aplikací (neboli "dapps"). Tyto aplikace mohou být důvěryhodné, což znamená, že jakmile je jednou nasadíte na Ethereum, budou vždy spouštěny přesně tak, jak jsou naprogramovány. Jsou decentralizované, což znamená, že běží na síti peer-to-peer a neexistuje žádný jediný bod selhání. Nekontroluje je žádná jediná entita ani osoba a je téměř nemožné je cenzurovat. Mohou ovládat digitální aktiva, aby mohly vytvářet nové druhy aplikací.
+
+## Začínáme s chytrými kontrakty a jazykem Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Udělejte své první kroky k integraci jazyka Go s Ethereem**
+
+Potřebujete nejdříve úplně základní informace? Podívejte se na [ethereum.org/learn](/learn/) nebo [ethereum.org/developers](/developers/).
+
+- [Vysvětlení blockchainu](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Porozumění chytrým kontraktům](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Napište svůj první chytrý kontrakt](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Naučte se kompilovat a nasazovat Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+- [Tutoriál ke kontraktům](https://github.com/ethereum/go-ethereum/wiki/Contract-Tutorial)
+
+## Články a knihy pro začátečníky {#beginner-articles-and-books}
+
+- [Začínáme s Geth](https://medium.com/@tzhenghao/getting-started-with-geth-c1a30b8d6458)
+- [Použití Golang k připojení k Ethereu](https://www.youtube.com/watch?v=-7uChuO_VzM)
+- [Nasazení chytrých kontraktů na Ethereu pomocí Golang](https://www.youtube.com/watch?v=pytGqQmDslE)
+- [Podrobný průvodce testováním a nasazením chytrých kontraktů na Ethereu v Go](https://hackernoon.com/a-step-by-step-guide-to-testing-and-deploying-ethereum-smart-contracts-in-go-9fc34b178d78)
+- [eBook: Vývoj pro Ethereum s Go](https://goethereumbook.org/) – _Vyvíjejte aplikace pro Ethereum pomocí Go_
+
+## Články a dokumentace pro středně pokročilé {#intermediate-articles-and-docs}
+
+- [Dokumentace Go Ethereum](https://geth.ethereum.org/docs/) – _Dokumentace pro oficiální podporu jazyka Go v projektu Ethereum_
+- [Programátorská příručka Erigon](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/guide.md) – _Ilustrovaný průvodce včetně stavového stromu, multi-proofs a zpracování transakcí_
+- [Erigon a bezestavové Ethereum](https://youtu.be/3-Mn7OckSus?t=394) – _Konference komunity Etherea 2020 (EthCC 3)_
+- [Erigon: optimalizace klientů Etherea](https://www.youtube.com/watch?v=CSpc1vZQW2Q) – _Devcon 4 2018_
+- [Go Ethereum GoDoc](https://godoc.org/github.com/ethereum/go-ethereum)
+- [Vytvoření dapp v Go pomocí Geth](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/creating-a-dapp-in-go-with-geth/)
+- [Práce se soukromou sítí Ethereum pomocí Golang a Geth](https://myhsts.org/tutorial-learn-how-to-work-with-ethereum-private-network-with-golang-with-geth.php)
+- [Unit testování kontraktů Solidity na Ethereu s Go](https://medium.com/coinmonks/unit-testing-solidity-contracts-on-ethereum-with-go-3cc924091281)
+- [Rychlá reference pro používání Geth jako knihovny](https://medium.com/coinmonks/web3-go-part-1-31c68c68e20e)
+
+## Pokročilé vzory použití {#advanced-use-patterns}
+
+- [Simulovaný backend GETH](https://kauri.io/#collections/An%20ethereum%20test%20toolkit%20in%20Go/the-geth-simulated-backend/#_top)
+- [Aplikace typu Blockchain jako služba využívající Ethereum a Quorum](https://blockchain.dcwebmakers.com/blockchain-as-a-service-apps-using-ethereum-and-quorum.html)
+- [Distribuované úložiště IPFS a Swarm v blockchainových aplikacích Etherea](https://blockchain.dcwebmakers.com/work-with-distributed-storage-ipfs-and-swarm-in-ethereum.html)
+- [Mobilní klienti: knihovny a Inproc uzly Ethereum](https://github.com/ethereum/go-ethereum/wiki/Mobile-Clients:-Libraries-and-Inproc-Ethereum-Nodes)
+- [Nativní dapps: Go bindings pro kontrakty Etherea](https://github.com/ethereum/go-ethereum/wiki/Native-DApps:-Go-bindings-to-Ethereum-contracts)
+
+## Go projekty a nástroje {#go-projects-and-tools}
+
+- [Geth / Go Ethereum](https://github.com/ethereum/go-ethereum) – _Oficiální implementace protokolu Ethereum v Go_
+- [Analýza kódu Go Ethereum](https://github.com/ZtesoftCS/go-ethereum-code-analysis) – _Přehled a analýza zdrojového kódu Go Ethereum_
+- [Erigon](https://github.com/ledgerwatch/erigon) – _Rychlejší derivát Go Ethereum se zaměřením na archivní uzly_
+- [Golem](https://github.com/golemfactory/golem) – _Golem vytváří globální trh s výpočetním výkonem_
+- [Quorum](https://github.com/jpmorganchase/quorum) – _Implementace Etherea s kontrolou přístupu, která podporuje ochranu soukromí_
+- [Prysm](https://github.com/prysmaticlabs/prysm) – _Implementace Etherea 'Serenity' 2.0 v Go_
+- [Eth Tweet](https://github.com/yep/eth-tweet) – _Decentralizovaný Twitter: Mikroblogovací služba běžící na blockchainu Etherea_
+- [Plasma MVP Golang](https://github.com/kyokan/plasma) — _Implementace v Golang a rozšíření specifikace Minimum Viable Plasma_
+- [Open Ethereum Mining Pool](https://github.com/sammy007/open-ethereum-pool) – _Open-source těžební pool pro Ethereum_
+- [Ethereum HD peněženka](https://github.com/miguelmota/go-ethereum-hdwallet) – _Odvození Ethereum HD peněženky v Go_
+- [Multi Geth](https://github.com/multi-geth/multi-geth) – _Podpora pro mnoho druhů sítí Ethereum_
+- [Geth lehký klient](https://github.com/zsfelfoldi/go-ethereum/wiki/Geth-Light-Client) – _Implementace Geth lehkého subprotokolu Etherea_
+- [Ethereum Golang SDK](https://github.com/everFinance/goether) – _Jednoduchá implementace peněženky Ethereum a utility v Golang_
+- [Covalent Golang SDK](https://github.com/covalenthq/covalent-api-sdk-go) – _Efektivní přístup k blockchainovým datům prostřednictvím Go SDK pro více než 200 blockchainů_
+
+Hledáte další informační zdroje? Podívejte se na [ethereum.org/developers](/developers/)
+
+## Přispěvatelé komunity Go {#go-community-contributors}
+
+- [Geth Discord](https://discordapp.com/invite/nthXNEv)
+- [Geth Gitter](https://gitter.im/ethereum/go-ethereum)
+- [Gophers Slack](https://invite.slack.golangbridge.org/) – [kanál #ethereum](https://gophers.slack.com/messages/C9HP1S9V2)
+- [StackExchange – Ethereum](https://ethereum.stackexchange.com/)
+- [Multi Geth Gitter](https://gitter.im/ethoxy/multi-geth)
+- [Ethereum Gitter](https://gitter.im/ethereum/home)
+- [Geth lehký klient Gitter](https://gitter.im/ethereum/light-client)
+
+## Další souhrnné seznamy {#other-aggregated-lists}
+
+- [Awesome Ethereum](https://github.com/btomashvili/awesome-ethereum)
+- [Consensys: Definitivní seznam vývojářských nástrojů pro Ethereum](https://media.consensys.net/an-definitive-list-of-ethereum-developer-tools-2159ce865974) | [Zdroj na GitHubu](https://github.com/ConsenSys/ethereum-developer-tools-list)
diff --git a/public/content/translations/cs/developers/docs/programming-languages/index.md b/public/content/translations/cs/developers/docs/programming-languages/index.md
new file mode 100644
index 00000000000..f30074129f9
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/index.md
@@ -0,0 +1,33 @@
+---
+title: Programovací jazyky
+description: Objevte vývojářské zdroje informací pro Ethereum v různých programovacích jazycích, včetně JavaScript, Python, Go, Rust a dalších.
+lang: cs
+---
+
+Častou mylnou představou je, že vývojáři musí psát [chytré kontrakty](/developers/docs/smart-contracts/), aby mohli stavět na Ethereu. To není pravda.
+Jednou z krás sítě Ethereum a její komunity je, že se můžete [zapojit](/community/) v téměř jakémkoli programovacím jazyce.
+
+Ethereum a jeho komunita podporují open source. Komunitní projekty - implementace klientů, API, vývojové frameworky, testovací nástroje - existují v široké škále jazyků.
+
+## Vyberte si jazyk {#data}
+
+Vyberte svůj oblíbený programovací jazyk a podívejte se na projekty, zdroje a virtuální komunity:
+
+- [Ethereum pro vývojáře v Dartu](/developers/docs/programming-languages/dart/)
+- [Ethereum pro vývojáře v Delphi](/developers/docs/programming-languages/delphi/)
+- [Ethereum pro vývojáře v .NET](/developers/docs/programming-languages/dot-net/)
+- [Ethereum pro vývojáře v Elixiru](/developers/docs/programming-languages/elixir/)
+- [Ethereum pro vývojáře v Go](/developers/docs/programming-languages/golang/)
+- [Ethereum pro vývojáře v Javě](/developers/docs/programming-languages/java/)
+- [Ethereum pro vývojáře v JavaScriptu](/developers/docs/programming-languages/javascript/)
+- [Ethereum pro vývojáře v Pythonu](/developers/docs/programming-languages/python/)
+- [Ethereum pro vývojáře v Ruby](/developers/docs/programming-languages/ruby/)
+- [Ethereum pro vývojáře v Rustu](/developers/docs/programming-languages/rust/)
+
+### Co když můj jazyk není podporován {#other-lang}
+
+Chcete-li přidat odkazy na zdroje informací nebo na virtuální komunitu pro další programovací jazyk, můžete o novou stránku požádat [otevřením „issue“](https://github.com/ethereum/ethereum-org-website/issues/new/choose).
+
+Pokud chcete psát kód pro komunikaci s blockchainem pomocí aktuálně nepodporovaného jazyka,
+můžete se k síti Ethereum připojit pomocí [rozhraní JSON-RPC](/developers/docs/apis/json-rpc/). Jakýkoliv programovací
+jazyk, který umí pracovat s TCP/IP, může toto rozhraní použít.
diff --git a/public/content/translations/cs/developers/docs/programming-languages/java/index.md b/public/content/translations/cs/developers/docs/programming-languages/java/index.md
new file mode 100644
index 00000000000..6cfe5b0255b
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/java/index.md
@@ -0,0 +1,64 @@
+---
+title: Ethereum pro vývojáře v Javě
+description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Javě
+lang: cs
+incomplete: true
+---
+
+Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Javě
+
+Na platformě Ethereum můžete vytvářet decentralizované aplikace (neboli dapps), které využívají výhody kryptoměn a blockchainové technologie. Tyto aplikace mohou být důvěryhodné, což znamená, že jakmile je jednou nasadíte na Ethereum, budou vždy spouštěny přesně tak, jak jsou naprogramovány. Tyto aplikace mohou kontrolovat digitální aktiva, a tím vytvářet nové druhy finančních aplikací. Mohou být decentralizované, což znamená, že je nemůže ovládat jediná entita nebo osoba a že jsou téměř necenzurovatelné.
+
+## Začínáme s chytrými kontrakty a jazykem Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Udělejte své první kroky k integraci Javy s Ethereem**
+
+Potřebujete nejdříve úplně základní informace? Podívejte se na [ethereum.org/learn](/learn/) nebo [ethereum.org/developers.](/developers/)
+
+- [Vysvětlení blockchainu](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Porozumění chytrým kontraktům](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Napište svůj první chytrý kontrakt](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Naučte se kompilovat a nasazovat Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Práce s klienty Etherea {#working-with-ethereum-clients}
+
+Naučte se používat [Web3J](https://github.com/web3j/web3j) a Hyperledger Besu, dva přední Java Ethereum klienty
+
+- [Připojení ke klientovi pro Ethereum pomocí Javy, Eclipse a Web3J](https://kauri.io/article/b9eb647c47a546bc95693acc0be72546/connecting-to-an-ethereum-client-with-java-eclipse-and-web3j)
+- [Správa účtu Ethereum pomocí Javy a Web3j](https://kauri.io/article/925d923e12c543da9a0a3e617be963b4/manage-an-ethereum-account-with-java-and-web3j)
+- [Generování Java wrapperu z vašeho chytrého kontraktu](https://kauri.io/article/84475132317d4d6a84a2c42eb9348e4b/generate-a-java-wrapper-from-your-smart-contract)
+- [Interakce s chytrým kontraktem Ethereum](https://kauri.io/article/14dc434d11ef4ee18bf7d57f079e246e/interacting-with-an-ethereum-smart-contract-in-java)
+- [Naslouchání událostem chytrého kontraktu Ethereum](https://kauri.io/article/760f495423db42f988d17b8c145b0874/listening-for-ethereum-smart-contract-events-in-java)
+- [Použití Besu (Pantheon), klienta pro Ethereum v Javě s Linuxem](https://kauri.io/article/276dd27f1458443295eea58403fd6965/using-pantheon-the-java-ethereum-client-with-linux)
+- [Spuštění uzlu Hyperledger Besu (Pantheon) v integračních testech v Javě](https://kauri.io/article/7dc3ecc391e54f7b8cbf4e5fa0caf780/running-a-pantheon-node-in-java-integration-tests)
+- [Tahák na Web3j](https://kauri.io/web3j-cheat-sheet-\(java-ethereum\)/5dfa1ea941ac3d0001ce1d90/c)
+
+Naučte se používat [ethers-kt](https://github.com/Kr1ptal/ethers-kt), asynchronní, vysoce výkonnou knihovnu v Kotlinu pro interakci s blockchainy založenými na EVM. Cíleno na platformy JVM a Android.
+
+- [Převod tokenů ERC20](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/abi/TransferERC20.kt)
+- [Směna na UniswapV2 s nasloucháním událostem](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/tokenswapwitheventlistening/TokenSwapWithEventListening.kt)
+- [Sledování zůstatku ETH / ERC20](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/balancetracker/BalanceTracker.kt)
+
+## Články pro pokročilé {#intermediate-articles}
+
+- [Správa úložiště v aplikaci v Javě pomocí IPFS](https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926/managing-storage-in-a-java-application-with-ipfs)
+- [Správa tokenů ERC20 v Javě pomocí Web3j](https://kauri.io/article/d13e911bbf624108b1d5718175a5e0a0/manage-erc20-tokens-in-java-with-web3j)
+- [Správci transakcí Web3j](https://kauri.io/article/4cb780bb4d0846438d11885a25b6d7e7/web3j-transaction-managers)
+
+## Pokročilé vzory použití {#advanced-use-patterns}
+
+- [Použití Eventeum k vytvoření datové mezipaměti chytrého kontraktu v Javě](https://kauri.io/article/fe81ee9612eb4e5a9ab72790ef24283d/using-eventeum-to-build-a-java-smart-contract-data-cache)
+
+## Projekty a nástroje v Javě {#java-projects-and-tools}
+
+- [Web3J (knihovna pro interakci s klienty pro Ethereum)](https://github.com/web3j/web3j)
+- [ethers-kt (Asynchronní, vysoce výkonná knihovna pro Kotlin/Javu/Android pro blockchainy založené na EVM.)](https://github.com/Kr1ptal/ethers-kt)
+- [Eventeum (naslouchač událostí)](https://github.com/ConsenSys/eventeum)
+- [Mahuta (vývojářské nástroje pro IPFS)](https://github.com/ConsenSys/mahuta)
+
+Hledáte další informační zdroje? Podívejte se na [ethereum.org/developers.](/developers/)
+
+## Komunitní přispěvatelé pro Javu {#java-community-contributors}
+
+- [IO Builders](https://io.builders)
+- [Kauri](https://kauri.io)
diff --git a/public/content/translations/cs/developers/docs/programming-languages/javascript/index.md b/public/content/translations/cs/developers/docs/programming-languages/javascript/index.md
new file mode 100644
index 00000000000..503807f51ca
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/javascript/index.md
@@ -0,0 +1,72 @@
+---
+title: Ethereum pro vývojáře v JavaScriptu
+description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na JavaScriptu.
+lang: cs
+---
+
+JavaScript je jedním z nejpopulárnějších jazyků v ekosystému Ethereum. Ve skutečnosti existuje [tým](https://github.com/ethereumjs) věnovaný tomu, aby co nejvíce z Etherea přenesl do JavaScriptu.
+
+Existují příležitosti k psaní v JavaScriptu (nebo něčem blízkém) na [všech úrovních zásobníku](/developers/docs/ethereum-stack/).
+
+## Interakce s Ethereem {#interact-with-ethereum}
+
+### JavaScriptové API knihovny {#javascript-api-libraries}
+
+Pokud byste chtěli psát v JavaScriptu pro dotazování blockchainu, odesílání transakcí a další, nejpohodlnější způsob, jak to udělat, je použít [knihovnu JavaScript API](/developers/docs/apis/javascript/). Tato API umožňují vývojářům snadno komunikovat s [uzly v síti Ethereum](/developers/docs/nodes-and-clients/).
+
+Tyto knihovny můžete použít k interakci s chytrými kontrakty na Ethereu, takže je možné vytvořit dapp, kde pro interakci s již existujícími kontrakty použijete pouze JavaScript.
+
+**Podívejte se**
+
+- [Web3.js](https://web3js.readthedocs.io)
+- [Ethers.js](https://ethers.org) – _zahrnuje implementaci peněženky Ethereum a utility v JavaScriptu a TypeScriptu._
+- [viem](https://viem.sh) – _rozhraní TypeScriptu pro Ethereum, které poskytuje nízkoúrovňové bezstavové primitivy pro interakci s Ethereem._
+- [Drift](https://ryangoree.github.io/drift/) – _meta-knihovna TypeScriptu s vestavěným ukládáním do mezipaměti, háčky a testovacími maketami pro snadný vývoj na Ethereu napříč knihovnami web3._
+
+### Chytré kontrakty {#smart-contracts}
+
+Pokud jste JavaScript vývojář a chcete psát svůj vlastní chytrý kontrakt, možná se budete chtít seznámit se [Solidity](https://solidity.readthedocs.io). Jedná se o nejpopulárnější jazyk pro chytré kontrakty a je syntakticky podobný JavaScriptu, což může usnadnit jeho učení.
+
+Více o [chytrých kontraktech](/developers/docs/smart-contracts/).
+
+## Pochopení protokolu {#understand-the-protocol}
+
+### Virtuální stroj Etherea {#the-ethereum-virtual-machine}
+
+Existuje JavaScriptová implementace [virtuálního stroje Etherea](/developers/docs/evm/). Podporuje nejnovější pravidla větví. Pravidla větví odkazují na změny provedené v EVM v důsledku plánovaných upgradů.
+
+Je rozdělen do různých JavaScriptových balíčků, které si můžete prohlédnout, abyste lépe porozuměli:
+
+- Účty
+- Bloky
+- Samotný blockchain
+- Transakce
+- A další...
+
+To vám pomůže pochopit věci jako "jaká je datová struktura účtu?".
+
+Pokud dáváte přednost čtení kódu, tento JavaScript může být skvělou alternativou ke čtení naší dokumentace.
+
+**Prozkoumejte EVM**
+[`@ethereumjs/evm`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/evm)
+
+### Uzly a klienti {#nodes-and-clients}
+
+Klient Ethereumjs je v aktivním vývoji, který vám umožní ponořit se do toho, jak fungují klienti Etherea, v jazyce, kterému rozumíte: v JavaScriptu!
+
+**Prozkoumejte klienta**
+[`@ethereumjs/client`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client)
+
+## Další projekty {#other-projects}
+
+V zemi Etherea a JavaScriptu se toho děje spousta, včetně:
+
+- knihovny s utilitami pro peněženky.
+- nástroje pro generování, import a export klíčů Ethereum.
+- implementace `merkle-patricia-tree` – datové struktury popsané ve žluté knize Etherea.
+
+Ponořte se do toho, co vás nejvíce zajímá, v [repozitáři EthereumJS](https://github.com/ethereumjs)
+
+## Další čtení {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/programming-languages/python/index.md b/public/content/translations/cs/developers/docs/programming-languages/python/index.md
new file mode 100644
index 00000000000..149709ef074
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/python/index.md
@@ -0,0 +1,99 @@
+---
+title: Ethereum pro vývojáře v Pythonu
+description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Pythonu
+lang: cs
+incomplete: true
+---
+
+Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Pythonu
+
+Na platformě Ethereum můžete vytvářet decentralizované aplikace (neboli dapps), které využívají výhody kryptoměn a blockchainové technologie. Tyto aplikace mohou být důvěryhodné, což znamená, že jakmile je jednou nasadíte na Ethereum, budou vždy spouštěny přesně tak, jak jsou naprogramovány. Tyto aplikace mohou kontrolovat digitální aktiva, a tím vytvářet nové druhy finančních aplikací. Mohou být decentralizované, což znamená, že je nemůže ovládat jediná entita nebo osoba a že jsou téměř necenzurovatelné.
+
+## Začínáme s chytrými kontrakty a jazykem Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Udělejte své první kroky k integraci Pythonu s Ethereem**
+
+Potřebujete nejdříve úplně základní informace? Podívejte se na [ethereum.org/learn](/learn/) nebo [ethereum.org/developers](/developers/).
+
+- [Vysvětlení blockchainu](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Porozumění chytrým kontraktům](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Napište svůj první chytrý kontrakt](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Naučte se kompilovat a nasazovat Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+- [Zpráva o stavu Pythonu v blockchainu v roce 2023](https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023)
+
+## Články pro začátečníky {#beginner-articles}
+
+- [Přehled web3.py](https://web3py.readthedocs.io/en/latest/overview.html)
+- [Prohlídka ekosystému Ethereum a Pythonu](https://snakecharmers.ethereum.org/python-ecosystem/)
+- [Průvodce Ethereum pro (Python) vývojáře](https://snakecharmers.ethereum.org/a-developers-guide-to-ethereum-pt-1/)
+- [Prize-Worthy: Průvodce hackathonem pro Ethereum a Python](https://snakecharmers.ethereum.org/prize-worthy/)
+- [Úvod do chytrých kontraktů s Vyper](https://kauri.io/#collections/Getting%20Started/an-introduction-to-smart-contracts-with-vyper/)
+- [Jak vyvíjet kontrakt pro Ethereum pomocí Python Flask?](https://medium.com/coinmonks/how-to-develop-ethereum-contract-using-python-flask-9758fe65976e)
+- [Úvod do Web3.py · Ethereum pro vývojáře v Pythonu](https://www.dappuniversity.com/articles/web3-py-intro)
+- [Jak volat funkci chytrého kontraktu pomocí Python a web3.py](https://stackoverflow.com/questions/57580702/how-to-call-a-smart-contract-function-using-python-and-web3-py)
+
+## Články pro pokročilé {#intermediate-articles}
+
+- [Přátelé web3.py: Úvod do Ape](https://snakecharmers.ethereum.org/intro-to-ape/)
+- [Vývoj dapp pro programátory v Pythonu](https://levelup.gitconnected.com/dapps-development-for-python-developers-f52b32b54f28)
+- [Vytvoření rozhraní Ethereum v Pythonu: Část 1](https://hackernoon.com/creating-a-python-ethereum-interface-part-1-4d2e47ea0f4d)
+- [Chytré kontrakty na Ethereum v Pythonu: komplexní průvodce (tak trochu)](https://hackernoon.com/ethereum-smart-contracts-in-python-a-comprehensive-ish-guide-771b03990988)
+
+## Pokročilé vzory použití {#advanced-use-patterns}
+
+- [Vzory web3.py: Odběry událostí v reálném čase](https://snakecharmers.ethereum.org/subscriptions/)
+- [Vzory web3.py: WebSocketProvider](https://snakecharmers.ethereum.org/websocketprovider/)
+- [Kompilace, nasazení a volání chytrého kontraktu na Ethereum pomocí Pythonu](https://yohanes.gultom.id/2018/11/28/compiling-deploying-and-calling-ethereum-smartcontract-using-python/)
+- [Analyzujte chytré kontrakty Solidity pomocí Slither](https://kauri.io/#collections/DevOps/analyze-solidity-smart-contracts-with-slither/#analyze-solidity-smart-contracts-with-slither)
+- [Blockchain Fintech Tutoriál: Půjčování a vypůjčování s Pythonem](https://blog.chain.link/blockchain-fintech-defi-tutorial-lending-borrowing-python/)
+
+## Archivované články
+
+- [Nasaďte svůj vlastní ERC20 token s Pythonem a Brownie](https://betterprogramming.pub/python-blockchain-token-deployment-tutorial-create-an-erc20-77a5fd2e1a58)
+- [Použití Brownie a Pythonu k nasazení chytrých kontraktů](https://dev.to/patrickalphac/using-brownie-for-to-deploy-smart-contracts-1kkp)
+- [Vytváření NFT na OpenSea pomocí Brownie](https://www.freecodecamp.org/news/how-to-make-an-nft-and-render-on-opensea-marketplace/)
+
+## Projekty a nástroje pro Python {#python-projects-and-tools}
+
+### Aktivní: {#active}
+
+- [Web3.py](https://github.com/ethereum/web3.py) - _knihovna Pythonu pro interakci s Ethereum_
+- [Vyper](https://github.com/ethereum/vyper/) - _Pythonický jazyk pro chytré kontrakty pro EVM_
+- [Ape](https://github.com/ApeWorX/ape) - _nástroj pro vývoj chytrých kontraktů pro Pythonisty, datové vědce a bezpečnostní profesionály_
+- [py-evm](https://github.com/ethereum/py-evm) - _implementace Ethereum Virtual Machine_
+- [eth-tester](https://github.com/ethereum/eth-tester) - _nástroje pro testování aplikací založených na Ethereum_
+- [eth-utils](https://github.com/ethereum/eth-utils/) - _pomocné funkce pro práci s kódovými bázemi souvisejícími s Ethereem_
+- [py-solc-x](https://pypi.org/project/py-solc-x/) - _Python wrapper pro kompilátor solc pro Solidity s podporou 0.5.x_
+- [pymaker](https://github.com/makerdao/pymaker) - _Python API pro kontrakty Maker_
+- [siwe](https://github.com/signinwithethereum/siwe-py) - _Sign in with Ethereum (siwe) pro Python_
+- [Web3 DeFi for Ethereum integrations](https://github.com/tradingstrategy-ai/web3-ethereum-defi) - _Balíček Pythonu s připravenými integracemi pro ERC-20, Uniswap a další populární projekty_
+- [Wake](https://getwake.io) - _All-in-one Python framework pro testování kontraktů, fuzzing, nasazení, skenování zranitelností a navigaci v kódu (jazykový server – [Tools for Solidity](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity))_
+
+### Archivováno / Již se neudržuje: {#archived--no-longer-maintained}
+
+- [Trinity](https://github.com/ethereum/trinity) - _Python klient pro Ethereum_
+- [Mamba](https://github.com/arjunaskykok/mamba) - _framework pro psaní, kompilaci a nasazení chytrých kontraktů napsaných v jazyce Vyper_
+- [Brownie](https://github.com/eth-brownie/brownie) - _Python framework pro nasazení, testování a interakci s chytrými kontrakty Etherea_
+- [pydevp2p](https://github.com/ethereum/pydevp2p) - _implementace P2P stacku Etherea_
+- [py-wasm](https://github.com/ethereum/py-wasm) - _implementace interpreta WebAssembly v Pythonu_
+
+Hledáte další informační zdroje? Podívejte se na [ethereum.org/developers](/developers/).
+
+## Projekty využívající nástroje pro Python {#projects-using-python-tooling}
+
+Následující projekty založené na Ethereu používají nástroje uvedené na této stránce. Související open-source repozitáře slouží jako dobrý referenční zdroj pro příklady kódu a osvědčené postupy.
+
+- [Yearn Finance](https://yearn.finance/) a [repozitář Yearn Vault Contracts](https://github.com/yearn/yearn-vaults)
+- [Curve](https://www.curve.finance/) a [repozitář chytrých kontraktů Curve](https://github.com/curvefi/curve-contract)
+- [BadgerDAO](https://badger.com/) a [chytré kontrakty využívající sadu nástrojů Brownie](https://github.com/Badger-Finance/badger-system)
+- [Sushi](https://sushi.com/) používá [Python při správě a nasazování svých vestingových kontraktů](https://github.com/sushiswap/sushi-vesting-protocols)
+- [Alpha Finance](https://alphafinance.io/), známá díky Alpha Homora, používá [Brownie k testování a nasazení chytrých kontraktů](https://github.com/AlphaFinanceLab/alpha-staking-contract)
+
+## Diskuse komunity Pythonu {#python-community-contributors}
+
+- [Discord komunity Ethereum a Pythonu](https://discord.gg/9zk7snTfWe) pro diskuzi o Web3.py a dalších frameworcích pro Python
+- [Discord pro Vyper](https://discord.gg/SdvKC79cJk) pro diskuzi o programování chytrých kontraktů v jazyce Vyper
+
+## Další souhrnné seznamy {#other-aggregated-lists}
+
+Wiki pro Vyper má [neuvěřitelný seznam zdrojů pro Vyper](https://github.com/vyperlang/vyper/wiki/Vyper-tools-and-resources)
\ No newline at end of file
diff --git a/public/content/translations/cs/developers/docs/programming-languages/ruby/index.md b/public/content/translations/cs/developers/docs/programming-languages/ruby/index.md
new file mode 100644
index 00000000000..d58e3e33cf3
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/ruby/index.md
@@ -0,0 +1,60 @@
+---
+title: Ethereum pro vývojáře v Ruby
+description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Ruby.
+lang: cs
+incomplete: false
+---
+
+Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Ruby.
+
+Na platformě Ethereum můžete vytvářet decentralizované aplikace (neboli dapps), které využívají výhody kryptoměn a blockchainové technologie. Tyto aplikace nevyžadují, abyste jim důvěřovali, což znamená, že jakmile je jednou nasadíte na Ethereum, budou vždy spouštěny přesně tak, jak jsou naprogramovány. Mohou kontrolovat digitální aktiva, a tím vytvářet nové druhy finančních aplikací. Mohou být decentralizované, což znamená, že je nemůže ovládat jediná entita nebo osoba a že jsou téměř necenzurovatelné.
+
+## Začínáme s chytrými kontrakty a jazykem Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Podnikněte první kroky k integraci Ruby s Ethereem**
+
+Potřebujete nejdříve úplně základní informace? Podívejte se na [ethereum.org/learn](/learn/) nebo [ethereum.org/developers](/developers/).
+
+- [Vysvětlení blockchainu](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Porozumění chytrým kontraktům](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Napište svůj první chytrý kontrakt](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Naučte se kompilovat a nasazovat Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Články pro začátečníky {#beginner-articles}
+
+- [Konečně pochopení účtů na Ethereu](https://dev.to/q9/finally-understanding-ethereum-accounts-1kpe)
+- [Konečně ověřování uživatelů Rails pomocí MetaMask](https://dev.to/q9/finally-authenticating-rails-users-with-metamask-3fj)
+- [Jak se připojit k síti Ethereum pomocí Ruby](https://www.quicknode.com/guides/web3-sdks/how-to-connect-to-the-ethereum-network-using-ruby)
+- [Jak vygenerovat novou adresu Ethereum v Ruby](https://www.quicknode.com/guides/web3-sdks/how-to-generate-a-new-ethereum-address-in-ruby)
+
+## Články pro pokročilé {#intermediate-articles}
+
+- [Blockchainová aplikace s Ruby](https://www.nopio.com/blog/blockchain-app-ruby/)
+- [Použití Ruby, připojeného k Ethereu, ke spuštění chytrého kontraktu](https://titanwolf.org/Network/Articles/Article?AID=87285822-9b25-49d5-ba2a-7ad95fff7ef9)
+
+## Projekty a nástroje Ruby {#ruby-projects-and-tools}
+
+### Aktivní {#active}
+
+- [eth.rb](https://github.com/q9f/eth.rb) – _knihovna Ruby a klient RPC pro správu účtů, zpráv a transakcí Etherea_
+- [keccak.rb](https://github.com/q9f/keccak.rb) – _haš Keccak (SHA3) používaný Ethereem_
+- [siwe-ruby](https://github.com/signinwithethereum/siwe-ruby) – _implementace Sign-In with Ethereum v Ruby_
+- [siwe-rails](https://github.com/signinwithethereum/siwe-rails) – _gem pro Rails, který přidává lokální cesty pro přihlášení pomocí SIWE_
+- [siwe-rails-examples](https://github.com/signinwithethereum/siwe-rails-examples) – _příklad SIWE s použitím Ruby on Rails s vlastním kontrolerem_
+- [omniauth-siwe](https://github.com/signinwithethereum/omniauth-siwe) – _strategie OmniAuth pro Sign In With Ethereum (SIWE)_
+- [omniauth-nft](https://github.com/valthon/omniauth-nft) – _strategie OmniAuth pro ověřování prostřednictvím vlastnictví NFT_
+- [ethereum-on-rails](https://github.com/q9f/ethereum-on-rails) – _šablona Ethereum on Rails, která umožňuje připojit MetaMask k Ruby on Rails_
+
+### Archivované / Již neudržované {#archived--no-longer-maintained}
+
+- [web3-eth](https://github.com/spikewilliams/vtada-ethereum) – _volání RPC metod uzlu Ethereum pomocí Ruby_
+- [ethereum_tree](https://github.com/longhoangwkm/ethereum_tree) – _knihovna Ruby pro generování ETH adres z hierarchicky deterministické peněženky podle standardu BIP32_
+- [etherlite](https://github.com/budacom/etherlite) – _integrace Etherea pro Ruby on Rails_
+- [ethereum.rb](https://github.com/EthWorks/ethereum.rb) – _klient Etherea v Ruby používající rozhraní JSON-RPC pro odesílání transakcí, vytváření kontraktů a interakci s nimi a také užitečná sada nástrojů pro práci s uzlem Ethereum_
+- [omniauth-ethereum.rb](https://github.com/q9f/omniauth-ethereum.rb) – _implementuje strategii poskytovatele Etherea pro OmniAuth_
+
+Hledáte další informační zdroje? Podívejte se na naši [domovskou stránku pro vývojáře](/developers/).
+
+## Přispěvatelé komunity Ruby {#ruby-community-contributors}
+
+[Telegramová skupina Ethereum Ruby](https://t.me/ruby_eth) hostí rychle rostoucí komunitu a je specializovaným zdrojem pro diskuse o všech výše uvedených projektech a souvisejících tématech.
diff --git a/public/content/translations/cs/developers/docs/programming-languages/rust/index.md b/public/content/translations/cs/developers/docs/programming-languages/rust/index.md
new file mode 100644
index 00000000000..834df3907fa
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/programming-languages/rust/index.md
@@ -0,0 +1,65 @@
+---
+title: Ethereum pro vývojáře v Rustu
+description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Rustu
+lang: cs
+incomplete: true
+---
+
+Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Rustu
+
+Na platformě Ethereum můžete vytvářet decentralizované aplikace (neboli dapps), které využívají výhody kryptoměn a blockchainové technologie. Tyto aplikace mohou být důvěryhodné, což znamená, že jakmile je jednou nasadíte na Ethereum, budou vždy spouštěny přesně tak, jak jsou naprogramovány. Tyto aplikace mohou kontrolovat digitální aktiva, a tím vytvářet nové druhy finančních aplikací. Mohou být decentralizované, což znamená, že je nemůže ovládat jediná entita nebo osoba a že jsou téměř necenzurovatelné.
+
+## Začínáme s chytrými kontrakty a jazykem Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Udělejte své první kroky k integraci Rustu s Ethereem**
+
+Potřebujete nejdříve úplně základní informace? Podívejte se na [ethereum.org/learn](/learn/) nebo [ethereum.org/developers](/developers/).
+
+- [Vysvětlení blockchainu](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Porozumění chytrým kontraktům](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Napište svůj první chytrý kontrakt](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Naučte se kompilovat a nasazovat Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Články pro začátečníky {#beginner-articles}
+
+- [Klient Ethereum v Rustu](https://openethereum.github.io/) \* **Upozornění: OpenEthereum [je zastaralý](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd) a již není udržován.** Používejte jej opatrně a nejlépe přejděte na jinou implementaci klienta.
+- [Posílání transakcí do Etherea pomocí Rustu](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/sending-ethereum-transactions-with-rust/)
+- [Postupný návod, jak psát kontrakty v Rustu a Wasmu pro Kovan](https://github.com/paritytech/pwasm-tutorial)
+
+## Články pro pokročilé {#intermediate-articles}
+
+## Pokročilé vzory použití {#advanced-use-patterns}
+
+- [Knihovna pwasm_ethereum externs pro interakci se sítěmi podobnými Ethereu](https://github.com/openethereum/pwasm-ethereum)
+
+- [Sestavení decentralizovaného chatu pomocí JavaScriptu a Rustu](https://medium.com/perlin-network/build-a-decentralized-chat-using-javascript-rust-webassembly-c775f8484b52)
+
+- [Sestavení decentralizované todo aplikace pomocí Vue.js a Rustu](https://medium.com/@jjmace01/build-a-decentralized-todo-app-using-vue-js-rust-webassembly-5381a1895beb)
+
+- [Sestavení blockchainu v Rustu](https://blog.logrocket.com/how-to-build-a-blockchain-in-rust/)
+
+## Projekty a nástroje v Rustu {#rust-projects-and-tools}
+
+- [pwasm-ethereum](https://github.com/paritytech/pwasm-ethereum) - _Sbírka externů pro interakci se sítěmi podobnými Ethereu_
+- [Lighthouse](https://github.com/sigp/lighthouse) - _Rychlý klient konsensuální vrstvy Etherea_
+- [Ethereum WebAssembly](https://ewasm.readthedocs.io/en/mkdocs/) - _Navrhovaný redesign exekuční vrstvy chytrých kontraktů Etherea pomocí deterministické podmnožiny WebAssembly_
+- [oasis_std](https://docs.rs/oasis-std/latest/oasis_std/index.html) - _Reference OASIS API_
+- [Solaris](https://github.com/paritytech/sol-rs) - _Nástroj pro jednotkové testování chytrých kontraktů v Solidity využívající nativní EVM klienta Parity._
+- [SputnikVM](https://github.com/rust-blockchain/evm) - _Implementace Ethereum Virtual Machine (EVM) v Rustu_
+- [Wavelet](https://wavelet.perlin.net/docs/smart-contracts) - _Chytrý kontrakt Wavelet v Rustu_
+- [Foundry](https://github.com/foundry-rs/foundry) - _Sada nástrojů pro vývoj aplikací pro Ethereum_
+- [Alloy](https://alloy.rs) - _Vysoce výkonné, dobře otestované a zdokumentované knihovny pro interakci s Ethereem a dalšími řetězci založenými na EVM._
+- [Ethers_rs](https://github.com/gakonst/ethers-rs) - _Implementace knihovny a peněženky pro Ethereum_
+- [SewUp](https://github.com/second-state/SewUp) - _Knihovna, která vám pomůže vytvořit kontrakt pro Ethereum WebAssembly v Rustu, stejně jako při vývoji běžného backendu_
+- [Substreams](https://github.com/streamingfast/substreams) - _Technologie pro paralelizované indexování dat z blockchainu_
+- [Reth](https://github.com/paradigmxyz/reth) Reth (zkratka pro Rust Ethereum) je nová implementace plného uzlu Etherea
+- [Awesome Ethereum Rust](https://github.com/Vid201/awesome-ethereum-rust) - _Spravovaná sbírka projektů v ekosystému Etherea napsaných v Rustu_
+
+Hledáte další informační zdroje? Podívejte se na [ethereum.org/developers.](/developers/)
+
+## Přispěvatelé komunity Rust {#rust-community-contributors}
+
+- [Ethereum WebAssembly](https://gitter.im/ewasm/Lobby)
+- [Oasis Gitter](https://gitter.im/Oasis-official/Lobby)
+- [Parity Gitter](https://gitter.im/paritytech/parity)
+- [Enigma](https://discord.gg/SJK32GY)
diff --git a/public/content/translations/cs/developers/docs/scaling/index.md b/public/content/translations/cs/developers/docs/scaling/index.md
index 47b67364562..52bc73c85f1 100644
--- a/public/content/translations/cs/developers/docs/scaling/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/index.md
@@ -9,27 +9,27 @@ sidebarDepth: 3
S růstem počtu lidí používajících Ethereum narazil tento blockchain na určité kapacitní limity. To vedlo ke zvýšení nákladů na používání sítě a vytvořilo potřebu „škálovacích řešení.“ Existuje několik řešení, která se zkoumají, testují a implementují, přičemž každé přistupuje k dosažení podobných cílů různými způsoby.
-Hlavním cílem škálování je zvýšit rychlost transakcí (rychlejší finalita) a propustnost transakcí (vyšší počet transakcí za sekundu), aniž by byla obětována decentralizace nebo bezpečnost (více o [vizi Etherea](/roadmap/vision/)). Na blockchainu vrstvy 1 Ethera vede vysoká poptávka k pomalejším transakcím a neudržitelným [palivovým cenám](/developers/docs/gas/). Zvýšení kapacity sítě z hlediska rychlosti a propustnosti je zásadní pro smysluplné a masové přijetí Etherea.
+Hlavním cílem škálovatelnosti je zvýšit rychlost transakcí (rychlejší finalita) a propustnost transakcí (vyšší počet transakcí za sekundu), aniž by byla obětována decentralizace nebo bezpečnost. Na blockchainu Ethereum vrstvy 1 vede vysoká poptávka k pomalejším transakcím a neudržitelným [cenám za gas](/developers/docs/gas/). Zvýšení kapacity sítě z hlediska rychlosti a propustnosti je zásadní pro smysluplné a masové přijetí Etherea.
Zatímco rychlost a propustnost jsou důležité, je nezbytné, aby škálovací řešení umožňující tyto cíle zůstala decentralizovaná a bezpečná. Udržení nízké bariéry pro vstup pro operátory síťových uzlů je klíčové k tomu, aby se zabránilo přechodu k centralizovanému a nezabezpečenému výpočetnímu výkonu.
-Konceptuálně nejprve rozdělíme škálování na on-chain škálování a off-chain škálování.
+Koncepčně nejprve dělíme škálování na on-chain škálování a off-chain škálování.
## Předpoklady {#prerequisites}
Měli byste dobře rozumět všem základním tématům. Implementace škálovacích řešení je pokročilým tématem, protože tato technologie není zatím dostatečně otestována v praxi a stále se vyvíjí a zkoumá.
-## On-chain škálování {#on-chain-scaling}
+## On-chain škálování {#onchain-scaling}
-On-chain škálování vyžaduje změny v protokolu Etherea ([Mainnet](/glossary/#mainnet) vrstvy 1). Dlouhou dobu se očekávalo, že Ethereum bude škálováno prostřednictvím shardingu. To mělo zahrnovat rozdělení blockchainu na oddělené části (shardy), které by byly ověřovány podskupinami validátorů. Ale hlavní technikou škálování se postupně stalo škálování pomocí rollupů na vrstvě 2. To je podporováno přidáním nové levnější formy dat připojených k blokům Etherea, která je speciálně navržena tak, aby byly rollupy pro uživatele levné.
+On-chain škálování vyžaduje změny v protokolu Ethereum (vrstva 1 [Mainnet](/glossary/#mainnet)). Dlouhou dobu se očekávalo, že Ethereum bude škálováno prostřednictvím shardingu. To mělo zahrnovat rozdělení blockchainu na oddělené části (shardy), které by byly ověřovány podskupinami validátorů. Ale hlavní technikou škálování se postupně stalo škálování pomocí rollupů na vrstvě 2. To je podporováno přidáním nové levnější formy dat připojených k blokům Etherea, která je speciálně navržena tak, aby byly rollupy pro uživatele levné.
### Sharding {#sharding}
-Sharding je proces rozdělení databáze. Podskupiny validátorů by byly zodpovědné za jednotlivé shardery, místo aby sledovaly celé Ethereum. Sharding byl dlouhou dobu součástí plánu vývoje Etherea a měl být původně zaveden před přechodem na proof-of-stake (Sloučení). Avšak rychlý vývoj [rollupů na vrstvě 2](#layer-2-scaling) a vynález [Dankshardingu](/roadmap/danksharding) (přidávání blobů dat z rollupů do bloků Etherea, které mohou být velmi efektivně ověřovány validátory) vedly komunitu Etherea k upřednostnění škálování zaměřeného na rollupy namísto shardingu. To také pomůže udržet logiku konsensu Etherea jednodušší.
+Sharding je proces rozdělení databáze. Podskupiny validátorů by byly zodpovědné za jednotlivé shardery, místo aby sledovaly celé Ethereum. Sharding byl dlouhou dobu součástí [plánu](/roadmap/) Etherea a původně se počítalo s jeho spuštěním před přechodem na proof-of-stake (The Merge). Rychlý vývoj [rollupů vrstvy 2](#layer-2-scaling) a vynález [Dankshardingu](/roadmap/danksharding) (přidávání datových blobů z rollupů do bloků Etherea, které mohou validátoři velmi efektivně ověřit) však vedly komunitu Etherea k upřednostnění škálování zaměřeného na rollupy namísto škálování pomocí shardingu. To také pomůže udržet logiku konsensu Etherea jednodušší.
-## Off-chain škálování {#off-chain-scaling}
+## Off-chain škálování {#offchain-scaling}
-Off-chain řešení jsou implementována odděleně od Mainnetu vrstvy 1 – nevyžadují žádné změny v existujícím protokolu Etherea. Některá řešení, známá jako „řešení vrstvy 2“, odvozují svou bezpečnost přímo od konsensu vrstvy 1 Etherea, jako jsou [optimistické rollupy](/developers/docs/scaling/optimistic-rollups/), [zero-knowledge rollupy](/developers/docs/scaling/zk-rollups/) nebo [stavové kanály](/developers/docs/scaling/state-channels/). Jiná řešení zahrnují vytvoření nových řetězců v různých formách, které řeší svoji bezpečnost nezávisle na Mainnetu, jako jsou [postranní řetězce](#sidechains), [validia](#validium) nebo [plazmatické řetězce](#plasma). Tato řešení komunikují s Mainnetem, ale odvozují svou bezpečnost odlišně, za účelem dosažení různých cílů.
+Off-chain řešení jsou implementována odděleně od Mainnetu vrstvy 1 – nevyžadují žádné změny v existujícím protokolu Ethereum. Některá řešení, známá jako řešení „vrstvy 2“, odvozují svou bezpečnost přímo z konsensu Etherea na vrstvě 1, jako jsou [optimistické rollupy](/developers/docs/scaling/optimistic-rollups/), [rollupy s nulovou znalostí](/developers/docs/scaling/zk-rollups/) nebo [stavové kanály](/developers/docs/scaling/state-channels/). Jiná řešení zahrnují vytváření nových chainů v různých formách, které odvozují svou bezpečnost nezávisle na Mainnetu, jako jsou [sidechainy](#sidechains), [validia](#validium) nebo [plasma chainy](#plasma). Tato řešení komunikují s Mainnetem, ale odvozují svou bezpečnost odlišně, za účelem dosažení různých cílů.
### Škálování vrstvy 2 {#layer-2-scaling}
@@ -37,7 +37,7 @@ Tato kategorie off-chain řešení odvozuje svou bezpečnost od Mainnetu Etherea
Vrstva 2 je souhrnný termín pro řešení navržená k lepšímu škálování vaší aplikace tím, že zpracovávají transakce mimo Mainnet Etherea (vrstva 1) a zároveň využívají robustní decentralizovaný bezpečnostní model Mainnetu. Rychlost transakcí trpí, když je síť zaneprázdněna, což zhoršuje uživatelský zážitek u určitých typů dappek. A jak se síť stává vytíženější, zvyšují se ceny paliva, protože odesílatelé transakcí se snaží navzájem předhánět. To může použití Etherea značně prodražit.
-Většina řešení vrstvy 2 je založena na serveru nebo skupině serverů, z nichž každý může být označen jako síťový uzel, validátor, operátor, sekvencer, producent bloků nebo podobným termínem. V závislosti na implementaci mohou být tyto síťové uzly vrstvy 2 provozovány jednotlivci, podniky nebo subjekty, které je používají, nebo třetími stranami nebo velkou skupinou jednotlivců (podobně jako Mainnet). Obecně platí, že transakce jsou doručeny těmto uzlům vrstvy 2 namísto přímého doručení na vrstvu 1 (Mainnet). U některých řešení síťové uzly vrstvy 2 následně seskupují transakce do balíčků, které posléze ukotví na vrstvu 1, kde jsou právě touto vrstvou zabezpečeny a nelze je změnit. Detaily takové exekuce se mezi různými technologiemi a implementacemi vrstvy 2 značně liší.
+Většina řešení vrstvy 2 je založena na serveru nebo skupině serverů, z nichž každý může být označen jako síťový uzel, validátor, operátor, sekvencer, producent bloků nebo podobným termínem. V závislosti na implementaci mohou být tyto síťové uzly vrstvy 2 provozovány jednotlivci, podniky nebo subjekty, které je používají, nebo třetími stranami nebo velkou skupinou jednotlivců (podobně jako Mainnet). Obecně platí, že transakce jsou doručeny těmto uzlům vrstvy 2 namísto přímého doručení na vrstvu 1 (Mainnet). U některých řešení instance vrstvy 2 dávkuje transakce do skupin, než je ukotví na vrstvu 1, načež jsou zabezpečeny vrstvou 1 a nelze je změnit. Detaily takové exekuce se mezi různými technologiemi a implementacemi vrstvy 2 značně liší.
Konkrétní instance vrstvy 2 může být otevřená a sdílená mnoha aplikacemi nebo může být nasazena jedním projektem a určena pouze k podpoře jejich aplikace.
@@ -48,7 +48,7 @@ Konkrétní instance vrstvy 2 může být otevřená a sdílená mnoha aplikacem
- Jakékoli aktualizace škálovatelnosti by neměly být na úkor decentralizace nebo bezpečnosti – vrstva 2 je postavena nad Ethereem.
- Existují sítě vrstvy 2 se specifickou aplikací, které přinášejí vlastní sadu efektivity při práci s aktivy ve velkém měřítku.
-[Další informace o vrstvě 2](/layer-2/).
+[Více o vrstvě 2](/layer-2/).
#### Rollupy {#rollups}
@@ -56,58 +56,58 @@ Rollupy provádějí exekuci transakcí mimo vrstvu 1 a poté data zveřejní na
Existují dva typy rollupů s různými bezpečnostními modely:
-- **Optimistické rollupy**: Předpokládají, že transakce jsou platné, a provádějí výpočet prostřednictvím [**důkazu podvodu**](/glossary/#fraud-proof) pouze v případě výzvy k ověření platnosti. [Více o optimistických rollupech](/developers/docs/scaling/optimistic-rollups/).
-- **Zero-knowledge rollupy**: Provádějí výpočty mimo řetězec a předkládají [**důkaz o platnosti**](/glossary/#validity-proof) na řetězci. [Více o zero-knowledge rollupech](/developers/docs/scaling/zk-rollups/).
+- **Optimistické rollupy**: předpokládají, že transakce jsou ve výchozím nastavení platné a spouští výpočet, prostřednictvím [**důkazu o podvodu**](/glossary/#fraud-proof), pouze v případě zpochybnění. [Více o optimistických rollupech](/developers/docs/scaling/optimistic-rollups/).
+- **Rollupy s nulovou znalostí**: provádí výpočty off-chain a na chain odesílají [**důkaz o platnosti**](/glossary/#validity-proof). [Více o rollupech s nulovou znalostí](/developers/docs/scaling/zk-rollups/).
#### Stavové kanály {#channels}
-Stavové kanály využívají multisig kontrakty, aby účastníkům umožnili rychle a volně transakčně komunikovat mimo řetězec a poté finalizovat stav na Mainnetu. To minimalizuje přetížení sítě, poplatky a zpoždění. Dva typy kanálů jsou v současnosti stavové kanály a platební kanály.
+Stavové kanály využívají multisig kontrakty, aby účastníkům umožnily rychle a volně provádět transakce off-chain, a poté finalizovat stav na Mainnetu. To minimalizuje přetížení sítě, poplatky a zpoždění. Dva typy kanálů jsou v současnosti stavové kanály a platební kanály.
-Více o [stavových kanálech](/developers/docs/scaling/state-channels/).
+Zjistěte více o [stavových kanálech](/developers/docs/scaling/state-channels/).
-### Postranní řetězce {#sidechains}
+### Sidechainy {#sidechains}
Postranní řetězec je nezávislý blockchain kompatibilní s EVM, který běží paralelně s Mainnetem. Jsou kompatibilní s Ethereem prostřednictvím obousměrných přemostění a fungují podle svých vlastních pravidel konsensu a parametrů bloků.
-Více o [postranních řetězcích](/developers/docs/scaling/sidechains/).
+Zjistěte více o [sidechainech](/developers/docs/scaling/sidechains/).
### Plasma {#plasma}
-Plazmový řetězec je samostatný blockchain, který je ukotven k hlavnímu řetězci Etherea a k řešení sporů používá důkazy podvodu (stejně jako [optimistické rollupy](/developers/docs/scaling/optimistic-rollups/)).
+Plasma chain je samostatný blockchain, který je ukotven k hlavnímu chainu Etherea a používá důkazy o podvodu (stejně jako [optimistické rollupy](/developers/docs/scaling/optimistic-rollups/)) k řešení sporů.
-Více o [Plasmě](/developers/docs/scaling/plasma/).
+Zjistěte více o [Plasma](/developers/docs/scaling/plasma/).
### Validium {#validium}
Řetězec typu validium používá důkazy o platnosti, stejně jako zero-knowledge rollupy, ale data nejsou uložena na vrstvě 1 Etherea. To umožňuje 10 000 transakcí za sekundu na jeden Validium řetězec a více řetězců může běžet paralelně.
-Více o [Validiu](/developers/docs/scaling/validium/).
+Zjistěte více o [Validium](/developers/docs/scaling/validium/).
## Proč je potřeba tolik škálovacích řešení? {#why-do-we-need-these}
- Více řešení může pomoci snížit celkové přetížení na jakékoliv části sítě a také zabránit vzniku jediných bodů selhání.
- Celek je efektivnější než součet efektivity jeho částí. Různá řešení mohou existovat a pracovat v harmonii, což aplikuje exponenciální efekt na budoucí rychlost transakcí a propustnost.
- Ne všechna řešení vyžadují přímé využití konsensuálního algoritmu Etherea a alternativy mohou nabízet výhody, které by jinak bylo obtížné získat.
-- Žádné jedno škálovací řešení samo o sobě nestačí k naplnění [vize Etherea](/roadmap/vision/).
-## Učíte se spíše vizuálně? {#visual-learner}
+## Učíte se spíše vizuálně? Vizuální výuka {#visual-learner}
-_Upozornění: Ve videu je pojem „Vrstva 2“ používán k označení všech off-chain škálovacích řešení, zatímco my rozlišujeme „vrstvu 2“ jako off-chain řešení, které odvozuje svou bezpečnost od konsensu vrstvy 1 Mainnetu._
+_Upozornění: Vysvětlení ve videu používá termín „vrstva 2“ k označení všech off-chain řešení škálování, zatímco my rozlišujeme „vrstvu 2“ jako off-chain řešení, které odvozuje svou bezpečnost prostřednictvím konsensu Mainnetu vrstvy 1._
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [A rollup-centric Ethereum roadmap](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) – _Vitalik Buterin_
-- [Aktuální analytika škálovacích řešení vrstvy 2 pro Ethereum](https://www.l2beat.com/)
-- [Hodnocení škálovacích řešení vrstvy 2 pro Ethereum: Porovnávací rámec](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955)
+- [Plán Etherea zaměřený na rollupy](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) _Vitalik Buterin_
+- [Aktuální analýzy řešení škálování vrstvy 2 pro Ethereum](https://www.l2beat.com/)
+- [Hodnocení řešení škálování vrstvy 2 pro Ethereum: Srovnávací rámec](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955)
- [Neúplný průvodce rollupy](https://vitalik.eth.limo/general/2021/01/05/rollup.html)
-- [Ethereum-powered ZK-Rollups: Světoví šampioni](https://hackmd.io/@canti/rkUT0BD8K)
-- [Optimistické rollupy vs ZK Rollupy](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/)
-- [Proč jsou rollupy + data shards jediným udržitelným řešením vysoké škálovatelnosti](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48)
-- [Jaké vrstvy 3 dávají smysl?](https://vitalik.eth.limo/general/2022/09/17/layer_3.html)
-- [Dostupnost dat: Jak se rollupy přestaly bát a začaly milovat Ethereum](https://ethereum2077.substack.com/p/data-availability-in-ethereum-rollups)
-
-_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ji!_
+- [ZK-Rollupy na Ethereu: Světová špička](https://hackmd.io/@canti/rkUT0BD8K)
+- [Optimistické rollupy vs. ZK rollupy](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/)
+- [Proč jsou rollupy a datové shardy jediným udržitelným řešením pro vysokou škálovatelnost](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48)
+- [Jaký druh vrstev 3 dává smysl?](https://vitalik.eth.limo/general/2022/09/17/layer_3.html)
+- [Dostupnost dat aneb: Jak se rollupy naučily nedělat si starosti a milovat Ethereum](https://web.archive.org/web/20250515194659/https://web.archive.org/web/20241108192208/https://research.2077.xyz/data-availability-or-how-rollups-learned-to-stop-worrying-and-love-ethereum)
+- [Praktický průvodce rollupy na Ethereu](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
index 966d0625f8c..c1c14d39fc4 100644
--- a/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
@@ -4,21 +4,21 @@ description: Úvod do optimistických rollapů – řešení pro škálování,
lang: cs
---
-Optimistické rollupy jsou protokoly druhé vrstvy (L2) navržené k rozšíření propustnosti základní vrstvy Etherea. Snižují výpočetní zátěž na hlavním řetězci Ethereua tím, že zpracovávají transakce mimo řetězec, což vede k významnému zlepšení rychlosti jejich zpracování. Na rozdíl od jiných škálovacích řešení, jako jsou [sidechainy](/developers/docs/scaling/sidechains/), využívají optimistické rollupy bezpečnost Mainnetu tím, že zveřejňují výsledky transakcí na řetězci, podobně jako [plasma chainy](/developers/docs/scaling/plasma/), které také ověřují transakce na Ethereu pomocí důkazů podvodů, ale ukládají data transakcí jinde.
+Optimistické rollupy jsou protokoly druhé vrstvy (L2) navržené k rozšíření propustnosti základní vrstvy Etherea. Snižují výpočetní zátěž na hlavním řetězci Etherea tím, že zpracovávají transakce mimo řetězec, což vede k významnému zlepšení rychlosti jejich zpracování. Na rozdíl od jiných škálovacích řešení, jako jsou [sidechainy](/developers/docs/scaling/sidechains/), využívají optimistické rollupy bezpečnost Mainnetu tím, že zveřejňují výsledky transakcí na řetězci, podobně jako [plasma chainy](/developers/docs/scaling/plasma/), které také ověřují transakce na Ethereu pomocí důkazů podvodů, ale ukládají data transakcí jinde.
-Protože výpočty jsou pomalou a nákladnou součástí používání Etherea, mohou optimistické rollupy nabídnout 10x až 100x lepší škálovatelnost. Optimistické rollupy také zapisují transakce na Ethereum jako `calldata` nebo v [blobech](/roadmap/danksharding/), což uživatelům snižuje náklady na transakce.
+Protože výpočty jsou pomalou a nákladnou součástí používání Etherea, mohou optimistické rollupy nabídnout 10x až 100x lepší škálovatelnost. Optimistické rollupy také zapisují transakce na Ethereum jako `calldata` nebo v [blobech](/roadmap/danksharding/), což uživatelům snižuje náklady na palivo.
## Předpoklady {#prerequisites}
-Měli byste si přečíst a porozumět našim stránkám o [škálování Etherea](/developers/docs/scaling/) a [druhé vrstvě](/layer-2/).
+Měli byste mít přečteny naše stránky o [škálování Etherea](/developers/docs/scaling/) a [vrstvě 2](/layer-2/).
-## Co je to optimistický rollup? {#what-is-an-optimistic-rollup}
+## Co je to optimistický rollup? Co je to optimistický rollup? {#what-is-an-optimistic-rollup}
Optimistický rollup je přístup ke škálování Etherea, který zahrnuje přesun výpočtů a ukládání stavu mimo řetězec. Optimistické rollupy provádějí transakce mimo Ethereum, ale zveřejňují data transakcí na Mainnetu jako `calldata` nebo v [blobech](/roadmap/danksharding/).
Operátoři optimistických rollupů seskupují více transakcí mimo řetězec do velkých balíčků, které následně odesílají na Ethereum. Tento přístup umožňuje rozložit fixní náklady mezi více transakcí v každém balíčku, což snižuje poplatky pro koncové uživatele. Optimistické rollupy ke snížení množství dat zveřejňovaných na Ethereum využívají i kompresní techniky.
-Optimistické rollupy jsou považovány za „optimistické“, protože předpokládají, že transakce mimo řetězec jsou platné a nezveřejňují důkazy o platnosti balíčků transakcí zveřejněných na řetězci. Tím se optimistické rollupy liší od rollupů s [nulovou znalostí (zero-knowledge rollups)](/developers/docs/scaling/zk-rollups), které zveřejňují kryptografické důkazy o platnosti transakcí mimo řetězec.
+Optimistické rollupy jsou považovány za „optimistické“, protože předpokládají, že transakce mimo řetězec jsou platné a nezveřejňují důkazy o platnosti balíčků transakcí zveřejněných na řetězci. Tím se optimistické rollupy liší od [rollupů s nulovou znalostí](/developers/docs/scaling/zk-rollups), které zveřejňují kryptografické [důkazy o platnosti](/glossary/#validity-proof) pro transakce mimo řetězec.
Místo toho se optimistické rollupy spoléhají na schéma prokázání podvodu (fraud-proving scheme), aby zjistily případy, kdy nejsou transakce správně vypočteny. Poté, co rollup odešle balíček na Ethereum, začne běžet časové okno (nazývané doba výzvy), během kterého může kdokoliv zpochybnit výsledky transakce rollupu vypočtením [důkazu podvodu](/glossary/#fraud-proof).
@@ -26,29 +26,29 @@ Pokud důkaz podvodu uspěje, protokol rollupu transakce znovu provede a podle t
Pokud balíček rollupu zůstane bez výzvy (tj. všechny transakce jsou správně provedeny) po skončení časového okna, je považován za platný a přijatý na Ethereum. Ostatní mohou nadále stavět na nepotvrzeném bloku rollupu, ale s podmínkou: Výsledky transakcí budou zrušeny, pokud budou založeny na nesprávně provedené transakci.
-## Jak optimistické rollupy interagují s Ethereum? {#optimistic-rollups-and-Ethereum}
+## Jak optimistické rollupy interagují s Ethereum? Jak optimistické rollupy škálují Ethereum? {#optimistic-rollups-and-Ethereum}
-Optimistické rollupy jsou [řešení pro škálování mimo řetězec](/developers/docs/scaling/#off-chain-scaling) navržená k provozu nad Ethereum. Každý optimistický rollup je spravován sadou smart kontraktů nasazených na síti Ethereum. Optimistické rollupy zpracovávají transakce mimo hlavní řetězec Ethereum, ale odesílají transakce mimo řetězec (v balíčcích) do rollupového kontraktu na řetězci. Stejně jako blockchain Ethereum je tento záznam transakcí neměnný a tvoří „optimistický rollupový řetězec“.
+Optimistické rollupy jsou [řešení pro škálování mimo řetězec](/developers/docs/scaling/#offchain-scaling) navržená k provozu nad Ethereem. Každý optimistický rollup je spravován sadou smart kontraktů nasazených na síti Ethereum. Optimistické rollupy zpracovávají transakce mimo hlavní řetězec Ethereum, ale odesílají transakce mimo řetězec (v balíčcích) do rollupového kontraktu na řetězci. Stejně jako blockchain Ethereum je tento záznam transakcí neměnný a tvoří „optimistický rollupový řetězec“.
Architektura optimistického rollupu se skládá z následujících částí:
-**On-chain kontrakty**: Provoz optimistických rollupů je řízen smart kontrakty běžícími na Ethereu. To zahrnuje kontrakty, které ukládají bloky rollupu, monitorují aktualizace stavu na rollupu a sledují vklady uživatelů. V tomto smyslu slouží Ethereum jako základní vrstva nebo „vrstva 1“ pro optimistické rollupy.
+**Kontrakty na řetězci**: Provoz optimistických rollupů je řízen chytrými kontrakty běžícími na Ethereu. To zahrnuje kontrakty, které ukládají bloky rollupu, monitorují aktualizace stavu na rollupu a sledují vklady uživatelů. V tomto smyslu slouží Ethereum jako základní vrstva nebo „vrstva 1“ pro optimistické rollupy.
-**Off-chain virtuální stroj (VM)**: Ačkoliv kontrakty spravující protokol optimistických rollupů běží na Ethereu, protokol rollupu provádí výpočty a ukládání stavu na jiném virtuálním stroji, odděleném od [Virtuálního stroje Etherea](/developers/docs/evm/). Off-chain VM je místem, kde žijí aplikace a kde jsou prováděny změny stavu; slouží jako horní vrstva nebo „vrstva 2“ pro optimistický rollup.
+**Virtuální stroj (VM) mimo řetězec**: Ačkoliv kontrakty spravující protokol optimistických rollupů běží na Ethereu, protokol rollupu provádí výpočty a ukládání stavu na jiném virtuálním stroji, odděleném od [Virtuálního stroje Etherea](/developers/docs/evm/). VM mimo řetězec je místem, kde žijí aplikace a kde jsou prováděny změny stavu; slouží jako horní vrstva nebo „vrstva 2“ pro optimistický rollup.
-Protože optimistické rollupy jsou navrženy tak, aby spouštěly programy buď psané, nebo kompilované pro EVM, off-chain VM obsahuje mnoho specifikací návrhu EVM. Navíc důkazy podvodu vypočítané na řetězci umožňují síti Ethereum vynucovat platnost změn stavů vypočítaných v off-chain VM.
+Protože optimistické rollupy jsou navrženy tak, aby spouštěly programy buď psané, nebo kompilované pro EVM, VM mimo řetězec obsahuje mnoho specifikací návrhu EVM. Navíc důkazy podvodu vypočítané na řetězci umožňují síti Ethereum vynucovat platnost změn stavů vypočítaných ve VM mimo řetězec.
-Optimistické rollupy jsou popisovány jako „hybridní škálovací řešení“, protože, ačkoliv existují jako samostatné protokoly, jejich bezpečnostní vlastnosti jsou odvozeny od Etherea. Ethereum zaručuje kromě jiného správnost výpočtů mimo řetězec a dostupnost dat za těmito výpočty. To činí optimistické rollupy bezpečnějšími než čistě off-chain škálovací protokoly (např. [sidechainy](/developers/docs/scaling/sidechains/)), které se pro zajištění bezpečnosti nespoléhají na Ethereum.
+Optimistické rollupy jsou popisovány jako „hybridní škálovací řešení“, protože, ačkoliv existují jako samostatné protokoly, jejich bezpečnostní vlastnosti jsou odvozeny od Etherea. Ethereum zaručuje kromě jiného správnost výpočtů rollupu mimo řetězec a dostupnost dat za těmito výpočty. To činí optimistické rollupy bezpečnějšími než čistě škálovací protokoly mimo řetězec (např. [sidechainy](/developers/docs/scaling/sidechains/)), které se pro zajištění bezpečnosti nespoléhají na Ethereum.
Optimistické rollupy se spoléhají na hlavní protokol Etherea z následujících důvodů:
### Dostupnost dat {#data-availability}
-Jak již bylo zmíněno, optimistické rollupy zveřejňují data transakcí na Ethereu jako `calldata` nebo v [blobech](/roadmap/danksharding/). Jelikož je exekuce řetězce rollupu založena na odeslaných transakcích, kdokoli může využít tyto informace – uložené na základní vrstvě Etherea – k vykonání stavu rollupu a ověření správnosti změn stavů.
+Jak již bylo zmíněno, optimistické rollupy posílají data transakcí na Ethereum jako `calldata` nebo v [blobech](/roadmap/danksharding/). Jelikož je exekuce řetězce rollupu založena na odeslaných transakcích, kdokoli může využít tyto informace – uložené na základní vrstvě Etherea – k vykonání stavu rollupu a ověření správnosti změn stavů.
[Dostupnost dat](/developers/docs/data-availability/) je klíčová, protože bez přístupu k datům o stavu nemohou vyzyvatelé sestavit důkaz podvodu, aby zpochybnili neplatné operace rollupu. Díky tomu, že Ethereum poskytuje dostupnost dat, riziko, že se operátorům rollupů podaří uniknout se zlomyslnými činy (např. odeslání neplatných bloků), se snižuje.
-### Odolnost proti cenzuře {#censorship-resistance}
+### Odolnost vůči cenzuře {#censorship-resistance}
Optimistické rollupy se také spoléhají na Ethereum v otázce odolnosti proti cenzuře. V optimistickém rollupu je centralizovaná entita (operátor) odpovědná za zpracování transakcí a odesílání bloků rollupu na Ethereum. To má několik důsledků:
@@ -64,37 +64,37 @@ Optimistické rollupy řeší tento problém tím, že nutí operátory zveřej
- Uživatelé mohou také odesílat své transakce na L1 místo na sekvencer, v takovém případě musí sekvencer transakci zahrnout do určitého časového limitu, aby mohl pokračovat ve vytváření platných bloků.
-### Vyrovnání {#settlement}
+### Vypořádání {#settlement}
Další rolí Etherea v kontextu optimistických rollupů je role vyrovnávací vrstvy. Ta ukotvuje celý ekosystém blockchainu, zajišťuje bezpečnost a poskytuje objektivní finalitu v případě, že dojde ke sporu na jiném řetězci (v tomto případě optimistických rollupech), který vyžaduje arbitráž.
Ethereum Mainnet poskytuje centrum pro ověřování důkazů podvodu a řešení sporů na optimistických rollupech. Navíc jsou transakce provedené na rollupu považovány za finální až _poté_, co je blok rollupu přijat na Ethereum. Jakmile je transakce rollupu zapsána do základní vrstvy Etherea, nelze ji vrátit zpět (s výjimkou velmi nepravděpodobného případu reorganizace řetězce).
-## Jak fungují optimistické rollupy? {#how-optimistic-rollups-work}
+## Jak fungují optimistické rollupy? Jak fungují optimistické rollupy? {#how-optimistic-rollups-work}
-### Exekuce a agregace transakcí {#transaction-execution-and-aggregation}
+### Provedení a agregace transakcí {#transaction-execution-and-aggregation}
Uživatelé odesílají transakce „operátorům“, což jsou síťové uzly odpovědné za zpracování transakcí na optimistickém rollupu. Operátor, také známý jako „validátor“ nebo „agregátor“, agreguje transakce, komprimuje podkladová data a zveřejňuje bloky na Ethereu.
-Ačkoli se validátorem může stát kdokoli, validátoři optimistických rollupů musí před vytvořením bloků složit zálohu, podobně jako v [systému proof of stake](/developers/docs/consensus-mechanisms/pos/). Z této zálohy může být zaplacena pokuta, pokud validátor zveřejní neplatný blok nebo postaví na starém, ale neplatném bloku (i když jeho blok platný je). Tímto způsobem optimistické rollupy využívají kryptografické ekonomické pobídky k zajištění poctivého chování validátorů.
+Ačkoli se validátorem může stát kdokoli, validátoři optimistických rollupů musí před vytvořením bloků složit zálohu, podobně jako v [systému s důkazem podílu](/developers/docs/consensus-mechanisms/pos/). Z této zálohy může být zaplacena pokuta, pokud validátor zveřejní neplatný blok nebo postaví na starém, ale neplatném bloku (i když jeho blok platný je). Tímto způsobem optimistické rollupy využívají kryptografické ekonomické pobídky k zajištění poctivého chování validátorů.
Ostatní validátoři na řetězci optimistického rollupu mají za úkol exekuovat odeslané transakce pomocí své kopie stavu rollupu. Pokud se konečný stav validátora liší od navrhovaného stavu operátora, mohou zahájit výzvu a vypočítat důkaz podvodu.
Některé optimistické rollupy mohou upustit od systému validátorů bez povolení a k exekuci řetězce použít jediný „sekvencer“. Stejně jako validátor zpracovává sekvencer transakce, vytváří bloky rollupu a odesílá transakce rollupu na řetězec L1 (Ethereum).
-Sekvencer se liší od běžného operátora rollupu tím, že má větší kontrolu nad pořadím transakcí. Také má prioritní přístup k řetězci rollupu a je jediným subjektem, který je oprávněn odesílat transakce do on-chain kontraktu. Transakce ze síťových uzlů, které nejsou sekvencery, nebo od běžných uživatelů jsou jednoduše zařazeny do samostatné fronty, dokud je sekvencer nezahrne do nového balíčku.
+Sekvencer se liší od běžného operátora rollupu tím, že má větší kontrolu nad pořadím transakcí. Sekvencer má také prioritní přístup k řetězci rollupu a je jediným subjektem oprávněným odesílat transakce do kontraktu na řetězci. Transakce ze síťových uzlů, které nejsou sekvencery, nebo od běžných uživatelů jsou jednoduše zařazeny do samostatné fronty, dokud je sekvencer nezahrne do nového balíčku.
#### Odesílání bloků rollupu na Ethereum {#submitting-blocks-to-ethereum}
Jak již bylo zmíněno, operátor optimistického rollupu seskupuje transakce mimo řetězec do balíčku a odesílá jej na Ethereum za účelem ověření. Tento proces zahrnuje kompresi dat souvisejících s transakcemi a jejich zveřejnění na Ethereu jako `calldata` nebo v blobech.
-`Calldata` je nemodifikovatelná a nepersistentní oblast ve smart kontraktu, která se většinou chová jako [paměť](/developers/docs/smart-contracts/anatomy/#memory). Zatímco `calldata` zůstávají na řetězci jako součást [historických záznamů blockchainu](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs), nejsou uložena jako součást stavu Etherea. Protože `calldata` se nedotýkají žádné části stavu Etherea, jsou levnější než stav pro ukládání dat na řetězci.
+`calldata` je nemodifikovatelná a nepersistentní oblast v chytrém kontraktu, která se většinou chová jako [paměť](/developers/docs/smart-contracts/anatomy/#memory). I když `calldata` přetrvává na řetězci jako součást [historických záznamů](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) blockchainu, neukládá se jako součást stavu Etherea. Protože se `calldata` nedotýká žádné části stavu Etherea, je levnější než stav pro ukládání dat na řetězci.
-Klíčové slovo `calldata` se také používá v jazyce Solidity k předání argumentů funkci smart kontraktu během jeho exekuce. `calldata` identifikuje funkci, která je volána během transakce, a drží vstupy pro tuto funkci ve formě libovolné sekvence bytů.
+Klíčové slovo `calldata` se také používá v Solidity k předání argumentů funkci chytrého kontraktu během její exekuce. `calldata` identifikuje funkci, která je volána během transakce, a drží vstupy pro tuto funkci ve formě libovolné sekvence bytů.
-V kontextu optimistických rollupů se `calldata` používá k odesílání komprimovaných dat transakcí do on-chain kontraktu. Operátor rollupu přidá nový balíček tím, že zavolá požadovanou funkci v kontraktu rollupu a předá komprimovaná data jako argumenty funkce. Použití `calldata` snižuje poplatky pro uživatele, protože většina nákladů, které rollupy přinášejí, pochází z ukládání dat na řetězci.
+V kontextu optimistických rollupů se `calldata` používá k odesílání komprimovaných dat transakcí do kontraktu na řetězci. Operátor rollupu přidá nový balíček tím, že zavolá požadovanou funkci v kontraktu rollupu a předá komprimovaná data jako argumenty funkce. Použití `calldata` snižuje poplatky pro uživatele, protože většina nákladů, které rollupy přinášejí, pochází z ukládání dat na řetězci.
-Zde je [příklad](https://etherscan.io/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591) odeslání balíčku rollupu, který ukazuje, jak tento koncept funguje. Sekvencer vyvolal `metodu appendSequencerBatch()` a předal komprimovaná data transakcí jako vstupy pomocí `calldata`.
+Zde je [příklad](https://eth.blockscout.com/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591) odeslání dávky rollupu, který ukazuje, jak tento koncept funguje. Sekvencer vyvolal metodu `appendSequencerBatch()` a předal komprimovaná data transakcí jako vstupy pomocí `calldata`.
Některé rollupy nyní používají k odesílání balíčků transakcí na Ethereum bloby.
@@ -102,15 +102,15 @@ Bloby jsou nemodifikovatelné a nepersistentní (stejně jako `calldata`), ale j
### Závazky stavu {#state-commitments}
-V každém časovém bodě je stav optimistického rollupu (účty, zůstatky, kód kontraktu atd.) organizován jako [Merkle tree](/whitepaper/#merkle-trees), nazývaný „strom stavu“. Kořen tohoto Merkle tree (state root), který odkazuje na nejnovější stav rollupu, je hashován a uložen v kontraktu rollupu. Každý přechod stavu na řetězci produkuje nový stav rollupu, ke kterému se operátor zavazuje tím, že vypočítá nový state root.
+V každém časovém bodě je stav optimistického rollupu (účty, zůstatky, kód kontraktu atd.) organizován jako [Merkle tree](/whitepaper/#merkle-trees) nazývaný „strom stavu“. Kořen tohoto Merkle tree (state root), který odkazuje na nejnovější stav rollupu, je hashován a uložen v kontraktu rollupu. Každý přechod stavu na řetězci produkuje nový stav rollupu, ke kterému se operátor zavazuje tím, že vypočítá nový state root.
-Operátor je povinen odeslat jak staré, tak nové state roots při zveřejňování balíčků. Pokud starý state root odpovídá stávajícímu state rootu v on-chain kontraktu, je vyřazen a nahrazen novým state rootem.
+Operátor je povinen odeslat jak staré, tak nové state roots při zveřejňování balíčků. Pokud starý kořen stavu odpovídá stávajícímu kořenu stavu v kontraktu na řetězci, je tento vyřazen a nahrazen novým kořenem stavu.
Operátor rollupu je také povinen se zavázat k Merkle kořeni samotného balíčku transakcí. To komukoliv umožňuje prokázat zahrnutí transakce do balíčku (na L1) předložením [Merkle důkazu](/developers/tutorials/merkle-proofs-for-offline-data-integrity/).
Závazky stavu, zejména state roots, jsou nezbytné pro prokázání správnosti změn stavu v optimistickém rollupu. Rollupový kontrakt přijímá nové state rooty od operátorů okamžitě po jejich odeslání, ale později může odstranit neplatné state rooty, aby obnovil správný stav rollupu.
-### Prokazování podvodu {#fraud-proving}
+### Dokazování podvodu {#fraud-proving}
Jak bylo vysvětleno, optimistické rollupy umožňují komukoli zveřejňovat bloky bez poskytnutí důkazů o platnosti. Aby se však zajistilo, že řetězec zůstane bezpečný, optimistické rollupy určují časové okno, během kterého může kdokoliv zpochybnit změnu stavu. Bloky rollupu se proto nazývají „tvrzení“, protože jejich platnost může kdokoliv zpochybnit.
@@ -120,7 +120,7 @@ Schémata interaktivního prokazování v jednom kole znovu přehrají sporné t
Opětovné provádění transakcí na L1 k detekci podvodu však vyžaduje zveřejnění závazků stavu pro jednotlivé transakce a zvyšuje množství dat, která musí rollupy na řetězci zveřejnit. Opakování transakcí také přináší významné náklady na palivo. Z těchto důvodů přecházejí optimistické rollupy na interaktivní prokazování ve více kolech, které dosahuje stejného cíle (tj. detekování neplatných operací rollupu) s větší efektivitou.
-#### Vícekolové interaktivní prokazování {#multi-round-interactive-proving}
+#### Vícekolové interaktivní dokazování {#multi-round-interactive-proving}
Vícekolové interaktivní prokazování zahrnuje protokol vzájemného dialogu mezi prosazovatelem a vyzyvatelem, který je řízen verifikačním kontraktem na L1, jenž nakonec rozhoduje o tom, která strana lže. Po zpochybnění tvrzení uzlem L2 je asserter povinen rozdělit sporné tvrzení na dvě stejné poloviny. Každé jednotlivé tvrzení v tomto případě obsahuje stejné množství kroků výpočtu jako druhé.
@@ -132,7 +132,7 @@ Uvádíme také několik poznámek k tomuto typu důkazu podvodu:
1. Vícekolové interaktivní prokazování podvodu je považováno za efektivní, protože minimalizuje práci, kterou musí L1 řetězec vykonat při arbitráži sporu. Místo replikace celé transakce musí L1 řetězec znovu provést pouze jeden krok v exekuci rollupu.
-2. Bisekční protokoly snižují množství dat zveřejněných na řetězi (není třeba zveřejňovat závazky stavu pro každou transakci). Kromě toho nejsou transakce optimistických rollupů omezeny limitem paliva Etherea. Naopak při opětovném provádění transakcí musí optimistické rollupy zajistit, aby transakce na L2 měly nižší limit paliva, aby mohly napodobovat svoji exekuci v rámci jedné transakce na Ethereu.
+2. Bisekční protokoly snižují množství dat zveřejněných na řetězci (není třeba zveřejňovat závazky stavu pro každou transakci). Kromě toho nejsou transakce optimistických rollupů omezeny limitem paliva Etherea. Naopak při opětovném provádění transakcí musí optimistické rollupy zajistit, aby transakce na L2 měly nižší limit paliva, aby mohly napodobovat svoji exekuci v rámci jedné transakce na Ethereu.
3. Část zálohy zlovolného prosazovatele je převedena vyzyvateli, zatímco druhá část je spálena. Tím se předchází tajné dohodě mezi validátory; pokud by dva validátoři kolaborovali a zahájili falešné výzvy, stále by ztratili značnou část celé zástavy.
@@ -146,17 +146,17 @@ Zlovolné uzly se mohou pokusit o zdržení potvrzení platného bloku rollupu z
Tato vlastnost souvisí také s další bezpečnostní vlastností optimistických rollupů: platnost řetězce závisí na existenci _jednoho_ poctivého uzlu. Poctivý uzel může řetězec správně rozvíjet buď tím, že zveřejní platná tvrzení, nebo zpochybní neplatná tvrzení. V každém případě zlovolné uzly, které vstoupí do sporu s poctivým uzlem, během procesu prokazování podvodu přijdou o své zástavy.
-### Interoperabilita mezi L1 a L2 {#l1-l2-interoperability}
+### Interoperabilita L1/L2 {#l1-l2-interoperability}
-Optimistické rollupy jsou navrženy pro interoperabilitu s Ethereum Mainnetem a umožňují uživatelům přenášet zprávy a libovolná data mezi L1 a L2. Jsou také kompatibilní s EVM, takže můžete přenést [existující dappky](/developers/docs/dapps/) na optimistické rollupy nebo pomocí vývojových nástrojů Etherea vytvořit nové dappky.
+Optimistické rollupy jsou navrženy pro interoperabilitu s Ethereum Mainnetem a umožňují uživatelům přenášet zprávy a libovolná data mezi L1 a L2. Jsou také kompatibilní s EVM, takže můžete přenést existující [dapps](/developers/docs/dapps/) na optimistické rollupy nebo pomocí vývojových nástrojů Etherea vytvořit nové dapps.
-#### 1. Pohyb aktiv {#asset-movement}
+#### 1. Přesun aktiv {#asset-movement}
##### Vstup do rollupu
Pro použití optimistického rollupu uživatelé vkládají ETH, ERC-20 tokeny a další přijatá aktiva do kontraktu [přemostění](/developers/docs/bridges/) příslušného rollupu na L1. Toto přemostění přenese transakci na L2, kde je ekvivalentní množství aktiv vyraženo a odesláno na vybranou adresu uživatele na optimistickém rollupu.
-Uživatelem generované transakce (jako je vklad L1 > L2) jsou obvykle zařazeny do fronty, dokud je sekvencer znovu neodešle do kontraktu rollupu. Nicméně aby se zachovala odolnost proti cenzuře, optimistické rollupy umožňují uživatelům odeslat transakci přímo do on-chain kontraktu rollupu, pokud byla zpožděna o více než je maximální povolený čas.
+Uživatelem generované transakce (jako je vklad L1 > L2) jsou obvykle zařazeny do fronty, dokud je sekvencer znovu neodešle do kontraktu rollupu. Nicméně aby se zachovala odolnost proti cenzuře, optimistické rollupy umožňují uživatelům odeslat transakci přímo do kontraktu rollupu na řetězci, pokud byla zpožděna o více než je maximální povolený čas.
Některé optimistické rollupy přijímají jednodušší přístup k zabránění cenzurování uživatelů ze strany sekvencerů. V takovém případě je blok definován všemi transakcemi odeslanými do L1 kontraktu od předchozího bloku (např. vklady) spolu s transakcemi zpracovanými na řetězci rollupu. Pokud sekvencer ignoruje transakci na L1, zveřejní (prokazatelně) nesprávný state root; proto sekvencery nemohou zpožďovat uživatelem generované zprávy, jakmile jsou zveřejněny na L1.
@@ -166,7 +166,7 @@ Výběr z optimistického rollupu na Ethereu je složitější kvůli schématu
Po zahájení požadavku na výběr na L2 rollupu je transakce zahrnuta do dalšího balíčku, zatímco aktiva uživatele na rollupu jsou spálena. Jakmile je balíček zveřejněn na Ethereu, může uživatel vypočítat Merkle důkaz prokazující zahrnutí jejich výstupní transakce do bloku. Poté už jen zbývá počkat, až uplyne doba zpoždění, aby mohla být transakce na L1 finalizována a prostředky vybrány na Mainnet.
-Aby se uživatelé optimistických rollupů vyhnuli čekání na týdenní výběr prostředků na Ethereum, mohou využít **poskytovatele likvidity** (LP). Poskytovatel likvidity převezme vlastnictví čekajícího výběru na L2 a vyplatí uživateli prostředky na L1 (za poplatek).
+Aby se uživatelé optimistických rollupů vyhnuli týdennímu čekání na výběr prostředků na Ethereum, mohou využít **poskytovatele likvidity** (LP). Poskytovatel likvidity převezme vlastnictví čekajícího výběru na L2 a vyplatí uživateli prostředky na L1 (za poplatek).
Poskytovatelé likvidity mohou před uvolněním prostředků ověřit platnost požadavku na výběr uživatele (tím, že sami exekuují řetězec). Tímto způsobem mají jistotu, že transakce bude nakonec potvrzena (tj. dojde k dosažení důvěryhodné finality).
@@ -182,7 +182,7 @@ ii. Vývojáři a projektové týmy používající optimistické rollupy mohou
Použití existujících nástrojů je důležité, protože tyto nástroje byly během let důkladně auditovány, laděny a vylepšovány. Rovněž to eliminuje potřebu, aby se vývojáři Etherea učili pracovat s úplně novou vývojovou sadou.
-#### 3. Meziblockchainové volání kontraktů {#cross-chain-contract-calls}
+#### 3. Volání kontraktů mezi řetězci {#cross-chain-contract-calls}
Uživatelé (externě vlastněné účty) interagují s kontrakty na L2 tak, že odešlou transakci do kontraktu rollupu nebo to za ně udělá sekvencer či validátor. Optimistické rollupy také umožňují kontraktům na Ethereu interagovat s kontrakty na L2 pomocí kontraktů přemostění, které přenášejí zprávy a data mezi L1 a L2. To znamená, že můžete naprogramovat L1 kontrakt na Ethereum Mainnetu, aby volal funkce náležící kontraktům na L2 optimistickém rollupu.
@@ -190,17 +190,17 @@ Meziblockchainové volání kontraktů probíhá asynchronně – tj. volání j
Příkladem meziblockchainového volání kontraktů je dříve popsaný vklad tokenů. Kontrakt na L1 uschová tokeny uživatele a pošle zprávu spárovanému kontraktu na L2, aby na rollupu vydal odpovídající množství tokenů.
-Jelikož cross-chain volání zpráv vede k exekuci kontraktu, odesílatel je obvykle povinen pokrýt [náklady na palivo](/developers/docs/gas/) za tento výpočet. Doporučuje se nastavit vysoký limit paliva, aby se předešlo selhání transakce na cílovém řetězci. Scénář přemostění tokenů je dobrým příkladem; pokud L1 část transakce (vklad tokenů) funguje, ale L2 část (vydání nových tokenů) selže kvůli nízkému limitu paliva, vklad se stává nevratně ztraceným.
+Jelikož volání zpráv mezi řetězci vede k exekuci kontraktu, odesílatel je obvykle povinen pokrýt [náklady na palivo](/developers/docs/gas/) za tento výpočet. Doporučuje se nastavit vysoký limit paliva, aby se předešlo selhání transakce na cílovém řetězci. Scénář přemostění tokenů je dobrým příkladem; pokud L1 část transakce (vklad tokenů) funguje, ale L2 část (vydání nových tokenů) selže kvůli nízkému limitu paliva, vklad se stává nevratně ztraceným.
-Je třeba poznamenat, že zprávy L2 > L1 mezi kontrakty musí počítat se zpožděním (zprávy L1 > L2 jsou obvykle vykonány po několika minutách). To proto, že zprávy zaslané na Mainnet z optimistického rollupu nelze vykonat, dokud neuplyne okno, během kterého je možné podat výzvu.
+Na závěr je třeba poznamenat, že volání zpráv L2 > L1 mezi kontrakty musí počítat se zpožděním (volání L1 > L2 jsou obvykle vykonána po několika minutách). To proto, že zprávy zaslané na Mainnet z optimistického rollupu nelze vykonat, dokud neuplyne okno, během kterého je možné podat výzvu.
## Jak fungují poplatky na optimistických rollupech? {#how-do-optimistic-rollup-fees-work}
Optimistické rollupy používají systém poplatků za palivo podobně jako Ethereum, aby bylo možné vyčíslit, kolik uživatelé platí za transakci. Poplatky účtované u optimistických rollupů závisí na následujících složkách:
-1. **Zápis stavu**: Optimistické rollupy posílají data transakcí a hlavičky bloků (sestávající z hashe hlavičky předchozího bloku, state rootu a batch rootu) na Ethereum jako `blob` nebo „velký binární objekt“. [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) zavedl nákladově efektivní řešení pro zahrnutí dat na řetězec. `Blob` je nové pole transakce, které umožňuje rollupům zveřejnit komprimovaná data o přechodu stavu na Ethereum L1. Na rozdíl od `calldata`, které zůstává na řetězi trvale, jsou bloby krátkodobé a mohou být odstraněny z klientů po [4 096 epochách](https://github.com/ethereum/consensus-specs/blob/81f3ea8322aff6b9fb15132d050f8f98b16bdba4/configs/mainnet.yaml#L147) (přibližně 18 dnech). Použitím blobů pro zveřejnění balíčků komprimovaných transakcí mohou optimistické rollupy výrazně snížit náklady na zápis transakcí na L1.
+1. **Zápis stavu**: Optimistické rollupy posílají data transakcí a hlavičky bloků (sestávající z haše hlavičky předchozího bloku, kořenu stavu, kořenu dávky) na Ethereum jako `blob` nebo „velký binární objekt“. [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) zavedl nákladově efektivní řešení pro zahrnutí dat na řetězec. Blob je nové pole transakce, které umožňuje rollupům zveřejnit komprimovaná data o přechodu stavu na Ethereum L1. Na rozdíl od `calldata`, které zůstávají trvale na řetězci, jsou bloby krátkodobé a mohou být odstraněny z klientů po [4096 epochách](https://github.com/ethereum/consensus-specs/blob/81f3ea8322aff6b9fb15132d050f8f98b16bdba4/configs/mainnet.yaml#L147) (přibližně 18 dní). Použitím blobů pro zveřejnění balíčků komprimovaných transakcí mohou optimistické rollupy výrazně snížit náklady na zápis transakcí na L1.
-2. **Palivo spotřebované blobem**: Transakce s blobem používají dynamický mechanismus poplatků podobný tomu, který byl zaveden [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559). Poplatek za palivo pro typ-3 transakce zohledňuje základní poplatek za bloby, který je určen sítí na základě poptávky po blobovém prostoru a využití blobového prostoru transakcí, která je odesílána.
+2. **Spotřebované palivo blobu**: Transakce přenášející bloby používají dynamický mechanismus poplatků podobný tomu, který byl zaveden v [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559). Poplatek za palivo pro typ-3 transakce zohledňuje základní poplatek za bloby, který je určen sítí na základě poptávky po blobovém prostoru a využití blobového prostoru transakcí, která je odesílána.
3. **Poplatky operátorů L2**: Toto je částka zaplacená síťovým uzlům rollupu jako kompenzace za výpočetní náklady vzniklé při zpracování transakcí, podobně jako poplatky za palivo na Ethereu. Uzel rollupu účtuje nižší transakční poplatky, protože L2 má vyšší kapacitu zpracování a není konfrontován s přetížením sítě, které nutí validátory na Ethereu upřednostňovat transakce s vyššími poplatky.
@@ -214,40 +214,40 @@ Hlavní řetězec Etherea klade limity na množství dat, která mohou být v bl
Optimistické rollupy používají k dosažení komprese dat transakcí a zlepšení rychlosti TPS (transakcí za sekundu) několik technik. Například tento [článek](https://vitalik.eth.limo/general/2021/01/05/rollup.html) porovnává data generovaná základní uživatelskou transakcí (posílání etheru) na Mainnetu a množství dat, která generuje stejná transakce na rollupu:
-| Parametr | Ethereum (L1) | Rollup (L2) |
-| ----------------------- | --------------------- | ------------- |
-| Jedinečné číslo (nonce) | ~3 | 0 |
-| Cena paliva | ~8 | 0–0,5 |
-| Palivo | 3 | 0–0,5 |
-| Pro | 21 | 4 |
-| Hodnota | 9 | ~3 |
-| Podpis | ~68 (2 + 33 + 33) | ~0,5 |
-| Od | 0 (získáno z podpisu) | 4 |
-| **Celkem** | **~112 bajtů** | **~12 bajtů** |
+| Parametr | Ethereum (L1) | Rollup (L2) |
+| ------------------------------------------ | ---------------------------------------------------- | ------------------------------ |
+| Jedinečné číslo (nonce) | ~3 | 0 |
+| Cena paliva | ~8 | 0–0,5 |
+| Palivo | 3 | 0–0,5 |
+| Pro | 21 | 4 |
+| Hodnota | 9 | ~3 |
+| Podpis | ~68 (2 + 33 + 33) | ~0,5 |
+| Od | 0 (získáno z podpisu) | 4 |
+| **Celkem** | **~112 bajtů** | **~12 bajtů** |
Provádění hrubých výpočtů na těchto číslech může ukázat, jaké zlepšení škálovatelnosti optimistické rollupy poskytují:
1. Cílová velikost pro každý blok je 15 milionů jednotek paliva a ověřit jeden bajt dat stojí 16 jednotek paliva. Vydělení průměrné velikosti bloku 16 jednotkami paliva (15 000 000/16) ukazuje, že průměrný blok může obsahovat **937 500 bajtů dat**.
2. Pokud základní transakce rollupu spotřebuje 12 bajtů, pak průměrný blok Etherea může zpracovat **78 125 transakcí rollupu** (937 500/12) nebo **39 balíčků rollupu** (pokud každý balíček obsahuje průměrně 2 000 transakcí).
-3. Pokud je nový blok na Ethereu produkován každých 15 sekund, pak by rychlost zpracování rollupu činila přibližně **5 208 transakcí za sekundu**. To se vypočítá tak, že se počet základních transakcí rollupu, které může blok Etherea obsahovat (**78 125)**, vydělí průměrnou dobou bloku (**15 sekund**).
+3. Pokud je na Ethereu produkován nový blok každých 15 sekund, pak by rychlost zpracování rollupu činila přibližně **5 208 transakcí za sekundu**. To se vypočítá tak, že se počet základních transakcí rollupu, které může blok Etherea obsahovat (**78 125**), vydělí průměrnou dobou bloku (**15 sekund**).
Toto je poměrně optimistický odhad, protože transakce optimistického rollupu nemohou tvořit celý blok na Ethereu. Nicméně to může poskytnout hrubou představu o tom, jaké výhody v oblasti škálovatelnosti mohou optimistické rollupy uživatelům Etherea nabídnout (aktuální implementace nabízejí až 2 000 TPS).
-Zavedení [datového shardingu](/roadmap/danksharding/) na Ethereu by mělo zlepšit škálovatelnost optimistických rollupů. Protože transakce rollupu musí sdílet prostor bloku s ostatními netransakcemi rollupu, jejich zpracovatelská kapacita je omezena propustností dat na hlavním řetězci Etherea. Danksharding zvýší prostor dostupný pro L2 řetězce k publikaci dat na blok, využívající levnější, dočasné „blobové“ úložiště místo drahého, trvalého `CALLDATA`.
+Zavedení [datového shardingu](/roadmap/danksharding/) na Ethereu by mělo zlepšit škálovatelnost optimistických rollupů. Protože transakce rollupu musí sdílet prostor bloku s ostatními netransakcemi rollupu, jejich zpracovatelská kapacita je omezena propustností dat na hlavním řetězci Etherea. Danksharding zvýší prostor dostupný pro L2 řetězce k publikaci dat na blok, využívající levnější, dočasné úložiště „blobů“ místo drahého, trvalého `CALLDATA`.
### Výhody a nevýhody optimistických rollupů {#optimistic-rollups-pros-and-cons}
-| Plusy | Minusy |
-| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Nabízejí masivní zlepšení škálovatelnosti, aniž by obětovaly bezpečnost nebo důvěryhodnost. | Zpoždění finality transakcí kvůli potenciálním výzvám kvůli podvodům. |
-| Data transakcí jsou uložena na vrstvě 1, což zlepšuje transparentnost, bezpečnost, odolnost proti cenzuře a decentralizaci. | Centralizovaní operátoři rollupu (sekvencery) mohou ovlivnit pořadí transakcí. |
-| Prokázání podvodu zaručuje důvěryhodnou finalitu a umožňuje poctivým minoritám zabezpečit řetězec. | Pokud neexistují poctivé síťové uzly, může zlovolný operátor ukrást prostředky zveřejněním neplatných bloků a stavu. |
-| Výpočet důkazů podvodu je přístupný všem běžným uzlům L2, na rozdíl od důkazů platnosti (používaných v ZK-rollupech), které vyžadují speciální hardware. | Bezpečnostní model se spoléhá na alespoň jeden poctivý uzel, který provádí transakce rollupu a podává důkazy podvodu ke zpochybnění neplatných změn stavu. |
-| Rollupy těží z „důvěryhodného života“ (kdokoli může přinutit řetězec, aby pokračoval tím, že vykoná transakce a zveřejní tvrzení). | Uživatelé musí počkat, až uplyne týdenní období pro podání výzvy, než si mohou vybrat prostředky zpět na Ethereum. |
-| Optimistické rollupy se v otázce zvýšení bezpečnosti řetězce spoléhají na dobře navržené kryptografické ekonomické pobídky. | Rollupy musí zveřejňovat všechna data transakcí na řetězci, což může zvýšit náklady. |
-| Kompatibilita s EVM a Solidity umožňuje vývojářům přenášet smart kontrakty nativní na Ethereu na rollupy nebo používat stávající nástroje k vytváření nových dappek. | |
+| Plusy | Minusy |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Nabízejí masivní zlepšení škálovatelnosti, aniž by obětovaly bezpečnost nebo důvěryhodnost. | Zpoždění finality transakcí kvůli potenciálním výzvám kvůli podvodům. |
+| Data transakcí jsou uložena na vrstvě 1, což zlepšuje transparentnost, bezpečnost, odolnost proti cenzuře a decentralizaci. | Centralizovaní operátoři rollupu (sekvencery) mohou ovlivnit pořadí transakcí. |
+| Prokázání podvodu zaručuje důvěryhodnou finalitu a umožňuje poctivým minoritám zabezpečit řetězec. | Pokud neexistují poctivé síťové uzly, může zlovolný operátor ukrást prostředky zveřejněním neplatných bloků a stavu. |
+| Výpočet důkazů podvodu je přístupný všem běžným uzlům L2, na rozdíl od důkazů platnosti (používaných v ZK-rollupech), které vyžadují speciální hardware. | Bezpečnostní model se spoléhá na alespoň jeden poctivý uzel, který provádí transakce rollupu a podává důkazy podvodu ke zpochybnění neplatných změn stavu. |
+| Rollupy těží z „důvěryhodného života“ (kdokoli může přinutit řetězec, aby pokračoval tím, že vykoná transakce a zveřejní tvrzení). | Uživatelé musí počkat, až uplyne týdenní období pro podání výzvy, než si mohou vybrat prostředky zpět na Ethereum. |
+| Optimistické rollupy se v otázce zvýšení bezpečnosti řetězce spoléhají na dobře navržené kryptografické ekonomické pobídky. | Rollupy musí zveřejňovat všechna data transakcí na řetězci, což může zvýšit náklady. |
+| Kompatibilita s EVM a Solidity umožňuje vývojářům přenášet smart kontrakty nativní na Ethereu na rollupy nebo používat stávající nástroje k vytváření nových dappek. | |
-### Vizualizace optimistických rollupů {#optimistic-video}
+### Vizuální vysvětlení optimistických rollupů {#optimistic-video}
Učíte se spíše vizuálně? Podívejte se na video od Finematics, které vysvětluje optimistické rollupy:
@@ -257,7 +257,9 @@ Učíte se spíše vizuálně? Podívejte se na video od Finematics, které vysv
- [Jak fungují optimistické rollupy (kompletní průvodce)](https://www.alchemy.com/overviews/optimistic-rollups)
- [Co je to Blockchain Rollup? Technický úvod](https://www.ethereum-ecosystem.com/blog/what-is-a-blockchain-rollup-a-technical-introduction)
-- [Zásadní průvodce pro Arbitrum](https://www.bankless.com/the-essential-guide-to-arbitrum)
-- [Jak skutečně funguje rollup od Optimism?](https://www.paradigm.xyz/2021/01/how-does-optimism-s-rollup-really-work)
-- [Hloubkový rozbor OVM](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52)
-- [Co je to Virtuální stroj Optimistic?](https://www.alchemy.com/overviews/optimistic-virtual-machine)
+- [Základní průvodce Arbitrum](https://www.bankless.com/the-essential-guide-to-arbitrum)
+- [Praktický průvodce rollupy na Ethereu](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
+- [Stav důkazů podvodu na L2 Etherea](https://web.archive.org/web/20241124154627/https://research.2077.xyz/the-state-of-fraud-proofs-in-ethereum-l2s)
+- [Jak skutečně funguje rollup Optimismu?](https://www.paradigm.xyz/2021/01/how-does-optimism-s-rollup-really-work)
+- [Hloubkový ponor do OVM](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52)
+- [Co je Optimistic Virtual Machine?](https://www.alchemy.com/overviews/optimistic-virtual-machine)
diff --git a/public/content/translations/cs/developers/docs/scaling/plasma/index.md b/public/content/translations/cs/developers/docs/scaling/plasma/index.md
index 2a973f894d9..c71925dd224 100644
--- a/public/content/translations/cs/developers/docs/scaling/plasma/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/plasma/index.md
@@ -6,27 +6,27 @@ incomplete: true
sidebarDepth: 3
---
-Plazmový řetězec je samostatný blockchain ukotvený na Ethereum Mainnet, ale provádějící transakce mimo řetězec s vlastním mechanismem pro validaci bloků. Plazmové řetězce jsou někdy označovány jako „dceřiné“ řetězce, což jsou v podstatě menší kopie Ethereum Mainnetu. Plazmové řetězce k arbitráži sporů využívají [důkazy podvodů](/glossary/#fraud-proof) (podobně jako [optimistické rollupy](/developers/docs/scaling/optimistic-rollups/)).
+Plazmový řetězec je samostatný blockchain ukotvený na hlavní síti Ethereum, ale provádějící transakce mimo řetězec s vlastním mechanismem pro validaci bloků. Plazmové řetězce jsou někdy označovány jako „dceřiné“ řetězce, což jsou v podstatě menší kopie Ethereum Mainnetu. Plasma řetězce používají [důkazy podvodu](/glossary/#fraud-proof) (jako [optimistické rollupy](/developers/docs/scaling/optimistic-rollups/)) k řešení sporů.
Merkle trees umožňují vytvoření nekonečného počtu těchto řetězců, které mohou posloužit k odlehčení šířky pásma mateřských řetězců (včetně Ethereum Mainnetu). Nicméně zatímco tyto řetězce odvozují část své bezpečnosti od Etherea (prostřednictvím důkazů podvodů), jejich bezpečnost a efektivita jsou ovlivněny několika konstrukčními omezeními.
## Předpoklady {#prerequisites}
-Pro pochopení tohoto článku byste měli dobře rozumět všem základním tématům a skvěle chápat [škálování Etherea](/developers/docs/scaling/).
+Měli byste dobře rozumět všem základním tématům a mít obecný přehled o [škálování Etherea](/developers/docs/scaling/).
## Co je Plasma?
-Plasma je vývojová platforma pro zlepšení škálovatelnosti na veřejných blockchainech, jako je Ethereum. Jak je popsáno v původním [whitepaperu Plasmy](http://plasma.io/plasma.pdf), plazmové řetězce jsou postaveny na jiném blockchainu (nazývaném „kořenový řetězec“). Každý „dceřiný řetězec“ se rozšiřuje z kořenového řetězce a je obecně spravován smart kontraktem nasazeným na mateřském řetězci.
+Plasma je vývojová platforma pro zlepšení škálovatelnosti na veřejných blockchainech, jako je Ethereum. Jak je popsáno v původní [bílé knize Plasma](http://plasma.io/plasma.pdf), jsou plasma řetězce postaveny na jiném blockchainu (nazývaném „kořenový řetězec“). Každý „dceřiný řetězec“ se rozšiřuje z kořenového řetězce a je obecně spravován smart kontraktem nasazeným na mateřském řetězci.
-Funkce plazmového kontraktu, mimo jiné, slouží jako [přemostění](/developers/docs/bridges/), které umožňuje uživatelům přesouvat aktiva mezi Ethereum Mainnetem a plazmovým řetězcem. Ačkoliv to je činí podobnými [postranním řetězcům](/developers/docs/scaling/sidechains/), plazmové řetězce těží – alespoň do určité míry – z bezpečnosti Mainnetu Etherea. A tím se od postranním řetězců, které jsou zodpovědné za svou bezpečnost samy, odlišují.
+Kontrakt Plasma funguje mimo jiné jako [přemostění](/developers/docs/bridges/), které umožňuje uživatelům přesouvat aktiva mezi hlavní sítí Ethereum a plazmovým řetězcem. Ačkoli je to činí podobnými [sidechainům](/developers/docs/scaling/sidechains/), plazmové řetězce těží – alespoň do určité míry – z bezpečnosti hlavní sítě Ethereum. A tím se od postranním řetězců, které jsou zodpovědné za svou bezpečnost samy, odlišují.
## Jak Plasma funguje?
Základními komponentami vývojového rámce Plasma jsou:
-### Výpočty mimo blockchain {#off-chain-computation}
+### Výpočty mimo řetězec {#offchain-computation}
-Současná rychlost zpracování Etherea je omezena na přibližně 15–20 transakcí za sekundu, což snižuje krátkodobou možnost škálování pro obsloužení většího počtu uživatelů. Tento problém existuje hlavně proto, že [konsensuální mechanismus](/developers/docs/consensus-mechanisms/) Etherea vyžaduje, aby spousta peer-to-peer uzlů ověřila každou aktualizaci stavu blockchainu.
+Současná rychlost zpracování Etherea je omezena na přibližně 15–20 transakcí za sekundu, což snižuje krátkodobou možnost škálování pro obsloužení většího počtu uživatelů. Tento problém existuje hlavně proto, že [mechanismus konsenzu](/developers/docs/consensus-mechanisms/) Etherea vyžaduje, aby mnoho peer-to-peer uzlů ověřilo každou aktualizaci stavu blockchainu.
Ačkoli je konsensuální mechanismus Etherea nezbytný pro bezpečnost, nemusí se vztahovat na každý případ použití. Například Alice možná nepotřebuje, aby její denní platby Bobovi za šálek kávy ověřila celá síť Etherea, protože mezi oběma stranami existuje určitá míra důvěry.
@@ -36,13 +36,13 @@ Výpočty mimo řetězec jsou nezbytné, protože plazmové řetězce mohou opti
### Závazky stavu {#state-commitments}
-I když Plasma provádí transakce mimo řetězec, vypořádány jsou na hlavní výkonné vrstvě Etherea – jinak by plazmové řetězce nemohly těžit z bezpečnostních záruk Etherea. Ale finalizace transakcí mimo řetězec bez znalosti stavu plazmového řetězce by narušila bezpečnostní model a umožnila rozšíření neplatných transakcí. Proto je operátor, subjekt odpovědný za produkci bloků na plazmovém řetězci, povinen pravidelně zveřejňovat „závazky stavu“ na Ethereu.
+I když Plasma provádí transakce mimo řetězec, jsou vypořádány na hlavní exekuční vrstvě Etherea – jinak by plazmové řetězce nemohly těžit z bezpečnostních záruk Etherea. Ale finalizace transakcí mimo řetězec bez znalosti stavu plazmového řetězce by narušila bezpečnostní model a umožnila rozšíření neplatných transakcí. Proto je operátor, subjekt odpovědný za produkci bloků na plazmovém řetězci, povinen pravidelně zveřejňovat „závazky stavu“ na Ethereu.
[Schéma závazků](https://en.wikipedia.org/wiki/Commitment_scheme) je kryptografická technika pro zavázání se k hodnotě nebo výroku, aniž by tato hodnota nebo výrok byly odhaleny jiné straně. Závazky jsou „závazné“ v tom smyslu, že nemůžete změnit hodnotu nebo tvrzení, jakmile jste se k němu zavázali. Závazky stavu v Plasmě mají podobu „Merkle kořenů“ (odvozených od [Merkle tree](/whitepaper/#merkle-trees)), které operátor v pravidelných intervalech zasílá do plazmového kontraktu na Ethereu.
-Kořeny Merkle jsou kryptografické prvky, které umožňují kompresi velkého množství informací. Merkle kořen (v tomto případě také nazývaný „kořen bloku“) může reprezentovat všechny transakce v bloku. Merkle kořeny také usnadňují ověření, že malý kousek dat je součástí většího datového souboru. Například uživatel může předložit [Merkle důkaz](/developers/tutorials/merkle-proofs-for-offline-data-integrity/#main-content) k prokázání zahrnutí transakce do konkrétního bloku.
+Kořeny Merkle jsou kryptografické prvky, které umožňují kompresi velkého množství informací. Merkle kořen (v tomto případě také nazývaný „kořen bloku“) může reprezentovat všechny transakce v bloku. Merkle kořeny také usnadňují ověření, že malý kousek dat je součástí většího datového souboru. Uživatel může například vytvořit [Merkleův důkaz](/developers/tutorials/merkle-proofs-for-offline-data-integrity/#main-content) pro prokázání zahrnutí transakce do konkrétního bloku.
-Merkle kořeny jsou důležité pro poskytování informací o stavu mimo řetězec Ethereu. Merkle kořeny si můžete představit jako „ukládací body“ – operátor říká: „Toto je stav plazmového řetězce v bodě času x a toto je Merkle kořen jako důkaz.“ Operátor se zavazuje k _aktuálnímu stavu_ plazmového řetězce pomocí Merkle kořene, což je důvod, proč se tomu říká „závazek stavu“.
+Merkle kořeny jsou důležité pro poskytování informací o stavu mimo řetězec Ethereu. Merkle kořeny si můžete představit jako „ukládací body“ – operátor říká: „Toto je stav plazmového řetězce v bodě času x a toto je Merkle kořen jako důkaz.“ Operátor se zavazuje k aktuálnímu stavu plazmového řetězce pomocí Merkle kořene, což je důvod, proč se tomu říká „závazek stavu“.
### Vstupy a výstupy {#entries-and-exits}
@@ -50,11 +50,11 @@ Aby uživatelé Etherea mohli využívat výhody Plasmy, musí existovat mechani
Plasma využívá hlavní kontrakt běžící na Ethereu ke zpracování vstupů a výstupů uživatelů. Tento hlavní kontrakt je také odpovědný za sledování závazků stavu (vysvětleno dříve) a za trestání nepoctivého chování pomocí důkazů podvodů (více o tom později).
-#### Vstup do plazmového řetězce {#entering-the-plasma-chain}
+#### Vstup na plazmový řetězec {#entering-the-plasma-chain}
Aby Alice (uživatel) mohla vstoupit do plazmového řetězce, musí vložit ETH nebo jakýkoli ERC-20 token do plazmového kontraktu. Operátor plazmy, který sleduje vklady do kontraktu, znovu vytvoří částku rovnající se původnímu vkladu Alice a pošle ji na její adresu na plazmovém řetězci. Alice musí potvrdit přijetí prostředků na dceřiném řetězci a poté může tyto prostředky použít pro transakce.
-#### Výstup z plazmového řetězce {#exiting-the-plasma-chain}
+#### Opuštění plazmového řetězce {#exiting-the-plasma-chain}
Výstup z plazmového řetězce je složitější než vstup, a to hned z několika důvodů. Největším je, že zatímco Ethereum má informace o stavu plazmového řetězce, nemůže ověřit, zda jsou tyto informace pravdivé. Podvodník by mohl učinit nesprávné tvrzení („mám 1 000 ETH“) a utéct bez postihu, kdyby poskytl falešné důkazy na podporu tohoto tvrzení.
@@ -62,15 +62,15 @@ Aby se předešlo podvodným výběrům, zavádí se „období výzvy“. Běhe
Obvykle jsou však uživatelé poctiví a o prostředcích, které vlastní, mluví pravdu. V tomto scénáři Alice zahájí žádost o výběr na kořenovém řetězci (Ethereum) odesláním transakce do plazmového kontraktu.
-Alice musí také poskytnout Merkle důkaz ověřující, že transakce, která vytvořila její prostředky na plazmovém řetězci, byla zahrnuta do bloku. To je nezbytné pro varianty Plasmy, jako je [Plasma MVP](https://www.learnplasma.org/en/learn/mvp.html), které používají model [Unspent Transaction Output (UTXO)](https://en.wikipedia.org/wiki/Unspent_transaction_output).
+Alice musí také poskytnout Merkle důkaz ověřující, že transakce, která vytvořila její prostředky na plazmovém řetězci, byla zahrnuta do bloku. To je nezbytné pro iterace Plasma, jako je [Plasma MVP](https://www.learnplasma.org/en/learn/mvp.html), které používají model [Unspent Transaction Output (UTXO)](https://en.wikipedia.org/wiki/Unspent_transaction_output).
-Jiné varianty, jako je [Plasma Cash](https://www.learnplasma.org/en/learn/cash.html), představují prostředky, jako jsou [nezaměnitelné tokeny](/developers/docs/standards/tokens/erc-721/) místo UTXO. V tomto případě je pro výběr nutné předložit důkaz o vlastnictví tokenů na plazmovém řetězci. Toho je možné docílit předložením dvou nejnovějších transakcí zahrnujících token a poskytnutím Merkle důkazu ověřujícího zahrnutí těchto transakcí do bloku.
+Jiné, jako [Plasma Cash](https://www.learnplasma.org/en/learn/cash.html), představují prostředky jako [nezaměnitelné tokeny](/developers/docs/standards/tokens/erc-721/) místo UTXO. V tomto případě je pro výběr nutné předložit důkaz o vlastnictví tokenů na plazmovém řetězci. Toho je možné docílit předložením dvou nejnovějších transakcí zahrnujících token a poskytnutím Merkle důkazu ověřujícího zahrnutí těchto transakcí do bloku.
Uživatel musí také přidat k žádosti o výběr zástavu jako záruku poctivého chování. Pokud vyzyvatel prokáže neplatnost žádosti o výběr Alice, její záloha je penalizována a část z ní jde vyzyvateli jako odměna.
Pokud uplyne období výzvy, aniž by kdokoli poskytl důkaz podvodu, žádost Alice o výběr je považována za platnou, což jí umožňuje vybrat vklady z plazmového kontraktu na Ethereu.
-### Arbitráž sporů {#dispute-arbitration}
+### Řešení sporů {#dispute-arbitration}
Stejně jako u jakéhokoli jiného blockchainu, plazmové řetězce potřebují mechanismus pro vynucení integrity transakcí v případě, že se účastníci chovají podvodně (např. dvojité utrácení prostředků). Za tímto účelem plazmové řetězce používají důkazy podvodů k arbitráži sporů týkajících se platnosti přechodů stavu a k trestání podvodného chování. Důkazy podvodů jsou použity jako mechanismus, kterým plazmový dceřiný řetězec podává stížnost svému mateřskému řetězci nebo kořenovému řetězci.
@@ -80,17 +80,17 @@ Aby zabránil výběru, Bob sestaví důkaz podvodu poskytnutím důkazu o tom,
Pokud je Bobova výzva úspěšná, žádost Alice o výběr je zrušena. Tento přístup však spoléhá na Bobovu schopnost sledovat řetězec. Pokud je Bob offline, může Alice zpracovat zlovolný výběr, jakmile uplyne období výzvy.
-## Problém hromadného výběru z plazmového řetězce {#the-mass-exit-problem-in-plasma}
+## Problém hromadného odchodu v Plasma {#the-mass-exit-problem-in-plasma}
Problém hromadného výběru nastává, když se velký počet uživatelů naráz pokusí vybrat prostředky z plazmového řetězce. Tento problém existuje kvůli jednomu z největších problémů Plasmy: **nedostupnosti dat**.
Dostupnost dat je schopnost ověřit, že informace pro navrhovaný blok byly skutečně zveřejněny na blockchainové síti. Blok je „nedostupný“, pokud producent zveřejní samotný blok, ale zadrží data použitá k vytvoření bloku.
-Bloky musí být dostupné, pokud mají být síťové uzly schopny stáhnout blok a ověřit platnost transakcí. Blockchainy zajišťují dostupnost dat tím, že nutí producenty bloků zveřejnit všechna data transakcí na řetězci.
+Bloky musí být dostupné, pokud mají být síťové uzly schopny stáhnout blok a ověřit platnost transakcí. Blockchainy zajišťují dostupnost dat tím, že nutí producenty bloků zveřejnit všechna data transakcí na blockchainu.
Dostupnost dat také pomáhá zabezpečit škálovací protokoly mimo řetězec, které staví na základní vrstvě Etherea. Tím, že nutí operátory na těchto řetězcích zveřejnit data transakcí na Ethereu, může kdokoli zpochybnit neplatné bloky sestavením důkazů podvodu odkazujících na správný stav řetězce.
-Plazmové řetězce primárně ukládají data o transakcích u operátora a **nezveřejňují žádná data na Mainnetu** (tj. kromě pravidelných závazků stavu). To znamená, že uživatelé se musí spoléhat na to, že operátor poskytne data bloků, pokud potřebují vytvořit důkazy podvodu a zpochybnit neplatné transakce. Pokud tento systém funguje, mohou uživatelé vždy využít důkazů podvodu k ochraně svých prostředků.
+Plazmové řetězce primárně ukládají data o transakcích u operátora a **nezveřejňují žádná data na hlavní síti** (tj. kromě pravidelných závazků stavu). To znamená, že uživatelé se musí spoléhat na to, že operátor poskytne data bloků, pokud potřebují vytvořit důkazy podvodu a zpochybnit neplatné transakce. Pokud tento systém funguje, mohou uživatelé vždy využít důkazů podvodu k ochraně svých prostředků.
Problém nastává, když podvodníkem není běžný uživatel, ale přímo operátor. Protože operátor má plnou kontrolu nad blockchainem, má větší motivaci prosazovat neplatné změny stavu ve větším měřítku, například krást prostředky uživatelů na plazmovém řetězci.
@@ -98,41 +98,41 @@ V tomto případě klasický systém důkazů podvodu nefunguje. Operátor by mo
Nejoptimističtějším řešením v této situaci je pokus o „hromadný výběr“ uživatelů z plazmového řetězce. Hromadný výběr zpomalí podvodný plán operátora na krádež prostředků a poskytne uživatelům určitou míru ochrany. Žádosti o výběr jsou seřazeny podle toho, kdy bylo vytvořeno každé UTXO (nebo token), čímž se zabrání tomu, aby podvodní operátoři předběhli poctivé uživatele.
-Nicméně stále potřebujeme způsob, jak ověřit platnost žádostí o výběr během hromadného výběru, aby se zabránilo tomu, že by oportunističtí jednotlivci využili chaosu a neplatně vybrali prostředky. Řešení je jednoduché: vyžadovat, aby uživatelé jako podmínku výběru svých peněz předložili poslední **platný stav řetězce**.
+Nicméně stále potřebujeme způsob, jak ověřit platnost žádostí o výběr během hromadného výběru, aby se zabránilo tomu, že by oportunističtí jednotlivci využili chaosu a neplatně vybrali prostředky. Řešení je jednoduché: vyžadovat od uživatelů, aby pro výběr svých peněz zveřejnili poslední **platný stav řetězce**.
Tento přístup má však stále své mouchy. Například pokud všichni uživatelé na plazmovém řetězci potřebují provést výběr (což je možné v případě podvodného operátora), pak musí být celý platný stav plazmového řetězce naráz přenesen na základní vrstvu Etherea. Vzhledem k arbitrární velikosti plazmových řetězců (vyšší propustnost = více dat) a omezením rychlosti zpracování Ethereem to není ideální řešení.
Ačkoli výstupní strategie zní teoreticky dobře, skutečné hromadné výběry pravděpodobně vyvolají přetížení sítě na samotném Ethereu. Kromě poškození funkčnosti Etherea může špatně koordinovaný hromadný výběr znamenat, že uživatelé nebudou schopni vybrat své prostředky dříve, než operátor odčerpá prostředky ze všech účtů na plazmovém řetězci.
-## Výhody a nevýhody plazmových řetězců {#pros-and-cons-of-plasma}
+## Výhody a nevýhody Plasma {#pros-and-cons-of-plasma}
-| Plusy | Mínusy |
-| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Nabízí vysokou propustnost a nízké náklady na transakci. | Nepodporuje obecné výpočty (nemůže spouštět smart kontrakty. Podporuje pouze základní tokenové transakce, směnu a několik dalších typů transakcí prostřednictvím predikátové logiky. |
-| Vhodné pro transakce mezi libovolnými uživateli (bez režie páru uživatelů, pokud jsou oba etablováni na plazmovém řetězci) | Nutnost pravidelně sledovat síť (je třeba být připojen) nebo tuto odpovědnost delegovat na někoho jiného, aby byla zajištěna bezpečnost vašich prostředků. |
-| Plazmové řetězce lze přizpůsobit specifickým případům použití, které nesouvisejí s hlavním řetězcem. Každý, včetně firem, si může plazmové smart kontrakty přizpůsobit a poskytnout škálovatelnou infrastrukturu, která funguje v různých kontextech. | Spoléhá na jednoho nebo více operátorů, aby uchovávali data a na požádání je poskytovali. |
-| Snižuje zatížení Ethereum Mainnetu přesunem výpočtů a úložiště mimo řetězec. | Výběry jsou zpožděny o několik dní, aby bylo možné podávat výzvy. U zaměnitelných aktiv to mohou zmírnit poskytovatelé likvidity, ale s tím jsou spojeny kapitálové náklady. |
-| | Pokud se příliš mnoho uživatelů pokusí o výběr současně, může se Ethereum Mainnet přetížit. |
+| Plusy | Minusy |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Nabízí vysokou propustnost a nízké náklady na transakci. | Nepodporuje obecné výpočty (nemůže spouštět smart kontrakty). Podporuje pouze základní tokenové transakce, směnu a několik dalších typů transakcí prostřednictvím predikátové logiky. |
+| Vhodné pro transakce mezi libovolnými uživateli (bez režie páru uživatelů, pokud jsou oba etablováni na plazmovém řetězci) | Nutnost pravidelně sledovat síť (je třeba být připojen) nebo tuto odpovědnost delegovat na někoho jiného, aby byla zajištěna bezpečnost vašich prostředků. |
+| Plazmové řetězce lze přizpůsobit specifickým případům použití, které nesouvisejí s hlavním řetězcem. Každý, včetně firem, si může plazmové smart kontrakty přizpůsobit a poskytnout škálovatelnou infrastrukturu, která funguje v různých kontextech. | Spoléhá na jednoho nebo více operátorů, aby uchovávali data a na požádání je poskytovali. |
+| Snižuje zatížení hlavní sítě Ethereum přesunem výpočtů a úložiště mimo řetězec. | Výběry jsou zpožděny o několik dní, aby bylo možné podávat výzvy. U zaměnitelných aktiv to mohou zmírnit poskytovatelé likvidity, ale s tím jsou spojeny kapitálové náklady. |
+| | Pokud se příliš mnoho uživatelů pokusí o výběr současně, může se Ethereum Mainnet přetížit. |
## Plasma versus škálovací protokoly druhé vrstvy {#plasma-vs-layer-2}
-Ačkoli byla Plasma kdysi považována za užitečné škálovací řešení pro Ethereum, od tohoto názoru bylo časem upuštěno ve prospěch [škálovacích protokolů druhé vrstvy (L2)](/layer-2/). Řešení škálování na druhé vrstvě napravují několik problémů Plasmy:
+Ačkoli byla Plasma kdysi považována za užitečné škálovací řešení pro Ethereum, od tohoto názoru bylo časem upuštěno ve prospěch škálovacích protokolů druhé vrstvy (L2). Řešení škálování na druhé vrstvě napravují několik problémů Plasmy:
### Efektivita {#efficiency}
-[Zero-Knowledge rollupy](/developers/docs/scaling/zk-rollups) generují kryptografické důkazy o platnosti každého balíčku transakcí zpracovaných mimo řetězec. To brání uživatelům (a operátorům) v prosazování neplatných změn stavu, čímž se eliminuje potřeba výzev a výstupních strategií. Také to znamená, že uživatelé nemusí pravidelně sledovat řetězec, aby zabezpečili své prostředky.
+[Rollupy s nulovou znalostí](/developers/docs/scaling/zk-rollups) generují kryptografické důkazy o platnosti každé dávky transakcí zpracovaných mimo řetězec. To brání uživatelům (a operátorům) v prosazování neplatných změn stavu, čímž se eliminuje potřeba výzev a výstupních strategií. Také to znamená, že uživatelé nemusí pravidelně sledovat řetězec, aby zabezpečili své prostředky.
-### Podpora smart kontraktů {#support-for-smart-contracts}
+### Podpora pro chytré kontrakty {#support-for-smart-contracts}
-Dalším problémem vývojové platformy Plasma byla [neschopnost podporovat exekuci smart kontraktů Etherea](https://ethresear.ch/t/why-smart-contracts-are-not-feasible-on-plasma/2598/4). V důsledku toho byla většina implementací Plasmy vytvořena především pro jednoduché platby nebo směnu tokenů ERC-20.
+Dalším problémem plasma frameworku byla [neschopnost podporovat provádění chytrých kontraktů Etherea](https://ethresear.ch/t/why-smart-contracts-are-not-feasible-on-plasma/2598/4). V důsledku toho byla většina implementací Plasmy vytvořena především pro jednoduché platby nebo směnu tokenů ERC-20.
-Naopak optimistické rollupy jsou kompatibilní s [Virtuálním strojem Etherea](/developers/docs/evm/) a mohou spouštět [smart kontrakty](/developers/docs/smart-contracts/) nativní pro Ethereum, což z nich činí užitečné a _bezpečné_ řešení pro škálování [decentralizovaných aplikací](/developers/docs/dapps/). Podobně se [připravují plány na vytvoření zero-knowledge implementace EVM (zkEVM)](https://ethresear.ch/t/a-zk-evm-specification/11549), která by umožnila ZK-rollupům zpracovávat libovolnou logiku a exekuovat smart kontrakty.
+Naopak, optimistické rollupy jsou kompatibilní s [Ethereum Virtual Machine (EVM)](/developers/docs/evm/) a mohou spouštět nativní [chytré kontrakty](/developers/docs/smart-contracts/) Etherea, což z nich dělá užitečné a _bezpečné_ řešení pro škálování [decentralizovaných aplikací](/developers/docs/dapps/). Podobně se připravují plány na [vytvoření implementace EVM s nulovou znalostí (zkEVM)](https://ethresear.ch/t/a-zk-evm-specification/11549), která by umožnila ZK-rollupům zpracovávat libovolnou logiku a provádět chytré kontrakty.
### Nedostupnost dat {#data-unavailability}
Jak bylo vysvětleno dříve, Plasma trpí problémem nedostupnosti dat. Pokud by zlovolný operátor prosadil neplatnou změnu na plazmovém řetězci, uživatelé by ji nemohli zpochybnit, protože operátor může zadržet data potřebná k vytvoření důkazu podvodu. Rollupy tento problém řeší tím, že nutí operátory zveřejnit data transakcí na Ethereu, což umožňuje komukoli ověřit stav řetězce a v případě potřeby vytvořit důkazy podvodu.
-### Problém hromadného výběru {#mass-exit-problem}
+### Problém hromadného odchodu {#mass-exit-problem}
ZK-rollupy i optimistické rollupy řeší problém hromadného výběru v Plasmě různými způsoby. Například ZK-rollup spoléhá na kryptografické mechanismy, které zajišťují, že operátoři nemohou za žádných okolností ukrást prostředky uživatelů.
@@ -142,13 +142,14 @@ Podobně optimistické rollupy zavádějí období zpoždění u výběrů, běh
Plasma, postranní řetězce a sharding jsou si poměrně podobné, protože se všechny nějakým způsobem připojují k Ethereum Mainnetu. Úroveň a síla těchto propojení se však liší, což ovlivňuje bezpečnostní vlastnosti každého škálovacího řešení.
-### Plasma vs postranní řetězce {#plasma-vs-sidechains}
+### Plasma vs. sidechainy {#plasma-vs-sidechains}
-[Postranní řetězec](/developers/docs/scaling/sidechains/) je nezávisle provozovaný blockchain připojený k Ethereum Mainnetu prostřednictvím obousměrného přemostění. [Přemostění](/bridges/) umožňují uživatelům směňovat tokeny mezi oběma blockchainy, aby mohli transakce provádět na postranním řetězci, což snižuje přetížení Ethereum Mainnetu a zlepšuje škálovatelnost. Postranní řetězce používají samostatný konsensuální mechanismus a jsou obvykle mnohem menší než Ethereum Mainnet. V důsledku toho je přesun aktiv na tyto řetězce spojen s vyšším rizikem; vzhledem k nedostatku bezpečnostních záruk, které se dědí z Ethereum Mainnetu v modelu postranního řetězce, hrozí uživatelům při útoku na postranní řetězec ztráta prostředků.
+[Sidechain](/developers/docs/scaling/sidechains/) je nezávisle provozovaný blockchain připojený k hlavní síti Ethereum prostřednictvím obousměrného přemostění. [Přemostění](/bridges/) umožňují uživatelům směňovat tokeny mezi oběma blockchainy, aby mohli provádět transakce na sidechainu, což snižuje přetížení hlavní sítě Ethereum a zlepšuje škálovatelnost.
+Postranní řetězce používají samostatný konsensuální mechanismus a jsou obvykle mnohem menší než Ethereum Mainnet. V důsledku toho je přesun aktiv na tyto řetězce spojen s vyšším rizikem; vzhledem k nedostatku bezpečnostních záruk, které se dědí z Ethereum Mainnetu v modelu postranního řetězce, hrozí uživatelům při útoku na postranní řetězec ztráta prostředků.
Naopak plazmové řetězce odvozují svou bezpečnost od Mainnetu. To je činí měřitelně bezpečnějšími než postranní řetězce. Oba typy řetězců mohou mít různé konsensuální protokoly, ale rozdíl je v tom, že plazmové řetězce zveřejňují Merkle kořeny pro každý blok na Ethereum Mainnetu. Kořeny bloků jsou malé části informací, které můžeme použít k ověření informací o transakcích, které se odehrávají na plazmovém řetězci. Pokud dojde k útoku na plazmový řetězec, uživatelé mohou bezpečně vybrat své prostředky zpět na Mainnet pomocí příslušných důkazů.
-### Plasma versus sharding {#plasma-vs-sharding}
+### Plasma vs. tříštění {#plasma-vs-sharding}
Jak plazmové řetězce, tak i shardovací řetězce pravidelně zveřejňují kryptografické důkazy na Ethereum Mainnet. Oba však mají různé bezpečnostní vlastnosti.
@@ -156,20 +157,20 @@ Shardovací řetězce odesílají na Mainnet „srovnávací hlavičky“, kter
Plasma se liší v tom, že Mainnet přijímá pouze minimální informace o stavu dceřiných řetězců. To znamená, že Mainnet nemůže účinně ověřovat transakce provedené na dceřiných řetězcích, což je činí méně bezpečnými.
-**Je třeba poznamenat**, že sharding blockchainu Ethereum již není v plánu vylepšení. Byl nahrazen škálováním prostřednictvím rollupů a [Dankshardingu](/roadmap/danksharding).
+**Poznámka**: Tříštění blockchainu Ethereum již není v plánu. Bylo nahrazeno škálováním pomocí rollupů a [Dankshardingu](/roadmap/danksharding).
-### Použití Plasmy {#use-plasma}
+### Použití Plasma {#use-plasma}
Několik projektů poskytuje implementace Plasmy, které můžete integrovat do svých dappek:
- [Polygon](https://polygon.technology/) (dříve Matic Network)
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Učte se o Plasmě](https://www.learnplasma.org/en/)
-- [Rychlá připomínka toho, co znamená „sdílená bezpečnost“ a proč je tak důležitá](https://old.reddit.com/r/ethereum/comments/sgd3zt/a_quick_reminder_of_what_shared_security_means/)
-- [Postranní řetězce vs Plasma vs Sharding](https://vitalik.eth.limo/general/2019/06/12/plasma_vs_sharding.html)
-- [Pochopení Plasmy, část 1: Základy](https://www.theblockcrypto.com/amp/post/10793/understanding-plasma-part-1-the-basics)
-- [Život a smrt Plasmy](https://medium.com/dragonfly-research/the-life-and-death-of-plasma-b72c6a59c5ad#)
+- [Zjistěte více o Plasma](https://www.learnplasma.org/en/)
+- [Rychlé připomenutí, co znamená „sdílená bezpečnost“ a proč je tak důležitá](https://old.reddit.com/r/ethereum/comments/sgd3zt/a_quick_reminder_of_what_shared_security_means/)
+- [Sidechainy vs. Plasma vs. tříštění](https://vitalik.eth.limo/general/2019/06/12/plasma_vs_sharding.html)
+- [Pochopení Plasma, část 1: Základy](https://www.theblockcrypto.com/amp/post/10793/understanding-plasma-part-1-the-basics)
+- [Život a smrt Plasma](https://medium.com/dragonfly-research/the-life-and-death-of-plasma-b72c6a59c5ad#)
-_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ji!_
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/scaling/sidechains/index.md b/public/content/translations/cs/developers/docs/scaling/sidechains/index.md
index 40a3d548d89..8d91fa4e5d3 100644
--- a/public/content/translations/cs/developers/docs/scaling/sidechains/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/sidechains/index.md
@@ -1,62 +1,62 @@
---
-title: Sidechains
+title: Postranní řetězce
description: Úvod do postranních řetězců jako škálovacího řešení, které v současnosti využívá komunita Etherea.
lang: cs
sidebarDepth: 3
---
-Postranní řetězec je samostatný blockchain, který běží nezávisle na Ethereu a je spojen s Ethereum Mainnetem pomocí obousměrného přemostění. Postranní řetězce mohou mít odlišné parametry bloků a [konsensuální algoritmy](/developers/docs/consensus-mechanisms/), které jsou často navrženy pro efektivní zpracování transakcí. Použití postranního řetězce však přináší určité kompromisy, protože nedědí bezpečnostní vlastnosti Etherea. Na rozdíl od [škálovacích řešení na druhé vrstvě](/layer-2/) nezaznamenávají postranní řetězce změny stavu a transakční data zpět na Ethereum Mainnet.
+Postranní řetězec je samostatný blockchain, který běží nezávisle na Ethereu a je spojen s Ethereum Mainnetem pomocí obousměrného přemostění. Postranní řetězce mohou mít odlišné parametry bloků a [konsensuální algoritmy](/developers/docs/consensus-mechanisms/), které jsou často navrženy pro efektivní zpracování transakcí. Použití postranního řetězce však přináší určité kompromisy, protože nedědí bezpečnostní vlastnosti Etherea. Na rozdíl od [škálovacích řešení na 2. vrstvě](/layer-2/) postranní řetězce nezaznamenávají změny stavu a transakční data zpět na Ethereum Mainnet.
-Postranní řetězce také obětují určitou míru decentralizace nebo bezpečnosti, aby dosáhly vysoké propustnosti ([trilemma škálovatelnosti](https://vitalik.eth.limo/general/2021/05/23/scaling.html)). Ethereum se však zavázalo k tomu, že bude škálovat, aniž by ohrozilo decentralizaci a bezpečnost, jak je uvedeno v jeho [vizi](/roadmap/vision/) vylepšení.
+Postranní řetězce také obětují určitou míru decentralizace nebo bezpečnosti, aby dosáhly vysoké propustnosti ([trilema škálovatelnosti](https://vitalik.eth.limo/general/2021/05/23/scaling.html)). Ethereum se však zavázalo ke škálování bez kompromisů v oblasti decentralizace a bezpečnosti.
## Jak fungují postranní řetězce? {#how-do-sidechains-work}
Postranní řetězce jsou nezávislé blockchainy s odlišnou historií, vývojovými plány a designovými úvahami. Zatímco postranní řetězec může sdílet určité povrchové podobnosti s Ethereem, má několik charakteristických vlastností.
-### Konsensuální algoritmy {#consensus-algorithms}
+### Konsenzuální algoritmy {#consensus-algorithms}
Jednou z vlastností, která činí postranní řetězce jedinečnými (tj. odlišnými od Etherea), je použitý konsensuální algoritmus. Postranní řetězce se pro dosažení konsensu nespoléhají na Ethereum a mohou si vybrat alternativní konsensuální protokoly, které vyhovují jejich potřebám. Některé příklady konsensuálních algoritmů používaných na postranních řetězcích zahrnují:
-- [Proof of authority](/developers/docs/consensus-mechanisms/poa/)
-- [Delegovaný proof-of-stake](https://en.bitcoin.it/wiki/Delegated_proof_of_stake)
-- [Byzantine fault tolerance](https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained)
+- [Důkaz autoritou](/developers/docs/consensus-mechanisms/poa/)
+- [Delegovaný důkaz podílem](https://en.bitcoin.it/wiki/Delegated_proof_of_stake)
+- [Byzantská odolnost proti chybám](https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained).
Stejně jako Ethereum mají postranní řetězce validační uzly, které ověřují a zpracovávají transakce, produkují bloky a uchovávají stav blockchainu. Validátoři jsou také zodpovědní za udržování konsensu v celé síti a za její ochranu před škodlivými útoky.
-#### Parametry bloků {#block-parameters}
+#### Parametry bloku {#block-parameters}
-Ethereum stanovuje limity na [dobu blokování](/developers/docs/blocks/#block-time) (tj. dobu potřebnou k vytvoření nových bloků) a [velikost bloků](/developers/docs/blocks/#block-size) (tj. množství dat obsažených v jednom bloku denominovaných v palivu). Naproti tomu postranní řetězce často přijímají odlišné parametry, jako jsou rychlejší doby blokování a vyšší limity paliva, aby dosáhly vysoké propustnosti, rychlých transakcí a nízkých poplatků.
+Ethereum stanovuje limity na [doby bloků](/developers/docs/blocks/#block-time) (tj. dobu potřebnou k vytvoření nových bloků) a [velikosti bloků](/developers/docs/blocks/#block-size) (tj. množství dat obsažených v jednom bloku, vyjádřené v palivu). Naproti tomu postranní řetězce často přijímají odlišné parametry, jako jsou rychlejší doby blokování a vyšší limity paliva, aby dosáhly vysoké propustnosti, rychlých transakcí a nízkých poplatků.
I když tento přístup určité výhody přináší, má také zásadní důsledky pro decentralizaci a bezpečnost sítě. Parametry bloků, jako jsou rychlé doby blokování a velké velikosti bloků, zvyšují obtížnost provozu úplného síťového uzlu, což ponechává jen několik „superuzlů“ odpovědných za zabezpečení řetězce. V takovém scénáři se zvyšuje riziko tajné dohody validátorů nebo škodlivého převzetí řetězce.
-Aby mohly blockchainy škálovat, aniž by utrpěla decentralizace, musí být provoz síťového uzlu otevřený všem, nikoli nutně jen pro strany se specializovaným hardwarem. Proto probíhají snahy zajistit, aby na Ethereu mohl [úplný uzel provozovat](/developers/docs/nodes-and-clients/#why-should-i-run-an-ethereum-node) kdokoliv.
+Aby mohly blockchainy škálovat, aniž by utrpěla decentralizace, musí být provoz síťového uzlu otevřený všem, nikoli nutně jen pro strany se specializovaným hardwarem. Proto probíhají snahy o zajištění toho, aby každý mohl [provozovat plný uzel](/developers/docs/nodes-and-clients/#why-should-i-run-an-ethereum-node) v síti Ethereum.
### Kompatibilita s EVM {#evm-compatibility}
-Některé postranní řetězce jsou kompatibilní s EVM a jsou schopny spouštět kontrakty vyvinuté pro [Virtuální stroj Etherea (EVM)](/developers/docs/evm/). Postranní řetězce kompatibilní s EVM podporují smart kontrakty [napsané v jazyce Solidity](/developers/docs/smart-contracts/languages/), stejně jako jiné jazyky pro smart kontrakty EVM, což znamená, že smart kontrakty napsané pro Ethereum Mainnet budou fungovat i na postranních řetězcích kompatibilních s EVM.
+Některé postranní řetězce jsou kompatibilní s EVM a jsou schopny spouštět kontrakty vyvinuté pro [Virtuální stroj Etherea (EVM)](/developers/docs/evm/). Postranní řetězce kompatibilní s EVM podporují chytré kontrakty [napsané v jazyce Solidity](/developers/docs/smart-contracts/languages/), stejně jako jiné jazyky pro chytré kontrakty EVM, což znamená, že chytré kontrakty napsané pro Ethereum Mainnet budou fungovat i na postranních řetězcích kompatibilních s EVM.
-To znamená, že pokud chcete použít svou [dappku](/developers/docs/dapps/) na postranním řetězci, stačí nasadit svůj [smart kontrakt](/developers/docs/smart-contracts/) na tento postranní řetězec. Vypadá a funguje stejně jako na Mainnetu – píšete kontrakty v Solidity a interagujete s řetězcem prostřednictvím RPC postranního řetězce.
+To znamená, že pokud chcete použít svou [dapp](/developers/docs/dapps/) na postranním řetězci, stačí nasadit svůj [chytrý kontrakt](/developers/docs/smart-contracts/) na tento postranní řetězec. Vypadá a funguje stejně jako na Mainnetu – píšete kontrakty v Solidity a interagujete s řetězcem prostřednictvím RPC postranního řetězce.
-Protože jsou postranní řetězce kompatibilní s EVM, jsou považovány za užitečné [škálovací řešení](/developers/docs/scaling/) pro dappky nativní na Ethereu. S vaší dappkou na postranním řetězci mohou uživatelé využívat nižší poplatky za palivo a rychlejší transakce, zejména pokud je Mainnet přetížený.
+Protože jsou postranní řetězce kompatibilní s EVM, jsou považovány za užitečné [škválovací řešení](/developers/docs/scaling/) pro dapps nativní na Ethereu. S vaší dappkou na postranním řetězci mohou uživatelé využívat nižší poplatky za palivo a rychlejší transakce, zejména pokud je Mainnet přetížený.
Nicméně jak bylo dříve vysvětleno, používání postranního řetězce zahrnuje významné kompromisy. Každý postranní řetězec je zodpovědný za svou bezpečnost a nedědí bezpečnostní vlastnosti Etherea. To zvyšuje možnost škodlivého chování, které může ovlivnit vaše uživatele nebo ohrozit jejich prostředky.
-### Pohyb aktiv {#asset-movement}
+### Přesun aktiv {#asset-movement}
-Aby se samostatný blockchain mohl stát postranním řetězcem Mainnetu Etherea, musí mít schopnost umožnit převod aktiv z Mainnetu. Této interoperability s Ethereem je dosaženo pomocí blockchainového přemostění. [Přemostění](/bridges/) používají smart kontrakty nasazené na Ethereum Mainnet a postranním řetězci k řízení převodu prostředků mezi nimi.
+Aby se samostatný blockchain mohl stát postranním řetězcem Mainnetu Etherea, musí mít schopnost umožnit převod aktiv z Mainnetu. Této interoperability s Ethereem je dosaženo pomocí blockchainového přemostění. [Přemostění](/bridges/) používají chytré kontrakty nasazené na Ethereum Mainnet a na postranním řetězci k řízení převodu prostředků mezi nimi.
Zatímco přemostění pomáhají uživatelům přesouvat prostředky mezi Ethereem a postranním řetězcem, aktiva mezi těmito dvěma řetězci nejsou fyzicky přesouvána. Místo toho se k převodu hodnoty mezi řetězci používají mechanismy, které obvykle zahrnují mintování a spalování. Více o tom, [jak fungují přemostění](/developers/docs/bridges/#how-do-bridges-work).
-## Klady a zápory postranních řetězců {#pros-and-cons-of-sidechains}
+## Výhody a nevýhody postranních řetězců {#pros-and-cons-of-sidechains}
-| Plusy | Mínusy |
-| ----------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
-| Technologie, která stojí za postranními řetězci, je dobře zavedená a těží z rozsáhlého výzkumu a vylepšení designu. | Postranní řetězce obětují určitou míru decentralizace a důvěryhodnosti ve prospěch škálovatelnosti. |
-| Postranní řetězce podporují obecné výpočty a nabízejí EVM kompatibilitu (mohou spouštět dappky nativní na Ethereu). | Postranní řetězec používá samostatný konsensuální mechanismus a nemá prospěch z bezpečnostních záruk Etherea. |
-| Postranní řetězce používají různé modely konsensu k efektivnímu zpracování transakcí a snížení poplatků za transakce pro uživatele. | Postranní řetězce vyžadují vyšší předpoklady důvěry (např. kvórum škodlivých validátorů postranního řetězce může podvádět). |
-| Postranní řetězce kompatibilní s EVM umožňují dappkám rozšířit jejich ekosystém. | |
+| Plusy | Minusy |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Technologie, která stojí za postranními řetězci, je dobře zavedená a těží z rozsáhlého výzkumu a vylepšení designu. | Postranní řetězce obětují určitou míru decentralizace a důvěryhodnosti ve prospěch škálovatelnosti. |
+| Postranní řetězce podporují obecné výpočty a nabízejí EVM kompatibilitu (mohou spouštět dappky nativní na Ethereu). | Postranní řetězec používá samostatný konsensuální mechanismus a nemá prospěch z bezpečnostních záruk Etherea. |
+| Postranní řetězce používají různé modely konsensu k efektivnímu zpracování transakcí a snížení poplatků za transakce pro uživatele. | Postranní řetězce vyžadují vyšší předpoklady důvěry (např. kvórum škodlivých validátorů postranního řetězce může podvádět). |
+| Postranní řetězce kompatibilní s EVM umožňují dappkám rozšířit jejich ekosystém. | |
-### Použití postranních řetězců {#use-sidechains}
+### Použijte postranní řetězce {#use-sidechains}
Několik projektů poskytuje implementace postranních řetězců, které můžete integrovat do svých dappek:
@@ -66,8 +66,8 @@ Několik projektů poskytuje implementace postranních řetězců, které může
- [Loom Network](https://loomx.io/)
- [Metis Andromeda](https://www.metis.io/)
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Škálování dappek na Ethereu pomocí postranních řetězců](https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447)_, 8. února 2018 – Georgios Konstantopoulos_
+- [Škálování dapps na Ethereu pomocí postranních řetězců](https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447) _8. února 2018 - Georgios Konstantopoulos_
_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/scaling/state-channels/index.md b/public/content/translations/cs/developers/docs/scaling/state-channels/index.md
index 9b63fd7bdaf..a3d986e0f02 100644
--- a/public/content/translations/cs/developers/docs/scaling/state-channels/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/state-channels/index.md
@@ -5,9 +5,9 @@ lang: cs
sidebarDepth: 3
---
-Stavové kanály umožňují účastníkům bezpečně transakčně komunikovat mimo řetězec, přičemž minimalizují interakci s Ethereum Mainnetem. Partneři v tomto kanálu mohou provést libovolný počet transakcí mimo řetězec, přičemž na řetězec se zapisují pouze dvě transakce – jedna pro otevření kanálu a druhá pro jeho uzavření. Tím je dosaženo extrémně vysoké propustnosti transakcí a nižších nákladů pro uživatele.
+Stavové kanály umožňují účastníkům bezpečně provádět transakce mimo řetězec a zároveň omezují interakci s hlavní sítí Ethereum na minimum. Partneři v tomto kanálu mohou provést libovolný počet transakcí mimo řetězec, přičemž na řetězec se zapisují pouze dvě transakce – jedna pro otevření kanálu a druhá pro jeho uzavření. Tím je dosaženo extrémně vysoké propustnosti transakcí a nižších nákladů pro uživatele.
-## Prerequisites {#prerequisites}
+## Předpoklady {#prerequisites}
Měli byste mít přečteny naše stránky o [škálování Etherea](/developers/docs/scaling/) a [vrstvě 2](/layer-2/).
@@ -19,7 +19,7 @@ Kanály jsou jednoduché peer-to-peer protokoly, které umožňují dvěma stran
Ve stavových kanálech jsou změny stavu prováděny a ověřovány zainteresovanými stranami, což minimalizuje výpočty na exekuční vrstvě Etherea. To snižuje přetížení na Ethereu a zároveň zvyšuje rychlost zpracování transakcí uživatelů.
-Každý kanál je spravován [chytrým kontraktem typu multisig](/developers/docs/smart-contracts/#multisig) běžícím na Ethereu. K otevření kanálu účastníci nasadí kontrakt kanálu na řetězec a vloží do něj prostředky. Obě strany společně podepíší aktualizaci stavu, aby inicializovaly stav kanálu, po čemž mohou rychle a volně transakčně komunikovat mimo řetězec.
+Každý kanál je spravován [chytrým kontraktem typu multisig](/developers/docs/smart-contracts/#multisig) běžícím na Ethereu. K otevření kanálu účastníci nasadí kontrakt kanálu na řetězec a vloží do něj prostředky. Obě strany společně podepíší aktualizaci stavu, aby inicializovaly stav kanálu, po čemž mohou rychle a volně provádět transakce mimo řetězec.
K uzavření kanálu účastníci předloží na řetězec poslední dohodnutý stav kanálu. Poté chytrý kontrakt rozdělí uzamčené prostředky podle zůstatku každého účastníka v konečném stavu kanálu.
@@ -31,19 +31,19 @@ Platební kanál je nejlépe popsán jako „obousměrná účetní kniha“, kt
Aktualizace zůstatku účetní knihy (tj. stavu platebního kanálu) vyžaduje souhlas všech stran v kanálu. Aktualizace kanálu, podepsaná všemi účastníky kanálu, je považována za konečnou, podobně jako transakce na Ethereu.
-Platební kanály patřily mezi první škálovací řešení navržená k minimalizaci drahých on-chain aktivit nebo jednoduchých uživatelských interakcí (např. převody ETH, atomické směny, převody malých částek). Účastníci kanálu mohou mezi sebou provádět neomezené množství okamžitých, bezpoplatkových transakcí, dokud čistá suma jejich převodů nepřekročí vložené tokeny.
+Platební kanály patřily mezi první škálovací řešení navržená k minimalizaci nákladné on-chain aktivity jednoduchých uživatelských interakcí (např. převody ETH, atomické směny, mikroplatby). Účastníci kanálu mohou mezi sebou provádět neomezené množství okamžitých, bezpoplatkových transakcí, dokud čistá suma jejich převodů nepřekročí vložené tokeny.
## Stavové kanály {#state-channels}
-Kromě podpory off-chain plateb se platební kanály neukázaly býti užitečnými pro zpracování obecné logiky změny stavu. Stavové kanály byly vytvořeny k vyřešení tohoto problému a ke zpřístupnění kanálů pro škálování obecného výpočtu.
+Kromě podpory plateb mimo řetězec (offchain) se platební kanály neosvědčily pro zpracování obecné logiky přechodu stavu. Stavové kanály byly vytvořeny k vyřešení tohoto problému a ke zpřístupnění kanálů pro škálování obecného výpočtu.
Stavové kanály mají stále mnoho společného s platebními kanály. Například uživatelé komunikují výměnou kryptograficky podepsaných zpráv (transakcí), které musí podepsat i ostatní účastníci kanálu. Pokud navrhovaná aktualizace stavu není podepsána všemi účastníky, je považována za neplatnou.
Nicméně kromě držení zůstatků uživatelů kanál také sleduje aktuální stav úložiště kontraktu (tj. hodnoty proměnných kontraktu).
-To umožňuje exekuovat chytrý kontrakt mimo řetězec mezi dvěma uživateli. V tomto scénáři vyžadují aktualizace interního stavu chytrého kontraktu pouze souhlas partnerů, kteří kanál vytvořili.
+To umožňuje spustit chytrý kontrakt mimo řetězec mezi dvěma uživateli. V tomto scénáři vyžadují aktualizace interního stavu chytrého kontraktu pouze souhlas partnerů, kteří kanál vytvořili.
-I když toto řeší dříve popsaný problém se škálovatelností, má to vliv na bezpečnost. Na Ethereu je platnost přechodů stavu vynucována konsenzuálním protokolem sítě. To znemožňuje navrhnout neplatnou aktualizaci stavu chytrého kontraktu nebo změnit exekuci chytrého kontraktu.
+I když toto řeší dříve popsaný problém se škálovatelností, má to vliv na bezpečnost. Na Ethereu je platnost přechodů stavu vynucována konsensuálním protokolem sítě. To znemožňuje navrhnout neplatnou aktualizaci stavu chytrého kontraktu nebo změnit exekuci chytrého kontraktu.
Stavové kanály nemají stejné bezpečnostní záruky. Do určité míry je stavový kanál miniaturou Mainnetu. S omezeným počtem účastníků, kteří vynucují pravidla, se zvyšuje možnost podvodů (např. návrhu neplatných aktualizací stavu). Stavové kanály odvozují svoji bezpečnost z arbitrážního systému založeného na [důkazech podvodu](/glossary/#fraud-proof).
@@ -55,7 +55,7 @@ Následující část popisuje základní pracovní tok stavového kanálu:
### Otevření kanálu {#opening-the-channel}
-Otevření kanálu vyžaduje, aby účastníci vložili prostředky do chytrého kontraktu na Mainnetu. Tento vklad také funguje jako virtuální účet, takže účastníci mohou volně transakčně komunikovat bez potřeby okamžitého vypořádání plateb. Strany si vyrovnají své zůstatky a vyberou zbylé prostředky pouze tehdy, když je kanál uzavřen.
+Otevření kanálu vyžaduje, aby účastníci vložili prostředky do chytrého kontraktu na Mainnetu. Tento vklad také funguje jako virtuální účet, takže účastníci mohou volně transakčně komunikovat bez potřeby okamžitého vypořádání plateb. Strany se vzájemně vyrovnají a vyberou si zbytek svých prostředků až poté, co je kanál finalizován na řetězci.
Tento vklad také slouží jako záruka čestného chování každého účastníka. Pokud jsou vkladatelé během fáze řešení sporů shledáni vinnými z nekalých praktik, kontrakt jim jejich vklad sníží.
@@ -87,7 +87,7 @@ Výše popsaný scénář představuje, co se děje v ideálním případě. Ně
- Účastníci odmítnou spolupodepsat platné aktualizace stavu
-- Účastníci se pokusí uzavřít kanál tím, že navrhnou starou aktualizaci stavu on-chain kontraktu
+- Účastníci se pokusí kanál finalizovat tím, že on-chain kontraktu navrhnou starou aktualizaci stavu.
- Účastníci navrhnou neplatné přechody stavu k podepsání ostatním
@@ -97,19 +97,19 @@ Kdykoliv dojde k rozpadu konsenzu mezi účastníky kanálu, poslední možnost
Obvykle se strany v kanálu předem dohodnou na uzavření kanálu a spolupodepíší poslední přechod stavu, který předloží chytrému kontraktu. Jakmile je aktualizace on-chain schválena, exekuce off-chain chytrého kontraktu končí a účastníci vystoupí z kanálu se svými prostředky.
-Nicméně jedna strana může předložit on-chain žádost o ukončení exekuce chytrého kontraktu a uzavření kanálu – aniž by čekala na schválení od druhé strany. Pokud nastane některá z výše popsaných situací narušujících konsenzus, může kterákoli ze stran aktivovat on-chain kontrakt k uzavření kanálu a distribuci finančních prostředků. Tím je zajištěna **nezávislost na důvěře**, což zaručuje, že poctivé strany mohou kdykoliv vybrat své vklady, bez ohledu na akce druhé strany.
+Jedna strana však může podat on-chain žádost o ukončení provádění chytrého kontraktu a finalizaci kanálu – aniž by čekala na schválení od protistrany. Pokud nastane některá z výše popsaných situací narušujících konsenzus, může kterákoli ze stran aktivovat on-chain kontrakt k uzavření kanálu a distribuci finančních prostředků. Tím je zajištěna **nezávislost na důvěře**, což zaručuje, že poctivé strany mohou kdykoliv vybrat své vklady, bez ohledu na akce druhé strany.
Pro zpracování výstupu z kanálu musí uživatel předložit on-chain kontraktu poslední platnou aktualizaci stavu aplikace. Pokud je tato aktualizace schválena (tj. nese podpis všech stran), prostředky jsou přerozděleny v jejich prospěch.
Existuje však zpoždění při provádění žádostí o výstup od jediné strany. Pokud byla žádost o uzavření kanálu jednomyslně schválena, pak je on-chain výstupní transakce provedena okamžitě.
-Zpoždění nastává při žádosti o výstup jen od jediné strany a to z důvodu možnosti podvodných akcí. Například účastník kanálu se může pokusit uzavřít kanál na Ethereu předložením starší aktualizace stavu on-chain.
+Zpoždění nastává při žádosti o výstup jen od jediné strany a to z důvodu možnosti podvodných akcí. Například účastník kanálu se může pokusit finalizovat kanál na Ethereu předložením starší aktualizace stavu on-chain.
Jako protiopatření umožňují stavové kanály poctivým uživatelům napadnout neplatné aktualizace stavu předložením nejnovějšího platného stavu kanálu on-chain. Stavové kanály jsou navrženy tak, že novější, domluvené aktualizace stavu mají přednost před staršími aktualizacemi stavu.
Jakmile některá ze stran vyvolá on-chain systém řešení sporů, druhá strana je povinna odpovědět v časovém limitu (tzv. „okno pro výzvy“). To umožňuje uživatelům napadnout výstupní transakci, zejména pokud druhá strana uplatňuje zastaralou aktualizaci.
-Ať už je situace jakákoliv, uživatelé kanálu mají vždy silné záruky finálnosti: Pokud je přechod stavu, který mají k dispozici, podepsán všemi členy a je to nejnovější aktualizace, má stejnou finálnost jako běžná on-chain transakce. Stále musí na řetězci vyzvat druhou stranu, ale jediným možným výsledkem je finalizace posledního platného stavu, který drží.
+Ať už je situace jakákoliv, uživatelé kanálu mají vždy silné záruky finality: Pokud je přechod stavu, který mají k dispozici, podepsán všemi členy a je to nejnovější aktualizace, má stejnou finalitu jako běžná on-chain transakce. Stále musí na řetězci vyzvat druhou stranu, ale jediným možným výsledkem je finalizace posledního platného stavu, který drží.
### Jak stavové kanály interagují s Ethereem? {#how-do-state-channels-interact-with-ethereum}
@@ -131,21 +131,21 @@ V takovém případě poskytuje poctivá strana nejnovější platný stav kaná
#### 3. Konečnost {#finality}
-Aktualizace stavu kolektivně podepsané uživateli kanálu jsou považovány za stejně dobré jako on-chain transakce. Přesto veškerá aktivita v kanálu dosáhne skutečné finálnosti až tehdy, když je kanál uzavřen na Ethereu.
+Aktualizace stavu, které společně podepsali uživatelé kanálu, jsou považovány za rovnocenné on-chain transakcím. Přesto veškerá aktivita v kanálu dosáhne skutečné finálnosti až tehdy, když je kanál uzavřen na Ethereu.
V optimistickém případě mohou obě strany spolupracovat, podepsat konečnou aktualizaci stavu a předložit ji on-chain, aby uzavřely kanál, po čemž jsou prostředky rozděleny podle konečného stavu kanálu. V pesimistickém případě, kdy se někdo pokusí podvádět tím, že zveřejní nesprávnou aktualizaci stavu on-chain, jeho transakce nebude finalizována, dokud neuplyne časové okno pro výzvy.
## Virtuální stavové kanály {#virtual-state-channels}
-Naivní implementace stavového kanálu by spočívala v nasazení nového kontraktu, když si dva uživatelé přejí spustit aplikaci mimo řetězec. To však není jen nepraktické, ale také to popírá nákladovou efektivitu stavových kanálů (náklady na on-chain transakce se mohou začít rychle stupňovat).
+Naivní implementace stavového kanálu by spočívala v nasazení nového kontraktu, když si dva uživatelé přejí spustit aplikaci mimo řetězec. To je nejen neproveditelné, ale také to popírá nákladovou efektivitu stavových kanálů (náklady na on-chain transakce se mohou rychle sčítat).
-K vyřešení tohoto problému byly vytvořeny „virtuální kanály“. Na rozdíl od běžných kanálů, které vyžadují on-chain transakce k otevření a uzavření, lze virtuální kanál otevřít, exekuovat a uzavřít bez interakce s hlavním řetězcem. Pomocí této metody je dokonce možné řešit spory mimo řetězec.
+K vyřešení tohoto problému byly vytvořeny „virtuální kanály“. Na rozdíl od běžných kanálů, které k otevření a ukončení vyžadují on-chain transakce, lze virtuální kanál otevřít, provést a finalizovat bez interakce s hlavním řetězcem. Pomocí této metody je dokonce možné řešit spory mimo řetězec.
Tento systém spoléhá na existenci tzv. „účetních kanálů“, které byly financovány on-chain. Virtuální kanály mezi dvěma stranami mohou být vytvořeny na vrcholu existujícího účetního kanálu, přičemž vlastník (či vlastníci) účetního kanálu slouží jako prostředník.
Uživatelé v každém virtuálním kanálu interagují prostřednictvím nové instance kontraktu, přičemž účetní kanál je schopen podporovat více instancí kontraktů. Stav účetního kanálu také obsahuje více než jeden stav úložiště kontraktu, což umožňuje paralelní provádění aplikací mimo řetězec mezi různými uživateli.
-Stejně jako u běžných kanálů si uživatelé vyměňují aktualizace stavu za účelem rozvoje stavového stroje. Pokud nedojde ke sporu, prostředník je kontaktován pouze při otevření nebo uzavření kanálu.
+Stejně jako u běžných kanálů si uživatelé vyměňují aktualizace stavu za účelem rozvoje stavového stroje. Pokud nedojde ke sporu, prostředník musí být kontaktován pouze při otevírání nebo ukončování kanálu.
### Virtuální platební kanály {#virtual-payment-channels}
@@ -159,15 +159,15 @@ První blockchainové kanály byly jednoduché protokoly, které umožňovaly dv
Platby založené na kanálech mají následující výhody:
-1. **Propustnost**: Množství transakcí mimo řetězec není spojeno s propustností Etherea, kterou ovlivňuje řada faktorů, zejména velikost bloku a doba bloku. Prováděním transakcí mimo řetězec mohou blockchainové kanály dosáhnout vyšší propustnosti.
+1. **Propustnost**: Počet transakcí mimo řetězec na kanál nesouvisí s propustností sítě Ethereum, která je ovlivněna různými faktory, zejména velikostí bloku a časem bloku. Prováděním transakcí mimo řetězec mohou blockchainové kanály dosáhnout vyšší propustnosti.
-2. **Soukromí**: Protože kanály existují mimo řetězec, podrobnosti o interakcích mezi účastníky nejsou zaznamenány na veřejném blockchainu Etherea. Uživatelé kanálu musí interagovat on-chain pouze při otevírání a uzavírání kanálů nebo řešení sporů. Proto jsou kanály užitečné pro jednotlivce, kteří si přejí více soukromí při provádění transakcí.
+2. **Soukromí**: Protože kanály existují mimo řetězec, podrobnosti o interakcích mezi účastníky nejsou zaznamenány na veřejném blockchainu Etherea. Uživatelé kanálu musí interagovat on-chain pouze při financování a uzavírání kanálů nebo řešení sporů. Proto jsou kanály užitečné pro jednotlivce, kteří si přejí více soukromí při provádění transakcí.
-3. **Latence**: Transakce mimo řetězec prováděné mezi účastníky kanálu mohou být vypořádány okamžitě, kdy obě strany spolupracují, což snižuje zpoždění. Naproti tomu odeslání transakce na Mainnetu vyžaduje počkat, až síťové uzly zpracují transakci, vytvoří nový blok s transakcí a dosáhnou konsenzu. Uživatelé také mohou chtít čekat na potvrzení dalších bloků, než budou transakci považovat za finální.
+3. **Latence**: Transakce mimo řetězec prováděné mezi účastníky kanálu mohou být vypořádány okamžitě, pokud obě strany spolupracují, což snižuje zpoždění. Naproti tomu odeslání transakce na Mainnetu vyžaduje počkat, až síťové uzly zpracují transakci, vytvoří nový blok s transakcí a dosáhnou konsenzu. Uživatelé také mohou chtít čekat na potvrzení dalších bloků, než budou transakci považovat za finální.
4. **Náklady**: Stavové kanály jsou obzvláště užitečné v situacích, kdy si bude skupina účastníků vyměňovat mnoho aktualizací stavu po delší dobu. Jediné náklady, které vzniknou, jsou na otevření a uzavření chytrého kontraktu stavového kanálu; každá změna stavu mezi otevřením a uzavřením kanálu bude levnější než ta předchozí, protože se náklady na vypořádání rozdělí.
-Implementace stavových kanálů v řešeních vrstvy 2, jako jsou [rollupy](/developers/docs/scaling/#rollups), by mohla učinit platby ještě atraktivnějšími. Zatímco kanály nabízejí levné platby, náklady na nastavení on-chain kontraktu na Mainnetu během fáze otevření mohou být drahé – zejména když se zvýší palivové poplatky. Rollupy založené na Ethereu nabízejí [nižší transakční poplatky](https://l2fees.info/) a mohou snížit režii pro účastníky kanálů tím, že snižují náklady na jejich nastavení.
+Implementace stavových kanálů v řešeních vrstvy 2, jako jsou [rollupy](/developers/docs/scaling/#rollups), by mohla učinit platby ještě atraktivnějšími. Zatímco kanály nabízejí levné platby, náklady na nastavení on-chain kontraktu na Mainnetu během fáze otevření mohou být drahé – zejména když se zvýší poplatky za gas. Rollupy založené na Ethereu nabízejí [nižší transakční poplatky](https://l2fees.info/) a mohou snížit režii pro účastníky kanálů tím, že snižují náklady na jejich nastavení.
### Mikrotransakce {#microtransactions}
@@ -181,17 +181,17 @@ Kromě nákladů na otevření a uzavření kanálu účastníkům nevznikají
Stejně jako platební kanály mohou stavové kanály dělat podmíněné platby podle konečných stavů stavového stroje. Stavové kanály mohou také podporovat libovolnou logiku přechodu stavu, což je činí užitečnými pro spouštění obecných aplikací mimo řetězec.
-Stavové kanály jsou často omezeny na jednoduché tahové aplikace, protože to usnadňuje správu finančních prostředků vázaných na on-chain kontrakt. Také s omezeným počtem stran, které v intervalech aktualizují stav aplikace mimo řetězec, je relativně snadné potrestat podvodníky.
+Stavové kanály jsou často omezeny na jednoduché tahové aplikace, protože to usnadňuje správu finančních prostředků vázaných na on-chain kontrakt. S omezeným počtem stran, které v intervalech aktualizují stav aplikace mimo řetězec, je také relativně snadné potrestat nečestné chování.
-Efektivita aplikace stavového kanálu také závisí na jejím návrhu. Například vývojář může nasadit kontrakt kanálu aplikace on-chain jen jednou a umožnit ostatním uživatelům znovu používat tuto aplikaci, aniž by museli být on-chain. V tomto případě slouží počáteční kanál aplikace jako účetní kanál podporující více virtuálních kanálů, z nichž každý provozuje novou instanci chytrého kontraktu aplikace mimo řetězec.
+Efektivita aplikace stavového kanálu také závisí na jejím návrhu. Například vývojář může nasadit kontrakt kanálu aplikace on-chain jen jednou a umožnit ostatním hráčům znovu používat tuto aplikaci, aniž by museli na řetězec. V tomto případě slouží počáteční kanál aplikace jako účetní kanál podporující více virtuálních kanálů, z nichž každý provozuje novou instanci chytrého kontraktu aplikace mimo řetězec.
-Potenciálním příkladem použití stavových kanálů jsou jednoduché hry pro dva hráče, kde jsou prostředky rozděleny na základě výsledku hry. Výhodou je, že hráči si nemusí důvěřovat (nezávislost na důvěře) a on-chain kontrakt, nikoli hráči, kontroluje alokaci prostředků a řešení sporů (decentralizace).
+Potenciálním příkladem použití stavových kanálů jsou jednoduché hry pro dva hráče, kde jsou prostředky rozděleny na základě výsledku hry. Výhodou je, že hráči si nemusí důvěřovat (nedůvěryhodnost) a alokaci prostředků a řešení sporů (decentralizace) řídí on-chain kontrakt, nikoli hráči.
Další možná využití stavových kanálů zahrnují vlastnictví názvů v ENS, NFT účetní knihy a mnoho dalších.
### Atomické převody {#atomic-transfers}
-První platební kanály byly omezeny na převody mezi dvěma stranami, což omezovalo jejich použitelnost. Nicméně zavedení virtuálních kanálů umožnilo jednotlivcům provádět transfery s využitím prostředníků (tj. více p2p kanálů), aniž by museli otevírat nový kanál on-chain.
+První platební kanály byly omezeny na převody mezi dvěma stranami, což omezovalo jejich použitelnost. Zavedení virtuálních kanálů však jednotlivcům umožnilo směrovat převody přes prostředníky (tj. více p2p kanálů), aniž by museli otevírat nový kanál on-chain.
Běžně popisované jako „multi-hop převody“, směrované platby jsou atomické (tj. buď všechny části transakce uspějí, nebo transakce selže jako celek). Atomické převody využívají [hashované timelock kontrakty (HTLC)](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts) k zajištění toho, že platba bude uvolněna pouze tehdy, pokud jsou splněny určité podmínky, což snižuje riziko podvodu protistrany.
@@ -203,7 +203,7 @@ Aby byla zajištěna efektivita, stavové kanály stanovují časové limity, b
Ve skutečnosti mohou uživatelé zůstat offline z důvodů mimo jejich kontrolu (např. špatné internetové připojení, mechanická porucha atd.). Pokud poctivý uživatel zůstane offline, může škodlivý partner situace využít tím, že předloží soudci staré mezistavy kontraktu a tak si přisvojí cizí prostředky.
-Některé kanály používají „strážní věže“ – subjekty zodpovědné za sledování on-chain sporů jménem ostatních a za podnikání nezbytných kroků, jako je upozornění zúčastněných stran. To však může zvýšit náklady na používání stavového kanálu.
+Některé kanály používají „strážní věže“ (watchtowers) – entity odpovědné za sledování on-chain sporů jménem ostatních a za podnikání nezbytných kroků, jako je upozornění zúčastněných stran. To však může zvýšit náklady na používání stavového kanálu.
### Nedostupnost dat {#data-unavailability}
@@ -217,7 +217,7 @@ Uživatelé Etherea se s tímto problémem nemusí potýkat, protože síť vynu
Pro založení blockchainového kanálu musí účastníci uzamknout finanční prostředky v on-chain chytrém kontraktu po dobu životního cyklu kanálu. To snižuje likviditu uživatelů kanálu a také omezuje kanály na ty, které si mohou dovolit držet prostředky uzamčené na Mainnetu.
-Nicméně účetní kanály – provozované off-chain poskytovatelem služeb (OSP) – mohou snížit problémy s likviditou uživatelů. Dva partneři připojení k účetnímu kanálu mohou vytvořit virtuální kanál, který mohou kdykoli otevřít a uzavřít zcela mimo řetězec.
+Problémy s likviditou uživatelů však mohou snížit účetní kanály – provozované off-chain poskytovatelem služeb (OSP). Dva partneři připojení k účetnímu kanálu mohou vytvořit virtuální kanál, který mohou kdykoli otevřít a finalizovat zcela mimo řetězec.
Poskytovatelé služeb mimo řetězec by také mohli otevřít kanály s více partnery, což je činí užitečnými pro směrování plateb. Uživatelé samozřejmě musí za služby OSP platit poplatky, což pro některé může být nežádoucí.
@@ -225,7 +225,7 @@ Poskytovatelé služeb mimo řetězec by také mohli otevřít kanály s více p
Smuteční útoky jsou běžným rysem systémů založených na důkazech podvodu. Takový útok nepřináší přímý prospěch útočníkovi, ale způsobuje „smutek“ (tj. újmu) oběti, což dává název tomuto útoku.
-Důkazní systém podvodu je ke smutečním útokům náchylný, protože poctivá strana musí reagovat na každý spor, i neplatný, nebo riskovat ztrátu svých prostředků. Podvodník se může rozhodnout opakovaně zveřejňovat zastaralé přechody stavu on-chain, což nutí poctivou stranu reagovat platným stavem. Náklady na tyto on-chain transakce se mohou rychle nasčítat, což způsobí, že poctivá strana v tomto procesu utrpí ztrátu.
+Důkazní systém podvodu je ke smutečním útokům náchylný, protože poctivá strana musí reagovat na každý spor, i neplatný, nebo riskovat ztrátu svých prostředků. Zlomyslný účastník se může rozhodnout opakovaně zveřejňovat zastaralé přechody stavu on-chain, což nutí poctivou stranu reagovat platným stavem. Náklady na tyto on-chain transakce se mohou rychle sčítat, což způsobuje, že poctivé strany v tomto procesu tratí.
### Předdefinované sestavy účastníků {#predefined-participant-sets}
@@ -235,7 +235,7 @@ I když to usnadňuje úvahy o stavových kanálech, omezuje to užitečnost ná
### Zpracování paralelních transakcí {#parallel-transaction-processing}
-Účastníci stavového kanálu posílají aktualizace stavu postupně, což je důvod, proč nejlépe fungují pro „aplikace založené na střídání tahů“ (např. šachová hra pro dva hráče). To eliminuje potřebu zpracovávat současné aktualizace stavu a snižuje zátěž, kterou on-chain kontrakt musí zvládnout, aby potrestal ty, kteří zveřejňují zastaralé aktualizace. Vedlejším efektem tohoto návrhu však je, že transakce jsou na sobě závislé, což zvyšuje latenci a zhoršuje celkový uživatelský zážitek.
+Účastníci stavového kanálu posílají aktualizace stavu postupně, což je důvod, proč nejlépe fungují pro „aplikace založené na střídání tahů“ (např. šachová hra pro dva hráče). To eliminuje potřebu zpracovávat současné aktualizace stavu a snižuje práci, kterou musí on-chain kontrakt vykonat, aby potrestal ty, kteří zveřejňují zastaralé aktualizace. Vedlejším efektem tohoto návrhu však je, že transakce jsou na sobě závislé, což zvyšuje latenci a zhoršuje celkový uživatelský zážitek.
Některé stavové kanály řeší tento problém pomocí „full-duplex“ návrhu, který rozděluje off-chain stav na dva jednosměrné „simplexní“ stavy, což umožňuje souběžné aktualizace stavu. Takové návrhy zlepšují propustnost mimo řetězec a snižují zpoždění transakcí.
@@ -249,7 +249,7 @@ Několik projektů poskytuje implementace stavových kanálů, které můžete i
- [Raiden](https://raiden.network/)
- [Statechannels.org](https://statechannels.org/)
-## Further reading {#further-reading}
+## Další čtení {#further-reading}
**Stavové kanály**
diff --git a/public/content/translations/cs/developers/docs/scaling/validium/index.md b/public/content/translations/cs/developers/docs/scaling/validium/index.md
index 3ca3b9b0325..1debd7bf945 100644
--- a/public/content/translations/cs/developers/docs/scaling/validium/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/validium/index.md
@@ -5,19 +5,19 @@ lang: cs
sidebarDepth: 3
---
-Validium je [škálovací řešení](/developers/docs/scaling/), které zajišťuje integritu transakcí pomocí důkazů o platnosti, podobně jako [ZK-rollupy](/developers/docs/scaling/zk-rollups/), ale neukládá transakční data na Ethereum Mainnet. Ačkoli off-chain dostupnost dat přináší určité kompromisy, může vést k masivnímu zlepšení škálovatelnosti (validium může zpracovat přibližně [9 000 nebo více transakcí za sekundu](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)).
+Validium je [škalovací řešení](/developers/docs/scaling/), které zajišťuje integritu transakcí pomocí důkazů o platnosti, podobně jako [ZK-rollupy](/developers/docs/scaling/zk-rollups/), ale neukládá transakční data na Ethereum Mainnet. Ačkoli dostupnost dat off-chain přináší kompromisy, může vést k masivnímu zlepšení škálovatelnosti (validia mohou zpracovat [~9 000 transakcí za sekundu nebo více](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)).
## Předpoklady {#prerequisites}
-Měli byste si přečíst a porozumět naší stránce o [škálování Etherea](/developers/docs/scaling/) a [vrstvě 2](/layer-2).
+Měli byste si přečíst a pochopit naši stránku o [škálování Etherea](/developers/docs/scaling/) a [vrstvě 2](/layer-2).
## Co je to validium? {#what-is-validium}
-Validia jsou škálovací řešení, která využívají off-chain dostupnost dat a výpočty navržené ke zlepšení propustnosti zpracováním transakcí mimo Ethereum Mainnet. Stejně jako zero-knowledge rollupy (ZK-rollupy) zveřejňují validia [důkazy s nulovou znalostí](/glossary/#zk-proof) k ověření transakcí mimo řetězec Etherea. Tím se zabraňuje neplatným změnám stavu a zvyšují se bezpečnostní záruky řetězce typu validium.
+Validia jsou škálovací řešení, která využívají off-chain dostupnost dat a výpočty navržené ke zlepšení propustnosti zpracováním transakcí mimo Ethereum Mainnet. Stejně jako rollupy s nulovou znalostí (ZK-rollupy), validia zveřejňují [důkazy s nulovou znalostí](/glossary/#zk-proof) k ověření off-chain transakcí na Ethereu. Tím se zabraňuje neplatným změnám stavu a zvyšují se bezpečnostní záruky řetězce typu validium.
Tyto „důkazy o platnosti“ mohou mít podobu ZK-SNARKů (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) nebo ZK-STARKů (Zero-Knowledge Scalable Transparent Argument of Knowledge). Více o [důkazech s nulovou znalostí](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/).
-Prostředky patřící uživatelům validia jsou spravovány smart kontraktem na Ethereu. Validium nabízí téměř okamžité výběry, podobně jako ZK-rollupy; jakmile je důkaz o platnosti žádosti o výběr ověřen na Mainnetu, uživatelé mohou vybrat prostředky poskytnutím [Merkle důkazů](/developers/tutorials/merkle-proofs-for-offline-data-integrity/). Merkle důkaz ověřuje zahrnutí výběrové transakce uživatele do ověřeného balíku transakcí, což umožňuje on-chain kontraktu zpracovat výběr.
+Prostředky patřící uživatelům validia jsou spravovány smart kontraktem na Ethereu. Validia nabízejí téměř okamžité výběry, podobně jako ZK-rollupy; jakmile je důkaz o platnosti žádosti o výběr ověřen na Mainnetu, uživatelé mohou vybrat prostředky poskytnutím [Merkleho důkazů](/developers/tutorials/merkle-proofs-for-offline-data-integrity/). Merkleho důkaz ověřuje zahrnutí výběrové transakce uživatele do ověřeného balíku transakcí, což umožňuje on-chain kontraktu zpracovat výběr.
Nicméně uživatelé validia mohou mít své prostředky zmrazené a výběry omezené. To se může stát, pokud správci dostupnosti dat na validiovém řetězci zadrží off-chain stavová data od uživatelů. Bez přístupu k transakčním datům nemohou uživatelé vytvořit Merkle důkaz potřebný k prokázání vlastnictví prostředků a k provedení výběru.
@@ -25,29 +25,29 @@ Toto je hlavní rozdíl mezi validiem a ZK-rollupy – jejich pozice na spektru
## Jak validia interagují s Ethereem? {#how-do-validiums-interact-with-ethereum}
-Validia jsou škálovací protokoly postavené na stávajícím řetězci Etherea. Ačkoli provádí transakce mimo řetězec, validiový řetězec je spravován sadou smart kontraktů nasazených na Mainnetu, včetně:
+Validia jsou škálovací protokoly postavené na stávajícím řetězci Etherea. Ačkoli provádí transakce off-chain, validiový řetězec je spravován sadou chytrých kontraktů nasazených na Mainnetu, včetně:
-1. **Ověřovacího kontraktu**: Ověřovací kontrakt ověřuje platnost důkazů předložených operátorem validia při provádění aktualizací stavu. To zahrnuje důkazy o platnosti potvrzující správnost transakcí mimo řetězec a důkazy o dostupnosti dat, které ověřují existenci off-chain transakčních dat.
+1. **Ověřovací kontrakt**: Ověřovací kontrakt ověřuje platnost důkazů předložených operátorem validia při provádění aktualizací stavu. To zahrnuje důkazy o platnosti potvrzující správnost off-chain transakcí a důkazy o dostupnosti dat, které ověřují existenci off-chain transakčních dat.
-2. **Hlavního kontraktu**: Hlavní kontrakt ukládá závazky ke stavu (Merkle kořeny) předložené producenty bloků a aktualizuje stav validia, jakmile je na řetězci ověřen důkaz o platnosti. Tento kontrakt také zpracovává vklady a výběry z validiového řetězce.
+2. **Hlavní kontrakt**: Hlavní kontrakt ukládá závazky ke stavu (Merkleho kořeny) předložené producenty bloků a aktualizuje stav validia, jakmile je on-chain ověřen důkaz o platnosti. Tento kontrakt také zpracovává vklady a výběry z validiového řetězce.
Validia se spoléhají na hlavní vrstvu Etherea v následujících bodech:
-### Vyrovnání {#settlement}
+### Vypořádání {#settlement}
-Transakce provedené na validiu nemohou být plně potvrzeny, dokud rodičovský řetězec neověří jejich platnost. Veškeré obchodní transakce provedené na validiu musí být nakonec vypořádány na Mainnetu. Blockchain Etherea také poskytuje „záruky vypořádání“ pro uživatele validia, což znamená, že transakce mimo řetězec nemohou být zvráceny nebo změněny, jakmile jsou potvrzeny on-chain.
+Transakce provedené na validiu nemohou být plně potvrzeny, dokud rodičovský řetězec neověří jejich platnost. Veškeré obchodní transakce provedené na validiu musí být nakonec vypořádány na Mainnetu. Blockchain Etherea také poskytuje „záruky vypořádání“ pro uživatele validia, což znamená, že off-chain transakce nemohou být zvráceny nebo změněny, jakmile jsou potvrzeny on-chain.
### Bezpečnost {#security}
-Ethereum, které funguje jako vrstva sloužící k vypořádání, také zaručuje platnost přechodů stavu na validiu. Transakce mimo řetězec provedené na validiovém řetězci jsou ověřovány prostřednictvím smart kontraktu na základní vrstvě Etherea.
+Ethereum, které funguje jako vrstva sloužící k vypořádání, také zaručuje platnost přechodů stavu na validiu. Off-chain transakce provedené na validiovém řetězci jsou ověřovány prostřednictvím chytrého kontraktu na základní vrstvě Etherea.
Pokud on-chain ověřovací kontrakt shledá důkaz neplatným, jsou transakce zamítnuty. To znamená, že operátoři musí splnit podmínky platnosti vynucené protokolem Etherea před aktualizací stavu validia.
-## Jak validium funguje? {#how-does-validium-work}
+## Jak validium funguje? Jak validium funguje? {#how-does-validium-work}
### Transakce {#transactions}
-Uživatelé předkládají transakce operátorovi, což je síťový uzel zodpovědný za provádění transakcí na validiu. Některá validia mohou používat k exekuci řetězce jediného operátora nebo se pro rotaci operátorů spoléhat na mechanismus [proof of stake (PoS)](/developers/docs/consensus-mechanisms/pos/).
+Uživatelé předkládají transakce operátorovi, což je síťový uzel zodpovědný za provádění transakcí na validiu. Některá validia mohou používat k exekuci řetězce jediného operátora nebo se pro rotaci operátorů spoléhat na mechanismus [důkazu podílem (PoS)](/developers/docs/consensus-mechanisms/pos/).
Operátor agreguje transakce do balíku a odešle je do ověřovacího okruhu k potvrzení. Ověřovací okruh přijme balík transakcí (a další relevantní data) jako vstupy a výstupem je důkaz o platnosti, který ověřuje, že operace byly provedeny správně.
@@ -65,21 +65,21 @@ Pro přesun prostředků zpět na Mainnet zahájí uživatel validia transakci v
Jako mechanismus proti cenzuře umožňuje validiový protokol uživatelům vybírat přímo z validiového kontraktu bez použití operátora. V tomto případě musí uživatelé poskytnout Merkle důkaz ověřovacímu kontraktu, který prokazuje zahrnutí účtu do kořene stavu. Pokud je důkaz přijat, uživatel může zavolat funkci pro výběr z hlavního kontraktu a vybrat své prostředky z validia.
-### Podání balíčku {#batch-submission}
+### Dávkové odesílání {#batch-submission}
Po exekuci balíčku transakcí předloží operátor přidružený důkaz o platnosti ověřovacímu kontraktu a navrhne nový kořen stavu hlavnímu kontraktu. Pokud je důkaz platný, hlavní kontrakt aktualizuje stav validia a finalizuje výsledky transakcí v balíku.
-Na rozdíl od ZK-rollupu nejsou producenti bloků na validiu povinni zveřejňovat transakční data pro balíky transakcí (pouze záhlaví bloků). To dělá z validia čistě off-chain škálovací protokol, na rozdíl od „hybridních“ škálovacích protokolů (tj. [vrstva 2](/layer-2/)), které zveřejňují stavová data na hlavním řetězci Etherea jako `calldata`.
+Na rozdíl od ZK-rollupu nejsou producenti bloků na validiu povinni zveřejňovat transakční data pro balíky transakcí (pouze záhlaví bloků). To dělá z validia čistě off-chain škálovací protokol, na rozdíl od „hybridních“ škálovacích protokolů (tj. [vrstva 2](/layer-2/)), které zveřejňují stavová data na hlavním řetězci Etherea pomocí dat typu blob, `calldata`, nebo jejich kombinací.
### Dostupnost dat {#data-availability}
-Jak už jsme zmínili, validia využívají off-chain model dostupnosti dat, kde operátoři ukládají veškerá transakční data mimo Ethereum Mainnet. Malá on-chain datová stopa validia zlepšuje škálovatelnost (propustnost není omezena kapacitou zpracování dat na Ethereu) a snižuje poplatky uživatelů (náklady na publikování `calldata` jsou nižší).
+Jak už jsme zmínili, validia využívají off-chain model dostupnosti dat, kde operátoři ukládají veškerá transakční data mimo Ethereum Mainnet. Nízká on-chain datová stopa validia zlepšuje škálovatelnost (propustnost není omezena kapacitou zpracování dat Etherea) a snižuje poplatky uživatelů (náklady na publikování dat on-chain jsou nižší).
-Off-chain dostupnost dat však představuje problém: Data nezbytná k vytvoření nebo ověření Merkle důkazů mohou být nedostupná. To znamená, že uživatelé nemusí být schopni vybrat prostředky z on-chain kontraktu, pokud by operátoři podváděli.
+Off-chain dostupnost dat však představuje problém: data nezbytná k vytvoření nebo ověření Merkleho důkazů mohou být nedostupná. To znamená, že uživatelé nemusí být schopni vybrat prostředky z on-chain kontraktu, pokud by operátoři jednali se zlým úmyslem.
-Různá řešení validií se pokoušejí tento problém vyřešit decentralizací úložiště stavových dat. To zahrnuje tlak na producenty bloků, aby zasílali základní data „správcům dostupnosti dat,“ kteří jsou zodpovědní za ukládání off-chain dat a zpřístupnění uživatelům na požádání.
+Různá řešení validií se pokoušejí tento problém vyřešit decentralizací úložiště stavových dat. Spočívá to v donucení producentů bloků posílat podkladová data „správcům dostupnosti dat“, kteří jsou odpovědní za ukládání off-chain dat a jejich zpřístupnění uživatelům na vyžádání.
-Správci dostupnosti dat ve validiu potvrzují dostupnost dat pro transakce mimo řetězec tím, že podepisují každý balík validia. Tyto podpisy představují formu „důkazu dostupnosti,“ který ověřovací kontrakt na řetězci kontroluje před schválením aktualizací stavu.
+Správci dostupnosti dat ve validiu potvrzují dostupnost dat pro off-chain transakce tím, že podepisují každý balík validia. Tyto podpisy představují formu „důkazu dostupnosti“, který on-chain ověřovací kontrakt kontroluje před schválením aktualizací stavu.
Validia se liší v přístupu ke správě dostupnosti dat. Některá se spoléhají na důvěryhodné strany pro ukládání stavových dat, zatímco jiná využívají náhodně přidělené validátory.
@@ -87,19 +87,19 @@ Validia se liší v přístupu ke správě dostupnosti dat. Některá se spoléh
Pro zajištění dostupnosti off-chain dat jmenují některá validiová řešení skupinu důvěryhodných subjektů, společně známou jako komise pro dostupnost dat (DAC), která ukládá kopie stavu a poskytuje důkazy o dostupnosti dat. DAC jsou snazší na implementaci a vyžadují méně koordinace, protože členství je omezené.
-Uživatelé však musí věřit DAC, že data budou k dispozici, když budou potřeba (např. pro generování Merkle důkazů). Existuje možnost, že členové komise [budou kompromitováni podvodníkem](https://notes.ethereum.org/DD7GyItYQ02d0ax_X-UbWg?view), který pak může zadržovat off-chain data.
+Uživatelé však musí věřit DAC, že data budou k dispozici, když budou potřeba (např. pro generování Merkle důkazů). Existuje možnost, že členové komisí pro dostupnost dat [budou kompromitováni útočníkem](https://notes.ethereum.org/DD7GyItYQ02d0ax_X-UbWg?view), který pak může zadržovat off-chain data.
-[Více o komisi pro dostupnost dat na validiu](https://medium.com/starkware/data-availability-e5564c416424).
+[Více o komisích pro dostupnost dat ve validiích](https://medium.com/starkware/data-availability-e5564c416424).
-#### Dostupnost vázaných dat {#bonded-data-availability}
+#### Vázaná dostupnost dat {#bonded-data-availability}
Jiná validia vyžadují, aby účastníci zodpovědní za ukládání offline dat před převzetím své role zastavili (tj. uzamkli) tokeny ve smart kontraktu. Tento stake slouží jako „závazek“ k zajištění čestného chování mezi správci dostupnosti dat a snižuje potřebu důvěry. Pokud tito účastníci nedokážou prokázat dostupnost dat, jejich záloha se zmenší.
-V rámci schématu dostupnosti vázaných dat může být kdokoli pověřen držením off-chain dat, pokud poskytne požadovaný stake. To rozšiřuje okruh způsobilých správců dostupnosti dat a snižuje centralizaci, která ovlivňuje komisi pro dostupnost dat (DAC). Důležitější je, že tento přístup spoléhá na kryptoekonomické incentivy, které brání podvodné aktivitě, což je podstatně bezpečnější než jmenování důvěryhodných stran pro zajištění offline dat ve validiu.
+V rámci schématu vázané dostupnosti dat může být kdokoli pověřen držením off-chain dat, pokud poskytne požadovaný stake. To rozšiřuje okruh způsobilých správců dostupnosti dat a snižuje centralizaci, která ovlivňuje komisi pro dostupnost dat (DAC). Důležitější je, že tento přístup spoléhá na kryptoekonomické incentivy, které brání podvodné aktivitě, což je podstatně bezpečnější než jmenování důvěryhodných stran pro zajištění offline dat ve validiu.
-[Více o dostupnosti vázaných dat na validiu](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf).
+[Více o vázané dostupnosti dat ve validiích](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf).
-## Volitia a validium {#volitions-and-validium}
+## Volitions a validium {#volitions-and-validium}
Validium nabízí mnoho výhod, ale přináší i kompromisy (nejvýrazněji v oblasti dostupnosti dat). Stejně jako u mnoha škálovacích řešení je validium vhodné pro specifické případy použití – právě proto byla vytvořena volitia.
@@ -109,57 +109,58 @@ Decentralizovaná burza (DEX) může preferovat použití škálovatelné a souk
## Validia a kompatibilita s EVM {#validiums-and-evm-compatibility}
-Stejně jako ZK-rollupy jsou validia většinou vhodná pro jednoduché aplikace, jako jsou směny tokenů a platby. Podpora obecného výpočtu a exekuce smart kontraktů na validiu je obtížná na implementaci vzhledem ke značné režii při ověřování instrukcí [EVM](/developers/docs/evm/) v zero-knowledge důkazním okruhu.
+Stejně jako ZK-rollupy jsou validia většinou vhodná pro jednoduché aplikace, jako jsou směny tokenů a platby. Podpora obecných výpočtů a provádění chytrých kontraktů na validiích je obtížně implementovatelná vzhledem ke značné režii při dokazování instrukcí [EVM](/developers/docs/evm/) v důkazním okruhu s nulovou znalostí.
Některé validiové projekty se pokoušejí tento problém obejít kompilací jazyků kompatibilních s EVM (např. Solidity, Vyper) do vytváření vlastního bytecode optimalizovaného pro efektivní ověřování. Nevýhodou tohoto přístupu je, že nové virtuální stroje přátelské k důkazům s nulovou znalostí nemusí podporovat důležité opkódy EVM a vývojáři musí psát přímo v high-level jazyce. To vytváří ještě více problémů: Nutí vývojáře stavět dappky s úplně novým vývojovým stackem a narušuje kompatibilitu se stávající infrastrukturou Etherea.
-Některé týmy se však pokoušejí optimalizovat stávající opkódy EVM pro ZK-důkazní kruhy. To povede k vývoji virtuálního stroje Etherea s nulovou znalostí (zkEVM), virtuálního stroje kompatibilního s EVM, který generuje důkazy pro ověření správnosti exekuce programů. Se zkEVM mohou validiové řetězce exekuovat smart kontrakty mimo řetězec a předkládat důkazy o platnosti k ověření off-chain výpočtů (bez nutnosti je znovu provádět) na Ethereu.
+Některé týmy se však pokoušejí optimalizovat stávající opkódy EVM pro ZK-důkazní kruhy. To povede k vývoji virtuálního stroje Etherea s nulovou znalostí (zkEVM), virtuálního stroje kompatibilního s EVM, který generuje důkazy pro ověření správnosti exekuce programů. Se zkEVM mohou validiové řetězce provádět chytré kontrakty off-chain a předkládat důkazy o platnosti k ověření off-chain výpočtů (bez nutnosti je znovu provádět) na Ethereu.
[Více o zkEVM](https://www.alchemy.com/overviews/zkevm).
## Jak validia škálují Ethereum? {#scaling-ethereum-with-validiums}
-### 1. Off-chain úložiště dat {#off-chain-data-storage}
+### 1. Off-chain úložiště dat {#offchain-data-storage}
-Škálovací projekty vrstvy 2, jako jsou optimistické rollupy a ZK-rollupy, vyměňují nekonečnou škálovatelnost čistě off-chain škálovacích protokolů (např. [Plasma](/developers/docs/scaling/plasma/)) za bezpečnost tím, že publikují některá transakční data na vrstvě 1. To však znamená, že škálovatelnost rollupů je omezena šířkou pásma dat na Ethereum Mainnetu ([sharding dat](/roadmap/danksharding/) si klade za cíl zlepšit kapacitu úložiště dat na Ethereu právě z tohoto důvodu).
+Škálovací projekty vrstvy 2, jako jsou optimistické rollupy a ZK-rollupy, vyměňují nekonečnou škálovatelnost čistě off-chain škálovacích protokolů (např. [Plasma](/developers/docs/scaling/plasma/)) za bezpečnost tím, že publikují některá transakční data na L1. To však znamená, že škálovatelnost rollupů je omezena šířkou pásma dat na Ethereum Mainnetu ([sharding dat](/roadmap/danksharding/) si z tohoto důvodu klade za cíl zlepšit kapacitu úložiště dat Etherea).
-Validia dosahují škálovatelnosti tím, že udržují všechna transakční data mimo řetězec a publikují pouze závazky stavu (a důkazy o platnosti) při přenosu aktualizací stavu na hlavní řetězec Etherea. Existence důkazů o platnosti však poskytuje validiu vyšší bezpečnostní záruky než jiná čistě off-chain škálovací řešení, včetně Plasmy a [postranních řetězců](/developers/docs/scaling/sidechains/). Snížením množství dat, která musí Ethereum zpracovat před ověřením transakcí mimo řetězec, validiové návrhy výrazně zvyšují propustnost na Mainnetu.
+Validia dosahují škálovatelnosti tím, že udržují všechna transakční data off-chain a publikují pouze závazky stavu (a důkazy o platnosti) při přenosu aktualizací stavu na hlavní řetězec Etherea. Existence důkazů o platnosti však dává validiím vyšší bezpečnostní záruky než jiná čistě off-chain škálovací řešení, včetně Plasmy a [sidechainů](/developers/docs/scaling/sidechains/). Snížením množství dat, která musí Ethereum zpracovat před ověřením off-chain transakcí, validiové návrhy výrazně zvyšují propustnost na Mainnetu.
### 2. Rekurzivní důkazy {#recursive-proofs}
Rekurzivní důkaz je důkaz o platnosti, který ověřuje platnost jiných důkazů. Tyto „důkazy důkazů“ jsou generovány rekurzivním agregováním více důkazů, dokud není vytvořen jeden konečný důkaz, který ověřuje všechny předchozí důkazy. Rekurzivní důkazy škálují rychlost zpracování blockchainu tím, že zvyšují počet transakcí, které mohou být ověřeny na jeden důkaz o platnosti.
-Obvykle každý důkaz o platnosti, který operátor validia předloží k ověření Ethereu, ověřuje integritu jednoho bloku. Na druhou stranu lze jeden rekurzivní důkaz použít k potvrzení platnosti několika bloků validia současně – je to možné, protože ověřovací okruh může rekurzivně agregovat několik blokových důkazů do jednoho konečného důkazu. Pokud ověřovací kontrakt na řetězci přijme rekurzivní důkaz, všechny podkladové bloky jsou okamžitě finalizovány.
+Obvykle každý důkaz o platnosti, který operátor validia předloží k ověření Ethereu, ověřuje integritu jednoho bloku. Na druhou stranu lze jeden rekurzivní důkaz použít k potvrzení platnosti několika bloků validia současně – je to možné, protože ověřovací okruh může rekurzivně agregovat několik blokových důkazů do jednoho konečného důkazu. Pokud on-chain ověřovací kontrakt přijme rekurzivní důkaz, všechny podkladové bloky jsou okamžitě finalizovány.
## Výhody a nevýhody validia {#pros-and-cons-of-validium}
-| Plusy | Mínusy |
-| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Důkazy o platnosti zajišťují integritu transakcí mimo řetězec a zabraňují operátorům finalizovat neplatné aktualizace stavu. | Výroba důkazů o platnosti vyžaduje speciální hardware, což představuje riziko centralizace. |
-| Zvyšuje efektivitu kapitálu pro uživatele (žádné zpoždění při výběru prostředků zpět na Ethereum). | Omezená podpora pro obecné výpočty a smart kontrakty; pro vývoj jsou nutné specializované jazyky. |
-| Není náchylné k určitým ekonomickým útokům, kterým čelí systémy založené na důkazech podvodu u aplikací s vysokou hodnotou. | Vyžaduje vysoký výpočetní výkon pro generování ZK důkazů; není nákladově efektivní pro aplikace s nízkou propustností. |
-| Snižuje poplatky za palivo pro uživatele tím, že neposílá calldata na Ethereum Mainnet. | Pomalejší subjektivní finálnost (10–30 minut na vytvoření ZK důkazu), ale rychlejší k úplné finálnosti, protože při řešení sporů není žádné zpoždění. |
-| Vhodné pro specifické případy použití, jako je obchodování nebo blockchainové hry, které upřednostňují soukromí transakcí a škálovatelnost. | Uživatelé mohou mít zablokovaný výběr prostředků, protože generování Merkle důkazů o vlastnictví vyžaduje, aby off-chain data byla dostupná po celou dobu. |
-| Dostupnost dat mimo řetězec poskytuje vyšší úroveň propustnosti a zvyšuje škálovatelnost. | Bezpečnostní model spoléhá na důvěru a kryptoekonomické incentivy, na rozdíl od ZK-rollupů, které se spoléhají čistě na kryptografické bezpečnostní mechanismy. |
+| Plusy | Minusy |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Důkazy o platnosti zajišťují integritu off-chain transakcí a zabraňují operátorům finalizovat neplatné aktualizace stavu. | Výroba důkazů o platnosti vyžaduje speciální hardware, což představuje riziko centralizace. |
+| Zvyšuje efektivitu kapitálu pro uživatele (žádné zpoždění při výběru prostředků zpět na Ethereum). | Omezená podpora pro obecné výpočty a smart kontrakty; pro vývoj jsou nutné specializované jazyky. |
+| Není náchylné k určitým ekonomickým útokům, kterým čelí systémy založené na důkazech podvodu u aplikací s vysokou hodnotou. | Vyžaduje vysoký výpočetní výkon pro generování ZK důkazů; není nákladově efektivní pro aplikace s nízkou propustností. |
+| Snižuje poplatky za palivo pro uživatele tím, že neposílá calldata na Ethereum Mainnet. | Pomalejší subjektivní finálnost (10–30 minut na vytvoření ZK důkazu), ale rychlejší k úplné finálnosti, protože při řešení sporů není žádné zpoždění. |
+| Vhodné pro specifické případy použití, jako je obchodování nebo blockchainové hry, které upřednostňují soukromí transakcí a škálovatelnost. | Uživatelé mohou mít zablokovaný výběr prostředků, protože generování Merkleho důkazů o vlastnictví vyžaduje, aby off-chain data byla dostupná po celou dobu. |
+| Dostupnost dat off-chain poskytuje vyšší úroveň propustnosti a zvyšuje škálovatelnost. | Bezpečnostní model spoléhá na důvěru a kryptoekonomické incentivy, na rozdíl od ZK-rollupů, které se spoléhají čistě na kryptografické bezpečnostní mechanismy. |
-### Použití validia a volitia {#use-validium-and-volitions}
+### Použití Validium/Volitions {#use-validium-and-volitions}
Několik projektů poskytuje implementace validia a volitia, které můžete integrovat do svých dapp:
-**StarkWare StarkEx** – _StarkEx je škálovací řešení pro Ethereum druhé vrstvy (L2), které je založeno na důkazech o platnosti. Může fungovat buď v ZK-Rollup, nebo validium režimu dostupnosti dat._
+**StarkWare StarkEx** - _StarkEx je škálovací řešení pro Ethereum vrstvy 2 (L2), které je založeno na důkazech o platnosti. Může fungovat buď v ZK-Rollup, nebo validium režimu dostupnosti dat._
- [Dokumentace](https://docs.starkware.co/starkex-v4/starkex-deep-dive/data-availability-modes#validium)
-- [Web](https://starkware.co/starkex/)
+- [Webové stránky](https://starkware.co/starkex/)
-**Matter Labs zkPorter** – _zkPorter je škálovací protokol druhé vrstvy, který řeší dostupnost dat hybridním přístupem, který kombinuje myšlenky zkRollupu a shardingu. Může podporovat libovolný počet shardů, každý s vlastní politikou dostupnosti dat._
+**Matter Labs zkPorter**- _zkPorter je škálovací protokol vrstvy 2, který řeší dostupnost dat hybridním přístupem, který kombinuje myšlenky zkRollupu a shardingu. Může podporovat libovolný počet shardů, každý s vlastní politikou dostupnosti dat._
- [Blog](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
- [Dokumentace](https://docs.zksync.io/zksync-protocol/rollup/data-availability)
-- [Web](https://zksync.io/)
+- [Webové stránky](https://zksync.io/)
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Validium And The Layer 2 Two-By-Two — Issue No. 99](https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two)
-- [ZK-rollupy versus Validium](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)
+- [Validium a matice 2x2 vrstvy 2 — vydání č. 99](https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two)
+- [ZK-rollupy vs. Validium](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)
- [Volition a vznikající spektrum dostupnosti dat](https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb)
-- [Rollupy, validia a volitia: Seznamte se s nejžhavějšími škálovacími řešeními pro Ethereum](https://www.defipulse.com/blog/rollups-validiums-and-volitions-learn-about-the-hottest-ethereum-scaling-solutions)
+- [Rollupy, validia a volitions: Poznejte nejžhavější řešení pro škálování Etherea](https://www.defipulse.com/blog/rollups-validiums-and-volitions-learn-about-the-hottest-ethereum-scaling-solutions)
+- [Praktický průvodce rollupy na Ethereu](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
diff --git a/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md
index 20d2c3d3ca4..b6c42255c01 100644
--- a/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md
@@ -4,49 +4,49 @@ description: Úvod do rollupů s nulovou znalostí – řešení pro škálován
lang: cs
---
-Rollupy s nulovou znalostí (ZK-rollupy) jsou [škálovací řešení](/developers/docs/scaling/) vrstvy 2, která zvyšují propustnost na Ethereum Mainnetu tím, že přesouvají výpočty a ukládání stavu mimo řetězec. ZK-rollupy mohou zpracovat tisíce transakcí v jednom balíku a poté na Mainnetu zveřejní pouze minimální souhrnná data. Tato souhrnná data definují změny, které by měly být provedeny ve stavu Etherea, a obsahují kryptografický důkaz o správnosti těchto změn.
+Zero-knowledge rollupy (ZK-rollupy) jsou [řešení pro škálování](/developers/docs/scaling/) vrstvy 2, která zvyšují propustnost na hlavní síti Ethereum přesunutím výpočtů a ukládání stavů mimo řetězec. ZK-rollupy mohou zpracovat tisíce transakcí v jednom balíku a poté na Mainnetu zveřejní pouze minimální souhrnná data. Tato souhrnná data definují změny, které by měly být provedeny ve stavu Etherea, a obsahují kryptografický důkaz o správnosti těchto změn.
## Předpoklady {#prerequisites}
-Měli byste si přečíst a porozumět naší stránce o [škálování Etherea](/developers/docs/scaling/) a [vrstvě 2](/layer-2).
+Měli byste si přečíst a pochopit naši stránku o [škálování Etherea](/developers/docs/scaling/) a [vrstvě 2](/layer-2).
## Co jsou rollupy s nulovou znalostí? {#what-are-zk-rollups}
-**Rollupy s nulovou znalostí (ZK-rollupy)** seskupují (nebo „rolují“) transakce do balíků, které jsou exekuovány mimo řetězec. Off-chain výpočty snižují množství dat, která musí být zveřejněna na blockchainu. Operátoři ZK-rollupů předkládají souhrn změn potřebných k reprezentaci všech transakcí v balíku místo toho, aby odesílali každou transakci jednotlivě. Také vytvářejí [důkazy o platnosti](/glossary/#validity-proof), které prokazují správnost těchto změn.
+**Zero-knowledge rollupy (ZK-rollupy)** seskupují (nebo „rolují“) transakce do balíků, které jsou exekuovány mimo blockchain. Výpočty mimo blockchain snižují množství dat, která musí být zveřejněna na blockchainu. Operátoři ZK-rollupů předkládají souhrn změn potřebných k reprezentaci všech transakcí v balíku místo toho, aby odesílali každou transakci jednotlivě. Také vytvářejí [důkazy platnosti](/glossary/#validity-proof), aby prokázaly správnost svých změn.
-Stav ZK-rollupu je udržován smart kontraktem nasazeným na síti Etherea. Pro aktualizaci stavu musí síťové uzly ZK-rollupu předložit důkaz o platnosti k ověření. Jak bylo zmíněno, důkaz o platnosti je kryptografickou zárukou, že změna stavu navržená rollupem je skutečně výsledkem exekuce daného balíku transakcí. To znamená, že ZK-rollupy potřebují k finalizaci transakcí na Ethereu poskytnout pouze důkazy o platnosti namísto zveřejnění všech transakčních dat na řetězci, jako to dělají [optimistické rollupy](/developers/docs/scaling/optimistic-rollups/).
+Stav ZK-rollupu je udržován smart kontraktem nasazeným na síti Etherea. Pro aktualizaci stavu musí síťové uzly ZK-rollupu předložit důkaz o platnosti k ověření. Jak bylo zmíněno, důkaz o platnosti je kryptografickou zárukou, že změna stavu navržená rollupem je skutečně výsledkem exekuce daného balíku transakcí. To znamená, že ZK-rollupy potřebují k finalizaci transakcí na Ethereu poskytnout pouze důkazy platnosti namísto zveřejnění všech transakčních dat na blockchainu, jako to dělají [optimistické rollupy](/developers/docs/scaling/optimistic-rollups/).
Při přesunu prostředků ze ZK-rollupu na Ethereum nedochází ke zpožděním, protože transakce výstupu jsou provedeny ihned po ověření důkazu o platnosti kontraktem ZK-rollupu. Naopak výběr prostředků z optimistických rollupů podléhá zpoždění, aby měl kdokoli možnost napadnout výstupní transakci [důkazem podvodu](/glossary/#fraud-proof).
-ZK-rollupy zapisují transakce na Ethereum jako `calldata`. `calldata` je místo, kde jsou uložena data, která jsou zahrnuta v externích voláních funkcí smart kontraktů. Informace v `calldata` jsou publikovány na blockchainu, což umožňuje komukoli nezávisle rekonstruovat stav rollupu. ZK-rollupy používají kompresní techniky ke snížení objemu transakčních dat – například účty jsou reprezentovány indexem namísto adresy, což ušetří 28 bajtů dat. Publikování dat na řetězec je pro rollupy velkým nákladem, takže komprese dat může snížit poplatky uživatelů.
+ZK-rollupy zapisují transakce na Ethereum jako `calldata`. `calldata` je místo, kde jsou uložena data, která jsou zahrnuta v externích voláních funkcí chytrých kontraktů. Informace v `calldata` jsou publikovány na blockchainu, což umožňuje komukoli nezávisle rekonstruovat stav rollupu. ZK-rollupy používají kompresní techniky ke snížení objemu transakčních dat – například účty jsou reprezentovány indexem namísto adresy, což ušetří 28 bajtů dat. Publikování dat na blockchainu je pro rollupy velkým nákladem, takže komprese dat může snížit poplatky uživatelů.
-## Jak ZK-rollupy interagují s Ethereem? {#zk-rollups-and-ethereum}
+## Jak ZK-rollupy interagují s Ethereem? ZK-rollupy a Ethereum {#zk-rollups-and-ethereum}
-Řetězec ZK-rollupu je off-chain protokol, který funguje na vrcholu blockchainu Etherea a je řízen on-chain smart kontrakty na Ethereu. ZK-rollupy provádějí transakce mimo Mainnet, ale pravidelně odesílají balíky transakcí z off-chain na on-chain kontrakt rollupu. Tento záznam transakcí je neměnný, podobně jako blockchain Etherea, a tvoří řetězec ZK-rollupu.
+Řetězec ZK-rollupu je off-chain protokol, který funguje na vrcholu blockchainu Ethereum a je řízen on-chain chytrými kontrakty na Ethereu. ZK-rollupy provádějí transakce mimo hlavní síť, ale pravidelně odesílají off-chain balíčky transakcí do on-chain rollup kontraktu. Tento záznam transakcí je neměnný, podobně jako blockchain Etherea, a tvoří řetězec ZK-rollupu.
Základní architektura ZK-rollupu se skládá z následujících komponent:
-1. **On-chain kontrakty**: Jak již bylo zmíněno, ZK-rollup protokol je řízen smart kontrakty běžícími na Ethereu. To zahrnuje hlavní kontrakt, který ukládá bloky rollupu, sleduje vklady a monitoruje aktualizace stavu. Další on-chain kontrakt (ověřovací kontrakt) ověřuje důkazy s nulovou znalostí předložené producenty bloků. Ethereum tak slouží jako základní vrstva nebo „vrstva 1“ pro ZK-rollup.
+1. **On-chain kontrakty**: Jak již bylo zmíněno, ZK-rollup protokol je řízen chytrými kontrakty běžícími na Ethereu. To zahrnuje hlavní kontrakt, který ukládá bloky rollupu, sleduje vklady a monitoruje aktualizace stavu. Další on-chain kontrakt (ověřovací kontrakt) ověřuje důkazy s nulovou znalostí předložené producenty bloků. Ethereum tak slouží jako základní vrstva nebo „vrstva 1“ pro ZK-rollup.
-2. **Off-chain virtuální stroj (VM)**: Zatímco ZK-rollup protokol existuje na Ethereu, provádění transakcí a ukládání stavu probíhá na samostatném virtuálním stroji nezávislém na [EVM](/developers/docs/evm/). Tento off-chain VM je prostředí pro provádění transakcí na ZK-rollupu a slouží jako sekundární vrstva nebo „vrstva 2“ pro ZK-rollup protokol. Důkazy o platnosti ověřené na Ethereum Mainnetu zaručují správnost přechodů stavu v off-chain VM.
+2. **Off-chain virtuální stroj (VM)**: Zatímco ZK-rollup protokol existuje na Ethereu, provádění transakcí a ukládání stavu probíhá na samostatném virtuálním stroji nezávislém na [EVM](/developers/docs/evm/). Tento off-chain VM je prostředí pro provádění transakcí na ZK-rollupu a slouží jako sekundární vrstva nebo „vrstva 2“ pro ZK-rollup protokol. Důkazy platnosti ověřené na hlavní síti Ethereum zaručují správnost přechodů stavu v off-chain VM.
-ZK-rollupy jsou „hybridní škálovací řešení“ – off-chain protokoly, které fungují nezávisle, ale odvozují bezpečnost od Etherea. Konkrétně síť Etherea vynucuje platnost aktualizací stavu na ZK-rollupu a zaručuje dostupnost dat za každou aktualizací stavu rollupu. Výsledkem je, že ZK-rollupy jsou podstatně bezpečnější než čistě off-chain škálovací řešení, jako jsou [postranní řetězce](/developers/docs/scaling/sidechains/), které jsou odpovědné za své bezpečnostní vlastnosti, nebo [validia](/developers/docs/scaling/validium/), která také ověřují transakce na Ethereu pomocí důkazů o platnosti, ale ukládají transakční data jinde.
+ZK-rollupy jsou „hybridní řešení pro škálování“ – off-chain protokoly, které fungují nezávisle, ale odvozují bezpečnost od Etherea. Konkrétně síť Etherea vynucuje platnost aktualizací stavu na ZK-rollupu a zaručuje dostupnost dat za každou aktualizací stavu rollupu. V důsledku toho jsou ZK-rollupy podstatně bezpečnější než čistě off-chain řešení pro škálování, jako jsou [sidechainy](/developers/docs/scaling/sidechains/), které jsou odpovědné za své bezpečnostní vlastnosti, nebo [validia](/developers/docs/scaling/validium/), která také ověřují transakce na Ethereu pomocí důkazů platnosti, ale ukládají transakční data jinde.
Rollupy s nulovou znalostí se spoléhají na hlavní protokol Etherea z následujících důvodů:
### Dostupnost dat {#data-availability}
-ZK-rollupy publikují stavová data pro každou transakci zpracovanou mimo řetězec na Ethereu. S těmito daty je možné, aby jednotlivci nebo firmy reprodukovali stav rollupu a sami si ověřili řetězec. Ethereum zpřístupňuje tato data všem účastníkům sítě jako `calldata`.
+ZK-rollupy publikují stavová data pro každou transakci zpracovanou mimo blockchain na Ethereu. S těmito daty je možné, aby jednotlivci nebo firmy reprodukovali stav rollupu a sami si ověřili řetězec. Ethereum zpřístupňuje tato data všem účastníkům sítě jako `calldata`.
-ZK-rollupy nepotřebují zveřejňovat mnoho transakčních dat on-chain, protože důkazy o platnosti již ověřují autenticitu změn stavu. Nicméně ukládání dat on-chain je stále důležité, protože umožňuje nezávislé ověření stavu řetězce vrstvy 2 bez nutnosti důvěry, což zase umožňuje komukoli odesílat balíky transakcí a zabraňuje škodlivým operátorům v cenzurování nebo zmrazení řetězce.
+ZK-rollupy nepotřebují zveřejňovat mnoho transakčních dat on-chain, protože důkazy platnosti již ověřují autenticitu změn stavu. Nicméně ukládání dat on-chain je stále důležité, protože umožňuje nezávislé ověření stavu řetězce vrstvy 2 bez nutnosti povolení, což zase umožňuje komukoli odesílat balíky transakcí a zabraňuje škodlivým operátorům v cenzurování nebo zmrazení řetězce.
On-chain data jsou nezbytná pro to, aby mohli uživatelé interagovat s rollupem. Bez přístupu k datům stavu uživatelé nemohou dotazovat zůstatek svého účtu nebo iniciovat transakce (např. výběry), které závisí na informacích o stavu.
-### Finálnost transakcí {#transaction-finality}
+### Finalita transakce {#transaction-finality}
Ethereum funguje jako vypořádací vrstva pro ZK-rollupy: Transakce vrstvy 2 jsou finalizovány pouze tehdy, pokud L1 kontrakt přijme důkaz o platnosti. To eliminuje riziko, že by podvodní operátoři mohli řetězec zkompromitovat (např. ukrást prostředky rollupu), protože každá transakce musí být schválena na Mainnetu. Ethereum také zaručuje, že uživatelské operace nemohou být po jejich finalizaci na L1 zrušeny.
-### Odolnost proti cenzuře {#censorship-resistance}
+### Odolnost vůči cenzuře {#censorship-resistance}
Většina ZK-rollupů používá „superuzel“ (operátora) k provádění transakcí, vytváření balíků a odesílání bloků na vrstvu 1. I když to zajišťuje efektivitu, zvyšuje to riziko cenzury: Podvodní operátoři ZK-rollupu mohou cenzurovat uživatele tím, že odmítnou zahrnout jejich transakce do balíků.
@@ -58,29 +58,29 @@ Jako bezpečnostní opatření umožňují ZK-rollupy uživatelům zasílat tran
Uživatelé v ZK-rollupu podepisují transakce a zasílají je operátorům L2 ke zpracování a zahrnutí do dalšího balíku. V některých případech je operátor centralizovaný subjekt, nazývaný sekvencer, který provádí transakce, agreguje je do balíků a odesílá na vrstvu 1. Sekvencer v tomto systému je jediným subjektem, který má povoleno vytvářet bloky vrstvy 2 a přidávat transakce rollupu do kontraktu ZK-rollupu.
-Jiné ZK-rollupy mohou rotovat roli operátora pomocí sady validátorů [proof of stake](/developers/docs/consensus-mechanisms/pos/). Potenciální operátoři vkládají prostředky do kontraktu rollupu, přičemž velikost každého vkladu ovlivňuje šance stakera na výběr pro vytvoření dalšího balíku rollupu. Podíl operátora může být penalizován snížením zástavy, pokud jedná podvodně, což ho motivuje k tomu, aby odesílal platné bloky.
+Jiné ZK-rollupy mohou rotovat roli operátora pomocí sady validátorů s [důkazem podílem](/developers/docs/consensus-mechanisms/pos/). Potenciální operátoři vkládají prostředky do kontraktu rollupu, přičemž velikost každého vkladu ovlivňuje šance stakera na výběr pro vytvoření dalšího balíku rollupu. Podíl operátora může být penalizován snížením zástavy, pokud jedná podvodně, což ho motivuje k tomu, aby odesílal platné bloky.
#### Jak ZK-rollupy publikují transakční data na Ethereu {#how-zk-rollups-publish-transaction-data-on-ethereum}
-Jak jsme už vysvětlili, transakční data jsou publikována na Ethereu jako `calldata`. `calldata` je datová oblast ve smart kontraktu, která slouží k předávání argumentů do funkce a chová se podobně jako [paměť](/developers/docs/smart-contracts/anatomy/#memory). Zatímco oblast `calldata` není uložena jako součást stavu Etherea, přetrvává na řetězci jako součást [historických logů](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) řetězce Etherea. `calldata` neovlivňuje stav Etherea, což z ní činí levný způsob ukládání dat na řetězci.
+Jak jsme už vysvětlili, transakční data jsou publikována na Ethereu jako `calldata`. `calldata` je datová oblast v chytrém kontraktu, která slouží k předávání argumentů funkci a chová se podobně jako [paměť](/developers/docs/smart-contracts/anatomy/#memory). `calldata` se neukládají jako součást stavu Etherea, ale přetrvávají na blockchainu jako součást [historických protokolů](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) řetězce Ethereum. `calldata` neovlivňuje stav Etherea, což z ní činí levný způsob ukládání dat na blockchainu.
-Klíčové slovo `calldata` často identifikuje metodu smart kontraktu, kterou transakce volá, a obsahuje vstupy do metody ve formě libovolné posloupnosti bajtů. ZK-rollupy používají `calldata` k publikování komprimovaných transakčních dat na řetězec; operátor rollupu jednoduše přidá nový balík tím, že zavolá požadovanou funkci v kontraktu rollupu a předá komprimovaná data jako argumenty funkce. To pomáhá snižovat náklady uživatelů, protože velká část poplatků za rollupy jde na ukládání transakčních dat na řetězci.
+Klíčové slovo `calldata` často identifikuje metodu chytrého kontraktu, kterou transakce volá, a obsahuje vstupy do metody ve formě libovolné posloupnosti bajtů. ZK-rollupy používají `calldata` k publikování komprimovaných transakčních dat na blockchainu; operátor rollupu jednoduše přidá nový balík tím, že zavolá požadovanou funkci v kontraktu rollupu a předá komprimovaná data jako argumenty funkce. To pomáhá snižovat náklady uživatelům, protože velká část poplatků za rollupy jde na ukládání transakčních dat na blockchainu.
### Závazky stavu {#state-commitments}
-Stav ZK-rollupu, který zahrnuje účty a zůstatky vrstvy 2, je reprezentován jako [Merkle tree](/whitepaper/#merkle-trees). Kryptografický hash kořene Merkle tree (Merkle kořen) je uložen v on-chain kontraktu, což umožňuje protokolu rollupu sledovat změny ve stavu ZK-rollupu.
+Stav ZK-rollupu, který zahrnuje účty a zůstatky vrstvy 2, je reprezentován jako [Merkle tree](/whitepaper/#merkle-trees). Kryptografický haš kořene Merkle tree (kořen Merkle) je uložen v on-chain kontraktu, což umožňuje protokolu rollupu sledovat změny ve stavu ZK-rollupu.
Rollup přechází do nového stavu po provedení nové sady transakcí. Operátor, který inicioval přechod stavu, musí vypočítat nový kořen stavu a předložit ho on-chain kontraktu. Pokud je důkaz o platnosti spojený s balíkem ověřen ověřovacím kontraktem, nový Merkle kořen se stává kanonickým kořenem stavu ZK-rollupu.
-Kromě výpočtu kořenů stavu operátor ZK-rollupu také vytváří kořen balíku – kořen Merkle tree zahrnujícího všechny transakce v balíku. Když je předložen nový balík, kontrakt rollupu ukládá kořen balíku, což umožňuje uživatelům prokázat, že transakce (např. žádost o výběr) byla zahrnuta do balíku. Uživatelé budou muset poskytnout podrobnosti o transakci, kořen balíku a [Merkle důkaz](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) prokazující cestu vedoucí k zahrnutí.
+Kromě výpočtu kořenů stavu operátor ZK-rollupu také vytváří kořen balíku – kořen Merkle tree zahrnujícího všechny transakce v balíku. Když je předložen nový balík, kontrakt rollupu ukládá kořen balíku, což umožňuje uživatelům prokázat, že transakce (např. žádost o výběr) byla zahrnuta do balíku. Uživatelé budou muset poskytnout podrobnosti o transakci, kořen balíku a [Merkle proof](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) prokazující cestu vedoucí k zahrnutí.
### Důkazy platnosti {#validity-proofs}
-Nový kořen stavu, který operátor ZK-rollupu předloží L1 kontraktu, je výsledkem aktualizací stavu rollupu. Řekněme, že Alice pošle Bobovi 10 tokenů, operátor jednoduše sníží zůstatek Alice o 10 a zvýší zůstatek Boba o 10. Operátor pak zahešuje aktualizovaná data účtu, znovu vytvoří Merkle tree rollupu a předloží nový Merkle kořen on-chain kontraktu.
+Nový kořen stavu, který operátor ZK-rollupu předloží L1 kontraktu, je výsledkem aktualizací stavu rollupu. Řekněme, že Alice pošle Bobovi 10 tokenů, operátor jednoduše sníží zůstatek Alice o 10 a zvýší zůstatek Boba o 10. Operátor pak zahešuje aktualizovaná data účtu, znovu vytvoří Merkle tree rollupu a předloží nový kořen Merkle on-chain kontraktu.
Ale kontrakt rollupu automaticky nepřijme navrhovaný závazek stavu, dokud operátor neprokáže, že nový Merkle kořen je výsledkem správných aktualizací stavu rollupu. Operátor ZK-rollupu to provede vytvořením důkazu platnosti, což je stručný kryptografický závazek ověřující správnost seskupených transakcí.
-Důkazy platnosti umožňují stranám prokázat správnost tvrzení, aniž by odhalily samotné tvrzení – proto se také nazývají důkazy s nulovou znalostí. ZK-rollupy používají důkazy o platnosti k potvrzení správnosti off-chain přechodů stavu, aniž by bylo nutné znovu provádět transakce na Ethereu. Tyto důkazy mohou mít podobu [ZK-SNARK](https://arxiv.org/abs/2202.06877) (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) nebo [ZK-STARK](https://eprint.iacr.org/2018/046) (Zero-Knowledge Scalable Transparent Argument of Knowledge).
+Důkazy platnosti umožňují stranám prokázat správnost tvrzení, aniž by odhalily samotné tvrzení – proto se také nazývají důkazy s nulovou znalostí. ZK-rollupy používají důkazy platnosti k potvrzení správnosti off-chain přechodů stavu, aniž by bylo nutné znovu provádět transakce na Ethereu. Tyto důkazy mohou mít podobu [ZK-SNARK](https://arxiv.org/abs/2202.06877) (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) nebo [ZK-STARK](https://eprint.iacr.org/2018/046) (Zero-Knowledge Scalable Transparent Argument of Knowledge).
Oba typy důkazů, SNARKy a STARKy, pomáhají potvrdit integritu off-chain výpočtů v ZK-rollupech, ačkoli každý typ důkazu má své charakteristické rysy.
@@ -88,7 +88,7 @@ Oba typy důkazů, SNARKy a STARKy, pomáhají potvrdit integritu off-chain výp
Aby protokol ZK-SNARK fungoval, je nutné vytvořit společný referenční řetězec (Common Reference String, CRS): CRS poskytuje veřejné parametry pro dokazování a ověřování důkazů o platnosti. Bezpečnost systému dokazování závisí na nastavení CRS; pokud by se informace použité k vytvoření veřejných parametrů dostaly do rukou podvodníků, mohli by být schopni generovat falešné důkazy platnosti.
-Některé ZK-rollupy se pokoušejí tento problém vyřešit pomocí [ceremoniálu více stran (multi-party computation ceremony, MPC)](https://zkproof.org/2021/06/30/setup-ceremonies/amp/), který zahrnuje důvěryhodné jednotlivce při generování veřejných parametrů pro ZK-SNARK okruh. Každá strana přispívá určitou náhodností (nazývanou „toxický odpad“) k vytvoření CRS, kterou musí okamžitě zničit.
+Některé ZK-rollupy se pokoušejí tento problém vyřešit pomocí [ceremoniálu více stran (MPC)](https://zkproof.org/2021/06/30/setup-ceremonies/amp/), který zahrnuje důvěryhodné jednotlivce při generování veřejných parametrů pro ZK-SNARK okruh. Každá strana přispívá určitou náhodností (nazývanou „toxický odpad“) k vytvoření CRS, kterou musí okamžitě zničit.
Důvěryhodné nastavení se používá, protože zvyšuje bezpečnost nastavení CRS. V případě, že byť pouze jeden čestný účastník zničí svůj vstup, je bezpečnost ZK-SNARK systému zaručena. Tento přístup však vyžaduje důvěru, že zapojení jedinci skutečně vymažou svou náhodnost a nepodkopou bezpečnostní záruky systému.
@@ -100,11 +100,11 @@ Stejně jako ZK-SNARKy, ZK-STARKy prokazují platnost off-chain výpočtů, ani
ZK-STARKy jsou „transparentní“, protože mohou fungovat bez nastavení společného referenčního řetězce (CRS), které vyžaduje důvěru. Místo toho se ZK-STARKy spoléhají na veřejně ověřitelnou náhodnost k nastavení parametrů pro generování a ověřování důkazů.
-ZK-STARKy také poskytují větší škálovatelnost, protože čas potřebný k prokázání a ověření důkazů o platnosti roste _kvazilineárně_ ve vztahu ke složitosti podkladového výpočtu. U ZK-SNARKů se čas potřebný k prokázání a ověření důkazů škáluje _lineárně_ ve vztahu k velikosti podkladového výpočtu. To znamená, že ZK-STARKy vyžadují méně času než ZK-SNARKy pro prokazování a ověřování, když jsou zahrnuty velké objemy dat, což je činí užitečnými pro aplikace s vysokým objemem transakcí.
+ZK-STARKy také poskytují větší škálovatelnost, protože čas potřebný k prokázání a ověření důkazů platnosti roste _kvazilineárně_ ve vztahu ke složitosti podkladového výpočtu. U ZK-SNARKů se čas potřebný k prokázání a ověření důkazů škáluje _lineárně_ ve vztahu k velikosti podkladového výpočtu. To znamená, že ZK-STARKy vyžadují méně času než ZK-SNARKy pro prokazování a ověřování, když jsou zahrnuty velké objemy dat, což je činí užitečnými pro aplikace s vysokým objemem transakcí.
ZK-STARKy jsou také bezpečné vůči kvantovým počítačům, zatímco se obecně věří, že kryptografie na eliptických křivkách (Elliptic Curve Cryptography, ECC) používaná v ZK-SNARK řešeních je náchylná k útokům kvantových počítačů. Nevýhodou ZK-STARKů je, že produkují větší velikosti důkazů, což je dražší na ověřování na Ethereu.
-#### Jak fungují důkazy o platnosti na ZK-rollupech? {#validity-proofs-in-zk-rollups}
+#### Jak fungují důkazy o platnosti na ZK-rollupech? Důkazy platnosti v ZK-rollupech {#validity-proofs-in-zk-rollups}
##### Generování důkazů
@@ -136,11 +136,11 @@ ZK-ověřovací okruh iteruje celým balíkem transakcí, ověřuje sekvenci akt
Po ověření správnosti aktualizací stavu ověřovacím okruhem podá operátor L2 vypočítaný důkaz o platnosti ověřovacímu kontraktu na L1. Ověřovací okruh kontraktu ověřuje platnost důkazu a také kontroluje veřejné vstupy, které jsou součástí důkazu:
-- **Představový kořen**: Starý kořen stavu ZK-rollupu (tj. před provedením seskupených transakcí), který odráží poslední známý platný stav řetězce L2.
+- **Kořen předchozího stavu**: Starý kořen stavu ZK-rollupu (tj. před provedením seskupených transakcí), který odráží poslední známý platný stav řetězce L2.
-- **Po-stavový kořen**: Nový kořen stavu ZK-rollupu (tj. po provedení seskupených transakcí), který odráží nejnovější stav řetězce L2. Po-stavový kořen je finální kořen odvozený po aplikaci aktualizací stavu v ověřovacím okruhu.
+- **Kořen následujícího stavu**: Nový kořen stavu ZK-rollupu (tj. po provedení seskupených transakcí), který odráží nejnovější stav řetězce L2. Po-stavový kořen je finální kořen odvozený po aplikaci aktualizací stavu v ověřovacím okruhu.
-- **Kořen balíku**: Merkle kořen balíku, odvozený _merklováním_ transakcí v balíku a hašováním kořene stromu.
+- **Kořen balíku**: Kořen Merkle balíku, odvozený _merklováním_ transakcí v balíku a hašováním kořene stromu.
- **Transakční vstupy**: Data spojená s transakcemi, které jsou součástí podaného balíku.
@@ -166,9 +166,9 @@ Rollup kontrakt zahašuje transakční data, ověří, zda kořen balíku existu
## ZK-rollupy a kompatibilita s EVM {#zk-rollups-and-evm-compatibility}
-Na rozdíl od optimistických rollupů nejsou ZK-rollupy snadno kompatibilní s [Virtuálním strojem Etherea (EVM)](/developers/docs/evm/). Ověřování obecného výpočtu EVM v okruzích je složitější a náročnější na zdroje než ověřování jednoduchých výpočtů (jako je dříve popsaný převod tokenů).
+Na rozdíl od optimistických rollupů nejsou ZK-rollupy snadno kompatibilní s [Ethereum Virtual Machine (EVM)](/developers/docs/evm/). Ověřování obecného výpočtu EVM v okruzích je složitější a náročnější na zdroje než ověřování jednoduchých výpočtů (jako je dříve popsaný převod tokenů).
-[Pokroky v technologii nulové znalosti](https://hackmd.io/@yezhang/S1_KMMbGt#Why-possible-now) však znovu probouzí zájem o zabalení výpočtů EVM do důkazů s nulovou znalostí. Tyto snahy směřují k vytvoření implementace EVM s nulovou znalostí (zkEVM), která by mohla efektivně ověřovat správnost provádění programů. zkEVM znovu vytváří stávající opkódy EVM pro dokazování a nebo ověřování v okruzích, což umožňuje exekuci smart kontraktů.
+[Pokroky v technologii nulové znalosti](https://hackmd.io/@yezhang/S1_KMMbGt#Why-possible-now) však znovu probouzejí zájem o zabalení výpočtů EVM do důkazů s nulovou znalostí. Tyto snahy směřují k vytvoření implementace EVM s nulovou znalostí (zkEVM), která by mohla efektivně ověřovat správnost provádění programů. zkEVM znovu vytváří stávající opkódy EVM pro dokazování a nebo ověřování v okruzích, což umožňuje exekuci smart kontraktů.
Stejně jako EVM přechází zkEVM mezi stavy po provedení výpočtu na základě některých vstupů. Rozdíl je v tom, že zkEVM také vytváří důkazy s nulovou znalostí pro ověření správnosti každého kroku v exekuci programu. Důkazy o platnosti by mohly ověřovat správnost operací, které ovlivňují stav VM (paměť, zásobník, úložiště) a samotný výpočet (tj. zda operace zavolala správné opkódy a provedla je správně).
@@ -180,19 +180,19 @@ Kolik uživatelé platí za transakce na ZK-rollupech závisí na poplatku za pa
1. **Zápis stavu**: Náklad na zápis do stavu Etherea (tj. podání transakce na blockchainu Etherea) je pevně daný. ZK-rollupy tento náklad snižují tím, že seskupují transakce a rozdělují pevné náklady mezi více uživatelů.
-2. **Publikování dat**: ZK-rollupy publikují stavová data pro každou transakci na Ethereu jako `calldata`. Náklady na `calldata` jsou aktuálně řízeny [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), který stanovuje náklady 16 jednotek paliva za bajt, který není nulový, a 4 jednotky paliva za nulový bajt `calldata`. Cena zaplacená za každou transakci je ovlivněna množstvím `calldata`, které je potřeba zveřejnit.
+2. **Publikování dat**: ZK-rollupy publikují stavová data pro každou transakci na Ethereu jako `calldata`. Náklady na `calldata` jsou aktuálně řízeny [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), který stanovuje náklady 16 jednotek paliva za nenulové bajty a 4 jednotky paliva za nulové bajty `calldata`. Cena zaplacená za každou transakci je ovlivněna množstvím `calldata`, které je pro ni potřeba zveřejnit na blockchainu.
-3. **Poplatky operátorů L2**: Toto je částka vyplacená operátorovi rollupu jako kompenzace za výpočetní náklady spojené se zpracováním transakcí, podobně jako [„poplatky za prioritu transakce (spropitné)“](/developers/docs/gas/#how-are-gas-fees-calculated) na Ethereum Mainnetu.
+3. **Poplatky operátora L2**: Toto je částka vyplacená operátorovi rollupu jako kompenzace za výpočetní náklady spojené se zpracováním transakcí, podobně jako [transakční "poplatky za prioritu (spropitné)"](/developers/docs/gas/#how-are-gas-fees-calculated) na hlavní síti Ethereum.
-4. **Generování a ověřování důkazů**: Operátoři ZK-rollupu musí produkovat důkazy o platnosti pro transakční balíky, což je náročné na zdroje. Ověřování důkazů s nulovou znalostí na Mainnetu stojí další palivo (asi 500 000 jednotek paliva).
+4. **Generování a ověřování důkazů**: Operátoři ZK-rollupu musí produkovat důkazy platnosti pro transakční balíky, což je náročné na zdroje. Ověřování důkazů s nulovou znalostí na Mainnetu stojí další palivo (asi 500 000 jednotek paliva).
-Kromě seskupování transakcí snižují ZK-rollupy poplatky pro uživatele kompresí transakčních dat. Můžete se [podívat na aktuální přehled nákladů](https://l2fees.info/) na používání Ethereum ZK-rollupů.
+Kromě seskupování transakcí snižují ZK-rollupy poplatky pro uživatele kompresí transakčních dat. Můžete se [podívat na přehled v reálném čase](https://l2fees.info/) o tom, kolik stojí používání ZK-rollupů na Ethereu.
## Jak ZK-rollupy škálují Ethereum? {#scaling-ethereum-with-zk-rollups}
-### Komprese dat transakcí {#transaction-data-compression}
+### Komprese transakčních dat {#transaction-data-compression}
-ZK-rollupy zvyšují propustnost na základní vrstvě Etherea tím, že přesouvají výpočty mimo řetězec, ale skutečný impuls pro škálování přichází s kompresí transakčních dat. [Velikost bloku](/developers/docs/blocks/#block-size) Etherea omezuje množství dat, které může každý blok pojmout, a tím i počet transakcí zpracovaných na blok. Kompresí dat souvisejících s transakcemi ZK-rollupy významně zvyšují počet transakcí zpracovaných v jednom bloku.
+ZK-rollupy zvyšují propustnost na základní vrstvě Etherea tím, že přesouvají výpočty mimo řetězec, ale skutečný impuls pro škálování přichází s kompresí transakčních dat. [Velikost bloku](/developers/docs/blocks/#block-size) na Ethereu omezuje množství dat, které může každý blok pojmout, a tím i počet transakcí zpracovaných na blok. Kompresí dat souvisejících s transakcemi ZK-rollupy významně zvyšují počet transakcí zpracovaných v jednom bloku.
ZK-rollupy mohou komprimovat transakční data lépe než optimistické rollupy, protože nemusí zveřejňovat všechna data potřebná k ověření každé transakce. Musí zveřejnit pouze minimální data potřebná k obnovení nejnovějšího stavu účtů a zůstatků na rollupu.
@@ -206,49 +206,52 @@ Rekurzivní důkazy však umožňují finalizovat několik bloků jedním důkaz
### Výhody a nevýhody ZK-rollupů {#zk-rollups-pros-and-cons}
-| Plusy | Minusy |
-| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Důkazy o platnosti zajišťují správnost transakcí mimo řetězec a zabraňují operátorům provádět neplatné přechody stavu. | Náklady spojené s výpočtem a ověřováním důkazů o platnosti jsou značné a mohou zvýšit poplatky pro uživatele rollupu. |
-| Nabízejí rychlejší finálnost transakcí, protože aktualizace stavu jsou schváleny, jakmile jsou důkazy o platnosti ověřeny na L1. | Vývoj ZK-rollupů kompatibilních s EVM je obtížný kvůli složitosti technologie nulové znalosti. |
-| Spoléhají se na kryptografické mechanismy pro bezpečnost, u kterých není důvěra podmínkou používání, nikoli na čestnost incentivovaných aktérů, jako je tomu u [optimistických rollupů](/developers/docs/scaling/optimistic-rollups/#optimistic-pros-and-cons). | Produkování důkazů platnosti vyžaduje specializovaný hardware, což může podpořit centralizovanou kontrolu řetězce několika stranami. |
-| Ukládají data potřebná k obnovení stavu mimo řetězec na L1, což zaručuje bezpečnost, odolnost vůči cenzuře a decentralizaci. | Centralizovaní operátoři (sekvencery) mohou ovlivňovat pořadí transakcí. |
-| Uživatelé profitují z vyšší efektivity kapitálu a mohou vybírat prostředky z L2 bez zpoždění. | Požadavky na hardware mohou snížit počet účastníků, kteří mohou vynutit posun řetězce, čímž se zvyšuje riziko, že podvodní operátoři zmrazí stav rollupu a budou cenzurovat uživatele. |
-| Nespadají pod předpoklady o živosti a uživatelé nemusí validovat řetězec, aby chránili své prostředky. | Některé ověřovací systémy (např. ZK-SNARK) vyžadují důvěryhodné nastavení, které, pokud je špatně zvládnuto, by mohlo potenciálně ohrozit bezpečnostní model ZK-rollupu. |
-| Lepší komprese dat může pomoci snížit náklady na publikování `calldata` na Ethereu a minimalizovat poplatky uživatelů za používání rollupu. | |
+| Plusy | Minusy |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Důkazy platnosti zajišťují správnost transakcí mimo řetězec a zabraňují operátorům provádět neplatné přechody stavu. | Náklady spojené s výpočtem a ověřováním důkazů o platnosti jsou značné a mohou zvýšit poplatky pro uživatele rollupu. |
+| Nabízejí rychlejší finálnost transakcí, protože aktualizace stavu jsou schváleny, jakmile jsou důkazy o platnosti ověřeny na L1. | Vývoj ZK-rollupů kompatibilních s EVM je obtížný kvůli složitosti technologie nulové znalosti. |
+| Spoléhá na kryptografické mechanismy bez potřeby důvěry pro zabezpečení, nikoli na poctivost motivovaných aktérů jako u [optimistických rollupů](/developers/docs/scaling/optimistic-rollups/#optimistic-pros-and-cons). | Produkování důkazů platnosti vyžaduje specializovaný hardware, což může podpořit centralizovanou kontrolu řetězce několika stranami. |
+| Ukládá data potřebná k obnovení stavu mimo řetězec na L1, což zaručuje bezpečnost, odolnost vůči cenzuře a decentralizaci. | Centralizovaní operátoři (sekvencery) mohou ovlivňovat pořadí transakcí. |
+| Uživatelé profitují z vyšší efektivity kapitálu a mohou vybírat prostředky z L2 bez zpoždění. | Požadavky na hardware mohou snížit počet účastníků, kteří mohou vynutit posun řetězce, čímž se zvyšuje riziko, že podvodní operátoři zmrazí stav rollupu a budou cenzurovat uživatele. |
+| Nespadají pod předpoklady o živosti a uživatelé nemusí validovat řetězec, aby chránili své prostředky. | Některé ověřovací systémy (např. ZK-SNARK) vyžadují důvěryhodné nastavení, které, pokud je špatně zvládnuto, by mohlo potenciálně ohrozit bezpečnostní model ZK-rollupu. |
+| Lepší komprese dat může pomoci snížit náklady na publikování `calldata` na Ethereu a minimalizovat poplatky uživatelů za používání rollupu. | |
-### Vizualizace ZK-rollupů {#zk-video}
+### Vizuální vysvětlení ZK-rollupů {#zk-video}
Podívejte se na vysvětlení ZK-rollupů od Finematics:
-
-## Kdo pracuje na zkEVM? {#zkevm-projects}
+## Kdo pracuje na zkEVM? Projekty zkEVM {#zkevm-projects}
Projekty pracující na zkEVM zahrnují:
-- **[zkEVM](https://github.com/privacy-scaling-explorations/zkevm-specs)** – _zkEVM je projekt financovaný Ethereum Foundation, jehož cílem je vyvinout ZK-rollup kompatibilní s EVM a mechanismus pro generování důkazů platnosti pro bloky Etherea._
+- **[zkEVM](https://github.com/privacy-scaling-explorations/zkevm-specs)** - _zkEVM je projekt financovaný Nadací Ethereum, jehož cílem je vyvinout ZK-rollup kompatibilní s EVM a mechanismus pro generování důkazů platnosti pro bloky Etherea._
+
+- **[Polygon zkEVM](https://polygon.technology/solutions/polygon-zkevm)** - _je decentralizovaný ZK-rollup na hlavní síti Ethereum pracující na virtuálním stroji Ethereum s nulovou znalostí (zkEVM), který transparentně provádí transakce Ethereum, včetně chytrých kontraktů s ověřením pomocí důkazů s nulovou znalostí._
-- **[Polygon zkEVM](https://polygon.technology/solutions/polygon-zkevm)** – _je decentralizovaný ZK Rollup na Ethereum Mainnetu, který pracuje na Virtuálním stroji Etherea s nulovou znalostí (zkEVM), provádí Ethereum transakce transparentním způsobem, včetně smart kontraktů s ověřením pomocí důkazů s nulovou znalostí._
+- **[Scroll](https://scroll.io/blog/zkEVM)** - _Scroll je technologicky zaměřená společnost, která pracuje na vybudování nativního řešení zkEVM vrstvy 2 pro Ethereum._
-- **[Scroll](https://scroll.io/blog/zkEVM)** – _Scroll je technologicky zaměřená společnost, která pracuje na vybudování nativního zkEVM řešení vrstvy 2 pro Ethereum._
+- **[Taiko](https://taiko.xyz)** - _Taiko je decentralizovaný, s Ethereem ekvivalentní ZK-rollup ([Typ 1 ZK-EVM](https://vitalik.eth.limo/general/2022/08/04/zkevm.html))._
-- **[Taiko](https://taiko.xyz)** – _Taiko je decentralizovaný, Ethereum-ekvivalentní ZK-rollup ([typ 1 ZK-EVM](https://vitalik.eth.limo/general/2022/08/04/zkevm.html))._
+- **[ZKsync](https://docs.zksync.io/)** - _ZKsync Era je ZK-rollup kompatibilní s EVM vyvinutý společností Matter Labs, poháněný vlastním zkEVM._
-- **[ZKsync](https://docs.zksync.io/)** – _ZKsync Era je ZK Rollup kompatibilní s EVM vyvinutý Matter Labs, poháněný vlastním zkEVM._
+- **[Starknet](https://starkware.co/starknet/)** - _StarkNet je řešení pro škálování vrstvy 2 kompatibilní s EVM, vyvinuté společností StarkWare._
-- **[Starknet](https://starkware.co/starknet/)** – _StarkNet je škálovací řešení vrstvy 2 kompatibilní s EVM vyvinuté společností StarkWare._
+- **[Morph](https://www.morphl2.io/)** - _Morph je hybridní rollupové řešení pro škálování, které využívá důkaz s nulovou znalostí k řešení problému se stavem vrstvy 2._
-- **[Morph](https://www.morphl2.io/)** – _Morph je hybridní škálovací řešení rollupu, které využívá důkazy s nulovou znalostí k řešení problému se stavem vrstvy 2._
+- **[Linea](https://linea.build)** - _Linea je s Ethereem ekvivalentní zkEVM vrstvy 2, vytvořený společností Consensys, plně v souladu s ekosystémem Ethereum._
-## Další čtení o ZK-rollupech {#further-reading-on-zk-rollups}
+## Další četba o ZK-rollupech {#further-reading-on-zk-rollups}
- [Co jsou rollupy s nulovou znalostí?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups)
- [Co jsou rollupy s nulovou znalostí?](https://alchemy.com/blog/zero-knowledge-rollups)
-- [STARKy vs SNARKy](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/)
-- [Co je zkEVM?](https://www.alchemy.com/overviews/zkevm)
-- [Typy ZK-EVM: Ethereum-ekvivalentní, EVM-ekvivalentní, Type 1, Type 4 a další kryptické pojmy](https://taiko.mirror.xyz/j6KgY8zbGTlTnHRFGW6ZLVPuT0IV0_KmgowgStpA0K4)
+- [Praktický průvodce rollupy na Ethereu](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
+- [STARKy vs. SNARKy](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/)
+- [Co je to zkEVM?](https://www.alchemy.com/overviews/zkevm)
+- [Typy ZK-EVM: ekvivalentní Ethereu, ekvivalentní EVM, typ 1, typ 4 a další záhadná módní slova](https://taiko.mirror.xyz/j6KgY8zbGTlTnHRFGW6ZLVPuT0IV0_KmgowgStpA0K4)
- [Úvod do zkEVM](https://hackmd.io/@yezhang/S1_KMMbGt)
-- [Zdroje awesome-zkEVM](https://github.com/LuozhuZhang/awesome-zkevm)
-- [ZK-SNARKY pod pokličkou](https://vitalik.eth.limo/general/2017/02/01/zk_snarks.html)
+- [Co jsou ZK-EVM L2?](https://linea.mirror.xyz/qD18IaQ4BROn_Y40EBMTUTdJHYghUtdECscSWyMvm8M)
+- [Úžasné zdroje o zkEVM](https://github.com/LuozhuZhang/awesome-zkevm)
+- [ZK-SNARKy pod pokličkou](https://vitalik.eth.limo/general/2017/02/01/zk_snarks.html)
- [Jak jsou SNARKy možné?](https://vitalik.eth.limo/general/2021/01/26/snarks.html)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md b/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md
index 56c3d72b80d..d6cd1d76a08 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md
@@ -8,32 +8,32 @@ Chytrý kontrakt je program běžící na adrese na Ethereu. Skládá se z dat
## Předpoklady {#prerequisites}
-Nejprve se ujistěte, že jste si přečetli o [chytrých kontraktech](/developers/docs/smart-contracts/). Tento dokument předpokládá, že již znáte programovací jazyky, jako je JavaScript nebo Python.
+Ujistěte se, že jste si nejprve přečetli o [chytrých kontraktech](/developers/docs/smart-contracts/). Tento dokument předpokládá, že již znáte programovací jazyky, jako je JavaScript nebo Python.
## Data {#data}
-Veškeré údaje o kontraktu musí být přiřazeny k lokaci: buď do `storage`, nebo do `memory`. Úprava storage v chytrém kontraktu je nákladná, takže je třeba zvážit, kde by měla být vaše data uložena.
+Jakákoli data kontraktu musí být přiřazena k umístění: buď do `storage` nebo `memory`. Úprava storage v chytrém kontraktu je nákladná, takže je třeba zvážit, kde by měla být vaše data uložena.
### Úložiště {#storage}
Trvalá data se označují jako storage a jsou reprezentována stavovými proměnnými. Tyto hodnoty se trvale uloží na blockchain. Datový typ je třeba deklarovat, aby kontrakt mohl při kompilaci sledovat, kolik potřebuje na blockchainu úložiště.
```solidity
-// Solidity example
+// Příklad v Solidity
contract SimpleStorage {
- uint storedData; // State variable
+ uint storedData; // Stavová proměnná
// ...
}
```
```python
-# Vyper example
+# Příklad ve Vyperu
storedData: int128
```
-Pokud jste již programovali v objektově orientovaných jazycích, většinu typů pravděpodobně znáte. Nicméně `address` by pro vás měla být novinkou, pokud s vývojem na Ethereu teprve začínáte.
+Pokud jste již programovali v objektově orientovaných jazycích, většinu typů pravděpodobně znáte. Nicméně `address` by pro vás mělo být novinkou, pokud s vývojem na Ethereu teprve začínáte.
-Datový typ `address` může obsahovat Ethereum adresu, která odpovídá 20 bajtům nebo 160 bitům. Návratová hodnota je v hexadecimálním zápisu začínajícím 0x.
+Datový typ `address` může obsahovat adresu Ethereum, která odpovídá 20 bajtům nebo 160 bitům. Návratová hodnota je v hexadecimálním zápisu začínajícím 0x.
Mezi další datové typy patří:
@@ -49,14 +49,14 @@ Mezi další datové typy patří:
Další vysvětlení najdete v těchto dokumentech:
-- [Datové typy ve Vyper](https://vyper.readthedocs.io/en/v0.1.0-beta.6/types.html#value-types)
-- [Datové typy v Solidity](https://solidity.readthedocs.io/en/latest/types.html#value-types)
+- [Zobrazit typy Vyperu](https://docs.vyperlang.org/en/v0.1.0-beta.6/types.html#value-types)
+- [Zobrazit typy Solidity](https://docs.soliditylang.org/en/latest/types.html#value-types)
-### Memory {#memory}
+### Paměť {#memory}
Hodnoty, které jsou uloženy pouze po dobu provádění funkce kontraktu, se nazývají paměťové proměnné. Protože nejsou trvale uloženy na blockchainu, je jejich používání mnohem levnější.
-Více informací o tom, jak EVM ukládá data (Storage, Memory a Stack), najdete v [dokumentech Solidity](https://solidity.readthedocs.io/en/latest/introduction-to-smart-contracts.html?highlight=memory#storage-memory-and-the-stack).
+Dozvíte se více o tom, jak EVM ukládá data (úložiště, paměť a zásobník) v [dokumentaci Solidity](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#storage-memory-and-the-stack).
### Proměnné prostředí {#environment-variables}
@@ -64,10 +64,10 @@ Kromě proměnných, které definujete v kontraktu, existují i speciální glob
Příklady:
-| **Objekt** | **Stavová proměnná** | **Popis** |
-| ----------------- | -------------------- | ------------------------------------ |
-| `block.timestamp` | uint256 | Časové razítko aktuální epochy bloku |
-| `msg.sender` | address (adresa) | Odesílatel zprávy (aktuální volání) |
+| **Vlastnost** | **Stavová proměnná** | **Popis** |
+| ----------------- | -------------------- | ------------------------------------------------------ |
+| `block.timestamp` | uint256 | Časové razítko aktuální epochy bloku |
+| `msg.sender` | adresa | Odesílatel zprávy (aktuální volání) |
## Funkce {#functions}
@@ -75,37 +75,37 @@ Nejjednodušeji řečeno, funkce mohou získávat informace nebo nastavovat info
Existují dva typy volání funkcí:
-- `internal` – nevytvářejí EVM volání
+- `internal` – nevytvářejí volání EVM
- K interním funkcím a stavovým proměnným lze přistupovat pouze interně (tj. v rámci aktuálního kontraktu nebo kontraktů z něho odvozených).
-- `external` – vytvářejí EVM volání
- - Externí funkce jsou součástí rozhraní kontraktu, což znamená, že je lze volat z jiných kontraktů a prostřednictvím transakcí. Externí funkce `f` nelze volat interně (tzn. `f()` nefunguje, ale `this.f()` ano).
+- `external` – vytvářejí volání EVM
+ - Externí funkce jsou součástí rozhraní kontraktu, což znamená, že je lze volat z jiných kontraktů a prostřednictvím transakcí. Externí funkci `f` nelze volat interně (tzn. `f()` nefunguje, ale `this.f()` ano).
-Tyto funkce mohou být také `public` nebo `private`.
+Mohou být také `public` nebo `private`.
-- Funkce `public` lze volat interně z kontraktu nebo externě prostřednictvím zpráv
-- Funkce `private` jsou viditelné pouze pro kontrakt, ve kterém jsou definovány, a ne v odvozených kontraktech
+- `public` funkce lze volat interně z kontraktu nebo externě prostřednictvím zpráv
+- `private` funkce jsou viditelné pouze pro kontrakt, ve kterém jsou definovány, a ne v odvozených kontraktech
Funkce i stavové proměnné mohou být veřejné nebo soukromé.
Zde je funkce pro aktualizaci stavové proměnné v kontraktu:
```solidity
-// Solidity example
+// Příklad v Solidity
function update_name(string value) public {
dapp_name = value;
}
```
-- Parametr `value` typu `string` je předán funkci: `update_name`
-- Je deklarována jako `public`, což znamená, že k ní má kdokoli přístup
-- Není deklarována jako `view`, takže kdokoli může změnit stav kontraktu
+- Parametr `value` typu `string` je předán do funkce `update_name`.
+- Je deklarována jako `public`, což znamená, že k ní má kdokoli přístup.
+- Není deklarována jako `view`, takže může měnit stav kontraktu.
-### View funkce {#view-functions}
+### Funkce `view` {#view-functions}
Tyto funkce slibují, že nebudou měnit stav dat kontraktu. Běžným příkladem jsou „getter“ funkce – můžete je použít například k získání zůstatku uživatele.
```solidity
-// Solidity example
+// Příklad v Solidity
function balanceOf(address _owner) public view returns (uint256 _balance) {
return ownerPizzaCount[_owner];
}
@@ -123,33 +123,33 @@ def readName() -> string:
Co se považuje jako změna stavu:
1. Zápis do stavových proměnných.
-2. [Odesílání událostí](https://solidity.readthedocs.io/en/v0.7.0/contracts.html#events).
-3. [Vytváření jiných kontraktů](https://solidity.readthedocs.io/en/v0.7.0/control-structures.html#creating-contracts).
-4. Používání `selfdestruct`.
+2. [Vysílání událostí](https://docs.soliditylang.org/en/v0.7.0/contracts.html#events).
+3. [Vytváření dalších kontraktů](https://docs.soliditylang.org/en/v0.7.0/control-structures.html#creating-contracts).
+4. Použití `selfdestruct`.
5. Posílání etheru pomocí volání.
6. Volání jakékoli funkce, která není označena jako `view` nebo `pure`.
7. Používání nízkoúrovňových volání.
8. Používání inline assembly, která obsahuje určité operační kódy.
-### Funkce konstruktor {#constructor-functions}
+### Konstruktory {#constructor-functions}
-Funkce `konstruktor` se provedou pouze jednou při prvním nasazení kontraktu. Podobně jako `konstruktory` v mnoha programovacích jazycích založených na třídách, tyto funkce často inicializují stavové proměnné na zadané hodnoty.
+Funkce `constructor` se provedou pouze jednou, při prvním nasazení kontraktu. Podobně jako `constructor` v mnoha programovacích jazycích založených na třídách, tyto funkce často inicializují stavové proměnné na zadané hodnoty.
```solidity
-// Solidity example
-// Initializes the contract's data, setting the `owner`
-// to the address of the contract creator.
+// Příklad v Solidity
+// Inicializuje data kontraktu, nastaví `owner`
+// na adresu tvůrce kontraktu.
constructor() public {
- // All smart contracts rely on external transactions to trigger its functions.
- // `msg` is a global variable that includes relevant data on the given transaction,
- // such as the address of the sender and the ETH value included in the transaction.
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
+ // Všechny chytré kontrakty spoléhají na externí transakce, které spouští jejich funkce.
+ // `msg` je globální proměnná, která obsahuje relevantní údaje o dané transakci,
+ // jako je adresa odesílatele a hodnota ETH obsažená v transakci.
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
owner = msg.sender;
}
```
```python
-# Vyper example
+# Příklad ve Vyperu
@external
def __init__(_beneficiary: address, _bidding_time: uint256):
@@ -180,26 +180,26 @@ Vaše funkce potřebuje:
pragma solidity >=0.4.0 <=0.6.0;
contract ExampleDapp {
- string dapp_name; // state variable
+ string dapp_name; // stavová proměnná
- // Called when the contract is deployed and initializes the value
+ // Volá se při nasazení kontraktu a inicializuje hodnotu
constructor() public {
dapp_name = "My Example dapp";
}
- // Get Function
+ // Funkce pro získání (Get)
function read_name() public view returns(string) {
return dapp_name;
}
- // Set Function
+ // Funkce pro nastavení (Set)
function update_name(string value) public {
dapp_name = value;
}
}
```
-Kompletní kontrakt může vypadat následovně. Zde funkce `konstruktor` poskytuje počáteční hodnotu proměnné `dapp_name`.
+Kompletní kontrakt může vypadat následovně. Zde funkce `constructor` poskytuje počáteční hodnotu proměnné `dapp_name`.
## Události a záznamy {#events-and-logs}
@@ -207,39 +207,39 @@ Události umožňují vašemu chytrému kontraktu komunikovat s vaším frontend
## Příklady s poznámkami {#annotated-examples}
-Zde jsou příklady napsané v Solidity. Pokud si chcete s kódem pohrát, můžete tak udělat v [Remixu](http://remix.ethereum.org).
+Zde jsou příklady napsané v Solidity. Pokud si chcete s kódem pohrát, můžete s ním interagovat v [Remixu](http://remix.ethereum.org).
-### Ahoj světe {#hello-world}
+### Hello world {#hello-world}
```solidity
-// Specifies the version of Solidity, using semantic versioning.
-// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
+// Určuje verzi Solidity pomocí sémantického verzování.
+// Více informací: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
pragma solidity ^0.5.10;
-// Defines a contract named `HelloWorld`.
-// A contract is a collection of functions and data (its state).
-// Once deployed, a contract resides at a specific address on the Ethereum blockchain.
-// Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html
+// Definuje kontrakt s názvem `HelloWorld`.
+// Kontrakt je soubor funkcí a dat (jeho stav).
+// Po nasazení se kontrakt nachází na specifické adrese na ethereovém blockchainu.
+// Více informací: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html
contract HelloWorld {
- // Declares a state variable `message` of type `string`.
- // State variables are variables whose values are permanently stored in contract storage.
- // The keyword `public` makes variables accessible from outside a contract
- // and creates a function that other contracts or clients can call to access the value.
+ // Deklaruje stavovou proměnnou `message` typu `string`.
+ // Stavové proměnné jsou proměnné, jejichž hodnoty jsou trvale uloženy v úložišti kontraktu.
+ // Klíčové slovo `public` zpřístupňuje proměnné zvenčí kontraktu
+ // a vytváří funkci, kterou mohou jiné kontrakty nebo klienti volat pro přístup k hodnotě.
string public message;
- // Similar to many class-based object-oriented languages, a constructor is
- // a special function that is only executed upon contract creation.
- // Constructors are used to initialize the contract's data.
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors
+ // Podobně jako v mnoha objektově orientovaných jazycích založených na třídách je konstruktor
+ // speciální funkce, která se provádí pouze při vytvoření kontraktu.
+ // Konstruktory se používají k inicializaci dat kontraktu.
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors
constructor(string memory initMessage) public {
- // Accepts a string argument `initMessage` and sets the value
- // into the contract's `message` storage variable).
+ // Přijímá argument `initMessage` typu string a nastavuje hodnotu
+ // do úložné proměnné kontraktu `message`.
message = initMessage;
}
- // A public function that accepts a string argument
- // and updates the `message` storage variable.
+ // Veřejná funkce, která přijímá argument typu string
+ // a aktualizuje úložnou proměnnou `message`.
function update(string memory newMessage) public {
message = newMessage;
}
@@ -252,58 +252,58 @@ contract HelloWorld {
pragma solidity ^0.5.10;
contract Token {
- // An `address` is comparable to an email address - it's used to identify an account on Ethereum.
- // Addresses can represent a smart contract or an external (user) accounts.
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#address
+ // Typ `address` je srovnatelný s e-mailovou adresou – používá se k identifikaci účtu na Ethereu.
+ // Adresy mohou představovat chytrý kontrakt nebo externí (uživatelské) účty.
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/types.html#address
address public owner;
- // A `mapping` is essentially a hash table data structure.
- // This `mapping` assigns an unsigned integer (the token balance) to an address (the token holder).
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#mapping-types
+ // `mapping` je v podstatě datová struktura hašovací tabulky.
+ // Tento `mapping` přiřazuje celé číslo bez znaménka (zůstatek tokenů) k adrese (držiteli tokenů).
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/types.html#mapping-types
mapping (address => uint) public balances;
- // Events allow for logging of activity on the blockchain.
- // Ethereum clients can listen for events in order to react to contract state changes.
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#events
+ // Události umožňují zaznamenávat aktivitu na blockchainu.
+ // Klienti Etherea mohou naslouchat událostem, aby mohli reagovat na změny stavu kontraktu.
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#events
event Transfer(address from, address to, uint amount);
- // Initializes the contract's data, setting the `owner`
- // to the address of the contract creator.
+ // Inicializuje data kontraktu, nastaví `owner`
+ // na adresu tvůrce kontraktu.
constructor() public {
- // All smart contracts rely on external transactions to trigger its functions.
- // `msg` is a global variable that includes relevant data on the given transaction,
- // such as the address of the sender and the ETH value included in the transaction.
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
+ // Všechny chytré kontrakty spoléhají na externí transakce, které spouští jejich funkce.
+ // `msg` je globální proměnná, která obsahuje relevantní údaje o dané transakci,
+ // jako je adresa odesílatele a hodnota ETH obsažená v transakci.
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
owner = msg.sender;
}
- // Creates an amount of new tokens and sends them to an address.
+ // Vytvoří množství nových tokenů a pošle je na adresu.
function mint(address receiver, uint amount) public {
- // `require` is a control structure used to enforce certain conditions.
- // If a `require` statement evaluates to `false`, an exception is triggered,
- // which reverts all changes made to the state during the current call.
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
+ // `require` je řídicí struktura používaná k vynucení určitých podmínek.
+ // Pokud se příkaz `require` vyhodnotí jako `false`, dojde k výjimce,
+ // která vrátí všechny změny stavu provedené během aktuálního volání.
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
- // Only the contract owner can call this function
+ // Tuto funkci může volat pouze vlastník kontraktu
require(msg.sender == owner, "You are not the owner.");
- // Enforces a maximum amount of tokens
+ // Vynucuje maximální množství tokenů
require(amount < 1e60, "Maximum issuance exceeded");
- // Increases the balance of `receiver` by `amount`
+ // Zvýší zůstatek `receiver` o `amount`
balances[receiver] += amount;
}
- // Sends an amount of existing tokens from any caller to an address.
+ // Odesílá množství existujících tokenů od libovolného volajícího na adresu.
function transfer(address receiver, uint amount) public {
- // The sender must have enough tokens to send
+ // Odesílatel musí mít dostatek tokenů k odeslání
require(amount <= balances[msg.sender], "Insufficient balance.");
- // Adjusts token balances of the two addresses
+ // Upravuje zůstatky tokenů na obou adresách
balances[msg.sender] -= amount;
balances[receiver] += amount;
- // Emits the event defined earlier
+ // Vysílá dříve definovanou událost
emit Transfer(msg.sender, receiver, amount);
}
}
@@ -314,74 +314,74 @@ contract Token {
```solidity
pragma solidity ^0.5.10;
-// Imports symbols from other files into the current contract.
-// In this case, a series of helper contracts from OpenZeppelin.
-// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#importing-other-source-files
+// Importuje symboly z jiných souborů do aktuálního kontraktu.
+// V tomto případě se jedná o sérii pomocných kontraktů z OpenZeppelin.
+// Více informací: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#importing-other-source-files
import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol";
import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
import "../node_modules/@openzeppelin/contracts/introspection/ERC165.sol";
import "../node_modules/@openzeppelin/contracts/math/SafeMath.sol";
-// The `is` keyword is used to inherit functions and keywords from external contracts.
-// In this case, `CryptoPizza` inherits from the `IERC721` and `ERC165` contracts.
-// Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#inheritance
+// Klíčové slovo `is` se používá k dědění funkcí a klíčových slov z externích kontraktů.
+// V tomto případě `CryptoPizza` dědí z kontraktů `IERC721` a `ERC165`.
+// Více informací: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#inheritance
contract CryptoPizza is IERC721, ERC165 {
- // Uses OpenZeppelin's SafeMath library to perform arithmetic operations safely.
- // Learn more: https://docs.openzeppelin.com/contracts/2.x/api/math#SafeMath
+ // Používá knihovnu SafeMath od OpenZeppelin k bezpečnému provádění aritmetických operací.
+ // Více informací: https://docs.openzeppelin.com/contracts/2.x/api/math#SafeMath
using SafeMath for uint256;
- // Constant state variables in Solidity are similar to other languages
- // but you must assign from an expression which is constant at compile time.
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constant-state-variables
+ // Konstantní stavové proměnné v Solidity jsou podobné jako v jiných jazycích
+ // ale musíte je přiřadit z výrazu, který je konstantní v době kompilace.
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constant-state-variables
uint256 constant dnaDigits = 10;
uint256 constant dnaModulus = 10 ** dnaDigits;
bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;
- // Struct types let you define your own type
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#structs
+ // Typy `struct` umožňují definovat vlastní typ
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/types.html#structs
struct Pizza {
string name;
uint256 dna;
}
- // Creates an empty array of Pizza structs
+ // Vytvoří prázdné pole struktur Pizza
Pizza[] public pizzas;
- // Mapping from pizza ID to its owner's address
+ // Mapování z ID pizzy na adresu jejího vlastníka
mapping(uint256 => address) public pizzaToOwner;
- // Mapping from owner's address to number of owned token
+ // Mapování z adresy vlastníka na počet vlastněných tokenů
mapping(address => uint256) public ownerPizzaCount;
- // Mapping from token ID to approved address
+ // Mapování z ID tokenu na schválenou adresu
mapping(uint256 => address) pizzaApprovals;
- // You can nest mappings, this example maps owner to operator approvals
+ // Mapování lze vnořovat, tento příklad mapuje vlastníka na schválení operátora
mapping(address => mapping(address => bool)) private operatorApprovals;
- // Internal function to create a random Pizza from string (name) and DNA
+ // Interní funkce pro vytvoření náhodné pizzy z řetězce (jméno) a DNA
function _createPizza(string memory _name, uint256 _dna)
- // The `internal` keyword means this function is only visible
- // within this contract and contracts that derive this contract
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#visibility-and-getters
+ // Klíčové slovo `internal` znamená, že tato funkce je viditelná pouze
+ // v rámci tohoto kontraktu a kontraktů, které z něj dědí
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#visibility-and-getters
internal
- // `isUnique` is a function modifier that checks if the pizza already exists
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html#function-modifiers
+ // `isUnique` je modifikátor funkce, který kontroluje, zda pizza již existuje
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html#function-modifiers
isUnique(_name, _dna)
{
- // Adds Pizza to array of Pizzas and get id
+ // Přidá pizzu do pole pizz a získá ID
uint256 id = SafeMath.sub(pizzas.push(Pizza(_name, _dna)), 1);
- // Checks that Pizza owner is the same as current user
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
+ // Kontroluje, zda je vlastník pizzy stejný jako aktuální uživatel
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
- // note that address(0) is the zero address,
- // indicating that pizza[id] is not yet allocated to a particular user.
+ // Všimněte si, že address(0) je nulová adresa,
+ // což znamená, že pizza[id] ještě není přidělena konkrétnímu uživateli.
assert(pizzaToOwner[id] == address(0));
- // Maps the Pizza to the owner
+ // Mapuje pizzu na vlastníka
pizzaToOwner[id] = msg.sender;
ownerPizzaCount[msg.sender] = SafeMath.add(
ownerPizzaCount[msg.sender],
@@ -389,38 +389,38 @@ contract CryptoPizza is IERC721, ERC165 {
);
}
- // Creates a random Pizza from string (name)
+ // Vytvoří náhodnou pizzu z řetězce (jméno)
function createRandomPizza(string memory _name) public {
uint256 randDna = generateRandomDna(_name, msg.sender);
_createPizza(_name, randDna);
}
- // Generates random DNA from string (name) and address of the owner (creator)
+ // Generuje náhodné DNA z řetězce (jméno) a adresy vlastníka (tvůrce)
function generateRandomDna(string memory _str, address _owner)
public
- // Functions marked as `pure` promise not to read from or modify the state
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#pure-functions
+ // Funkce označené jako `pure` slibují, že nebudou číst ani upravovat stav
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#pure-functions
pure
returns (uint256)
{
- // Generates random uint from string (name) + address (owner)
+ // Generuje náhodné uint z řetězce (jméno) + adresy (vlastník)
uint256 rand = uint256(keccak256(abi.encodePacked(_str))) +
uint256(_owner);
rand = rand % dnaModulus;
return rand;
}
- // Returns array of Pizzas found by owner
+ // Vrací pole pizz nalezených podle vlastníka
function getPizzasByOwner(address _owner)
public
- // Functions marked as `view` promise not to modify state
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#view-functions
+ // Funkce označené jako `view` slibují, že nebudou upravovat stav
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#view-functions
view
returns (uint256[] memory)
{
- // Uses the `memory` storage location to store values only for the
- // lifecycle of this function call.
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/introduction-to-smart-contracts.html#storage-memory-and-the-stack
+ // Používá `memory` jako umístění úložiště pro uložení hodnot pouze pro
+ // životní cyklus tohoto volání funkce.
+ // Více informací: https://solidity.readthedocs.io/en/v0.5.10/introduction-to-smart-contracts.html#storage-memory-and-the-stack
uint256[] memory result = new uint256[](ownerPizzaCount[_owner]);
uint256 counter = 0;
for (uint256 i = 0; i < pizzas.length; i++) {
@@ -432,7 +432,7 @@ contract CryptoPizza is IERC721, ERC165 {
return result;
}
- // Transfers Pizza and ownership to other address
+ // Převádí pizzu a vlastnictví na jinou adresu
function transferFrom(address _from, address _to, uint256 _pizzaId) public {
require(_from != address(0) && _to != address(0), "Invalid address.");
require(_exists(_pizzaId), "Pizza does not exist.");
@@ -443,17 +443,17 @@ contract CryptoPizza is IERC721, ERC165 {
ownerPizzaCount[_from] = SafeMath.sub(ownerPizzaCount[_from], 1);
pizzaToOwner[_pizzaId] = _to;
- // Emits event defined in the imported IERC721 contract
+ // Vysílá událost definovanou v importovaném kontraktu IERC721
emit Transfer(_from, _to, _pizzaId);
_clearApproval(_to, _pizzaId);
}
/**
- * Safely transfers the ownership of a given token ID to another address
- * If the target address is a contract, it must implement `onERC721Received`,
- * which is called upon a safe transfer, and return the magic value
+ * Bezpečně převede vlastnictví daného ID tokenu na jinou adresu
+ * Pokud je cílová adresa kontrakt, musí implementovat `onERC721Received`,
+ * která se volá při bezpečném převodu a vrátí magickou hodnotu
* `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`;
- * otherwise, the transfer is reverted.
+ * jinak se převod vrátí zpět.
*/
function safeTransferFrom(address from, address to, uint256 pizzaId)
public
@@ -463,11 +463,11 @@ contract CryptoPizza is IERC721, ERC165 {
}
/**
- * Safely transfers the ownership of a given token ID to another address
- * If the target address is a contract, it must implement `onERC721Received`,
- * which is called upon a safe transfer, and return the magic value
+ * Bezpečně převede vlastnictví daného ID tokenu na jinou adresu
+ * Pokud je cílová adresa kontrakt, musí implementovat `onERC721Received`,
+ * která se volá při bezpečném převodu a vrátí magickou hodnotu
* `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`;
- * otherwise, the transfer is reverted.
+ * jinak se převod vrátí zpět.
*/
function safeTransferFrom(
address from,
@@ -480,8 +480,8 @@ contract CryptoPizza is IERC721, ERC165 {
}
/**
- * Internal function to invoke `onERC721Received` on a target address
- * The call is not executed if the target address is not a contract
+ * Interní funkce pro vyvolání `onERC721Received` na cílové adrese
+ * Volání se neprovede, pokud cílová adresa není kontrakt
*/
function _checkOnERC721Received(
address from,
@@ -502,9 +502,9 @@ contract CryptoPizza is IERC721, ERC165 {
return (retval == _ERC721_RECEIVED);
}
- // Burns a Pizza - destroys Token completely
- // The `external` function modifier means this function is
- // part of the contract interface and other contracts can call it
+ // Spálí pizzu - kompletně zničí token
+ // Modifikátor funkce `external` znamená, že tato funkce je
+ // součástí rozhraní kontraktu a mohou ji volat jiné kontrakty
function burn(uint256 _pizzaId) external {
require(msg.sender != address(0), "Invalid address.");
require(_exists(_pizzaId), "Pizza does not exist.");
@@ -517,26 +517,26 @@ contract CryptoPizza is IERC721, ERC165 {
pizzaToOwner[_pizzaId] = address(0);
}
- // Returns count of Pizzas by address
+ // Vrací počet pizz podle adresy
function balanceOf(address _owner) public view returns (uint256 _balance) {
return ownerPizzaCount[_owner];
}
- // Returns owner of the Pizza found by id
+ // Vrací vlastníka pizzy nalezeného podle ID
function ownerOf(uint256 _pizzaId) public view returns (address _owner) {
address owner = pizzaToOwner[_pizzaId];
require(owner != address(0), "Invalid Pizza ID.");
return owner;
}
- // Approves other address to transfer ownership of Pizza
+ // Schvaluje jinou adresu k převodu vlastnictví pizzy
function approve(address _to, uint256 _pizzaId) public {
require(msg.sender == pizzaToOwner[_pizzaId], "Must be the Pizza owner.");
pizzaApprovals[_pizzaId] = _to;
emit Approval(msg.sender, _to, _pizzaId);
}
- // Returns approved address for specific Pizza
+ // Vrací schválenou adresu pro konkrétní pizzu
function getApproved(uint256 _pizzaId)
public
view
@@ -547,8 +547,8 @@ contract CryptoPizza is IERC721, ERC165 {
}
/**
- * Private function to clear current approval of a given token ID
- * Reverts if the given address is not indeed the owner of the token
+ * Soukromá funkce pro zrušení aktuálního schválení daného ID tokenu
+ * Vrátí se zpět, pokud daná adresa není skutečně vlastníkem tokenu
*/
function _clearApproval(address owner, uint256 _pizzaId) private {
require(pizzaToOwner[_pizzaId] == owner, "Must be pizza owner.");
@@ -559,8 +559,8 @@ contract CryptoPizza is IERC721, ERC165 {
}
/*
- * Sets or unsets the approval of a given operator
- * An operator is allowed to transfer all tokens of the sender on their behalf
+ * Nastavuje nebo ruší schválení daného operátora
+ * Operátor má povoleno převádět všechny tokeny odesílatele jeho jménem
*/
function setApprovalForAll(address to, bool approved) public {
require(to != msg.sender, "Cannot approve own address");
@@ -568,7 +568,7 @@ contract CryptoPizza is IERC721, ERC165 {
emit ApprovalForAll(msg.sender, to, approved);
}
- // Tells whether an operator is approved by a given owner
+ // Sdělí, zda je operátor schválen daným vlastníkem
function isApprovedForAll(address owner, address operator)
public
view
@@ -577,27 +577,27 @@ contract CryptoPizza is IERC721, ERC165 {
return operatorApprovals[owner][operator];
}
- // Takes ownership of Pizza - only for approved users
+ // Přebírá vlastnictví pizzy - pouze pro schválené uživatele
function takeOwnership(uint256 _pizzaId) public {
require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
address owner = this.ownerOf(_pizzaId);
this.transferFrom(owner, msg.sender, _pizzaId);
}
- // Checks if Pizza exists
+ // Kontroluje, zda pizza existuje
function _exists(uint256 pizzaId) internal view returns (bool) {
address owner = pizzaToOwner[pizzaId];
return owner != address(0);
}
- // Checks if address is owner or is approved to transfer Pizza
+ // Kontroluje, zda je adresa vlastníkem nebo je schválena k převodu pizzy
function _isApprovedOrOwner(address spender, uint256 pizzaId)
internal
view
returns (bool)
{
address owner = pizzaToOwner[pizzaId];
- // Disable solium check because of
+ // Vypnout kontrolu solium kvůli
// https://github.com/duaraghav8/Solium/issues/175
// solium-disable-next-line operator-whitespace
return (spender == owner ||
@@ -605,7 +605,7 @@ contract CryptoPizza is IERC721, ERC165 {
this.isApprovedForAll(owner, spender));
}
- // Check if Pizza is unique and doesn't exist yet
+ // Zkontrolujte, zda je pizza jedinečná a ještě neexistuje
modifier isUnique(string memory _name, uint256 _dna) {
bool result = true;
for (uint256 i = 0; i < pizzas.length; i++) {
@@ -621,15 +621,15 @@ contract CryptoPizza is IERC721, ERC165 {
_;
}
- // Returns whether the target address is a contract
+ // Vrací, zda je cílová adresa kontrakt
function isContract(address account) internal view returns (bool) {
uint256 size;
- // Currently there is no better way to check if there is a contract in an address
- // than to check the size of the code at that address.
- // See https://ethereum.stackexchange.com/a/14016/36603
- // for more details about how this works.
- // TODO Check this again before the Serenity release, because all addresses will be
- // contracts then.
+ // V současné době neexistuje lepší způsob, jak zkontrolovat, zda je na adrese kontrakt
+ // než zkontrolovat velikost kódu na dané adrese.
+ // Viz https://ethereum.stackexchange.com/a/14016/36603
+ // pro více detailů o tom, jak to funguje.
+ // TODO Zkontrolovat znovu před vydáním Serenity, protože všechny adresy budou
+ // poté kontrakty.
// solium-disable-next-line security/no-inline-assembly
assembly {
size := extcodesize(account)
@@ -639,20 +639,20 @@ contract CryptoPizza is IERC721, ERC165 {
}
```
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
Kompletní přehled chytrých kontraktů najdete v dokumentaci Solidity a Vyper:
-- [Solidity](https://solidity.readthedocs.io/)
-- [Vyper](https://vyper.readthedocs.io/)
+- [Solidity](https://docs.soliditylang.org/)
+- [Vyper](https://docs.vyperlang.org/en/stable/)
## Související témata {#related-topics}
- [Chytré kontrakty](/developers/docs/smart-contracts/)
-- [Virtuální stroj Etherea](/developers/docs/evm/)
+- [Ethereum Virtual Machine (EVM)](/developers/docs/evm/)
## Související návody {#related-tutorials}
-- [Zmenšování kontraktů pro boj s limitem velikosti kontraktu](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _– několik praktických tipů pro zmenšení velikosti vašeho chytrého kontraktu._
-- [Zaznamenávání dat z chytrých kontraktů pomocí událostí](/developers/tutorials/logging-events-smart-contracts/) _– úvod do událostí chytrých kontraktů a jak je můžete použít k zaznamenávání dat._
-- [Interagujte s dalšími kontrakty ze Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– jak nasadit chytrý kontrakt z existujícího kontraktu a interagovat s ním._
+- [Zmenšování kontraktů pro boj s limitem velikosti kontraktu](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _– Několik praktických tipů pro zmenšení velikosti vašeho chytrého kontraktu._
+- [Zaznamenávání dat z chytrých kontraktů pomocí událostí](/developers/tutorials/logging-events-smart-contracts/) _– Úvod do událostí chytrých kontraktů a jak je můžete použít k zaznamenávání dat._
+- [Interakce s dalšími kontrakty ze Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– Jak nasadit chytrý kontrakt z existujícího kontraktu a interagovat s ním._
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md b/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md
index 6453d8e4347..88efd6439fa 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md
@@ -1,5 +1,5 @@
---
-title: Zpracování chytrých smluv
+title: Kompilace chytrých kontraktů
description: Vysvětlení, proč je třeba kompilovat chytré kontrakty a co kompilace vlastně dělá.
lang: cs
incomplete: true
@@ -9,7 +9,7 @@ Kontrakt musíte zkompilovat tak, aby mu webová aplikace a virtuální stroj Et
## Předpoklady {#prerequisites}
-Možná vám pomůže, když si před čtením o kompilaci přečtete náš úvod do [chytrých kontraktů](/developers/docs/smart-contracts/) a [virtuálního stroje Etherea](/developers/docs/evm/).
+Možná vám pomůže, když si před čtením o kompilaci přečtete náš úvod do [chytrých kontraktů](/developers/docs/smart-contracts/) a [Ethereum Virtual Machine (EVM)](/developers/docs/evm/).
## EVM {#the-evm}
@@ -20,14 +20,14 @@ pragma solidity 0.4.24;
contract Greeter {
- function greet() public constant returns (string) {
+ function greet() public view returns (string memory) {
return "Hello";
}
}
```
-**tohle**
+**v toto**
```
PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0xCFAE3217 EQ PUSH2 0x46 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B PUSH2 0xD6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x9B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x80 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xC8 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SLT 0xec 0xe 0xf5 0xf8 SLT 0xc7 0x2d STATICCALL ADDRESS SHR 0xdb COINBASE 0xb1 BALANCE 0xe8 0xf8 DUP14 0xda 0xad DUP13 LOG1 0x4c 0xb4 0x26 0xc2 DELEGATECALL PUSH7 0x8994D3E002900
@@ -272,11 +272,11 @@ Níže je uvedeno ABI pro kontrakt na tokeny ERC-20. ERC-20 je token, se kterým
]
```
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [ABI specifikace](https://solidity.readthedocs.io/en/v0.7.0/abi-spec.html) _– Solidity_
+- [Specifikace ABI](https://solidity.readthedocs.io/en/v0.7.0/abi-spec.html) _– Solidity_
## Související témata {#related-topics}
- [JavaScriptové klientské knihovny](/developers/docs/apis/javascript/)
-- [Virtuální stroj Etherea](/developers/docs/evm/)
+- [Ethereum Virtual Machine (EVM)](/developers/docs/evm/)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md b/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
index 2a2b37a5fa3..524f1ffbc44 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
@@ -1,13 +1,13 @@
---
title: Složitelnost chytrých kontraktů
-description:
+description: Zjistěte, jak lze chytré kontrakty kombinovat jako kostky Lega a vytvářet tak komplexní dapps s využitím existujících komponent.
lang: cs
incomplete: true
---
-## Stručné představení {#a-brief-introduction}
+## Stručný úvod {#a-brief-introduction}
-Chytré kontrakty na Ethereu jsou veřejné a lze je považovat za otevřená API. Nemusíte napsat vlastní chytrý kontrakt, abyste se stali vývojářem dapp, stačí vědět, jak s nimi pracovat. Například můžete použít existující chytré kontrakty [Uniswapu](https://uniswap.exchange/swap), decentralizované burzy, k obsluze veškeré logiky pro směnu tokenů ve vaší aplikaci – nemusíte začínat od nuly. Podívejte se na některé z jejich kontraktů [v2](https://github.com/Uniswap/uniswap-v2-core/tree/master/contracts) a [v3](https://github.com/Uniswap/uniswap-v3-core/tree/main/contracts).
+Chytré kontrakty na Ethereu jsou veřejné a lze je považovat za otevřená API. Nemusíte napsat vlastní chytrý kontrakt, abyste se stali vývojářem dapp, stačí vědět, jak s nimi pracovat. Můžete například použít stávající chytré kontrakty [Uniswapu](https://uniswap.exchange/swap), decentralizované burzy, k obsluze veškeré logiky pro směnu tokenů ve vaší aplikaci – nemusíte začínat od nuly. Podívejte se na některé z jejich kontraktů [v2](https://github.com/Uniswap/uniswap-v2-core/tree/master/contracts) a [v3](https://github.com/Uniswap/uniswap-v3-core/tree/main/contracts).
## Co je to složitelnost? {#what-is-composability}
@@ -15,21 +15,21 @@ Složitelnost znamená kombinování různých komponent k vytvoření nových s
Na Ethereu je každý chytrý kontrakt jakousi kostkou Lego – můžete použít chytré kontrakty z jiných projektů jako stavební bloky pro váš projekt. To znamená, že nemusíte trávit čas znovuobjevováním kola nebo začínáním od nuly.
-## Jak funguje složitelnost? {#how-does-composability-work}
+## Jak funguje složitelnost? Jak funguje složitelnost? {#how-does-composability-work}
Chytré kontrakty na Ethereu jsou jako veřejná API, takže s nimi může kdokoli pracovat nebo je integrovat do své dappky za účelem přidání funkcionality. Složitelnost chytrých kontraktů obecně funguje na třech principech: modularita, autonomie a objevitelnost:
-**1. Modularita**: Schopnost jednotlivých komponent vykonávat specifickou úlohu. Na Ethereu má každý chytrý kontrakt specifické použití (jak je ukázáno v příkladu Uniswapu).
+**1.** Modularita\*\*: Schopnost jednotlivých komponent vykonávat specifickou úlohu. Na Ethereu má každý chytrý kontrakt specifické použití (jak je ukázáno v příkladu Uniswapu).
-**2. Autonomie**: Složitelné komponenty musí být schopny fungovat nezávisle. Každý chytrý kontrakt na Ethereu je samostatně vykonávaný a může fungovat bez závislosti na jiných částech systému.
+**2.** Autonomie\*\*: Složitelné komponenty musí být schopny fungovat nezávisle. Každý chytrý kontrakt na Ethereu je samostatně vykonávaný a může fungovat bez závislosti na jiných částech systému.
-**3. Objevitelnost**: Vývojáři nemohou volat externí kontrakty nebo integrovat softwarové knihovny do aplikací, pokud nejsou veřejně dostupné. Chytré kontrakty jsou z podstaty open-source; kdokoli je může volat nebo může kódovou základnu větvit.
+**3.** Objevitelnost\*\*: Vývojáři nemohou volat externí kontrakty nebo integrovat softwarové knihovny do aplikací, pokud nejsou veřejně dostupné. Chytré kontrakty jsou z podstaty open-source; kdokoli je může volat nebo může kódovou základnu větvit.
## Výhody složitelnosti {#benefits-of-composability}
### Kratší vývojový cyklus {#shorter-development-cycle}
-Složitelnost zmenšuje množství práce, kterou musí vývojáři při vytváření [dappek](/apps/#what-are-dapps) udělat. [Jak říká Naval Ravikant](https://twitter.com/naval/status/1444366754650656770): „Open source znamená, že každý problém musí být vyřešen pouze jednou.“
+Složitelnost snižuje množství práce, kterou musí vývojáři odvést při vytváření [dapps](/apps/#what-are-dapps). [Jak říká Naval Ravikant:](https://twitter.com/naval/status/1444366754650656770) „Open source znamená, že každý problém stačí vyřešit pouze jednou.“
Pokud existuje chytrý kontrakt, který řeší jeden problém, mohou ho ostatní vývojáři znovu použít, takže nemusí řešit stejný problém znovu. Tímto způsobem mohou vzít existující softwarové knihovny a přidat k nim další funkce, když vyvíjejí novou dappku.
@@ -43,34 +43,34 @@ Interoperabilita mezi komponentami ekosystému Ethereum zlepšuje uživatelskou
K ilustraci výhod interoperability použijeme příklad z arbitrážního obchodování:
-Pokud se token obchoduje na `burze A` za vyšší cenu než na `burze B`, můžete využít cenový rozdíl k dosažení zisku. To však můžete udělat, pouze pokud máte dostatek prostředků k financování transakce (tj. nákup tokenu na `burze B` a prodej na `burze A`).
+Pokud se token obchoduje na `exchange A` za vyšší cenu než na `exchange B`, můžete využít cenový rozdíl k dosažení zisku. To však můžete udělat, pouze pokud máte dostatek prostředků k financování transakce (tj. nákup tokenu na `exchange B` a prodej na `exchange A`).
-V situaci, kdy nemáte dostatek prostředků na pokrytí takové směny, může být řešením blesková půjčka. [Bleskové půjčky](/defi/#flash-loans) jsou vysoce technické, ale základní myšlenkou je, že si můžete půjčit aktiva (bez zástavy) a ještě je stihnout v rámci _jedné_ transakce vrátit.
+V situaci, kdy nemáte dostatek prostředků na pokrytí takové směny, může být řešením blesková půjčka. [Bleskové půjčky](/defi/#flash-loans) jsou vysoce technické, ale základní myšlenkou je, že si můžete půjčit aktiva (bez zástavy) a vrátit je v rámci _jedné_ transakce.
-Vrátíme-li se k našemu původnímu příkladu, arbitrážní obchodník si může vzít velkou bleskovou půjčku, nakoupit tokeny na `burze B`, prodat je na `burze A`, splatit půjčený kapitál i s úroky a vydělat na tom, to vše v rámci jedné transakce. Tato složitá logika vyžaduje kombinování volání více kontraktů, což by nebylo možné, kdyby chytré kontrakty neměly interoperabilitu.
+Když se vrátíme k našemu úvodnímu příkladu, arbitrážní obchodník si může vzít velkou bleskovou půjčku, nakoupit tokeny na `exchange B`, prodat je na `exchange A`, splatit kapitál + úrok a ponechat si zisk, a to vše v rámci jedné transakce. Tato složitá logika vyžaduje kombinování volání více kontraktů, což by nebylo možné, kdyby chytré kontrakty neměly interoperabilitu.
-## Příklady složitelnosti na Ethereu {#composability-in-ethereum}
+## Příklady složitelnosti v Ethereu {#composability-in-ethereum}
### Směny tokenů {#token-swaps}
Pokud vytvoříte dappku, která vyžaduje platbu za transakce v ETH, můžete uživatelům umožnit platit v jiných ERC-20 tokenech a to pomocí zavedení logiky pro směnu tokenů. Kód automaticky převede token uživatele na ETH, než kontrakt vykoná volanou funkci.
-### Řízení {#governance}
+### Správa {#governance}
-Tvorba na míru šitých řídicích systémů pro [DAO](/dao/) může být drahá a časově náročná. Místo toho můžete k rychlému vytvoření řídicího frameworku pro vaše DAO použít open-source toolkit řízení, jako je [Aragon Client](https://client.aragon.org/).
+Vytváření systémů správy na míru pro [DAO](/dao/) může být nákladné a časově náročné. Místo toho můžete použít open-source sadu nástrojů pro správu, jako je [Aragon Client](https://client.aragon.org/), k nastartování svého DAO a rychlému vytvoření rámce pro správu.
### Správa identity {#identity-management}
-Místo vytváření vlastního autentizačního systému nebo nutnosti spoléhat se na centralizované poskytovatele, můžete ke správě autentizace uživatelů integrovat nástroje pro decentralizovanou identitu (DID). Příkladem je [SpruceID](https://www.spruceid.com/), open-source toolkit, který nabízí funkci „Přihlásit se pomocí Etherea“, která uživatelům umožňuje autentizovat identitu pomocí ethereovské peněženky.
+Místo vytváření vlastního autentizačního systému nebo nutnosti spoléhat se na centralizované poskytovatele, můžete ke správě autentizace uživatelů integrovat nástroje pro decentralizovanou identitu (DID). Příkladem je [SpruceID](https://www.spruceid.com/), open-source sada nástrojů, která nabízí funkci „Přihlásit se pomocí Etherea“, která uživatelům umožňuje ověřovat identitu pomocí ethereovské peněženky.
## Související návody {#related-tutorials}
-- [Nastartujte vývoj frontendového rozhraní pro dappky pomocí create-eth-app](/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/) _– Přehled o tom, jak používat create-eth-app k vytváření aplikací s populárními chytrými kontrakty._
+- [Nastartujte vývoj frontendu pro dapps s create-eth-app](/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/) _– Přehled, jak použít create-eth-app k vytváření aplikací s populárními chytrými kontrakty, které jsou okamžitě k dispozici._
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
-- [Složitelnost je inovace](https://future.a16z.com/how-composability-unlocks-crypto-and-everything-else/)
+- [Složitelnost je inovace](https://a16zcrypto.com/posts/article/how-composability-unlocks-crypto-and-everything-else/)
- [Proč je složitelnost důležitá pro Web3](https://hackernoon.com/why-composability-matters-for-web3)
-- [Co je to složitelnost?](https://blog.aragon.org/what-is-composability/#:~:text=Aragon,connect%20to%20every%20other%20piece.)
+- [Co je složitelnost?](https://blog.aragon.org/what-is-composability/#:~:text=Aragon,connect%20to%20every%20other%20piece.)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md b/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md
index 7170664377f..5ef742b7b2a 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md
@@ -1,6 +1,6 @@
---
-title: Nasazování chytrých smluv
-description:
+title: Nasazování chytrých kontraktů
+description: Naučte se, jak nasazovat chytré kontrakty do sítí Etherea, včetně předpokladů, nástrojů a kroků nasazení.
lang: cs
---
@@ -10,50 +10,50 @@ Abyste nasadili chytrý kontrakt, stačí odeslat Ethereum transakci obsahujíc
## Předpoklady {#prerequisites}
-Než nasadíte chytrý kontrakt, měli byste vědět o [Ethereum sítích](/developers/docs/networks/), [transakcích](/developers/docs/transactions/) a [anatomii chytrých kontraktů](/developers/docs/smart-contracts/anatomy/).
+Před nasazením chytrých kontraktů byste měli rozumět [sítím Etherea](/developers/docs/networks/), [transakcím](/developers/docs/transactions/) a [anatomii chytrých kontraktů](/developers/docs/smart-contracts/anatomy/).
-Nasazení smlouvy také stojí ethery (ETH), protože jsou uloženy na blockchainu, takže byste měli vědět o [palivech a poplatcích](/developers/docs/gas/) na Ethereu.
+Nasazení kontraktu také stojí ethery (ETH), protože jsou uloženy na blockchainu, takže byste měli být obeznámeni s [plynem a poplatky](/developers/docs/gas/) na Ethereu.
-Nakonec budete muset kontrakt před nasazením zkompilovat, takže se ujistěte, že jste si přečetli o [kompilování chytrých kontraktů](/developers/docs/smart-contracts/compiling/).
+Nakonec budete muset svůj kontrakt před nasazením zkompilovat, takže se ujistěte, že jste si přečetli o [kompilaci chytrých kontraktů](/developers/docs/smart-contracts/compiling/).
## Jak nasadit chytrý kontrakt {#how-to-deploy-a-smart-contract}
### Co budete potřebovat {#what-youll-need}
-- Bytecode vašeho kontraktu – generuje se při [kompilování](/developers/docs/smart-contracts/compiling/)
+- Bajtkód vašeho kontraktu – ten je generován [kompilací](/developers/docs/smart-contracts/compiling/)
- ETH na palivo – nastavíte si svůj palivový limit jako další transakce, takže počítejte s tím, že nasazení kontraktu potřebuje mnohem více paliva než prostý převod ETH
- Script nasazení nebo plugin
-- Přístup k [uzlu Etherea](/developers/docs/nodes-and-clients/), a to buď provozováním vlastního, připojením k veřejnému uzlu, nebo prostřednictvím API klíče pomocí [služby uzlů](/developers/docs/nodes-and-clients/nodes-as-a-service/)
+- Přístup k [uzlu Ethereum](/developers/docs/nodes-and-clients/), buď spuštěním vlastního uzlu, připojením k veřejnému uzlu, nebo pomocí klíče API s využitím [služby poskytující uzly](/developers/docs/nodes-and-clients/nodes-as-a-service/)
### Kroky k nasazení chytrého kontraktu {#steps-to-deploy}
-Konkrétní kroky závisí na daném vývojovém frameworku. Můžete se například podívat do [Hardhat dokumentace o nasazování kontraktů](https://hardhat.org/docs/tutorial/deploying) nebo do [Foundry dokumentace o nasazování a ověřování chytrého kontraktu](https://book.getfoundry.sh/forge/deploying). Po nasazení bude mít váš kontrakt adresu Etherea jako ostatní [účty](/developers/docs/accounts/) a lze jej ověřit pomocí [nástrojů pro ověření zdrojového kódu](/developers/docs/smart-contracts/verifying/#source-code-verification-tools).
+Konkrétní kroky závisí na daném vývojovém frameworku. Můžete se například podívat do [dokumentace Hardhat o nasazování kontraktů](https://hardhat.org/docs/tutorial/deploying) nebo do [dokumentace Foundry o nasazování a ověřování chytrého kontraktu](https://book.getfoundry.sh/forge/deploying). Po nasazení bude mít váš kontrakt ethereovou adresu jako jiné [účty](/developers/docs/accounts/) a lze jej ověřit pomocí [nástrojů pro ověření zdrojového kódu](/developers/docs/smart-contracts/verifying/#source-code-verification-tools).
## Související nástroje {#related-tools}
-**Remix – _remix IDE umožňuje vyvíjet, nasazovat a spravovat chytré kontrakty pro blockchainy typu Etherea_**
+**Remix – _Remix IDE umožňuje vyvíjet, nasazovat a spravovat chytré kontrakty pro blockchainy typu Etherea_**
- [Remix](https://remix.ethereum.org)
-**Tenderly – _platforma na vývoj Web3, která poskytuje ladění, pozorovatelnost a infrastrukturní stavební bloky pro vývoj, testování, monitorování a provozování chytrých kontraktů_**
+**Tenderly – _Web3 vývojová platforma, která poskytuje ladění, pozorovatelnost a infrastrukturní stavební bloky pro vývoj, testování, monitorování a provozování chytrých kontraktů_**
- [tenderly.co](https://tenderly.co/)
-- [Dokumentace](https://docs.tenderly.co/)
+- [Docs](https://docs.tenderly.co/)
- [GitHub](https://github.com/Tenderly)
- [Discord](https://discord.gg/eCWjuvt)
-**Hardhat – _vývojové prostředí pro kompilaci, nasazení, testování a ladění Ethereum softwaru_**
+**Hardhat – _Vývojové prostředí pro kompilaci, nasazení, testování a ladění vašeho softwaru pro Ethereum_**
- [hardhat.org](https://hardhat.org/getting-started/)
-- [Dokumentace na nasazování vašich kontraktů](https://hardhat.org/docs/tutorial/deploying)
+- [Dokumentace o nasazování vašich kontraktů](https://hardhat.org/docs/tutorial/deploying)
- [GitHub](https://github.com/nomiclabs/hardhat)
- [Discord](https://discord.com/invite/TETZs2KK4k)
-**thirdweb – _lehce nasaďte libovolný kontrakt do libovolného blockchainu kompatibilního s EVM pomocí jediného příkazu_**
+**thirdweb – _Snadné nasazení jakéhokoli kontraktu na jakýkoli řetězec kompatibilní s EVM pomocí jediného příkazu_**
- [Dokumentace](https://portal.thirdweb.com/deploy/)
-**Crossmint – _vývojová platforma na úrovni webu3 pro nasazení chytrých kontraktů, umožnění plateb kreditními kartami a plateb napříč blockchainy a používání API k vytváření, distribuci, prodeji, ukládání a úpravám NFT_**
+**Crossmint – _Web3 vývojová platforma podnikové úrovně pro nasazování chytrých kontraktů, umožnění plateb kreditní kartou a plateb mezi řetězci a používání API k vytváření, distribuci, prodeji, ukládání a úpravě NFT._**
- [crossmint.com](https://www.crossmint.com)
- [Dokumentace](https://docs.crossmint.com)
@@ -62,20 +62,20 @@ Konkrétní kroky závisí na daném vývojovém frameworku. Můžete se napří
## Související návody {#related-tutorials}
-- [Nasazení vašeho prvního chytrého kontraktu](/developers/tutorials/deploying-your-first-smart-contract/) _– úvod do nasazení prvního chytrého kontraktu v testovací síti Etherea._
-- [Ahoj Světe | tutoriál na chytrý kontrakt](/developers/tutorials/hello-world-smart-contract/) _– jednoduchý návod na vytvoření a nasazení základního chytrého kontraktu na Ethereu._
-- [Interagujte s dalšími kontrakty ze Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– jak nasadit chytrý kontrakt z existujícího kontraktu a interagovat s ním._
-- [Jak snížit velikost kontraktu](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _– jak snížit velikost kontraktu, abyste nepřekročili limit a ušetřili za palivo_
+- [Nasazení vašeho prvního chytrého kontraktu](/developers/tutorials/deploying-your-first-smart-contract/) _– Úvod do nasazení vašeho prvního chytrého kontraktu v testovací síti Etherea._
+- [Ahoj světe | tutoriál na chytrý kontrakt](/developers/tutorials/hello-world-smart-contract/) _– Jednoduchý návod na vytvoření a nasazení základního chytrého kontraktu na Ethereu._
+- [Interakce s dalšími kontrakty ze Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– Jak nasadit chytrý kontrakt z existujícího kontraktu a interagovat s ním._
+- [Jak zmenšit velikost vašeho kontraktu](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _– Jak zmenšit velikost vašeho kontraktu, abyste se vešli do limitu a ušetřili za plyn_
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
- [https://docs.openzeppelin.com/learn/deploying-and-interacting](https://docs.openzeppelin.com/learn/deploying-and-interacting) – _OpenZeppelin_
-- [Nasazení vašich kontraktů pomocí Hardhat](https://hardhat.org/docs/tutorial/deploying) – _Nomic Labs_
+- [Nasazování vašich kontraktů s Hardhat](https://hardhat.org/docs/tutorial/deploying) – _Nomic Labs_
-_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ji!_
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
## Související témata {#related-topics}
-- [Vývojářské rámce](/developers/docs/frameworks/)
-- [Run an Ethereum node](/developers/docs/nodes-and-clients/run-a-node/)
-- [Uzly jako služba](/developers/docs/nodes-and-clients/nodes-as-a-service)
+- [Vývojářské frameworky](/developers/docs/frameworks/)
+- [Spuštění uzlu Ethereum](/developers/docs/nodes-and-clients/run-a-node/)
+- [Uzel jako služba](/developers/docs/nodes-and-clients/nodes-as-a-service)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md b/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
index 7004bb0202a..5c1c503f2eb 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
@@ -4,9 +4,9 @@ description: Přehled formálního ověření pro chytré kontrakty na Ethereu
lang: cs
---
-[Chytré kontrakty](/developers/docs/smart-contracts/) umožňují vytvářet decentralizované, důvěryhodné a robustní aplikace, které nabízejí nová využití a jsou pro uživatele přínosem. Protože chytré kontrakty spravují hodnotná aktiva, bezpečnost je pro vývojáře kritická.
+[Chytré kontrakty](/developers/docs/smart-contracts/) umožňují vytvářet decentralizované a robustní aplikace nevyžadující důvěru, které představují nové případy užití a odemykají hodnotu pro uživatele. Protože chytré kontrakty spravují hodnotná aktiva, bezpečnost je pro vývojáře kritická.
-Formální verifikace je jednou z doporučených technik pro zlepšení bezpečnosti [chytrých kontraktů](/developers/docs/smart-contracts/security/). Formální verifikace, která používá [formální metody](https://www.brookings.edu/techstream/formal-methods-as-a-path-toward-better-cybersecurity/) pro specifikaci, návrh a ověřování programů, se již léta používá k zajištění správnosti kritických hardwarových a softwarových systémů.
+Formální ověření je jednou z doporučených technik pro zlepšení [bezpečnosti chytrých kontraktů](/developers/docs/smart-contracts/security/). Formální ověření, které používá [formální metody](https://www.brookings.edu/techstream/formal-methods-as-a-path-toward-better-cybersecurity/) pro specifikaci, návrh a ověřování programů, se již léta používá k zajištění správnosti kritických hardwarových a softwarových systémů.
Když je formální verifikace implementována v chytrých kontraktech, může dokázat, že obchodní logika kontraktu splňuje předem definovanou specifikaci. Ve srovnání s jinými metodami pro hodnocení správnosti kódu kontraktu, jako je testování, poskytuje formální verifikace silnější záruky, že chytrý kontrakt je funkčně správný.
@@ -18,7 +18,7 @@ Očekávané chování systému (v tomto případě chytrého kontraktu) je pops
### Co je formální model? {#what-is-a-formal-model}
-Ve výpočetní technice je [formální model](https://en.wikipedia.org/wiki/Model_of_computation) matematický popis výpočetního procesu. Programy jsou abstrahovány do matematických funkcí (rovnic) a model popisuje, jak se výstupy funkcí vypočítávají na základě zadaných vstupů.
+V počítačové vědě je [formální model](https://en.wikipedia.org/wiki/Model_of_computation) matematickým popisem výpočetního procesu. Programy jsou abstrahovány do matematických funkcí (rovnic) a model popisuje, jak se výstupy funkcí vypočítávají na základě zadaných vstupů.
Formální modely poskytují úroveň abstrakce, nad kterou lze analyzovat chování programu. Existence formálních modelů umožňuje vytvoření _formální specifikace_, která popisuje požadované vlastnosti daného modelu.
@@ -26,15 +26,15 @@ Pro modelování chytrých kontraktů za účelem formální verifikace se použ
Modely na vysoké úrovni se zaměřují na vztah mezi chytrými kontrakty a externími agenty, jako jsou externě vlastněné účty (EOAs), kontraktové účty a blockchainové prostředí. Tyto modely jsou užitečné pro definování vlastností určujících, jak by se měl kontrakt chovat v reakci na předem dané interakce uživatelů.
-Naopak, jiné formální modely se zaměřují na chování chytrého kontraktu na nižší úrovni. Zatímco modely zkoumající chování kontraktů na vysoké úrovni mohou pomoci při úvahách o funkčnosti kontraktu, není vyloučeno jejich selhání při zachycování detailů o interních mechanismech implementace. Modely pro nízké úrovně na analýzu programu aplikují pohled „bílé skříňky“ a spoléhají na nižší úroveň reprezentací aplikací chytrých kontraktů, jako jsou programové stopy a [grafy toku řízení](https://en.wikipedia.org/wiki/Control-flow_graph), za účelem úvah o relevantních vlastnostech pro vykonávání kontraktu.
+Naopak, jiné formální modely se zaměřují na chování chytrého kontraktu na nižší úrovni. Zatímco modely zkoumající chování kontraktů na vysoké úrovni mohou pomoci při úvahách o funkčnosti kontraktu, není vyloučeno jejich selhání při zachycování detailů o interních mechanismech implementace. Nízkoúrovňové modely uplatňují při analýze programu pohled „bílé skříňky“ a spoléhají se na nízkoúrovňové reprezentace aplikací s chytrými kontrakty, jako je trasování programu a [grafy řídicího toku](https://en.wikipedia.org/wiki/Control-flow_graph), aby bylo možné usuzovat o vlastnostech relevantních pro provádění kontraktu.
-Modely nízké úrovně jsou považovány za ideální, protože reprezentují skutečnou exekuci chytrého kontraktu v prostředí Etherea (tj. v [EVM](/developers/docs/evm/)). Techniky modelování na nízké úrovni jsou zvláště užitečné při stanovování kritických bezpečnostních vlastností chytrých kontraktů a detekci potenciálních zranitelností.
+Nízkoúrovňové modely jsou považovány za ideální, protože představují skutečné provedení chytrého kontraktu v exekučním prostředí Etherea (tj. v [EVM](/developers/docs/evm/)). Techniky modelování na nízké úrovni jsou zvláště užitečné při stanovování kritických bezpečnostních vlastností chytrých kontraktů a detekci potenciálních zranitelností.
-### Co je formální specifikace? {#what-is-a-formal-specification}
+### Co je formální specifikace? Co je formální specifikace? {#what-is-a-formal-specification}
Specifikace je jednoduše řečeno technický požadavek, který musí daný systém splňovat. V programování představují specifikace obecné představy o provádění programu (tj. co by měl program dělat).
-V kontextu chytrých kontraktů se formální specifikace týkají _vlastností_ – formálních popisů požadavků, které musí kontrakt splňovat. Takové vlastnosti se označují jako „invarianty“ a představují logická tvrzení o provádění kontraktu, která musí zůstat pravdivá za všech okolností, bez jakýchkoliv výjimek.
+V kontextu chytrých kontraktů se formální specifikace vztahují na _vlastnosti_ – formální popisy požadavků, které musí kontrakt splňovat. Takové vlastnosti se označují jako „invarianty“ a představují logická tvrzení o provádění kontraktu, která musí zůstat pravdivá za všech okolností, bez jakýchkoliv výjimek.
Formální verifikaci tedy můžeme považovat za sbírku tvrzení napsaných ve formálním jazyce, která popisují zamýšlený výkon chytrého kontraktu. Specifikace pokrývají vlastnosti kontraktu a definují, jak by se měl chovat v různých situacích. Účelem formální verifikace je zjistit, zda chytrý kontrakt tyto vlastnosti (invarianty) má a zda nejsou tyto vlastnosti během provádění porušeny.
@@ -44,55 +44,55 @@ Formální specifikace jsou klíčové při vývoji bezpečných implementací c
Formální specifikace umožňují matematické uvažování o správnosti provádění programu. Stejně jako formální modely mohou formální specifikace zachytit buď vlastnosti na vysoké úrovni, nebo chování implementace kontraktu na nízké úrovni.
-Formální specifikace jsou odvozeny pomocí prvků [programové logiky](https://en.wikipedia.org/wiki/Logic_programming), která umožňuje formální uvažování o vlastnostech programu. Programová logika má formální pravidla, která vyjadřují (v matematickém jazyce) očekávané chování programu. Pro vytváření formálních specifikací se používají různé programové logiky, včetně [logiky dosažitelnosti](https://en.wikipedia.org/wiki/Reachability_problem), [temporální logiky](https://en.wikipedia.org/wiki/Temporal_logic) a [Hoareovy logiky](https://en.wikipedia.org/wiki/Hoare_logic).
+Formální specifikace jsou odvozeny pomocí prvků [programovací logiky](https://en.wikipedia.org/wiki/Logic_programming), která umožňuje formální uvažování o vlastnostech programu. Programová logika má formální pravidla, která vyjadřují (v matematickém jazyce) očekávané chování programu. Při vytváření formálních specifikací se používají různé programovací logiky, včetně [logiky dosažitelnosti](https://en.wikipedia.org/wiki/Reachability_problem), [temporální logiky](https://en.wikipedia.org/wiki/Temporal_logic) a [Hoareovy logiky](https://en.wikipedia.org/wiki/Hoare_logic).
-Formální specifikace pro chytré kontrakty lze obecně rozdělit na specifikace na **vysoké úrovni** a specifikace na **nízké úrovni**. Bez ohledu na to, do které kategorie specifikace patří, musí adekvátně a jednoznačně popisovat vlastnost systému, který je podroben analýze.
+Formální specifikace pro chytré kontrakty lze obecně rozdělit na **vysokoúrovňové** a **nízkoúrovňové** specifikace. Bez ohledu na to, do které kategorie specifikace patří, musí adekvátně a jednoznačně popisovat vlastnost systému, který je podroben analýze.
-### Specifikace na vysoké úrovni {#high-level-specifications}
+### Vysokoúrovňové specifikace {#high-level-specifications}
-Jak název napovídá, specifikace na vysoké úrovni (také nazývané „modelově orientované specifikace“) popisují chování programu na vysoké úrovni. Specifikace na vysoké úrovni modelují chytrý kontrakt jako [konečný automat](https://en.wikipedia.org/wiki/Finite-state_machine) (final state machine, FSM), který může prováděním operací přecházet mezi stavy, přičemž pro definování formálních vlastností modelu FSM se používá temporální logika.
+Jak název napovídá, specifikace na vysoké úrovni (také nazývané „modelově orientované specifikace“) popisují chování programu na vysoké úrovni. Vysokoúrovňové specifikace modelují chytrý kontrakt jako [konečný stavový automat](https://en.wikipedia.org/wiki/Finite-state_machine) (FSM), který může přecházet mezi stavy prováděním operací, přičemž k definování formálních vlastností modelu FSM se používá temporální logika.
-[Temporální logiky](https://en.wikipedia.org/wiki/Temporal_logic) jsou „pravidla pro uvažování o tvrzeních kvalifikovaných z hlediska času (např. „_vždy_ mám hlad“ nebo „_nakonec_ budu mít hlad“)“. Když se aplikují na formální verifikaci, temporální logiky se používají k vyjádření tvrzení o správném chování systémů modelovaných jako automaty. Konkrétně popisuje temporální logika budoucí stavy, ve kterých se chytrý kontrakt může nacházet, a jak mezi těmito stavy přechází.
+[Temporální logiky](https://en.wikipedia.org/wiki/Temporal_logic) jsou „pravidla pro uvažování o tvrzeních kvalifikovaných z hlediska času (např. „_vždycky_ mám hlad“ nebo „_nakonec_ budu mít hlad“).“ Když se aplikují na formální verifikaci, temporální logiky se používají k vyjádření tvrzení o správném chování systémů modelovaných jako automaty. Konkrétně popisuje temporální logika budoucí stavy, ve kterých se chytrý kontrakt může nacházet, a jak mezi těmito stavy přechází.
-Specifikace na vysoké úrovni obecně zachycují dvě klíčové temporální vlastnosti chytrých kontraktů: **bezpečnost** a **živost**. Bezpečnostní vlastnosti představují myšlenku, že „nic špatného se nikdy nestane“ a obvykle vyjadřují invarianty. Bezpečnostní vlastnost může definovat obecné softwarové požadavky, jako je ochrana před [zablokováním](https://www.techtarget.com/whatis/definition/deadlock), nebo vyjadřovat specifické vlastnosti pro chytré kontrakty (např. invarianty týkající se přístupu k funkcím, přípustné hodnoty stavových proměnných nebo podmínky pro převod tokenů).
+Vysokoúrovňové specifikace obecně zachycují dvě kritické časové vlastnosti chytrých kontraktů: **bezpečnost** a **živost**. Bezpečnostní vlastnosti představují myšlenku, že „nic špatného se nikdy nestane“ a obvykle vyjadřují invarianty. Bezpečnostní vlastnost může definovat obecné softwarové požadavky, jako je ochrana před [zablokováním](https://www.techtarget.com/whatis/definition/deadlock), nebo vyjadřovat vlastnosti specifické pro doménu kontraktů (např. invarianty řízení přístupu k funkcím, přípustné hodnoty stavových proměnných nebo podmínky pro převody tokenů).
-Vezměme si pro příklad tento bezpečnostní požadavek, který pokrývá podmínky pro použití funkcí `transfer()` nebo `transferFrom()` v ERC-20 tokenových kontraktech: _„Zůstatek odesílatele nikdy nesmí být nižší než požadované množství tokenů, které mají být odeslány.“_ Tento popis invariantu kontraktu v přirozeném jazyce lze převést do formální (matematické) specifikace, která pak může být rigorózně ověřena z hlediska platnosti.
+Jako příklad si vezměme tento bezpečnostní požadavek, který se vztahuje na podmínky pro použití funkcí `transfer()` nebo `transferFrom()` v kontraktech s tokeny ERC-20: _„Zůstatek odesílatele není nikdy nižší než požadované množství tokenů k odeslání.“_. Tento popis invariantu kontraktu v přirozeném jazyce lze převést do formální (matematické) specifikace, která pak může být rigorózně ověřena z hlediska platnosti.
-Živostní vlastnosti zajišťují, že „se ve výsledku stane něco dobrého“, a týkají se schopnosti kontraktu přepínat mezi různými stavy. Příkladem živostní vlastnosti je „likvidita“, která odkazuje na schopnost kontraktu převádět své zůstatky uživatelům na základě žádosti. Pokud je tato vlastnost porušena, uživatelé nejsou schopni vybrat aktiva uložená v kontraktu, jako se to stalo při incidentu s [Parity peněženkou](https://www.cnbc.com/2017/11/08/accidental-bug-may-have-frozen-280-worth-of-ether-on-parity-wallet.html).
+Živostní vlastnosti zajišťují, že „se ve výsledku stane něco dobrého“, a týkají se schopnosti kontraktu přepínat mezi různými stavy. Příkladem živostní vlastnosti je „likvidita“, která odkazuje na schopnost kontraktu převádět své zůstatky uživatelům na základě žádosti. Pokud je tato vlastnost porušena, uživatelé nebudou moci vybrat prostředky uložené v kontraktu, jako se to stalo při [incidentu s peněženkou Parity](https://www.cnbc.com/2017/11/08/accidental-bug-may-have-frozen-280-worth-of-ether-on-parity-wallet.html).
-### Specifikace na nízké úrovni {#low-level-specifications}
+### Nízkoúrovňové specifikace {#low-level-specifications}
Specifikace na vysoké úrovni berou jako výchozí bod model konečného automatu kontraktu a definují požadované vlastnosti tohoto modelu. Naopak specifikace na nízké úrovni (také nazývané „specifikace orientované na vlastnosti“) často modelují programy (chytré kontrakty) jako systémy skládající se ze sbírky matematických funkcí a popisují správné chování těchto systémů.
-Jednoduše řečeno, specifikace na nízké úrovni analyzují _sledy funkcí programu_ a snaží se definovat vlastnosti chytrého kontraktu na základě těchto sledů. Sledy odkazují na sekvence provádění funkcí, které mění stav chytrého kontraktu; proto specifikace na nízké úrovni pomáhají specifikovat požadavky na interní exekuci kontraktu.
+Jednoduše řečeno, nízkoúrovňové specifikace analyzují _trasování programu_ a pokoušejí se definovat vlastnosti chytrého kontraktu na základě tohoto trasování. Sledy odkazují na sekvence provádění funkcí, které mění stav chytrého kontraktu; proto specifikace na nízké úrovni pomáhají specifikovat požadavky na interní exekuci kontraktu.
Formální specifikace na nízké úrovni mohou být uvedeny buď jako vlastnosti ve stylu Hoareovy logiky, nebo jako invarianty na exekučních cestách.
### Vlastnosti ve stylu Hoareovy logiky {#hoare-style-properties}
-[Hoareova logika](https://en.wikipedia.org/wiki/Hoare_logic) poskytuje sadu formálních pravidel pro uvažování o správnosti programů, včetně chytrých kontraktů. Vlastnost ve stylu Hoareovy logiky je reprezentována jako Hoareova trojice \{_P_}_c_\{_Q_}, kde _c_ je program a _P_ a _Q_ jsou predikáty na stavu _c_ (tj. programu), formálně popsané jako _předpoklady_ a _podmínky následku_.
+[Hoareova logika](https://en.wikipedia.org/wiki/Hoare_logic) poskytuje sadu formálních pravidel pro uvažování o správnosti programů, včetně chytrých kontraktů. Vlastnost ve stylu Hoareovy logiky je reprezentována Hoareovou trojicí `{P}c{Q}`, kde `c` je program a `P` a `Q` jsou predikáty stavu `c` (tj. programu), formálně popsané jako _vstupní podmínky_ a _výstupní podmínky_.
Předpoklad je predikát popisující podmínky potřebné pro správné provedení funkce; uživatelé volající kontrakt musí tuto podmínku splnit. Podmínka následku je predikát popisující podmínku, kterou funkce stanoví, pokud je správně provedena; uživatelé mohou očekávat, že tato podmínka bude po volání funkce pravdivá. _Invariant_ v Hoareově logice je predikát, který je zachován při provádění funkce (tj. nemění se).
-Specifikace ve stylu Hoareovy logiky mohou zaručit buď _částečnou správnost_, _nebo úplnou správnost_. Implementace funkce kontraktu je „částečně správná“, pokud předpoklad platí před provedením funkce a když provedení končí, podmínka následku je také pravdivá. Důkaz úplné správnosti je obdržen, pokud je předpoklad pravdivý před provedením funkce, dále je zaručeno, že provádění funkce bude ukončeno, a když k tomu dojde, následek bude pravdivý.
+Specifikace ve stylu Hoareovy logiky mohou zaručit buď _částečnou správnost_, nebo _úplnou správnost_. Implementace funkce kontraktu je „částečně správná“, pokud předpoklad platí před provedením funkce a když provedení končí, podmínka následku je také pravdivá. Důkaz úplné správnosti je obdržen, pokud je předpoklad pravdivý před provedením funkce, dále je zaručeno, že provádění funkce bude ukončeno, a když k tomu dojde, následek bude pravdivý.
Získání důkazu o úplné správnosti je obtížné, protože některá provedení se mohou před ukončením opozdit, nebo nemusí být dokončena vůbec. To znamená, že otázka, zda provedení skončí, je pravděpodobně diskutabilní, protože mechanismus paliva na Ethereu zabraňuje nekonečným smyčkám programu (provádění buď úspěšně skončí, nebo skončí kvůli chybě „došlo palivo“).
Specifikace chytrých kontraktů vytvořené pomocí Hoareovy logiky budou mít definovány předpoklady, podmínky následku a invarianty pro provedení funkcí a smyček kontraktu. Předpoklady často zahrnují možnost chybných vstupů funkce, přičemž následky popisují očekávanou reakci na takové vstupy (např. vyvolání specifické výjimky). Tímto způsobem jsou vlastnosti ve stylu Hoareovy logiky účinné při zajišťování správnosti implementací kontraktů.
-Mnoho rámců pro formální verifikaci používá specifikace ve stylu Hoareovy logiky k prokázání sémantické správnosti funkcí. Je také možné přidat vlastnosti ve stylu Hoareovy logiky (jako tvrzení) přímo do kódu kontraktu pomocí příkazů `require` a `assert` v jazyce Solidity.
+Mnoho rámců pro formální verifikaci používá specifikace ve stylu Hoareovy logiky k prokázání sémantické správnosti funkcí. Vlastnosti ve stylu Hoareovy logiky je také možné přidávat (jako tvrzení) přímo do kódu kontraktu pomocí příkazů `require` a `assert` v Solidity.
-Příkazy `require` vyjadřují předpoklad nebo invariant a často se používají k ověření vstupů uživatelů, zatímco `assert` zachycuje podmínku následku nezbytnou pro bezpečnost. Například správná kontrola přístupu k funkcím (příklad bezpečnostní vlastnosti) může být zajištěna pomocí `require` jako předpokladu ověřujícího identitu volajícího účtu. Podobně lze invariant na přípustné hodnoty stavových proměnných v kontraktu (např. celkový počet tokenů v oběhu) chránit před porušením pomocí `assert`, aby se potvrdil stav kontraktu po provedení funkce.
+Příkazy `require` vyjadřují vstupní podmínku nebo invariant a často se používají k ověření uživatelských vstupů, zatímco `assert` zachycuje výstupní podmínku nezbytnou pro bezpečnost. Například řádné řízení přístupu k funkcím (příklad bezpečnostní vlastnosti) lze dosáhnout pomocí příkazu `require` jako kontroly vstupní podmínky identity volajícího účtu. Podobně lze invariant přípustných hodnot stavových proměnných v kontraktu (např. celkový počet tokenů v oběhu) ochránit před porušením pomocí `assert`, který potvrdí stav kontraktu po provedení funkce.
### Vlastnosti na úrovni trasování {#trace-level-properties}
Specifikace založené na trasování popisují operace, které mění různé stavy kontraktu, a vztahy mezi těmito operacemi. Jak jsme vysvětlili výše, trasy jsou sekvence operací, které mění stav kontraktu určitým způsobem.
-Tento přístup se spoléhá na modelování chytrých kontraktů jako systémů změny stavů s předdefinovanými stavy (popisovanými stavovými proměnnými) spolu se souborem předdefinovaných přechodů (popisovaných funkcemi kontraktu). Dále se často používá [graf toků řízení](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/) (CFG), což je grafické znázornění toku provádění programu, pro popis operační sémantiky kontraktu. V něm je každá trasa reprezentována jako cesta na tomto grafu toků řízení.
+Tento přístup se spoléhá na modelování chytrých kontraktů jako systémů změny stavů s předdefinovanými stavy (popisovanými stavovými proměnnými) spolu se souborem předdefinovaných přechodů (popisovaných funkcemi kontraktu). Dále se pro popis operační sémantiky kontraktu často používá [graf řídicího toku](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/) (CFG), což je grafické znázornění toku provádění programu. V něm je každá trasa reprezentována jako cesta na tomto grafu toků řízení.
Primárně se specifikace na úrovni tras používají k úvahám o vzorcích interního provádění v chytrých kontraktech. Vytvořením specifikací na úrovni tras se ujišťujeme o přípustných cestách provedení (tj. přechodech stavů) pro daný chytrý kontrakt. Pomocí technik, jako je symbolické provádění, můžeme formálně ověřit, že provedení nikdy nenásleduje cestu, která není definována ve formálním modelu.
-Použijme příklad [DAO](/dao/) kontraktu, který má několik veřejně přístupných funkcí, abychom popsali vlastnosti na úrovni tras. Pro tento příklad předpokládáme, že DAO kontrakt umožňuje uživatelům provádět následující operace:
+Pro popis vlastností na úrovni trasování použijme příklad kontraktu [DAO](/dao/), který má několik veřejně přístupných funkcí. Pro tento příklad předpokládáme, že DAO kontrakt umožňuje uživatelům provádět následující operace:
- Vklad prostředků
@@ -100,27 +100,27 @@ Použijme příklad [DAO](/dao/) kontraktu, který má několik veřejně přís
- Požadování vrácení peněz, pokud uživatelé o návrhu nehlasovali
-Příklady vlastností na úrovni tras by mohly být _„uživatelé, kteří nevložili prostředky, nemohou hlasovat o návrhu“_ nebo _„uživatelé, kteří nehlasovali o návrhu, by měli mít vždy možnost požádat o vrácení peněz“_. Obě vlastnosti zajišťují preferované sekvence provádění (hlasování nemůže probíhat _před_ vložením prostředků a požadování vrácení peněz nemůže probíhat _po_ hlasování o návrhu).
+Příkladem vlastností na úrovni trasování může být _„uživatelé, kteří nevloží prostředky, nemohou hlasovat o návrhu“_ nebo _„uživatelé, kteří nehlasují o návrhu, by měli mít vždy možnost požádat o vrácení peněz“_. Obě vlastnosti zajišťují upřednostňované posloupnosti provádění (hlasování nemůže proběhnout _před_ vložením prostředků a žádost o vrácení peněz nemůže proběhnout _po_ hlasování o návrhu).
-## Techniky formální verifikace pro chytré kontrakty {#formal-verification-techniques}
+## Techniky formálního ověření chytrých kontraktů {#formal-verification-techniques}
-### Kontrola modelu {#model-checking}
+### Kontrola modelů {#model-checking}
Kontrola modelu je technika formální verifikace, při které algoritmus kontroluje formální model chytrého kontraktu vůči jeho specifikaci. Při kontrole modelu jsou chytré kontrakty často reprezentovány jako systémy přechodu stavů, zatímco vlastnosti přípustných stavů kontraktu jsou definovány pomocí dočasné logiky.
-Kontrola modelu vyžaduje vytvoření abstraktní matematické reprezentace systému (tj. kontraktu) a vyjádření vlastností tohoto systému pomocí vzorců založených na [výrokové logice](https://www.baeldung.com/cs/propositional-logic). To zjednodušuje úkol algoritmu kontroly modelu, kterým je možné prokázat, že matematický model splňuje daný logický vzorec.
+Kontrola modelů vyžaduje vytvoření abstraktní matematické reprezentace systému (tj. kontraktu) a vyjádření vlastností tohoto systému pomocí vzorců založených na [výrokové logice](https://www.baeldung.com/cs/propositional-logic). To zjednodušuje úkol algoritmu kontroly modelu, kterým je možné prokázat, že matematický model splňuje daný logický vzorec.
-Kontrola modelu se ve formální verifikaci primárně používá k vyhodnocení dočasných vlastností, které popisují chování kontraktu v průběhu času. Dočasné vlastnosti pro chytré kontrakty zahrnují _bezpečnost_ a _živost_, které jsme vysvětlili dříve.
+Kontrola modelu se ve formální verifikaci primárně používá k vyhodnocení dočasných vlastností, které popisují chování kontraktu v průběhu času. Časové vlastnosti chytrých kontraktů zahrnují _bezpečnost_ a _živost_, které jsme vysvětlili dříve.
-Například bezpečnostní vlastnost týkající se kontroly přístupu (např. _Pouze vlastník kontraktu může volat `selfdestruct`_) může být napsána ve formální logice. Poté může algoritmus kontroly modelu ověřit, zda kontrakt splňuje tuto formální specifikaci.
+Například bezpečnostní vlastnost související s řízením přístupu (např. _pouze vlastník kontraktu může volat `selfdestruct`_) může být zapsána ve formální logice. Poté může algoritmus kontroly modelu ověřit, zda kontrakt splňuje tuto formální specifikaci.
Kontrola modelu využívá prozkoumávání stavového prostoru, což zahrnuje konstrukci všech možných stavů chytrého kontraktu a pokus o nalezení dosažitelných stavů, které vedou k porušení chtěných vlastností. To však může vést k nekonečnému počtu stavů (známému jako „problém explozí stavů“), proto se při kontrole modelu spoléhejte na abstrakční techniky, které umožňují efektivní analýzu chytrých kontraktů.
-### Dokazování vět {#theorem-proving}
+### Dokazování teorémů {#theorem-proving}
Dokazování věz je metoda matematického uvažování o správnosti programů, včetně chytrých kontraktů. Spočívá v transformaci modelu systému kontraktu a jeho specifikací na matematické formule (logické výroky).
-Cílem dokazování vět je ověřit logickou ekvivalenci mezi těmito výroky. „Logická ekvivalence“ (také nazývaná „obousměrná logická implikace“) je typ vztahu mezi dvěma výroky, kdy první výrok je pravdivý, _pokud a jen pokud_ je pravdivý i druhý výrok.
+Cílem dokazování vět je ověřit logickou ekvivalenci mezi těmito výroky. „Logická ekvivalence“ (také nazývaná „logická biimplikace“) je typ vztahu mezi dvěma výroky, kdy první výrok je pravdivý _právě tehdy, když_ je pravdivý i druhý výrok.
Požadovaný vztah (logická ekvivalence) mezi výroky o modelu kontraktu a jeho vlastnostech je formulován jako dokazatelný výrok (nazývaný věta). Pomocí formálního systému odvozování může automatizovaný důkazní systém ověřit platnost této věty. Jinými slovy, důkazní systém může jednoznačně prokázat, že model chytrého kontraktu přesně odpovídá jeho specifikacím.
@@ -130,13 +130,13 @@ V důsledku toho je často k vedení důkazního systému při odvozování důk
### Symbolické provádění {#symbolic-execution}
-Symbolické provádění je metoda analýzy chytrých kontraktů, která provádí funkce pomocí _symbolických hodnot_ (např. `x > 5`) místo _konkrétních hodnot_ (např. `x == 5`). Jako technika formální verifikace se symbolické provádění používá k formálnímu uvažování o vlastnostech na úrovni tras v kódu kontraktu.
+Symbolické provádění je metoda analýzy chytrého kontraktu prováděním funkcí s použitím _symbolických hodnot_ (např. `x > 5`) namísto _konkrétních hodnot_ (např. `x == 5`). Jako technika formální verifikace se symbolické provádění používá k formálnímu uvažování o vlastnostech na úrovni tras v kódu kontraktu.
-Symbolické provádění reprezentuje trasu provádění jako matematický vzorec nad symbolickými vstupními hodnotami, které se jinak nazývají _predikát cesty_. K ověření, zda je predikát cesty „splnitelný“ (tj. zda existuje hodnota, která může vzorec splnit), se používá [SMT solver](https://en.wikipedia.org/wiki/Satisfiability_modulo_theories). Pokud je zranitelná trasa splnitelná, SMT solver vygeneruje konkrétní hodnotu, která nasměruje provádění směrem k této trase.
+Symbolické provádění představuje trasování provádění jako matematický vzorec nad symbolickými vstupními hodnotami, jinak nazývaný _predikát cesty_. [SMT solver](https://en.wikipedia.org/wiki/Satisfiability_modulo_theories) se používá ke kontrole, zda je predikát cesty „splnitelný“ (tj. zda existuje hodnota, která může splnit vzorec). Pokud je zranitelná trasa splnitelná, SMT solver vygeneruje konkrétní hodnotu, která nasměruje provádění směrem k této trase.
-Předpokládejme, že funkce chytrého kontraktu přijímá jako vstup hodnotu typu `uint` (`x`) a vrací chybu, když je `x` větší než `5` a zároveň menší než `10`. Nalezení hodnoty pro `x`, která vyvolá chybu, by pomocí běžného testovacího postupu vyžadovalo provedení desítek testovacích případů (nebo více) bez záruky, že skutečně najdete vstup, který chybu vyvolá.
+Předpokládejme, že funkce chytrého kontraktu přijímá jako vstup hodnotu typu `uint` (`x`) a vrátí se zpět, když je `x` větší než `5` a zároveň menší než `10`. Nalezení hodnoty `x`, která spustí chybu, by při běžném testovacím postupu vyžadovalo projít desítky testovacích případů (nebo více), aniž by byla zaručena skutečná nalezení vstupu, který chybu spouští.
-Naopak, nástroj pro symbolické provádění by funkci spustil se symbolickou hodnotou: `X > 5 ∧ X < 10` (tj. `x` je větší než 5 A `x` je menší než 10). Příslušný predikát cesty `x = X > 5 ∧ X < 10` by byl poté zadán SMT solveru k vyřešení. Pokud nějaká hodnota splňuje vzorec `x = X > 5 ∧ X < 10`, SMT solver ji vypočítá – například solver může pro `x` vygenerovat hodnotu `7`.
+Naopak, nástroj pro symbolické provádění by funkci provedl se symbolickou hodnotou: `X > 5 ∧ X < 10` (tj. `x` je větší než 5 A ZÁROVEŇ `x` je menší než 10). Přidružený predikát cesty `x = X > 5 ∧ X < 10` by pak byl předán SMT solveru k vyřešení. Pokud konkrétní hodnota splňuje vzorec `x = X > 5 ∧ X < 10`, SMT solver ji vypočítá – například může pro `x` vytvořit hodnotu `7`.
Protože se symbolické provádění spoléhá na vstupy programu a množina vstupů pro prozkoumání všech dosažitelných stavů je potenciálně nekonečná, stále se jedná o formu testování. Jak však ukazuje příklad, symbolické provádění je efektivnější než běžné testování pro hledání vstupů, které vyvolávají porušení vlastností.
@@ -152,29 +152,30 @@ function safe_add(uint x, uint y) returns(uint z){
require(z>=y);
return z;
+}
```
-Trasování provádění, které vede k přetečení celého čísla, by muselo splňovat vzorec: `z = x + y AND (z >= x) AND (z=>y) AND (z < x OR z < y)` Takový vzorec je nepravděpodobný k vyřešení, slouží tedy jako matematický důkaz, že funkce `safe_add` nikdy nepřeteče.
+Trasování provádění, které má za následek celočíselné přetečení, by muselo splňovat vzorec: `z = x + y AND (z >= x) AND (z >= y) AND (z < x OR z < y)`. Takový vzorec je nepravděpodobné vyřešit, proto slouží jako matematický důkaz, že funkce `safe_add` nikdy nepřeteče.
-### Proč používat formální ověřování pro chytré kontrakty? {#benefits-of-formal-verification}
+### Proč používat formální ověřování pro chytré kontrakty? Výhody formálního ověření {#benefits-of-formal-verification}
#### Potřeba spolehlivosti {#need-for-reliability}
-Formální ověřování se používá k posouzení správnosti systémů kritických z hlediska bezpečnosti, jejichž selhání může mít katastrofální následky, jako je smrt, zranění nebo finanční krach. Chytré kontrakty jsou aplikace s vysokou hodnotou, které ovládají obrovské množství hodnot, a jednoduché chyby v návrhu mohou vést k [nezvratným ztrátám pro uživatele](https://www.freecodecamp.org/news/a-hacker-stole-31m-of-ether-how-it-happened-and-what-it-means-for-ethereum-9e5dc29e33ce/amp/). Formální ověření kontraktu před jeho nasazením však může zvýšit záruku, že bude po spuštění na blockchainu fungovat dle očekávání.
+Formální ověřování se používá k posouzení správnosti systémů kritických z hlediska bezpečnosti, jejichž selhání může mít katastrofální následky, jako je smrt, zranění nebo finanční krach. Chytré kontrakty jsou vysoce hodnotné aplikace, které ovládají obrovské množství hodnot, a jednoduché chyby v návrhu mohou vést k [nenávratným ztrátám pro uživatele](https://www.freecodecamp.org/news/a-hacker-stole-31m-of-ether-how-it-happened-and-what-it-means-for-ethereum-9e5dc29e33ce/amp/). Formální ověření kontraktu před jeho nasazením však může zvýšit záruku, že bude po spuštění na blockchainu fungovat dle očekávání.
Spolehlivost je velmi žádaná vlastnost každého chytrého kontraktu, zejména proto, že kód nasazený ve virtuálním stroji Etherea (EVM) je obvykle neměnný. Vzhledem k tomu, že aktualizace po spuštění nejsou snadno dostupné, je nutné zaručit spolehlivost kontraktu a provést formální ověření. Formální ověřování dokáže odhalit záludné problémy, jako je přetečení a podtečení integerů, reentrace a špatná optimalizace paliva, které mohou auditorům a testerům uniknout.
-#### Prokázání funkční správnosti {#prove-functional-correctness}
+#### Důkaz funkční správnosti {#prove-functional-correctness}
Testování programu je nejběžnější metodou, jak prokázat, že chytrý kontrakt splňuje určité požadavky. To zahrnuje spuštění kontraktu se vzorkem dat, která má zpracovávat, a analýzu jeho chování. Pokud kontrakt vrátí očekávané výsledky pro vzorová data, mají vývojáři objektivní důkaz jeho správnosti.
-Tento přístup však nemůže prokázat správné provedení pro vstupní hodnoty, které nejsou součástí vzorku. Proto testování kontraktu může pomoci odhalit chyby (tj. pokud některé cesty kódu nevracejí během provádění požadované výsledky), ale **nemůže jednoznačně prokázat neexistenci chyb**.
+Tento přístup však nemůže prokázat správné provedení pro vstupní hodnoty, které nejsou součástí vzorku. Testování kontraktu proto může pomoci odhalit chyby (tj. pokud některé cesty kódu během provádění nevrátí požadované výsledky), ale **nemůže nezvratně prokázat nepřítomnost chyb**.
-Naopak formální ověřování může formálně dokázat, že chytrý kontrakt splňuje požadavky pro nekonečný rozsah provedení _bez toho_, aby se kontrakt vůbec spustil. To vyžaduje vytvoření formální specifikace, která přesně popisuje správné chování kontraktu, a vytvoření formálního (matematického) modelu systému kontraktu. Poté můžeme formálním důkazním postupem zkontrolovat soulad mezi modelem kontraktu a jeho specifikací.
+Naopak, formální ověření může formálně prokázat, že chytrý kontrakt splňuje požadavky pro nekonečný rozsah provádění, _aniž_ by se kontrakt vůbec spouštěl. To vyžaduje vytvoření formální specifikace, která přesně popisuje správné chování kontraktu, a vytvoření formálního (matematického) modelu systému kontraktu. Poté můžeme formálním důkazním postupem zkontrolovat soulad mezi modelem kontraktu a jeho specifikací.
Při formálním ověřování je otázka ověření, zda obchodní logika kontraktu splňuje požadavky, matematickým tvrzením, které lze dokázat nebo vyvrátit. Formálním dokazováním tvrzení můžeme ověřit nekonečný počet testovacích případů s konečným počtem kroků. Tímto způsobem má formální ověření lepší vyhlídky prokázat, že kontrakt je funkčně shodný se specifikací.
-#### Ideální cíle ověřování {#ideal-verification-targets}
+#### Ideální cíle ověření {#ideal-verification-targets}
Cíl ověřování popisuje systém, který má být formálně ověřen. Formální ověřování se nejlépe používá ve „vestavěných systémech“ (malých, jednoduchých částech softwaru, které jsou součástí většího systému). Jsou také ideální pro specializované domény, které mají málo pravidel, protože to usnadňuje úpravu nástrojů pro ověřování vlastností specifických pro danou doménu.
@@ -182,15 +183,15 @@ Chytré kontrakty – alespoň do určité míry – splňují oba požadavky. N
### Rychlejší vývojový cyklus {#faster-development-cycle}
-Techniky formálního ověřování, jako je kontrola modelu a symbolické provádění, jsou obecně účinnější než běžná analýza kódu chytrých kontraktů (prováděná během testování nebo auditu). Je to proto, že formální ověřování se při testování tvrzení spoléhá na symbolické hodnoty („co když se uživatel pokusí vybrat _n_ etheru?“) na rozdíl od testování, které používá konkrétní hodnoty („co když se uživatel pokusí vybrat 5 etheru?“).
+Techniky formálního ověřování, jako je kontrola modelu a symbolické provádění, jsou obecně účinnější než běžná analýza kódu chytrých kontraktů (prováděná během testování nebo auditu). Je to proto, že formální ověření se spoléhá na symbolické hodnoty pro testování tvrzení („co když se uživatel pokusí vybrat _n_ etheru?“) na rozdíl od testování, které používá konkrétní hodnoty („co když se uživatel pokusí vybrat 5 etheru?“).
Symbolické vstupní proměnné mohou pokrývat více tříd konkrétních hodnot, takže formální ověřovací přístupy slibují větší pokrytí kódu v kratším časovém horizontu. Pokud se formální ověřování používá efektivně, může vývojářům urychlit vývojový cyklus.
Formální ověřování také zlepšuje proces vytváření decentralizovaných aplikací (dappek) tím, že omezuje nákladné chyby v návrhu. Aktualizace kontraktů (tam, kde je to možné) za účelem opravy zranitelností vyžaduje rozsáhlé přepisování kódových základen a větší úsilí vynaložené na vývoj. Formální ověřování může odhalit mnoho chyb v implementacích kontraktů, které mohou testerům a auditorům uniknout, a poskytuje dostatek příležitostí k jejich odstranění před nasazením kontraktu.
-## Nevýhody formálního ověřování {#drawbacks-of-formal-verification}
+## Nevýhody formálního ověření {#drawbacks-of-formal-verification}
-### Náklady na ruční práci {#cost-of-manual-labor}
+### Náklady na manuální práci {#cost-of-manual-labor}
Formální ověřování, zejména poloautomatické ověřování, při němž člověk vede dokazovací nástroj při odvozování důkazů správnosti, vyžaduje značné množství ruční práce. Tvorba formální specifikace je navíc složitá činnost, která vyžaduje vysokou úroveň dovedností.
@@ -202,82 +203,82 @@ Formální ověřování může pouze zkontrolovat, zda provedení chytrého kon
Pokud jsou specifikace špatně napsané, porušení vlastností, které poukazují na zranitelná provedení, nelze při auditu formálního ověřování odhalit. V takovém případě by se vývojář mohl mylně domnívat, že kontrakt je bez chyb.
-### Výkonnostní problémy {#performance-issues}
+### Problémy s výkonem {#performance-issues}
Formální ověřování naráží na řadu výkonnostních problémů. Například problémy s explozí stavů a cest, které se vyskytují při kontrole modelu, resp. symbolické kontrole, mohou ovlivnit verifikační postupy. Dále formální ověřovací nástroje často používají ve své základní vrstvě SMT řešiče a jiné řešiče omezení a ty se spoléhají na výpočetně náročné postupy.
-Také není vždy možné, aby ověřovatelé programů určili, zda je vlastnost (popsaná jako logická formule) splnitelná nebo ne („problém [rozhodnutelnosti](https://en.wikipedia.org/wiki/Decision_problem)“), protože program nemusí být nikdy ukončen. Proto může být nemožné prokázat některé vlastnosti kontraktu, i když je dobře specifikovaný.
+Také není vždy možné, aby ověřovatelé programů určili, zda je vlastnost (popsaná jako logická formule) splnitelná nebo ne („[problém rozhodnutelnosti](https://en.wikipedia.org/wiki/Decision_problem)“), protože program nemusí být nikdy ukončen. Proto může být nemožné prokázat některé vlastnosti kontraktu, i když je dobře specifikovaný.
-## Nástroje pro formální ověřování chytrých kontraktů na Ethereu {#formal-verification-tools}
+## Nástroje pro formální ověření chytrých kontraktů na Ethereu {#formal-verification-tools}
### Specifikační jazyky pro vytváření formálních specifikací {#specification-languages}
-**Act** – _*Act umožňuje specifikovat aktualizace úložiště, předběžné/následné podmínky a invarianty kontraktu. Jeho sada nástrojů má také dokazovací backendy, které dokáží dokázat mnoho vlastností pomocí Coq, SMT solverů nebo hevm.**
+**Act**: __Act umožňuje specifikaci aktualizací úložiště, vstupních/výstupních podmínek a invariantů kontraktu._ Jeho sada nástrojů má také dokazovací backendy, které dokáží dokázat mnoho vlastností pomocí Coq, SMT solverů nebo hevm.\*_
- [GitHub](https://github.com/ethereum/act)
-- [Dokumentace](https://ethereum.github.io/act/)
+- [Dokumentace](https://github.com/argotorg/act)
-**Scribble** – _*Scribble transformuje anotace kódu ve specifikačním jazyce Scribble na konkrétní tvrzení, která kontrolují specifikaci.**
+**Scribble** - __Scribble transformuje anotace v kódu ve specifikačním jazyce Scribble do konkrétních tvrzení, která kontrolují specifikaci.__
- [Dokumentace](https://docs.scribble.codes/)
-**Dafny** – _*Dafny je programovací jazyk připravený na ověřování, který se spoléhá na vysokoúrovňové anotace pro zdůvodnění a prokázání správnosti kódu.**
+**Dafny** - __Dafny je programovací jazyk připravený na ověřování, který se spoléhá na vysokoúrovňové anotace pro zdůvodnění a prokázání správnosti kódu.__
- [GitHub](https://github.com/dafny-lang/dafny)
### Ověřovače programů pro kontrolu správnosti {#program-verifiers}
-**Certora Prover** – _Certora Prover je automatický formální ověřovací nástroj pro kontrolu správnosti kódu v chytrých kontraktech. Specifikace jsou napsány v jazyce CVL (Certora Verification Language), přičemž porušení vlastností se zjišťuje pomocí kombinace statické analýzy a řešení omezení._
+**Certora Prover** - _Certora Prover je automatický nástroj pro formální ověření, který kontroluje správnost kódu v chytrých kontraktech. Specifikace jsou napsány v jazyce CVL (Certora Verification Language), přičemž porušení vlastností se zjišťuje pomocí kombinace statické analýzy a řešení omezení._
-- [Web](https://www.certora.com/)
+- [Webové stránky](https://www.certora.com/)
- [Dokumentace](https://docs.certora.com/en/latest/index.html)
-**Solidity SMTChecker** – _*Solidity SMTChecker je vestavěný ověřovač modelu založený na SMT (Satisfiability Modulo Theories) a Hornově řešení. Během kompilace potvrzuje, zda zdrojový kód kontraktu odpovídá specifikacím, a staticky kontroluje, zda nejsou porušeny bezpečnostní vlastnosti.**
+**Solidity SMTChecker** - __SMTChecker v Solidity je vestavěný nástroj pro kontrolu modelů založený na SMT (Satisfiability Modulo Theories) a Hornově řešení._ Během kompilace potvrzuje, zda zdrojový kód kontraktu odpovídá specifikacím, a staticky kontroluje, zda nejsou porušeny bezpečnostní vlastnosti.\*_
- [GitHub](https://github.com/ethereum/solidity)
-**solc-verify** – _*solc-verify je rozšířená verze kompilátoru Solidity, která dokáže provádět automatické formální ověřování kódu Solidity pomocí anotací a modulárního ověřování programu.**
+**solc-verify** - __solc-verify je rozšířená verze kompilátoru Solidity, která dokáže provádět automatické formální ověřování kódu v Solidity pomocí anotací a modulárního ověřování programů.__
- [GitHub](https://github.com/SRI-CSL/solidity)
-**KEVM** – _*KEVM je formální sémantika virtuálního stroje Etherea (EVM) napsaná ve frameworku K. KEVM je spustitelný a může dokazovat určitá tvrzení týkající se vlastností pomocí logiky dosažitelnosti.**
+**KEVM** - __KEVM je formální sémantika Ethereum Virtual Machine (EVM) napsaná v K frameworku._ KEVM je spustitelný a může dokazovat určitá tvrzení týkající se vlastností pomocí logiky dosažitelnosti.\*_
- [GitHub](https://github.com/runtimeverification/evm-semantics)
- [Dokumentace](https://jellopaper.org/)
-### Logické frameworky pro dokazování tvrzení {#theorem-provers}
+### Logické frameworky pro dokazování teorémů {#theorem-provers}
-**Isabelle** – _Isabelle/HOL je dokazovací pomocník, který umožňuje vyjádřit matematické formule ve formálním jazyce a poskytuje nástroje pro dokazování těchto formulí. Hlavní aplikací je formalizace matematických důkazů a zejména formální ověřování, které zahrnuje dokazování správnosti počítačového hardwaru nebo softwaru a dokazování vlastností počítačových jazyků a protokolů._
+**Isabelle** - _Isabelle/HOL je dokazovací asistent, který umožňuje vyjádřit matematické formule ve formálním jazyce a poskytuje nástroje pro dokazování těchto formulí. Hlavní aplikací je formalizace matematických důkazů a zejména formální ověřování, které zahrnuje dokazování správnosti počítačového hardwaru nebo softwaru a dokazování vlastností počítačových jazyků a protokolů._
- [GitHub](https://github.com/isabelle-prover)
- [Dokumentace](https://isabelle.in.tum.de/documentation.html)
-**Coq** – _Coq je interaktivní dokazovací nástroj, který umožňuje definovat programy pomocí vět a interaktivně generovat strojově kontrolované důkazy správnosti._
+**Rocq** - _Rocq je interaktivní dokazovač teorémů, který umožňuje definovat programy pomocí teorémů a interaktivně generovat strojově kontrolované důkazy správnosti._
-- [GitHub](https://github.com/coq/coq)
-- [Dokumentace](https://coq.github.io/doc/v8.13/refman/index.html)
+- [GitHub](https://github.com/rocq-prover/rocq)
+- [Dokumentace](https://rocq-prover.org/docs)
-### Nástroje pro odhalování zranitelných vzorů v chytrých kontraktech založené na symbolickém provádění {#symbolic-execution-tools}
+### Nástroje založené na symbolickém provádění pro detekci zranitelných vzorů v chytrých kontraktech {#symbolic-execution-tools}
-**Manticore** – _*Nástroj pro analýzu bytekódu EVM založený na symbolickém provádění*.*
+**Manticore** - __Nástroj pro analýzu bajtkódu EVM založený na symbolickém provádění_._
- [GitHub](https://github.com/trailofbits/manticore)
- [Dokumentace](https://github.com/trailofbits/manticore/wiki)
-**hevm** – _*hevm je nástroj pro symbolické provádění a kontrolu ekvivalence pro bytekód EVM.**
+**hevm** - __hevm je nástroj pro symbolické provádění a kontrolu ekvivalence pro bajtkód EVM.__
- [GitHub](https://github.com/dapphub/dapptools/tree/master/src/hevm)
-**Mythril** – _Nástroj pro symbolické provádění k odhalování zranitelností v chytrých kontraktech Etherea._
+**Mythril** - _Nástroj pro symbolické provádění k odhalování zranitelností v chytrých kontraktech Etherea_
- [GitHub](https://github.com/ConsenSys/mythril-classic)
- [Dokumentace](https://mythril-classic.readthedocs.io/en/develop/)
-## Další četba {#further-reading}
+## Další čtení {#further-reading}
-- [Jak funguje formální ověřování chytrých kontraktů](https://runtimeverification.com/blog/how-formal-verification-of-smart-contracts-works/)
-- [Jak může formální ověřování zajistit bezchybné chytré kontrakty](https://media.consensys.net/how-formal-verification-can-ensure-flawless-smart-contracts-cbda8ad99bd1)
-- [Přehled projektů formálního ověřování v ekosystému Etherea](https://github.com/leonardoalt/ethereum_formal_verification_overview)
-- [Formální end-to-end ověřování chytrého kontraktu Ethereum 2.0 Deposit Smart Contract](https://runtimeverification.com/blog/end-to-end-formal-verification-of-ethereum-2-0-deposit-smart-contract/)
+- [Jak funguje formální ověření chytrých kontraktů](https://runtimeverification.com/blog/how-formal-verification-of-smart-contracts-works/)
+- [Jak může formální ověření zajistit bezchybné chytré kontrakty](https://media.consensys.net/how-formal-verification-can-ensure-flawless-smart-contracts-cbda8ad99bd1)
+- [Přehled projektů formálního ověření v ekosystému Etherea](https://github.com/leonardoalt/ethereum_formal_verification_overview)
+- [End-to-end formální ověření chytrého kontraktu pro vklad na Ethereum 2.0](https://runtimeverification.com/blog/end-to-end-formal-verification-of-ethereum-2-0-deposit-smart-contract/)
- [Formální ověření nejoblíbenějšího chytrého kontraktu na světě](https://www.zellic.io/blog/formal-verification-weth)
-- [SMTChecker a formální ověřování](https://docs.soliditylang.org/en/v0.8.15/smtchecker.html)
+- [SMTChecker a formální ověření](https://docs.soliditylang.org/en/v0.8.15/smtchecker.html)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/index.md b/public/content/translations/cs/developers/docs/smart-contracts/index.md
index 1608d0dd257..6459332d824 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/index.md
@@ -4,26 +4,26 @@ description: Přehled smart kontraktů se zaměřením na jejich jedinečné vla
lang: cs
---
-## Co to je smart kontrakt? {#what-is-a-smart-contract}
+## Co to je smart kontrakt? Co je to chytrý kontrakt? {#what-is-a-smart-contract}
„Smart kontrakt“ je jednoduše program, který je spuštěn na blockchainu Ethereum. Je to sbírka kódu (jeho funkcí) a dat (jeho stavu), které sídlí na specifické adrese na blockchainu Ethereum.
-Smart kontrakty jsou typem [účtu na Ethereu](/developers/docs/accounts/). To znamená, že mají zůstatek a mohou být cílem transakcí. Nejsou však ovládány uživatelem, místo toho jsou nasazeny na síť a běží podle toho, jak jsou naprogramovány. Uživatelé pak mohou interagovat se smart kontraktem prostřednictvím transakcí, které spouštějí funkce definované na smart kontraktu. Smart kontrakty mohou definovat pravidla, podobně jako běžné smlouvy, a automaticky je vynucovat prostřednictvím kódu. Smart kontrakty nelze ve výchozím nastavení smazat a interakce s nimi jsou nevratné.
+Chytré kontrakty jsou typem [účtu na Ethereu](/developers/docs/accounts/). To znamená, že mají zůstatek a mohou být cílem transakcí. Nejsou však ovládány uživatelem, místo toho jsou nasazeny na síť a běží podle toho, jak jsou naprogramovány. Uživatelé pak mohou interagovat se smart kontraktem prostřednictvím transakcí, které spouštějí funkce definované na smart kontraktu. Smart kontrakty mohou definovat pravidla, podobně jako běžné smlouvy, a automaticky je vynucovat prostřednictvím kódu. Smart kontrakty nelze ve výchozím nastavení smazat a interakce s nimi jsou nevratné.
## Předpoklady {#prerequisites}
-Pokud teprve začínáte nebo hledáte méně technický úvod, doporučujeme si přečíst naši [úvodní příručku ke smart kontraktům](/smart-contracts/).
+Pokud teprve začínáte nebo hledáte méně technický úvod, doporučujeme naši [úvodní příručku k chytrým kontraktům](/smart-contracts/).
-Ujistěte se, že jste si přečetli informace o [účtech](/developers/docs/accounts/), [transakcích](/developers/docs/transactions/) a [Virtuálním stroji Etherea](/developers/docs/evm/), než se pustíte do světa smart kontraktů.
+Než se pustíte do světa chytrých kontraktů, přečtěte si o [účtech](/developers/docs/accounts/), [transakcích](/developers/docs/transactions/) a [Ethereum Virtual Machine (EVM)](/developers/docs/evm/).
-## Digitální výdejní automat {#a-digital-vending-machine}
+## Digitální prodejní automat {#a-digital-vending-machine}
-Možná nejlepší metaforou pro smart kontrakt je výdejní automat, jak jej popsal [Nick Szabo](https://unenumerated.blogspot.com/). S těmi správnými vstupy je zaručen určitý výstup.
+Možná nejlepší metaforou pro chytrý kontrakt je prodejní automat, jak ho popsal [Nick Szabo](https://unenumerated.blogspot.com/). S těmi správnými vstupy je zaručen určitý výstup.
Pakliže chcete svačinu z prodejního automatu:
```
-money + snack selection = snack dispensed
+peníze + výběr občerstvení = vydané občerstvení
```
Tato logika je naprogramována do automatu.
@@ -35,28 +35,28 @@ pragma solidity 0.8.7;
contract VendingMachine {
- // Declare state variables of the contract
+ // Deklarace stavových proměnných kontraktu
address public owner;
mapping (address => uint) public cupcakeBalances;
- // When 'VendingMachine' contract is deployed:
- // 1. set the deploying address as the owner of the contract
- // 2. set the deployed smart contract's cupcake balance to 100
+ // Když je kontrakt 'VendingMachine' nasazen:
+ // 1. nastaví adresu nasazujícího jako vlastníka kontraktu
+ // 2. nastaví zůstatek cupcake v nasazeném chytrém kontraktu na 100
constructor() {
owner = msg.sender;
cupcakeBalances[address(this)] = 100;
}
- // Allow the owner to increase the smart contract's cupcake balance
+ // Umožní vlastníkovi navýšit zůstatek cupcake v chytrém kontraktu
function refill(uint amount) public {
- require(msg.sender == owner, "Only the owner can refill.");
+ require(msg.sender == owner, "Doplňovat může pouze vlastník.");
cupcakeBalances[address(this)] += amount;
}
- // Allow anyone to purchase cupcakes
+ // Umožní komukoliv zakoupit cupcake
function purchase(uint amount) public payable {
- require(msg.value >= amount * 1 ether, "You must pay at least 1 ETH per cupcake");
- require(cupcakeBalances[address(this)] >= amount, "Not enough cupcakes in stock to complete this purchase");
+ require(msg.value >= amount * 1 ether, "Za jeden cupcake musíte zaplatit alespoň 1 ETH");
+ require(cupcakeBalances[address(this)] >= amount, "Na skladě není dostatek cupcaků k dokončení tohoto nákupu");
cupcakeBalances[address(this)] -= amount;
cupcakeBalances[msg.sender] += amount;
}
@@ -65,48 +65,48 @@ contract VendingMachine {
Podobně jako prodejní automat odstraňuje potřebu zaměstnance prodejce, smart kontrakty mohou nahradit prostředníky v mnoha průmyslových odvětvích.
-## Bez nutnosti povolení {#permissionless}
+## Bez povolení {#permissionless}
-Kdokoli může napsat smart kontrakt a vypustit ho na síť. Stačí se naučit programovat v [jazyce pro smart kontrakty](/developers/docs/smart-contracts/languages/) a mít dostatek ETH k nasazení kontraktu. Nasazení smart kontraktu je z technického hlediska transakcí, takže musíte zaplatit poplatek za [palivo](/developers/docs/gas/), stejně jako při jednoduchém převodu ETH. Náklady na palivo jsou však při nasazení kontraktu mnohem vyšší.
+Kdokoli může napsat smart kontrakt a vypustit ho na síť. Stačí se naučit programovat v [jazyce pro chytré kontrakty](/developers/docs/smart-contracts/languages/) a mít dostatek ETH k nasazení vašeho kontraktu. Nasazení chytrého kontraktu je technicky transakce, takže musíte zaplatit [gas](/developers/docs/gas/) stejným způsobem, jako platíte gas za jednoduchý převod ETH. Náklady na palivo jsou však při nasazení kontraktu mnohem vyšší.
Ethereum má programovací jazyky pro psaní smart kontraktů, které jsou vývojářsky přívětivé:
- Solidity
- Vyper
-[Další informace o jazycích](/developers/docs/smart-contracts/languages/)
+[Více o jazycích](/developers/docs/smart-contracts/languages/)
-Je však třeba je před nasazením zkompilovat, aby je Virtuální stroj Etherea mohl interpretovat a uložit. [Více informací o kompilaci](/developers/docs/smart-contracts/compiling/)
+Je však třeba je před nasazením zkompilovat, aby je Virtuální stroj Etherea mohl interpretovat a uložit. [Více o kompilaci](/developers/docs/smart-contracts/compiling/)
## Složitelnost {#composability}
Chytré kontrakty na Ethereu jsou veřejné a lze je považovat za otevřená API. To znamená, že ve svém smart kontraktu můžete volat jiné smart kontrakty, což značně rozšiřuje vaše možnosti. Kontrakty mohou dokonce nasazovat další kontrakty.
-Další informace o [komponovatelnosti smart kontraktů](/developers/docs/smart-contracts/composability/).
+Zjistěte více o [složitelnosti chytrých kontraktů](/developers/docs/smart-contracts/composability/).
## Omezení {#limitations}
Samotné chytré kontrakty nemohou získávat informace o „skutečných“ událostech, protože nemohou získávat data ze zdrojů mimo blockchain. To znamená, že nemohou reagovat na události ve skutečném světě. Tento design je úmyslný. Spoléhat se na externí informace by mohlo ohrozit konsenzus, což je důležité pro bezpečnost a decentralizaci.
-Nicméně je důležité, aby blockchainové aplikace mohly používat data, která jsou mimo blockchain. Řešením jsou [orákula](/developers/docs/oracles/), což jsou nástroje, které zpracovávají data mimo blockchain a zpřístupňují je chytrým kontraktům.
+Nicméně je důležité, aby blockchainové aplikace mohly používat data, která jsou mimo blockchain. Řešením jsou [orákula](/developers/docs/oracles/), což jsou nástroje, které přijímají data mimo blockchain a zpřístupňují je chytrým kontraktům.
-Dalším omezením smart kontraktů je maximální velikost kontraktu. Smart kontrakt může mít maximálně 24 Kb, jinak dojde k vyčerpání paliva. Toto lze obejít pomocí tzv. [Diamond Pattern](https://eips.ethereum.org/EIPS/eip-2535).
+Dalším omezením smart kontraktů je maximální velikost kontraktu. Smart kontrakt může mít maximálně 24 Kb, jinak dojde k vyčerpání paliva. Tomu se lze vyhnout použitím [The Diamond Pattern](https://eips.ethereum.org/EIPS/eip-2535).
## Multisig kontrakty {#multisig}
-Multisig (vícepodpisové) kontrakty jsou smart kontraktové účty, které vyžadují více platných podpisů k provedení transakce. To je velmi užitečné pro zabránění jednotlivým bodům selhání u kontraktů držících značné množství etheru nebo jiných tokenů. Multisigy také mohou rozdělit odpovědnost za provádění kontraktů a správu klíčů mezi více stran a zabraňují ztrátě prostředků v případě ztráty jediného soukromého klíče. Z těchto důvodů lze multisig kontrakty použít pro jednoduchou správu DAO. Multisigy vyžadují N podpisů z M možných přijatelných podpisů (kde N ≤ M a M > 1) k provedení transakce. Běžně se používají multisigy `N = 3, M = 5` a `N = 4, M = 7`. Multisig 4/7 vyžaduje čtyři ze sedmi možných platných podpisů. To znamená, že prostředky jsou stále dostupné, i když jsou ztraceny tři podpisy. V tomto případě to také znamená, že většina držitelů klíčů musí souhlasit a podepsat, aby mohl být kontrakt exekuován.
+Multisig (vícepodpisové) kontrakty jsou smart kontraktové účty, které vyžadují více platných podpisů k provedení transakce. To je velmi užitečné pro zabránění jednotlivým bodům selhání u kontraktů držících značné množství etheru nebo jiných tokenů. Multisigy také mohou rozdělit odpovědnost za provádění kontraktů a správu klíčů mezi více stran a zabraňují ztrátě prostředků v případě ztráty jediného soukromého klíče. Z těchto důvodů lze multisig kontrakty použít pro jednoduchou správu DAO. Multisigy vyžadují N podpisů z M možných přijatelných podpisů (kde N ≤ M a M > 1) k provedení. Běžně se používají hodnoty `N = 3, M = 5` a `N = 4, M = 7`. Multisig 4/7 vyžaduje čtyři ze sedmi možných platných podpisů. To znamená, že prostředky jsou stále dostupné, i když jsou ztraceny tři podpisy. V tomto případě to také znamená, že většina držitelů klíčů musí souhlasit a podepsat, aby mohl být kontrakt exekuován.
-## Zdroje smart kontraktů {#smart-contract-resources}
+## Zdroje k chytrým kontraktům {#smart-contract-resources}
-**OpenZeppelin Contracts –** **_knihovna pro vývoj bezpečných chytrých kontraktů._**
+**OpenZeppelin Contracts -** **_Knihovna pro bezpečný vývoj chytrých kontraktů._**
- [openzeppelin.com/contracts/](https://openzeppelin.com/contracts/)
- [GitHub](https://github.com/OpenZeppelin/openzeppelin-contracts)
- [Komunitní fórum](https://forum.openzeppelin.com/c/general/16)
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Coinbase: Co je to smart kontrakt?](https://www.coinbase.com/learn/crypto-basics/what-is-a-smart-contract)
-- [Chainlink: Co je to smart kontrakt?](https://chain.link/education/smart-contracts)
-- [Video: Simply Explained – Smart Contracts](https://youtu.be/ZE2HxTmxfrI)
-- [Cyfrin Updraft: Web3 learning and auditing platform](https://updraft.cyfrin.io)
+- [Coinbase: Co je to chytrý kontrakt?](https://www.coinbase.com/learn/crypto-basics/what-is-a-smart-contract)
+- [Chainlink: Co je to chytrý kontrakt?](https://chain.link/education/smart-contracts)
+- [Video: Jednoduše vysvětleno – Chytré kontrakty](https://youtu.be/ZE2HxTmxfrI)
+- [Cyfrin Updraft: Web3 výuková a auditovací platforma](https://updraft.cyfrin.io)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md b/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
index 7ba4c3e0b6f..aef355bdd2c 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
@@ -1,25 +1,25 @@
---
-title: Jazyk chytrých smluv
+title: Jazyk chytrých kontraktů
description: Přehled a srovnání dvou hlavních programovacích jazyků pro smart kontrakty – Solidity a Vyper.
lang: cs
---
-Jednou z výhod Etherea je, že smart kontrakty lze programovat v relativně uživatelsky přívětivých programovacích jazycích. Pokud máte zkušenosti s Pythonem nebo jiným [jazykem používajícím složené závorky](https://wikipedia.org/wiki/List_of_programming_languages_by_type#Curly-bracket_languages), můžete si najít jazyk s podobnou syntaxí.
+Jednou z výhod Etherea je, že smart kontrakty lze programovat v relativně uživatelsky přívětivých programovacích jazycích. Pokud máte zkušenosti s Pythonem nebo jakýmkoli [jazykem se složenými závorkami](https://wikipedia.org/wiki/List_of_programming_languages_by_type#Curly-bracket_languages), můžete najít jazyk se známou syntaxí.
Dva nejaktivnější a nejvíce udržované jazyky jsou:
- Solidity
- Vyper
-Remix IDE poskytuje komplexní vývojové prostředí pro vytváření a testování kontraktů jak v Solidity, tak ve Vyperu. [Vyzkoušejte webový Remix IDE](https://remix.ethereum.org), abyste mohli začít kódovat.
+Remix IDE poskytuje komplexní vývojové prostředí pro vytváření a testování kontraktů jak v Solidity, tak ve Vyperu. [Vyzkoušejte Remix IDE v prohlížeči](https://remix.ethereum.org) a začněte kódovat.
-Zkušenější vývojáři mohou také chtít používat Yul, což je intermediární jazyk pro [Virtuální stroj Etherea](/developers/docs/evm/), nebo Yul+, rozšíření jazyka Yul.
+Zkušenější vývojáři mohou také chtít používat Yul, což je přechodný jazyk pro [Ethereum Virtual Machine](/developers/docs/evm/), nebo Yul+, rozšíření jazyka Yul.
Pokud jste zvědaví a rádi pomáháte testovat nové jazyky, které jsou stále ve fázi intenzivního vývoje, můžete experimentovat s Fe, nově vznikajícím jazykem pro smart kontrakty, který je v současnosti ještě v rané fázi.
## Předpoklady {#prerequisites}
-Předchozí znalosti programovacích jazyků, zejména JavaScriptu nebo Pythonu, vám mohou pomoci lépe porozumět rozdílům mezi jazyky pro smart kontrakty. Doporučujeme také, abyste nejprve pochopili koncept smart kontraktů, než se ponoříte do srovnání jazyků. [Úvod do smart kontraktů](/developers/docs/smart-contracts/).
+Předchozí znalosti programovacích jazyků, zejména JavaScriptu nebo Pythonu, vám mohou pomoci lépe porozumět rozdílům mezi jazyky pro smart kontrakty. Doporučujeme také, abyste nejprve pochopili koncept smart kontraktů, než se ponoříte do srovnání jazyků. [Úvod do chytrých kontraktů](/developers/docs/smart-contracts/).
## Solidity {#solidity}
@@ -35,47 +35,47 @@ Předchozí znalosti programovacích jazyků, zejména JavaScriptu nebo Pythonu,
- [Dokumentace](https://docs.soliditylang.org/en/latest/)
- [Portál jazyka Solidity](https://soliditylang.org/)
-- [Solidity by Example](https://docs.soliditylang.org/en/latest/solidity-by-example.html)
+- [Příklady v Solidity](https://docs.soliditylang.org/en/latest/solidity-by-example.html)
- [GitHub](https://github.com/ethereum/solidity/)
-- [Solidity Gitter Chatroom](https://gitter.im/ethereum/solidity) propojeno se [Solidity Matrix Chatroom](https://matrix.to/#/#ethereum_solidity:gitter.im)
+- [Diskusní místnost Solidity na Gitteru](https://gitter.im/ethereum/solidity) přemostěná do [diskusní místnosti Solidity na Matrixu](https://matrix.to/#/#ethereum_solidity:gitter.im)
- [Tahák](https://reference.auditless.com/cheatsheet)
- [Blog Solidity](https://blog.soliditylang.org/)
-- [Twitter Solidity](https://twitter.com/solidity_lang)
+- [Solidity na Twitteru](https://twitter.com/solidity_lang)
-### Ukázkový kontrakt {#example-contract}
+### Příklad kontraktu {#example-contract}
```solidity
// SPDX-License-Identifier: GPL-3.0
pragma solidity >= 0.7.0;
contract Coin {
- // The keyword "public" makes variables
- // accessible from other contracts
+ // Klíčové slovo "public" zpřístupňuje proměnné
+ // z ostatních kontraktů
address public minter;
mapping (address => uint) public balances;
- // Events allow clients to react to specific
- // contract changes you declare
+ // Události umožňují klientům reagovat na specifické
+ // změny kontraktu, které deklarujete
event Sent(address from, address to, uint amount);
- // Constructor code is only run when the contract
- // is created
+ // Kód konstruktoru se spouští pouze při vytvoření
+ // kontraktu
constructor() {
minter = msg.sender;
}
- // Sends an amount of newly created coins to an address
- // Can only be called by the contract creator
+ // Odešle množství nově vytvořených mincí na adresu
+ // Může být voláno pouze tvůrcem kontraktu
function mint(address receiver, uint amount) public {
require(msg.sender == minter);
require(amount < 1e60);
balances[receiver] += amount;
}
- // Sends an amount of existing coins
- // from any caller to an address
+ // Odešle množství existujících mincí
+ // od jakéhokoli volajícího na adresu
function send(address receiver, uint amount) public {
- require(amount <= balances[msg.sender], "Insufficient balance.");
+ require(amount <= balances[msg.sender], "Nedostatečný zůstatek.");
balances[msg.sender] -= amount;
balances[receiver] += amount;
emit Sent(msg.sender, receiver, amount);
@@ -83,7 +83,7 @@ contract Coin {
}
```
-Tento příklad by vám měl poskytnout představu o tom, jaká je syntaxe kontraktů v Solidity. Pro podrobnější popis funkcí a proměnných [si přečtěte dokumentaci](https://docs.soliditylang.org/en/latest/contracts.html).
+Tento příklad by vám měl poskytnout představu o tom, jaká je syntaxe kontraktů v Solidity. Podrobnější popis funkcí a proměnných [naleznete v dokumentaci](https://docs.soliditylang.org/en/latest/contracts.html).
## Vyper {#vyper}
@@ -93,7 +93,7 @@ Tento příklad by vám měl poskytnout představu o tom, jaká je syntaxe kontr
- Efektivní generování bytekódu
- Úmyslně má méně funkcí než Solidity s cílem učinit kontrakty bezpečnějšími a snáze auditovatelnými. Vyper nepodporuje:
- Modifikátory
- - #Dědičnost
+ - \#Dědičnost
- Inline sestavení (assembly)
- Přetěžování funkcí
- Přetěžování operátorů
@@ -101,110 +101,110 @@ Tento příklad by vám měl poskytnout představu o tom, jaká je syntaxe kontr
- Nekonečné smyčky
- Binární pevné body
-Pro více informací si přečtěte [Vyper rationale](https://vyper.readthedocs.io/en/latest/index.html).
+Pro více informací si [přečtěte Vyper rationale](https://vyper.readthedocs.io/en/latest/index.html).
### Důležité odkazy {#important-links-1}
- [Dokumentace](https://vyper.readthedocs.io)
-- [Vyper by Example](https://vyper.readthedocs.io/en/latest/vyper-by-example.html)
-- [More Vyper by Example](https://vyper-by-example.org/)
+- [Příklady ve Vyperu](https://vyper.readthedocs.io/en/latest/vyper-by-example.html)
+- [Další příklady ve Vyperu](https://vyper-by-example.org/)
- [GitHub](https://github.com/vyperlang/vyper)
-- [Discord chat Vyper komunity](https://discord.gg/SdvKC79cJk)
+- [Komunitní chat Vyperu na Discordu](https://discord.gg/SdvKC79cJk)
- [Tahák](https://reference.auditless.com/cheatsheet)
-- [Frameworky a nástroje pro vývoj smart kontraktů v jazyce Vyper](/developers/docs/programming-languages/python/)
-- [VyperPunk – naučte se zabezpečit a hackovat smart kontrakty v jazyce Vyper](https://github.com/SupremacyTeam/VyperPunk)
-- [Vyper Hub pro vývojáře](https://github.com/zcor/vyper-dev)
-- [Příklady nejlepších chytrých kontraktů na Vyper](https://github.com/pynchmeister/vyper-greatest-hits/tree/main/contracts)
-- [Úžasné Vyperem kurátorované zdroje](https://github.com/spadebuilders/awesome-vyper)
+- [Frameworky a nástroje pro vývoj chytrých kontraktů pro Vyper](/developers/docs/programming-languages/python/)
+- [VyperPunk – naučte se zabezpečit a hackovat chytré kontrakty ve Vyperu](https://github.com/SupremacyTeam/VyperPunk)
+- [Vyper Hub pro vývoj](https://github.com/zcor/vyper-dev)
+- [Vyper – nejlepší příklady chytrých kontraktů](https://github.com/pynchmeister/vyper-greatest-hits/tree/main/contracts)
+- [Awesome Vyper – vybrané zdroje](https://github.com/spadebuilders/awesome-vyper)
### Příklad {#example}
```python
-# Open Auction
+# Otevřená aukce
-# Auction params
-# Beneficiary receives money from the highest bidder
+# Parametry aukce
+# Příjemce obdrží peníze od nejvyššího nabízejícího
beneficiary: public(address)
auctionStart: public(uint256)
auctionEnd: public(uint256)
-# Current state of auction
+# Aktuální stav aukce
highestBidder: public(address)
highestBid: public(uint256)
-# Set to true at the end, disallows any change
+# Na konci se nastaví na true, zakáže jakoukoli změnu
ended: public(bool)
-# Keep track of refunded bids so we can follow the withdraw pattern
+# Sledujeme vrácené nabídky, abychom mohli použít vzor výběru
pendingReturns: public(HashMap[address, uint256])
-# Create a simple auction with `_bidding_time`
-# seconds bidding time on behalf of the
-# beneficiary address `_beneficiary`.
+# Vytvoří jednoduchou aukci s `_bidding_time`
+# sekundami pro přihazování jménem
+# adresy příjemce `_beneficiary`.
@external
def __init__(_beneficiary: address, _bidding_time: uint256):
self.beneficiary = _beneficiary
self.auctionStart = block.timestamp
self.auctionEnd = self.auctionStart + _bidding_time
-# Bid on the auction with the value sent
-# together with this transaction.
-# The value will only be refunded if the
-# auction is not won.
+# Přihodí do aukce s hodnotou zaslanou
+# spolu s touto transakcí.
+# Hodnota bude vrácena pouze v případě,
+# že aukce nebude vyhrána.
@external
@payable
def bid():
- # Check if bidding period is over.
+ # Zkontroluje, zda období pro přihazování skončilo.
assert block.timestamp < self.auctionEnd
- # Check if bid is high enough
+ # Zkontroluje, zda je nabídka dostatečně vysoká
assert msg.value > self.highestBid
- # Track the refund for the previous high bidder
+ # Sleduje vrácení peněz předchozímu nejvyššímu nabízejícímu
self.pendingReturns[self.highestBidder] += self.highestBid
- # Track new high bid
+ # Sleduje novou nejvyšší nabídku
self.highestBidder = msg.sender
self.highestBid = msg.value
-# Withdraw a previously refunded bid. The withdraw pattern is
-# used here to avoid a security issue. If refunds were directly
-# sent as part of bid(), a malicious bidding contract could block
-# those refunds and thus block new higher bids from coming in.
+# Vybere dříve vrácenou nabídku. Vzor výběru (withdraw pattern) se
+# zde používá k zamezení bezpečnostního problému. Pokud by byly refundace přímo
+# odesílány jako součást bid(), mohl by škodlivý kontrakt blokovat
+# tyto refundace a tím zabránit příchodu nových vyšších nabídek.
@external
def withdraw():
pending_amount: uint256 = self.pendingReturns[msg.sender]
self.pendingReturns[msg.sender] = 0
send(msg.sender, pending_amount)
-# End the auction and send the highest bid
-# to the beneficiary.
+# Ukončí aukci a pošle nejvyšší nabídku
+# příjemci.
@external
def endAuction():
- # It is a good guideline to structure functions that interact
- # with other contracts (i.e., they call functions or send ether)
- # into three phases:
- # 1. checking conditions
- # 2. performing actions (potentially changing conditions)
- # 3. interacting with other contracts
- # If these phases are mixed up, the other contract could call
- # back into the current contract and modify the state or cause
- # effects (ether payout) to be performed multiple times.
- # If functions called internally include interaction with external
- # contracts, they also have to be considered interaction with
- # external contracts.
-
- # 1. Conditions
- # Check if auction endtime has been reached
+ # Je dobrým zvykem strukturovat funkce, které interagují
+ # s jinými kontrakty (tj. volají funkce nebo posílají ether),
+ # do tří fází:
+ # 1. kontrola podmínek
+ # 2. provádění akcí (potenciálně měnících podmínky)
+ # 3. interakce s jinými kontrakty
+ # Pokud jsou tyto fáze smíchány, jiný kontrakt by mohl volat
+ # zpět do aktuálního kontraktu a upravit stav nebo způsobit,
+ # že efekty (vyplacení etheru) budou provedeny vícekrát.
+ # Pokud interně volané funkce zahrnují interakci s externími
+ # kontrakty, musí být také považovány za interakci s
+ # externími kontrakty.
+
+ # 1. Podmínky
+ # Zkontroluje, zda bylo dosaženo konce aukce
assert block.timestamp >= self.auctionEnd
- # Check if this function has already been called
+ # Zkontroluje, zda tato funkce již byla volána
assert not self.ended
- # 2. Effects
+ # 2. Efekty
self.ended = True
- # 3. Interaction
+ # 3. Interakce
send(self.beneficiary, self.highestBid)
```
-Tento příklad by vám měl poskytnout představu o tom, jaká je syntaxe kontraktů ve Vyperu. Pro podrobnější popis funkcí a proměnných [si přečtěte dokumentaci](https://vyper.readthedocs.io/en/latest/vyper-by-example.html#simple-open-auction).
+Tento příklad by vám měl poskytnout představu o tom, jaká je syntaxe kontraktů ve Vyperu. Podrobnější popis funkcí a proměnných [najdete v dokumentaci](https://vyper.readthedocs.io/en/latest/vyper-by-example.html#simple-open-auction).
## Yul a Yul+ {#yul}
@@ -213,24 +213,25 @@ Pokud jste v Ethereum nováčkem a ještě jste neprogramovali v jazycích pro s
**Yul**
- Pokročilý jazyk pro Ethereum.
-- Podporuje [EVM](/developers/docs/evm) i [Ewasm](https://github.com/ewasm), což je varianta WebAssembly přizpůsobená pro Ethereum, a je navržen tak, aby byl použitelným společným základem pro obě platformy.
+- Podporuje [EVM](/developers/docs/evm) a [Ewasm](https://github.com/ewasm), což je varianta WebAssembly pro Ethereum, a je navržen tak, aby byl použitelným společným jmenovatelem obou platforem.
- Dobrá volba pro optimalizační fáze na vyšší úrovni, které mohou mít stejný přínos jak pro platformy EVM, tak pro Ewasm.
**Yul+**
- Nízkoúrovňové, vysoce efektivní rozšíření Yulu.
-- Původně navržen pro kontrakt [optimistického rollupu](/developers/docs/scaling/optimistic-rollups/).
+- Původně navrženo pro kontrakt [optimistického rollupu](/developers/docs/scaling/optimistic-rollups/).
- Yul+ lze považovat za experimentální návrh upgradu Yul, který do něj přidává nové funkce.
### Důležité odkazy {#important-links-2}
- [Dokumentace Yul](https://docs.soliditylang.org/en/latest/yul.html)
- [Dokumentace Yul+](https://github.com/fuellabs/yulp)
-- [Úvodní příspěvek Yul+](https://medium.com/@fuellabs/introducing-yul-a-new-low-level-language-for-ethereum-aa64ce89512f)
+- [Úvodní příspěvek o Yul+](https://medium.com/@fuellabs/introducing-yul-a-new-low-level-language-for-ethereum-aa64ce89512f)
-### Ukázkový kontrakt {#example-contract-2}
+### Příklad kontraktu {#example-contract-2}
-Následující jednoduchý příklad implementuje funkci mocniny. Lze jej zkompilovat pomocí příkazu `solc --strict-assembly --bin input.yul`. Příklad by měl být uložen v souboru input.yul.
+Následující jednoduchý příklad implementuje funkci mocniny. Lze jej zkompilovat pomocí `solc --strict-assembly --bin input.yul`. Příklad by měl
+být uložen v souboru input.yul.
```
{
@@ -251,7 +252,7 @@ Následující jednoduchý příklad implementuje funkci mocniny. Lze jej zkompi
}
```
-Pokud již máte se smart kontrakty bohaté zkušenosti, plnou implementaci ERC20 v Yul můžete najít [zde](https://solidity.readthedocs.io/en/latest/yul.html#complete-erc20-example).
+Pokud již máte se smart kontrakty bohaté zkušenosti, úplnou implementaci ERC20 v jazyce Yul naleznete [zde](https://solidity.readthedocs.io/en/latest/yul.html#complete-erc20-example).
## Fe {#fe}
@@ -263,12 +264,12 @@ Pokud již máte se smart kontrakty bohaté zkušenosti, plnou implementaci ERC2
### Důležité odkazy {#important-links-3}
- [GitHub](https://github.com/ethereum/fe)
-- [Oznámení Fe](https://snakecharmers.ethereum.org/fe-a-new-language-for-the-ethereum-ecosystem/)
-- [Plán vylepšení Fe pro rok 2021](https://notes.ethereum.org/LVhaTF30SJOpkbG1iVw1jg)
-- [Chat na Discordu Fe](https://discord.com/invite/ywpkAXFjZH)
-- [Twitter Fe](https://twitter.com/official_fe)
+- [Oznámení o Fe](https://snakecharmers.ethereum.org/fe-a-new-language-for-the-ethereum-ecosystem/)
+- [Plán vývoje Fe na rok 2021](https://notes.ethereum.org/LVhaTF30SJOpkbG1iVw1jg)
+- [Chat o Fe na Discordu](https://discord.com/invite/ywpkAXFjZH)
+- [Fe na Twitteru](https://twitter.com/official_fe)
-### Ukázkový kontrakt {#example-contract-3}
+### Příklad kontraktu {#example-contract-3}
Následuje jednoduchý kontrakt implementovaný v jazyce Fe.
@@ -299,7 +300,7 @@ Uvádíme několik věcí, které byste měli zvážit, pokud jste ještě žád
### Co je skvělé na Solidity? {#solidity-advantages}
-- Pokud jste začátečník, najdete mnoho tutoriálů a vzdělávacích nástrojů. Více se dozvíte v sekci [Learn by Coding](/developers/learning-tools/).
+- Pokud jste začátečník, najdete mnoho tutoriálů a vzdělávacích nástrojů. Více se o tom dozvíte v sekci [Učte se kódováním](/developers/learning-tools/).
- K dispozici je dobrá sada nástrojů pro vývojáře.
- Solidity má velkou vývojářskou komunitu, což znamená, že na případné otázky pravděpodobně najdete odpovědi poměrně rychle.
@@ -314,11 +315,11 @@ Uvádíme několik věcí, které byste měli zvážit, pokud jste ještě žád
- Jednoduchý a funkční nízkoúrovňový jazyk.
- Umožňuje dostat se mnohem blíže k surovému EVM, což vám může pomoci s optimalizací spotřeby paliva vašich kontraktů.
-## Porovnání jazyků {#language-comparisons}
+## Srovnání jazyků {#language-comparisons}
-Pro srovnání základní syntaxe, životního cyklu kontraktů, rozhraní, operátorů, datových struktur, funkcí, řídicích struktur a dalších rozdílů se podívejte na tento [cheatsheet od Auditless](https://reference.auditless.com/cheatsheet/)
+Pro srovnání základní syntaxe, životního cyklu kontraktů, rozhraní, operátorů, datových struktur, funkcí, řízení toku a dalšího se podívejte na tento [tahák od Auditless](https://reference.auditless.com/cheatsheet/)
## Další čtení {#further-reading}
-- [Knihovna Solidity kontraktů od OpenZeppelin](https://docs.openzeppelin.com/contracts/5.x/)
-- [Solidity by Example](https://solidity-by-example.org)
+- [Knihovna kontraktů v Solidity od OpenZeppelin](https://docs.openzeppelin.com/contracts/5.x/)
+- [Příklady v Solidity](https://solidity-by-example.org)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md b/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md
index 4cb965d2b29..50e11d3368a 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md
@@ -1,6 +1,6 @@
---
title: Knihovny smart kontraktů
-description:
+description: Objevte znovupoužitelné knihovny chytrých kontraktů a stavební bloky, které urychlí vaše vývojové projekty na Ethereu.
lang: cs
---
@@ -8,19 +8,19 @@ Ve svém projektu nemusíte psát každý smart kontrakt od nuly. Existuje mnoho
## Předpoklady {#prerequisites}
-Než se ponoříte do knihoven smart kontraktů, je dobré mít pevné základy ve struktuře smart kontraktů. Pokud je nemáte, nastudujte si nejdříve [anatomii smart kontraktu](/developers/docs/smart-contracts/anatomy/).
+Než se ponoříte do knihoven smart kontraktů, je dobré mít pevné základy ve struktuře smart kontraktů. Pokud jste tak ještě neučinili, přejděte na [anatomii chytrých kontraktů](/developers/docs/smart-contracts/anatomy/).
-## Jaký je obsah knihovny {#whats-in-a-library}
+## Co je obsahem knihovny {#whats-in-a-library}
V knihovnách smart kontraktů obvykle najdete dva druhy stavebních bloků: znovupoužitelné akce, které můžete přidat ke svým kontraktům, a implementace různých standardů.
-### Akce {#behaviors}
+### Chování {#behaviors}
-Při psaní smart kontraktů je pravděpodobné, že se ocitnete v situaci, kdy budete psát podobné vzory znovu a znovu, jako například přiřazení adresy _administrátora_ k provádění zabezpečených operací v kontraktu nebo přidání tlačítka pro nouzové _zastavení_ v případě neočekávaného problému.
+Při psaní chytrých kontraktů se vám může stát, že budete opakovaně psát podobné vzory, jako je přiřazení _admin_ adresy pro provádění chráněných operací v kontraktu nebo přidání tlačítka pro nouzové _pozastavení_ v případě neočekávaného problému.
-Knihovny smart kontraktů obvykle poskytují znovupoužitelné implementace těchto chování prostřednictvím [knihoven](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#libraries) nebo prostřednictvím [dědičnosti](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#inheritance) v Solidity.
+Knihovny chytrých kontraktů obvykle poskytují znovupoužitelné implementace tohoto chování jako [knihovny](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#libraries) nebo prostřednictvím [dědičnosti](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#inheritance) v Solidity.
-Jako příklad následuje zjednodušená verze [kontraktu `Ownable`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/access/Ownable.sol) z knihovny [OpenZeppelin Contracts](https://github.com/OpenZeppelin/openzeppelin-contracts), která přiřazuje adresu jako vlastníka kontraktu a poskytuje modifikátor pro umožnění přístupu k metodám pouze tomuto vlastníkovi.
+Jako příklad následuje zjednodušená verze [`Ownable` kontraktu](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/access/Ownable.sol) z [knihovny OpenZeppelin Contracts](https://github.com/OpenZeppelin/openzeppelin-contracts), která určí adresu jako vlastníka kontraktu a poskytne modifikátor pro omezení přístupu k metodě pouze tomuto vlastníkovi.
```solidity
contract Ownable {
@@ -31,19 +31,19 @@ contract Ownable {
}
modifier onlyOwner() {
- require(owner == msg.sender, "Ownable: caller is not the owner");
+ require(owner == msg.sender, "Ownable: volající není vlastníkem");
_;
}
}
```
-Abyste mohli ve svém smart kontraktu použít takovýto stavební blok, musíte jej nejprve importovat a následně jej ve svých vlastních kontraktech rozšířit (dědit z něj). To vám umožní použít modifikátor k zabezpečení vlastních funkcí poskytovaný základním kontraktem `Ownable`.
+Abyste mohli ve svém smart kontraktu použít takovýto stavební blok, musíte jej nejprve importovat a následně jej ve svých vlastních kontraktech rozšířit (dědit z něj). To vám umožní použít modifikátor poskytnutý základním kontraktem `Ownable` k zabezpečení vašich vlastních funkcí.
```solidity
-import ".../Ownable.sol"; // Path to the imported library
+import ".../Ownable.sol"; // Cesta k importované knihovně
contract MyContract is Ownable {
- // The following function can only be called by the owner
+ // Následující funkci může volat pouze vlastník
function secured() onlyOwner public {
msg.sender.transfer(1 ether);
}
@@ -54,18 +54,18 @@ Dalším populárním příkladem je [SafeMath](https://docs.openzeppelin.com/co
### Standardy {#standards}
-Pro usnadnění [kompozice a interoperability](/developers/docs/smart-contracts/composability/) definovala komunita Etherea několik standardů ve formě **ERC (Ethereum Request for Comments)**. Více si o nich můžete přečíst v sekci věnované [standardům](/developers/docs/standards/).
+Aby se usnadnila [skladatelnost a interoperabilita](/developers/docs/smart-contracts/composability/), komunita Etherea definovala několik standardů ve formě **ERC**. Více si o nich můžete přečíst v sekci [standardy](/developers/docs/standards/).
-Pokud zahrnete ERC do svých smart kontraktů, je dobré hledat standardní implementace místo toho, abyste se snažili vytvořit vlastní. Spousta knihoven smart kontraktů zahrnuje implementace pro nejpopulárnější ERC. Například všudypřítomný [standard ERC20 pro zaměnitelné tokeny](/developers/tutorials/understand-the-erc-20-token-smart-contract/) lze najít v knihovnách [HQ20](https://github.com/HQ20/contracts/blob/master/contracts/token/README.md), [DappSys](https://github.com/dapphub/ds-token/) a [OpenZeppelin](https://docs.openzeppelin.com/contracts/3.x/erc20). Navíc některé ERC poskytují kanonické implementace jako součást samotného standardu.
+Pokud zahrnete ERC do svých smart kontraktů, je dobré hledat standardní implementace místo toho, abyste se snažili vytvořit vlastní. Spousta knihoven smart kontraktů zahrnuje implementace pro nejpopulárnější ERC. Například všudypřítomný [standard zaměnitelných tokenů ERC20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) lze nalézt v [HQ20](https://github.com/HQ20/contracts/blob/master/contracts/token/README.md), [DappSys](https://github.com/dapphub/ds-token) a [OpenZeppelin](https://docs.openzeppelin.com/contracts/3.x/erc20). Navíc některé ERC poskytují kanonické implementace jako součást samotného standardu.
-Stojí za zmínku, že některé ERC nejsou samostatné, ale jsou rozšířením jiných ERC. Například [ERC2612](https://eips.ethereum.org/EIPS/eip-2612) přidává rozšíření k ERC20 za účelem zlepšení jeho použitelnosti.
+Stojí za zmínku, že některé ERC nejsou samostatné, ale jsou rozšířením jiných ERC. Například [ERC2612](https://eips.ethereum.org/EIPS/eip-2612) přidává rozšíření k ERC20 pro zlepšení jeho použitelnosti.
## Jak přidat knihovnu {#how-to}
-Vždy se řiďte dokumentací knihovny, kterou přidáváte, kde najdete konkrétní instrukce, jak ji zahrnout do svého projektu. Řada knihoven pro smart kontrakty v Solidity je zabalena pomocí `npm`, takže je můžete jednoduše nainstalovat pomocí příkazu `npm install`. Většina nástrojů pro [kompilaci](/developers/docs/smart-contracts/compiling/) kontraktů prohledá vaši složku `node_modules`, aby našla knihovny smart kontraktů, takže můžete postupovat následovně:
+Vždy se řiďte dokumentací knihovny, kterou přidáváte, kde najdete konkrétní instrukce, jak ji zahrnout do svého projektu. Řada knihoven pro chytré kontrakty v Solidity je zabalena pomocí `npm`, takže je můžete jednoduše nainstalovat pomocí příkazu `npm install`. Většina nástrojů pro [kompilaci](/developers/docs/smart-contracts/compiling/) kontraktů prohledá vaši složku `node_modules`, aby našla knihovny chytrých kontraktů, takže můžete postupovat následovně:
```solidity
-// This will load the @openzeppelin/contracts library from your node_modules
+// Tímto se načte knihovna @openzeppelin/contracts z vaší složky node_modules
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
contract MyNFT is ERC721 {
@@ -73,13 +73,13 @@ contract MyNFT is ERC721 {
}
```
-Bez ohledu na to, jakou metodu používáte, při zahrnutí knihovny vždy věnujte pozornost verzi [jazyka](/developers/docs/smart-contracts/languages/). Například nemůžete použít knihovnu pro Solidity 0.6, pokud píšete své smart kontrakty v Solidity 0.5.
+Bez ohledu na to, jakou metodu používáte, při zahrnutí knihovny vždy sledujte verzi [jazyka](/developers/docs/smart-contracts/languages/). Například nemůžete použít knihovnu pro Solidity 0.6, pokud píšete své smart kontrakty v Solidity 0.5.
-## Kdy používat knihovny {#when-to-use}
+## Kdy použít {#when-to-use}
Použití knihovny smart kontraktů přináší vašemu projektu několik výhod. Především vám ušetří čas tím, že poskytne hotové stavební bloky, které můžete zahrnout do svého systému, místo abyste je museli programovat sami.
-Bezpečnost je také velkým přínosem. Open source knihovny smart kontraktů jsou často podrobeny přísné kontrole. Vzhledem k tomu, že na nich závisí mnoho projektů, je komunita silně motivována je neustále kontrolovat. Mnohem častěji lze najít chyby v aplikačním kódu než v knihovnách pro znovupoužitelné smart kontrakty. Některé knihovny také za účelem zajištění vyšší bezpečnosti procházejí [externími audity](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audits).
+Bezpečnost je také velkým přínosem. Open source knihovny smart kontraktů jsou často podrobeny přísné kontrole. Vzhledem k tomu, že na nich závisí mnoho projektů, je komunita silně motivována je neustále kontrolovat. Mnohem častěji lze najít chyby v aplikačním kódu než v knihovnách pro znovupoužitelné smart kontrakty. Některé knihovny také procházejí [externími audity](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audits) pro zvýšení bezpečnosti.
Nicméně používání knihoven smart kontraktů nese riziko, že do vašeho projektu zahrnete kód, se kterým nejste obeznámeni. Je lákavé importovat kontrakt a přímo jej zahrnout do vašeho projektu, ale bez perfektního porozumění tomu, co tento kontrakt dělá, můžete neúmyslně do systému zavést neočekávané chování a tím si zadělat na problémy. Vždy si předtím, než kód zahrnete do svého projektu, přečtěte jeho dokumentaci a poté si kód sami prohlédněte!
@@ -87,31 +87,31 @@ Nakonec při rozhodování, zda zahrnout knihovnu, zvažte její celkové použi
## Související nástroje {#related-tools}
-**OpenZeppelin Contracts –** **_nejoblíbenější knihovna pro vývoj bezpečných smart kontraktů._**
+**OpenZeppelin Contracts -** **_Nejoblíbenější knihovna pro bezpečný vývoj chytrých kontraktů._**
- [Dokumentace](https://docs.openzeppelin.com/contracts/)
- [GitHub](https://github.com/OpenZeppelin/openzeppelin-contracts)
- [Komunitní fórum](https://forum.openzeppelin.com/c/general/16)
-**DappSys –** **_bezpečné, jednoduché a flexibilní návrhové vzory pro smart kontrakty._**
+**DappSys -** **_Bezpečné, jednoduché a flexibilní stavební bloky pro chytré kontrakty._**
- [Dokumentace](https://dappsys.readthedocs.io/)
- [GitHub](https://github.com/dapphub/dappsys)
-**HQ20 –** **_Solidity projekt s kontrakty, knihovnami a příklady, které vám pomohou vytvořit plně funkční distribuované aplikace pro reálný svět._**
+**HQ20 -** **_Projekt v Solidity s kontrakty, knihovnami a příklady, které vám pomohou vytvořit plně funkční distribuované aplikace pro reálný svět._**
- [GitHub](https://github.com/HQ20/contracts)
-**thirdweb Solidity SDK –** **_poskytuje nástroje potřebné pro efektivní vytváření vlastních smart kontraktů._**
+**thirdweb Solidity SDK -** **_Poskytuje nástroje potřebné pro efektivní vytváření vlastních chytrých kontraktů_**
- [Dokumentace](https://portal.thirdweb.com/contracts/build/overview)
- [GitHub](https://github.com/thirdweb-dev/contracts)
## Související návody {#related-tutorials}
-- [Security considerations for Ethereum developers](/developers/docs/smart-contracts/security/) _– tutorial o bezpečnostních aspektech při vytváření smart kontraktů, včetně použití knihoven._
-- [Understand the ERC-20 token smart contract](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _– tutorial o ERC20 standardu, poskytovaný několika knihovnami._
+- [Bezpečnostní aspekty pro vývojáře na Ethereu](/developers/docs/smart-contracts/security/) _– Tutoriál o bezpečnostních aspektech při vytváření chytrých kontraktů, včetně použití knihoven._
+- [Pochopení chytrého kontraktu tokenu ERC-20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _– Tutoriál o standardu ERC20, poskytovaný několika knihovnami._
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ji!_
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/naming/index.md b/public/content/translations/cs/developers/docs/smart-contracts/naming/index.md
new file mode 100644
index 00000000000..375df061284
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/naming/index.md
@@ -0,0 +1,101 @@
+---
+title: Pojmenování chytrých kontraktů
+description: Osvědčené postupy pro pojmenování chytrých kontraktů Ethereum pomocí ENS
+lang: cs
+---
+
+Chytré kontrakty jsou základním kamenem decentralizované infrastruktury Etherea, umožňující autonomní aplikace a protokoly. Ale i když se schopnosti kontraktů vyvíjejí, uživatelé a vývojáři se stále spoléhají na nezpracované hexadecimální adresy, aby tyto kontrakty identifikovali a odkazovali na ně.
+
+Pojmenování chytrých kontraktů pomocí [Služby Ethereum Name Service (ENS)](https://ens.domains/) zlepšuje uživatelskou zkušenost tím, že odstraňuje hexadecimální adresy kontraktů a snižuje riziko útoků, jako je otrava adresy (address poisoning) a podvržení (spoofing). Tato příručka vysvětluje, proč je pojmenování chytrých kontraktů důležité, jak jej lze implementovat a jaké nástroje jsou k dispozici, jako například [Enscribe](https://www.enscribe.xyz), pro zjednodušení procesu a pomoc vývojářům při osvojení si této praxe.
+
+## Proč pojmenovávat chytré kontrakty? {#why-name-contracts}
+
+### Člověkem čitelné identifikátory {#human-readable-identifiers}
+
+Namísto interakce s nečitelnými adresami kontraktů, jako je `0x8f8e...f9e3`, mohou vývojáři a uživatelé používat lidsky čitelná jména jako `v2.myapp.eth`. To zjednodušuje interakce s chytrými kontrakty.
+
+Umožňuje to [Služba Ethereum Name Service](https://ens.domains/), která poskytuje decentralizovanou službu pro pojmenování ethereových adres. Je to analogické tomu, jak Služba doménových jmen (DNS) umožňuje uživatelům internetu přistupovat k síťovým adresám pomocí jména, jako je ethereum.org, namísto prostřednictvím IP adresy, jako je `104.18.176.152`.
+
+### Zvýšená bezpečnost a důvěra {#improved-security-and-trust}
+
+Pojmenované kontrakty pomáhají omezit neúmyslné transakce na nesprávnou adresu. Také pomáhají uživatelům identifikovat kontrakty spojené s konkrétními aplikacemi nebo značkami. To přidává vrstvu reputační důvěry, zejména když jsou jména připojena k dobře známým nadřazeným doménám, jako je `uniswap.eth`.
+
+Kvůli 42znakové délce ethereové adresy je pro uživatele velmi těžké identifikovat malé změny v adresách, kde bylo upraveno několik znaků. Například adresa jako `0x58068646C148E313CB414E85d2Fe89dDc3426870` by normálně byla zkrácena na `0x580...870` v uživatelských aplikacích, jako jsou peněženky. Uživatel si pravděpodobně nevšimne škodlivé adresy, kde bylo změněno několik znaků.
+
+Tento typ techniky se používá při útocích podvržením (spoofing) a otravou adres (address poisoning), kdy jsou uživatelé vedeni k domněnce, že komunikují se správnou adresou nebo na ni posílají finanční prostředky, přičemž ve skutečnosti adresa správnou adresu pouze připomíná, ale není stejná.
+
+Jména ENS pro peněženky a kontrakty chrání proti těmto typům útoků. Podobně jako u útoků podvržením DNS (DNS spoofing) se mohou objevit i útoky podvržením ENS (ENS spoofing), nicméně uživatel si pravděpodobněji všimne překlepu ve jméně ENS než malé úpravy v hexadecimální adrese.
+
+### Lepší UX pro peněženky a průzkumníky {#better-ux}
+
+Pokud byl chytrý kontrakt nakonfigurován s názvem ENS, je možné, aby aplikace jako peněženky a průzkumníci blockchainu zobrazovaly názvy ENS pro chytré kontrakty, namísto hexadecimálních adres. To přináší uživatelům výrazné zlepšení uživatelské zkušenosti (UX).
+
+Například při interakci s aplikací, jako je Uniswap, uživatelé obvykle uvidí, že aplikace, se kterou pracují, je hostována na webové stránce `uniswap.org`, ale pokud Uniswap nepojmenoval své chytré kontrakty pomocí ENS, zobrazí se jim hexadecimální adresa kontraktu. Pokud je kontrakt pojmenován, mohli by místo toho vidět `v4.contracts.uniswap.eth`, což je mnohem užitečnější.
+
+## Pojmenování při nasazení vs. po nasazení {#when-to-name}
+
+Existují dva body, ve kterých lze pojmenovat chytré kontrakty:
+
+- **V době nasazení**: přiřazení jména ENS kontraktu při jeho nasazování.
+- **Po nasazení**: namapování stávající adresy kontraktu na nové jméno ENS.
+
+Oba přístupy se spoléhají na to, že máte vlastnický nebo manažerský přístup k doméně ENS, abyste mohli vytvářet a nastavovat záznamy ENS.
+
+## Jak funguje pojmenování kontraktů pomocí ENS {#how-ens-naming-works}
+
+Jména ENS jsou uložena na blockchainu a převádějí se na ethereové adresy prostřednictvím resolverů ENS. Jak pojmenovat chytrý kontrakt:
+
+1. Zaregistrujte nebo ovládejte nadřazenou doménu ENS (např. `myapp.eth`)
+2. Vytvořte subdoménu (např. `v1.myapp.eth`)
+3. Nastavte záznam `address` subdomény na adresu kontraktu
+4. Nastavte reverzní záznam kontraktu na ENS, aby bylo možné jméno nalézt pomocí jeho adresy
+
+Jména ENS jsou hierarchická a podporují neomezený počet podjmen. Nastavení těchto záznamů obvykle zahrnuje interakci s registrem ENS a veřejnými resolver kontrakty.
+
+## Nástroje pro pojmenování kontraktů {#tools}
+
+Existují dva přístupy k pojmenování chytrých kontraktů. Buď pomocí [aplikace ENS](https://app.ens.domains) s několika manuálními kroky, nebo pomocí [Enscribe](https://www.enscribe.xyz). Ty jsou popsány níže.
+
+### Ruční nastavení ENS {#manual-ens-setup}
+
+Pomocí [aplikace ENS](https://app.ens.domains/) mohou vývojáři ručně vytvářet podjména a nastavovat dopředné záznamy adres. Nemohou však nastavit primární název pro chytrý kontrakt nastavením reverzního záznamu pro název prostřednictvím aplikace ENS. Je třeba provést manuální kroky, které jsou popsány v [dokumentaci ENS](https://docs.ens.domains/web/naming-contracts/).
+
+### Enscribe {#enscribe}
+
+[Enscribe](https://www.enscribe.xyz) zjednodušuje pojmenování chytrých kontraktů pomocí ENS a zvyšuje důvěru uživatelů v chytré kontrakty. Poskytuje:
+
+- **Atomické nasazení a pojmenování**: Přiřaďte jméno ENS při nasazování nového kontraktu
+- **Pojmenování po nasazení**: Připojte jména k již nasazeným kontraktům
+- **Podpora více řetězců**: Funguje napříč sítěmi Ethereum a L2, kde je podporována služba ENS.
+- **Údaje o ověření kontraktu**: Zahrnuje údaje o ověření kontraktu získané z více zdrojů pro zvýšení důvěry uživatelů
+
+Enscribe podporuje jména ENS poskytnutá uživateli, nebo vlastní domény, pokud uživatel nemá jméno ENS.
+
+Můžete přistoupit k [aplikaci Enscribe](https://app.enscribe.xyz) a začít pojmenovávat a prohlížet chytré kontrakty.
+
+## Osvědčené postupy {#best-practices}
+
+- **Používejte jasná, verzovaná jména** jako `v1.myapp.eth`, aby byly aktualizace kontraktů transparentní
+- **Nastavte reverzní záznamy** pro propojení kontraktů s názvy ENS pro viditelnost v aplikacích, jako jsou peněženky a průzkumníci blockchainu.
+- **Pečlivě sledujte data expirace**, pokud chcete zabránit nechtěným změnám vlastnictví
+- **Ověřte zdrojový kód kontraktu**, aby uživatelé mohli věřit, že se pojmenovaný kontrakt chová podle očekávání
+
+## Rizika {#risks}
+
+Pojmenování chytrých kontraktů přináší uživatelům Etherea značné výhody, nicméně vlastníci domén ENS musí být při jejich správě ostražití. Mezi významná rizika patří:
+
+- **Expirace**: Stejně jako názvy DNS mají i registrace názvů ENS konečnou platnost. Je proto životně důležité, aby majitelé sledovali data expirace svých domén a obnovovali je v dostatečném předstihu před jejich vypršením. Jak aplikace ENS, tak Enscribe poskytují majitelům domén vizuální indikátory, když se blíží datum expirace.
+- **Změna vlastnictví**: Záznamy ENS jsou na Ethereu reprezentovány jako NFT, kde vlastník konkrétní domény `.eth` drží přidružené NFT. Pokud by tedy vlastnictví tohoto NFT převzal jiný účet, nový vlastník může libovolně upravovat jakékoli záznamy ENS.
+
+Pro zmírnění těchto rizik by měl být vlastnický účet pro domény 2. úrovně `.eth` (2LD) zabezpečen pomocí peněženky s více podpisy, přičemž pro správu pojmenování kontraktů by měly být vytvořeny subdomény. Tímto způsobem, v případě jakýchkoli náhodných nebo škodlivých změn ve vlastnictví na úrovni subdomény, je může vlastník 2LD přepsat.
+
+## Budoucnost pojmenovávání kontraktů {#future}
+
+Pojmenovávání kontraktů se stává osvědčeným postupem pro vývoj dapp, podobně jako doménová jména nahradila IP adresy na webu. S tím, jak více infrastruktury, jako jsou peněženky, průzkumníci a dashboardy, integruje řešení ENS pro kontrakty, pojmenované kontrakty zlepší bezpečnost a sníží počet chyb v celém ekosystému.
+
+Tím, že pojmenování usnadňuje rozpoznávání a chápání chytrých kontraktů, pomáhá překlenout propast mezi uživateli a aplikacemi na Ethereu a zlepšuje bezpečnost i UX pro uživatele.
+
+## Další čtení {#further-reading}
+
+- [Pojmenování chytrých kontraktů pomocí ENS](https://docs.ens.domains/web/naming-contracts/)
+- [Pojmenování chytrých kontraktů pomocí Enscribe](https://www.enscribe.xyz/docs).
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/security/index.md b/public/content/translations/cs/developers/docs/smart-contracts/security/index.md
index 52c958cda97..362945c0d4f 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/security/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/security/index.md
@@ -1,54 +1,54 @@
---
-title: Bezpečnost chytrých smluv
+title: Bezpečnost chytrých kontraktů
description: Přehled pokynů pro vytváření bezpečných smart kontraktů na Ethereu
lang: cs
---
Smart kontrakty jsou velmi flexibilní a schopné ovládat velké množství hodnot a dat, přičemž běží nezměnitelnou logikou založenou na kódu spuštěném na blockchainu. To vytvořilo živý ekosystém decentralizovaných aplikací bez nutnosti důvěry, které mají oproti tradičním systémům spoustu výhod. Zároveň však představují příležitosti pro útočníky, kteří se snaží vydělat zneužitím zranitelností ve smart kontraktech.
-Veřejné blockchainy, jako je Ethereum, dále komplikují otázku zabezpečení smart kontraktů. Nasazený kód kontraktu _obvykle_ není možné změnit, aby se opravily bezpečnostní chyby, a majetek odcizený ze smart kontraktů je kvůli nezměnitelnosti extrémně obtížné sledovat a prakticky nemožné získat zpět.
+Veřejné blockchainy, jako je Ethereum, dále komplikují otázku zabezpečení smart kontraktů. Nasazený kód kontraktu _obvykle_ není možné změnit, aby se opravily bezpečnostní chyby, a majetek odcizený z chytrých kontraktů je kvůli nezměnitelnosti extrémně obtížné sledovat a prakticky nemožné získat zpět.
-I když se údaje liší, odhaduje se, že celková hodnota odcizených nebo ztracených prostředků z důvodu bezpečnostních chyb ve smart kontraktech dnes přesahuje 1 miliardu dolarů. To zahrnuje incidenty s vysokým profilem, jako je [hack DAO](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) (ukradeno 3,6 milionu ETH, což v dnešní ceně představuje více než 1 miliardu dolarů), [hack multi-sig peněženky Parity](https://www.coindesk.com/markets/2017/07/19/30-million-ether-reported-stolen-due-to-parity-wallet-breach) (škoda ve výši 30 milionů dolarů kvůli hackerům) a [problém se zmrazením peněženek Parity](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) (přes 300 milionů dolarů v ETH zůstalo zamčeno navždy).
+I když se údaje liší, odhaduje se, že celková hodnota odcizených nebo ztracených prostředků z důvodu bezpečnostních chyb ve smart kontraktech dnes přesahuje 1 miliardu dolarů. To zahrnuje vysoce sledované incidenty, jako je [hack DAO](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) (ukradeno 3,6 milionu ETH v hodnotě přes 1 miliardu dolarů v dnešních cenách), [hack peněženky Parity s vícenásobným podpisem](https://www.coindesk.com/markets/2017/07/19/30-million-ether-reported-stolen-due-to-parity-wallet-breach) (ztráta 30 milionů dolarů pro hackery) a [problém se zmrazenou peněženkou Parity](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) (více než 300 milionů dolarů v ETH navždy uzamčeno).
Výše zmíněné problémy ukazují na důležitost zajištění bezpečnosti smart kontraktů a dělají z ní nezbytnost, do které by měli vývojáři investovat úsilí. Zabezpečení smart kontraktů je vážnou záležitostí, kterou by se měl každý vývojář naučit. Tento průvodce pokrývá bezpečnostní aspekty pro vývojáře Etherea a poskytuje zdroje pro zvýšení bezpečnosti smart kontraktů.
## Předpoklady {#prerequisites}
-Než se pustíte do studia bezpečnosti, ujistěte se, že jste obeznámeni se [základy vývoje smart kontraktů](/developers/docs/smart-contracts/).
+Než se pustíte do bezpečnosti, ujistěte se, že znáte [základy vývoje chytrých kontraktů](/developers/docs/smart-contracts/).
-## Pokyny pro vytváření bezpečných smart kontraktů na Ethereu {#smart-contract-security-guidelines}
+## Pokyny pro vytváření bezpečných chytrých kontraktů na Ethereu {#smart-contract-security-guidelines}
-### 1. Navrhněte správná omezení přístupu {#design-proper-access-controls}
+### 1. Navrhněte správné řízení přístupu {#design-proper-access-controls}
-Ve smart kontraktech mohou funkce označené jako `public` nebo `external` volat jakýkoli externí (EOA) nebo kontraktový účet. Specifikace veřejné viditelnosti funkcí je nezbytná, pokud chcete, aby mohli s vaším kontraktem interagovat i ostatní. Funkce označené jako `private` mohou být volány pouze funkcemi v rámci smart kontraktu a nikoliv externími účty. Pokud umožníte každému účastníkovi sítě přístup ke všem funkcím kontraktu, můžete tím způsobit problémy, zejména pokud to znamená, že kdokoliv může provádět citlivé operace (např. vydávání nových tokenů).
+V chytrých kontraktech mohou funkce označené jako `public` nebo `external` volat jakýkoli externě vlastněný účet (EOA) nebo účet kontraktu. Specifikace veřejné viditelnosti funkcí je nezbytná, pokud chcete, aby mohli s vaším kontraktem interagovat i ostatní. Funkce označené jako `private` však mohou být volány pouze funkcemi v rámci chytrého kontraktu a nikoli externími účty. Pokud umožníte každému účastníkovi sítě přístup ke všem funkcím kontraktu, můžete tím způsobit problémy, zejména pokud to znamená, že kdokoliv může provádět citlivé operace (např. vydávání nových tokenů).
-Aby se zabránilo neoprávněnému použití funkcí smart kontraktu, je nutné implementovat bezpečné přístupové kontroly. Mechanismy přístupové kontroly omezují schopnost používat určité funkce ve smart kontraktu na schválené subjekty, jako jsou účty odpovědné za správu kontraktu. **Vzor Ownable** a **kontrola přístupu založená na rolích** jsou dva vzory užitečné pro implementaci přístupové kontroly ve smart kontraktech:
+Aby se zabránilo neoprávněnému použití funkcí smart kontraktu, je nutné implementovat bezpečné přístupové kontroly. Mechanismy přístupové kontroly omezují schopnost používat určité funkce ve smart kontraktu na schválené subjekty, jako jsou účty odpovědné za správu kontraktu. Vzor **Ownable** a **řízení přístupu na základě rolí** jsou dva užitečné vzory pro implementaci řízení přístupu v chytrých kontraktech:
#### Vzor Ownable {#ownable-pattern}
Tento vzor přiřadí při vytváření kontraktu adresu jako „vlastníka“ kontraktu. Chráněným funkcím je přiřazen modifikátor `OnlyOwner`, který zajistí, že kontrakt ověří identitu volající adresy před spuštěním funkce. Volání chráněných funkcí z jiných adres, než je adresa vlastníka kontraktu, se vždy vrátí zpět, čímž se zabrání přístupu nežádoucích adres.
-#### Kontrola přístupu založená na rolích {#role-based-access-control}
+#### Řízení přístupu na základě rolí {#role-based-access-control}
-Registrace jediné adresy jako `vlastníka` smart kontraktu představuje riziko centralizace a jediného bodu selhání. Pokud jsou kompromitovány klíče účtu vlastníka, útočníci mohou napadnout i kontrakt, který vlastní. Proto může být lepší možností použít kontrolu přístupu založenou na rolích s účty několika správců.
+Registrace jediné adresy jako `Owner` v chytrém kontraktu představuje riziko centralizace a jediný bod selhání. Pokud jsou kompromitovány klíče účtu vlastníka, útočníci mohou napadnout i kontrakt, který vlastní. Proto může být lepší možností použít kontrolu přístupu založenou na rolích s účty několika správců.
V řízení přístupu na základě rolí je přístup k citlivým funkcím rozdělen mezi několik důvěryhodných adres. Jeden účet může být například zodpovědný za vydávání nových tokenů, zatímco jiný účet provádí vylepšení nebo kontrakt pozastavuje. Decentralizace řízení přístupu tímto způsobem eliminuje jednotlivé body selhání a snižuje nutnost uživatele vašemu kontraktu slepě důvěřovat.
##### Použití multi-signature peněženek
-Dalším přístupem k implementaci bezpečné přístupové kontroly je možnost ke správě kontraktu použít [multi-signature účet](/developers/docs/smart-contracts/#multisig). Na rozdíl od běžného EOA jsou multi-signature účty vlastněny několika subjekty a k provedení transakcí vyžadují podpisy od předem daného minimálního počtu účtů – například alespoň 3 z 5.
+Dalším přístupem k implementaci bezpečného řízení přístupu je použití [účtu s vícenásobným podpisem](/developers/docs/smart-contracts/#multisig) ke správě kontraktu. Na rozdíl od běžného EOA jsou multi-signature účty vlastněny několika subjekty a k provedení transakcí vyžadují podpisy od předem daného minimálního počtu účtů – například alespoň 3 z 5.
Použití multisigu pro řízení přístupu přináší další vrstvu zabezpečení, protože akce na smart kontraktu vyžadují souhlas více stran. To je užitečné zejména v případě, že je použití vzoru Ownable nezbytné, protože útočníkovi nebo i insiderovi se špatným úmyslem komplikuje manipulaci s citlivými funkcemi kontraktu.
-### 2. Použijte příkazy require(), assert() a revert() k ochraně akcí kontraktu {#use-require-assert-revert}
+### 2. Použijte příkazy `require()`, `assert()` a `revert()` k ochraně operací kontraktu {#use-require-assert-revert}
-Jakmile je váš smart kontrakt nasazen na blockchain, volat jeho veřejné funkce může kdokoliv. Jelikož nemůžete předem vědět, jak budou externí účty s kontraktem interagovat, je ideální volbou implementovat interní zabezpečení proti problematickým operacím ještě před nasazením kontraktu. Pomocí příkazů `require()`, `assert()` a `revert()` můžete nastavit požadované chování smart kontraktu za účelem vyvolání výjimek a vrácení změn stavu, pokud exekuce funkce nebude úspěšná.
+Jakmile je váš smart kontrakt nasazen na blockchain, volat jeho veřejné funkce může kdokoliv. Jelikož nemůžete předem vědět, jak budou externí účty s kontraktem interagovat, je ideální volbou implementovat interní zabezpečení proti problematickým operacím ještě před nasazením kontraktu. Správné chování v chytrých kontraktech můžete vynutit pomocí příkazů `require()`, `assert()` a `revert()`, které spouštějí výjimky a vracejí změny stavu, pokud se provádění nepodaří splnit určité požadavky.
-**`require()`**: ``Vyžaduje, aby byly předem definované podmínky splněny před spuštěním volané funkce. Příkaz `require` lze použít k ověření uživatelských vstupů, kontrole stavových proměnných nebo ověření identity volajícího účtu před pokračováním exekuce funkce.
+**`require()`**: `require` se definuje na začátku funkcí a zajišťuje, že jsou splněny předem definované podmínky před spuštěním volané funkce. Příkaz `require` lze použít k ověření vstupů uživatele, kontrole stavových proměnných nebo ověření identity volajícího účtu před pokračováním ve funkci.
-**`assert()`**: `assert()` se používá k detekci interních chyb a kontrole porušení „invariantů“ v kódu. Invariant je logické tvrzení o stavu kontraktu, které by mělo platit pro všechny exekuce funkcí. Příkladem invariantu je maximální celková nabídka nebo zůstatek tokenového kontraktu. Použití funkce `assert()` zajišťuje, že váš kontrakt nikdy nedosáhne zranitelného stavu, a pokud ano, všechny změny stavových proměnných budou vráceny zpět.
+**`assert()`**: `assert()` se používá k detekci vnitřních chyb a kontrole porušení „invariantů“ ve vašem kódu. Invariant je logické tvrzení o stavu kontraktu, které by mělo platit pro všechny exekuce funkcí. Příkladem invariantu je maximální celková nabídka nebo zůstatek tokenového kontraktu. Použití `assert()` zajišťuje, že váš kontrakt nikdy nedosáhne zranitelného stavu, a pokud ano, všechny změny stavových proměnných se vrátí zpět.
-**`revert()`**: `revert()` může být použit v if-else příkazu k vyvolání výjimky, pokud není splněna požadovaná podmínka. Ukázkový kontrakt níže používá `revert()` k ochraně exekuce funkcí:
+**`revert()`**: `revert()` lze použít v příkazu if-else, který spustí výjimku, pokud není splněna požadovaná podmínka. Níže uvedený ukázkový kontrakt používá `revert()` k ochraně provádění funkcí:
```
pragma solidity ^0.8.4;
@@ -58,8 +58,8 @@ contract VendingMachine {
error Unauthorized();
function buy(uint amount) public payable {
if (amount > msg.value / 2 ether)
- revert("Not enough Ether provided.");
- // Perform the purchase.
+ revert("Nebylo poskytnuto dostatek etherů.");
+ // Proveďte nákup.
}
function withdraw() public {
if (msg.sender != owner)
@@ -70,19 +70,19 @@ contract VendingMachine {
}
```
-### 3. Testování smart kontraktů a ověřování správnosti kódu {#test-smart-contracts-and-verify-code-correctness}
+### 3. Testujte chytré kontrakty a ověřujte správnost kódu {#test-smart-contracts-and-verify-code-correctness}
-Neměnnost kódu běžícího na [Virtuálním stroji Etherea (EVM)](/developers/docs/evm/) znamená, že smart kontrakty vyžadují vyšší úroveň kontroly kvality během vývojové fáze. Důkladné testování vašeho kontraktu a sledování jakýchkoli neočekávaných výsledků výrazně zvýší bezpečnost a dlouhodobě ochrání vaše uživatele.
+Neměnnost kódu běžícího v [Ethereum Virtual Machine](/developers/docs/evm/) znamená, že chytré kontrakty vyžadují vyšší úroveň hodnocení kvality během vývojové fáze. Důkladné testování vašeho kontraktu a sledování jakýchkoli neočekávaných výsledků výrazně zvýší bezpečnost a dlouhodobě ochrání vaše uživatele.
-Obvyklou metodou je psát malé jednotkové testy (unit tests) pomocí mock dat, která kontrakt očekává od uživatelů. [Jednotkové testování](/developers/docs/smart-contracts/testing/#unit-testing) je dobré pro testování funkčnosti určitých funkcí a zajištění, že smart kontrakt funguje podle očekávání.
+Obvyklou metodou je psát malé jednotkové testy (unit tests) pomocí mock dat, která kontrakt očekává od uživatelů. [Jednotkové testování](/developers/docs/smart-contracts/testing/#unit-testing) je dobré pro testování funkčnosti určitých funkcí a zajištění, že chytrý kontrakt funguje podle očekávání.
Jednotkové testování je při zajištění bezpečnosti smart kontraktů účinné bohužel jen minimálně, pokud se používá izolovaně. Jednotkový test může prokázat, že funkce správně provádí operace s mock daty, ale obecně jsou jednotkové testy účinné pouze do té míry, jak jsou napsány. To ztěžuje detekci opomenutých hraničních případů a zranitelností, které by mohly ohrozit bezpečnost vašeho smart kontraktu.
-Lepším přístupem je kombinovat jednotkové testování s testováním založeným na vlastnostech (property-based testing) prováděným pomocí [statické a dynamické analýzy](/developers/docs/smart-contracts/testing/#static-dynamic-analysis). Statická analýza se spoléhá na nízkoúrovňové reprezentace, jako jsou [grafy toku kontroly (control flow graphs)](https://en.wikipedia.org/wiki/Control-flow_graph) a [abstraktní syntaktické stromy](https://deepsource.io/glossary/ast/) (abstract syntax trees), za účelem analýzy dosažitelných stavů programu a možných exekučních cest. Mezitím dynamické analytické techniky, jako je [fuzzing smart kontraktů](https://www.cyfrin.io/blog/smart-contract-fuzzing-and-invariants-testing-foundry), provádějí kód kontraktu s náhodnými vstupními hodnotami, aby detekovaly operace, které porušují bezpečnostní vlastnosti.
+Lepším přístupem je kombinovat jednotkové testování s testováním založeným na vlastnostech, které se provádí pomocí [statické a dynamické analýzy](/developers/docs/smart-contracts/testing/#static-dynamic-analysis). Statická analýza se spoléhá na nízkoúrovňové reprezentace, jako jsou [grafy toku řízení](https://en.wikipedia.org/wiki/Control-flow_graph) a [abstraktní syntaktické stromy](https://deepsource.io/glossary/ast/) k analýze dosažitelných stavů programu a cest provádění. Mezitím techniky dynamické analýzy, jako je [fuzzing chytrých kontraktů](https://www.cyfrin.io/blog/smart-contract-fuzzing-and-invariants-testing-foundry), spouštějí kód kontraktu s náhodnými vstupními hodnotami, aby odhalily operace, které porušují bezpečnostní vlastnosti.
-[Formální verifikace](/developers/docs/smart-contracts/formal-verification) je dalším postupem pro ověřování bezpečnostních vlastností ve smart kontraktech. Na rozdíl od běžného testování může formální verifikace definitivně prokázat nepřítomnost chyb ve smart kontraktu. Toho lze docílit vytvořením formální specifikace, která zachycuje požadované bezpečnostní vlastnosti, a prokázáním, že formální model kontraktů odpovídá této specifikaci.
+[Formální ověření](/developers/docs/smart-contracts/formal-verification) je další technika pro ověřování bezpečnostních vlastností v chytrých kontraktech. Na rozdíl od běžného testování může formální verifikace definitivně prokázat nepřítomnost chyb ve smart kontraktu. Toho lze docílit vytvořením formální specifikace, která zachycuje požadované bezpečnostní vlastnosti, a prokázáním, že formální model kontraktů odpovídá této specifikaci.
-### 4. Požádejte o nezávislé přezkoumání vašeho kódu {#get-independent-code-reviews}
+### 4. Požádejte o nezávislou revizi svého kódu {#get-independent-code-reviews}
Po testování vašeho kontraktu je dobré požádat jiné osoby, aby zkontrolovaly zdrojový kód a odhalily případné bezpečnostní problémy. Testování neodhalí všechny chyby ve smart kontraktu, ale nezávislé přezkoumání zvyšuje možnost odhalení zranitelností.
@@ -92,18 +92,18 @@ Zajištění auditu smart kontraktů je jedním ze způsobů, jak provést nezá
Je však důležité nenahlížet na audity jako na všelék. Audity smart kontraktů neodhalí každou chybu a jsou navrženy především pro poskytování dalšího kola kontrol, které mohou pomoci odhalit problémy, které vývojáři během počátečního vývoje a testování přehlédli. Doporučuje se dodržovat osvědčené postupy při práci s auditory, jako je řádné dokumentování kódu a přidávání komentářů, aby se přínos takového auditu maximalizoval.
-- [Smart contract auditing tips & tricks](https://twitter.com/tinchoabbate/status/1400170232904400897) – _@tinchoabbate_
-- [Make the most out of your audit](https://inference.ag/blog/2023-08-14-tips/) – _Inference_
+- [Tipy a triky pro auditování chytrých kontraktů](https://twitter.com/tinchoabbate/status/1400170232904400897) – _@tinchoabbate_
+- [Využijte svůj audit na maximum](https://inference.ag/blog/2023-08-14-tips/) – _Inference_
-#### Odměna za vyřešení chyby {#bug-bounties}
+#### Odměny za nalezení chyb {#bug-bounties}
Zřízení programu bug bounty, tedy programu odměn za vyřešení chyb, je dalším přístupem k implementaci externích kontrol kódu. Bug bounty je finanční odměna poskytovaná jednotlivcům (obvykle whitehat hackerům), kteří objeví zranitelnosti v aplikaci.
-Při správném použití bug bounty motivuje členy hackerské komunity k inspekci vašeho kódu a odhalení kritických chyb. Příkladem z reálného světa je „infinite money bug“, který by útočníkovi umožnil vytvořit neomezené množství etheru na [Optimismu](https://www.optimism.io/), protokolu [druhé vrstvy](/layer-2/) na Ethereu. Naštěstí whitehat hacker [odhalil tuto chybu](https://www.saurik.com/optimism.html) a informoval tým, čímž si [vysloužil velkou odměnu](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/).
+Při správném použití bug bounty motivuje členy hackerské komunity k inspekci vašeho kódu a odhalení kritických chyb. Příkladem z reálného života je chyba „nekonečných peněz“, která by útočníkovi umožnila vytvořit neomezené množství etheru na [Optimism](https://www.optimism.io/), protokolu [druhé vrstvy](/layer-2/) běžícím na Ethereu. Naštěstí whitehat hacker [objevil chybu](https://www.saurik.com/optimism.html) a informoval tým, za což [získal velkou odměnu](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/).
-Užitečnou strategií je nastavit odměnu v programu bug bounty v poměru k výši prostředků, které jsou v sázce. Tento přístup, popisovaný jako „[škálovatelná bug bounty](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)“, finančně motivuje jednotlivce zodpovědně zveřejnit zranitelnosti namísto jejich zneužití.
+Užitečnou strategií je nastavit odměnu v programu bug bounty v poměru k výši prostředků, které jsou v sázce. Tento přístup, popisovaný jako „[scaling bug bounty](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)“, poskytuje finanční pobídky pro jednotlivce, aby zodpovědně zveřejňovali zranitelnosti, místo aby je zneužívali.
-### 5. Při vývoji smart kontraktů dodržujte osvědčené postupy {#follow-smart-contract-development-best-practices}
+### 5. Dodržujte osvědčené postupy při vývoji chytrých kontraktů {#follow-smart-contract-development-best-practices}
Existence auditů a bug bounty vás nezbavuje odpovědnosti za psaní kvalitního kódu. Bezpečnost smart kontraktů začíná dodržováním správných návrhových a vývojových procesů:
@@ -113,29 +113,29 @@ Existence auditů a bug bounty vás nezbavuje odpovědnosti za psaní kvalitníh
- Zajistěte, aby měl každý pull request alespoň jednoho nezávislého recenzenta – pokud pracujete na projektu sami, zvažte, zda nenajít jiné vývojáře a poprosit je o vzájemné recenzování vašich kódů
-- Pro testování, kompilaci a nasazování smart kontraktů používejte [vývojové prostředí](/developers/docs/frameworks/)
+- Používejte [vývojové prostředí](/developers/docs/frameworks/) pro testování, kompilaci a nasazování chytrých kontraktů
-- Spusťte svůj kód pomocí základních nástrojů pro analýzu kódu, jako jsou [Cyfrin Aderyn](https://github.com/Cyfrin/aderyn), Mythril a Slither. Ideálně byste to měli udělat před každým sloučením pull requestu a porovnat rozdíly ve výstupu
+- Prožeňte svůj kód základními nástroji pro analýzu kódu, jako jsou [Cyfrin Aderyn](https://github.com/Cyfrin/aderyn), Mythril a Slither. Ideálně byste to měli udělat před každým sloučením pull requestu a porovnat rozdíly ve výstupu
- Ujistěte se, že váš kód se kompiluje bez chyb a kompilátor Solidity nevydává žádná varování
-- Správně dokumentujte svůj kód (pomocí [NatSpec](https://solidity.readthedocs.io/en/develop/natspec-format.html)) a uveďte podrobnosti o architektuře kontraktu ve snadno srozumitelném jazyce. To usnadní audit a přezkoumání vašeho kódu.
+- Správně dokumentujte svůj kód (pomocí [NatSpec](https://solidity.readthedocs.io/en/develop/natspec-format.html)) a popisujte podrobnosti o architektuře kontraktu ve snadno srozumitelném jazyce. To usnadní audit a přezkoumání vašeho kódu.
-### 6. Implementujte robustní plány obnovy po nehodě {#implement-disaster-recovery-plans}
+### 6. Implementujte robustní plány pro zotavení po havárii {#implement-disaster-recovery-plans}
Navrhování bezpečných přístupových kontrol, implementace modifikátorů funkcí a další doporučení mohou zlepšit bezpečnost smart kontraktů, ale nemohou vyloučit možnost zlovolných útoků. Budování bezpečných smart kontraktů vyžaduje „přípravu na selhání“ a mít záložní plán pro efektivní reakci na útoky. Správný plán obnovy po nehodě zahrnuje některé nebo všechny z následujících komponent:
-#### Aktualizace kontraktů {#contract-upgrades}
+#### Upgrady kontraktů {#contract-upgrades}
I když jsou smart kontrakty na Ethereu ve výchozím nastavení neměnné, pomocí vzorů aktualizace je možné dosáhnout určité míry změny. Aktualizace kontraktů je nezbytná v případech, kdy kritická chyba činí váš starý kontrakt nepoužitelným a nasazení nové logiky je nejrealističtější možností.
Mechanismy aktualizace kontraktů fungují různě, ale jedním z populárních přístupů je „proxy vzor“. [Proxy vzory](https://www.cyfrin.io/blog/upgradeable-proxy-smart-contract-pattern) rozdělují stav a logiku aplikace mezi _dva_ kontrakty. První kontrakt (tzv. „proxy kontrakt“) uchovává stavové proměnné (např. zůstatky uživatelů), zatímco druhý kontrakt (tzv. „logický kontrakt“) obsahuje kód pro vykonávání funkcí kontraktu.
-Účty interagují s proxy kontraktem, který přesměruje všechna volání funkcí na logický kontrakt pomocí nízkoúrovňového volání [`delegatecall()`](https://docs.soliditylang.org/en/v0.8.16/introduction-to-smart-contracts.html?highlight=delegatecall#delegatecall-callcode-and-libraries). Na rozdíl od běžného volání zpráv `delegatecall()` zajišťuje, že kód spuštěný na adrese logického kontraktu je prováděn v kontextu volajícího kontraktu. To znamená, že logický kontrakt vždy zapisuje do úložiště proxy kontraktu (místo vlastního úložiště) a původní hodnoty `msg.sender` a `msg.value` jsou zachovány.
+Účty interagují s proxy kontraktem, který odesílá všechna volání funkcí do logického kontraktu pomocí nízkoúrovňového volání [`delegatecall()`](https://docs.soliditylang.org/en/v0.8.16/introduction-to-smart-contracts.html?highlight=delegatecall#delegatecall-callcode-and-libraries). Na rozdíl od běžného volání zprávy `delegatecall()` zajišťuje, že kód spuštěný na adrese logického kontraktu je prováděn v kontextu volajícího kontraktu. To znamená, že logický kontrakt bude vždy zapisovat do úložiště proxy (místo do svého vlastního úložiště) a původní hodnoty `msg.sender` a `msg.value` jsou zachovány.
Delegování volání na logický kontrakt vyžaduje uložení jeho adresy do úložiště proxy kontraktu. Proto je aktualizace logiky kontraktu pouze otázkou nasazení nového logického kontraktu a uložení nové adresy do proxy kontraktu. Následná volání proxy kontraktu jsou pak automaticky směrována na nový logický kontrakt, čímž dojde k „aktualizaci“ kontraktu bez skutečné modifikace kódu.
-[Další informace o aktualizaci kontraktu](/developers/docs/smart-contracts/upgrading/).
+[Více o upgradování kontraktů](/developers/docs/smart-contracts/upgrading/).
#### Nouzové zastavení {#emergency-stops}
@@ -143,16 +143,16 @@ Jak již bylo zmíněno, i přes rozsáhlé audity a testování není možné o
Nejradikálnější možností je implementovat funkci „nouzového zastavení“, která zablokuje volání zranitelných funkcí v kontraktu. Nouzové zastavení obvykle zahrnuje následující komponenty:
-1. Globální Booleanovská proměnná, která indikuje, zda je smart kontrakt zastaven, či nikoli. Tato proměnná je při spouštění kontraktu nastavena na `false`, ale při zastavení kontraktu se změní na `true`.
+1. Globální Booleanovská proměnná, která indikuje, zda je smart kontrakt zastaven, či nikoli. Tato proměnná je při nastavování kontraktu nastavena na `false`, ale po zastavení kontraktu se vrátí na `true`.
2. Funkce, které odkazují na Booleanovskou proměnnou při jejich provádění. Tyto funkce jsou přístupné, když smart kontrakt není pozastaven, a stávají se nepřístupnými, když je funkce nouzového zastavení aktivována.
-3. Entita, která má přístup k funkci nouzového zastavení a která nastavuje Booleanovskou proměnnou na `true`. Aby se zabránilo zlovolným akcím, lze volání této funkce omezit na důvěryhodnou adresu (např. vlastníka kontraktu).
+3. Entita, která má přístup k funkci nouzového zastavení, která nastavuje booleovskou proměnnou na `true`. Aby se zabránilo zlovolným akcím, lze volání této funkce omezit na důvěryhodnou adresu (např. vlastníka kontraktu).
-Jakmile je nouzové zastavení aktivováno, určité funkce nebudou volatelné. Toho lze dosáhnout obalením vybraných funkcí v modifikátoru, který odkazuje na globální proměnnou. Níže je uveden [příklad](https://github.com/fravoll/solidity-patterns/blob/master/EmergencyStop/EmergencyStop.sol) implementace tohoto vzoru v kontraktech:
+Jakmile je nouzové zastavení aktivováno, určité funkce nebudou volatelné. Toho lze dosáhnout obalením vybraných funkcí v modifikátoru, který odkazuje na globální proměnnou. Níže je [příklad](https://github.com/fravoll/solidity-patterns/blob/master/EmergencyStop/EmergencyStop.sol), který popisuje implementaci tohoto vzoru v kontraktech:
```solidity
-// This code has not been professionally audited and makes no promises about safety or correctness. Use at your own risk.
+// Tento kód nebyl profesionálně auditován a neslibuje žádnou bezpečnost ani správnost. Používejte na vlastní nebezpečí.
contract EmergencyStop {
@@ -169,7 +169,7 @@ contract EmergencyStop {
}
modifier onlyAuthorized {
- // Check for authorization of msg.sender here
+ // Zde zkontrolujte autorizaci msg.sender
_;
}
@@ -182,63 +182,63 @@ contract EmergencyStop {
}
function deposit() public payable stoppedInEmergency {
- // Deposit logic happening here
+ // Zde probíhá logika vkladu
}
function emergencyWithdraw() public onlyWhenStopped {
- // Emergency withdraw happening here
+ // Zde probíhá nouzový výběr
}
}
```
Tento příklad ukazuje základní funkce nouzového zastavení:
-- Proměnná `isStopped` je Booleanovská hodnota, která se na začátku vyhodnocuje jako `false` a změní se na `true`, když kontrakt vstoupí do nouzového režimu.
+- `isStopped` je booleovská hodnota, která se na začátku vyhodnotí jako `false` a jako `true`, když kontrakt vstoupí do nouzového režimu.
-- Modifikátory funkcí `onlyWhenStopped` a `stoppedInEmergency` kontrolují proměnnou `isStopped`. Modifikátor `stoppedInEmergency` se používá k ovládání funkcí, které by měly být nepřístupné, když je kontrakt zranitelný (např. funkce `deposit()`). Volání těchto funkcí se jednoduše zruší.
+- Modifikátory funkcí `onlyWhenStopped` a `stoppedInEmergency` kontrolují proměnnou `isStopped`. `stoppedInEmergency` se používá k řízení funkcí, které by měly být nepřístupné, když je kontrakt zranitelný (např. `deposit()`). Volání těchto funkcí se jednoduše zruší.
-Modifikátor `onlyWhenStopped` se používá pro funkce, které by měly být volatelné během nouze (např. `funkce emergencyWithdraw()`). Tyto funkce mohou pomoci situaci vyřešit, a proto jsou vyloučeny ze seznamu „omezených funkcí“.
+`onlyWhenStopped` se používá pro funkce, které by měly být volatelné během nouzového stavu (např. `emergencyWithdraw()`). Tyto funkce mohou pomoci situaci vyřešit, a proto jsou vyloučeny ze seznamu „omezených funkcí“.
Použití funkce nouzového zastavení poskytuje efektivní řešení vážných zranitelností smart kontraktu. Nicméně to zvyšuje nutnost uživatelů důvěřovat vývojářům, že tuto funkci neaktivují z vlastních sobeckých důvodů. Za tímto účelem je možné decentralizovat kontrolu nad nouzovým zastavením buď tím, že bude podléhat hlasovacímu mechanismu na blockchainu, časovému zámku nebo schválení z multisig peněženky.
#### Monitorování událostí {#event-monitoring}
-[Události](https://docs.soliditylang.org/en/v0.8.15/contracts.html#events) umožňují sledovat volání funkcí smart kontraktů a monitorovat změny stavových proměnných. Ideální je naprogramovat váš smart kontrakt tak, aby zapsal událost pokaždé, když nějaká strana provede bezpečnostně kritickou akci (např. výběr prostředků).
+[Události](https://docs.soliditylang.org/en/v0.8.15/contracts.html#events) umožňují sledovat volání funkcí chytrých kontraktů a monitorovat změny stavových proměnných. Ideální je naprogramovat váš smart kontrakt tak, aby zapsal událost pokaždé, když nějaká strana provede bezpečnostně kritickou akci (např. výběr prostředků).
Protokolování událostí a jejich monitorování mimo blockchain poskytuje přehled o činnostech kontraktu a pomáhá rychleji odhalit škodlivé akce. To znamená, že váš tým může rychleji reagovat na útoky a podniknout kroky ke zmírnění dopadu na uživatele, jako je pozastavení funkcí nebo provedení aktualizace.
Můžete si také vybrat hotový nástroj pro monitorování, který automaticky přeposílá upozornění pokaždé, když někdo interaguje s vašimi kontrakty. Tyto nástroje vám umožní vytvářet vlastní upozornění na základě různých spouštěcích událostí, jako je objem transakcí, četnost volání funkcí nebo specifické funkce zapojené do transakce. Například byste mohli naprogramovat upozornění, které se objeví, když částka vybraná v jedné transakci překročí určitou prahovou hodnotu.
-### 7. Návrh bezpečných řídicích systémů {#design-secure-governance-systems}
+### 7. Navrhněte bezpečné systémy správy {#design-secure-governance-systems}
Možná budete chtít decentralizovat svou aplikaci tím, že předáte kontrolu nad hlavními smart kontrakty členům komunity. V tomto případě bude systém chytrých kontraktů zahrnovat řídicí modul — mechanismus, který členům komunity umožní schvalovat administrativní kroky prostřednictvím systému řízení na blockchainu. Například návrh na aktualizaci proxy kontraktu na novou implementaci může být odhlasován držiteli tokenů.
Decentralizované řízení může být prospěšné, zejména proto, že sladí zájmy vývojářů a koncových uživatelů. Nicméně mechanismy správy smart kontraktů mohou při nesprávné implementaci představovat nové riziko. Pravděpodobný scénář je, že útočník získá obrovskou hlasovací sílu (měřenou počtem držených tokenů) tím, že si vezme [bleskovou půjčku](/defi/#flash-loans) a protlačí škodlivý návrh.
-Jedním ze způsobů, jak předcházet problémům spojeným s řízením na blockchainu, je [použití časového zámku](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/). Časový zámek brání smart kontraktu v provádění předem daných akcí, dokud neuplyne stanovené množství času. Další strategie zahrnují přiřazení „váhy hlasu“ každému tokenu na základě toho, jak dlouho ho adresa držela, nebo měření hlasovací síly adresy v historickém období (například 2–3 bloky v minulosti) namísto aktuálního bloku. Obě metody snižují možnosti rychlého získávání hlasovací síly za účelem ovlivnění hlasování na blockchainu.
+Jedním ze způsobů, jak předcházet problémům souvisejícím se správou na blockchainu, je [použití časového zámku](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/). Časový zámek brání smart kontraktu v provádění předem daných akcí, dokud neuplyne stanovené množství času. Další strategie zahrnují přiřazení „váhy hlasu“ každému tokenu na základě toho, jak dlouho ho adresa držela, nebo měření hlasovací síly adresy v historickém období (například 2–3 bloky v minulosti) namísto aktuálního bloku. Obě metody snižují možnosti rychlého získávání hlasovací síly za účelem ovlivnění hlasování na blockchainu.
-Více o [návrhu systémů bezpečného řízení](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/), [různých hlasovacích mechanismech v DAO](https://hackernoon.com/governance-is-the-holy-grail-for-daos) a [běžných vektorech útoku DAO využívajících DeFi](https://dacian.me/dao-governance-defi-attacks) najdete ve sdílených odkazech.
+Více o [navrhování bezpečných systémů správy](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/), [různých mechanismech hlasování v DAO](https://hackernoon.com/governance-is-the-holy-grail-for-daos) a [běžných vektorech útoků na DAO s využitím DeFi](https://dacian.me/dao-governance-defi-attacks) ve sdílených odkazech.
### 8. Snižte složitost kódu na minimum {#reduce-code-complexity}
Vývojáři tradičních softwarů znají princip KISS („Keep It Simple, Stupid“), který doporučuje zbytečně softwarový design nekomplikovat. Tento princip vychází z myšlenky, že „komplexní systémy selhávají složitým způsobem“ a jsou náchylnější k nákladným chybám.
-Udržování jednoduchosti je zvláště důležité při psaní smart kontraktů, vzhledem k tomu, že smart kontrakty potenciálně spravují velké objemy aktiv. Tipem pro docílení jednoduchosti při psaní smart kontraktů je opětovné použití stávajících knihoven, jako je [OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/5.x/), kdekoliv je to možné. Protože tyto knihovny byly důkladně auditovány a testovány vývojáři, jejich použití snižuje pravděpodobnost chyb při psaní nové funkcionality od začátku.
+Udržování jednoduchosti je zvláště důležité při psaní smart kontraktů, vzhledem k tomu, že smart kontrakty potenciálně spravují velké objemy aktiv. Tipem pro dosažení jednoduchosti při psaní chytrých kontraktů je, pokud je to možné, opětovné použití existujících knihoven, jako jsou [OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/5.x/). Protože tyto knihovny byly důkladně auditovány a testovány vývojáři, jejich použití snižuje pravděpodobnost chyb při psaní nové funkcionality od začátku.
Dalším běžným doporučením je psát malé funkce a udržovat smart kontrakty modulární rozdělením obchodní logiky mezi více kontraktů. Nejenže psaní jednoduššího kódu snižuje možnosti útoku na váš smart kontrakt, ale také usnadňuje ověřování správnosti celého systému a včasné odhalení možných návrhových chyb.
-### 9. Chraňte se před běžnými zranitelnostmi smart kontraktů {#mitigate-common-smart-contract-vulnerabilities}
+### 9. Obrana proti běžným zranitelnostem chytrých kontraktů {#mitigate-common-smart-contract-vulnerabilities}
-#### Opětovný vstup {#reentrancy}
+#### Opětovný vstup (reentrancy) {#reentrancy}
-EVM neumožňuje souběžné zpracování (konkurenci), což znamená, že dva kontrakty zapojené do volání zprávy nemohou běžet současně. Externí volání pozastaví exekuci a paměť volajícího kontraktu, dokud se volání nevrátí, načež provádění pokračuje normálně. Tento proces lze formálně popsat jako předání [řízení](https://www.computerhope.com/jargon/c/contflow.htm) dalšímu kontraktu.
+EVM neumožňuje souběžné zpracování (konkurenci), což znamená, že dva kontrakty zapojené do volání zprávy nemohou běžet současně. Externí volání pozastaví exekuci a paměť volajícího kontraktu, dokud se volání nevrátí, načež provádění pokračuje normálně. Tento proces lze formálně popsat jako předání [toku řízení](https://www.computerhope.com/jargon/c/contflow.htm) jinému kontraktu.
Ačkoli je tento proces většinou neškodný, předání řízení nedůvěryhodným kontraktům může způsobit problémy, jako je reentrancy (opětovný vstup). Útok opětovným vstupem nastane, když škodlivý kontrakt znovu volá do zranitelného kontraktu, než je původní funkce dokončena. Tento typ útoku je nejlepší vysvětlovat na příkladu.
Mějme jednoduchý chytrý kontrakt (Victim), který umožňuje komukoli vložit a vybrat ether:
```solidity
-// This contract is vulnerable. Do not use in production
+// Tento kontrakt je zranitelný. Nepoužívejte v produkčním prostředí
contract Victim {
mapping (address => uint256) public balances;
@@ -256,15 +256,15 @@ contract Victim {
}
```
-Tento kontrakt nabízí funkci `withdraw()`, která umožňuje uživatelům vybrat ETH, které do kontraktu vložili v minulosti. Při zpracování výběru kontrakt provádí následující operace:
+Tento kontrakt odhaluje funkci `withdraw()`, která uživatelům umožňuje vybrat ETH dříve vložené do kontraktu. Při zpracování výběru kontrakt provádí následující operace:
1. Zjistí zůstatek ETH uživatele
2. Odešle prostředky na volající adresu
3. Resetuje jejich zůstatek na 0, aby zabránil dalším výběrům od uživatele
-Funkce `withdraw()` v kontraktu `Victim` následuje vzor „kontroly-interakce-efekty“ (checks-interactions-effects). Nejprve _zkontroluje_, zda jsou splněny podmínky pro exekuci (tzn. uživatel má kladný zůstatek ETH), poté provede _interakci_ odesláním ETH na adresu volajícího a nakonec aplikuje _efekty_ transakce (tj. sníží zůstatek uživatele).
+Funkce `withdraw()` v kontraktu `Victim` se řídí vzorem „kontrola-interakce-efekty“. Nejprve _zkontroluje_, zda jsou splněny podmínky nutné pro provedení (tj. zda má uživatel kladný zůstatek ETH), a provede _interakci_ odesláním ETH na adresu volajícího, než aplikuje _efekty_ transakce (tj. sníží zůstatek uživatele).
-Pokud je funkce `withdraw()` volána z účtu vlastněného externí osobou (EOA), funkce se provede podle očekávání: `msg.sender.call.value()` odešle ETH volajícímu. Avšak pokud je `msg.sender` účet smart kontraktu, který volá `withdraw()`, odeslání prostředků pomocí `msg.sender.call.value()` spustí i kód uložený na této adrese.
+Pokud je `withdraw()` volána z externě vlastněného účtu (EOA), funkce se provede podle očekávání: `msg.sender.call.value()` odešle ETH volajícímu. Pokud je však `msg.sender` účet chytrého kontraktu a volá `withdraw()`, odeslání prostředků pomocí `msg.sender.call.value()` spustí také kód uložený na této adrese.
Představte si, že toto je kód na adrese kontraktu:
@@ -289,28 +289,28 @@ Tento kontrakt je navržen tak, aby dělal tři věci:
2. Uložil 1 ETH do kontraktu Victim
3. Vybral 1 ETH uložený ve smart kontraktu
-Na první pohled není na tomto kontraktu nic špatného, až na to, že kontrakt `Attacker` má další funkci, která znovu volá `withdraw()` v kontraktu `Victim`, pokud je zbývající palivo (gas) z příchozího volání `msg.sender.call.value` více než 40 000. To dává kontraktu `Attacker` schopnost znovu vstoupit do kontraktu `Victim` a vybrat více prostředků _před tím_, než se dokončí první volání `withdraw`. Tento cyklus vypadá následovně:
+Není na tom nic špatného, kromě toho, že `Attacker` má další funkci, která znovu volá `withdraw()` v `Victim`, pokud je zbývající gas z příchozího `msg.sender.call.value` více než 40 000. To dává `Attackerovi` schopnost znovu vstoupit do `Victim` a vybrat více prostředků _před_ dokončením prvního volání `withdraw`. Tento cyklus vypadá následovně:
```solidity
-- Attacker's EOA calls `Attacker.beginAttack()` with 1 ETH
-- `Attacker.beginAttack()` deposits 1 ETH into `Victim`
-- `Attacker` calls `withdraw() in `Victim`
-- `Victim` checks `Attacker`’s balance (1 ETH)
-- `Victim` sends 1 ETH to `Attacker` (which triggers the default function)
-- `Attacker` calls `Victim.withdraw()` again (note that `Victim` hasn’t reduced `Attacker`’s balance from the first withdrawal)
-- `Victim` checks `Attacker`’s balance (which is still 1 ETH because it hasn’t applied the effects of the first call)
-- `Victim` sends 1 ETH to `Attacker` (which triggers the default function and allows `Attacker` to reenter the `withdraw` function)
-- The process repeats until `Attacker` runs out of gas, at which point `msg.sender.call.value` returns without triggering additional withdrawals
-- `Victim` finally applies the results of the first transaction (and subsequent ones) to its state, so `Attacker`’s balance is set to 0
+- EOA útočníka volá `Attacker.beginAttack()` s 1 ETH
+- `Attacker.beginAttack()` vloží 1 ETH do `Victim`
+- `Attacker` volá `withdraw()` v `Victim`
+- `Victim` zkontroluje zůstatek `Attacker` (1 ETH)
+- `Victim` pošle 1 ETH `Attackerovi` (což spustí výchozí funkci)
+- `Attacker` znovu volá `Victim.withdraw()` (všimněte si, že `Victim` nesnížil zůstatek `Attacker` z prvního výběru)
+- `Victim` zkontroluje zůstatek `Attacker` (který je stále 1 ETH, protože neaplikoval efekty prvního volání)
+- `Victim` pošle 1 ETH `Attackerovi` (což spustí výchozí funkci a umožní `Attackerovi` znovu vstoupit do funkce `withdraw`)
+- Proces se opakuje, dokud `Attackerovi` nedojde gas, v tu chvíli `msg.sender.call.value` vrátí hodnotu bez spuštění dalších výběrů
+- `Victim` nakonec aplikuje výsledky první transakce (a následujících) na svůj stav, takže zůstatek `Attacker` je nastaven na 0
```
-Výsledkem je, že následná vyvolání budou úspěšná a umožní volajícímu vybrat svůj zůstatek vícekrát, protože zůstatek volajícího není nastaven na 0, dokud se nedokončí provedení funkce. Tento druh útoku může být použit k vybrání prostředků smart kontraktu, jako se to stalo při [DAO hacku v roce 2016](https://www.coindesk.com/learn/understanding-the-dao-attack). Útoky opětovným vstupem (reentrancy) jsou stále kritickým problémem smart kontraktů, jak ukazují [veřejné seznamy exploitů reentrancy útoků](https://github.com/pcaversaccio/reentrancy-attacks).
+Výsledkem je, že následná vyvolání budou úspěšná a umožní volajícímu vybrat svůj zůstatek vícekrát, protože zůstatek volajícího není nastaven na 0, dokud se nedokončí provedení funkce. Tento druh útoku může být použit k vyčerpání prostředků z chytrého kontraktu, jako se to stalo při [hacku DAO v roce 2016](https://www.coindesk.com/learn/understanding-the-dao-attack). Útoky opětovným vstupem (reentrancy) jsou pro chytré kontrakty stále kritickým problémem, jak ukazují [veřejné seznamy zneužití reentrancy útoků](https://github.com/pcaversaccio/reentrancy-attacks).
##### Jak zabránit útokům opětovným vstupem
-Jedním z přístupů, jak se vypořádat s reentrancy útoky, je dodržovat vzor [kontroly-efekty-interakce](https://docs.soliditylang.org/en/develop/security-considerations.html#use-the-checks-effects-interactions-pattern). Tento vzor uspořádává provádění funkcí takovým způsobem, že kód, který provádí nezbytné kontroly před pokračováním v exekuci, je proveden jako první, následovaný kódem, který manipuluje se stavem kontraktu, a kód, který interaguje s jinými kontrakty nebo EOA, přichází na řadu jako poslední.
+Přístupem k řešení opětovného vstupu je dodržování vzoru [kontrola-efekty-interakce](https://docs.soliditylang.org/en/develop/security-considerations.html#use-the-checks-effects-interactions-pattern). Tento vzor uspořádává provádění funkcí takovým způsobem, že kód, který provádí nezbytné kontroly před pokračováním v exekuci, je proveden jako první, následovaný kódem, který manipuluje se stavem kontraktu, a kód, který interaguje s jinými kontrakty nebo EOA, přichází na řadu jako poslední.
-Vzor kontroly-efekty-interakce je použit v revidované verzi kontraktu `Victim`, která je uvedena níže:
+Vzor kontrola-efekty-interakce je použit v revidované verzi kontraktu `Victim`, která je uvedena níže:
```solidity
contract NoLongerAVictim {
@@ -323,9 +323,9 @@ contract NoLongerAVictim {
}
```
-Tento kontrakt provádí _kontrolu_ zůstatku uživatele, aplikuje _efekty_ funkce `withdraw()` (nastavením zůstatku uživatele na 0) a poté pokračuje v _interakci_ (odesláním ETH na uživatelovu adresu). Tímto způsobem kontrakt aktualizuje svůj stav před externím voláním, čímž eliminuje podmínku opětovného vstupu, která umožňovala původní útok. Kontrakt `Attacker` stále může znovu volat funkci `withdraw()` v kontraktu `NoLongerAVictim`, ale protože `balances[msg.sender]` byla nastavena na 0, pokus o opětovné výběry by vyvolal chybu.
+Tento kontrakt provádí _kontrolu_ zůstatku uživatele, aplikuje _efekty_ funkce `withdraw()` (nastavením zůstatku uživatele na 0) a poté pokračuje v _interakci_ (odesláním ETH na adresu uživatele). Tímto způsobem kontrakt aktualizuje svůj stav před externím voláním, čímž eliminuje podmínku opětovného vstupu, která umožňovala původní útok. Kontrakt `Attacker` by stále mohl znovu volat do `NoLongerAVictim`, ale protože `balances[msg.sender]` byla nastavena na 0, další výběry vyvolají chybu.
-Další možností je použití zámku pro vzájemné vyloučení (běžně označovaného jako „mutex“), který uzamkne část stavu kontraktu, dokud se nedokončí volání funkce. To je implementováno pomocí proměnné typu Boolean, která je nastavena na `true` před provedením funkce a po dokončení volání se vrací na hodnotu `false`. Jak je vidět v níže uvedeném příkladu, použití mutexu chrání funkci před rekurzivními voláními, zatímco původní volání je stále zpracováváno, což účinně zastavuje reentrancy.
+Další možností je použití zámku pro vzájemné vyloučení (běžně označovaného jako „mutex“), který uzamkne část stavu kontraktu, dokud se nedokončí volání funkce. To je implementováno pomocí booleovské proměnné, která je nastavena na `true` před provedením funkce a po dokončení volání se vrací na hodnotu `false`. Jak je vidět v níže uvedeném příkladu, použití mutexu chrání funkci před rekurzivními voláními, zatímco původní volání je stále zpracováváno, což účinně zastavuje reentrancy.
```solidity
pragma solidity ^0.7.0;
@@ -340,8 +340,8 @@ contract MutexPattern {
_;
locked = false;
}
- // This function is protected by a mutex, so reentrant calls from within `msg.sender.call` cannot call `withdraw` again.
- // Příkaz 'return' se vyhodnotí jako 'true', ale stále vyhodnocuje příkaz 'locked = false' v modifikátoru.
+ // Tato funkce je chráněna mutexem, takže reentrantní volání z `msg.sender.call` nemohou znovu volat `withdraw`.
+ // Příkaz `return` se vyhodnotí jako `true`, ale stále vyhodnocuje příkaz `locked = false` v modifikátoru
function withdraw(uint _amount) public payable noReentrancy returns(bool) {
require(balances[msg.sender] >= _amount, "No balance to withdraw.");
@@ -354,32 +354,32 @@ contract MutexPattern {
}
```
-Můžete také použít systém [pull payments](https://docs.openzeppelin.com/contracts/5.x/api/security#PullPayment), který vyžaduje, aby sami uživatelé vybrali prostředky ze smart kontraktů, namísto systému „push payments“, který prostředky na účty odesílá sám. Tím se eliminuje možnost neúmyslného spuštění kódu na neznámých adresách (a může také zabránit určitým útokům typu denial-of-service).
+Můžete také použít systém [pull payments](https://docs.openzeppelin.com/contracts/5.x/api/security#PullPayment), který vyžaduje, aby si uživatelé vybírali prostředky z chytrých kontraktů, namísto systému „push payments“, který prostředky na účty odesílá. Tím se eliminuje možnost neúmyslného spuštění kódu na neznámých adresách (a může také zabránit určitým útokům typu denial-of-service).
-#### Přetečení a podtečení celých čísel {#integer-underflows-and-overflows}
+#### Celočíselné podtečení a přetečení {#integer-underflows-and-overflows}
-Přetečení celého čísla nastává, když výsledek aritmetické operace překročí přijatelný rozsah hodnot, což způsobí „přetočení“ na nejnižší reprezentovatelnou hodnotu. Například `uint8` může uložit hodnoty až do 2^8-1=255. Aritmetické operace, které vedou k hodnotám vyšším než `255`, přetečou a nastaví `uint` na `0`, podobně jako se tachometr automobilu resetuje na 0, když dosáhne maximálního nájezdu (999999).
+Přetečení celého čísla nastává, když výsledek aritmetické operace překročí přijatelný rozsah hodnot, což způsobí „přetočení“ na nejnižší reprezentovatelnou hodnotu. Například `uint8` může ukládat pouze hodnoty do 2^8-1=255. Aritmetické operace, které vedou k hodnotám vyšším než `255`, přetečou a resetují `uint` na `0`, podobně jako se počítadlo kilometrů v autě resetuje na 0, když dosáhne maximálního nájezdu (999999).
-Podtečení celého čísla se děje ze stejných důvodů: výsledek aritmetické operace klesne pod přijatelný rozsah. Pokud byste například zkusili snížit hodnotu `0` v `uint8`, výsledek by se jednoduše přetočil na maximální reprezentovatelnou hodnotu (`255`).
+Podtečení celého čísla se děje ze stejných důvodů: výsledek aritmetické operace klesne pod přijatelný rozsah. Řekněme, že byste se pokusili snížit `0` v `uint8`, výsledek by se jednoduše přetočil na maximální reprezentovatelnou hodnotu (`255`).
Přetečení i podtečení celých čísel může vést k neočekávaným změnám proměnných stavu kontraktu a způsobit neplánovanou exekuci. Níže je uveden příklad, jak může útočník zneužít aritmetické přetečení ve smart kontraktu k provedení neplatné operace:
```
pragma solidity ^0.7.6;
-// This contract is designed to act as a time vault.
-// User can deposit into this contract but cannot withdraw for at least a week.
-// User can also extend the wait time beyond the 1 week waiting period.
+// Tento kontrakt je navržen tak, aby fungoval jako časový trezor.
+// Uživatel může do tohoto kontraktu vkládat, ale nemůže vybírat po dobu nejméně jednoho týdne.
+// Uživatel může také prodloužit čekací dobu nad 1 týden čekací lhůty.
/*
-1. Deploy TimeLock
-2. Deploy Attack with address of TimeLock
-3. Call Attack.attack sending 1 ether. You will immediately be able to
- withdraw your ether.
-
-What happened?
-Attack caused the TimeLock.lockTime to overflow and was able to withdraw
-before the 1 week waiting period.
+1. Nasaďte TimeLock
+2. Nasaďte Attack s adresou TimeLock
+3. Zavolejte Attack.attack a pošlete 1 ether. Budete moci okamžitě vybrat
+ svůj ether.
+
+Co se stalo?
+Attack způsobil přetečení TimeLock.lockTime a byl schopen vybrat
+před uplynutím 1týdenní čekací doby.
*/
contract TimeLock {
@@ -396,14 +396,14 @@ contract TimeLock {
}
function withdraw() public {
- require(balances[msg.sender] > 0, "Insufficient funds");
- require(block.timestamp > lockTime[msg.sender], "Lock time not expired");
+ require(balances[msg.sender] > 0, "Nedostatečné prostředky");
+ require(block.timestamp > lockTime[msg.sender], "Doba uzamčení nevypršela");
uint amount = balances[msg.sender];
balances[msg.sender] = 0;
(bool sent, ) = msg.sender.call{value: amount}("");
- require(sent, "Failed to send Ether");
+ require(sent, "Nepodařilo se odeslat ether");
}
}
@@ -435,15 +435,15 @@ contract Attack {
##### Jak zabránit podtečení a přetečení celých čísel
-Od verze 0.8.0 kompilátor Solidity odmítá kód, který by vedl k podtečení nebo přetečení celých čísel. A smart kontrakty, které jsou kompilovány pomocí starší verze kompilátoru, by měly buď provádět kontroly ve funkcích zahrnujících aritmetické operace, nebo použít knihovnu (např. [SafeMath](https://docs.openzeppelin.com/contracts/2.x/api/math)), která provádí kontroly podtečení/přetečení.
+Od verze 0.8.0 kompilátor Solidity odmítá kód, který by vedl k podtečení nebo přetečení celých čísel. Kontrakty kompilované nižší verzí kompilátoru by však měly buď provádět kontroly funkcí zahrnujících aritmetické operace, nebo používat knihovnu (např. [SafeMath](https://docs.openzeppelin.com/contracts/2.x/api/math)), která kontroluje podtečení/přetečení.
-#### Manipulace s orákly {#oracle-manipulation}
+#### Manipulace s orákulem {#oracle-manipulation}
-[Orákula](/developers/docs/oracles/) získávají informace mimo blockchain a posílají je do něj, kde je mohou použít chytré kontrakty. Pomocí orákul můžete navrhovat chytré kontrakty, které spolupracují se systémy mimo blockchain, jako jsou kapitálové trhy, což výrazně rozšiřuje jejich využití.
+[Orákula](/developers/docs/oracles/) získávají informace mimo blockchain a posílají je na blockchain, kde je mohou použít chytré kontrakty. Pomocí orákul můžete navrhovat chytré kontrakty, které spolupracují se systémy mimo blockchain, jako jsou kapitálové trhy, což výrazně rozšiřuje jejich využití.
Pokud je však orákulum poškozeno a posílá nesprávné informace na blockchain, kód chytrých kontraktů bude vykonáván na základě chybných vstupů, což může způsobit problémy. To je podstatou „problému orákulí“, který se týká úkolu zajistit, aby informace z blockchainového orákula byly přesné, aktuální a včasné.
-Souvisejícím bezpečnostním problémem je použití orákula na blockchainu, například decentralizované burzy, k získání aktuální ceny aktiva. Platformy na půjčování prostředků v odvětví [decentralizovaných financí (DeFi)](/defi/) to často dělají, aby určily hodnotu zástavy uživatele a zjistily, kolik si může půjčit.
+Souvisejícím bezpečnostním problémem je použití orákula na blockchainu, například decentralizované burzy, k získání aktuální ceny aktiva. Půjčovací platformy v odvětví [decentralizovaných financí (DeFi)](/defi/) to často dělají, aby určily hodnotu zástavy uživatele a zjistily, kolik si může půjčit.
Ceny na DEX jsou často přesné, zejména díky arbitrážím, které obnovují paritu na trzích. Je však možné s nimi manipulovat, zejména pokud orákulum na blockchainu vypočítává ceny aktiv na základě historických obchodních vzorců (což se obvykle stává).
@@ -451,126 +451,126 @@ Ceny na DEX jsou často přesné, zejména díky arbitrážím, které obnovují
##### Jak zabránit manipulaci s orákly
-Minimálním požadavkem na [zabránění manipulaci s orákly](https://www.cyfrin.io/blog/price-oracle-manipultion-attacks-with-examples) je použití decentralizované sítě orákulí, která dotazuje informace z více zdrojů, aby se zabránilo jednotlivým bodům selhání. Ve většině případů mají decentralizovaná orákula vestavěné kryptoekonomické pobídky, které motivují orákulové uzly k hlášení správných informací, což je činí bezpečnějšími než centralizovaná orákula.
+Minimálním požadavkem, jak se [vyhnout manipulaci s orákulem](https://www.cyfrin.io/blog/price-oracle-manipultion-attacks-with-examples), je použití decentralizované sítě orákul, která dotazuje informace z více zdrojů, aby se zabránilo jednotlivým bodům selhání. Ve většině případů mají decentralizovaná orákula vestavěné kryptoekonomické pobídky, které motivují orákulové uzly k hlášení správných informací, což je činí bezpečnějšími než centralizovaná orákula.
Pokud plánujete dotazovat se blockchainového orákula na ceny aktiv, zvažte použití takového systému, který implementuje mechanismus časově vážené průměrné ceny (TWAP). [TWAP orákulum](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) dotazuje cenu aktiva ve dvou různých časových bodech (které můžete upravit) a vypočítá spotovou cenu na základě získaného průměru. Volba delších časových období chrání váš protokol proti manipulaci s cenami, protože velké objednávky provedené nedávno nemohou ovlivnit ceny aktiv.
-## Zdroje pro zabezpečení smart kontraktů pro vývojáře {#smart-contract-security-resources-for-developers}
+## Zdroje pro zabezpečení chytrých kontraktů pro vývojáře {#smart-contract-security-resources-for-developers}
-### Nástroje pro analýzu smart kontraktů a ověřování správnosti kódu {#code-analysis-tools}
+### Nástroje pro analýzu chytrých kontraktů a ověřování správnosti kódu {#code-analysis-tools}
-- **[Testovací nástroje a knihovny](/developers/docs/smart-contracts/testing/#testing-tools-and-libraries)** – _sbírka profesionálních nástrojů a knihoven pro provádění unit testů, statické analýzy a dynamické analýzy na smart kontraktech._
+- **[Testovací nástroje a knihovny](/developers/docs/smart-contracts/testing/#testing-tools-and-libraries)** – _Sbírka standardních nástrojů a knihoven pro provádění jednotkových testů, statické analýzy a dynamické analýzy na chytrých kontraktech._
-- **[Nástroje pro formální ověřování](/developers/docs/smart-contracts/formal-verification/#formal-verification-tools)** – _nástroje pro ověřování funkční správnosti ve smart kontraktech a kontrolu invariantů._
+- **[Nástroje pro formální ověření](/developers/docs/smart-contracts/formal-verification/#formal-verification-tools)** – _Nástroje pro ověřování funkční správnosti v chytrých kontraktech a kontrolu invariantů._
-- **[Služby auditu smart kontraktů](/developers/docs/smart-contracts/testing/#smart-contract-auditing-services)** – _seznam organizací poskytujících služby auditu smart kontraktů pro vývojové projekty Etherea._
+- **[Služby auditu chytrých kontraktů](/developers/docs/smart-contracts/testing/#smart-contract-auditing-services)** – _Seznam organizací poskytujících služby auditu chytrých kontraktů pro vývojové projekty na Ethereu._
-- **[Platformy na odměny za řešení chyb](/developers/docs/smart-contracts/testing/#bug-bounty-platforms)** – _platformy pro koordinaci odměn za řešení chyb a odměňování odpovědného odhalování kritických zranitelností ve smart kontraktech._
+- **[Platformy pro odměny za nalezení chyb](/developers/docs/smart-contracts/testing/#bug-bounty-platforms)** – _Platformy pro koordinaci odměn za nalezení chyb a odměňování za zodpovědné odhalování kritických zranitelností v chytrých kontraktech._
-- **[Kontrola forku](https://forkchecker.hashex.org/)** – _bezplatný online nástroj pro kontrolu všech dostupných informací o forkovaném kontraktu._
+- **[Fork Checker](https://forkchecker.hashex.org/)** – _bezplatný online nástroj pro kontrolu všech dostupných informací o forkovaném kontraktu._
-- **[ABI Kodér](https://abi.hashex.org/)** – _bezplatná online služba pro kódování funkcí a argumentů konstruktorů kontraktů Solidity._
+- **[ABI Encoder](https://abi.hashex.org/)** – _bezplatná online služba pro kódování funkcí a argumentů konstruktorů vašich kontraktů v Solidity._
-- **[Aderyn](https://github.com/Cyfrin/aderyn)** – _statický analyzér Solidity, který prochází abstraktní syntaktické stromy (AST) za účelem zjištění podezřelých zranitelností a vypisuje problémy v přehledném markdown formátu._
+- **[Aderyn](https://github.com/Cyfrin/aderyn)** – _Statický analyzátor pro Solidity, který prochází abstraktní syntaktické stromy (AST), aby odhalil podezřelé zranitelnosti a zobrazil problémy v přehledném formátu markdown._
-### Nástroje pro monitorování smart kontraktů {#smart-contract-monitoring-tools}
+### Nástroje pro monitorování chytrých kontraktů {#smart-contract-monitoring-tools}
-- **[Tenderly Real-Time Alerting](https://tenderly.co/alerting/)** – _nástroj pro získávání oznámení v reálném čase, když dojde k neobvyklým nebo neočekávaným událostem ve vašich smart kontraktech nebo peněženkách._
+- **[Tenderly Real-Time Alerting](https://tenderly.co/monitoring)** – _nástroj pro získávání oznámení v reálném čase, když dojde k neobvyklým nebo neočekávaným událostem ve vašich chytrých kontraktech nebo peněženkách._
-### Nástroje pro bezpečnou správu smart kontraktů {#smart-contract-administration-tools}
+### Nástroje pro bezpečnou správu chytrých kontraktů {#smart-contract-administration-tools}
-- **[Safe](https://safe.global/)** – _peněženka se smart kontraktem běžící na platformě Ethereum, která vyžaduje, aby transakci schválil minimální počet lidí (M-z-N)._
+- **[Safe](https://safe.global/)** – _Peněženka s chytrým kontraktem běžící na Ethereu, která vyžaduje, aby transakci schválil minimální počet lidí (M z N), než může proběhnout._
-- **[Kontrakty OpenZeppelin](https://docs.openzeppelin.com/contracts/5.x/)** – _knihovny kontraktů pro implementaci funkcí správy, včetně vlastnictví kontraktů, upgradů, řízení přístupu, správy, možnosti pozastavení a více._
+- **[OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/5.x/)** – _Knihovny kontraktů pro implementaci administrativních funkcí, včetně vlastnictví kontraktů, upgradů, řízení přístupu, správy, možnosti pozastavení a dalších._
-### Služby auditu smart kontraktů {#smart-contract-auditing-services}
+### Služby auditu chytrých kontraktů {#smart-contract-auditing-services}
-- **[ConsenSys Diligence](https://consensys.net/diligence/)** – _služba auditu smart kontraktů, která pomáhá projektům napříč blockchainovým ekosystémem zajistit, aby jejich protokoly byly připraveny ke spuštění a vytvořeny tak, aby chránily uživatele._
+- **[ConsenSys Diligence](https://diligence.consensys.io/)** – _Služba auditu chytrých kontraktů, která pomáhá projektům napříč blockchainovým ekosystémem zajistit, aby jejich protokoly byly připraveny ke spuštění a vytvořeny tak, aby chránily uživatele._
-- **[CertiK](https://www.certik.com/)** – _blockchainová bezpečnostní firma, která je průkopníkem v používání nejmodernější technologie formálního ověřování ve smart kontraktech a blockchainových sítích._
+- **[CertiK](https://www.certik.com/)** – _Blockchainová bezpečnostní firma, která je průkopníkem v používání nejmodernější technologie formálního ověřování na chytrých kontraktech a blockchainových sítích._
-- **[Trail of Bits](https://www.trailofbits.com/)** – _společnost zabývající se kybernetickou bezpečností, která kombinuje bezpečnostní výzkum s mentalitou útočníka s cílem snížit riziko a posílit kód._
+- **[Trail of Bits](https://www.trailofbits.com/)** – _Společnost zabývající se kybernetickou bezpečností, která kombinuje bezpečnostní výzkum s mentalitou útočníka s cílem snížit riziko a posílit kód._
-- **[PeckShield](https://peckshield.com/)** – _blockchainová bezpečnostní společnost nabízející produkty a služby pro bezpečnost, soukromí a použitelnost celého blockchainového ekosystému._
+- **[PeckShield](https://peckshield.com/)** – _Blockchainová bezpečnostní společnost nabízející produkty a služby pro bezpečnost, soukromí a použitelnost celého blockchainového ekosystému._
-- **[QuantStamp](https://quantstamp.com/)** – _auditorská služba usnadňující mainstreamové přijetí blockchainové technologie prostřednictvím služeb hodnocení bezpečnosti a rizik._
+- **[QuantStamp](https://quantstamp.com/)** – _Auditorská služba usnadňující masové přijetí blockchainové technologie prostřednictvím služeb hodnocení bezpečnosti a rizik._
-- **[OpenZeppelin](https://www.openzeppelin.com/security-audits)** – _bezpečnostní společnost zabývající se smart kontrakty poskytující bezpečnostní audity pro distribuované systémy._
+- **[OpenZeppelin](https://www.openzeppelin.com/security-audits)** – _Bezpečnostní společnost zabývající se chytrými kontrakty poskytující bezpečnostní audity pro distribuované systémy._
-- **[Runtime Verification](https://runtimeverification.com/)** – _bezpečnostní společnost specializující se na formální modelování a ověřování smart kontraktů._
+- **[Runtime Verification](https://runtimeverification.com/)** – _Bezpečnostní společnost specializující se na formální modelování a ověřování chytrých kontraktů._
-- **[Hacken](https://hacken.io)** – _Web3 auditor kybernetické bezpečnosti přinášející 360stupňový přístup k bezpečnosti blockchainu._
+- **[Hacken](https://hacken.io)** – _Auditor kybernetické bezpečnosti pro Web3, který přináší 360stupňový přístup k bezpečnosti blockchainu._
-- **[Nethermind](https://www.nethermind.io/smart-contract-audits)** – _služby auditu Solidity a Cairo, které zajišťují integritu smart kontraktů a bezpečnost uživatelů napříč Ethereem a Starknetem._
+- **[Nethermind](https://www.nethermind.io/smart-contract-audits)** – _Služby auditu v Solidity a Cairo, které zajišťují integritu chytrých kontraktů a bezpečnost uživatelů na Ethereu a Starknetu._
-- **[HashEx](https://hashex.org/)** – _HashEx se zaměřuje na audit blockchainu a smart kontraktů s cílem zajistit bezpečnost kryptoměn a poskytuje služby, jako je vývoj smart kontraktů, penetrační testování a poradenství v oblasti blockchainu._
+- **[HashEx](https://hashex.org/)** – _HashEx se zaměřuje na audit blockchainu a chytrých kontraktů s cílem zajistit bezpečnost kryptoměn a poskytuje služby, jako je vývoj chytrých kontraktů, penetrační testování a poradenství v oblasti blockchainu._
-- **[Code4rena](https://code4rena.com/)** – _kompetitivní platforma pro audit, která motivuje experty na zabezpečení smart kontraktů, aby našli zranitelnosti a pomohli zvýšit bezpečnost webu3._
+- **[Code4rena](https://code4rena.com/)** – _Soutěžní platforma pro audit, která motivuje experty na zabezpečení chytrých kontraktů, aby našli zranitelnosti a pomohli zvýšit bezpečnost webu3._
-- **[CodeHawks](https://codehawks.com/)** – _kompetitivní platforma pro auditování smart kontraktů pořádající soutěže pro výzkumníky v oblasti bezpečnosti._
+- **[CodeHawks](https://codehawks.com/)** – _Soutěžní platforma pro auditování, která pořádá soutěže v auditování chytrých kontraktů pro bezpečnostní výzkumníky._
-- **[Cyfrin](https://cyfrin.io)** – _bezpečnostní Web3 společnost, inkubátor krypto bezpečnosti prostřednictvím produktů a služeb auditu smart kontraktů._
+- **[Cyfrin](https://cyfrin.io)** – _Lídr v oblasti zabezpečení Web3, inkubátor krypto bezpečnosti prostřednictvím produktů a služeb auditu chytrých kontraktů._
-- **[ImmuneBytes](https://immunebytes.com/smart-contract-audit/)** – _Web3 bezpečnostní firma nabízející bezpečnostní audity pro blockchainové systémy prostřednictvím týmu zkušených auditorů a nejlepších nástrojů ve své třídě._
+- **[ImmuneBytes](https://immunebytes.com/smart-contract-audit/)** – _Bezpečnostní firma pro Web3 nabízející bezpečnostní audity pro blockchainové systémy prostřednictvím týmu zkušených auditorů a nejlepších nástrojů ve své třídě._
-- **[Oxorio](https://oxor.io/)** – _audity smart kontraktů a bezpečnostní služby blockchainu s odbornými znalostmi v oblasti EVM, Solidity, ZK, technologií napříč blockchainy pro krypto firmy a projekty DeFi._
+- **[Oxorio](https://oxor.io/)** – _Audity chytrých kontraktů a bezpečnostní služby blockchainu s odbornými znalostmi v oblasti EVM, Solidity, ZK, cross-chain technologií pro krypto firmy a projekty DeFi._
-- **[Inference](https://inference.ag/)** – _bezpečnostní auditorská společnost, která se specializuje na audit smart kontraktů pro blockchainy založené na EVM. Díky svým odborným auditorům identifikují potenciální problémy a navrhují schůdná řešení k jejich odstranění ještě před nasazením._
+- **[Inference](https://inference.ag/)** – _Bezpečnostní auditorská společnost, která se specializuje na audit chytrých kontraktů pro blockchainy založené na EVM. Díky svým odborným auditorům identifikují potenciální problémy a navrhují schůdná řešení k jejich odstranění ještě před nasazením._
-### Platformy pro odměny za řešení chyb {#bug-bounty-platforms}
+### Platformy pro odměny za nalezení chyb {#bug-bounty-platforms}
-- **[Immunefi](https://immunefi.com/)** – _platforma na odměny za řešení chyb ve smart kontraktech a projektech DeFi, kde bezpečnostní výzkumníci revidují kód, odhalují zranitelnosti, dostávají zaplaceno a zvyšují bezpečnost kryptoměn._
+- **[Immunefi](https://immunefi.com/)** – _Platforma pro odměny za nalezení chyb ve chytrých kontraktech a projektech DeFi, kde bezpečnostní výzkumníci revidují kód, odhalují zranitelnosti, dostávají zaplaceno a zvyšují bezpečnost kryptoměn._
-- **[HackerOne](https://www.hackerone.com/)** – _platforma pro koordinaci zranitelností a odměny za chyby, která spojuje podniky s testery penetrací a výzkumníky kybernetické bezpečnosti._
+- **[HackerOne](https://www.hackerone.com/)** – _Platforma pro koordinaci zranitelností a odměn za nalezení chyb, která spojuje podniky s testery penetrací a výzkumníky kybernetické bezpečnosti._
-- **[HackenProof](https://hackenproof.com/)** – _expertní platforma na odměny za řešení chyb pro krypto projekty (DeFi, smart kontrakty, peněženky, CEX a další), kde bezpečnostní profesionálové poskytují služby třídění a výzkumníci dostávají zaplaceno za relevantní, ověřená hlášení chyb._
+- **[HackenProof](https://hackenproof.com/)** – _Expertní platforma pro odměny za nalezení chyb pro krypto projekty (DeFi, chytré kontrakty, peněženky, CEX a další), kde bezpečnostní profesionálové poskytují služby třídění a výzkumníci dostávají zaplaceno za relevantní, ověřená hlášení chyb._
-- **[Sherlock](https://www.sherlock.xyz/)** – _ručitel ve Web3 pro zabezpečení smart kontraktů, s výplatami pro auditory řízenými prostřednictvím smart kontraktů, aby se zajistilo, že příslušné chyby budou spravedlivě zaplaceny._
+- **[Sherlock](https://www.sherlock.xyz/)** – _Pojistitel ve Web3 pro zabezpečení chytrých kontraktů, s výplatami pro auditory řízenými prostřednictvím chytrých kontraktů, aby se zajistilo, že relevantní chyby budou spravedlivě zaplaceny._
-- **[CodeHawks](https://www.codehawks.com/)** – _kompetitivní platforma na odměny za řešení chyb, kde se auditoři účastní bezpečnostních soutěží a výzev a (brzy) i vlastních soukromých auditů._
+- **[CodeHawks](https://www.codehawks.com/)** – _Soutěžní platforma pro odměny za nalezení chyb, kde se auditoři účastní bezpečnostních soutěží a výzev a (brzy) i vlastních soukromých auditů._
-### Publikace známých zranitelností a zneužití smart kontraktů {#common-smart-contract-vulnerabilities-and-exploits}
+### Publikace známých zranitelností a zneužití chytrých kontraktů {#common-smart-contract-vulnerabilities-and-exploits}
-- **[ConsenSys: Známé útoky na smart kontrakty](https://consensysdiligence.github.io/smart-contract-best-practices/attacks/)** – _vysvětlení pro začátečníky nejvýznamnějších zranitelností smluv s ukázkovým kódem pro většinu případů._
+- **[ConsenSys: Známé útoky na chytré kontrakty](https://consensysdiligence.github.io/smart-contract-best-practices/attacks/)** – _Vysvětlení nejvýznamnějších zranitelností kontraktů pro začátečníky, s ukázkovým kódem pro většinu případů._
-- **[Registr SWC](https://swcregistry.io/)** – _souborný seznam položek Common Weakness Enumeration (CWE, enumerací častých slabin), které se vztahují na smart kontrakty Etherea._
+- **[SWC Registry](https://swcregistry.io/)** – _Kurátorovaný seznam položek Common Weakness Enumeration (CWE), které se vztahují na chytré kontrakty Etherea._
-- **[Rekt](https://rekt.news/)** – _pravidelně aktualizovaná publikace významných krypto hacků a exploitů spolu s podrobnými postmortálními zprávami._
+- **[Rekt](https://rekt.news/)** – _Pravidelně aktualizovaná publikace významných krypto hacků a zneužití, spolu s podrobnými post-mortem zprávami._
-### Výzvy určené k učení se zabezpečení smart kontraktů {#challenges-for-learning-smart-contract-security}
+### Výzvy pro učení se zabezpečení chytrých kontraktů {#challenges-for-learning-smart-contract-security}
-- **[Awesome BlockSec CTF](https://github.com/blockthreat/blocksec-ctfs)** – _kurátorský seznam blockchainových bezpečnostních válečných her, výzev a [Capture The Flag](https://www.webopedia.com/definitions/ctf-event/amp/) soutěží a zápisů řešení._
+- **[Awesome BlockSec CTF](https://github.com/blockthreat/blocksec-ctfs)** – _Kurátorovaný seznam blockchainových bezpečnostních válečných her, výzev a soutěží [Capture The Flag](https://www.webopedia.com/definitions/ctf-event/amp/) a řešení._
-- **[Damn Vulnerable DeFi](https://www.damnvulnerabledefi.xyz/)** – _válečná hra, ve které se naučíte ofensivní zabezpečení smart kontraktů DeFi a získáte dovednosti v oblasti hledání chyb a bezpečnostního auditu._
+- **[Damn Vulnerable DeFi](https://www.damnvulnerabledefi.xyz/)** – _Válečná hra, ve které se naučíte útočnou bezpečnost chytrých kontraktů DeFi a získáte dovednosti v oblasti hledání chyb a bezpečnostního auditu._
-- **[Ethernaut](https://ethernaut.openzeppelin.com/)** – _Web3/Solidity válečná hra, kde každá úroveň představuje smart kontrakt, který je třeba „hacknout“._
+- **[Ethernaut](https://ethernaut.openzeppelin.com/)** – _Válečná hra založená na Web3/Solidity, kde každá úroveň představuje chytrý kontrakt, který je třeba „hacknout“._
-- **[HackenProof x HackTheBox](https://app.hackthebox.com/tracks/HackenProof-Track)** – _hackovací výzvy smart kontraktů, zasazená do fantasy dobrodružství. Úspěšné splnění výzvy také umožňuje přístup do soukromého programu odměn za řešení chyb._
+- **[HackenProof x HackTheBox](https://app.hackthebox.com/tracks/HackenProof-Track)** – _Výzva v hackování chytrých kontraktů, zasazená do fantasy dobrodružství. Úspěšné splnění výzvy také umožňuje přístup do soukromého programu odměn za řešení chyb._
-### Osvědčené postupy pro zabezpečení smart kontraktů {#smart-contract-security-best-practices}
+### Osvědčené postupy pro zabezpečení chytrých kontraktů {#smart-contract-security-best-practices}
-- **[ConsenSys: ](https://consensys.github.io/smart-contract-best-practices/)** – _Úplný seznam pokynů pro zabezpečení smart kontraktů na Ethereu._
+- **[ConsenSys: Osvědčené postupy pro bezpečnost chytrých kontraktů na Ethereu](https://consensys.github.io/smart-contract-best-practices/)** – _Komplexní seznam pokynů pro zabezpečení chytrých kontraktů na Ethereu._
-- **[Nascent: Jednoduchý bezpečnostní toolkit](https://github.com/nascentxyz/simple-security-toolkit)** – _sbírka praktických průvodců a kontrolních seznamů zaměřených na bezpečnost při vývoji smart kontraktů._
+- **[Nascent: Jednoduchý bezpečnostní toolkit](https://github.com/nascentxyz/simple-security-toolkit)** – _Sbírka praktických průvodců a kontrolních seznamů zaměřených na bezpečnost při vývoji chytrých kontraktů._
-- **[Solidity Patterns](https://fravoll.github.io/solidity-patterns/)** – _užitečná kompilace bezpečných vzorů a osvědčených postupů pro programovací jazyk smart kontraktů Solidity._
+- **[Vzory v Solidity](https://fravoll.github.io/solidity-patterns/)** – _Užitečná kompilace bezpečných vzorů a osvědčených postupů pro programovací jazyk chytrých kontraktů Solidity._
-- **[Dokumenty Solidity: Security Considerations](https://docs.soliditylang.org/en/v0.8.16/security-considerations.html)** – _pokyny pro psaní bezpečných smart kontraktů pomocí Solidity._
+- **[Dokumentace Solidity: Bezpečnostní aspekty](https://docs.soliditylang.org/en/v0.8.16/security-considerations.html)** – _Pokyny pro psaní bezpečných chytrých kontraktů v Solidity._
-- **[Standard ověřování zabezpečení smart kontraktů](https://github.com/securing/SCSVS)** – _čtrnáctidílný kontrolní seznam vytvořený za účelem standardizace zabezpečení smart kontraktů pro vývojáře, architekty, bezpečnostní recenzenty a prodejce._
+- **[Standard ověřování bezpečnosti chytrých kontraktů](https://github.com/securing/SCSVS)** – _Čtrnáctidílný kontrolní seznam vytvořený za účelem standardizace zabezpečení chytrých kontraktů pro vývojáře, architekty, bezpečnostní recenzenty a prodejce._
-- **[Učte se zabezpečení a auditování chytrých kontraktů](https://updraft.cyfrin.io/courses/security)** – _Ultimátní kurz bezpečnosti a auditu chytrých kontraktů vytvořený pro vývojáře chytrých kontraktů, kteří chtějí zvýšit úroveň svých osvědčených postupů v oblasti bezpečnosti a stát se bezpečnostními výzkumníky._
+- **[Učte se zabezpečení a auditování chytrých kontraktů](https://updraft.cyfrin.io/courses/security)** – _Komplexní kurz bezpečnosti a auditu chytrých kontraktů vytvořený pro vývojáře chytrých kontraktů, kteří chtějí zlepšit své osvědčené postupy v oblasti bezpečnosti a stát se bezpečnostními výzkumníky._
-### Výukové programy o zabezpečení smart kontraktů {#tutorials-on-smart-contract-security}
+### Návody na zabezpečení chytrých kontraktů {#tutorials-on-smart-contract-security}
-- [Jak psát bezpečné smart kontrakty](/developers/tutorials/secure-development-workflow/)
+- [Jak psát bezpečné chytré kontrakty](/developers/tutorials/secure-development-workflow/)
-- [Jak používat Slither k hledání chyb ve smart kontraktech](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
+- [Jak používat Slither k nalezení chyb v chytrých kontraktech](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
-- [Jak používat Manticore k vyhledávání chyb v chytrých kontraktech](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
+- [Jak používat Manticore k nalezení chyb v chytrých kontraktech](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
-- [Pokyny pro zabezpečení smart kontraktů](/developers/tutorials/smart-contract-security-guidelines/)
+- [Pokyny pro bezpečnost chytrých kontraktů](/developers/tutorials/smart-contract-security-guidelines/)
-- [Jak bezpečně integrovat tokenový kontrakt s libovolnými tokeny](/developers/tutorials/token-integration-checklist/)
+- [Jak bezpečně integrovat váš tokenový kontrakt s libovolnými tokeny](/developers/tutorials/token-integration-checklist/)
-- [Cyfrin Updraft – zabezpečení a auditování smart kontraktů, celý kurz](https://updraft.cyfrin.io/courses/security)
+- [Cyfrin Updraft – kompletní kurz zabezpečení a auditu chytrých kontraktů](https://updraft.cyfrin.io/courses/security)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md b/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md
index f8689e2826f..490b11d8dd8 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md
@@ -1,38 +1,38 @@
---
-title: Testování chytrých smluv
+title: Testování chytrých kontraktů
description: Přehled technik a úvah využívaných při testování chytrých kontraktů na Ethereu.
lang: cs
---
-Veřejné blockchainy, jako je Ethereum, jsou neměnné, což ztěžuje změnu kódu chytrých kontraktů po nasazení. Existují [vzory vylepšení kontraktů](/developers/docs/smart-contracts/upgrading/) pro provádění „virtuálních vylepšení“, které se však obtížně implementují a vyžadují sociální konsenzus. Navíc vylepšení může chybu opravit až _po_ jejím objevení – pokud útočník objeví zranitelnost jako první, je váš chytrý kontrakt vystaven riziku zneužití.
+Veřejné blockchainy, jako je Ethereum, jsou neměnné, což ztěžuje změnu kódu chytrých kontraktů po nasazení. [Vzory vylepšení kontraktů](/developers/docs/smart-contracts/upgrading/) pro provádění „virtuálních vylepšení“ existují, ale je obtížné je implementovat a vyžadují sociální konsensus. Navíc vylepšení může chybu opravit až po jejím objevení – pokud útočník objeví zranitelnost jako první, je váš chytrý kontrakt vystaven riziku zneužití.
-Z těchto důvodů je testování chytrých kontraktů před [nasazením](/developers/docs/smart-contracts/deploying/) do hlavní sítě minimálním požadavkem na [bezpečnost](/developers/docs/smart-contracts/security/). Existuje mnoho technik pro testování kontraktů a vyhodnocování správnosti kódu; výběr závisí na vašich potřebách. Nicméně sada testů složená z různých nástrojů a přístupů je ideální pro odhalení menších i větších bezpečnostních chyb v kódu kontraktu.
+Z těchto důvodů je testování chytrých kontraktů před [nasazením](/developers/docs/smart-contracts/deploying/) na hlavní síť minimálním požadavkem na [zabezpečení](/developers/docs/smart-contracts/security/). Existuje mnoho technik pro testování kontraktů a vyhodnocování správnosti kódu; výběr závisí na vašich potřebách. Nicméně sada testů složená z různých nástrojů a přístupů je ideální pro odhalení menších i větších bezpečnostních chyb v kódu kontraktu.
## Předpoklady {#prerequisites}
-Tato stránka vysvětluje, jak testovat chytré kontrakty před nasazením do Etherea. Předpokládá, že rozumíte [chytrým kontraktům](/developers/docs/smart-contracts/).
+Tato stránka vysvětluje, jak testovat chytré kontrakty před nasazením do Etherea. Předpokládá se, že jste obeznámeni s [chytrými kontrakty](/developers/docs/smart-contracts/).
-## Co je to testování chytrého kontraktu? {#what-is-smart-contract-testing}
+## Co je to testování chytrého kontraktu? Co je testování chytrých kontraktů? {#what-is-smart-contract-testing}
Testování chytrých kontraktů je proces ověřování, zda kód chytrého kontraktu funguje podle očekávání. Testování je užitečné pro kontrolu, zda konkrétní chytrý kontrakt splňuje požadavky na spolehlivost, použitelnost a bezpečnost.
Ačkoli se přístupy liší, většina metod testování vyžaduje spuštění chytrého kontraktu s malým vzorkem dat, který má zpracovávat. Pokud kontrakt poskytuje správné výsledky pro vzorková data, předpokládá se, že funguje správně. Většina testovacích nástrojů poskytuje prostředky pro psaní a provádění [testovacích případů](https://en.m.wikipedia.org/wiki/Test_case) ke kontrole, zda provedení kontraktu odpovídá očekávaným výsledkům.
-### Proč je důležité testovat chytré kontrakty? {#importance-of-testing-smart-contracts}
+### Proč je důležité testovat chytré kontrakty? Důležitost testování chytrých kontraktů {#importance-of-testing-smart-contracts}
-Vzhledem k tomu, že chytré kontrakty často spravují finanční aktiva vysoké hodnoty, mohou drobné programátorské chyby často vést k [masivním ztrátám pro uživatele](https://rekt.news/leaderboard/). Důkladné testování vám však může pomoci včas odhalit chyby a problémy v kódu chytrého kontraktu a opravit je ještě před spuštěním na hlavní síti.
+Vzhledem k tomu, že chytré kontrakty často spravují finanční aktiva vysoké hodnoty, mohou drobné programátorské chyby vést a často vedou k [masivním ztrátám pro uživatele](https://rekt.news/leaderboard/). Důkladné testování vám však může pomoci včas odhalit chyby a problémy v kódu chytrého kontraktu a opravit je ještě před spuštěním na hlavní síti.
V případě objevení chyby je sice možné kontrakt vylepšit, ale vylepšení jsou složitá a při nesprávném postupu mohou [vést k chybám](https://blog.trailofbits.com/2018/09/05/contract-upgrade-anti-patterns/). Vylepšení kontraktu dále popírá princip neměnnosti a zatěžuje uživatele dalšími předpoklady důvěryhodnosti. Komplexní plán testování kontraktu naopak zmírňuje bezpečnostní rizika a snižuje potřebu provádět po nasazení složité vylepšení logiky.
## Metody testování chytrých kontraktů {#methods-for-testing-smart-contracts}
-Metody testování chytrých kontraktů na Ethereu spadají do dvou velkých kategorií: **automatizované testování** a **ruční testování**. Automatizované a ruční testování nabízejí jedinečné výhody a kompromisy, ale můžete je kombinovat a vytvořit tak robustní plán pro analýzu vašich kontraktů.
+Metody testování chytrých kontraktů na Ethereu spadají do dvou širokých kategorií: **automatizované testování** a **ruční testování**. Automatizované a ruční testování nabízejí jedinečné výhody a kompromisy, ale můžete je kombinovat a vytvořit tak robustní plán pro analýzu vašich kontraktů.
### Automatizované testování {#automated-testing}
-Automatizované testování využívá nástroje, které automaticky kontrolují kód chytrých kontraktů na chyby při provádění. Výhodou automatizovaného testování je možnost používání [skriptů](https://www.techtarget.com/whatis/definition/script?amp=1), které slouží k vyhodnocování funkcí kontraktu. Skriptované testy lze naplánovat tak, aby se opakovaně spouštěly s minimálním zásahem člověka, čímž je automatizované testování efektivnější než ruční přístup k testování.
+Automatizované testování využívá nástroje, které automaticky kontrolují kód chytrých kontraktů na chyby při provádění. Výhoda automatizovaného testování spočívá v použití [skriptů](https://www.techtarget.com/whatis/definition/script?amp=1), které řídí vyhodnocování funkcionalit kontraktu. Skriptované testy lze naplánovat tak, aby se opakovaně spouštěly s minimálním zásahem člověka, čímž je automatizované testování efektivnější než ruční přístup k testování.
-Automatizované testování je užitečné zejména v případech, kdy se testy opakují a jsou časově náročné; je obtížné je provádět ručně; jsou náchylné k lidským chybám; nebo zahrnují hodnocení kritických funkcí kontraktu. Automatické testovací nástroje však mohou mít i své nevýhody – mohou přehlédnout některé chyby a produkovat mnoho [falešně pozitivních výsledků](https://www.contrastsecurity.com/glossary/false-positive). Proto je ideální kombinovat automatizované testování s ručním testováním chytrých kontraktů.
+Automatizované testování je užitečné zejména v případech, kdy se testy opakují a jsou časově náročné; je obtížné je provádět ručně; jsou náchylné k lidským chybám; nebo zahrnují hodnocení kritických funkcí kontraktu. Automatizované testovací nástroje ale mohou mít i nevýhody – mohou přehlédnout některé chyby a vygenerovat mnoho [falešně pozitivních výsledků](https://www.contrastsecurity.com/glossary/false-positive). Proto je ideální kombinovat automatizované testování s ručním testováním chytrých kontraktů.
### Ruční testování {#manual-testing}
@@ -54,9 +54,9 @@ Jednotkové testy jsou užitečné pro kontrolu, zda funkce vracejí očekávan
##### 1. Pochopte obchodní logiku a pracovní postupy vašich kontraktů
-Před psaním jednotkových testů je dobré vědět, jaké funkce chytrý kontrakt nabízí a jak k nim budou uživatelé přistupovat a používat je. To je užitečné zejména při provádění testů [šťastné cesty](https://en.m.wikipedia.org/wiki/Happy_path), které zjišťují, zda funkce v kontraktu vracejí správný výstup pro platné uživatelské vstupy. Tento koncept si vysvětlíme na tomto (zkráceném) příkladu [aukčního kontraktu.](https://docs.soliditylang.org/en/v0.8.17/solidity-by-example.html?highlight=Auction%20contract#simple-open-auction)
+Před psaním jednotkových testů je dobré vědět, jaké funkce chytrý kontrakt nabízí a jak k nim budou uživatelé přistupovat a používat je. To je užitečné zejména při provádění [testů úspěšného průběhu](https://en.m.wikipedia.org/wiki/Happy_path), které zjišťují, zda funkce v kontraktu vracejí správný výstup pro platné uživatelské vstupy. Tento koncept vysvětlíme na tomto (zkráceném) příkladu [aukčního kontraktu](https://docs.soliditylang.org/en/v0.8.17/solidity-by-example.html?highlight=Auction%20contract#simple-open-auction)
-```
+```solidity
constructor(
uint biddingTime,
address payable beneficiaryAddress
@@ -108,11 +108,11 @@ function auctionEnd() external {
}
```
-Toto je jednoduchý aukční kontrakt určený k přijímání nabídek během přihazovacího období. Pokud se `highestBid` zvýší, předchozí účastník s nejvyšší nabídkou obdrží své peníze; jakmile přihazovací období skončí, `beneficiary` vypoví smlouvu a obdrží své peníze.
+Toto je jednoduchý aukční kontrakt určený k přijímání nabídek během přihazovacího období. Pokud se `highestBid` zvýší, předchozí nejvyšší přihazující obdrží zpět své peníze; jakmile nabídkové období skončí, `beneficiary` (příjemce) zavolá kontrakt, aby získal své peníze.
Jednotkové testy pro takový kontrakt by se týkaly různých funkcí, které by uživatel mohl volat při interakci s kontraktem. Příkladem může být jednotkový test, který kontroluje, zda uživatel může zadat nabídku, zatímco aukce probíhá (tj. volání `bid()` je úspěšné), nebo test, který kontroluje, zda uživatel může zadat vyšší nabídku, než je aktuální `highestBid`.
-Pochopení provozního pracovního postupu kontraktu také pomáhá při psaní jednotkových testů, které kontrolují, zda provádění splňuje požadavky. Například aukční kontrakt určuje, že uživatelé nemohou podávat nabídky poté, co aukce skončí (tj. když `auctionEndTime` je nižší než `block.timestamp`). Vývojář tak může spustit jednotkový test, který kontroluje, zda volání funkce `bid()` uspěje nebo selže, když aukce skončí (tj. když `auctionEndTime` > `block.timestamp`).
+Pochopení provozního pracovního postupu kontraktu také pomáhá při psaní jednotkových testů, které kontrolují, zda provádění splňuje požadavky. Například aukční kontrakt určuje, že uživatelé nemohou podávat nabídky, když aukce skončila (tj. když je `auctionEndTime` menší než `block.timestamp`). Vývojář tak může spustit jednotkový test, který kontroluje, zda volání funkce `bid()` uspěje nebo selže, když aukce skončila (tj. když `auctionEndTime` > `block.timestamp`).
##### 2. Vyhodnoďte všechny předpoklady související se spuštěním kontraktu
@@ -126,11 +126,11 @@ Mnoho frameworků pro jednotkové testy umožňuje vytvářet tvrzení – jedno
- Uživatelům, kteří aukci nevyhráli, jsou připsány jejich finanční prostředky.
-**Poznámka**: Další možností testování předpokladů je psaní testů, které spouštějí [modifikátory funkcí](https://docs.soliditylang.org/en/v0.8.16/contracts.html#function-modifiers) v kontraktu, zejména příkazy `require`, `assert` a `if…else`.
+**Poznámka**: Dalším způsobem testování předpokladů je psaní testů, které spouštějí [modifikátory funkcí](https://docs.soliditylang.org/en/v0.8.16/contracts.html#function-modifiers) v kontraktu, zejména příkazy `require`, `assert` a `if…else`.
##### 3. Změřte pokrytí kódu
-[Pokrytí kódu](https://en.m.wikipedia.org/wiki/Code_coverage) je metrika testování, která sleduje počet větví, řádků a příkazů v kódu provedených během testů. Testy by měly mít dobré pokrytí kódu, aby se minimalizovalo riziko netestovaných zranitelností. Bez dostatečného pokrytí se můžete mylně domnívat, že váš kontrakt je bezpečný, protože všechny testy prošly, zatímco v netestovaných cestách kódu stále existují zranitelnosti. Zaznamenání vysokého pokrytí kódu však dává jistotu, že všechny příkazy/funkce v chytrém kontraktu byly dostatečně otestovány z hlediska správnosti.
+[Pokrytí kódu](https://en.m.wikipedia.org/wiki/Code_coverage) je metrika testování, která sleduje počet větví, řádků a příkazů ve vašem kódu, které se provedou během testů. Testy by měly mít dobré pokrytí kódu, aby se minimalizovalo riziko netestovaných zranitelností. Bez dostatečného pokrytí se můžete mylně domnívat, že váš kontrakt je bezpečný, protože všechny testy prošly, zatímco v netestovaných cestách kódu stále existují zranitelnosti. Zaznamenání vysokého pokrytí kódu však dává jistotu, že všechny příkazy/funkce v chytrém kontraktu byly dostatečně otestovány z hlediska správnosti.
##### 4. Použijte dobře vyvinuté testovací frameworky
@@ -138,19 +138,19 @@ Kvalita nástrojů používaných při spouštění jednotkových testů pro va
Frameworky jednotkového testování pro chytré kontrakty Solidity existují v různých jazycích (většinou JavaScript, Python a Rust). Informace o tom, jak začít spouštět jednotkové testy s různými testovacími frameworky, najdete v některých z níže uvedených návodů:
-- **[Spouštění jednotkových testů pomocí Brownie](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)**
-- **[Spouštění jednotkových testů pomocí Foundry](https://book.getfoundry.sh/forge/writing-tests)**
-- **[Spouštění jednotkových testů pomocí Waffle](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#writing-tests)**
-- **[Spouštění jednotkových testů pomocí Remix](https://remix-ide.readthedocs.io/en/latest/unittesting.html#write-tests)**
-- **[Spouštění jednotkových testů pomocí Ape](https://docs.apeworx.io/ape/stable/userguides/testing.html)**
-- **[Spouštění jednotkových testů pomocí Hardhat](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)**
-- **[Spouštění jednotkových testů pomocí Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)**
+- **[Spouštění jednotkových testů s Brownie](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)**
+- **[Spouštění jednotkových testů s Foundry](https://book.getfoundry.sh/forge/writing-tests)**
+- **[Spouštění jednotkových testů s Waffle](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#writing-tests)**
+- **[Spouštění jednotkových testů s Remixem](https://remix-ide.readthedocs.io/en/latest/unittesting.html#write-tests)**
+- **[Spouštění jednotkových testů s Ape](https://docs.apeworx.io/ape/stable/userguides/testing.html)**
+- **[Spouštění jednotkových testů s Hardhat](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)**
+- **[Spouštění jednotkových testů s Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)**
### Integrační testování {#integration-testing-for-smart-contracts}
-Zatímco jednotkové testy ladí funkce kontraktu izolovaně, integrační testy hodnotí součásti chytrého kontraktu jako celek. Integrační testování může odhalit problémy vyplývající z volání napříč kontrakty nebo interakcí mezi různými funkcemi ve stejném chytrém kontraktu. Integrační testy mohou například pomoci zkontrolovat, zda věci jako [dědičnost](https://docs.soliditylang.org/en/v0.8.12/contracts.html#inheritance) a injekce závislostí fungují správně.
+Zatímco jednotkové testy ladí funkce kontraktu izolovaně, integrační testy hodnotí součásti chytrého kontraktu jako celek. Integrační testování může odhalit problémy vyplývající z volání napříč kontrakty nebo interakcí mezi různými funkcemi ve stejném chytrém kontraktu. Integrační testy mohou například pomoci zkontrolovat, zda prvky jako [dědičnost](https://docs.soliditylang.org/en/v0.8.12/contracts.html#inheritance) a vkládání závislostí (dependency injection) fungují správně.
-Integrační testování je užitečné, pokud váš kontrakt používá modulární architekturu nebo se během provádění propojuje s jinými kontrakty na blockchainu. Jedním ze způsobů provádění integračních testů je [rozvětvit blockchain](/glossary/#fork) v určité míře (pomocí nástroje jako [Forge](https://book.getfoundry.sh/forge/fork-testing) nebo [Hardhat](https://hardhat.org/hardhat-network/docs/guides/forking-other-networks) a simulovat interakce mezi vaším kontraktem a nasazenými kontrakty.
+Integrační testování je užitečné, pokud váš kontrakt používá modulární architekturu nebo se během provádění propojuje s jinými kontrakty na blockchainu. Jedním ze způsobů provádění integračních testů je [vytvořit větev blockchainu](/glossary/#fork) v určité výšce (pomocí nástroje jako [Forge](https://book.getfoundry.sh/forge/fork-testing) nebo [Hardhat](https://hardhat.org/hardhat-network/docs/guides/forking-other-networks)) a simulovat interakce mezi vaším kontraktem a nasazenými kontrakty.
Rozvětvený blockchain se bude chovat podobně jako hlavní síť a bude mít účty s přidruženými stavy a zůstatky. Funguje však pouze jako lokální sandboxové vývojové prostředí, což znamená, že například pro transakce nebudete potřebovat skutečné ETH a vaše změny neovlivní skutečný protokol Etherea.
@@ -158,46 +158,46 @@ Rozvětvený blockchain se bude chovat podobně jako hlavní síť a bude mít
Testování na základě vlastností je proces kontroly, zda chytrý kontrakt splňuje nějakou definovanou vlastnost. Vlastnosti potvrzují skutečnosti o chování kontraktu, které by měly zůstat pravdivé v různých situacích – příkladem vlastnosti chytrého kontraktu může být „Aritmetické operace v kontraktu nikdy nepřetékají ani nepodtékají.“
-**Statická analýza** a **dynamická analýza** jsou dvě běžné techniky pro provádění testování na základě vlastností a obě mohou ověřit, zda kód programu (v tomto případě chytrého kontraktu) splňuje nějakou předem definovanou vlastnost. Některé nástroje pro testování na základě vlastností obsahují předdefinovaná pravidla o očekávaných vlastnostech kontraktu a kontrolují kód podle těchto pravidel, zatímco jiné umožňují vytvořit vlastní vlastnosti chytrého kontraktu.
+**Statická analýza** a **dynamická analýza** jsou dvě běžné techniky pro provádění testování na základě vlastností a obě mohou ověřit, že kód programu (v tomto případě chytrého kontraktu) splňuje nějakou předem definovanou vlastnost. Některé nástroje pro testování na základě vlastností obsahují předdefinovaná pravidla o očekávaných vlastnostech kontraktu a kontrolují kód podle těchto pravidel, zatímco jiné umožňují vytvořit vlastní vlastnosti chytrého kontraktu.
#### Statická analýza {#static-analysis}
Statický analyzátor přijímá jako vstup zdrojový kód chytrého kontraktu a na výstupu deklaruje, zda kontrakt splňuje danou vlastnost, či nikoli. Na rozdíl od dynamické analýzy statická analýza nezahrnuje spuštění kontraktu a jeho analýzu z hlediska správnosti. Statická analýza namísto toho uvažuje o všech možných cestách, kterými by se chytrý kontrakt mohl během provádění vydat (tj. zkoumá strukturu zdrojového kódu a zjišťuje, co by to znamenalo pro fungování kontraktu za běhu).
-[Lintování](https://www.perforce.com/blog/qac/what-lint-code-and-why-linting-important) a [statické testování](https://www.techtarget.com/whatis/definition/static-analysis-static-code-analysis) jsou běžné metody pro provádění statické analýzy kontraktů. Obě vyžadují analýzu nízkoúrovňových reprezentací provádění kontraktu, jako jsou [abstraktní syntaktické stromy](https://en.m.wikipedia.org/wiki/Abstract_syntax_tree) a [grafy toku řízení](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/amp/), které vypisuje kompilátor.
+[Linting](https://www.perforce.com/blog/qac/what-is-linting) a [statické testování](https://www.techtarget.com/whatis/definition/static-analysis-static-code-analysis) jsou běžné metody pro provádění statické analýzy kontraktů. Obě vyžadují analýzu nízkoúrovňových reprezentací provádění kontraktu, jako jsou [abstraktní syntaktické stromy](https://en.m.wikipedia.org/wiki/Abstract_syntax_tree) a [grafy řízení toku](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/amp/), které jsou výstupem kompilátoru.
Ve většině případů je statická analýza užitečná pro odhalení bezpečnostních problémů, jako je použití nebezpečných konstrukcí, syntaktických chyb nebo porušení kódovacích standardů v kódu kontraktu. Je však známo, že statické analyzátory nejsou obecně spolehlivé při odhalování hlubších zranitelností a mohou produkovat nadměrné množství falešně pozitivních výsledků.
#### Dynamická analýza {#dynamic-analysis}
-Dynamická analýza generuje symbolické vstupy (např. v [symbolickém provedení](https://en.m.wikipedia.org/wiki/Symbolic_execution)) nebo konkrétní vstupy (např. ve [fuzzingu](https://owasp.org/www-community/Fuzzing)) do funkcí chytrých kontraktů, aby zjistila, zda některá(é) stopa(y) provedení porušuje(í) konkrétní vlastnosti. Tato forma testování na základě vlastností se od jednotkových testů liší tím, že testovací případy pokrývají více situací a generování testovacích případů zajišťuje program.
+Dynamická analýza generuje symbolické vstupy (např. v [symbolickém provádění](https://en.m.wikipedia.org/wiki/Symbolic_execution)) nebo konkrétní vstupy (např. ve [fuzzingu](https://owasp.org/www-community/Fuzzing)) do funkcí chytrých kontraktů, aby se zjistilo, zda některá ze stop provádění neporušuje specifické vlastnosti. Tato forma testování na základě vlastností se od jednotkových testů liší tím, že testovací případy pokrývají více situací a generování testovacích případů zajišťuje program.
-[Fuzzing](https://halborn.com/what-is-fuzz-testing-fuzzing/) je příkladem techniky dynamické analýzy pro ověřování libovolných vlastností chytrých kontraktů. Fuzzer vyvolává funkce v cílovém kontraktu s náhodnými nebo chybnými variantami definované vstupní hodnoty. Pokud se chytrý kontrakt dostane do chybového stavu (např. do stavu, kdy selže tvrzení), je problém označen a v hlášení jsou uvedeny vstupy, které vedou provádění ke zranitelné cestě.
+[Fuzzing](https://www.halborn.com/blog/post/what-is-fuzz-testing-fuzzing) je příkladem techniky dynamické analýzy pro ověřování libovolných vlastností v chytrých kontraktech. Fuzzer vyvolává funkce v cílovém kontraktu s náhodnými nebo chybnými variantami definované vstupní hodnoty. Pokud se chytrý kontrakt dostane do chybového stavu (např. do stavu, kdy selže tvrzení), je problém označen a v hlášení jsou uvedeny vstupy, které vedou provádění ke zranitelné cestě.
Fuzzing je užitečný pro vyhodnocení mechanismu ověřování vstupů chytrých kontraktů, protože nesprávné zpracování neočekávaných vstupů může vést k nechtěnému spuštění a nebezpečným účinkům. Tato forma testování na základě vlastností může být ideální z mnoha důvodů:
-1. **Psaní testovacích případů, které by pokryly mnoho situací, je obtížné.** Testování vlastností vyžaduje pouze definování chování a rozsahu dat, se kterými se chování testuje – program automaticky generuje testovací případy na základě definované vlastnosti.
+1. **Psaní testovacích případů, které by pokryly mnoho scénářů, je obtížné.** Test založený na vlastnostech vyžaduje pouze to, abyste definovali chování a rozsah dat, s nimiž se má chování testovat – program automaticky generuje testovací případy na základě definované vlastnosti.
-2. **Vaše sada testů nemusí dostatečně pokrývat všechny možné cesty v rámci programu.** I při 100% pokrytí je možné vynechat krajní případy.
+2. **Vaše sada testů nemusí dostatečně pokrývat všechny možné cesty v rámci programu.** I při 100% pokrytí je možné vynechat okrajové případy.
-3. **Jednotkové testy prokazují správné provedení kontraktu pro vzorová data, ale není známo, zda se kontrakt správně provede pro vstupy mimo vzorek.** Testy vlastností provádějí cílový kontrakt s více variantami dané vstupní hodnoty a hledají stopy provedení, které způsobují selhání tvrzení. Test vlastností tak poskytuje více záruk, že se kontrakt provede správně pro širokou třídu vstupních dat.
+3. **Jednotkové testy prokazují, že se kontrakt provede správně pro vzorová data, ale zůstává neznámé, zda se provede správně pro vstupy mimo vzorek.** Testy založené na vlastnostech provádějí cílový kontrakt s více variantami dané vstupní hodnoty, aby našly stopy provádění, které způsobují selhání tvrzení. Test vlastností tak poskytuje více záruk, že se kontrakt provede správně pro širokou třídu vstupních dat.
-### Pokyny pro testování chytrých kontraktů na základě vlastností {#running-property-based-tests}
+### Pokyny pro provádění testování na základě vlastností pro chytré kontrakty {#running-property-based-tests}
-Provádění testování na základě vlastností obvykle začíná definováním vlastnosti (např. nepřítomnost přetečení [celých čísel](https://github.com/ConsenSys/mythril/wiki/Integer-Overflow)) nebo kolekce vlastností, které chcete v chytrém kontraktu ověřit. Při psaní testů vlastností může být také nutné definovat rozsah hodnot, ve kterém může program generovat data pro vstupy transakcí.
+Provádění testování založeného na vlastnostech obvykle začíná definováním vlastnosti (např. absence [celočíselného přetečení](https://github.com/ConsenSys/mythril/wiki/Integer-Overflow)) nebo souboru vlastností, které chcete v chytrém kontraktu ověřit. Při psaní testů vlastností může být také nutné definovat rozsah hodnot, ve kterém může program generovat data pro vstupy transakcí.
Po správné konfiguraci bude nástroj pro testování vlastností vykonávat funkce vašich chytrých kontraktů s náhodně vygenerovanými vstupy. Pokud dojde k porušení tvrzení, měla by se zobrazit zpráva s konkrétními vstupními daty, která porušují vyhodnocovanou vlastnost. Podívejte se na některé z níže uvedených návodů, které vám pomohou začít s testováním na základě vlastností pomocí různých nástrojů:
-- **[Statická analýza chytrých kontraktů pomocí Slither](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/slither#slither)**
+- **[Statická analýza chytrých kontraktů pomocí Slither](https://github.com/crytic/slither)**
- **[Statická analýza chytrých kontraktů pomocí Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)**
-- **[Testování na základě vlastností pomocí Brownie](https://eth-brownie.readthedocs.io/en/stable/tests-hypothesis-property.html)**
-- **[Fuzzingové kontrakty s Foundry](https://book.getfoundry.sh/forge/fuzz-testing)**
-- **[Fuzzingové kontrakty s Echidna](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/echidna#echidna-tutorial)**
-- **[Fuzzingové kontrakty s Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/fuzzing/)**
-- **[Symbolické provádění chytrých kontraktů pomocí Manticore](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore#manticore-tutorial)**
-- **[Symbolické provádění chytrých kontraktů pomocí Mythril](https://mythril-classic.readthedocs.io/en/master/tutorial.html)**
+- **[Testování na základě vlastností s Brownie](https://eth-brownie.readthedocs.io/en/stable/tests-hypothesis-property.html)**
+- **[Fuzzing kontraktů s Foundry](https://book.getfoundry.sh/forge/fuzz-testing)**
+- **[Fuzzing kontraktů s Echidna](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/echidna#echidna-tutorial)**
+- **[Fuzzing kontraktů s Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/fuzzing/)**
+- **[Symbolické provádění chytrých kontraktů s Manticore](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore#manticore-tutorial)**
+- **[Symbolické provádění chytrých kontraktů s Mythril](https://mythril-classic.readthedocs.io/en/master/tutorial.html)**
-## Ruční testování pro chytré kontrakty {#manual-testing-for-smart-contracts}
+## Ruční testování chytrých kontraktů {#manual-testing-for-smart-contracts}
Ruční testování chytrých kontraktů často přichází na řadu později ve vývojovém cyklu po spuštění automatických testů. Tato forma testování hodnotí chytrý kontrakt jako jeden plně integrovaný produkt a zjišťuje, zda funguje tak, jak je uvedeno v technických požadavcích.
@@ -205,104 +205,106 @@ Ruční testování chytrých kontraktů často přichází na řadu později ve
Přestože automatizované testování prováděné v lokálním vývojovém prostředí může poskytnout užitečné informace pro ladění, budete chtít vědět, jak se váš chytrý kontrakt chová v produkčním prostředí. Nasazení do hlavního řetězce Etherea je však spojeno s poplatky za palivo – nemluvě o tom, že vy nebo vaši uživatelé můžete přijít o skutečné peníze, pokud má váš chytrý kontrakt stále chyby.
-Testování kontraktu na lokálním blockchainu (známém také jako [vývojová síť](/developers/docs/development-networks/)) je doporučenou alternativou k testování na hlavní síti. Lokální blockchain je kopie blockchainu Etherea spuštěná lokálně na vašem počítači, která simuluje chování exekuční vrstvy Etherea. Proto můžete naprogramovat transakce pro interakci s kontraktem, aniž byste museli vynaložit značné režijní náklady.
+Testování vašeho kontraktu na lokálním blockchainu (známém také jako [vývojová síť](/developers/docs/development-networks/)) je doporučenou alternativou k testování na hlavní síti. Lokální blockchain je kopie blockchainu Etherea spuštěná lokálně na vašem počítači, která simuluje chování exekuční vrstvy Etherea. Proto můžete naprogramovat transakce pro interakci s kontraktem, aniž byste museli vynaložit značné režijní náklady.
-Spuštění kontraktů na lokálním blockchainu by mohlo být užitečné jako forma ručního integračního testování. [Chytré kontrakty jsou vysoce modulární](/developers/docs/smart-contracts/composability/), což umožňuje integraci se stávajícími protokoly, ale stále je třeba zajistit, aby tyto složité interakce na blockchainu vedly ke správným výsledkům.
+Spuštění kontraktů na lokálním blockchainu by mohlo být užitečné jako forma ručního integračního testování. [Chytré kontrakty jsou vysoce skládatelné](/developers/docs/smart-contracts/composability/), což vám umožňuje integraci se stávajícími protokoly – stále ale budete muset zajistit, že takové složité interakce na blockchainu přinesou správné výsledky.
-[Další informace o vývojových sítích.](/developers/docs/development-networks/)
+[Více o vývojových sítích.](/developers/docs/development-networks/)
-### Testování kontraktů v testovacích sítích {#testing-contracts-on-testnets}
+### Testování kontraktů na testnetech {#testing-contracts-on-testnets}
-Testovací síť neboli testnet funguje přesně jako hlavní síť Ethereum s tím rozdílem, že používá ether (ETH) bez reálné hodnoty. Nasazení kontraktu na [testovací síti](/developers/docs/networks/#ethereum-testnets) znamená, že s ním může kdokoli interagovat (např. prostřednictvím frontendu dappky), aniž by ohrozil finanční prostředky.
+Testovací síť neboli testnet funguje přesně jako hlavní síť Ethereum s tím rozdílem, že používá ether (ETH) bez reálné hodnoty. Nasazení vašeho kontraktu na [testnet](/developers/docs/networks/#ethereum-testnets) znamená, že s ním může kdokoli interagovat (např. prostřednictvím frontendu dapps), aniž by riskoval finanční prostředky.
Tato forma ručního testování je užitečná pro vyhodnocení komplexního toku aplikace z pohledu uživatele. Zde mohou beta testeři také provádět zkušební provoz a hlásit případné problémy s obchodní logikou a celkovou funkčností kontraktu.
Nasazení v testovací síti po testování na lokálním blockchainu je ideální, protože první z nich je blíže chování virtuálního stroje Etherea. Proto je u mnoha projektů založených na Ethereu běžné nasazovat dappky v testovacích sítích, aby bylo možné vyhodnotit fungování chytrých kontraktů v reálných podmínkách.
-[Další informace o testovacích sítích na Ethereu.](/developers/docs/development-networks/#public-beacon-testchains)
+[Více o testnetech Etherea.](/developers/docs/development-networks/#public-beacon-testchains)
## Testování vs. formální ověřování {#testing-vs-formal-verification}
-Testování sice pomáhá potvrdit, že kontrakt vrací očekávané výsledky pro některé datové vstupy, ale nemůže jednoznačně prokázat totéž pro vstupy, které nebyly během testů použity. Testování chytrého kontraktu proto nemůže zaručit „funkční správnost“ (tj. nemůže ukázat, že se program chová tak, jak je požadováno pro _všechny_ sady vstupních hodnot).
+Testování sice pomáhá potvrdit, že kontrakt vrací očekávané výsledky pro některé datové vstupy, ale nemůže jednoznačně prokázat totéž pro vstupy, které nebyly během testů použity. Testování chytrého kontraktu proto nemůže zaručit "funkční správnost" (tj. nemůže ukázat, že se program chová tak, jak je požadováno pro _všechny_ sady vstupních hodnot).
Formální ověřování je přístup k posuzování správnosti softwaru pomocí kontroly, zda formální model programu odpovídá formální specifikaci. Formální model je abstraktní matematická reprezentace programu, zatímco formální specifikace definuje vlastnosti programu (tj. logická tvrzení o provádění programu).
Protože vlastnosti jsou zapsány v matematických termínech, je možné ověřit, zda formální (matematický) model systému splňuje specifikaci pomocí logických pravidel odvozování. Proto se říká, že formální ověřovací nástroje vytvářejí „matematický důkaz“ správnosti systému.
-Na rozdíl od testování lze formální ověřování použít k ověření, že provádění chytrých kontraktů splňuje formální specifikaci pro _všechny_ provádění (tj. že neobsahuje žádné chyby), aniž by bylo nutné provádět je se vzorovými daty. Nejenže se tím zkrátí čas strávený spouštěním desítek jednotkových testů, ale je to také účinnější při odhalování skrytých zranitelností. Formální ověřovací techniky se přitom pohybují v různém spektru v závislosti na obtížnosti jejich implementace a užitečnosti.
+Na rozdíl od testování lze formální ověřování použít k ověření, že provádění chytrého kontraktu splňuje formální specifikaci pro _všechna_ provádění (tj. že nemá žádné chyby), aniž by bylo nutné jej provádět se vzorovými daty. Nejenže se tím zkrátí čas strávený spouštěním desítek jednotkových testů, ale je to také účinnější při odhalování skrytých zranitelností. Formální ověřovací techniky se přitom pohybují v různém spektru v závislosti na obtížnosti jejich implementace a užitečnosti.
-[Další informace o formálním ověřování chytrých kontraktů.](/developers/docs/smart-contracts/formal-verification)
+[Více o formálním ověřování chytrých kontraktů.](/developers/docs/smart-contracts/formal-verification)
-## Testování vs. audity a odměny za vyřešení chyb {#testing-vs-audits-bug-bounties}
+## Testování vs. audity a odměny za nalezení chyb {#testing-vs-audits-bug-bounties}
Jak již bylo zmíněno, důsledné testování může jen zřídka zaručit, že kontrakt neobsahuje chyby; formální ověřovací přístupy mohou poskytnout silnější záruky správnosti, ale v současné době je obtížné je používat a jsou s nimi spojeny značné náklady.
-Přesto můžete možnost odhalení zranitelností kontraktu ještě zvýšit tím, že si necháte provést nezávislou revizi kódu. [Audity chytrých kontraktů](https://www.immunebytes.com/blog/what-is-a-smart-contract-audit/) a [odměny za vyřešení chyb](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7) jsou dva způsoby, jak přimět ostatní, aby analyzovali vaše kontrakty.
+Přesto můžete možnost odhalení zranitelností kontraktu ještě zvýšit tím, že si necháte provést nezávislou revizi kódu. [Audity chytrých kontraktů](https://www.immunebytes.com/blog/what-is-a-smart-contract-audit/) a [odměny za nalezení chyb](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7) (bug bounties) jsou dva způsoby, jak přimět ostatní, aby analyzovali vaše kontrakty.
Audity provádějí auditoři, kteří mají zkušenosti s odhalováním bezpečnostních nedostatků a špatných vývojových postupů v chytrých kontraktech. Audit obvykle zahrnuje testování (a případně formální ověření) a ruční kontrolu celé kódové základny.
-Naproti tomu program odměn za vyřešení chyby obvykle zahrnuje nabídku finanční odměny jednotlivci (běžně označovanému jako [whitehat hacker](https://en.wikipedia.org/wiki/White_hat_(computer_security))), který objeví zranitelnost v chytrém kontraktu a odhalí ji vývojářům. Odměny za vyřešení chyb jsou podobné auditům, protože zahrnují žádost ostatních, aby pomohli najít chyby v chytrých kontraktech.
+Naopak, program odměn za nalezení chyb (bug bounty) obvykle zahrnuje nabídku finanční odměny jednotlivci (běžně označovanému jako [whitehat hacker](https://en.wikipedia.org/wiki/White_hat_\(computer_security\))), který objeví zranitelnost v chytrém kontraktu a oznámí ji vývojářům. Odměny za vyřešení chyb jsou podobné auditům, protože zahrnují žádost ostatních, aby pomohli najít chyby v chytrých kontraktech.
Hlavní rozdíl spočívá v tom, že programy odměn za vyřešení chyb jsou otevřené širší komunitě vývojářů/hackerů a přitahují širokou skupinu etických hackerů a nezávislých bezpečnostních odborníků s jedinečnými dovednostmi a zkušenostmi. To může být výhoda oproti auditům chytrých kontraktů, které se spoléhají především na týmy, které mohou mít omezené nebo úzké odborné znalosti.
-## Testovací nástroje a knihovny {#testing-tools-and-libraries}
+## Nástroje a knihovny pro testování {#testing-tools-and-libraries}
### Nástroje pro jednotkové testování {#unit-testing-tools}
- **[solidity-coverage](https://github.com/sc-forks/solidity-coverage)** – _Nástroj pro pokrytí kódu chytrých kontraktů napsaných v Solidity._
-- **[Waffle](https://ethereum-waffle.readthedocs.io/en/latest/)** – _Framework pro pokročilý vývoj a testování chytrých kontraktů (založený na ethers.js)_.
+- **[Waffle](https://ethereum-waffle.readthedocs.io/en/latest/)** – _Framework pro pokročilý vývoj a testování chytrých kontraktů (založený na ethers.js)._
-- **[Remix Tests](https://github.com/ethereum/remix-project/tree/master/libs/remix-tests)** – _Nástroj pro testování chytrých kontraktů Solidity. Pracuje pod pluginem „Solidity Unit Testing“ v prostředí Remix IDE, který se používá k psaní a spouštění testovacích případů pro kontrakt._
+- **[Remix Tests](https://github.com/ethereum/remix-project/tree/master/libs/remix-tests)** - _Nástroj pro testování chytrých kontraktů v Solidity._ Pracuje pod pluginem „Solidity Unit Testing“ v prostředí Remix IDE, který se používá k psaní a spouštění testovacích případů pro kontrakt._
-- **[OpenZeppelin Test Helpers](https://github.com/OpenZeppelin/openzeppelin-test-helpers)** – _Knihovna pro testování chytrých kontraktů na Ethereu. Ujistěte se, že se vaše kontrakty chovají podle očekávání!_
+- **[OpenZeppelin Test Helpers](https://github.com/OpenZeppelin/openzeppelin-test-helpers)** – _Knihovna tvrzení pro testování chytrých kontraktů na Ethereu._ Ujistěte se, že se vaše kontrakty chovají podle očekávání!_
-- **[Brownie unit testing framework](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)** – _Brownie využívá Pytest, funkčně bohatý testovací framework, který umožňuje psát malé testy s minimem kódu, dobře se škáluje pro velké projekty a je vysoce rozšiřitelný._
+- **[Framework pro jednotkové testování Brownie](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)** – _Brownie využívá Pytest, testovací framework s bohatými funkcemi, který vám umožní psát malé testy s minimálním kódem, dobře se škáluje pro velké projekty a je vysoce rozšiřitelný._
-- **[Foundry Tests](https://github.com/foundry-rs/foundry/tree/master/crates/forge)** – _Foundry nabízí Forge, rychlý a flexibilní framework pro testování na Ethereu, který dokáže provádět jednoduché jednotkové testy, kontroly optimalizace paliva a fuzzing kontraktů._
+- **[Foundry Tests](https://github.com/foundry-rs/foundry/tree/master/crates/forge)** – _Foundry nabízí Forge, rychlý a flexibilní framework pro testování na Ethereu, který je schopen provádět jednoduché jednotkové testy, kontroly optimalizace paliva a fuzzing kontraktů._
- **[Hardhat Tests](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)** – _Framework pro testování chytrých kontraktů založený na ethers.js, Mocha a Chai._
-- **[ApeWorx](https://docs.apeworx.io/ape/stable/userguides/testing.html)** – _Vývojový a testovací framework pro chytré kontrakty v jazyce Python zaměřený na virtuální stroj Etherea._
+- **[ApeWorx](https://docs.apeworx.io/ape/stable/userguides/testing.html)** – _Vývojový a testovací framework založený na Pythonu pro chytré kontrakty cílící na Ethereum Virtual Machine (EVM)._
-- **[Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)** – _Python framework pro jednotkové testování a fuzzing se silnými možnostmi ladění a podporou testování napříč blockchainy, využívající pytest a Anvil pro co nejlepší uživatelský zážitek a výkon._
+- **[Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)** – _Framework založený na Pythonu pro jednotkové testování a fuzzing se silnými možnostmi ladění a podporou testování napříč řetězci, využívající pytest a Anvil pro nejlepší uživatelský zážitek a výkon._
### Nástroje pro testování na základě vlastností {#property-based-testing-tools}
#### Nástroje pro statickou analýzu {#static-analysis-tools}
-- **[Slither](https://github.com/crytic/slither)** – _Statický analytický framework v Solidity založený na Pythonu pro vyhledávání zranitelností, zlepšování srozumitelnosti kódu a psaní vlastních analýz pro chytré kontrakty._
+- **[Slither](https://github.com/crytic/slither)** – _Framework pro statickou analýzu Solidity založený na Pythonu pro hledání zranitelností, zlepšení srozumitelnosti kódu a psaní vlastních analýz pro chytré kontrakty._
+
+- **[Ethlint](https://ethlint.readthedocs.io/en/latest/)** – _Linter pro vynucování stylu a osvědčených postupů zabezpečení pro programovací jazyk chytrých kontraktů Solidity._
-- **[Ethlint](https://ethlint.readthedocs.io/en/latest/)** – _Linter pro vynucení nejlepších postupů stylu a zabezpečení pro programovací jazyk chytrých kontraktů Solidity._
+- **[Cyfrin Aderyn](https://cyfrin.io/tools/aderyn)** – _Statický analyzátor založený na Rustu speciálně navržený pro zabezpečení a vývoj chytrých kontraktů Web3._
-- **[Cyfrin Aderyn](https://cyfrin.io/tools/aderyn)** – _Statický analyzátor založený na Rust speciálně navržený pro zabezpečení a vývoj chytrých kontraktů na Web3._
+- **[Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)** – _Framework pro statickou analýzu založený na Pythonu s detektory zranitelností a kvality kódu, tiskárnami pro extrahování užitečných informací z kódu a podporou pro psaní vlastních submodulů._
-- **[Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)** – _Statický analytický framework založený na Pythonu s detektory zranitelností a kvality kódu, nástroji pro extrakci užitečných informací z kódu a podporou psaní vlastních podmodulů._
+- **[Slippy](https://github.com/fvictorio/slippy)** – _Jednoduchý a výkonný linter pro Solidity._
#### Nástroje pro dynamickou analýzu {#dynamic-analysis-tools}
-- **[Echidna](https://github.com/crytic/echidna/)** – _Rychlý fuzzer kontraktů pro odhalování zranitelností v chytrých kontraktech pomocí testování na základě vlastností._
+- **[Echidna](https://github.com/crytic/echidna/)** – _Rychlý fuzzer kontraktů pro detekci zranitelností v chytrých kontraktech pomocí testování založeného na vlastnostech._
-- **[Diligence Fuzzing](https://consensys.net/diligence/fuzzing/)** – _Automatický fuzzing nástroj užitečný pro odhalování porušení vlastností v kódu chytrých kontraktů._
+- **[Diligence Fuzzing](https://consensys.net/diligence/fuzzing/)** – _Automatizovaný nástroj pro fuzzing užitečný pro detekci porušení vlastností v kódu chytrého kontraktu._
-- **[Manticore](https://manticore.readthedocs.io/en/latest/index.html)** – _Dynamický framework pro symbolické spouštění pro analýzu EVM bytekódu._
+- **[Manticore](https://manticore.readthedocs.io/en/latest/index.html)** – _Dynamický framework pro symbolické provádění pro analýzu bytekódu EVM._
-- **[Mythril](https://github.com/ConsenSys/mythril-classic)** – _Nástroj pro vyhodnocování EVM bytekódu pro detekci zranitelností kontraktů pomocí analýzy taintů, analýzy concolic a kontroly toku řízení._
+- **[Mythril](https://github.com/ConsenSys/mythril-classic)** – _Nástroj pro hodnocení bytekódu EVM pro detekci zranitelností kontraktů pomocí taint analýzy, konkolické analýzy a kontroly toku řízení._
-- **[Diligence Scribble](https://consensys.net/diligence/scribble/)** – _Scribble je specifikační jazyk a runtime ověřovací nástroj, který umožňuje anotovat chytré kontrakty pomocí vlastností, které umožňují automatické testování kontraktů pomocí nástrojů, jako je Diligence Fuzzing nebo MythX._
+- **[Diligence Scribble](https://consensys.net/diligence/scribble/)** – _Scribble je specifikační jazyk a runtime ověřovací nástroj, který umožňuje anotovat chytré kontrakty vlastnostmi, které umožňují automatické testování kontraktů pomocí nástrojů, jako je Diligence Fuzzing nebo MythX._
## Související návody {#related-tutorials}
- [Přehled a srovnání různých testovacích produktů](/developers/tutorials/guide-to-smart-contract-security-tools/) \_
- [Jak používat Echidnu k testování chytrých kontraktů](/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/)
-- [Jak používat Manticore k vyhledávání chyb v chytrých kontraktech](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
-- [Jak používat Slither k hledání chyb ve smart kontraktech](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
-- [Jak vytvořit maketu smlouvy Solidity pro testování](/developers/tutorials/how-to-mock-solidity-contracts-for-testing/)
+- [Jak používat Manticore k nalezení chyb v chytrých kontraktech](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
+- [Jak používat Slither k nalezení chyb v chytrých kontraktech](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
+- [Jak mockovat kontrakty v Solidity pro účely testování](/developers/tutorials/how-to-mock-solidity-contracts-for-testing/)
- [Jak spouštět jednotkové testy v Solidity pomocí Foundry](https://www.rareskills.io/post/foundry-testing-solidity)
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
- [Podrobný průvodce testováním chytrých kontraktů na Ethereu](https://iamdefinitelyahuman.medium.com/an-in-depth-guide-to-testing-ethereum-smart-contracts-2e41b2770297)
- [Jak testovat chytré kontrakty na Ethereu](https://betterprogramming.pub/how-to-test-ethereum-smart-contracts-35abc8fa199d)
- [Průvodce jednotkovým testováním pro vývojáře od MolochDAO](https://github.com/MolochVentures/moloch/tree/4e786db8a4aa3158287e0935dcbc7b1e43416e38/test#moloch-testing-guide)
-- [Jak testovat chytré kontrakt jako borec](https://forum.openzeppelin.com/t/test-smart-contracts-like-a-rockstar/1001)
+- [Jak testovat chytré kontrakty jako rocková hvězda](https://forum.openzeppelin.com/t/test-smart-contracts-like-a-rockstar/1001)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md b/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
index 8bb877f0fad..3b52ee13854 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
@@ -12,9 +12,9 @@ Zvýšený výzkum v oblasti vylepšování chytrých kontraktů však vedl k za
## Předpoklady {#prerequisites}
-Měli byste dobře rozumět [chytrým kontraktům](/developers/docs/smart-contracts/), [anatomii chytrých kontraktů](/developers/docs/smart-contracts/anatomy/) a [virtuálnímu stroji Etherea (EVM)](/developers/docs/evm/). Tato příručka také předpokládá, že čtenáři mají znalosti o programování chytrých kontraktů.
+Měli byste dobře rozumět [chytrým kontraktům](/developers/docs/smart-contracts/), [anatomii chytrých kontraktů](/developers/docs/smart-contracts/anatomy/) a [Virtuálnímu stroji Etherea (EVM)](/developers/docs/evm/). Tato příručka také předpokládá, že čtenáři mají znalosti o programování chytrých kontraktů.
-## Co je to vylepšení chytrého kontraktu? {#what-is-a-smart-contract-upgrade}
+## Co je to vylepšení chytrého kontraktu? Co je to vylepšení chytrého kontraktu? {#what-is-a-smart-contract-upgrade}
Vylepšení chytrého kontraktu zahrnuje změnu obchodní logiky chytrého kontraktu při zachování jeho stavu. Je důležité objasnit, že možnost vylepšit a měnit nejsou totéž, zejména v kontextu chytrých kontraktů.
@@ -42,7 +42,7 @@ Posledním krokem při migraci kontraktu je přesvědčit uživatele, aby přeš
Migrace kontraktu je relativně jednoduché a bezpečné opatření pro aktualizaci chytrých kontraktů bez narušení uživatelských interakcí. Ruční migrace uživatelských úložišť a zůstatků do nového kontraktu je však časově náročná a může být spojena s vysokými náklady na palivo.
-[Více o migraci kontraktu.](https://blog.trailofbits.com/2018/10/29/how-contract-migration-works/)
+[Více o migraci kontraktů.](https://blog.trailofbits.com/2018/10/29/how-contract-migration-works/)
### Mechanismus vylepšení č. 2: Oddělení dat {#data-separation}
@@ -76,7 +76,7 @@ Z [dokumentace Solidity](https://docs.soliditylang.org/en/latest/introduction-to
> _Existuje speciální varianta volání zprávy s názvem **delegatecall**, která je totožná s voláním zprávy až na to, že kód na cílové adrese se provádí v kontextu (tj. na adrese) volajícího kontraktu a `msg.sender` a `msg.value` nemění své hodnoty._ _To znamená, že kontrakt může za běhu dynamicky načíst kód z jiné adresy. Úložiště, aktuální adresa a zůstatek se stále vztahují k volajícímu kontraktu, pouze kód je převzat z volané adresy._
-Proxy kontrakt ví, že má zavolat `delegatecall`, kdykoli uživatel zavolá funkci, protože má v sobě zabudovanou funkci `fallback`. V programování Solidity se funkce [fallback](https://docs.soliditylang.org/en/latest/contracts.html#fallback-function) provede, když volání funkce neodpovídá funkcím uvedeným v kontraktu.
+Proxy kontrakt ví, že má zavolat `delegatecall`, kdykoli uživatel zavolá funkci, protože má v sobě zabudovanou funkci `fallback`. Při programování v Solidity se [funkce fallback](https://docs.soliditylang.org/en/latest/contracts.html#fallback-function) spouští, když volání funkce neodpovídá funkcím uvedeným v kontraktu.
Zprovoznění proxy vzoru vyžaduje napsání vlastní nouzové funkce, která určuje, jak má proxy kontrakt zacházet s voláními funkcí, které nepodporuje. V tomto případě je záložní funkce proxy kontraktu naprogramována tak, aby iniciovala delegatecall a přesměrovala požadavek uživatele na aktuální implementaci logického kontraktu.
@@ -84,7 +84,7 @@ Proxy kontrakt je ve výchozím nastavení neměnný, ale lze vytvářet nové l
Ukázáním proxy kontraktu na nový logický kontrakt se změní kód prováděný při volání funkce proxy kontraktu uživateli. To nám umožňuje vylepšit logiku kontraktu, aniž bychom od uživatelů vyžadovali interakci s novým kontraktem.
-Proxy vzory jsou oblíbenou metodou vylepšení chytrých kontraktů, protože eliminují obtíže spojené s migrací kontraktu. Použití proxy vzorů je však složitější a při nesprávném použití může způsobit kritické chyby, například [kolize selektorů funkcí](https://medium.com/nomic-foundation-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357).
+Proxy vzory jsou oblíbenou metodou vylepšení chytrých kontraktů, protože eliminují obtíže spojené s migrací kontraktu. Proxy vzory jsou však složitější na používání a při nesprávném použití mohou způsobit kritické chyby, jako jsou například [konflikty selektorů funkcí](https://medium.com/nomic-foundation-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357).
[Více o proxy vzorech](https://blog.openzeppelin.com/proxy-patterns/).
@@ -100,11 +100,11 @@ Ačkoli je podobný dříve popsanému proxy vzoru, vzor strategie se liší, pr
Hlavní nevýhodou je, že tento vzor je užitečný hlavně pro zavádění drobných vylepšení. Pokud je hlavní kontrakt kompromitován (např. hacknutím), nelze tento způsob vylepšení použít.
-### Mechanismus aktualizace č. 5: Diamantový vzor {#diamond-pattern}
+### Mechanismus vylepšení č. 5: Diamantový vzor {#diamond-pattern}
Diamantový vzor lze považovat za vylepšení proxy vzoru. Diamantové vzory se od proxy vzorů liší tím, že diamantový proxy kontrakt může delegovat volání funkcí na více než jeden logický kontrakt.
-Logické kontrakty v diamantovém vzoru se označují jako _fasety_. Aby diamantový vzor fungoval, je třeba v proxy kontraktu vytvořit mapování, které mapuje [selektory funkcí](https://docs.soliditylang.org/en/latest/abi-spec.html#function-selector) na různé adresy faset.
+Logické kontrakty v diamantovém vzoru jsou známé jako _fasety_. Aby diamantový vzor fungoval, je třeba v proxy kontraktu vytvořit mapování, které mapuje [selektory funkcí](https://docs.soliditylang.org/en/latest/abi-spec.html#function-selector) na různé adresy faset.
Když uživatel zavolá funkci, proxy kontrakt zkontroluje mapování a najde aspekt odpovědný za provedení dané funkce. Poté vyvolá `delegatecall` (pomocí funkce fallback) a přesměruje volání na příslušný logický kontrakt.
@@ -118,23 +118,23 @@ Diamantový vzor vylepšení má oproti tradičním vzorům proxy vylepšení ur
[Více o diamantovém vzoru](https://eip2535diamonds.substack.com/p/introduction-to-the-diamond-standard?s=w).
-## Výhody a nevýhody vylepšení chytrých kontraktů {#pros-and-cons-of-upgrading-smart-contracts}
+## Výhody a nevýhody vylepšování chytrých kontraktů {#pros-and-cons-of-upgrading-smart-contracts}
-| Plusy | Mínusy |
-| ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
+| Plusy | Minusy |
+| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Vylepšení chytrého kontraktu může usnadnit opravu zranitelností objevených ve fázi po nasazení. | Aktualizace chytrých kontraktů popírá myšlenku neměnnosti kódu, což má důsledky pro decentralizaci a bezpečnost. |
| Vývojáři mohou pomocí vylepšení logiky přidávat do decentralizovaných aplikací nové funkce. | Uživatelé musí důvěřovat vývojářům, že nebudou svévolně upravovat chytré kontrakty. |
| Vylepšení chytrých kontraktů mohou zvýšit bezpečnost koncových uživatelů, protože chyby lze rychle opravit. | Programování funkcí vylepšení do chytrých kontraktů přidává další vrstvu složitosti a zvyšuje možnost kritických chyb. |
| Vylepšení kontraktů dávají vývojářům větší prostor pro experimentování s různými funkcemi a vylepšování dappek v průběhu času. | Možnost vylepšovat chytré kontrakty může vývojáře podnítit k rychlejšímu spuštění projektů, aniž by ve fázi vývoje provedli náležitou kontrolu. |
-| | Nezabezpečené řízení přístupu nebo centralizace v chytrých kontraktech může škodlivým aktérům usnadnit provádění neoprávněných aktualizací. |
+| | Nezabezpečené řízení přístupu nebo centralizace v chytrých kontraktech může škodlivým aktérům usnadnit provádění neoprávněných aktualizací. |
-## Co vzít v úvahu při vylepšování chytrých kontraktů {#considerations-for-upgrading-smart-contracts}
+## Co zvážit při vylepšování chytrých kontraktů {#considerations-for-upgrading-smart-contracts}
1. Používejte bezpečné mechanismy řízení přístupu/autorizace, abyste zabránili neoprávněným vylepšením chytrých kontraktů, zejména pokud používáte proxy vzory, vzory strategií nebo oddělení dat. Příkladem je omezení přístupu k funkci vylepšení tak, aby ji mohl volat pouze vlastník kontraktu.
2. Vylepšení chytrých kontraktů je složitá činnost a vyžaduje vysokou míru pečlivosti, aby se zabránilo zavedení zranitelností.
-3. Snižte předpoklady důvěryhodnosti decentralizací procesu provádění vylepšení. Mezi možné strategie patří použití [kontraktu peněženky s více signatáři](/developers/docs/smart-contracts/#multisig) pro kontrolu vylepšení nebo požadavek, aby [členové DAO](/dao/) hlasovali o schválení vylepšení.
+3. Snižte předpoklady důvěryhodnosti decentralizací procesu provádění vylepšení. Možné strategie zahrnují použití [kontraktu peněženky s více podpisy (multi-sig)](/developers/docs/smart-contracts/#multisig) pro kontrolu vylepšení nebo požadavek, aby [členové DAO](/dao/) hlasovali o schválení vylepšení.
4. Uvědomte si náklady spojené s vylepšením kontraktů. Například kopírování stavu (např. zůstatků uživatelů) ze starého kontraktu do nového během migrace kontraktu může vyžadovat více než jednu transakci, což znamená více poplatků za palivo.
@@ -142,7 +142,7 @@ Diamantový vzor vylepšení má oproti tradičním vzorům proxy vylepšení ur
Časové zámky dávají uživatelům určitý čas na opuštění systému, pokud nesouhlasí s navrhovanou změnou (např. vylepšením logiky nebo novými systémy poplatků). Bez časových zámků musí uživatelé důvěřovat vývojářům, že neimplementují libovolné změny v chytrém kontraktu bez předchozího upozornění. Nevýhodou je, že časové zámky omezují možnost rychle opravovat zranitelnosti.
-## Zdroje {#resources}
+## Zdroje informací {#resources}
**OpenZeppelin Upgrades Plugins – _Sada nástrojů pro nasazení a zabezpečení vylepšitelných chytrých kontraktů._**
@@ -151,15 +151,15 @@ Diamantový vzor vylepšení má oproti tradičním vzorům proxy vylepšení ur
## Návody {#tutorials}
-- [Vylepšení vašich chytrých kontraktů | YouTube Tutoriál](https://www.youtube.com/watch?v=bdXJmWajZRY) od Patrick Collins
-- [Tutoriál na migraci chytrého kontraktu na Ethereu](https://medium.com/coinmonks/ethereum-smart-contract-migration-13f6f12539bd) od Austin Griffith
-- [Použití UUPS proxy vzoru k vylepšení chytrých kontraktů](https://blog.logrocket.com/author/praneshas/) od Pranesh A.S
-- [Web3 Tutoriál: Napište vylepšitelný chytrý kontrakt (proxy) pomocí OpenZeppelin](https://dev.to/yakult/tutorial-write-upgradeable-smart-contract-proxy-contract-with-openzeppelin-1916) od fangjun.eth
+- [Vylepšování chytrých kontraktů | Tutoriál na YouTube](https://www.youtube.com/watch?v=bdXJmWajZRY) od Patricka Collinse
+- [Tutoriál k migraci chytrých kontraktů na Ethereu](https://medium.com/coinmonks/ethereum-smart-contract-migration-13f6f12539bd) od Austina Griffitha
+- [Použití proxy vzoru UUPS k vylepšení chytrých kontraktů](https://blog.logrocket.com/author/praneshas/) od Praneshe A.S
+- [Web3 tutoriál: Jak napsat vylepšitelný chytrý kontrakt (proxy) pomocí OpenZeppelin](https://dev.to/yakult/tutorial-write-upgradeable-smart-contract-proxy-contract-with-openzeppelin-1916) od fangjun.eth
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Stav vylepšení chytrých kontraktů](https://blog.openzeppelin.com/the-state-of-smart-contract-upgrades/) od Santiago Palladino
-- [Více způsobů, jak vylepšit chytrý kontrakt Solidity](https://cryptomarketpool.com/multiple-ways-to-upgrade-a-solidity-smart-contract/) – Crypto Market Pool blog
-- [Učení: Vylepšení chytrých kontraktů](https://docs.openzeppelin.com/learn/upgrading-smart-contracts) – Dokumentace OpenZeppelin
-- [Proxy vzory pro vylepšitelnost kontraktů Solidity: Transparentní vs. UUPS proxy](https://mirror.xyz/0xB38709B8198d147cc9Ff9C133838a044d78B064B/M7oTptQkBGXxox-tk9VJjL66E1V8BUF0GF79MMK4YG0) od Naveen Sahu
-- [Jak fungují diamantová vylepšení](https://dev.to/mudgen/how-diamond-upgrades-work-417j) od Nick Mudge
+- [Stav vylepšení chytrých kontraktů](https://blog.openzeppelin.com/the-state-of-smart-contract-upgrades/) od Santiaga Palladina
+- [Několik způsobů, jak vylepšit chytrý kontrakt v Solidity](https://cryptomarketpool.com/multiple-ways-to-upgrade-a-solidity-smart-contract/) – blog Crypto Market Pool
+- [Naučte se: Vylepšování chytrých kontraktů](https://docs.openzeppelin.com/learn/upgrading-smart-contracts) – Dokumentace OpenZeppelin
+- [Proxy vzory pro vylepšitelnost kontraktů v Solidity: Transparentní vs. UUPS proxy](https://mirror.xyz/0xB38709B8198d147cc9Ff9C133838a044d78B064B/M7oTptQkBGXxox-tk9VJjL66E1V8BUF0GF79MMK4YG0) od Naveena Sahu
+- [Jak fungují diamantová vylepšení](https://dev.to/mudgen/how-diamond-upgrades-work-417j) od Nicka Mudge
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md b/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md
index 902e409e962..a2669f2ed6c 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md
@@ -6,11 +6,11 @@ lang: cs
[Chytré kontrakty](/developers/docs/smart-contracts/) jsou navrženy tak, aby byly „bez nutnosti další důvěry“, což znamená, že uživatelé by před interakcí s kontraktem neměli důvěřovat třetím stranám (např. vývojářům a společnostem). Podmínkou pro to je, aby uživatelé a další vývojáři mohli ověřit zdrojový kód chytrého kontraktu. Ověření zdrojového kódu zajišťuje uživatelům a vývojářům, že zveřejněný kód kontraktu je stejný kód, který běží na adrese kontraktu na blockchainu Etherea.
-Je důležité rozlišovat mezi „ověřováním zdrojového kódu“ a „[formálním ověřováním](/developers/docs/smart-contracts/formal-verification/)“. Ověřování zdrojového kódu, které bude podrobně vysvětleno níže, se týká ověření, že se daný zdrojový kód chytrého kontraktu ve vysoce úrovňovém jazyce (např. Solidity) zkompiluje do stejného bytekódu, který má být spuštěn na adrese kontraktu. Formální ověřování však popisuje ověření správnosti chytrého kontraktu, což znamená, že se kontrakt chová podle očekávání. Ačkoli ověřování kontraktu závisí na kontextu, obvykle se vztahuje na ověření zdrojového kódu.
+Je důležité rozlišovat mezi „ověřováním zdrojového kódu“ a „[formálním ověřováním](/developers/docs/smart-contracts/formal-verification/)“. Ověřování zdrojového kódu, které bude podrobně vysvětleno níže, se týká ověření, že se daný zdrojový kód chytrého kontraktu ve vysokoúrovňovém jazyce (např. Solidity) zkompiluje do stejného bytekódu, který má být spuštěn na adrese kontraktu. Formální ověřování však popisuje ověření správnosti chytrého kontraktu, což znamená, že se kontrakt chová podle očekávání. Ačkoli ověřování kontraktu závisí na kontextu, obvykle se vztahuje na ověření zdrojového kódu.
## Co je ověřování zdrojového kódu? {#what-is-source-code-verification}
-Před nasazením chytrého kontraktu do [Virtuálního stroje Etherea (EVM)](/developers/docs/evm/) vývojáři [kompilují](/developers/docs/smart-contracts/compiling/) zdrojový kód kontraktu – instrukce [napsané v jazyce Solidity](/developers/docs/smart-contracts/languages/) nebo jiném vysokoúrovňovém programovacím jazyce – do bytekódu. Jelikož EVM nedokáže interpretovat vysokoúrovňové instrukce, je pro provádění logiky kontraktu v EVM nutná kompilace zdrojového kódu do bytekódu (tj. nízkoúrovňových strojových instrukcí).
+Před nasazením chytrého kontraktu do [Ethereum Virtual Machine (EVM)](/developers/docs/evm/) vývojáři [kompilují](/developers/docs/smart-contracts/compiling/) zdrojový kód kontraktu – instrukce [napsané v Solidity](/developers/docs/smart-contracts/languages/) nebo jiném vysokoúrovňovém programovacím jazyce – do bytekódu. Jelikož EVM nedokáže interpretovat vysokoúrovňové instrukce, je pro provádění logiky kontraktu v EVM nutná kompilace zdrojového kódu do bytekódu (tj. nízkoúrovňových strojových instrukcí).
Ověřování zdrojového kódu je porovnávání zdrojového kódu chytrého kontraktu a zkompilovaného bytekódu použitého při vytváření kontraktu s cílem odhalit případné rozdíly. Ověřování chytrých kontraktů je důležité, protože inzerovaný kód kontraktu se může lišit od toho, který běží na blockchainu.
@@ -20,17 +20,17 @@ Ověřování chytrých kontraktů umožňuje zkoumat, co kontrakt dělá, prost
Některé části zdrojového kódu nemají na zkompilovaný bytekód vliv, například komentáře nebo názvy proměnných. To znamená, že dva zdrojové kódy s různými názvy proměnných a různými komentáři budou schopny ověřit stejný kontrakt. Záškodník tak může do zdrojového kódu přidat klamavé komentáře nebo uvést zavádějící názvy proměnných a nechat ověřit kontrakt s jiným zdrojovým kódem, než je původní zdrojový kód.
-Tomu je možné se vyhnout tak, že se k bytekódu připojí další data, která slouží jako _kryptografická záruka_ přesnosti zdrojového kódu a jako _otisk prstu_ informací o kompilaci. Potřebné informace se nacházejí v [metadatech kontraktu Solidity](https://docs.soliditylang.org/en/v0.8.15/metadata.html) a hash tohoto souboru je připojen k bytekódu kontraktu. Můžete si je prohlédnout v akci na [metadatovém hřišti](https://playground.sourcify.dev)
+Tomu je možné se vyhnout tak, že se k bytekódu připojí další data, která slouží jako _kryptografická záruka_ přesnosti zdrojového kódu a jako _otisk prstu_ informací o kompilaci. Potřebné informace se nacházejí v [metadatech kontraktu Solidity](https://docs.soliditylang.org/en/v0.8.15/metadata.html) a haš tohoto souboru je připojen k bytekódu kontraktu. Můžete si to prohlédnout v akci v [metadata playgroundu](https://playground.sourcify.dev).
Soubor metadat obsahuje informace o kompilaci kontraktu včetně zdrojových souborů a jejich hashů. To znamená, že pokud se změní nastavení kompilace nebo dokonce jediný bajt v některém ze zdrojových souborů, změní se i soubor metadat. V důsledku toho se změní i hash souboru metadat, který je připojen k bytekódu. To znamená, že pokud se bytekód kontraktu + připojený hash metadat shodují s daným zdrojovým kódem a nastavením kompilace, můžeme si být jisti, že se jedná o přesně stejný zdrojový kód, který byl použit při původní kompilaci, a že se neliší ani o jediný bajt.
-Tento typ ověření, který využívá hash metadat, se označuje jako **„[úplné ověření](https://docs.sourcify.dev/docs/full-vs-partial-match/)“** (také „dokonalé ověření“). Pokud se hashe metadat neshodují nebo nejsou při ověřování brány v úvahu, jedná se o „částečnou shodu“, což je v současné době běžnější způsob ověřování kontraktů. Bez úplného ověření je možné [vložit škodlivý kód](https://samczsun.com/hiding-in-plain-sight/), který by se v ověřeném zdrojovém kódu neprojevil. Většina vývojářů si není vědoma úplného ověření a neuchovává soubor s metadaty o své kompilaci, proto je částečné ověření dosud de facto metodou ověřování kontraktů.
+Tento typ ověření, který využívá haš metadat, se označuje jako **„[úplné ověření](https://docs.sourcify.dev/docs/full-vs-partial-match/)“** (také „dokonalé ověření“). Pokud se hashe metadat neshodují nebo nejsou při ověřování brány v úvahu, jedná se o „částečnou shodu“, což je v současné době běžnější způsob ověřování kontraktů. Je možné [vložit škodlivý kód](https://samczsun.com/hiding-in-plain-sight/), který by se v ověřeném zdrojovém kódu bez úplného ověření neprojevil. Většina vývojářů si není vědoma úplného ověření a neuchovává soubor s metadaty o své kompilaci, proto je částečné ověření dosud de facto metodou ověřování kontraktů.
## Proč je ověřování zdrojového kódu důležité? {#importance-of-source-code-verification}
-### Bez nutnosti další důvěry {#trustlessness}
+### Nevyžadování důvěry {#trustlessness}
-Skutečnost, že není potřeba další důvěry je pravděpodobně největším předpokladem pro chytré kontrakty a [decentralizované aplikace (dappky)](/developers/docs/dapps/). Chytré kontrakty jsou „neměnné“ a nelze je pozměnit; kontrakt provede pouze obchodní logiku definovanou v kódu v době nasazení. To znamená, že vývojáři a podniky nemohou manipulovat s kódem kontraktu po jeho nasazení na Ethereu.
+Nevyžadování důvěry je pravděpodobně největším předpokladem pro chytré kontrakty a [decentralizované aplikace (dapps)](/developers/docs/dapps/). Chytré kontrakty jsou „neměnné“ a nelze je pozměnit; kontrakt provede pouze obchodní logiku definovanou v kódu v době nasazení. To znamená, že vývojáři a podniky nemohou manipulovat s kódem kontraktu po jeho nasazení na Ethereu.
Aby chytrý kontrakt fungoval bez nutnosti další důvěry, měl by být kód kontraktu dostupný pro nezávislé ověření. Zatímco zkompilovaný bytekód pro každý chytrý kontrakt je veřejně dostupný na blockchainu, nízkoúrovňový jazyk je obtížně srozumitelný jak pro vývojáře, tak pro uživatele.
@@ -44,9 +44,9 @@ U chytrých kontraktů je obvykle v sázce spousta peněz. To vyžaduje vyšší
Zveřejnění souborů se zdrojovým kódem chytrého kontraktu usnadňuje zájemcům, například auditorům, posouzení kontraktu z hlediska možných vektorů útoku. Díky tomu, že chytrý kontrakt nezávisle ověřuje více stran, mají uživatelé větší záruku jeho bezpečnosti.
-## Jak ověřit zdrojový kód chytrých kontraktů na Ethereu {#source-code-verification-for-ethereum-smart-contracts}
+## Jak ověřit zdrojový kód pro chytré kontrakty na Ethereu {#source-code-verification-for-ethereum-smart-contracts}
-[Nasazení chytrého kontraktu na Ethereu](/developers/docs/smart-contracts/deploying/) vyžaduje odeslání transakce s datovým payloadem (zkompilovaným bytekódem) na speciální adresu. Datový payload je generován kompilací zdrojového kódu a [argumentů konstruktoru](https://docs.soliditylang.org/en/v0.8.14/contracts.html#constructor) instance kontraktu připojené k datovému payloadu v transakci. Kompilace je deterministická, což znamená, že při použití stejných zdrojových souborů a nastavení kompilace (např. verze překladače, optimalizátor) je vždy vytvořen stejný výstup (tj. bytekód kontraktu).
+[Nasazení chytrého kontraktu na Ethereu](/developers/docs/smart-contracts/deploying/) vyžaduje odeslání transakce s datovým payloadem (zkompilovaným bytekódem) na speciální adresu. Datový payload je generován kompilací zdrojového kódu a [argumenty konstruktoru](https://docs.soliditylang.org/en/v0.8.14/contracts.html#constructor) instance kontraktu, připojené k datovému payloadu v transakci. Kompilace je deterministická, což znamená, že při použití stejných zdrojových souborů a nastavení kompilace (např. verze překladače, optimalizátor) je vždy vytvořen stejný výstup (tj. bytekód kontraktu).

@@ -62,7 +62,7 @@ Ověření chytrého kontraktu v podstatě zahrnuje následující kroky:
5. Pokud se navíc hashe metadat na konci bytekódu shodují, jedná se o úplnou shodu.
-Berte v úvahu, že se jedná o zjednodušený popis ověřování a existuje mnoho výjimek, které by v tomto případě nefungovaly, například [neměnné proměnné](https://docs.sourcify.dev/docs/immutables/).
+Berte na vědomí, že se jedná o zjednodušený popis ověření a existuje mnoho výjimek, na které by se tento postup nevztahoval, například existence [neměnných proměnných](https://docs.sourcify.dev/docs/immutables/).
## Nástroje pro ověřování zdrojového kódu {#source-code-verification-tools}
@@ -72,36 +72,42 @@ Tradiční proces ověřování kontraktů může být složitý. Proto máme n
Ačkoli je Etherscan známý především jako [prohlížeč blockchainu Etherea](/developers/docs/data-and-analytics/block-explorers/), nabízí také [službu ověřování zdrojového kódu](https://etherscan.io/verifyContract) pro vývojáře a uživatele chytrých kontraktů.
-Etherscan umožňuje překompilovat bytekód kontraktu z původního datového payloadu (zdrojový kód, adresa knihovny, nastavení kompilátoru, adresa kontraktu atd.). Pokud je překompilovaný bytekód spojen s bytekódem (a parametry konstruktoru) kontraktu na blockchainu, pak je [kontrakt ověřen](https://info.etherscan.com/types-of-contract-verification/).
+Etherscan umožňuje překompilovat bytekód kontraktu z původního datového payloadu (zdrojový kód, adresa knihovny, nastavení kompilátoru, adresa kontraktu atd.). Pokud je znovu zkompilovaný bytekód spojen s bytekódem (a parametry konstruktoru) kontraktu na blockchainu, pak je [kontrakt ověřen](https://info.etherscan.com/types-of-contract-verification/).
Po ověření obdrží zdrojový kód vašeho kontraktu označení „Ověřeno“ a je zveřejněn na Etherscanu, kde ho mohou kontrolovat ostatní. Přidá se také do sekce [Ověřené kontrakty](https://etherscan.io/contractsVerified/) – úložiště chytrých kontraktů s ověřenými zdrojovými kódy.
-Etherscan je nejpoužívanějším nástrojem pro ověřování kontraktů. Ověřování kontraktu na Etherscanu má však nevýhodu: nedokáže porovnat **hash metadat** bytekódu na blockchainu a překompilovaného bytekódu. Shody v programu Etherscan jsou proto pouze částečné.
+Etherscan je nejpoužívanějším nástrojem pro ověřování kontraktů. Ověřování kontraktů na Etherscanu má však nevýhodu: nedokáže porovnat **haš metadat** bytekódu na blockchainu a znovu zkompilovaného bytekódu. Shody v programu Etherscan jsou proto pouze částečné.
-[ Více o ověřování kontraktů na Etherscanu](https://medium.com/etherscan-blog/verifying-contracts-on-etherscan-f995ab772327).
+[Více o ověřování kontraktů na Etherscanu](https://medium.com/etherscan-blog/verifying-contracts-on-etherscan-f995ab772327).
+
+### Blockscout {#blockscout}
+
+[Blockscout](https://blockscout.com/) je open-source prohlížeč blockchainu, který také poskytuje [službu ověřování kontraktů](https://eth.blockscout.com/contract-verification) pro vývojáře a uživatele chytrých kontraktů. Jako open-source alternativa nabízí Blockscout transparentnost v tom, jak se ověřování provádí, a umožňuje komunitě přispívat ke zlepšení procesu ověřování.
+
+Podobně jako jiné ověřovací služby vám Blockscout umožňuje ověřit zdrojový kód vašeho kontraktu tak, že znovu zkompiluje bytekód a porovná jej s nasazeným kontraktem. Po ověření získá váš kontrakt stav ověření a zdrojový kód se stane veřejně dostupným pro audit a interakci. Ověřené kontrakty jsou také uvedeny v [úložišti ověřených kontraktů](https://eth.blockscout.com/verified-contracts) Blockscout pro snadné procházení a vyhledávání.
### Sourcify {#sourcify}
-[Sourcify](https://sourcify.dev/#/verifier) je další nástroj pro ověřování kontraktů, který je open-source a decentralizovaný. Není to průzkumník bloků a ověřuje pouze kontrakty v [různých sítích založených na EVM](https://docs.sourcify.dev/docs/chains). Funguje jako veřejná infrastruktura pro další nástroje, které na ní mohou stavět, a jejím cílem je umožnit lidsky přívětivější interakce s kontrakty pomocí komentářů [ABI](/developers/docs/smart-contracts/compiling/#web-applications) a [NatSpec](https://docs.soliditylang.org/en/v0.8.15/natspec-format.html), které se nacházejí v souboru metadat.
+[Sourcify](https://sourcify.dev/#/verifier) je další open-source a decentralizovaný nástroj pro ověřování kontraktů. Není to prohlížeč bloků a ověřuje pouze kontrakty v [různých sítích založených na EVM](https://docs.sourcify.dev/docs/chains). Funguje jako veřejná infrastruktura pro další nástroje, které na ní mohou stavět, a jejím cílem je umožnit lidsky přívětivější interakce s kontrakty pomocí komentářů [ABI](/developers/docs/smart-contracts/compiling/#web-applications) a [NatSpec](https://docs.soliditylang.org/en/v0.8.15/natspec-format.html), které se nacházejí v souboru metadat.
-Na rozdíl od Etherscanu podporuje Sourcify úplné shody s hashem metadat. Ověřené kontrakty jsou doručovány do jeho [veřejného úložiště](https://docs.sourcify.dev/docs/repository/) na HTTP a [IPFS](https://docs.ipfs.io/concepts/what-is-ipfs/#what-is-ipfs), což je decentralizované, [obsahem adresované](https://web3.storage/docs/concepts/content-addressing/) úložiště. To umožňuje načtení souboru metadat kontraktu přes IPFS, protože připojený hash metadat je hash IPFS.
+Na rozdíl od Etherscanu podporuje Sourcify úplné shody s hashem metadat. Ověřené kontrakty se poskytují v jeho [veřejném úložišti](https://docs.sourcify.dev/docs/repository/) přes HTTP a [IPFS](https://docs.ipfs.io/concepts/what-is-ipfs/#what-is-ipfs), což je decentralizované [úložiště s adresováním podle obsahu](https://docs.storacha.network/concepts/content-addressing/). To umožňuje načtení souboru metadat kontraktu přes IPFS, protože připojený hash metadat je hash IPFS.
-Kromě toho lze přes IPFS načíst také soubory se zdrojovým kódem, protože v metadatech IPFS se nacházejí také hashe těchto souborů. Kontrakt lze ověřit poskytnutím souboru metadat a zdrojových souborů prostřednictvím rozhraní API nebo [UI](https://sourcify.dev/#/verifier) nebo pomocí pluginů. Monitorovací nástroj Sourcify také aktivně sleduje vytváření kontraktů na nových blocích a snaží se ověřit kontrakty, pokud jsou jejich metadata a zdrojové soubory zveřejněny na systému IPFS.
+Kromě toho lze přes IPFS načíst také soubory se zdrojovým kódem, protože v metadatech IPFS se nacházejí také hashe těchto souborů. Kontrakt lze ověřit poskytnutím souboru metadat a zdrojových souborů prostřednictvím jeho API nebo [UI](https://sourcify.dev/#/verifier), nebo pomocí pluginů. Monitorovací nástroj Sourcify také aktivně sleduje vytváření kontraktů na nových blocích a snaží se ověřit kontrakty, pokud jsou jejich metadata a zdrojové soubory zveřejněny na systému IPFS.
-[ Více informací o ověřování kontraktů na Sourcify](https://blog.soliditylang.org/2020/06/25/sourcify-faq/).
+[Více o ověřování kontraktů na Sourcify](https://soliditylang.org/blog/2020/06/25/sourcify-faq/).
### Tenderly {#tenderly}
-[Platforma Tenderly](https://tenderly.co/) umožňuje vývojářům Web3 vytvářet, testovat, monitorovat a provozovat chytré kontrakty. Tenderly kombinuje ladicí nástroje s pozorovatelností a stavebními bloky infrastruktury a pomáhá vývojářům urychlit vývoj chytrých kontraktů. Aby mohli vývojáři plně využívat funkce Tenderly, musí [provádět ověřování zdrojového kódu](https://docs.tenderly.co/monitoring/contract-verification) pomocí několika metod.
+[Platforma Tenderly](https://tenderly.co/) umožňuje vývojářům Web3 vytvářet, testovat, monitorovat a provozovat chytré kontrakty. Tenderly kombinuje ladicí nástroje s pozorovatelností a stavebními bloky infrastruktury a pomáhá vývojářům urychlit vývoj chytrých kontraktů. Aby mohli vývojáři plně využívat funkce Tenderly, musí [provést ověření zdrojového kódu](https://docs.tenderly.co/monitoring/contract-verification) pomocí několika metod.
Kontrakt je možné ověřit soukromě nebo veřejně. Pokud je chytrý kontrakt ověřen soukromě, je viditelný pouze pro vás (a ostatní členy vašeho projektu). Veřejné ověření kontraktu ho zviditelní všem uživatelům platformy Tenderly.
-Vaše kontrakty můžete ověřit pomocí [Hlavního panelu](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-a-smart-contract), [pluginu Tenderly Hardhat](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-the-tenderly-hardhat-plugin) nebo [CLI](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-cli).
+Své kontrakty můžete ověřit pomocí [Dashboardu](https://docs.tenderly.co/contract-verification), [pluginu Tenderly Hardhat](https://docs.tenderly.co/contract-verification/hardhat) nebo [CLI](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-cli).
Při ověřování kontraktů prostřednictvím hlavního panelu je třeba importovat zdrojový soubor nebo soubor metadat vygenerovaný kompilátorem Solidity, adresu/síť a nastavení kompilátoru.
Použití pluginu Tenderly Hardhat umožňuje větší kontrolu nad procesem ověřování s menším úsilím a umožňuje volit mezi automatickým (bez kódu) a ručním (na základě kódu) ověřováním.
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
- [Ověřování zdrojového kódu kontraktu](https://programtheblockchain.com/posts/2018/01/16/verifying-contract-source-code/)
diff --git a/public/content/translations/cs/developers/docs/standards/index.md b/public/content/translations/cs/developers/docs/standards/index.md
new file mode 100644
index 00000000000..a0d4aaee624
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/standards/index.md
@@ -0,0 +1,59 @@
+---
+title: Vývojové standardy Etherea
+description: Seznamte se se standardy Etherea, včetně EIP, tokenových standardů jako ERC-20 a ERC-721 a vývojových konvencí.
+lang: cs
+incomplete: true
+---
+
+## Přehled standardů {#standards-overview}
+
+Komunita Etherea přijala mnoho standardů, které pomáhají udržovat projekty (jako jsou [klienti Etherea](/developers/docs/nodes-and-clients/) a peněženky) interoperabilní napříč implementacemi a zajišťují, že chytré kontrakty a dapps zůstávají skládatelné.
+
+Standardy jsou obvykle zaváděny jako [Návrhy na vylepšení Etherea (EIP)](/eips/), které jsou projednávány členy komunity prostřednictvím [standardního procesu](https://eips.ethereum.org/EIPS/eip-1).
+
+- [Úvod do EIP](/eips/)
+- [Seznam EIP](https://eips.ethereum.org/)
+- [GitHub repozitář EIP](https://github.com/ethereum/EIPs)
+- [Diskusní fórum o EIP](https://ethereum-magicians.org/c/eips)
+- [Úvod do správy Etherea](/governance/)
+- [Přehled správy Etherea](https://web.archive.org/web/20201107234050/https://blog.bmannconsulting.com/ethereum-governance/) _31. března 2019 - Boris Mann_
+- [Správa vývoje protokolu Ethereum a koordinace upgradu sítě](https://hudsonjameson.com/posts/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) _23. března 2020 - Hudson Jameson_
+- [Playlist všech schůzek vývojářů jádra Etherea](https://www.youtube.com/@EthereumProtocol) _(Playlist na YouTube)_
+
+## Typy standardů {#types-of-standards}
+
+Existují 3 typy EIP:
+
+- Standardizační stopa: popisuje jakoukoli změnu, která ovlivňuje většinu nebo všechny implementace Etherea
+- [Meta stopa](https://eips.ethereum.org/meta): popisuje proces týkající se Etherea nebo navrhuje změnu procesu
+- [Informační stopa](https://eips.ethereum.org/informational): popisuje problém v návrhu Etherea nebo poskytuje obecné pokyny či informace komunitě Etherea
+
+Dále se standardizační stopa dělí do 4 kategorií:
+
+- [Jádro](https://eips.ethereum.org/core): vylepšení vyžadující větev konsensu
+- [Síť](https://eips.ethereum.org/networking): vylepšení týkající se devp2p a Light Ethereum Subprotocol, jakož i navrhovaná vylepšení specifikací síťových protokolů Whisper a Swarm.
+- [Rozhraní](https://eips.ethereum.org/interface): vylepšení specifikací a standardů klientského API/RPC a určitých standardů na úrovni jazyka, jako jsou názvy metod a ABI kontraktů.
+- [ERC](https://eips.ethereum.org/erc): standardy a konvence na úrovni aplikace
+
+Podrobnější informace o těchto různých typech a kategoriích naleznete v [EIP-1](https://eips.ethereum.org/EIPS/eip-1#eip-types)
+
+### Tokenové standardy {#token-standards}
+
+- [ERC-20](/developers/docs/standards/tokens/erc-20/) – standardní rozhraní pro zaměnitelné (fungible) tokeny, jako jsou hlasovací tokeny, stakovací tokeny nebo virtuální měny.
+ - [ERC-223](/developers/docs/standards/tokens/erc-223/) - Standard zaměnitelných tokenů, díky kterému se tokeny chovají stejně jako ether a který podporuje zpracování přenosů tokenů na straně příjemce.
+ - [ERC-1363](/developers/docs/standards/tokens/erc-1363/) - Rozšiřující rozhraní pro tokeny ERC-20, které podporuje provádění zpětného volání (callback) na kontraktech příjemce v jediné transakci.
+- [ERC-721](/developers/docs/standards/tokens/erc-721/) – standardní rozhraní pro nezaměnitelné tokeny, jako je listina k uměleckému dílu nebo písni.
+ - [ERC-2309](https://eips.ethereum.org/EIPS/eip-2309) - Standardizovaná událost emitovaná při vytváření/převodu jednoho nebo více nezaměnitelných tokenů s použitím po sobě jdoucích identifikátorů tokenů.
+ - [ERC-4400](https://eips.ethereum.org/EIPS/eip-4400) - Rozšíření rozhraní pro roli spotřebitele EIP-721.
+ - [ERC-4907](https://eips.ethereum.org/EIPS/eip-4907) - Přidává časově omezenou roli s omezenými oprávněními k tokenům ERC-721.
+- [ERC-777](/developers/docs/standards/tokens/erc-777/) - **(NEDOPORUČUJE SE)** Tokenový standard, který vylepšuje ERC-20.
+- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) – tokenový standard, který může obsahovat jak zaměnitelná, tak nezaměnitelná aktiva.
+- [ERC-4626](/developers/docs/standards/tokens/erc-4626/) - Standard pro tokenizované trezory navržený pro optimalizaci a sjednocení technických parametrů trezorů nesoucích výnos.
+
+Zjistěte více o [tokenových standardech](/developers/docs/standards/tokens/).
+
+## Další čtení {#further-reading}
+
+- [Návrhy na vylepšení Etherea (EIP)](/eips/)
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-1155/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-1155/index.md
new file mode 100644
index 00000000000..ed2b2eae3f7
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-1155/index.md
@@ -0,0 +1,146 @@
+---
+title: Multitokenový standard ERC-1155
+description: Seznamte se s ERC-1155, standardem pro více tokenů, který v jednom smart kontraktu kombinuje zastupitelné a nezastupitelné tokeny.
+lang: cs
+---
+
+## Úvod {#introduction}
+
+Standardní rozhraní pro kontrakty, které spravují více typů tokenů. Jeden nasazený kontrakt může obsahovat libovolnou kombinaci zastupitelných tokenů, nezastupitelných tokenů nebo jiných konfigurací (např. polozastupitelných tokenů).
+
+**Co znamená multitokenový standard?**
+
+Myšlenka je jednoduchá a usiluje o vytvoření smart kontraktového rozhraní, které může reprezentovat a kontrolovat libovolný počet zaměnitelných a nezaměnitelných typů tokenů. Token ERC-1155 tak může plnit stejné funkce jako tokeny [ERC-20](/developers/docs/standards/tokens/erc-20/) a [ERC-721](/developers/docs/standards/tokens/erc-721/), a dokonce i obě najednou. Zlepšuje funkčnost standardů ERC-20 a ERC-721, činí je efektivnějšími a opravuje zjevné chyby v implementaci.
+
+Token ERC-1155 je plně popsán v [EIP-1155](https://eips.ethereum.org/EIPS/eip-1155).
+
+## Předpoklady {#prerequisites}
+
+Pro lepší pochopení této stránky doporučujeme nejprve si přečíst o [standardech tokenů](/developers/docs/standards/tokens/), [ERC-20](/developers/docs/standards/tokens/erc-20/) a [ERC-721](/developers/docs/standards/tokens/erc-721/).
+
+## Funkce a vlastnosti ERC-1155: {#body}
+
+- [Dávkový převod](#batch_transfers): Převod více aktiv v jednom volání.
+- [Dávkový zůstatek](#batch_balance): Získání zůstatků více aktiv v jednom volání.
+- [Dávkové schválení](#batch_approval): Schválení všech tokenů na adresu.
+- [Háky](#receive_hook): Hák pro příjem tokenů.
+- [Podpora NFT](#nft_support): Pokud je zásoba pouze 1, považuje se za NFT.
+- [Pravidla pro bezpečný převod](#safe_transfer_rule): Sada pravidel pro bezpečný převod.
+
+### Dávkové převody {#batch-transfers}
+
+Hromadný přenos funguje velmi podobně jako běžné přenosy ERC-20. Podívejme se na běžnou funkci `transferFrom` v ERC-20:
+
+```solidity
+// ERC-20
+function transferFrom(address from, address to, uint256 value) external returns (bool);
+
+// ERC-1155
+function safeBatchTransferFrom(
+ address _from,
+ address _to,
+ uint256[] calldata _ids,
+ uint256[] calldata _values,
+ bytes calldata _data
+) external;
+```
+
+Jediný rozdíl v ERC-1155 je ten, že předáváme hodnoty jako pole a také předáváme pole ID. Například pokud jsou `ids=[3, 6, 13]` a `values=[100, 200, 5]`, výsledné převody budou:
+
+1. Převod 100 tokenů s ID 3 z `_from` na `_to`.
+2. Převod 200 tokenů s ID 6 z `_from` na `_to`.
+3. Převod 5 tokenů s ID 13 z `_from` na `_to`.
+
+V ERC-1155 máme pouze `transferFrom`, žádný `transfer`. Chcete-li ji použít jako běžný `transfer`, stačí nastavit odesílající adresu na adresu, která funkci volá.
+
+### Dávkový zůstatek {#batch-balance}
+
+Odpovídající volání `balanceOf` v ERC-20 má také svou partnerskou funkci s podporou dávkového zpracování. Pro připomenutí, takto vypadá verze ERC-20:
+
+```solidity
+// ERC-20
+function balanceOf(address owner) external view returns (uint256);
+
+// ERC-1155
+function balanceOfBatch(
+ address[] calldata _owners,
+ uint256[] calldata _ids
+) external view returns (uint256[] memory);
+```
+
+Ještě jednodušší je volání za účelem získání informace o zůstatcích: V jednom volání můžeme získat několik zůstatků najednou. Předáváme pole vlastníků, následované polem ID tokenů.
+
+Například pokud jsou `_ids=[3, 6, 13]` a `_owners=[0xbeef..., 0x1337..., 0x1111...]`, návratová hodnota bude:
+
+```solidity
+[
+ balanceOf(0xbeef...),
+ balanceOf(0x1337...),
+ balanceOf(0x1111...)
+]
+```
+
+### Dávkové schválení {#batch-approval}
+
+```solidity
+// ERC-1155
+function setApprovalForAll(
+ address _operator,
+ bool _approved
+) external;
+
+function isApprovedForAll(
+ address _owner,
+ address _operator
+) external view returns (bool);
+```
+
+Schválení se mírně liší od ERC-20. Namísto schvalování konkrétních částek nastavíte operátora na schváleného nebo neschváleného pomocí `setApprovalForAll`.
+
+Aktuální stav lze zjistit pomocí `isApprovedForAll`. Jak můžete vidět, je to vše nebo nic. Nemůžete definovat, kolik tokenů schválit nebo dokonce kterou třídu tokenů.
+
+Tento design je záměrně jednoduchý. Můžete schválit pouze vše nebo nic pro jednu adresu.
+
+### Hák pro příjem {#receive-hook}
+
+```solidity
+function onERC1155BatchReceived(
+ address _operator,
+ address _from,
+ uint256[] calldata _ids,
+ uint256[] calldata _values,
+ bytes calldata _data
+) external returns(bytes4);
+```
+
+Díky podpoře [EIP-165](https://eips.ethereum.org/EIPS/eip-165) podporuje ERC-1155 háky pro příjem pouze pro chytré kontrakty. Funkce háčku musí vrátit magickou předdefinovanou hodnotu bytes4, která je dána jako:
+
+```solidity
+bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))
+```
+
+Když přijímající kontrakt vrátí tuto hodnotu, předpokládá se, že kontrakt přijímá přenos a ví, jak zacházet s tokeny ERC-1155. Skvělé, už žádné tokeny zaseknuté v kontraktu!
+
+### Podpora NFT {#nft-support}
+
+Když je zásoba pouze jedna, token je v podstatě nezaměnitelný token (NFT). A stejně jako u standardu ERC-721 můžete definovat URL metadat. Klienti mohou adresu URL číst a upravovat, viz [zde](https://eips.ethereum.org/EIPS/eip-1155#metadata).
+
+### Pravidlo bezpečného převodu {#safe-transfer-rule}
+
+Už jsme se dotkli několika pravidel pro bezpečný přenos v předchozích vysvětleních. Podívejme se však na ta nejdůležitější z nich:
+
+1. Volající musí mít schválení k útratě tokenů pro adresu `_from` nebo se volající musí rovnat `_from`.
+2. Volání přenosu musí být zrušeno, pokud
+ 1. Adresa `_to` je 0.
+ 2. délka `_ids` není stejná jako délka `_values`.
+ 3. zůstatek držitele některého z tokenů v `_ids` je nižší než odpovídající částka v `_values` odeslaná příjemci.
+ 4. Dojde k jakékoliv jiné chybě.
+
+_Poznámka_: Všechny dávkové funkce, včetně háku, existují také ve verzích bez dávkového zpracování. Je to takto nastaveno kvůli efektivitě využití paliva, protože přenos pouze jednoho aktiva bude pravděpodobně stále nejběžněji používaným způsobem. Pro zjednodušení jsme tyto funkce z článku vynechali, stejě jako pravidla bezpečného přenosu. Jejich jména jsou ale identická, stačí jen odstranit "Batch".
+
+## Další čtení {#further-reading}
+
+- [EIP-1155: Standard pro více tokenů](https://eips.ethereum.org/EIPS/eip-1155)
+- [ERC-1155: Dokumentace OpenZeppelin](https://docs.openzeppelin.com/contracts/5.x/erc1155)
+- [ERC-1155: GitHub repozitář](https://github.com/enjin/erc-1155)
+- [Alchemy NFT API](https://www.alchemy.com/docs/reference/nft-api-quickstart)
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-1363/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-1363/index.md
new file mode 100644
index 00000000000..a2b481422bf
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-1363/index.md
@@ -0,0 +1,213 @@
+---
+title: Standard zaplatitelného tokenu ERC-1363
+description: ERC-1363 je rozšiřující rozhraní pro tokeny ERC-20, které podporuje provádění vlastní logiky na kontraktu příjemce po převodech nebo na kontraktu plátce po schváleních, a to vše v rámci jediné transakce.
+lang: cs
+---
+
+## Úvod {#introduction}
+
+### Co je ERC-1363? {#what-is-erc1363}
+
+ERC-1363 je rozšiřující rozhraní pro tokeny ERC-20, které podporuje provádění vlastní logiky na kontraktu příjemce po převodech nebo na kontraktu plátce po schváleních, a to vše v rámci jediné transakce.
+
+### Rozdíly oproti ERC-20 {#erc20-differences}
+
+Standardní operace ERC-20 jako `transfer`, `transferFrom` a `approve` neumožňují spuštění kódu na kontraktu příjemce nebo plátce bez samostatné transakce.
+To vnáší složitost do vývoje uživatelského rozhraní a ztěžuje přijetí, protože uživatelé musí čekat na provedení první transakce a poté odeslat druhou.
+Musí také dvakrát zaplatit palivo.
+
+ERC-1363 umožňuje, aby zastupitelné tokeny mohly snadněji provádět akce a fungovat bez použití jakéhokoli off-chain listeneru.
+Umožňuje provést zpětné volání (callback) na kontraktu příjemce nebo plátce po převodu nebo schválení, a to v jediné transakci.
+
+## Předpoklady {#prerequisites}
+
+Pro lepší porozumění této stránce doporučujeme nejprve přečíst o:
+
+- [Standardy tokenů](/developers/docs/standards/tokens/)
+- [ERC-20](/developers/docs/standards/tokens/erc-20/)
+
+## Tělo {#body}
+
+ERC-1363 zavádí standardní API pro tokeny ERC-20 pro interakci s chytrými kontrakty po operacích `transfer`, `transferFrom` nebo `approve`.
+
+Tento standard poskytuje základní funkcionalitu pro převod tokenů a také umožňuje schválení tokenů, aby je mohla utratit jiná on-chain třetí strana, a poté provést zpětné volání (callback) na kontraktu příjemce nebo plátce.
+
+Existuje mnoho navrhovaných využití chytrých kontraktů, které mohou přijímat zpětná volání (callbacky) ERC-20.
+
+Mezi příklady patří:
+
+- **Hromadné prodeje (crowdsales)**: odeslané tokeny spouští okamžité přidělení odměny.
+- **Služby**: platba aktivuje přístup ke službě v jednom kroku.
+- **Faktury**: tokeny automaticky hradí faktury.
+- **Předplatná**: schválení roční sazby aktivuje předplatné v rámci platby za první měsíc.
+
+Z těchto důvodů byl původně pojmenován **„zaplatitelný token“**.
+
+Chování zpětného volání (callback) dále rozšiřuje jeho užitečnost a umožňuje bezproblémové interakce, jako jsou:
+
+- **Staking (uzamčení)**: převedené tokeny spouštějí automatické uzamčení ve stakingovém kontraktu.
+- **Hlasování**: přijaté tokeny registrují hlasy v systému správy.
+- **Směna (swapping)**: schválení tokenů aktivuje logiku směny v jediném kroku.
+
+Tokeny ERC-1363 lze použít pro specifické účely ve všech případech, které vyžadují spuštění zpětného volání (callback) po přijatém převodu nebo schválení.
+ERC-1363 je také užitečný pro zamezení ztráty nebo uzamčení tokenů v chytrých kontraktech ověřením schopnosti příjemce s tokeny nakládat.
+
+Na rozdíl od jiných návrhů na rozšíření ERC-20, ERC-1363 nepřepisuje metody `transfer` a `transferFrom` z ERC-20 a definuje ID rozhraní, která se mají implementovat, při zachování zpětné kompatibility s ERC-20.
+
+Z [EIP-1363](https://eips.ethereum.org/EIPS/eip-1363):
+
+### Metody {#methods}
+
+Chytré kontrakty implementující standard ERC-1363 **MUSÍ** implementovat všechny funkce v rozhraní `ERC1363` a také rozhraní `ERC20` a `ERC165`.
+
+```solidity
+pragma solidity ^0.8.0;
+
+/**
+ * @title ERC1363
+ * @dev Rozšiřující rozhraní pro tokeny ERC-20, které podporuje spouštění kódu na kontraktu příjemce
+ * po `transfer` nebo `transferFrom` nebo kódu na kontraktu plátce po `approve` v jediné transakci.
+ */
+interface ERC1363 is ERC20, ERC165 {
+ /*
+ * POZNÁMKA: Identifikátor ERC-165 pro toto rozhraní je 0xb0202a11.
+ * 0xb0202a11 ===
+ * bytes4(keccak256('transferAndCall(address,uint256)')) ^
+ * bytes4(keccak256('transferAndCall(address,uint256,bytes)')) ^
+ * bytes4(keccak256('transferFromAndCall(address,address,uint256)')) ^
+ * bytes4(keccak256('transferFromAndCall(address,address,uint256,bytes)')) ^
+ * bytes4(keccak256('approveAndCall(address,uint256)')) ^
+ * bytes4(keccak256('approveAndCall(address,uint256,bytes)'))
+ */
+
+ /**
+ * @dev Přesune množství tokenů `value` z účtu volajícího na adresu `to`
+ * a poté zavolá `ERC1363Receiver::onTransferReceived` na `to`.
+ * @param to Adresa, na kterou se tokeny převádějí.
+ * @param value Množství tokenů k převodu.
+ * @return Booleovská hodnota, která označuje, že operace byla úspěšná, pokud nevyvolá výjimku.
+ */
+ function transferAndCall(address to, uint256 value) external returns (bool);
+
+ /**
+ * @dev Přesune množství tokenů `value` z účtu volajícího na adresu `to`
+ * a poté zavolá `ERC1363Receiver::onTransferReceived` na `to`.
+ * @param to Adresa, na kterou se tokeny převádějí.
+ * @param value Množství tokenů k převodu.
+ * @param data Dodatečná data bez specifikovaného formátu, odeslaná při volání na `to`.
+ * @return Booleovská hodnota, která označuje, že operace byla úspěšná, pokud nevyvolá výjimku.
+ */
+ function transferAndCall(address to, uint256 value, bytes calldata data) external returns (bool);
+
+ /**
+ * @dev Přesune množství tokenů `value` z `from` na `to` pomocí mechanismu povolenky
+ * a poté zavolá `ERC1363Receiver::onTransferReceived` na `to`.
+ * @param from Adresa, ze které se tokeny odesílají.
+ * @param to Adresa, na kterou se tokeny převádějí.
+ * @param value Množství tokenů k převodu.
+ * @return Booleovská hodnota, která označuje, že operace byla úspěšná, pokud nevyvolá výjimku.
+ */
+ function transferFromAndCall(address from, address to, uint256 value) external returns (bool);
+
+ /**
+ * @dev Přesune množství tokenů `value` z `from` na `to` pomocí mechanismu povolenky
+ * a poté zavolá `ERC1363Receiver::onTransferReceived` na `to`.
+ * @param from Adresa, ze které se tokeny odesílají.
+ * @param to Adresa, na kterou se tokeny převádějí.
+ * @param value Množství tokenů k převodu.
+ * @param data Dodatečná data bez specifikovaného formátu, odeslaná při volání na `to`.
+ * @return Booleovská hodnota, která označuje, že operace byla úspěšná, pokud nevyvolá výjimku.
+ */
+ function transferFromAndCall(address from, address to, uint256 value, bytes calldata data) external returns (bool);
+
+ /**
+ * @dev Nastaví množství tokenů `value` jako povolenku pro `spender` nad tokeny volajícího
+ * a poté zavolá `ERC1363Spender::onApprovalReceived` na `spender`.
+ * @param spender Adresa, která utratí prostředky.
+ * @param value Množství tokenů, které se mají utratit.
+ * @return Booleovská hodnota, která označuje, že operace byla úspěšná, pokud nevyvolá výjimku.
+ */
+ function approveAndCall(address spender, uint256 value) external returns (bool);
+
+ /**
+ * @dev Nastaví množství tokenů `value` jako povolenku pro `spender` nad tokeny volajícího
+ * a poté zavolá `ERC1363Spender::onApprovalReceived` na `spender`.
+ * @param spender Adresa, která utratí prostředky.
+ * @param value Množství tokenů, které se mají utratit.
+ * @param data Dodatečná data bez specifikovaného formátu, odeslaná při volání na `spender`.
+ * @return Booleovská hodnota, která označuje, že operace byla úspěšná, pokud nevyvolá výjimku.
+ */
+ function approveAndCall(address spender, uint256 value, bytes calldata data) external returns (bool);
+}
+
+interface ERC20 {
+ event Transfer(address indexed from, address indexed to, uint256 value);
+ event Approval(address indexed owner, address indexed spender, uint256 value);
+ function transfer(address to, uint256 value) external returns (bool);
+ function transferFrom(address from, address to, uint256 value) external returns (bool);
+ function approve(address spender, uint256 value) external returns (bool);
+ function totalSupply() external view returns (uint256);
+ function balanceOf(address account) external view returns (uint256);
+ function allowance(address owner, address spender) external view returns (uint256);
+}
+
+interface ERC165 {
+ function supportsInterface(bytes4 interfaceId) external view returns (bool);
+}
+```
+
+Chytrý kontrakt, který chce přijímat tokeny ERC-1363 přes `transferAndCall` nebo `transferFromAndCall`, **MUSÍ** implementovat rozhraní `ERC1363Receiver`:
+
+```solidity
+/**
+ * @title ERC1363Receiver
+ * @dev Rozhraní pro jakýkoli kontrakt, který chce podporovat `transferAndCall` nebo `transferFromAndCall` z kontraktů tokenů ERC-1363.
+ */
+interface ERC1363Receiver {
+ /**
+ * @dev Kdykoli jsou tokeny ERC-1363 převedeny na tento kontrakt přes `ERC1363::transferAndCall` nebo `ERC1363::transferFromAndCall`
+ * `operátorem` z `from`, je zavolána tato funkce.
+ *
+ * POZNÁMKA: Pro přijetí převodu musí tato funkce vrátit
+ * `bytes4(keccak256("onTransferReceived(address,address,uint256,bytes)"))`
+ * (tj. 0x88a7ca5c, nebo svůj vlastní selektor funkce).
+ *
+ * @param operator Adresa, která zavolala funkci `transferAndCall` nebo `transferFromAndCall`.
+ * @param from Adresa, ze které jsou tokeny převedeny.
+ * @param value Množství převedených tokenů.
+ * @param data Dodatečná data bez specifikovaného formátu.
+ * @return `bytes4(keccak256("onTransferReceived(address,address,uint256,bytes)"))`, pokud je převod povolen, jinak vyvolá výjimku.
+ */
+ function onTransferReceived(address operator, address from, uint256 value, bytes calldata data) external returns (bytes4);
+}
+```
+
+Chytrý kontrakt, který chce přijímat tokeny ERC-1363 přes `approveAndCall`, **MUSÍ** implementovat rozhraní `ERC1363Spender`:
+
+```solidity
+/**
+ * @title ERC1363Spender
+ * @dev Rozhraní pro jakýkoli kontrakt, který chce podporovat `approveAndCall` z kontraktů tokenů ERC-1363.
+ */
+interface ERC1363Spender {
+ /**
+ * @dev Kdykoli `vlastník` tokenů ERC-1363 schválí tento kontrakt přes `ERC1363::approveAndCall`
+ * k utracení svých tokenů, je zavolána tato funkce.
+ *
+ * POZNÁMKA: Pro přijetí schválení musí tato funkce vrátit
+ * `bytes4(keccak256("onApprovalReceived(address,uint256,bytes)"))`
+ * (tj. 0x7b04a2d0, nebo svůj vlastní selektor funkce).
+ *
+ * @param owner Adresa, která zavolala funkci `approveAndCall` a předtím vlastnila tokeny.
+ * @param value Množství tokenů, které se mají utratit.
+ * @param data Dodatečná data bez specifikovaného formátu.
+ * @return `bytes4(keccak256("onApprovalReceived(address,uint256,bytes)"))`, pokud je schválení povoleno, jinak vyvolá výjimku.
+ */
+ function onApprovalReceived(address owner, uint256 value, bytes calldata data) external returns (bytes4);
+}
+```
+
+## Další čtení {#further-reading}
+
+- [ERC-1363: Standard zaplatitelného tokenu](https://eips.ethereum.org/EIPS/eip-1363)
+- [ERC-1363: Repozitář na GitHubu](https://github.com/vittominacori/erc1363-payable-token)
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-20/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-20/index.md
new file mode 100644
index 00000000000..a326b797f5a
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-20/index.md
@@ -0,0 +1,186 @@
+---
+title: Standart tokenu ERC-20
+description: Seznamte se s ERC-20, standardem pro zaměnitelné tokeny na síti Ethereum, který umožňuje interoperabilní tokenové aplikace.
+lang: cs
+---
+
+## Úvod {#introduction}
+
+**Co je to token?**
+
+Tokeny mohou v ekosystému Etherea reprezentovat prakticky cokoliv:
+
+- reputační body na online platformě
+- dovednosti postavy ve hře
+- finanční aktiva, jako je podíl ve společnosti
+- fiat měnu, jako je USD
+- unci zlata
+- a více...
+
+Takováto mocná funkce Etherea musí být samozřejmě ošetřena robustním standardem, že? A právě zde hraje svou roli ERC-20! Tento standard umožňuje vývojářům vytvářet tokenové aplikace, které jsou interoperabilní s jinými produkty a službami. Standard ERC-20 se také používá k poskytnutí dodatečné funkcionality pro [ether](/glossary/#ether).
+
+**Co je ERC-20?**
+
+ERC-20 zavádí standard pro zaměnitelné tokeny, které, jinými slovy, mají vlastnost, díky níž je každý token naprosto stejný (typem i hodnotou) jako jiný token. ERC-20 token funguje stejně jako ETH, což znamená, že 1 token je a vždy bude roven všem ostatním tokenům.
+
+## Předpoklady {#prerequisites}
+
+- [Účty](/developers/docs/accounts)
+- [Chytré kontrakty](/developers/docs/smart-contracts/)
+- [Standardy tokenů](/developers/docs/standards/tokens/)
+
+## Tělo {#body}
+
+ERC-20 (Ethereum Request for Comments 20), navržený Fabianem Vogelstellerem v listopadu 2015, je tokenový standard, který implementuje API pro tokeny v rámci smart kontraktů.
+
+Příklady funkcionalit, které ERC-20 poskytuje:
+
+- převod tokenů z jednoho účtu na druhý
+- získání informace o aktuálním zůstatku tokenů na účtu
+- získání celkové nabídky tokenů dostupných v síti
+- schválení, zda může být určitá částka tokenů z účtu použita třetí stranou
+
+Pokud smart kontrakt implementuje následující metody a události, může být nazván ERC-20 kontraktem a po spuštění bude zodpovědný za sledování tokenů vytvořených na Ethereu.
+
+Z [EIP-20](https://eips.ethereum.org/EIPS/eip-20):
+
+### Metody {#methods}
+
+```solidity
+function name() public view returns (string)
+function symbol() public view returns (string)
+function decimals() public view returns (uint8)
+function totalSupply() public view returns (uint256)
+function balanceOf(address _owner) public view returns (uint256 balance)
+function transfer(address _to, uint256 _value) public returns (bool success)
+function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
+function approve(address _spender, uint256 _value) public returns (bool success)
+function allowance(address _owner, address _spender) public view returns (uint256 remaining)
+```
+
+### Události {#events}
+
+```solidity
+event Transfer(address indexed _from, address indexed _to, uint256 _value)
+event Approval(address indexed _owner, address indexed _spender, uint256 _value)
+```
+
+### Příklady {#web3py-example}
+
+Podívejme se, proč je tento standard tak důležitý pro zjednodušení prohlížení jakéhokoliv kontraktu ERC-20 tokenu na Ethereu.
+Abychom mohli vytvořit rozhraní pro jakýkoliv ERC-20 token, stačí nám Contract Application Binary Interface (ABI). Jak můžete vidět níže, použijeme zjednodušené ABI, abychom vám to ukázali na jednoduchém příkladu.
+
+#### Příklad Web3.py {#web3py-example}
+
+Nejprve se ujistěte, že máte nainstalovanou knihovnu Python [Web3.py](https://web3py.readthedocs.io/en/stable/quickstart.html#installation):
+
+```
+pip install web3
+```
+
+```python
+from web3 import Web3
+
+
+w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com"))
+
+dai_token_addr = "0x6B175474E89094C44Da98b954EedeAC495271d0F" # DAI
+weth_token_addr = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" # Zabalený ether (WETH)
+
+acc_address = "0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11" # Uniswap V2: DAI 2
+
+# Toto je zjednodušené binární rozhraní aplikace (ABI) kontraktu tokenu ERC-20.
+# Zpřístupní pouze metody: balanceOf(address), decimals(), symbol() a totalSupply()
+simplified_abi = [
+ {
+ 'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}],
+ 'name': 'balanceOf',
+ 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'decimals',
+ 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'symbol',
+ 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'totalSupply',
+ 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ }
+]
+
+dai_contract = w3.eth.contract(address=w3.to_checksum_address(dai_token_addr), abi=simplified_abi)
+symbol = dai_contract.functions.symbol().call()
+decimals = dai_contract.functions.decimals().call()
+totalSupply = dai_contract.functions.totalSupply().call() / 10**decimals
+addr_balance = dai_contract.functions.balanceOf(acc_address).call() / 10**decimals
+
+# DAI
+print("===== %s =====" % symbol)
+print("Celková zásoba:", totalSupply)
+print("Zůstatek na adrese:", addr_balance)
+
+weth_contract = w3.eth.contract(address=w3.to_checksum_address(weth_token_addr), abi=simplified_abi)
+symbol = weth_contract.functions.symbol().call()
+decimals = weth_contract.functions.decimals().call()
+totalSupply = weth_contract.functions.totalSupply().call() / 10**decimals
+addr_balance = weth_contract.functions.balanceOf(acc_address).call() / 10**decimals
+
+# WETH
+print("===== %s =====" % symbol)
+print("Celková zásoba:", totalSupply)
+print("Zůstatek na adrese:", addr_balance)
+```
+
+## Známé problémy {#erc20-issues}
+
+### Problém s příjmem tokenů ERC-20 {#reception-issue}
+
+**K 20. červnu 2024 byly kvůli tomuto problému ztraceny tokeny ERC-20 v hodnotě nejméně 83 656 418 $.** **Všimněte si, že čistá implementace ERC-20 je náchylná k tomuto problému, pokud nad rámec níže uvedeného standardu neimplementujete sadu dodatečných omezení.**
+
+Když jsou ERC-20 tokeny poslány do smart kontraktu, který není k práci s nimi konstruován, mohou být tyto tokeny ztraceny navždy. K tomu dochází, když přijímající kontrakt nemá funkci, která by rozpoznala příchozí tokeny, nebo na ně dokázala reagovat, a ve standardu ERC-20 neexistuje mechanismus, který by přijímající kontrakt upozornil na příchozí tokeny. Hlavní způsoby, jak může tento problém vzniknout, jsou:
+
+1. Mechanismus přenosu tokenů
+
+- ERC-20 tokeny jsou přenášeny pomocí funkcí transfer nebo transferFrom
+ - Když uživatel odešle tokeny na adresu kontraktu pomocí těchto funkcí, tokeny jsou přeneseny bez ohledu na to, zda je přijímající kontrakt navržen k jejich zpracování
+
+2. Nedostatek upozornění
+ - Přijímající kontrakt nedostává žádné upozornění nebo zpětné volání, že mu byly odeslány nějaké tokeny
+ - Pokud přijímající kontrakt postrádá mechanismus pro zpracování příchozích tokenů (například fallback funkci nebo speciální funkci pro správu přijetí tokenů), tokeny jsou fakticky na adrese tohoto kontraktu zaseknuté
+3. Bez vestavěné manipulace
+ - Standard ERC-20 nemá povinnou funkci, kterou by přijímající kontrakty musely implementovat, což vede k situacím, kdy kontrakty nejsou schopny příchozí tokeny správně spravovat
+
+**Možná řešení**
+
+I když není možné tomuto problému s ERC-20 zcela zabránit, existují metody, které umožňují výrazně snížit možnost ztráty tokenů pro koncového uživatele:
+
+- Nejčastějším problémem je, když uživatel pošle tokeny na adresu samotného kontraktu tokenu (např. USDT vložené na adresu kontraktu tokenu USDT). Doporučuje se omezit funkci `transfer(..)` tak, aby takové pokusy o převod vrátila zpět. Zvažte přidání kontroly `require(_to != address(this));` v rámci implementace funkce `transfer(..)`.
+- Funkce `transfer(..)` obecně není určena k vkládání tokenů do kontraktů. `approve(..) Vzor `& transferFrom(..)`se namísto toho používá k vkládání tokenů ERC-20 do kontraktů. Je možné omezit funkci převodu tak, aby se s ní zakázalo vkládání tokenů do jakýchkoli kontraktů, může to však narušit kompatibilitu s kontrakty, které předpokládají, že tokeny lze vkládat do kontraktů pomocí funkce`trasnfer(..)\` (např. u poolů likvidity Uniswap).
+- Vždy předpokládejte, že tokeny ERC-20 mohou skončit ve vašem kontraktu, i když váš kontrakt nemá nikdy žádné přijímat. Na straně příjemce neexistuje žádný způsob, jak zabránit náhodným vkladům nebo je odmítnout. Doporučuje se implementovat funkci, která by umožnila extrahovat náhodně vložené tokeny ERC-20.
+- Zvažte použití alternativních standardů tokenů.
+
+Z tohoto problému vzešly některé alternativní standardy, jako například [ERC-223](/developers/docs/standards/tokens/erc-223) nebo [ERC-1363](/developers/docs/standards/tokens/erc-1363).
+
+## Další čtení {#further-reading}
+
+- [EIP-20: Standard tokenu ERC-20](https://eips.ethereum.org/EIPS/eip-20)
+- [OpenZeppelin – Tokeny](https://docs.openzeppelin.com/contracts/3.x/tokens#ERC20)
+- [OpenZeppelin – Implementace ERC-20](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol)
+- [Alchemy – Průvodce tokeny ERC20 v Solidity](https://www.alchemy.com/overviews/erc20-solidity)
+
+## Další standardy zaměnitelných tokenů {#fungible-token-standards}
+
+- [ERC-223](/developers/docs/standards/tokens/erc-223)
+- [ERC-1363](/developers/docs/standards/tokens/erc-1363)
+- [ERC-777](/developers/docs/standards/tokens/erc-777)
+- [ERC-4626 – Tokenizované trezory](/developers/docs/standards/tokens/erc-4626)
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-223/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-223/index.md
new file mode 100644
index 00000000000..03b93cd3fdc
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-223/index.md
@@ -0,0 +1,198 @@
+---
+title: Standart tokenu ERC-223
+description: Přehled standardu zastupitelných tokenů ERC-223, jak funguje a srovnání s ERC-20.
+lang: cs
+---
+
+## Úvod {#introduction}
+
+### Co je ERC-223? {#what-is-erc223}
+
+ERC-223 je standard pro zastupitelné tokeny, podobný standardu ERC-20. Klíčový rozdíl spočívá v tom, že ERC-223 definuje nejen API tokenu, ale také logiku pro převod tokenů od odesílatele k příjemci. Zavádí komunikační model, který umožňuje zpracování převodů tokenů na straně příjemce.
+
+### Rozdíly oproti ERC-20 {#erc20-differences}
+
+ERC-223 řeší některá omezení ERC-20 a zavádí novou metodu interakce mezi kontraktem tokenu a kontraktem, který může tokeny přijímat. Existuje několik věcí, které jsou s ERC-223 možné, ale s ERC-20 ne:
+
+- Zpracování převodu tokenů na straně příjemce: Příjemci mohou zjistit, že je ukládán token ERC-223.
+- Odmítnutí nesprávně odeslaných tokenů: Pokud uživatel odešle tokeny ERC-223 do kontraktu, který nemá tokeny přijímat, může kontrakt transakci odmítnout a zabránit tak ztrátě tokenů.
+- Metadata v převodech: Tokeny ERC-223 mohou obsahovat metadata, což umožňuje k transakcím s tokeny připojit libovolné informace.
+
+## Předpoklady {#prerequisites}
+
+- [Účty](/developers/docs/accounts)
+- [Chytré kontrakty](/developers/docs/smart-contracts/)
+- [Standardy tokenů](/developers/docs/standards/tokens/)
+- [ERC-20](/developers/docs/standards/tokens/erc-20/)
+
+## Tělo {#body}
+
+ERC-223 je tokenový standard, který implementuje API pro tokeny v rámci chytrých kontraktů. Deklaruje také API pro kontrakty, které mají přijímat tokeny ERC-223. Kontrakty, které nepodporují rozhraní API ERC-223 Receiver, nemohou přijímat tokeny ERC-223, což zabraňuje chybám uživatelů.
+
+Pokud chytrý kontrakt implementuje následující metody a události, lze jej označit za kontrakt tokenu kompatibilní s ERC-223. Po nasazení
+bude zodpovědný za sledování vytvořených tokenů na Ethereu.
+
+Kontrakt nemusí obsahovat pouze tyto funkce a vývojář může do tohoto kontraktu přidat jakoukoli jinou funkci z různých tokenových standardů. Například funkce `approve` a `transferFrom` nejsou součástí standardu ERC-223, ale v případě potřeby je lze implementovat.
+
+Z [EIP-223](https://eips.ethereum.org/EIPS/eip-223):
+
+### Metody {#methods}
+
+Token ERC-223 musí implementovat následující metody:
+
+```solidity
+function name() public view returns (string)
+function symbol() public view returns (string)
+function decimals() public view returns (uint8)
+function totalSupply() public view returns (uint256)
+function balanceOf(address _owner) public view returns (uint256 balance)
+function transfer(address _to, uint256 _value) public returns (bool success)
+function transfer(address _to, uint256 _value, bytes calldata _data) public returns (bool success)
+```
+
+Kontrakt, který má přijímat tokeny ERC-223, musí implementovat následující metodu:
+
+```solidity
+function tokenReceived(address _from, uint _value, bytes calldata _data)
+```
+
+Pokud jsou tokeny ERC-223 odeslány do kontraktu, který neimplementuje funkci `tokenReceived(..)`, převod musí selhat a tokeny nesmí být přesunuty ze zůstatku odesílatele.
+
+### Události {#events}
+
+```solidity
+event Transfer(address indexed _from, address indexed _to, uint256 _value, bytes calldata _data)
+```
+
+### Příklady {#examples}
+
+API tokenu ERC-223 je podobné API ERC-20, takže z hlediska vývoje uživatelského rozhraní zde není žádný rozdíl. Jedinou výjimkou je, že tokeny ERC-223 nemusí mít funkce `approve` + `transferFrom`, protože ty jsou pro tento standard volitelné.
+
+#### Příklady v Solidity {#solidity-example}
+
+Následující příklad ukazuje, jak funguje základní kontrakt tokenu ERC-223:
+
+```solidity
+pragma solidity ^0.8.19;
+abstract contract IERC223Recipient {
+ function tokenReceived(address _from, uint _value, bytes memory _data) public virtual;
+}
+contract VeryBasicERC223Token {
+ event Transfer(address indexed from, address indexed to, uint value, bytes data);
+ string private _name;
+ string private _symbol;
+ uint8 private _decimals;
+ uint256 private _totalSupply;
+ mapping(address => uint256) private balances;
+ function name() public view returns (string memory) { return _name; }
+ function symbol() public view returns (string memory) {return _symbol; }
+ function decimals() public view returns (uint8) { return _decimals; }
+ function totalSupply() public view returns (uint256) { return _totalSupply; }
+ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; }
+ function isContract(address account) internal view returns (bool) {
+ uint256 size;
+ assembly { size := extcodesize(account) }
+ return size > 0;
+ }
+ function transfer(address _to, uint _value, bytes calldata _data) public returns (bool success){
+ balances[msg.sender] = balances[msg.sender] - _value;
+ balances[_to] = balances[_to] + _value;
+ if(isContract(_to)) {
+ IERC223Recipient(_to).tokenReceived(msg.sender, _value, _data);
+ }
+ emit Transfer(msg.sender, _to, _value, _data);
+ return true;
+ }
+ function transfer(address _to, uint _value) public returns (bool success){
+ bytes memory _empty = hex"00000000";
+ balances[msg.sender] = balances[msg.sender] - _value;
+ balances[_to] = balances[_to] + _value;
+ if(isContract(_to)) {
+ IERC223Recipient(_to).tokenReceived(msg.sender, _value, _empty);
+ }
+ emit Transfer(msg.sender, _to, _value, _empty);
+ return true;
+ }
+}
+```
+
+Nyní chceme, aby jiný kontrakt přijímal vklady tokenu `tokenA` za předpokladu, že tokenA je tokenem ERC-223. Kontrakt musí přijímat pouze tokenA a odmítat všechny ostatní tokeny. Když kontrakt obdrží tokenA, musí emitovat událost `Deposit()` a zvýšit hodnotu interní proměnné `deposits`.
+
+Zde je kód:
+
+```solidity
+contract RecipientContract is IERC223Recipient {
+ event Deposit(address whoSentTheTokens);
+ uint256 deposits = 0;
+ address tokenA; // Jediný token, který chceme přijmout.
+ function tokenReceived(address _from, uint _value, bytes memory _data) public override
+ {
+ // Je důležité si uvědomit, že v rámci této funkce
+ // msg.sender je adresa tokenu, který je přijímán,
+ // msg.value je vždy 0, protože kontrakt tokenu ve většině případů nevlastní ani neposílá ether,
+ // _from je odesílatel převodu tokenu,
+ // _value je množství vložených tokenů.
+ require(msg.sender == tokenA);
+ deposits += _value;
+ emit Deposit(_from);
+ }
+}
+```
+
+## Často kladené dotazy {#faq}
+
+### Co se stane, když do kontraktu pošleme nějaký tokenB? {#sending-tokens}
+
+Transakce selže a převod tokenů se neuskuteční. Tokeny budou vráceny na adresu odesílatele.
+
+### Jak můžeme na tento kontrakt provést vklad? {#contract-deposits}
+
+Zavolejte funkci `transfer(address,uint256)` nebo `transfer(address,uint256,bytes)` tokenu ERC-223 a zadejte adresu kontraktu `RecipientContract`.
+
+### Co se stane, když na tento kontrakt převedeme token ERC-20? {#erc-20-transfers}
+
+Pokud je na `RecipientContract` odeslán token ERC-20, tokeny budou převedeny, ale převod nebude rozpoznán (nebude spuštěna žádná událost `Deposit()` a hodnota vkladů se nezmění). Nežádoucí vklady ERC-20 nelze filtrovat ani jim zabránit.
+
+### Co když chceme po dokončení vkladu tokenu spustit nějakou funkci? {#function-execution}
+
+Existuje několik způsobů, jak toho dosáhnout. V tomto příkladu se budeme řídit metodou, díky níž jsou převody ERC-223 totožné s převody etheru:
+
+```solidity
+contract RecipientContract is IERC223Recipient {
+ event Foo();
+ event Bar(uint256 someNumber);
+ address tokenA; // Jediný token, který chceme přijmout.
+ function tokenReceived(address _from, uint _value, bytes memory _data) public override
+ {
+ require(msg.sender == tokenA);
+ address(this).call(_data); // Zpracujte příchozí transakci a proveďte následné volání funkce.
+ }
+ function foo() public
+ {
+ emit Foo();
+ }
+ function bar(uint256 _someNumber) public
+ {
+ emit Bar(_someNumber);
+ }
+}
+```
+
+Když `RecipientContract` obdrží token ERC-223, spustí funkci zakódovanou jako parametr `_data` transakce tokenu, a to stejným způsobem, jakým transakce s etherem kódují volání funkcí jako transakční `data`. Pro více informací si přečtěte o [datovém poli](/developers/docs/transactions/#the-data-field).
+
+Ve výše uvedeném příkladu musí být token ERC-223 převeden na adresu kontraktu `RecipientContract` pomocí funkce `transfer(address,uin256,bytes calldata _data)`. Pokud bude datový parametr `0xc2985578` (podpis funkce `foo()`), pak bude po přijetí vkladu tokenu vyvolána funkce foo() a bude spuštěna událost Foo().
+
+Parametry lze také zakódovat do `dat` převodu tokenu, například můžeme zavolat funkci bar() s hodnotou 12345 pro `_someNumber`. V tomto případě musí být `data` `0x0423a13200000000000000000000000000000000000000000000000000000000000004d2`, kde `0x0423a132` je podpis funkce `bar(uint256)` a `00000000000000000000000000000000000000000000000000000000000004d2` je 12345 jako uint256.
+
+## Omezení {#limitations}
+
+Ačkoli ERC-223 řeší několik problémů, které se vyskytují ve standardu ERC-20, není bez vlastních omezení:
+
+- Přijetí a kompatibilita: ERC-223 ještě není široce přijat, což může omezit jeho kompatibilitu se stávajícími nástroji a platformami.
+- Zpětná kompatibilita: ERC-223 není zpětně kompatibilní s ERC-20, což znamená, že stávající kontrakty a nástroje ERC-20 nebudou s tokeny ERC-223 fungovat bez úprav.
+- Náklady na palivo: Dodatečné kontroly a funkce v převodech ERC-223 mohou mít za následek vyšší náklady na palivo ve srovnání s transakcemi ERC-20.
+
+## Další čtení {#further-reading}
+
+- [EIP-223: Tokenový standard ERC-223](https://eips.ethereum.org/EIPS/eip-223)
+- [Původní návrh ERC-223](https://github.com/ethereum/eips/issues/223)
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-4626/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-4626/index.md
new file mode 100644
index 00000000000..363e6557173
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-4626/index.md
@@ -0,0 +1,227 @@
+---
+title: Standard tokenizovaného trezoru ERC-4626
+description: Standard pro výnosové trezory.
+lang: cs
+---
+
+## Úvod {#introduction}
+
+ERC-4626 je standard, který optimalizuje a sjednocuje technické parametry výnosových trezorů. Poskytuje standardní API pro tokenizované výnosové trezory, které představují podíly na jednom základním tokenu ERC-20. ERC-4626 také definuje volitelné rozšíření pro tokenizované trezory využívající ERC-20, které nabízí základní funkce pro vkládání, vybírání tokenů a čtení zůstatků.
+
+**Role ERC-4626 ve výnosových trezorech**
+
+Trhy s půjčkami, agregátory a tokeny s vnitřním úročením pomáhají uživatelům dosáhnout největšího výnosu z jejich kryptotokenů. Tyto strategie se provádějí s mírnými variacemi, což může být náchylné k chybám nebo plýtvání vývojovými zdroji.
+
+ERC-4626 ve výnosových trezorech sníží náročnost integrace a otevře přístup k výnosům v různých aplikacích s minimálním specializovaným úsilím od vývojářů tím, že vytvoří konzistentnější a robustnější implementační vzory.
+
+Token ERC-4626 je plně popsán v [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626).
+
+**Asynchronní rozšíření trezoru (ERC-7540)**
+
+ERC-4626 je optimalizován pro atomické vklady a odkupy až do určitého limitu. Pokud je limitu dosaženo, nelze odeslat žádné nové vklady ani odkupy. Toto omezení nefunguje dobře pro žádný systém chytrých kontraktů s asynchronními akcemi nebo zpožděními jako předpokladem pro propojení s trezorem (např. protokoly reálných aktiv, protokoly pro půjčky s nedostatečným zajištěním, protokoly pro cross-chain půjčky, tokeny likvidního stakingu nebo bezpečnostní moduly pojištění).
+
+ERC-7540 rozšiřuje použitelnost trezorů ERC-4626 pro asynchronní případy použití. Stávající rozhraní trezoru (`deposit`/`withdraw`/`mint`/`redeem`) je plně využito k nárokování asynchronních požadavků.
+
+Rozšíření ERC-7540 je plně popsáno v [ERC-7540](https://eips.ethereum.org/EIPS/eip-7540).
+
+**Rozšíření trezoru s více aktivy (ERC-7575)**
+
+Jedním z chybějících případů použití, který ERC-4626 nepodporuje, jsou trezory, které mají více aktiv nebo vstupních bodů, jako jsou tokeny poskytovatele likvidity (LP). Ty jsou obecně těžkopádné nebo nevyhovující kvůli požadavku, aby samotný standard ERC-4626 byl ERC-20.
+
+ERC-7575 přidává podporu pro trezory s více aktivy externalizací implementace tokenu ERC-20 z implementace ERC-4626.
+
+Rozšíření ERC-7575 je plně popsáno v [ERC-7575](https://eips.ethereum.org/EIPS/eip-7575).
+
+## Předpoklady {#prerequisites}
+
+Pro lepší pochopení této stránky doporučujeme nejprve přečíst si o [standardech tokenů](/developers/docs/standards/tokens/) a [ERC-20](/developers/docs/standards/tokens/erc-20/).
+
+## Funkce a vlastnosti ERC-4626: {#body}
+
+### Metody {#methods}
+
+#### aktivum {#asset}
+
+```solidity
+function asset() public view returns (address assetTokenAddress)
+```
+
+Tato funkce vrací adresu základního tokenu, který je používán pro účetnictví, vklady a výběry v trezoru.
+
+#### totalAssets {#totalassets}
+
+```solidity
+function totalAssets() public view returns (uint256)
+```
+
+Tato funkce vrací celkové množství základních aktiv držených v trezoru.
+
+#### convertToShares {#convertoshares}
+
+```solidity
+function convertToShares(uint256 assets) public view returns (uint256 shares)
+```
+
+Tato funkce vrací množství `shares`, které by trezor vyměnil za poskytnuté množství `assets`.
+
+#### convertToAssets {#convertoassets}
+
+```solidity
+function convertToAssets(uint256 shares) public view returns (uint256 assets)
+```
+
+Tato funkce vrací množství `assets`, které by trezor vyměnil za poskytnuté množství `shares`.
+
+#### maxDeposit {#maxdeposit}
+
+```solidity
+function maxDeposit(address receiver) public view returns (uint256 maxAssets)
+```
+
+Tato funkce vrací maximální množství podkladových aktiv, které lze vložit v jediném volání [`deposit`](#deposit), přičemž jsou podíly vyraženy pro `receiver`.
+
+#### previewDeposit {#previewdeposit}
+
+```solidity
+function previewDeposit(uint256 assets) public view returns (uint256 shares)
+```
+
+Tato funkce umožňuje uživatelům simulovat účinky jejich vkladu v aktuálním bloku.
+
+#### deposit {#deposit}
+
+```solidity
+function deposit(uint256 assets, address receiver) public returns (uint256 shares)
+```
+
+Tato funkce vkládá `assets` podkladových tokenů do trezoru a uděluje `receiver`ovi vlastnictví `shares`.
+
+#### maxMint {#maxmint}
+
+```solidity
+function maxMint(address receiver) public view returns (uint256 maxShares)
+```
+
+Tato funkce vrací maximální množství podílů, které mohou být vyraženy v jediném volání [`mint`](#mint), přičemž jsou podíly vyraženy pro `receiver`.
+
+#### previewMint {#previewmint}
+
+```solidity
+function previewMint(uint256 shares) public view returns (uint256 assets)
+```
+
+Tato funkce umožňuje uživatelům simulovat účinky své ražby v aktuálním bloku.
+
+#### mint {#mint}
+
+```solidity
+function mint(uint256 shares, address receiver) public returns (uint256 assets)
+```
+
+Tato funkce razí přesně `shares` podílů trezoru `receiver`ovi, a to vložením `assets` podkladových tokenů.
+
+#### maxWithdraw {#maxwithdraw}
+
+```solidity
+function maxWithdraw(address owner) public view returns (uint256 maxAssets)
+```
+
+Tato funkce vrací maximální množství podkladových aktiv, které lze vybrat ze zůstatku `owner`a jediným voláním [`withdraw`](#withdraw).
+
+#### previewWithdraw {#previewwithdraw}
+
+```solidity
+function previewWithdraw(uint256 assets) public view returns (uint256 shares)
+```
+
+Tato funkce umožňuje uživatelům simulovat účinky svého výběru v aktuálním bloku.
+
+#### withdraw {#withdraw}
+
+```solidity
+function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares)
+```
+
+Tato funkce spálí `shares` od `owner`a a odešle z trezoru přesně `assets` tokenů `receiver`ovi.
+
+#### maxRedeem {#maxredeem}
+
+```solidity
+function maxRedeem(address owner) public view returns (uint256 maxShares)
+```
+
+Tato funkce vrací maximální množství podílů, které lze odkoupit ze zůstatku `owner`a prostřednictvím volání [`redeem`](#redeem).
+
+#### previewRedeem {#previewredeem}
+
+```solidity
+function previewRedeem(uint256 shares) public view returns (uint256 assets)
+```
+
+Tato funkce umožňuje uživatelům simulovat účinky svého odkupu v aktuálním bloku.
+
+#### redeem {#redeem}
+
+```solidity
+function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets)
+```
+
+Tato funkce odkoupí určitý počet `shares` od `owner`a a odešle `assets` podkladového tokenu z trezoru `receiver`ovi.
+
+#### totalSupply {#totalsupply}
+
+```solidity
+function totalSupply() public view returns (uint256)
+```
+
+Vrací celkový počet neodkoupených podílů v trezoru v oběhu.
+
+#### balanceOf {#balanceof}
+
+```solidity
+function balanceOf(address owner) public view returns (uint256)
+```
+
+Vrací celkové množství podílů v trezoru, které `owner` aktuálně má.
+
+### Mapa rozhraní {#mapOfTheInterface}
+
+
+
+### Události {#events}
+
+#### Událost vkladu
+
+**MUSÍ** být emitována při vložení tokenů do trezoru pomocí metod [`mint`](#mint) a [`deposit`](#deposit).
+
+```solidity
+event Deposit(
+ address indexed sender,
+ address indexed owner,
+ uint256 assets,
+ uint256 shares
+)
+```
+
+Kde `sender` je uživatel, který vyměnil `assets` za `shares` a převedl tyto `shares` na `owner`a.
+
+#### Událost výběru
+
+**MUSÍ** být emitována, když jsou podíly vybrány z trezoru vkladatelem v metodách [`redeem`](#redeem) nebo [`withdraw`](#withdraw).
+
+```solidity
+event Withdraw(
+ address indexed sender,
+ address indexed receiver,
+ address indexed owner,
+ uint256 assets,
+ uint256 shares
+)
+```
+
+Kde `sender` je uživatel, který spustil výběr a vyměnil `shares` ve vlastnictví `owner`a za `assets`. `receiver` je uživatel, který obdržel vybrané `assets`.
+
+## Další čtení {#further-reading}
+
+- [EIP-4626: Standard tokenizovaného trezoru](https://eips.ethereum.org/EIPS/eip-4626)
+- [ERC-4626: GitHub repozitář](https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC4626.sol)
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-721/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-721/index.md
new file mode 100644
index 00000000000..79ddaccb692
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-721/index.md
@@ -0,0 +1,255 @@
+---
+title: Standard nezaměnitelného tokenu ERC-721
+description: Zjistěte více o ERC-721, standardu pro nezaměnitelné tokeny (NFT), které představují jedinečná digitální aktiva na Ethereu.
+lang: cs
+---
+
+## Úvod {#introduction}
+
+**Co je to nezaměnitelný token?**
+
+Nezaměnitelný token (Non-Fungible Token - NFT) je používán k identifikaci něčeho nebo někoho jedinečným způsobem. Tento typ tokenu je ideální pro použití na platformách, které nabízejí sběratelské předměty, přístupové klíče, loterijní lístky, číslovaná místa na koncertech a sportovních zápasech atd. Tento speciální typ tokenu má úžasné možnosti, a proto si zaslouží odpovídající standard, kterým je ERC-721!
+
+**Co je ERC-721?**
+
+ERC-721 zavádí standard pro NFT, jinými slovy, tento typ tokenu je jedinečný a může mít jinou hodnotu než jiný token ze stejného smart kontraktu, například z důvodu jeho stáří, vzácnosti nebo něčeho jinému, například jeho vzhledu.
+Počkat, vzhledu?
+
+Ano! Všechny NFT mají proměnnou `uint256` s názvem `tokenId`, takže pro každý kontrakt ERC-721 musí být dvojice
+`adresa kontraktu, uint256 tokenId` globálně jedinečná. Nicméně dapp může mít „konvertor“, který
+používá `tokenId` jako vstup a na výstupu vrací obrázek něčeho skvělého, jako jsou zombie, zbraně, dovednosti nebo úžasné kočičky!
+
+## Předpoklady {#prerequisites}
+
+- [Účty](/developers/docs/accounts/)
+- [Chytré kontrakty](/developers/docs/smart-contracts/)
+- [Standardy tokenů](/developers/docs/standards/tokens/)
+
+## Tělo {#body}
+
+ERC-721 (Ethereum Request for Comments 721), navržený Williamem Entrikenem, Dieterem Shirleym, Jacobem Evansem a Nastassií Sachs v lednu 2018, je standard pro nezaměnitelné tokeny, který implementuje API pro tokeny v rámci smart kontraktů.
+
+Obsahuje funkce, jako je převod tokenů z jednoho účtu na druhý, zjištění aktuálního zůstatku tokenů na účtu, zjištění ethereovské adresy vlastníka konkrétního tokenu a také celkového množství tokenů dostupných v síti.
+Kromě toho má i další funkce, jako je schválení, že určité množství tokenů z účtu může být přesunuto třetí stranou.
+
+Pokud smart kontrakt implementuje následující metody a události, může být nazván ERC-721 Non-Fungible Token Contract, a jakmile je spuštěn, bude zodpovědný za sledování vytvořených tokenů na Ethereu.
+
+Z [EIP-721](https://eips.ethereum.org/EIPS/eip-721):
+
+### Metody {#methods}
+
+```solidity
+ function balanceOf(address _owner) external view returns (uint256);
+ function ownerOf(uint256 _tokenId) external view returns (address);
+ function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
+ function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
+ function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
+ function approve(address _approved, uint256 _tokenId) external payable;
+ function setApprovalForAll(address _operator, bool _approved) external;
+ function getApproved(uint256 _tokenId) external view returns (address);
+ function isApprovedForAll(address _owner, address _operator) external view returns (bool);
+```
+
+### Události {#events}
+
+```solidity
+ event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
+ event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
+ event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
+```
+
+### Příklady {#web3py-example}
+
+Podívejme se, proč je tento standard tak důležitý pro zjednodušení prohlížení jakéhokoliv kontraktu ERC-721 tokenu na Ethereu.
+Abychom mohli vytvořit rozhraní pro jakýkoliv ERC-721 token, stačí nám Contract Application Binary Interface (ABI). Jak můžete vidět níže, použijeme zjednodušené ABI, abychom vám to ukázali na jednoduchém příkladu.
+
+#### Příklad Web3.py {#web3py-example}
+
+Nejprve se ujistěte, že máte nainstalovanou knihovnu Python [Web3.py](https://web3py.readthedocs.io/en/stable/quickstart.html#installation):
+
+```
+pip install web3
+```
+
+```python
+from web3 import Web3
+from web3._utils.events import get_event_data
+
+
+w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com"))
+
+ck_token_addr = "0x06012c8cf97BEaD5deAe237070F9587f8E7A266d" # Kontrakt CryptoKitties
+
+acc_address = "0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C" # Prodejní aukce CryptoKitties
+
+# Toto je zjednodušené binární rozhraní aplikace (ABI) kontraktu NFT ERC-721.
+# Zpřístupní pouze metody: balanceOf(address), name(), ownerOf(tokenId), symbol(), totalSupply()
+simplified_abi = [
+ {
+ 'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}],
+ 'name': 'balanceOf',
+ 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
+ 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'name',
+ 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}],
+ 'name': 'ownerOf',
+ 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}],
+ 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'symbol',
+ 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'totalSupply',
+ 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+]
+
+ck_extra_abi = [
+ {
+ 'inputs': [],
+ 'name': 'pregnantKitties',
+ 'outputs': [{'name': '', 'type': 'uint256'}],
+ 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [{'name': '_kittyId', 'type': 'uint256'}],
+ 'name': 'isPregnant',
+ 'outputs': [{'name': '', 'type': 'bool'}],
+ 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
+ }
+]
+
+ck_contract = w3.eth.contract(address=w3.to_checksum_address(ck_token_addr), abi=simplified_abi+ck_extra_abi)
+name = ck_contract.functions.name().call()
+symbol = ck_contract.functions.symbol().call()
+kitties_auctions = ck_contract.functions.balanceOf(acc_address).call()
+print(f"{name} [{symbol}] NFTs in Auctions: {kitties_auctions}")
+
+pregnant_kitties = ck_contract.functions.pregnantKitties().call()
+print(f"{name} [{symbol}] NFTs Pregnants: {pregnant_kitties}")
+
+# Použití ABI události Převod k získání informací o převedených kočičkách.
+tx_event_abi = {
+ 'anonymous': False,
+ 'inputs': [
+ {'indexed': False, 'name': 'from', 'type': 'address'},
+ {'indexed': False, 'name': 'to', 'type': 'address'},
+ {'indexed': False, 'name': 'tokenId', 'type': 'uint256'}],
+ 'name': 'Transfer',
+ 'type': 'event'
+}
+
+# K filtrování protokolů potřebujeme podpis události
+event_signature = w3.keccak(text="Transfer(address,address,uint256)").hex()
+
+logs = w3.eth.get_logs({
+ "fromBlock": w3.eth.block_number - 120,
+ "address": w3.to_checksum_address(ck_token_addr),
+ "topics": [event_signature]
+})
+
+# Poznámky:
+# - Pokud se nevrátí žádná událost Převod, zvyšte počet bloků z hodnoty 120.
+# - Pokud jste nenašli žádnou událost Převod, můžete také zkusit získat tokenId na adrese:
+# https://etherscan.io/address/0x06012c8cf97BEaD5deAe237070F9587f8E7A266d#events
+# Kliknutím rozbalte protokoly události a zkopírujte její argument „tokenId“
+recent_tx = [get_event_data(w3.codec, tx_event_abi, log)["args"] for log in logs]
+
+if recent_tx:
+ kitty_id = recent_tx[0]['tokenId'] # Sem vložte „tokenId“ z výše uvedeného odkazu
+ is_pregnant = ck_contract.functions.isPregnant(kitty_id).call()
+ print(f"{name} [{symbol}] NFTs {kitty_id} is pregnant: {is_pregnant}")
+```
+
+Kontrakt CryptoKitties má několik zajímavých událostí, kromě těch standardních.
+
+Podívejme se na dvě z nich, `Pregnant` a `Birth`.
+
+```python
+# Použití ABI událostí Pregnant a Birth k získání informací o nových kočičkách.
+ck_extra_events_abi = [
+ {
+ 'anonymous': False,
+ 'inputs': [
+ {'indexed': False, 'name': 'owner', 'type': 'address'},
+ {'indexed': False, 'name': 'matronId', 'type': 'uint256'},
+ {'indexed': False, 'name': 'sireId', 'type': 'uint256'},
+ {'indexed': False, 'name': 'cooldownEndBlock', 'type': 'uint256'}],
+ 'name': 'Pregnant',
+ 'type': 'event'
+ },
+ {
+ 'anonymous': False,
+ 'inputs': [
+ {'indexed': False, 'name': 'owner', 'type': 'address'},
+ {'indexed': False, 'name': 'kittyId', 'type': 'uint256'},
+ {'indexed': False, 'name': 'matronId', 'type': 'uint256'},
+ {'indexed': False, 'name': 'sireId', 'type': 'uint256'},
+ {'indexed': False, 'name': 'genes', 'type': 'uint256'}],
+ 'name': 'Birth',
+ 'type': 'event'
+ }]
+
+# K filtrování protokolů potřebujeme podpis události
+ck_event_signatures = [
+ w3.keccak(text="Pregnant(address,uint256,uint256,uint256)").hex(),
+ w3.keccak(text="Birth(address,uint256,uint256,uint256,uint256)").hex(),
+]
+
+# Zde je událost Pregnant:
+# - https://etherscan.io/tx/0xc97eb514a41004acc447ac9d0d6a27ea6da305ac8b877dff37e49db42e1f8cef#eventlog
+pregnant_logs = w3.eth.get_logs({
+ "fromBlock": w3.eth.block_number - 120,
+ "address": w3.to_checksum_address(ck_token_addr),
+ "topics": [ck_event_signatures[0]]
+})
+
+recent_pregnants = [get_event_data(w3.codec, ck_extra_events_abi[0], log)["args"] for log in pregnant_logs]
+
+# Zde je událost Birth:
+# - https://etherscan.io/tx/0x3978028e08a25bb4c44f7877eb3573b9644309c044bf087e335397f16356340a
+birth_logs = w3.eth.get_logs({
+ "fromBlock": w3.eth.block_number - 120,
+ "address": w3.to_checksum_address(ck_token_addr),
+ "topics": [ck_event_signatures[1]]
+})
+
+recent_births = [get_event_data(w3.codec, ck_extra_events_abi[1], log)["args"] for log in birth_logs]
+```
+
+## Populární NFT {#popular-nfts}
+
+- [Etherscan NFT Tracker](https://etherscan.io/nft-top-contracts) uvádí nejlepší NFT na Ethereu podle objemu převodů.
+- [CryptoKitties](https://www.cryptokitties.co/) je hra zaměřená na chovná, sběratelská a neodolatelně roztomilá
+ stvoření, která nazýváme CryptoKitties.
+- [Sorare](https://sorare.com/) je globální fantasy fotbalová hra, kde můžete sbírat sběratelské předměty z limitovaných edicí,
+ spravovat své týmy a soutěžit o ceny.
+- [Služba názvů Etherea (ENS)](https://ens.domains/) nabízí bezpečný a decentralizovaný způsob adresování zdrojů
+ na blockchainu i mimo něj pomocí jednoduchých, lidsky čitelných jmen.
+- [POAP](https://poap.xyz) doručuje bezplatné NFT lidem, kteří se účastní událostí nebo dokončí určité akce. POAPy můžete vytvořit i distribuovat zdarma.
+- [Unstoppable Domains](https://unstoppabledomains.com/) je společnost se sídlem v San Franciscu, která vytváří domény na
+ blockchainech. Blockchainové domény nahrazují kryptoměnové adresy lidsky čitelnými jmény a mohou být použity k
+ vytváření webů odolných vůči cenzuře.
+- [Gods Unchained Cards](https://godsunchained.com/) je sběratelská karetní hra (TCG) na blockchainu Ethereum, která využívá NFT k tomu, aby přinesla skutečné vlastnictví
+ herních aktiv.
+- [Bored Ape Yacht Club](https://boredapeyachtclub.com) je sbírka 10 000 jedinečných NFT, která kromě toho, že je prokazatelně vzácným uměleckým dílem, funguje také jako členský token do klubu, který poskytuje členské výhody a benefity, jež se v čase zvyšují díky úsilí komunity.
+
+## Další čtení {#further-reading}
+
+- [EIP-721: Standard pro nezaměnitelné tokeny ERC-721](https://eips.ethereum.org/EIPS/eip-721)
+- [OpenZeppelin – dokumentace ERC-721](https://docs.openzeppelin.com/contracts/3.x/erc721)
+- [OpenZeppelin – implementace ERC-721](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol)
+- [Alchemy NFT API](https://www.alchemy.com/docs/reference/nft-api-quickstart)
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-777/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-777/index.md
new file mode 100644
index 00000000000..092aadca9f2
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-777/index.md
@@ -0,0 +1,45 @@
+---
+title: Standart tokenu ERC-777
+description: Seznamte se s ERC-777, vylepšeným standardem zaměnitelných tokenů s háčky, ačkoli z bezpečnostních důvodů je doporučeno používat ERC-20.
+lang: cs
+---
+
+## Varování {#warning}
+
+**ERC-777 je obtížné správně implementovat kvůli jeho [náchylnosti k různým formám útoku](https://github.com/OpenZeppelin/openzeppelin-contracts/issues/2620). Doporučuje se místo něj použít [ERC-20](/developers/docs/standards/tokens/erc-20/).** Tato stránka zde zůstává jako historický archiv.
+
+## Úvod? {#introduction}
+
+ERC-777 je standard pro zaměnitelné tokeny, který vylepšuje stávající standard [ERC-20](/developers/docs/standards/tokens/erc-20/).
+
+## Předpoklady {#prerequisites}
+
+Pro lepší porozumění této stránce vám doporučujeme si nejprve přečíst o [ERC-20](/developers/docs/standards/tokens/erc-20/).
+
+## Jaká vylepšení navrhuje ERC-777 oproti ERC-20? {#-erc-777-vs-erc-20}
+
+ERC-777 poskytuje následující vylepšení oproti ERC-20.
+
+### Háčky {#hooks}
+
+Háčky jsou funkce popsané v kódu smart kontraktu. Háčky se volají, když jsou tokeny odesílány nebo přijímány prostřednictvím kontraktu. To umožňuje smart kontraktu reagovat na příchozí nebo odchozí tokeny.
+
+Háčky jsou registrovány a objevovány pomocí standardu [ERC-1820](https://eips.ethereum.org/EIPS/eip-1820).
+
+#### Proč jsou háčky skvělé? {#why-are-hooks-great}
+
+1. Háčky umožňují odesílat tokeny do kontraktu a oznamovat to kontraktu v jediné transakci, na rozdíl od [ERC-20](https://eips.ethereum.org/EIPS/eip-20), který k dosažení tohoto cíle vyžaduje dvojí volání (`approve`/`transferFrom`).
+2. Kontrakty, které nemají registrované háčky, nejsou kompatibilní s ERC-777. Když přijímací kontrakt nemá registrovaný háček, odesílací kontrakt přeruší transakci. Tím se zabrání neúmyslným převodům přrostředků do smart kontraktů, které nejsou ERC-777.
+3. Háčky mohou transakce také odmítat.
+
+### Desetinná místa {#decimals}
+
+Standard také řeší zmatek kolem `decimals` způsobený v ERC-20. To vede k příjemnější vývojářské zkušenosti.
+
+### Zpětná kompatibilita s ERC-20 {#backwards-compatibility-with-erc-20}
+
+S ERC-777 kontrakty lze pracovat, jako by to byly ERC-20 kontrakty.
+
+## Další čtení {#further-reading}
+
+[EIP-777: Tokenový standard](https://eips.ethereum.org/EIPS/eip-777)
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/index.md b/public/content/translations/cs/developers/docs/standards/tokens/index.md
new file mode 100644
index 00000000000..6fa0d1799b7
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/standards/tokens/index.md
@@ -0,0 +1,41 @@
+---
+title: Standardy pro tokeny
+description: Prozkoumejte tokenové standardy sítě Ethereum, včetně ERC-20, ERC-721 a ERC-1155, pro zaměnitelné a nezaměnitelné tokeny.
+lang: cs
+incomplete: true
+---
+
+## Úvod {#introduction}
+
+Mnoho vývojových standardů na Ethereu se zaměřuje na rozhraní pro tokeny. Tyto standardy pomáhají zajistit, že smart kontrakty zůstanou složitelné, takže když nový projekt vydá token, zůstane kompatibilní se stávajícími decentralizovanými burzami a aplikacemi.
+
+Tokenové standardy definují, jak se tokeny chovají a jak spolu interagují napříč ekosystémem Etherea. Usnadňují vývojářům práci, protože nemusí znovu objevovat kolo, a zajišťují, že tokeny bezproblémově fungují s peněženkami, burzami a platformami DeFi. Ať už se jedná o herní průmysl, správu nebo jiné případy použití, tyto standardy zajišťují konzistenci a díky nim je Ethereum více propojené.
+
+## Předpoklady {#prerequisites}
+
+- [Vývojářské standardy sítě Ethereum](/developers/docs/standards/)
+- [Chytré kontrakty](/developers/docs/smart-contracts/)
+
+## Tokenové standardy {#token-standards}
+
+Zde jsou některé z nejpopulárnějších standardů pro tokeny na Ethereu:
+
+- [ERC-20](/developers/docs/standards/tokens/erc-20/) – standardní rozhraní pro zaměnitelné (fungible) tokeny, jako jsou hlasovací tokeny, stakovací tokeny nebo virtuální měny.
+
+### Standardy NFT {#nft-standards}
+
+- [ERC-721](/developers/docs/standards/tokens/erc-721/) – standardní rozhraní pro nezaměnitelné tokeny, jako je listina k uměleckému dílu nebo písni.
+- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) – standard ERC-1155 umožňuje efektivnější obchody a seskupování transakcí, čímž se šetří náklady. Tento standard tokenů umožňuje vytvářet jak užitkové tokeny (například $BNB nebo $BAT), tak nezaměnitelné tokeny jako jsou CryptoPunks.
+
+Úplný seznam návrhů [ERC](https://eips.ethereum.org/erc).
+
+## Další čtení {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+## Související návody {#related-tutorials}
+
+- [Kontrolní seznam pro integraci tokenů](/developers/tutorials/token-integration-checklist/) _– Seznam věcí, které je třeba zvážit při interakci s tokeny._
+- [Pochopení smart kontraktu pro token ERC-20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _– Úvod do nasazení vašeho prvního smart kontraktu na testnetu Etherea._
+- [Převody a schvalování tokenů ERC-20 pomocí smart kontraktu v jazyce Solidity](/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/) _– Jak používat smart kontrakt k interakci s tokenem pomocí jazyka Solidity._
+- [Implementace trhu s tokeny ERC-721 [návod]](/developers/tutorials/how-to-implement-an-erc721-market/) _– Jak nabídnout tokenizované položky k prodeji na decentralizovaném inzertním portálu._
diff --git a/public/content/translations/cs/developers/docs/storage/index.md b/public/content/translations/cs/developers/docs/storage/index.md
new file mode 100644
index 00000000000..492a53eff7f
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/storage/index.md
@@ -0,0 +1,216 @@
+---
+title: Decentralizovaná úložiště
+description: Přehled toho, co je decentralizované úložiště, a dostupné nástroje pro jeho integraci do dappek.
+lang: cs
+---
+
+Na rozdíl od centralizovaného serveru, který provozuje jedna společnost nebo organizace, decentralizované úložné systémy sestávají z peer-to-peer sítě uživatelů-operátorů, kteří drží část celkových dat, čímž vytvářejí odolný systém sdílení souborů. Tyto systémy mohou být využívány v blockchainových aplikacích nebo v jakékoliv síti založené na peer-to-peer principu.
+
+Ethereum samotné může být využíváno jako decentralizovaný úložný systém, což se děje například při ukládání kódu ve všech smart kontraktech. Když ale přijde na velké objemy dat, Ethereum není navčženo k tomuto účelu. Řetězec neustále roste, ale v době psaní tohoto textu se velikost blockchainu Etherea pohybuje kolem 500 GB až 1 TB ([v závislosti na klientovi](https://etherscan.io/chartsync/chaindefault)) a každý uzel v síti musí být schopen uložit všechna tato data. Pokud by řetězec expandoval na velké objemy dat (řekněme 5 TB), nebylo by nadále možné zajistit funkčnost všech síťových uzlů. Náklady na nasazení tak velkého množství dat na hlavní síť by také byly neúměrně vysoké kvůli poplatkům za [gas](/developers/docs/gas).
+
+Z těchto důvodů potřebujeme jiný řetězec nebo metodologii k ukládání velkých objemů dat decentralizovaným způsobem.
+
+Při zvažování možností decentralizovaného úložiště (dStorage) musí uživatel vzít v úvahu několik věcí.
+
+- Mechanismus uchovávání / pobídková struktura
+- Vymáhání uchovávání dat
+- Decentralizace
+- Konsenzus
+
+## Mechanismus perzistence / pobídková struktura {#persistence-mechanism}
+
+### Na bázi blockchainu {#blockchain-based}
+
+Aby mohl kus dat přetrvat navždy, musíme použít mechanismus uchovávání. Například na Ethereu je tento mechanismus založen na tom, že celý řetězec musí být zohledněn při provozování síťového uzlu. Nové kusy dat jsou přidávány na konec řetězce, který neustále roste - což vyžaduje, aby každý uzel replikoval všechna vložená data.
+
+Toto je známé jako **perzistence na bázi blockchainu**.
+
+Problém s perzistencí na bázi blockchainu je v tom, že by se blockchain mohl příliš rozrůst, aby bylo možné všechna data reálně udržovat a ukládat (např. [mnoho zdrojů](https://healthit.com.au/how-big-is-the-internet-and-how-do-we-measure-it/) odhaduje, že internet vyžaduje kapacitu úložiště přes 40 zettabytů).
+
+I blockchain musí mít nějaký typ pobídkové struktury. V případě uchovávání založeném na blockchainu se platí validátorovi. Když jsou data přidána do řetězce, validátoři jsou placeni za jejich přidání.
+
+Platformy s uchováváním založeným na blockchainu:
+
+- Ethereum
+- [Arweave](https://www.arweave.org/)
+
+### Na bázi kontraktů {#contract-based}
+
+**Perzistence na bázi kontraktů** vychází z myšlenky, že data nemohou být replikována každým uzlem a ukládána navždy, ale místo toho musí být udržována prostřednictvím smluvních dohod. Tyto dohody jsou uzavírány s více uzly, které se zavázaly uchovávat kus dat po určitou dobu. Data musí být obnovena nebo refundována, kdykoli vyprší, aby byla zachována jejich existence.
+
+Ve většině případů se místo ukládání všech dat on-chain ukládá na blockchain pouze haš, který odkazuje na umístění dat. Tímto způsobem není třeba, aby celý řetězec rostl kvůli ukládání všech dat.
+
+Platformy s uchováváním založeným na kontraktu:
+
+- [Filecoin](https://docs.filecoin.io/basics/what-is-filecoin)
+- [Skynet](https://sia.tech/)
+- [Storj](https://storj.io/)
+- [Züs](https://zus.network/)
+- [Crust Network](https://crust.network)
+- [Swarm](https://www.ethswarm.org/)
+- [4EVERLAND](https://www.4everland.org/)
+
+### Další aspekty {#additional-consideration}
+
+IPFS je distribuovaný systém pro ukládání a přístup k souborům, webovým stránkám, aplikacím a datům. Nemá zabudovaný motivační systém, ale může být použit s jakýmkoli z výše uvedených řešení založených na kontraktech pro dlouhodobé uchování dat. Dalším způsobem, jak uchovat data na IPFS, je spolupráce s pinningovou službou, která vaše data „připne“. Můžete také provozovat vlastní IPFS uzel a přispívat do sítě, abyste uchovali svá nebo cizí data zdarma!
+
+- [IPFS](https://docs.ipfs.io/concepts/what-is-ipfs/)
+- [Pinata](https://www.pinata.cloud/) _(pinovací služba IPFS)_
+- [web3.storage](https://web3.storage/) _(pinovací služba pro IPFS/Filecoin)_
+- [Infura](https://infura.io/product/ipfs) _(pinovací služba IPFS)_
+- [IPFS Scan](https://ipfs-scan.io) _(prohlížeč pinů IPFS)_
+- [4EVERLAND](https://www.4everland.org/) _(pinovací služba IPFS)_
+- [Filebase](https://filebase.com) _(pinovací služba IPFS)_
+- [Spheron Network](https://spheron.network/) _(pinovací služba pro IPFS/Filecoin)_
+
+SWARM je decentralizovaná technologie pro ukládání a distribuci dat s motivačním systémem a orákulem pro stanovení ceny za pronájem úložiště.
+
+## Uchovávání dat {#data-retention}
+
+Aby systémy mohly uchovávat data, musí mít nějaký mechanismus, který zajistí, že data budou uchována.
+
+### Mechanismus výzvy {#challenge-mechanism}
+
+Jedním z nejpopulárnějších způsobů, jak zajistit uchování dat, je použití nějakého typu kryptografické výzvy, která je poskytnuta síťovým uzlům, aby se ověřilo, zda stále mají data. Jednoduchým příkladem je proof-of-access od Arweave. Uzel je vyzván, aby prokázal, že má data jak z nejnovějšího bloku, tak z náhodného bloku z minulosti. Pokud uzel nemůže přijít s odpovědí, je penalizován.
+
+Typy dStorage s mechanismem výzvy:
+
+- Züs
+- Skynet
+- Arweave
+- Filecoin
+- Crust Network
+- 4EVERLAND
+
+### Decentralizace {#decentrality}
+
+Neexistují skvělé nástroje pro měření úrovně decentralizace platforem, ale obecně platí, že byste měli používat nástroje, které nevyžadují nějakou formu KYC, což je důkaz, že nejsou centralizované.
+
+Decentralizované nástroje bez KYC:
+
+- Skynet
+- Arweave
+- Filecoin
+- IPFS
+- Ethereum
+- Crust Network
+- 4EVERLAND
+
+### Konsenzus {#consensus}
+
+Většina těchto nástrojů má vlastní verzi [mechanismu konsensu](/developers/docs/consensus-mechanisms/), ale obecně jsou založeny buď na [**důkazu prací (PoW)**](/developers/docs/consensus-mechanisms/pow/), nebo na [**důkazu podílem (PoS)**](/developers/docs/consensus-mechanisms/pos/).
+
+Založeno na proof of work:
+
+- Skynet
+- Arweave
+
+Založeno na proof of stake:
+
+- Ethereum
+- Filecoin
+- Züs
+- Crust Network
+
+## Související nástroje {#related-tools}
+
+**IPFS – _meziplanetární souborový systém (InterPlanetary File System) je decentralizované úložiště a systém odkazů na soubory pro Ethereum._**
+
+- [Ipfs.io](https://ipfs.io/)
+- [Dokumentace](https://docs.ipfs.io/)
+- [GitHub](https://github.com/ipfs/ipfs)
+
+**Storj DCS – _bezpečné, soukromé a s S3 kompatibilní decentralizované cloudové objektové úložiště pro vývojáře._**
+
+- [Storj.io](https://storj.io/)
+- [Dokumentace](https://docs.storj.io/)
+- [GitHub](https://github.com/storj/storj)
+
+**Sia – _využívá kryptografii k vytvoření tržiště s cloudovým úložištěm, které nevyžaduje důvěru a umožňuje kupujícím a prodávajícím obchodovat přímo._**
+
+- [Skynet.net](https://sia.tech/)
+- [Dokumentace](https://docs.sia.tech/)
+- [GitHub](https://github.com/SiaFoundation/)
+
+**Filecoin – _Filecoin byl vytvořen stejným týmem, který stojí za IPFS. Je to pobídková vrstva nad ideály IPFS._**
+
+- [Filecoin.io](https://filecoin.io/)
+- [Dokumentace](https://docs.filecoin.io/)
+- [GitHub](https://github.com/filecoin-project/)
+
+**Arweave – _Arweave je platforma dStorage (decentralizované úložiště) pro ukládání dat._**
+
+- [Arweave.org](https://www.arweave.org/)
+- [Dokumentace](https://docs.arweave.org/info/)
+- [Arweave](https://github.com/ArweaveTeam/arweave/)
+
+**Züs – _Züs je dStorage platforma s důkazem podílem (proof-of-stake), tříštěním (sharding) a tzv. blobbery._**
+
+- [zus.network](https://zus.network/)
+- [Dokumentace](https://docs.zus.network/zus-docs/)
+- [GitHub](https://github.com/0chain/)
+
+**Crust Network – _Crust je dStorage platforma postavená na IPFS._**
+
+- [Crust.network](https://crust.network)
+- [Dokumentace](https://wiki.crust.network)
+- [GitHub](https://github.com/crustio)
+
+**Swarm – _distribuovaná úložná platforma a služba pro distribuci obsahu pro web3 stack Etherea._**
+
+- [EthSwarm.org](https://www.ethswarm.org/)
+- [Dokumentace](https://docs.ethswarm.org/)
+- [GitHub](https://github.com/ethersphere/)
+
+**OrbitDB – _decentralizovaná peer-to-peer databáze postavená na IPFS._**
+
+- [OrbitDB.org](https://orbitdb.org/)
+- [Dokumentace](https://github.com/orbitdb/field-manual/)
+- [GitHub](https://github.com/orbitdb/orbit-db/)
+
+**Aleph.im – _decentralizovaný cloudový projekt (databáze, souborové úložiště, výpočetní výkon a DID). Unikátní kombinace off-chain a on-chain peer-to-peer technologií. Kompatibilita s IPFS a více blockchainy._**
+
+- [Aleph.im](https://aleph.cloud/)
+- [Dokumentace](https://docs.aleph.cloud/)
+- [GitHub](https://github.com/aleph-im/)
+
+**Ceramic – _uživatelsky řízené databázové úložiště IPFS pro poutavé aplikace s velkým množstvím dat._**
+
+- [Ceramic.network](https://ceramic.network/)
+- [Dokumentace](https://developers.ceramic.network/)
+- [GitHub](https://github.com/ceramicnetwork/js-ceramic/)
+
+**Filebase – _decentralizované úložiště kompatibilní s S3 a geograficky redundantní pinovací služba pro IPFS. Všechny soubory nahrané do IPFS přes Filebase jsou automaticky pinovány na infrastrukturu Filebase s 3x replikací po celém světě._**
+
+- [Filebase.com](https://filebase.com/)
+- [Dokumentace](https://docs.filebase.com/)
+- [GitHub](https://github.com/filebase)
+
+**4EVERLAND – _cloudová výpočetní platforma pro Web 3.0, která integruje základní schopnosti úložiště, výpočetního výkonu a sítě, je kompatibilní s S3 a poskytuje synchronní ukládání dat v decentralizovaných úložných sítích, jako jsou IPFS a Arweave._**
+
+- [4everland.org](https://www.4everland.org/)
+- [Dokumentace](https://docs.4everland.org/)
+- [GitHub](https://github.com/4everland)
+
+**Kaleido – _platforma typu blockchain jako služba (BaaS) s IPFS uzly na jedno kliknutí._**
+
+- [Kaleido](https://kaleido.io/)
+- [Dokumentace](https://docs.kaleido.io/kaleido-services/ipfs/)
+- [GitHub](https://github.com/kaleido-io)
+
+**Spheron Network – _Spheron je platforma jako služba (PaaS) určená pro dApps, které chtějí spouštět své aplikace na decentralizované infrastruktuře s nejlepším výkonem. Poskytuje výpočetní výkon, decentralizované úložiště, CDN a webhosting ihned k použití._**
+
+- [spheron.network](https://spheron.network/)
+- [Dokumentace](https://docs.spheron.network/)
+- [GitHub](https://github.com/spheronFdn)
+
+## Další čtení {#further-reading}
+
+- [Co je to decentralizované úložiště?](https://coinmarketcap.com/academy/article/what-is-decentralized-storage-a-deep-dive-by-filecoin) – _CoinMarketCap_
+- [Boření pěti běžných mýtů o decentralizovaném úložišti](https://www.storj.io/blog/busting-five-common-myths-about-decentralized-storage) – _Storj_
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+## Související témata {#related-topics}
+
+- [Vývojářské frameworky](/developers/docs/frameworks/)
diff --git a/public/content/translations/cs/developers/docs/transactions/index.md b/public/content/translations/cs/developers/docs/transactions/index.md
index a90640619fa..95a28804a6d 100644
--- a/public/content/translations/cs/developers/docs/transactions/index.md
+++ b/public/content/translations/cs/developers/docs/transactions/index.md
@@ -8,13 +8,14 @@ Transakce jsou kryptograficky podepsané instrukce poslané z účtů. Účet za
## Předpoklady {#prerequisites}
-Abyste této stránce lépe porozuměli, doporučujeme vám si nejprve přečíst sekci [Účty](/developers/docs/accounts/) a náš [úvod do Etherea](/developers/docs/intro-to-ethereum/).
+Abyste této stránce lépe porozuměli, doporučujeme vám si nejprve přečíst [Účty](/developers/docs/accounts/) a náš [úvod do Etherea](/developers/docs/intro-to-ethereum/).
## Co je to transakce? {#whats-a-transaction}
Transakce na Ethereu odkazuje na akci zahájenou externě vlastněným účtem, jinými slovy účtem spravovaným člověkem, nikoliv kontraktem. Např. pokud Bob pošle Alici 1 ETH, zůstatek na Bobově účtu musí být snížen a Alicin musí být navýšen. Tato akce mění stav sítě a probíhá v rámci transakce.
- _Diagram převzat z [ilustrace Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+
+_Diagram převzat z [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
Transakce, které mění stav EVM, musí být posílány do celé sítě. Jakýkoliv uzel může vyslat požadavek na provedení transakce na EVM. Poté validátor provede transakci a výslednou změnu stavu sdílí do zbytku sítě.
@@ -23,16 +24,16 @@ Transakce vyžadují poplatek a musí být zahrnuty do validovaného bloku. Abyc
Odeslaná transakce obsahuje následující informace:
- `from` – adresa odesílatele, který transakci podepíše. Toto bude externě vlastněný účet, protože kontraktové účty nemohou odesílat transakce
-- `to` – adresa příjemce. Pokud jde o externě vlastněný účet, transakce převede hodnotu. Pokud jde o kontraktový účet, transakce vykoná kód kontraktu.
-- `signature` – podpis, který je identifikátorem odesílatele. Tento identifikátor je vygenerován, když odesílatelův privátní klíč podepíše transakci a potvrdí, že odesílatel tuto transakci autorizoval.
-- `nonce` – postupně se zvyšující čítač, který označuje číslo transakce z účtu.
-- `value` – množství ETH, které má být převedeno od odesílatele k příjemci (denominováno ve WEI, kde 1 ETH odpovídá 1e+18 wei).
-- `input data` – volitelné pole pro přidání libovolných dat.
-- `gasLimit` – maximální množství jednotek paliva, které může být transakcí spotřebováno. [EVM](/developers/docs/evm/opcodes) specifikuje jednotky paliva potřebné pro každý výpočetní krok.
-- `maxPriorityFeePerGas` – maximální cena spotřebovaného paliva, která bude zahrnuta jako spropitné pro validátora.
-- `maxFeePerGas` – maximální poplatek za jednotku paliva, který je uživatel ochoten zaplatit za transakci (včetně `baseFeePerGas` a `maxPriorityFeePerGas`).
+- `to` – adresa příjemce (pokud se jedná o externě vlastněný účet, transakce převede hodnotu. Pokud jde o kontraktový účet, transakce vykoná kód kontraktu.
+- `signature` – identifikátor odesílatele. Tento identifikátor je vygenerován, když odesílatelův privátní klíč podepíše transakci a potvrdí, že odesílatel tuto transakci autorizoval.
+- `nonce` – sekvenčně se zvyšující čítač, který udává číslo transakce z účtu
+- `value` – množství ETH, které se má převést od odesílatele k příjemci (vyjádřeno ve WEI, kde 1 ETH se rovná 1e+18 wei)
+- `input data` – volitelné pole pro zahrnutí libovolných dat
+- `gasLimit` – maximální množství jednotek paliva, které může transakce spotřebovat. [EVM](/developers/docs/evm/opcodes) specifikuje jednotky paliva potřebné pro každý výpočetní krok
+- `maxPriorityFeePerGas` – maximální cena spotřebovaného paliva, která bude zahrnuta jako spropitné pro validátora
+- `maxFeePerGas` – maximální poplatek za jednotku paliva, který je uživatel ochoten zaplatit za transakci (včetně `baseFeePerGas` a `maxPriorityFeePerGas`)
-Palivo reprezentuje výpočetní výkon potřebný k provedení transakce validátorem. Uživatelé musí za tento výpočet zaplatit poplatek. `gasLimit` a `maxPriorityFeePerGas` určují maximální transakční poplatek zaplacený validátorovi. [Další informace o palivu](/developers/docs/gas/).
+Palivo reprezentuje výpočetní výkon potřebný k provedení transakce validátorem. Uživatelé musí za tento výpočet zaplatit poplatek. `gasLimit` a `maxPriorityFeePerGas` určují maximální transakční poplatek zaplacený validátorovi. [Více o palivu](/developers/docs/gas/).
Objekt transakce bude vypadat zhruba takto:
@@ -99,22 +100,26 @@ Ukázková odpověď:
}
```
-- `raw` je podepsaná transakce v kódovaném formátu [Recursive Length Prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp).
-- `tx` je podepsaná transakce ve formátu JSON.
+- `raw` je podepsaná transakce v kódovaném formátu [Recursive Length Prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp)
+- `tx` je podepsaná transakce ve formátu JSON
S hashem podpisu může být transakce kryptograficky ověřena jako pocházející od odesílatele a odeslána do sítě.
### Datové pole {#the-data-field}
-Většina transakcí putuje do kontraktu z externě vlastněného účtu. Většina kontraktů je napsána v jazyce Solidity a interpretuje své datové pole v souladu se specifikací [aplikačního binárního rozhraní (ABI)](/glossary/#abi).
+Většina transakcí putuje do kontraktu z externě vlastněného účtu.
+Většina kontraktů je napsána v Solidity a interpretuje své datové pole v souladu s [aplikačním binárním rozhraním (ABI)](/glossary/#abi).
-První čtyři bajty specifikují, která funkce se má zavolat, pomocí hashe názvu funkce a jejích argumentů. Někdy můžete identifikovat funkci pomocí selektoru s využitím [této databáze](https://www.4byte.directory/signatures/).
+První čtyři bajty specifikují, která funkce se má zavolat, pomocí hashe názvu funkce a jejích argumentů.
+Někdy můžete funkci identifikovat ze selektoru pomocí [této databáze](https://www.4byte.directory/signatures/).
-Zbytek calldat jsou argumenty, [zakódované podle specifikace ABI](https://docs.soliditylang.org/en/latest/abi-spec.html#formal-specification-of-the-encoding).
+Zbytek calldat jsou argumenty, [zakódované podle specifikací ABI](https://docs.soliditylang.org/en/latest/abi-spec.html#formal-specification-of-the-encoding).
-Např. se podívejme na [tuto transakci](https://etherscan.io/tx/0xd0dcbe007569fcfa1902dae0ab8b4e078efe42e231786312289b1eee5590f6a1). K zobrazení calldat použijte možnost **„Click to see More“**.
+Podívejme se například na [tuto transakci](https://etherscan.io/tx/0xd0dcbe007569fcfa1902dae0ab8b4e078efe42e231786312289b1eee5590f6a1).
+Použijte **Click to see More** k zobrazení calldat.
-Funkční selektor je `0xa9059cbb`. Existuje několik [známých funkcí s tímto podpisem](https://www.4byte.directory/signatures/?bytes4_signature=0xa9059cbb). V tomto případě byl [zdrojový kód kontraktu](https://etherscan.io/address/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48#code) nahrán na Etherscan, takže víme, že funkce je `transfer(address,uint256)`.
+Funkční selektor je `0xa9059cbb`. Existuje několik [známých funkcí s tímto podpisem](https://www.4byte.directory/signatures/?bytes4_signature=0xa9059cbb).
+V tomto případě byl [zdrojový kód kontraktu](https://etherscan.io/address/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48#code) nahrán na Etherscan, takže víme, že funkce je `transfer(address,uint256)`.
Zbytek dat je:
@@ -123,7 +128,9 @@ Zbytek dat je:
000000000000000000000000000000000000000000000000000000003b0559f4
```
-Podle specifikací ABI se celočíselné hodnoty (jako jsou adresy, což jsou 20bajtová celá čísla) zobrazují v ABI jako 32bajtová slova, doplněná nulami na začátku. Takže víme, že adresa `to` je [`4f6742badb049791cd9a37ea913f2bac38d01279`](https://etherscan.io/address/0x4f6742badb049791cd9a37ea913f2bac38d01279). `value` je 0x3b0559f4 = 990206452.
+Podle specifikací ABI se celočíselné hodnoty (jako jsou adresy, což jsou 20bajtová celá čísla) zobrazují v ABI jako 32bajtová slova, doplněná nulami na začátku.
+Takže víme, že adresa `to` je [`4f6742badb049791cd9a37ea913f2bac38d01279`](https://etherscan.io/address/0x4f6742badb049791cd9a37ea913f2bac38d01279).
+`value` je 0x3b0559f4 = 990206452.
## Typy transakcí {#types-of-transactions}
@@ -135,9 +142,9 @@ Na Ethereu existuje několik různých typů transakcí:
### O palivu {#on-gas}
-Jak bylo zmíněno, vykonání transakce stojí [palivo](/developers/docs/gas/). Jednoduché převodní transakce vyžadují 21 000 jednotek paliva.
+Jak již bylo zmíněno, vykonání transakcí stojí [palivo](/developers/docs/gas/). Jednoduché převodní transakce vyžadují 21 000 jednotek paliva.
-Takže pokud Bob chce poslat Alici 1 ETH s `baseFeePerGas` 190 gwei a `maxPriorityFeePerGas` 10 gwei, bude muset zaplatit následující poplatek:
+Aby Bob poslal Alici 1 ETH při `baseFeePerGas` 190 gwei a `maxPriorityFeePerGas` 10 gwei, bude muset zaplatit následující poplatek:
```
(190 + 10) * 21 000 = 4 200 000 gwei
@@ -145,16 +152,16 @@ Takže pokud Bob chce poslat Alici 1 ETH s `baseFeePerGas` 190 gwei a `maxPriori
0,0042 ETH
```
-Zůstatek Bobova účtu bude snížen **o 1,0042 ETH** (1 ETH pro Alici + 0,0042 ETH na poplatky za palivo).
+Z Bobova účtu se odečte **-1,0042 ETH** (1 ETH pro Alici + 0,0042 ETH na poplatcích za palivo)
-Zůstatek na Alicině účtu bude navýšen **o 1,0 ETH**.
+Na Alicin účet bude připsáno **+1,0 ETH**
-Základní poplatek **0,00399 ETH** bude spálen.
+Základní poplatek bude spálen **-0,00399 ETH**
-Validátor si ponechá spropitné ve výši **0,000210 ETH**.
+Validátor si ponechá spropitné **+0,000210 ETH**
-
- _Schéma převzato z [ilustrace Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+
+_Diagram převzat z [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
Jakékoliv palivo, které nebude v transakci použito, bude vráceno na účet odesílatele.
@@ -162,18 +169,21 @@ Jakékoliv palivo, které nebude v transakci použito, bude vráceno na účet o
Palivo je potřeba pro jakoukoliv transakci, která zahrnuje chytrý kontrakt.
-Chytré kontrakty mohou také obsahovat funkce známé jako [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) nebo [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions), které nemění stav kontraktu. Volání těchto funkcí z externě vlastněného účtu tedy nevyžaduje žádné palivo. Základní RPC volání pro tento scénář je [`eth_call`](/developers/docs/apis/json-rpc#eth_call).
+Chytré kontrakty mohou také obsahovat funkce známé jako [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) nebo [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions), které nemění stav kontraktu. Volání těchto funkcí z externě vlastněného účtu tedy nevyžaduje žádné palivo. Podkladové volání RPC pro tento scénář je [`eth_call`](/developers/docs/apis/json-rpc#eth_call).
-Na rozdíl od volání pomocí `eth_call` jsou tyto funkce `view` nebo `pure` často volány interně (tj. z kontraktu samotného nebo z jiného kontraktu), což stojí palivo.
+Na rozdíl od přístupu pomocí `eth_call` se tyto funkce `view` nebo `pure` také běžně volají interně (tj. ze samotného kontraktu nebo z jiného kontraktu), což stojí palivo.
## Životní cyklus transakce {#transaction-lifecycle}
Jakmile je transakce odeslána, následuje tento proces:
-1. Kryptograficky je vygenerován hash transakce: `0x97d99bc7729211111a21b12c933c949d4f31684f1d6954ff477d0477538ff017`.
+1. Haš transakce je kryptograficky vygenerován:
+ `0x97d99bc7729211111a21b12c933c949d4f31684f1d6954ff477d0477538ff017`
2. Transakce je poté poslána do sítě a přidána do transakčního poolu obsahujícího všechny ostatní čekající transakce v síti.
3. Validátor musí vaši transakci vybrat a zahrnout ji do bloku, aby bylo možné ji ověřit a považovat za „úspěšnou“.
-4. S postupem času bude blok obsahující vaši transakci označen jako „oprávněný“ a poté „finalizovaný“. Tato vylepšení znamenají mnohem větší jistotu, že vaše transakce byla úspěšná a nikdy nebude změněna. Jakmile je blok „finalizován“, mohl by být změněn pouze útokem na úrovni sítě, který by stál několik miliard dolarů.
+4. S postupem času bude blok obsahující vaši transakci označen jako „oprávněný“ a poté „finalizovaný“. Tato vylepšení poskytují mnohem větší jistotu,
+ že vaše transakce byla úspěšná a nikdy nebude změněna. Jakmile je blok „finalizován“, mohl by být změněn pouze
+ útokem na úrovni sítě, který by stál mnoho miliard dolarů.
## Vizuální ukázka {#a-visual-demo}
@@ -181,13 +191,13 @@ Na tomto videu vás Austin provede transakcemi, palivem a těžbou.
-## Typizovaná transakční obálka {#typed-transaction-envelope}
+## Typovaná obálka transakce {#typed-transaction-envelope}
-Ethereum původně mělo pro transakce jen jeden formát. Každá transakce obsahovala pole nonce, gas price, gas limit, adresu to, value, data, v, r a s. Tato pole jsou [RLP-kódovaná](/developers/docs/data-structures-and-encoding/rlp/) a vypadají zhruba takto:
+Ethereum původně mělo pro transakce jen jeden formát. Každá transakce obsahovala pole nonce, gas price, gas limit, adresu to, value, data, v, r a s. Tato pole jsou [kódována pomocí RLP](/developers/docs/data-structures-and-encoding/rlp/) a vypadají přibližně takto:
`RLP([nonce, gasPrice, gasLimit, to, value, data, v, r, s])`
-Ethereum se vyvinulo tak, aby podporovalo více typů transakcí a umožnilo implementaci nových funkcí, jako jsou seznamy přístupu a [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), aniž by to ovlivnilo starší formáty transakcí.
+Ethereum se vyvinulo, aby podporovalo více typů transakcí a umožnilo implementaci nových funkcí, jako jsou přístupové seznamy a [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), aniž by to ovlivnilo starší formáty transakcí.
[EIP-2718](https://eips.ethereum.org/EIPS/eip-2718) toto chování umožňuje. Transakce jsou interpretovány takto:
@@ -198,24 +208,26 @@ Kde jsou pole definována jako:
- `TransactionType` – číslo mezi 0 a 0x7f, což umožňuje celkem 128 možných typů transakcí.
- `TransactionPayload` – libovolné pole bajtů definované typem transakce.
-Na základě hodnoty `TransactionType` může být transakce klasifikována jako:
+Na základě hodnoty `TransactionType` lze transakci klasifikovat jako:
-1. **Transakce typu 0 (Legacy):** Původní formát transakce používaný od spuštění Etherea. Neobsahuje funkce z [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), jako je dynamický výpočet poplatků za palivo nebo seznamy přístupu pro chytré kontrakty. Legacy transakce nemají specifický prefix označující jejich typ ve svém serializovaném formátu, začínají bajtem `0xf8` při použití kódování [Recursive Length Prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp). Hodnota TransactionType pro tyto transakce je `0x0`.
+1. **Transakce typu 0 (staršího typu):** Původní formát transakce používaný od spuštění Etherea. Nezahrnují funkce z [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), jako jsou dynamické výpočty poplatků za palivo nebo přístupové seznamy pro chytré kontrakty. Starší transakce nemají ve svém serializovaném tvaru specifický prefix označující jejich typ, začínají bajtem `0xf8` při použití kódování [Recursive Length Prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp). Hodnota TransactionType pro tyto transakce je `0x0`.
-2. **Transakce typu 1**: Ty byly zavedeny v [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) jako součást [vylepšení Berlín](/ethereum-forks/#berlin) a zahrnují parametr `accessList`. Tento seznam specifikuje adresy a klíče úložiště, které by měla transakce kontaktovat, což může potenciálně snížit náklady na [palivo](/developers/docs/gas/) pro složité transakce zahrnující chytré kontrakty. Změny v tržním mechanismu poplatků podle EIP-1559 nejsou v transakcích typu 1 zahrnuty. Transakce typu 1 také obsahují parametr `yParity`, který může být buď `0x0` nebo `0x1`, což označuje paritu hodnoty y v podpisu secp256k1. Tyto transakce jsou identifikovány začátkem bajtu `0x01` a jejich hodnota TransactionType je `0x1`.
+2. **Transakce typu 1:** Byly zavedeny v [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) jako součást [vylepšení Berlin](/ethereum-forks/#berlin) sítě Ethereum a zahrnují parametr `accessList`. Tento seznam uvádí adresy a klíče úložiště, ke kterým má transakce přistupovat, což pomáhá potenciálně snížit náklady na [palivo](/developers/docs/gas/) u složitých transakcí zahrnujících chytré kontrakty. Změny v tržním mechanismu poplatků podle EIP-1559 nejsou v transakcích typu 1 zahrnuty. Transakce typu 1 také obsahují parametr `yParity`, který může být buď `0x0`, nebo `0x1`, a označuje paritu y-hodnoty podpisu secp256k1. Jsou identifikovány začátečním bajtem `0x01` a jejich hodnota TransactionType je `0x1`.
-3. **Transakce typu 2**, běžně označovány jako transakce podle EIP-1559, byly zavedeny v [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) v rámci [vylepšení Londýn](/ethereum-forks/#london). Staly se standardním typem transakcí na Ethereu. Tyto transakce zavádějí nový mechanismus trhu s poplatky, který zlepšuje předvídatelnost rozdělením poplatku za transakci na základní poplatek a prioritní poplatek. Začínají bajtem `0x02` a zahrnují pole, jako je `maxPriorityFeePerGas` a `maxFeePerGas`. Transakce typu 2 jsou nyní výchozí díky své flexibilitě a efektivitě, zejména v obdobích vysokého zatížení sítě, protože uživatelům umožňují lépe plánovat poplatky za transakce. Hodnota TransactionType pro tyto transakce je `0x2`.
+3. **Transakce typu 2**, běžně označované jako transakce EIP-1559, jsou transakce zavedené v [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), v rámci [vylepšení London](/ethereum-forks/#london) sítě Ethereum. Staly se standardním typem transakcí na Ethereu. Tyto transakce zavádějí nový mechanismus trhu s poplatky, který zlepšuje předvídatelnost rozdělením poplatku za transakci na základní poplatek a prioritní poplatek. Začínají bajtem `0x02` a obsahují pole jako `maxPriorityFeePerGas` a `maxFeePerGas`. Transakce typu 2 jsou nyní výchozí díky své flexibilitě a efektivitě, zejména v obdobích vysokého zatížení sítě, protože uživatelům umožňují lépe plánovat poplatky za transakce. Hodnota TransactionType pro tyto transakce je `0x2`.
+4. **Transakce typu 3 (Blob)** byly zavedeny v [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) jako součást [vylepšení Dencun](/ethereum-forks/#dencun) sítě Ethereum. Tyto transakce jsou navrženy pro efektivnější zpracování dat typu „blob“ (Binary Large Objects), což je výhodné zejména pro rollupy druhé vrstvy, protože poskytují způsob, jak odesílat data do sítě Ethereum s nižšími náklady. Blob transakce obsahují další pole jako `blobVersionedHashes`, `maxFeePerBlobGas` a `blobGasPrice`. Začínají bajtem `0x03` a jejich hodnota TransactionType je `0x3`. Blob transakce představují významné zlepšení v dostupnosti dat a možnostech škálování Etherea.
+5. **Transakce typu 4** byly zavedeny v [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) jako součást [vylepšení Pectra](/roadmap/pectra/) sítě Ethereum. Tyto transakce jsou navrženy tak, aby byly dopředně kompatibilní s abstrakcí účtu. Umožňují EOA, aby se dočasně chovaly jako účty chytrých kontraktů, aniž by byla ohrožena jejich původní funkčnost. Obsahují parametr `authorization_list`, který určuje chytrý kontrakt, na který EOA deleguje svou pravomoc. Po transakci bude pole kódu EOA obsahovat adresu delegovaného chytrého kontraktu.
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [EIP-2718: Typizovaná transakční obálka](https://eips.ethereum.org/EIPS/eip-2718)
+- [EIP-2718: Typovaná obálka transakce](https://eips.ethereum.org/EIPS/eip-2718)
_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
## Související témata {#related-topics}
- [Účty](/developers/docs/accounts/)
-- [Virtuální stroj Ethereum (EVM)](/developers/docs/evm/)
+- [Ethereum Virtual Machine (EVM)](/developers/docs/evm/)
- [Palivo](/developers/docs/gas/)
diff --git a/public/content/translations/cs/developers/docs/web2-vs-web3/index.md b/public/content/translations/cs/developers/docs/web2-vs-web3/index.md
index feb89f5bc28..86cef8145f3 100644
--- a/public/content/translations/cs/developers/docs/web2-vs-web3/index.md
+++ b/public/content/translations/cs/developers/docs/web2-vs-web3/index.md
@@ -1,6 +1,6 @@
---
title: Web2 vs. Web3
-description:
+description: Porovnejte centralizované služby Web2 s decentralizovanými aplikacemi Web3 postavenými na technologii blockchainu Ethereum.
lang: cs
---
@@ -17,10 +17,10 @@ Většina vývojářů Web3 se rozhodlo vytvářet dappky z důvodu inherentní
- Platby jsou integrované prostřednictvím nativního tokenu, etheru (ETH).
- Ethereum je Turingovsky úplné, což znamená, že na něm můžete naprogramovat prakticky cokoli.
-## Praktické srovnání {#practical-comparisons}
+## Praktická srovnání {#practical-comparisons}
-| Web2 | Web3 |
-| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| Web2 | Web3 |
+| --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Twitter může cenzurovat jakýkoliv účet nebo tweet. | Tweety ve Web3 by byly necenzurovatelné, protože je taková síť decentralizovaná. |
| Platební služba se může rozhodnout, že uživatelům neumožní platby za určitý typ práce. | Platební aplikace na Web3 nevyžadují osobní údaje a nemohou zabránit žádným platbám. |
| Servery pro aplikace založené na tvorbě obsahu by mohly přestat fungovat a ovlivnit příjmy uživatelů. | Servery Web3 nemohou přestat fungovat – jako svůj backend používají Ethereum, decentralizovanou síť tisíců počítačů. |
@@ -36,27 +36,27 @@ Web3 má v současnosti několik omezení:
- Přístupnost – nedostatek integrace v moderních webových prohlížečích činí Web3 pro většinu uživatelů méně přístupným.
- Náklady – většina úspěšných dappek umísťuje na blockchain jen malé části svého kódu, protože je to drahé.
-## Centralizace vs decentralizace {#centralization-vs-decentralization}
+## Centralizace vs. decentralizace {#centralization-vs-decentralization}
V následující tabulce jsou uvedeny některé obecné výhody a nevýhody centralizovaných a decentralizovaných digitálních sítí.
-| Centralizované systémy | Decentralizované systémy |
-| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Nízký síťový průměr (všichni účastníci jsou připojeni k centrální autoritě) – informace se šíří rychle, protože šíření zajišťuje centrální autorita s velkými výpočetními zdroji. | Účastníci na opačných stranách sítě mohou být vzdáleni několik spojení. Což znamená, že šíření informací z jedné strany sítě na druhou může trvat dlouho. |
-| Obvykle vyšší výkon (vyšší propustnost, spotřebovává méně celkových výpočetních zdrojů) a jednodušší implementace. | Obvykle nižší výkon (nižší propustnost, spotřebovává více celkových výpočetních zdrojů) a složitější implementace. |
-| V případě datového konfliktu je řešení jasné a snadné – konečným zdrojem pravdy je centrální autorita. | Při řešení sporů je třeba spoléhat se na protokol (často složitý), pokud účastníci poskytují rozdílné informace o stavu dat, který má být synchronizován. |
+| Centralizované systémy | Decentralizované systémy |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Nízký síťový průměr (všichni účastníci jsou připojeni k centrální autoritě) – informace se šíří rychle, protože šíření zajišťuje centrální autorita s velkými výpočetními zdroji. | Účastníci na opačných stranách sítě mohou být vzdáleni několik spojení. Což znamená, že šíření informací z jedné strany sítě na druhou může trvat dlouho. |
+| Obvykle vyšší výkon (vyšší propustnost, spotřebovává méně celkových výpočetních zdrojů) a jednodušší implementace. | Obvykle nižší výkon (nižší propustnost, spotřebovává více celkových výpočetních zdrojů) a složitější implementace. |
+| V případě datového konfliktu je řešení jasné a snadné – konečným zdrojem pravdy je centrální autorita. | Při řešení sporů je třeba spoléhat se na protokol (často složitý), pokud účastníci poskytují rozdílné informace o stavu dat, který má být synchronizován. |
| Jediný bod selhání: Nečestní aktéři mohou potenciálně zničit síť tím, že zacílí na centrální autoritu. | Jediný bod selhání neexistuje: Síť může fungovat, i když je velká část účastníků napadena nebo vyřazena. |
| Koordinace mezi účastníky sítě je mnohem jednodušší a je řízena centrální autoritou. Centrální autorita může s velmi malým odporem přinutit účastníky sítě přijmout vylepšení, aktualizace protokolu atd. | Koordinace je často obtížná, protože žádný jeden agent nemá poslední slovo v rozhodnutích na úrovni sítě, vylepšení protokolu atd. V nejhorším případě je síť náchylná k tříštění, pokud dojde k neshodám ohledně změn protokolu. |
-| Centrální autorita může cenzurovat data, což může potenciálně odříznout části sítě od interakce se zbytkem sítě. | Cenzura je mnohem těžší, protože existuje mnoho způsobů, jak po síti sířit informace. |
-| Účast v síti je řízena centrální autoritou. | Kdokoli se může do sítě připojit, nejsou zde žádní „hlídači vstupu“. V ideálním případě jsou náklady na vstup do sítě velmi nízké. |
+| Centrální autorita může cenzurovat data, což může potenciálně odříznout části sítě od interakce se zbytkem sítě. | Cenzura je mnohem těžší, protože existuje mnoho způsobů, jak po síti sířit informace. |
+| Účast v síti je řízena centrální autoritou. | Kdokoli se může do sítě připojit, nejsou zde žádní „hlídači vstupu“. V ideálním případě jsou náklady na vstup do sítě velmi nízké. |
Poznámka: Tyto vzorce jsou obecné a nemusí platit pro každou síť. Navíc v reálném světě leží míra centralizace/decentralizace na spektru. Žádná síť není zcela centralizovaná nebo zcela decentralizovaná.
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
- [Co je Web3?](/web3/) – _ethereum.org_
-- [The Architecture of a Web 3.0 application](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) – _Preethi Kasireddy_
-- [Význam decentralizace](https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274) – _6. února 2017, Vitalik Buterin_
-- [Proč na decentralizaci záleží](https://medium.com/s/story/why-decentralization-matters-5e3f79f7638e) – _18. února 2018, Chris Dixon_
-- [Co je Web 3.0 a proč na něm záleží](https://medium.com/fabric-ventures/what-is-web-3-0-why-it-matters-934eb07f3d2b) – _31. prosince 2019, Max Mersch a Richard Muirhead_
-- [Proč potřebujeme Web 3.0](https://medium.com/@gavofyork/why-we-need-web-3-0-5da4f2bf95ab) – _12. září 2018, Gavin Wood_
+- [Architektura aplikace Web 3.0](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) – _Preethi Kasireddy_
+- [Význam decentralizace](https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274) _6. února 2017 – Vitalik Buterin_
+- [Proč na decentralizaci záleží](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) _18. února 2018 – Chris Dixon_
+- [Co je Web 3.0 a proč na něm záleží](https://medium.com/fabric-ventures/what-is-web-3-0-why-it-matters-934eb07f3d2b) _31. prosince 2019 – Max Mersch and Richard Muirhead_
+- [Proč potřebujeme Web 3.0](https://gavofyork.medium.com/why-we-need-web-3-0-5da4f2bf95ab) _12. září 2018 – Gavin Wood_
diff --git a/public/content/translations/cs/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md b/public/content/translations/cs/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
new file mode 100644
index 00000000000..a7a8720420a
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
@@ -0,0 +1,300 @@
+---
+title: Úvod do Etherea pro vývojáře v Pythonu, 1. část
+description: Úvod do vývoje na Ethereu, zvláště užitečný pro ty, kdo znají programovací jazyk Python.
+author: Marc Garreau
+lang: cs
+tags: [ "python", "web3.py" ]
+skill: beginner
+published: 2020-09-08
+source: Snake charmers
+sourceUrl: https://snakecharmers.ethereum.org/a-developers-guide-to-ethereum-pt-1/
+---
+
+Takže jsi slyšel o tomhle Ethereu a jsi připravený vydat se do králičí nory? V tomto příspěvku si rychle projdeme základy blockchainu a pak tě necháme interagovat se simulovaným uzlem sítě Ethereum – číst data z bloků, kontrolovat zůstatky na účtech a odesílat transakce. Cestou si také ukážeme rozdíly mezi tradičními způsoby tvorby aplikací a tímto novým decentralizovaným paradigmatem.
+
+## (Nepovinné) předpoklady {#soft-prerequisites}
+
+Tento příspěvek se snaží být přístupný širokému okruhu vývojářů. [Nástroje pro Python](/developers/docs/programming-languages/python/) sice použijeme, ale jsou jen prostředkem k předání myšlenek – nevadí, pokud nejsi vývojář v Pythonu. Budu však předpokládat, že už pár věcí znáš, abychom se mohli rychle přesunout k částem specifickým pro Ethereum.
+
+Předpoklady:
+
+- Vyznáš se v terminálu,
+- Napsal jsi pár řádků kódu v Pythonu,
+- na svém počítači máš nainstalovaný Python verze 3.6 nebo vyšší (důrazně doporučujeme použít [virtuální prostředí](https://realpython.com/effective-python-environment/#virtual-environments)) a
+- používal jsi `pip`, instalátor balíčků pro Python.
+ I když něco z toho nesplňuješ nebo si neplánuješ kód z tohoto článku zkoušet, nejspíš i tak všechno bez problémů pochopíš.
+
+## Stručně o blockchainech {#blockchains-briefly}
+
+Ethereum lze popsat mnoha způsoby, ale v jeho jádru je blockchain. Blockchainy se skládají z řady bloků, takže začněme u nich. Zjednodušeně řečeno, každý blok na blockchainu Etherea je jen několik metadat a seznam transakcí. Ve formátu JSON to vypadá nějak takto:
+
+```json
+{
+ "number": 1234567,
+ "hash": "0xabc123...",
+ "parentHash": "0xdef456...",
+ ...,
+ "transactions": [...]
+}
+```
+
+Každý [blok](/developers/docs/blocks/) má odkaz na blok, který mu předcházel; `parentHash` je jednoduše haš předchozího bloku.
+
+Poznámka: Ethereum pravidelně používá hašovací funkce k vytváření hodnot pevné velikosti („hašů“). Haše hrají v Ethereu důležitou roli, ale prozatím si je můžeš bezpečně představit jako jedinečné identifikátory.
+
+
+
+_Blockchain je v podstatě spojový seznam; každý blok má odkaz na předchozí blok._
+
+Tato datová struktura není nijak nová, ale pravidla (tj. protokoly peer-to-peer), která řídí síť, ano. Neexistuje žádná centrální autorita; síť peerů musí spolupracovat na udržení sítě a soutěžit o to, které transakce zahrnout do dalšího bloku. Takže když chceš poslat nějaké peníze kamarádovi, musíš tuto transakci odvysílat do sítě a pak počkat, až bude zahrnuta do některého z nadcházejících bloků.
+
+Jediný způsob, jak může blockchain ověřit, že peníze byly skutečně poslány od jednoho uživatele k druhému, je použití měny, která je pro daný blockchain nativní (tj. vytvořená a řízená jím). V Ethereu se tato měna nazývá ether a blockchain Etherea obsahuje jediný oficiální záznam o zůstatcích na účtech.
+
+## Nové paradigma {#a-new-paradigm}
+
+Tento nový decentralizovaný technologický stack dal vzniknout novým vývojářským nástrojům. Takové nástroje existují v mnoha programovacích jazycích, ale my se na ně podíváme z pohledu Pythonu. Znovu opakuji: i když Python není tvůj preferovaný jazyk, neměl by být velký problém vše sledovat.
+
+Vývojáři v Pythonu, kteří chtějí interagovat s Ethereem, pravděpodobně sáhnou po [Web3.py](https://web3py.readthedocs.io/). Web3.py je knihovna, která výrazně zjednodušuje způsob, jakým se připojíš k uzlu Ethereum a poté z něj odesíláš a přijímáš data.
+
+Poznámka: „Uzel sítě Ethereum“ a „klient sítě Ethereum“ se používají zaměnitelně. V obou případech se jedná o software, který spouští účastník sítě Ethereum. Tento software umí číst data bloků, přijímat aktualizace, když jsou do řetězce přidány nové bloky, vysílat nové transakce a další. Technicky vzato je klient software a uzel je počítač, na kterém software běží.
+
+[Klienti sítě Ethereum](/developers/docs/nodes-and-clients/) mohou být nakonfigurováni tak, aby byli dosažitelní pomocí [IPC](https://wikipedia.org/wiki/Inter-process_communication), HTTP nebo Websockets, takže Web3.py bude muset tuto konfiguraci zrcadlit. Web3.py označuje tyto možnosti připojení jako **providery**. Budeš si chtít vybrat jednoho ze tří providerů, abys propojil instanci Web3.py se svým uzlem.
+
+
+
+_Nakonfiguruj uzel Ethereum a Web3.py tak, aby komunikovaly pomocí stejného protokolu, např. IPC v tomto diagramu._
+
+Jakmile je Web3.py správně nakonfigurováno, můžeš začít interagovat s blockchainem. Zde je několik příkladů použití Web3.py jako ukázka toho, co přijde:
+
+```python
+# čtení dat bloku:
+w3.eth.get_block('latest')
+
+# odeslání transakce:
+w3.eth.send_transaction({'from': ..., 'to': ..., 'value': ...})
+```
+
+## Instalace {#installation}
+
+V tomto návodu budeme pracovat pouze v interpretu Pythonu. Nebudeme vytvářet žádné adresáře, soubory, třídy ani funkce.
+
+Poznámka: V níže uvedených příkladech jsou příkazy začínající na `$` určeny ke spuštění v terminálu. (Znak `$` nepiš, označuje pouze začátek řádku.)
+
+Nejprve si nainstaluj [IPython](https://ipython.org/) pro uživatelsky přívětivé prostředí k prozkoumávání. IPython nabízí mimo jiné doplňování pomocí tabulátoru, což výrazně usnadňuje zjištění, co všechno je v Web3.py možné.
+
+```bash
+pip install ipython
+```
+
+Web3.py je publikován pod názvem `web3`. Nainstaluj ho takto:
+
+```bash
+pip install web3
+```
+
+Ještě jedna věc – později budeme simulovat blockchain, což vyžaduje několik dalších závislostí. Můžeš si je nainstalovat pomocí:
+
+```bash
+pip install 'web3[tester]'
+```
+
+Máš všechno připravené a můžeme začít!
+
+Poznámka: Balíček `web3[tester]` funguje až do Pythonu 3.10.xx
+
+## Spuštění sandboxu {#spin-up-a-sandbox}
+
+Otevři si nové prostředí Python spuštěním `ipython` v terminálu. Je to srovnatelné se spuštěním `python`, ale s více vychytávkami.
+
+```bash
+ipython
+```
+
+Tím se vypíší informace o verzích Pythonu a IPythonu, které používáš, a pak bys měl vidět výzvu čekající na zadání:
+
+```python
+In [1]:
+```
+
+Právě se díváš na interaktivní Python shell. V podstatě je to sandbox, ve kterém si můžeš hrát. Pokud ses dostal až sem, je čas importovat Web3.py:
+
+```python
+In [1]: from web3 import Web3
+```
+
+## Představení modulu Web3 {#introducing-the-web3-module}
+
+Kromě toho, že je modul [Web3](https://web3py.readthedocs.io/en/stable/overview.html#base-api) bránou do Etherea, nabízí i několik pomocných funkcí. Pojďme si jich pár prozkoumat.
+
+V aplikaci pro Ethereum budeš běžně potřebovat převádět nominální hodnoty měn. Modul Web3 poskytuje pro tento účel několik pomocných metod: [from_wei](https://web3py.readthedocs.io/en/stable/web3.main.html#web3.Web3.from_wei) a [to_wei](https://web3py.readthedocs.io/en/stable/web3.main.html#web3.Web3.to_wei).
+
+
+Poznámka: Počítače jsou proslulé tím, že špatně zvládají desetinnou matematiku. Aby se tomu předešlo, vývojáři často ukládají dolarové částky v centech. Například položka s cenou 5,99 $ může být v databázi uložena jako 599.
+
+Podobný vzorec se používá při zpracování transakcí v etheru. Avšak místo dvou desetinných míst má ether 18! Nejmenší nominální hodnota etheru se nazývá wei, takže to je hodnota, která se zadává při odesílání transakcí.
+
+1 ether = 1000000000000000000 wei
+
+1 wei = 0,000000000000000001 etheru
+
+
+
+Zkus si převést některé hodnoty do a z wei. Všimni si, že [existují názvy pro mnoho nominálních hodnot](https://web3py.readthedocs.io/en/stable/troubleshooting.html#how-do-i-convert-currency-denominations) mezi etherem a wei. Jednou z nejznámějších mezi nimi je **gwei**, protože se v ní často uvádějí transakční poplatky.
+
+```python
+In [2]: Web3.to_wei(1, 'ether')
+Out[2]: 1000000000000000000
+
+In [3]: Web3.from_wei(500000000, 'gwei')
+Out[3]: Decimal('0.5')
+```
+
+Další pomocné metody v modulu Web3 zahrnují převodníky datových formátů (např. [`toHex`](https://web3py.readthedocs.io/en/stable/web3.main.html#web3.Web3.toHex)), pomocné funkce pro adresy (např. [`isAddress`](https://web3py.readthedocs.io/en/stable/web3.main.html#web3.Web3.isAddress)) a hašovací funkce (např. [`keccak`](https://web3py.readthedocs.io/en/stable/web3.main.html#web3.Web3.keccak)). Mnohým z nich se budeme věnovat později v této sérii. Chceš-li zobrazit všechny dostupné metody a vlastnosti, využij automatické doplňování v IPythonu zadáním `Web3`. a dvojitým stisknutím klávesy Tab za tečkou.
+
+## Komunikace s chainem {#talk-to-the-chain}
+
+Pomocné metody jsou fajn, ale pojďme se přesunout k blockchainu. Dalším krokem je nakonfigurovat Web3.py pro komunikaci s uzlem Etherea. Zde máme možnost použít providery IPC, HTTP nebo Websocket.
+
+Tudy se nevydáme, ale příklad kompletního pracovního postupu s použitím HTTP Provideru by mohl vypadat asi takto:
+
+- Stáhni si uzel Etherea, např. [Geth](https://geth.ethereum.org/).
+- Spusť Geth v jednom okně terminálu a počkej, až se synchronizuje se sítí. Výchozí port HTTP je `8545`, ale je konfigurovatelný.
+- Řekni Web3.py, aby se připojil k uzlu přes HTTP na `localhost:8545`.
+ `w3 = Web3(Web3.HTTPProvider('http://127.0.0.1:8545'))`
+- Použij instanci `w3` k interakci s uzlem.
+
+I když je to jeden ze „skutečných“ způsobů, jak to udělat, proces synchronizace trvá hodiny a je zbytečný, pokud chceš jen vývojové prostředí. Web3.py pro tento účel zpřístupňuje čtvrtého providera, **EthereumTesterProvider**. Tento tester provider se připojuje k simulovanému uzlu Etherea s uvolněnými oprávněními a falešnou měnou na hraní.
+
+
+
+_EthereumTesterProvider se připojuje k simulovanému uzlu a je praktický pro rychlé vytvoření vývojového prostředí._
+
+Tento simulovaný uzel se nazývá [eth-tester](https://github.com/ethereum/eth-tester) a nainstalovali jsme si ho jako součást příkazu `pip install web3[tester]`. Konfigurace Web3.py pro použití tohoto tester providera je tak jednoduchá:
+
+```python
+In [4]: w3 = Web3(Web3.EthereumTesterProvider())
+```
+
+Teď jsi připravený surfovat na chainu! Takhle se to neříká. To jsem si právě vymyslel. Pojďme na rychlou prohlídku.
+
+## Rychlá prohlídka {#the-quick-tour}
+
+Nejdříve ze všeho, kontrola funkčnosti:
+
+```python
+In [5]: w3.is_connected()
+Out[5]: True
+```
+
+Jelikož používáme tester providera, není to příliš cenný test, ale pokud selže, je pravděpodobné, že jsi při vytváření instance proměnné `w3` něco špatně napsal. Zkontroluj si, že jsi zahrnul vnitřní závorky, tj. `Web3.EthereumTesterProvider()`.
+
+## Zastávka č. 1: [účty](/developers/docs/accounts/) {#tour-stop-1-accounts}
+
+Pro usnadnění tester provider vytvořil několik účtů a předem je nabil testovacím etherem.
+
+Nejprve se podívejme na seznam těchto účtů:
+
+```python
+In [6]: w3.eth.accounts
+Out[6]: ['0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf',
+ '0x2B5AD5c4795c026514f8317c7a215E218DcCD6cF',
+ '0x6813Eb9362372EEF6200f3b1dbC3f819671cBA69', ...]
+```
+
+Pokud tento příkaz spustíš, měl bys vidět seznam deseti řetězců, které začínají `0x`. Každý z nich je **veřejná adresa** a je v některých ohledech analogický číslu běžného účtu. Tuto adresu bys poskytl někomu, kdo by ti chtěl poslat ether.
+
+Jak již bylo zmíněno, tester provider předem nabil každý z těchto účtů testovacím etherem. Pojďme zjistit, kolik je na prvním účtu:
+
+```python
+In [7]: w3.eth.get_balance(w3.eth.accounts[0])
+Out[7]: 1000000000000000000000000
+```
+
+To je hodně nul! Než se s úsměvem vydáš do falešné banky, vzpomeň si na dřívější lekci o nominálních hodnotách měn. Hodnoty etheru jsou vyjádřeny v nejmenší nominální hodnotě, wei. Převeďme to na ether:
+
+```python
+In [8]: w3.from_wei(1000000000000000000000000, 'ether')
+Out[8]: Decimal('1000000')
+```
+
+Jeden milion testovacích etherů – to pořád není špatné.
+
+## Zastávka č. 2: data bloku {#tour-stop-2-block-data}
+
+Pojďme se podívat na stav tohoto simulovaného blockchainu:
+
+```python
+In [9]: w3.eth.get_block('latest')
+Out[9]: AttributeDict({
+ 'number': 0,
+ 'hash': HexBytes('0x9469878...'),
+ 'parentHash': HexBytes('0x0000000...'),
+ ...
+ 'transactions': []
+})
+```
+
+O bloku se vrací spousta informací, ale zde je třeba upozornit jen na pár věcí:
+
+- Číslo bloku je nula – bez ohledu na to, jak dávno jsi nakonfiguroval tester providera. Na rozdíl od skutečné sítě Ethereum, která přidává nový blok každých 12 sekund, tato simulace počká, dokud jí nedáš nějakou práci.
+- `transactions` je prázdný seznam ze stejného důvodu: ještě jsme nic neudělali. Tento první blok je **prázdný blok**, jen aby se spustil chain.
+- Všimni si, že `parentHash` je jen spousta prázdných bytů. To znamená, že se jedná o první blok v řetězci, známý také jako **genesis blok**.
+
+## Zastávka č. 3: [transakce](/developers/docs/transactions/) {#tour-stop-3-transactions}
+
+Zasekli jsme se na bloku nula, dokud nebude čekající transakce, tak mu ji dejme. Pošli pár testovacích etherů z jednoho účtu na druhý:
+
+```python
+In [10]: tx_hash = w3.eth.send_transaction({
+ 'from': w3.eth.accounts[0],
+ 'to': w3.eth.accounts[1],
+ 'value': w3.to_wei(3, 'ether'),
+ 'gas': 21000
+})
+```
+
+To je obvykle bod, kde bys čekal několik sekund, než se tvá transakce zahrne do nového bloku. Celý proces probíhá nějak takhle:
+
+1. Odešli transakci a uschovej si haš transakce. Dokud není vytvořen a odvysílán blok obsahující transakci, transakce je „čekající“.
+ `tx_hash = w3.eth.send_transaction({ …` `})`
+2. Počkej, až bude transakce zahrnuta do bloku:
+ `w3.eth.wait_for_transaction_receipt(tx_hash)`
+3. Pokračuj v logice aplikace. Pro zobrazení úspěšné transakce:
+ `w3.eth.get_transaction(tx_hash)`
+
+Naše simulované prostředí přidá transakci do nového bloku okamžitě, takže si transakci můžeme hned prohlédnout:
+
+```python
+In [11]: w3.eth.get_transaction(tx_hash)
+Out[11]: AttributeDict({
+ 'hash': HexBytes('0x15e9fb95dc39...'),
+ 'blockNumber': 1,
+ 'transactionIndex': 0,
+ 'from': '0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf',
+ 'to': '0x2B5AD5c4795c026514f8317c7a215E218DcCD6cF',
+ 'value': 3000000000000000000,
+ ...
+})
+```
+
+Zde uvidíš některé známé detaily: pole `from`, `to` a `value` by měla odpovídat vstupům našeho volání `send_transaction`. Další uklidňující věcí je, že tato transakce byla zahrnuta jako první transakce (`'transactionIndex': 0`) v bloku číslo 1.
+
+Úspěšnost této transakce můžeme také snadno ověřit kontrolou zůstatků na obou zúčastněných účtech. Tři ethery se měly přesunout z jednoho na druhý.
+
+```python
+In [12]: w3.eth.get_balance(w3.eth.accounts[0])
+Out[12]: 999996999979000000000000
+
+In [13]: w3.eth.get_balance(w3.eth.accounts[1])
+Out[13]: 1000003000000000000000000
+```
+
+To druhé vypadá dobře! Zůstatek se změnil z 1 000 000 na 1 000 003 etherů. Ale co se stalo s prvním účtem? Zdá se, že ztratil o něco více než tři ethery. Bohužel, nic v životě není zadarmo, a používání veřejné sítě Ethereum vyžaduje, abys odměnil ostatní účastníky sítě za jejich podporu. Z účtu, který transakci odeslal, byl odečten malý transakční poplatek – tento poplatek je množství spáleného paliva (21 000 jednotek paliva za převod ETH) vynásobené základním poplatkem, který se liší podle aktivity sítě, plus spropitné, které jde validátorovi, který transakci zahrne do bloku.
+
+Více o [palivu](/developers/docs/gas/#post-london)
+
+Poznámka: Ve veřejné síti jsou transakční poplatky proměnlivé v závislosti na poptávce v síti a na tom, jak rychle chceš, aby byla transakce zpracována. Pokud tě zajímá, jak se poplatky počítají, podívej se na můj dřívější příspěvek o tom, jak se transakce zahrnují do bloku.
+
+## A teď výdech {#and-breathe}
+
+Už jsme u toho nějakou dobu, takže se zdá, že je to dobré místo na přestávku. Králičí nora pokračuje a my budeme pokračovat v průzkumu v druhé části této série. Některé koncepty, které přijdou: připojení ke skutečnému uzlu, chytré kontrakty a tokeny. Máš další otázky? Dej mi vědět! Tvá zpětná vazba ovlivní, kam se odtud vydáme. Žádosti jsou vítány přes [Twitter](https://twitter.com/wolovim).
diff --git a/public/content/translations/cs/developers/tutorials/all-you-can-cache/index.md b/public/content/translations/cs/developers/tutorials/all-you-can-cache/index.md
new file mode 100644
index 00000000000..e75de37e753
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/all-you-can-cache/index.md
@@ -0,0 +1,867 @@
+---
+title: "Vše, co můžete cachovat"
+description: Naučte se, jak vytvořit a používat cachovací kontrakt pro levnější rollupové transakce
+author: Ori Pomerantz
+tags: [ "vrstva 2", "cachování", "úložiště" ]
+skill: intermediate
+published: 2022-09-15
+lang: cs
+---
+
+Při používání rollupů je cena jednoho bajtu v transakci o mnoho vyšší než cena slotu v úložišti. Proto dává smysl cachovat co nejvíce informací na blockchainu.
+
+V tomto článku se naučíte, jak vytvořit a používat cachovací kontrakt tak, aby se každá hodnota parametru, která se pravděpodobně použije vícekrát, uložila do cache a byla (po prvním použití) dostupná za použití mnohem menšího počtu bajtů, a jak napsat off-chain kód, který tuto cache využívá.
+
+Pokud chcete článek přeskočit a podívat se rovnou na zdrojový kód, [najdete ho zde](https://github.com/qbzzt/20220915-all-you-can-cache). Vývojový stack je [Foundry](https://getfoundry.sh/introduction/installation/).
+
+## Celkový návrh {#overall-design}
+
+Pro zjednodušení budeme předpokládat, že všechny parametry transakce jsou typu `uint256` o délce 32 bajtů. Když obdržíme transakci, zpracujeme každý parametr následujícím způsobem:
+
+1. Pokud je první bajt `0xFF`, vezměte následujících 32 bajtů jako hodnotu parametru a zapište ji do cache.
+
+2. Pokud je první bajt `0xFE`, vezměte následujících 32 bajtů jako hodnotu parametru, ale _nezapisujte_ ji do cache.
+
+3. Pro jakoukoliv jinou hodnotu vezměte horní čtyři bity jako počet dalších bajtů a spodní čtyři bity jako nejvýznamnější bity klíče cache. Zde je několik příkladů:
+
+ | Bajty v calldata | Klíč cache |
+ | :--------------- | ---------: |
+ | 0x0F | 0x0F |
+ | 0x10,0x10 | 0x10 |
+ | 0x12,0xAC | 0x02AC |
+ | 0x2D,0xEA, 0xD6 | 0x0DEAD6 |
+
+## Manipulace s cache {#cache-manipulation}
+
+Cache je implementována v souboru [`Cache.sol`](https://github.com/qbzzt/20220915-all-you-can-cache/blob/main/src/Cache.sol). Pojďme si ho projít řádek po řádku.
+
+```solidity
+// SPDX-License-Identifier: UNLICENSED
+pragma solidity ^0.8.13;
+
+
+contract Cache {
+
+ bytes1 public constant INTO_CACHE = 0xFF;
+ bytes1 public constant DONT_CACHE = 0xFE;
+```
+
+Tyto konstanty se používají k interpretaci speciálních případů, kdy poskytujeme všechny informace a chceme je buď zapsat do cache, nebo ne. Zápis do cache vyžaduje dvě operace [`SSTORE`](https://www.evm.codes/#55) do dříve nepoužitých slotů v úložišti s cenou 22 100 gasu za každou, takže je to volitelné.
+
+```solidity
+
+ mapping(uint => uint) public val2key;
+```
+
+[Mapování](https://www.geeksforgeeks.org/solidity/solidity-mappings/) mezi hodnotami a jejich klíči. Tato informace je nezbytná k zakódování hodnot před odesláním transakce.
+
+```solidity
+ // Umístění n má hodnotu pro klíč n+1, protože potřebujeme zachovat
+ // nulu jako „není v cache“.
+ uint[] public key2val;
+```
+
+Pro mapování z klíčů na hodnoty můžeme použít pole, protože klíče přiřazujeme my a pro zjednodušení to děláme sekvenčně.
+
+```solidity
+ function cacheRead(uint _key) public view returns (uint) {
+ require(_key <= key2val.length, "Čtení neinicializované položky cache");
+ return key2val[_key-1];
+ } // cacheRead
+```
+
+Přečte hodnotu z cache.
+
+```solidity
+ // Zapíše hodnotu do cache, pokud tam ještě není
+ // Veřejné jen proto,aby fungoval test
+ function cacheWrite(uint _value) public returns (uint) {
+ // Pokud je hodnota již v cache, vrátí aktuální klíč
+ if (val2key[_value] != 0) {
+ return val2key[_value];
+ }
+```
+
+Nemá smysl vkládat stejnou hodnotu do cache více než jednou. Pokud tam hodnota již je, stačí vrátit stávající klíč.
+
+```solidity
+ // Jelikož 0xFE je speciální případ, největší klíč, který může cache
+ // obsahovat, je 0x0D následovaný 15x 0xFF. Pokud už je délka cache tak
+ // velká, selže.
+ // 1 2 3 4 5 6 7 8 9 A B C D E F
+ require(key2val.length+1 < 0x0DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,
+ "přetečení cache");
+```
+
+Nemyslím si, že se někdy dočkáme tak velké cache (přibližně 1,8\*1037 položek, což by vyžadovalo asi 1027 TB k uložení). Jsem však dost starý na to, abych si pamatoval [„640 kB bude vždy stačit“](https://quoteinvestigator.com/2011/09/08/640k-enough/). Tento test je velmi levný.
+
+```solidity
+ // Zapíše hodnotu pomocí dalšího klíče
+ val2key[_value] = key2val.length+1;
+```
+
+Přidá zpětné vyhledávání (od hodnoty ke klíči).
+
+```solidity
+ key2val.push(_value);
+```
+
+Přidá dopředné vyhledávání (od klíče k hodnotě). Protože přiřazujeme hodnoty sekvenčně, můžeme ji jednoduše přidat za poslední hodnotu v poli.
+
+```solidity
+ return key2val.length;
+ } // cacheWrite
+```
+
+Vrátí novou délku `key2val`, což je buňka, kde je uložena nová hodnota.
+
+```solidity
+ function _calldataVal(uint startByte, uint length)
+ private pure returns (uint)
+```
+
+Tato funkce čte hodnotu z calldata libovolné délky (až 32 bajtů, což je velikost slova).
+
+```solidity
+ {
+ uint _retVal;
+
+ require(length < 0x21,
+ "limit délky _calldataVal je 32 bajtů");
+ require(length + startByte <= msg.data.length,
+ "_calldataVal se snaží číst za calldatasize");
+```
+
+Tato funkce je interní, takže pokud je zbytek kódu napsán správně, tyto testy nejsou nutné. Nestojí však mnoho, takže je můžeme klidně použít.
+
+```solidity
+ assembly {
+ _retVal := calldataload(startByte)
+ }
+```
+
+Tento kód je v jazyce [Yul](https://docs.soliditylang.org/en/v0.8.16/yul.html). Čte 32bajtovou hodnotu z calldata. Funguje to i v případě, že calldata končí před `startByte+32`, protože neinicializovaný prostor v EVM je považován za nulový.
+
+```solidity
+ _retVal = _retVal >> (256-length*8);
+```
+
+Nemusíme nutně chtít 32bajtovou hodnotu. Tím se zbavíme přebytečných bajtů.
+
+```solidity
+ return _retVal;
+ } // _calldataVal
+
+
+ // Načte jeden parametr z calldata, počínaje od _fromByte
+ function _readParam(uint _fromByte) internal
+ returns (uint _nextByte, uint _parameterValue)
+ {
+```
+
+Načte jeden parametr z calldata. Všimněte si, že musíme vrátit nejen hodnotu, kterou jsme načetli, ale také umístění dalšího bajtu, protože parametry mohou mít délku od 1 do 33 bajtů.
+
+```solidity
+ // První bajt nám říká, jak interpretovat zbytek
+ uint8 _firstByte;
+
+ _firstByte = uint8(_calldataVal(_fromByte, 1));
+```
+
+Solidity se snaží snížit počet chyb tím, že zakazuje potenciálně nebezpečné [implicitní převody typů](https://docs.soliditylang.org/en/v0.8.16/types.html#implicit-conversions). Downgrade, například z 256 bitů na 8 bitů, musí být explicitní.
+
+```solidity
+
+ // Přečte hodnotu, ale nezapíše ji do cache
+ if (_firstByte == uint8(DONT_CACHE))
+ return(_fromByte+33, _calldataVal(_fromByte+1, 32));
+
+ // Přečte hodnotu a zapíše ji do cache
+ if (_firstByte == uint8(INTO_CACHE)) {
+ uint _param = _calldataVal(_fromByte+1, 32);
+ cacheWrite(_param);
+ return(_fromByte+33, _param);
+ }
+
+ // Pokud jsme se dostali sem, znamená to, že musíme číst z cache
+
+ // Počet bajtů navíc ke čtení
+ uint8 _extraBytes = _firstByte / 16;
+```
+
+Vezměte nižší [půlbajt](https://en.wikipedia.org/wiki/Nibble) a zkombinujte ho s ostatními bajty, abyste načetli hodnotu z cache.
+
+```solidity
+ uint _key = (uint256(_firstByte & 0x0F) << (8*_extraBytes)) +
+ _calldataVal(_fromByte+1, _extraBytes);
+
+ return (_fromByte+_extraBytes+1, cacheRead(_key));
+
+ } // _readParam
+
+
+ // Načte n parametrů (funkce vědí, kolik parametrů očekávají)
+ function _readParams(uint _paramNum) internal returns (uint[] memory) {
+```
+
+Počet parametrů, které máme, bychom mohli získat ze samotné calldata, ale funkce, které nás volají, vědí, kolik parametrů očekávají. Je jednodušší, nechat si to od nich říct.
+
+```solidity
+ // Parametry, které čteme
+ uint[] memory params = new uint[](_paramNum);
+
+ // Parametry začínají na 4. bajtu, předtím je podpis funkce
+ uint _atByte = 4;
+
+ for(uint i=0; i<_paramNum; i++) {
+ (_atByte, params[i]) = _readParam(_atByte);
+ }
+```
+
+Čtěte parametry, dokud nebudete mít požadovaný počet. Pokud překročíme konec calldata, `_readParams` vrátí volání zpět.
+
+```solidity
+
+ return(params);
+ } // readParams
+
+ // Pro testování _readParams, testování čtení čtyř parametrů
+ function fourParam() public
+ returns (uint256,uint256,uint256,uint256)
+ {
+ uint[] memory params;
+ params = _readParams(4);
+ return (params[0], params[1], params[2], params[3]);
+ } // fourParam
+```
+
+Jednou z velkých výhod Foundry je, že umožňuje psát testy v Solidity ([viz Testování cache níže](#testing-the-cache)). To značně usnadňuje jednotkové testy. Jedná se o funkci, která přečte čtyři parametry a vrátí je, aby test mohl ověřit, že byly správné.
+
+```solidity
+ // Získá hodnotu, vrátí bajty, které ji zakódují (pokud možno s použitím cache)
+ function encodeVal(uint _val) public view returns(bytes memory) {
+```
+
+`encodeVal` je funkce, kterou volá off-chain kód, aby pomohla vytvořit calldata, která používá cache. Přijímá jednu hodnotu a vrací bajty, které ji kódují. Tato funkce je `view`, takže nevyžaduje transakci a při externím volání nestojí žádný gas.
+
+```solidity
+ uint _key = val2key[_val];
+
+ // Hodnota ještě není v cache, přidejte ji
+ if (_key == 0)
+ return bytes.concat(INTO_CACHE, bytes32(_val));
+```
+
+V [EVM](/developers/docs/evm/) se předpokládá, že všechna neinicializovaná úložiště jsou nulová. Takže pokud hledáme klíč pro hodnotu, která tam není, dostaneme nulu. V takovém případě jsou bajty, které ji kódují, `INTO_CACHE` (takže bude při příštím použití cachována), následované skutečnou hodnotou.
+
+```solidity
+ // Pokud je klíč <0x10, vraťte ho jako jeden bajt
+ if (_key < 0x10)
+ return bytes.concat(bytes1(uint8(_key)));
+```
+
+Jednotlivé bajty jsou nejjednodušší. Použijeme jen [`bytes.concat`](https://docs.soliditylang.org/en/v0.8.16/types.html#the-functions-bytes-concat-and-string-concat) pro převod typu `bytes` na pole bajtů, které může mít libovolnou délku. Navzdory svému názvu funguje dobře i při zadání pouze jednoho argumentu.
+
+```solidity
+ // Dvoubajtová hodnota, zakódovaná jako 0x1vvv
+ if (_key < 0x1000)
+ return bytes.concat(bytes2(uint16(_key) | 0x1000));
+```
+
+Pokud máme klíč, který je menší než 163, můžeme ho vyjádřit ve dvou bajtech. Nejprve převedeme `_key`, což je 256bitová hodnota, na 16bitovou hodnotu a pomocí logického součtu přidáme počet bajtů navíc k prvnímu bajtu. Poté ji převedeme na hodnotu `bytes2`, kterou lze převést na `bytes`.
+
+```solidity
+ // Pravděpodobně existuje chytrý způsob, jak provést následující řádky jako smyčku,
+ // ale je to funkce typu view, takže optimalizuji na čas programátora a
+ // jednoduchost.
+
+ if (_key < 16*256**2)
+ return bytes.concat(bytes3(uint24(_key) | (0x2 * 16 * 256**2)));
+ if (_key < 16*256**3)
+ return bytes.concat(bytes4(uint32(_key) | (0x3 * 16 * 256**3)));
+ .
+ .
+ .
+ if (_key < 16*256**14)
+ return bytes.concat(bytes15(uint120(_key) | (0xE * 16 * 256**14)));
+ if (_key < 16*256**15)
+ return bytes.concat(bytes16(uint128(_key) | (0xF * 16 * 256**15)));
+```
+
+Ostatní hodnoty (3 bajty, 4 bajty atd.) jsou zpracovávány stejným způsobem, jen s jinými velikostmi polí.
+
+```solidity
+ // Pokud se dostaneme sem, něco je špatně.
+ revert("Chyba v encodeVal, nemělo by se stát");
+```
+
+Pokud se dostaneme sem, znamená to, že jsme dostali klíč, který je větší než 16\*25615. Ale `cacheWrite` omezuje klíče, takže se nemůžeme dostat ani na 14\*25616 (což by mělo první bajt 0xFE, takže by to vypadalo jako `DONT_CACHE`). Ale přidání testu pro případ, že budoucí programátor zavede chybu, nás moc nestojí.
+
+```solidity
+ } // encodeVal
+
+} // Cache
+```
+
+### Testování cache {#testing-the-cache}
+
+Jednou z výhod Foundry je, že [vám umožňuje psát testy v Solidity](https://getfoundry.sh/forge/tests/overview/), což usnadňuje psaní jednotkových testů. Testy pro třídu `Cache` jsou [zde](https://github.com/qbzzt/20220915-all-you-can-cache/blob/main/test/Cache.t.sol). Protože testovací kód je repetitivní, jak už to u testů bývá, tento článek vysvětluje pouze zajímavé části.
+
+```solidity
+// SPDX-License-Identifier: UNLICENSED
+pragma solidity ^0.8.13;
+
+import "forge-std/Test.sol";
+
+
+// Je potřeba spustit `forge test -vv` pro konzoli.
+import "forge-std/console.sol";
+```
+
+Toto je pouze boilerplate, který je nezbytný pro použití testovacího balíčku a `console.log`.
+
+```solidity
+import "src/Cache.sol";
+```
+
+Potřebujeme znát kontrakt, který testujeme.
+
+```solidity
+contract CacheTest is Test {
+ Cache cache;
+
+ function setUp() public {
+ cache = new Cache();
+ }
+```
+
+Funkce `setUp` se volá před každým testem. V tomto případě pouze vytvoříme novou cache, aby se naše testy navzájem neovlivňovaly.
+
+```solidity
+ function testCaching() public {
+```
+
+Testy jsou funkce, jejichž názvy začínají na `test`. Tato funkce kontroluje základní funkčnost cache, zapisuje hodnoty a znovu je čte.
+
+```solidity
+ for(uint i=1; i<5000; i++) {
+ cache.cacheWrite(i*i);
+ }
+
+ for(uint i=1; i<5000; i++) {
+ assertEq(cache.cacheRead(i), i*i);
+```
+
+Takto se provádí skutečné testování pomocí [funkcí `assert...`](https://getfoundry.sh/reference/forge-std/std-assertions/). V tomto případě kontrolujeme, že hodnota, kterou jsme zapsali, je ta, kterou jsme přečetli. Výsledek `cache.cacheWrite` můžeme zahodit, protože víme, že klíče cache jsou přiřazovány lineárně.
+
+```solidity
+ }
+ } // testCaching
+
+
+ // Cachovat stejnou hodnotu vícekrát, zajistit, aby klíč zůstal
+ // stejný
+ function testRepeatCaching() public {
+ for(uint i=1; i<100; i++) {
+ uint _key1 = cache.cacheWrite(i);
+ uint _key2 = cache.cacheWrite(i);
+ assertEq(_key1, _key2);
+ }
+```
+
+Nejprve zapíšeme každou hodnotu dvakrát do cache a ujistíme se, že klíče jsou stejné (což znamená, že druhý zápis se ve skutečnosti neuskutečnil).
+
+```solidity
+ for(uint i=1; i<100; i+=3) {
+ uint _key = cache.cacheWrite(i);
+ assertEq(_key, i);
+ }
+ } // testRepeatCaching
+```
+
+Teoreticky by mohla existovat chyba, která neovlivní po sobě jdoucí zápisy do cache. Takže zde provedeme několik zápisů, které nejsou po sobě jdoucí, a uvidíme, že hodnoty se stále nepřepisují.
+
+```solidity
+ // Přečte uint z bufferu v paměti (abychom se ujistili, že dostaneme zpět parametry,
+ // které jsme odeslali)
+ function toUint256(bytes memory _bytes, uint256 _start) internal pure
+ returns (uint256)
+```
+
+Přečte 256bitové slovo z bufferu `bytes memory`. Tato pomocná funkce nám umožňuje ověřit, že při spuštění volání funkce, která používá cache, obdržíme správné výsledky.
+
+```solidity
+ {
+ require(_bytes.length >= _start + 32, "toUint256_outOfBounds");
+ uint256 tempUint;
+
+ assembly {
+ tempUint := mload(add(add(_bytes, 0x20), _start))
+ }
+```
+
+Yul nepodporuje datové struktury nad rámec `uint256`, takže když odkazujete na sofistikovanější datovou strukturu, jako je paměťový buffer `_bytes`, získáte adresu této struktury. Solidity ukládá hodnoty `bytes memory` jako 32bajtové slovo, které obsahuje délku, následované skutečnými bajty, takže pro získání bajtu číslo `_start` musíme vypočítat `_bytes+32+_start`.
+
+```solidity
+
+ return tempUint;
+ } // toUint256
+
+ // Podpis funkce pro fourParams(), s laskavým svolením
+ // https://www.4byte.directory/signatures/?bytes4_signature=0x3edc1e6d
+ bytes4 constant FOUR_PARAMS = 0x3edc1e6d;
+
+ // Jen několik konstantních hodnot, abychom viděli, že dostáváme zpět správné hodnoty
+ uint256 constant VAL_A = 0xDEAD60A7;
+ uint256 constant VAL_B = 0xBEEF;
+ uint256 constant VAL_C = 0x600D;
+ uint256 constant VAL_D = 0x600D60A7;
+```
+
+Některé konstanty, které potřebujeme pro testování.
+
+```solidity
+ function testReadParam() public {
+```
+
+Zavoláním `fourParams()`, funkce, která používá `readParams`, otestujeme, zda umíme správně číst parametry.
+
+```solidity
+ address _cacheAddr = address(cache);
+ bool _success;
+ bytes memory _callInput;
+ bytes memory _callOutput;
+```
+
+Nemůžeme použít normální mechanismus ABI pro volání funkce pomocí cache, takže musíme použít nízkoúrovňový mechanismus [`.call()`](https://docs.soliditylang.org/en/v0.8.16/types.html#members-of-addresses). Tento mechanismus přijímá jako vstup `bytes memory` a vrací je (stejně jako booleovskou hodnotu) jako výstup.
+
+```solidity
+ // První volání, cache je prázdná
+ _callInput = bytes.concat(
+ FOUR_PARAMS,
+```
+
+Je užitečné, aby stejný kontrakt podporoval jak cachované funkce (pro volání přímo z transakcí), tak i necachované funkce (pro volání z jiných chytrých kontraktů). Abychom toho dosáhli, musíme se nadále spoléhat na mechanismus Solidity pro volání správné funkce, namísto toho, abychom vše vkládali do [funkce `fallback`](https://docs.soliditylang.org/en/v0.8.16/contracts.html#fallback-function). Tímto způsobem je kompozitnost mnohem snazší. Jeden bajt by ve většině případů stačil k identifikaci funkce, takže plýtváme třemi bajty (16\*3=48 gasu). Nicméně, v době psaní tohoto článku stojí těchto 48 gasů 0,07 centů, což je rozumná cena za jednodušší a méně chybový kód.
+
+```solidity
+ // První hodnota, přidejte ji do cache
+ cache.INTO_CACHE(),
+ bytes32(VAL_A),
+```
+
+První hodnota: Příznak, který říká, že je to plná hodnota, která se musí zapsat do cache, následovaný 32 bajty hodnoty. Ostatní tři hodnoty jsou podobné, s výjimkou toho, že `VAL_B` se do cache nezapisuje a `VAL_C` je jak třetím, tak čtvrtým parametrem.
+
+```solidity
+ .
+ .
+ .
+ );
+ (_success, _callOutput) = _cacheAddr.call(_callInput);
+```
+
+Zde skutečně voláme kontrakt `Cache`.
+
+```solidity
+ assertEq(_success, true);
+```
+
+Očekáváme, že volání bude úspěšné.
+
+```solidity
+ assertEq(cache.cacheRead(1), VAL_A);
+ assertEq(cache.cacheRead(2), VAL_C);
+```
+
+Začínáme s prázdnou cache a poté přidáme `VAL_A` následované `VAL_C`. Očekávali bychom, že první bude mít klíč 1 a druhý klíč 2.
+
+```
+ assertEq(toUint256(_callOutput,0), VAL_A);
+ assertEq(toUint256(_callOutput,32), VAL_B);
+ assertEq(toUint256(_callOutput,64), VAL_C);
+ assertEq(toUint256(_callOutput,96), VAL_C);
+```
+
+Výstupem jsou čtyři parametry. Zde ověřujeme, že je správný.
+
+```solidity
+ // Druhé volání, můžeme použít cache
+ _callInput = bytes.concat(
+ FOUR_PARAMS,
+
+ // První hodnota v cache
+ bytes1(0x01),
+```
+
+Klíče cache pod 16 jsou pouze jeden bajt.
+
+```solidity
+ // Druhá hodnota, nepřidávejte ji do cache
+ cache.DONT_CACHE(),
+ bytes32(VAL_B),
+
+ // Třetí a čtvrtá hodnota, stejná hodnota
+ bytes1(0x02),
+ bytes1(0x02)
+ );
+ .
+ .
+ .
+ } // testReadParam
+```
+
+Testy po volání jsou totožné s testy po prvním volání.
+
+```solidity
+ function testEncodeVal() public {
+```
+
+Tato funkce je podobná funkci `testReadParam`, s výjimkou toho, že místo explicitního psaní parametrů používáme `encodeVal()`.
+
+```solidity
+ .
+ .
+ .
+ _callInput = bytes.concat(
+ FOUR_PARAMS,
+ cache.encodeVal(VAL_A),
+ cache.encodeVal(VAL_B),
+ cache.encodeVal(VAL_C),
+ cache.encodeVal(VAL_D)
+ );
+ .
+ .
+ .
+ assertEq(_callInput.length, 4+1*4);
+ } // testEncodeVal
+```
+
+Jediný dodatečný test v `testEncodeVal()` je ověření, že délka `_callInput` je správná. Pro první volání je to 4+33\*4. Pro druhé, kde je každá hodnota již v cache, je to 4+1\*4.
+
+```solidity
+ // Testujte encodeVal, když je klíč delší než jeden bajt
+ // Maximálně tři bajty, protože plnění cache na čtyři bajty trvá
+ // příliš dlouho.
+ function testEncodeValBig() public {
+ // Vložte několik hodnot do cache.
+ // Pro zjednodušení použijte klíč n pro hodnotu n.
+ for(uint i=1; i<0x1FFF; i++) {
+ cache.cacheWrite(i);
+ }
+```
+
+Výše uvedená funkce `testEncodeVal` zapisuje do cache pouze čtyři hodnoty, takže [část funkce, která se zabývá vícebajtovými hodnotami](https://github.com/qbzzt/20220915-all-you-can-cache/blob/main/src/Cache.sol#L144-L171) se nekontroluje. Ale tento kód je složitý a náchylný k chybám.
+
+První část této funkce je smyčka, která zapisuje všechny hodnoty od 1 do 0x1FFF do cache v pořadí, takže budeme moci tyto hodnoty zakódovat a vědět, kam jdou.
+
+```solidity
+ .
+ .
+ .
+
+ _callInput = bytes.concat(
+ FOUR_PARAMS,
+ cache.encodeVal(0x000F), // Jeden bajt 0x0F
+ cache.encodeVal(0x0010), // Dva bajty 0x1010
+ cache.encodeVal(0x0100), // Dva bajty 0x1100
+ cache.encodeVal(0x1000) // Tři bajty 0x201000
+ );
+```
+
+Otestujte jednobajtové, dvoubajtové a tříbajtové hodnoty. Dále netestujeme, protože by trvalo příliš dlouho zapsat dostatek položek zásobníku (alespoň 0x10000000, přibližně čtvrt miliardy).
+
+```solidity
+ .
+ .
+ .
+ .
+ } // testEncodeValBig
+
+
+ // Otestujte, co se stane s příliš malým bufferem, dostaneme revert
+ function testShortCalldata() public {
+```
+
+Otestujte, co se stane v abnormálním případě, kdy není dostatek parametrů.
+
+```solidity
+ .
+ .
+ .
+ (_success, _callOutput) = _cacheAddr.call(_callInput);
+ assertEq(_success, false);
+ } // testShortCalldata
+```
+
+Jelikož se to vrací, výsledek, který bychom měli dostat, je `false`.
+
+```
+ // Volání s klíči cache, které tam nejsou
+ function testNoCacheKey() public {
+ .
+ .
+ .
+ _callInput = bytes.concat(
+ FOUR_PARAMS,
+
+ // První hodnota, přidejte ji do cache
+ cache.INTO_CACHE(),
+ bytes32(VAL_A),
+
+ // Druhá hodnota
+ bytes1(0x0F),
+ bytes2(0x1234),
+ bytes11(0xA10102030405060708090A)
+ );
+```
+
+Tato funkce dostane čtyři naprosto legitimní parametry, s výjimkou toho, že cache je prázdná, takže tam nejsou žádné hodnoty ke čtení.
+
+```solidity
+ .
+ .
+ .
+ // Otestujte, co s příliš dlouhým bufferem, vše funguje
+ function testLongCalldata() public {
+ address _cacheAddr = address(cache);
+ bool _success;
+ bytes memory _callInput;
+ bytes memory _callOutput;
+
+ // První volání, cache je prázdná
+ _callInput = bytes.concat(
+ FOUR_PARAMS,
+
+ // První hodnota, přidejte ji do cache
+ cache.INTO_CACHE(), bytes32(VAL_A),
+
+ // Druhá hodnota, přidejte ji do cache
+ cache.INTO_CACHE(), bytes32(VAL_B),
+
+ // Třetí hodnota, přidejte ji do cache
+ cache.INTO_CACHE(), bytes32(VAL_C),
+
+ // Čtvrtá hodnota, přidejte ji do cache
+ cache.INTO_CACHE(), bytes32(VAL_D),
+
+ // A další hodnota pro „štěstí“
+ bytes4(0x31112233)
+ );
+```
+
+Tato funkce posílá pět hodnot. Víme, že pátá hodnota je ignorována, protože se nejedná o platný záznam cache, což by způsobilo vrácení, kdyby nebyla zahrnuta.
+
+```solidity
+ (_success, _callOutput) = _cacheAddr.call(_callInput);
+ assertEq(_success, true);
+ .
+ .
+ .
+ } // testLongCalldata
+
+} // CacheTest
+
+```
+
+## Ukázková aplikace {#a-sample-app}
+
+Psaní testů v Solidity je sice skvělé, ale aby byla dapp užitečná, musí být schopna zpracovávat požadavky i mimo blockchain. Tento článek ukazuje, jak používat cachování v dapp s `WORM`, což znamená „Write Once, Read Many“ (Zapiš jednou, čti mnohokrát). Pokud klíč ještě není zapsán, můžete do něj zapsat hodnotu. Pokud je klíč již zapsán, dostanete revert.
+
+### Kontrakt {#the-contract}
+
+[Zde je kontrakt](https://github.com/qbzzt/20220915-all-you-can-cache/blob/main/src/WORM.sol). Většinou se opakuje to, co jsme již udělali s `Cache` a `CacheTest`, takže se budeme zabývat pouze zajímavými částmi.
+
+```solidity
+import "./Cache.sol";
+
+contract WORM is Cache {
+```
+
+Nejjednodušší způsob, jak použít `Cache`, je zdědit ho ve vlastním kontraktu.
+
+```solidity
+ function writeEntryCached() external {
+ uint[] memory params = _readParams(2);
+ writeEntry(params[0], params[1]);
+ } // writeEntryCached
+```
+
+Tato funkce je podobná `fourParam` ve výše uvedeném `CacheTest`. Protože se nedržíme specifikací ABI, je nejlepší do funkce nedeklarovat žádné parametry.
+
+```solidity
+ // Usnadněte si volání
+ // Podpis funkce pro writeEntryCached(), s laskavým svolením
+ // https://www.4byte.directory/signatures/?bytes4_signature=0xe4e4f2d3
+ bytes4 constant public WRITE_ENTRY_CACHED = 0xe4e4f2d3;
+```
+
+Externí kód, který volá `writeEntryCached`, bude muset manuálně sestavit calldata, namísto použití `worm.writeEntryCached`, protože nedodržujeme specifikace ABI. Tato konstantní hodnota pouze usnadňuje její zápis.
+
+Všimněte si, že i když definujeme `WRITE_ENTRY_CACHED` jako stavovou proměnnou, pro její externí čtení je nutné použít getter funkci, `worm.WRITE_ENTRY_CACHED()`.
+
+```solidity
+ function readEntry(uint key) public view
+ returns (uint _value, address _writtenBy, uint _writtenAtBlock)
+```
+
+Funkce čtení je `view`, takže nevyžaduje transakci a nestojí žádný gas. V důsledku toho nemá použití cache pro parametr žádný přínos. U funkcí typu view je nejlepší používat standardní mechanismus, který je jednodušší.
+
+### Testovací kód {#the-testing-code}
+
+[Zde je testovací kód pro kontrakt](https://github.com/qbzzt/20220915-all-you-can-cache/blob/main/test/WORM.t.sol). Opět se podívejme pouze na to, co je zajímavé.
+
+```solidity
+ function testWReadWrite() public {
+ worm.writeEntry(0xDEAD, 0x60A7);
+
+ vm.expectRevert(bytes("záznam již zapsán"));
+ worm.writeEntry(0xDEAD, 0xBEEF);
+```
+
+[Tímto (`vm.expectRevert`)](https://book.getfoundry.sh/cheatcodes/expect-revert#expectrevert) v testu Foundry specifikujeme, že další volání by mělo selhat, a uvádíme důvod selhání. To platí, když používáme syntaxi `.`()` spíše než vytváření calldata a volání kontraktu pomocí nízkoúrovňového rozhraní (`.call()\` atd.).
+
+```solidity
+ function testReadWriteCached() public {
+ uint cacheGoat = worm.cacheWrite(0x60A7);
+```
+
+Zde využíváme toho, že `cacheWrite` vrací klíč cache. To není něco, co bychom očekávali v produkci, protože `cacheWrite` mění stav, a proto může být volána pouze během transakce. Transakce nemají návratové hodnoty, pokud mají nějaké výsledky, mají být emitovány jako události. Návratová hodnota `cacheWrite` je tedy přístupná pouze z on-chain kódu a on-chain kód nepotřebuje cachování parametrů.
+
+```solidity
+ (_success,) = address(worm).call(_callInput);
+```
+
+Takto říkáme Solidity, že ačkoli `.call()` má dvě návratové hodnoty, zajímá nás pouze ta první.
+
+```solidity
+ (_success,) = address(worm).call(_callInput);
+ assertEq(_success, false);
+```
+
+Protože používáme nízkoúrovňovou funkci `.call()`, nemůžeme použít `vm.expectRevert()` a musíme se podívat na booleovskou hodnotu úspěchu, kterou získáme z volání.
+
+```solidity
+ event EntryWritten(uint indexed key, uint indexed value);
+
+ .
+ .
+ .
+
+ _callInput = bytes.concat(
+ worm.WRITE_ENTRY_CACHED(), worm.encodeVal(a), worm.encodeVal(b));
+ vm.expectEmit(true, true, false, false);
+ emit EntryWritten(a, b);
+ (_success,) = address(worm).call(_callInput);
+```
+
+Toto je způsob, jak ve Foundry ověřit, že kód [správně emituje událost](https://getfoundry.sh/reference/cheatcodes/expect-emit/).
+
+### Klient {#the-client}
+
+Jedna věc, kterou se testy v Solidity nezískáte, je JavaScriptový kód, který můžete zkopírovat a vložit do své vlastní aplikace. Abych mohl napsat tento kód, nasadil jsem WORM na [Optimism Goerli](https://community.optimism.io/docs/useful-tools/networks/#optimism-goerli), nový testnet [Optimismu](https://www.optimism.io/). Je na adrese [`0xd34335b1d818cee54e3323d3246bd31d94e6a78a`](https://goerli-optimism.etherscan.io/address/0xd34335b1d818cee54e3323d3246bd31d94e6a78a).
+
+[Zde si můžete prohlédnout JavaScriptový kód pro klienta](https://github.com/qbzzt/20220915-all-you-can-cache/blob/main/javascript/index.js). Použití:
+
+1. Klonujte git repozitář:
+
+ ```sh
+ git clone https://github.com/qbzzt/20220915-all-you-can-cache.git
+ ```
+
+2. Nainstalujte potřebné balíčky:
+
+ ```sh
+ cd javascript
+ yarn
+ ```
+
+3. Zkopírujte konfigurační soubor:
+
+ ```sh
+ cp .env.example .env
+ ```
+
+4. Upravte `.env` pro vaši konfiguraci:
+
+ | Parametr | Hodnota |
+ | ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+ | MNEMONIC | Mnemotechnická pomůcka pro účet, který má dostatek ETH na zaplacení transakce. [Zde můžete získat ETH zdarma pro síť Optimism Goerli](https://optimismfaucet.xyz/). |
+ | OPTIMISM_GOERLI_URL | URL k Optimism Goerli. Veřejný koncový bod `https://goerli.optimism.io` má omezenou rychlost, ale pro naše potřeby je dostačující. |
+
+5. Spusťte `index.js`.
+
+ ```sh
+ node index.js
+ ```
+
+ Tato ukázková aplikace nejprve zapíše položku do WORM, zobrazí calldata a odkaz na transakci na Etherscanu. Poté přečte zpět tuto položku a zobrazí klíč, který používá, a hodnoty v položce (hodnota, číslo bloku a autor).
+
+Většina klienta je normální Dapp JavaScript. Takže opět projdeme jen zajímavé části.
+
+```javascript
+.
+.
+.
+const main = async () => {
+ const func = await worm.WRITE_ENTRY_CACHED()
+
+ // Pokaždé je potřeba nový klíč
+ const key = await worm.encodeVal(Number(new Date()))
+```
+
+Do daného slotu lze zapsat pouze jednou, takže použijeme časové razítko, abychom se ujistili, že sloty nepoužíváme opakovaně.
+
+```javascript
+const val = await worm.encodeVal("0x600D")
+
+// Zapište položku
+const calldata = func + key.slice(2) + val.slice(2)
+```
+
+Ethers očekává, že data volání budou hexadecimální řetězec, `0x` následovaný sudým počtem hexadecimálních číslic. Protože `key` i `val` začínají na `0x`, musíme tyto hlavičky odstranit.
+
+```javascript
+const tx = await worm.populateTransaction.writeEntryCached()
+tx.data = calldata
+
+sentTx = await wallet.sendTransaction(tx)
+```
+
+Stejně jako u testovacího kódu Solidity nemůžeme cachovanou funkci volat normálně. Místo toho musíme použít nízkoúrovňový mechanismus.
+
+```javascript
+ .
+ .
+ .
+ // Přečtěte právě zapsanou položku
+ const realKey = '0x' + key.slice(4) // odstraňte příznak FF
+ const entryRead = await worm.readEntry(realKey)
+ .
+ .
+ .
+```
+
+Pro čtení položek můžeme použít normální mechanismus. U funkcí `view` není třeba používat cachování parametrů.
+
+## Závěr {#conclusion}
+
+Kód v tomto článku je proof of concept, jehož účelem je usnadnit pochopení myšlenky. Pro produkční systém byste mohli chtít implementovat některé další funkce:
+
+- Zpracování hodnot, které nejsou `uint256`. Například řetězce.
+- Místo globální cache možná mít mapování mezi uživateli a cachemi. Různí uživatelé používají různé hodnoty.
+- Hodnoty používané pro adresy se liší od hodnot používaných pro jiné účely. Mohlo by mít smysl mít samostatnou cache pouze pro adresy.
+- V současné době jsou klíče cache založeny na algoritmu „kdo dřív přijde, ten má nejmenší klíč“. Prvních šestnáct hodnot lze odeslat jako jeden bajt. Dalších 4080 hodnot lze odeslat jako dva bajty. Další přibližně milion hodnot jsou tři bajty atd. Produkční systém by měl vést počítadla použití záznamů cache a reorganizovat je tak, aby šestnáct _nejběžnějších_ hodnot bylo jednobajtových, dalších 4080 nejběžnějších hodnot dvoubajtových atd.
+
+ To je však potenciálně nebezpečná operace. Představte si následující sled událostí:
+
+ 1. Noam Naive zavolá `encodeVal` k zakódování adresy, na kterou chce poslat tokeny. Tato adresa je jedna z prvních použitých v aplikaci, takže zakódovaná hodnota je 0x06. Toto je funkce `view`, ne transakce, takže je to mezi Noamem a uzlem, který používá, a nikdo jiný o tom neví.
+
+ 2. Owen Owner spustí operaci přeuspořádání cache. Velmi málo lidí skutečně používá tuto adresu, takže je nyní zakódována jako 0x201122. Jiná hodnota, 1018, je přiřazena 0x06.
+
+ 3. Noam Naive posílá své tokeny na 0x06. Dostanou se na adresu `0x0000000000000000000000000de0b6b3a7640000`, a protože nikdo nezná soukromý klíč k této adrese, jsou tam prostě zaseknuté. Noam _není spokojený_.
+
+ Existují způsoby, jak tento problém vyřešit, a související problém transakcí, které jsou v mempoolu během přeuspořádání cache, ale musíte si toho být vědomi.
+
+Cachování jsem zde demonstroval na Optimismu, protože jsem zaměstnancem Optimismu a je to rollup, který znám nejlépe. Mělo by to ale fungovat s jakýmkoli rollupem, který si účtuje minimální náklady na interní zpracování, takže v porovnání s tím je zápis transakčních dat na L1 hlavním nákladem.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
+
diff --git a/public/content/translations/cs/developers/tutorials/app-plasma/index.md b/public/content/translations/cs/developers/tutorials/app-plasma/index.md
new file mode 100644
index 00000000000..9950893116e
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/app-plasma/index.md
@@ -0,0 +1,1255 @@
+---
+title: Napište plazmu specifickou pro aplikaci, která zachovává soukromí
+description: V tomto návodu vytvoříme polotajnou banku pro vklady. Banka je centralizovanou součástí; zná zůstatek každého uživatele. Tato informace se však neukládá na blockchainu. Místo toho banka zveřejňuje hash stavu. Pokaždé, když dojde k transakci, banka zveřejní nový hash spolu s důkazem s nulovou znalostí, že má podepsanou transakci, která mění stav hashe na nový. Po přečtení tohoto návodu nejenže pochopíte, jak používat důkazy s nulovou znalostí, ale také proč je používat a jak to dělat bezpečně.
+author: Ori Pomerantz
+tags: [ "nulová znalost", "server", "offchain", "soukromí" ]
+skill: advanced
+lang: cs
+published: 2025-10-15
+---
+
+## Úvod {#introduction}
+
+Na rozdíl od [rollupů](/developers/docs/scaling/zk-rollups/) používají [plazmy](/developers/docs/scaling/plasma) hlavní síť Ethereum k zajištění integrity, nikoli však dostupnosti. V tomto článku napíšeme aplikaci, která se chová jako plazma, přičemž Ethereum zaručuje integritu (žádné neoprávněné změny), ale nikoli dostupnost (centralizovaná součást může selhat a vyřadit celý systém).
+
+Aplikace, kterou zde píšeme, je banka zachovávající soukromí. Různé adresy mají účty se zůstatky a mohou posílat peníze (ETH) na jiné účty. Banka zveřejňuje hashe stavu (účty a jejich zůstatky) a transakce, ale skutečné zůstatky drží mimo blockchain, kde mohou zůstat soukromé.
+
+## Návrh {#design}
+
+Nejedná se o systém připravený pro produkční nasazení, ale o výukový nástroj. Jako takový je napsán s několika zjednodušujícími předpoklady.
+
+- Pevně daný fond účtů. Existuje určitý počet účtů a každý účet patří na předem určenou adresu. Díky tomu je systém mnohem jednodušší, protože v důkazech s nulovou znalostí je obtížné pracovat s datovými strukturami s proměnlivou velikostí. Pro systém připravený pro produkční nasazení můžeme použít [Merkle kořen](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) jako hash stavu a poskytnout Merkle důkazy pro požadované zůstatky.
+
+- Ukládání do paměti. V produkčním systému je třeba zapisovat všechny zůstatky na účtech na disk, aby se zachovaly pro případ restartu. Zde je v pořádku, pokud se informace jednoduše ztratí.
+
+- Pouze převody. Produkční systém by vyžadoval způsob, jak vkládat prostředky do banky a jak je vybírat. Cílem je zde však pouze ilustrovat koncept, takže tato banka je omezena na převody.
+
+### Důkazy s nulovou znalostí {#zero-knowledge-proofs}
+
+Na základní úrovni důkaz s nulovou znalostí ukazuje, že dokazující zná nějaká data, _Datasoukromá_, taková, že existuje vztah _Vztah_ mezi nějakými veřejnými daty, _Dataveřejná_, a _Datasoukromá_. Ověřovatel zná _Vztah_ a _Dataveřejná_.
+
+Abychom zachovali soukromí, je třeba, aby stavy a transakce byly soukromé. Abychom však zajistili integritu, potřebujeme, aby [kryptografický hash](https://en.wikipedia.org/wiki/Cryptographic_hash_function) stavů byl veřejný. Abychom lidem, kteří odesílají transakce, dokázali, že se tyto transakce skutečně uskutečnily, musíme také zveřejňovat hashe transakcí.
+
+Ve většině případů je _Datasoukromá_ vstupem do programu důkazu s nulovou znalostí a _Dataveřejná_ je výstupem.
+
+Tato pole v _Datasoukromá_:
+
+- _Stavn_, starý stav
+- _Stavn+1_, nový stav
+- _Transakce_, transakce, která mění starý stav na nový. Tato transakce musí obsahovat tato pole:
+ - _Cílová adresa_, která přijímá převod
+ - _Částka_, která se převádí
+ - _Nonce_, aby se zajistilo, že každá transakce může být zpracována pouze jednou.
+ Zdrojová adresa nemusí být v transakci, protože ji lze obnovit z podpisu.
+- _Podpis_, podpis, který je oprávněn provést transakci. V našem případě je jedinou adresou oprávněnou k provedení transakce zdrojová adresa. Protože náš systém s nulovou znalostí funguje tak, jak funguje, potřebujeme kromě podpisu Ethereum také veřejný klíč účtu.
+
+Toto jsou pole v _Dataveřejná_:
+
+- _Hash(Stavn)_ hash starého stavu
+- _Hash(Stavn+1)_ hash nového stavu
+- _Hash(Transakce)_ hash transakce, která mění stav ze _Stavun_ na _Stavn+1_.
+
+Vztah kontroluje několik podmínek:
+
+- Veřejné hashe jsou skutečně správnými hashi pro soukromá pole.
+- Transakce, když se aplikuje na starý stav, má za následek nový stav.
+- Podpis pochází ze zdrojové adresy transakce.
+
+Vzhledem k vlastnostem kryptografických hashovacích funkcí stačí prokázat tyto podmínky k zajištění integrity.
+
+### Datové struktury {#data-structures}
+
+Primární datovou strukturou je stav, který uchovává server. Pro každý účet server sleduje zůstatek na účtu a [nonce](https://en.wikipedia.org/wiki/Cryptographic_nonce), které se používá k zabránění [opakovacím útokům](https://en.wikipedia.org/wiki/Replay_attack).
+
+### Komponenty {#components}
+
+Tento systém vyžaduje dvě součásti:
+
+- _Server_, který přijímá transakce, zpracovává je a zveřejňuje hashe na řetězci spolu s důkazy s nulovou znalostí.
+- _Chytrý kontrakt_, který ukládá hashe a ověřuje důkazy s nulovou znalostí, aby se zajistilo, že přechody stavů jsou legitimní.
+
+### Datový a řídicí tok {#flows}
+
+Toto jsou způsoby, jakými jednotlivé součásti komunikují při převodu z jednoho účtu na druhý.
+
+1. Webový prohlížeč odešle podepsanou transakci s žádostí o převod z účtu podepisujícího na jiný účet.
+
+2. Server ověří, že transakce je platná:
+
+ - Podepisující má v bance účet s dostatečným zůstatkem.
+ - Příjemce má v bance účet.
+
+3. Server vypočítá nový stav odečtením převedené částky od zůstatku podepisujícího a jejím přičtením k zůstatku příjemce.
+
+4. Server vypočítá důkaz s nulovou znalostí, že změna stavu je platná.
+
+5. Server odešle na Ethereum transakci, která obsahuje:
+
+ - Nový hash stavu
+ - Hash transakce (aby odesílatel transakce věděl, že byla zpracována)
+ - Důkaz s nulovou znalostí, který dokazuje, že přechod do nového stavu je platný
+
+6. Chytrý kontrakt ověří důkaz s nulovou znalostí.
+
+7. Pokud se důkaz s nulovou znalostí ověří, chytrý kontrakt provede tyto akce:
+ - Aktualizace současného hashe stavu na nový hash stavu
+ - Vydá záznam do protokolu s novým hashem stavu a hashem transakce
+
+### Nástroje {#tools}
+
+Pro kód na straně klienta použijeme [Vite](https://vite.dev/), [React](https://react.dev/), [Viem](https://viem.sh/) a [Wagmi](https://wagmi.sh/). Jedná se o standardní nástroje v oboru; pokud je neznáte, můžete použít [tento tutoriál](/developers/tutorials/creating-a-wagmi-ui-for-your-contract/).
+
+Většina serveru je napsána v JavaScriptu pomocí [Node](https://nodejs.org/en). Část s nulovou znalostí je napsána v jazyce [Noir](https://noir-lang.org/). Potřebujeme verzi `1.0.0-beta.10`, takže po [instalaci Noir podle pokynů](https://noir-lang.org/docs/getting_started/quick_start) spusťte:
+
+```
+noirup -v 1.0.0-beta.10
+```
+
+Blockchain, který používáme, je `anvil`, lokální testovací blockchain, který je součástí [Foundry](https://getfoundry.sh/introduction/installation).
+
+## Implementace {#implementation}
+
+Protože se jedná o složitý systém, budeme ho implementovat postupně.
+
+### Fáze 1 – Ruční nulová znalost {#stage-1}
+
+V první fázi podepíšeme transakci v prohlížeči a poté ručně poskytneme informace do důkazu s nulovou znalostí. Kód nulové znalosti očekává, že tyto informace získá v souboru `server/noir/Prover.toml` (zdokumentováno [zde](https://noir-lang.org/docs/getting_started/project_breakdown#provertoml-1)).
+
+Chcete-li to vidět v akci:
+
+1. Ujistěte se, že máte nainstalovaný [Node](https://nodejs.org/en/download) a [Noir](https://noir-lang.org/install). Nejlépe je nainstalujte na systém UNIX, jako je macOS, Linux nebo [WSL](https://learn.microsoft.com/en-us/windows/wsl/install).
+
+2. Stáhněte si kód 1. fáze a spusťte webový server, který bude obsluhovat kód klienta.
+
+ ```sh
+ git clone https://github.com/qbzzt/250911-zk-bank.git -b 01-manual-zk
+ cd 250911-zk-bank
+ cd client
+ npm install
+ npm run dev
+ ```
+
+ Důvod, proč zde potřebujete webový server, je ten, že aby se předešlo určitým typům podvodů, mnoho peněženek (například MetaMask) nepřijímá soubory obsluhované přímo z disku.
+
+3. Otevřete prohlížeč s peněženkou.
+
+4. V peněžence zadejte novou heslovou frázi. Upozorňujeme, že tímto smažete stávající heslovou frázi, takže _se ujistěte, že máte zálohu_.
+
+ Heslová fráze je `test test test test test test test test test test test junk`, výchozí testovací heslová fráze pro anvil.
+
+5. Přejděte na [kód na straně klienta](http://localhost:5173/).
+
+6. Připojte se k peněžence a vyberte cílový účet a částku.
+
+7. Klikněte na **Podepsat** a podepište transakci.
+
+8. Pod nadpisem **Prover.toml** najdete text. Nahraďte soubor `server/noir/Prover.toml` tímto textem.
+
+9. Spusťte důkaz s nulovou znalostí.
+
+ ```sh
+ cd ../server/noir
+ nargo execute
+ ```
+
+ Výstup by měl být podobný tomuto
+
+ ```
+ ori@CryptoDocGuy:~/noir/250911-zk-bank/server/noir$ nargo execute
+
+ [zkBank] Circuit witness successfully solved
+ [zkBank] Witness saved to target/zkBank.gz
+ [zkBank] Circuit output: (0x199aa62af8c1d562a6ec96e66347bf3240ab2afb5d022c895e6bf6a5e617167b, 0x0cfc0a67cb7308e4e9b254026b54204e34f6c8b041be207e64c5db77d95dd82d, 0x450cf9da6e180d6159290554ae3d8787, 0x6d8bc5a15b9037e52fb59b6b98722a85)
+ ```
+
+10. Porovnejte poslední dvě hodnoty s hashem, který vidíte ve webovém prohlížeči, abyste zjistili, zda je zpráva správně zahashována.
+
+#### `server/noir/Prover.toml` {#server-noir-prover-toml}
+
+[Tento soubor](https://github.com/qbzzt/250911-zk-bank/blob/01-manual-zk/server/noir/Prover.toml) ukazuje formát informací, který očekává Noir.
+
+```toml
+zpráva="odeslat 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 500 finney (milliEth) 0 "
+```
+
+Zpráva je v textovém formátu, což usnadňuje její pochopení uživatelem (což je nutné při podepisování) a její zpracování kódem Noir. Částka je uvedena ve finney, aby bylo možné na jedné straně provádět zlomkové převody a na druhé straně byla snadno čitelná. Poslední číslo je [nonce](https://en.wikipedia.org/wiki/Cryptographic_nonce).
+
+Řetězec je dlouhý 100 znaků. Důkazy s nulovou znalostí si dobře neporadí s daty s proměnlivou velikostí, proto je často nutné data doplňovat.
+
+```toml
+pubKeyX=["0x83",...,"0x75"]
+pubKeyY=["0x35",...,"0xa5"]
+signature=["0xb1",...,"0x0d"]
+```
+
+Tyto tři parametry jsou bajtová pole s pevnou velikostí.
+
+```toml
+[[účty]]
+adresa="0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
+zůstatek=100_000
+nonce=0
+
+[[účty]]
+adresa="0x70997970C51812dc3A010C7d01b50e0d17dc79C8"
+zůstatek=100_000
+nonce=0
+```
+
+Tímto způsobem se specifikuje pole struktur. Pro každou položku zadáme adresu, zůstatek (v milliETH, známé také jako [finney](https://cryptovalleyjournal.com/glossary/finney/)) a další hodnotu nonce.
+
+#### `client/src/Transfer.tsx` {#client-src-transfer-tsx}
+
+[Tento soubor](https://github.com/qbzzt/250911-zk-bank/blob/01-manual-zk/client/src/Transfer.tsx) implementuje zpracování na straně klienta a generuje soubor `server/noir/Prover.toml` (ten, který obsahuje parametry nulové znalosti).
+
+Zde je vysvětlení zajímavějších částí.
+
+```tsx
+export default attrs => {
+```
+
+Tato funkce vytváří komponentu `Transfer` Reactu, kterou mohou importovat další soubory.
+
+```tsx
+ const accounts = [
+ "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
+ "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
+ "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC",
+ "0x90F79bf6EB2c4f870365E785982E1f101E93b906",
+ "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65",
+ ]
+```
+
+Toto jsou adresy účtů, adresy vytvořené pomocí `test ...` heslové fráze `test junk`. Pokud chcete použít vlastní adresy, stačí upravit tuto definici.
+
+```tsx
+ const account = useAccount()
+ const wallet = createWalletClient({
+ transport: custom(window.ethereum!)
+ })
+```
+
+Tyto [Wagmi hooky](https://wagmi.sh/react/api/hooks) nám umožňují přístup ke knihovně [viem](https://viem.sh/) a k peněžence.
+
+```tsx
+ const message = `send ${toAccount} ${ethAmount*1000} finney (milliEth) ${nonce}`.padEnd(100, " ")
+```
+
+Toto je zpráva, doplněná mezerami. Pokaždé, když se změní jedna z proměnných [`useState`](https://react.dev/reference/react/useState), komponenta se překreslí a `zpráva` se aktualizuje.
+
+```tsx
+ const sign = async () => {
+```
+
+Tato funkce je volána, když uživatel klikne na tlačítko **Podepsat**. Zpráva se automaticky aktualizuje, ale podpis vyžaduje schválení uživatelem v peněžence a my o něj nechceme žádat, pokud to není nutné.
+
+```tsx
+ const signature = await wallet.signMessage({
+ account: fromAccount,
+ message,
+ })
+```
+
+Požádejte peněženku o [podepsání zprávy](https://viem.sh/docs/accounts/local/signMessage).
+
+```tsx
+ const hash = hashMessage(message)
+```
+
+Získejte hash zprávy. Je užitečné poskytnout ho uživateli pro ladění (kódu Noir).
+
+```tsx
+ const pubKey = await recoverPublicKey({
+ hash,
+ signature
+ })
+```
+
+[Získejte veřejný klíč](https://viem.sh/docs/utilities/recoverPublicKey). To je nutné pro funkci [Noir `ecrecover`](https://github.com/colinnielsen/ecrecover-noir).
+
+```tsx
+ setSignature(signature)
+ setHash(hash)
+ setPubKey(pubKey)
+```
+
+Nastavte stavové proměnné. Tímto se komponenta překreslí (po ukončení funkce `sign`) a uživateli se zobrazí aktualizované hodnoty.
+
+```tsx
+ let proverToml = `
+```
+
+Text pro `Prover.toml`.
+
+```tsx
+message="${message}"
+
+pubKeyX=${hexToArray(pubKey.slice(4,4+2*32))}
+pubKeyY=${hexToArray(pubKey.slice(4+2*32))}
+```
+
+Viem nám poskytuje veřejný klíč jako 65bajtový hexadecimální řetězec. První bajt je `0x04`, označení verze. Následuje 32 bajtů pro `x` veřejného klíče a poté 32 bajtů pro `y` veřejného klíče.
+
+Noir však očekává, že tyto informace získá jako dvě bajtová pole, jedno pro `x` a jedno pro `y`. Je snazší ho analyzovat zde na straně klienta než v rámci důkazu s nulovou znalostí.
+
+Všimněte si, že se obecně jedná o dobrou praxi v oblasti nulové znalosti. Kód uvnitř důkazu s nulovou znalostí je nákladný, takže jakékoli zpracování, které lze provést mimo důkaz s nulovou znalostí, _by se mělo_ provádět mimo důkaz s nulovou znalostí.
+
+```tsx
+signature=${hexToArray(signature.slice(2,-2))}
+```
+
+Podpis je také poskytován jako 65bajtový hexadecimální řetězec. Poslední bajt je však nutný pouze k obnovení veřejného klíče. Protože veřejný klíč bude již poskytnut kódu Noir, nepotřebujeme ho k ověření podpisu a kód Noir ho nevyžaduje.
+
+```tsx
+${accounts.map(accountInProverToml).reduce((a,b) => a+b, "")}
+`
+```
+
+Poskytněte účty.
+
+```tsx
+ setProverToml(proverToml)
+ }
+
+ return (
+ <>
+
Převod
+```
+
+Toto je formát HTML (přesněji [JSX](https://react.dev/learn/writing-markup-with-jsx)) komponenty.
+
+#### `server/noir/src/main.nr` {#server-noir-src-main-nr}
+
+[Tento soubor](https://github.com/qbzzt/250911-zk-bank/blob/01-manual-zk/server/noir/src/main.nr) je skutečný kód nulové znalosti.
+
+```
+use std::hash::pedersen_hash;
+```
+
+[Pedersen hash](https://rya-sge.github.io/access-denied/2024/05/07/pedersen-hash-function/) je poskytován se [standardní knihovnou Noir](https://noir-lang.org/docs/noir/standard_library/cryptographic_primitives/hashes#pedersen_hash). Důkazy s nulovou znalostí běžně používají tuto hashovací funkci. V [aritmetických obvodech](https://rareskills.io/post/arithmetic-circuit) se vypočítává mnohem snadněji než standardní hashovací funkce.
+
+```
+use keccak256::keccak256;
+use dep::ecrecover;
+```
+
+Tyto dvě funkce jsou externí knihovny definované v souboru [`Nargo.toml`](https://github.com/qbzzt/250911-zk-bank/blob/01-manual-zk/server/noir/Nargo.toml). Jsou přesně tím, po čem jsou pojmenovány: funkcí, která vypočítá [hash keccak256](https://emn178.github.io/online-tools/keccak_256.html), a funkcí, která ověřuje podpisy Ethereum a obnovuje adresu Ethereum podepisujícího.
+
+```
+global ACCOUNT_NUMBER : u32 = 5;
+```
+
+Noir je inspirován jazykem [Rust](https://www.rust-lang.org/). Proměnné jsou ve výchozím nastavení konstanty. Takto definujeme globální konfigurační konstanty. Konkrétně `ACCOUNT_NUMBER` je počet účtů, které ukládáme.
+
+Datové typy s názvem `u<číslo>` mají daný počet bitů a jsou bez znaménka. Jediné podporované typy jsou `u8`, `u16`, `u32`, `u64` a `u128`.
+
+```
+global FLAT_ACCOUNT_FIELDS : u32 = 2;
+```
+
+Tato proměnná se používá pro Pedersen hash účtů, jak je vysvětleno níže.
+
+```
+global MESSAGE_LENGTH : u32 = 100;
+```
+
+Jak bylo vysvětleno výše, délka zprávy je pevná. Je zde specifikována.
+
+```
+global ASCII_MESSAGE_LENGTH : [u8; 3] = [0x31, 0x30, 0x30];
+global HASH_BUFFER_SIZE : u32 = 26+3+MESSAGE_LENGTH;
+```
+
+[Podpisy EIP-191](https://eips.ethereum.org/EIPS/eip-191) vyžadují vyrovnávací paměť s 26bajtovou předponou, za níž následuje délka zprávy v ASCII a nakonec samotná zpráva.
+
+```
+struct Account {
+ zůstatek: u128,
+ adresa: Field,
+ nonce: u32,
+}
+```
+
+Informace, které ukládáme o účtu. [`Field`](https://noir-lang.org/docs/noir/concepts/data_types/fields) je číslo, typicky až 253 bitů, které lze použít přímo v [aritmetickém obvodu](https://rareskills.io/post/arithmetic-circuit), který implementuje důkaz s nulovou znalostí. Zde používáme `Field` k uložení 160bitové adresy Ethereum.
+
+```
+struct TransferTxn {
+ z: Field,
+ do: Field,
+ částka: u128,
+ nonce: u32
+}
+```
+
+Informace, které ukládáme pro převodní transakci.
+
+```
+fn flatten_account(account: Account) -> [Field; FLAT_ACCOUNT_FIELDS] {
+```
+
+Definice funkce. Parametrem jsou informace o `účtu`. Výsledkem je pole proměnných `Field`, jejichž délka je `FLAT_ACCOUNT_FIELDS`.
+
+```
+ let flat = [
+ account.address,
+ ((account.balance << 32) + account.nonce.into()).into(),
+ ];
+```
+
+První hodnota v poli je adresa účtu. Druhá zahrnuje jak zůstatek, tak nonce. Volání `.into()` změní číslo na datový typ, kterým má být. `account.nonce` je hodnota `u32`, ale aby ji bylo možné přičíst k hodnotě `account.balance << 32`, která je `u128`, musí být `u128`. To je první `.into()`. Druhý převádí výsledek `u128` na `Field`, aby se vešel do pole.
+
+```
+ flat
+}
+```
+
+V jazyce Noir mohou funkce vracet hodnotu pouze na konci (neexistuje předčasné vrácení). Chcete-li zadat návratovou hodnotu, vyhodnotíte ji těsně před uzavírací závorkou funkce.
+
+```
+fn flatten_accounts(accounts: [Account; ACCOUNT_NUMBER]) -> [Field; FLAT_ACCOUNT_FIELDS*ACCOUNT_NUMBER] {
+```
+
+Tato funkce převede pole účtů na pole `Field`, které lze použít jako vstup do Petersen Hash.
+
+```
+ let mut flat: [Field; FLAT_ACCOUNT_FIELDS*ACCOUNT_NUMBER] = [0; FLAT_ACCOUNT_FIELDS*ACCOUNT_NUMBER];
+```
+
+Takto se určuje měnitelná proměnná, tj. _ne_ konstanta. Proměnné v Noir musí mít vždy hodnotu, proto tuto proměnnou inicializujeme na samé nuly.
+
+```
+ for i in 0..ACCOUNT_NUMBER {
+```
+
+Toto je smyčka `for`. Všimněte si, že hranice jsou konstanty. Smyčky Noir musí mít své hranice známé v době kompilace. Důvodem je, že aritmetické obvody nepodporují řízení toku. Při zpracování smyčky `for` kompilátor jednoduše vloží kód dovnitř několikrát, jednou pro každou iteraci.
+
+```
+ let fields = flatten_account(accounts[i]);
+ for j in 0..FLAT_ACCOUNT_FIELDS {
+ flat[i*FLAT_ACCOUNT_FIELDS + j] = fields[j];
+ }
+ }
+
+ flat
+}
+
+fn hash_accounts(accounts: [Account; ACCOUNT_NUMBER]) -> Field {
+ pedersen_hash(flatten_accounts(accounts))
+}
+```
+
+Nakonec jsme se dostali k funkci, která hashuje pole účtů.
+
+```
+fn find_account(accounts: [Account; ACCOUNT_NUMBER], address: Field) -> u32 {
+ let mut account : u32 = ACCOUNT_NUMBER;
+
+ for i in 0..ACCOUNT_NUMBER {
+ if accounts[i].address == address {
+ account = i;
+ }
+ }
+```
+
+Tato funkce najde účet se specifickou adresou. Tato funkce by byla ve standardním kódu strašně neefektivní, protože iteruje přes všechny účty, i když už našla adresu.
+
+V důkazech s nulovou znalostí však neexistuje žádné řízení toku. Pokud někdy potřebujeme zkontrolovat podmínku, musíme ji zkontrolovat pokaždé.
+
+Podobná věc se děje s příkazy `if`. Příkaz `if` ve smyčce výše je přeložen do těchto matematických příkazů.
+
+_výsledekpodmínky = účty[i].adresa == adresa_ // jedna, pokud se rovnají, jinak nula
+
+_účetnový = výsledekpodmínky\*i + (1-výsledekpodmínky)\*účetstarý_
+
+```rust
+ assert (account < ACCOUNT_NUMBER, f"{address} nemá účet");
+
+ account
+}
+```
+
+Funkce [`assert`](https://noir-lang.org/docs/dev/noir/concepts/assert) způsobí pád důkazu s nulovou znalostí, pokud je tvrzení nepravdivé. V tomto případě, pokud nemůžeme najít účet s příslušnou adresou. K nahlášení adresy použijeme [formátovací řetězec](https://noir-lang.org/docs/noir/concepts/data_types/strings#format-strings).
+
+```rust
+fn apply_transfer_txn(accounts: [Account; ACCOUNT_NUMBER], txn: TransferTxn) -> [Account; ACCOUNT_NUMBER] {
+```
+
+Tato funkce aplikuje převodní transakci a vrací nové pole účtů.
+
+```rust
+ let from = find_account(accounts, txn.from);
+ let to = find_account(accounts, txn.to);
+
+ let (txnFrom, txnAmount, txnNonce, accountNonce) =
+ (txn.from, txn.amount, txn.nonce, accounts[from].nonce);
+```
+
+V Noir nemůžeme přistupovat k prvkům struktury uvnitř formátovacího řetězce, proto si vytvoříme použitelnou kopii.
+
+```rust
+ assert (accounts[from].balance >= txn.amount,
+ f"{txnFrom} nemá {txnAmount} finney");
+
+ assert (accounts[from].nonce == txn.nonce,
+ f"Transakce má nonce {txnNonce}, ale očekává se, že účet použije {accountNonce}");
+```
+
+Toto jsou dvě podmínky, které by mohly způsobit neplatnost transakce.
+
+```rust
+ let mut newAccounts = accounts;
+
+ newAccounts[from].balance -= txn.amount;
+ newAccounts[from].nonce += 1;
+ newAccounts[to].balance += txn.amount;
+
+ newAccounts
+}
+```
+
+Vytvořte nové pole účtů a poté ho vraťte.
+
+```rust
+fn readAddress(messageBytes: [u8; MESSAGE_LENGTH]) -> Field
+```
+
+Tato funkce čte adresu ze zprávy.
+
+```rust
+{
+ let mut result : Field = 0;
+
+ for i in 7..47 {
+```
+
+Adresa má vždy 20 bajtů (tj. 40 hexadecimálních číslic) a začíná na znaku #7.
+
+```rust
+ result *= 0x10;
+ if messageBytes[i] >= 48 & messageBytes[i] <= 57 { // 0-9
+ result += (messageBytes[i]-48).into();
+ }
+ if messageBytes[i] >= 65 & messageBytes[i] <= 70 { // A-F
+ result += (messageBytes[i]-65+10).into()
+ }
+ if messageBytes[i] >= 97 & messageBytes[i] <= 102 { // a-f
+ result += (messageBytes[i]-97+10).into()
+ }
+ }
+
+ result
+}
+
+fn readAmountAndNonce(messageBytes: [u8; MESSAGE_LENGTH]) -> (u128, u32)
+```
+
+Přečtěte částku a nonce ze zprávy.
+
+```rust
+{
+ let mut amount : u128 = 0;
+ let mut nonce: u32 = 0;
+ let mut stillReadingAmount: bool = true;
+ let mut lookingForNonce: bool = false;
+ let mut stillReadingNonce: bool = false;
+```
+
+Ve zprávě je první číslo za adresou částka finney (tj. tisícina ETH) k převodu. Druhé číslo je nonce. Jakýkoli text mezi nimi je ignorován.
+
+```rust
+ for i in 48..MESSAGE_LENGTH {
+ if messageBytes[i] >= 48 & messageBytes[i] <= 57 { // 0-9
+ let digit = (messageBytes[i]-48);
+
+ if stillReadingAmount {
+ amount = amount*10 + digit.into();
+ }
+
+ if lookingForNonce { // Právě jsme to našli
+ stillReadingNonce = true;
+ lookingForNonce = false;
+ }
+
+ if stillReadingNonce {
+ nonce = nonce*10 + digit.into();
+ }
+ } else {
+ if stillReadingAmount {
+ stillReadingAmount = false;
+ lookingForNonce = true;
+ }
+ if stillReadingNonce {
+ stillReadingNonce = false;
+ }
+ }
+ }
+
+ (amount, nonce)
+}
+```
+
+Vrácení [n-tice](https://noir-lang.org/docs/noir/concepts/data_types/tuples) je v Noir způsob, jak vrátit více hodnot z funkce.
+
+```rust
+fn readTransferTxn(message: str) -> TransferTxn
+{
+ let mut txn: TransferTxn = TransferTxn { from: 0, to: 0, amount:0, nonce:0 };
+ let messageBytes = message.as_bytes();
+
+ txn.to = readAddress(messageBytes);
+ let (amount, nonce) = readAmountAndNonce(messageBytes);
+ txn.amount = amount;
+ txn.nonce = nonce;
+
+ txn
+}
+```
+
+Tato funkce převede zprávu na bajty a poté převede částky na `TransferTxn`.
+
+```rust
+// Ekvivalent hashMessage od Viem
+// https://viem.sh/docs/utilities/hashMessage#hashmessage
+fn hashMessage(message: str) -> [u8;32] {
+```
+
+Pedersen Hash jsme mohli použít pro účty, protože se hashují pouze v rámci důkazu s nulovou znalostí. V tomto kódu však musíme zkontrolovat podpis zprávy, který je generován prohlížečem. K tomu je třeba dodržet formát podepisování Ethereum v [EIP 191](https://eips.ethereum.org/EIPS/eip-191). To znamená, že musíme vytvořit kombinovanou vyrovnávací paměť se standardní předponou, délkou zprávy v ASCII a samotnou zprávou a k jejímu hashování použít standardní keccak256 z Etherea.
+
+```rust
+ // Předpona ASCII
+ let prefix_bytes = [
+ 0x19, // \x19
+ 0x45, // 'E'
+ 0x74, // 't'
+ 0x68, // 'h'
+ 0x65, // 'e'
+ 0x72, // 'r'
+ 0x65, // 'e'
+ 0x75, // 'u'
+ 0x6D, // 'm'
+ 0x20, // ' '
+ 0x53, // 'S'
+ 0x69, // 'i'
+ 0x67, // 'g'
+ 0x6E, // 'n'
+ 0x65, // 'e'
+ 0x64, // 'd'
+ 0x20, // ' '
+ 0x4D, // 'M'
+ 0x65, // 'e'
+ 0x73, // 's'
+ 0x73, // 's'
+ 0x61, // 'a'
+ 0x67, // 'g'
+ 0x65, // 'e'
+ 0x3A, // ':'
+ 0x0A // '\n'
+ ];
+```
+
+Aby se předešlo případům, kdy aplikace požádá uživatele o podepsání zprávy, kterou lze použít jako transakci nebo pro jiný účel, EIP 191 stanoví, že všechny podepsané zprávy začínají znakem 0x19 (není to platný znak ASCII), za nímž následuje `Ethereum Signed Message:` a nový řádek.
+
+```rust
+ let mut buffer: [u8; HASH_BUFFER_SIZE] = [0u8; HASH_BUFFER_SIZE];
+ for i in 0..26 {
+ buffer[i] = prefix_bytes[i];
+ }
+
+ let messageBytes : [u8; MESSAGE_LENGTH] = message.as_bytes();
+
+ if MESSAGE_LENGTH <= 9 {
+ for i in 0..1 {
+ buffer[i+26] = ASCII_MESSAGE_LENGTH[i];
+ }
+
+ for i in 0..MESSAGE_LENGTH {
+ buffer[i+26+1] = messageBytes[i];
+ }
+ }
+
+ if MESSAGE_LENGTH >= 10 & MESSAGE_LENGTH <= 99 {
+ for i in 0..2 {
+ buffer[i+26] = ASCII_MESSAGE_LENGTH[i];
+ }
+
+ for i in 0..MESSAGE_LENGTH {
+ buffer[i+26+2] = messageBytes[i];
+ }
+ }
+
+ if MESSAGE_LENGTH >= 100 {
+ for i in 0..3 {
+ buffer[i+26] = ASCII_MESSAGE_LENGTH[i];
+ }
+
+ for i in 0..MESSAGE_LENGTH {
+ buffer[i+26+3] = messageBytes[i];
+ }
+ }
+
+ assert(MESSAGE_LENGTH < 1000, "Zprávy s délkou přes tři číslice nejsou podporovány");
+```
+
+Zpracujte délky zpráv až do 999 a selžete, pokud je větší. Tento kód jsem přidal, i když délka zprávy je konstanta, protože to usnadňuje její změnu. V produkčním systému byste pravděpodobně předpokládali, že se `MESSAGE_LENGTH` nemění kvůli lepšímu výkonu.
+
+```rust
+ keccak256::keccak256(buffer, HASH_BUFFER_SIZE)
+}
+```
+
+Použijte standardní funkci Ethereum `keccak256`.
+
+```rust
+fn signatureToAddressAndHash(
+ message: str,
+ pubKeyX: [u8; 32],
+ pubKeyY: [u8; 32],
+ signature: [u8; 64]
+ ) -> (Field, Field, Field) // adresa, prvních 16 bajtů hashe, posledních 16 bajtů hashe
+{
+```
+
+Tato funkce ověřuje podpis, což vyžaduje hash zprávy. Poté nám poskytne adresu, která jej podepsala, a hash zprávy. Hash zprávy je dodáván ve dvou hodnotách `Field`, protože se s nimi ve zbytku programu snadněji pracuje než s bajtovým polem.
+
+Musíme použít dvě hodnoty `Field`, protože výpočty pole se provádějí [modulo](https://en.wikipedia.org/wiki/Modulo) velkého čísla, ale toto číslo je obvykle menší než 256 bitů (jinak by bylo obtížné provádět tyto výpočty v EVM).
+
+```rust
+ let hash = hashMessage(message);
+
+ let mut (hash1, hash2) = (0,0);
+
+ for i in 0..16 {
+ hash1 = hash1*256 + hash[31-i].into();
+ hash2 = hash2*256 + hash[15-i].into();
+ }
+```
+
+Určete `hash1` a `hash2` jako měnitelné proměnné a zapište do nich hash bajt po bajtu.
+
+```rust
+ (
+ ecrecover::ecrecover(pubKeyX, pubKeyY, signature, hash),
+```
+
+Je to podobné jako u [`ecrecover` v Solidity](https://docs.soliditylang.org/en/v0.8.30/cheatsheet.html#mathematical-and-cryptographic-functions), se dvěma důležitými rozdíly:
+
+- Pokud podpis není platný, volání selže s `assert` a program se přeruší.
+- Zatímco veřejný klíč lze obnovit z podpisu a hashe, jedná se o zpracování, které lze provést externě, a proto se nevyplatí ho provádět v rámci důkazu s nulovou znalostí. Pokud se nás zde někdo pokusí podvést, ověření podpisu se nezdaří.
+
+```rust
+ hash1,
+ hash2
+ )
+}
+
+fn main(
+ accounts: [Account; ACCOUNT_NUMBER],
+ message: str,
+ pubKeyX: [u8; 32],
+ pubKeyY: [u8; 32],
+ signature: [u8; 64],
+ ) -> pub (
+ Field, // Hash pole starých účtů
+ Field, // Hash pole nových účtů
+ Field, // Prvních 16 bajtů hashe zprávy
+ Field, // Posledních 16 bajtů hashe zprávy
+ )
+```
+
+Nakonec se dostáváme k funkci `main`. Musíme dokázat, že máme transakci, která platně mění hash účtů ze staré hodnoty na novou. Také musíme dokázat, že má tento specifický hash transakce, aby osoba, která ji odeslala, věděla, že její transakce byla zpracována.
+
+```rust
+{
+ let mut txn = readTransferTxn(message);
+```
+
+Potřebujeme, aby `txn` byla měnitelná, protože adresu odesílatele nečteme ze zprávy, ale z podpisu.
+
+```rust
+ let (fromAddress, txnHash1, txnHash2) = signatureToAddressAndHash(
+ message,
+ pubKeyX,
+ pubKeyY,
+ signature);
+
+ txn.from = fromAddress;
+
+ let newAccounts = apply_transfer_txn(accounts, txn);
+
+ (
+ hash_accounts(accounts),
+ hash_accounts(newAccounts),
+ txnHash1,
+ txnHash2
+ )
+}
+```
+
+### Fáze 2 – Přidání serveru {#stage-2}
+
+Ve druhé fázi přidáme server, který přijímá a implementuje převodní transakce z prohlížeče.
+
+Chcete-li to vidět v akci:
+
+1. Zastavte Vite, pokud běží.
+
+2. Stáhněte si větev, která obsahuje server, a ujistěte se, že máte všechny potřebné moduly.
+
+ ```sh
+ git checkout 02-add-server
+ cd client
+ npm install
+ cd ../server
+ npm install
+ ```
+
+ Není třeba kompilovat kód Noir, je to stejný kód, který jste použili pro 1. fázi.
+
+3. Spusťte server.
+
+ ```sh
+ npm run start
+ ```
+
+4. V samostatném okně příkazového řádku spusťte Vite, abyste mohli obsluhovat kód prohlížeče.
+
+ ```sh
+ cd client
+ npm run dev
+ ```
+
+5. Přejděte na klientský kód na adrese [http://localhost:5173](http://localhost:5173)
+
+6. Než budete moci vydat transakci, musíte znát nonce a také částku, kterou můžete odeslat. Chcete-li získat tyto informace, klikněte na **Aktualizovat údaje o účtu** a podepište zprávu.
+
+ Máme zde dilema. Na jedné straně nechceme podepisovat zprávu, kterou lze znovu použít ([opakovací útok](https://en.wikipedia.org/wiki/Replay_attack)), což je důvod, proč chceme mít nonce. Nicméně ještě nemáme nonce. Řešením je zvolit nonce, které lze použít pouze jednou a které již máme na obou stranách, například aktuální čas.
+
+ Problém s tímto řešením je, že čas nemusí být dokonale synchronizován. Takže místo toho podepíšeme hodnotu, která se mění každou minutu. To znamená, že naše okno zranitelnosti vůči opakovacím útokům je maximálně jedna minuta. Vzhledem k tomu, že v produkci bude podepsaný požadavek chráněn protokolem TLS a že druhá strana tunelu – server – již může sdělit zůstatek a nonce (musí je znát, aby mohl fungovat), jedná se o přijatelné riziko.
+
+7. Jakmile prohlížeč získá zpět zůstatek a nonce, zobrazí formulář pro převod. Vyberte cílovou adresu a částku a klikněte na **Převod**. Podepište tento požadavek.
+
+8. Chcete-li zobrazit převod, buď **Aktualizujte údaje o účtu**, nebo se podívejte do okna, kde spouštíte server. Server protokoluje stav při každé změně.
+
+ ```
+ ori@CryptoDocGuy:~/x/250911-zk-bank/server$ npm run start
+
+ > server@1.0.0 start
+ > node --experimental-json-modules index.mjs
+
+ Poslouchá na portu 3000
+ Zpracována transakce odeslání 0x90F79bf6EB2c4f870365E785982E1f101E93b906 36000 finney (milliEth) 0
+ Nový stav:
+ 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 má 64000 (1)
+ 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 má 100000 (0)
+ 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC má 100000 (0)
+ 0x90F79bf6EB2c4f870365E785982E1f101E93b906 má 136000 (0)
+ 0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65 má 100000 (0)
+ Zpracována transakce odeslání 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 7200 finney (milliEth) 1
+ Nový stav:
+ 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 má 56800 (2)
+ 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 má 107200 (0)
+ 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC má 100000 (0)
+ 0x90F79bf6EB2c4f870365E785982E1f101E93b906 má 136000 (0)
+ 0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65 má 100000 (0)
+ Zpracována transakce odeslání 0x90F79bf6EB2c4f870365E785982E1f101E93b906 3000 finney (milliEth) 2
+ Nový stav:
+ 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 má 53800 (3)
+ 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 má 107200 (0)
+ 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC má 100000 (0)
+ 0x90F79bf6EB2c4f870365E785982E1f101E93b906 má 139000 (0)
+ 0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65 má 100000 (0)
+ ```
+
+#### `server/index.mjs` {#server-index-mjs-1}
+
+[Tento soubor](https://github.com/qbzzt/250911-zk-bank/blob/02-add-server/server/index.mjs) obsahuje proces serveru a interaguje s kódem Noir na [`main.nr`](https://github.com/qbzzt/250911-zk-bank/blob/02-add-server/server/noir/src/main.nr). Zde je vysvětlení zajímavých částí.
+
+```js
+import { Noir } from '@noir-lang/noir_js'
+```
+
+Knihovna [noir.js](https://www.npmjs.com/package/@noir-lang/noir_js) propojuje kód JavaScriptu a kód Noir.
+
+```js
+const circuit = JSON.parse(await fs.readFile("./noir/target/zkBank.json"))
+const noir = new Noir(circuit)
+```
+
+Načtěte aritmetický obvod – kompilovaný program Noir, který jsme vytvořili v předchozí fázi – a připravte se na jeho spuštění.
+
+```js
+// Informace o účtu poskytujeme pouze v odpovědi na podepsaný požadavek
+const accountInformation = async signature => {
+ const fromAddress = await recoverAddress({
+ hash: hashMessage("Získat data účtu " + Math.floor((new Date().getTime())/60000)),
+ signature
+ })
+```
+
+Pro poskytnutí informací o účtu potřebujeme pouze podpis. Důvodem je, že již víme, jaká bude zpráva, a tedy i hash zprávy.
+
+```js
+const processMessage = async (message, signature) => {
+```
+
+Zpracujte zprávu a proveďte transakci, kterou kóduje.
+
+```js
+ // Získat veřejný klíč
+ const pubKey = await recoverPublicKey({
+ hash,
+ signature
+ })
+```
+
+Nyní, když spouštíme JavaScript na serveru, můžeme získat veřejný klíč tam, spíše než na klientovi.
+
+```js
+ let noirResult
+ try {
+ noirResult = await noir.execute({
+ message,
+ signature: signature.slice(2,-2).match(/.{2}/g).map(x => `0x${x}`),
+ pubKeyX,
+ pubKeyY,
+ accounts: Accounts
+ })
+```
+
+`noir.execute` spouští program Noir. Parametry jsou ekvivalentní těm, které jsou uvedeny v souboru [`Prover.toml`](https://github.com/qbzzt/250911-zk-bank/blob/01-manual-zk/server/noir/Prover.toml). Všimněte si, že dlouhé hodnoty jsou poskytovány jako pole hexadecimálních řetězců (`["0x60", "0xA7"]`), nikoli jako jediná hexadecimální hodnota (`0x60A7`), jak to dělá Viem.
+
+```js
+ } catch (err) {
+ console.log(`Chyba Noir: ${err}`)
+ throw Error("Neplatná transakce, nebyla zpracována")
+ }
+```
+
+Pokud dojde k chybě, zachyťte ji a poté předejte zjednodušenou verzi klientovi.
+
+```js
+ Accounts[fromAccountNumber].nonce++
+ Accounts[fromAccountNumber].balance -= amount
+ Accounts[toAccountNumber].balance += amount
+```
+
+Proveďte transakci. Už jsme to udělali v kódu Noir, ale je snazší to udělat znovu zde, než extrahovat výsledek odtamtud.
+
+```js
+let Accounts = [
+ {
+ address: "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
+ balance: 5000,
+ nonce: 0,
+ },
+```
+
+Počáteční struktura `účtů`.
+
+### Fáze 3 – Chytré kontrakty Ethereum {#stage-3}
+
+1. Zastavte procesy serveru a klienta.
+
+2. Stáhněte si větev s chytrými kontrakty a ujistěte se, že máte všechny potřebné moduly.
+
+ ```sh
+ git checkout 03-smart-contracts
+ cd client
+ npm install
+ cd ../server
+ npm install
+ ```
+
+3. Spusťte `anvil` v samostatném okně příkazového řádku.
+
+4. Vygenerujte ověřovací klíč a ověřovač Solidity, poté zkopírujte kód ověřovače do projektu Solidity.
+
+ ```sh
+ cd noir
+ bb write_vk -b ./target/zkBank.json -o ./target --oracle_hash keccak
+ bb write_solidity_verifier -k ./target/vk -o ./target/Verifier.sol
+ cp target/Verifier.sol ../../smart-contracts/src
+ ```
+
+5. Přejděte na chytré kontrakty a nastavte proměnné prostředí pro použití blockchainu `anvil`.
+
+ ```sh
+ cd ../../smart-contracts
+ export ETH_RPC_URL=http://localhost:8545
+ ETH_PRIVATE_KEY=ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
+ ```
+
+6. Nasaďte `Verifier.sol` a uložte adresu do proměnné prostředí.
+
+ ```sh
+ VERIFIER_ADDRESS=`forge create src/Verifier.sol:HonkVerifier --private-key $ETH_PRIVATE_KEY --optimize --broadcast | awk '/Deployed to:/ {print $3}'`
+ echo $VERIFIER_ADDRESS
+ ```
+
+7. Nasaďte kontrakt `ZkBank`.
+
+ ```sh
+ ZKBANK_ADDRESS=`forge create ZkBank --private-key $ETH_PRIVATE_KEY --broadcast --constructor-args $VERIFIER_ADDRESS 0x199aa62af8c1d562a6ec96e66347bf3240ab2afb5d022c895e6bf6a5e617167b | awk '/Deployed to:/ {print $3}'`
+ echo $ZKBANK_ADDRESS
+ ```
+
+ Hodnota `0x199..67b` je Pederson hash počátečního stavu `Účtů`. Pokud tento počáteční stav v `server/index.mjs` upravíte, můžete spustit transakci a zobrazit počáteční hash hlášený důkazem s nulovou znalostí.
+
+8. Spusťte server.
+
+ ```sh
+ cd ../server
+ npm run start
+ ```
+
+9. Spusťte klienta v jiném okně příkazového řádku.
+
+ ```sh
+ cd client
+ npm run dev
+ ```
+
+10. Spusťte nějaké transakce.
+
+11. Chcete-li ověřit, že se stav změnil na blockchainu, restartujte proces serveru. Podívejte se, že `ZkBank` již nepřijímá transakce, protože původní hodnota hashe v transakcích se liší od hodnoty hashe uložené na blockchainu.
+
+ Toto je typ očekávané chyby.
+
+ ```
+ ori@CryptoDocGuy:~/x/250911-zk-bank/server$ npm run start
+
+ > server@1.0.0 start
+ > node --experimental-json-modules index.mjs
+
+ Poslouchání na portu 3000
+ Chyba ověření: ContractFunctionExecutionError: Funkce kontraktu "processTransaction" se vrátila s následujícím důvodem:
+ Špatný hash starého stavu
+
+ Volání kontraktu:
+ adresa: 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512
+ funkce: processTransaction(bytes _proof, bytes32[] _publicInputs)
+ argumenty: (0x0000000000000000000000000000000000000000000000042ab5d6d1986846cf00000000000000000000000000000000000000000000000b75c020998797da7800000000000000000000000000000000000000000000000)
+ ```
+
+#### `server/index.mjs` {#server-index-mjs-2}
+
+Změny v tomto souboru se týkají především vytvoření skutečného důkazu a jeho odeslání na blockchain.
+
+```js
+import { exec } from 'child_process'
+import util from 'util'
+
+const execPromise = util.promisify(exec)
+```
+
+Musíme použít [balíček Barretenberg](https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg) k vytvoření skutečného důkazu k odeslání na blockchain. Tento balíček můžeme použít buď spuštěním rozhraní příkazového řádku (`bb`), nebo použitím [knihovny JavaScript, `bb.js`](https://www.npmjs.com/package/@aztec/bb.js). Knihovna JavaScript je mnohem pomalejší než nativní spouštění kódu, takže zde používáme [`exec`](https://nodejs.org/api/child_process.html#child_processexeccommand-options-callback) pro použití příkazového řádku.
+
+Všimněte si, že pokud se rozhodnete použít `bb.js`, musíte použít verzi, která je kompatibilní s verzí Noir, kterou používáte. V době psaní tohoto článku aktuální verze Noir (1.0.0-beta.11) používá `bb.js` verze 0.87.
+
+```js
+const zkBankAddress = process.env.ZKBANK_ADDRESS || "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512"
+```
+
+Zde uvedená adresa je ta, kterou získáte, když začnete s čistým `anvilem` a budete postupovat podle výše uvedených pokynů.
+
+```js
+const walletClient = createWalletClient({
+ chain: anvil,
+ transport: http(),
+ account: privateKeyToAccount("0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6")
+})
+```
+
+Tento privátní klíč je jedním z výchozích předem financovaných účtů v `anvil`.
+
+```js
+const generateProof = async (witness, fileID) => {
+```
+
+Vygenerujte důkaz pomocí spustitelného souboru `bb`.
+
+```js
+ const fname = `witness-${fileID}.gz`
+ await fs.writeFile(fname, witness)
+```
+
+Zapište svědka do souboru.
+
+```js
+ await execPromise(`bb prove -b ./noir/target/zkBank.json -w ${fname} -o ${fileID} --oracle_hash keccak --output_format fields`)
+```
+
+Vytvořte důkaz. Tento krok také vytvoří soubor s veřejnými proměnnými, ale ten nepotřebujeme. Tyto proměnné jsme již získali z `noir.execute`.
+
+```js
+ const proof = "0x" + JSON.parse(await fs.readFile(`./${fileID}/proof_fields.json`)).reduce((a,b) => a+b, "").replace(/0x/g, "")
+```
+
+Důkaz je pole JSON hodnot `Field`, z nichž každá je reprezentována jako hexadecimální hodnota. Musíme ho však odeslat v transakci jako jedinou hodnotu `bytes`, kterou Viem reprezentuje velkým hexadecimálním řetězcem. Zde měníme formát zřetězením všech hodnot, odstraněním všech `0x` a následným přidáním jednoho na konec.
+
+```js
+ await execPromise(`rm -r ${fname} ${fileID}`)
+
+ return proof
+}
+```
+
+Vyčistěte a vraťte důkaz.
+
+```js
+const processMessage = async (message, signature) => {
+ .
+ .
+ .
+
+ const publicFields = noirResult.returnValue.map(x=>'0x' + x.slice(2).padStart(64, "0"))
+```
+
+Veřejná pole musí být pole 32bajtových hodnot. Jelikož jsme však potřebovali rozdělit hash transakce mezi dvě hodnoty `Field`, zobrazuje se jako 16bajtová hodnota. Zde přidáváme nuly, aby Viem pochopil, že se jedná o 32 bajtů.
+
+```js
+ const proof = await generateProof(noirResult.witness, `${fromAddress}-${nonce}`)
+```
+
+Každá adresa používá každou nonce pouze jednou, takže můžeme použít kombinaci `fromAddress` a `nonce` jako jedinečný identifikátor pro soubor svědka a výstupní adresář.
+
+```js
+ try {
+ await zkBank.write.processTransaction([
+ proof, publicFields])
+ } catch (err) {
+ console.log(`Chyba ověření: ${err}`)
+ throw Error("Transakci nelze ověřit na blockchainu")
+ }
+ .
+ .
+ .
+}
+```
+
+Odešlete transakci do řetězce.
+
+#### `smart-contracts/src/ZkBank.sol` {#smart-contracts-src-zkbank-sol}
+
+Toto je onchain kód, který přijímá transakci.
+
+```solidity
+// SPDX-License-Identifier: MIT
+
+pragma solidity >=0.8.21;
+
+import {HonkVerifier} from "./Verifier.sol";
+
+contract ZkBank {
+ HonkVerifier immutable myVerifier;
+ bytes32 currentStateHash;
+
+ constructor(address _verifierAddress, bytes32 _initialStateHash) {
+ currentStateHash = _initialStateHash;
+ myVerifier = HonkVerifier(_verifierAddress);
+ }
+```
+
+Kód na blockchainu musí sledovat dvě proměnné: ověřovač (samostatný kontrakt vytvořený `nargem`) a aktuální hash stavu.
+
+```solidity
+ event TransactionProcessed(
+ bytes32 indexed transactionHash,
+ bytes32 oldStateHash,
+ bytes32 newStateHash
+ );
+```
+
+Pokaždé, když se stav změní, vydáme událost `TransactionProcessed`.
+
+```solidity
+ function processTransaction(
+ bytes calldata _proof,
+ bytes32[] calldata _publicFields
+ ) public {
+```
+
+Tato funkce zpracovává transakce. Získá důkaz (jako `bajty`) a veřejné vstupy (jako pole `bytes32`) ve formátu, který ověřovatel vyžaduje (aby se minimalizovalo zpracování na blockchainu a tím i náklady na gas).
+
+```solidity
+ require(_publicInputs[0] == currentStateHash,
+ "Špatný starý hash stavu");
+```
+
+Důkaz s nulovou znalostí musí být o tom, že transakce se mění z našeho současného hashe na nový.
+
+```solidity
+ myVerifier.verify(_proof, _publicFields);
+```
+
+Zavolejte kontrakt ověřovače, abyste ověřili důkaz s nulovou znalostí. Tento krok vrátí transakci, pokud je důkaz s nulovou znalostí nesprávný.
+
+```solidity
+ currentStateHash = _publicFields[1];
+
+ emit TransactionProcessed(
+ _publicFields[2]<<128 | _publicFields[3],
+ _publicFields[0],
+ _publicFields[1]
+ );
+ }
+}
+```
+
+Pokud je vše v pořádku, aktualizujte hash stavu na novou hodnotu a vydejte událost `TransactionProcessed`.
+
+## Zneužití centralizovanou součástí {#abuses}
+
+Informační bezpečnost se skládá ze tří atributů:
+
+- _Důvěrnost_, uživatelé nemohou číst informace, ke kterým nejsou oprávněni.
+- _Integrita_, informace nemohou být měněny jinak než oprávněnými uživateli oprávněným způsobem.
+- _Dostupnost_, oprávnění uživatelé mohou systém používat.
+
+V tomto systému je integrita zajištěna prostřednictvím důkazů s nulovou znalostí. Dostupnost je mnohem obtížnější zaručit a důvěrnost je nemožná, protože banka musí znát zůstatek každého účtu a všechny transakce. Neexistuje způsob, jak zabránit entitě, která má informace, v jejich sdílení.
+
+Možná by bylo možné vytvořit skutečně důvěrnou banku pomocí [neviditelných adres](https://vitalik.eth.limo/general/2023/01/20/stealth.html), ale to je nad rámec tohoto článku.
+
+### Nepravdivé informace {#false-info}
+
+Jedním ze způsobů, jak může server porušit integritu, je poskytnutí nepravdivých informací, když [jsou požadována data](https://github.com/qbzzt/250911-zk-bank/blob/03-smart-contracts/server/index.mjs#L278-L291).
+
+K vyřešení tohoto problému můžeme napsat druhý program Noir, který přijímá účty jako soukromý vstup a adresu, pro kterou jsou informace požadovány, jako veřejný vstup. Výstupem je zůstatek a nonce této adresy a hash účtů.
+
+Tento důkaz samozřejmě nelze ověřit na blockchainu, protože nechceme zveřejňovat nonce a zůstatky na blockchainu. Může však být ověřen klientským kódem spuštěným v prohlížeči.
+
+### Vynucené transakce {#forced-txns}
+
+Obvyklým mechanismem pro zajištění dostupnosti a prevenci cenzury na L2 jsou [vynucené transakce](https://docs.optimism.io/stack/transactions/forced-transaction). Ale vynucené transakce se nekombinují s důkazy s nulovou znalostí. Server je jedinou entitou, která může ověřovat transakce.
+
+Můžeme upravit `smart-contracts/src/ZkBank.sol` tak, aby přijímal vynucené transakce a zabránil serveru měnit stav, dokud nebudou zpracovány. To nás však vystavuje jednoduchému útoku typu denial-of-service. Co když je vynucená transakce neplatná, a proto ji nelze zpracovat?
+
+Řešením je mít důkaz s nulovou znalostí, že vynucená transakce je neplatná. To dává serveru tři možnosti:
+
+- Zpracovat vynucenou transakci a poskytnout důkaz s nulovou znalostí, že byla zpracována, a nový hash stavu.
+- Odmítnout vynucenou transakci a poskytnout kontraktu důkaz s nulovou znalostí, že transakce je neplatná (neznámá adresa, špatné nonce nebo nedostatečný zůstatek).
+- Ignorovat vynucenou transakci. Neexistuje způsob, jak donutit server, aby transakci skutečně zpracoval, ale znamená to, že celý systém je nedostupný.
+
+#### Dluhopisy dostupnosti {#avail-bonds}
+
+V reálné implementaci by pravděpodobně existoval nějaký druh motivace k zisku pro udržení serveru v provozu. Tuto pobídku můžeme posílit tím, že server zveřejní dluhopis dostupnosti, který může kdokoli spálit, pokud vynucená transakce není zpracována v určitém období.
+
+### Špatný kód Noir {#bad-noir-code}
+
+Normálně, aby lidé důvěřovali chytrému kontraktu, nahrajeme zdrojový kód do [prohlížeče bloků](https://eth.blockscout.com/address/0x7D16d2c4e96BCFC8f815E15b771aC847EcbDB48b?tab=contract). V případě důkazů s nulovou znalostí to však nestačí.
+
+`Verifier.sol` obsahuje ověřovací klíč, který je funkcí programu Noir. Tento klíč nám však neříká, jaký byl program Noir. Chcete-li mít skutečně důvěryhodné řešení, musíte nahrát program Noir (a verzi, která ho vytvořila). V opačném případě by důkazy s nulovou znalostí mohly odrážet jiný program, program se zadními vrátky.
+
+Dokud nám prohlížeče bloků neumožní nahrávat a ověřovat programy Noir, měli byste to dělat sami (nejlépe na [IPFS](/developers/tutorials/ipfs-decentralized-ui/)). Poté budou moci zkušení uživatelé stáhnout zdrojový kód, sami ho zkompilovat, vytvořit `Verifier.sol` a ověřit, že je identický s tím na blockchainu.
+
+## Závěr {#conclusion}
+
+Aplikace typu Plasma vyžadují centralizovanou komponentu jako úložiště informací. To otevírá potenciální zranitelnosti, ale na oplátku nám to umožňuje zachovat soukromí způsoby, které na samotném blockchainu nejsou dostupné. S důkazy s nulovou znalostí můžeme zajistit integritu a případně učinit ekonomicky výhodným, aby kdokoli, kdo provozuje centralizovanou komponentu, udržoval dostupnost.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
+
+## Poděkování {#acknowledgements}
+
+- Josh Crites si přečetl návrh tohoto článku a pomohl mi s ošemetným problémem Noir.
+
+Za zbývající chyby jsem zodpovědný já.
diff --git a/public/content/translations/cs/developers/tutorials/calling-a-smart-contract-from-javascript/index.md b/public/content/translations/cs/developers/tutorials/calling-a-smart-contract-from-javascript/index.md
new file mode 100644
index 00000000000..a7e7aaf9836
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/calling-a-smart-contract-from-javascript/index.md
@@ -0,0 +1,131 @@
+---
+title: Volání chytrého kontraktu z JavaScriptu
+description: Jak volat funkci chytrého kontraktu z JavaScriptu na příkladu tokenu Dai
+author: jdourlens
+tags: [ "transakce", "frontend", "JavaScript", "web3.js" ]
+skill: beginner
+lang: cs
+published: 2020-04-19
+source: EthereumDev
+sourceUrl: https://ethereumdev.io/calling-a-smart-contract-from-javascript/
+address: "0x19dE91Af973F404EDF5B4c093983a7c6E3EC8ccE"
+---
+
+V tomto návodu si ukážeme, jak zavolat funkci [chytrého kontraktu](/developers/docs/smart-contracts/) z JavaScriptu. Nejprve si přečteme stav chytrého kontraktu (např. zůstatek držitele ERC20), poté změníme stav blockchainu provedením převodu tokenu. Měli byste již být obeznámeni s [nastavením prostředí JS pro interakci s blockchainem](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/).
+
+V tomto příkladu budeme pracovat s tokenem DAI. Pro účely testování vytvoříme větev blockchainu pomocí ganache-cli a odemkneme adresu, která již má hodně DAI:
+
+```bash
+ganache-cli -f https://mainnet.infura.io/v3/[VÁŠ INFURA KLÍČ] -d -i 66 1 --unlock 0x4d10ae710Bd8D1C31bd7465c8CBC3add6F279E81
+```
+
+Pro interakci s chytrým kontraktem budeme potřebovat jeho adresu a ABI:
+
+```js
+const ERC20TransferABI = [
+ {
+ constant: false,
+ inputs: [
+ {
+ name: "_to",
+ type: "address",
+ },
+ {
+ name: "_value",
+ type: "uint256",
+ },
+ ],
+ name: "transfer",
+ outputs: [
+ {
+ name: "",
+ type: "bool",
+ },
+ ],
+ payable: false,
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ constant: true,
+ inputs: [
+ {
+ name: "_owner",
+ type: "address",
+ },
+ ],
+ name: "balanceOf",
+ outputs: [
+ {
+ name: "balance",
+ type: "uint256",
+ },
+ ],
+ payable: false,
+ stateMutability: "view",
+ type: "function",
+ },
+]
+
+const DAI_ADDRESS = "0x6b175474e89094c44da98b954eedeac495271d0f"
+```
+
+Pro tento projekt jsme z kompletního ERC20 ABI ponechali pouze funkce `balanceOf` a `transfer`, ale [celé ERC20 ABI naleznete zde](https://ethereumdev.io/abi-for-erc20-contract-on-ethereum/).
+
+Poté musíme náš chytrý kontrakt instanciovat:
+
+```js
+const web3 = new Web3("http://localhost:8545")
+
+const daiToken = new web3.eth.Contract(ERC20TransferABI, DAI_ADDRESS)
+```
+
+Také si nastavíme dvě adresy:
+
+- tu, která obdrží převod, a
+- tu, kterou jsme již odemkli a která ho odešle:
+
+```js
+const senderAddress = "0x4d10ae710Bd8D1C31bd7465c8CBC3add6F279E81"
+const receiverAddress = "0x19dE91Af973F404EDF5B4c093983a7c6E3EC8ccE"
+```
+
+V další části zavoláme funkci `balanceOf`, abychom zjistili aktuální množství tokenů, které obě adresy drží.
+
+## Volání: Čtení hodnoty z chytrého kontraktu {#call-reading-value-from-a-smart-contract}
+
+První příklad zavolá „konstantní“ metodu a spustí metodu chytrého kontraktu v EVM bez odeslání jakékoli transakce. Za tímto účelem si přečteme zůstatek ERC20 na adrese. [Přečtěte si náš článek o ERC20 tokenech](/developers/tutorials/understand-the-erc-20-token-smart-contract/).
+
+K metodám instanciovaného chytrého kontraktu, pro který jste poskytli ABI, můžete přistupovat následovně: `yourContract.methods.methodname`. Použitím funkce `call` obdržíte výsledek jejího spuštění.
+
+```js
+daiToken.methods.balanceOf(senderAddress).call(function (err, res) {
+ if (err) {
+ console.log("Došlo k chybě", err)
+ return
+ }
+ console.log("Zůstatek je: ", res)
+})
+```
+
+Pamatujte, že DAI ERC20 má 18 desetinných míst, což znamená, že pro získání správné částky musíte odstranit 18 nul. Hodnoty uint256 se vrací jako řetězce, protože JavaScript nezvládá velká číselné hodnoty. Pokud si nejste jisti, [jak zacházet s velkými čísly v JS, podívejte se na náš návod o bignumber.js](https://ethereumdev.io/how-to-deal-with-big-numbers-in-javascript/).
+
+## Odeslání: Odeslání transakce do funkce chytrého kontraktu {#send-sending-a-transaction-to-a-smart-contract-function}
+
+Ve druhém příkladu zavoláme funkci `transfer` chytrého kontraktu DAI, abychom odeslali 10 DAI na naši druhou adresu. Funkce `transfer` přijímá dva parametry: adresu příjemce a množství tokenů k převodu:
+
+```js
+daiToken.methods
+ .transfer(receiverAddress, "100000000000000000000")
+ .send({ from: senderAddress }, function (err, res) {
+ if (err) {
+ console.log("Došlo k chybě", err)
+ return
+ }
+ console.log("Haš transakce: " + res)
+ })
+```
+
+Volání funkce vrátí haš transakce, která bude vytěžena v blockchainu. Na Ethereu jsou haše transakcí předvídatelné - tak můžeme získat haš transakce ještě před jejím spuštěním ([zde se dozvíte, jak se haše počítají](https://ethereum.stackexchange.com/questions/45648/how-to-calculate-the-assigned-txhash-of-a-transaction)).
+
+Protože funkce pouze odešle transakci do blockchainu, neuvidíme výsledek, dokud nebudeme vědět, kdy bude vytěžena a zahrnuta do blockchainu. V příštím návodu se dozvíme, [jak počkat na provedení transakce na blockchainu, když známe její haš](https://ethereumdev.io/waiting-for-a-transaction-to-be-mined-on-ethereum-with-js/).
diff --git a/public/content/translations/cs/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md b/public/content/translations/cs/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md
new file mode 100644
index 00000000000..8e46ed4d264
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md
@@ -0,0 +1,585 @@
+---
+title: "Vytvoření uživatelského rozhraní pro váš kontrakt"
+description: Pomocí moderních komponent, jako jsou TypeScript, React, Vite a Wagmi, si projdeme moderní, ale minimální, uživatelské rozhraní a naučíme se, jak k němu připojit peněženku, jak volat chytrý kontrakt pro čtení informací, jak poslat transakci na chytrý kontrakt a jak sledovat události z chytrého kontraktu a identifikovat změny.
+author: Ori Pomerantz
+tags: [ "typescript", "react", "vite", "wagmi", "frontend" ]
+skill: beginner
+published: 2023-11-01
+lang: cs
+sidebarDepth: 3
+---
+
+Našli jste funkci, kterou v ekosystému Etherea potřebujeme. Napsali jste chytré kontrakty k jeho implementaci a možná i nějaký související kód, který běží offchain. To je skvělé! Bohužel bez uživatelského rozhraní nebudete mít žádné uživatele a naposledy, když jste psali webové stránky, lidé používali dial-up modemy a JavaScript byl novinkou.
+
+Tento článek je pro vás. Předpokládám, že umíte programovat a možná trochu JavaScript a HTML, ale vaše dovednosti v oblasti uživatelského rozhraní jsou zrezivělé a zastaralé. Společně si projdeme jednoduchou moderní aplikaci, abyste viděli, jak se to dnes dělá.
+
+## Proč je to důležité {#why-important}
+
+Teoreticky byste mohli nechat lidi používat [Etherscan](https://holesky.etherscan.io/address/0x432d810484add7454ddb3b5311f0ac2e95cecea8#writeContract) nebo [Blockscout](https://eth-holesky.blockscout.com/address/0x432d810484AdD7454ddb3b5311f0Ac2E95CeceA8?tab=write_contract) k interakci s vašimi kontrakty. To bude skvělé pro zkušené příznivce Etherea. My se ale snažíme sloužit [další miliardě lidí](https://blog.ethereum.org/2021/05/07/ethereum-for-the-next-billion). To se nestane bez skvělého uživatelského zážitku a přátelské uživatelské rozhraní je jeho velkou součástí.
+
+## Aplikace Greeter {#greeter-app}
+
+Za moderním uživatelským rozhraním je spousta teorie a [mnoho dobrých stránek](https://react.dev/learn/thinking-in-react), [které to vysvětlují](https://wagmi.sh/core/getting-started). Místo opakování skvělé práce, kterou odvedly tyto stránky, budu předpokládat, že se raději učíte praxí a začnete s aplikací, se kterou si můžete hrát. Stále potřebujete teorii, abyste mohli věci dotáhnout do konce, a k tomu se dostaneme - projdeme si zdrojový soubor po zdrojovém souboru a probereme věci, jakmile na ně narazíme.
+
+### Instalace {#installation}
+
+1. V případě potřeby si přidejte [blockchain Holesky](https://chainlist.org/?search=holesky&testnets=true) do své peněženky a [získejte testovací ETH](https://www.holeskyfaucet.io/).
+
+2. Klonujte repozitář z githubu.
+
+ ```sh
+ git clone https://github.com/qbzzt/20230801-modern-ui.git
+ ```
+
+3. Nainstalujte potřebné balíčky.
+
+ ```sh
+ cd 20230801-modern-ui
+ pnpm install
+ ```
+
+4. Spusťte aplikaci.
+
+ ```sh
+ pnpm dev
+ ```
+
+5. Přejděte na adresu URL zobrazenou aplikací. Ve většině případů je to [http://localhost:5173/](http://localhost:5173/).
+
+6. Zdrojový kód kontraktu, mírně upravenou verzi Greeter od Hardhat, si můžete prohlédnout [v průzkumníku blockchainu](https://eth-holesky.blockscout.com/address/0x432d810484AdD7454ddb3b5311f0Ac2E95CeceA8?tab=contract).
+
+### Procházení souborů {#file-walk-through}
+
+#### `index.html` {#index-html}
+
+Tento soubor je standardní HTML šablona s výjimkou tohoto řádku, který importuje soubor se skriptem.
+
+```html
+
+```
+
+#### `src/main.tsx` {#main-tsx}
+
+Přípona souboru nám říká, že tento soubor je [komponenta React](https://www.w3schools.com/react/react_components.asp) napsaná v [TypeScriptu](https://www.typescriptlang.org/), rozšíření JavaScriptu, které podporuje [kontrolu typů](https://en.wikipedia.org/wiki/Type_system#Type_checking). TypeScript je kompilován do JavaScriptu, takže ho můžeme použít pro spuštění na straně klienta.
+
+```tsx
+import '@rainbow-me/rainbowkit/styles.css'
+import { RainbowKitProvider } from '@rainbow-me/rainbowkit'
+import * as React from 'react'
+import * as ReactDOM from 'react-dom/client'
+import { WagmiConfig } from 'wagmi'
+import { chains, config } from './wagmi'
+```
+
+Importujte kód knihovny, který potřebujeme.
+
+```tsx
+import { App } from './App'
+```
+
+Importujte komponentu React, která implementuje aplikaci (viz níže).
+
+```tsx
+ReactDOM.createRoot(document.getElementById('root')!).render(
+```
+
+Vytvořte kořenovou komponentu React. Parametrem `render` je [JSX](https://www.w3schools.com/react/react_jsx.asp), jazykové rozšíření, které používá jak HTML, tak JavaScript/TypeScript. Vykřičník zde říká komponentě TypeScript: "nevíte, že `document.getElementById('root')` bude platný parametr pro `ReactDOM.createRoot`, ale nebojte se – já jsem vývojář a říkám vám, že bude".
+
+```tsx
+
+```
+
+Aplikace se nachází uvnitř [komponenty `React.StrictMode`](https://react.dev/reference/react/StrictMode). Tato komponenta říká knihovně React, aby vložila další kontrolu ladění, což je užitečné během vývoje.
+
+```tsx
+
+```
+
+Aplikace je také uvnitř [komponenty `WagmiConfig`](https://wagmi.sh/react/api/WagmiProvider). [Knihovna wagmi (we are going to make it)](https://wagmi.sh/) propojuje definice UI v Reactu s [knihovnou viem](https://viem.sh/) pro psaní decentralizovaných aplikací na Ethereu.
+
+```tsx
+
+```
+
+A nakonec [komponenta `RainbowKitProvider`](https://www.rainbowkit.com/). Tato komponenta zpracovává přihlašování a komunikaci mezi peněženkou a aplikací.
+
+```tsx
+
+```
+
+Nyní můžeme mít komponentu pro aplikaci, která skutečně implementuje UI. Znak `/>` na konci komponenty říká Reactu, že tato komponenta v sobě nemá žádné definice, podle standardu XML.
+
+```tsx
+
+
+ ,
+)
+```
+
+Samozřejmě musíme uzavřít i ostatní komponenty.
+
+#### `src/App.tsx` {#app-tsx}
+
+```tsx
+import { ConnectButton } from '@rainbow-me/rainbowkit'
+import { useAccount } from 'wagmi'
+import { Greeter } from './components/Greeter'
+
+export function App() {
+```
+
+Toto je standardní způsob, jak vytvořit komponentu React – definovat funkci, která se volá pokaždé, když je třeba ji vykreslit. Tato funkce má obvykle nahoře nějaký kód v TypeScriptu nebo JavaScriptu, za nímž následuje příkaz `return`, který vrací kód JSX.
+
+```tsx
+ const { isConnected } = useAccount()
+```
+
+Zde používáme [`useAccount`](https://wagmi.sh/react/api/hooks/useAccount) ke kontrole, zda jsme připojeni k blockchainu prostřednictvím peněženky.
+
+Podle konvence jsou v Reactu funkce nazvané `use...` [hooky](https://www.w3schools.com/react/react_hooks.asp), které vracejí nějaký druh dat. Když použijete takové hooky, vaše komponenta nejenže získá data, ale když se tato data změní, komponenta se znovu vykreslí s aktualizovanými informacemi.
+
+```tsx
+ return (
+ <>
+```
+
+JSX komponenty React _musí_ vracet jednu komponentu. Když máme více komponent a nemáme nic, co by je "přirozeně" zabalilo, použijeme prázdnou komponentu (`<> ... >`), abychom z nich vytvořili jedinou komponentu.
+
+```tsx
+
Greeter
+
+```
+
+Komponentu [`ConnectButton`](https://www.rainbowkit.com/docs/connect-button) získáváme z RainbowKit. Když nejsme připojeni, zobrazí se nám tlačítko `Připojit peněženku`, které otevře modální okno, které vysvětluje peněženky a umožňuje vám vybrat, kterou používáte. Když jsme připojeni, zobrazí se používaný blockchain, adresa našeho účtu a náš zůstatek ETH. Tato zobrazení můžeme použít k přepnutí sítě nebo k odpojení.
+
+```tsx
+ {isConnected && (
+```
+
+Když potřebujeme vložit skutečný JavaScript (nebo TypeScript, který bude zkompilován do JavaScriptu) do JSX, použijeme závorky (`{}`).
+
+Syntaxe `a && b` je zkratka pro [`a ?` b : a`](https://www.w3schools.com/react/react_es6_ternary.asp). To znamená, že pokud je `a`pravda, vyhodnotí se jako`b`a jinak se vyhodnotí jako`a`(což může být`false`, `0\` atd.). To je snadný způsob, jak sdělit Reactu, že se komponenta má zobrazit pouze v případě, že je splněna určitá podmínka.
+
+V tomto případě chceme uživateli zobrazit `Greeter` pouze v případě, že je uživatel připojen k blockchainu.
+
+```tsx
+
+ )}
+ >
+ )
+}
+```
+
+#### `src/components/Greeter.tsx` {#greeter-tsx}
+
+Tento soubor obsahuje většinu funkcí uživatelského rozhraní. Obsahuje definice, které by se normálně nacházely ve více souborech, ale jelikož se jedná o tutoriál, program je optimalizován pro snadné pochopení na první pokus, spíše než pro výkon nebo snadnou údržbu.
+
+```tsx
+import { useState, ChangeEventHandler } from 'react'
+import { useNetwork,
+ useReadContract,
+ usePrepareContractWrite,
+ useContractWrite,
+ useContractEvent
+ } from 'wagmi'
+```
+
+Používáme tyto funkce knihovny. Opět jsou vysvětleny níže, kde jsou použity.
+
+```tsx
+import { AddressType } from 'abitype'
+```
+
+[Knihovna `abitype`](https://abitype.dev/) nám poskytuje definice TypeScriptu pro různé datové typy Etherea, jako je [`AddressType`](https://abitype.dev/config#addresstype).
+
+```tsx
+let greeterABI = [
+ .
+ .
+ .
+] as const // greeterABI
+```
+
+ABI pro kontrakt `Greeter`.
+Pokud vyvíjíte kontrakty a UI zároveň, obvykle je umístíte do stejného repozitáře a ABI vygenerované kompilátorem Solidity použijete jako soubor ve vaší aplikaci. To však zde není nutné, protože kontrakt je již vyvinut a nebude se měnit.
+
+```tsx
+type AddressPerBlockchainType = {
+ [key: number]: AddressType
+}
+```
+
+TypeScript je silně typovaný. Tuto definici používáme k určení adresy, na které je kontrakt `Greeter` nasazen na různých řetězcích. Klíčem je číslo (ID řetězce) a hodnotou je `AddressType` (adresa).
+
+```tsx
+const contractAddrs: AddressPerBlockchainType = {
+ // Holesky
+ 17000: '0x432d810484AdD7454ddb3b5311f0Ac2E95CeceA8',
+
+ // Sepolia
+ 11155111: '0x7143d5c190F048C8d19fe325b748b081903E3BF0'
+}
+```
+
+Adresa kontraktu na dvou podporovaných sítích: [Holesky](https://eth-holesky.blockscout.com/address/0x432d810484AdD7454ddb3b5311f0Ac2E95CeceA8?tab=contact_code) a [Sepolia](https://eth-sepolia.blockscout.com/address/0x7143d5c190F048C8d19fe325b748b081903E3BF0?tab=contact_code).
+
+Poznámka: Ve skutečnosti existuje ještě třetí definice pro Redstone Holesky, která bude vysvětlena níže.
+
+```tsx
+type ShowObjectAttrsType = {
+ name: string,
+ object: any
+}
+```
+
+Tento typ se používá jako parametr pro komponentu `ShowObject` (vysvětleno později). Obsahuje název objektu a jeho hodnotu, které se zobrazují pro účely ladění.
+
+```tsx
+type ShowGreetingAttrsType = {
+ greeting: string | undefined
+}
+```
+
+V každém okamžiku můžeme buď vědět, jaký je pozdrav (protože jsme ho přečetli z blockchainu), nebo nevědět (protože jsme ho ještě neobdrželi). Je tedy užitečné mít typ, který může být buď řetězec, nebo nic.
+
+##### Komponenta `Greeter` {#greeter-component}
+
+```tsx
+const Greeter = () => {
+```
+
+Konečně se dostáváme k definici komponenty.
+
+```tsx
+ const { chain } = useNetwork()
+```
+
+Informace o řetězci, který používáme, s laskavým svolením [wagmi](https://wagmi.sh/react/hooks/useNetwork).
+Protože se jedná o hook (`use...`), při každé změně této informace se komponenta překreslí.
+
+```tsx
+ const greeterAddr = chain && contractAddrs[chain.id]
+```
+
+Adresa kontraktu Greeter, která se liší podle řetězce (a která je `undefined`, pokud nemáme informace o řetězci nebo jsme na řetězci bez tohoto kontraktu).
+
+```tsx
+ const readResults = useReadContract({
+ address: greeterAddr,
+ abi: greeterABI,
+ functionName: "greet" , // No arguments
+ watch: true
+ })
+```
+
+[Hook `useReadContract`](https://wagmi.sh/react/api/hooks/useReadContract) čte informace z kontraktu. Přesné informace, které vrací, uvidíte, když v UI rozbalíte `readResults`. V tomto případě chceme, aby stále hledal, takže budeme informováni, když se pozdrav změní.
+
+**Poznámka:** Mohli bychom naslouchat [událostem `setGreeting`](https://eth-holesky.blockscout.com/address/0x432d810484AdD7454ddb3b5311f0Ac2E95CeceA8?tab=logs), abychom věděli, kdy se pozdrav změní, a tímto způsobem ho aktualizovali. Ačkoli to může být efektivnější, nebude to platit ve všech případech. Když uživatel přepne na jiný řetězec, pozdrav se také změní, ale tato změna není doprovázena událostí. Mohli bychom mít jednu část kódu, která naslouchá událostem, a druhou, která identifikuje změny řetězce, ale to by bylo složitější než jen nastavit [parametr `watch`](https://wagmi.sh/react/api/hooks/useReadContract#watch-optional).
+
+```tsx
+ const [ newGreeting, setNewGreeting ] = useState("")
+```
+
+Hook [`useState` v Reactu](https://www.w3schools.com/react/react_usestate.asp) nám umožňuje specifikovat proměnnou stavu, jejíž hodnota přetrvává z jednoho vykreslení komponenty na druhé. Počáteční hodnota je parametr, v tomto případě prázdný řetězec.
+
+Hook `useState` vrací seznam se dvěma hodnotami:
+
+1. Aktuální hodnota proměnné stavu.
+2. Funkce pro úpravu proměnné stavu v případě potřeby. Protože se jedná o hook, pokaždé, když je volán, komponenta se znovu vykreslí.
+
+V tomto případě používáme proměnnou stavu pro nový pozdrav, který chce uživatel nastavit.
+
+```tsx
+ const greetingChange : ChangeEventHandler = (evt) =>
+ setNewGreeting(evt.target.value)
+```
+
+Toto je obsluha události, která se spustí při změně vstupního pole pro nový pozdrav. Typ [`ChangeEventHandler`](https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/forms_and_events/) specifikuje, že se jedná o obsluhu pro změnu hodnoty vstupního prvku HTML. Část `` se používá, protože se jedná o [generický typ](https://www.w3schools.com/typescript/typescript_basic_generics.php).
+
+```tsx
+ const preparedTx = usePrepareContractWrite({
+ address: greeterAddr,
+ abi: greeterABI,
+ functionName: 'setGreeting',
+ args: [ newGreeting ]
+ })
+ const workingTx = useContractWrite(preparedTx.config)
+```
+
+Toto je proces odeslání blockchainové transakce z pohledu klienta:
+
+1. Odešlete transakci uzlu v blockchainu pomocí [`eth_estimateGas`](https://docs.alchemy.com/reference/eth-estimategas).
+2. Počkejte na odpověď z uzlu.
+3. Po obdržení odpovědi požádejte uživatele o podepsání transakce prostřednictvím peněženky. Tento krok se _musí_ provést až po obdržení odpovědi z uzlu, protože uživateli se před podpisem zobrazí náklady na transakci za palivo.
+4. Počkejte na schválení uživatele.
+5. Odešlete transakci znovu, tentokrát pomocí [`eth_sendRawTransaction`](https://docs.alchemy.com/reference/eth-sendrawtransaction).
+
+Krok 2 pravděpodobně zabere znatelné množství času, během kterého by se uživatelé divili, zda byl jejich příkaz skutečně přijat uživatelským rozhraním a proč ještě nejsou požádáni o podepsání transakce. To vede ke špatnému uživatelskému zážitku (UX).
+
+Řešením je použití [přípravných hooků](https://wagmi.sh/react/prepare-hooks). Pokaždé, když se změní parametr, okamžitě odešlete uzlu požadavek `eth_estimateGas`. Poté, když uživatel skutečně chce odeslat transakci (v tomto případě stisknutím **Aktualizovat pozdrav**), náklady na palivo jsou známé a uživatel může okamžitě vidět stránku peněženky.
+
+```tsx
+ return (
+```
+
+Nyní můžeme konečně vytvořit skutečné HTML, které se má vrátit.
+
+```tsx
+ <>
+
Greeter
+ {
+ !readResults.isError && !readResults.isLoading &&
+
+ }
+
+```
+
+Vytvořte komponentu `ShowGreeting` (vysvětleno níže), ale pouze pokud byl pozdrav úspěšně přečten z blockchainu.
+
+```tsx
+
+```
+
+Toto je vstupní textové pole, kde si uživatel může nastavit nový pozdrav. Pokaždé, když uživatel stiskne klávesu, zavoláme `greetingChange`, které zavolá `setNewGreeting`. Protože `setNewGreeting` pochází z hooku `useState`, způsobí to opětovné vykreslení komponenty `Greeter`. To znamená, že:
+
+- Musíme specifikovat `value`, abychom zachovali hodnotu nového pozdravu, protože jinak by se vrátila zpět na výchozí hodnotu, prázdný řetězec.
+- `usePrepareContractWrite` se volá pokaždé, když se `newGreeting` změní, což znamená, že v připravené transakci bude vždy nejnovější `newGreeting`.
+
+```tsx
+
+```
+
+Pokud `workingTx.write` neexistuje, stále čekáme na informace potřebné k odeslání aktualizace pozdravu, takže je tlačítko zakázáno. Pokud hodnota `workingTx.write` existuje, je to funkce, která se má volat k odeslání transakce.
+
+```tsx
+
+
+
+
+ >
+ )
+}
+```
+
+Nakonec, abychom vám pomohli vidět, co děláme, ukážeme tři objekty, které používáme:
+
+- `readResults`
+- `preparedTx`
+- `workingTx`
+
+##### Komponenta `ShowGreeting` {#showgreeting-component}
+
+Tato komponenta zobrazuje
+
+```tsx
+const ShowGreeting = (attrs : ShowGreetingAttrsType) => {
+```
+
+Funkce komponenty přijímá parametr se všemi atributy komponenty.
+
+```tsx
+ return {attrs.greeting}
+}
+```
+
+##### Komponenta `ShowObject` {#showobject-component}
+
+Pro informační účely používáme komponentu `ShowObject` k zobrazení důležitých objektů (`readResults` pro čtení pozdravu a `preparedTx` a `workingTx` pro transakce, které vytváříme).
+
+```tsx
+const ShowObject = (attrs: ShowObjectAttrsType ) => {
+ const keys = Object.keys(attrs.object)
+ const funs = keys.filter(k => typeof attrs.object[k] == "function")
+ return <>
+
+```
+
+Nechceme zaplnit UI všemi informacemi, takže abychom je mohli zobrazit nebo zavřít, používáme značku [`details`](https://www.w3schools.com/tags/tag_details.asp).
+
+```tsx
+ {attrs.name}
+
+ {JSON.stringify(attrs.object, null, 2)}
+```
+
+Většina polí se zobrazuje pomocí [`JSON.stringify`](https://www.w3schools.com/js/js_json_stringify.asp).
+
+```tsx
+
+ { funs.length > 0 &&
+ <>
+ Functions:
+
+```
+
+Výjimkou jsou funkce, které nejsou součástí [standardu JSON](https://www.json.org/json-en.html), takže se musí zobrazovat samostatně.
+
+```tsx
+ {funs.map((f, i) =>
+```
+
+V rámci JSX je kód uvnitř `{` složených závorek `}` interpretován jako JavaScript. Poté je kód uvnitř `(` kulatých závorek `)` interpretován znovu jako JSX.
+
+```tsx
+ (
{f}
)
+ )}
+```
+
+React vyžaduje, aby značky ve [stromu DOM](https://www.w3schools.com/js/js_htmldom.asp) měly jedinečné identifikátory. To znamená, že potomci stejné značky (v tomto případě [neuspořádaný seznam](https://www.w3schools.com/tags/tag_ul.asp)) potřebují různé atributy `key`.
+
+```tsx
+
+ >
+ }
+
+ >
+}
+```
+
+Ukončete různé značky HTML.
+
+##### Konečný `export` {#the-final-export}
+
+```tsx
+export { Greeter }
+```
+
+Komponenta `Greeter` je ta, kterou potřebujeme exportovat pro aplikaci.
+
+#### `src/wagmi.ts` {#wagmi-ts}
+
+Nakonec jsou různé definice související s WAGMI v `src/wagmi.ts`. Nebudu zde vše vysvětlovat, protože většina z toho je šablona, kterou pravděpodobně nebudete muset měnit.
+
+Kód zde není úplně stejný jako [na githubu](https://github.com/qbzzt/20230801-modern-ui/blob/main/src/wagmi.ts), protože později v článku přidáme další řetězec ([Redstone Holesky](https://redstone.xyz/docs/network-info)).
+
+```ts
+import { getDefaultWallets } from '@rainbow-me/rainbowkit'
+import { configureChains, createConfig } from 'wagmi'
+import { holesky, sepolia } from 'wagmi/chains'
+```
+
+Importujte blockchainy, které aplikace podporuje. Seznam podporovaných řetězců si můžete prohlédnout [v githubu viem](https://github.com/wagmi-dev/viem/tree/main/src/chains/definitions).
+
+```ts
+import { publicProvider } from 'wagmi/providers/public'
+
+const walletConnectProjectId = 'c96e690bb92b6311e8e9b2a6a22df575'
+```
+
+Abyste mohli používat [WalletConnect](https://walletconnect.com/), potřebujete ID projektu pro vaši aplikaci. Můžete jej získat na [cloud.walletconnect.com](https://cloud.walletconnect.com/sign-in).
+
+```ts
+const { chains, publicClient, webSocketPublicClient } = configureChains(
+ [ holesky, sepolia ],
+ [
+ publicProvider(),
+ ],
+)
+
+const { connectors } = getDefaultWallets({
+ appName: 'My wagmi + RainbowKit App',
+ chains,
+ projectId: walletConnectProjectId,
+})
+
+export const config = createConfig({
+ autoConnect: true,
+ connectors,
+ publicClient,
+ webSocketPublicClient,
+})
+
+export { chains }
+```
+
+### Přidání dalšího blockchainu {#add-blockchain}
+
+V dnešní době existuje mnoho [řešení pro škálování L2](/layer-2/) a možná budete chtít podporovat některá, která viem ještě nepodporuje. K tomu upravte `src/wagmi.ts`. Tyto pokyny vysvětlují, jak přidat [Redstone Holesky](https://redstone.xyz/docs/network-info).
+
+1. Importujte typ `defineChain` z viem.
+
+ ```ts
+ import { defineChain } from 'viem'
+ ```
+
+2. Přidejte definici sítě.
+
+ ```ts
+ const redstoneHolesky = defineChain({
+ id: 17_001,
+ name: 'Redstone Holesky',
+ network: 'redstone-holesky',
+ nativeCurrency: {
+ decimals: 18,
+ name: 'Ether',
+ symbol: 'ETH',
+ },
+ rpcUrls: {
+ default: {
+ http: ['https://rpc.holesky.redstone.xyz'],
+ webSocket: ['wss://rpc.holesky.redstone.xyz/ws'],
+ },
+ public: {
+ http: ['https://rpc.holesky.redstone.xyz'],
+ webSocket: ['wss://rpc.holesky.redstone.xyz/ws'],
+ },
+ },
+ blockExplorers: {
+ default: { name: 'Explorer', url: 'https://explorer.holesky.redstone.xyz' },
+ },
+ })
+ ```
+
+3. Přidejte nový řetězec do volání `configureChains`.
+
+ ```ts
+ const { chains, publicClient, webSocketPublicClient } = configureChains(
+ [ holesky, sepolia, redstoneHolesky ],
+ [ publicProvider(), ],
+ )
+ ```
+
+4. Zajistěte, aby aplikace znala adresu vašich kontraktů na nové síti. V tomto případě upravíme `src/components/Greeter.tsx`:
+
+ ```ts
+ const contractAddrs : AddressPerBlockchainType = {
+ // Holesky
+ 17000: '0x432d810484AdD7454ddb3b5311f0Ac2E95CeceA8',
+
+ // Redstone Holesky
+ 17001: '0x4919517f82a1B89a32392E1BF72ec827ba9986D3',
+
+ // Sepolia
+ 11155111: '0x7143d5c190F048C8d19fe325b748b081903E3BF0'
+ }
+ ```
+
+## Závěr {#conclusion}
+
+Samozřejmě vás nezajímá poskytování uživatelského rozhraní pro `Greeter`. Chcete vytvořit uživatelské rozhraní pro své vlastní kontrakty. Chcete-li vytvořit vlastní aplikaci, proveďte tyto kroky:
+
+1. Určete, že chcete vytvořit aplikaci wagmi.
+
+ ```sh copy
+ pnpm create wagmi
+ ```
+
+2. Pojmenujte aplikaci.
+
+3. Vyberte framework **React**.
+
+4. Vyberte variantu **Vite**.
+
+5. Můžete [přidat Rainbow kit](https://www.rainbowkit.com/docs/installation#manual-setup).
+
+Nyní jděte a zpřístupněte své kontrakty širokému světu.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
+
diff --git a/public/content/translations/cs/developers/tutorials/deploying-your-first-smart-contract/index.md b/public/content/translations/cs/developers/tutorials/deploying-your-first-smart-contract/index.md
new file mode 100644
index 00000000000..e95f97bba79
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/deploying-your-first-smart-contract/index.md
@@ -0,0 +1,101 @@
+---
+title: Nasazení vašeho prvního chytrého kontraktu
+description: Úvod do nasazení vašeho prvního chytrého kontraktu v testovací síti Etherea
+author: "jdourlens"
+tags:
+ [
+ "smart kontrakt účty",
+ "remix",
+ "solidity",
+ "nasazování"
+ ]
+skill: beginner
+lang: cs
+published: 2020-04-03
+source: EthereumDev
+sourceUrl: https://ethereumdev.io/deploying-your-first-smart-contract/
+address: "0x19dE91Af973F404EDF5B4c093983a7c6E3EC8ccE"
+---
+
+Předpokládáme, že se stejně jako my těšíte, až [nasadíte](/developers/docs/smart-contracts/deploying/) a budete interagovat s vaším prvním [chytrým kontraktem](/developers/docs/smart-contracts/) na blockchainu Etherea.
+
+Nemějte obavy, jelikož se jedná o náš první chytrý kontrakt, nasadíme ho na [lokální testovací síti](/developers/docs/networks/), takže vás jeho nasazení nebude nic stát a budete si s ním moci hrát, jak se vám zlíbí.
+
+## Napsání našeho kontraktu {#writing-our-contract}
+
+Prvním krokem je [navštívit Remix](https://remix.ethereum.org/) a vytvořit nový soubor. V levé horní části rozhraní Remix přidejte nový soubor a zadejte požadovaný název souboru.
+
+
+
+Do nového souboru vložíme následující kód.
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.5.17;
+
+contract Counter {
+
+ // Veřejná proměnná typu unsigned int pro uchování počtu
+ uint256 public count = 0;
+
+ // Funkce, která navyšuje náš čítač
+ function increment() public {
+ count += 1;
+ }
+
+ // Nepovinný getter pro získání hodnoty počítadla
+ function getCount() public view returns (uint256) {
+ return count;
+ }
+
+}
+```
+
+Pokud jste zvyklí programovat, snadno uhodnete, co tento program dělá. Zde je vysvětlení řádek po řádku:
+
+- Řádek 4: Definujeme kontrakt s názvem `Counter`.
+- Řádek 7: Náš kontrakt ukládá jedno celé číslo bez znaménka s názvem `count` začínající na 0.
+- Řádek 10: První funkce změní stav kontraktu a navýší (`increment()`) naši proměnnou `count`.
+- Řádek 15: Druhá funkce je pouze getter pro čtení hodnoty proměnné `count` mimo chytrý kontrakt. Všimněte si, že jelikož jsme naši proměnnou `count` definovali jako veřejnou (public), není to nutné, ale je to uvedeno jako příklad.
+
+To je k našemu prvnímu jednoduchému chytrému kontraktu vše. Jak možná víte, vypadá to jako třída z jazyků OOP (objektově orientovaného programování), jako je Java nebo C++. Nyní je čas si s naším kontraktem pohrát.
+
+## Nasazení našeho kontraktu {#deploying-our-contract}
+
+Jelikož jsme napsali náš první chytrý kontrakt, nyní ho nasadíme na blockchain, abychom si s ním mohli hrát.
+
+[Nasazení chytrého kontraktu na blockchain](/developers/docs/smart-contracts/deploying/) je vlastně jen odeslání transakce obsahující kód zkompilovaného chytrého kontraktu bez určení jakýchkoli příjemců.
+
+Nejprve [zkopilujeme kontrakt](/developers/docs/smart-contracts/compiling/) kliknutím na ikonu kompilace na levé straně:
+
+
+
+Poté klikněte na tlačítko kompilace:
+
+
+
+Můžete si vybrat možnost „Automatická kompilace“, takže kontrakt bude vždy zkompilován, když uložíte obsah v textovém editoru.
+
+Poté přejděte na obrazovku "nasazení a spouštění transakcí":
+
+
+
+Jakmile se ocitnete na obrazovce "nasazení a spouštění transakcí", dvakrát zkontrolujte, zda se zobrazuje název vašeho kontraktu, a klikněte na tlačítko Nasadit. Jak vidíte v horní části stránky, aktuální prostředí je „JavaScript VM“, to znamená, že nasadíme náš chytrý kontrakt a budeme s ním interagovat na lokálním testovacím blockchainu, abychom mohli testovat rychleji a bez poplatků.
+
+
+
+Jakmile kliknete na tlačítko „Nasadit“, uvidíte, že se váš kontrakt objeví ve spodní části. Kliknutím na šipku vlevo ho rozbalíte, abychom viděli obsah našeho kontraktu. Zde je naše proměnná `count`, naše funkce `increment()` a getter `getCounter()`.
+
+Pokud kliknete na tlačítko `count` nebo `getCount`, ve skutečnosti se načte obsah proměnné `count` kontraktu a zobrazí se. Jelikož jsme funkci `increment` ještě nevolali, měla by se zobrazit 0.
+
+
+
+Nyní zavoláme funkci `increment` kliknutím na tlačítko. Uvidíte záznamy o provedených transakcích, které se objeví ve spodní části okna. Uvidíte, že záznamy jsou odlišné, když stisknete tlačítko pro načtení dat namísto tlačítka `increment`. Je to proto, že čtení dat na blockchainu nevyžaduje žádné transakce (zápis) ani poplatky. Protože pouze úprava stavu blockchainu vyžaduje provedení transakce:
+
+
+
+Po stisknutí tlačítka inkrementace, které vygeneruje transakci pro volání naší funkce `increment()`, přečteme při opětovném kliknutí na tlačítka `count` nebo `getCount` nově aktualizovaný stav našeho chytrého kontraktu, kde proměnná `count` bude větší než 0.
+
+
+
+V dalším návodu si ukážeme, [jak můžete do svých chytrých kontraktů přidávat události](/developers/tutorials/logging-events-smart-contracts/). Zaznamenávání událostí je pohodlný způsob, jak ladit váš chytrý kontrakt a porozumět tomu, co se děje při volání funkce.
diff --git a/public/content/translations/cs/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md b/public/content/translations/cs/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md
new file mode 100644
index 00000000000..b1fd40a6c88
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md
@@ -0,0 +1,372 @@
+---
+title: Jak vyvíjet a testovat dApp na lokálním, multi-klientském testnetu
+description: Tento průvodce vás nejprve provede vytvořením instance a konfigurací lokálního Ethereum testnetu s více klienty a následně použitím testnetu k nasazení a testování dApp.
+author: "Tedi Mitiku"
+tags:
+ [
+ "klienti",
+ "uzly",
+ "smart kontrakt účty",
+ "složitelnost",
+ "konsensuální vrstva",
+ "exekuční vrstva",
+ "testování"
+ ]
+skill: intermediate
+lang: cs
+published: 2023-04-11
+---
+
+## Úvod {#introduction}
+
+Tato příručka vás provede procesem vytvoření instance konfigurovatelného lokálního Ethereum testnetu, nasazením chytrého kontraktu a použitím testnetu ke spuštění testů vaší dApp. Tato příručka je určena pro vývojáře dApps, kteří chtějí lokálně vyvíjet a testovat své dApps s různými konfiguracemi sítě před nasazením na živý testnet nebo mainnet.
+
+V této příručce:
+
+- Vytvoříte instanci lokálního Ethereum testnetu s [`eth-network-package`](https://github.com/kurtosis-tech/eth-network-package) pomocí [Kurtosis](https://www.kurtosis.com/),
+- Připojíte své vývojové prostředí Hardhat dApp k lokálnímu testnetu pro kompilaci, nasazení a testování dApp a
+- Nakonfigurujete lokální testnet, včetně parametrů, jako je počet uzlů a konkrétní párování EL/CL klientů, abyste umožnili vývoj a testování s různými konfiguracemi sítě.
+
+### Co je Kurtosis? {#what-is-kurtosis}
+
+[Kurtosis](https://www.kurtosis.com/) je skládací systém sestavení určený pro konfiguraci vícekontejnerových testovacích prostředí. Umožňuje vývojářům vytvářet reprodukovatelná prostředí, která vyžadují logiku dynamického nastavení, jako jsou například blockchainové testnety.
+
+V této příručce balíček Kurtosis eth-network-package spouští lokální Ethereum testnet s podporou klienta [`geth`](https://geth.ethereum.org/) exekuční vrstvy (EL) a také klientů [`teku`](https://consensys.io/teku), [`lighthouse`](https://lighthouse.sigmaprime.io/) a [`lodestar`](https://lodestar.chainsafe.io/) konsensuální vrstvy (CL). Tento balíček slouží jako konfigurovatelná a skládací alternativa k sítím v rámcích jako Hardhat Network, Ganache a Anvil. Kurtosis nabízí vývojářům větší kontrolu a flexibilitu nad testnety, které používají, což je hlavní důvod, proč [nadace Ethereum použila Kurtosis k testování Sloučení](https://www.kurtosis.com/blog/testing-the-ethereum-merge) a nadále ho používá k testování upgradů sítě.
+
+## Nastavení Kurtosis {#setting-up-kurtosis}
+
+Než budete pokračovat, ujistěte se, že máte:
+
+- [Nainstalovaný a spuštěný Docker engine](https://docs.kurtosis.com/install/#i-install--start-docker) na vašem lokálním počítači
+- [Nainstalovaný Kurtosis CLI](https://docs.kurtosis.com/install#ii-install-the-cli) (nebo aktualizovaný na nejnovější verzi, pokud již máte CLI nainstalovaný)
+- Nainstalovaný [Node.js](https://nodejs.org/en), [yarn](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable) a [npx](https://www.npmjs.com/package/npx) (pro vaše prostředí dApp)
+
+## Vytvoření instance lokálního Ethereum testnetu {#instantiate-testnet}
+
+Pro spuštění lokálního Ethereum testnetu spusťte:
+
+```python
+kurtosis --enclave local-eth-testnet run github.com/kurtosis-tech/eth-network-package
+```
+
+Poznámka: Tento příkaz pojmenuje vaši síť: „local-eth-testnet“ pomocí příznaku `--enclave`.
+
+Kurtosis bude průběžně vypisovat kroky, které provádí, zatímco interpretuje, ověřuje a následně provádí pokyny. Na konci byste měli vidět výstup, který se podobá následujícímu:
+
+```python
+INFO[2023-04-04T18:09:44-04:00] ======================================================
+INFO[2023-04-04T18:09:44-04:00] || Created enclave: local-eth-testnet ||
+INFO[2023-04-04T18:09:44-04:00] ======================================================
+Name: local-eth-testnet
+UUID: 39372d756ae8
+Status: RUNNING
+Creation Time: Tue, 04 Apr 2023 18:09:03 EDT
+
+========================================= Files Artifacts =========================================
+UUID Name
+d4085a064230 cl-genesis-data
+1c62cb792e4c el-genesis-data
+bd60489b73a7 genesis-generation-config-cl
+b2e593fe5228 genesis-generation-config-el
+d552a54acf78 geth-prefunded-keys
+5f7e661eb838 prysm-password
+054e7338bb59 validator-keystore-0
+
+========================================== User Services ==========================================
+UUID Name Ports Status
+e20f129ee0c5 cl-client-0-beacon http: 4000/tcp -> RUNNING
+ metrics: 5054/tcp ->
+ tcp-discovery: 9000/tcp -> 127.0.0.1:54263
+ udp-discovery: 9000/udp -> 127.0.0.1:60470
+a8b6c926cdb4 cl-client-0-validator http: 5042/tcp -> 127.0.0.1:54267 RUNNING
+ metrics: 5064/tcp ->
+d7b802f623e8 el-client-0 engine-rpc: 8551/tcp -> 127.0.0.1:54253 RUNNING
+ rpc: 8545/tcp -> 127.0.0.1:54251
+ tcp-discovery: 30303/tcp -> 127.0.0.1:54254
+ udp-discovery: 30303/udp -> 127.0.0.1:53834
+ ws: 8546/tcp -> 127.0.0.1:54252
+514a829c0a84 prelaunch-data-generator-1680646157905431468 STOPPED
+62bd62d0aa7a prelaunch-data-generator-1680646157915424301 STOPPED
+05e9619e0e90 prelaunch-data-generator-1680646157922872635 STOPPED
+
+```
+
+Gratulujeme! Použili jste Kurtosis k vytvoření instance lokálního Ethereum testnetu s klientem CL (`lighthouse`) a EL (`geth`) přes Docker.
+
+### Rekapitulace {#review-instantiate-testnet}
+
+V této části jste spustili příkaz, který nařídil Kurtosisu, aby použil [`eth-network-package` hostovaný vzdáleně na GitHubu](https://github.com/kurtosis-tech/eth-network-package) ke spuštění lokálního Ethereum testnetu v rámci Kurtosis [Enclave](https://docs.kurtosis.com/advanced-concepts/enclaves/). Uvnitř vaší enklávy najdete jak „souborové artefakty“, tak „uživatelské služby“.
+
+[Souborové artefakty](https://docs.kurtosis.com/advanced-concepts/files-artifacts/) ve vaší enklávě obsahují všechna data vygenerovaná a využitá k zavedení klientů EL a CL. Data byla vytvořena pomocí služby `prelaunch-data-generator` sestavené z tohoto [obrazu Dockeru](https://github.com/ethpandaops/ethereum-genesis-generator)
+
+Uživatelské služby zobrazují všechny kontejnerizované služby běžící ve vaší enklávě. Všimnete si, že byl vytvořen jediný uzel, který obsahuje klienta EL i klienta CL.
+
+## Připojení vývojového prostředí dApp k lokálnímu Ethereum testnetu {#connect-your-dapp}
+
+### Nastavení vývojového prostředí dApp {#set-up-dapp-env}
+
+Nyní, když máte spuštěný lokální testnet, můžete k němu připojit své vývojové prostředí dApp. V této příručce bude použit framework Hardhat k nasazení blackjack dApp na váš lokální testnet.
+
+Chcete-li nastavit vývojové prostředí dApp, naklonujte repozitář, který obsahuje naši ukázkovou dApp, a nainstalujte její závislosti spuštěním:
+
+```python
+git clone https://github.com/kurtosis-tech/awesome-kurtosis.git && cd awesome-kurtosis/smart-contract-example && yarn
+```
+
+Složka [smart-contract-example](https://github.com/kurtosis-tech/awesome-kurtosis/tree/main/smart-contract-example) použitá zde obsahuje typické nastavení pro vývojáře dApp používajícího framework [Hardhat](https://hardhat.org/):
+
+- [`contracts/`](https://github.com/kurtosis-tech/awesome-kurtosis/tree/main/smart-contract-example/contracts) obsahuje několik jednoduchých chytrých kontraktů pro Blackjack dApp
+- [`scripts/`](https://github.com/kurtosis-tech/awesome-kurtosis/tree/main/smart-contract-example/scripts) obsahuje skript pro nasazení tokenového kontraktu do vaší lokální sítě Ethereum
+- [`test/`](https://github.com/kurtosis-tech/awesome-kurtosis/tree/main/smart-contract-example/test) obsahuje jednoduchý .js test pro váš tokenový kontrakt, který potvrdí, že každý hráč v naší Blackjack dApp má pro sebe vyraženo 1000 tokenů
+- [`hardhat.config.ts`](https://github.com/kurtosis-tech/awesome-kurtosis/blob/main/smart-contract-example/hardhat.config.ts) konfiguruje vaše nastavení Hardhat
+
+### Konfigurace Hardhatu pro použití lokálního testnetu {#configure-hardhat}
+
+S nastaveným vývojovým prostředím dApp nyní připojíte Hardhat k lokálnímu Ethereum testnetu vygenerovanému pomocí Kurtosis. Chcete-li toho dosáhnout, nahraďte `<$YOUR_PORT>` ve struktuře `localnet` v konfiguračním souboru `hardhat.config.ts` portem z výstupu RPC URI libovolné služby `el-client-`. V tomto ukázkovém případě by port byl `64248`. Váš port bude jiný.
+
+Příklad v `hardhat.config.ts`:
+
+```js
+localnet: {
+url: 'http://127.0.0.1:<$YOUR_PORT>',// TODO: NAHRAĎTE $YOUR_PORT PORTEM Z URI UZLU, KTERÝ VYTVOŘIL BALÍČEK KURTOSIS ETH-NETWORK-PACKAGE
+
+// Toto jsou soukromé klíče spojené s předem financovanými testovacími účty vytvořenými balíčkem eth-network-package
+//
+accounts: [
+ "ef5177cd0b6b21c87db5a0bf35d4084a8a57a9d6a064f86d51ac85f2b873a4e2",
+ "48fcc39ae27a0e8bf0274021ae6ebd8fe4a0e12623d61464c498900b28feb567",
+ "7988b3a148716ff800414935b305436493e1f25237a2a03e5eebc343735e2f31",
+ "b3c409b6b0b3aa5e65ab2dc1930534608239a478106acf6f3d9178e9f9b00b35",
+ "df9bb6de5d3dc59595bcaa676397d837ff49441d211878c024eabda2cd067c9f",
+ "7da08f856b5956d40a72968f93396f6acff17193f013e8053f6fbb6c08c194d6",
+ ],
+},
+```
+
+Jakmile soubor uložíte, vaše vývojové prostředí Hardhat dApp je nyní připojeno k vašemu lokálnímu Ethereum testnetu! Funkčnost vašeho testnetu můžete ověřit spuštěním:
+
+```python
+npx hardhat balances --network localnet
+```
+
+Výstup by měl vypadat přibližně takto:
+
+```python
+0x878705ba3f8Bc32FCf7F4CAa1A35E72AF65CF766 has balance 10000000000000000000000000
+0x4E9A3d9D1cd2A2b2371b8b3F489aE72259886f1A has balance 10000000000000000000000000
+0xdF8466f277964Bb7a0FFD819403302C34DCD530A has balance 10000000000000000000000000
+0x5c613e39Fc0Ad91AfDA24587e6f52192d75FBA50 has balance 10000000000000000000000000
+0x375ae6107f8cC4cF34842B71C6F746a362Ad8EAc has balance 10000000000000000000000000
+0x1F6298457C5d76270325B724Da5d1953923a6B88 has balance 10000000000000000000000000
+```
+
+To potvrzuje, že Hardhat používá váš lokální testnet a detekuje předfinancované účty vytvořené balíčkem `eth-network-package`.
+
+### Lokální nasazení a testování vaší dApp {#deploy-and-test-dapp}
+
+S vývojovým prostředím dApp plně připojeným k lokálnímu Ethereum testnetu nyní můžete spouštět vývojové a testovací pracovní postupy proti své dApp pomocí lokálního testnetu.
+
+Pro kompilaci a nasazení chytrého kontraktu `ChipToken.sol` pro lokální prototypování a vývoj spusťte:
+
+```python
+npx hardhat compile
+npx hardhat run scripts/deploy.ts --network localnet
+```
+
+Výstup by měl vypadat nějak takto:
+
+```python
+ChipToken deployed to: 0xAb2A01BC351770D09611Ac80f1DE076D56E0487d
+```
+
+Nyní zkuste spustit test `simple.js` proti vaší lokální dApp, abyste potvrdili, že každý hráč v naší Blackjack dApp má pro sebe vyraženo 1000 tokenů:
+
+Výstup by měl vypadat přibližně takto:
+
+```python
+npx hardhat test --network localnet
+```
+
+Výstup by měl vypadat přibližně takto:
+
+```python
+ChipToken
+ mint
+ ✔ should mint 1000 chips for PLAYER ONE
+
+ 1 passing (654ms)
+```
+
+### Rekapitulace {#review-dapp-workflows}
+
+V tomto bodě jste nastavili vývojové prostředí dApp, připojili jste ho k lokální síti Ethereum vytvořené pomocí Kurtosis a zkompilovali, nasadili a spustili jste jednoduchý test proti vaší dApp.
+
+Nyní se podívejme, jak můžete konfigurovat podkladovou síť pro testování našich dApps v různých konfiguracích sítě.
+
+## Konfigurace lokálního Ethereum testnetu {#configure-testnet}
+
+### Změna konfigurací klientů a počtu uzlů {#configure-client-config-and-num-nodes}
+
+Váš lokální Ethereum testnet lze nakonfigurovat tak, aby používal různé páry klientů EL a CL, stejně jako různý počet uzlů, v závislosti na scénáři a specifické konfiguraci sítě, kterou chcete vyvíjet nebo testovat. To znamená, že po nastavení můžete spustit přizpůsobený lokální testnet a použít jej ke spuštění stejných pracovních postupů (nasazení, testy atd.) v různých konfiguracích sítě, abyste se ujistili, že vše funguje podle očekávání. Chcete-li se dozvědět více o dalších parametrech, které můžete upravit, navštivte tento odkaz.
+
+Vyzkoušejte to! Prostřednictvím souboru JSON můžete balíčku `eth-network-package` předat různé možnosti konfigurace. Tento soubor JSON s parametry sítě poskytuje specifické konfigurace, které Kurtosis použije k nastavení lokální sítě Ethereum.
+
+Vezměte výchozí konfigurační soubor a upravte jej tak, aby se spustily dva uzly s různými páry EL/CL:
+
+- Uzel 1 s `geth`/`lighthouse`
+- Uzel 2 s `geth`/`lodestar`
+- Uzel 3 s `geth`/`teku`
+
+Tato konfigurace vytváří heterogenní síť implementací uzlů Ethereum pro testování vaší dApp. Váš konfigurační soubor by nyní měl vypadat takto:
+
+```yaml
+{
+ "participants":
+ [
+ {
+ "el_client_type": "geth",
+ "el_client_image": "",
+ "el_client_log_level": "",
+ "cl_client_type": "lighthouse",
+ "cl_client_image": "",
+ "cl_client_log_level": "",
+ "beacon_extra_params": [],
+ "el_extra_params": [],
+ "validator_extra_params": [],
+ "builder_network_params": null,
+ },
+ {
+ "el_client_type": "geth",
+ "el_client_image": "",
+ "el_client_log_level": "",
+ "cl_client_type": "lodestar",
+ "cl_client_image": "",
+ "cl_client_log_level": "",
+ "beacon_extra_params": [],
+ "el_extra_params": [],
+ "validator_extra_params": [],
+ "builder_network_params": null,
+ },
+ {
+ "el_client_type": "geth",
+ "el_client_image": "",
+ "el_client_log_level": "",
+ "cl_client_type": "teku",
+ "cl_client_image": "",
+ "cl_client_log_level": "",
+ "beacon_extra_params": [],
+ "el_extra_params": [],
+ "validator_extra_params": [],
+ "builder_network_params": null,
+ },
+ ],
+ "network_params":
+ {
+ "preregistered_validator_keys_mnemonic": "giant issue aisle success illegal bike spike question tent bar rely arctic volcano long crawl hungry vocal artwork sniff fantasy very lucky have athlete",
+ "num_validator_keys_per_node": 64,
+ "network_id": "3151908",
+ "deposit_contract_address": "0x4242424242424242424242424242424242424242",
+ "seconds_per_slot": 12,
+ "genesis_delay": 120,
+ "capella_fork_epoch": 5,
+ },
+}
+```
+
+Každá struktura `participants` odpovídá jednomu uzlu v síti, takže 3 struktury `participants` řeknou Kurtosisu, aby spustil 3 uzly ve vaší síti. Každá struktura `participants` vám umožní určit pár EL a CL použitý pro daný konkrétní uzel.
+
+Struktura `network_params` konfiguruje nastavení sítě, která se používají k vytvoření genesis souborů pro každý uzel, a také další nastavení, jako jsou sekundy na slot sítě.
+
+Uložte si upravený soubor parametrů do libovolného adresáře (v níže uvedeném příkladu je uložen na plochu) a poté ho použijte ke spuštění balíčku Kurtosis spuštěním:
+
+```python
+kurtosis clean -a && kurtosis run --enclave local-eth-testnet github.com/kurtosis-tech/eth-network-package "$(cat ~/eth-network-params.json)"
+```
+
+Poznámka: příkaz `kurtosis clean -a` se zde používá k tomu, aby Kurtosis zničil starý testnet a jeho obsah před spuštěním nového.
+
+Kurtosis bude opět chvíli pracovat a vypisovat jednotlivé kroky, které probíhají. Nakonec by výstup měl vypadat nějak takto:
+
+```python
+Starlark code successfully run. No output was returned.
+INFO[2023-04-07T11:43:16-04:00] ==========================================================
+INFO[2023-04-07T11:43:16-04:00] || Created enclave: local-eth-testnet ||
+INFO[2023-04-07T11:43:16-04:00] ==========================================================
+Name: local-eth-testnet
+UUID: bef8c192008e
+Status: RUNNING
+Creation Time: Fri, 07 Apr 2023 11:41:58 EDT
+
+========================================= Files Artifacts =========================================
+UUID Name
+cc495a8e364a cl-genesis-data
+7033fcdb5471 el-genesis-data
+a3aef43fc738 genesis-generation-config-cl
+8e968005fc9d genesis-generation-config-el
+3182cca9d3cd geth-prefunded-keys
+8421166e234f prysm-password
+d9e6e8d44d99 validator-keystore-0
+23f5ba517394 validator-keystore-1
+4d28dea40b5c validator-keystore-2
+
+========================================== User Services ==========================================
+UUID Name Ports Status
+485e6fde55ae cl-client-0-beacon http: 4000/tcp -> http://127.0.0.1:65010 RUNNING
+ metrics: 5054/tcp -> http://127.0.0.1:65011
+ tcp-discovery: 9000/tcp -> 127.0.0.1:65012
+ udp-discovery: 9000/udp -> 127.0.0.1:54455
+73739bd158b2 cl-client-0-validator http: 5042/tcp -> 127.0.0.1:65016 RUNNING
+ metrics: 5064/tcp -> http://127.0.0.1:65017
+1b0a233cd011 cl-client-1-beacon http: 4000/tcp -> 127.0.0.1:65021 RUNNING
+ metrics: 8008/tcp -> 127.0.0.1:65023
+ tcp-discovery: 9000/tcp -> 127.0.0.1:65024
+ udp-discovery: 9000/udp -> 127.0.0.1:56031
+ validator-metrics: 5064/tcp -> 127.0.0.1:65022
+949b8220cd53 cl-client-1-validator http: 4000/tcp -> 127.0.0.1:65028 RUNNING
+ metrics: 8008/tcp -> 127.0.0.1:65030
+ tcp-discovery: 9000/tcp -> 127.0.0.1:65031
+ udp-discovery: 9000/udp -> 127.0.0.1:60784
+ validator-metrics: 5064/tcp -> 127.0.0.1:65029
+c34417bea5fa cl-client-2 http: 4000/tcp -> 127.0.0.1:65037 RUNNING
+ metrics: 8008/tcp -> 127.0.0.1:65035
+ tcp-discovery: 9000/tcp -> 127.0.0.1:65036
+ udp-discovery: 9000/udp -> 127.0.0.1:63581
+e19738e6329d el-client-0 engine-rpc: 8551/tcp -> 127.0.0.1:64986 RUNNING
+ rpc: 8545/tcp -> 127.0.0.1:64988
+ tcp-discovery: 30303/tcp -> 127.0.0.1:64987
+ udp-discovery: 30303/udp -> 127.0.0.1:55706
+ ws: 8546/tcp -> 127.0.0.1:64989
+e904687449d9 el-client-1 engine-rpc: 8551/tcp -> 127.0.0.1:64993 RUNNING
+ rpc: 8545/tcp -> 127.0.0.1:64995
+ tcp-discovery: 30303/tcp -> 127.0.0.1:64994
+ udp-discovery: 30303/udp -> 127.0.0.1:58096
+ ws: 8546/tcp -> 127.0.0.1:64996
+ad6f401126fa el-client-2 engine-rpc: 8551/tcp -> 127.0.0.1:65003 RUNNING
+ rpc: 8545/tcp -> 127.0.0.1:65001
+ tcp-discovery: 30303/tcp -> 127.0.0.1:65000
+ udp-discovery: 30303/udp -> 127.0.0.1:57269
+ ws: 8546/tcp -> 127.0.0.1:65002
+12d04a9dbb69 prelaunch-data-generator-1680882122181135513 STOPPED
+5b45f9c0504b prelaunch-data-generator-1680882122192182847 STOPPED
+3d4aaa75e218 prelaunch-data-generator-1680882122201668972 STOPPED
+```
+
+Gratulujeme! Úspěšně jste nakonfigurovali svůj lokální testnet tak, aby měl 3 uzly místo 1. Chcete-li spustit stejné pracovní postupy jako dříve proti vaší dApp (nasazení a testování), proveďte stejné operace jako dříve tak, že nahradíte `<$YOUR_PORT>` ve struktuře `localnet` v konfiguračním souboru `hardhat.config.ts` portem z výstupu RPC URI libovolné služby `el-client-` ve vašem novém, 3uzlovém lokálním testnetu.
+
+## Závěr {#conclusion}
+
+A to je vše! Abychom shrnuli tuto krátkou příručku:
+
+- Vytvořili jste lokální Ethereum testnet přes Docker pomocí Kurtosis
+- Připojili jste své lokální vývojové prostředí dApp k lokální síti Ethereum
+- Nasadili jste dApp a spustili jste na ní jednoduchý test v lokální síti Ethereum
+- Nakonfigurovali jste podkladovou síť Ethereum tak, aby měla 3 uzly
+
+Rádi bychom od vás slyšeli, co se vám povedlo, co by se dalo vylepšit, nebo abychom zodpověděli jakékoli vaše dotazy. Neváhejte se nám ozvat přes [GitHub](https://github.com/kurtosis-tech/kurtosis/issues/new/choose) nebo nám [napište e-mail](mailto:feedback@kurtosistech.com)!
+
+### Další příklady a průvodci {#other-examples-guides}
+
+Doporučujeme vám podívat se na náš [rychlý start](https://docs.kurtosis.com/quickstart) (kde si na něm postavíte databázi Postgres a API) a naše další příklady v našem [repozitáři awesome-kurtosis](https://github.com/kurtosis-tech/awesome-kurtosis), kde najdete několik skvělých příkladů, včetně balíčků pro:
+
+- Spuštění stejného lokálního Ethereum testnetu, ale s připojenými dalšími službami, jako je spammer transakcí (pro simulaci transakcí), monitor větví a připojená instance Grafana a Prometheus
+- Provedení [testu podsíťování](https://github.com/kurtosis-tech/awesome-kurtosis/tree/main/ethereum-network-partition-test) proti stejné lokální síti Ethereum
diff --git a/public/content/translations/cs/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/index.md b/public/content/translations/cs/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/index.md
new file mode 100644
index 00000000000..321ea67157d
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/index.md
@@ -0,0 +1,144 @@
+---
+title: "Zmenšení kontraktů v boji proti limitu velikosti kontraktů"
+description: Co můžete udělat, abyste zabránili přílišnému zvětšení vašich chytrých kontraktů?
+author: Markus Waas
+lang: cs
+tags: [ "solidity", "smart kontrakt účty", "úložiště" ]
+skill: intermediate
+published: 2020-06-26
+source: soliditydeveloper.com
+sourceUrl: https://soliditydeveloper.com/max-contract-size
+---
+
+## Proč existuje limit? {#why-is-there-a-limit}
+
+Dne [22. listopadu 2016](https://blog.ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/) hard fork Spurious Dragon představil [EIP-170](https://eips.ethereum.org/EIPS/eip-170), který přidal limit velikosti chytrého kontraktu 24,576 kb. Pro vás jako pro vývojáře v jazyce Solidity to znamená, že když budete do svého kontraktu přidávat další a další funkce, v určitém okamžiku narazíte na limit a při nasazování se vám zobrazí chyba:
+
+`Warning: Contract code size exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low "runs" value!), turning off revert strings, or using libraries.`
+
+Tento limit byl zaveden, aby se zabránilo útokům typu denial-of-service (DoS). Každé volání kontraktu je z hlediska spotřeby paliva relativně levné. Dopad volání kontraktu na uzly Etherea se však neúměrně zvyšuje v závislosti na velikosti kódu volaného kontraktu (čtení kódu z disku, předzpracování kódu, přidávání dat do Merkle proofu). Kdykoli nastane situace, kdy útočník potřebuje málo zdrojů, aby ostatním způsobil spoustu práce, vzniká potenciál pro útoky DoS.
+
+Původně to byl menší problém, protože jedním přirozeným limitem velikosti kontraktu je palivový limit bloku. Kontrakt musí být samozřejmě nasazen v rámci transakce, která obsahuje veškerý bytecode kontraktu. Pokud do bloku zahrnete pouze tuto jednu transakci, můžete spotřebovat všechno palivo, ale není ho nekonečně. Od [vylepšení London](/ethereum-forks/#london) se palivový limit bloku může měnit mezi 15 a 30 miliony jednotek v závislosti na poptávce sítě.
+
+V následujícím textu se podíváme na některé metody seřazené podle jejich potenciálního dopadu. Přemýšlejte o tom jako o hubnutí. Nejlepší strategií, jak dosáhnout cílové hmotnosti (v našem případě 24 kb), je zaměřit se nejprve na metody s velkým dopadem. Ve většině případů vás tam dostane pouhá úprava jídelníčku, ale někdy je potřeba trochu víc. Pak můžete přidat nějaké cvičení (střední dopad) nebo dokonce doplňky stravy (malý dopad).
+
+## Velký dopad {#big-impact}
+
+### Rozdělte své kontrakty {#separate-your-contracts}
+
+To by měl být vždy váš první přístup. Jak můžete kontrakt rozdělit na více menších? Obecně vás to donutí vymyslet pro své kontrakty dobrou architekturu. Z hlediska čitelnosti kódu jsou vždy upřednostňovány menší kontrakty. Při rozdělování kontraktů si položte následující otázky:
+
+- Které funkce patří k sobě? Každá sada funkcí může být nejlepší ve svém vlastním kontraktu.
+- Které funkce nevyžadují čtení stavu kontraktu nebo jen jeho specifické podmnožiny?
+- Můžete rozdělit úložiště a funkcionalitu?
+
+### Knihovny {#libraries}
+
+Jedním z jednoduchých způsobů, jak přesunout kód funkcionality mimo úložiště, je použití [knihovny](https://solidity.readthedocs.io/en/v0.6.10/contracts.html#libraries). Funkce knihovny nedeklarujte jako interní (internal), protože ty budou během kompilace přímo [přidány do kontraktu](https://ethereum.stackexchange.com/questions/12975/are-internal-functions-in-libraries-not-covered-by-linking). Pokud však použijete veřejné (public) funkce, budou se ve skutečnosti nacházet v samostatném kontraktu knihovny. Zvažte použití [using for](https://solidity.readthedocs.io/en/v0.6.10/contracts.html#using-for), aby bylo používání knihoven pohodlnější.
+
+### Proxy {#proxies}
+
+Pokročilejší strategií by byl systém proxy. Knihovny na pozadí používají `DELEGATECALL`, který jednoduše provede funkci jiného kontraktu se stavem volajícího kontraktu. Více informací o proxy systémech se dozvíte v [tomto příspěvku na blogu](https://hackernoon.com/how-to-make-smart-contracts-upgradable-2612e771d5a2). Poskytují vám více funkcí, např. umožňují upgradovatelnost, ale také přidávají velkou složitost. Nepřidával bych je jen kvůli zmenšení velikosti kontraktu, pokud to z jakéhokoli důvodu není vaše jediná možnost.
+
+## Střední dopad {#medium-impact}
+
+### Odstraňte funkce {#remove-functions}
+
+Tohle by mělo být zřejmé. Funkce poměrně značně zvětšují velikost kontraktu.
+
+- **Externí (external)**: Často přidáváme mnoho view funkcí z důvodu pohodlí. To je naprosto v pořádku, dokud nenarazíte na limit velikosti. Pak byste se mohli opravdu zamyslet nad odstraněním všech funkcí kromě těch naprosto nezbytných.
+- **Interní (internal)**: Můžete také odstranit interní/privátní (internal/private) funkce a jednoduše vložit kód přímo, pokud je funkce volána pouze jednou.
+
+### Vyhněte se dalším proměnným {#avoid-additional-variables}
+
+```solidity
+function get(uint id) returns (address,address) {
+ MyStruct memory myStruct = myStructs[id];
+ return (myStruct.addr1, myStruct.addr2);
+}
+```
+
+```solidity
+function get(uint id) returns (address,address) {
+ return (myStructs[id].addr1, myStructs[id].addr2);
+}
+```
+
+Takováto jednoduchá změna představuje rozdíl **0,28 kb**. Je pravděpodobné, že ve svých kontraktech najdete mnoho podobných situací, a ty se mohou opravdu nasčítat do významných hodnot.
+
+### Zkraťte chybové zprávy {#shorten-error-message}
+
+Dlouhé revertovací zprávy a zejména mnoho různých revertovacích zpráv může kontrakt nafouknout. Místo toho používejte krátké chybové kódy a dekódujte je ve svém kontraktu. Dlouhá zpráva by mohla být mnohem kratší:
+
+```solidity
+require(msg.sender == owner, "Tuto funkci může volat pouze vlastník tohoto kontraktu");
+```
+
+```solidity
+require(msg.sender == owner, "OW1");
+```
+
+### Používejte vlastní chyby namísto chybových zpráv
+
+Vlastní chyby byly zavedeny v [Solidity 0.8.4](https://blog.soliditylang.org/2021/04/21/custom-errors/). Jsou skvělým způsobem, jak zmenšit velikost vašich kontraktů, protože jsou kódovány v ABI jako selektory (stejně jako funkce).
+
+```solidity
+error Unauthorized();
+
+if (msg.sender != owner) {
+ revert Unauthorized();
+}
+```
+
+### Zvažte nízkou hodnotu runs v optimalizátoru {#consider-a-low-run-value-in-the-optimizer}
+
+Můžete také změnit nastavení optimalizátoru. Výchozí hodnota 200 znamená, že se snaží optimalizovat bytecode tak, jako by byla funkce volána 200krát. Pokud ji změníte na 1, v podstatě říkáte optimalizátoru, aby optimalizoval pro případ, že každá funkce bude spuštěna pouze jednou. Optimalizovaná funkce pro jednorázové spuštění znamená, že je optimalizována pro samotné nasazení. Mějte na paměti, že **to zvyšuje [náklady na palivo](/developers/docs/gas/) za spuštění funkcí**, takže to možná nebudete chtít udělat.
+
+## Malý dopad {#small-impact}
+
+### Vyhněte se předávání struktur (structs) funkcím {#avoid-passing-structs-to-functions}
+
+Pokud používáte [ABIEncoderV2](https://solidity.readthedocs.io/en/v0.6.10/layout-of-source-files.html#abiencoderv2), může pomoci nepředávat struktury funkci. Namísto předávání parametru jako struktury předejte požadované parametry přímo. V tomto příkladu jsme ušetřili dalších **0,1 kb**.
+
+```solidity
+function get(uint id) returns (address,address) {
+ return _get(myStruct);
+}
+
+function _get(MyStruct memory myStruct) private view returns(address,address) {
+ return (myStruct.addr1, myStruct.addr2);
+}
+```
+
+```solidity
+function get(uint id) returns(address,address) {
+ return _get(myStructs[id].addr1, myStructs[id].addr2);
+}
+
+function _get(address addr1, address addr2) private view returns(address,address) {
+ return (addr1, addr2);
+}
+```
+
+### Deklarujte správnou viditelnost pro funkce a proměnné {#declare-correct-visibility-for-functions-and-variables}
+
+- Funkce nebo proměnné, které jsou volány pouze zvenčí? Deklarujte je jako `external` namísto `public`.
+- Funkce nebo proměnné volané pouze v rámci kontraktu? Deklarujte je jako `private` nebo `internal` namísto `public`.
+
+### Odstraňte modifikátory {#remove-modifiers}
+
+Modifikátory, zejména při intenzivním používání, mohou mít významný dopad na velikost kontraktu. Zvažte jejich odstranění a místo nich použijte funkce.
+
+```solidity
+modifier checkStuff() {}
+
+function doSomething() checkStuff {}
+```
+
+```solidity
+function checkStuff() private {}
+
+function doSomething() { checkStuff(); }
+```
+
+Tyto tipy by vám měly pomoci výrazně zmenšit velikost kontraktu. Ještě jednou zdůrazňuji, že pro co největší dopad se vždy zaměřte na rozdělení kontraktů, pokud je to možné.
diff --git a/public/content/translations/cs/developers/tutorials/eip-1271-smart-contract-signatures/index.md b/public/content/translations/cs/developers/tutorials/eip-1271-smart-contract-signatures/index.md
new file mode 100644
index 00000000000..8d68af20ebb
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/eip-1271-smart-contract-signatures/index.md
@@ -0,0 +1,129 @@
+---
+title: "EIP-1271: Podepisování a ověřování podpisů chytrých kontraktů"
+description: Přehled vytváření a ověřování podpisů chytrých kontraktů pomocí EIP-1271. Projdeme si také implementaci EIP-1271 použitou v Safe (dříve Gnosis Safe), abychom vývojářům chytrých kontraktů poskytli konkrétní příklad, na kterém mohou stavět.
+author: Nathan H. Leung
+lang: cs
+tags:
+ [
+ "eip-1271",
+ "chytré kontrakty",
+ "ověřování",
+ "podepisování"
+ ]
+skill: intermediate
+published: 2023-01-12
+---
+
+Standard [EIP-1271](https://eips.ethereum.org/EIPS/eip-1271) umožňuje chytrým kontraktům ověřovat podpisy.
+
+V tomto tutoriálu poskytneme přehled digitálních podpisů, pozadí EIP-1271 a specifické implementace EIP-1271 používané službou [Safe](https://safe.global/) (dříve Gnosis Safe). Celkově to může sloužit jako výchozí bod pro implementaci EIP-1271 ve vašich vlastních kontraktech.
+
+## Co je to podpis?
+
+V tomto kontextu je podpis (přesněji „digitální podpis“) zpráva plus nějaký druh důkazu, že zpráva pochází od konkrétní osoby/odesílatele/adresy.
+
+Digitální podpis může vypadat například takto:
+
+1. Zpráva: „Chci se na tuto webovou stránku přihlásit pomocí své peněženky Ethereum.“
+2. Podepisující: Moje adresa je `0x000…`
+3. Důkaz: Zde je důkaz, že já, `0x000...`, jsem skutečně vytvořil celou tuto zprávu (obvykle se jedná o něco kryptografického).
+
+Je důležité si uvědomit, že digitální podpis zahrnuje jak „zprávu“, tak „podpis“.
+
+Proč? Pokud byste mi například dali k podpisu smlouvu a já bych odtrhl stránku s podpisem a vrátil vám pouze své podpisy bez zbytku smlouvy, smlouva by nebyla platná.
+
+Stejně tak digitální podpis bez přidružené zprávy nic neznamená!
+
+## Proč existuje EIP-1271?
+
+Abyste mohli vytvořit digitální podpis pro použití na blockchainechech založených na Ethereu, obecně potřebujete tajný privátní klíč, který nikdo jiný nezná. Díky tomu je váš podpis skutečně váš (nikdo jiný nemůže vytvořit stejný podpis bez znalosti tajného klíče).
+
+Váš účet na Ethereu (tj. váš externě vlastněný účet / EOA) má s ním spojený privátní klíč, a to je privátní klíč, který se obvykle používá, když vás web nebo dapp požádá o podpis (např. pro „Přihlásit se pomocí Etherea“).
+
+Aplikace může [ověřit podpis](https://www.alchemy.com/docs/how-to-verify-a-message-signature-on-ethereum), který vytvoříte pomocí knihovny třetí strany, jako je ethers.js, [aniž by znala váš privátní klíč](https://en.wikipedia.org/wiki/Public-key_cryptography), a být si jistá, že jste to byli _vy_, kdo podpis vytvořil.
+
+> Ve skutečnosti, protože digitální podpisy EOA používají kryptografii s veřejným klíčem, mohou být generovány a ověřovány **mimo blockchain**! Takto funguje hlasování v DAO bez poplatků – místo odesílání hlasů na blockchainu lze digitální podpisy vytvářet a ověřovat mimo blockchain pomocí kryptografických knihoven.
+
+Zatímco účty EOA mají privátní klíč, účty chytrých kontraktů nemají žádný privátní ani tajný klíč (takže "Přihlásit se pomocí Etherea" atd. nemůže nativně fungovat s účty chytrých kontraktů).
+
+Problém, který se EIP-1271 snaží vyřešit: jak můžeme poznat, že podpis chytrého kontraktu je platný, pokud chytrý kontrakt nemá žádné „tajemství“, které by mohl do podpisu začlenit?
+
+## Jak EIP-1271 funguje?
+
+Chytré kontrakty nemají privátní klíče, které by se daly použít k podepisování zpráv. Jak tedy poznáme, zda je podpis autentický?
+
+Jedním z nápadů je, že se můžeme chytrého kontraktu jednoduše _zeptat_, zda je podpis autentický!
+
+EIP-1271 standardizuje myšlenku „zeptat se“ chytrého kontraktu, zda je daný podpis platný.
+
+Kontrakt, který implementuje EIP-1271, musí mít funkci s názvem `isValidSignature`, která přijímá zprávu a podpis. Kontrakt pak může spustit nějakou ověřovací logiku (specifikace zde nevynucuje nic konkrétního) a poté vrátit hodnotu označující, zda je podpis platný, či nikoli.
+
+Pokud `isValidSignature` vrátí platný výsledek, je to v podstatě jako by kontrakt říkal „ano, schvaluji tento podpis + zprávu!“
+
+### Rozhraní
+
+Zde je přesné rozhraní ve specifikaci EIP-1271 (o parametru `_hash` budeme mluvit níže, ale prozatím si ho představte jako zprávu, která je ověřována):
+
+```jsx
+pragma solidity ^0.5.0;
+
+contract ERC1271 {
+
+ // bytes4(keccak256("isValidSignature(bytes32,bytes)")
+ bytes4 constant internal MAGICVALUE = 0x1626ba7e;
+
+ /**
+ * @dev Měla by vrátit, zda je poskytnutý podpis platný pro poskytnutý haš
+ * @param _hash Haš dat k podepsání
+ * @param _signature Pole bajtů podpisu spojené s _hash
+ *
+ * MUSÍ vrátit magickou hodnotu bytes4 0x1626ba7e, když funkce projde.
+ * NESMÍ upravovat stav (pomocí STATICCALL pro solc < 0.5, modifikátor view pro solc > 0.5)
+ * MUSÍ povolit externí volání
+ */
+ function isValidSignature(
+ bytes32 _hash,
+ bytes memory _signature)
+ public
+ view
+ returns (bytes4 magicValue);
+}
+```
+
+## Příklad implementace EIP-1271: Safe
+
+Kontrakty mohou implementovat `isValidSignature` mnoha způsoby — specifikace neříká mnoho o přesné implementaci.
+
+Jedním z pozoruhodných kontraktů, který implementuje EIP-1271, je Safe (dříve Gnosis Safe).
+
+V kódu Safe je `isValidSignature` [implementována](https://github.com/safe-global/safe-contracts/blob/main/contracts/handler/CompatibilityFallbackHandler.sol) tak, že podpisy lze vytvářet a ověřovat [dvěma způsoby](https://ethereum.stackexchange.com/questions/122635/signing-messages-as-a-gnosis-safe-eip1271-support):
+
+1. Zprávy na blockchainu
+ 1. Vytvoření: vlastník Safe vytvoří novou transakci Safe k „podepsání“ zprávy a předá zprávu jako data do transakce. Jakmile transakci podepíše dostatek vlastníků k dosažení prahu pro multisig, transakce se odešle a spustí. V transakci je funkce Safe s názvem (`signMessage(bytes calldata _data)`), která přidá zprávu na seznam „schválených“ zpráv.
+ 2. Ověření: zavolejte `isValidSignature` na kontraktu Safe a předejte zprávu k ověření jako parametr zprávy a [prázdnou hodnotu pro parametr podpisu](https://github.com/safe-global/safe-contracts/blob/main/contracts/handler/CompatibilityFallbackHandler.sol#L32) (tj. `0x`). Safe uvidí, že parametr podpisu je prázdný, a místo kryptografického ověření podpisu bude vědět, že má pouze zkontrolovat, zda je zpráva na seznamu „schválených“ zpráv.
+2. Zprávy mimo blockchain:
+ 1. Vytvoření: vlastník Safe vytvoří zprávu mimo blockchain, poté nechá ostatní vlastníky Safe podepsat zprávu jednotlivě, dokud nebude dostatek podpisů k překonání prahu schválení multisig.
+ 2. Ověření: zavolejte `isValidSignature`. Do parametru zprávy předejte zprávu k ověření. Do parametru podpisu předejte jednotlivé podpisy všech vlastníků Safe, všechny spojené za sebou. Safe zkontroluje, že je dostatek podpisů pro splnění prahu **a** že každý podpis je platný. Pokud ano, vrátí hodnotu označující úspěšné ověření podpisu.
+
+## Co přesně je parametr `_hash`? Proč nepředat celou zprávu?
+
+Možná jste si všimli, že funkce `isValidSignature` v [rozhraní EIP-1271](https://eips.ethereum.org/EIPS/eip-1271) nepřijímá samotnou zprávu, ale místo toho parametr `_hash`. To znamená, že místo předání celé zprávy libovolné délky do `isValidSignature` předáme 32bajtový haš zprávy (obvykle keccak256).
+
+Každý bajt calldata — tj. data parametrů funkce předaná funkci chytrého kontraktu — [stojí 16 jednotek paliva (4 jednotky paliva, pokud je to nulový bajt)](https://eips.ethereum.org/EIPS/eip-2028), takže to může ušetřit spoustu paliva, pokud je zpráva dlouhá.
+
+### Předchozí specifikace EIP-1271
+
+Existují specifikace EIP-1271, které mají funkci `isValidSignature` s prvním parametrem typu `bytes` (libovolná délka, místo pevné délky `bytes32`) a názvem parametru `message`. Toto je [starší verze](https://github.com/safe-global/safe-contracts/issues/391#issuecomment-1075427206) standardu EIP-1271.
+
+## Jak by měl být EIP-1271 implementován v mých vlastních kontraktech?
+
+Specifikace je v tomto ohledu velmi otevřená. Implementace Safe má několik dobrých nápadů:
+
+- Můžete považovat podpisy EOA od "vlastníka" kontraktu za platné.
+- Můžete si uložit seznam schválených zpráv a pouze ty považovat za platné.
+
+Nakonec je to na vás jako na vývojáři kontraktu!
+
+## Závěr
+
+[EIP-1271](https://eips.ethereum.org/EIPS/eip-1271) je všestranný standard, který umožňuje chytrým kontraktům ověřovat podpisy. Otevírá dveře pro chytré kontrakty, aby se chovaly více jako EOA – například poskytuje způsob, jak "Přihlásit se pomocí Etherea" funguje s chytrými kontrakty – a může být implementován mnoha způsoby (Safe má netriviální, zajímavou implementaci k zvážení).
diff --git a/public/content/translations/cs/developers/tutorials/erc-721-vyper-annotated-code/index.md b/public/content/translations/cs/developers/tutorials/erc-721-vyper-annotated-code/index.md
new file mode 100644
index 00000000000..dbe63668feb
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/erc-721-vyper-annotated-code/index.md
@@ -0,0 +1,712 @@
+---
+title: "Průchod kontraktem Vyper ERC-721"
+description: Kontrakt ERC-721 od Ryuyi Nakamury a jak funguje
+author: Ori Pomerantz
+lang: cs
+tags: [ "vyper", "erc-721", "python" ]
+skill: beginner
+published: 2021-04-01
+---
+
+## Úvod {#introduction}
+
+Standard [ERC-721](/developers/docs/standards/tokens/erc-721/) se používá k držení vlastnictví nezaměnitelných tokenů (NFT).
+Tokeny [ERC-20](/developers/docs/standards/tokens/erc-20/) se chovají jako komodita, protože mezi jednotlivými tokeny není žádný rozdíl.
+Naproti tomu tokeny ERC-721 jsou navrženy pro aktiva, která jsou si podobná, ale ne totožná, jako jsou například různé [kreslené kočky](https://www.cryptokitties.co/)
+nebo vlastnická práva k různým nemovitostem.
+
+V tomto článku budeme analyzovat [kontrakt ERC-721 od Ryuyi Nakamury](https://github.com/vyperlang/vyper/blob/master/examples/tokens/ERC721.vy).
+Tento kontrakt je napsán v jazyce [Vyper](https://vyper.readthedocs.io/en/latest/index.html), kontraktovém jazyce podobném Pythonu, který je navržen tak, aby bylo
+psaní nezabezpečeného kódu obtížnější než v Solidity.
+
+## Kontrakt {#contract}
+
+```python
+# @dev Implementace standardu nezaměnitelného tokenu ERC-721.
+# @author Ryuya Nakamura (@nrryuya)
+# Upraveno z: https://github.com/vyperlang/vyper/blob/de74722bf2d8718cca46902be165f9fe0e3641dd/examples/tokens/ERC721.vy
+```
+
+Komentáře ve Vyperu, stejně jako v Pythonu, začínají mřížkou (`#`) a pokračují až do konce řádku. Komentáře, které obsahují
+`@`, se používají v [NatSpecu](https://vyper.readthedocs.io/en/latest/natspec.html) k vytvoření lidsky čitelné
+dokumentace.
+
+```python
+from vyper.interfaces import ERC721
+
+implements: ERC721
+```
+
+Rozhraní ERC-721 je zabudováno do jazyka Vyper.
+[Definici kódu naleznete zde](https://github.com/vyperlang/vyper/blob/master/vyper/builtin_interfaces/ERC721.py).
+Definice rozhraní je napsána v Pythonu, nikoli ve Vyperu, protože rozhraní se používají nejen v rámci
+blockchainu, ale také při odesílání transakce do blockchainu z externího klienta, který může být napsán v
+Pythonu.
+
+První řádek importuje rozhraní a druhý určuje, že ho zde implementujeme.
+
+### Rozhraní ERC721Receiver {#receiver-interface}
+
+```python
+# Rozhraní pro kontrakt volaný funkcí safeTransferFrom()
+interface ERC721Receiver:
+ def onERC721Received(
+```
+
+ERC-721 podporuje dva typy převodů:
+
+- `transferFrom`, který umožňuje odesílateli zadat jakoukoli cílovou adresu a přenáší odpovědnost
+ za převod na odesílatele. To znamená, že můžete provést převod na neplatnou adresu, v takovém případě
+ je NFT navždy ztraceno.
+- `safeTransferFrom`, který kontroluje, zda je cílová adresa kontrakt. Pokud ano, kontrakt ERC-721 se
+ zeptá přijímajícího kontraktu, zda chce NFT přijmout.
+
+Aby mohl přijímající kontrakt odpovídat na požadavky `safeTransferFrom`, musí implementovat `ERC721Receiver`.
+
+```python
+ _operator: address,
+ _from: address,
+```
+
+Adresa `_from` je aktuální vlastník tokenu. Adresa `_operator` je ta, která
+požadovala převod (tyto dvě adresy se mohou lišit z důvodu povolenek).
+
+```python
+ _tokenId: uint256,
+```
+
+ID tokenů ERC-721 jsou 256bitové. Obvykle se vytvářejí hašováním popisu toho,
+co token představuje.
+
+```python
+ _data: Bytes[1024]
+```
+
+Požadavek může obsahovat až 1024 bajtů uživatelských dat.
+
+```python
+ ) -> bytes32: view
+```
+
+Aby se předešlo případům, kdy kontrakt omylem přijme převod, není návratová hodnota booleovská,
+ale 256 bitů s konkrétní hodnotou.
+
+Tato funkce je `view`, což znamená, že může číst stav blockchainu, ale nemůže ho měnit.
+
+### Události {#events}
+
+[Události](https://media.consensys.net/technical-introduction-to-events-and-logs-in-ethereum-a074d65dd61e)
+se vysílají za účelem informování uživatelů a serverů mimo blockchain o událostech. Všimněte si, že obsah událostí
+není dostupný pro kontrakty na blockchainu.
+
+```python
+# @dev Vysílá se, když se jakýmkoli mechanismem změní vlastnictví jakéhokoli NFT. Tato událost se vysílá, když jsou NFT
+# vytvořeny (`from` == 0) a zničeny (`to` == 0). Výjimka: během vytváření kontraktu může být
+# vytvořen a přiřazen libovolný počet NFT bez vyslání události Transfer. V okamžiku jakéhokoli
+# převodu se schválená adresa pro dané NFT (pokud existuje) vynuluje.
+# @param _from Odesílatel NFT (pokud je adresa nulová, značí to vytvoření tokenu).
+# @param _to Příjemce NFT (pokud je adresa nulová, značí to zničení tokenu).
+# @param _tokenId NFT, které bylo převedeno.
+event Transfer:
+ sender: indexed(address)
+ receiver: indexed(address)
+ tokenId: indexed(uint256)
+```
+
+Je to podobné události Transfer v ERC-20 s tím rozdílem, že místo částky hlásíme `tokenId`.
+Nikdo nevlastní nulovou adresu, takže ji zvykově používáme k hlášení o vytvoření a zničení tokenů.
+
+```python
+# @dev Vysílá se, když je schválená adresa pro NFT změněna nebo znovu potvrzena. Nulová
+# adresa značí, že neexistuje žádná schválená adresa. Když se vyšle událost Transfer, značí to
+# také, že schválená adresa pro dané NFT (pokud existuje) se vynuluje.
+# @param _owner Vlastník NFT.
+# @param _approved Adresa, kterou schvalujeme.
+# @param _tokenId NFT, které schvalujeme.
+event Approval:
+ owner: indexed(address)
+ approved: indexed(address)
+ tokenId: indexed(uint256)
+```
+
+Schválení ERC-721 je podobné povolence v ERC-20. Konkrétní adresa má povoleno převést konkrétní
+token. To dává kontraktům mechanismus, jak reagovat na přijetí tokenu. Kontrakty nemohou
+naslouchat událostem, takže pokud jim token pouze převedete, \"neví\" o tom. Tímto způsobem
+vlastník nejprve podá schválení a poté zašle kontraktu žádost: \"Schválil jsem vám převod tokenu
+X, prosím, proveďte...\".
+
+Jedná se o návrhové rozhodnutí, aby byl standard ERC-721 podobný standardu ERC-20. Protože
+tokeny ERC-721 nejsou zaměnitelné, může kontrakt také identifikovat, že získal konkrétní token, pohledem
+na vlastnictví tokenu.
+
+```python
+# @dev Vysílá se, když je operátor pro vlastníka povolen nebo zakázán. Operátor může spravovat
+# všechny NFT vlastníka.
+# @param _owner Vlastník NFT.
+# @param _operator Adresa, které nastavujeme práva operátora.
+# @param _approved Stav práv operátora (true, pokud jsou práva udělena, a false, pokud jsou
+# odvolána).
+event ApprovalForAll:
+ owner: indexed(address)
+ operator: indexed(address)
+ approved: bool
+```
+
+Někdy je užitečné mít _operátora_, který může spravovat všechny tokeny určitého typu na účtu (ty, které jsou spravovány
+konkrétním kontraktem), podobně jako plná moc. Například bych mohl chtít takovou pravomoc udělit kontraktu, který kontroluje, zda
+jsem ho nekontaktoval po dobu šesti měsíců, a pokud ano, rozdělí můj majetek mým dědicům (pokud o to některý z nich požádá; kontrakty
+nemohou dělat nic, aniž by byly volány transakcí). V ERC-20 můžeme dědickému kontraktu dát vysokou povolenku,
+ale to u ERC-721 nefunguje, protože tokeny nejsou zaměnitelné. Toto je ekvivalent.
+
+Hodnota `approved` nám říká, zda se událost týká schválení, nebo jeho odvolání.
+
+### Stavové proměnné {#state-vars}
+
+Tyto proměnné obsahují aktuální stav tokenů: které jsou dostupné a kdo je vlastní. Většina z nich
+jsou objekty `HashMap`, [jednosměrná mapování, která existují mezi dvěma typy](https://vyper.readthedocs.io/en/latest/types.html#mappings).
+
+```python
+# @dev Mapování z ID NFT na adresu, která jej vlastní.
+idToOwner: HashMap[uint256, address]
+
+# @dev Mapování z ID NFT na schválenou adresu.
+idToApprovals: HashMap[uint256, address]
+```
+
+Identity uživatelů a kontraktů v Ethereu jsou reprezentovány 160bitovými adresami. Tyto dvě proměnné mapují
+ID tokenů na jejich vlastníky a ty, kteří mají schváleno je převést (maximálně jeden pro každý token). V Ethereu
+jsou neinicializovaná data vždy nulová, takže pokud pro daný token neexistuje vlastník nebo schválený převodce, je jeho hodnota
+nulová.
+
+```python
+# @dev Mapování z adresy vlastníka na počet jeho tokenů.
+ownerToNFTokenCount: HashMap[address, uint256]
+```
+
+Tato proměnná uchovává počet tokenů pro každého vlastníka. Neexistuje žádné mapování od vlastníků k tokenům, takže
+jediný způsob, jak identifikovat tokeny, které konkrétní vlastník vlastní, je podívat se zpět do historie událostí blockchainu
+a najít příslušné události `Transfer`. Tuto proměnnou můžeme použít k tomu, abychom věděli, kdy máme všechny NFT a nemusíme
+se dívat ještě dále do minulosti.
+
+Všimněte si, že tento algoritmus funguje pouze pro uživatelská rozhraní a externí servery. Kód běžící na samotném blockchainu
+nemůže číst minulé události.
+
+```python
+# @dev Mapování z adresy vlastníka na mapování adres operátorů.
+ownerToOperators: HashMap[address, HashMap[address, bool]]
+```
+
+Účet může mít více než jednoho operátora. Jednoduchá `HashMap` je pro
+jejich sledování nedostatečná, protože každý klíč vede k jedné hodnotě. Místo toho můžete jako hodnotu použít
+`HashMap[address, bool]`. Standardně je hodnota pro každou adresu `False`, což znamená, že
+není operátorem. Podle potřeby můžete nastavit hodnoty na `True`.
+
+```python
+# @dev Adresa mintera, který může razit tokeny
+minter: address
+```
+
+Nové tokeny musí být nějakým způsobem vytvořeny. V tomto kontraktu existuje jediná entita, která to má povoleno, a to
+`minter`. To je například pravděpodobně dostačující pro hru. Pro jiné účely může být nutné
+vytvořit složitější obchodní logiku.
+
+```python
+# @dev Mapování ID rozhraní na booleovskou hodnotu, zda je či není podporováno
+supportedInterfaces: HashMap[bytes32, bool]
+
+# @dev ID rozhraní ERC165 standardu ERC165
+ERC165_INTERFACE_ID: constant(bytes32) = 0x0000000000000000000000000000000000000000000000000000000001ffc9a7
+
+# @dev ID rozhraní ERC165 standardu ERC721
+ERC721_INTERFACE_ID: constant(bytes32) = 0x0000000000000000000000000000000000000000000000000000000080ac58cd
+```
+
+[ERC-165](https://eips.ethereum.org/EIPS/eip-165) specifikuje mechanismus, jak může kontrakt zveřejnit, jak s ním mohou aplikace
+komunikovat a kterým standardům ERC odpovídá. V tomto případě kontrakt odpovídá standardům ERC-165 a ERC-721.
+
+### Funkce {#functions}
+
+Toto jsou funkce, které skutečně implementují ERC-721.
+
+#### Konstruktor {#constructor}
+
+```python
+@external
+def __init__():
+```
+
+Ve Vyperu, stejně jako v Pythonu, se funkce konstruktoru nazývá `__init__`.
+
+```python
+ """
+ @dev Konstruktor kontraktu.
+ """
+```
+
+V Pythonu a ve Vyperu můžete také vytvořit komentář tak, že zadáte víceřádkový řetězec (který začíná a končí
+`"""`) a nijak ho nepoužijete. Tyto komentáře mohou obsahovat také
+[NatSpec](https://vyper.readthedocs.io/en/latest/natspec.html).
+
+```python
+ self.supportedInterfaces[ERC165_INTERFACE_ID] = True
+ self.supportedInterfaces[ERC721_INTERFACE_ID] = True
+ self.minter = msg.sender
+```
+
+Pro přístup ke stavovým proměnným použijte `self.`(opět, stejně jako v Pythonu).
+
+#### Funkce view {#views}
+
+Jedná se o funkce, které nemění stav blockchainu, a proto mohou být provedeny zdarma,
+pokud jsou volány externě. Pokud jsou funkce view volány kontraktem, stále musí být provedeny na
+každém uzlu, a proto stojí palivo.
+
+```python
+@view
+@external
+```
+
+Tato klíčová slova před definicí funkce, která začínají zavináčem (`@`), se nazývají _dekorace_. Určují
+okolnosti, za kterých lze funkci volat.
+
+- `@view` určuje, že tato funkce je view.
+- `@external` určuje, že tato konkrétní funkce může být volána transakcemi a jinými kontrakty.
+
+```python
+def supportsInterface(_interfaceID: bytes32) -> bool:
+```
+
+Na rozdíl od Pythonu je Vyper [jazyk se statickým typováním](https://wikipedia.org/wiki/Type_system#Static_type_checking).
+Nelze deklarovat proměnnou nebo parametr funkce bez identifikace [datového typu](https://vyper.readthedocs.io/en/latest/types.html). V tomto případě je vstupní parametr `bytes32`, 256bitová hodnota
+(256 bitů je nativní velikost slova [Ethereum Virtual Machine (EVM)](/developers/docs/evm/)). Výstupem je booleovská
+hodnota. Názvy parametrů funkcí zvykově začínají podtržítkem (`_`).
+
+```python
+ """
+ @dev Identifikace rozhraní je specifikována v ERC-165.
+ @param _interfaceID ID rozhraní
+ """
+ return self.supportedInterfaces[_interfaceID]
+```
+
+Vrátí hodnotu z `self.supportedInterfaces` HashMap, která je nastavena v konstruktoru (`__init__`).
+
+```python
+### FUNKCE VIEW ###
+```
+
+Toto jsou funkce view, které zpřístupňují informace o tokenech uživatelům a jiným kontraktům.
+
+```python
+@view
+@external
+def balanceOf(_owner: address) -> uint256:
+ """
+ @dev Vrátí počet NFT vlastněných `_owner`.
+ Vrátí chybu, pokud je `_owner` nulová adresa. NFT přiřazené k nulové adrese jsou považovány za neplatné.
+ @param _owner Adresa, pro kterou se má dotazovat na zůstatek.
+ """
+ assert _owner != ZERO_ADDRESS
+```
+
+Tento řádek [zajišťuje](https://vyper.readthedocs.io/en/latest/statements.html#assert), že `_owner` není
+nulová adresa. Pokud ano, dojde k chybě a operace se vrátí zpět.
+
+```python
+ return self.ownerToNFTokenCount[_owner]
+
+@view
+@external
+def ownerOf(_tokenId: uint256) -> address:
+ """
+ @dev Vrátí adresu vlastníka NFT.
+ Vrátí chybu, pokud `_tokenId` není platné NFT.
+ @param _tokenId Identifikátor NFT.
+ """
+ owner: address = self.idToOwner[_tokenId]
+ # Vrátí chybu, pokud `_tokenId` není platné NFT
+ assert owner != ZERO_ADDRESS
+ return owner
+```
+
+V Ethereum Virtual Machine (EVM) je jakékoli úložiště, které v sobě nemá uloženou hodnotu, nulové.
+Pokud na `_tokenId` není žádný token, pak je hodnota `self.idToOwner[_tokenId]` nulová. V takovém případě
+se funkce vrátí zpět.
+
+```python
+@view
+@external
+def getApproved(_tokenId: uint256) -> address:
+ """
+ @dev Získá schválenou adresu pro jedno NFT.
+ Vrátí chybu, pokud `_tokenId` není platné NFT.
+ @param _tokenId ID NFT, pro které se má dotazovat na schválení.
+ """
+ # Vrátí chybu, pokud `_tokenId` není platné NFT
+ assert self.idToOwner[_tokenId] != ZERO_ADDRESS
+ return self.idToApprovals[_tokenId]
+```
+
+Všimněte si, že `getApproved` _může_ vrátit nulu. Pokud je token platný, vrátí `self.idToApprovals[_tokenId]`.
+Pokud neexistuje žádný schvalovatel, tato hodnota je nulová.
+
+```python
+@view
+@external
+def isApprovedForAll(_owner: address, _operator: address) -> bool:
+ """
+ @dev Zkontroluje, zda je `_operator` schválený operátor pro `_owner`.
+ @param _owner Adresa, která vlastní NFT.
+ @param _operator Adresa, která jedná jménem vlastníka.
+ """
+ return (self.ownerToOperators[_owner])[_operator]
+```
+
+Tato funkce kontroluje, zda má `_operator` povoleno spravovat všechny tokeny `_owner` v tomto kontraktu.
+Protože může existovat více operátorů, jedná se o dvouúrovňovou HashMap.
+
+#### Pomocné funkce pro převod {#transfer-helpers}
+
+Tyto funkce implementují operace, které jsou součástí převodu nebo správy tokenů.
+
+```python
+
+### POMOCNÉ FUNKCE PRO PŘEVOD ###
+
+@view
+@internal
+```
+
+Tato dekorace, `@internal`, znamená, že funkce je přístupná pouze z jiných funkcí v rámci
+stejného kontraktu. Názvy těchto funkcí zvykově také začínají podtržítkem (`_`).
+
+```python
+def _isApprovedOrOwner(_spender: address, _tokenId: uint256) -> bool:
+ """
+ @dev Vrátí, zda daný spender může převést dané ID tokenu
+ @param spender adresa spendera, na kterou se dotazujeme
+ @param tokenId uint256 ID tokenu, který má být převeden
+ @return bool zda je msg.sender schválen pro dané ID tokenu,
+ je operátorem vlastníka, nebo je vlastníkem tokenu
+ """
+ owner: address = self.idToOwner[_tokenId]
+ spenderIsOwner: bool = owner == _spender
+ spenderIsApproved: bool = _spender == self.idToApprovals[_tokenId]
+ spenderIsApprovedForAll: bool = (self.ownerToOperators[owner])[_spender]
+ return (spenderIsOwner or spenderIsApproved) or spenderIsApprovedForAll
+```
+
+Existují tři způsoby, jak může adresa získat povolení k převodu tokenu:
+
+1. Adresa je vlastníkem tokenu
+2. Adresa má schváleno utratit tento token
+3. Adresa je operátorem pro vlastníka tokenu
+
+Výše uvedená funkce může být view, protože nemění stav. Pro snížení provozních nákladů by každá
+funkce, která _může_ být view, _měla_ být view.
+
+```python
+@internal
+def _addTokenTo(_to: address, _tokenId: uint256):
+ """
+ @dev Přidá NFT k dané adrese
+ Vrátí chybu, pokud je `_tokenId` vlastněno někým jiným.
+ """
+ # Vrátí chybu, pokud je `_tokenId` vlastněno někým jiným
+ assert self.idToOwner[_tokenId] == ZERO_ADDRESS
+ # Změní vlastníka
+ self.idToOwner[_tokenId] = _to
+ # Změní sledování počtu
+ self.ownerToNFTokenCount[_to] += 1
+
+
+@internal
+def _removeTokenFrom(_from: address, _tokenId: uint256):
+ """
+ @dev Odebere NFT z dané adresy
+ Vrátí chybu, pokud `_from` není aktuální vlastník.
+ """
+ # Vrátí chybu, pokud `_from` není aktuální vlastník
+ assert self.idToOwner[_tokenId] == _from
+ # Změní vlastníka
+ self.idToOwner[_tokenId] = ZERO_ADDRESS
+ # Změní sledování počtu
+ self.ownerToNFTokenCount[_from] -= 1
+```
+
+Pokud se vyskytne problém s převodem, vrátíme volání zpět.
+
+```python
+@internal
+def _clearApproval(_owner: address, _tokenId: uint256):
+ """
+ @dev Zruší schválení dané adresy
+ Vrátí chybu, pokud `_owner` není aktuální vlastník.
+ """
+ # Vrátí chybu, pokud `_owner` není aktuální vlastník
+ assert self.idToOwner[_tokenId] == _owner
+ if self.idToApprovals[_tokenId] != ZERO_ADDRESS:
+ # Vynuluje schválení
+ self.idToApprovals[_tokenId] = ZERO_ADDRESS
+```
+
+Hodnotu změňte pouze v případě nutnosti. Stavové proměnné se nacházejí v úložišti. Zápis do úložiště je
+jednou z nejdražších operací, které EVM (Ethereum Virtual Machine) provádí (z hlediska
+[paliva](/developers/docs/gas/)). Proto je dobré ji minimalizovat, i zápis
+existující hodnoty má vysoké náklady.
+
+```python
+@internal
+def _transferFrom(_from: address, _to: address, _tokenId: uint256, _sender: address):
+ """
+ @dev Provede převod NFT.
+ Vrátí chybu, pokud `msg.sender` není aktuální vlastník, autorizovaný operátor nebo schválená
+ adresa pro toto NFT. (POZNÁMKA: `msg.sender` není povoleno v soukromé funkci, takže se předává `_sender`.)
+ Vrátí chybu, pokud je `_to` nulová adresa.
+ Vrátí chybu, pokud `_from` není aktuální vlastník.
+ Vrátí chybu, pokud `_tokenId` není platné NFT.
+ """
+```
+
+Tuto interní funkci máme proto, že existují dva způsoby převodu tokenů (běžný a bezpečný), ale
+chceme mít pouze jedno místo v kódu, kde to děláme, abychom usnadnili auditování.
+
+```python
+ # Zkontroluje požadavky
+ assert self._isApprovedOrOwner(_sender, _tokenId)
+ # Vrátí chybu, pokud je `_to` nulová adresa
+ assert _to != ZERO_ADDRESS
+ # Zruší schválení. Vrátí chybu, pokud `_from` není aktuální vlastník
+ self._clearApproval(_from, _tokenId)
+ # Odebere NFT. Vrátí chybu, pokud `_tokenId` není platné NFT
+ self._removeTokenFrom(_from, _tokenId)
+ # Přidá NFT
+ self._addTokenTo(_to, _tokenId)
+ # Zapíše převod do protokolu
+ log Transfer(_from, _to, _tokenId)
+```
+
+Pro vyslání události ve Vyperu použijete příkaz `log` ([více podrobností zde](https://vyper.readthedocs.io/en/latest/event-logging.html#event-logging)).
+
+#### Funkce pro převod {#transfer-funs}
+
+```python
+
+### FUNKCE PRO PŘEVOD ###
+
+@external
+def transferFrom(_from: address, _to: address, _tokenId: uint256):
+ """
+ @dev Vrátí chybu, pokud `msg.sender` není aktuální vlastník, autorizovaný operátor nebo schválená
+ adresa pro toto NFT.
+ Vrátí chybu, pokud `_from` není aktuální vlastník.
+ Vrátí chybu, pokud je `_to` nulová adresa.
+ Vrátí chybu, pokud `_tokenId` není platné NFT.
+ @notice Volající je odpovědný za potvrzení, že `_to` je schopno přijímat NFT, jinak
+ mohou být trvale ztraceny.
+ @param _from Aktuální vlastník NFT.
+ @param _to Nový vlastník.
+ @param _tokenId NFT k převodu.
+ """
+ self._transferFrom(_from, _to, _tokenId, msg.sender)
+```
+
+Tato funkce umožňuje převod na libovolnou adresu. Pokud adresa není uživatel nebo kontrakt, který
+ví, jak převádět tokeny, jakýkoli token, který převedete, zůstane na této adrese a bude k ničemu.
+
+```python
+@external
+def safeTransferFrom(
+ _from: address,
+ _to: address,
+ _tokenId: uint256,
+ _data: Bytes[1024]=b""
+ ):
+ """
+ @dev Přenáší vlastnictví NFT z jedné adresy na jinou.
+ Vrátí chybu, pokud `msg.sender` není aktuální vlastník, autorizovaný operátor nebo
+ schválená adresa pro toto NFT.
+ Vrátí chybu, pokud `_from` není aktuální vlastník.
+ Vrátí chybu, pokud je `_to` nulová adresa.
+ Vrátí chybu, pokud `_tokenId` není platné NFT.
+ Pokud je `_to` chytrý kontrakt, volá `onERC721Received` na `_to` a vrátí chybu, pokud
+ návratová hodnota není `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`.
+ POZNÁMKA: bytes4 je reprezentováno jako bytes32 s výplní
+ @param _from Aktuální vlastník NFT.
+ @param _to Nový vlastník.
+ @param _tokenId NFT k převodu.
+ @param _data Dodatečná data bez specifikovaného formátu, odeslaná ve volání na `_to`.
+ """
+ self._transferFrom(_from, _to, _tokenId, msg.sender)
+```
+
+Je v pořádku provést převod nejprve, protože pokud se vyskytne problém, stejně se vrátíme zpět,
+takže vše provedené ve volání bude zrušeno.
+
+```python
+ if _to.is_contract: # zkontroluje, zda je `_to` účet kontraktu
+```
+
+Nejprve zkontrolujte, zda je adresa kontrakt (zda má kód). Pokud ne, předpokládejte, že se jedná o uživatelskou
+adresu a uživatel bude moci token použít nebo ho převést. Ale nenechte se tím ukolébat
+do falešného pocitu bezpečí. Můžete ztratit tokeny, i s `safeTransferFrom`, pokud je převedete
+na adresu, ke které nikdo nezná privátní klíč.
+
+```python
+ returnValue: bytes32 = ERC721Receiver(_to).onERC721Received(msg.sender, _from, _tokenId, _data)
+```
+
+Volejte cílový kontrakt, abyste zjistili, zda může přijímat tokeny ERC-721.
+
+```python
+ # Vrátí chybu, pokud je cílem převodu kontrakt, který neimplementuje 'onERC721Received'
+ assert returnValue == method_id("onERC721Received(address,address,uint256,bytes)", output_type=bytes32)
+```
+
+Pokud je cílem kontrakt, ale takový, který nepřijímá tokeny ERC-721 (nebo který se rozhodl nepřijmout tento
+konkrétní převod), vraťte se zpět.
+
+```python
+@external
+def approve(_approved: address, _tokenId: uint256):
+ """
+ @dev Nastaví nebo znovu potvrdí schválenou adresu pro NFT. Nulová adresa značí, že neexistuje žádná schválená adresa.
+ Vrátí chybu, pokud `msg.sender` není aktuální vlastník NFT nebo autorizovaný operátor aktuálního vlastníka.
+ Vrátí chybu, pokud `_tokenId` není platné NFT. (POZNÁMKA: Toto není uvedeno v EIP)
+ Vrátí chybu, pokud je `_approved` aktuální vlastník. (POZNÁMKA: Toto není uvedeno v EIP)
+ @param _approved Adresa, která má být schválena pro dané ID NFT.
+ @param _tokenId ID tokenu, který má být schválen.
+ """
+ owner: address = self.idToOwner[_tokenId]
+ # Vrátí chybu, pokud `_tokenId` není platné NFT
+ assert owner != ZERO_ADDRESS
+ # Vrátí chybu, pokud je `_approved` aktuální vlastník
+ assert _approved != owner
+```
+
+Pokud zvykově nechcete mít schvalovatele, jmenujte nulovou adresu, ne sebe.
+
+```python
+ # Zkontroluje požadavky
+ senderIsOwner: bool = self.idToOwner[_tokenId] == msg.sender
+ senderIsApprovedForAll: bool = (self.ownerToOperators[owner])[msg.sender]
+ assert (senderIsOwner or senderIsApprovedForAll)
+```
+
+Pro nastavení schválení můžete být buď vlastníkem, nebo operátorem autorizovaným vlastníkem.
+
+```python
+ # Nastaví schválení
+ self.idToApprovals[_tokenId] = _approved
+ log Approval(owner, _approved, _tokenId)
+
+
+@external
+def setApprovalForAll(_operator: address, _approved: bool):
+ """
+ @dev Povolí nebo zakáže schválení pro třetí stranu („operátora“) ke správě všech
+ aktiv `msg.sender`. Také vysílá událost ApprovalForAll.
+ Vrátí chybu, pokud je `_operator` `msg.sender`. (POZNÁMKA: Toto není uvedeno v EIP)
+ @notice Toto funguje i v případě, že odesílatel v daném okamžiku nevlastní žádné tokeny.
+ @param _operator Adresa, která se má přidat do sady autorizovaných operátorů.
+ @param _approved True, pokud je operátor schválen, false pro odvolání schválení.
+ """
+ # Vrátí chybu, pokud je `_operator` `msg.sender`
+ assert _operator != msg.sender
+ self.ownerToOperators[msg.sender][_operator] = _approved
+ log ApprovalForAll(msg.sender, _operator, _approved)
+```
+
+#### Ražba nových tokenů a zničení stávajících {#mint-burn}
+
+Účet, který vytvořil kontrakt, je `minter`, super uživatel, který je oprávněn razit
+nové NFT. Ani on však nesmí pálit existující tokeny. To může udělat pouze vlastník nebo entita
+autorizovaná vlastníkem.
+
+```python
+### FUNKCE PRO RAŽBU A PÁLENÍ ###
+
+@external
+def mint(_to: address, _tokenId: uint256) -> bool:
+```
+
+Tato funkce vždy vrátí `True`, protože pokud operace selže, vrátí se zpět.
+
+```python
+ """
+ @dev Funkce pro ražbu tokenů
+ Vrátí chybu, pokud `msg.sender` není minter.
+ Vrátí chybu, pokud je `_to` nulová adresa.
+ Vrátí chybu, pokud je `_tokenId` vlastněno někým jiným.
+ @param _to Adresa, která obdrží ražené tokeny.
+ @param _tokenId ID tokenu k ražbě.
+ @return Booleovská hodnota, která značí, zda byla operace úspěšná.
+ """
+```
+
+Pouze minter (účet, který vytvořil kontrakt ERC-721) může razit nové tokeny. To může být
+v budoucnu problém, pokud budeme chtít změnit identitu mintera. V
+produkčním kontraktu byste pravděpodobně chtěli funkci, která minterovi umožní převést
+práva mintera na někoho jiného.
+
+```python
+ # Vrátí chybu, pokud je `_to` nulová adresa
+ assert _to != ZERO_ADDRESS
+ # Přidá NFT. Vrátí chybu, pokud je `_tokenId` vlastněno někým jiným
+ self._addTokenTo(_to, _tokenId)
+ log Transfer(ZERO_ADDRESS, _to, _tokenId)
+ return True
+```
+
+Ražba nových tokenů se zvykově počítá jako převod z nulové adresy.
+
+```python
+
+@external
+def burn(_tokenId: uint256):
+ """
+ @dev Spálí konkrétní token ERC721.
+ Vrátí chybu, pokud `msg.sender` není aktuální vlastník, autorizovaný operátor nebo schválená
+ adresa pro toto NFT.
+ Vrátí chybu, pokud `_tokenId` není platné NFT.
+ @param _tokenId uint256 id tokenu ERC721, který má být spálen.
+ """
+ # Zkontroluje požadavky
+ assert self._isApprovedOrOwner(msg.sender, _tokenId)
+ owner: address = self.idToOwner[_tokenId]
+ # Vrátí chybu, pokud `_tokenId` není platné NFT
+ assert owner != ZERO_ADDRESS
+ self._clearApproval(owner, _tokenId)
+ self._removeTokenFrom(owner, _tokenId)
+ log Transfer(owner, ZERO_ADDRESS, _tokenId)
+```
+
+Každý, kdo má povoleno převést token, ho smí spálit. Ačkoli se pálení zdá být ekvivalentem
+převodu na nulovou adresu, nulová adresa ve skutečnosti token neobdrží. To nám umožňuje
+uvolnit veškeré úložiště, které bylo pro token použito, což může snížit náklady na palivo transakce.
+
+## Použití tohoto kontraktu {#using-contract}
+
+Na rozdíl od Solidity, Vyper nemá dědičnost. Jedná se o záměrné návrhové rozhodnutí, které má za cíl zpřehlednit kód,
+a tím usnadnit jeho zabezpečení. Chcete-li tedy vytvořit svůj vlastní kontrakt Vyper ERC-721, vezměte tento
+kontrakt a upravte ho
+tak, aby implementoval obchodní logiku, kterou chcete.
+
+## Závěr {#conclusion}
+
+Pro shrnutí, zde jsou některé z nejdůležitějších myšlenek v tomto kontraktu:
+
+- Pro příjem tokenů ERC-721 s bezpečným převodem musí kontrakty implementovat rozhraní `ERC721Receiver`.
+- I když použijete bezpečný převod, tokeny se mohou stále zaseknout, pokud je pošlete na adresu, jejíž privátní klíč
+ je neznámý.
+- Když se vyskytne problém s operací, je dobré volání `vrátit`, nikoli jen vrátit
+ hodnotu selhání.
+- Tokeny ERC-721 existují, když mají vlastníka.
+- Existují tři způsoby, jak být oprávněn k převodu NFT. Můžete být vlastníkem, být schválen pro konkrétní token,
+ nebo být operátorem pro všechny tokeny vlastníka.
+- Minulé události jsou viditelné pouze mimo blockchain. Kód běžící uvnitř blockchainu je nemůže zobrazit.
+
+Nyní jděte a implementujte bezpečné kontrakty Vyper.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
+
diff --git a/public/content/translations/cs/developers/tutorials/erc20-annotated-code/index.md b/public/content/translations/cs/developers/tutorials/erc20-annotated-code/index.md
new file mode 100644
index 00000000000..a6f21ec0cef
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/erc20-annotated-code/index.md
@@ -0,0 +1,927 @@
+---
+title: "Podrobný průvodce kontraktem ERC-20"
+description: Co je v kontraktu OpenZeppelin ERC-20 a proč se tam nachází?
+author: Ori Pomerantz
+lang: cs
+tags: [ "solidity", "erc-20" ]
+skill: beginner
+published: 2021-03-09
+---
+
+## Úvod {#introduction}
+
+Jedním z nejčastějších způsobů využití Etherea je vytvoření obchodovatelného tokenu pro skupinu, v podstatě jejich vlastní měny. Tyto tokeny obvykle dodržují standard
+[ERC-20](/developers/docs/standards/tokens/erc-20/). Tento standard umožňuje psát nástroje, jako jsou pooly likvidity a peněženky, které fungují se všemi tokeny ERC-20. V tomto článku budeme analyzovat implementaci [OpenZeppelin Solidity ERC20](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol) a také [definici rozhraní](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol).
+
+Jedná se o anotovaný zdrojový kód. Chcete-li implementovat ERC-20,
+[přečtěte si tento návod](https://docs.openzeppelin.com/contracts/2.x/erc20-supply).
+
+## Rozhraní {#the-interface}
+
+Účelem standardu, jako je ERC-20, je umožnit mnoho implementací tokenů, které jsou interoperabilní napříč aplikacemi, jako jsou peněženky a decentralizované burzy. K tomu vytvoříme [rozhraní](https://www.geeksforgeeks.org/solidity/solidity-basics-of-interface/). Jakýkoli kód, který potřebuje použít kontrakt tokenu,
+může použít stejné definice v rozhraní a být kompatibilní se všemi kontrakty tokenu, které jej používají, ať už je to peněženka, jako je MetaMask, dapp, jako je etherscan.io, nebo jiný kontrakt, jako je pool likvidity.
+
+
+
+Pokud jste zkušený programátor, pravděpodobně si pamatujete, že jste podobné konstrukce viděli v [Javě](https://www.w3schools.com/java/java_interface.asp)
+nebo dokonce v [hlavičkových souborech C](https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html).
+
+Toto je definice [rozhraní ERC-20](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol)
+od OpenZeppelin. Jedná se o překlad [lidsky čitelného standardu](https://eips.ethereum.org/EIPS/eip-20) do kódu v Solidity. Samozřejmě samotné
+rozhraní nedefinuje, _jak_ se má něco dělat. To je vysvětleno ve zdrojovém kódu kontraktu níže.
+
+
+
+```solidity
+// SPDX-License-Identifier: MIT
+```
+
+Soubory v Solidity by měly obsahovat identifikátor licence. [Seznam licencí naleznete zde](https://spdx.org/licenses/). Pokud potřebujete jinou
+licenci, jednoduše to vysvětlete v komentářích.
+
+
+
+```solidity
+pragma solidity >=0.6.0 <0.8.0;
+```
+
+Jazyk Solidity se stále rychle vyvíjí a nové verze nemusí být kompatibilní se starým kódem
+([viz zde](https://docs.soliditylang.org/en/v0.7.0/070-breaking-changes.html)). Proto je dobré specifikovat nejen minimální
+verzi jazyka, ale také maximální verzi, nejnovější, se kterou jste kód testovali.
+
+
+
+```solidity
+/**
+ * @dev Rozhraní standardu ERC20, jak je definováno v EIP.
+ */
+```
+
+Značka @dev v komentáři je součástí [formátu NatSpec](https://docs.soliditylang.org/en/develop/natspec-format.html), který se používá k vytváření
+dokumentace ze zdrojového kódu.
+
+
+
+```solidity
+interface IERC20 {
+```
+
+Podle konvence začínají názvy rozhraní písmenem `I`.
+
+
+
+```solidity
+ /**
+ * @dev Vrací množství existujících tokenů.
+ */
+ function totalSupply() external view returns (uint256);
+```
+
+Tato funkce je externí (`external`), což znamená, že [ji lze volat pouze z vnějšku kontraktu](https://docs.soliditylang.org/en/v0.7.0/cheatsheet.html#index-2).
+Vrací celkovou zásobu tokenů v kontraktu. Tato hodnota je vrácena pomocí nejběžnějšího typu v Ethereu, 256bitového celého čísla bez znaménka (256 bitů je
+nativní velikost slova EVM). Tato funkce je také `view`, což znamená, že nemění stav, takže ji lze provést na jednom uzlu, místo aby ji musel
+spouštět každý uzel v blockchainu. Tento druh funkce negeneruje transakci a nestojí žádné [palivo](/developers/docs/gas/).
+
+**Poznámka:** Teoreticky by se mohlo zdát, že tvůrce kontraktu by mohl podvádět vrácením menší celkové zásoby, než je skutečná hodnota, takže by se každý token zdál
+cennější, než ve skutečnosti je. Tato obava však ignoruje skutečnou podstatu blockchainu. Vše, co se děje na blockchainu, může být ověřeno
+každým uzlem. Aby toho bylo dosaženo, je na každém uzlu k dispozici strojový kód a úložiště každého kontraktu. I když nejste povinni zveřejnit kód vašeho kontraktu v
+Solidity, nikdo by vás nebral vážně, pokud nezveřejníte zdrojový kód a verzi Solidity, se kterou byl zkompilován, aby mohl být
+ověřen oproti strojovému kódu, který jste poskytli.
+Podívejte se například na [tento kontrakt](https://eth.blockscout.com/address/0xa530F85085C6FE2f866E7FdB716849714a89f4CD?tab=contract).
+
+
+
+```solidity
+ /**
+ * @dev Vrací množství tokenů, které vlastní `account`.
+ */
+ function balanceOf(address account) external view returns (uint256);
+```
+
+Jak název napovídá, funkce `balanceOf` vrací zůstatek účtu. Účty Etherea jsou v Solidity identifikovány pomocí typu `address`, který obsahuje 160 bitů.
+Je také `external` a `view`.
+
+
+
+```solidity
+ /**
+ * @dev Přesune tokeny v množství `amount` z účtu volajícího na `recipient`.
+ *
+ * Vrací booleovskou hodnotu, která udává, zda operace proběhla úspěšně.
+ *
+ * Vyvolá událost {Transfer}.
+ */
+ function transfer(address recipient, uint256 amount) external returns (bool);
+```
+
+Funkce `transfer` převádí tokeny od volajícího na jinou adresu. To zahrnuje změnu stavu, takže to není `view`.
+Když uživatel zavolá tuto funkci, vytvoří se transakce, která stojí palivo. Rovněž vyvolá událost `Transfer`, aby informovala všechny na
+blockchainu o této události.
+
+Funkce má dva typy výstupu pro dva různé typy volajících:
+
+- Uživatelé, kteří volají funkci přímo z uživatelského rozhraní. Uživatel obvykle odešle transakci
+ a nečeká na odpověď, což může trvat neurčitou dobu. Uživatel může zjistit, co se stalo,
+ vyhledáním potvrzení o transakci (které je identifikováno hašem transakce) nebo vyhledáním
+ události `Transfer`.
+- Jiné kontrakty, které volají funkci jako součást celkové transakce. Tyto kontrakty dostanou výsledek okamžitě,
+ protože běží ve stejné transakci, takže mohou použít návratovou hodnotu funkce.
+
+Stejný typ výstupu je vytvořen ostatními funkcemi, které mění stav kontraktu.
+
+
+
+Povolení umožňují účtu utratit některé tokeny, které patří jinému vlastníkovi.
+To je užitečné například pro kontrakty, které fungují jako prodejci. Kontrakty nemohou
+sledovat události, takže pokud by kupující převedl tokeny přímo na kontrakt prodejce,
+tento kontrakt by nevěděl, že mu bylo zaplaceno. Místo toho kupující povolí
+kontraktu prodejce utratit určitou částku a prodejce tuto částku převede.
+To se děje prostřednictvím funkce, kterou kontrakt prodejce volá, takže kontrakt prodejce
+může vědět, zda byl úspěšný.
+
+```solidity
+ /**
+ * @dev Vrací zbývající počet tokenů, které bude moci `spender`
+ * utratit jménem `owner` prostřednictvím {transferFrom}. Ve výchozím nastavení je
+ * tato hodnota nulová.
+ *
+ * Tato hodnota se mění při volání funkcí {approve} nebo {transferFrom}.
+ */
+ function allowance(address owner, address spender) external view returns (uint256);
+```
+
+Funkce `allowance` umožňuje komukoli dotázat se, jaké je povolení, které jedna
+adresa (`owner`) umožňuje utratit jiné adrese (`spender`).
+
+
+
+```solidity
+ /**
+ * @dev Nastaví `amount` jako povolenou částku pro `spender` pro tokeny volajícího.
+ *
+ * Vrací booleovskou hodnotu, která udává, zda operace proběhla úspěšně.
+ *
+ * DŮLEŽITÉ: Dejte si pozor, že změna povolení touto metodou s sebou nese riziko,
+ * že někdo může nešťastným pořadím transakcí využít jak staré, tak i nové povolení.
+ * Jedním z možných řešení, jak tento souběh zmírnit,
+ * je nejprve snížit povolení pro utrácejícího na 0 a poté nastavit
+ * požadovanou hodnotu:
+ * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
+ *
+ * Vyvolá událost {Approval}.
+ */
+ function approve(address spender, uint256 amount) external returns (bool);
+```
+
+Funkce `approve` vytváří povolení. Nezapomeňte si přečíst zprávu o tom,
+jak může být zneužita. V Ethereu ovládáte pořadí svých vlastních transakcí,
+ale nemůžete ovládat pořadí, v jakém budou provedeny transakce
+jiných lidí, pokud neodešlete vlastní transakci až poté, co uvidíte,
+že transakce druhé strany proběhla.
+
+
+
+```solidity
+ /**
+ * @dev Přesune tokeny v množství `amount` z adresy `sender` na `recipient` pomocí
+ * mechanismu povolení. `amount` se poté odečte od povolení volajícího
+ * .
+ *
+ * Vrací booleovskou hodnotu, která udává, zda operace proběhla úspěšně.
+ *
+ * Vyvolá událost {Transfer}.
+ */
+ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
+```
+
+Nakonec `transferFrom` použije utrácející k samotnému utracení povolené částky.
+
+
+
+```solidity
+
+ /**
+ * @dev Vyvolá se, když se tokeny v hodnotě `value` přesunou z jednoho účtu (`from`) na
+ * jiný (`to`).
+ *
+ * Všimněte si, že `value` může být nula.
+ */
+ event Transfer(address indexed from, address indexed to, uint256 value);
+
+ /**
+ * @dev Vyvolá se, když je povolení `spendera` pro `ownera` nastaveno
+ * voláním {approve}. `value` je nové povolení.
+ */
+ event Approval(address indexed owner, address indexed spender, uint256 value);
+}
+```
+
+Tyto události jsou emitovány, když se změní stav kontraktu ERC-20.
+
+## Skutečný kontrakt {#the-actual-contract}
+
+Toto je skutečný kontrakt, který implementuje standard ERC-20, [převzato odtud](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol).
+Není určen k použití tak, jak je, ale můžete
+z něj [dědit](https://www.tutorialspoint.com/solidity/solidity_inheritance.htm) a rozšířit jej na něco použitelného.
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.6.0 <0.8.0;
+```
+
+
+
+### Importní příkazy {#import-statements}
+
+Kromě výše uvedených definic rozhraní importuje definice kontraktu dva další soubory:
+
+```solidity
+
+import "../../GSN/Context.sol";
+import "./IERC20.sol";
+import "../../math/SafeMath.sol";
+```
+
+- `GSN/Context.sol` jsou definice potřebné k použití [OpenGSN](https://www.opengsn.org/), systému, který umožňuje uživatelům bez etheru
+ používat blockchain. Všimněte si, že se jedná o starou verzi, pokud chcete integrovat s OpenGSN,
+ [použijte tento návod](https://docs.opengsn.org/javascript-client/tutorial.html).
+- [Knihovna SafeMath](https://ethereumdev.io/using-safe-math-library-to-prevent-from-overflows/), která zabraňuje
+ aritmetickému přetečení/podtečení pro verze Solidity **<0.8.0**. V Solidity ≥0.8.0 aritmetické operace automaticky
+ vracejí při přetečení/podtečení, takže SafeMath je zbytečná. Tento kontrakt používá SafeMath pro zpětnou kompatibilitu se
+ staršími verzemi kompilátoru.
+
+
+
+Tento komentář vysvětluje účel kontraktu.
+
+```solidity
+/**
+ * @dev Implementace rozhraní {IERC20}.
+ *
+ * Tato implementace je agnostická vůči způsobu vytváření tokenů. To znamená,
+ * že mechanismus dodávání musí být přidán v odvozeném kontraktu pomocí {_mint}.
+ * Obecný mechanismus viz {ERC20PresetMinterPauser}.
+ *
+ * TIP: Podrobný popis naleznete v našem průvodci
+ * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[Jak
+ * implementovat mechanismy dodávání].
+ *
+ * Dodržovali jsme obecné pokyny OpenZeppelin: funkce se při selhání vracejí, místo aby
+ * vracely `false`. Toto chování je nicméně konvenční
+ * a není v rozporu s očekáváními aplikací ERC20.
+ *
+ * Navíc se při volání {transferFrom} emituje událost {Approval}.
+ * To umožňuje aplikacím rekonstruovat povolení pro všechny účty jen
+ * nasloucháním zmíněných událostí. Jiné implementace EIP nemusí tyto události
+ * emitovat, protože to není vyžadováno specifikací.
+ *
+ * Nakonec byly přidány nestandardní funkce {decreaseAllowance} a {increaseAllowance},
+ * aby se zmírnily známé problémy kolem nastavování
+ * povolení. Viz {IERC20-approve}.
+ */
+
+```
+
+### Definice kontraktu {#contract-definition}
+
+```solidity
+contract ERC20 is Context, IERC20 {
+```
+
+Tento řádek specifikuje dědičnost, v tomto případě z `IERC20` z výše uvedeného a `Context`, pro OpenGSN.
+
+
+
+```solidity
+
+ using SafeMath for uint256;
+
+```
+
+Tento řádek připojuje knihovnu `SafeMath` k typu `uint256`. Tuto knihovnu najdete
+[zde](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/math/SafeMath.sol).
+
+### Definice proměnných {#variable-definitions}
+
+Tyto definice specifikují stavové proměnné kontraktu. Tyto proměnné jsou deklarovány jako soukromé (`private`), ale
+to pouze znamená, že je nemohou číst jiné kontrakty na blockchainu. _Na blockchainu neexistují žádná
+tajemství_, software na každém uzlu má stav každého kontraktu
+v každém bloku. Podle konvence se stavové proměnné pojmenovávají `_`.
+
+První dvě proměnné jsou [mapování](https://www.tutorialspoint.com/solidity/solidity_mappings.htm),
+což znamená, že se chovají zhruba stejně jako [asociativní pole](https://wikipedia.org/wiki/Associative_array),
+s výjimkou toho, že klíče jsou číselné hodnoty. Úložiště je přiděleno pouze pro položky, které mají hodnoty odlišné
+od výchozí (nula).
+
+```solidity
+ mapping (address => uint256) private _balances;
+```
+
+První mapování, `_balances`, jsou adresy a jejich příslušné zůstatky tohoto tokenu. Pro přístup
+k zůstatku použijte tuto syntaxi: `_balances[]`.
+
+
+
+```solidity
+ mapping (address => mapping (address => uint256)) private _allowances;
+```
+
+Tato proměnná, `_allowances`, ukládá povolení vysvětlená dříve. První index je vlastníkem
+tokenů a druhý je kontrakt s povolením. Pro přístup k částce, kterou může adresa A
+utratit z účtu adresy B, použijte `_allowances[B][A]`.
+
+
+
+```solidity
+ uint256 private _totalSupply;
+```
+
+Jak název napovídá, tato proměnná sleduje celkovou zásobu tokenů.
+
+
+
+```solidity
+ string private _name;
+ string private _symbol;
+ uint8 private _decimals;
+```
+
+Tyto tři proměnné se používají ke zlepšení čitelnosti. První dvě jsou samovysvětlující, ale `_decimals`
+není.
+
+Na jedné straně Ethereum nemá proměnné s plovoucí desetinnou čárkou nebo zlomkové proměnné. Na druhé straně,
+lidé rádi dělí tokeny. Jedním z důvodů, proč se lidé usadili na zlatě jako měně, bylo to, že
+bylo těžké vrátit drobné, když si někdo chtěl koupit hodnotu kachny v kravě.
+
+Řešením je sledovat celá čísla, ale počítat místo skutečného tokenu zlomkový token, který je
+téměř bezcenný. V případě etheru se zlomkový token nazývá wei a 10^18 wei se rovná jednomu
+ETH. V době psaní tohoto článku je 10 000 000 000 000 wei přibližně jeden americký nebo eurový cent.
+
+Aplikace potřebují vědět, jak zobrazit zůstatek tokenu. Pokud má uživatel 3 141 000 000 000 000 000 wei, je to
+3,14 ETH? 31,41 ETH? 3 141 ETH? V případě etheru je definováno 10^18 wei na ETH, ale pro váš
+token můžete zvolit jinou hodnotu. Pokud dělení tokenu nemá smysl, můžete použít
+hodnotu `_decimals` nula. Chcete-li použít stejný standard jako ETH, použijte hodnotu **18**.
+
+### Konstruktor {#the-constructor}
+
+```solidity
+ /**
+ * @dev Nastaví hodnoty pro {name} a {symbol}, inicializuje {decimals} s
+ * výchozí hodnotou 18.
+ *
+ * Chcete-li vybrat jinou hodnotu pro {decimals}, použijte {_setupDecimals}.
+ *
+ * Všechny tři z těchto hodnot jsou neměnné: lze je nastavit pouze jednou během
+ * konstrukce.
+ */
+ constructor (string memory name_, string memory symbol_) public {
+ // V Solidity ≥0.7.0, 'public' je implicitní a může být vynechán.
+
+ _name = name_;
+ _symbol = symbol_;
+ _decimals = 18;
+ }
+```
+
+Konstruktor se volá při prvním vytvoření kontraktu. Podle konvence jsou parametry funkce pojmenovány `_`.
+
+### Funkce uživatelského rozhraní {#user-interface-functions}
+
+```solidity
+ /**
+ * @dev Vrací název tokenu.
+ */
+ function name() public view returns (string memory) {
+ return _name;
+ }
+
+ /**
+ * @dev Vrací symbol tokenu, obvykle kratší verzi
+ * názvu.
+ */
+ function symbol() public view returns (string memory) {
+ return _symbol;
+ }
+
+ /**
+ * @dev Vrací počet desetinných míst použitých k získání jeho uživatelské reprezentace.
+ * Například, pokud se `decimals` rovná `2`, měl by být zůstatek `505` tokenů
+ * zobrazen uživateli jako `5,05` (`505 / 10 ** 2`).
+ *
+ * Tokeny obvykle volí hodnotu 18, napodobující vztah mezi
+ * etherem a wei. Toto je hodnota, kterou {ERC20} používá, pokud není
+ * volána {_setupDecimals}.
+ *
+ * POZNÁMKA: Tato informace se používá pouze pro účely _zobrazení_: v
+ * žádném případě neovlivňuje žádnou aritmetiku kontraktu, včetně
+ * {IERC20-balanceOf} a {IERC20-transfer}.
+ */
+ function decimals() public view returns (uint8) {
+ return _decimals;
+ }
+```
+
+Tyto funkce, `name`, `symbol` a `decimals`, pomáhají uživatelským rozhraním poznat váš kontrakt, aby ho mohly správně zobrazit.
+
+Návratový typ je `string memory`, což znamená návrat řetězce, který je uložen v paměti. Proměnné, jako jsou
+řetězce, mohou být uloženy na třech místech:
+
+| | Životnost | Přístup ke kontraktu | Náklady na palivo |
+| -------- | ---------------- | -------------------- | ----------------------------------------------------------------- |
+| Paměť | Volání funkce | Čtení/zápis | Desítky nebo stovky (vyšší pro vyšší umístění) |
+| Calldata | Volání funkce | Pouze pro čtení | Nelze použít jako návratový typ, pouze jako typ parametru funkce |
+| Úložiště | Dokud se nezmění | Čtení/zápis | Vysoké (800 pro čtení, 20k pro zápis) |
+
+V tomto případě je `memory` nejlepší volbou.
+
+### Čtení informací o tokenu {#read-token-information}
+
+Jedná se o funkce, které poskytují informace o tokenu, buď o celkové zásobě, nebo o
+zůstatku na účtu.
+
+```solidity
+ /**
+ * @dev Viz {IERC20-totalSupply}.
+ */
+ function totalSupply() public view override returns (uint256) {
+ return _totalSupply;
+ }
+```
+
+Funkce `totalSupply` vrací celkovou zásobu tokenů.
+
+
+
+```solidity
+ /**
+ * @dev Viz {IERC20-balanceOf}.
+ */
+ function balanceOf(address account) public view override returns (uint256) {
+ return _balances[account];
+ }
+```
+
+Přečtěte si zůstatek na účtu. Všimněte si, že kdokoli může získat zůstatek na účtu kohokoli
+jiného. Nemá smysl se snažit tuto informaci skrývat, protože je stejně dostupná na každém
+uzlu. _Na blockchainu neexistují žádná tajemství._
+
+### Převod tokenů {#transfer-tokens}
+
+```solidity
+ /**
+ * @dev Viz {IERC20-transfer}.
+ *
+ * Požadavky:
+ *
+ * - `recipient` nemůže být nulová adresa.
+ * - volající musí mít zůstatek alespoň `amount`.
+ */
+ function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
+```
+
+Funkce `transfer` se volá k převodu tokenů z účtu odesílatele na jiný. Všimněte si,
+že i když vrací booleovskou hodnotu, tato hodnota je vždy **true**. Pokud se převod
+nepodaří, kontrakt vrátí volání zpět.
+
+
+
+```solidity
+ _transfer(_msgSender(), recipient, amount);
+ return true;
+ }
+```
+
+Funkce `_transfer` dělá skutečnou práci. Jedná se o soukromou funkci, kterou mohou volat pouze
+jiné funkce kontraktu. Podle konvence jsou soukromé funkce pojmenovány `_`, stejně jako stavové
+proměnné.
+
+Normálně v Solidity používáme `msg.sender` pro odesílatele zprávy. To však narušuje
+[OpenGSN](http://opengsn.org/). Chceme-li s naším tokenem povolit transakce bez etheru, musíme
+použít `_msgSender()`. Pro běžné transakce vrací `msg.sender`, ale pro transakce bez etheru
+vrací původního podepisujícího a ne kontrakt, který zprávu předal.
+
+### Funkce povolení {#allowance-functions}
+
+Jedná se o funkce, které implementují funkcionalitu povolení: `allowance`, `approve`, `transferFrom`
+a `_approve`. Kromě toho implementace OpenZeppelin jde nad rámec základního standardu a obsahuje některé funkce, které zlepšují
+bezpečnost: `increaseAllowance` a `decreaseAllowance`.
+
+#### Funkce povolení {#allowance}
+
+```solidity
+ /**
+ * @dev Viz {IERC20-allowance}.
+ */
+ function allowance(address owner, address spender) public view virtual override returns (uint256) {
+ return _allowances[owner][spender];
+ }
+```
+
+Funkce `allowance` umožňuje každému zkontrolovat jakékoli povolení.
+
+#### Funkce schválení {#approve}
+
+```solidity
+ /**
+ * @dev Viz {IERC20-approve}.
+ *
+ * Požadavky:
+ *
+ * - `spender` nemůže být nulová adresa.
+ */
+ function approve(address spender, uint256 amount) public virtual override returns (bool) {
+```
+
+Tato funkce se volá pro vytvoření povolení. Je podobná výše uvedené funkci `transfer`:
+
+- Funkce pouze volá interní funkci (v tomto případě `_approve`), která provádí skutečnou práci.
+- Funkce buď vrátí `true` (pokud je úspěšná), nebo se vrátí (pokud ne).
+
+
+
+```solidity
+ _approve(_msgSender(), spender, amount);
+ return true;
+ }
+```
+
+Používáme interní funkce, abychom minimalizovali počet míst, kde dochází ke změnám stavu. _Každá_ funkce, která mění
+stav, je potenciálním bezpečnostním rizikem, které je třeba zkontrolovat z hlediska bezpečnosti. Tímto způsobem máme menší šanci, že se spleteme.
+
+#### Funkce transferFrom {#transferFrom}
+
+Toto je funkce, kterou volá utrácející, aby utratil povolenou částku. To vyžaduje dvě operace: převést utracenou částku
+a snížit povolenou částku o tuto částku.
+
+```solidity
+ /**
+ * @dev Viz {IERC20-transferFrom}.
+ *
+ * Vyvolá událost {Approval} udávající aktualizované povolení. To není
+ * vyžadováno EIP. Viz poznámka na začátku {ERC20}.
+ *
+ * Požadavky:
+ *
+ * - `sender` a `recipient` nemohou být nulová adresa.
+ * - `sender` musí mít zůstatek alespoň `amount`.
+ * - volající musí mít povolení pro tokeny ``sender`` alespoň
+ * `amount`.
+ */
+ function transferFrom(address sender, address recipient, uint256 amount) public virtual
+ override returns (bool) {
+ _transfer(sender, recipient, amount);
+```
+
+
+
+Volání funkce `a.sub(b, "zpráva")` provádí dvě věci. Nejprve vypočítá `a-b`, což je nové povolení.
+Zadruhé zkontroluje, zda tento výsledek není záporný. Pokud je záporný, volání se vrátí s poskytnutou zprávou. Všimněte si, že když se volání vrátí, veškeré předchozí zpracování během tohoto volání se ignoruje, takže nemusíme
+vracet `_transfer`.
+
+```solidity
+ _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount,
+ "ERC20: transfer amount exceeds allowance"));
+ return true;
+ }
+```
+
+#### Bezpečnostní doplňky OpenZeppelin {#openzeppelin-safety-additions}
+
+Je nebezpečné nastavit nenulové povolení na jinou nenulovou hodnotu,
+protože ovládáte pouze pořadí svých vlastních transakcí, nikoli transakcí kohokoli jiného. Představte si, že
+máte dva uživatele, Alici, která je naivní, a Billa, který je nečestný. Alice chce od
+Billa nějakou službu, která si myslí, že stojí pět tokenů – takže dává Billovi povolení na pět tokenů.
+
+Pak se něco změní a Billova cena stoupne na deset tokenů. Alice, která stále chce službu,
+pošle transakci, která nastaví Billovo povolení na deset. V okamžiku, kdy Bill uvidí tuto novou transakci
+v poolu transakcí, pošle transakci, která utratí Aliciných pět tokenů a má mnohem
+vyšší cenu paliva, takže bude vytěžena rychleji. Tímto způsobem může Bill nejprve utratit pět tokenů a poté,
+jakmile je vytěženo nové povolení Alice, utratit dalších deset za celkovou cenu patnácti tokenů, což je více, než
+Alice zamýšlela autorizovat. Tato technika se nazývá
+[front-running](https://consensysdiligence.github.io/smart-contract-best-practices/attacks/#front-running)
+
+| Transakce Alice | Nonce Alice | Transakce Billa | Nonce Billa | Billovo povolení | Billův celkový příjem od Alice |
+| ------------------------------------ | ----------- | ------------------------------------------------ | ----------- | ---------------- | ------------------------------ |
+| approve(Bill, 5) | 10 | | | 5 | 0 |
+| | | transferFrom(Alice, Bill, 5) | 10,123 | 0 | 5 |
+| approve(Bill, 10) | 11 | | | 10 | 5 |
+| | | transferFrom(Alice, Bill, 10) | 10,124 | 0 | 15 |
+
+Abyste se tomuto problému vyhnuli, tyto dvě funkce (`increaseAllowance` a `decreaseAllowance`) vám umožňují
+upravit povolenou částku o určitou částku. Takže pokud Bill už utratil pět tokenů, bude moci utratit
+jen dalších pět. V závislosti na načasování existují dva způsoby, jak to může fungovat, oba z
+nichž končí tím, že Bill dostane pouze deset tokenů:
+
+A:
+
+| Transakce Alice | Nonce Alice | Transakce Billa | Nonce Billa | Billovo povolení | Billův celkový příjem od Alice |
+| --------------------------------------------- | ----------: | ----------------------------------------------- | ----------: | ---------------: | ------------------------------ |
+| approve(Bill, 5) | 10 | | | 5 | 0 |
+| | | transferFrom(Alice, Bill, 5) | 10,123 | 0 | 5 |
+| increaseAllowance(Bill, 5) | 11 | | | 0+5 = 5 | 5 |
+| | | transferFrom(Alice, Bill, 5) | 10,124 | 0 | 10 |
+
+B:
+
+| Transakce Alice | Nonce Alice | Transakce Billa | Nonce Billa | Billovo povolení | Billův celkový příjem od Alice |
+| --------------------------------------------- | ----------: | ------------------------------------------------ | ----------: | ---------------: | -----------------------------: |
+| approve(Bill, 5) | 10 | | | 5 | 0 |
+| increaseAllowance(Bill, 5) | 11 | | | 5+5 = 10 | 0 |
+| | | transferFrom(Alice, Bill, 10) | 10,124 | 0 | 10 |
+
+```solidity
+ /**
+ * @dev Atomicky zvyšuje povolení udělené `spenderu` volajícím.
+ *
+ * Toto je alternativa k {approve}, kterou lze použít jako zmírnění pro
+ * problémy popsané v {IERC20-approve}.
+ *
+ * Vyvolá událost {Approval} udávající aktualizované povolení.
+ *
+ * Požadavky:
+ *
+ * - `spender` nemůže být nulová adresa.
+ */
+ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
+ _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
+ return true;
+ }
+```
+
+Funkce `a.add(b)` je bezpečné sčítání. V nepravděpodobném případě, že `a`+`b`>=`2^256`, se neobtočí
+jako normální sčítání.
+
+```solidity
+
+ /**
+ * @dev Atomicky snižuje povolení udělené `spenderu` volajícím.
+ *
+ * Toto je alternativa k {approve}, kterou lze použít jako zmírnění pro
+ * problémy popsané v {IERC20-approve}.
+ *
+ * Vyvolá událost {Approval} udávající aktualizované povolení.
+ *
+ * Požadavky:
+ *
+ * - `spender` nemůže být nulová adresa.
+ * - `spender` musí mít povolení pro volajícího alespoň
+ * `subtractedValue`.
+ */
+ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
+ _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue,
+ "ERC20: decreased allowance below zero"));
+ return true;
+ }
+```
+
+### Funkce, které upravují informace o tokenu {#functions-that-modify-token-information}
+
+Toto jsou čtyři funkce, které provádějí skutečnou práci: `_transfer`, `_mint`, `_burn` a `_approve`.
+
+#### Funkce _transfer {#_transfer}
+
+```solidity
+ /**
+ * @dev Přesune tokeny v množství `amount` od `odesílatele` k `příjemci`.
+ *
+ * Tato interní funkce je ekvivalentní {transfer} a může být použita
+ * například k implementaci automatických poplatků za tokeny, mechanismů slashing atd.
+ *
+ * Vyvolá událost {Transfer}.
+ *
+ * Požadavky:
+ *
+ * - `sender` nemůže být nulová adresa.
+ * - `recipient` nemůže být nulová adresa.
+ * - `sender` musí mít zůstatek alespoň `amount`.
+ */
+ function _transfer(address sender, address recipient, uint256 amount) internal virtual {
+```
+
+Tato funkce, `_transfer`, převádí tokeny z jednoho účtu na druhý. Volá se jak
+`transfer` (pro převody z vlastního účtu odesílatele), tak `transferFrom` (pro použití povolení
+k převodu z cizího účtu).
+
+
+
+```solidity
+ require(sender != address(0), "ERC20: transfer from the zero address");
+ require(recipient != address(0), "ERC20: transfer to the zero address");
+```
+
+Nikdo ve skutečnosti nevlastní adresu nula v Ethereu (to znamená, že nikdo nezná soukromý klíč, jehož odpovídající veřejný klíč
+je transformován na nulovou adresu). Když lidé používají tuto adresu, obvykle se jedná o softwarovou chybu – takže selžeme,
+pokud je jako odesílatel nebo příjemce použita nulová adresa.
+
+
+
+```solidity
+ _beforeTokenTransfer(sender, recipient, amount);
+
+```
+
+Existují dva způsoby, jak použít tento kontrakt:
+
+1. Použijte jej jako šablonu pro svůj vlastní kód
+2. [Dědit z něj](https://www.bitdegree.org/learn/solidity-inheritance) a přepsat pouze ty funkce, které potřebujete upravit
+
+Druhá metoda je mnohem lepší, protože kód OpenZeppelin ERC-20 již byl auditován a prokázal se jako bezpečný. Když používáte dědičnost,
+je jasné, jaké funkce upravujete, a aby lidé důvěřovali vašemu kontraktu, stačí jim auditovat pouze tyto konkrétní funkce.
+
+Často je užitečné provést funkci pokaždé, když tokeny změní majitele. Nicméně `_transfer` je velmi důležitá funkce a je
+možné ji napsat nezabezpečeně (viz níže), takže je nejlepší ji nepřepisovat. Řešením je `_beforeTokenTransfer`, [funkce hook](https://wikipedia.org/wiki/Hooking). Tuto funkci můžete přepsat a bude volána při každém převodu.
+
+
+
+```solidity
+ _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
+ _balances[recipient] = _balances[recipient].add(amount);
+```
+
+Toto jsou řádky, které skutečně provádějí převod. Všimněte si, že mezi nimi **nic** není a že odečítáme
+převedenou částku od odesílatele před jejím přičtením k příjemci. To je důležité, protože kdyby uprostřed bylo
+volání jiného kontraktu, mohlo by být použito k podvádění tohoto kontraktu. Tímto způsobem je převod
+atomický, uprostřed se nemůže nic stát.
+
+
+
+```solidity
+ emit Transfer(sender, recipient, amount);
+ }
+```
+
+Nakonec vyvoláme událost `Transfer`. Události nejsou přístupné chytrým kontraktům, ale kód spuštěný mimo blockchain
+může naslouchat událostem a reagovat na ně. Například peněženka může sledovat, kdy majitel získá více tokenů.
+
+#### Funkce _mint a _burn {#_mint-and-_burn}
+
+Tyto dvě funkce (`_mint` a `_burn`) upravují celkovou zásobu tokenů.
+Jsou interní a v tomto kontraktu je nevolá žádná funkce,
+takže jsou užitečné pouze v případě, že z kontraktu dědíte a přidáte si vlastní
+logiku k rozhodnutí, za jakých podmínek se mají nové tokeny razit nebo stávající
+pálit.
+
+**POZNÁMKA:** Každý token ERC-20 má svou vlastní obchodní logiku, která určuje správu tokenů.
+Například kontrakt s pevnou zásobou může volat `_mint` pouze
+v konstruktoru a nikdy nevolat `_burn`. Kontrakt, který prodává tokeny,
+volá `_mint`, když je zaplaceno, a pravděpodobně v určitém okamžiku volá `_burn`,
+aby se zabránilo nekontrolovatelné inflaci.
+
+```solidity
+ /** @dev Vytvoří `amount` tokenů a přiřadí je `účtu`, čímž se zvýší
+ * celková zásoba.
+ *
+ * Vyvolá událost {Transfer} s `from` nastaveným na nulovou adresu.
+ *
+ * Požadavky:
+ *
+ * - `to` nemůže být nulová adresa.
+ */
+ function _mint(address account, uint256 amount) internal virtual {
+ require(account != address(0), "ERC20: mint to the zero address");
+ _beforeTokenTransfer(address(0), account, amount);
+ _totalSupply = _totalSupply.add(amount);
+ _balances[account] = _balances[account].add(amount);
+ emit Transfer(address(0), account, amount);
+ }
+```
+
+Nezapomeňte aktualizovat `_totalSupply`, když se změní celkový počet tokenů.
+
+
+
+```solidity
+ /**
+ * @dev Zničí `amount` tokenů z `účtu`, čímž se sníží
+ * celková zásoba.
+ *
+ * Vyvolá událost {Transfer} s `to` nastaveným na nulovou adresu.
+ *
+ * Požadavky:
+ *
+ * - `účet` nemůže být nulová adresa.
+ * - `účet` musí mít alespoň `amount` tokenů.
+ */
+ function _burn(address account, uint256 amount) internal virtual {
+ require(account != address(0), "ERC20: burn from the zero address");
+
+ _beforeTokenTransfer(account, address(0), amount);
+
+ _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
+ _totalSupply = _totalSupply.sub(amount);
+ emit Transfer(account, address(0), amount);
+ }
+```
+
+Funkce `_burn` je téměř identická s `_mint`, jen jde opačným směrem.
+
+#### Funkce _approve {#_approve}
+
+Toto je funkce, která skutečně specifikuje povolení. Všimněte si, že umožňuje vlastníkovi specifikovat
+povolení, které je vyšší než aktuální zůstatek vlastníka. To je v pořádku, protože zůstatek se
+kontroluje v okamžiku převodu, kdy se může lišit od zůstatku v době vytvoření povolení
+.
+
+```solidity
+ /**
+ * @dev Nastaví `amount` jako povolení `spenderu` pro tokeny `vlastníka`.
+ *
+ * Tato interní funkce je ekvivalentní `approve` a může být použita
+ * například k nastavení automatických povolení pro určité subsystémy atd.
+ *
+ * Vyvolá událost {Approval}.
+ *
+ * Požadavky:
+ *
+ * - `owner` nemůže být nulová adresa.
+ * - `spender` nemůže být nulová adresa.
+ */
+ function _approve(address owner, address spender, uint256 amount) internal virtual {
+ require(owner != address(0), "ERC20: approve from the zero address");
+ require(spender != address(0), "ERC20: approve to the zero address");
+
+ _allowances[owner][spender] = amount;
+```
+
+
+
+Vyvolat událost `Approval`. V závislosti na tom, jak je aplikace napsána, může být kontraktu utrácejícího o
+schválení sděleno buď vlastníkem, nebo serverem, který naslouchá těmto událostem.
+
+```solidity
+ emit Approval(owner, spender, amount);
+ }
+
+```
+
+### Upravit proměnnou Decimals {#modify-the-decimals-variable}
+
+```solidity
+
+
+ /**
+ * @dev Nastaví {decimals} na jinou hodnotu než výchozí 18.
+ *
+ * VAROVÁNÍ: Tuto funkci byste měli volat pouze z konstruktoru. Většina
+ * aplikací, které interagují s tokenovými kontrakty, neočekává,
+ * že se {decimals} někdy změní, a mohou fungovat nesprávně, pokud ano.
+ */
+ function _setupDecimals(uint8 decimals_) internal {
+ _decimals = decimals_;
+ }
+```
+
+Tato funkce upravuje proměnnou `_decimals`, která se používá k tomu, aby uživatelským rozhraním sdělila, jak interpretovat částku.
+Měli byste ji volat z konstruktoru. Bylo by nečestné volat ji v jakémkoli následujícím bodě a aplikace
+nejsou navrženy tak, aby to zvládly.
+
+### Háčky {#hooks}
+
+```solidity
+
+ /**
+ * @dev Záchytný bod (hook), který se volá před jakýmkoli převodem tokenů. To zahrnuje
+ * ražbu a pálení.
+ *
+ * Podmínky volání:
+ *
+ * – když `from` a `to` jsou obě nenulové, bude převeden `amount` tokenů z adresy ``from``
+ * na adresu `to`.
+ * – když je `from` nulové, bude pro `to` vyraženo `amount` tokenů.
+ * – když je `to` nulové, `amount` tokenů z adresy ``from`` bude spáleno.
+ * – `from` a `to` nejsou nikdy obě nulové.
+ *
+ * Více informací o záchytných bodech (hooks) najdete v xref:ROOT:extending-contracts.adoc#using-hooks[Používání záchytných bodů].
+ */
+ function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
+}
+```
+
+Toto je funkce háku, která se má volat během převodů. Zde je prázdná, ale pokud potřebujete,
+aby něco dělala, stačí ji přepsat.
+
+## Závěr {#conclusion}
+
+Pro přehled, zde jsou některé z nejdůležitějších myšlenek v tomto kontraktu (podle mého názoru se váš může lišit):
+
+- _Na blockchainu neexistují žádná tajemství_. Jakékoli informace, ke kterým má chytrý kontrakt přístup,
+ jsou dostupné celému světu.
+- Můžete ovládat pořadí svých vlastních transakcí, ale ne to, kdy se uskuteční transakce
+ jiných lidí. To je důvod, proč může být změna povolení nebezpečná, protože umožňuje
+ utrácejícímu utratit součet obou povolení.
+- Hodnoty typu `uint256` se obtáčejí. Jinými slovy, _0-1=2^256-1_. Pokud to není požadované
+ chování, musíte to zkontrolovat (nebo použít knihovnu SafeMath, která to udělá za vás). Všimněte si, že se to změnilo v
+ [Solidity 0.8.0](https://docs.soliditylang.org/en/breaking/080-breaking-changes.html).
+- Provádějte všechny změny stavu určitého typu na určitém místě, protože to usnadňuje auditování.
+ To je důvod, proč máme například `_approve`, které je voláno `approve`, `transferFrom`,
+ `increaseAllowance` a `decreaseAllowance`
+- Změny stavu by měly být atomické, bez jakékoli jiné akce uprostřed (jak můžete vidět
+ v `_transfer`). Je to proto, že během změny stavu máte nekonzistentní stav. Například
+ mezi dobou, kdy odečtete ze zůstatku odesílatele, a dobou, kdy přičtete k zůstatku
+ příjemce, existuje méně tokenů, než by mělo být. To by mohlo být potenciálně zneužito, pokud
+ mezi nimi probíhají operace, zejména volání jiného kontraktu.
+
+Nyní, když jste viděli, jak je napsán kontrakt OpenZeppelin ERC-20 a zejména jak je
+zabezpečen, jděte a pište své vlastní bezpečné kontrakty a aplikace.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
diff --git a/public/content/translations/cs/developers/tutorials/erc20-with-safety-rails/index.md b/public/content/translations/cs/developers/tutorials/erc20-with-safety-rails/index.md
new file mode 100644
index 00000000000..409d83722c5
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/erc20-with-safety-rails/index.md
@@ -0,0 +1,217 @@
+---
+title: ERC-20 s bezpečnostními pojistkami
+description: Jak pomoci lidem, aby se vyhnuli zbytečným chybám
+author: Ori Pomerantz
+lang: cs
+tags: [ "erc-20" ]
+skill: beginner
+published: 2022-08-15
+---
+
+## Úvod {#introduction}
+
+Jednou ze skvělých věcí na Ethereu je to, že neexistuje žádná centrální autorita, která by mohla upravit nebo zvrátit vaše transakce. Jedním z velkých problémů Etherea je naopak to, že neexistuje žádná centrální autorita, která by měla pravomoc napravovat chyby uživatelů nebo nelegitimní transakce. V tomto článku se dozvíte o některých běžných chybách, kterých se uživatelé dopouštějí u [ERC-20](/developers/docs/standards/tokens/erc-20/) tokenů, a také o tom, jak vytvářet ERC-20 kontrakty, které uživatelům pomáhají se těmto chybám vyhnout nebo které dávají centrální autoritě určitou pravomoc (například zmrazit účty).
+
+Upozorňujeme, že ačkoli budeme používat [kontrakt tokenu ERC-20 od OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/token/ERC20), tento článek jej podrobně nevysvětluje. Tyto informace naleznete [zde](/developers/tutorials/erc20-annotated-code).
+
+Pokud chcete vidět kompletní zdrojový kód:
+
+1. Otevřete [Remix IDE](https://remix.ethereum.org/).
+2. Klikněte na ikonu pro klonování z GitHubu ().
+3. Naklonujte repozitář z GitHubu: `https://github.com/qbzzt/20220815-erc20-safety-rails`.
+4. Otevřete **contracts > erc20-safety-rails.sol**.
+
+## Vytvoření ERC-20 kontraktu {#creating-an-erc-20-contract}
+
+Než budeme moci přidat funkcionalitu bezpečnostních pojistek, potřebujeme ERC-20 kontrakt. V tomto článku použijeme [průvodce kontrakty od OpenZeppelin](https://docs.openzeppelin.com/contracts/5.x/wizard). Otevřete jej v jiném prohlížeči a postupujte podle těchto pokynů:
+
+1. Vyberte **ERC20**.
+
+2. Zadejte tato nastavení:
+
+ | Parametr | Hodnota |
+ | ---------------- | ---------------- |
+ | Název | SafetyRailsToken |
+ | Symbol | SAFE |
+ | Premint | 1000 |
+ | Funkce | Žádná |
+ | Řízení přístupu | Ownable |
+ | Upgradovatelnost | Žádná |
+
+3. Přejděte nahoru a klikněte na **Otevřít v Remixu** (pro Remix) nebo **Stáhnout** pro použití jiného prostředí. Budu předpokládat, že používáte Remix. Pokud používáte něco jiného, proveďte příslušné změny.
+
+4. Nyní máme plně funkční ERC-20 kontrakt. Importovaný kód uvidíte po rozbalení `.deps` > `npm`.
+
+5. Zkompilujte, nasaďte a vyzkoušejte si kontrakt, abyste viděli, že funguje jako ERC-20 kontrakt. Pokud se potřebujete naučit používat Remix, [použijte tento tutoriál](https://remix.ethereum.org/?#activate=udapp,solidity,LearnEth).
+
+## Běžné chyby {#common-mistakes}
+
+### Chyby {#the-mistakes}
+
+Uživatelé někdy posílají tokeny na špatnou adresu. Ačkoli jim nevidíme do hlavy, abychom věděli, co měli v úmyslu, existují dva typy chyb, které se stávají často a dají se snadno odhalit:
+
+1. Odeslání tokenů na vlastní adresu kontraktu. Například u [tokenu OP od Optimism](https://optimism.mirror.xyz/qvd0WfuLKnePm1Gxb9dpGchPf5uDz5NSMEFdgirDS4c) se za necelé dva měsíce podařilo nashromáždit [přes 120 000](https://optimism.blockscout.com/address/0x4200000000000000000000000000000000000042) tokenů OP. To představuje značné jmění, o které lidé pravděpodobně jednoduše přišli.
+
+2. Odeslání tokenů na prázdnou adresu, která neodpovídá ani [externě vlastněnému účtu (EOA)](/developers/docs/accounts/#externally-owned-accounts-and-key-pairs), ani [chytrému kontraktu](/developers/docs/smart-contracts). Sice nemám statistiky o tom, jak často se to stává, ale [jeden incident mohl stát 20 000 000 tokenů](https://gov.optimism.io/t/message-to-optimism-community-from-wintermute/2595).
+
+### Zabránění převodům {#preventing-transfers}
+
+Kontrakt ERC-20 od OpenZeppelin obsahuje [„hook“ `_beforeTokenTransfer`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol#L364-L368), který je volán před převodem tokenu. Ve výchozím stavu tento hook nic nedělá, ale můžeme na něj navázat vlastní funkcionalitu, například kontroly, které v případě problému transakci vrátí.
+
+Chcete-li tento hook použít, přidejte za konstruktor tuto funkci:
+
+```solidity
+ function _beforeTokenTransfer(address from, address to, uint256 amount)
+ internal virtual
+ override(ERC20)
+ {
+ super._beforeTokenTransfer(from, to, amount);
+ }
+```
+
+Některé části této funkce pro vás mohou být nové, pokud nejste se Solidity příliš obeznámeni:
+
+```solidity
+ internal virtual
+```
+
+Klíčové slovo `virtual` znamená, že stejně jako jsme zdědili funkcionalitu z `ERC20` a přepsali tuto funkci, mohou i další kontrakty dědit z našeho kontraktu a tuto funkci přepsat.
+
+```solidity
+ override(ERC20)
+```
+
+Musíme explicitně uvést, že [přepisujeme](https://docs.soliditylang.org/en/v0.8.15/contracts.html#function-overriding) definici `_beforeTokenTransfer` z tokenu ERC20. Z hlediska bezpečnosti jsou explicitní definice obecně mnohem lepší než implicitní – nemůžete zapomenout, že jste něco udělali, když to máte přímo před očima. To je také důvod, proč musíme určit, kterou nadtřídu `_beforeTokenTransfer` přepisujeme.
+
+```solidity
+ super._beforeTokenTransfer(from, to, amount);
+```
+
+Tento řádek volá funkci `_beforeTokenTransfer` kontraktu nebo kontraktů, z nichž jsme dědili a které ji mají. V tomto případě je to pouze `ERC20`, kontrakt `Ownable` tento hook nemá. Přestože `ERC20._beforeTokenTransfer` v současné době nic nedělá, voláme ji pro případ, že by v budoucnu byla přidána nějaká funkcionalita (a my se pak rozhodli kontrakt znovu nasadit, protože kontrakty se po nasazení nemění).
+
+### Kódování požadavků {#coding-the-requirements}
+
+Do funkce chceme přidat tyto požadavky:
+
+- Adresa `to` se nesmí rovnat `address(this)`, tedy adrese samotného kontraktu ERC-20.
+- Adresa `to` nesmí být prázdná, musí to být buď:
+ - Externě vlastněný účet (EOA). Nemůžeme přímo zkontrolovat, zda je adresa EOA, ale můžeme zkontrolovat zůstatek ETH na adrese. EOA mají téměř vždy nějaký zůstatek, i když se již nepoužívají – je těžké je vyčistit do posledního wei.
+ - Chytrý kontrakt. Otestovat, zda je adresa chytrý kontrakt, je trochu těžší. Existuje operační kód, který kontroluje délku externího kódu, nazývaný [`EXTCODESIZE`](https://www.evm.codes/#3b), ale není přímo dostupný v Solidity. Musíme pro to použít [Yul](https://docs.soliditylang.org/en/v0.8.15/yul.html), což je assemblér pro EVM. Existují i další hodnoty, které bychom mohli použít ze Solidity ([`.code` a `.codehash`](https://docs.soliditylang.org/en/v0.8.15/units-and-global-variables.html#members-of-address-types)), ale stojí více.
+
+Projděme si nový kód řádek po řádku:
+
+```solidity
+ require(to != address(this), "Tokeny nelze posílat na adresu kontraktu");
+```
+
+Toto je první požadavek, zkontrolujte, že `to` a `this(address)` není totéž.
+
+```solidity
+ bool isToContract;
+ assembly {
+ isToContract := gt(extcodesize(to), 0)
+ }
+```
+
+Takto zkontrolujeme, zda je adresa kontrakt. Z Yulu nemůžeme přímo získat výstup, takže místo toho definujeme proměnnou, která bude obsahovat výsledek (v tomto případě `isToContract`). Yul funguje tak, že každý operační kód je považován za funkci. Nejprve tedy zavoláme [`EXTCODESIZE`](https://www.evm.codes/#3b), abychom získali velikost kontraktu, a poté použijeme [`GT`](https://www.evm.codes/#11), abychom zkontrolovali, že není nulová (pracujeme s neznaménkovými celými čísly, takže samozřejmě nemůže být záporná). Poté zapíšeme výsledek do `isToContract`.
+
+```solidity
+ require(to.balance != 0 || isToContract, "Tokeny nelze posílat na prázdnou adresu");
+```
+
+A nakonec tu máme samotnou kontrolu prázdných adres.
+
+## Administrativní přístup {#admin-access}
+
+Někdy je užitečné mít administrátora, který může napravovat chyby. Aby se snížilo riziko zneužití, může být tento administrátor [multisig](https://blog.logrocket.com/security-choices-multi-signature-wallets/), takže na akci se musí shodnout více lidí. V tomto článku budeme mít dvě administrativní funkce:
+
+1. Zmrazování a rozmrazování účtů. To může být užitečné například v případě, že by účet mohl být kompromitován.
+2. Vyčištění prostředků.
+
+ Někdy podvodníci posílají podvodné tokeny do kontraktu skutečného tokenu, aby získali legitimitu. Příklad naleznete [zde](https://optimism.blockscout.com/token/0x2348B1a1228DDCd2dB668c3d30207c3E1852fBbe?tab=holders). Legitimní kontrakt ERC-20 je [0x4200....0042](https://optimism.blockscout.com/token/0x4200000000000000000000000000000000000042). Podvod, který se za něj vydává, je [0x234....bbe](https://optimism.blockscout.com/token/0x2348B1a1228DDCd2dB668c3d30207c3E1852fBbe).
+
+ Je také možné, že lidé omylem pošlou legitimní ERC-20 tokeny na náš kontrakt, což je další důvod, proč je dobré mít způsob, jak je dostat ven.
+
+OpenZeppelin poskytuje dva mechanismy pro umožnění administrativního přístupu:
+
+- [`Ownable`](https://docs.openzeppelin.com/contracts/5.x/access-control#ownership-and-ownable) kontrakty mají jediného vlastníka. Funkce, které mají [modifikátor](https://www.tutorialspoint.com/solidity/solidity_function_modifiers.htm) `onlyOwner`, může volat pouze tento vlastník. Vlastníci mohou převést vlastnictví na někoho jiného nebo se ho úplně vzdát. Práva všech ostatních účtů jsou obvykle totožná.
+- [`AccessControl`](https://docs.openzeppelin.com/contracts/5.x/access-control#role-based-access-control) kontrakty mají [řízení přístupu na základě rolí (RBAC)](https://en.wikipedia.org/wiki/Role-based_access_control).
+
+Pro zjednodušení v tomto článku používáme `Ownable`.
+
+### Zmrazování a rozmrazování účtů {#freezing-and-thawing-contracts}
+
+Zmrazování a rozmrazování účtů vyžaduje několik změn:
+
+- [Mapování](https://www.tutorialspoint.com/solidity/solidity_mappings.htm) z adres na [booleovské hodnoty](https://en.wikipedia.org/wiki/Boolean_data_type) pro sledování, které adresy jsou zmrazené. Všechny hodnoty jsou na začátku nulové, což se u booleovských hodnot interpretuje jako false. To je to, co chceme, protože ve výchozím nastavení nejsou účty zmrazeny.
+
+ ```solidity
+ mapping(address => bool) public frozenAccounts;
+ ```
+
+- [Události](https://www.tutorialspoint.com/solidity/solidity_events.htm), které informují všechny zúčastněné o zmrazení nebo rozmrazení účtu. Technicky vzato nejsou události pro tyto akce vyžadovány, ale pomáhá to offchain kódu, aby mohl těmto událostem naslouchat a vědět, co se děje. Považuje se za slušnost, když je chytrý kontrakt emituje, když se stane něco, co by mohlo být pro někoho jiného relevantní.
+
+ Události jsou indexovány, takže bude možné vyhledat všechny případy, kdy byl účet zmrazen nebo rozmrazen.
+
+ ```solidity
+ // Když jsou účty zmrazeny nebo rozmrazeny
+ event AccountFrozen(address indexed _addr);
+ event AccountThawed(address indexed _addr);
+ ```
+
+- Funkce pro zmrazování a rozmrazování účtů. Tyto dvě funkce jsou téměř totožné, takže si projdeme pouze funkci zmrazení.
+
+ ```solidity
+ function freezeAccount(address addr)
+ public
+ onlyOwner
+ ```
+
+ Funkce označené jako [`public`](https://www.tutorialspoint.com/solidity/solidity_contracts.htm) lze volat z jiných chytrých kontraktů nebo přímo transakcí.
+
+ ```solidity
+ {
+ require(!frozenAccounts[addr], "Účet je již zmrazen");
+ frozenAccounts[addr] = true;
+ emit AccountFrozen(addr);
+ } // freezeAccount
+ ```
+
+ Pokud je účet již zmrazen, transakce se vrátí. V opačném případě ho zmrazte a `emit`ujte událost.
+
+- Změňte `_beforeTokenTransfer`, abyste zabránili přesunu prostředků ze zmrazeného účtu. Všimněte si, že prostředky lze stále převádět na zmrazený účet.
+
+ ```solidity
+ require(!frozenAccounts[from], "Účet je zmrazen");
+ ```
+
+### Vyčištění prostředků {#asset-cleanup}
+
+K uvolnění ERC-20 tokenů držených tímto kontraktem musíme zavolat funkci na kontraktu tokenu, ke kterému patří, buď [`transfer`](https://eips.ethereum.org/EIPS/eip-20#transfer) nebo [`approve`](https://eips.ethereum.org/EIPS/eip-20#approve). V tomto případě nemá smysl plýtvat palivem na povolenky, můžeme rovnou provést přímý převod.
+
+```solidity
+ function cleanupERC20(
+ address erc20,
+ address dest
+ )
+ public
+ onlyOwner
+ {
+ IERC20 token = IERC20(erc20);
+```
+
+Toto je syntaxe pro vytvoření objektu pro kontrakt, když obdržíme adresu. Můžeme to udělat, protože máme definici pro ERC-20 tokeny jako součást zdrojového kódu (viz řádek 4) a tento soubor obsahuje [definici pro IERC20](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol), což je rozhraní pro kontrakt ERC-20 od OpenZeppelin.
+
+```solidity
+ uint balance = token.balanceOf(address(this));
+ token.transfer(dest, balance);
+ }
+```
+
+Jedná se o funkci vyčištění, takže pravděpodobně nechceme zanechat žádné tokeny. Místo ručního získávání zůstatku od uživatele můžeme tento proces rovnou zautomatizovat.
+
+## Závěr {#conclusion}
+
+Toto není dokonalé řešení – na problém "uživatel udělal chybu" neexistuje dokonalé řešení. Použití těchto typů kontrol však může alespoň některým chybám zabránit. Schopnost zmrazit účty, i když je nebezpečná, může být použita k omezení škod způsobených některými útoky tím, že hackerovi odepře ukradené prostředky.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
diff --git a/public/content/translations/cs/developers/tutorials/ethereum-for-web2-auth/index.md b/public/content/translations/cs/developers/tutorials/ethereum-for-web2-auth/index.md
new file mode 100644
index 00000000000..5ac4c372ca5
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/ethereum-for-web2-auth/index.md
@@ -0,0 +1,886 @@
+---
+title: Použití Etherea pro web2 autentizaci
+description: Po přečtení tohoto tutoriálu bude vývojář schopen integrovat přihlášení přes Ethereum (web3) s přihlášením SAML, což je standard používaný ve web2 k poskytování jednotného přihlášení a dalších souvisejících služeb. To umožňuje, aby byl přístup ke zdrojům web2 autentizován prostřednictvím podpisů Etherea, s uživatelskými atributy pocházejícími z atestací.
+author: Ori Pomerantz
+tags: [ "web2", "ověření", "eas" ]
+skill: beginner
+lang: cs
+published: 2025-04-30
+---
+
+## Úvod
+
+[SAML](https://www.onelogin.com/learn/saml) je standard používaný na web2, který umožňuje [poskytovateli identity (IdP)](https://en.wikipedia.org/wiki/Identity_provider#SAML_identity_provider) poskytovat informace o uživateli [poskytovatelům služeb (SP)](https://en.wikipedia.org/wiki/Service_provider_\(SAML\)).
+
+V tomto tutoriálu se dozvíte, jak integrovat podpisy Etherea se SAML, abyste uživatelům umožnili používat jejich peněženky Ethereum k vlastní autentizaci u služeb web2, které ještě nativně nepodporují Ethereum.
+
+Upozorňujeme, že tento tutoriál je napsán pro dvě samostatné skupiny čtenářů:
+
+- Lidi z komunity Etherea, kteří Ethereu rozumí a potřebují se naučit SAML
+- Lidi z web2, kteří rozumí SAML a web2 autentizaci a potřebují se naučit o Ethereu
+
+V důsledku toho bude obsahovat spoustu úvodního materiálu, který již znáte. Klidně ho přeskočte.
+
+### SAML pro lidi z komunity Etherea
+
+SAML je centralizovaný protokol. Poskytovatel služeb (SP) přijímá tvrzení (například „toto je můj uživatel John, měl by mít oprávnění provádět A, B a C“) od poskytovatele identity (IdP) pouze pokud s ním má již existující vztah důvěry, nebo s [certifikační autoritou](https://www.ssl.com/article/what-is-a-certificate-authority-ca/), která podepsala certifikát daného IdP.
+
+Například SP může být cestovní kancelář poskytující cestovní služby firmám a IdP může být interní webová stránka firmy. Když si zaměstnanci potřebují rezervovat služební cestu, cestovní kancelář je odešle k autentizaci firmou, než jim skutečně umožní cestu rezervovat.
+
+
+
+Tímto způsobem si tři entity, prohlížeč, SP a IdP, vyjednávají přístup. SP nemusí předem vědět nic o uživateli používajícím prohlížeč, stačí, když důvěřuje IdP.
+
+### Ethereum pro lidi znalé SAML
+
+Ethereum je decentralizovaný systém.
+
+
+
+Uživatelé mají privátní klíč (obvykle uložený v rozšíření prohlížeče). Z privátního klíče můžete odvodit veřejný klíč a z něj 20bajtovou adresu. Když se uživatelé potřebují přihlásit do systému, jsou požádáni o podepsání zprávy s hodnotou nonce (jednorázově použitelná hodnota). Server může ověřit, že podpis byl vytvořen touto adresou.
+
+
+
+Podpis pouze ověřuje adresu Etherea. Chcete-li získat další atributy uživatele, obvykle používáte [atestace](https://attest.org/). Atestace má obvykle tato pole:
+
+- **Atestátor**, adresa, která provedla atestaci
+- **Příjemce**, adresa, které se atestace týká
+- **Data**, atestovaná data, jako je jméno, oprávnění atd.
+- **Schéma**, ID schématu použitého k interpretaci dat.
+
+Vzhledem k decentralizované povaze Etherea může atestace provádět kterýkoli uživatel. Identita atestátora je důležitá pro identifikaci atestací, které považujeme za spolehlivé.
+
+## Nastavení
+
+Prvním krokem je zajistit komunikaci mezi SAML SP a SAML IdP.
+
+1. Stáhněte si software. Vzorový software pro tento článek je [na GitHubu](https://github.com/qbzzt/250420-saml-ethereum). Různé fáze jsou uloženy v různých větvích, pro tuto fázi chcete `saml-only`
+
+ ```sh
+ git clone https://github.com/qbzzt/250420-saml-ethereum -b saml-only
+ cd 250420-saml-ethereum
+ pnpm install
+ ```
+
+2. Vytvořte klíče s certifikáty s vlastním podpisem (self-signed). To znamená, že klíč je svou vlastní certifikační autoritou a je třeba jej ručně importovat do poskytovatele služeb. Více informací naleznete v [dokumentaci OpenSSL](https://docs.openssl.org/master/man1/openssl-req/).
+
+ ```sh
+ mkdir keys
+ cd keys
+ openssl req -new -x509 -days 365 -nodes -sha256 -out saml-sp.crt -keyout saml-sp.pem -subj /CN=sp/
+ openssl req -new -x509 -days 365 -nodes -sha256 -out saml-idp.crt -keyout saml-idp.pem -subj /CN=idp/
+ cd ..
+ ```
+
+3. Spusťte servery (SP i IdP)
+
+ ```sh
+ pnpm start
+ ```
+
+4. Přejděte na adresu URL SP [http://localhost:3000/](http://localhost:3000/) a kliknutím na tlačítko budete přesměrováni na IdP (port 3001).
+
+5. Poskytněte IdP svou e-mailovou adresu a klikněte na **Přihlásit se k poskytovateli služeb**. Uvidíte, že budete přesměrováni zpět k poskytovateli služeb (port 3000) a že vás pozná podle vaší e-mailové adresy.
+
+### Podrobné vysvětlení
+
+Toto se děje krok za krokem:
+
+
+
+#### src/config.mts
+
+Tento soubor obsahuje konfiguraci jak pro poskytovatele identity, tak pro poskytovatele služeb. Obvykle by se jednalo o různé entity, ale zde můžeme pro zjednodušení sdílet kód.
+
+```typescript
+const fs = await import("fs")
+
+const protocol="http"
+```
+
+Zatím jen testujeme, takže je v pořádku používat HTTP.
+
+```typescript
+export const spCert = fs.readFileSync("keys/saml-sp.crt").toString()
+export const idpCert = fs.readFileSync("keys/saml-idp.crt").toString()
+```
+
+Načtení veřejných klíčů, které jsou normálně dostupné oběma komponentám (a jsou buď přímo důvěryhodné, nebo podepsané důvěryhodnou certifikační autoritou).
+
+```typescript
+export const spPort = 3000
+export const spHostname = "localhost"
+export const spDir = "sp"
+
+export const idpPort = 3001
+export const idpHostname = "localhost"
+export const idpDir = "idp"
+
+export const spUrl = `${protocol}://${spHostname}:${spPort}/${spDir}`
+export const idpUrl = `${protocol}://${idpHostname}:${idpPort}/${idpDir}`
+```
+
+Adresy URL pro obě komponenty.
+
+```typescript
+export const spPublicData = {
+```
+
+Veřejná data pro poskytovatele služeb.
+
+```typescript
+ entityID: `${spUrl}/metadata`,
+```
+
+Podle konvence je v SAML `entityID` adresa URL, na které jsou dostupná metadata entity. Tato metadata odpovídají zdejším veřejným datům, s výjimkou toho, že jsou ve formátu XML.
+
+```typescript
+ wantAssertionsSigned: true,
+ authnRequestsSigned: false,
+ signingCert: spCert,
+ allowCreate: true,
+ assertionConsumerService: [{
+ Binding: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
+ Location: `${spUrl}/assertion`,
+ }]
+ }
+```
+
+Nejdůležitější definicí pro naše účely je `assertionConsumerServer`. To znamená, že abychom poskytovateli služeb mohli něco potvrdit (například, že „uživatel, který vám posílá tyto informace, je nekdo@example.com“), musíme použít [HTTP POST](https://www.w3schools.com/tags/ref_httpmethods.asp) na URL `http://localhost:3000/sp/assertion`.
+
+```typescript
+export const idpPublicData = {
+ entityID: `${idpUrl}/metadata`,
+ signingCert: idpCert,
+ wantAuthnRequestsSigned: false,
+ singleSignOnService: [{
+ Binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
+ Location: `${idpUrl}/login`
+ }],
+ singleLogoutService: [{
+ Binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
+ Location: `${idpUrl}/logout`
+ }],
+ }
+```
+
+Veřejná data pro poskytovatele identity jsou podobná. Určuje, že pro přihlášení uživatele je třeba odeslat POST na `http://localhost:3001/idp/login` a pro odhlášení uživatele POST na `http://localhost:3001/idp/logout`.
+
+#### src/sp.mts
+
+Toto je kód, který implementuje poskytovatele služeb.
+
+```typescript
+import * as config from "./config.mts"
+const fs = await import("fs")
+const saml = await import("samlify")
+```
+
+K implementaci SAML používáme knihovnu [`samlify`](https://www.npmjs.com/package/samlify).
+
+```typescript
+import * as validator from "@authenio/samlify-node-xmllint"
+saml.setSchemaValidator(validator)
+```
+
+Knihovna `samlify` očekává balíček, který ověří, že XML je správné, podepsané očekávaným veřejným klíčem atd. Pro tento účel používáme [`@authenio/samlify-node-xmllint`](https://www.npmjs.com/package/@authenio/samlify-node-xmllint).
+
+```typescript
+const express = (await import("express")).default
+const spRouter = express.Router()
+const app = express()
+```
+
+[`Router`](https://expressjs.com/en/5x/api.html#router) v [`expressu`](https://expressjs.com/) je „mini webová stránka“, kterou lze připojit k webové stránce. V tomto případě jej používáme ke seskupení všech definic poskytovatele služeb dohromady.
+
+```typescript
+const spPrivateKey = fs.readFileSync("keys/saml-sp.pem").toString()
+
+const sp = saml.ServiceProvider({
+ privateKey: spPrivateKey,
+ ...config.spPublicData
+})
+```
+
+Vlastní reprezentace poskytovatele služeb se skládá ze všech veřejných dat a privátního klíče, který používá k podepisování informací.
+
+```typescript
+const idp = saml.IdentityProvider(config.idpPublicData);
+```
+
+Veřejná data obsahují vše, co poskytovatel služeb potřebuje vědět o poskytovateli identity.
+
+```typescript
+spRouter.get(`/metadata`,
+ (req, res) => res.header("Content-Type", "text/xml").send(sp.getMetadata())
+)
+```
+
+Pro zajištění interoperability s ostatními komponentami SAML by poskytovatelé služeb a identity měli mít svá veřejná data (nazývaná metadata) dostupná ve formátu XML na adrese `/metadata`.
+
+```typescript
+spRouter.post(`/assertion`,
+```
+
+Toto je stránka, na kterou prohlížeč přistupuje, aby se identifikoval. Tvrzení obsahuje identifikátor uživatele (zde používáme e-mailovou adresu) a může obsahovat další atributy. Toto je obslužný program pro krok 7 ve výše uvedeném sekvenčním diagramu.
+
+```typescript
+ async (req, res) => {
+ // console.log(`SAML response:\n${Buffer.from(req.body.SAMLResponse, 'base64').toString('utf-8')}`)
+```
+
+Pomocí zakomentovaného příkazu můžete zobrazit data XML poskytnutá v tvrzení. Je [kódován v base64](https://en.wikipedia.org/wiki/Base64).
+
+```typescript
+ try {
+ const loginResponse = await sp.parseLoginResponse(idp, 'post', req);
+```
+
+Zpracujte požadavek na přihlášení od serveru identity.
+
+```typescript
+ res.send(`
+
+
+
Dobrý den, ${loginResponse.extract.nameID}
+
+
+ `)
+ res.send();
+```
+
+Odešlete odpověď HTML, abyste uživateli ukázali, že jsme obdrželi přihlášení.
+
+```typescript
+ } catch (err) {
+ console.error('Chyba při zpracování odpovědi SAML:', err);
+ res.status(400).send('Ověření SAML se nezdařilo');
+ }
+ }
+)
+```
+
+V případě selhání informujte uživatele.
+
+```typescript
+spRouter.get('/login',
+```
+
+Vytvořte požadavek na přihlášení, když se prohlížeč pokusí o přístup na tuto stránku. Toto je obslužný program pro krok 1 ve výše uvedeném sekvenčním diagramu.
+
+```typescript
+ async (req, res) => {
+ const loginRequest = await sp.createLoginRequest(idp, "post")
+```
+
+Získejte informace pro odeslání požadavku na přihlášení.
+
+```typescript
+ res.send(`
+
+
+
+```
+
+Tato stránka automaticky odešle formulář (viz níže). Díky tomu uživatel nemusí pro přesměrování nic dělat. Toto je krok 2 ve výše uvedeném sekvenčním diagramu.
+
+```typescript
+
+
+
+ `)
+ }
+)
+
+app.use(express.urlencoded({extended: true}))
+```
+
+[Tento middleware](https://expressjs.com/en/5x/api.html#express.urlencoded) čte tělo [požadavku HTTP](https://www.tutorialspoint.com/http/http_requests.htm). Ve výchozím nastavení ho Express ignoruje, protože většina požadavků ho nevyžaduje. Potřebujeme ho, protože POST používá tělo.
+
+```typescript
+app.use(`/${config.spDir}`, spRouter)
+```
+
+Připojte router do adresáře poskytovatele služeb (`/sp`).
+
+```typescript
+app.get("/", (req, res) => {
+ res.send(`
+
+
+
+
+
+ `)
+})
+```
+
+Pokud se prohlížeč pokusí získat kořenový adresář, poskytněte mu odkaz na přihlašovací stránku.
+
+```typescript
+app.listen(config.spPort, () => {
+ console.log(`poskytovatel služeb běží na http://${config.spHostname}:${config.spPort}`)
+})
+```
+
+Naslouchejte na portu `spPort` pomocí této aplikace Express.
+
+#### src/idp.mts
+
+Toto je poskytovatel identity. Je velmi podobný poskytovateli služeb, níže uvedená vysvětlení se týkají částí, které se liší.
+
+```typescript
+const xmlParser = new (await import("fast-xml-parser")).XMLParser(
+ {
+ ignoreAttributes: false, // Zachovat atributy
+ attributeNamePrefix: "@_", // Prefix pro atributy
+ }
+)
+```
+
+Musíme si přečíst a porozumět požadavku XML, který obdržíme od poskytovatele služeb.
+
+```typescript
+const getLoginPage = requestId => `
+```
+
+Tato funkce vytváří stránku s automaticky odesílaným formulářem, který je vrácen v kroku 4 výše uvedeného sekvenčního diagramu.
+
+```typescript
+
+
+ Přihlašovací stránka
+
+
+
Přihlašovací stránka
+
+
+
+
+const idpRouter = express.Router()
+
+idpRouter.post("/loginSubmitted", async (req, res) => {
+ const loginResponse = await idp.createLoginResponse(
+```
+
+Toto je obslužný program pro krok 5 ve výše uvedeném sekvenčním diagramu. [`idp.createLoginResponse`](https://github.com/tngan/samlify/blob/master/src/entity-idp.ts#L73-L125) vytváří odpověď na přihlášení.
+
+```typescript
+ sp,
+ {
+ authnContextClassRef: 'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport',
+ audience: sp.entityID,
+```
+
+Cílovou skupinou je poskytovatel služeb.
+
+```typescript
+ extract: {
+ request: {
+ id: req.body.requestId
+ }
+ },
+```
+
+Informace extrahované z požadavku. Jediný parametr, který nás v požadavku zajímá, je requestId, který umožňuje poskytovateli služeb párovat požadavky a jejich odpovědi.
+
+```typescript
+ signingKey: { privateKey: idpPrivateKey, publicKey: config.idpCert } // Zajistit podepsání
+```
+
+Potřebujeme `signingKey`, abychom měli data k podepsání odpovědi. Poskytovatel služeb nedůvěřuje nepodepsaným požadavkům.
+
+```typescript
+ },
+ "post",
+ {
+ email: req.body.email
+```
+
+Toto je pole s informacemi o uživateli, které posíláme zpět poskytovateli služeb.
+
+```typescript
+ }
+ );
+
+ res.send(`
+
+
+
+
+
+
+
+ `)
+})
+```
+
+Opět použijte automaticky odesílaný formulář. Toto je krok 6 ve výše uvedeném sekvenčním diagramu.
+
+```typescript
+
+// Koncový bod IdP pro požadavky na přihlášení
+idpRouter.post(`/login`,
+```
+
+Toto je koncový bod, který přijímá požadavek na přihlášení od poskytovatele služeb. Toto je obslužný program pro krok 3 ve výše uvedeném sekvenčním diagramu.
+
+```typescript
+ async (req, res) => {
+ try {
+ // Dočasné řešení, protože se mi nepodařilo zprovoznit parseLoginRequest.
+ // const loginRequest = await idp.parseLoginRequest(sp, 'post', req)
+ const samlRequest = xmlParser.parse(Buffer.from(req.body.SAMLRequest, 'base64').toString('utf-8'))
+ res.send(getLoginPage(samlRequest["samlp:AuthnRequest"]["@_ID"]))
+```
+
+Měli bychom být schopni použít [`idp.parseLoginRequest`](https://github.com/tngan/samlify/blob/master/src/entity-idp.ts#L127-L144) ke čtení ID požadavku na ověření. Nepodařilo se mi to však zprovoznit a nestálo za to tím trávit spoustu času, tak jsem prostě použil [univerzální XML parser](https://www.npmjs.com/package/fast-xml-parser). Informace, kterou potřebujeme, je atribut `ID` uvnitř značky ``, která je na nejvyšší úrovni XML.
+
+## Použití podpisů Etherea
+
+Nyní, když můžeme odeslat identitu uživatele poskytovateli služeb, dalším krokem je získat identitu uživatele důvěryhodným způsobem. Viem nám umožňuje jednoduše požádat peněženku o adresu uživatele, ale to znamená žádat o informace prohlížeč. Prohlížeč nemáme pod kontrolou, takže nemůžeme automaticky důvěřovat odpovědi, kterou od něj dostaneme.
+
+Místo toho IdP pošle prohlížeči řetězec k podepsání. Pokud peněženka v prohlížeči tento řetězec podepíše, znamená to, že se skutečně jedná o tuto adresu (tj. zná privátní klíč, který adrese odpovídá).
+
+Chcete-li to vidět v akci, zastavte stávající IdP a SP a spusťte tyto příkazy:
+
+```sh
+git checkout eth-signatures
+pnpm install
+pnpm start
+```
+
+Poté přejděte [na SP](http://localhost:3000) a postupujte podle pokynů.
+
+Všimněte si, že v tomto okamžiku nevíme, jak získat e-mailovou adresu z adresy Etherea, takže místo toho hlásíme SP `@bad.email.address`.
+
+### Podrobné vysvětlení
+
+Změny jsou v krocích 4–5 v předchozím diagramu.
+
+
+
+Jediný soubor, který jsme změnili, je `idp.mts`. Zde jsou změněné části.
+
+```typescript
+import { v4 as uuidv4 } from 'uuid'
+import { verifyMessage } from 'viem'
+```
+
+Potřebujeme tyto dvě další knihovny. K vytvoření hodnoty [nonce](https://en.wikipedia.org/wiki/Cryptographic_nonce) používáme [`uuid`](https://www.npmjs.com/package/uuid). Na samotné hodnotě nezáleží, jen na tom, že je použita pouze jednou.
+
+Knihovna [`viem`](https://viem.sh/) nám umožňuje používat definice Etherea. Zde ji potřebujeme k ověření, že podpis je skutečně platný.
+
+```typescript
+const loginPrompt = "Pro přístup k poskytovateli služeb podepište tuto hodnotu nonce: "
+```
+
+Peněženka požádá uživatele o povolení podepsat zprávu. Zpráva, která je pouze hodnotou nonce, by mohla uživatele zmást, proto uvádíme tuto výzvu.
+
+```typescript
+// Zde si ponechte requestID
+let nonces = {}
+```
+
+Potřebujeme informace o požadavku, abychom na něj mohli odpovědět. Mohli bychom ho poslat s požadavkem (krok 4) a přijmout ho zpět (krok 5). Nemůžeme však důvěřovat informacím, které získáváme z prohlížeče, který je pod kontrolou potenciálně nepřátelského uživatele. Je tedy lepší jej uložit zde s hodnotou nonce jako klíčem.
+
+Všimněte si, že pro zjednodušení to zde děláme jako proměnnou. To má však několik nevýhod:
+
+- Jsme zranitelní vůči útoku typu odepření služby (denial of service). Uživatel se zlými úmysly by se mohl pokusit přihlásit vícekrát a zaplnit tak naši paměť.
+- Pokud je třeba proces IdP restartovat, ztratíme stávající hodnoty.
+- Nemůžeme rozkládat zátěž mezi více procesů, protože každý by měl svou vlastní proměnnou.
+
+Na produkčním systému bychom použili databázi a implementovali nějaký mechanismus pro vypršení platnosti.
+
+```typescript
+const getSignaturePage = requestId => {
+ const nonce = uuidv4()
+ nonces[nonce] = requestId
+```
+
+Vytvořte hodnotu nonce a uložte `requestId` pro budoucí použití.
+
+```typescript
+ return `
+
+
+
+
+
+
Prosím podepište
+
+
+
+
+
+`
+}
+```
+
+Zbytek je jen standardní HTML.
+
+```typescript
+idpRouter.get("/signature/:nonce/:account/:signature", async (req, res) => {
+```
+
+Toto je obslužný program pro krok 5 v sekvenčním diagramu.
+
+```typescript
+ const requestId = nonces[req.params.nonce]
+ if (requestId === undefined) {
+ res.send("Špatná hodnota nonce")
+ return ;
+ }
+
+ nonces[req.params.nonce] = undefined
+```
+
+Získejte ID požadavku a odstraňte hodnotu nonce z `nonces`, abyste se ujistili, že ji nelze znovu použít.
+
+```typescript
+ try {
+```
+
+Protože existuje mnoho způsobů, jak může být podpis neplatný, zabalíme to do bloku `try ...` `catch`, který zachytí jakékoli vyvolané chyby.
+
+```typescript
+ const validSignature = await verifyMessage({
+ address: req.params.account,
+ message: `${loginPrompt}${req.params.nonce}`,
+ signature: req.params.signature
+ })
+```
+
+Použijte [`verifyMessage`](https://viem.sh/docs/actions/public/verifyMessage#verifymessage) k implementaci kroku 5.5 v sekvenčním diagramu.
+
+```typescript
+ if (!validSignature)
+ throw("Špatný podpis")
+ } catch (err) {
+ res.send("Chyba:" + err)
+ return ;
+ }
+```
+
+Zbytek obslužného programu je ekvivalentní tomu, co jsme dělali v obslužném programu `/loginSubmitted` dříve, s výjimkou jedné malé změny.
+
+```typescript
+ const loginResponse = await idp.createLoginResponse(
+ .
+ .
+ .
+ {
+ email: req.params.account + "@bad.email.address"
+ }
+ );
+```
+
+Nemáme skutečnou e-mailovou adresu (získáme ji v další části), takže prozatím vracíme adresu Etherea a jasně ji označujeme jako e-mailovou adresu.
+
+```typescript
+// Koncový bod IdP pro požadavky na přihlášení
+idpRouter.post(`/login`,
+ async (req, res) => {
+ try {
+ // Dočasné řešení, protože se mi nepodařilo zprovoznit parseLoginRequest.
+ // const loginRequest = await idp.parseLoginRequest(sp, 'post', req)
+ const samlRequest = xmlParser.parse(Buffer.from(req.body.SAMLRequest, 'base64').toString('utf-8'))
+ res.send(getSignaturePage(samlRequest["samlp:AuthnRequest"]["@_ID"]))
+ } catch (err) {
+ console.error('Chyba při zpracování odpovědi SAML:', err);
+ res.status(400).send('Ověření SAML se nezdařilo');
+ }
+ }
+)
+```
+
+Místo `getLoginPage` nyní v obslužném programu kroku 3 použijte `getSignaturePage`.
+
+## Získání e-mailové adresy
+
+Dalším krokem je získání e-mailové adresy, identifikátoru požadovaného poskytovatelem služeb. K tomu používáme [službu Ethereum Attestation Service (EAS)](https://attest.org/).
+
+Nejjednodušší způsob, jak získat atestace, je použít [GraphQL API](https://docs.attest.org/docs/developer-tools/api). Používáme tento dotaz:
+
+```
+query GetAttestationsByRecipient {
+ attestations(
+ where: {
+ recipient: { equals: "${getAddress(ethAddr)}" }
+ schemaId: { equals: "0xfa2eff59a916e3cc3246f9aec5e0ca00874ae9d09e4678e5016006f07622f977" }
+ }
+ take: 1
+ ) {
+ data
+ id
+ attester
+ }
+}
+```
+
+Toto [`schemaId`](https://optimism.easscan.org/schema/view/0xfa2eff59a916e3cc3246f9aec5e0ca00874ae9d09e4678e5016006f07622f977) obsahuje pouze e-mailovou adresu. Tento dotaz žádá o atestace tohoto schématu. Subjekt atestace se nazývá `recipient`. Je to vždy adresa Etherea.
+
+Varování: Způsob, jakým zde získáváme atestace, má dva bezpečnostní problémy.
+
+- Přistupujeme ke koncovému bodu API `https://optimism.easscan.org/graphql`, což je centralizovaná komponenta. Můžeme získat atribut `id` a poté provést ověření na blockchainu, abychom ověřili, že je atestace skutečná, ale koncový bod API může stále cenzurovat atestace tím, že nám o nich neřekne.
+
+ Tento problém není neřešitelný, mohli bychom spustit vlastní koncový bod GraphQL a získat atestace z protokolů řetězce, ale to je pro naše účely zbytečné.
+
+- Nebereme v úvahu identitu atestátora. Kdokoli nám může poskytnout nepravdivé informace. V reálné implementaci bychom měli sadu důvěryhodných atestátorů a zabývali bychom se pouze jejich atestacemi.
+
+Chcete-li to vidět v akci, zastavte stávající IdP a SP a spusťte tyto příkazy:
+
+```sh
+git checkout email-address
+pnpm install
+pnpm start
+```
+
+Poté zadejte svou e-mailovou adresu. Máte dva způsoby, jak to udělat:
+
+- Importujte peněženku pomocí privátního klíče a použijte testovací privátní klíč `0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80`.
+
+- Přidejte atestaci pro svou vlastní e-mailovou adresu:
+
+ 1. Přejděte na [schéma v průzkumníku atestací](https://optimism.easscan.org/schema/view/0xfa2eff59a916e3cc3246f9aec5e0ca00874ae9d09e4678e5016006f07622f977).
+
+ 2. Klikněte na **Atestovat se schématem**.
+
+ 3. Zadejte svou adresu Etherea jako příjemce, svou e-mailovou adresu jako e-mailovou adresu a vyberte **Onchain**. Poté klikněte na **Provést atestaci**.
+
+ 4. Schvalte transakci ve své peněžence. K zaplacení za palivo budete potřebovat nějaké ETH na [blockchainu Optimism](https://app.optimism.io/bridge/deposit).
+
+Ať tak či onak, poté přejděte na [http://localhost:3000](http://localhost:3000) a postupujte podle pokynů. Pokud jste importovali testovací privátní klíč, e-mail, který obdržíte, je `test_addr_0@example.com`. Pokud jste použili vlastní adresu, měla by to být ta, kterou jste atestovali.
+
+### Podrobné vysvětlení
+
+
+
+Nové kroky jsou komunikace GraphQL, kroky 5.6 a 5.7.
+
+Opět zde jsou změněné části `idp.mts`.
+
+```typescript
+import { GraphQLClient } from 'graphql-request'
+import { SchemaEncoder } from '@ethereum-attestation-service/eas-sdk'
+```
+
+Importujte knihovny, které potřebujeme.
+
+```typescript
+const graphqlEndpointUrl = "https://optimism.easscan.org/graphql"
+```
+
+Pro každý blockchain existuje [samostatný koncový bod](https://docs.attest.org/docs/developer-tools/api).
+
+```typescript
+const graphqlClient = new GraphQLClient(graphqlEndpointUrl, { fetch })
+```
+
+Vytvořte nového klienta `GraphQLClient`, kterého můžeme použít pro dotazování koncového bodu.
+
+```typescript
+const graphqlSchema = 'string emailAddress'
+const graphqlEncoder = new SchemaEncoder(graphqlSchema)
+```
+
+GraphQL nám poskytuje pouze neprůhledný datový objekt s bajty. Abychom mu porozuměli, potřebujeme schéma.
+
+```typescript
+const ethereumAddressToEmail = async ethAddr => {
+```
+
+Funkce pro získání e-mailové adresy z adresy Etherea.
+
+```typescript
+ const query = `
+ query GetAttestationsByRecipient {
+```
+
+Toto je dotaz GraphQL.
+
+```typescript
+ attestations(
+```
+
+Hledáme atestace.
+
+```typescript
+ where: {
+ recipient: { equals: "${getAddress(ethAddr)}" }
+ schemaId: { equals: "0xfa2eff59a916e3cc3246f9aec5e0ca00874ae9d09e4678e5016006f07622f977" }
+ }
+```
+
+Atestace, které chceme, jsou ty v našem schématu, kde je příjemce `getAddress(ethAddr)`. Funkce [`getAddress`](https://viem.sh/docs/utilities/getAddress#getaddress) zajišťuje, že naše adresa má správný [kontrolní součet](https://github.com/ethereum/ercs/blob/master/ERCS/erc-55.md). To je nutné, protože GraphQL rozlišuje velikost písmen. „0xBAD060A7“, „0xBad060A7“ a „0xbad060a7“ jsou různé hodnoty.
+
+```typescript
+ take: 1
+```
+
+Bez ohledu na to, kolik atestací najdeme, chceme pouze tu první.
+
+```typescript
+ ) {
+ data
+ id
+ attester
+ }
+ }`
+```
+
+Pole, která chceme obdržet.
+
+- `attester`: Adresa, která atestaci odeslala. Obvykle se používá k rozhodnutí, zda atestaci důvěřovat, či nikoli.
+- `id`: ID atestace. Tuto hodnotu můžete použít ke [čtení atestace na blockchainu](https://optimism.blockscout.com/address/0x4200000000000000000000000000000000000021?tab=read_proxy&source_address=0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088#0xa3112a64), abyste ověřili, že informace z dotazu GraphQL jsou správné.
+- `data`: Data schématu (v tomto případě e-mailová adresa).
+
+```typescript
+ const queryResult = await graphqlClient.request(query)
+
+ if (queryResult.attestations.length == 0)
+ return "no_address@available.is"
+```
+
+Pokud neexistuje žádná atestace, vraťte hodnotu, která je zjevně nesprávná, ale která by se poskytovateli služeb jevila jako platná.
+
+```typescript
+ const attestationDataFields = graphqlEncoder.decodeData(queryResult.attestations[0].data)
+ return attestationDataFields[0].value.value
+}
+```
+
+Pokud existuje hodnota, použijte k dekódování dat `decodeData`. Nepotřebujeme metadata, která poskytuje, pouze samotnou hodnotu.
+
+```typescript
+ const loginResponse = await idp.createLoginResponse(
+ sp,
+ {
+ .
+ .
+ .
+ },
+ "post",
+ {
+ email: await ethereumAddressToEmail(req.params.account)
+ }
+ );
+```
+
+Pro získání e-mailové adresy použijte novou funkci.
+
+## A co decentralizace?
+
+V této konfiguraci se uživatelé nemohou vydávat za někoho, kým nejsou, pokud se spoléháme na důvěryhodné atestátory pro mapování adres Etherea na e-mailové adresy. Náš poskytovatel identity je však stále centralizovanou komponentou. Kdokoli, kdo má privátní klíč poskytovatele identity, může poskytovateli služeb posílat nepravdivé informace.
+
+Může existovat řešení pomocí [více-stranného výpočtu (MPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation). Doufám, že o tom napíšu v budoucím tutoriálu.
+
+## Závěr
+
+Přijetí standardu pro přihlášení, jako jsou podpisy Etherea, se potýká s problémem slepice a vejce. Poskytovatelé služeb chtějí oslovit co nejširší trh. Uživatelé chtějí mít přístup ke službám, aniž by se museli starat o podporu svého standardu pro přihlášení.
+Vytváření adaptérů, jako je Ethereum IdP, nám může pomoci překonat tuto překážku.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
diff --git a/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md b/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md
new file mode 100644
index 00000000000..f1d99e5b0cd
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md
@@ -0,0 +1,156 @@
+---
+title: Začínáme s vývojem pro Ethereum
+description: "Toto je příručka pro začátečníky, jak začít s vývojem pro Ethereum. Provedeme vás od vytvoření koncového bodu API přes vytvoření požadavku z příkazového řádku až po napsání vašeho prvního web3 skriptu! Nejsou nutné žádné zkušenosti s vývojem na blockchainu!"
+author: "Elan Halpern"
+tags:
+ [
+ "javascript",
+ "ethers.js",
+ "uzly",
+ "dotazování",
+ "alchemy"
+ ]
+skill: beginner
+lang: cs
+published: 2020-10-30
+source: Střední
+sourceUrl: https://medium.com/alchemy-api/getting-started-with-ethereum-development-using-alchemy-c3d6a45c567f
+---
+
+
+
+Toto je příručka pro začátečníky, jak začít s vývojem pro Ethereum. V tomto tutoriálu budeme používat [Alchemy](https://alchemyapi.io/), přední vývojářskou platformu pro blockchain, která pohání miliony uživatelů ze 70 % nejlepších blockchainových aplikací, včetně Maker, 0x, MyEtherWallet, Dharma a Kyber. Alchemy nám poskytne přístup ke koncovému bodu API v řetězci Ethereum, abychom mohli číst a zapisovat transakce.
+
+Provedeme vás od registrace u Alchemy až po napsání vašeho prvního web3 skriptu! Nejsou nutné žádné zkušenosti s vývojem na blockchainu!
+
+## 1. Zaregistrujte si bezplatný účet Alchemy {#sign-up-for-a-free-alchemy-account}
+
+Vytvoření účtu u Alchemy je snadné, [zaregistrujte se zdarma zde](https://auth.alchemy.com/).
+
+## 2. Vytvořte aplikaci Alchemy {#create-an-alchemy-app}
+
+Pro komunikaci s řetězcem Ethereum a pro používání produktů Alchemy potřebujete API klíč k ověření vašich požadavků.
+
+API klíče můžete [vytvořit na řídicím panelu](https://dashboard.alchemy.com/). Chcete-li vytvořit nový klíč, přejděte na „Vytvořit aplikaci“, jak je ukázáno níže:
+
+Zvláštní poděkování patří [_ShapeShift_](https://shapeshift.com/) _za to, že nám umožnili ukázat jejich řídicí panel!_
+
+
+
+Vyplňte podrobnosti v sekci „Vytvořit aplikaci“, abyste získali svůj nový klíč. Můžete zde také vidět aplikace, které jste dříve vytvořili, a ty, které vytvořil váš tým. Stávající klíče získáte kliknutím na „Zobrazit klíč“ u kterékoli aplikace.
+
+
+
+Stávající API klíče můžete také získat tak, že najedete kurzorem na „Aplikace“ a jednu vyberete. Zde můžete „zobrazit klíč“, a také „upravit aplikaci“ pro zařazení konkrétních domén na seznam povolených, prohlédnout si několik vývojářských nástrojů a zobrazit analytiku.
+
+
+
+## 3. Vytvoření požadavku z příkazového řádku {#make-a-request-from-the-command-line}
+
+S blockchainem Etherea můžete prostřednictvím Alchemy interagovat pomocí JSON-RPC a curl.
+
+Pro ruční požadavky doporučujeme interagovat s `JSON-RPC` prostřednictvím požadavků `POST`. Jednoduše předejte hlavičku `Content-Type: application/json` a váš dotaz jako tělo `POST` s následujícími poli:
+
+- `jsonrpc`: Verze JSON-RPC – v současné době je podporována pouze verze `2.0`.
+- `method`: Metoda ETH API. [Viz reference API.](https://docs.alchemyapi.io/documentation/alchemy-api-reference/json-rpc)
+- `params`: Seznam parametrů, které se mají předat metodě.
+- `id`: ID vašeho požadavku. Bude vráceno odpovědí, abyste mohli sledovat, ke kterému požadavku odpověď patří.
+
+Zde je příklad, který můžete spustit z příkazového řádku pro získání aktuální ceny gasu:
+
+```bash
+curl https://eth-mainnet.alchemyapi.io/v2/demo \
+-X POST \
+-H "Content-Type: application/json" \
+-d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'
+```
+
+_**POZNÁMKA:** Nahraďte [https://eth-mainnet.alchemyapi.io/v2/demo](https://eth-mainnet.alchemyapi.io/jsonrpc/demo) svým vlastním API klíčem `https://eth-mainnet.alchemyapi.io/v2/**your-api-key`._
+
+**Výsledky:**
+
+```json
+{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }
+```
+
+## 4. Nastavte si svého Web3 klienta {#set-up-your-web3-client}
+
+**Pokud již máte existujícího klienta,** změňte URL adresu svého současného poskytovatele uzlů na URL adresu Alchemy s vaším API klíčem: `"https://eth-mainnet.alchemyapi.io/v2/your-api-key"`
+
+**_POZNÁMKA:_** Níže uvedené skripty je třeba spustit v **kontextu Node** nebo **uložit do souboru**, nikoli z příkazového řádku. Pokud ještě nemáte nainstalovaný Node nebo npm, podívejte se na tohoto rychlého [průvodce nastavením pro Mac](https://app.gitbook.com/@alchemyapi/s/alchemy/guides/alchemy-for-macs).
+
+Existuje spousta [knihoven Web3](https://docs.alchemyapi.io/guides/getting-started#other-web3-libraries), které můžete integrovat s Alchemy, my však doporučujeme používat [Alchemy Web3](https://docs.alchemy.com/reference/api-overview), přímou náhradu za web3.js, vytvořenou a nakonfigurovanou tak, aby bezproblémově fungovala s Alchemy. To poskytuje řadu výhod, jako jsou automatické opakované pokusy a robustní podpora WebSocketů.
+
+Chcete-li nainstalovat AlchemyWeb3.js, **přejděte do adresáře svého projektu** a spusťte:
+
+**S Yarn:**
+
+```
+yarn add @alch/alchemy-web3
+```
+
+**S NPM:**
+
+```
+npm install @alch/alchemy-web3
+```
+
+Chcete-li interagovat s infrastrukturou uzlů Alchemy, spusťte v NodeJS nebo přidejte toto do souboru JavaScript:
+
+```js
+const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
+const web3 = createAlchemyWeb3(
+ "https://eth-mainnet.alchemyapi.io/v2/your-api-key"
+)
+```
+
+## 5. Napište svůj první Web3 skript! {#write-your-first-web3-script}
+
+Nyní si trochu „ušpiníme ruce“ programováním ve web3 a napíšeme jednoduchý skript, který vypíše číslo posledního bloku z hlavní sítě Ethereum (mainnetu).
+
+**1.** Pokud jste tak ještě neučinili, ve svém terminálu vytvořte nový adresář projektu a přejděte do něj:\*\*
+
+```
+mkdir web3-example
+cd web3-example
+```
+
+**2.** Nainstalujte si do projektu závislost Alchemy web3 (nebo jakoukoli jinou web3), pokud jste tak ještě neučinili:\*\*
+
+```
+npm install @alch/alchemy-web3
+```
+
+**3.** Vytvořte soubor s názvem `index.js` a přidejte do něj následující obsah:\*\*
+
+> Nakonec byste měli `demo` nahradit svým HTTP API klíčem Alchemy.
+
+```js
+async function main() {
+ const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
+ const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")
+ const blockNumber = await web3.eth.getBlockNumber()
+ console.log("Číslo posledního bloku je " + blockNumber)
+}
+main()
+```
+
+Nevyznáte se v asynchronních věcech? Podívejte se na tento [příspěvek na serveru Medium](https://medium.com/better-programming/understanding-async-await-in-javascript-1d81bb079b2c).
+
+**4. Spusťte jej ve svém terminálu pomocí node**
+
+```
+node index.js
+```
+
+**5. Nyní byste měli ve vaší konzoli vidět výstup s číslem posledního bloku!**
+
+```
+Číslo posledního bloku je 11043912
+```
+
+**Paráda! Výborně! Právě jste napsali svůj první web3 skript pomocí Alchemy 🎉**
+
+Nevíte, co dál? Zkuste nasadit svůj první chytrý kontrakt a ponořte se do programování v Solidity v našem [Průvodci chytrým kontraktem Hello World](https://www.alchemy.com/docs/hello-world-smart-contract), nebo si otestujte své znalosti řídicího panelu s [Demo aplikací řídicího panelu](https://docs.alchemyapi.io/tutorials/demo-app)!
+
+_[Zaregistrujte se zdarma u Alchemy](https://auth.alchemy.com/), prohlédněte si naši [dokumentaci](https://www.alchemy.com/docs/) a pro nejnovější zprávy nás sledujte na [Twitteru](https://twitter.com/AlchemyPlatform)_.
diff --git a/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md b/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md
new file mode 100644
index 00000000000..234e9edc821
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md
@@ -0,0 +1,102 @@
+---
+title: Průvodce nástroji pro zabezpečení chytrých kontraktů
+description: Přehled tří různých technik testování a analýzy programů
+author: "Trailofbits"
+lang: cs
+tags: [ "solidity", "smart kontrakt účty", "bezpečnost" ]
+skill: intermediate
+published: 2020-09-07
+source: Tvorba bezpečných kontraktů
+sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis
+---
+
+Budeme používat tři různé techniky testování a analýzy programů:
+
+- **Statická analýza pomocí nástroje [Slither](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/).** Všechny cesty programu jsou aproximovány a analyzovány současně prostřednictvím různých prezentací programu (např. graf řízení toku).
+- **Fuzzing s nástrojem [Echidna](/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/).** Kód se provádí s pseudonáhodným generováním transakcí. Fuzzer se pokusí najít sekvenci transakcí, která poruší danou vlastnost.
+- **Symbolické spuštění s nástrojem [Manticore](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/).** Formální ověřovací technika, která převádí každou cestu spuštění na matematický vzorec, na němž lze kontrolovat omezení.
+
+Každá technika má své výhody a nevýhody a bude užitečná ve [specifických případech](#determining-security-properties):
+
+| Technika | Nástroj | Použití | Rychlost | Zmeškané chyby | Falešné poplachy |
+| ------------------- | --------- | ----------------------------- | -------- | -------------- | ---------------- |
+| Statická analýza | Slither | CLI a skripty | sekund | střední | nízká |
+| Fuzzing | Echidna | Vlastnosti Solidity | minut | nízká | žádná |
+| Symbolické spuštění | Manticore | Vlastnosti a skripty Solidity | hodin | žádná\* | žádná |
+
+\* pokud jsou všechny cesty prozkoumány bez vypršení časového limitu
+
+**Slither** analyzuje kontrakty během několika sekund, nicméně statická analýza může vést k falešným poplachům a bude méně vhodná pro složité kontroly (např. aritmetické kontroly). Spusťte Slither prostřednictvím rozhraní API pro jednoduchý přístup k vestavěným detektorům nebo prostřednictvím rozhraní API pro uživatelem definované kontroly.
+
+**Echidna** potřebuje běžet několik minut a bude produkovat pouze skutečné pozitivní nálezy. Echidna kontroluje uživatelem zadané bezpečnostní vlastnosti napsané v jazyce Solidity. Může přehlédnout chyby, protože je založena na náhodném prozkoumávání.
+
+**Manticore** provádí analýzu s "největší váhou". Stejně jako Echidna, Manticore ověřuje vlastnosti zadané uživatelem. Bude potřebovat více času na spuštění, ale může prokázat platnost vlastnosti a nebude hlásit falešné poplachy.
+
+## Doporučený pracovní postup {#suggested-workflow}
+
+Začněte s vestavěnými detektory nástroje Slither, abyste se ujistili, že v současné době neexistují žádné jednoduché chyby, ani nebudou zavedeny později. Použijte Slither ke kontrole vlastností souvisejících s dědičností, závislostmi proměnných a strukturálními problémy. Jak se kódová základna rozrůstá, použijte nástroj Echidna k testování složitějších vlastností stavového automatu. Vraťte se k nástroji Slither a vyviňte si vlastní kontroly ochrany, které nejsou v Solidity dostupné, například ochranu proti přepsání funkce. Nakonec použijte Manticore k provedení cíleného ověření kritických bezpečnostních vlastností, např. aritmetických operací.
+
+- Použijte CLI nástroje Slither k zachycení běžných problémů
+- Použijte Echidna k testování bezpečnostních vlastností vašeho kontraktu na vysoké úrovni
+- Použijte Slither k psaní vlastních statických kontrol
+- Použijte Manticore, jakmile budete chtít hloubkové ujištění o kritických bezpečnostních vlastnostech
+
+**Poznámka k jednotkovým testům**. Jednotkové testy jsou nezbytné pro vytváření vysoce kvalitního softwaru. Tyto techniky však nejsou nejvhodnější k nalezení bezpečnostních chyb. Obvykle se používají k testování pozitivního chování kódu (tj. kód funguje podle očekávání v normálním kontextu), zatímco bezpečnostní chyby se obvykle vyskytují v okrajových případech, které vývojáři nezohlednili. V naší studii desítek bezpečnostních auditů chytrých kontraktů nemělo [pokrytí jednotkovými testy žádný vliv na počet ani závažnost bezpečnostních chyb](https://blog.trailofbits.com/2019/08/08/246-findings-from-our-smart-contract-audits-an-executive-summary/), které jsme našli v kódu našich klientů.
+
+## Určení bezpečnostních vlastností {#determining-security-properties}
+
+Chcete-li efektivně testovat a ověřovat svůj kód, musíte identifikovat oblasti, které vyžadují pozornost. Vzhledem k tomu, že vaše zdroje vynaložené na bezpečnost jsou omezené, je důležité určit slabé nebo vysoce hodnotné části vaší kódové základny, abyste optimalizovali své úsilí. Pomoci může modelování hrozeb. Zvažte prostudování:
+
+- [Rychlé posouzení rizik](https://infosec.mozilla.org/guidelines/risk/rapid_risk_assessment.html) (náš preferovaný přístup, když je málo času)
+- [Průvodce modelováním hrozeb datově orientovaných systémů](https://csrc.nist.gov/pubs/sp/800/154/ipd) (aka NIST 800-154)
+- [Modelování hrozeb podle Shostacka](https://www.amazon.com/Threat-Modeling-Designing-Adam-Shostack/dp/1118809998)
+- [STRIDE](https://wikipedia.org/wiki/STRIDE_\(security\)) / [DREAD](https://wikipedia.org/wiki/DREAD_\(risk_assessment_model\))
+- [PASTA](https://wikipedia.org/wiki/Threat_model#P.A.S.T.A.)
+- [Použití tvrzení](https://blog.regehr.org/archives/1091)
+
+### Komponenty {#components}
+
+Vědět, co chcete kontrolovat, vám také pomůže vybrat správný nástroj.
+
+Mezi široké oblasti, které jsou často relevantní pro chytré kontrakty, patří:
+
+- **Stavový automat.** Většinu kontraktů lze reprezentovat jako stavový automat. Zvažte kontrolu, že (1) nelze dosáhnout žádného neplatného stavu, (2) pokud je stav platný, lze ho dosáhnout a (3) žádný stav kontrakt nezablokuje.
+
+ - Echidna a Manticore jsou nástroje, které je třeba upřednostnit pro testování specifikací stavových automatů.
+
+- **Řízení přístupu.** Pokud má váš systém privilegované uživatele (např. vlastníka, správce, ...) musíte zajistit, že (1) každý uživatel může provádět pouze povolené akce a (2) žádný uživatel nemůže blokovat akce privilegovanějšího uživatele.
+
+ - Slither, Echidna a Manticore mohou kontrolovat správné řízení přístupu. Například Slither může zkontrolovat, že pouze funkce na bílé listině postrádají modifikátor onlyOwner. Echidna a Manticore jsou užitečné pro složitější řízení přístupu, jako je oprávnění udělené pouze v případě, že kontrakt dosáhne daného stavu.
+
+- **Aritmetické operace.** Kontrola správnosti aritmetických operací je kritická. Používání `SafeMath` všude je dobrým krokem k zabránění přetečení/podtečení, nicméně stále musíte zvážit další aritmetické chyby, včetně problémů se zaokrouhlováním a chyb, které kontrakt zablokují.
+
+ - Manticore je zde nejlepší volbou. Echidna může být použita, pokud je aritmetika mimo rozsah SMT solveru.
+
+- **Správnost dědičnosti.** Kontrakty v jazyce Solidity se silně spoléhají na vícenásobnou dědičnost. Snadno se mohou vyskytnout chyby, jako je stínící funkce, které chybí volání `super`, a nesprávně interpretované pořadí c3 linearizace.
+
+ - Slither je nástroj, který zajistí odhalení těchto problémů.
+
+- **Externí interakce.** Kontrakty vzájemně interagují a některým externím kontraktům by se nemělo důvěřovat. Například, pokud váš kontrakt spoléhá na externí orákula, zůstane bezpečný, pokud bude polovina dostupných orákul kompromitována?
+
+ - Manticore a Echidna jsou nejlepší volbou pro testování externích interakcí s vašimi kontrakty. Manticore má vestavěný mechanismus pro stubování externích kontraktů.
+
+- **Shoda se standardy.** Standardy Etherea (např. ERC20) mají v historii svého návrhu chyby. Buďte si vědomi omezení standardu, na kterém stavíte.
+ - Slither, Echidna a Manticore vám pomohou odhalit odchylky od daného standardu.
+
+### Tahák pro výběr nástrojů {#tool-selection-cheatsheet}
+
+| Komponenta | Nástroje | Příklady |
+| -------------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Stavový automat | Echidna, Manticore | |
+| Řízení přístupu | Slither, Echidna, Manticore | [Cvičení 2 nástroje Slither](https://github.com/crytic/slither/blob/7f54c8b948c34fb35e1d61adaa1bd568ca733253/docs/src/tutorials/exercise2.md), [Cvičení 2 nástroje Echidna](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/exercises/Exercise-2.md) |
+| Aritmetické operace | Manticore, Echidna | [Cvičení 1 nástroje Echidna](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/exercises/Exercise-1.md), [Cvičení 1–3 nástroje Manticore](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore/exercises) |
+| Správnost dědičnosti | Slither | [Cvičení 1 nástroje Slither](https://github.com/crytic/slither/blob/7f54c8b948c34fb35e1d61adaa1bd568ca733253/docs/src/tutorials/exercise1.md) |
+| Externí interakce | Manticore, Echidna | |
+| Shoda se standardy | Slither, Echidna, Manticore | [`slither-erc`](https://github.com/crytic/slither/wiki/ERC-Conformance) |
+
+V závislosti na vašich cílech bude třeba zkontrolovat i další oblasti, ale tyto hrubozrnné oblasti zaměření jsou dobrým začátkem pro jakýkoli systém chytrých kontraktů.
+
+Naše veřejné audity obsahují příklady ověřených nebo testovaných vlastností. Zvažte přečtení sekcí `Automated Testing and Verification` v následujících zprávách, abyste si prohlédli reálné bezpečnostní vlastnosti:
+
+- [0x](https://github.com/trailofbits/publications/blob/master/reviews/0x-protocol.pdf)
+- [Balancer](https://github.com/trailofbits/publications/blob/master/reviews/BalancerCore.pdf)
diff --git a/public/content/translations/cs/developers/tutorials/hello-world-smart-contract-fullstack/index.md b/public/content/translations/cs/developers/tutorials/hello-world-smart-contract-fullstack/index.md
new file mode 100644
index 00000000000..f3c55599fe6
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/hello-world-smart-contract-fullstack/index.md
@@ -0,0 +1,1541 @@
+---
+title: Chytrý kontrakt Hello World pro začátečníky – Fullstack
+description: Úvodní tutoriál k psaní a nasazení jednoduchého chytrého kontraktu na Ethereum.
+author: "nstrike2"
+tags:
+ [
+ "solidity",
+ "hardhat",
+ "alchemy",
+ "smart kontrakt účty",
+ "nasazování",
+ "průzkumník bloků",
+ "frontend",
+ "transakce"
+ ]
+skill: beginner
+lang: cs
+published: 2021-10-25
+---
+
+Tento průvodce je pro vás, pokud jste v blockchainovém vývoji nováčkem a nevíte, kde začít nebo jak nasadit chytré kontrakty a interagovat s nimi. Projdeme si vytvoření a nasazení jednoduchého chytrého kontraktu v testovací síti Goerli pomocí [MetaMask](https://metamask.io), [Solidity](https://docs.soliditylang.org/en/v0.8.0/), [Hardhat](https://hardhat.org) a [Alchemy](https://alchemy.com/eth).
+
+K dokončení tohoto tutoriálu budete potřebovat účet Alchemy. [Zaregistrujte si bezplatný účet](https://www.alchemy.com/).
+
+Pokud budete mít kdykoli nějaké otázky, neváhejte se na nás obrátit na [Discordu Alchemy](https://discord.gg/gWuC7zB)!
+
+## Část 1 – Vytvoření a nasazení chytrého kontraktu pomocí Hardhat {#part-1}
+
+### Připojení k síti Ethereum {#connect-to-the-ethereum-network}
+
+Existuje mnoho způsobů, jak posílat požadavky na blockchain Etherea. Pro zjednodušení použijeme bezplatný účet na Alchemy, vývojářské platformě a API pro blockchain, která nám umožňuje komunikovat s ethereovým chainem, aniž bychom museli sami provozovat uzel. Alchemy má také vývojářské nástroje pro monitorování a analýzu; v tomto tutoriálu je využijeme, abychom pochopili, co se děje pod pokličkou při nasazení našeho chytrého kontraktu.
+
+### Vytvoření aplikace a klíče API {#create-your-app-and-api-key}
+
+Jakmile si vytvoříte účet Alchemy, můžete si vygenerovat API klíč vytvořením aplikace. To vám umožní zadávat požadavky do testovací sítě Goerli. Pokud testovací sítě neznáte, můžete si přečíst [průvodce Alchemy výběrem sítě](https://www.alchemy.com/docs/choosing-a-web3-network).
+
+Na řídicím panelu Alchemy najděte v navigační liště rozevírací seznam **Aplikace** a klikněte na **Vytvořit aplikaci**.
+
+
+
+Pojmenujte svou aplikaci „_Hello World_“ a napište krátký popis. Jako prostředí vyberte **Staging** a jako síť **Goerli**.
+
+
+
+_Poznámka: Nezapomeňte vybrat **Goerli**, jinak tento tutoriál nebude fungovat._
+
+Klikněte na **Vytvořit aplikaci**. Vaše aplikace se objeví v tabulce níže.
+
+### Vytvoření účtu Ethereum {#create-an-ethereum-account}
+
+Potřebujete účet Ethereum pro odesílání a přijímání transakcí. Použijeme MetaMask, virtuální peněženku v prohlížeči, která umožňuje uživatelům spravovat adresu svého ethereového účtu.
+
+Účet MetaMask si můžete zdarma stáhnout a vytvořit [zde](https://metamask.io/download). Při vytváření účtu nebo pokud již účet máte, nezapomeňte se vpravo nahoře přepnout na „testovací síť Goerli“ (abychom nepracovali se skutečnými penězi).
+
+### Krok 4: Přidejte ether z Faucetu {#step-4-add-ether-from-a-faucet}
+
+Chcete-li nasadit chytrý kontrakt do testovací sítě, budete potřebovat nějaké falešné ETH. Chcete-li získat ETH v síti Goerli, přejděte na faucet Goerli a zadejte adresu svého účtu Goerli. Upozorňujeme, že faucety Goerli mohou být v poslední době trochu nespolehlivé – podívejte se na [stránku testovacích sítí](/developers/docs/networks/#goerli), kde najdete seznam možností k vyzkoušení:
+
+_Poznámka: Kvůli přetížení sítě to může chvíli trvat._
+\`\`
+
+### Krok 5: Zkontrolujte si zůstatek {#step-5-check-your-balance}
+
+Chcete-li si dvakrát ověřit, že máte ETH v peněžence, zadejte požadavek [eth_getBalance](https://docs.alchemyapi.io/alchemy/documentation/alchemy-api-reference/json-rpc#eth_getbalance) pomocí [nástroje Alchemy Composer](https://composer.alchemyapi.io/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getBalance%22%2C%22paramValues%22%3A%5B%22%22%2C%22latest%22%5D%7D). Tím se vrátí množství ETH v naší peněžence. Chcete-li se dozvědět více, podívejte se na [krátký tutoriál od Alchemy o tom, jak používat nástroj Composer](https://youtu.be/r6sjRxBZJuU).
+
+Zadejte adresu svého účtu MetaMask a klikněte na **Odeslat požadavek**. Zobrazí se odpověď, která vypadá jako úryvek kódu níže.
+
+```json
+{ "jsonrpc": "2.0", "id": 0, "result": "0x2B5E3AF16B1880000" }
+```
+
+> _Poznámka: Tento výsledek je ve wei, nikoliv v ETH. Wei je nejmenší jednotkou etheru._
+
+Uf! Naše falešné peníze jsou všechny tam.
+
+### Krok 6: Inicializace našeho projektu {#step-6-initialize-our-project}
+
+Nejprve musíme pro náš projekt vytvořit složku. Přejděte na příkazový řádek a zadejte následující.
+
+```
+mkdir hello-world
+cd hello-world
+```
+
+Nyní, když jsme uvnitř složky našeho projektu, použijeme `npm init` k inicializaci projektu.
+
+> Pokud ještě nemáte nainstalovaný npm, postupujte podle [těchto pokynů k instalaci Node.js a npm](https://docs.alchemyapi.io/alchemy/guides/alchemy-for-macs#1-install-nodejs-and-npm).
+
+Pro účely tohoto tutoriálu nezáleží na tom, jak na inicializační otázky odpovíte. Zde je pro referenci, jak jsme to udělali my:
+
+```
+název balíčku: (hello-world)
+verze: (1.0.0)
+popis: chytrý kontrakt hello world
+vstupní bod: (index.js)
+příkaz k testování:
+repositář git:
+klíčová slova:
+autor:
+licence: (ISC)
+
+Chystá se zápis do /Users/.../.../.../hello-world/package.json:
+
+{
+ "name": "hello-world",
+ "version": "1.0.0",
+ "description": "chytrý kontrakt hello world",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Chyba: není zadán žádný test\" && exit 1"
+ },
+ "author": "",
+ "license": "ISC"
+}
+```
+
+Schvalte package.json a můžeme pokračovat!
+
+### Krok 7: Stažení nástroje Hardhat {#step-7-download-hardhat}
+
+Hardhat je vývojové prostředí pro kompilaci, nasazení, testování a ladění vašeho softwaru pro Ethereum. Pomáhá vývojářům při lokálním budování chytrých kontraktů a dapps před jejich nasazením na živý řetězec.
+
+Uvnitř našeho projektu `hello-world` spusťte:
+
+```
+npm install --save-dev hardhat
+```
+
+Další podrobnosti o [instalačních pokynech](https://hardhat.org/getting-started/#overview) naleznete na této stránce.
+
+### Krok 8: Vytvoření projektu Hardhat {#step-8-create-hardhat-project}
+
+Uvnitř složky projektu `hello-world` spusťte:
+
+```
+npx hardhat
+```
+
+Poté by se vám měla zobrazit uvítací zpráva a možnost vybrat si, co chcete dělat. Vyberte „create an empty hardhat.config.js“:
+
+```
+888 888 888 888 888
+888 888 888 888 888
+888 888 888 888 888
+8888888888 8888b. 888d888 .d88888 88888b. 8888b. 888888
+888 888 "88b 888P" d88" 888 888 "88b "88b 888
+888 888 .d888888 888 888 888 888 888 .d888888 888
+888 888 888 888 888 Y88b 888 888 888 888 888 Y88b.
+888 888 "Y888888 888 "Y88888 888 888 "Y888888 "Y888
+
+👷 Vítejte v Hardhat v2.0.11 👷
+
+Co chcete udělat? …
+Vytvořit vzorový projekt
+❯ Vytvořit prázdný soubor hardhat.config.js
+Ukončit
+```
+
+Tím se v projektu vygeneruje soubor `hardhat.config.js`. Ten použijeme později v tomto tutoriálu k určení nastavení našeho projektu.
+
+### Krok 9: Přidání složek projektu {#step-9-add-project-folders}
+
+Aby byl projekt přehledný, vytvoříme dvě nové složky. V příkazovém řádku přejděte do kořenového adresáře projektu `hello-world` a zadejte:
+
+```
+mkdir contracts
+mkdir scripts
+```
+
+- `contracts/` je místo, kam uložíme soubor s kódem našeho chytrého kontraktu Hello World
+- `scripts/` je místo, kam uložíme skripty pro nasazení našeho kontraktu a interakci s ním
+
+### Krok 10: Napsání našeho kontraktu {#step-10-write-our-contract}
+
+Možná si říkáte, kdy budeme psát kód? Je čas!
+
+Otevřete si projekt hello-world ve svém oblíbeném editoru. Chytré kontrakty se nejčastěji píší v Solidity, který použijeme i my.
+
+1. Přejděte do složky `contracts` a vytvořte nový soubor s názvem `HelloWorld.sol`
+2. Níže je ukázka chytrého kontraktu Hello World, který budeme v tomto tutoriálu používat. Zkopírujte níže uvedený obsah do souboru `HelloWorld.sol`.
+
+_Poznámka: Nezapomeňte si přečíst komentáře, abyste pochopili, co tento kontrakt dělá._
+
+```
+// Určuje verzi Solidity pomocí sémantického verzování.
+// Více informací: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
+pragma solidity >=0.7.3;
+
+// Definuje kontrakt s názvem `HelloWorld`.
+// Kontrakt je soubor funkcí a dat (jeho stav). Po nasazení se kontrakt nachází na určité adrese na blockchainu Ethereum. Více informací: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html
+contract HelloWorld {
+
+ // Emituje se při zavolání funkce update
+ // Události chytrého kontraktu jsou způsob, jakým může váš kontrakt sdělit vašemu front-endu, že se na blockchainu něco stalo, což může „naslouchat“ určitým událostem a při jejich výskytu provést akci.
+ event UpdatedMessages(string oldStr, string newStr);
+
+ // Deklaruje stavovou proměnnou `message` typu `string`.
+ // Stavové proměnné jsou proměnné, jejichž hodnoty jsou trvale uloženy v úložišti kontraktu. Klíčové slovo `public` zpřístupňuje proměnné zvenčí kontraktu a vytváří funkci, kterou mohou volat jiné kontrakty nebo klienti pro přístup k hodnotě.
+ string public message;
+
+ // Podobně jako v mnoha třídních objektově orientovaných jazycích je konstruktor speciální funkce, která se provádí pouze při vytvoření kontraktu.
+ // Konstruktory se používají k inicializaci dat kontraktu. Více informací:https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors
+ constructor(string memory initMessage) {
+
+ // Přijímá řetězcový argument `initMessage` a nastavuje hodnotu do úložné proměnné kontraktu `message`).
+ message = initMessage;
+ }
+
+ // Veřejná funkce, která přijímá řetězcový argument a aktualizuje úložnou proměnnou `message`.
+ function update(string memory newMessage) public {
+ string memory oldMsg = message;
+ message = newMessage;
+ emit UpdatedMessages(oldMsg, newMessage);
+ }
+}
+```
+
+Jedná se o základní chytrý kontrakt, který při vytvoření ukládá zprávu. Lze jej aktualizovat voláním funkce `update`.
+
+### Krok 11: Připojení MetaMask a Alchemy k vašemu projektu {#step-11-connect-metamask-alchemy-to-your-project}
+
+Vytvořili jsme si peněženku MetaMask, účet Alchemy a napsali jsme náš chytrý kontrakt, nyní je čas je všechny tři propojit.
+
+Každá transakce odeslaná z vaší peněženky vyžaduje podpis s použitím vašeho jedinečného privátního klíče. Abychom programu toto oprávnění poskytli, můžeme náš privátní klíč bezpečně uložit do souboru prostředí. Zde také uložíme API klíč pro Alchemy.
+
+> Chcete-li se dozvědět více o odesílání transakcí, podívejte se na [tento tutoriál](https://www.alchemy.com/docs/hello-world-smart-contract#step-11-connect-metamask--alchemy-to-your-project) o odesílání transakcí pomocí Web3.
+
+Nejprve nainstalujte balíček dotenv do adresáře vašeho projektu:
+
+```
+npm install dotenv --save
+```
+
+Poté vytvořte v kořenovém adresáři projektu soubor `.env`. Přidejte do něj svůj privátní klíč MetaMask a URL adresa Alchemy API pro HTTP.
+
+Váš soubor prostředí se musí jmenovat `.env`, jinak nebude rozpoznán jako soubor prostředí.
+
+Nenazývejte jej `process.env` ani `.env-custom` ani nijak jinak.
+
+- Postupujte podle [těchto pokynů](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-Export-an-Account-Private-Key) a exportujte svůj privátní klíč
+- Níže naleznete postup, jak získat URL pro HTTP API Alchemy
+
+
+
+Váš soubor `.env` by měl vypadat takto:
+
+```
+API_URL = "https://eth-goerli.alchemyapi.io/v2/your-api-key"
+PRIVATE_KEY = "your-metamask-private-key"
+```
+
+Abychom je skutečně propojili s naším kódem, budeme na tyto proměnné odkazovat v našem souboru `hardhat.config.js` v kroku 13.
+
+### Krok 12: Instalace Ethers.js {#step-12-install-ethersjs}
+
+Ethers.js je knihovna, která usnadňuje interakci a zadávání požadavků na Ethereum tím, že obaluje [standardní metody JSON-RPC](https://docs.alchemyapi.io/alchemy/documentation/alchemy-api-reference/json-rpc) uživatelsky přívětivějšími metodami.
+
+Hardhat umožňuje integrovat [pluginy](https://hardhat.org/plugins/) pro další nástroje a rozšířenou funkčnost. Pro nasazení kontraktu využijeme [plugin Ethers](https://hardhat.org/docs/plugins/official-plugins#hardhat-ethers).
+
+V adresáři projektu zadejte:
+
+```bash
+npm install --save-dev @nomiclabs/hardhat-ethers "ethers@^5.0.0"
+```
+
+### Krok 13: Aktualizace souboru hardhat.config.js {#step-13-update-hardhat-configjs}
+
+Zatím jsme přidali několik závislostí a pluginů, nyní musíme aktualizovat `hardhat.config.js`, aby o nich náš projekt věděl.
+
+Aktualizujte svůj soubor `hardhat.config.js`, aby vypadal takto:
+
+```javascript
+/**
+ * @type import('hardhat/config').HardhatUserConfig
+ */
+
+require("dotenv").config()
+require("@nomiclabs/hardhat-ethers")
+
+const { API_URL, PRIVATE_KEY } = process.env
+
+module.exports = {
+ solidity: "0.7.3",
+ defaultNetwork: "goerli",
+ networks: {
+ hardhat: {},
+ goerli: {
+ url: API_URL,
+ accounts: [`0x${PRIVATE_KEY}`],
+ },
+ },
+}
+```
+
+### Krok 14: Kompilace našeho kontraktu {#step-14-compile-our-contract}
+
+Abychom se ujistili, že zatím vše funguje, zkompilujeme si náš kontrakt. Úkol `compile` je jedním z vestavěných úkolů Hardhatu.
+
+Z příkazového řádku spusťte:
+
+```bash
+npx hardhat compile
+```
+
+Může se zobrazit varování o `SPDX license identifier not provided in source file`, ale nemusíte se tím znepokojovat – doufejme, že vše ostatní vypadá dobře! Pokud ne, vždy můžete napsat zprávu na [discordu Alchemy](https://discord.gg/u72VCg3).
+
+### Krok 15: Napsání našeho skriptu pro nasazení {#step-15-write-our-deploy-script}
+
+Nyní, když je náš kontrakt napsán a náš konfigurační soubor je připraven, je čas napsat náš skript pro nasazení kontraktu.
+
+Přejděte do složky `scripts/`, vytvořte nový soubor s názvem `deploy.js` a přidejte do něj následující obsah:
+
+```javascript
+async function main() {
+ const HelloWorld = await ethers.getContractFactory("HelloWorld")
+
+ // Spusťte nasazení, vrátí se promise, která se vyřeší na objekt kontraktu
+ const hello_world = await HelloWorld.deploy("Hello World!")
+ console.log("Contract deployed to address:", hello_world.address)
+}
+
+main()
+ .then(() => process.exit(0))
+ .catch((error) => {
+ console.error(error)
+ process.exit(1)
+ })
+```
+
+Hardhat skvěle vysvětluje, co každý z těchto řádků kódu dělá ve svém [výukovém programu Kontrakty](https://hardhat.org/tutorial/testing-contracts.html#writing-tests), a my jsme zde jejich vysvětlení převzali.
+
+```javascript
+const HelloWorld = await ethers.getContractFactory("HelloWorld")
+```
+
+`ContractFactory` v ethers.js je abstrakce používaná k nasazení nových chytrých kontraktů, takže `HelloWorld` je zde [továrna](https://en.wikipedia.org/wiki/Factory_\(object-oriented_programming\)) pro instance našeho kontraktu hello world. Při použití pluginu `hardhat-ethers` jsou instance `ContractFactory` a `Contract` ve výchozím nastavení připojeny k prvnímu podepisujícímu (vlastníkovi).
+
+```javascript
+const hello_world = await HelloWorld.deploy()
+```
+
+Volání `deploy()` na `ContractFactory` spustí nasazení a vrátí `Promise`, která se vyřeší na objekt `Contract`. Toto je objekt, který má metodu pro každou z funkcí našeho chytrého kontraktu.
+
+### Krok 16: Nasazení našeho kontraktu {#step-16-deploy-our-contract}
+
+Konečně jsme připraveni nasadit náš chytrý kontrakt! Přejděte na příkazový řádek a spusťte:
+
+```bash
+npx hardhat run scripts/deploy.js --network goerli
+```
+
+Měli byste pak vidět něco takového:
+
+```bash
+Kontrakt nasazen na adresu: 0x6cd7d44516a20882cEa2DE9f205bF401c0d23570
+```
+
+**Tuto adresu si prosím uložte**. Budeme ji používat později v tomto tutoriálu.
+
+Pokud přejdeme na [Goerli Etherscan](https://goerli.etherscan.io) a vyhledáme adresu našeho kontraktu, měli bychom vidět, že byl úspěšně nasazen. Transakce bude vypadat nějak takto:
+
+
+
+Adresa `From` by se měla shodovat s adresou vašeho účtu MetaMask a v adrese `To` bude uvedeno **Vytvoření kontraktu**. Pokud klikneme na transakci, uvidíme v poli `To` adresu našeho kontraktu.
+
+
+
+Výborně! Právě jste nasadili chytrý kontrakt do testovací sítě Ethereum.
+
+Abyste pochopili, co se děje pod pokličkou, přejděte na kartu Průzkumník v našem [řídicím panelu Alchemy](https://dashboard.alchemy.com/explorer). Pokud máte více aplikací Alchemy, nezapomeňte filtrovat podle aplikace a vybrat **Hello World**.
+
+
+
+Zde uvidíte několik metod JSON-RPC, které pro nás Hardhat/Ethers vytvořil pod pokličkou, když jsme volali funkci `.deploy()`. Dvě důležité metody jsou zde [`eth_sendRawTransaction`](https://docs.alchemyapi.io/alchemy/documentation/alchemy-api-reference/json-rpc#eth_sendrawtransaction), což je požadavek na zapsání našeho kontraktu do chainu Goerli, a [`eth_getTransactionByHash`](https://docs.alchemyapi.io/alchemy/documentation/alchemy-api-reference/json-rpc#eth_gettransactionbyhash), což je požadavek na přečtení informací o naší transakci na základě daného haše. Chcete-li se dozvědět více o odesílání transakcí, podívejte se na [náš tutoriál o odesílání transakcí pomocí Web3](/developers/tutorials/sending-transactions-using-web3-and-alchemy/).
+
+## Část 2: Interakce s vaším chytrým kontraktem {#part-2-interact-with-your-smart-contract}
+
+Nyní, když jsme úspěšně nasadili chytrý kontrakt do sítě Goerli, se naučíme, jak s ním interagovat.
+
+### Vytvoření souboru interact.js {#create-a-interactjs-file}
+
+Toto je soubor, do kterého napíšeme náš interakční skript. Budeme používat knihovnu Ethers.js, kterou jste si nainstalovali v části 1.
+
+Uvnitř složky `scripts/` vytvořte nový soubor s názvem `interact.js` a přidejte následující kód:
+
+```javascript
+// interact.js
+
+const API_KEY = process.env.API_KEY
+const PRIVATE_KEY = process.env.PRIVATE_KEY
+const CONTRACT_ADDRESS = process.env.CONTRACT_ADDRESS
+```
+
+### Aktualizujte svůj soubor .env {#update-your-env-file}
+
+Budeme používat nové proměnné prostředí, takže je musíme definovat v souboru `.env`, který [jsme vytvořili dříve](#step-11-connect-metamask-&-alchemy-to-your-project).
+
+Budeme muset přidat definici pro náš Alchemy `API_KEY` a `CONTRACT_ADDRESS`, kde byl váš chytrý kontrakt nasazen.
+
+Váš soubor `.env` by měl vypadat nějak takto:
+
+```bash
+# .env
+
+API_URL = "https://eth-goerli.alchemyapi.io/v2/"
+API_KEY = ""
+PRIVATE_KEY = ""
+CONTRACT_ADDRESS = "0x"
+```
+
+### Získání ABI kontraktu {#grab-your-contract-ABI}
+
+Naše [ABI (Application Binary Interface)](/glossary/#abi) kontraktu je rozhraní pro interakci s naším chytrým kontraktem. Hardhat automaticky generuje ABI a ukládá ho do `HelloWorld.json`. Pro použití ABI budeme muset analyzovat obsah přidáním následujících řádků kódu do našeho souboru `interact.js`:
+
+```javascript
+// interact.js
+const contract = require("../artifacts/contracts/HelloWorld.sol/HelloWorld.json")
+```
+
+Pokud chcete vidět ABI, můžete si ho vytisknout do konzole:
+
+```javascript
+console.log(JSON.stringify(contract.abi))
+```
+
+Abyste viděli své ABI vytištěné v konzoli, přejděte do terminálu a spusťte:
+
+```bash
+npx hardhat run scripts/interact.js
+```
+
+### Vytvoření instance vašeho kontraktu {#create-an-instance-of-your-contract}
+
+Pro interakci s naším kontraktem musíme v našem kódu vytvořit instanci kontraktu. Abychom tak učinili s Ethers.js, budeme muset pracovat se třemi koncepty:
+
+1. Provider - poskytovatel uzlu, který vám dává přístup ke čtení a zápisu do blockchainu
+2. Signer - představuje účet Ethereum, který může podepisovat transakce
+3. Contract - objekt Ethers.js představující konkrétní kontrakt nasazený na blockchainu
+
+K vytvoření naší instance kontraktu použijeme ABI kontraktu z předchozího kroku:
+
+```javascript
+// interact.js
+
+// Provider
+const alchemyProvider = new ethers.providers.AlchemyProvider(
+ (network = "goerli"),
+ API_KEY
+)
+
+// Signer
+const signer = new ethers.Wallet(PRIVATE_KEY, alchemyProvider)
+
+// Contract
+const helloWorldContract = new ethers.Contract(
+ CONTRACT_ADDRESS,
+ contract.abi,
+ signer
+)
+```
+
+Více se o Providerech, Signerech a Kontraktech dozvíte v [dokumentaci ethers.js](https://docs.ethers.io/v5/).
+
+### Přečtěte si úvodní zprávu {#read-the-init-message}
+
+Pamatujete si, když jsme nasadili náš kontrakt s `initMessage = "Hello world!"`? Nyní se chystáme přečíst zprávu uloženou v našem chytrém kontraktu a vytisknout ji do konzole.
+
+V JavaScriptu se při interakci se sítěmi používají asynchronní funkce. Chcete-li se dozvědět více o asynchronních funkcích, [přečtěte si tento článek na Medium](https://blog.bitsrc.io/understanding-asynchronous-javascript-the-event-loop-74cd408419ff).
+
+Použijte níže uvedený kód pro volání funkce `message` v našem chytrém kontraktu a přečtení úvodní zprávy:
+
+```javascript
+// interact.js
+
+// ...
+
+async function main() {
+ const message = await helloWorldContract.message()
+ console.log("Zpráva zní: " + message)
+}
+main()
+```
+
+Po spuštění souboru pomocí `npx hardhat run scripts/interact.js` v terminálu bychom měli vidět tuto odpověď:
+
+```
+Zpráva zní: Hello world!
+```
+
+Výborně! Právě jste úspěšně přečetli data chytrého kontraktu z blockchainu Ethereum, skvělá práce!
+
+### Aktualizovat zprávu {#update-the-message}
+
+Místo pouhého čtení zprávy můžeme také aktualizovat zprávu uloženou v našem chytrém kontraktu pomocí funkce `update`! Docela super, že?
+
+Pro aktualizaci zprávy můžeme přímo zavolat funkci `update` na našem instancovaném objektu Contract:
+
+```javascript
+// interact.js
+
+// ...
+
+async function main() {
+ const message = await helloWorldContract.message()
+ console.log("Zpráva zní: " + message)
+
+ console.log("Aktualizace zprávy...")
+ const tx = await helloWorldContract.update("Toto je nová zpráva.")
+ await tx.wait()
+}
+main()
+```
+
+Všimněte si, že na řádku 11 voláme `.wait()` na vráceném objektu transakce. To zajišťuje, že náš skript počká, až se transakce vytěží na blockchainu, než opustí funkci. Pokud není zahrnuto volání `.wait()`, skript nemusí vidět aktualizovanou hodnotu `message` v kontraktu.
+
+### Přečtěte si novou zprávu {#read-the-new-message}
+
+Měli byste být schopni zopakovat [předchozí krok](#read-the-init-message) a přečíst aktualizovanou hodnotu `message`. Chvilku se zamyslete a zkuste provést změny potřebné k vytištění této nové hodnoty!
+
+Pokud potřebujete nápovědu, takto by měl v tuto chvíli vypadat váš soubor `interact.js`:
+
+```javascript
+// interact.js
+
+const API_KEY = process.env.API_KEY
+const PRIVATE_KEY = process.env.PRIVATE_KEY
+const CONTRACT_ADDRESS = process.env.CONTRACT_ADDRESS
+
+const contract = require("../artifacts/contracts/HelloWorld.sol/HelloWorld.json")
+
+// provider - Alchemy
+const alchemyProvider = new ethers.providers.AlchemyProvider(
+ (network = "goerli"),
+ API_KEY
+)
+
+// signer - you
+const signer = new ethers.Wallet(PRIVATE_KEY, alchemyProvider)
+
+// instance kontraktu
+const helloWorldContract = new ethers.Contract(
+ CONTRACT_ADDRESS,
+ contract.abi,
+ signer
+)
+
+async function main() {
+ const message = await helloWorldContract.message()
+ console.log("Zpráva zní: " + message)
+
+ console.log("Aktualizace zprávy...")
+ const tx = await helloWorldContract.update("toto je nová zpráva")
+ await tx.wait()
+
+ const newMessage = await helloWorldContract.message()
+ console.log("Nová zpráva zní: " + newMessage)
+}
+
+main()
+```
+
+Nyní stačí spustit skript a měli byste vidět starou zprávu, stav aktualizace a novou zprávu vytištěnou ve vašem terminálu!
+
+`npx hardhat run scripts/interact.js --network goerli`
+
+```
+Zpráva zní: Hello World!
+Aktualizace zprávy...
+Nová zpráva zní: Toto je nová zpráva.
+```
+
+Při spouštění tohoto skriptu si můžete všimnout, že krok `Updating the message...` (Aktualizace zprávy...) chvíli trvá, než se načte nová zpráva. Je to kvůli procesu těžby; pokud jste zvědaví na sledování transakcí během jejich těžby, navštivte [mempool Alchemy](https://dashboard.alchemyapi.io/mempool) a podívejte se na stav transakce. Pokud je transakce zrušena, je také užitečné zkontrolovat [Goerli Etherscan](https://goerli.etherscan.io) a vyhledat haš vaší transakce.
+
+## Část 3: Zveřejnění vašeho chytrého kontraktu na Etherscanu {#part-3-publish-your-smart-contract-to-etherscan}
+
+Odvedli jste veškerou těžkou práci, abyste svůj chytrý kontrakt přivedli k životu; nyní je čas podělit se o něj se světem!
+
+Ověřením vašeho chytrého kontraktu na Etherscanu si může kdokoli prohlédnout váš zdrojový kód a interagovat s vaším chytrým kontraktem. Začínáme!
+
+### Krok 1: Vygenerování API klíče na vašem účtu Etherscan {#step-1-generate-an-api-key-on-your-etherscan-account}
+
+Klíč Etherscan API je nezbytný k ověření, že vlastníte chytrý kontrakt, který se pokoušíte publikovat.
+
+Pokud ještě nemáte účet Etherscan, [zaregistrujte si jej](https://etherscan.io/register).
+
+Po přihlášení najděte své uživatelské jméno v navigační liště, najeďte na něj a vyberte tlačítko **Můj profil**.
+
+Na stránce vašeho profilu byste měli vidět boční navigační lištu. Z boční navigační lišty vyberte **API klíče**. Dále stiskněte tlačítko „Přidat“ pro vytvoření nového API klíče, pojmenujte svou aplikaci **hello-world** a stiskněte tlačítko **Vytvořit nový API klíč**.
+
+Váš nový API klíč by se měl objevit v tabulce API klíčů. Zkopírujte API klíč do schránky.
+
+Dále musíme přidat Etherscan API klíč do našeho souboru `.env`.
+
+Po jeho přidání by měl váš soubor `.env` vypadat takto:
+
+```javascript
+API_URL = "https://eth-goerli.alchemyapi.io/v2/your-api-key"
+PUBLIC_KEY = "your-public-account-address"
+PRIVATE_KEY = "your-private-account-address"
+CONTRACT_ADDRESS = "your-contract-address"
+ETHERSCAN_API_KEY = "your-etherscan-key"
+```
+
+### Chytré kontrakty nasazené pomocí Hardhat {#hardhat-deployed-smart-contracts}
+
+#### Instalace hardhat-etherscan {#install-hardhat-etherscan}
+
+Publikování vašeho kontraktu na Etherscan pomocí Hardhat je jednoduché. Nejprve budete muset nainstalovat plugin `hardhat-etherscan`, abyste mohli začít. `hardhat-etherscan` automaticky ověří zdrojový kód a ABI chytrého kontraktu na Etherscanu. Pro jeho přidání spusťte v adresáři `hello-world`:
+
+```text
+npm install --save-dev @nomiclabs/hardhat-etherscan
+```
+
+Po instalaci vložte následující příkaz na začátek souboru `hardhat.config.js` a přidejte možnosti konfigurace Etherscanu:
+
+```javascript
+// hardhat.config.js
+
+require("dotenv").config()
+require("@nomiclabs/hardhat-ethers")
+require("@nomiclabs/hardhat-etherscan")
+
+const { API_URL, PRIVATE_KEY, ETHERSCAN_API_KEY } = process.env
+
+module.exports = {
+ solidity: "0.7.3",
+ defaultNetwork: "goerli",
+ networks: {
+ hardhat: {},
+ goerli: {
+ url: API_URL,
+ accounts: [`0x${PRIVATE_KEY}`],
+ },
+ },
+ etherscan: {
+ // Váš API klíč pro Etherscan
+ // Získejte jej na https://etherscan.io/
+ apiKey: ETHERSCAN_API_KEY,
+ },
+}
+```
+
+#### Ověření vašeho chytrého kontraktu na Etherscanu {#verify-your-smart-contract-on-etherscan}
+
+Ujistěte se, že jsou všechny soubory uloženy a všechny proměnné v souboru `.env` jsou správně nakonfigurovány.
+
+Spusťte úlohu `verify`, předejte adresu kontraktu a síť, kde je nasazen:
+
+```text
+npx hardhat verify --network goerli DEPLOYED_CONTRACT_ADDRESS 'Hello World!'
+```
+
+Ujistěte se, že `DEPLOYED_CONTRACT_ADDRESS` je adresa vašeho nasazeného chytrého kontraktu v testovací síti Goerli. Také poslední argument (`'Hello World!'`) musí být stejná řetězcová hodnota, která byla použita [během kroku nasazení v části 1](#write-our-deploy-script).
+
+Pokud vše půjde dobře, uvidíte ve svém terminálu následující zprávu:
+
+```text
+Zdrojový kód pro kontrakt byl úspěšně odeslán
+contracts/HelloWorld.sol:HelloWorld na 0xdeployed-contract-address
+k ověření na Etherscanu. Čekání na výsledek ověření...
+
+
+Kontrakt HelloWorld byl úspěšně ověřen na Etherscanu.
+https://goerli.etherscan.io/address/#contracts
+```
+
+Výborně! Kód vašeho chytrého kontraktu je na Etherscanu!
+
+### Podívejte se na svůj chytrý kontrakt na Etherscanu! {#check-out-your-smart-contract-on-etherscan}
+
+Když přejdete na odkaz uvedený ve vašem terminálu, měli byste vidět svůj kód chytrého kontraktu a ABI publikované na Etherscanu!
+
+**Paráda – dokázali jste to, šampione! Nyní může kdokoli volat nebo zapisovat do vašeho chytrého kontraktu! Těšíme se, co postavíte příště!**
+
+## Část 4 – Integrace vašeho chytrého kontraktu s frontendem {#part-4-integrating-your-smart-contract-with-the-frontend}
+
+Na konci tohoto tutoriálu budete vědět, jak:
+
+- Připojit peněženku MetaMask k vaší dapp
+- Číst data z vašeho chytrého kontraktu pomocí [Alchemy Web3](https://docs.alchemy.com/alchemy/documentation/alchemy-web3) API
+- Podepisovat transakce Ethereum pomocí MetaMask
+
+Pro tuto dapp budeme jako frontendový framework používat [React](https://react.dev/); je však důležité si uvědomit, že nebudeme trávit mnoho času rozebíráním jeho základů, protože se budeme soustředit hlavně na přenesení funkčnosti Web3 do našeho projektu.
+
+Jako předpoklad byste měli mít základní znalosti Reactu. Pokud ne, doporučujeme dokončit oficiální [tutoriál Úvod do Reactu](https://react.dev/learn).
+
+### Naklonujte si startovací soubory {#clone-the-starter-files}
+
+Nejprve přejděte do [GitHub repozitáře hello-world-part-four](https://github.com/alchemyplatform/hello-world-part-four-tutorial), abyste získali startovací soubory pro tento projekt, a naklonujte tento repozitář na váš lokální počítač.
+
+Otevřete si naklonovaný repozitář lokálně. Všimněte si, že obsahuje dvě složky: `starter-files` a `completed`.
+
+- `starter-files`- **budeme pracovat v tomto adresáři**, propojíme UI s vaší peněženkou Ethereum a s chytrým kontraktem, který jsme publikovali na Etherscanu v [Části 3](#part-3).
+- `completed` obsahuje celý dokončený tutoriál a měl by být použit pouze jako reference, pokud se zaseknete.
+
+Dále si otevřete vaši kopii `starter-files` ve vašem oblíbeném editoru kódu a poté přejděte do složky `src`.
+
+Veškerý kód, který napíšeme, bude umístěn ve složce `src`. Budeme upravovat komponentu `HelloWorld.js` a javascriptové soubory `util/interact.js`, abychom našemu projektu dodali funkčnost Web3.
+
+### Prozkoumejte startovací soubory {#check-out-the-starter-files}
+
+Než začneme kódovat, prozkoumejme, co nám startovací soubory poskytují.
+
+#### Spusťte svůj projekt v Reactu {#get-your-react-project-running}
+
+Začněme spuštěním projektu React v našem prohlížeči. Krása Reactu spočívá v tom, že jakmile náš projekt běží v prohlížeči, veškeré uložené změny se v prohlížeči projeví v reálném čase.
+
+Aby projekt fungoval, přejděte do kořenového adresáře složky `starter-files` a spusťte v terminálu `npm install` pro instalaci závislostí projektu:
+
+```bash
+cd starter-files
+npm install
+```
+
+Jakmile se dokončí instalace, spusťte v terminálu `npm start`:
+
+```bash
+npm start
+```
+
+Tím by se měla ve vašem prohlížeči otevřít adresa [http://localhost:3000/](http://localhost:3000/), kde uvidíte frontend našeho projektu. Měl by se skládat z jednoho pole (místo pro aktualizaci zprávy uložené ve vašem chytrém kontraktu), tlačítka „Připojit peněženku“ a tlačítka „Aktualizovat“.
+
+Pokud zkusíte kliknout na kterékoli tlačítko, zjistíte, že nefungují – je to proto, že jejich funkčnost musíme teprve naprogramovat.
+
+#### Komponenta `HelloWorld.js` {#the-helloworld-js-component}
+
+Vraťme se zpět do složky `src` v našem editoru a otevřeme si soubor `HelloWorld.js`. Je nesmírně důležité, abychom všemu v tomto souboru rozuměli, protože se jedná o primární komponentu Reactu, na které budeme pracovat.
+
+Na začátku tohoto souboru si všimnete, že máme několik importních příkazů, které jsou nezbytné pro spuštění našeho projektu, včetně knihovny React, hooků useEffect a useState, některých položek z `./util/interact.js` (popíšeme je podrobněji brzy!) a loga Alchemy.
+
+```javascript
+// HelloWorld.js
+
+import React from "react"
+import { useEffect, useState } from "react"
+import {
+ helloWorldContract,
+ connectWallet,
+ updateMessage,
+ loadCurrentMessage,
+ getCurrentWalletConnected,
+} from "./util/interact.js"
+
+import alchemylogo from "./alchemylogo.svg"
+```
+
+Dále máme naše stavové proměnné, které budeme aktualizovat po konkrétních událostech.
+
+```javascript
+// HelloWorld.js
+
+//Stavové proměnné
+const [walletAddress, setWallet] = useState("")
+const [status, setStatus] = useState("")
+const [message, setMessage] = useState("Žádné spojení se sítí.")
+const [newMessage, setNewMessage] = useState("")
+```
+
+Zde je, co každá proměnná představuje:
+
+- `walletAddress` – řetězec, který ukládá adresu peněženky uživatele
+- `status` – řetězec, který uchovává užitečnou zprávu, jež uživatele navádí, jak s dapp interagovat
+- `message` - řetězec, který ukládá aktuální zprávu v chytrém kontraktu
+- `newMessage` - řetězec, který ukládá novou zprávu, která bude zapsána do chytrého kontraktu
+
+Po stavových proměnných uvidíte pět neimplementovaných funkcí: `useEffect` ,`addSmartContractListener`, `addWalletListener` , `connectWalletPressed` a `onUpdatePressed`. Níže vysvětlíme, co dělají:
+
+```javascript
+// HelloWorld.js
+
+//voláno pouze jednou
+useEffect(async () => {
+ //TODO: implement
+}, [])
+
+function addSmartContractListener() {
+ //TODO: implement
+}
+
+function addWalletListener() {
+ //TODO: implement
+}
+
+const connectWalletPressed = async () => {
+ //TODO: implement
+}
+
+const onUpdatePressed = async () => {
+ //TODO: implement
+}
+```
+
+- [`useEffect`](https://legacy.reactjs.org/docs/hooks-effect.html)- toto je React hook, který se volá po vykreslení vaší komponenty. Protože má prázdné pole `[]` jako prop (viz řádek 4), bude volán pouze při _prvním_ vykreslení komponenty. Zde načteme aktuální zprávu uloženou v našem chytrém kontraktu, zavoláme naše posluchače chytrého kontraktu a peněženky a aktualizujeme naše UI tak, aby odráželo, zda je peněženka již připojena.
+- `addSmartContractListener`- tato funkce nastaví posluchače, který bude sledovat událost `UpdatedMessages` našeho kontraktu HelloWorld a aktualizuje naše UI, když se zpráva v našem chytrém kontraktu změní.
+- `addWalletListener`- tato funkce nastaví posluchače, který detekuje změny ve stavu peněženky MetaMask uživatele, například když uživatel odpojí svou peněženku nebo přepne adresy.
+- `connectWalletPressed`- tato funkce bude volána pro připojení peněženky MetaMask uživatele k naší dapp.
+- `onUpdatePressed` – tato funkce bude volána, když uživatel bude chtít aktualizovat zprávu uloženou v chytrém kontraktu.
+
+Na konci tohoto souboru máme uživatelské rozhraní naší komponenty.
+
+```javascript
+// HelloWorld.js
+
+//UI naší komponenty
+return (
+
+)
+```
+
+Pokud si tento kód pozorně prostudujete, zjistíte, kde v našem UI používáme naše různé stavové proměnné:
+
+- Na řádcích 6-12, pokud je peněženka uživatele připojena (tj. `walletAddress.length > 0`), zobrazíme zkrácenou verzi adresy uživatele `walletAddress` v tlačítku s ID „walletButton;“ jinak se jednoduše zobrazí „Připojit peněženku“.
+- Na řádku 17 zobrazujeme aktuální zprávu uloženou v chytrém kontraktu, která je zachycena v řetězci `message`.
+- Na řádcích 23-26 používáme [řízenou komponentu](https://legacy.reactjs.org/docs/forms.html#controlled-components) k aktualizaci naší stavové proměnné `newMessage`, když se změní vstup v textovém poli.
+
+Kromě našich stavových proměnných také uvidíte, že funkce `connectWalletPressed` a `onUpdatePressed` jsou volány při kliknutí na tlačítka s ID `publishButton` a `walletButton`.
+
+Nakonec se podívejme, kam se tato komponenta `HelloWorld.js` přidává.
+
+Pokud přejdete do souboru `App.js`, který je hlavní komponentou v Reactu a slouží jako kontejner pro všechny ostatní komponenty, uvidíte, že naše komponenta `HelloWorld.js` je vložena na řádku 7.
+
+V neposlední řadě se podívejme na ještě jeden soubor, který máte k dispozici, a to `interact.js`.
+
+#### Soubor `interact.js` {#the-interact-js-file}
+
+Protože se chceme řídit paradigmatem [M-V-C](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller), budeme chtít samostatný soubor, který bude obsahovat všechny naše funkce pro správu logiky, dat a pravidel naší dapp, a poté budeme moci tyto funkce exportovat do našeho frontendu (naší komponenty `HelloWorld.js`).
+
+👆🏽Toto je přesně účel našeho souboru `interact.js`!
+
+Přejděte do složky `util` ve vašem adresáři `src` a všimnete si, že jsme zahrnuli soubor s názvem `interact.js`, který bude obsahovat všechny naše funkce a proměnné pro interakci s chytrým kontraktem a peněženkou.
+
+```javascript
+// interact.js
+
+//export const helloWorldContract;
+
+export const loadCurrentMessage = async () => {}
+
+export const connectWallet = async () => {}
+
+const getCurrentWalletConnected = async () => {}
+
+export const updateMessage = async (message) => {}
+```
+
+Na začátku souboru si všimnete, že jsme zakomentovali objekt `helloWorldContract`. Později v tomto tutoriálu tento objekt odkomentujeme a instancujeme náš chytrý kontrakt do této proměnné, kterou pak exportujeme do naší komponenty `HelloWorld.js`.
+
+Čtyři neimplementované funkce za naším objektem `helloWorldContract` dělají následující:
+
+- `loadCurrentMessage` – tato funkce se stará o logiku načítání aktuální zprávy uložené v chytrém kontraktu. Provede volání _čtení_ na chytrý kontrakt Hello World pomocí [Alchemy Web3 API](https://github.com/alchemyplatform/alchemy-web3).
+- `connectWallet` - tato funkce připojí peněženku MetaMask uživatele k naší dapp.
+- `getCurrentWalletConnected` – tato funkce zkontroluje, zda je účet Ethereum již připojen k naší dapp při načítání stránky a podle toho aktualizuje naše UI.
+- `updateMessage` – tato funkce aktualizuje zprávu uloženou v chytrém kontraktu. Provede _zápisové_ volání na chytrý kontrakt Hello World, takže peněženka MetaMask uživatele bude muset podepsat transakci Ethereum k aktualizaci zprávy.
+
+Nyní, když rozumíme tomu, s čím pracujeme, pojďme zjistit, jak číst z našeho chytrého kontraktu!
+
+### Krok 3: Čtení z vašeho chytrého kontraktu {#step-3-read-from-your-smart-contract}
+
+Chcete-li číst ze svého chytrého kontraktu, musíte úspěšně nastavit:
+
+- API připojení k řetězci Ethereum
+- Načtenou instanci vašeho chytrého kontraktu
+- Funkci pro volání funkce vašeho chytrého kontraktu
+- Posluchače pro sledování aktualizací, když se změní data, která čtete z chytrého kontraktu
+
+To může znít jako mnoho kroků, ale nebojte se! Provedeme vás každým z nich krok za krokem! :\)
+
+#### Vytvoření API spojení s Ethereum chainem {#establish-an-api-connection-to-the-ethereum-chain}
+
+Vzpomínáte si, jak jsme v části 2 tohoto tutoriálu použili náš [Alchemy Web3 klíč k čtení z našeho chytrého kontraktu](https://docs.alchemy.com/alchemy/tutorials/hello-world-smart-contract/interacting-with-a-smart-contract#step-1-install-web3-library)? Ve své dapp budete také potřebovat klíč Alchemy Web3, abyste mohli číst z chainu.
+
+Pokud jej ještě nemáte, nejprve si nainstalujte [Alchemy Web3](https://github.com/alchemyplatform/alchemy-web3) tak, že přejdete do kořenového adresáře vašich `starter-files` a spustíte v terminálu následující příkaz:
+
+```text
+npm install @alch/alchemy-web3
+```
+
+[Alchemy Web3](https://github.com/alchemyplatform/alchemy-web3) je nadstavba nad [Web3.js](https://docs.web3js.org/), která poskytuje vylepšené metody API a další klíčové výhody, které vám usnadní život vývojáře web3. Je navržen tak, aby vyžadoval minimální konfiguraci, takže jej můžete ve své aplikaci začít používat okamžitě!
+
+Poté nainstalujte balíček [dotenv](https://www.npmjs.com/package/dotenv) do adresáře svého projektu, abychom měli bezpečné místo pro uložení našeho API klíče po jeho získání.
+
+```text
+npm install dotenv --save
+```
+
+Pro naši dapp **budeme používat náš API klíč pro Websockets** namísto našeho API klíče pro HTTP, protože nám to umožní nastavit posluchače, který detekuje, kdy se změní zpráva uložená v chytrém kontraktu.
+
+Jakmile budete mít svůj API klíč, vytvořte v kořenovém adresáři soubor `.env` a přidejte do něj svou Alchemy Websockets URL. Poté by měl váš soubor `.env` vypadat takto:
+
+```javascript
+REACT_APP_ALCHEMY_KEY = wss://eth-goerli.ws.alchemyapi.io/v2/
+```
+
+Nyní jsme připraveni nastavit náš Alchemy Web3 endpoint v naší dapp! Vraťme se k našemu souboru `interact.js`, který je vnořený do naší složky `util` a přidejme následující kód na začátek souboru:
+
+```javascript
+// interact.js
+
+require("dotenv").config()
+const alchemyKey = process.env.REACT_APP_ALCHEMY_KEY
+const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
+const web3 = createAlchemyWeb3(alchemyKey)
+
+//export const helloWorldContract;
+```
+
+Výše jsme nejprve importovali klíč Alchemy z našeho souboru `.env` a poté jsme předali náš `alchemyKey` do `createAlchemyWeb3`, abychom vytvořili náš Alchemy Web3 endpoint.
+
+S tímto připraveným koncovým bodem je čas načíst náš chytrý kontrakt!
+
+#### Načítání vašeho chytrého kontraktu Hello World {#loading-your-hello-world-smart-contract}
+
+K načtení vašeho chytrého kontraktu Hello World budete potřebovat jeho adresu kontraktu a ABI, obojí lze najít na Etherscanu, pokud jste dokončili [Část 3 tohoto tutoriálu.](/developers/tutorials/hello-world-smart-contract-fullstack/#part-3-publish-your-smart-contract-to-etherscan-part-3-publish-your-smart-contract-to-etherscan)
+
+#### Jak získat ABI kontraktu z Etherscanu {#how-to-get-your-contract-abi-from-etherscan}
+
+Pokud jste přeskočili Část 3 tohoto tutoriálu, můžete použít kontrakt HelloWorld s adresou [0x6f3f635A9762B47954229Ea479b4541eAF402A6A](https://goerli.etherscan.io/address/0x6f3f635a9762b47954229ea479b4541eaf402a6a#code). Jeho ABI lze nalézt [zde](https://goerli.etherscan.io/address/0x6f3f635a9762b47954229ea479b4541eaf402a6a#code).
+
+ABI kontraktu je nezbytné pro určení, kterou funkci bude kontrakt volat, a také pro zajištění, že funkce vrátí data ve formátu, který očekáváte. Jakmile jsme zkopírovali naše ABI kontraktu, uložme ho jako JSON soubor s názvem `contract-abi.json` do vašeho adresáře `src`.
+
+Váš contract-abi.json by měl být uložen ve složce src.
+
+Vyzbrojeni adresou kontraktu, ABI a Alchemy Web3 koncovým bodem můžeme použít [metodu kontraktu](https://docs.web3js.org/api/web3-eth-contract/class/Contract) k načtení instance našeho chytrého kontraktu. Importujte ABI vašeho kontraktu do souboru `interact.js` a přidejte adresu svého kontraktu.
+
+```javascript
+// interact.js
+
+const contractABI = require("../contract-abi.json")
+const contractAddress = "0x6f3f635A9762B47954229Ea479b4541eAF402A6A"
+```
+
+Nyní můžeme konečně odkomentovat naši proměnnou `helloWorldContract` a načíst chytrý kontrakt pomocí našeho koncového bodu AlchemyWeb3:
+
+```javascript
+// interact.js
+export const helloWorldContract = new web3.eth.Contract(
+ contractABI,
+ contractAddress
+)
+```
+
+Abychom to shrnuli, prvních 12 řádků vašeho souboru `interact.js` by nyní mělo vypadat takto:
+
+```javascript
+// interact.js
+
+require("dotenv").config()
+const alchemyKey = process.env.REACT_APP_ALCHEMY_KEY
+const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
+const web3 = createAlchemyWeb3(alchemyKey)
+
+const contractABI = require("../contract-abi.json")
+const contractAddress = "0x6f3f635A9762B47954229Ea479b4541eAF402A6A"
+
+export const helloWorldContract = new web3.eth.Contract(
+ contractABI,
+ contractAddress
+)
+```
+
+Nyní, když máme náš kontrakt načtený, můžeme implementovat naši funkci `loadCurrentMessage`!
+
+#### Implementace `loadCurrentMessage` ve vašem souboru `interact.js` {#implementing-loadCurrentMessage-in-your-interact-js-file}
+
+Tato funkce je super jednoduchá. Provedeme jednoduché asynchronní volání web3 pro čtení z našeho kontraktu. Naše funkce vrátí zprávu uloženou v chytrém kontraktu:
+
+Aktualizujte `loadCurrentMessage` ve vašem souboru `interact.js` na následující:
+
+```javascript
+// interact.js
+
+export const loadCurrentMessage = async () => {
+ const message = await helloWorldContract.methods.message().call()
+ return message
+}
+```
+
+Protože chceme zobrazit tento chytrý kontrakt v našem UI, aktualizujme funkci `useEffect` v naší komponentě `HelloWorld.js` na následující:
+
+```javascript
+// HelloWorld.js
+
+//voláno pouze jednou
+useEffect(async () => {
+ const message = await loadCurrentMessage()
+ setMessage(message)
+}, [])
+```
+
+Všimněte si, že chceme, aby byla naše funkce `loadCurrentMessage` volána pouze jednou během prvního vykreslení komponenty. Brzy implementujeme `addSmartContractListener` pro automatickou aktualizaci UI po změně zprávy v chytrém kontraktu.
+
+Než se pustíme do našeho posluchače, podívejme se, co jsme zatím dokázali! Uložte si soubory `HelloWorld.js` a `interact.js` a přejděte na [http://localhost:3000/](http://localhost:3000/)
+
+Všimnete si, že aktuální zpráva již neříká „Žádné spojení se sítí“. Místo toho odráží zprávu uloženou v chytrém kontraktu. Super!
+
+#### Vaše UI by nyní mělo odrážet zprávu uloženou v chytrém kontraktu {#your-UI-should-now-reflect-the-message-stored-in-the-smart-contract}
+
+A teď k tomu posluchači...
+
+#### Implementace `addSmartContractListener` {#implement-addsmartcontractlistener}
+
+Pokud si vzpomenete na soubor `HelloWorld.sol`, který jsme napsali v [části 1 této série tutoriálů](https://docs.alchemy.com/alchemy/tutorials/hello-world-smart-contract#step-10-write-our-contract), vzpomenete si, že existuje událost chytrého kontraktu s názvem `UpdatedMessages`, která je emitována po vyvolání funkce `update` našeho chytrého kontraktu (viz řádky 9 a 27):
+
+```javascript
+// HelloWorld.sol
+
+// Určuje verzi Solidity pomocí sémantického verzování.
+// Více informací: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
+pragma solidity ^0.7.3;
+
+// Definuje kontrakt s názvem `HelloWorld`.
+// Kontrakt je soubor funkcí a dat (jeho stav). Po nasazení se kontrakt nachází na určité adrese na blockchainu Ethereum. Více informací: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html
+contract HelloWorld {
+
+ // Emituje se při zavolání funkce update
+ // Události chytrého kontraktu jsou způsob, jakým může váš kontrakt sdělit vašemu front-endu, že se na blockchainu něco stalo, což může „naslouchat“ určitým událostem a při jejich výskytu provést akci.
+ event UpdatedMessages(string oldStr, string newStr);
+
+ // Deklaruje stavovou proměnnou `message` typu `string`.
+ // Stavové proměnné jsou proměnné, jejichž hodnoty jsou trvale uloženy v úložišti kontraktu. Klíčové slovo `public` zpřístupňuje proměnné zvenčí kontraktu a vytváří funkci, kterou mohou volat jiné kontrakty nebo klienti pro přístup k hodnotě.
+ string public message;
+
+ // Podobně jako v mnoha třídních objektově orientovaných jazycích je konstruktor speciální funkce, která se provádí pouze při vytvoření kontraktu.
+ // Konstruktory se používají k inicializaci dat kontraktu. Více informací:https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors
+ constructor(string memory initMessage) {
+
+ // Přijímá řetězcový argument `initMessage` a nastavuje hodnotu do úložné proměnné kontraktu `message`).
+ message = initMessage;
+ }
+
+ // Veřejná funkce, která přijímá řetězcový argument a aktualizuje úložnou proměnnou `message`.
+ function update(string memory newMessage) public {
+ string memory oldMsg = message;
+ message = newMessage;
+ emit UpdatedMessages(oldMsg, newMessage);
+ }
+}
+```
+
+Události chytrého kontraktu jsou způsob, jakým může váš kontrakt komunikovat, že se na blockchainu něco stalo (tj. došlo k _události_) vaší front-endové aplikaci, která může „naslouchat“ konkrétním událostem a při jejich výskytu provádět akce.
+
+Funkce `addSmartContractListener` bude specificky naslouchat události `UpdatedMessages` našeho chytrého kontraktu Hello World a aktualizovat naše UI, aby zobrazilo novou zprávu.
+
+Upravte `addSmartContractListener` na následující:
+
+```javascript
+// HelloWorld.js
+
+function addSmartContractListener() {
+ helloWorldContract.events.UpdatedMessages({}, (error, data) => {
+ if (error) {
+ setStatus("😥 " + error.message)
+ } else {
+ setMessage(data.returnValues[1])
+ setNewMessage("")
+ setStatus("🎉 Vaše zpráva byla aktualizována!")
+ }
+ })
+}
+```
+
+Pojďme si rozebrat, co se stane, když posluchač detekuje událost:
+
+- Pokud dojde k chybě při emisi události, projeví se to v UI prostřednictvím naší stavové proměnné `status`.
+- V opačném případě použijeme vrácený objekt `data`. `data.returnValues` je pole indexované od nuly, kde první prvek pole ukládá předchozí zprávu a druhý prvek ukládá aktualizovanou. Celkově při úspěšné události nastavíme náš řetězec `message` na aktualizovanou zprávu, vymažeme řetězec `newMessage` a aktualizujeme naši stavovou proměnnou `status`, aby odrážela, že byla na našem chytrém kontraktu publikována nová zpráva.
+
+Nakonec zavoláme našeho posluchače ve funkci `useEffect`, aby byl inicializován při prvním vykreslení komponenty `HelloWorld.js`. Celkově by vaše funkce `useEffect` měla vypadat takto:
+
+```javascript
+// HelloWorld.js
+
+useEffect(async () => {
+ const message = await loadCurrentMessage()
+ setMessage(message)
+ addSmartContractListener()
+}, [])
+```
+
+Nyní, když umíme číst z našeho chytrého kontraktu, bylo by skvělé zjistit, jak do něj také zapisovat! Abychom však mohli do naší dapp zapisovat, musíme k ní mít nejprve připojenou peněženku Ethereum.
+
+Takže dále se budeme zabývat nastavením naší peněženky Ethereum (MetaMask) a jejím připojením k naší dapp!
+
+### Krok 4: Nastavení vaší peněženky Ethereum {#step-4-set-up-your-ethereum-wallet}
+
+Aby mohli uživatelé cokoliv zapsat na Ethereum chain, musí podepisovat transakce pomocí privátních klíčů své virtuální peněženky. Pro tento tutoriál použijeme [MetaMask](https://metamask.io/), virtuální peněženku v prohlížeči, která slouží ke správě vaší adresy účtu Ethereum, protože to pro koncového uživatele velmi usnadňuje podepisování transakcí.
+
+Pokud chcete lépe porozumět tomu, jak fungují transakce na Ethereu, podívejte se na [tuto stránku](/developers/docs/transactions/) od Nadace Ethereum.
+
+#### Stáhněte si MetaMask {#download-metamask}
+
+Účet MetaMask si můžete zdarma stáhnout a vytvořit [zde](https://metamask.io/download). Při vytváření účtu nebo pokud již účet máte, nezapomeňte se vpravo nahoře přepnout na „testovací síť Goerli“ (abychom nepracovali se skutečnými penězi).
+
+#### Přidání etheru z faucetu {#add-ether-from-a-faucet}
+
+K podepsání transakce na blockchainu Ethereum budeme potřebovat nějaký falešný ETH. Pro získání ETH můžete jít na [FaucETH](https://fauceth.komputing.org) a zadat adresu svého účtu Goerli, kliknout na „Požádat o prostředky“, poté v rozevíracím seznamu vybrat „Ethereum Testnet Goerli“ a nakonec znovu kliknout na tlačítko „Požádat o prostředky“. Krátce poté byste měli vidět Eth ve svém účtu MetaMask!
+
+#### Zkontrolujte si zůstatek {#check-your-balance}
+
+Abychom si ověřili, že náš zůstatek je k dispozici, proveďte požadavek [eth_getBalance](https://docs.alchemyapi.io/alchemy/documentation/alchemy-api-reference/json-rpc#eth_getbalance) pomocí [nástroje Composer od Alchemy](https://composer.alchemyapi.io/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getBalance%22%2C%22paramValues%22%3A%5B%22%22%2C%22latest%22%5D%7D). Tím získáte množství Eth ve vaší peněžence. Po zadání adresy vašeho účtu MetaMask a kliknutí na „Send Request“ byste měli vidět takovouto odpověď:
+
+```text
+{"jsonrpc": "2.0", "id": 0, "result": "0xde0b6b3a7640000"}
+```
+
+**POZNÁMKA:** Tento výsledek je ve wei, nikoli v eth. Wei se používá jako nejmenší denominace etheru. Převod z wei na eth je: 1 eth = 10¹⁸ wei. Takže pokud převedeme 0xde0b6b3a7640000 na desetinné číslo, dostaneme 1\*10¹⁸, což se rovná 1 eth.
+
+Uf! Naše falešné peníze jsou všechny tam! 🤑
+
+### Krok 5: Připojení MetaMask k vašemu UI {#step-5-connect-metamask-to-your-UI}
+
+Nyní, když je naše peněženka MetaMask nastavena, připojme k ní naši dapp!
+
+#### Funkce `connectWallet` {#the-connectWallet-function}
+
+V našem souboru `interact.js` implementujeme funkci `connectWallet`, kterou pak můžeme zavolat v naší komponentě `HelloWorld.js`.
+
+Upravme `connectWallet` na následující:
+
+```javascript
+// interact.js
+
+export const connectWallet = async () => {
+ if (window.ethereum) {
+ try {
+ const addressArray = await window.ethereum.request({
+ method: "eth_requestAccounts",
+ })
+ const obj = {
+ status: "👆🏽 Napište zprávu do textového pole výše.",
+ address: addressArray[0],
+ }
+ return obj
+ } catch (err) {
+ return {
+ address: "",
+ status: "😥 " + err.message,
+ }
+ }
+ } else {
+ return {
+ address: "",
+ status: (
+
+
+
+ ),
+ }
+ }
+}
+```
+
+Co přesně tedy tento obrovský blok kódu dělá?
+
+Nejprve zkontroluje, zda je ve vašem prohlížeči povoleno `window.ethereum`.
+
+`window.ethereum` je globální API, které vkládá MetaMask a další poskytovatelé peněženek a které webovým stránkám umožňuje žádat o účty uživatelů Etherea. Pokud je schváleno, může číst data z blockchainů, ke kterým je uživatel připojen, a navrhovat uživateli podepisování zpráv a transakcí. Pro více informací se podívejte do [dokumentace MetaMasku](https://docs.metamask.io/guide/ethereum-provider.html#table-of-contents)!
+
+Pokud `window.ethereum` _není_ přítomno, znamená to, že MetaMask není nainstalován. Výsledkem je vrácení objektu JSON, kde vrácená `adresa` je prázdný řetězec a objekt JSX `status` sděluje, že uživatel si musí nainstalovat MetaMask.
+
+Pokud `window.ethereum` _je_ přítomno, pak to začne být zajímavé.
+
+Pomocí smyčky try/catch se pokusíme připojit k MetaMasku voláním [`window.ethereum.request({ method: \"eth_requestAccounts\" });`](https://docs.metamask.io/guide/rpc-api.html#eth-requestaccounts). Volání této funkce otevře MetaMask v prohlížeči, kde bude uživatel vyzván k připojení své peněženky k vaší dapp.
+
+- Pokud se uživatel rozhodne připojit, `method: "eth_requestAccounts"` vrátí pole obsahující všechny adresy účtů uživatele, které se k dapp připojily. Celkově naše funkce `connectWallet` vrátí objekt JSON, který obsahuje _první_ `adresu` v tomto poli (viz řádek 9) a zprávu `status`, která vyzve uživatele k napsání zprávy do chytrého kontraktu.
+- Pokud uživatel spojení odmítne, objekt JSON bude obsahovat prázdný řetězec pro vrácenou `adresu` a zprávu `status`, která odráží, že uživatel spojení odmítl.
+
+Nyní, když jsme napsali tuto funkci `connectWallet`, je dalším krokem její zavolání v naší komponentě `HelloWorld.js`.
+
+#### Přidání funkce `connectWallet` do vaší UI komponenty `HelloWorld.js` {#add-the-connectWallet-function-to-your-HelloWorld-js-ui-component}
+
+Přejděte na funkci `connectWalletPressed` v `HelloWorld.js` a aktualizujte ji na následující:
+
+```javascript
+// HelloWorld.js
+
+const connectWalletPressed = async () => {
+ const walletResponse = await connectWallet()
+ setStatus(walletResponse.status)
+ setWallet(walletResponse.address)
+}
+```
+
+Všimli jste si, jak je většina naší funkčnosti abstrahována od naší komponenty `HelloWorld.js` do souboru `interact.js`? To proto, abychom dodrželi paradigma M-V-C!
+
+V `connectWalletPressed` jednoduše provedeme await volání naší importované funkce `connectWallet` a pomocí její odpovědi aktualizujeme naše proměnné `status` a `walletAddress` prostřednictvím jejich stavových háků (hooks).
+
+Nyní si oba soubory (`HelloWorld.js` a `interact.js`) uložme a otestujme naše UI.
+
+Otevřete si prohlížeč na stránce [http://localhost:3000/](http://localhost:3000/) a stiskněte tlačítko „Připojit peněženku“ vpravo nahoře.
+
+Pokud máte nainstalovaný MetaMask, měli byste být vyzváni k připojení své peněženky k vaší dapp. Přijměte výzvu k připojení.
+
+Měli byste vidět, že tlačítko peněženky nyní ukazuje, že je vaše adresa připojena! Super! 🔥
+
+Dále zkuste obnovit stránku... to je divné. Naše tlačítko peněženky nás vyzývá k připojení MetaMasku, i když už je připojen...
+
+Ale žádný strach! To snadno vyřešíme (chápete?). implementací `getCurrentWalletConnected`, která zkontroluje, zda je adresa již připojena k naší dapp, a podle toho aktualizuje naše UI!
+
+#### Funkce `getCurrentWalletConnected` {#the-getcurrentwalletconnected-function}
+
+Aktualizujte svou funkci `getCurrentWalletConnected` v souboru `interact.js` na následující:
+
+```javascript
+// interact.js
+
+export const getCurrentWalletConnected = async () => {
+ if (window.ethereum) {
+ try {
+ const addressArray = await window.ethereum.request({
+ method: "eth_accounts",
+ })
+ if (addressArray.length > 0) {
+ return {
+ address: addressArray[0],
+ status: "👆🏽 Napište zprávu do textového pole výše.",
+ }
+ } else {
+ return {
+ address: "",
+ status: "🦊 Připojte se k MetaMask pomocí tlačítka vpravo nahoře.",
+ }
+ }
+ } catch (err) {
+ return {
+ address: "",
+ status: "😥 " + err.message,
+ }
+ }
+ } else {
+ return {
+ address: "",
+ status: (
+
+
+
+ ),
+ }
+ }
+}
+```
+
+Tento kód je _velmi_ podobný funkci `connectWallet`, kterou jsme právě napsali v předchozím kroku.
+
+Hlavní rozdíl je v tom, že místo volání metody `eth_requestAccounts`, která otevře MetaMask, aby si uživatel mohl připojit svou peněženku, zde voláme metodu `eth_accounts`, která jednoduše vrací pole obsahující adresy MetaMask aktuálně připojené k naší dapp.
+
+Abychom tuto funkci viděli v akci, zavoláme ji ve funkci `useEffect` naší komponenty `HelloWorld.js`:
+
+```javascript
+// HelloWorld.js
+
+useEffect(async () => {
+ const message = await loadCurrentMessage()
+ setMessage(message)
+ addSmartContractListener()
+
+ const { address, status } = await getCurrentWalletConnected()
+ setWallet(address)
+ setStatus(status)
+}, [])
+```
+
+Všimněte si, že odpověď z našeho volání `getCurrentWalletConnected` používáme k aktualizaci našich stavových proměnných `walletAddress` a `status`.
+
+Nyní, když jste přidali tento kód, zkusme obnovit okno našeho prohlížeče.
+
+Paráda! Tlačítko by mělo hlásit, že jste připojeni, a zobrazovat náhled adresy vaší připojené peněženky – i po obnovení!
+
+#### Implementace `addWalletListener` {#implement-addwalletlistener}
+
+Posledním krokem v nastavení peněženky naší dapp je implementace posluchače peněženky, aby se naše uživatelské rozhraní aktualizovalo, když se změní stav naší peněženky, například když se uživatel odpojí nebo přepne účty.
+
+Ve vašem souboru `HelloWorld.js` upravte svou funkci `addWalletListener` na následující:
+
+```javascript
+// HelloWorld.js
+
+function addWalletListener() {
+ if (window.ethereum) {
+ window.ethereum.on("accountsChanged", (accounts) => {
+ if (accounts.length > 0) {
+ setWallet(accounts[0])
+ setStatus("👆🏽 Napište zprávu do textového pole výše.")
+ } else {
+ setWallet("")
+ setStatus("🦊 Připojte se k MetaMask pomocí tlačítka vpravo nahoře.")
+ }
+ })
+ } else {
+ setStatus(
+
+ )
+ }
+}
+```
+
+Vsadím se, že už ani nepotřebujete naši pomoc, abyste pochopili, co se zde děje, ale pro úplnost si to rychle rozebereme:
+
+- Nejprve naše funkce zkontroluje, zda je `window.ethereum` povoleno (tj. zda je MetaMask nainstalován).
+ - Pokud není, jednoduše nastavíme naši stavovou proměnnou `status` na řetězec JSX, který uživatele vyzve k instalaci MetaMasku.
+ - Pokud je povoleno, nastavíme na řádku 3 posluchače `window.ethereum.on(\"accountsChanged\")`, který naslouchá změnám stavu v peněžence MetaMask, což zahrnuje případy, kdy uživatel připojí další účet k dapp, přepne účty nebo odpojí účet. Pokud je připojen alespoň jeden účet, stavová proměnná `walletAddress` se aktualizuje jako první účet v poli `accounts` vráceném posluchačem. V opačném případě je `walletAddress` nastaveno jako prázdný řetězec.
+
+V neposlední řadě ji musíme zavolat v naší funkci `useEffect`:
+
+```javascript
+// HelloWorld.js
+
+useEffect(async () => {
+ const message = await loadCurrentMessage()
+ setMessage(message)
+ addSmartContractListener()
+
+ const { address, status } = await getCurrentWalletConnected()
+ setWallet(address)
+ setStatus(status)
+
+ addWalletListener()
+}, [])
+```
+
+A to je vše! Úspěšně jsme dokončili programování veškeré funkčnosti naší peněženky! Nyní k našemu poslednímu úkolu: aktualizaci zprávy uložené v našem chytrém kontraktu!
+
+### Krok 6: Implementace funkce `updateMessage` {#step-6-implement-the-updateMessage-function}
+
+Tak jo, lidi, jsme v cílové rovince! Ve funkci `updateMessage` vašeho souboru `interact.js` uděláme následující:
+
+1. Ujistěte se, že zpráva, kterou chceme publikovat v našem chytrém kontraktu, je platná
+2. Podepište naši transakci pomocí MetaMask
+3. Zavolejte tuto funkci z naší frontendové komponenty `HelloWorld.js`
+
+Nebude to trvat dlouho; pojďme tuto dapp dokončit!
+
+#### Zpracování chyb na vstupu {#input-error-handling}
+
+Je přirozené, že na začátku funkce je nějaké zpracování chyb vstupů.
+
+Budeme chtít, aby se naše funkce vrátila dříve, pokud není nainstalováno rozšíření MetaMask, není připojena žádná peněženka (tj. předaná `adresa` je prázdný řetězec) nebo je `zpráva` prázdný řetězec. Přidejme následující zpracování chyb do `updateMessage`:
+
+```javascript
+// interact.js
+
+export const updateMessage = async (address, message) => {
+ if (!window.ethereum || address === null) {
+ return {
+ status:
+ "💡 Připojte svou peněženku MetaMask pro aktualizaci zprávy na blockchainu.",
+ }
+ }
+
+ if (message.trim() === "") {
+ return {
+ status: "❌ Vaše zpráva nemůže být prázdný řetězec.",
+ }
+ }
+}
+```
+
+Nyní, když máme správné zpracování chyb vstupů, je čas podepsat transakci přes MetaMask!
+
+#### Podepisování naší transakce {#signing-our-transaction}
+
+Pokud jste již obeznámeni s tradičními web3 Ethereum transakcemi, kód, který napíšeme dále, vám bude velmi povědomý. Pod kód pro zpracování chyb vstupů přidejte do `updateMessage` následující:
+
+```javascript
+// interact.js
+
+//nastavení parametrů transakce
+const transactionParameters = {
+ to: contractAddress, // Vyžadováno kromě publikací kontraktů.
+ from: address, // musí se shodovat s aktivní adresou uživatele.
+ data: helloWorldContract.methods.update(message).encodeABI(),
+}
+
+//podepsání transakce
+try {
+ const txHash = await window.ethereum.request({
+ method: "eth_sendTransaction",
+ params: [transactionParameters],
+ })
+ return {
+ status: (
+
+ ✅{" "}
+
+ Zobrazte stav své transakce na Etherscanu!
+
+
+ ℹ️ Jakmile bude transakce ověřena sítí, zpráva bude
+ aktualizována automaticky.
+
+ ),
+ }
+} catch (error) {
+ return {
+ status: "😥 " + error.message,
+ }
+}
+```
+
+Rozeberme si, co se děje. Nejprve nastavíme parametry naší transakce, kde:
+
+- `to` určuje adresu příjemce (náš chytrý kontrakt)
+- `from` určuje podepisujícího transakce, proměnnou `address`, kterou jsme předali do naší funkce
+- `data` obsahuje volání metody `update` našeho chytrého kontraktu Hello World, která přijímá naši řetězcovou proměnnou `message` jako vstup
+
+Poté provedeme await volání `window.ethereum.request`, kde požádáme MetaMask o podepsání transakce. Všimněte si, že na řádcích 11 a 12 určujeme naši metodu eth, `eth_sendTransaction`, a předáváme naše `transactionParameters`.
+
+V tomto okamžiku se v prohlížeči otevře MetaMask a vyzve uživatele k podepsání nebo zamítnutí transakce.
+
+- Pokud je transakce úspěšná, funkce vrátí JSON objekt, kde `status` JSX řetězec vyzve uživatele, aby se podíval na Etherscan pro více informací o své transakci.
+- Pokud transakce selže, funkce vrátí JSON objekt, kde řetězec `status` předá chybovou zprávu.
+
+Celkově by naše funkce `updateMessage` měla vypadat takto:
+
+```javascript
+// interact.js
+
+export const updateMessage = async (address, message) => {
+ //zpracování chyb vstupů
+ if (!window.ethereum || address === null) {
+ return {
+ status:
+ "💡 Připojte svou peněženku MetaMask pro aktualizaci zprávy na blockchainu.",
+ }
+ }
+
+ if (message.trim() === "") {
+ return {
+ status: "❌ Vaše zpráva nemůže být prázdný řetězec.",
+ }
+ }
+
+ //nastavení parametrů transakce
+ const transactionParameters = {
+ to: contractAddress, // Vyžadováno kromě publikací kontraktů.
+ from: address, // musí se shodovat s aktivní adresou uživatele.
+ data: helloWorldContract.methods.update(message).encodeABI(),
+ }
+
+ //podepsání transakce
+ try {
+ const txHash = await window.ethereum.request({
+ method: "eth_sendTransaction",
+ params: [transactionParameters],
+ })
+ return {
+ status: (
+
+ ✅{" "}
+
+ Zobrazte stav své transakce na Etherscanu!
+
+
+ ℹ️ Jakmile bude transakce ověřena sítí, zpráva bude
+ aktualizována automaticky.
+
+ ),
+ }
+ } catch (error) {
+ return {
+ status: "😥 " + error.message,
+ }
+ }
+}
+```
+
+V neposlední řadě musíme naši funkci `updateMessage` propojit s naší komponentou `HelloWorld.js`.
+
+#### Propojení `updateMessage` s frontendem `HelloWorld.js` {#connect-updatemessage-to-the-helloworld-js-frontend}
+
+Naše funkce `onUpdatePressed` by měla provést await volání na importovanou funkci `updateMessage` a upravit stavovou proměnnou `status`, aby odrážela, zda naše transakce uspěla nebo selhala:
+
+```javascript
+// HelloWorld.js
+
+const onUpdatePressed = async () => {
+ const { status } = await updateMessage(walletAddress, newMessage)
+ setStatus(status)
+}
+```
+
+Je to super čisté a jednoduché. A hádejte co... VAŠE DAPP JE HOTOVÁ!!!
+
+Jděte do toho a otestujte tlačítko **Aktualizovat**!
+
+### Vytvořte si vlastní dapp {#make-your-own-custom-dapp}
+
+Skvělé, dostali jste se až na konec tutoriálu! Abychom to shrnuli, naučili jste se:
+
+- Připojit peněženku MetaMask k vašemu projektu dapp
+- Číst data z vašeho chytrého kontraktu pomocí [Alchemy Web3](https://docs.alchemy.com/alchemy/documentation/alchemy-web3) API
+- Podepisovat transakce Ethereum pomocí MetaMask
+
+Nyní jste plně vybaveni k tomu, abyste dovednosti z tohoto tutoriálu uplatnili při vytváření vlastního projektu dapp! Jako vždy, pokud máte nějaké otázky, neváhejte se na nás obrátit s žádostí o pomoc na [Discordu Alchemy](https://discord.gg/gWuC7zB). 🧙♂️
+
+Jakmile dokončíte tento tutoriál, dejte nám vědět, jaké byly vaše zkušenosti, nebo pokud máte nějakou zpětnou vazbu, tak nás označte na Twitteru [@alchemyplatform](https://twitter.com/AlchemyPlatform)!
diff --git a/public/content/translations/cs/developers/tutorials/hello-world-smart-contract/index.md b/public/content/translations/cs/developers/tutorials/hello-world-smart-contract/index.md
new file mode 100644
index 00000000000..9d3e43e6ceb
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/hello-world-smart-contract/index.md
@@ -0,0 +1,367 @@
+---
+title: Chytrý kontrakt Hello World pro začátečníky
+description: Úvodní tutoriál k psaní a nasazení jednoduchého chytrého kontraktu na Ethereum.
+author: "elanh"
+tags:
+ [
+ "solidity",
+ "hardhat",
+ "alchemy",
+ "smart kontrakt účty",
+ "nasazování"
+ ]
+skill: beginner
+lang: cs
+published: 2021-03-31
+---
+
+Pokud s vývojem na blockchainu teprve začínáte a nevíte, kde začít, nebo pokud jen chcete pochopit, jak nasadit chytré kontrakty a interagovat s nimi, je tento průvodce určen právě vám. Provedeme vás vytvořením a nasazením jednoduchého chytrého kontraktu na testovací síti Sepolia pomocí virtuální peněženky [MetaMask](https://metamask.io/), [Solidity](https://docs.soliditylang.org/en/v0.8.0/), [Hardhat](https://hardhat.org/) a [Alchemy](https://www.alchemy.com/eth) (nebojte se, pokud ještě ničemu z toho nerozumíte, všechno si vysvětlíme).
+
+Ve [2. části](https://docs.alchemy.com/docs/interacting-with-a-smart-contract) tohoto tutoriálu si projdeme, jak můžeme s naším nasazeným chytrým kontraktem interagovat, a ve [3. části](https://www.alchemy.com/docs/submitting-your-smart-contract-to-etherscan) si ukážeme, jak ho publikovat na Etherscanu.
+
+Pokud budete mít v kterémkoliv bodě dotazy, neváhejte se zeptat na [Discordu Alchemy](https://discord.gg/gWuC7zB)!
+
+## Krok 1: Připojení k síti Ethereum {#step-1}
+
+Existuje mnoho způsobů, jak posílat požadavky na blockchain Etherea. Pro zjednodušení použijeme bezplatný účet na Alchemy, vývojářské platformy a API pro blockchain, která nám umožňuje komunikovat s blockchainem Etherea, aniž bychom museli provozovat vlastní uzly. Tato platforma má také vývojářské nástroje pro monitorování a analýzu, které v tomto tutoriálu využijeme, abychom pochopili, co se děje „pod kapotou“ při nasazení našeho chytrého kontraktu. Pokud ještě nemáte účet Alchemy, [můžete se zdarma zaregistrovat zde](https://dashboard.alchemy.com/signup).
+
+## Krok 2: Vytvořte svou aplikaci (a klíč API) {#step-2}
+
+Jakmile si vytvoříte účet na Alchemy, můžete si vygenerovat klíč API vytvořením aplikace. To nám umožní posílat požadavky do testovací sítě Sepolia. Pokud neznáte testovací sítě, podívejte se na [tuto stránku](/developers/docs/networks/).
+
+1. Přejděte na stránku „Vytvořit novou aplikaci“ na vašem řídicím panelu Alchemy tak, že na navigační liště vyberete možnost „Vybrat aplikaci“ a kliknete na „Vytvořit novou aplikaci“
+
+
+
+2. Pojmenujte svou aplikaci „Hello World“, uveďte krátký popis a vyberte případ použití, např. „Infra & nástroje“. Dále vyhledejte „Ethereum“ a vyberte síť.
+
+
+
+3. Kliknutím na „Další“ pokračujte, poté na „Vytvořit aplikaci“ a je to! Vaše aplikace by se měla objevit v rozevírací nabídce na navigační liště s klíčem API, který si můžete zkopírovat.
+
+## Krok 3: Vytvoření účtu Ethereum (adresy) {#step-3}
+
+K odesílání a přijímání transakcí potřebujeme ethereový účet. Pro tento výukový program použijeme MetaMask, virtuální peněženku v prohlížeči, která slouží ke správě adresy vašeho ethereového účtu. Více o [transakcích](/developers/docs/transactions/).
+
+Můžete si stáhnout MetaMask a zdarma si vytvořit účet Ethereum [zde](https://metamask.io/download). Při vytváření účtu, nebo pokud již účet máte, se ujistěte, že jste se přepnuli na testovací síť „Sepolia“ pomocí rozevírací nabídky sítě (abychom nepracovali se skutečnými penězi).
+
+Pokud síť Sepolia v seznamu nevidíte, přejděte do nabídky, poté do „Pokročilé“ a sjeďte dolů, abyste zapnuli možnost „Zobrazit testovací sítě“. V nabídce pro výběr sítě zvolte záložku „Vlastní“, kde najdete seznam testovacích sítí a vyberete „Sepolia“.
+
+
+
+## Krok 4: Přidání etheru z faucetu {#step-4}
+
+Abychom mohli náš chytrý kontrakt nasadit na testovací síť, budeme potřebovat nějaké falešné ETH. Pro získání ETH na síti Sepolia můžete přejít na [podrobnosti o síti Sepolia](/developers/docs/networks/#sepolia) a zobrazit si seznam různých faucetů. Pokud jeden nefunguje, zkuste jiný, protože jim někdy mohou dojít prostředky. Může chvíli trvat, než obdržíte své falešné ETH, kvůli vytížení sítě. Brzy poté byste měli vidět ETH ve svém účtu MetaMask!
+
+## Krok 5: Kontrola zůstatku {#step-5}
+
+Abychom si ověřili, že máme zůstatek, provedeme požadavek [eth_getBalance](/developers/docs/apis/json-rpc/#eth_getbalance) pomocí [nástroje Composer od Alchemy](https://sandbox.alchemy.com/?network=ETH_SEPOLIA&method=eth_getBalance&body.id=1&body.jsonrpc=2.0&body.method=eth_getBalance&body.params%5B0%5D=&body.params%5B1%5D=latest). Tím se vrátí množství ETH v naší peněžence. Po zadání adresy vašeho účtu MetaMask a kliknutí na „Send Request“ byste měli vidět takovouto odpověď:
+
+```json
+{ "jsonrpc": "2.0", "id": 0, "result": "0x2B5E3AF16B1880000" }
+```
+
+> **POZNÁMKA:** Tento výsledek je ve wei, nikoliv v ETH. Wei se používá jako nejmenší denominace etheru. Převod z wei na ETH je: 1 ETH = 1018 wei. Takže když převedeme 0x2B5E3AF16B1880000 na desetinné číslo, dostaneme 5\*10¹⁸, což se rovná 5 ETH.
+>
+> Uf! Naše falešné peníze jsou všechny tady .
+
+## Krok 6: Inicializace našeho projektu {#step-6}
+
+Nejprve budeme muset vytvořit složku pro náš projekt. Přejděte na příkazový řádek a zadejte:
+
+```
+mkdir hello-world
+cd hello-world
+```
+
+Nyní, když jsme uvnitř složky našeho projektu, použijeme `npm init` k inicializaci projektu. Pokud ještě nemáte nainstalovaný npm, postupujte podle [těchto pokynů](https://docs.alchemyapi.io/alchemy/guides/alchemy-for-macs#1-install-nodejs-and-npm) (budeme také potřebovat Node.js, takže si ho také stáhněte!).
+
+```
+npm init
+```
+
+Nezáleží na tom, jak odpovíte na instalační otázky, zde je pro referenci, jak jsme to udělali my:
+
+```
+název balíčku: (hello-world)
+verze: (1.0.0)
+popis: chytrý kontrakt hello world
+vstupní bod: (index.js)
+testovací příkaz:
+git repozitář:
+klíčová slova:
+autor:
+licence: (ISC)
+Chystáte se zapsat do /Users/.../.../.../hello-world/package.json:
+
+{
+ "name": "hello-world",
+ "version": "1.0.0",
+ "description": "chytrý kontrakt hello world",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "",
+ "license": "ISC"
+}
+```
+
+Schvalte package.json a můžeme pokračovat!
+
+## Krok 7: Stažení [Hardhat](https://hardhat.org/getting-started/#overview) {#step-7}
+
+Hardhat je vývojové prostředí pro kompilaci, nasazení, testování a ladění vašeho softwaru pro Ethereum. Pomáhá vývojářům při lokálním budování chytrých kontraktů a dapps před jejich nasazením na živý řetězec.
+
+Uvnitř našeho projektu `hello-world` spusťte:
+
+```
+npm install --save-dev hardhat
+```
+
+Další podrobnosti o [instalačních pokynech](https://hardhat.org/getting-started/#overview) naleznete na této stránce.
+
+## Krok 8: Vytvoření projektu Hardhat {#step-8}
+
+Uvnitř složky našeho projektu spusťte:
+
+```
+npx hardhat
+```
+
+Poté by se vám měla zobrazit uvítací zpráva a možnost vybrat si, co chcete dělat. Vyberte „create an empty hardhat.config.js“:
+
+```
+888 888 888 888 888
+888 888 888 888 888
+888 888 888 888 888
+8888888888 8888b. 888d888 .d88888 88888b. 8888b. 888888
+888 888 "88b 888P" d88" 888 888 "88b "88b 888
+888 888 .d888888 888 888 888 888 888 .d888888 888
+888 888 888 888 888 Y88b 888 888 888 888 888 Y88b.
+888 888 "Y888888 888 "Y88888 888 888 "Y888888 "Y888
+
+👷 Vítejte v Hardhat v2.0.11 👷?
+
+Co chcete udělat? …
+Vytvořit vzorový projekt
+❯ Vytvořit prázdný hardhat.config.js
+Ukončit
+```
+
+Tím se nám vygeneruje soubor `hardhat.config.js`, ve kterém specifikujeme veškeré nastavení našeho projektu (v kroku 13).
+
+## Krok 9: Přidání složek projektu {#step-9}
+
+Abychom si v našem projektu udrželi pořádek, vytvoříme dvě nové složky. Přejděte do kořenového adresáře projektu v příkazovém řádku a zadejte:
+
+```
+mkdir contracts
+mkdir scripts
+```
+
+- `contracts/` je místo, kam uložíme soubor s kódem našeho chytrého kontraktu Hello World
+- `scripts/` je místo, kam uložíme skripty pro nasazení našeho kontraktu a interakci s ním
+
+## Krok 10: Napsání našeho kontraktu {#step-10}
+
+Možná si říkáte, kdy už konečně budeme psát nějaký kód?? Tak jsme tady, v kroku 10.
+
+Otevřete projekt hello-world ve svém oblíbeném editoru (my máme rádi [VSCode](https://code.visualstudio.com/)). Chytré kontrakty se píší v jazyce zvaném Solidity, který použijeme k napsání našeho chytrého kontraktu HelloWorld.sol.
+
+1. Přejděte do složky „contracts“ a vytvořte nový soubor s názvem HelloWorld.sol
+2. Níže je ukázkový chytrý kontrakt Hello World od Nadace Ethereum, který budeme používat pro tento tutoriál. Zkopírujte a vložte níže uvedený obsah do souboru HelloWorld.sol a nezapomeňte si přečíst komentáře, abyste pochopili, co tento kontrakt dělá:
+
+```solidity
+// Určuje verzi Solidity pomocí sémantického verzování.
+// Více informací: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
+pragma solidity ^0.7.0;
+
+// Definuje kontrakt s názvem `HelloWorld`.
+// Kontrakt je soubor funkcí a dat (jeho stav). Po nasazení se kontrakt nachází na určité adrese na blockchainu Etherea. Více informací: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html
+contract HelloWorld {
+
+ // Deklaruje stavovou proměnnou `message` typu `string`.
+ // Stavové proměnné jsou proměnné, jejichž hodnoty jsou trvale uloženy v úložišti kontraktu. Klíčové slovo `public` zpřístupňuje proměnné z vnějšku kontraktu a vytváří funkci, kterou mohou jiné kontrakty nebo klienti volat pro přístup k hodnotě.
+ string public message;
+
+ // Podobně jako v mnoha objektově orientovaných jazycích založených na třídách je konstruktor speciální funkce, která se provede pouze při vytvoření kontraktu.
+ // Konstruktory se používají k inicializaci dat kontraktu. Více informací:https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors
+ constructor(string memory initMessage) {
+
+ // Přijímá argument řetězce `initMessage` a nastavuje hodnotu do úložné proměnné `message` kontraktu).
+ message = initMessage;
+ }
+
+ // Veřejná funkce, která přijímá argument řetězce a aktualizuje úložnou proměnnou `message`.
+ function update(string memory newMessage) public {
+ message = newMessage;
+ }
+}
+```
+
+Jedná se o super jednoduchý chytrý kontrakt, který při vytvoření uloží zprávu a lze jej aktualizovat voláním funkce `update`.
+
+## Krok 11: Připojení MetaMask a Alchemy k vašemu projektu {#step-11}
+
+Vytvořili jsme si peněženku MetaMask, účet Alchemy a napsali jsme náš chytrý kontrakt, nyní je čas je všechny tři propojit.
+
+Každá transakce odeslaná z vaší virtuální peněženky vyžaduje podpis pomocí vašeho jedinečného privátního klíče. Abychom našemu programu poskytli toto oprávnění, můžeme bezpečně uložit náš privátní klíč (a klíč API od Alchemy) do souboru prostředí.
+
+> Chcete-li se dozvědět více o odesílání transakcí, podívejte se na [tento výukový program](/developers/tutorials/sending-transactions-using-web3-and-alchemy/) o odesílání transakcí pomocí web3.
+
+Nejprve nainstalujte balíček dotenv do adresáře vašeho projektu:
+
+```
+npm install dotenv --save
+```
+
+Poté vytvořte soubor `.env` v kořenovém adresáři našeho projektu a přidejte do něj svůj privátní klíč MetaMask a adresu URL rozhraní HTTP API od Alchemy.
+
+- Pro exportování soukromého klíče postupujte podle [těchto pokynů](https://support.metamask.io/configure/accounts/how-to-export-an-accounts-private-key/)
+- Níže naleznete postup, jak získat URL pro HTTP API Alchemy
+
+
+
+Zkopírujte URL API Alchemy
+
+Váš soubor `.env` by měl vypadat takto:
+
+```
+API_URL = "https://eth-sepolia.g.alchemy.com/v2/váš-api-klíč"
+PRIVATE_KEY = "váš-soukromý-klíč-metamask"
+```
+
+Abychom je skutečně propojili s naším kódem, budeme na tyto proměnné odkazovat v našem souboru `hardhat.config.js` v kroku 13.
+
+
+
+
+Nenahrávejte `.env`! Prosím, ujistěte se, že nikdy nesdílíte ani nezveřejňujete svůj soubor `.env` s nikým, protože tím ohrožujete svá tajemství. Pokud používáte správu verzí, přidejte svůj soubor `.env` do souboru gitignore.
+
+
+
+
+## Krok 12: Instalace Ethers.js {#step-12-install-ethersjs}
+
+Ethers.js je knihovna, která usnadňuje interakci a zadávání požadavků na Ethereum tím, že obaluje [standardní metody JSON-RPC](/developers/docs/apis/json-rpc/) uživatelsky přívětivějšími metodami.
+
+Hardhat velmi usnadňuje integraci [pluginů](https://hardhat.org/plugins/) pro další nástroje a rozšířenou funkčnost. Pro nasazení kontraktu využijeme [plugin Ethers](https://hardhat.org/docs/plugins/official-plugins#hardhat-ethers) ([Ethers.js](https://github.com/ethers-io/ethers.js/) má několik velmi čistých metod pro nasazení kontraktu).
+
+V adresáři projektu zadejte:
+
+```
+npm install --save-dev @nomiclabs/hardhat-ethers "ethers@^5.0.0"
+```
+
+V dalším kroku také budeme vyžadovat Ethers v našem souboru `hardhat.config.js`.
+
+## Krok 13: Aktualizace souboru hardhat.config.js {#step-13-update-hardhatconfigjs}
+
+Zatím jsme přidali několik závislostí a pluginů, nyní musíme aktualizovat `hardhat.config.js`, aby o nich náš projekt věděl.
+
+Aktualizujte svůj soubor `hardhat.config.js`, aby vypadal takto:
+
+```
+require('dotenv').config();
+
+require("@nomiclabs/hardhat-ethers");
+const { API_URL, PRIVATE_KEY } = process.env;
+
+/**
+* @type import('hardhat/config').HardhatUserConfig
+*/
+module.exports = {
+ solidity: "0.7.3",
+ defaultNetwork: "sepolia",
+ networks: {
+ hardhat: {},
+ sepolia: {
+ url: API_URL,
+ accounts: [`0x${PRIVATE_KEY}`]
+ }
+ },
+}
+```
+
+## Krok 14: Kompilace našeho kontraktu {#step-14-compile-our-contracts}
+
+Abychom se ujistili, že zatím vše funguje, zkompilujeme si náš kontrakt. Úkol `compile` je jedním z vestavěných úkolů Hardhatu.
+
+Z příkazového řádku spusťte:
+
+```
+npx hardhat compile
+```
+
+Může se vám zobrazit varování `SPDX license identifier not provided in source file`, ale nemusíte se tím znepokojovat – doufejme, že všechno ostatní vypadá dobře! Pokud ne, vždy můžete napsat zprávu na [discordu Alchemy](https://discord.gg/u72VCg3).
+
+## Krok 15: Napsání našeho skriptu pro nasazení {#step-15-write-our-deploy-scripts}
+
+Nyní, když je náš kontrakt napsán a náš konfigurační soubor je připraven, je čas napsat náš skript pro nasazení kontraktu.
+
+Přejděte do složky `scripts/`, vytvořte nový soubor s názvem `deploy.js` a přidejte do něj následující obsah:
+
+```
+async function main() {
+ const HelloWorld = await ethers.getContractFactory("HelloWorld");
+
+ // Spustí nasazení a vrátí příslib, který se vyřeší na objekt kontraktu
+ const hello_world = await HelloWorld.deploy("Hello World!");
+ console.log("Kontrakt nasazen na adresu:", hello_world.address);}
+
+main()
+ .then(() => process.exit(0))
+ .catch(error => {
+ console.error(error);
+ process.exit(1);
+ });
+```
+
+Hardhat skvěle vysvětluje, co každý z těchto řádků kódu dělá ve svém [výukovém programu Kontrakty](https://hardhat.org/tutorial/testing-contracts.html#writing-tests), a my jsme zde jejich vysvětlení převzali.
+
+```
+const HelloWorld = await ethers.getContractFactory("HelloWorld");
+```
+
+`ContractFactory` v ethers.js je abstrakce, která se používá k nasazování nových chytrých kontraktů, takže `HelloWorld` je zde továrna pro instance našeho kontraktu hello world. Při použití pluginu `hardhat-ethers` jsou instance `ContractFactory` a `Contract` ve výchozím nastavení připojeny k prvnímu podepisujícímu.
+
+```
+const hello_world = await HelloWorld.deploy();
+```
+
+Volání `deploy()` na `ContractFactory` spustí nasazení a vrátí `Promise`, který se vyřeší na `Contract`. Toto je objekt, který má metodu pro každou z funkcí našeho chytrého kontraktu.
+
+## Krok 16: Nasazení našeho kontraktu {#step-16-deploy-our-contract}
+
+Konečně jsme připraveni nasadit náš chytrý kontrakt! Přejděte na příkazový řádek a spusťte:
+
+```
+npx hardhat run scripts/deploy.js --network sepolia
+```
+
+Měli byste pak vidět něco takového:
+
+```
+Kontrakt nasazen na adresu: 0x6cd7d44516a20882cEa2DE9f205bF401c0d23570
+```
+
+Pokud přejdeme na [Etherscan sítě Sepolia](https://sepolia.etherscan.io/) a vyhledáme adresu našeho kontraktu, měli bychom vidět, že byl úspěšně nasazen. Transakce bude vypadat nějak takto:
+
+
+
+Adresa `From` by se měla shodovat s adresou vašeho účtu MetaMask a u adresy „To“ bude uvedeno „Vytvoření kontraktu“, ale pokud klikneme na transakci, uvidíme adresu našeho kontraktu v poli `To`:
+
+
+
+Výborně! Právě jste nasadili chytrý kontrakt na blockchain Etherea 🎉
+
+Abychom pochopili, co se děje „pod pokličkou“, přejděme na kartu Explorer v našem [ovládacím panelu Alchemy](https://dashboard.alchemyapi.io/explorer). Pokud máte více aplikací Alchemy, ujistěte se, že filtrujete podle aplikace a vyberete „Hello World“.
+
+
+Zde uvidíte několik volání JSON-RPC, které za nás Hardhat/Ethers provedly „pod kapotou“, když jsme zavolali funkci `.deploy()`. Dvě důležité, které je třeba zmínit, jsou [`eth_sendRawTransaction`](https://www.alchemy.com/docs/node/abstract/abstract-api-endpoints/eth-send-raw-transaction), což je požadavek na skutečný zápis našeho kontraktu do blockchainu Sepolia, a [`eth_getTransactionByHash`](https://www.alchemy.com/docs/node/abstract/abstract-api-endpoints/eth-get-transaction-by-hash), což je požadavek na čtení informací o naší transakci na základě haše (typický vzor u
+transakcí). Chcete-li se dozvědět více o odesílání transakcí, podívejte se na tento tutoriál o [odesílání transakcí pomocí Web3](/developers/tutorials/sending-transactions-using-web3-and-alchemy/)
+
+To je vše k 1. části tohoto tutoriálu, ve 2. části budeme s naším chytrým kontraktem skutečně [interagovat](https://www.alchemy.com/docs/interacting-with-a-smart-contract) aktualizací naší původní zprávy a ve 3. části náš chytrý kontrakt [publikujeme na Etherscanu](https://www.alchemy.com/docs/submitting-your-smart-contract-to-etherscan), aby každý věděl, jak s ním interagovat.
+
+**Chcete se o Alchemy dozvědět více?** Podívejte se na náš [web](https://www.alchemy.com/eth). Nechcete si nechat ujít žádnou aktualizaci? Přihlaste se k odběru našeho newsletteru [zde](https://www.alchemy.com/newsletter)! Nezapomeňte se také připojit na náš [Discord](https://discord.gg/u72VCg3).\*\*.
diff --git a/public/content/translations/cs/developers/tutorials/how-to-implement-an-erc721-market/index.md b/public/content/translations/cs/developers/tutorials/how-to-implement-an-erc721-market/index.md
new file mode 100644
index 00000000000..041c3aa60b0
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/how-to-implement-an-erc721-market/index.md
@@ -0,0 +1,145 @@
+---
+title: Jak implementovat trh ERC-721
+description: Jak dát tokenizované položky k prodeji na decentralizovanou inzertní tabuli
+author: "Alberto Cuesta Cañada"
+tags: [ "chytré kontrakty", "erc-721", "solidity", "tokeny" ]
+skill: intermediate
+lang: cs
+published: 2020-03-19
+source: Hackernoon
+sourceUrl: https://hackernoon.com/how-to-implement-an-erc721-market-1e1a32j9
+---
+
+V tomto článku vám ukážu, jak naprogramovat Craigslist pro blockchain Etherea.
+
+Před Gumtree, Ebay a Craigslist byly inzertní tabule většinou z korku nebo papíru. Inzertní tabule byly na školních chodbách, v novinách, na pouličních lampách, ve výlohách obchodů.
+
+To vše se změnilo s internetem. Počet lidí, kteří mohli vidět konkrétní inzertní tabuli, se znásobil o mnoho řádů. Díky tomu se trhy, které představují, staly mnohem efektivnějšími a rozšířily se do globální velikosti. Ebay je obrovský byznys, který má původ v těchto fyzických inzertních tabulích.
+
+S blockchainem se tyto trhy opět změní, dovolte mi ukázat vám jak.
+
+## Monetizace {#monetization}
+
+Obchodní model veřejné blockchainové inzertní tabule se bude muset lišit od modelu Ebay a podobných společností.
+
+Zaprvé je tu [úhel decentralizace](/developers/docs/web2-vs-web3/). Stávající platformy musí udržovat své vlastní servery. Decentralizovaná platforma je udržována jejími uživateli, takže náklady na provoz základní platformy pro vlastníka platformy klesají na nulu.
+
+Pak je tu front-end, webová stránka nebo rozhraní, které umožňuje přístup k platformě. Zde existuje mnoho možností. Vlastníci platformy mohou omezit přístup a nutit všechny používat jejich rozhraní a účtovat si poplatek. Vlastníci platformy se také mohou rozhodnout otevřít přístup (Moc lidem!). a nechat kohokoli vytvářet rozhraní k platformě. Nebo se majitelé mohli rozhodnout pro jakýkoli přístup uprostřed těchto extrémů.
+
+_Obchodní lídři s větší vizí než já budou vědět, jak to zpeněžit. Vše, co vidím, je, že je to odlišné od současného stavu a pravděpodobně ziskové._
+
+Dále je tu úhel automatizace a plateb. Některé věci mohou být velmi [efektivně tokenizovány](https://hackernoon.com/tokenization-of-digital-assets-g0ffk3v8s?ref=hackernoon.com) a obchodovány na inzertní tabuli. Tokenizovaná aktiva se v blockchainu snadno převádějí. Velmi složité platební metody lze v blockchainu snadno implementovat.
+
+Jen zde cítím obchodní příležitost. Inzertní tabuli bez provozních nákladů lze snadno implementovat, se složitými platebními cestami zahrnutými v každé transakci. Jsem si jistý, že někdo přijde s nápadem, na co to použít.
+
+Jsem prostě šťastný, že to stavím. Podívejme se na kód.
+
+## Implementace {#implementation}
+
+Před nějakou dobou jsme založili [open-source repozitář](https://github.com/HQ20/contracts?ref=hackernoon.com) s příklady implementací obchodních případů a dalšími vychytávkami, prosím, podívejte se.
+
+Kód pro tuto [inzertní tabuli Etherea](https://github.com/HQ20/contracts/tree/master/contracts/classifieds?ref=hackernoon.com) je tam, prosím, používejte ho a nebojte se ho využít na maximum. Jen si uvědomte, že kód nebyl auditován a musíte provést vlastní hloubkovou kontrolu, než do něj vložíte peníze.
+
+Základy tabule nejsou složité. Všechny inzeráty na tabuli budou jen strukturou s několika poli:
+
+```solidity
+struct Trade {
+ address poster;
+ uint256 item;
+ uint256 price;
+ bytes32 status; // Otevřený, provedený, zrušený
+}
+```
+
+Takže je tu někdo, kdo inzerát zveřejňuje. Položka na prodej. Cena za položku. Stav obchodu, který může být otevřený, provedený nebo zrušený.
+
+Všechny tyto obchody budou uloženy v mapování. Protože všechno v Solidity se zdá být mapování. Také proto, že je to pohodlné.
+
+```solidity
+mapping(uint256 => Trade) public trades;
+```
+
+Použití mapování jen znamená, že musíme před zveřejněním přijít s ID pro každý inzerát a budeme muset znát ID inzerátu, než s ním budeme moci pracovat. Existuje několik způsobů, jak se s tím vypořádat, a to buď v chytrém kontraktu, nebo ve front-endu. Pokud potřebujete nějaké rady, zeptejte se.
+
+Dále přichází otázka, s jakými položkami se zabýváme a jaká je měna, která se používá k placení za transakci.
+
+U položek budeme jen požadovat, aby implementovaly rozhraní [ERC-721](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/IERC721.sol?ref=hackernoon.com), což je ve skutečnosti jen způsob, jak reprezentovat položky z reálného světa v blockchainu, i když to [nejlépe funguje s digitálními aktivy](https://hackernoon.com/tokenization-of-digital-assets-g0ffk3v8s?ref=hackernoon.com). V konstruktoru zadáme náš vlastní kontrakt ERC721, což znamená, že jakákoli aktiva v naší inzertní tabuli musí být předem tokenizována.
+
+U plateb uděláme něco podobného. Většina blockchainových projektů definuje svou vlastní kryptoměnu [ERC-20](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol?ref=hackernoon.com). Některé jiné preferují použití mainstreamové kryptoměny jako DAI. V této inzertní tabuli se stačí při konstrukci rozhodnout, jaká bude vaše měna. Snadné.
+
+```solidity
+constructor (
+ address _currencyTokenAddress, address _itemTokenAddress
+) public {
+ currencyToken = IERC20(_currencyTokenAddress);
+ itemToken = IERC721(_itemTokenAddress);
+ tradeCounter = 0;
+}
+```
+
+Už se k tomu dostáváme. Máme inzeráty, položky k obchodu a měnu pro platby. Vytvořit inzerát znamená vložit položku do úschovy (escrow), abyste ukázali, že ji máte, a že jste ji nezveřejnili dvakrát, případně na jiné tabuli.
+
+Níže uvedený kód dělá přesně to. Vloží položku do úschovy (escrow), vytvoří inzerát, provede nějaké úklidové práce.
+
+```solidity
+function openTrade(uint256 _item, uint256 _price)
+ public
+{
+ itemToken.transferFrom(msg.sender, address(this), _item);
+ trades[tradeCounter] = Trade({
+ poster: msg.sender,
+ item: _item,
+ price: _price,
+ status: "Open"
+ });
+ tradeCounter += 1;
+ emit TradeStatusChange(tradeCounter - 1, "Open");
+}
+```
+
+Přijmout obchod znamená vybrat inzerát (obchod), zaplatit cenu, obdržet položku. Níže uvedený kód načte obchod. Zkontroluje, zda je k dispozici. Zaplatí za položku. Načte položku. Aktualizuje inzerát.
+
+```solidity
+function executeTrade(uint256 _trade)
+ public
+{
+ Trade memory trade = trades[_trade];
+ require(trade.status == "Open", "Obchod není otevřený.");
+ currencyToken.transferFrom(msg.sender, trade.poster, trade.price);
+ itemToken.transferFrom(address(this), msg.sender, trade.item);
+ trades[_trade].status = "Executed";
+ emit TradeStatusChange(_trade, "Executed");
+}
+```
+
+Nakonec máme pro prodejce možnost odstoupit od obchodu dříve, než ho kupující přijme. V některých modelech by inzeráty byly místo toho aktivní po určitou dobu, než vyprší jejich platnost. Vaše volba v závislosti na návrhu vašeho trhu.
+
+Kód je velmi podobný tomu, který se používá k provedení obchodu, pouze s tím rozdílem, že nedochází k výměně měny a položka se vrací autorovi inzerátu.
+
+```solidity
+function cancelTrade(uint256 _trade)
+ public
+{
+ Trade memory trade = trades[_trade];
+ require(
+ msg.sender == trade.poster,
+ "Obchod může zrušit pouze autor."
+ );
+ require(trade.status == "Open", "Obchod není otevřený.");
+ itemToken.transferFrom(address(this), trade.poster, trade.item);
+ trades[_trade].status = "Cancelled";
+ emit TradeStatusChange(_trade, "Cancelled");
+}
+```
+
+A je to. Dostali jste se na konec implementace. Je docela překvapivé, jak kompaktní jsou některé obchodní koncepty, když jsou vyjádřeny v kódu, a toto je jeden z těch případů. Podívejte se na kompletní kontrakt [v našem repozitáři](https://github.com/HQ20/contracts/blob/master/contracts/classifieds/Classifieds.sol).
+
+## Závěr {#conclusion}
+
+Inzertní tabule jsou běžnou konfigurací trhu, která se s internetem masivně rozšířila a stala se nesmírně populárním obchodním modelem s několika monopolními vítězi.
+
+Inzertní tabule jsou také nástrojem, který lze snadno replikovat v blockchainovém prostředí, se velmi specifickými funkcemi, které umožní vyzvat stávající giganty.
+
+V tomto článku jsem se pokusil propojit obchodní realitu inzertního byznysu s technologickou implementací. Tyto znalosti by vám měly pomoci vytvořit vizi a plán implementace, pokud máte správné dovednosti.
+
+Jako vždy, pokud se chystáte vytvořit něco zábavného a uvítali byste radu, prosím, [napište mi](https://albertocuesta.es/)! Vždy rád pomohu.
diff --git a/public/content/translations/cs/developers/tutorials/how-to-mint-an-nft/index.md b/public/content/translations/cs/developers/tutorials/how-to-mint-an-nft/index.md
new file mode 100644
index 00000000000..3dd435d0c96
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/how-to-mint-an-nft/index.md
@@ -0,0 +1,335 @@
+---
+title: Jak vyrazit NFT (část 2/3 série tutoriálů o NFT)
+description: Tento tutoriál popisuje, jak vyrazit NFT na blockchainu Etherea pomocí našeho chytrého kontraktu a Web3.
+author: "Sumi Mudgil"
+tags:
+ [
+ "ERC-721",
+ "alchemy",
+ "solidity",
+ "smart kontrakt účty"
+ ]
+skill: beginner
+lang: cs
+published: 2021-04-22
+---
+
+[Beeple](https://www.nytimes.com/2021/03/11/arts/design/nft-auction-christies-beeple.html): 69 milionů
+[3LAU](https://www.forbes.com/sites/abrambrown/2021/03/03/3lau-nft-nonfungible-tokens-justin-blau/?sh=5f72ef64643b): 11 milionů
+[Grimes](https://www.theguardian.com/music/2021/mar/02/grimes-sells-digital-art-collection-non-fungible-tokens): 6 milionů
+
+Všichni z nich vyrazili svá NFT pomocí výkonného API od Alchemy. V tomto tutoriálu vás naučíme, jak udělat to samé za \<10 minut.
+
+„Ražba NFT“ je akt publikování jedinečné instance vašeho tokenu ERC-721 na blockchainu. Pomocí našeho chytrého kontraktu z [1. části této série tutoriálů o NFT](/developers/tutorials/how-to-write-and-deploy-an-nft/) si procvičíme naše dovednosti s Web3 a vyrazíme si NFT. Na konci tohoto tutoriálu si budete moci vyrazit tolik NFT, kolik jen vaše srdce (a peněženka) bude chtít!
+
+Pojďme na to!
+
+## Krok 1: Nainstalujte si Web3 {#install-web3}
+
+Pokud jste postupovali podle prvního tutoriálu o vytváření vašeho chytrého kontraktu pro NFT, máte již zkušenosti s používáním Ethers.js. Web3 je podobné Ethers, protože se jedná o knihovnu, která usnadňuje vytváření požadavků na blockchain Etherea. V tomto tutoriálu budeme používat [Alchemy Web3](https://docs.alchemyapi.io/alchemy/documentation/alchemy-web3), což je vylepšená knihovna Web3, která nabízí automatické opakování pokusů a robustní podporu WebSocket.
+
+V domovském adresáři vašeho projektu spusťte:
+
+```
+npm install @alch/alchemy-web3
+```
+
+## Krok 2: Vytvořte soubor `mint-nft.js` {#create-mintnftjs}
+
+V adresáři `scripts` vytvořte soubor `mint-nft.js` a přidejte následující řádky kódu:
+
+```js
+require("dotenv").config()
+const API_URL = process.env.API_URL
+const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
+const web3 = createAlchemyWeb3(API_URL)
+```
+
+## Krok 3: Získejte ABI svého kontraktu {#contract-abi}
+
+Naše ABI kontraktu (Application Binary Interface) je rozhraní pro interakci s naším chytrým kontraktem. Více informací o ABI kontraktů se můžete dozvědět [zde](https://docs.alchemyapi.io/alchemy/guides/eth_getlogs#what-are-ab-is). Hardhat pro nás automaticky generuje ABI a ukládá ho do souboru `MyNFT.json`. Abychom to mohli použít, budeme muset analyzovat obsah přidáním následujících řádků kódu do našeho souboru `mint-nft.js`:
+
+```js
+const contract = require("../artifacts/contracts/MyNFT.sol/MyNFT.json")
+```
+
+Pokud chcete vidět ABI, můžete si ho vytisknout do konzole:
+
+```js
+console.log(JSON.stringify(contract.abi))
+```
+
+Chcete-li spustit `mint-nft.js` a vidět své ABI vytištěné v konzoli, přejděte do terminálu a spusťte:
+
+```js
+node scripts/mint-nft.js
+```
+
+## Krok 4: Nakonfigurujte metadata pro své NFT pomocí IPFS {#config-meta}
+
+Pokud si pamatujete z našeho tutoriálu v části 1, naše funkce chytrého kontraktu `mintNFT` přijímá parametr tokenURI, který by se měl přeložit na dokument JSON popisující metadata NFT – což je to, co NFT skutečně oživuje a umožňuje mu mít konfigurovatelné vlastnosti, jako je název, popis, obrázek a další atributy.
+
+> _Interplanetary File System (IPFS) je decentralizovaný protokol a peer-to-peer síť pro ukládání a sdílení dat v distribuovaném souborovém systému._
+
+Použijeme Pinata, pohodlné IPFS API a sadu nástrojů, k uložení našeho NFT aktiva a metadat, abychom zajistili, že naše NFT je skutečně decentralizované. Pokud nemáte účet Pinata, zaregistrujte si bezplatný účet [zde](https://app.pinata.cloud) a dokončete kroky pro ověření e-mailu.
+
+Jakmile si vytvoříte účet:
+
+- Přejděte na stránku „Soubory“ a klikněte na modré tlačítko „Nahrát“ v levém horním rohu stránky.
+
+- Nahrajte obrázek do Pinaty – to bude obrazové aktivum pro vaše NFT. Aktivum si můžete pojmenovat, jak chcete
+
+- Po nahrání uvidíte informace o souboru v tabulce na stránce „Soubory“. Uvidíte také sloupec CID. CID můžete zkopírovat kliknutím na tlačítko kopírovat vedle něj. Váš nahraný soubor si můžete prohlédnout na: `https://gateway.pinata.cloud/ipfs/`. Obrázek, který jsme použili, najdete na IPFS například [zde](https://gateway.pinata.cloud/ipfs/QmZdd5KYdCFApWn7eTZJ1qgJu18urJrP9Yh1TZcZrZxxB5).
+
+Pro vizuálněji založené studenty jsou výše uvedené kroky shrnuty zde:
+
+
+
+Nyní budeme chtít nahrát do Pinaty ještě jeden dokument. Ale než to uděláme, musíme ho vytvořit!
+
+Ve svém kořenovém adresáři vytvořte nový soubor s názvem `nft-metadata.json` a přidejte následující kód json:
+
+```json
+{
+ "attributes": [
+ {
+ "trait_type": "Breed",
+ "value": "Maltipoo"
+ },
+ {
+ "trait_type": "Eye color",
+ "value": "Mocha"
+ }
+ ],
+ "description": "The world's most adorable and sensitive pup.",
+ "image": "ipfs://QmWmvTJmJU3pozR9ZHFmQC2DNDwi2XJtf3QGyYiiagFSWb",
+ "name": "Ramses"
+}
+```
+
+Data v jsonu si můžete libovolně měnit. Do sekce atributů můžete přidávat nebo z ní odebírat. Nejdůležitější je, abyste se ujistili, že pole s obrázkem ukazuje na umístění vašeho obrázku na IPFS – jinak bude vaše NFT obsahovat fotku (velmi roztomilého!) psa.
+
+Jakmile dokončíte úpravu souboru JSON, uložte ho a nahrajte na Pinata podle stejných kroků, jaké jsme provedli při nahrávání obrázku.
+
+
+
+## Krok 5: Vytvořte instanci svého kontraktu {#instance-contract}
+
+Nyní, abychom mohli s naším kontraktem interagovat, musíme v našem kódu vytvořit jeho instanci. K tomu budeme potřebovat účet našeho kontraktu, který můžeme získat z nasazení nebo na [Blockscoutu](https://eth-sepolia.blockscout.com/) vyhledáním adresy, kterou jste použili k nasazení kontraktu.
+
+
+
+Ve výše uvedeném příkladu je účet našeho kontraktu 0x5a738a5c5fe46a1fd5ee7dd7e38f722e2aef7778.
+
+Dále použijeme metodu [kontraktu](https://docs.web3js.org/api/web3-eth-contract/class/Contract) Web3 k vytvoření našeho kontraktu pomocí ABI a adresy. Do souboru `mint-nft.js` přidejte následující:
+
+```js
+const contractAddress = "0x5a738a5c5fe46a1fd5ee7dd7e38f722e2aef7778"
+
+const nftContract = new web3.eth.Contract(contract.abi, contractAddress)
+```
+
+## Krok 6: Aktualizujte soubor `.env` {#update-env}
+
+Nyní, abychom mohli vytvářet a odesílat transakce do řetězce Etherea, použijeme adresu vašeho veřejného účtu Ethereum k získání nonce účtu (vysvětlíme níže).
+
+Přidejte svůj veřejný klíč do souboru `.env` – pokud jste dokončili 1. část tutoriálu, náš soubor `.env` by nyní měl vypadat takto:
+
+```js
+API_URL = "https://eth-sepolia.g.alchemy.com/v2/váš-api-klíč"
+PRIVATE_KEY = "adresa-vašeho-privátního-účtu"
+PUBLIC_KEY = "adresa-vašeho-veřejného-účtu"
+```
+
+## Krok 7: Vytvořte transakci {#create-txn}
+
+Nejprve definujme funkci s názvem `mintNFT(tokenData)` a vytvořme naši transakci následujícím postupem:
+
+1. Získejte svůj _PRIVATE_KEY_ a _PUBLIC_KEY_ ze souboru `.env`.
+
+2. Dále budeme muset zjistit nonce účtu. Specifikace nonce se používá ke sledování počtu transakcí odeslaných z vaší adresy – což potřebujeme z bezpečnostních důvodů a k zabránění [útokům opětovného přehrání](https://docs.alchemyapi.io/resources/blockchain-glossary#account-nonce). K získání počtu transakcí odeslaných z vaší adresy použijeme [getTransactionCount](https://docs.alchemyapi.io/documentation/alchemy-api-reference/json-rpc#eth_gettransactioncount).
+
+3. Nakonec nastavíme naši transakci s následujícími informacemi:
+
+- `'from': PUBLIC_KEY` – Původ naší transakce je naše veřejná adresa
+
+- `'to': contractAddress` – Kontrakt, se kterým chceme interagovat a odeslat transakci
+
+- `'nonce': nonce` – Nonce účtu s počtem transakcí odeslaných z naší adresy
+
+- `'gas': estimatedGas` – Odhadované palivo potřebné k dokončení transakce
+
+- `'data': nftContract.methods.mintNFT(PUBLIC_KEY, md).encodeABI()` – Výpočet, který chceme v této transakci provést – což je v tomto případě ražba NFT
+
+Váš soubor `mint-nft.js` by nyní měl vypadat takto:
+
+```js
+ require('dotenv').config();
+ const API_URL = process.env.API_URL;
+ const PUBLIC_KEY = process.env.PUBLIC_KEY;
+ const PRIVATE_KEY = process.env.PRIVATE_KEY;
+
+ const { createAlchemyWeb3 } = require("@alch/alchemy-web3");
+ const web3 = createAlchemyWeb3(API_URL);
+
+ const contract = require("../artifacts/contracts/MyNFT.sol/MyNFT.json");
+ const contractAddress = "0x5a738a5c5fe46a1fd5ee7dd7e38f722e2aef7778";
+ const nftContract = new web3.eth.Contract(contract.abi, contractAddress);
+
+ async function mintNFT(tokenURI) {
+ const nonce = await web3.eth.getTransactionCount(PUBLIC_KEY, 'latest'); //získat nejnovější nonce
+
+ //transakce
+ const tx = {
+ 'from': PUBLIC_KEY,
+ 'to': contractAddress,
+ 'nonce': nonce,
+ 'gas': 500000,
+ 'data': nftContract.methods.mintNFT(PUBLIC_KEY, tokenURI).encodeABI()
+ };
+ }
+```
+
+## Krok 8: Podepište transakci {#sign-txn}
+
+Nyní, když jsme vytvořili naši transakci, musíme ji podepsat, abychom ji mohli odeslat. Zde použijeme náš privátní klíč.
+
+`web3.eth.sendSignedTransaction` nám poskytne haš transakce, který můžeme použít k ujištění, že naše transakce byla vytěžena a nebyla sítí zahozená. Všimnete si, že v sekci podepisování transakcí jsme přidali kontrolu chyb, abychom věděli, zda naše transakce proběhla úspěšně.
+
+```js
+require("dotenv").config()
+const API_URL = process.env.API_URL
+const PUBLIC_KEY = process.env.PUBLIC_KEY
+const PRIVATE_KEY = process.env.PRIVATE_KEY
+
+const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
+const web3 = createAlchemyWeb3(API_URL)
+
+const contract = require("../artifacts/contracts/MyNFT.sol/MyNFT.json")
+const contractAddress = "0x5a738a5c5fe46a1fd5ee7dd7e38f722e2aef7778"
+const nftContract = new web3.eth.Contract(contract.abi, contractAddress)
+
+async function mintNFT(tokenURI) {
+ const nonce = await web3.eth.getTransactionCount(PUBLIC_KEY, "latest") //získat nejnovější nonce
+
+ //transakce
+ const tx = {
+ from: PUBLIC_KEY,
+ to: contractAddress,
+ nonce: nonce,
+ gas: 500000,
+ data: nftContract.methods.mintNFT(PUBLIC_KEY, tokenURI).encodeABI(),
+ }
+
+ const signPromise = web3.eth.accounts.signTransaction(tx, PRIVATE_KEY)
+ signPromise
+ .then((signedTx) => {
+ web3.eth.sendSignedTransaction(
+ signedTx.rawTransaction,
+ function (err, hash) {
+ if (!err) {
+ console.log(
+ "Haš vaší transakce je: ",
+ hash,
+ "\nZkontrolujte Mempool Alchemy a zobrazte stav vaší transakce!"
+ )
+ } else {
+ console.log(
+ "Při odesílání transakce se něco pokazilo:",
+ err
+ )
+ }
+ }
+ )
+ })
+ .catch((err) => {
+ console.log(" Promise selhal:", err)
+ })
+}
+```
+
+## Krok 9: Zavolejte `mintNFT` a spusťte node `mint-nft.js` {#call-mintnft-fn}
+
+Pamatujete si na `metadata.json`, který jste nahráli do Pinaty? Získejte jeho hašovací kód z Pinaty a předejte následující jako parametr funkci `mintNFT` `https://gateway.pinata.cloud/ipfs/`
+
+Zde je návod, jak získat hašovací kód:
+
+_Jak získat hašovací kód metadat vašeho NFT na Pinatě_
+
+> Dvakrát zkontrolujte, že hašovací kód, který jste zkopírovali, odkazuje na váš **metadata.json** načtením `https://gateway.pinata.cloud/ipfs/` do samostatného okna. Stránka by měla vypadat podobně jako na snímku obrazovky níže:
+
+_Vaše stránka by měla zobrazovat metadata json_
+
+Celkově by váš kód měl vypadat nějak takto:
+
+```js
+require("dotenv").config()
+const API_URL = process.env.API_URL
+const PUBLIC_KEY = process.env.PUBLIC_KEY
+const PRIVATE_KEY = process.env.PRIVATE_KEY
+
+const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
+const web3 = createAlchemyWeb3(API_URL)
+
+const contract = require("../artifacts/contracts/MyNFT.sol/MyNFT.json")
+const contractAddress = "0x5a738a5c5fe46a1fd5ee7dd7e38f722e2aef7778"
+const nftContract = new web3.eth.Contract(contract.abi, contractAddress)
+
+async function mintNFT(tokenURI) {
+ const nonce = await web3.eth.getTransactionCount(PUBLIC_KEY, "latest") //získat nejnovější nonce
+
+ //transakce
+ const tx = {
+ from: PUBLIC_KEY,
+ to: contractAddress,
+ nonce: nonce,
+ gas: 500000,
+ data: nftContract.methods.mintNFT(PUBLIC_KEY, tokenURI).encodeABI(),
+ }
+
+ const signPromise = web3.eth.accounts.signTransaction(tx, PRIVATE_KEY)
+ signPromise
+ .then((signedTx) => {
+ web3.eth.sendSignedTransaction(
+ signedTx.rawTransaction,
+ function (err, hash) {
+ if (!err) {
+ console.log(
+ "Haš vaší transakce je: ",
+ hash,
+ "\nZkontrolujte Mempool Alchemy a zobrazte stav vaší transakce!"
+ )
+ } else {
+ console.log(
+ "Při odesílání transakce se něco pokazilo:",
+ err
+ )
+ }
+ }
+ )
+ })
+ .catch((err) => {
+ console.log("Promise selhal:", err)
+ })
+}
+
+mintNFT("ipfs://QmYueiuRNmL4MiA2GwtVMm6ZagknXnSpQnB3z2gWbz36hP")
+```
+
+Nyní spusťte `node scripts/mint-nft.js` pro nasazení vašeho NFT. Po několika sekundách byste měli v terminálu vidět odpověď podobnou této:
+
+ ```
+ Haš vaší transakce je: 0x301791fdf492001fcd9d5e5b12f3aa1bbbea9a88ed24993a8ab2cdae2d06e1e8
+
+ Zkontrolujte Mempool Alchemy a zobrazte stav vaší transakce!
+ ```
+
+Dále navštivte svůj [mempool Alchemy](https://dashboard.alchemyapi.io/mempool) a podívejte se na stav vaší transakce (zda je čekající, vytěžená, nebo ji síť zahodila). Pokud byla vaše transakce zahozená, je také užitečné zkontrolovat [Blockscout](https://eth-sepolia.blockscout.com/) a vyhledat haš vaší transakce.
+
+_Zobrazení haše vaší NFT transakce na Etherscanu_
+
+A to je vše! Nyní jste nasadili A vyrazili NFT na blockchainu Etherea
+
+Pomocí `mint-nft.js` můžete vyrazit tolik NFT, kolik jen vaše srdce (a peněženka) bude chtít! Jen se ujistěte, že předáváte nový tokenURI popisující metadata NFT (jinak skončíte výrobou spousty identických s různými ID).
+
+Pravděpodobně byste si chtěli své NFT vystavit ve své peněžence – takže se určitě podívejte na [3. část: Jak si zobrazit své NFT ve vaší peněžence](/developers/tutorials/how-to-view-nft-in-metamask/)!
diff --git a/public/content/translations/cs/developers/tutorials/how-to-mock-solidity-contracts-for-testing/index.md b/public/content/translations/cs/developers/tutorials/how-to-mock-solidity-contracts-for-testing/index.md
new file mode 100644
index 00000000000..52e86dc43b7
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/how-to-mock-solidity-contracts-for-testing/index.md
@@ -0,0 +1,108 @@
+---
+title: Jak vytvořit maketu chytrých kontraktů Solidity pro testování
+description: Proč byste si při testování měli dělat legraci ze svých kontraktů
+author: Markus Waas
+lang: cs
+tags:
+ [
+ "solidity",
+ "smart kontrakt účty",
+ "testování",
+ "mocking"
+ ]
+skill: intermediate
+published: 2020-05-02
+source: soliditydeveloper.com
+sourceUrl: https://soliditydeveloper.com/mocking-contracts
+---
+
+[Mock objekty](https://wikipedia.org/wiki/Mock_object) jsou běžným návrhovým vzorem v objektově orientovaném programování. Pochází ze starého francouzského slova „mocquer“ s významem „dělat si legraci“ a vyvinulo se ve význam „napodobování něčeho skutečného“, což je vlastně to, co v programování děláme. Dělejte si prosím legraci ze svých chytrých kontraktů, jen pokud chcete, ale vytvářejte pro ně makety, kdykoli můžete. Usnadní vám to život.
+
+## Unit testování kontraktů pomocí maket {#unit-testing-contracts-with-mocks}
+
+Vytvoření makety kontraktu v podstatě znamená vytvoření druhé verze tohoto kontraktu, která se chová velmi podobně jako původní, ale způsobem, který může vývojář snadno ovládat. Často skončíte u složitých kontraktů, kde chcete pouze [testovat malé části kontraktu](/developers/docs/smart-contracts/testing/). Problém je, co když testování této malé části vyžaduje velmi specifický stav kontraktu, do kterého je obtížné se dostat?
+
+Pokaždé byste mohli napsat složitou logiku nastavení testu, která kontrakt uvede do požadovaného stavu, nebo napíšete maketu. Vytvoření makety kontraktu je s dědičností snadné. Jednoduše vytvořte druhý mock kontrakt, který dědí z původního. Nyní můžete do své makety přepsat funkce. Ukažme si to na příkladu.
+
+## Příklad: Privátní ERC20 {#example-private-erc20}
+
+Použijeme příklad kontraktu ERC-20, který má počáteční soukromé období. Vlastník může spravovat soukromé uživatele a pouze ti budou moci na začátku přijímat tokeny. Jakmile uplyne určitá doba, bude moci tokeny používat každý. Pokud vás to zajímá, používáme hook [`_beforeTokenTransfer`](https://docs.openzeppelin.com/contracts/5.x/extending-contracts#using-hooks) z nových kontraktů OpenZeppelin v3.
+
+```solidity
+pragma solidity ^0.6.0;
+
+import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
+import "@openzeppelin/contracts/access/Ownable.sol";
+
+contract PrivateERC20 is ERC20, Ownable {
+ mapping (address => bool) public isPrivateUser;
+ uint256 private publicAfterTime;
+
+ constructor(uint256 privateERC20timeInSec) ERC20("PrivateERC20", "PRIV") public {
+ publicAfterTime = now + privateERC20timeInSec;
+ }
+
+ function addUser(address user) external onlyOwner {
+ isPrivateUser[user] = true;
+ }
+
+ function isPublic() public view returns (bool) {
+ return now >= publicAfterTime;
+ }
+
+ function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
+ super._beforeTokenTransfer(from, to, amount);
+
+ require(_validRecipient(to), "PrivateERC20: invalid recipient");
+ }
+
+ function _validRecipient(address to) private view returns (bool) {
+ if (isPublic()) {
+ return true;
+ }
+
+ return isPrivateUser[to];
+ }
+}
+```
+
+A teď si vytvoříme maketu.
+
+```solidity
+pragma solidity ^0.6.0;
+import "../PrivateERC20.sol";
+
+contract PrivateERC20Mock is PrivateERC20 {
+ bool isPublicConfig;
+
+ constructor() public PrivateERC20(0) {}
+
+ function setIsPublic(bool isPublic) external {
+ isPublicConfig = isPublic;
+ }
+
+ function isPublic() public view returns (bool) {
+ return isPublicConfig;
+ }
+}
+```
+
+Dostanete jednu z následujících chybových zpráv:
+
+- `PrivateERC20Mock.sol: TypeError: Overriding function is missing "override" specifier.`
+- `PrivateERC20.sol: TypeError: Trying to override non-virtual function. Did you forget to add "virtual"?.`
+
+Protože používáme novou verzi Solidity 0.6, musíme přidat klíčové slovo `virtual` pro funkce, které lze přepsat, a `override` pro přepisující funkci. Přidejme je tedy k oběma funkcím `isPublic`.
+
+Nyní ve svých unit testech můžete místo toho použít `PrivateERC20Mock`. Pokud chcete testovat chování během doby soukromého používání, použijte `setIsPublic(false)` a podobně `setIsPublic(true)` pro testování doby veřejného používání. V našem příkladu bychom samozřejmě mohli také použít [pomocné funkce pro čas](https://docs.openzeppelin.com/test-helpers/0.5/api#increase), abychom odpovídajícím způsobem změnili časy. Ale myšlenka mockingu by teď měla být jasná a dokážete si představit scénáře, kde to není tak snadné jako pouhé posunutí času.
+
+## Vytváření maket mnoha kontraktů {#mocking-many-contracts}
+
+Může to být nepřehledné, pokud musíte pro každou jednu maketu vytvářet další kontrakt. Pokud vám to vadí, můžete se podívat na knihovnu [MockContract](https://github.com/gnosis/mock-contract). Umožňuje přepisovat a měnit chování kontraktů za chodu. Funguje to však pouze pro mockování volání jiného kontraktu, takže by to pro náš příklad nefungovalo.
+
+## Mocking může být ještě mocnější {#mocking-can-be-even-more-powerful}
+
+Možnosti mockingu tím nekončí.
+
+- Přidávání funkcí: Užitečné je nejen přepsání konkrétní funkce, ale také pouhé přidání dalších funkcí. Dobrým příkladem pro tokeny je mít pouze dodatečnou funkci `mint`, která umožní každému uživateli získat zdarma nové tokeny.
+- Použití na testnetech: Když nasazujete a testujete své kontrakty na testnetech společně s vaší dapp, zvažte použití mock verze. Vyhněte se přepisování funkcí, pokud to opravdu nemusíte. Koneckonců chcete testovat skutečnou logiku. Ale přidání například resetovací funkce může být užitečné, která jednoduše resetuje stav kontraktu na začátek, není vyžadováno žádné nové nasazení. To byste samozřejmě nechtěli mít v kontraktu na hlavní síti.
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md
new file mode 100644
index 00000000000..6e00cf1253e
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md
@@ -0,0 +1,710 @@
+---
+title: Jak používat Echidnu k testování chytrých kontraktů
+description: Jak používat Echidnu k automatickému testování chytrých kontraktů
+author: "Trailofbits"
+lang: cs
+tags:
+ [
+ "solidity",
+ "smart kontrakt účty",
+ "bezpečnost",
+ "testování",
+ "fuzzing"
+ ]
+skill: advanced
+published: 2020-04-10
+source: Tvorba bezpečných kontraktů
+sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/echidna
+---
+
+## Instalace {#installation}
+
+Echidnu lze nainstalovat prostřednictvím dockeru nebo pomocí předkompilovaného binárního souboru.
+
+### Echidna prostřednictvím dockeru {#echidna-through-docker}
+
+```bash
+docker pull trailofbits/eth-security-toolbox
+docker run -it -v "$PWD":/home/training trailofbits/eth-security-toolbox
+```
+
+_Poslední příkaz spustí eth-security-toolbox v dockeru, který má přístup k vašemu aktuálnímu adresáři. Můžete měnit soubory z vašeho hostitele a spouštět nástroje na souborech z dockeru_
+
+Uvnitř dockeru spusťte:
+
+```bash
+solc-select 0.5.11
+cd /home/training
+```
+
+### Binární soubor {#binary}
+
+[https://github.com/crytic/echidna/releases/tag/v1.4.0.0](https://github.com/crytic/echidna/releases/tag/v1.4.0.0)
+
+## Úvod do fuzzingu založeného na vlastnostech {#introduction-to-property-based-fuzzing}
+
+Echidna je fuzzer založený na vlastnostech, který jsme popsali v našich předchozích příspěvcích na blogu ([1](https://blog.trailofbits.com/2018/03/09/echidna-a-smart-fuzzer-for-ethereum/), [2](https://blog.trailofbits.com/2018/05/03/state-machine-testing-with-echidna/), [3](https://blog.trailofbits.com/2020/03/30/an-echidna-for-all-seasons/)).
+
+### Fuzzing {#fuzzing}
+
+[Fuzzing](https://wikipedia.org/wiki/Fuzzing) je dobře známá technika v bezpečnostní komunitě. Spočívá v generování více či méně náhodných vstupů pro nalezení chyb v programu. Fuzzery pro tradiční software (jako je [AFL](http://lcamtuf.coredump.cx/afl/) nebo [LibFuzzer](https://llvm.org/docs/LibFuzzer.html)) jsou známé jako účinné nástroje pro hledání chyb.
+
+Kromě čistě náhodného generování vstupů existuje mnoho technik a strategií pro generování dobrých vstupů, včetně:
+
+- Získávání zpětné vazby z každého spuštění a její použití k řízení generování. Například, pokud nově vygenerovaný vstup vede k objevení nové cesty, může mít smysl generovat nové vstupy, které jsou mu blízké.
+- Generování vstupu respektujícího strukturální omezení. Například, pokud váš vstup obsahuje hlavičku s kontrolním součtem, bude mít smysl nechat fuzzer generovat vstup ověřující kontrolní součet.
+- Použití známých vstupů pro generování nových vstupů: pokud máte přístup k velkému souboru dat platných vstupů, váš fuzzer může z nich generovat nové vstupy, místo aby začínal generování od nuly. Ty se obvykle nazývají _seeds_.
+
+### Fuzzing založený na vlastnostech {#property-based-fuzzing}
+
+Echidna patří do specifické rodiny fuzzerů: fuzzing založený na vlastnostech, silně inspirovaný [QuickCheck](https://wikipedia.org/wiki/QuickCheck). Na rozdíl od klasického fuzzeru, který se snaží najít pády, se Echidna snaží narušit uživatelem definované invarianty.
+
+V chytrých kontraktech jsou invarianty funkce v Solidity, které mohou představovat jakýkoli nesprávný nebo neplatný stav, kterého může kontrakt dosáhnout, včetně:
+
+- Nesprávná kontrola přístupu: útočník se stal vlastníkem kontraktu.
+- Nesprávný stavový automat: tokeny mohou být převáděny, i když je kontrakt pozastaven.
+- Nesprávná aritmetika: uživatel může způsobit podtečení svého zůstatku a získat neomezené množství tokenů zdarma.
+
+### Testování vlastnosti s Echidnou {#testing-a-property-with-echidna}
+
+Podíváme se, jak testovat chytrý kontrakt s Echidnou. Cílem je následující chytrý kontrakt [`token.sol`](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/example/token.sol):
+
+```solidity
+contract Token{
+ mapping(address => uint) public balances;
+ function airdrop() public{
+ balances[msg.sender] = 1000;
+ }
+ function consume() public{
+ require(balances[msg.sender]>0);
+ balances[msg.sender] -= 1;
+ }
+ function backdoor() public{
+ balances[msg.sender] += 1;
+ }
+}
+```
+
+Budeme předpokládat, že tento token musí mít následující vlastnosti:
+
+- Každý může mít maximálně 1000 tokenů
+- Token nelze převést (nejedná se o token ERC20)
+
+### Napsání vlastnosti {#write-a-property}
+
+Vlastnosti Echidny jsou funkce v Solidity. Vlastnost musí:
+
+- Nemít žádný argument
+- Vrátit `true`, pokud je úspěšná
+- Mít jméno začínající na `echidna`
+
+Echidna bude:
+
+- Automaticky generovat libovolné transakce pro testování vlastnosti.
+- Hlásit jakékoli transakce, které vedou k tomu, že vlastnost vrátí `false` nebo vyhodí chybu.
+- Zahodit vedlejší účinky při volání vlastnosti (tzn. pokud vlastnost změní stavovou proměnnou, je to po testu zahozeno)
+
+Následující vlastnost kontroluje, že volající nemá více než 1000 tokenů:
+
+```solidity
+function echidna_balance_under_1000() public view returns(bool){
+ return balances[msg.sender] <= 1000;
+}
+```
+
+Použijte dědičnost k oddělení vašeho kontraktu od vašich vlastností:
+
+```solidity
+contract TestToken is Token{
+ function echidna_balance_under_1000() public view returns(bool){
+ return balances[msg.sender] <= 1000;
+ }
+ }
+```
+
+[`token.sol`](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/example/token.sol) implementuje vlastnost a dědí z tokenu.
+
+### Inicializace kontraktu {#initiate-a-contract}
+
+Echidna potřebuje [konstruktor](/developers/docs/smart-contracts/anatomy/#constructor-functions) bez argumentu. Pokud váš kontrakt potřebuje specifickou inicializaci, musíte ji provést v konstruktoru.
+
+V Echidně existují některé specifické adresy:
+
+- `0x00a329c0648769A73afAc7F9381E08FB43dBEA72`, která volá konstruktor.
+- `0x10000`, `0x20000` a `0x00a329C0648769a73afAC7F9381e08fb43DBEA70`, které náhodně volají ostatní funkce.
+
+V našem aktuálním příkladu nepotřebujeme žádnou zvláštní inicializaci, proto je náš konstruktor prázdný.
+
+### Spuštění Echidny {#run-echidna}
+
+Echidna se spouští pomocí:
+
+```bash
+echidna-test contract.sol
+```
+
+Pokud contract.sol obsahuje více kontraktů, můžete specifikovat cíl:
+
+```bash
+echidna-test contract.sol --contract MyContract
+```
+
+### Shrnutí: Testování vlastnosti {#summary-testing-a-property}
+
+Následující text shrnuje spuštění Echidny na našem příkladu:
+
+```solidity
+contract TestToken is Token{
+ constructor() public {}
+ function echidna_balance_under_1000() public view returns(bool){
+ return balances[msg.sender] <= 1000;
+ }
+ }
+```
+
+```bash
+echidna-test testtoken.sol --contract TestToken
+...
+
+echidna_balance_under_1000: failed!💥
+ Call sequence, shrinking (1205/5000):
+ airdrop()
+ backdoor()
+
+...
+```
+
+Echidna zjistila, že vlastnost je narušena, pokud je volána funkce `backdoor`.
+
+## Filtrování funkcí pro volání během fuzzingové kampaně {#filtering-functions-to-call-during-a-fuzzing-campaign}
+
+Ukážeme si, jak filtrovat funkce, které mají být fuzzovány.
+Cílem je následující chytrý kontrakt:
+
+```solidity
+contract C {
+ bool state1 = false;
+ bool state2 = false;
+ bool state3 = false;
+ bool state4 = false;
+
+ function f(uint x) public {
+ require(x == 12);
+ state1 = true;
+ }
+
+ function g(uint x) public {
+ require(state1);
+ require(x == 8);
+ state2 = true;
+ }
+
+ function h(uint x) public {
+ require(state2);
+ require(x == 42);
+ state3 = true;
+ }
+
+ function i() public {
+ require(state3);
+ state4 = true;
+ }
+
+ function reset1() public {
+ state1 = false;
+ state2 = false;
+ state3 = false;
+ return;
+ }
+
+ function reset2() public {
+ state1 = false;
+ state2 = false;
+ state3 = false;
+ return;
+ }
+
+ function echidna_state4() public returns (bool) {
+ return (!state4);
+ }
+}
+```
+
+Tento malý příklad nutí Echidnu najít určitou sekvenci transakcí ke změně stavové proměnné.
+Pro fuzzer je to obtížné (doporučuje se použít nástroj pro symbolické provádění, jako je [Manticore](https://github.com/trailofbits/manticore)).
+Můžeme spustit Echidnu, abychom to ověřili:
+
+```bash
+echidna-test multi.sol
+...
+echidna_state4: passed! 🎉
+Seed: -3684648582249875403
+```
+
+### Filtrování funkcí {#filtering-functions}
+
+Echidna má potíže s nalezením správné sekvence pro testování tohoto kontraktu, protože dvě resetovací funkce (`reset1` a `reset2`) nastaví všechny stavové proměnné na `false`.
+Můžeme však použít speciální funkci Echidny a buď dát resetovací funkce na černou listinu, nebo na bílou listinu pouze funkce `f`, `g`,
+`h` a `i`.
+
+Chcete-li dát funkce na černou listinu, můžeme použít tento konfigurační soubor:
+
+```yaml
+filterBlacklist: true
+filterFunctions: ["reset1", "reset2"]
+```
+
+Dalším přístupem k filtrování funkcí je vypsání funkcí na bílé listině. K tomu můžeme použít tento konfigurační soubor:
+
+```yaml
+filterBlacklist: false
+filterFunctions: ["f", "g", "h", "i"]
+```
+
+- `filterBlacklist` je ve výchozím nastavení `true`.
+- Filtrování bude provedeno pouze podle jména (bez parametrů). Pokud máte `f()` a `f(uint256)`, filtr `"f"` bude odpovídat oběma funkcím.
+
+### Spuštění Echidny {#run-echidna-1}
+
+Chcete-li spustit Echidnu s konfiguračním souborem `blacklist.yaml`:
+
+```bash
+echidna-test multi.sol --config blacklist.yaml
+...
+echidna_state4: failed!💥
+ Call sequence:
+ f(12)
+ g(8)
+ h(42)
+ i()
+```
+
+Echidna téměř okamžitě najde sekvenci transakcí, která vlastnost zneplatní.
+
+### Shrnutí: Filtrování funkcí {#summary-filtering-functions}
+
+Echidna může během fuzzingové kampaně buď dát funkce na černou listinu, nebo na bílou listinu pomocí:
+
+```yaml
+filterBlacklist: true
+filterFunctions: ["f1", "f2", "f3"]
+```
+
+```bash
+echidna-test contract.sol --config config.yaml
+...
+```
+
+Echidna spustí fuzzingovou kampaň buď s funkcemi `f1`, `f2` a `f3` na černé listině, nebo voláním pouze těchto funkcí, podle
+hodnoty booleovské proměnné `filterBlacklist`.
+
+## Jak testovat assert v Solidity pomocí Echidny {#how-to-test-soliditys-assert-with-echidna}
+
+V tomto krátkém návodu si ukážeme, jak používat Echidnu k testování kontroly tvrzení (assertions) v kontraktech. Předpokládejme, že máme kontrakt jako je tento:
+
+```solidity
+contract Incrementor {
+ uint private counter = 2**200;
+
+ function inc(uint val) public returns (uint){
+ uint tmp = counter;
+ counter += val;
+ // tmp <= counter
+ return (counter - tmp);
+ }
+}
+```
+
+### Napsání tvrzení (assertion) {#write-an-assertion}
+
+Chceme se ujistit, že `tmp` je menší nebo rovno `counter` po vrácení jejich rozdílu. Mohli bychom napsat
+vlastnost pro Echidnu, ale museli bychom hodnotu `tmp` někam uložit. Místo toho bychom mohli použít tvrzení (assertion) jako je toto:
+
+```solidity
+contract Incrementor {
+ uint private counter = 2**200;
+
+ function inc(uint val) public returns (uint){
+ uint tmp = counter;
+ counter += val;
+ assert (tmp <= counter);
+ return (counter - tmp);
+ }
+}
+```
+
+### Spuštění Echidny {#run-echidna-2}
+
+Chcete-li povolit testování selhání tvrzení (assertion), vytvořte [konfigurační soubor Echidny](https://github.com/crytic/echidna/wiki/Config) `config.yaml`:
+
+```yaml
+checkAsserts: true
+```
+
+Když spustíme tento kontrakt v Echidně, získáme očekávané výsledky:
+
+```bash
+echidna-test assert.sol --config config.yaml
+Analyzing contract: assert.sol:Incrementor
+assertion in inc: failed!💥
+ Call sequence, shrinking (2596/5000):
+ inc(21711016731996786641919559689128982722488122124807605757398297001483711807488)
+ inc(7237005577332262213973186563042994240829374041602535252466099000494570602496)
+ inc(86844066927987146567678238756515930889952488499230423029593188005934847229952)
+
+Seed: 1806480648350826486
+```
+
+Jak můžete vidět, Echidna hlásí selhání tvrzení (assertion) ve funkci `inc`. Přidání více než jednoho tvrzení (assertion) na funkci je možné, ale Echidna nedokáže říct, které tvrzení selhalo.
+
+### Kdy a jak používat tvrzení (assertions) {#when-and-how-use-assertions}
+
+Tvrzení (assertions) lze použít jako alternativu k explicitním vlastnostem, zejména pokud jsou podmínky ke kontrole přímo spojeny se správným použitím nějaké operace `f`. Přidání tvrzení (assertions) za nějaký kód vynutí, že kontrola proběhne okamžitě po jeho vykonání:
+
+```solidity
+function f(..) public {
+ // nějaký složitý kód
+ ...
+ assert (condition);
+ ...
+}
+
+```
+
+Naopak, použití explicitní vlastnosti echidna bude náhodně provádět transakce a neexistuje snadný způsob, jak vynutit, kdy přesně bude zkontrolována. Stále je možné použít toto řešení:
+
+```solidity
+function echidna_assert_after_f() public returns (bool) {
+ f(..);
+ return(condition);
+}
+```
+
+Existují však některé problémy:
+
+- Selže, pokud je `f` deklarováno jako `internal` nebo `external`.
+- Není jasné, které argumenty by se měly použít k volání `f`.
+- Pokud se `f` vrátí, vlastnost selže.
+
+Obecně doporučujeme řídit se [doporučením Johna Regehra](https://blog.regehr.org/archives/1091) o tom, jak používat tvrzení (assertions):
+
+- Nevynucujte žádný vedlejší účinek během kontroly tvrzení. Například: `assert(ChangeStateAndReturn() == 1)`
+- Netvrďte zjevné výroky. Například `assert(var >= 0)`, kde `var` je deklarováno jako `uint`.
+
+Nakonec, prosím, **nepoužívejte** `require` místo `assert`, protože Echidna to nebude schopna detekovat (ale kontrakt se stejně vrátí).
+
+### Shrnutí: Kontrola tvrzení (Assertion Checking) {#summary-assertion-checking}
+
+Následující text shrnuje spuštění Echidny na našem příkladu:
+
+```solidity
+contract Incrementor {
+ uint private counter = 2**200;
+
+ function inc(uint val) public returns (uint){
+ uint tmp = counter;
+ counter += val;
+ assert (tmp <= counter);
+ return (counter - tmp);
+ }
+}
+```
+
+```bash
+echidna-test assert.sol --config config.yaml
+Analyzing contract: assert.sol:Incrementor
+assertion in inc: failed!💥
+ Call sequence, shrinking (2596/5000):
+ inc(21711016731996786641919559689128982722488122124807605757398297001483711807488)
+ inc(7237005577332262213973186563042994240829374041602535252466099000494570602496)
+ inc(86844066927987146567678238756515930889952488499230423029593188005934847229952)
+
+Seed: 1806480648350826486
+```
+
+Echidna zjistila, že tvrzení v `inc` může selhat, pokud je tato funkce volána vícekrát s velkými argumenty.
+
+## Sběr a úprava korpusu Echidna {#collecting-and-modifying-an-echidna-corpus}
+
+Ukážeme si, jak sbírat a používat korpus transakcí s Echidnou. Cílem je následující chytrý kontrakt [`magic.sol`](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/example/magic.sol):
+
+```solidity
+contract C {
+ bool value_found = false;
+ function magic(uint magic_1, uint magic_2, uint magic_3, uint magic_4) public {
+ require(magic_1 == 42);
+ require(magic_2 == 129);
+ require(magic_3 == magic_4+333);
+ value_found = true;
+ return;
+ }
+
+ function echidna_magic_values() public returns (bool) {
+ return !value_found;
+ }
+
+}
+```
+
+Tento malý příklad nutí Echidnu najít určité hodnoty pro změnu stavové proměnné. Pro fuzzer je to obtížné
+(doporučuje se použít nástroj pro symbolické provádění, jako je [Manticore](https://github.com/trailofbits/manticore)).
+Můžeme spustit Echidnu, abychom to ověřili:
+
+```bash
+echidna-test magic.sol
+...
+
+echidna_magic_values: passed! 🎉
+
+Seed: 2221503356319272685
+```
+
+Můžeme však stále používat Echidnu ke sběru korpusu při spouštění této fuzzingové kampaně.
+
+### Sběr korpusu {#collecting-a-corpus}
+
+Chcete-li povolit sběr korpusu, vytvořte adresář korpusu:
+
+```bash
+mkdir corpus-magic
+```
+
+A [konfigurační soubor Echidny](https://github.com/crytic/echidna/wiki/Config) `config.yaml`:
+
+```yaml
+coverage: true
+corpusDir: "corpus-magic"
+```
+
+Nyní můžeme spustit náš nástroj a zkontrolovat shromážděný korpus:
+
+```bash
+echidna-test magic.sol --config config.yaml
+```
+
+Echidna stále nemůže najít správné magické hodnoty, ale můžeme se podívat na korpus, který shromáždila.
+Například jeden z těchto souborů byl:
+
+```json
+[
+ {
+ "_gas'": "0xffffffff",
+ "_delay": ["0x13647", "0xccf6"],
+ "_src": "00a329c0648769a73afac7f9381e08fb43dbea70",
+ "_dst": "00a329c0648769a73afac7f9381e08fb43dbea72",
+ "_value": "0x0",
+ "_call": {
+ "tag": "SolCall",
+ "contents": [
+ "magic",
+ [
+ {
+ "contents": [
+ 256,
+ "93723985220345906694500679277863898678726808528711107336895287282192244575836"
+ ],
+ "tag": "AbiUInt"
+ },
+ {
+ "contents": [256, "334"],
+ "tag": "AbiUInt"
+ },
+ {
+ "contents": [
+ 256,
+ "68093943901352437066264791224433559271778087297543421781073458233697135179558"
+ ],
+ "tag": "AbiUInt"
+ },
+ {
+ "tag": "AbiUInt",
+ "contents": [256, "332"]
+ }
+ ]
+ ]
+ },
+ "_gasprice'": "0xa904461f1"
+ }
+]
+```
+
+Je zřejmé, že tento vstup nespustí selhání v naší vlastnosti. V dalším kroku si však ukážeme, jak jej pro tento účel upravit.
+
+### Nasazení korpusu {#seeding-a-corpus}
+
+Echidna potřebuje pomoc, aby si poradila s funkcí `magic`. Zkopírujeme a upravíme vstup tak, aby používal vhodné
+parametry:
+
+```bash
+cp corpus/2712688662897926208.txt corpus/new.txt
+```
+
+Upravíme `new.txt` tak, aby volal `magic(42,129,333,0)`. Nyní můžeme Echidnu znovu spustit:
+
+```bash
+echidna-test magic.sol --config config.yaml
+...
+echidna_magic_values: failed!💥
+ Call sequence:
+ magic(42,129,333,0)
+
+
+Unique instructions: 142
+Unique codehashes: 1
+Seed: -7293830866560616537
+
+```
+
+Tentokrát zjistila, že vlastnost je okamžitě narušena.
+
+## Hledání transakcí s vysokou spotřebou paliva {#finding-transactions-with-high-gas-consumption}
+
+Ukážeme si, jak s Echidnou najít transakce s vysokou spotřebou paliva. Cílem je následující chytrý kontrakt:
+
+```solidity
+contract C {
+ uint state;
+
+ function expensive(uint8 times) internal {
+ for(uint8 i=0; i < times; i++)
+ state = state + i;
+ }
+
+ function f(uint x, uint y, uint8 times) public {
+ if (x == 42 && y == 123)
+ expensive(times);
+ else
+ state = 0;
+ }
+
+ function echidna_test() public returns (bool) {
+ return true;
+ }
+
+}
+```
+
+Zde může mít `expensive` velkou spotřebu paliva.
+
+V současné době Echidna vždy potřebuje vlastnost k testování: zde `echidna_test` vždy vrací `true`.
+Můžeme spustit Echidnu, abychom to ověřili:
+
+```
+echidna-test gas.sol
+...
+echidna_test: passed! 🎉
+
+Seed: 2320549945714142710
+```
+
+### Měření spotřeby paliva {#measuring-gas-consumption}
+
+Chcete-li s Echidnou povolit spotřebu paliva, vytvořte konfigurační soubor `config.yaml`:
+
+```yaml
+estimateGas: true
+```
+
+V tomto příkladu také zmenšíme velikost sekvence transakcí, aby byly výsledky snáze pochopitelné:
+
+```yaml
+seqLen: 2
+estimateGas: true
+```
+
+### Spuštění Echidny {#run-echidna-3}
+
+Jakmile máme vytvořený konfigurační soubor, můžeme Echidnu spustit takto:
+
+```bash
+echidna-test gas.sol --config config.yaml
+...
+echidna_test: passed! 🎉
+
+f used a maximum of 1333608 gas
+ Call sequence:
+ f(42,123,249) Gas price: 0x10d5733f0a Time delay: 0x495e5 Block delay: 0x88b2
+
+Unique instructions: 157
+Unique codehashes: 1
+Seed: -325611019680165325
+
+```
+
+- Zobrazené palivo je odhad poskytnutý [HEVM](https://github.com/dapphub/dapptools/tree/master/src/hevm#hevm-).
+
+### Odfiltrování volání snižujících spotřebu paliva {#filtering-out-gas-reducing-calls}
+
+Výše uvedený návod **Filtrování funkcí pro volání během fuzzingové kampaně** ukazuje, jak
+odebrat některé funkce z testování.
+To může být zásadní pro získání přesného odhadu paliva.
+Zvažte následující příklad:
+
+```solidity
+contract C {
+ address [] addrs;
+ function push(address a) public {
+ addrs.push(a);
+ }
+ function pop() public {
+ addrs.pop();
+ }
+ function clear() public{
+ addrs.length = 0;
+ }
+ function check() public{
+ for(uint256 i = 0; i < addrs.length; i++)
+ for(uint256 j = i+1; j < addrs.length; j++)
+ if (addrs[i] == addrs[j])
+ addrs[j] = address(0x0);
+ }
+ function echidna_test() public returns (bool) {
+ return true;
+ }
+}
+```
+
+Pokud může Echidna volat všechny funkce, nenajde snadno transakce s vysokými náklady na palivo:
+
+```
+echidna-test pushpop.sol --config config.yaml
+...
+pop used a maximum of 10746 gas
+...
+check used a maximum of 23730 gas
+...
+clear used a maximum of 35916 gas
+...
+push used a maximum of 40839 gas
+```
+
+Je to proto, že náklady závisí na velikosti `addrs` a náhodná volání mají tendenci ponechat pole téměř prázdné.
+Vyloučení funkcí `pop` a `clear` nám však dává mnohem lepší výsledky:
+
+```yaml
+filterBlacklist: true
+filterFunctions: ["pop", "clear"]
+```
+
+```
+echidna-test pushpop.sol --config config.yaml
+...
+push used a maximum of 40839 gas
+...
+check used a maximum of 1484472 gas
+```
+
+### Shrnutí: Hledání transakcí s vysokou spotřebou paliva {#summary-finding-transactions-with-high-gas-consumption}
+
+Echidna může najít transakce s vysokou spotřebou paliva pomocí konfigurační volby `estimateGas`:
+
+```yaml
+estimateGas: true
+```
+
+```bash
+echidna-test contract.sol --config config.yaml
+...
+```
+
+Jakmile bude fuzzingová kampaň ukončena, Echidna nahlásí sekvenci s maximální spotřebou paliva pro každou funkci.
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md
new file mode 100644
index 00000000000..015edf9ceca
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md
@@ -0,0 +1,524 @@
+---
+title: Jak používat Manticore k vyhledávání chyb v chytrých kontraktech
+description: Jak používat Manticore k automatickému vyhledávání chyb v chytrých kontraktech
+author: Trailofbits
+lang: cs
+tags:
+ [
+ "solidity",
+ "smart kontrakt účty",
+ "bezpečnost",
+ "testování",
+ "formální verifikace"
+ ]
+skill: advanced
+published: 2020-01-13
+source: Tvorba bezpečných kontraktů
+sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore
+---
+
+Cílem tohoto tutoriálu je ukázat, jak používat Manticore k automatickému vyhledávání chyb v chytrých kontraktech.
+
+## Instalace {#installation}
+
+Manticore vyžaduje python >= 3.6. Lze jej nainstalovat pomocí pip nebo s použitím dockeru.
+
+### Manticore přes docker {#manticore-through-docker}
+
+```bash
+docker pull trailofbits/eth-security-toolbox
+docker run -it -v "$PWD":/home/training trailofbits/eth-security-toolbox
+```
+
+_Poslední příkaz spustí eth-security-toolbox v dockeru, který má přístup k vašemu aktuálnímu adresáři. Můžete měnit soubory z vašeho hostitele a spouštět nástroje na souborech z dockeru_
+
+Uvnitř dockeru spusťte:
+
+```bash
+solc-select 0.5.11
+cd /home/trufflecon/
+```
+
+### Manticore přes pip {#manticore-through-pip}
+
+```bash
+pip3 install --user manticore
+```
+
+Doporučuje se solc 0.5.11.
+
+### Spuštění skriptu {#running-a-script}
+
+Pro spuštění pythonového skriptu v pythonu 3:
+
+```bash
+python3 script.py
+```
+
+## Úvod do dynamického symbolického provádění {#introduction-to-dynamic-symbolic-execution}
+
+### Dynamické symbolické provádění v kostce {#dynamic-symbolic-execution-in-a-nutshell}
+
+Dynamické symbolické provádění (DSE) je technika analýzy programů, která prozkoumává stavový prostor s vysokou mírou sémantického povědomí. Tato technika je založena na objevování „cest programu“, které jsou reprezentovány jako matematické vzorce zvané `path predicates`. Koncepčně tato technika pracuje s predikáty cest ve dvou krocích:
+
+1. Jsou vytvořeny pomocí omezení na vstupu programu.
+2. Používají se ke generování vstupů programu, které způsobí provedení příslušných cest.
+
+Tento přístup neprodukuje žádné falešně pozitivní výsledky v tom smyslu, že všechny identifikované stavy programu mohou být spuštěny během konkrétního provádění. Pokud například analýza najde celočíselné přetečení, je zaručeno, že bude reprodukovatelné.
+
+### Příklad predikátu cesty {#path-predicate-example}
+
+Pro lepší představu o tom, jak DSE funguje, zvažte následující příklad:
+
+```solidity
+function f(uint a){
+
+ if (a == 65) {
+ // Je přítomna chyba
+ }
+
+}
+```
+
+Protože `f()` obsahuje dvě cesty, DSE vytvoří dva různé predikáty cest:
+
+- Cesta 1: `a == 65`
+- Cesta 2: `Not (a == 65)`
+
+Každý predikát cesty je matematický vzorec, který lze předat takzvanému [řešiči SMT](https://wikipedia.org/wiki/Satisfiability_modulo_theories), který se pokusí rovnici vyřešit. Pro `Cestu 1` řešič řekne, že cestu lze prozkoumat s `a = 65`. Pro `Cestu 2` může řešič dát `a` jakoukoli jinou hodnotu než 65, například `a = 0`.
+
+### Ověřování vlastností {#verifying-properties}
+
+Manticore umožňuje plnou kontrolu nad veškerým prováděním každé cesty. V důsledku toho vám umožňuje přidat libovolná omezení téměř k čemukoli. Tato kontrola umožňuje vytváření vlastností kontraktu.
+
+Zvažte následující příklad:
+
+```solidity
+function unsafe_add(uint a, uint b) returns(uint c){
+ c = a + b; // žádná ochrana proti přetečení
+ return c;
+}
+```
+
+Zde je ve funkci k prozkoumání pouze jedna cesta:
+
+- Cesta 1: `c = a + b`
+
+Pomocí Manticore můžete zkontrolovat přetečení a přidat omezení k predikátu cesty:
+
+- `c = a + b AND (c < a OR c < b)`
+
+Pokud je možné najít ohodnocení `a` a `b`, pro které je výše uvedený predikát cesty proveditelný, znamená to, že jste našli přetečení. Řešič může například vygenerovat vstup `a = 10, b = MAXUINT256`.
+
+Pokud zvážíte opravenou verzi:
+
+```solidity
+function safe_add(uint a, uint b) returns(uint c){
+ c = a + b;
+ require(c>=a);
+ require(c>=b);
+ return c;
+}
+```
+
+Přidružený vzorec s kontrolou přetečení by byl:
+
+- `c = a + b AND (c >= a) AND (c=>b) AND (c < a OR c < b)`
+
+Tento vzorec nelze vyřešit; jinými slovy, je to **důkaz**, že v `safe_add` se `c` vždy zvýší.
+
+DSE je proto mocný nástroj, který dokáže ověřit libovolná omezení ve vašem kódu.
+
+## Spuštění pod Manticore {#running-under-manticore}
+
+Podíváme se, jak prozkoumat chytrý kontrakt s Manticore API. Cílem je následující chytrý kontrakt [`example.sol`](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/manticore/examples/example.sol):
+
+```solidity
+pragma solidity >=0.4.24 <0.6.0;
+
+contract Simple {
+ function f(uint a) payable public{
+ if (a == 65) {
+ revert();
+ }
+ }
+}
+```
+
+### Spustit samostatné prozkoumávání {#run-a-standalone-exploration}
+
+Manticore můžete spustit přímo na chytrém kontraktu pomocí následujícího příkazu (`project` může být soubor Solidity nebo adresář projektu):
+
+```bash
+$ manticore project
+```
+
+Získáte výstup testovacích případů, jako je tento (pořadí se může změnit):
+
+```
+...
+... m.c.manticore:INFO: Generated testcase No. 0 - STOP
+... m.c.manticore:INFO: Generated testcase No. 1 - REVERT
+... m.c.manticore:INFO: Generated testcase No. 2 - RETURN
+... m.c.manticore:INFO: Generated testcase No. 3 - REVERT
+... m.c.manticore:INFO: Generated testcase No. 4 - STOP
+... m.c.manticore:INFO: Generated testcase No. 5 - REVERT
+... m.c.manticore:INFO: Generated testcase No. 6 - REVERT
+... m.c.manticore:INFO: Results in /home/ethsec/workshops/Automated Smart Contracts Audit - TruffleCon 2018/manticore/examples/mcore_t6vi6ij3
+...
+```
+
+Bez dalších informací bude Manticore prozkoumávat kontrakt s novými symbolickými
+transakcemi, dokud neprozkoumá nové cesty v kontraktu. Manticore nespouští nové transakce po neúspěšné (např. po revertu).
+
+Manticore vypíše informace do adresáře `mcore_*`. V tomto adresáři mimo jiné najdete:
+
+- `global.summary`: pokrytí a varování kompilátoru
+- `test_XXXXX.summary`: pokrytí, poslední instrukce, zůstatky na účtech pro každý testovací případ
+- `test_XXXXX.tx`: podrobný seznam transakcí pro každý testovací případ
+
+Zde Manticore našel 7 testovacích případů, které odpovídají (pořadí souborů se může změnit):
+
+| | Transakce 0 | Transakce 1 | Transakce 2 | Výsledek |
+| :-------------------------------------------------------: | :-----------------: | :------------------------: | -------------------------- | :------: |
+| **test_00000000.tx** | Vytvoření kontraktu | f(!=65) | f(!=65) | STOP |
+| **test_00000001.tx** | Vytvoření kontraktu | záložní funkce | | REVERT |
+| **test_00000002.tx** | Vytvoření kontraktu | | | RETURN |
+| **test_00000003.tx** | Vytvoření kontraktu | f(65) | | REVERT |
+| **test_00000004.tx** | Vytvoření kontraktu | f(!=65) | | STOP |
+| **test_00000005.tx** | Vytvoření kontraktu | f(!=65) | f(65) | REVERT |
+| **test_00000006.tx** | Vytvoření kontraktu | f(!=65) | záložní funkce | REVERT |
+
+_Shrnutí prozkoumávání f(!=65) označuje volání f s jakoukoliv hodnotou jinou než 65._
+
+Jak si můžete všimnout, Manticore generuje jedinečný testovací případ pro každou úspěšnou nebo vrácenou transakci.
+
+Použijte příznak `--quick-mode`, pokud chcete rychlé prozkoumání kódu (vypíná detektory chyb, výpočet gasu atd.)
+
+### Manipulace s chytrým kontraktem přes API {#manipulate-a-smart-contract-through-the-api}
+
+Tato část popisuje podrobnosti o tom, jak manipulovat s chytrým kontraktem prostřednictvím Python API Manticore. Můžete vytvořit nový soubor s příponou pythonu `*.py` a napsat potřebný kód přidáním příkazů API (jejichž základy budou popsány níže) do tohoto souboru a poté jej spustit příkazem `$ python3 *.py`. Níže uvedené příkazy můžete také provést přímo v konzoli pythonu. Konzoli spustíte příkazem `$ python3`.
+
+### Vytváření účtů {#creating-accounts}
+
+První věc, kterou byste měli udělat, je inicializovat nový blockchain pomocí následujících příkazů:
+
+```python
+from manticore.ethereum import ManticoreEVM
+
+m = ManticoreEVM()
+```
+
+Účet, který není kontraktem, se vytváří pomocí [m.create_account](https://manticore.readthedocs.io/en/latest/evm.html?highlight=create_account#manticore.ethereum.ManticoreEVM.create_account):
+
+```python
+user_account = m.create_account(balance=1000)
+```
+
+Kontrakt v Solidity lze nasadit pomocí [m.solidity_create_contract](https://manticore.readthedocs.io/en/latest/evm.html?highlight=solidity_create#manticore.ethereum.ManticoreEVM.create_contract):
+
+```solidity
+source_code = '''
+pragma solidity >=0.4.24 <0.6.0;
+contract Simple {
+ function f(uint a) payable public{
+ if (a == 65) {
+ revert();
+ }
+ }
+}
+'''
+# Inicializace kontraktu
+contract_account = m.solidity_create_contract(source_code, owner=user_account)
+```
+
+#### Shrnutí {#summary}
+
+- Uživatelské účty a účty kontraktů můžete vytvořit pomocí [m.create_account](https://manticore.readthedocs.io/en/latest/evm.html?highlight=create_account#manticore.ethereum.ManticoreEVM.create_account) a [m.solidity_create_contract](https://manticore.readthedocs.io/en/latest/evm.html?highlight=solidity_create#manticore.ethereum.ManticoreEVM.create_contract).
+
+### Provádění transakcí {#executing-transactions}
+
+Manticore podporuje dva typy transakcí:
+
+- Nezpracovaná transakce: prozkoumány jsou všechny funkce
+- Pojmenovaná transakce: je prozkoumána pouze jedna funkce
+
+#### Nezpracovaná transakce {#raw-transaction}
+
+Nezpracovaná transakce se provádí pomocí [m.transaction](https://manticore.readthedocs.io/en/latest/evm.html?highlight=transaction#manticore.ethereum.ManticoreEVM.transaction):
+
+```python
+m.transaction(caller=user_account,
+ address=contract_account,
+ data=data,
+ value=value)
+```
+
+Volající, adresa, data nebo hodnota transakce mohou být buď konkrétní, nebo symbolické:
+
+- [m.make_symbolic_value](https://manticore.readthedocs.io/en/latest/evm.html?highlight=make_symbolic_value#manticore.ethereum.ManticoreEVM.make_symbolic_value) vytvoří symbolickou hodnotu.
+- [m.make_symbolic_buffer(size)](https://manticore.readthedocs.io/en/latest/evm.html?highlight=make_symbolic_buffer#manticore.ethereum.ManticoreEVM.make_symbolic_buffer) vytvoří symbolické bajtové pole.
+
+Například:
+
+```python
+symbolic_value = m.make_symbolic_value()
+symbolic_data = m.make_symbolic_buffer(320)
+m.transaction(caller=user_account,
+ address=contract_address,
+ data=symbolic_data,
+ value=symbolic_value)
+```
+
+Pokud jsou data symbolická, Manticore prozkoumá všechny funkce kontraktu během provádění transakce. Pro pochopení toho, jak funguje výběr funkcí, bude užitečné podívat se na vysvětlení záložní funkce v článku [Hands on the Ethernaut CTF](https://blog.trailofbits.com/2017/11/06/hands-on-the-ethernaut-ctf/).
+
+#### Pojmenovaná transakce {#named-transaction}
+
+Funkce lze spouštět prostřednictvím jejich názvu.
+Pro spuštění `f(uint var)` se symbolickou hodnotou z user_account a s 0 ethery použijte:
+
+```python
+symbolic_var = m.make_symbolic_value()
+contract_account.f(symbolic_var, caller=user_account, value=0)
+```
+
+Pokud není `hodnota` transakce specifikována, je ve výchozím nastavení 0.
+
+#### Shrnutí {#summary-1}
+
+- Argumenty transakce mohou být konkrétní nebo symbolické
+- Nezpracovaná transakce prozkoumá všechny funkce
+- Funkci lze volat podle jejího jména
+
+### Pracovní prostor {#workspace}
+
+`m.workspace` je adresář používaný jako výstupní adresář pro všechny generované soubory:
+
+```python
+print("Výsledky jsou v {}".format(m.workspace))
+```
+
+### Ukončení prozkoumávání {#terminate-the-exploration}
+
+Pro zastavení prozkoumávání použijte [m.finalize()](https://manticore.readthedocs.io/en/latest/evm.html?highlight=finalize#manticore.ethereum.ManticoreEVM.finalize). Po zavolání této metody by se neměly odesílat žádné další transakce a Manticore vygeneruje testovací případy pro každou prozkoumanou cestu.
+
+### Shrnutí: Spuštění pod Manticore {#summary-running-under-manticore}
+
+Když spojíme všechny předchozí kroky, získáme:
+
+```python
+from manticore.ethereum import ManticoreEVM
+
+m = ManticoreEVM()
+
+with open('example.sol') as f:
+ source_code = f.read()
+
+user_account = m.create_account(balance=1000)
+contract_account = m.solidity_create_contract(source_code, owner=user_account)
+
+symbolic_var = m.make_symbolic_value()
+contract_account.f(symbolic_var)
+
+print("Výsledky jsou v {}".format(m.workspace))
+m.finalize() # zastavení prozkoumávání
+```
+
+Veškerý výše uvedený kód najdete v [`example_run.py`](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/manticore/examples/example_run.py)
+
+## Získání cest s výjimkami {#getting-throwing-paths}
+
+Nyní vygenerujeme specifické vstupy pro cesty, které vyvolávají výjimku v `f()`. Cílem je stále následující chytrý kontrakt [`example.sol`](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/manticore/examples/example.sol):
+
+```solidity
+pragma solidity >=0.4.24 <0.6.0;
+contract Simple {
+ function f(uint a) payable public{
+ if (a == 65) {
+ revert();
+ }
+ }
+}
+```
+
+### Použití informací o stavu {#using-state-information}
+
+Každá provedená cesta má svůj stav blockchainu. Stav je buď připraven, nebo je ukončen, což znamená, že dosáhne instrukce THROW nebo REVERT:
+
+- [m.ready_states](https://manticore.readthedocs.io/en/latest/states.html#accessing): seznam stavů, které jsou připraveny (neprovedly REVERT/INVALID)
+- [m.killed_states](https://manticore.readthedocs.io/en/latest/states.html#accessings): seznam stavů, které jsou ukončeny
+- [m.all_states](https://manticore.readthedocs.io/en/latest/states.html#accessings): všechny stavy
+
+```python
+for state in m.all_states:
+ # udělat něco se stavem
+```
+
+Můžete přistupovat k informacím o stavu. Například:
+
+- `state.platform.get_balance(account.address)`: zůstatek účtu
+- `state.platform.transactions`: seznam transakcí
+- `state.platform.transactions[-1].return_data`: data vrácená poslední transakcí
+
+Data vrácená poslední transakcí jsou pole, které lze převést na hodnotu pomocí ABI.deserialize, například:
+
+```python
+data = state.platform.transactions[0].return_data
+data = ABI.deserialize("uint", data)
+```
+
+### Jak generovat testovací případ {#how-to-generate-testcase}
+
+Pro generování testovacího případu použijte [m.generate_testcase(state, name)](https://manticore.readthedocs.io/en/latest/evm.html?highlight=generate_testcase#manticore.ethereum.ManticoreEVM.generate_testcase):
+
+```python
+m.generate_testcase(state, 'BugFound')
+```
+
+### Shrnutí {#summary-2}
+
+- Stav můžete iterovat pomocí m.all_states
+- `state.platform.get_balance(account.address)` vrací zůstatek účtu
+- `state.platform.transactions` vrací seznam transakcí
+- `transaction.return_data` jsou vrácená data
+- `m.generate_testcase(state, name)` generuje vstupy pro daný stav
+
+### Shrnutí: Získání cesty s výjimkou {#summary-getting-throwing-path}
+
+```python
+from manticore.ethereum import ManticoreEVM
+
+m = ManticoreEVM()
+
+with open('example.sol') as f:
+ source_code = f.read()
+
+user_account = m.create_account(balance=1000)
+contract_account = m.solidity_create_contract(source_code, owner=user_account)
+
+symbolic_var = m.make_symbolic_value()
+contract_account.f(symbolic_var)
+
+## Zkontrolujte, zda provádění končí s REVERT nebo INVALID
+for state in m.terminated_states:
+ last_tx = state.platform.transactions[-1]
+ if last_tx.result in ['REVERT', 'INVALID']:
+ print('Nalezena výjimka {}'.format(m.workspace))
+ m.generate_testcase(state, 'ThrowFound')
+```
+
+Veškerý výše uvedený kód naleznete v [`example_run.py`](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/manticore/examples/example_run.py)
+
+_Poznámka: mohli jsme vygenerovat mnohem jednodušší skript, protože všechny stavy vrácené terminated_state mají ve svém výsledku REVERT nebo INVALID: tento příklad měl pouze demonstrovat, jak manipulovat s API._
+
+## Přidávání omezení {#adding-constraints}
+
+Podíváme se, jak omezit prozkoumávání. Budeme vycházet z předpokladu, že
+dokumentace funkce `f()` uvádí, že funkce se nikdy nevolá s `a == 65`, takže jakákoli chyba s `a == 65` není skutečnou chybou. Cílem je stále následující chytrý kontrakt [`example.sol`](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/manticore/examples/example.sol):
+
+```solidity
+pragma solidity >=0.4.24 <0.6.0;
+contract Simple {
+ function f(uint a) payable public{
+ if (a == 65) {
+ revert();
+ }
+ }
+}
+```
+
+### Operátory {#operators}
+
+Modul [Operators](https://github.com/trailofbits/manticore/blob/master/manticore/core/smtlib/operators.py) usnadňuje manipulaci s omezeními, mimo jiné poskytuje:
+
+- Operators.AND,
+- Operators.OR,
+- Operators.UGT (větší než bez znaménka),
+- Operators.UGE (větší nebo rovno bez znaménka),
+- Operators.ULT (menší než bez znaménka),
+- Operators.ULE (menší nebo rovno bez znaménka).
+
+Pro import modulu použijte následující příkaz:
+
+```python
+from manticore.core.smtlib import Operators
+```
+
+`Operators.CONCAT` se používá ke zřetězení pole na hodnotu. Například return_data transakce musí být změněna na hodnotu, která se má porovnat s jinou hodnotou:
+
+```python
+last_return = Operators.CONCAT(256, *last_return)
+```
+
+### Omezení {#state-constraint}
+
+Omezení můžete použít globálně nebo pro určitý stav.
+
+#### Globální omezení {#state-constraint}
+
+Použijte `m.constrain(constraint)` pro přidání globálního omezení.
+Můžete například zavolat kontrakt ze symbolické adresy a omezit tuto adresu na konkrétní hodnoty:
+
+```python
+symbolic_address = m.make_symbolic_value()
+m.constraint(Operators.OR(symbolic == 0x41, symbolic_address == 0x42))
+m.transaction(caller=user_account,
+ address=contract_account,
+ data=m.make_symbolic_buffer(320),
+ value=0)
+```
+
+#### Omezení stavu {#state-constraint}
+
+Použijte [state.constrain(constraint)](https://manticore.readthedocs.io/en/latest/states.html?highlight=StateBase#manticore.core.state.StateBase.constrain) k přidání omezení ke konkrétnímu stavu.
+Lze jej použít k omezení stavu po jeho prozkoumání a ke kontrole nějaké jeho vlastnosti.
+
+### Kontrola omezení {#checking-constraint}
+
+Použijte `solver.check(state.constraints)`, abyste zjistili, zda je omezení stále proveditelné.
+Následující příklad například omezí symbolic_value tak, aby se lišila od 65, a zkontroluje, zda je stav stále proveditelný:
+
+```python
+state.constrain(symbolic_var != 65)
+if solver.check(state.constraints):
+ # stav je proveditelný
+```
+
+### Shrnutí: Přidání omezení {#summary-adding-constraints}
+
+Přidáním omezení k předchozímu kódu získáme:
+
+```python
+from manticore.ethereum import ManticoreEVM
+from manticore.core.smtlib.solver import Z3Solver
+
+solver = Z3Solver.instance()
+
+m = ManticoreEVM()
+
+with open("example.sol") as f:
+ source_code = f.read()
+
+user_account = m.create_account(balance=1000)
+contract_account = m.solidity_create_contract(source_code, owner=user_account)
+
+symbolic_var = m.make_symbolic_value()
+contract_account.f(symbolic_var)
+
+no_bug_found = True
+
+## Zkontrolujte, zda provádění končí s REVERT nebo INVALID
+for state in m.terminated_states:
+ last_tx = state.platform.transactions[-1]
+ if last_tx.result in ['REVERT', 'INVALID']:
+ # nebereme v úvahu cestu, kde a == 65
+ condition = symbolic_var != 65
+ if m.generate_testcase(state, name="BugFound", only_if=condition):
+ print(f'Byla nalezena chyba, výsledky jsou v {m.workspace}')
+ no_bug_found = False
+
+if no_bug_found:
+ print(f'Nebyla nalezena žádná chyba')
+```
+
+Veškerý výše uvedený kód naleznete v [`example_run.py`](https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/manticore/examples/example_run.py)
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
new file mode 100644
index 00000000000..627a5602ddc
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
@@ -0,0 +1,239 @@
+---
+title: Jak používat Slither k hledání chyb ve smart kontraktech
+description: Jak používat Slither k automatickému hledání chyb ve smart kontraktech
+author: Trailofbits
+lang: cs
+tags:
+ [
+ "solidity",
+ "smart kontrakt účty",
+ "bezpečnost",
+ "testování"
+ ]
+skill: advanced
+published: 2020-06-09
+source: Tvorba bezpečných kontraktů
+sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/slither
+---
+
+## Jak používat Slither {#how-to-use-slither}
+
+Cílem tohoto tutoriálu je ukázat, jak používat Slither k automatickému hledání chyb ve smart kontraktech.
+
+- [Instalace](#installation)
+- [Použití příkazového řádku](#command-line)
+- [Úvod do statické analýzy](#static-analysis): Stručný úvod do statické analýzy
+- [API](#api-basics): Popis Python API
+
+## Instalace {#installation}
+
+Slither vyžaduje Python >= 3.6. Lze jej nainstalovat pomocí pip nebo s použitím dockeru.
+
+Slither přes pip:
+
+```bash
+pip3 install --user slither-analyzer
+```
+
+Slither přes docker:
+
+```bash
+docker pull trailofbits/eth-security-toolbox
+docker run -it -v "$PWD":/home/trufflecon trailofbits/eth-security-toolbox
+```
+
+_Poslední příkaz spustí eth-security-toolbox v dockeru, který má přístup k vašemu aktuálnímu adresáři. Můžete měnit soubory z vašeho hostitele a spouštět nástroje na souborech z dockeru_
+
+Uvnitř dockeru spusťte:
+
+```bash
+solc-select 0.5.11
+cd /home/trufflecon/
+```
+
+### Spuštění skriptu {#running-a-script}
+
+Pro spuštění pythonového skriptu v pythonu 3:
+
+```bash
+python3 script.py
+```
+
+### Příkazový řádek {#command-line}
+
+**Příkazový řádek versus uživatelsky definované skripty.** Slither je dodáván se sadou předdefinovaných detektorů, které nacházejí mnoho běžných chyb. Zavolání Slitheru z příkazového řádku spustí všechny detektory, není potřeba žádná podrobná znalost statické analýzy:
+
+```bash
+slither project_paths
+```
+
+Kromě detektorů má Slither také možnosti revize kódu prostřednictvím svých [výpisů](https://github.com/crytic/slither#printers) a [nástrojů](https://github.com/crytic/slither#tools).
+
+Použijte [crytic.io](https://github.com/crytic) pro získání přístupu k soukromým detektorům a integraci s GitHub.
+
+## Statická analýza {#static-analysis}
+
+Schopnosti a design frameworku pro statickou analýzu Slither byly popsány v blogových příspěvcích ([1](https://blog.trailofbits.com/2018/10/19/slither-a-solidity-static-analysis-framework/), [2](https://blog.trailofbits.com/2019/05/27/slither-the-leading-static-analyzer-for-smart-contracts/)) a v [akademickém článku](https://github.com/trailofbits/publications/blob/master/papers/wetseb19.pdf).
+
+Statická analýza existuje v různých variantách. S největší pravděpodobností si uvědomujete, že kompilátory jako [clang](https://clang-analyzer.llvm.org/) a [gcc](https://lwn.net/Articles/806099/) závisí na těchto výzkumných technikách, ale jsou také základem pro ([Infer](https://fbinfer.com/), [CodeClimate](https://codeclimate.com/), [FindBugs](http://findbugs.sourceforge.net/) a nástroje založené na formálních metodách, jako jsou [Frama-C](https://frama-c.com/) a [Polyspace](https://www.mathworks.com/products/polyspace.html).
+
+Nebudeme zde vyčerpávajícím způsobem procházet techniky statické analýzy a výzkum. Místo toho se zaměříme na to, co je potřeba k pochopení fungování Slitheru, abyste jej mohli efektivněji používat k hledání chyb a porozumění kódu.
+
+- [Reprezentace kódu](#code-representation)
+- [Analýza kódu](#analysis)
+- [Mezilehlá reprezentace](#intermediate-representation)
+
+### Reprezentace kódu {#code-representation}
+
+Na rozdíl od dynamické analýzy, která uvažuje o jedné cestě spuštění, statická analýza uvažuje o všech cestách najednou. K tomu se spoléhá na jinou reprezentaci kódu. Dvě nejběžnější jsou abstraktní syntaktický strom (AST) a graf řízení toku (CFG).
+
+### Abstraktní syntaktické stromy (AST) {#abstract-syntax-trees-ast}
+
+AST se používají pokaždé, když kompilátor parsuje kód. Je to pravděpodobně nejzákladnější struktura, na které lze provádět statickou analýzu.
+
+V kostce, AST je strukturovaný strom, kde obvykle každý list obsahuje proměnnou nebo konstantu a vnitřní uzly jsou operandy nebo operace řízení toku. Zvažte následující kód:
+
+```solidity
+function safeAdd(uint a, uint b) pure internal returns(uint){
+ if(a + b <= a){
+ revert();
+ }
+ return a + b;
+}
+```
+
+Odpovídající AST je zobrazen v:
+
+
+
+Slither používá AST exportovaný kompilátorem solc.
+
+I když je AST jednoduché sestavit, jedná se o vnořenou strukturu. Někdy to není nejjednodušší analyzovat. Například pro identifikaci operací použitých ve výrazu `a + b <= a` musíte nejprve analyzovat `<=` a pak `+`. Běžným přístupem je použití takzvaného vzoru návštěvník, který rekurzivně prochází stromem. Slither obsahuje obecného návštěvníka v [`ExpressionVisitor`](https://github.com/crytic/slither/blob/master/slither/visitors/expression/expression.py).
+
+Následující kód používá `ExpressionVisitor` k detekci, zda výraz obsahuje sčítání:
+
+```python
+from slither.visitors.expression.expression import ExpressionVisitor
+from slither.core.expressions.binary_operation import BinaryOperationType
+
+class HasAddition(ExpressionVisitor):
+
+ def result(self):
+ return self._result
+
+ def _post_binary_operation(self, expression):
+ if expression.type == BinaryOperationType.ADDITION:
+ self._result = True
+
+visitor = HasAddition(expression) # expression je výraz, který se má testovat
+print(f'Výraz {expression} obsahuje sčítání: {visitor.result()}')
+```
+
+### Graf řízení toku (CFG) {#control-flow-graph-cfg}
+
+Druhou nejběžnější reprezentací kódu je graf řízení toku (CFG). Jak název napovídá, jedná se o grafovou reprezentaci, která odhaluje všechny cesty spuštění. Každý uzel obsahuje jednu nebo více instrukcí. Hrany v grafu představují operace řízení toku (if/then/else, smyčka atd.). CFG našeho předchozího příkladu je:
+
+
+
+CFG je reprezentace, na které je postavena většina analýz.
+
+Existuje mnoho dalších reprezentací kódu. Každá reprezentace má výhody a nevýhody v závislosti na analýze, kterou chcete provést.
+
+### Analýza {#analysis}
+
+Nejjednodušším typem analýz, které můžete se Slitherem provádět, jsou syntaktické analýzy.
+
+### Syntaktická analýza {#syntax-analysis}
+
+Slither může procházet různými komponenty kódu a jejich reprezentací, aby našel nekonzistence a nedostatky pomocí přístupu podobného porovnávání vzorů.
+
+Například následující detektory hledají problémy související se syntaxí:
+
+- [Stínování stavové proměnné](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing): iteruje přes všechny stavové proměnné a kontroluje, zda některá nestíní proměnnou ze zděděného kontraktu ([state.py#L51-L62](https://github.com/crytic/slither/blob/0441338e055ab7151b30ca69258561a5a793f8ba/slither/detectors/shadowing/state.py#L51-L62))
+
+- [Nesprávné rozhraní ERC20](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-erc20-interface): hledá nesprávné podpisy funkcí ERC20 ([incorrect_erc20_interface.py#L34-L55](https://github.com/crytic/slither/blob/0441338e055ab7151b30ca69258561a5a793f8ba/slither/detectors/erc/incorrect_erc20_interface.py#L34-L55))
+
+### Sémantická analýza {#semantic-analysis}
+
+Na rozdíl od syntaktické analýzy jde sémantická analýza hlouběji a analyzuje „význam“ kódu. Tato rodina zahrnuje několik širokých typů analýz. Vedou k výkonnějším a užitečnějším výsledkům, ale jsou také složitější na psaní.
+
+Sémantické analýzy se používají pro nej pokročilejší detekce zranitelností.
+
+#### Analýza závislosti dat {#fixed-point-computation}
+
+O proměnné `variable_a` se říká, že je datově závislá na `variable_b`, pokud existuje cesta, na které je hodnota `variable_a` ovlivněna `variable_b`.
+
+V následujícím kódu je `variable_a` závislá na `variable_b`:
+
+```solidity
+// ...
+variable_a = variable_b + 1;
+```
+
+Slither je dodáván s vestavěnými schopnostmi [datové závislosti](https://github.com/crytic/slither/wiki/data-dependency), díky své mezilehlé reprezentaci (diskutované v pozdější sekci).
+
+Příklad použití datové závislosti lze nalézt v [detektoru nebezpečné striktní rovnosti](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities). Zde Slither bude hledat porovnání striktní rovnosti s nebezpečnou hodnotou ([incorrect_strict_equality.py#L86-L87](https://github.com/crytic/slither/blob/6d86220a53603476f9567c3358524ea4db07fb25/slither/detectors/statements/incorrect_strict_equality.py#L86-L87)), a informuje uživatele, že by měl použít `>=` nebo `<=` místo `==`, aby zabránil útočníkovi uvěznit kontrakt. Mimo jiné bude detektor považovat za nebezpečnou návratovou hodnotu volání `balanceOf(address)` ([incorrect_strict_equality.py#L63-L64](https://github.com/crytic/slither/blob/6d86220a53603476f9567c3358524ea4db07fb25/slither/detectors/statements/incorrect_strict_equality.py#L63-L64)) a použije engine datové závislosti ke sledování jejího použití.
+
+#### Výpočet pevného bodu {#fixed-point-computation}
+
+Pokud vaše analýza prochází CFG a sleduje hrany, je pravděpodobné, že uvidíte již navštívené uzly. Například, pokud je smyčka představena, jak je uvedeno níže:
+
+```solidity
+for(uint i; i < range; ++){
+ variable_a += 1
+}
+```
+
+Vaše analýza bude muset vědět, kdy se zastavit. Existují zde dvě hlavní strategie: (1) iterovat na každém uzlu konečný početkrát, (2) vypočítat takzvaný _pevný bod_. Pevný bod v podstatě znamená, že analýza tohoto uzlu již neposkytuje žádné smysluplné informace.
+
+Příklad použití pevného bodu lze nalézt v detektorech reentrancy: Slither prozkoumává uzly a hledá externí volání, zápisy do úložiště a čtení z něj. Jakmile dosáhne pevného bodu ([reentrancy.py#L125-L131](https://github.com/crytic/slither/blob/master/slither/detectors/reentrancy/reentrancy.py#L125-L131)), zastaví průzkum a analyzuje výsledky, aby zjistil, zda je přítomna reentrancy, a to prostřednictvím různých vzorců reentrancy ([reentrancy_benign.py](https://github.com/crytic/slither/blob/b275bcc824b1b932310cf03b6bfb1a1fef0ebae1/slither/detectors/reentrancy/reentrancy_benign.py), [reentrancy_read_before_write.py](https://github.com/crytic/slither/blob/b275bcc824b1b932310cf03b6bfb1a1fef0ebae1/slither/detectors/reentrancy/reentrancy_read_before_write.py), [reentrancy_eth.py](https://github.com/crytic/slither/blob/b275bcc824b1b932310cf03b6bfb1a1fef0ebae1/slither/detectors/reentrancy/reentrancy_eth.py)).
+
+Psaní analýz využívajících efektivní výpočet pevného bodu vyžaduje dobré porozumění tomu, jak analýza šíří své informace.
+
+### Mezilehlá reprezentace {#intermediate-representation}
+
+Mezilehlá reprezentace (IR) je jazyk, který má být pro statickou analýzu vhodnější než ten původní. Slither překládá Solidity do své vlastní IR: [SlithIR](https://github.com/crytic/slither/wiki/SlithIR).
+
+Porozumění SlithIR není nutné, pokud chcete psát pouze základní kontroly. Bude se však hodit, pokud plánujete psát pokročilé sémantické analýzy. [Výpisy](https://github.com/crytic/slither/wiki/Printer-documentation#slithir) SlithIR a [SSA](https://github.com/crytic/slither/wiki/Printer-documentation#slithir-ssa) vám pomohou pochopit, jak je kód přeložen.
+
+## Základy API {#api-basics}
+
+Slither má API, které vám umožňuje prozkoumat základní atributy kontraktu a jeho funkcí.
+
+Pro načtení kódové báze:
+
+```python
+from slither import Slither
+slither = Slither('/path/to/project')
+
+```
+
+### Prozkoumávání kontraktů a funkcí {#exploring-contracts-and-functions}
+
+Objekt `Slither` má:
+
+- `contracts (list(Contract)`: seznam kontraktů
+- `contracts_derived (list(Contract)`: seznam kontraktů, které nejsou zděděny jiným kontraktem (podmnožina kontraktů)
+- `get_contract_from_name (str)`: Vrátí kontrakt podle jeho jména
+
+Objekt `Contract` má:
+
+- `name (str)`: Jméno kontraktu
+- `functions (list(Function))`: Seznam funkcí
+- `modifiers (list(Modifier))`: Seznam funkcí
+- `all_functions_called (list(Function/Modifier))`: Seznam všech interních funkcí dosažitelných kontraktem
+- `inheritance (list(Contract))`: Seznam zděděných kontraktů
+- `get_function_from_signature (str)`: Vrátí funkci podle jejího podpisu
+- `get_modifier_from_signature (str)`: Vrátí modifikátor podle jeho podpisu
+- `get_state_variable_from_name (str)`: Vrátí stavovou proměnnou podle jejího jména
+
+Objekt `Function` nebo `Modifier` má:
+
+- `name (str)`: Jméno funkce
+- `contract (contract)`: kontrakt, kde je funkce deklarována
+- `nodes (list(Node))`: Seznam uzlů tvořících CFG funkce/modifikátoru
+- `entry_point (Node)`: Vstupní bod CFG
+- `variables_read (list(Variable))`: Seznam přečtených proměnných
+- `variables_written (list(Variable))`: Seznam zapsaných proměnných
+- `state_variables_read (list(StateVariable))`: Seznam přečtených stavových proměnných (podmnožina proměnných `read`)
+- `state_variables_written (list(StateVariable))`: Seznam zapsaných stavových proměnných (podmnožina proměnných `written`)
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md
new file mode 100644
index 00000000000..4431f0150d2
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md
@@ -0,0 +1,81 @@
+---
+title: Jak nastavit Tellor jako vaše orákulum
+description: Průvodce, jak začít s integrací orákula Tellor do vašeho protokolu
+author: "Tellor"
+lang: cs
+tags: [ "solidity", "smart kontrakt účty", "orákula" ]
+skill: beginner
+published: 2021-06-29
+source: Tellor Docs
+sourceUrl: https://docs.tellor.io/tellor/
+---
+
+Rychlý kvíz: Váš protokol je téměř hotový, ale potřebuje orákulum, aby získal přístup k offchainovým datům... Co uděláte?
+
+## Doporučené předpoklady {#soft-prerequisites}
+
+Cílem tohoto příspěvku je, aby byl přístup ke zdroji dat z orákula co nejjednodušší a nejsrozumitelnější. Nicméně předpokládáme následující úroveň vašich programátorských dovedností, abychom se mohli soustředit na aspekt orákula.
+
+Předpoklady:
+
+- umíte se orientovat v terminálu
+- máte nainstalovaný npm
+- víte, jak používat npm ke správě závislostí
+
+Tellor je funkční open-source orákulum připravené k implementaci. Tento průvodce pro začátečníky je zde, aby ukázal, jak snadno lze Tellor zprovoznit a poskytnout tak vašemu projektu plně decentralizované orákulum odolné vůči cenzuře.
+
+## Přehled {#overview}
+
+Tellor je systém orákul, kde strany mohou požadovat hodnotu offchainového datového bodu (např. BTC/USD) a reportéři soutěží o přidání této hodnoty do onchainové datové banky, která je přístupná všem chytrým kontraktům na Ethereu. Vstupy do této datové banky jsou zabezpečeny sítí reportérů, kteří stakují. Tellor využívá kryptoekonomické motivační mechanismy, odměňuje poctivé reportéry za předkládání dat a trestá podvodníky prostřednictvím vydávání tokenu Telloru, Tributes (TRB), a mechanismu pro řešení sporů.
+
+V tomto tutoriálu si projdeme:
+
+- Nastavení počáteční sady nástrojů, kterou budete potřebovat pro zprovoznění.
+- Projdeme si jednoduchý příklad.
+- Vypíšeme si adresy testnetů, na kterých můžete v současné době Tellor testovat.
+
+## UsingTellor {#usingtellor}
+
+První věc, kterou budete chtít udělat, je nainstalovat základní nástroje potřebné k použití Telloru jako vašeho orákula. Použijte [tento balíček](https://github.com/tellor-io/usingtellor) k instalaci uživatelských kontraktů Tellor:
+
+`npm install usingtellor`
+
+Po instalaci to umožní vašim kontraktům dědit funkce z kontraktu ‚UsingTellor‘.
+
+Skvělé! Nyní, když máte připravené nástroje, projděme si jednoduché cvičení, ve kterém získáme cenu bitcoinu:
+
+### Příklad BTC/USD {#btcusd-example}
+
+Děděte kontrakt UsingTellor a předejte adresu Telloru jako argument konstruktoru:
+
+Toto je příklad:
+
+```solidity
+import "usingtellor/contracts/UsingTellor.sol";
+
+contract PriceContract is UsingTellor {
+ uint256 public btcPrice;
+
+ //Tento kontrakt má nyní přístup ke všem funkcím v UsingTellor
+
+constructor(address payable _tellorAddress) UsingTellor(_tellorAddress) public {}
+
+function setBtcPrice() public {
+ bytes memory _b = abi.encode("SpotPrice",abi.encode("btc","usd"));
+ bytes32 _queryId = keccak256(_b);
+
+ uint256 _timestamp;
+ bytes _value;
+
+ (_value, _timestamp) = getDataBefore(_queryId, block.timestamp - 15 minutes);
+
+ btcPrice = abi.decode(_value,(uint256));
+ }
+}
+```
+
+Úplný seznam adres kontraktů naleznete [zde](https://docs.tellor.io/tellor/the-basics/contracts-reference).
+
+Pro usnadnění použití je repozitář UsingTellor dodáván s verzí kontraktu [Tellor Playground](https://github.com/tellor-io/TellorPlayground) pro snazší integraci. Seznam užitečných funkcí naleznete [zde](https://github.com/tellor-io/sampleUsingTellor#tellor-playground).
+
+Pro robustnější implementaci orákula Tellor se podívejte na úplný seznam dostupných funkcí [zde](https://github.com/tellor-io/usingtellor/blob/master/README.md).
diff --git a/public/content/translations/cs/developers/tutorials/how-to-view-nft-in-metamask/index.md b/public/content/translations/cs/developers/tutorials/how-to-view-nft-in-metamask/index.md
new file mode 100644
index 00000000000..4a1dd40cc96
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/how-to-view-nft-in-metamask/index.md
@@ -0,0 +1,33 @@
+---
+title: Jak si zobrazit své NFT ve své peněžence (3. část ze 3 v sérii návodů o NFT)
+description: Tento návod popisuje, jak si zobrazit stávající NFT v peněžence MetaMask!
+author: "Sumi Mudgil"
+tags: [ "ERC-721", "Alchemy", "Solidity" ]
+skill: beginner
+lang: cs
+published: 2021-04-22
+---
+
+Tento návod je 3. část ze 3 v sérii návodů o NFT, ve které si zobrazíme své nově vyražené NFT. Tento obecný návod však můžete použít pro jakýkoli token ERC-721 s použitím peněženky MetaMask, a to jak na hlavní síti, tak na jakékoli testovací síti. Pokud se chcete naučit, jak si vyrazit vlastní NFT na Ethereu, podívejte se na [1. část o tom, jak napsat a nasadit chytrý kontrakt pro NFT](/developers/tutorials/how-to-write-and-deploy-an-nft)!
+
+Výborně! Dostali jste se k nejkratší a nejjednodušší části naší série návodů o NFT – jak si zobrazit své čerstvě vyražené NFT ve virtuální peněžence. V tomto příkladu budeme používat MetaMask, protože jsme ho používali i v předchozích dvou částech.
+
+Jako předpoklad byste měli mít již nainstalovanou mobilní aplikaci MetaMask, a ta by měla obsahovat účet, na který jste si své NFT vyrazili – aplikaci si můžete zdarma stáhnout pro [iOS](https://apps.apple.com/us/app/metamask-blockchain-wallet/id1438144202) nebo [Android](https://play.google.com/store/apps/details?id=io.metamask&hl=en_US&gl=US).
+
+## Krok 1: Nastavte síť na Sepolia {#set-network-to-sepolia}
+
+V horní části aplikace stiskněte tlačítko „Peněženka“, poté budete vyzváni k výběru sítě. Protože naše NFT bylo vyraženo na síti Sepolia, budete chtít jako síť vybrat Sepolia.
+
+
+
+## Krok 2: Přidejte svůj sběratelský předmět do MetaMask {#add-nft-to-metamask}
+
+Jakmile budete na síti Sepolia, vyberte vpravo kartu „Sběratelské předměty“ a přidejte adresu chytrého kontraktu NFT a ID tokenu ERC-721 vašeho NFT – které byste měli najít na Etherscanu na základě hashe transakce z vašeho NFT nasazeného v II. části našeho návodu.
+
+
+
+Možná budete muset několikrát obnovit stránku, abyste své NFT viděli – ale bude tam !
+
+
+
+Výborně! Úspěšně jste vyrazili NFT a nyní si ho můžete prohlédnout! Nemůžeme se dočkat, až uvidíme, jak vezmete svět NFT útokem!
diff --git a/public/content/translations/cs/developers/tutorials/how-to-write-and-deploy-an-nft/index.md b/public/content/translations/cs/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
new file mode 100644
index 00000000000..e6efa375b9d
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
@@ -0,0 +1,382 @@
+---
+title: Jak napsat a nasadit NFT (část 1/3 ze série výukových programů o NFT)
+description: Tento výukový program je první částí série o NFT, která vás krok za krokem provede tím, jak napsat a nasadit chytrý kontrakt nefunkčního tokenu (token ERC-721) pomocí Etherea a systému souborů Inter Planetary File System (IPFS).
+author: "Sumi Mudgil"
+tags: [ "ERC-721", "Alchemy", "Solidity", "chytré kontrakty" ]
+skill: beginner
+lang: cs
+published: 2021-04-22
+---
+
+Jelikož NFT přibližují blockchain široké veřejnosti, je to skvělá příležitost, abyste pochopili ten humbuk kolem a sami si publikovali svůj vlastní NFT kontrakt (token ERC-721) na ethereovém blockchainu!
+
+Společnost Alchemy je nesmírně hrdá na to, že pohání největší jména v oblasti NFT, včetně Makersplace (nedávno stanovila rekord v prodeji digitálních uměleckých děl v aukční síni Christie's za 69 milionů dolarů), Dapper Labs (tvůrci NBA Top Shot a Crypto Kitties), OpenSea (největší světové NFT tržiště), Zora, Super Rare, NFTfi, Foundation, Enjin, Origin Protocol, Immutable a dalších.
+
+V tomto výukovém programu si projdeme vytvoření a nasazení chytrého kontraktu ERC-721 v testovací síti Sepolia pomocí [MetaMask](https://metamask.io/), [Solidity](https://docs.soliditylang.org/en/v0.8.0/), [Hardhat](https://hardhat.org/), [Pinata](https://pinata.cloud/) a [Alchemy](https://alchemy.com/signup/eth) (nebojte se, pokud zatím nechápete, co z toho co znamená – všechno vám vysvětlíme!).
+
+Ve 2. části tohoto výukového programu si projdeme, jak můžeme pomocí našeho chytrého kontraktu razit NFT, a ve 3. části si vysvětlíme, jak si své NFT zobrazit v MetaMask.
+
+A samozřejmě, pokud budete mít v kterémkoli bodě dotazy, neváhejte se ozvat na [Alchemy Discord](https://discord.gg/gWuC7zB) nebo navštivte [dokumentaci NFT API od Alchemy](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api)!
+
+## Krok 1: Připojte se k síti Ethereum {#connect-to-ethereum}
+
+Existuje spousta způsobů, jak posílat požadavky na ethereový blockchain, ale abychom si to zjednodušili, použijeme bezplatný účet na [Alchemy](https://alchemy.com/signup/eth), což je blockchainová vývojářská platforma a API, která nám umožňuje komunikovat s řetězcem Etherea, aniž bychom museli provozovat vlastní uzly.
+
+V tomto výukovém programu také využijeme vývojářské nástroje společnosti Alchemy pro monitorování a analýzu, abychom pochopili, co se děje „pod pokličkou“ při nasazování našeho chytrého kontraktu. Pokud ještě nemáte účet Alchemy, můžete se zdarma zaregistrovat [zde](https://alchemy.com/signup/eth).
+
+## Krok 2: Vytvořte si aplikaci (a klíč API) {#make-api-key}
+
+Jakmile si vytvoříte účet na Alchemy, můžete si vygenerovat klíč API vytvořením aplikace. To nám umožní posílat požadavky do testovací sítě Sepolia. Pokud se chcete o testovacích sítích dozvědět více, podívejte se na [tuto příručku](https://docs.alchemyapi.io/guides/choosing-a-network).
+
+1. Přejděte na stránku „Create App“ ve svém ovládacím panelu Alchemy tak, že v navigační liště najedete na „Apps“ a kliknete na „Create App“
+
+
+
+2. Pojmenujte svou aplikaci (my jsme zvolili „Moje první NFT!“), nabídněte krátký popis, pro řetězec vyberte „Ethereum“ a pro síť zvolte „Sepolia“. Od Sloučení jsou ostatní testovací sítě zastaralé.
+
+
+
+3. Klikněte na „Create app“ a to je vše! Vaše aplikace by se měla objevit v tabulce níže.
+
+## Krok 3: Vytvořte si ethereový účet (adresu) {#create-eth-address}
+
+K odesílání a přijímání transakcí potřebujeme ethereový účet. Pro tento výukový program použijeme MetaMask, virtuální peněženku v prohlížeči, která slouží ke správě adresy vašeho ethereového účtu. Pokud chcete lépe porozumět tomu, jak fungují transakce na Ethereu, podívejte se na [tuto stránku](/developers/docs/transactions/) od Nadace Ethereum.
+
+Účet MetaMask si můžete zdarma stáhnout a vytvořit [zde](https://metamask.io/download). Při vytváření účtu, nebo pokud již účet máte, se ujistěte, že jste se vpravo nahoře přepnuli na „Sepolia Test Network“ (abychom nepracovali se skutečnými penězi).
+
+
+
+## Krok 4: Přidejte ether z Faucetu {#step-4-add-ether-from-a-faucet}
+
+Abychom mohli náš chytrý kontrakt nasadit do testovací sítě, budeme potřebovat nějaké falešné ETH. Pro získání ETH můžete jít na [Sepolia Faucet](https://sepoliafaucet.com/) hostovaný společností Alchemy, přihlásit se, zadat adresu svého účtu a kliknout na „Send Me ETH“. Krátce poté byste měli vidět ETH ve svém účtu MetaMask!
+
+## Krok 5: Zkontrolujte svůj zůstatek {#check-balance}
+
+Abychom si dvakrát zkontrolovali, že tam náš zůstatek je, udělejme požadavek [eth_getBalance](https://docs.alchemyapi.io/alchemy/documentation/alchemy-api-reference/json-rpc#eth_getbalance) pomocí [nástroje pro sestavování od Alchemy](https://composer.alchemyapi.io?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getBalance%22%2C%22paramValues%22%3A%5B%22%22%2C%22latest%22%5D%7D). Tím se vrátí množství ETH v naší peněžence. Po zadání adresy vašeho účtu MetaMask a kliknutí na „Send Request“ byste měli vidět takovouto odpověď:
+
+ ````
+ ```json
+ {"jsonrpc": "2.0", "id": 0, "result": "0xde0b6b3a7640000"}
+ ```
+ ````
+
+> **Poznámka** Tento výsledek je ve wei, ne v ETH. Wei se používá jako nejmenší denominace etheru. Převod z wei na ETH je 1 eth = 1018 wei. Pokud tedy převedeme 0xde0b6b3a7640000 na desetinné číslo, dostaneme 1\*1018 wei, což se rovná 1 ETH.
+
+Uf! Naše falešné peníze jsou všechny tam.
+
+## Krok 6: Inicializujte náš projekt {#initialize-project}
+
+Nejprve budeme muset vytvořit složku pro náš projekt. Přejděte na příkazový řádek a zadejte:
+
+ ```
+ mkdir my-nft
+ cd my-nft
+ ```
+
+Nyní, když jsme uvnitř složky našeho projektu, použijeme k inicializaci projektu npm init. Pokud ještě nemáte nainstalovaný npm, postupujte podle [těchto pokynů](https://docs.alchemyapi.io/alchemy/guides/alchemy-for-macs#1-install-nodejs-and-npm) (budeme potřebovat také [Node.js](https://nodejs.org/en/download/), takže si ho také stáhněte!).
+
+ ```
+ npm init
+ ```
+
+Nezáleží na tom, jak odpovíte na instalační otázky; zde je pro informaci, jak jsme to udělali my:
+
+```json
+ název balíčku: (my-nft)
+ verze: (1.0.0)
+ popis: Moje první NFT!
+ vstupní bod: (index.js)
+ testovací příkaz:
+ repozitář git:
+ klíčová slova:
+ autor:
+ licence: (ISC)
+ Chystáte se zapsat do /Users/thesuperb1/Desktop/my-nft/package.json:
+
+ {
+ "name": "my-nft",
+ "version": "1.0.0",
+ "description": "Moje první NFT!",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Chyba: není zadán žádný test\" && exit 1"
+ },
+ "author": "",
+ "license": "ISC"
+ }
+```
+
+Schvalte soubor package.json a můžeme pokračovat!
+
+## Krok 7: Instalace [Hardhat](https://hardhat.org/getting-started/#overview) {#install-hardhat}
+
+Hardhat je vývojové prostředí pro kompilaci, nasazení, testování a ladění vašeho softwaru pro Ethereum. Pomáhá vývojářům při lokálním budování chytrých kontraktů a dapps před jejich nasazením na živý řetězec.
+
+Uvnitř našeho projektu my-nft spusťte:
+
+ ```
+ npm install --save-dev hardhat
+ ```
+
+Další podrobnosti o [instalačních pokynech](https://hardhat.org/getting-started/#overview) naleznete na této stránce.
+
+## Krok 8: Vytvoření projektu Hardhat {#create-hardhat-project}
+
+Uvnitř složky našeho projektu spusťte:
+
+ ```
+ npx hardhat
+ ```
+
+Poté by se vám měla zobrazit uvítací zpráva a možnost vybrat si, co chcete dělat. Vyberte „create an empty hardhat.config.js“:
+
+ ```
+ 888 888 888 888 888
+ 888 888 888 888 888
+ 888 888 888 888 888
+ 8888888888 8888b. 888d888 .d88888 88888b. 8888b. 888888
+ 888 888 "88b 888P" d88" 888 888 "88b "88b 888
+ 888 888 .d888888 888 888 888 888 888 .d888888 888
+ 888 888 888 888 888 Y88b 888 888 888 888 888 Y88b.
+ 888 888 "Y888888 888 "Y88888 888 888 "Y888888 "Y888
+ 👷 Vítejte v Hardhat v2.0.11 👷
+ ? Co chcete dělat? …
+ Vytvořit vzorový projekt
+ ❯ Vytvořit prázdný hardhat.config.js
+ Ukončit
+ ```
+
+Tím se nám vygeneruje soubor hardhat.config.js, kde v kroku 13 specifikujeme všechna nastavení našeho projektu.
+
+## Krok 9: Přidání složek projektu {#add-project-folders}
+
+Abychom měli v projektu pořádek, vytvoříme si dvě nové složky. Přejděte do kořenového adresáře projektu v příkazovém řádku a zadejte:
+
+ ```
+ mkdir contracts
+ mkdir scripts
+ ```
+
+- contracts/ je místo, kde budeme uchovávat kód našeho NFT chytrého kontraktu
+
+- scripts/ je místo, kde budeme uchovávat skripty pro nasazení a interakci s naším chytrým kontraktem
+
+## Krok 10: Napište náš kontrakt {#write-contract}
+
+Nyní, když máme nastavené prostředí, přejděme k zajímavějším věcem: _psaní kódu našeho chytrého kontraktu!_
+
+Otevřete projekt my-nft ve svém oblíbeném editoru (my máme rádi [VSCode](https://code.visualstudio.com/)). Chytré kontrakty se píší v jazyce zvaném Solidity, který použijeme k napsání našeho chytrého kontraktu MyNFT.sol.
+
+1. Přejděte do složky `contracts` a vytvořte nový soubor s názvem MyNFT.sol
+
+2. Níže je kód našeho NFT chytrého kontraktu, který jsme založili na implementaci ERC-721 z knihovny [OpenZeppelin](https://docs.openzeppelin.com/contracts/3.x/erc721). Zkopírujte a vložte níže uvedený obsah do souboru MyNFT.sol.
+
+ ```solidity
+ //Kontrakt založený na [https://docs.openzeppelin.com/contracts/3.x/erc721](https://docs.openzeppelin.com/contracts/3.x/erc721)
+ // SPDX-License-Identifier: MIT
+ pragma solidity ^0.8.0;
+
+ import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
+ import "@openzeppelin/contracts/utils/Counters.sol";
+ import "@openzeppelin/contracts/access/Ownable.sol";
+ import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
+
+ contract MyNFT is ERC721URIStorage, Ownable {
+ using Counters for Counters.Counter;
+ Counters.Counter private _tokenIds;
+
+ constructor() ERC721("MyNFT", "NFT") {}
+
+ function mintNFT(address recipient, string memory tokenURI)
+ public onlyOwner
+ returns (uint256)
+ {
+ _tokenIds.increment();
+
+ uint256 newItemId = _tokenIds.current();
+ _mint(recipient, newItemId);
+ _setTokenURI(newItemId, tokenURI);
+
+ return newItemId;
+ }
+ }
+ ```
+
+3. Protože dědíme třídy z knihovny kontraktů OpenZeppelin, spusťte v příkazovém řádku `npm install @openzeppelin/contracts^4.0.0`, abyste knihovnu nainstalovali do naší složky.
+
+Co přesně tedy tento kód _dělá_? Pojďme si to rozebrat, řádek po řádku.
+
+V horní části našeho chytrého kontraktu importujeme tři třídy chytrých kontraktů [OpenZeppelin](https://openzeppelin.com/):
+
+- @openzeppelin/contracts/token/ERC721/ERC721.sol obsahuje implementaci standardu ERC-721, kterou bude náš NFT chytrý kontrakt dědit. (Aby byl chytrý kontrakt platným NFT, musí implementovat všechny metody standardu ERC-721.) Chcete-li se dozvědět více o zděděných funkcích ERC-721, podívejte se na definici rozhraní [zde](https://eips.ethereum.org/EIPS/eip-721).
+
+- @openzeppelin/contracts/utils/Counters.sol poskytuje čítače, které lze zvýšit nebo snížit pouze o jedna. Náš chytrý kontrakt používá čítač ke sledování celkového počtu ražených NFT a k nastavení jedinečného ID na našem novém NFT. (Každému NFT raženému pomocí chytrého kontraktu musí být přiděleno jedinečné ID – zde je naše jedinečné ID určeno pouze celkovým počtem existujících NFT. Například první NFT, které razíme s naším chytrým kontraktem, má ID „1“, naše druhé NFT má ID „2“ atd.)
+
+- @openzeppelin/contracts/access/Ownable.sol nastavuje [řízení přístupu](https://docs.openzeppelin.com/contracts/3.x/access-control) k našemu chytrému kontraktu, takže NFT může razit pouze vlastník chytrého kontraktu (vy). (Poznámka: Zahrnutí řízení přístupu je zcela na preferencích. Pokud chcete, aby kdokoli mohl razit NFT pomocí vašeho chytrého kontraktu, odstraňte slovo Ownable na řádku 10 a onlyOwner na řádku 17.)
+
+Po našich příkazech pro import máme náš vlastní NFT chytrý kontrakt, který je překvapivě krátký – obsahuje pouze čítač, konstruktor a jednu funkci! Je to díky našim zděděným kontraktům OpenZeppelin, které implementují většinu metod, které potřebujeme k vytvoření NFT, jako je `ownerOf`, která vrací vlastníka NFT, a `transferFrom`, která převádí vlastnictví NFT z jednoho účtu na druhý.
+
+V našem konstruktoru ERC-721 si všimnete, že předáváme 2 řetězce, „MyNFT“ a „NFT“. První proměnná je název chytrého kontraktu a druhá je jeho symbol. Každou z těchto proměnných si můžete pojmenovat, jak chcete!
+
+Nakonec máme naši funkci `mintNFT(address recipient, string memory tokenURI)`, která nám umožňuje razit NFT! Všimnete si, že tato funkce přebírá dvě proměnné:
+
+- `address recipient` určuje adresu, která obdrží vaše čerstvě ražené NFT
+
+- `string memory tokenURI` je řetězec, který by se měl přeložit na dokument JSON, který popisuje metadata NFT. Metadata NFT jsou to, co ho skutečně oživuje a umožňuje mu mít konfigurovatelné vlastnosti, jako je název, popis, obrázek a další atributy. Ve 2. části tohoto výukového programu si popíšeme, jak tato metadata nakonfigurovat.
+
+`mintNFT` volá některé metody ze zděděné knihovny ERC-721 a nakonec vrací číslo, které představuje ID čerstvě raženého NFT.
+
+## Krok 11: Připojte MetaMask a Alchemy ke svému projektu {#connect-metamask-and-alchemy}
+
+Nyní, když jsme vytvořili peněženku MetaMask, účet Alchemy a napsali náš chytrý kontrakt, je čas tyto tři věci propojit.
+
+Každá transakce odeslaná z vaší virtuální peněženky vyžaduje podpis pomocí vašeho jedinečného privátního klíče. Abychom našemu programu poskytli toto oprávnění, můžeme bezpečně uložit náš privátní klíč (a klíč API od Alchemy) do souboru prostředí.
+
+Chcete-li se dozvědět více o odesílání transakcí, podívejte se na [tento výukový program](/developers/tutorials/sending-transactions-using-web3-and-alchemy/) o odesílání transakcí pomocí web3.
+
+Nejprve nainstalujte balíček dotenv do adresáře vašeho projektu:
+
+ ```
+ npm install dotenv --save
+ ```
+
+Poté vytvořte soubor `.env` v kořenovém adresáři našeho projektu a přidejte do něj svůj privátní klíč MetaMask a adresu URL rozhraní HTTP API od Alchemy.
+
+- Postupujte podle [těchto pokynů](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-Export-an-Account-Private-Key) pro export vašeho privátního klíče z MetaMask
+
+- Níže se podívejte, jak získat URL API HTTP od Alchemy, a zkopírujte si ji do schránky
+
+
+
+Váš soubor `.env` by nyní měl vypadat takto:
+
+ ```
+ API_URL="https://eth-sepolia.g.alchemy.com/v2/your-api-key"
+ PRIVATE_KEY="your-metamask-private-key"
+ ```
+
+Abychom je skutečně propojili s naším kódem, budeme na tyto proměnné odkazovat v našem souboru hardhat.config.js v kroku 13.
+
+
+
+## Krok 12: Instalace Ethers.js {#install-ethers}
+
+Ethers.js je knihovna, která usnadňuje interakci a zadávání požadavků na Ethereum tím, že obaluje [standardní metody JSON-RPC](/developers/docs/apis/json-rpc/) uživatelsky přívětivějšími metodami.
+
+Hardhat velmi usnadňuje integraci [pluginů](https://hardhat.org/plugins/) pro další nástroje a rozšířenou funkčnost. Pro nasazení kontraktu využijeme [plugin Ethers](https://hardhat.org/docs/plugins/official-plugins#hardhat-ethers) ([Ethers.js](https://github.com/ethers-io/ethers.js/) má několik velmi čistých metod pro nasazení kontraktu).
+
+V adresáři projektu zadejte:
+
+ ```
+ npm install --save-dev @nomiclabs/hardhat-ethers ethers@^5.0.0
+ ```
+
+V dalším kroku budeme také vyžadovat ethers v našem souboru hardhat.config.js.
+
+## Krok 13: Aktualizace souboru hardhat.config.js {#update-hardhat-config}
+
+Zatím jsme přidali několik závislostí a pluginů, nyní musíme aktualizovat hardhat.config.js, aby o nich všech náš projekt věděl.
+
+Aktualizujte svůj soubor hardhat.config.js tak, aby vypadal takto:
+
+```js
+ /**
+ * @type import('hardhat/config').HardhatUserConfig
+ */
+ require('dotenv').config();
+ require("@nomiclabs/hardhat-ethers");
+ const { API_URL, PRIVATE_KEY } = process.env;
+ module.exports = {
+ solidity: "0.8.1",
+ defaultNetwork: "sepolia",
+ networks: {
+ hardhat: {},
+ sepolia: {
+ url: API_URL,
+ accounts: [`0x${PRIVATE_KEY}`]
+ }
+ },
+ }
+```
+
+## Krok 14: Zkompilujte náš kontrakt {#compile-contract}
+
+Abychom se ujistili, že zatím vše funguje, zkompilujeme si náš kontrakt. Úkol kompilace je jedním z vestavěných úkolů Hardhat.
+
+Z příkazového řádku spusťte:
+
+ ```
+ npx hardhat compile
+ ```
+
+Můžete dostat varování o tom, že v zdrojovém souboru není uveden identifikátor licence SPDX, ale s tím si nemusíte dělat starosti – doufejme, že vše ostatní vypadá dobře! Pokud ne, vždy můžete napsat zprávu na [discordu Alchemy](https://discord.gg/u72VCg3).
+
+## Krok 15: Napište náš skript pro nasazení {#write-deploy}
+
+Nyní, když je náš kontrakt napsán a náš konfigurační soubor je připraven, je čas napsat náš skript pro nasazení kontraktu.
+
+Přejděte do složky `scripts/` a vytvořte nový soubor s názvem `deploy.js` a přidejte do něj následující obsah:
+
+```js
+async function main() {
+ const MyNFT = await ethers.getContractFactory("MyNFT")
+
+ // Spusťte nasazení, vrátí se promise, která se vyřeší na objekt kontraktu
+ const myNFT = await MyNFT.deploy()
+ await myNFT.deployed()
+ console.log("Kontrakt nasazen na adresu:", myNFT.address)
+}
+
+main()
+ .then(() => process.exit(0))
+ .catch((error) => {
+ console.error(error)
+ process.exit(1)
+ })
+```
+
+Hardhat skvěle vysvětluje, co každý z těchto řádků kódu dělá ve svém [výukovém programu Kontrakty](https://hardhat.org/tutorial/testing-contracts.html#writing-tests), a my jsme zde jejich vysvětlení převzali.
+
+ ```
+ const MyNFT = await ethers.getContractFactory("MyNFT");
+ ```
+
+ContractFactory v ethers.js je abstrakce používaná k nasazení nových chytrých kontraktů, takže MyNFT je zde továrnou pro instance našeho NFT kontraktu. Při použití pluginu hardhat-ethers jsou instance ContractFactory a Contract ve výchozím nastavení připojeny k prvnímu podepisujícímu.
+
+ ```
+ const myNFT = await MyNFT.deploy();
+ ```
+
+Volání deploy() na ContractFactory spustí nasazení a vrátí Promise, která se vyřeší na Contract. Toto je objekt, který má metodu pro každou z funkcí našeho chytrého kontraktu.
+
+## Krok 16: Nasaďte náš kontrakt {#deploy-contract}
+
+Konečně jsme připraveni nasadit náš chytrý kontrakt! Vraťte se do kořenového adresáře projektu a v příkazovém řádku spusťte:
+
+ ```
+ npx hardhat --network sepolia run scripts/deploy.js
+ ```
+
+Měli byste pak vidět něco takového:
+
+ ```
+ Kontrakt nasazen na adresu: 0x4C5266cCc4b3F426965d2f51b6D910325a0E7650
+ ```
+
+Pokud přejdeme na [Sepolia etherscan](https://sepolia.etherscan.io/) a vyhledáme adresu našeho kontraktu, měli bychom vidět, že byl úspěšně nasazen. Pokud ji nevidíte okamžitě, chvíli prosím počkejte, protože to může nějakou dobu trvat. Transakce bude vypadat nějak takto:
+
+
+
+Adresa „Od“ by měla odpovídat adrese vašeho účtu MetaMask a adresa „Pro“ bude říkat „Contract Creation“. Pokud klikneme na transakci, uvidíme adresu našeho kontraktu v poli „Pro“:
+
+
+
+Paráda! Právě jste nasadili svůj NFT chytrý kontrakt na řetězec Ethereum (testnet)!
+
+Abychom pochopili, co se děje „pod pokličkou“, přejděme na kartu Explorer v našem [ovládacím panelu Alchemy](https://dashboard.alchemyapi.io/explorer). Pokud máte více aplikací Alchemy, ujistěte se, že filtrujete podle aplikace a vyberete „MyNFT“.
+
+
+
+Zde uvidíte hrstku volání JSON-RPC, která pro nás Hardhat/Ethers provedly „pod pokličkou“, když jsme volali funkci .deploy(). Dvě důležité, které je třeba zde zmínit, jsou [eth_sendRawTransaction](/developers/docs/apis/json-rpc/#eth_sendrawtransaction), což je požadavek na skutečný zápis našeho chytrého kontraktu na řetězec Sepolia, a [eth_getTransactionByHash](/developers/docs/apis/json-rpc/#eth_gettransactionbyhash), což je požadavek na přečtení informací o naší transakci na základě haše (typický vzorec při odesílání transakcí). Chcete-li se dozvědět více o odesílání transakcí, podívejte se na tento výukový program o [odesílání transakcí pomocí Web3](/developers/tutorials/sending-transactions-using-web3-and-alchemy/).
+
+To je vše k 1. části tohoto výukového programu. V [části 2 budeme skutečně interagovat s naším chytrým kontraktem ražbou NFT](/developers/tutorials/how-to-mint-an-nft/) a v [části 3 si ukážeme, jak si své NFT zobrazit ve své ethereové peněžence](/developers/tutorials/how-to-view-nft-in-metamask/)!
diff --git a/public/content/translations/cs/developers/tutorials/interact-with-other-contracts-from-solidity/index.md b/public/content/translations/cs/developers/tutorials/interact-with-other-contracts-from-solidity/index.md
new file mode 100644
index 00000000000..3ff1600eae0
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/interact-with-other-contracts-from-solidity/index.md
@@ -0,0 +1,179 @@
+---
+title: Interakce s dalšími kontrakty ze Solidity
+description: Jak nasadit chytrý kontrakt z existujícího kontraktu a interagovat s ním
+author: "jdourlens"
+tags:
+ [
+ "smart kontrakt účty",
+ "solidity",
+ "remix",
+ "nasazování",
+ "složitelnost"
+ ]
+skill: advanced
+lang: cs
+published: 2020-04-05
+source: EthereumDev
+sourceUrl: https://ethereumdev.io/interact-with-other-contracts-from-solidity/
+address: "0x19dE91Af973F404EDF5B4c093983a7c6E3EC8ccE"
+---
+
+V předchozích návodech jsme se toho hodně naučili [jak nasadit svůj první chytrý kontrakt](/developers/tutorials/deploying-your-first-smart-contract/) a přidat do něj některé funkce, jako je [řízení přístupu pomocí modifikátorů](https://ethereumdev.io/organize-your-code-and-control-access-to-your-smart-contract-with-modifiers/) nebo [zpracování chyb v Solidity](https://ethereumdev.io/handle-errors-in-solidity-with-require-and-revert/). V tomto návodu se naučíme, jak nasadit chytrý kontrakt z existujícího kontraktu a jak s ním interagovat.
+
+Vytvoříme kontrakt, který komukoli umožní mít svůj vlastní `Counter` chytrý kontrakt tím, že pro něj vytvoříme továrnu (factory). Její název bude `CounterFactory`. Nejdříve si ukážeme kód našeho původního `Counter` chytrého kontraktu:
+
+```solidity
+pragma solidity 0.5.17;
+
+contract Counter {
+
+ uint256 private _count;
+ address private _owner;
+ address private _factory;
+
+
+ modifier onlyOwner(address caller) {
+ require(caller == _owner, "Nejsi vlastníkem kontraktu");
+ _;
+ }
+
+ modifier onlyFactory() {
+ require(msg.sender == _factory, "Musíš použít továrnu");
+ _;
+ }
+
+ constructor(address owner) public {
+ _owner = owner;
+ _factory = msg.sender;
+ }
+
+ function getCount() public view returns (uint256) {
+ return _count;
+ }
+
+ function increment(address caller) public onlyFactory onlyOwner(caller) {
+ _count++;
+ }
+
+}
+```
+
+Všimni si, že jsme mírně upravili kód kontraktu, abychom mohli sledovat adresu továrny a adresu vlastníka kontraktu. Když voláš kód kontraktu z jiného kontraktu, msg.sender bude odkazovat na adresu naší továrny na kontrakty. Toto je **opravdu důležitý bod k pochopení**, protože použití kontraktu k interakci s jinými kontrakty je běžnou praxí. Proto by sis měl v komplexních případech dávat pozor, kdo je odesílatel.
+
+Z tohoto důvodu jsme také přidali modifikátor `onlyFactory`, který zajišťuje, že funkci měnící stav může volat pouze továrna, která předá původního volajícího jako parametr.
+
+Do naší nové `CounterFactory`, která bude spravovat všechny ostatní čítače (Counters), přidáme mapování, které přiřadí vlastníka k adrese jeho kontraktu čítače:
+
+```solidity
+mapping(address => Counter) _counters;
+```
+
+V Ethereu je mapování ekvivalentem objektů v javascriptu, umožňují mapovat klíč typu A na hodnotu typu B. V tomto případě mapujeme adresu vlastníka s instancí jeho Čítače (Counter).
+
+Vytvoření instance nového čítače (Counter) pro někoho bude vypadat takto:
+
+```solidity
+ function createCounter() public {
+ require (_counters[msg.sender] == Counter(0));
+ _counters[msg.sender] = new Counter(msg.sender);
+ }
+```
+
+Nejdříve zkontrolujeme, zda daná osoba již nějaký čítač (counter) vlastní. Pokud čítač nevlastní, vytvoříme instanci nového čítače předáním jeho adresy do konstruktoru `Counter` a přiřadíme nově vytvořenou instanci do mapování.
+
+Získání počtu pro konkrétní čítač (Counter) bude vypadat takto:
+
+```solidity
+function getCount(address account) public view returns (uint256) {
+ require (_counters[account] != Counter(0));
+ return (_counters[account].getCount());
+}
+
+function getMyCount() public view returns (uint256) {
+ return (getCount(msg.sender));
+}
+```
+
+První funkce zkontroluje, zda kontrakt Čítače (Counter) existuje pro danou adresu, a poté zavolá metodu `getCount` z instance. Druhá funkce: `getMyCount` je jen zkratka pro přímé předání msg.sender do funkce `getCount`.
+
+Funkce `increment` je poměrně podobná, ale předává původního odesílatele transakce do kontraktu `Counter`:
+
+```solidity
+function increment() public {
+ require (_counters[msg.sender] != Counter(0));
+ Counter(_counters[msg.sender]).increment(msg.sender);
+ }
+```
+
+Všimni si, že pokud se bude volat příliš často, může se náš čítač stát obětí přetečení (overflow). Pro ochranu před tímto možným případem bys měl co nejvíce používat [knihovnu SafeMath](https://ethereumdev.io/using-safe-math-library-to-prevent-from-overflows/).
+
+Pro nasazení našeho kontraktu budeš muset poskytnout kód jak pro `CounterFactory`, tak pro `Counter`. Při nasazování například v Remixu budeš muset vybrat CounterFactory.
+
+Zde je celý kód:
+
+```solidity
+pragma solidity 0.5.17;
+
+contract Counter {
+
+ uint256 private _count;
+ address private _owner;
+ address private _factory;
+
+
+ modifier onlyOwner(address caller) {
+ require(caller == _owner, "Nejsi vlastníkem kontraktu");
+ _;
+ }
+
+ modifier onlyFactory() {
+ require(msg.sender == _factory, "Musíš použít továrnu");
+ _;
+ }
+
+ constructor(address owner) public {
+ _owner = owner;
+ _factory = msg.sender;
+ }
+
+ function getCount() public view returns (uint256) {
+ return _count;
+ }
+
+ function increment(address caller) public onlyFactory onlyOwner(caller) {
+ _count++;
+ }
+
+}
+
+contract CounterFactory {
+
+ mapping(address => Counter) _counters;
+
+ function createCounter() public {
+ require (_counters[msg.sender] == Counter(0));
+ _counters[msg.sender] = new Counter(msg.sender);
+ }
+
+ function increment() public {
+ require (_counters[msg.sender] != Counter(0));
+ Counter(_counters[msg.sender]).increment(msg.sender);
+ }
+
+ function getCount(address account) public view returns (uint256) {
+ require (_counters[account] != Counter(0));
+ return (_counters[account].getCount());
+ }
+
+ function getMyCount() public view returns (uint256) {
+ return (getCount(msg.sender));
+ }
+
+}
+```
+
+Po zkompilování v sekci pro nasazení v Remixu vybereš továrnu (factory), která se má nasadit:
+
+
+
+Poté si můžeš hrát s továrnou na kontrakty a sledovat, jak se mění hodnota. Pokud bys chtěl volat chytrý kontrakt z jiné adresy, budeš muset změnit adresu ve výběru účtu (Account) v Remixu.
diff --git a/public/content/translations/cs/developers/tutorials/ipfs-decentralized-ui/index.md b/public/content/translations/cs/developers/tutorials/ipfs-decentralized-ui/index.md
new file mode 100644
index 00000000000..1551046a66e
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/ipfs-decentralized-ui/index.md
@@ -0,0 +1,73 @@
+---
+title: IPFS pro decentralizovaná uživatelská rozhraní
+description: Tento návod čtenáře naučí, jak pomocí IPFS uložit uživatelské rozhraní pro dapp. I když jsou data a obchodní logika aplikace decentralizované, bez uživatelského rozhraní odolného proti cenzuře by k němu uživatelé mohli stejně ztratit přístup.
+author: Ori Pomerantz
+tags: [ "ipfs" ]
+skill: beginner
+lang: cs
+published: 2024-06-29
+---
+
+Napsali jste neuvěřitelnou novou dapp. Dokonce jste pro ni napsali [uživatelské rozhraní](/developers/tutorials/creating-a-wagmi-ui-for-your-contract/). Ale teď se bojíte, že se ho někdo pokusí cenzurovat tím, že shodí vaše uživatelské rozhraní, což je jen jeden server v cloudu. V tomto návodu se naučíte, jak se vyhnout cenzuře tím, že své uživatelské rozhraní umístíte na **[Interplanetární souborový systém (IPFS)](https://ipfs.tech/developers/)**, aby si ho každý zájemce mohl připnout na server pro budoucí přístup.
+
+Veškerou práci můžete udělat pomocí služby třetí strany, jako je [Fleek](https://resources.fleek.xyz/docs/). Tento návod je určen pro lidi, kteří chtějí udělat dost pro to, aby pochopili, co dělají, i když je to více práce.
+
+## Začínáme lokálně {#getting-started-locally}
+
+Existuje několik [poskytovatelů IPFS třetích stran](https://docs.ipfs.tech/how-to/work-with-pinning-services/#use-a-third-party-pinning-service), ale pro testování je nejlepší začít se spuštěním IPFS lokálně.
+
+1. Nainstalujte si [uživatelské rozhraní IPFS](https://docs.ipfs.tech/install/ipfs-desktop/#install-instructions).
+
+2. Vytvořte si adresář s webovou stránkou. Pokud používáte [Vite](https://vite.dev/), použijte tento příkaz:
+
+ ```sh
+ pnpm vite build
+ ```
+
+3. V aplikaci IPFS Desktop klikněte na **Importovat > Složka** a vyberte adresář, který jste vytvořili v předchozím kroku.
+
+4. Vyberte právě nahranou složku a klikněte na **Přejmenovat**. Dejte jí smysluplnější název.
+
+5. Znovu ji vyberte a klikněte na **Sdílet odkaz**. Zkopírujte URL adresu do schránky. Odkaz bude podobný tomuto: `https://ipfs.io/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ`.
+
+6. Klikněte na **Stav**. Rozbalte kartu **Pokročilé**, abyste viděli adresu brány. Například v mém systému je adresa `http://127.0.0.1:8080`.
+
+7. Zkombinujte cestu z kroku s odkazem s adresou brány, abyste našli svou adresu. Například pro výše uvedený příklad je URL `http://127.0.0.1:8080/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ`. Otevřete tuto URL adresu v prohlížeči a podívejte se na své stránky.
+
+## Nahrávání {#uploading}
+
+Takže teď můžete používat IPFS k lokálnímu poskytování souborů, což není příliš vzrušující. Dalším krokem je zpřístupnit je světu, když jste offline.
+
+Existuje řada známých [služeb pro připínání](https://docs.ipfs.tech/concepts/persistence/#pinning-services). Vyberte si jednu z nich. Ať už používáte jakoukoli službu, musíte si vytvořit účet a poskytnout jí **identifikátor obsahu (CID)** ve vaší aplikaci IPFS Desktop.
+
+Osobně jsem zjistil, že nejjednodušší je používat [4EVERLAND](https://docs.4everland.org/storage/4ever-pin/guides). Zde jsou pokyny:
+
+1. Přejděte na [nástěnku](https://dashboard.4everland.org/overview) a přihlaste se pomocí své peněženky.
+
+2. V levém postranním panelu klikněte na **Úložiště > 4EVER Pin**.
+
+3. Klikněte na **Nahrát > Vybrané CID**. Pojmenujte svůj obsah a zadejte CID z aplikace IPFS Desktop. V současné době je CID řetězec, který začíná na `Qm`, za nímž následuje 44 písmen a číslic, které představují [kódovaný](https://medium.com/bootdotdev/base64-vs-base58-encoding-c25553ff4524) haš v base58, například `QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ`, ale [to se pravděpodobně změní](https://docs.ipfs.tech/concepts/content-addressing/#version-1-v1).
+
+4. Počáteční stav je **Ve frontě**. Načítejte znovu, dokud se nezmění na **Připnuto**.
+
+5. Kliknutím na své CID získáte odkaz. Mou aplikaci si můžete prohlédnout [zde](https://bafybeifqka2odrne5b6l5guthqvbxu4pujko2i6rx2zslvr3qxs6u5o7im/).
+
+6. Možná budete muset aktivovat svůj účet, aby byl připnutý déle než měsíc. Aktivace účtu stojí asi 1 dolar. Pokud jste ji zavřeli, odhlaste se a znovu se přihlaste, abyste byli znovu požádáni o aktivaci.
+
+## Používání z IPFS {#using-from-ipfs}
+
+V tomto okamžiku máte odkaz na centralizovanou bránu, která poskytuje váš obsah z IPFS. Stručně řečeno, vaše uživatelské rozhraní může být o něco bezpečnější, ale stále není odolné vůči cenzuře. Pro skutečnou odolnost proti cenzuře musí uživatelé používat IPFS [přímo z prohlížeče](https://docs.ipfs.tech/install/ipfs-companion/#prerequisites).
+
+Jakmile máte toto nainstalováno (a funguje desktopová aplikace IPFS), můžete přejít na [/ipfs/``](https://any.site/ipfs/bafybeifqka2odrne5b6l5guthqvbxu4pujko2i6rx2zslvr3qxs6u5o7im) na jakékoli stránce a získáte tento obsah, poskytovaný decentralizovaným způsobem.
+
+## Nevýhody {#drawbacks}
+
+Soubory IPFS nelze spolehlivě mazat, takže dokud upravujete své uživatelské rozhraní, je pravděpodobně nejlepší jej buď nechat centralizovaný, nebo použít [Interplanetární jmenný systém (IPNS)](https://docs.ipfs.tech/concepts/ipns/#mutability-in-ipfs), systém, který poskytuje proměnlivost nad IPFS. Samozřejmě, vše, co je proměnlivé, může být cenzurováno, v případě IPNS nátlakem na osobu s privátním klíčem, kterému odpovídá.
+
+Některé balíčky mají navíc s IPFS problém, takže pokud je vaše webová stránka velmi složitá, nemusí to být dobré řešení. A samozřejmě cokoli, co se spoléhá na integraci serveru, nelze decentralizovat jen tím, že klientská strana bude na IPFS.
+
+## Závěr {#conclusion}
+
+Stejně jako vám Ethereum umožňuje decentralizovat databázové a obchodní logické aspekty vaší dapp, IPFS vám umožňuje decentralizovat uživatelské rozhraní. To vám umožní uzavřít další vektor útoku proti vaší dapp.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
diff --git a/public/content/translations/cs/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md b/public/content/translations/cs/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md
new file mode 100644
index 00000000000..d1a1061251d
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md
@@ -0,0 +1,111 @@
+---
+title: Nastartujte vývoj frontendu vaší dapp pomocí create-eth-app
+description: Přehled použití create-eth-app a jeho funkcí
+author: "Markus Waas"
+tags:
+ [
+ "frontend",
+ "javascript",
+ "ethers.js",
+ "the graph",
+ "defi"
+ ]
+skill: beginner
+lang: cs
+published: 2020-04-27
+source: soliditydeveloper.com
+sourceUrl: https://soliditydeveloper.com/create-eth-app
+---
+
+Minule jsme se podívali na [celkový obraz Solidity](https://soliditydeveloper.com/solidity-overview-2020) a již zmínili [create-eth-app](https://github.com/PaulRBerg/create-eth-app). Nyní se dozvíte, jak jej používat, jaké funkce jsou integrovány a jaké jsou další nápady na jeho rozšíření. Tato aplikace, kterou založil Paul Razvan Berg, zakladatel [Sablier](http://sablier.com/), nastartuje váš vývoj frontendu a přináší několik volitelných integrací, ze kterých si můžete vybrat.
+
+## Instalace {#installation}
+
+Instalace vyžaduje Yarn 0.25 nebo vyšší (`npm install yarn --global`). Je to tak jednoduché jako spuštění:
+
+```bash
+yarn create eth-app my-eth-app
+cd my-eth-app
+yarn react-app:start
+```
+
+Pod kapotou používá [create-react-app](https://github.com/facebook/create-react-app). Chcete-li zobrazit svou aplikaci, otevřete `http://localhost:3000/`. Až budete připraveni k nasazení do produkčního prostředí, vytvořte minifikovaný balíček pomocí yarn build. Jedním ze snadných způsobů, jak to hostovat, je [Netlify](https://www.netlify.com/). Můžete si vytvořit repozitář na GitHubu, přidat ho do Netlify, nastavit příkaz pro sestavení a máte hotovo! Vaše aplikace bude hostovaná a použitelná pro všechny. A to vše zdarma.
+
+## Vlastnosti {#features}
+
+### React a create-react-app {#react--create-react-app}
+
+Především srdce aplikace: React a všechny další funkce, které přináší _create-react-app_. Použití pouze tohoto je skvělá volba, pokud nechcete integrovat Ethereum. Samotný [React](https://react.dev/) velmi usnadňuje vytváření interaktivních uživatelských rozhraní. Možná není tak přívětivý pro začátečníky jako [Vue](https://vuejs.org/), ale stále je nejpoužívanější, má více funkcí a hlavně tisíce dalších knihoven, ze kterých si můžete vybrat. _create-react-app_ také velmi usnadňuje začátek a zahrnuje:
+
+- Podporu syntaxe React, JSX, ES6, TypeScript a Flow.
+- Jazyková rozšíření nad rámec ES6, jako je operátor rozšiřování objektů (object spread operator).
+- Automaticky prefixované CSS, takže nepotřebujete -webkit- ani jiné prefixy.
+- Rychlý interaktivní spouštěč jednotkových testů s vestavěnou podporou pro reportování pokrytí.
+- Živý vývojový server, který varuje před běžnými chybami.
+- Sestavovací skript pro sbalení JS, CSS a obrázků pro produkci, s haši a sourcemapy.
+
+Konkrétně _create-eth-app_ využívá nové [hooks effects](https://legacy.reactjs.org/docs/hooks-effect.html). Metoda pro psaní výkonných, ale velmi malých takzvaných funkcionálních komponent. Jak se používají v _create-eth-app_ se dozvíte níže v sekci o Apollo.
+
+### Yarn Workspaces {#yarn-workspaces}
+
+[Yarn Workspaces](https://classic.yarnpkg.com/en/docs/workspaces/) vám umožňují mít více balíčků, ale spravovat je všechny z kořenového adresáře a instalovat závislosti pro všechny najednou pomocí `yarn install`. To dává smysl zejména pro menší doplňkové balíčky, jako je správa adres/ABI chytrých kontraktů (informace o tom, kde jste nasadili které chytré kontrakty a jak s nimi komunikovat) nebo integrace The Graph, které jsou obě součástí `create-eth-app`.
+
+### ethers.js {#ethersjs}
+
+Zatímco [Web3](https://docs.web3js.org/) se stále používá nejvíce, [ethers.js](https://docs.ethers.io/) se v posledním roce stává stále populárnější alternativou a je integrován do _create-eth-app_. Můžete s ním pracovat, změnit ho na Web3 nebo zvážit upgrade na [ethers.js v5](https://docs.ethers.org/v5/), který je téměř venku z beta verze.
+
+### The Graph {#the-graph}
+
+[GraphQL](https://graphql.org/) je alternativní způsob práce s daty ve srovnání s [Restful API](https://restfulapi.net/). Mají několik výhod oproti Restful API, zejména pro decentralizovaná blockchainová data. Pokud vás zajímají důvody, podívejte se na [GraphQL Will Power the Decentralized Web](https://medium.com/graphprotocol/graphql-will-power-the-decentralized-web-d7443a69c69a).
+
+Obvykle byste získávali data přímo z vašeho chytrého kontraktu. Chcete si přečíst čas posledního obchodu? Stačí zavolat `MyContract.methods.latestTradeTime().call()`, které získá data z uzlu Ethereum do vaší dapp. Ale co když potřebujete stovky různých datových bodů? To by vedlo ke stovkám načítání dat z uzlu, přičemž každé by vyžadovalo [RTT](https://wikipedia.org/wiki/Round-trip_delay_time), což by vaši dapp zpomalilo a zneefektivnilo. Jedním z řešení může být funkce pro hromadné načítání (fetcher call) uvnitř vašeho kontraktu, která vrací více dat najednou. Ne vždy je to ale ideální.
+
+A pak by vás mohla zajímat i historická data. Chcete znát nejen čas posledního obchodu, ale časy všech obchodů, které jste kdy sami uskutečnili. Použijte balíček subgraphu _create-eth-app_, přečtěte si [dokumentaci](https://thegraph.com/docs/en/subgraphs/developing/creating/starting-your-subgraph) a přizpůsobte jej svým vlastním kontraktům. Pokud hledáte oblíbené chytré kontrakty, může pro ně již existovat subgraph. Podívejte se na [průzkumníka subgraphů](https://thegraph.com/explorer/).
+
+Jakmile máte subgraph, můžete ve své dapp napsat jeden jednoduchý dotaz, který načte všechna důležitá blockchainová data, která potřebujete, včetně těch historických, a to pouze jedním načtením.
+
+### Apollo {#apollo}
+
+Díky integraci [Apollo Boost](https://www.apollographql.com/docs/react/get-started/) můžete snadno integrovat The Graph do své React dapp. Zejména při použití [React hooks and Apollo](https://www.apollographql.com/blog/apollo-client-now-with-react-hooks) je načítání dat tak jednoduché jako napsání jediného dotazu GraphQL ve vaší komponentě:
+
+```js
+const { loading, error, data } = useQuery(myGraphQlQuery)
+
+React.useEffect(() => {
+ if (!loading && !error && data) {
+ console.log({ data })
+ }
+}, [loading, error, data])
+```
+
+## Šablony {#templates}
+
+Navíc si můžete vybrat z několika různých šablon. Zatím můžete použít integraci Aave, Compound, UniSwap nebo Sablier. Všechny přidávají důležité adresy servisních chytrých kontraktů spolu s předpřipravenými integracemi subgraphů. Stačí přidat šablonu do příkazu pro vytvoření, například `yarn create eth-app my-eth-app --with-template aave`.
+
+### Aave {#aave}
+
+[Aave](https://aave.com/) je decentralizovaný trh s půjčováním peněz. Vkladatelé poskytují trhu likviditu, aby získali pasivní příjem, zatímco dlužníci si mohou půjčovat pomocí kolaterálu. Jednou z jedinečných funkcí Aave jsou [rychlé půjčky (flash loans)](https://aave.com/docs/developers/flash-loans), které vám umožní půjčit si peníze bez jakéhokoli kolaterálu, pokud půjčku vrátíte v rámci jedné transakce. To může být užitečné například pro získání dodatečné hotovosti při arbitrážním obchodování.
+
+Obchodované tokeny, které vám vydělávají úroky, se nazývají _aTokens_.
+
+Když se rozhodnete integrovat Aave s _create-eth-app_, získáte [integraci subgraphu](https://docs.aave.com/developers/getting-started/using-graphql). Aave používá The Graph a již vám poskytuje několik subgraphů připravených k použití na [Ropstenu](https://thegraph.com/explorer/subgraph/aave/protocol-ropsten) a [mainnetu](https://thegraph.com/explorer/subgraph/aave/protocol) v [surové](https://thegraph.com/explorer/subgraph/aave/protocol-raw) nebo [formátované](https://thegraph.com/explorer/subgraph/aave/protocol) podobě.
+
+
+
+### Compound {#compound}
+
+[Compound](https://compound.finance/) je podobný Aave. Integrace již zahrnuje nový [Compound v2 Subgraph](https://medium.com/graphprotocol/https-medium-com-graphprotocol-compound-v2-subgraph-highlight-a5f38f094195). Tokeny, které zde vydělávají úroky, se překvapivě nazývají _cTokens_.
+
+### Uniswap {#uniswap}
+
+[Uniswap](https://uniswap.exchange/) je decentralizovaná burza (DEX). Poskytovatelé likvidity mohou vydělávat poplatky poskytováním požadovaných tokenů nebo etheru pro obě strany obchodu. Je široce používána a proto má jednu z nejvyšších likvidit pro velmi širokou škálu tokenů. Můžete ji snadno integrovat do své dapp, abyste například umožnili uživatelům směnit jejich ETH za DAI.
+
+Bohužel v době psaní tohoto článku je integrace pouze pro Uniswap v1, a nikoli pro [právě vydanou v2](https://uniswap.org/blog/uniswap-v2/).
+
+### Sablier {#sablier}
+
+[Sablier](https://sablier.com/) umožňuje uživatelům streamování plateb. Místo jediné výplaty dostáváte peníze neustále bez další administrace po úvodním nastavení. Integrace zahrnuje [vlastní subgraph](https://thegraph.com/explorer/subgraph/sablierhq/sablier).
+
+## Co dál? {#whats-next}
+
+Pokud máte dotazy ohledně _create-eth-app_, přejděte na [komunitní server Sablier](https://discord.gg/bsS8T47), kde se můžete spojit s autory _create-eth-app_. Jako jedny z prvních dalších kroků můžete chtít integrovat UI framework jako [Material UI](https://mui.com/material-ui/), napsat GraphQL dotazy pro data, která skutečně potřebujete, a nastavit nasazení.
diff --git a/public/content/translations/cs/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md b/public/content/translations/cs/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md
new file mode 100644
index 00000000000..58ed2e601c1
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md
@@ -0,0 +1,269 @@
+---
+title: Naučte se základní témata Etherea pomocí SQL
+description: Tento tutoriál pomáhá čtenářům pochopit základní koncepty Etherea, včetně transakcí, bloků a paliva, a to pomocí dotazování na onchain data pomocí jazyka SQL (Structured Query Language).
+author: "Paul Apivat"
+tags: [ "SQL", "Dotazování", "Transakce" ]
+skill: beginner
+lang: cs
+published: 2021-05-11
+source: paulapivat.com
+sourceUrl: https://paulapivat.com/post/query_ethereum/
+---
+
+Mnoho tutoriálů o Ethereu se zaměřuje na vývojáře, ale chybí vzdělávací zdroje pro datové analytiky nebo pro lidi, kteří chtějí vidět onchain data bez spuštění klienta nebo uzlu.
+
+Tento tutoriál pomáhá čtenářům pochopit základní koncepty Etherea, včetně transakcí, bloků a paliva, a to pomocí dotazování na onchain data pomocí jazyka SQL (structured query language) přes rozhraní poskytované [Dune Analytics](https://dune.com/).
+
+Onchain data nám může pomoci pochopit Ethereum, síť a jako ekonomiku pro výpočetní výkon a mělo by sloužit jako základ pro pochopení výzev, kterým Ethereum dnes čelí (tj. rostoucí ceny paliva) a co je důležitější, diskusí o řešeních škálování.
+
+### Transakce {#transactions}
+
+Cesta uživatele v síti Ethereum začíná inicializací účtu ovládaného uživatelem nebo entity se zůstatkem v ETH. Existují dva typy účtů – ovládané uživatelem nebo chytrým kontraktem (viz [ethereum.org](/developers/docs/accounts/)).
+
+Jakýkoli účet lze zobrazit v prohlížeči bloků, jako je [Etherscan](https://etherscan.io/) nebo [Blockscout](https://eth.blockscout.com/). Prohlížeče bloků jsou portálem k datům Etherea. Zobrazují v reálném čase data o blocích, transakcích, těžařích, účtech a dalších onchain aktivitách (viz [zde](/developers/docs/data-and-analytics/block-explorers/)).
+
+Uživatel si však může přát dotazovat se na data přímo, aby si ověřil informace poskytované externími prohlížeči bloků. [Dune Analytics](https://dune.com/) poskytuje tuto možnost každému, kdo má alespoň nějaké znalosti SQL.
+
+Pro informaci, účet chytrého kontraktu Nadace Ethereum (EF) si můžete prohlédnout na [Blockscout](https://eth.blockscout.com/address/0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe).
+
+Jedna věc, kterou je třeba poznamenat, je, že všechny účty, včetně účtu EF, mají veřejnou adresu, kterou lze použít k odesílání a přijímání transakcí.
+
+Zůstatek na účtu na Etherscanu se skládá z běžných transakcí a interních transakcí. Interní transakce, navzdory svému názvu, nejsou _skutečnými_ transakcemi, které mění stav řetězce. Jedná se o převody hodnot iniciované provedením kontraktu ([zdroj](https://ethereum.stackexchange.com/questions/3417/how-to-get-contract-internal-transactions)). Vzhledem k tomu, že interní transakce nemají podpis, **nejsou** zahrnuty v blockchainu a nelze je dotazovat pomocí Dune Analytics.
+
+Tento tutoriál se proto zaměří na běžné transakce. Lze se na ně dotazovat takto:
+
+```sql
+WITH temp_table AS (
+SELECT
+ hash,
+ block_number,
+ block_time,
+ "from",
+ "to",
+ value / 1e18 AS ether,
+ gas_used,
+ gas_price / 1e9 AS gas_price_gwei
+FROM ethereum."transactions"
+WHERE "to" = '\xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'
+ORDER BY block_time DESC
+)
+SELECT
+ hash,
+ block_number,
+ block_time,
+ "from",
+ "to",
+ ether,
+ (gas_used * gas_price_gwei) / 1e9 AS txn_fee
+FROM temp_table
+```
+
+Tím získáte stejné informace, jaké jsou uvedeny na stránce transakcí na Etherscanu. Pro srovnání, zde jsou dva zdroje:
+
+#### Etherscan {#etherscan}
+
+
+
+[Stránka kontraktu EF na Blockscoutu.](https://eth.blockscout.com/address/0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe)
+
+#### Dune Analytics {#dune-analytics}
+
+
+
+Řídicí panel najdete [zde](https://dune.com/paulapivat/Learn-Ethereum). Kliknutím na tabulku zobrazíte dotaz (viz také výše).
+
+### Rozbor transakcí {#breaking_down_transactions}
+
+Odeslaná transakce obsahuje několik informací, včetně ([zdroj](/developers/docs/transactions/)):
+
+- **Příjemce**: Přijímající adresa (v dotazu jako \"to\")
+- **Podpis**: Zatímco transakci podepisují soukromé klíče odesílatele, my můžeme pomocí SQL dotazovat veřejnou adresu odesílatele (\"from\").
+- **Hodnota**: Jedná se o množství převedených ETH (viz sloupec `ether`).
+- **Data**: Jedná se o libovolná data, která byla zahašována (viz sloupec `data`)
+- **gasLimit** – maximální množství jednotek paliva, které může být transakcí spotřebováno. Jednotky paliva představují výpočetní kroky
+- **maxPriorityFeePerGas** – maximální množství paliva, které bude zahrnuto jako spropitné pro těžaře
+- **maxFeePerGas** – maximální množství paliva, které je uživatel ochoten zaplatit za transakci (včetně baseFeePerGas a maxPriorityFeePerGas)
+
+Tyto konkrétní informace můžeme dotazovat pro transakce na veřejnou adresu Nadace Ethereum:
+
+```sql
+SELECT
+ "to",
+ "from",
+ value / 1e18 AS ether,
+ data,
+ gas_limit,
+ gas_price / 1e9 AS gas_price_gwei,
+ gas_used,
+ ROUND(((gas_used / gas_limit) * 100),2) AS gas_used_pct
+FROM ethereum."transactions"
+WHERE "to" = '\xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'
+ORDER BY block_time DESC
+```
+
+### Bloky {#blocks}
+
+Každá transakce změní stav Ethereum Virtual Machine ([EVM](/developers/docs/evm/)) ([zdroj](/developers/docs/transactions/)). Transakce jsou vysílány do sítě, aby byly ověřeny a zahrnuty do bloku. Každá transakce je spojena s číslem bloku. Abychom viděli data, mohli bychom se dotázat na konkrétní číslo bloku: 12396854 (nejnovější blok mezi transakcemi Nadace Ethereum v době psaní tohoto článku, 11/5/21).
+
+Když se navíc dotážeme na další dva bloky, uvidíme, že každý blok obsahuje haš předchozího bloku (tj. rodičovský haš), což ukazuje, jak se blockchain tvoří.
+
+Každý blok obsahuje odkaz na svůj rodičovský blok. To je ukázáno níže mezi sloupci `hash` a `parent_hash` ([zdroj](/developers/docs/blocks/)):
+
+
+
+Zde je [dotaz](https://dune.com/queries/44856/88292) na Dune Analytics:
+
+```sql
+SELECT
+ time,
+ number,
+ hash,
+ parent_hash,
+ nonce
+FROM ethereum."blocks"
+WHERE "number" = 12396854 OR "number" = 12396855 OR "number" = 12396856
+LIMIT 10
+```
+
+Blok můžeme prozkoumat dotazováním na čas, číslo bloku, obtížnost, haš, rodičovský haš a nonce.
+
+Jediná věc, kterou tento dotaz nepokrývá, je _seznam transakcí_, který vyžaduje samostatný dotaz níže, a _kořen stavu_. Plný nebo archivní uzel ukládá všechny transakce a přechody stavů, což klientům umožňuje kdykoli dotazovat stav řetězce. Protože to vyžaduje velký úložný prostor, můžeme oddělit data řetězce od dat stavu:
+
+- Data řetězce (seznam bloků, transakcí)
+- Data stavu (výsledek přechodu stavu každé transakce)
+
+Kořen stavu spadá do druhé kategorie a je _implicitními_ daty (není uložen onchain), zatímco data řetězce jsou explicitní a uložena na samotném řetězci ([zdroj](https://ethereum.stackexchange.com/questions/359/where-is-the-state-data-stored)).
+
+V tomto tutoriálu se zaměříme na onchain data, na která _se lze_ dotazovat pomocí SQL přes Dune Analytics.
+
+Jak bylo uvedeno výše, každý blok obsahuje seznam transakcí, které můžeme dotazovat filtrováním pro konkrétní blok. Zkusíme nejnovější blok, 12396854:
+
+```sql
+SELECT * FROM ethereum."transactions"
+WHERE block_number = 12396854
+ORDER BY block_time DESC`
+```
+
+Zde je výstup SQL na Dune:
+
+
+
+Tento jediný blok přidaný do řetězce mění stav Ethereum Virtual Machine ([EVM](/developers/docs/evm/)). Najednou se ověřují desítky, někdy i stovky transakcí. V tomto konkrétním případě bylo zahrnuto 222 transakcí.
+
+Abychom viděli, kolik jich bylo skutečně úspěšných, přidáme další filtr pro počítání úspěšných transakcí:
+
+```sql
+WITH temp_table AS (
+ SELECT * FROM ethereum."transactions"
+ WHERE block_number = 12396854 AND success = true
+ ORDER BY block_time DESC
+)
+SELECT
+ COUNT(success) AS num_successful_txn
+FROM temp_table
+```
+
+Pro blok 12396854 bylo z celkových 222 transakcí úspěšně ověřeno 204:
+
+
+
+Požadavky na transakce se objevují desítkykrát za sekundu, ale bloky jsou zapisovány přibližně jednou za 15 sekund ([zdroj](/developers/docs/blocks/)).
+
+Abychom viděli, že se jeden blok vyprodukuje přibližně každých 15 sekund, můžeme vzít počet sekund za den (86400) a vydělit jej 15, abychom získali odhadovaný průměrný počet bloků za den (~ 5760).
+
+Graf pro vyprodukované bloky Etherea za den (2016 - současnost) je:
+
+
+
+Průměrný počet denně vyprodukovaných bloků za toto období je ~5 874:
+
+
+
+Dotazy jsou:
+
+```sql
+# dotaz pro vizualizaci počtu denně vytvořených bloků od roku 2016
+
+SELECT
+ DATE_TRUNC('day', time) AS dt,
+ COUNT(*) AS block_count
+FROM ethereum."blocks"
+GROUP BY dt
+OFFSET 1
+
+# průměrný počet denně vytvořených bloků
+
+WITH temp_table AS (
+SELECT
+ DATE_TRUNC('day', time) AS dt,
+ COUNT(*) AS block_count
+FROM ethereum."blocks"
+GROUP BY dt
+OFFSET 1
+)
+SELECT
+ AVG(block_count) AS avg_block_count
+FROM temp_table
+```
+
+Průměrný počet denně vytvořených bloků od roku 2016 je mírně nad tímto číslem, a to 5 874. Alternativně, vydělením 86 400 sekund 5 874 průměrnými bloky získáme 14,7 sekundy, tedy přibližně jeden blok každých 15 sekund.
+
+### Gas {#gas}
+
+Bloky mají omezenou velikost. Maximální velikost bloku je dynamická a liší se podle poptávky v síti mezi 12 500 000 a 25 000 000 jednotkami. Limity jsou nutné k tomu, aby se zabránilo libovolně velkým blokům, které by zatěžovaly plné uzly z hlediska požadavků na diskový prostor a rychlost ([zdroj](/developers/docs/blocks/)).
+
+Jeden ze způsobů, jak si představit palivový limit bloku, je vnímat ho jako **nabídku** dostupného prostoru v bloku, do kterého se dávkují transakce. Palivový limit bloku lze dotazovat a vizualizovat od roku 2016 do současnosti:
+
+
+
+```sql
+SELECT
+ DATE_TRUNC('day', time) AS dt,
+ AVG(gas_limit) AS avg_block_gas_limit
+FROM ethereum."blocks"
+GROUP BY dt
+OFFSET 1
+```
+
+Dále je tu skutečné množství paliva použitého denně k placení za výpočty prováděné v řetězci Ethereum (tj. odeslání transakce, volání chytrého kontraktu, ražba NFT). Toto je **poptávka** po dostupném prostoru v bloku Etherea:
+
+
+
+```sql
+SELECT
+ DATE_TRUNC('day', time) AS dt,
+ AVG(gas_used) AS avg_block_gas_used
+FROM ethereum."blocks"
+GROUP BY dt
+OFFSET 1
+```
+
+Můžeme také postavit tyto dva grafy vedle sebe, abychom viděli, jak se shoduje **poptávka a nabídka**:
+
+
+
+Proto můžeme ceny paliva chápat jako funkci poptávky po prostoru v bloku Etherea při dané dostupné nabídce.
+
+Nakonec bychom se mohli chtít dotázat na průměrné denní ceny paliva pro řetězec Ethereum, nicméně to by vedlo k obzvláště dlouhé době dotazu, takže náš dotaz omezíme na průměrné množství paliva zaplaceného za transakci Nadací Ethereum.
+
+
+
+Můžeme vidět ceny paliva zaplacené za všechny transakce provedené na adresu Nadace Ethereum v průběhu let. Zde je dotaz:
+
+```sql
+SELECT
+ block_time,
+ gas_price / 1e9 AS gas_price_gwei,
+ value / 1e18 AS eth_sent
+FROM ethereum."transactions"
+WHERE "to" = '\xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'
+ORDER BY block_time DESC
+```
+
+### Shrnutí {#summary}
+
+Díky tomuto tutoriálu rozumíme základním konceptům Etherea a tomu, jak funguje blockchain Etherea, a to díky dotazování a získávání přehledu o onchain datech.
+
+Řídicí panel, který obsahuje veškerý kód použitý v tomto tutoriálu, naleznete [zde](https://dune.com/paulapivat/Learn-Ethereum).
+
+Pro další využití dat k prozkoumání web3 mě [najdete na Twitteru](https://twitter.com/paulapivat).
diff --git a/public/content/translations/cs/developers/tutorials/logging-events-smart-contracts/index.md b/public/content/translations/cs/developers/tutorials/logging-events-smart-contracts/index.md
new file mode 100644
index 00000000000..861d48ebd8d
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/logging-events-smart-contracts/index.md
@@ -0,0 +1,48 @@
+---
+title: Zaznamenávání dat z chytrých kontraktů pomocí událostí
+description: Úvod do událostí chytrých kontraktů a jak je můžete použít k zaznamenávání dat.
+author: "jdourlens"
+tags:
+ [
+ "smart kontrakt účty",
+ "remix",
+ "solidity",
+ "události"
+ ]
+skill: intermediate
+lang: cs
+published: 2020-04-03
+source: EthereumDev
+sourceUrl: https://ethereumdev.io/logging-data-with-events/
+address: "0x19dE91Af973F404EDF5B4c093983a7c6E3EC8ccE"
+---
+
+V Solidity jsou [události](/developers/docs/smart-contracts/anatomy/#events-and-logs) odesílané signály, které mohou chytré kontrakty spouštět. Dapps nebo cokoliv připojené k Ethereum JSON-RPC API může těmto událostem naslouchat a podle toho jednat. Událost může být také indexována, aby byla historie událostí později prohledávatelná.
+
+## Události {#events}
+
+Nejběžnější událostí na blockchainu Etherea v době psaní tohoto článku je událost Transfer, kterou emitují tokeny ERC20, když někdo převádí tokeny.
+
+```solidity
+event Transfer(address indexed from, address indexed to, uint256 value);
+```
+
+Podpis události je deklarován uvnitř kódu kontraktu a může být emitován pomocí klíčového slova emit. Například událost převodu zaznamenává, kdo převod odeslal (_from_), komu (_to_) a kolik tokenů bylo převedeno (_value_).
+
+Pokud se vrátíme k našemu chytrému kontraktu Counter a rozhodneme se zaznamenávat každou změnu hodnoty. Protože tento kontrakt nemá být nasazen, ale má sloužit jako základ pro vytvoření jiného kontraktu jeho rozšířením, nazývá se abstraktní kontrakt. V případě našeho příkladu s čítačem by to vypadalo takto:
+
+```solidity
+pragma solidity 0.5.17;\n\ncontract Counter {\n\n event ValueChanged(uint oldValue, uint256 newValue);\n\n // Soukromá proměnná typu unsigned int pro uchování počtu\n uint256 private count = 0;\n\n // Funkce, která zvyšuje náš čítač\n function increment() public {\n count += 1;\n emit ValueChanged(count - 1, count);\n }\n\n // Getter pro získání hodnoty čítače\n function getCount() public view returns (uint256) {\n return count;\n }\n\n}
+```
+
+Všimněte si, že:
+
+- **Řádek 5**: deklarujeme naši událost a co obsahuje, starou a novou hodnotu.
+
+- **Řádek 13**: Když zvýšíme hodnotu naší proměnné count, emitujeme událost.
+
+Pokud nyní kontrakt nasadíme a zavoláme funkci increment, uvidíme, že Remix ji automaticky zobrazí, pokud kliknete na novou transakci v poli s názvem logs.
+
+
+
+Záznamy jsou opravdu užitečné pro ladění vašich chytrých kontraktů, ale jsou také důležité, pokud vytváříte aplikace používané různými lidmi, a usnadňují analytiku pro sledování a pochopení toho, jak je váš chytrý kontrakt používán. Záznamy generované transakcemi se zobrazují v populárních prohlížečích bloků a můžete je například použít k vytvoření offchainových skriptů, které naslouchají specifickým událostem a provádějí akce, když k nim dojde.
diff --git a/public/content/translations/cs/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md b/public/content/translations/cs/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md
new file mode 100644
index 00000000000..9837634df30
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md
@@ -0,0 +1,250 @@
+---
+title: Merkleho důkazy pro integritu dat mimo blockchain
+description: Zajištění integrity dat na blockchainu pro data, která jsou většinou uložena mimo blockchain
+author: Ori Pomerantz
+tags: [ "úložiště" ]
+skill: advanced
+lang: cs
+published: 2021-12-30
+---
+
+## Úvod {#introduction}
+
+V ideálním případě bychom chtěli vše ukládat do úložiště Etherea, které je uloženo na tisících počítačů a má
+extrémně vysokou dostupnost (data nelze cenzurovat) a integritu (data nelze neoprávněně upravovat), ale uložení 32bajtového slova obvykle stojí 20 000 gas. V době psaní tohoto článku se tato cena rovná 6,60 USD. Při 21 centech za bajt je to pro mnoho využití příliš drahé.
+
+K vyřešení tohoto problému vyvinul ekosystém Etherea mnoho alternativních způsobů, jak ukládat data decentralizovaným
+způsobem. Obvykle zahrnují kompromis mezi dostupností
+a cenou. Integrita je však obvykle zajištěna.
+
+V tomto článku se dozvíte, **jak** zajistit integritu dat bez jejich ukládání na blockchain pomocí
+[Merkleho důkazů](https://computersciencewiki.org/index.php/Merkle_proof).
+
+## Jak to funguje? {#how-does-it-work}
+
+Teoreticky bychom mohli pouze uložit haš dat na blockchainu a odeslat všechna data v transakcích, které je vyžadují. To je však stále příliš drahé. Jeden bajt dat v transakci stojí asi 16 gas, což je v současnosti asi půl centu, neboli asi 5 USD za kilobajt. Při ceně 5 000 USD za megabajt je to pro mnoho použití stále příliš drahé, a to i bez dodatečných nákladů na hašování dat.
+
+Řešením je opakovaně hašovat různé podmnožiny dat, takže pro data, která nemusíte odesílat, můžete odeslat pouze haš. To se provádí pomocí Merkleho stromu, stromové datové struktury, kde každý uzel je hašem uzlů pod ním:
+
+
+
+Kořenový haš je jedinou částí, která musí být uložena na blockchainu. K prokázání určité hodnoty poskytnete všechny haše, které je třeba s ní zkombinovat, abyste získali kořen. Například k prokázání `C` poskytnete `D`, `H(A-B)` a `H(E-H)`.
+
+
+
+## Implementace {#implementation}
+
+[Ukázkový kód je k dispozici zde](https://github.com/qbzzt/merkle-proofs-for-offline-data-integrity).
+
+### Kód mimo blockchain {#offchain-code}
+
+V tomto článku používáme pro výpočty mimo blockchain JavaScript. Většina decentralizovaných aplikací má svou komponentu mimo blockchain v JavaScriptu.
+
+#### Vytvoření Merkleho kořene {#creating-the-merkle-root}
+
+Nejprve musíme poskytnout Merkleho kořen do řetězce.
+
+```javascript
+const ethers = require("ethers")
+```
+
+[Používáme hašovací funkci z balíčku ethers](https://docs.ethers.io/v5/api/utils/hashing/#utils-keccak256).
+
+```javascript
+// Hrubá data, jejichž integritu musíme ověřit. První dva bajty
+// jsou identifikátor uživatele a poslední dva bajty jsou množství tokenů, které
+// uživatel v současnosti vlastní.
+const dataArray = [
+ 0x0bad0010, 0x60a70020, 0xbeef0030, 0xdead0040, 0xca110050, 0x0e660060,
+ 0xface0070, 0xbad00080, 0x060d0091,
+]
+```
+
+Kódování každé položky do jediného 256bitového celého čísla vede k méně čitelnému kódu než například použití JSON. To však znamená výrazně menší zpracování pro načtení dat ve smart kontraktu, tedy mnohem nižší náklady na gas. [Můžete číst JSON na blockchainu](https://github.com/chrisdotn/jsmnSol), ale je to špatný nápad, pokud je to možné se mu vyhnout.
+
+```javascript
+// Pole hašovacích hodnot jako BigInts
+const hashArray = dataArray
+```
+
+V tomto případě jsou naše data na začátku 256bitové hodnoty, takže není nutné žádné zpracování. Pokud použijeme složitější datovou strukturu, například řetězce, musíme se ujistit, že data nejprve hašujeme, abychom získali pole hašů. Všimněte si, že je to také proto, že nám nevadí, když uživatelé znají informace ostatních uživatelů. Jinak bychom museli hašovat, aby uživatel 1 neznal hodnotu pro uživatele 0, uživatel 2 neznal hodnotu pro uživatele 3 atd.
+
+```javascript
+// Převod mezi řetězcem, který očekává hašovací funkce, a
+// BigInt, který používáme všude jinde.
+const hash = (x) =>
+ BigInt(ethers.utils.keccak256("0x" + x.toString(16).padStart(64, 0)))
+```
+
+Hašovací funkce ethers očekává, že dostane řetězec JavaScriptu s hexadecimálním číslem, například `0x60A7`, a odpoví jiným řetězcem se stejnou strukturou. Pro zbytek kódu je však snazší použít `BigInt`, takže převádíme na hexadecimální řetězec a zase zpět.
+
+```javascript
+// Symetrický haš páru, takže nám nebude vadit, pokud bude pořadí obrácené.
+const pairHash = (a, b) => hash(hash(a) ^ hash(b))
+```
+
+Tato funkce je symetrická (haš a [xor](https://en.wikipedia.org/wiki/Exclusive_or) b). To znamená, že při kontrole Merkleho důkazu se nemusíme starat o to, zda hodnotu z důkazu umístit před nebo za vypočtenou hodnotu. Kontrola Merkleho důkazu se provádí na blockchainu, takže čím méně toho tam musíme dělat, tím lépe.
+
+Upozornění:
+Kryptografie je složitější, než se zdá.
+Původní verze tohoto článku měla hašovací funkci `hash(a^b)`.
+To byl **špatný** nápad, protože to znamenalo, že pokud jste znali legitimní hodnoty `a` a `b`, mohli jste použít `b' = a^b^a'` k prokázání jakékoli požadované hodnoty `a'`.
+S touto funkcí byste museli vypočítat `b'` tak, aby `haš(a') ^ haš(b')` byl roven známé hodnotě (další větev na cestě ke kořeni), což je mnohem těžší.
+
+```javascript
+// Hodnota pro označení, že určitá větev je prázdná, nemá
+// žádnou hodnotu
+const empty = 0n
+```
+
+Když počet hodnot není celočíselnou mocninou dvou, musíme řešit prázdné větve. Tento program to řeší tak, že jako zástupný symbol vloží nulu.
+
+
+
+```javascript
+// Vypočítá o jednu úroveň výše strom hašovacího pole tím, že vezme haš
+// každého páru v pořadí.
+const oneLevelUp = (inputArray) => {
+ var result = []
+ var inp = [...inputArray] // Aby se zabránilo přepsání vstupních dat // V případě potřeby přidejte prázdnou hodnotu (potřebujeme, aby všechny listy byly spárovány)
+
+ if (inp.length % 2 === 1) inp.push(empty)
+
+ for (var i = 0; i < inp.length; i += 2)
+ result.push(pairHash(inp[i], inp[i + 1]))
+
+ return result
+} // oneLevelUp
+```
+
+Tato funkce „vystoupá“ o jednu úroveň v Merkleho stromu hašováním párů hodnot na aktuální vrstvě. Všimněte si, že se nejedná o nejefektivnější implementaci, mohli jsme se vyhnout kopírování vstupu a pouze přidat `hashEmpty` v příslušném místě cyklu, ale tento kód je optimalizován pro čitelnost.
+
+```javascript
+const getMerkleRoot = (inputArray) => {
+ var result
+
+ result = [...inputArray] // Stoupejte stromem, dokud nezbude jen jedna hodnota, což je // kořen. // // Pokud má vrstva lichý počet položek, // kód v oneLevelUp přidá prázdnou hodnotu, takže pokud máme například // 10 listů, budeme mít 5 větví ve druhé vrstvě, 3 // větve ve třetí, 2 ve čtvrté a kořen je pátý
+
+ while (result.length > 1) result = oneLevelUp(result)
+
+ return result[0]
+}
+```
+
+Chcete-li získat kořen, stoupejte, dokud nezbude pouze jedna hodnota.
+
+#### Vytvoření Merkleho důkazu {#creating-a-merkle-proof}
+
+Merkleho důkaz jsou hodnoty, které se mají hašovat spolu s prokazovanou hodnotou, aby se vrátil Merkleho kořen. Hodnota, která se má prokázat, je často k dispozici z jiných dat, takže ji raději poskytuji samostatně než jako součást kódu.
+
+```javascript
+// Merkleho důkaz se skládá z hodnoty seznamu položek, se kterými
+// se má hašovat. Protože používáme symetrickou hašovací funkci, nepotřebujeme
+// polohu položky k ověření důkazu, pouze k jeho vytvoření.
+const getMerkleProof = (inputArray, n) => {
+ var result = [], currentLayer = [...inputArray], currentN = n
+
+ // Dokud nedosáhneme vrcholu
+ while (currentLayer.length > 1) {
+ // Žádné vrstvy s lichou délkou
+ if (currentLayer.length % 2)
+ currentLayer.push(empty)
+
+ result.push(currentN % 2
+ // Pokud je currentN liché, přidejte k důkazu hodnotu před ním
+ ? currentLayer[currentN-1]
+ // Pokud je sudé, přidejte hodnotu za ním
+ : currentLayer[currentN+1])
+
+```
+
+Hašujeme `(v[0],v[1])`, `(v[2],v[3])` atd. Takže pro sudé hodnoty potřebujeme následující, pro liché hodnoty předchozí.
+
+```javascript
+ // Přesun na další vyšší vrstvu
+ currentN = Math.floor(currentN/2)
+ currentLayer = oneLevelUp(currentLayer)
+ } // while currentLayer.length > 1
+
+ return result
+} // getMerkleProof
+```
+
+### Kód na blockchainu {#onchain-code}
+
+Nakonec máme kód, který kontroluje důkaz. Kód na blockchainu je napsán v [jazyce Solidity](https://docs.soliditylang.org/en/v0.8.11/). Optimalizace je zde mnohem důležitější, protože gas je relativně drahý.
+
+```solidity
+//SPDX-License-Identifier: Public Domain
+pragma solidity ^0.8.0;
+
+import "hardhat/console.sol";
+```
+
+Napsal jsem to pomocí [vývojového prostředí Hardhat](https://hardhat.org/), které nám umožňuje mít [výstup z konzole ze Solidity](https://hardhat.org/docs/cookbook/debug-logs) během vývoje.
+
+```solidity
+
+contract MerkleProof {
+ uint merkleRoot;
+
+ function getRoot() public view returns (uint) {
+ return merkleRoot;
+ }
+
+ // Extrémně nezabezpečené, v produkčním kódu MUSÍ BÝT přístup k
+ // této funkci přísně omezen, pravděpodobně pouze na
+ // vlastníka
+ function setRoot(uint _merkleRoot) external {
+ merkleRoot = _merkleRoot;
+ } // setRoot
+```
+
+Funkce Set a get pro Merkleho kořen. Povolit každému aktualizovat Merkleho kořen je v produkčním systému _extrémně špatný nápad_. Dělám to zde pro zjednodušení ukázkového kódu. **Nedělejte to v systému, kde na integritě dat skutečně záleží**.
+
+```solidity
+ function hash(uint _a) internal pure returns(uint) {
+ return uint(keccak256(abi.encode(_a)));
+ }
+
+ function pairHash(uint _a, uint _b) internal pure returns(uint) {
+ return hash(hash(_a) ^ hash(_b));
+ }
+```
+
+Tato funkce generuje párový haš. Je to jen překlad JavaScriptového kódu pro `hash` a `pairHash` do jazyka Solidity.
+
+**Poznámka:** Toto je další případ optimalizace pro čitelnost. Na základě [definice funkce](https://www.tutorialspoint.com/solidity/solidity_cryptographic_functions.htm) by bylo možné ukládat data jako hodnotu [`bytes32`](https://docs.soliditylang.org/en/v0.5.3/types.html#fixed-size-byte-arrays) a vyhnout se převodům.
+
+```solidity
+ // Ověřit Merkleho důkaz
+ function verifyProof(uint _value, uint[] calldata _proof)
+ public view returns (bool) {
+ uint temp = _value;
+ uint i;
+
+ for(i=0; i<_proof.length; i++) {
+ temp = pairHash(temp, _proof[i]);
+ }
+
+ return temp == merkleRoot;
+ }
+
+} // MarkleProof
+```
+
+V matematické notaci vypadá ověření Merkleho důkazu takto: `H(proof_n, H(proof_n-1, H(proof_n-2, ...` H(proof_1, H(proof_0, value))...)))\`. Tento kód to implementuje.
+
+## Merkleho důkazy a rollupy se nemíchají {#merkle-proofs-and-rollups}
+
+Merkleho důkazy nefungují dobře s [rollupy](/developers/docs/scaling/#rollups). Důvodem je, že rollupy zapisují všechna transakční data na L1, ale zpracovávají je na L2. Náklady na odeslání Merkleho důkazu s transakcí činí v průměru 638 gas za vrstvu (v současnosti stojí bajt v datech volání 16 gas, pokud není nulový, a 4, pokud je nulový). Pokud máme 1024 slov dat, Merkleho důkaz vyžaduje deset vrstev, neboli celkem 6380 gas.
+
+Když se podíváme například na [Optimism](https://public-grafana.optimism.io/d/9hkhMxn7z/public-dashboard?orgId=1&refresh=5m), zápis gas na L1 stojí asi 100 gwei a gas na L2 stojí 0,001 gwei (to je normální cena, při přetížení se může zvýšit). Takže za cenu jednoho L1 gas můžeme utratit sto tisíc gas za zpracování na L2. Za předpokladu, že nepřepisujeme úložiště, znamená to, že za cenu jednoho L1 gas můžeme na L2 zapsat do úložiště asi pět slov. Pro jediný Merkleho důkaz můžeme zapsat celých 1024 slov do úložiště (za předpokladu, že mohou být vypočtena na blockchainu, nikoli poskytnuta v transakci) a stále nám zbude většina gas.
+
+## Závěr {#conclusion}
+
+V reálném životě možná nikdy nebudete sami implementovat Merkleho stromy. Existují známé a auditované knihovny, které můžete použít, a obecně platí, že je nejlepší neimplementovat kryptografické primitivy sami. Ale doufám, že nyní lépe rozumíte Merkleho důkazům a můžete se rozhodnout, kdy se vyplatí je použít.
+
+Všimněte si, že zatímco Merkleho důkazy zachovávají _integritu_, nezachovávají _dostupnost_. Vědět, že nikdo jiný nemůže vzít vaše aktiva, je malou útěchou, pokud se úložiště dat rozhodne zakázat přístup a vy nemůžete sestavit Merkleho strom, abyste k nim měli přístup. Merkleho stromy se tedy nejlépe používají s nějakým druhem decentralizovaného úložiště, jako je IPFS.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
diff --git a/public/content/translations/cs/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/index.md b/public/content/translations/cs/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/index.md
new file mode 100644
index 00000000000..bdeccdd97a2
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/index.md
@@ -0,0 +1,151 @@
+---
+title: Monitorování Gethu s InfluxDB a Grafanou
+description: Nastavte si monitorování pro svůj Geth uzel pomocí InfluxDB a Grafany, abyste mohli sledovat jeho výkon a identifikovat problémy.
+author: "Mario Havel"
+tags: [ "klienti", "uzly" ]
+skill: intermediate
+lang: cs
+published: 2021-01-13
+---
+
+Tento tutoriál vám pomůže nastavit monitorování pro váš Geth uzel, abyste mohli lépe porozumět jeho výkonu a identifikovat případné problémy.
+
+## Předpoklady {#prerequisites}
+
+- Měli byste již mít spuštěnou instanci Gethu.
+- Většina kroků a příkladů je určena pro prostředí Linux, takže se bude hodit základní znalost terminálu.
+- Podívejte se na tento videopřehled sady metrik Gethu: [Monitorování infrastruktury Ethereum od Pétera Szilágyiho](https://www.youtube.com/watch?v=cOBab8IJMYI).
+
+## Sada pro monitorování {#monitoring-stack}
+
+Klient Etherea shromažďuje spoustu dat, která lze číst ve formě chronologické databáze. Pro usnadnění monitorování je můžete vložit do softwaru pro vizualizaci dat. K dispozici je více možností:
+
+- [Prometheus](https://prometheus.io/) (pull model)
+- [InfluxDB](https://www.influxdata.com/get-influxdb/) (push model)
+- [Telegraf](https://www.influxdata.com/get-influxdb/)
+- [Grafana](https://www.grafana.com/)
+- [Datadog](https://www.datadoghq.com/)
+- [Chronograf](https://www.influxdata.com/time-series-platform/chronograf/)
+
+Existuje také [Geth Prometheus Exporter](https://github.com/hunterlong/gethexporter), možnost předkonfigurovaná s InfluxDB a Grafanou.
+
+V tomto tutoriálu nastavíme vašeho klienta Geth tak, aby odesílal data do InfluxDB k vytvoření databáze a Grafanu k vytvoření grafické vizualizace dat. Ruční provedení vám pomůže lépe porozumět procesu, měnit ho a nasazovat v různých prostředích.
+
+## Nastavení InfluxDB {#setting-up-influxdb}
+
+Nejprve si stáhněme a nainstalujme InfluxDB. Různé možnosti stažení naleznete na [stránce s verzemi Influxdata](https://portal.influxdata.com/downloads/). Vyberte si tu, která vyhovuje vašemu prostředí.
+Můžete ji také nainstalovat z [úložiště](https://repos.influxdata.com/). Například v distribuci založené na Debianu:
+
+```
+curl -tlsv1.3 --proto =https -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add
+source /etc/lsb-release
+echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
+sudo apt update
+sudo apt install influxdb -y
+sudo systemctl enable influxdb
+sudo systemctl start influxdb
+sudo apt install influxdb-client
+```
+
+Po úspěšné instalaci InfluxDB se ujistěte, že běží na pozadí. Ve výchozím nastavení je dostupná na `localhost:8086`.
+Před použitím klienta `influx` musíte vytvořit nového uživatele s oprávněními správce. Tento uživatel bude sloužit pro správu na vysoké úrovni, vytváření databází a uživatelů.
+
+```
+curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER username WITH PASSWORD 'password' WITH ALL PRIVILEGES"
+```
+
+Nyní můžete použít klienta influx pro vstup do [InfluxDB shellu](https://docs.influxdata.com/influxdb/v1.8/tools/shell/) s tímto uživatelem.
+
+```
+influx -username 'username' -password 'password'
+```
+
+Přímou komunikací s InfluxDB v jeho shellu můžete vytvořit databázi a uživatele pro metriky Geth.
+
+```
+create database geth
+create user geth with password choosepassword
+```
+
+Ověřte vytvořené položky pomocí:
+
+```
+show databases
+show users
+```
+
+Opusťte InfluxDB shell.
+
+```
+exit
+```
+
+InfluxDB běží a je nakonfigurována pro ukládání metrik z Gethu.
+
+## Příprava Gethu {#preparing-geth}
+
+Po nastavení databáze musíme v Gethu povolit sběr metrik. Věnujte pozornost `METRICS AND STATS OPTIONS` v `geth --help`. Naleznete zde několik možností, v tomto případě chceme, aby Geth odesílal data do InfluxDB.
+Základní nastavení specifikuje koncový bod, kde je InfluxDB dostupná, a ověření pro databázi.
+
+```
+geth --metrics --metrics.influxdb --metrics.influxdb.endpoint "http://0.0.0.0:8086" --metrics.influxdb.username "geth" --metrics.influxdb.password "chosenpassword"
+```
+
+Tyto příznaky mohou být připojeny k příkazu spouštějícímu klienta nebo uloženy do konfiguračního souboru.
+
+Můžete ověřit, že Geth úspěšně odesílá data, například výpisem metrik v databázi. V InfluxDB shellu:
+
+```
+use geth
+show measurements
+```
+
+## Nastavení Grafany {#setting-up-grafana}
+
+Dalším krokem je instalace Grafany, která bude interpretovat data graficky. Postupujte podle instalačního procesu pro vaše prostředí v dokumentaci Grafany. Ujistěte se, že instalujete verzi OSS, pokud nechcete jinak.
+Příklad instalačních kroků pro distribuce Debian s použitím úložiště:
+
+```
+curl -tlsv1.3 --proto =https -sL https://packages.grafana.com/gpg.key | sudo apt-key add -
+echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
+sudo apt update
+sudo apt install grafana
+sudo systemctl enable grafana-server
+sudo systemctl start grafana-server
+```
+
+Když máte Grafanu spuštěnou, měla by být dostupná na `localhost:3000`.
+Použijte preferovaný prohlížeč pro přístup k této cestě, poté se přihlaste s výchozími přihlašovacími údaji (uživatel: `admin` a heslo: `admin`). Po zobrazení výzvy změňte výchozí heslo a uložte.
+
+
+
+Budete přesměrováni na domovskou stránku Grafany. Nejprve nastavte svá zdrojová data. Klikněte na ikonu konfigurace v levém panelu a vyberte „Zdroje dat“.
+
+
+
+Zatím nejsou vytvořeny žádné zdroje dat, klikněte na „Přidat zdroj dat“ pro definování jednoho.
+
+
+
+Pro toto nastavení vyberte „InfluxDB“ a pokračujte.
+
+
+
+Konfigurace zdroje dat je poměrně jednoduchá, pokud spouštíte nástroje na stejném stroji. Musíte nastavit adresu InfluxDB a podrobnosti pro přístup k databázi. Viz obrázek níže.
+
+
+
+Pokud je vše kompletní a InfluxDB je dostupná, klikněte na „Uložit a testovat“ a počkejte, až se zobrazí potvrzení.
+
+
+
+Grafana je nyní nastavena ke čtení dat z InfluxDB. Nyní musíte vytvořit panel, který je bude interpretovat a zobrazovat. Vlastnosti panelů jsou kódovány v souborech JSON, které může kdokoli vytvořit a snadno importovat. V levém panelu klikněte na „Vytvořit a importovat“.
+
+
+
+Pro monitorovací panel Geth zkopírujte ID [tohoto panelu](https://grafana.com/grafana/dashboards/13877/) a vložte jej na stránku „Importovat“ v Grafaně. Po uložení panelu by měl vypadat takto:
+
+
+
+Své panely můžete upravovat. Každý panel lze upravovat, přesouvat, odstraňovat nebo přidávat. Můžete měnit své konfigurace. Je to na vás! Chcete-li se dozvědět více o tom, jak panely fungují, podívejte se do [dokumentace Grafany](https://grafana.com/docs/grafana/latest/dashboards/).
+Mohlo by vás také zajímat [Upozorňování](https://grafana.com/docs/grafana/latest/alerting/). To vám umožní nastavit upozornění pro případy, kdy metriky dosáhnou určitých hodnot. Jsou podporovány různé komunikační kanály.
diff --git a/public/content/translations/cs/developers/tutorials/nft-minter/index.md b/public/content/translations/cs/developers/tutorials/nft-minter/index.md
new file mode 100644
index 00000000000..e4d036db2a6
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/nft-minter/index.md
@@ -0,0 +1,874 @@
+---
+title: Návod na minter pro NFT
+description: V tomto návodu si vytvoříte minter pro NFT a naučíte se, jak vytvořit full-stack dapp propojením svého chytrého kontraktu s React frontendem pomocí nástrojů MetaMask a Web3.
+author: "smudgil"
+tags:
+ [
+ "solidity",
+ "NFT",
+ "alchemy",
+ "chytré kontrakty",
+ "frontend",
+ "Pinata"
+ ]
+skill: intermediate
+lang: cs
+published: 2021-10-06
+---
+
+Jednou z největších výzev pro vývojáře přicházející z prostředí Web2 je přijít na to, jak propojit chytrý kontrakt s frontendovým projektem a pracovat s ním.
+
+Vytvořením minteru pro NFT – jednoduchého uživatelského rozhraní, do kterého můžete zadat odkaz na své digitální aktivum, název a popis – se naučíte:
+
+- Připojit se k MetaMasku prostřednictvím vašeho frontendového projektu
+- Volat metody chytrého kontraktu z vašeho frontendu
+- Podepisovat transakce pomocí MetaMasku
+
+V tomto návodu budeme jako náš frontendový framework používat [React](https://react.dev/). Protože se tento návod zaměřuje především na vývoj pro Web3, nebudeme trávit mnoho času rozebíráním základů Reactu. Místo toho se zaměříme na to, abychom našemu projektu dodali funkcionalitu.
+
+Předpokladem je, že byste měli mít základní znalosti Reactu – vědět, jak fungují komponenty, props, useState/useEffect a základní volání funkcí. Pokud jste o žádném z těchto pojmů nikdy neslyšeli, možná se budete chtít podívat na tento [návod Úvod do Reactu](https://react.dev/learn/tutorial-tic-tac-toe). Těm, kteří se učí spíše vizuálně, vřele doporučujeme tuto vynikající sérii videí [Kompletní moderní návod na React](https://www.youtube.com/playlist?list=PL4cUxeGkcC9gZD-Tvwfod2gaISzfRiP9d) od Net Ninja.
+
+A pokud ho ještě nemáte, budete k dokončení tohoto návodu a k vytváření čehokoli na blockchainu určitě potřebovat účet Alchemy. Zaregistrujte si bezplatný účet [zde](https://alchemy.com/).
+
+Bez dalších okolků se do toho pusťme!
+
+## Tvorba NFT 101 {#making-nfts-101}
+
+Než se vůbec začneme dívat na jakýkoli kód, je důležité pochopit, jak funguje tvorba NFT. Zahrnuje to dva kroky:
+
+### Zveřejnění chytrého kontraktu NFT na blockchainu Ethereum {#publish-nft}
+
+Největší rozdíl mezi dvěma standardy chytrých kontraktů pro NFT je ten, že ERC-1155 je standard pro více tokenů a zahrnuje dávkovou funkcionalitu, zatímco ERC-721 je standard pro jeden token, a proto podporuje pouze přenos jednoho tokenu najednou.
+
+### Volání funkce mintování {#minting-function}
+
+Obvykle tato funkce mintování vyžaduje, abyste jako parametry předali dvě proměnné: zaprvé `recipient`, která určuje adresu, jež obdrží vaše nově namintované NFT, a zadruhé `tokenURI` NFT, což je řetězec, který odkazuje na dokument JSON popisující metadata NFT.
+
+Metadata NFT jsou to, co ho skutečně oživuje a umožňuje mu mít vlastnosti, jako je název, popis, obrázek (nebo jiné digitální aktivum) a další atributy. [Zde je příklad tokenURI](https://gateway.pinata.cloud/ipfs/QmSvBcb4tjdFpajGJhbFAWeK3JAxCdNQLQtr6ZdiSi42V2), které obsahuje metadata NFT.
+
+V tomto návodu se zaměříme na část 2, volání funkce mintování existujícího chytrého kontraktu NFT pomocí našeho uživatelského rozhraní React.
+
+[Zde je odkaz](https://ropsten.etherscan.io/address/0x4C4a07F737Bf57F6632B6CAB089B78f62385aCaE) na chytrý kontrakt ERC-721 NFT, který budeme v tomto návodu volat. Pokud byste se chtěli dozvědět, jak jsme ho vytvořili, vřele doporučujeme podívat se na náš další návod, ["Jak vytvořit NFT"](https://www.alchemy.com/docs/how-to-create-an-nft).
+
+Super, teď když chápeme, jak funguje tvorba NFT, naklonujme si naše startovací soubory!
+
+## Naklonujte si startovací soubory {#clone-the-starter-files}
+
+Nejprve přejděte do [GitHub repozitáře nft-minter-tutorial](https://github.com/alchemyplatform/nft-minter-tutorial), abyste získali startovací soubory pro tento projekt. Naklonujte tento repozitář do svého lokálního prostředí.
+
+Když otevřete tento naklonovaný repozitář `nft-minter-tutorial`, všimnete si, že obsahuje dvě složky: `minter-starter-files` a `nft-minter`.
+
+- `minter-starter-files` obsahuje startovací soubory (v podstatě uživatelské rozhraní React) pro tento projekt. V tomto návodu **budeme pracovat v tomto adresáři**, kde se naučíte, jak toto uživatelské rozhraní oživit připojením k vaší peněžence Ethereum a chytrému kontraktu NFT.
+- `nft-minter` obsahuje celý dokončený návod a je vám k dispozici jako **reference**, **pokud se zaseknete.**
+
+Dále otevřete svou kopii `minter-starter-files` v editoru kódu a poté přejděte do složky `src`.
+
+Veškerý kód, který napíšeme, bude umístěn ve složce `src`. Budeme upravovat komponentu `Minter.js` a psát další javascriptové soubory, abychom našemu projektu dodali funkcionalitu Web3.
+
+## Krok 2: Prohlédněte si naše startovací soubory {#step-2-check-out-our-starter-files}
+
+Než začneme kódovat, je důležité si prohlédnout, co je pro nás již připraveno ve startovacích souborech.
+
+### Spusťte svůj projekt v Reactu {#get-your-react-project-running}
+
+Začněme spuštěním projektu React v našem prohlížeči. Krása Reactu spočívá v tom, že jakmile náš projekt běží v prohlížeči, veškeré uložené změny se v prohlížeči projeví v reálném čase.
+
+Chcete-li projekt spustit, přejděte do kořenového adresáře složky `minter-starter-files` a spusťte v terminálu příkaz `npm install` pro instalaci závislostí projektu:
+
+```bash
+cd minter-starter-files
+npm install
+```
+
+Jakmile se dokončí instalace, spusťte v terminálu `npm start`:
+
+```bash
+npm start
+```
+
+Tím by se vám měl v prohlížeči otevřít http://localhost:3000/, kde uvidíte frontend našeho projektu. Měl by se skládat ze 3 polí: místo pro zadání odkazu na aktivum vašeho NFT, zadání názvu vašeho NFT a poskytnutí popisu.
+
+Pokud se pokusíte kliknout na tlačítka „Připojit peněženku“ nebo „Mintovat NFT“, zjistíte, že nefungují – to proto, že jejich funkcionalitu musíme teprve naprogramovat! :\)
+
+### Komponenta Minter.js {#minter-js}
+
+**POZNÁMKA:** Ujistěte se, že se nacházíte ve složce `minter-starter-files` a ne ve složce `nft-minter`!
+
+Vraťme se do složky `src` v našem editoru a otevřete soubor `Minter.js`. Je nesmírně důležité, abychom všemu v tomto souboru rozuměli, protože se jedná o primární komponentu Reactu, na které budeme pracovat.
+
+V horní části tohoto souboru máme naše stavové proměnné, které budeme aktualizovat po konkrétních událostech.
+
+```javascript
+//Stavové proměnné
+const [walletAddress, setWallet] = useState("")
+const [status, setStatus] = useState("")
+const [name, setName] = useState("")
+const [description, setDescription] = useState("")
+const [url, setURL] = useState("")
+```
+
+Nikdy jste neslyšeli o stavových proměnných Reactu nebo stavových hácích (hooks)? Podívejte se na [tuto](https://legacy.reactjs.org/docs/hooks-state.html) dokumentaci.
+
+Zde je přehled toho, co jednotlivé proměnné představují:
+
+- `walletAddress` – řetězec, který ukládá adresu peněženky uživatele
+- `status` – řetězec, který obsahuje zprávu k zobrazení v dolní části uživatelského rozhraní
+- `name` – řetězec, který ukládá název NFT
+- `description` – řetězec, který ukládá popis NFT
+- `url` – řetězec, který je odkazem na digitální aktivum NFT
+
+Po stavových proměnných uvidíte tři neimplementované funkce: `useEffect`, `connectWalletPressed` a `onMintPressed`. Všimnete si, že všechny tyto funkce jsou `async`, protože v nich budeme provádět asynchronní volání API! Jejich názvy jsou synonymem jejich funkcí:
+
+```javascript
+useEffect(async () => {
+ //TODO: implementovat
+}, [])
+
+const connectWalletPressed = async () => {
+ //TODO: implementovat
+}
+
+const onMintPressed = async () => {
+ //TODO: implementovat
+}
+```
+
+- [`useEffect`](https://legacy.reactjs.org/docs/hooks-effect.html) – toto je React hook, který se volá po vykreslení vaší komponenty. Protože má předanou prázdnou rekvizitu pole `[]` (viz řádek 3), bude volána pouze při _prvním_ vykreslení komponenty. Zde zavoláme náš posluchač peněženky a další funkci peněženky, abychom aktualizovali naše uživatelské rozhraní tak, aby odráželo, zda je peněženka již připojena.
+- `connectWalletPressed` – tato funkce bude volána pro připojení peněženky MetaMask uživatele k naší dapp.
+- `onMintPressed` – tato funkce bude volána pro mintování NFT uživatele.
+
+Na konci tohoto souboru máme uživatelské rozhraní naší komponenty. Pokud si tento kód pečlivě projdete, všimnete si, že aktualizujeme naše stavové proměnné `url`, `name` a `description` při změně vstupu v jejich odpovídajících textových polích.
+
+Také uvidíte, že `connectWalletPressed` a `onMintPressed` se volají při kliknutí na tlačítka s ID `mintButton` a `walletButton`.
+
+```javascript
+//uživatelské rozhraní naší komponenty
+return (
+
+
+
+
+
🧙♂️ Minter NFT od Alchemy
+
+ Jednoduše přidejte odkaz na své aktivum, název a popis a poté stiskněte „Mintovat“.
+
+
+
+
{status}
+
+)
+```
+
+Nakonec se podívejme, kam se tato komponenta Minter přidává.
+
+Pokud přejdete do souboru `App.js`, který je hlavní komponentou v Reactu a funguje jako kontejner pro všechny ostatní komponenty, uvidíte, že naše komponenta Minter je vložena na řádku 7.
+
+**V tomto návodu budeme upravovat pouze soubor `Minter.js` a přidávat soubory do naší složky `src`.**
+
+Nyní, když chápeme, s čím pracujeme, nastavme si naši peněženku Ethereum!
+
+## Nastavte si svou peněženku Ethereum {#set-up-your-ethereum-wallet}
+
+Aby uživatelé mohli interagovat s vaším chytrým kontraktem, budou muset ke své dapp připojit svou peněženku Ethereum.
+
+### Stáhněte si MetaMask {#download-metamask}
+
+Pro tento výukový program použijeme MetaMask, virtuální peněženku v prohlížeči, která slouží ke správě adresy vašeho ethereového účtu. Pokud chcete lépe porozumět tomu, jak fungují transakce na Ethereu, podívejte se na [tuto stránku](/developers/docs/transactions/).
+
+Účet MetaMask si můžete zdarma stáhnout a vytvořit [zde](https://metamask.io/download). Při vytváření účtu, nebo pokud již účet máte, se ujistěte, že jste vpravo nahoře přepnuli na „Ropsten Test Network“ (abychom nepracovali se skutečnými penězi).
+
+### Přidejte ether z Faucetu {#add-ether-from-faucet}
+
+Abychom mohli mintovat naše NFT (nebo podepisovat jakékoli transakce na blockchainu Ethereum), budeme potřebovat nějaké falešné Eth. Pro získání Eth můžete přejít na [Ropsten faucet](https://faucet.ropsten.be/), zadat adresu svého účtu Ropsten a kliknout na „Send Ropsten Eth“. Krátce poté byste měli vidět Eth ve svém účtu MetaMask!
+
+### Zkontrolujte si zůstatek {#check-your-balance}
+
+Abychom si ověřili, že náš zůstatek je k dispozici, proveďte požadavek [eth_getBalance](https://docs.alchemyapi.io/alchemy/documentation/alchemy-api-reference/json-rpc#eth_getbalance) pomocí [nástroje Composer od Alchemy](https://composer.alchemyapi.io/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getBalance%22%2C%22paramValues%22%3A%5B%22%22%2C%22latest%22%5D%7D). Tím získáte množství Eth ve vaší peněžence. Po zadání adresy vašeho účtu MetaMask a kliknutí na „Send Request“ byste měli vidět takovouto odpověď:
+
+```text
+{"jsonrpc": "2.0", "id": 0, "result": "0xde0b6b3a7640000"}
+```
+
+**POZNÁMKA:** Tento výsledek je ve wei, nikoli v eth. Wei se používá jako nejmenší denominace etheru. Převod z wei na eth je: 1 eth = 10¹⁸ wei. Takže pokud převedeme 0xde0b6b3a7640000 na desetinné číslo, dostaneme 1\*10¹⁸, což se rovná 1 eth.
+
+Uf! Naše falešné peníze jsou všechny tam!
+
+## Připojte MetaMask k vašemu UI {#connect-metamask-to-your-UI}
+
+Nyní, když je naše peněženka MetaMask nastavena, připojme k ní naši dapp!
+
+Protože se chceme držet paradigmatu [MVC](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller), vytvoříme si samostatný soubor, který bude obsahovat naše funkce pro správu logiky, dat a pravidel naší dapp, a poté tyto funkce předáme našemu frontendu (naší komponentě Minter.js).
+
+### Funkce `connectWallet` {#connect-wallet-function}
+
+K tomu si vytvoříme novou složku s názvem `utils` ve vašem adresáři `src` a do ní přidáme soubor s názvem `interact.js`, který bude obsahovat všechny naše funkce pro interakci s peněženkou a chytrým kontraktem.
+
+V našem souboru `interact.js` napíšeme funkci `connectWallet`, kterou pak naimportujeme a zavoláme v naší komponentě `Minter.js`.
+
+Do svého souboru `interact.js` přidejte následující
+
+```javascript
+export const connectWallet = async () => {
+ if (window.ethereum) {
+ try {
+ const addressArray = await window.ethereum.request({
+ method: "eth_requestAccounts",
+ })
+ const obj = {
+ status: "👆🏽 Napište zprávu do textového pole výše.",
+ address: addressArray[0],
+ }
+ return obj
+ } catch (err) {
+ return {
+ address: "",
+ status: "😥 " + err.message,
+ }
+ }
+ } else {
+ return {
+ address: "",
+ status: (
+
+
+
+ ),
+ }
+ }
+}
+```
+
+Pojďme si rozebrat, co tento kód dělá:
+
+Nejprve naše funkce zkontroluje, zda je ve vašem prohlížeči povoleno `window.ethereum`.
+
+`window.ethereum` je globální API, které vkládá MetaMask a další poskytovatelé peněženek a které webovým stránkám umožňuje žádat o účty uživatelů Etherea. Pokud je schváleno, může číst data z blockchainů, ke kterým je uživatel připojen, a navrhovat uživateli podepisování zpráv a transakcí. Pro více informací se podívejte do [dokumentace MetaMasku](https://docs.metamask.io/guide/ethereum-provider.html#table-of-contents)!
+
+Pokud `window.ethereum` _není_ přítomno, znamená to, že MetaMask není nainstalován. Výsledkem je vrácení objektu JSON, kde vrácená `adresa` je prázdný řetězec a objekt JSX `status` sděluje, že uživatel si musí nainstalovat MetaMask.
+
+**Většina funkcí, které napíšeme, bude vracet objekty JSON, které můžeme použít k aktualizaci našich stavových proměnných a uživatelského rozhraní.**
+
+Pokud `window.ethereum` _je_ přítomno, pak to začne být zajímavé.
+
+Pomocí smyčky try/catch se pokusíme připojit k MetaMasku voláním [`window.ethereum.request({ method: \"eth_requestAccounts\" });`](https://docs.metamask.io/guide/rpc-api.html#eth-requestaccounts). Volání této funkce otevře MetaMask v prohlížeči, kde bude uživatel vyzván k připojení své peněženky k vaší dapp.
+
+- Pokud se uživatel rozhodne připojit, `method: \"eth_requestAccounts\"` vrátí pole, které obsahuje všechny adresy účtů uživatele připojené k dapp. Celkově naše funkce `connectWallet` vrátí objekt JSON, který obsahuje _první_ `adresu` v tomto poli (viz řádek 9) a zprávu `status`, která vyzve uživatele k napsání zprávy do chytrého kontraktu.
+- Pokud uživatel spojení odmítne, objekt JSON bude obsahovat prázdný řetězec pro vrácenou `adresu` a zprávu `status`, která odráží, že uživatel spojení odmítl.
+
+### Přidejte funkci connectWallet do své komponenty UI Minter.js {#add-connect-wallet}
+
+Nyní, když jsme napsali tuto funkci `connectWallet`, připojme ji k naší komponentě `Minter.js`.
+
+Nejprve budeme muset naimportovat naši funkci do našeho souboru `Minter.js` přidáním `import { connectWallet } from \"./utils/interact.js\";` na začátek souboru `Minter.js`. Vašich prvních 11 řádků souboru `Minter.js` by nyní mělo vypadat takto:
+
+```javascript
+import { useEffect, useState } from "react";
+import { connectWallet } from "./utils/interact.js";
+
+const Minter = (props) => {
+
+ //Stavové proměnné
+ const [walletAddress, setWallet] = useState("");
+ const [status, setStatus] = useState("");
+ const [name, setName] = useState("");
+ const [description, setDescription] = useState("");
+ const [url, setURL] = useState("");
+```
+
+Poté uvnitř naší funkce `connectWalletPressed` zavoláme naši importovanou funkci `connectWallet` takto:
+
+```javascript
+const connectWalletPressed = async () => {
+ const walletResponse = await connectWallet()
+ setStatus(walletResponse.status)
+ setWallet(walletResponse.address)
+}
+```
+
+Všimněte si, jak je většina naší funkcionality abstrahována z naší komponenty `Minter.js` ze souboru `interact.js`? To proto, abychom dodrželi paradigma M-V-C!
+
+V `connectWalletPressed` jednoduše provedeme await volání naší importované funkce `connectWallet` a pomocí její odpovědi aktualizujeme naše proměnné `status` a `walletAddress` prostřednictvím jejich stavových háků (hooks).
+
+Nyní uložme oba soubory `Minter.js` a `interact.js` a vyzkoušejme naše dosavadní uživatelské rozhraní.
+
+Otevřete svůj prohlížeč na adrese localhost:3000 a stiskněte tlačítko „Připojit peněženku“ vpravo nahoře na stránce.
+
+Pokud máte nainstalovaný MetaMask, měli byste být vyzváni k připojení své peněženky k vaší dapp. Přijměte výzvu k připojení.
+
+Měli byste vidět, že tlačítko peněženky nyní ukazuje, že je vaše adresa připojena.
+
+Dále zkuste obnovit stránku... to je divné. Naše tlačítko peněženky nás vyzývá k připojení MetaMasku, i když už je připojen...
+
+Ale nebojte se! To můžeme snadno opravit implementací funkce nazvané `getCurrentWalletConnected`, která zkontroluje, zda je adresa již připojena k naší dapp, a podle toho aktualizuje naše uživatelské rozhraní!
+
+### Funkce getCurrentWalletConnected {#get-current-wallet}
+
+Do svého souboru `interact.js` přidejte následující funkci `getCurrentWalletConnected`:
+
+```javascript
+export const getCurrentWalletConnected = async () => {
+ if (window.ethereum) {
+ try {
+ const addressArray = await window.ethereum.request({
+ method: "eth_accounts",
+ })
+ if (addressArray.length > 0) {
+ return {
+ address: addressArray[0],
+ status: "👆🏽 Napište zprávu do textového pole výše.",
+ }
+ } else {
+ return {
+ address: "",
+ status: "🦊 Připojte se k MetaMasku pomocí tlačítka vpravo nahoře.",
+ }
+ }
+ } catch (err) {
+ return {
+ address: "",
+ status: "😥 " + err.message,
+ }
+ }
+ } else {
+ return {
+ address: "",
+ status: (
+
+
+
+ ),
+ }
+ }
+}
+```
+
+Tento kód je _velmi_ podobný funkci `connectWallet`, kterou jsme napsali dříve.
+
+Hlavní rozdíl je v tom, že místo volání metody `eth_requestAccounts`, která otevře MetaMask, aby si uživatel mohl připojit svou peněženku, zde voláme metodu `eth_accounts`, která jednoduše vrací pole obsahující adresy MetaMask aktuálně připojené k naší dapp.
+
+Abychom viděli tuto funkci v akci, zavoláme ji ve funkci `useEffect` naší komponenty `Minter.js`.
+
+Stejně jako u `connectWallet` musíme tuto funkci naimportovat z našeho souboru `interact.js` do našeho souboru `Minter.js` takto:
+
+```javascript
+import { useEffect, useState } from "react"
+import {
+ connectWallet,
+ getCurrentWalletConnected, //importovat zde
+} from "./utils/interact.js"
+```
+
+Nyní ji jednoduše zavoláme v naší funkci `useEffect`:
+
+```javascript
+useEffect(async () => {
+ const { address, status } = await getCurrentWalletConnected()
+ setWallet(address)
+ setStatus(status)
+}, [])
+```
+
+Všimněte si, že odpověď z našeho volání `getCurrentWalletConnected` používáme k aktualizaci našich stavových proměnných `walletAddress` a `status`.
+
+Jakmile přidáte tento kód, zkuste obnovit okno prohlížeče. Tlačítko by mělo hlásit, že jste připojeni, a zobrazovat náhled adresy vaší připojené peněženky – i po obnovení!
+
+### Implementujte addWalletListener {#implement-add-wallet-listener}
+
+Posledním krokem v nastavení peněženky naší dapp je implementace posluchače peněženky, aby se naše uživatelské rozhraní aktualizovalo, když se změní stav naší peněženky, například když se uživatel odpojí nebo přepne účty.
+
+Do svého souboru `Minter.js` přidejte funkci `addWalletListener`, která vypadá následovně:
+
+```javascript
+function addWalletListener() {
+ if (window.ethereum) {
+ window.ethereum.on("accountsChanged", (accounts) => {
+ if (accounts.length > 0) {
+ setWallet(accounts[0])
+ setStatus("👆🏽 Napište zprávu do textového pole výše.")
+ } else {
+ setWallet("")
+ setStatus("🦊 Připojte se k MetaMasku pomocí tlačítka vpravo nahoře.")
+ }
+ })
+ } else {
+ setStatus(
+
+ )
+ }
+}
+```
+
+Pojďme si rychle rozebrat, co se zde děje:
+
+- Nejprve naše funkce zkontroluje, zda je `window.ethereum` povoleno (tj. zda je MetaMask nainstalován).
+ - Pokud není, jednoduše nastavíme naši stavovou proměnnou `status` na řetězec JSX, který uživatele vyzve k instalaci MetaMasku.
+ - Pokud je povoleno, nastavíme na řádku 3 posluchače `window.ethereum.on(\"accountsChanged\")`, který naslouchá změnám stavu v peněžence MetaMask, což zahrnuje případy, kdy uživatel připojí další účet k dapp, přepne účty nebo odpojí účet. Pokud je připojen alespoň jeden účet, stavová proměnná `walletAddress` se aktualizuje jako první účet v poli `accounts` vráceném posluchačem. V opačném případě je `walletAddress` nastaveno jako prázdný řetězec.
+
+Nakonec ji musíme zavolat v naší funkci `useEffect`:
+
+```javascript
+useEffect(async () => {
+ const { address, status } = await getCurrentWalletConnected()
+ setWallet(address)
+ setStatus(status)
+
+ addWalletListener()
+}, [])
+```
+
+A je to! Dokončili jsme programování veškeré funkcionality naší peněženky! Nyní, když je naše peněženka nastavena, pojďme zjistit, jak mintovat naše NFT!
+
+## Metadata NFT 101 {#nft-metadata-101}
+
+Vzpomeňte si na metadata NFT, o kterých jsme mluvili v kroku 0 tohoto návodu – oživují NFT a umožňují mu mít vlastnosti, jako je digitální aktivum, název, popis a další atributy.
+
+Tato metadata budeme muset nakonfigurovat jako objekt JSON a uložit je, abychom je mohli předat jako parametr `tokenURI` při volání funkce `mintNFT` našeho chytrého kontraktu.
+
+Text v polích „Odkaz na aktivum“, „Název“ a „Popis“ bude tvořit různé vlastnosti metadat našeho NFT. Tato metadata naformátujeme jako objekt JSON, ale existuje několik možností, kde tento objekt JSON můžeme uložit:
+
+- Mohli bychom je uložit na blockchainu Ethereum, avšak to by bylo velmi drahé.
+- Mohli bychom je uložit na centralizovaném serveru, jako je AWS nebo Firebase. To by ale bylo v rozporu s naším decentralizačním étosem.
+- Mohli bychom použít IPFS, decentralizovaný protokol a peer-to-peer síť pro ukládání a sdílení dat v distribuovaném souborovém systému. Protože je tento protokol decentralizovaný a bezplatný, je to naše nejlepší volba!
+
+K uložení našich metadat na IPFS použijeme [Pinata](https://pinata.cloud/), pohodlné API a sadu nástrojů pro IPFS. V dalším kroku si přesně vysvětlíme, jak na to!
+
+## Použijte Pinata k připnutí vašich metadat na IPFS {#use-pinata-to-pin-your-metadata-to-IPFS}
+
+Pokud nemáte účet [Pinata](https://pinata.cloud/), zaregistrujte si bezplatný účet [zde](https://app.pinata.cloud/auth/signup) a dokončete kroky k ověření svého e-mailu a účtu.
+
+### Vytvořte si API klíč Pinata {#create-pinata-api-key}
+
+Přejděte na stránku [https://pinata.cloud/keys](https://pinata.cloud/keys), poté vyberte tlačítko „New Key“ nahoře, nastavte widget Admin jako povolený a pojmenujte svůj klíč.
+
+Poté se vám zobrazí vyskakovací okno s vašimi informacemi o API. Ujistěte se, že si je uložíte na bezpečné místo.
+
+Nyní, když máme náš klíč nastavený, přidejme ho do našeho projektu, abychom ho mohli používat.
+
+### Vytvořte soubor .env {#create-a-env}
+
+Náš klíč Pinata a tajný klíč můžeme bezpečně uložit do souboru s proměnnými prostředí. Nainstalujme si do adresáře projektu [balíček dotenv](https://www.npmjs.com/package/dotenv).
+
+Otevřete novou kartu v terminálu (jinou než tu, na které běží localhost), ujistěte se, že se nacházíte ve složce `minter-starter-files` a spusťte následující příkaz:
+
+```text
+npm install dotenv --save
+```
+
+Dále vytvořte soubor `.env` v kořenovém adresáři `minter-starter-files` zadáním následujícího příkazu:
+
+```javascript
+vim.env
+```
+
+Tím se vám otevře soubor `.env` ve vimu (textovém editoru). Pro uložení stiskněte na klávesnici v tomto pořadí „esc“ + „:“ + „q“.
+
+Dále v editoru VSCode přejděte do souboru `.env` a přidejte do něj svůj API klíč Pinata a API secret takto:
+
+```text
+REACT_APP_PINATA_KEY =
+REACT_APP_PINATA_SECRET =
+```
+
+Uložte soubor a pak jste připraveni začít psát funkci pro nahrání vašich metadat JSON na IPFS!
+
+### Implementujte pinJSONToIPFS {#pin-json-to-ipfs}
+
+Naštěstí pro nás má Pinata [API speciálně pro nahrávání dat JSON na IPFS](https://docs.pinata.cloud/api-reference/endpoint/ipfs/pin-json-to-ipfs#pin-json) a pohodlný příklad v JavaScriptu s axios, který můžeme s drobnými úpravami použít.
+
+Ve složce `utils` vytvořme další soubor s názvem `pinata.js` a poté naimportujme náš Pinata secret a klíč ze souboru .env takto:
+
+```javascript
+require("dotenv").config()
+const key = process.env.REACT_APP_PINATA_KEY
+const secret = process.env.REACT_APP_PINATA_SECRET
+```
+
+Dále vložte další kód z níže uvedeného do svého souboru `pinata.js`. Nebojte se, rozebereme si, co všechno znamená!
+
+```javascript
+require("dotenv").config()
+const key = process.env.REACT_APP_PINATA_KEY
+const secret = process.env.REACT_APP_PINATA_SECRET
+
+const axios = require("axios")
+
+export const pinJSONToIPFS = async (JSONBody) => {
+ const url = `https://api.pinata.cloud/pinning/pinJSONToIPFS`
+ //odeslání POST požadavku pomocí axios na Pinata ⬇️
+ return axios
+ .post(url, JSONBody, {
+ headers: {
+ pinata_api_key: key,
+ pinata_secret_api_key: secret,
+ },
+ })
+ .then(function (response) {
+ return {
+ success: true,
+ pinataUrl:
+ "https://gateway.pinata.cloud/ipfs/" + response.data.IpfsHash,
+ }
+ })
+ .catch(function (error) {
+ console.log(error)
+ return {
+ success: false,
+ message: error.message,
+ }
+ })
+}
+```
+
+Co přesně tedy tento kód dělá?
+
+Nejprve importuje [axios](https://www.npmjs.com/package/axios), HTTP klienta založeného na promises pro prohlížeč a node.js, který použijeme k provedení požadavku na Pinata.
+
+Poté máme naši asynchronní funkci `pinJSONToIPFS`, která jako vstup přijímá `JSONBody` a v hlavičce API klíč a secret Pinata, a to vše pro provedení POST požadavku na jejich API `pinJSONToIPFS`.
+
+- Pokud je tento POST požadavek úspěšný, naše funkce vrátí objekt JSON s booleovskou hodnotou `success` jako true a `pinataUrl`, kde byla naše metadata připnuta. Tuto vrácenou `pinataUrl` použijeme jako vstup `tokenURI` do funkce mintování našeho chytrého kontraktu.
+- Pokud tento post požadavek selže, naše funkce vrátí objekt JSON s booleovskou hodnotou `success` jako false a řetězcem `message`, který sděluje naši chybu.
+
+Stejně jako u návratových typů naší funkce `connectWallet` vracíme objekty JSON, abychom mohli jejich parametry použít k aktualizaci našich stavových proměnných a uživatelského rozhraní.
+
+## Načtěte svůj chytrý kontrakt {#load-your-smart-contract}
+
+Nyní, když máme způsob, jak nahrát naše metadata NFT na IPFS prostřednictvím naší funkce `pinJSONToIPFS`, budeme potřebovat způsob, jak načíst instanci našeho chytrého kontraktu, abychom mohli volat jeho funkci `mintNFT`.
+
+Jak jsme již zmínili, v tomto návodu budeme používat [tento existující chytrý kontrakt NFT](https://ropsten.etherscan.io/address/0x4C4a07F737Bf57F6632B6CAB089B78f62385aCaE); nicméně, pokud byste se chtěli dozvědět, jak jsme ho vytvořili, nebo si vytvořit vlastní, vřele doporučujeme podívat se na náš další návod ["Jak vytvořit NFT"](https://www.alchemy.com/docs/how-to-create-an-nft).
+
+### ABI kontraktu {#contract-abi}
+
+Pokud jste si naše soubory pozorně prohlédli, jistě jste si všimli, že v našem adresáři `src` se nachází soubor `contract-abi.json`. ABI je nezbytné pro specifikaci, kterou funkci kontrakt vyvolá, a také pro zajištění, že funkce vrátí data ve formátu, který očekáváte.
+
+Budeme také potřebovat API klíč Alchemy a Alchemy Web3 API, abychom se připojili k blockchainu Ethereum a načetli náš chytrý kontrakt.
+
+### Vytvořte si API klíč Alchemy {#create-alchemy-api}
+
+Pokud ještě nemáte účet Alchemy, [zaregistrujte se zdarma zde.](https://alchemy.com/?a=eth-org-nft-minter)
+
+Jakmile si vytvoříte účet na Alchemy, můžete si vygenerovat klíč API vytvořením aplikace. To nám umožní provádět požadavky na testovací síť Ropsten.
+
+Přejděte na stránku „Create App“ ve svém panelu Alchemy tak, že najedete myší na „Apps“ v navigační liště a kliknete na „Create App“.
+
+Pojmenujte svou aplikaci – my jsme zvolili „My First NFT!“, nabídněte krátký popis, vyberte „Staging“ pro prostředí používané pro účetnictví vaší aplikace a jako síť zvolte „Ropsten“.
+
+Klikněte na „Create app“ a to je vše! Vaše aplikace by se měla objevit v tabulce níže.
+
+Skvělé, takže teď, když jsme vytvořili naši HTTP Alchemy API URL, zkopírujte si ji do schránky...
+
+… a poté ji přidejme do našeho souboru `.env`. Celkově by váš soubor .env měl vypadat takto:
+
+```text
+REACT_APP_PINATA_KEY =
+REACT_APP_PINATA_SECRET =
+REACT_APP_ALCHEMY_KEY = https://eth-ropsten.alchemyapi.io/v2/
+```
+
+Nyní, když máme naše ABI kontraktu a náš API klíč Alchemy, jsme připraveni načíst náš chytrý kontrakt pomocí [Alchemy Web3](https://github.com/alchemyplatform/alchemy-web3).
+
+### Nastavte si svůj koncový bod Alchemy Web3 a kontrakt {#setup-alchemy-endpoint}
+
+Nejprve, pokud ho ještě nemáte, budete muset nainstalovat [Alchemy Web3](https://github.com/alchemyplatform/alchemy-web3) tak, že přejdete do domovského adresáře: `nft-minter-tutorial` v terminálu:
+
+```text
+cd ..
+npm install @alch/alchemy-web3
+```
+
+Dále se vraťme do našeho souboru `interact.js`. Na začátek souboru přidejte následující kód, abyste naimportovali svůj klíč Alchemy ze souboru .env a nastavili si svůj koncový bod Alchemy Web3:
+
+```javascript
+require("dotenv").config()
+const alchemyKey = process.env.REACT_APP_ALCHEMY_KEY
+const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
+const web3 = createAlchemyWeb3(alchemyKey)
+```
+
+[Alchemy Web3](https://github.com/alchemyplatform/alchemy-web3) je nadstavba nad [Web3.js](https://docs.web3js.org/), která poskytuje vylepšené metody API a další klíčové výhody, které vám usnadní život vývojáře web3. Je navržen tak, aby vyžadoval minimální konfiguraci, takže jej můžete ve své aplikaci začít používat okamžitě!
+
+Dále přidejme do našeho souboru ABI a adresu kontraktu.
+
+```javascript
+require("dotenv").config()
+const alchemyKey = process.env.REACT_APP_ALCHEMY_KEY
+const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
+const web3 = createAlchemyWeb3(alchemyKey)
+
+const contractABI = require("../contract-abi.json")
+const contractAddress = "0x4C4a07F737Bf57F6632B6CAB089B78f62385aCaE"
+```
+
+Jakmile máme obojí, jsme připraveni začít kódovat naši funkci mintování!
+
+## Implementujte funkci mintNFT {#implement-the-mintnft-function}
+
+Uvnitř vašeho souboru `interact.js` definujme naši funkci `mintNFT`, která bude, jak název napovídá, mintovat naše NFT.
+
+Protože budeme provádět četná asynchronní volání (na Pinata pro připnutí našich metadat na IPFS, Alchemy Web3 pro načtení našeho chytrého kontraktu a MetaMask pro podepsání našich transakcí), bude naše funkce také asynchronní.
+
+Tři vstupy do naší funkce budou `url` našeho digitálního aktiva, `name` a `description`. Pod funkci `connectWallet` přidejte následující signaturu funkce:
+
+```javascript
+export const mintNFT = async (url, name, description) => {}
+```
+
+### Zpracování chyb na vstupu {#input-error-handling}
+
+Je samozřejmě logické mít na začátku funkce nějaké zpracování chyb na vstupu, takže z této funkce odejdeme, pokud naše vstupní parametry nejsou správné. Do naší funkce přidejme následující kód:
+
+```javascript
+export const mintNFT = async (url, name, description) => {
+ //zpracování chyb
+ if (url.trim() == "" || name.trim() == "" || description.trim() == "") {
+ return {
+ success: false,
+ status: "❗Před mintováním se prosím ujistěte, že jsou všechna pole vyplněna.",
+ }
+ }
+}
+```
+
+V podstatě, pokud je některý ze vstupních parametrů prázdný řetězec, vrátíme objekt JSON, kde je booleovská hodnota `success` false a řetězec `status` sděluje, že všechna pole v našem uživatelském rozhraní musí být vyplněna.
+
+### Nahrajte metadata na IPFS {#upload-metadata-to-ipfs}
+
+Jakmile víme, že jsou naše metadata správně naformátována, dalším krokem je zabalit je do objektu JSON a nahrát je na IPFS prostřednictvím funkce `pinJSONToIPFS`, kterou jsme napsali!
+
+K tomu musíme nejprve naimportovat funkci `pinJSONToIPFS` do našeho souboru `interact.js`. Na samý začátek `interact.js` přidejme:
+
+```javascript
+import { pinJSONToIPFS } from "./pinata.js"
+```
+
+Vzpomeňte si, že `pinJSONToIPFS` přijímá jako vstup tělo JSON. Takže než ji zavoláme, budeme muset naformátovat naše parametry `url`, `name` a `description` do objektu JSON.
+
+Aktualizujme náš kód tak, aby vytvořil objekt JSON nazvaný `metadata` a poté proveďme volání `pinJSONToIPFS` s tímto parametrem `metadata`:
+
+```javascript
+export const mintNFT = async (url, name, description) => {
+ //zpracování chyb
+ if (url.trim() == "" || name.trim() == "" || description.trim() == "") {
+ return {
+ success: false,
+ status: "❗Před mintováním se prosím ujistěte, že jsou všechna pole vyplněna.",
+ }
+ }
+
+ //vytvořit metadata
+ const metadata = new Object()
+ metadata.name = name
+ metadata.image = url
+ metadata.description = description
+
+ //volání pinata
+ const pinataResponse = await pinJSONToIPFS(metadata)
+ if (!pinataResponse.success) {
+ return {
+ success: false,
+ status: "😢 Něco se pokazilo při nahrávání vašeho tokenURI.",
+ }
+ }
+ const tokenURI = pinataResponse.pinataUrl
+}
+```
+
+Všimněte si, že odpověď na naše volání `pinJSONToIPFS(metadata)` ukládáme do objektu `pinataResponse`. Poté tento objekt analyzujeme na případné chyby.
+
+Pokud dojde k chybě, vrátíme objekt JSON, kde je booleovská hodnota `success` false a náš řetězec `status` sděluje, že naše volání selhalo. V opačném případě extrahujeme `pinataURL` z `pinataResponse` a uložíme ji jako naši proměnnou `tokenURI`.
+
+Nyní je čas načíst náš chytrý kontrakt pomocí Alchemy Web3 API, které jsme inicializovali na začátku našeho souboru. Na konec funkce `mintNFT` přidejte následující řádek kódu, který nastaví kontrakt na globální proměnnou `window.contract`:
+
+```javascript
+window.contract = await new web3.eth.Contract(contractABI, contractAddress)
+```
+
+Poslední věc, kterou je třeba přidat do naší funkce `mintNFT`, je naše transakce Ethereum:
+
+```javascript
+//nastavte si svou transakci Ethereum
+const transactionParameters = {
+ to: contractAddress, // Povinné s výjimkou zveřejnění kontraktu.
+ from: window.ethereum.selectedAddress, // musí odpovídat aktivní adrese uživatele.
+ data: window.contract.methods
+ .mintNFT(window.ethereum.selectedAddress, tokenURI)
+ .encodeABI(), //provést volání chytrého kontraktu NFT
+}
+
+//podepsat transakci přes MetaMask
+try {
+ const txHash = await window.ethereum.request({
+ method: "eth_sendTransaction",
+ params: [transactionParameters],
+ })
+ return {
+ success: true,
+ status:
+ "✅ Podívejte se na svou transakci na Etherscanu: https://ropsten.etherscan.io/tx/" +
+ txHash,
+ }
+} catch (error) {
+ return {
+ success: false,
+ status: "😥 Něco se pokazilo: " + error.message,
+ }
+}
+```
+
+Pokud jste již obeznámeni s transakcemi na Ethereu, všimnete si, že struktura je docela podobná tomu, co jste již viděli.
+
+- Nejprve nastavíme naše parametry transakce.
+ - `to` určuje adresu příjemce (náš chytrý kontrakt)
+ - `from` určuje podepisujícího transakce (připojená adresa uživatele k MetaMasku: `window.ethereum.selectedAddress`)
+ - `data` obsahuje volání metody `mintNFT` našeho chytrého kontraktu, která jako vstup přijímá náš `tokenURI` a adresu peněženky uživatele, `window.ethereum.selectedAddress`
+- Poté provedeme await volání `window.ethereum.request`, kde požádáme MetaMask o podepsání transakce. Všimněte si, že v tomto požadavku specifikujeme naši eth metodu (eth_SentTransaction) a předáváme naše `transactionParameters`. V tomto okamžiku se v prohlížeči otevře MetaMask a vyzve uživatele k podepsání nebo zamítnutí transakce.
+ - Pokud je transakce úspěšná, funkce vrátí objekt JSON, kde je booleovská hodnota `success` nastavena na true a řetězec `status` vyzve uživatele, aby se podíval na Etherscan pro více informací o své transakci.
+ - Pokud transakce selže, funkce vrátí objekt JSON, kde je booleovská hodnota `success` nastavena na false a řetězec `status` sděluje chybovou zprávu.
+
+Celkově by naše funkce `mintNFT` měla vypadat takto:
+
+```javascript
+export const mintNFT = async (url, name, description) => {
+ //zpracování chyb
+ if (url.trim() == "" || name.trim() == "" || description.trim() == "") {
+ return {
+ success: false,
+ status: "❗Před mintováním se prosím ujistěte, že jsou všechna pole vyplněna.",
+ }
+ }
+
+ //vytvořit metadata
+ const metadata = new Object()
+ metadata.name = name
+ metadata.image = url
+ metadata.description = description
+
+ //žádost o připnutí pinata
+ const pinataResponse = await pinJSONToIPFS(metadata)
+ if (!pinataResponse.success) {
+ return {
+ success: false,
+ status: "😢 Něco se pokazilo při nahrávání vašeho tokenURI.",
+ }
+ }
+ const tokenURI = pinataResponse.pinataUrl
+
+ //načíst chytrý kontrakt
+ window.contract = await new web3.eth.Contract(contractABI, contractAddress) //loadContract();
+
+ //nastavte si svou transakci Ethereum
+ const transactionParameters = {
+ to: contractAddress, // Povinné s výjimkou zveřejnění kontraktu.
+ from: window.ethereum.selectedAddress, // musí odpovídat aktivní adrese uživatele.
+ data: window.contract.methods
+ .mintNFT(window.ethereum.selectedAddress, tokenURI)
+ .encodeABI(), //provést volání chytrého kontraktu NFT
+ }
+
+ //podepsat transakci přes MetaMask
+ try {
+ const txHash = await window.ethereum.request({
+ method: "eth_sendTransaction",
+ params: [transactionParameters],
+ })
+ return {
+ success: true,
+ status:
+ "✅ Podívejte se na svou transakci na Etherscanu: https://ropsten.etherscan.io/tx/" +
+ txHash,
+ }
+ } catch (error) {
+ return {
+ success: false,
+ status: "😥 Něco se pokazilo: " + error.message,
+ }
+ }
+}
+```
+
+To je jedna obrovská funkce! Nyní už jen stačí připojit naši funkci `mintNFT` k naší komponentě `Minter.js`...
+
+## Připojte mintNFT k našemu frontendu Minter.js {#connect-our-frontend}
+
+Otevřete svůj soubor `Minter.js` a aktualizujte řádek `import { connectWallet, getCurrentWalletConnected } from \"./utils/interact.js\";` na začátku na:
+
+```javascript
+import {
+ connectWallet,
+ getCurrentWalletConnected,
+ mintNFT,
+} from "./utils/interact.js"
+```
+
+Nakonec implementujte funkci `onMintPressed`, abyste provedli await volání na vaši importovanou funkci `mintNFT` a aktualizovali stavovou proměnnou `status` tak, aby odrážela, zda naše transakce uspěla nebo selhala:
+
+```javascript
+const onMintPressed = async () => {
+ const { status } = await mintNFT(url, name, description)
+ setStatus(status)
+}
+```
+
+## Nasaďte své NFT na živou webovou stránku {#deploy-your-NFT}
+
+Jste připraveni uvést svůj projekt do provozu, aby s ním uživatelé mohli interagovat? Podívejte se na [tento návod](https://docs.alchemy.com/alchemy/tutorials/nft-minter/how-do-i-deploy-nfts-online) pro nasazení vašeho Minteru na živou webovou stránku.
+
+Ještě poslední krok...
+
+## Dobijte svět blockchainu {#take-the-blockchain-world-by-storm}
+
+Děláme si legraci, dostali jste se až na konec návodu!
+
+Abychom to shrnuli, vytvořením minteru NFT jste se úspěšně naučili, jak:
+
+- Připojit se k MetaMasku prostřednictvím vašeho frontendového projektu
+- Volat metody chytrého kontraktu z vašeho frontendu
+- Podepisovat transakce pomocí MetaMasku
+
+Pravděpodobně se budete chtít pochlubit NFT vyraženými prostřednictvím vaší dapp ve své peněžence – proto se určitě podívejte na náš rychlý návod [Jak si zobrazit NFT ve vaší peněžence](https://www.alchemy.com/docs/how-to-view-your-nft-in-your-mobile-wallet)!
+
+A jako vždy, pokud máte nějaké dotazy, jsme tu, abychom vám pomohli na [Alchemy Discordu](https://discord.gg/gWuC7zB). Nemůžeme se dočkat, až uvidíme, jak koncepty z tohoto návodu uplatníte ve svých budoucích projektech!
diff --git a/public/content/translations/cs/developers/tutorials/optimism-std-bridge-annotated-code/index.md b/public/content/translations/cs/developers/tutorials/optimism-std-bridge-annotated-code/index.md
new file mode 100644
index 00000000000..75306dbbe12
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/optimism-std-bridge-annotated-code/index.md
@@ -0,0 +1,1356 @@
+---
+title: "Procházení kontraktu standardního přemostění Optimism"
+description: Jak funguje standardní přemostění pro Optimism? Proč to funguje zrovna takhle?
+author: Ori Pomerantz
+tags: [ "solidity", "přemostění", "vrstva 2" ]
+skill: intermediate
+published: 2022-03-30
+lang: cs
+---
+
+[Optimism](https://www.optimism.io/) je [optimistický rollup](/developers/docs/scaling/optimistic-rollups/).
+Optimistické rollupy mohou zpracovávat transakce za mnohem nižší cenu než hlavní síť Ethereum (také známá jako první vrstva nebo L1), protože transakce zpracovává jen několik uzlů, nikoli každý uzel v síti.
+Všechna data jsou přitom zapsána na L1, takže vše lze prokázat a rekonstruovat se všemi zárukami integrity a dostupnosti hlavní sítě.
+
+Aby bylo možné používat aktiva z L1 v síti Optimism (nebo v jakékoli jiné L2), je třeba je [přemostit](/bridges/#prerequisites).
+Jedním ze způsobů, jak toho dosáhnout, je, že uživatelé uzamknou aktiva (nejčastěji se jedná o ETH a [tokeny ERC-20](/developers/docs/standards/tokens/erc-20/)) na L1 a obdrží ekvivalentní aktiva k použití na L2.
+Nakonec je může chtít ten, kdo je získá, přemostit zpět na L1.
+Přitom se aktiva na L2 spálí a poté se na L1 uvolní zpět uživateli.
+
+Takto funguje [standardní přemostění Optimism](https://docs.optimism.io/app-developers/bridging/standard-bridge).
+V tomto článku si projdeme zdrojový kód tohoto přemostění, abychom viděli, jak funguje, a prostudujeme si jej jako příklad dobře napsaného kódu v Solidity.
+
+## Kontrolní toky {#control-flows}
+
+Přemostění má dva hlavní toky:
+
+- Vklad (z L1 na L2)
+- Výběr (z L2 na L1)
+
+### Tok vkladů {#deposit-flow}
+
+#### Vrstva 1 {#deposit-flow-layer-1}
+
+1. Při vkladu tokenu ERC-20 udělí vkladatel přemostění povolení k útratě vkládané částky.
+2. Vkladatel zavolá přemostění na L1 (`depositERC20`, `depositERC20To`, `depositETH` nebo `depositETHTo`).
+3. Přemostění na L1 převezme přemostěné aktivum.
+ - ETH: Aktivum je převedeno vkladatelem jako součást volání.
+ - ERC-20: Aktivum je přemostěním převedeno samo sobě pomocí povolení poskytnutého vkladatelem.
+4. Přemostění na L1 použije mezidoménový mechanismus zpráv k zavolání `finalizeDeposit` na přemostění na L2.
+
+#### Vrstva 2 {#deposit-flow-layer-2}
+
+5. Přemostění na L2 ověří, že volání `finalizeDeposit` je legitimní:
+ - Pochází z mezidoménového kontraktu zpráv.
+ - Původně pocházelo z přemostění na L1.
+6. Přemostění na L2 zkontroluje, zda je kontrakt tokenu ERC-20 na L2 správný:
+ - Kontrakt na L2 hlásí, že jeho protějšek na L1 je stejný jako ten, ze kterého tokeny na L1 pocházejí.
+ - Kontrakt na L2 hlásí, že podporuje správné rozhraní ([pomocí ERC-165](https://eips.ethereum.org/EIPS/eip-165)).
+7. Pokud je kontrakt L2 správný, zavolejte jej, aby vyrazil příslušný počet tokenů na příslušnou adresu. Pokud ne, zahajte proces výběru, který uživateli umožní nárokovat tokeny na L1.
+
+### Tok výběrů {#withdrawal-flow}
+
+#### Vrstva 2 {#withdrawal-flow-layer-2}
+
+1. Vybírající zavolá přemostění L2 (`withdraw` nebo `withdrawTo`).
+2. Přemostění L2 spálí příslušný počet tokenů patřících `msg.sender`.
+3. Přemostění L2 použije mezidoménový mechanismus zpráv k zavolání `finalizeETHWithdrawal` nebo `finalizeERC20Withdrawal` na přemostění na L1.
+
+#### Vrstva 1 {#withdrawal-flow-layer-1}
+
+4. Přemostění na L1 ověří, že volání `finalizeETHWithdrawal` nebo `finalizeERC20Withdrawal` je legitimní:
+ - Pochází z mezidoménového mechanismu zpráv.
+ - Původně pocházelo z přemostění na L2.
+5. Přemostění na L1 převede příslušné aktivum (ETH nebo ERC-20) na příslušnou adresu.
+
+## Kód na vrstvě 1 {#layer-1-code}
+
+Toto je kód, který běží na L1, tedy hlavní síti Etherea.
+
+### IL1ERC20Bridge {#IL1ERC20Bridge}
+
+[Toto rozhraní je definováno zde](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/L1/messaging/IL1ERC20Bridge.sol).
+Obsahuje funkce a definice potřebné pro přemostění tokenů ERC-20.
+
+```solidity
+// SPDX-License-Identifier: MIT
+```
+
+[Většina kódu Optimism je vydána pod licencí MIT](https://help.optimism.io/hc/en-us/articles/4411908707995-What-software-license-does-Optimism-use-).
+
+```solidity
+pragma solidity >0.5.0 <0.9.0;
+```
+
+V době psaní je poslední verze Solidity 0.8.12.
+Dokud nebude vydána verze 0.9.0, nevíme, zda s ní tento kód bude kompatibilní.
+
+```solidity
+/**
+ * @title IL1ERC20Bridge
+ */
+interface IL1ERC20Bridge {
+ /**********
+ * Události *
+ **********/
+
+ event ERC20DepositInitiated(
+```
+
+V terminologii přemostění Optimism znamená _vklad_ převod z L1 na L2 a _výběr_ převod z L2 na L1.
+
+```solidity
+ address indexed _l1Token,
+ address indexed _l2Token,
+```
+
+Ve většině případů se adresa ERC-20 na L1 nerovná adrese ekvivalentního ERC-20 na L2.
+[Seznam adres tokenů naleznete zde](https://static.optimism.io/optimism.tokenlist.json).
+Adresa s `chainId` 1 je na L1 (hlavní síť) a adresa s `chainId` 10 je na L2 (Optimism).
+Další dvě hodnoty `chainId` jsou pro testovací síť Kovan (42) a testovací síť Optimistic Kovan (69).
+
+```solidity
+ address indexed _from,
+ address _to,
+ uint256 _amount,
+ bytes _data
+ );
+```
+
+K převodům je možné přidávat poznámky, které se v takovém případě přidají k událostem, jež je hlásí.
+
+```solidity
+ event ERC20WithdrawalFinalized(
+ address indexed _l1Token,
+ address indexed _l2Token,
+ address indexed _from,
+ address _to,
+ uint256 _amount,
+ bytes _data
+ );
+```
+
+Stejný kontrakt přemostění zpracovává převody v obou směrech.
+V případě přemostění L1 to znamená inicializaci vkladů a finalizaci výběrů.
+
+```solidity
+
+ /********************
+ * Veřejné funkce *
+ ********************/
+
+ /**
+ * @dev získá adresu odpovídajícího kontraktu přemostění na L2.
+ * @return Adresa odpovídajícího kontraktu přemostění na L2.
+ */
+ function l2TokenBridge() external returns (address);
+```
+
+Tato funkce není ve skutečnosti potřeba, protože na L2 se jedná o předem nasazený kontrakt, takže se vždy nachází na adrese `0x4200000000000000000000000000000000000010`.
+Je zde z důvodu symetrie s přemostěním L2, protože adresa přemostění L1 _není_ triviálně zjistitelná.
+
+```solidity
+ /**
+ * @dev vloží částku ERC20 na zůstatek volajícího na L2.
+ * @param _l1Token Adresa ERC20 na L1, který vkládáme.
+ * @param _l2Token Adresa příslušného ERC20 na L2.
+ * @param _amount Částka ERC20 k vložení.
+ * @param _l2Gas Limit transakčních poplatků potřebný k dokončení vkladu na L2.
+ * @param _data Volitelná data k předání na L2. Tato data jsou poskytována
+ * pouze pro pohodlí externích kontraktů. Kromě vynucení maximální
+ * délky tyto kontrakty neposkytují žádné záruky ohledně jejich obsahu.
+ */
+ function depositERC20(
+ address _l1Token,
+ address _l2Token,
+ uint256 _amount,
+ uint32 _l2Gas,
+ bytes calldata _data
+ ) external;
+```
+
+Parametr `_l2Gas` je množství transakčního poplatku na L2, které může transakce utratit.
+[Až do určitého (vysokého) limitu je to zdarma](https://community.optimism.io/docs/developers/bridge/messaging/#for-l1-%E2%87%92-l2-transactions-2), takže pokud kontrakt ERC-20 nedělá při ražbě něco opravdu zvláštního, neměl by to být problém.
+Tato funkce se stará o běžný scénář, kdy uživatel přemosťuje aktiva na stejnou adresu na jiném blockchainu.
+
+```solidity
+ /**
+ * @dev vloží částku ERC20 na zůstatek příjemce na L2.
+ * @param _l1Token Adresa ERC20 na L1, který vkládáme.
+ * @param _l2Token Adresa příslušného ERC20 na L2.
+ * @param _to Adresa na L2, na kterou se připíše výběr.
+ * @param _amount Částka ERC20 k vložení.
+ * @param _l2Gas Limit transakčních poplatků potřebný k dokončení vkladu na L2.
+ * @param _data Volitelná data k předání na L2. Tato data jsou poskytována
+ * pouze pro pohodlí externích kontraktů. Kromě vynucení maximální
+ * délky tyto kontrakty neposkytují žádné záruky ohledně jejich obsahu.
+ */
+ function depositERC20To(
+ address _l1Token,
+ address _l2Token,
+ address _to,
+ uint256 _amount,
+ uint32 _l2Gas,
+ bytes calldata _data
+ ) external;
+```
+
+Tato funkce je téměř identická s `depositERC20`, ale umožňuje poslat ERC-20 na jinou adresu.
+
+```solidity
+} /*************************
+ * Meziřetězcové funkce *
+ *************************/
+
+ /**
+ * @dev Dokončí výběr z L2 na L1 a připíše prostředky na zůstatek příjemce
+ * tokenu ERC20 na L1.
+ * Toto volání selže, pokud inicializovaný výběr z L2 nebyl finalizován.
+ *
+ * @param _l1Token Adresa tokenu na L1, pro který se má dokončit výběr.
+ * @param _l2Token Adresa tokenu na L2, kde byl výběr iniciován.
+ * @param _from Adresa na L2, která iniciuje převod.
+ * @param _to Adresa na L1, na kterou se má výběr připsat.
+ * @param _amount Částka ERC20 k vložení.
+ * @param _data Data poskytnutá odesílatelem na L2. Tato data jsou poskytována
+ * pouze pro pohodlí externích kontraktů. Kromě vynucení maximální
+ * délky tyto kontrakty neposkytují žádné záruky ohledně jejich obsahu.
+ */
+ function finalizeERC20Withdrawal(
+ address _l1Token,
+ address _l2Token,
+ address _from,
+ address _to,
+ uint256 _amount,
+ bytes calldata _data
+ ) external;
+}
+```
+
+Výběry (a další zprávy z L2 do L1) v Optimism jsou dvoukrokový proces:
+
+1. Iniciační transakce na L2.
+2. Finalizační nebo nárokovací transakce na L1.
+ Tato transakce se musí uskutečnit po skončení [období pro napadení chyb](https://community.optimism.io/docs/how-optimism-works/#fault-proofs) pro transakci na L2.
+
+### IL1StandardBridge {#il1standardbridge}
+
+[Toto rozhraní je definováno zde](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/L1/messaging/IL1StandardBridge.sol).
+Tento soubor obsahuje definice událostí a funkcí pro ETH.
+Tyto definice jsou velmi podobné těm, které jsou definovány v `IL1ERC20Bridge` výše pro ERC-20.
+
+Rozhraní přemostění je rozděleno do dvou souborů, protože některé tokeny ERC-20 vyžadují vlastní zpracování a standardní přemostění je nemůže zpracovat.
+Tímto způsobem může vlastní přemostění, které takový token zpracovává, implementovat `IL1ERC20Bridge` a nemusí přemosťovat také ETH.
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity >0.5.0 <0.9.0;
+
+import "./IL1ERC20Bridge.sol";
+
+/**
+ * @title IL1StandardBridge
+ */
+interface IL1StandardBridge is IL1ERC20Bridge {
+ /**********
+ * Události *
+ **********/
+ event ETHDepositInitiated(
+ address indexed _from,
+ address indexed _to,
+ uint256 _amount,
+ bytes _data
+ );
+```
+
+Tato událost je téměř totožná s verzí ERC-20 (`ERC20DepositInitiated`), pouze bez adres tokenů L1 a L2.
+Totéž platí pro ostatní události a funkce.
+
+```solidity
+ event ETHWithdrawalFinalized(
+ .
+ .
+ .
+ );
+
+ /********************
+ * Veřejné funkce *
+ ********************/
+
+ /**
+ * @dev Vloží částku ETH na zůstatek volajícího na L2.
+ .
+ .
+ .
+ */
+ function depositETH(uint32 _l2Gas, bytes calldata _data) external payable;
+
+ /**
+ * @dev Vloží částku ETH na zůstatek příjemce na L2.
+ .
+ .
+ .
+ */
+ function depositETHTo(
+ address _to,
+ uint32 _l2Gas,
+ bytes calldata _data
+ ) external payable;
+
+ /*************************
+ * Meziřetězcové funkce *
+ *************************/
+
+ /**
+ * @dev Dokončí výběr z L2 na L1 a připíše prostředky na zůstatek příjemce
+ * tokenu ETH na L1. Protože tuto funkci může volat pouze xDomainMessenger, nebude nikdy volána
+ * před dokončením výběru.
+ .
+ .
+ .
+ */
+ function finalizeETHWithdrawal(
+ address _from,
+ address _to,
+ uint256 _amount,
+ bytes calldata _data
+ ) external;
+}
+```
+
+### CrossDomainEnabled {#crossdomainenabled}
+
+[Tento kontrakt](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/libraries/bridge/CrossDomainEnabled.sol) je zděděn oběma přemostěními ([L1](#the-l1-bridge-contract) a [L2](#the-l2-bridge-contract)) pro posílání zpráv na druhou vrstvu.
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity >0.5.0 <0.9.0;
+
+/* Importy rozhraní */
+import { ICrossDomainMessenger } from "./ICrossDomainMessenger.sol";
+```
+
+[Toto rozhraní](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/libraries/bridge/ICrossDomainMessenger.sol) říká kontraktu, jak posílat zprávy na druhou vrstvu pomocí mezidoménového posílače zpráv.
+Tento mezidoménový posílač zpráv je zcela jiný systém a zaslouží si vlastní článek, který, doufám, v budoucnu napíšu.
+
+```solidity
+/**
+ * @title CrossDomainEnabled
+ * @dev Pomocný kontrakt pro kontrakty provádějící mezidoménovou komunikaci
+ *
+ * Použitý kompilátor: definován dědícím kontraktem
+ */
+contract CrossDomainEnabled {
+ /*************
+ * Proměnné *
+ *************/
+
+ // Kontrakt Messengeru použitý k odesílání a přijímání zpráv z druhé domény.
+ address public messenger;
+
+ /***************
+ * Konstruktor *
+ ***************/
+
+ /**
+ * @param _messenger Adresa CrossDomainMessenger na aktuální vrstvě.
+ */
+ constructor(address _messenger) {
+ messenger = _messenger;
+ }
+```
+
+Jediný parametr, který kontrakt potřebuje znát, je adresa mezidoménového posílače zpráv na této vrstvě.
+Tento parametr je nastaven jednou, v konstruktoru, a nikdy se nemění.
+
+```solidity
+
+ /**********************
+ * Modifikátory funkcí *
+ **********************/
+
+ /**
+ * Vynucuje, aby upravená funkce byla volána pouze z konkrétního mezidoménového účtu.
+ * @param _sourceDomainAccount Jediný účet na původní doméně, který je
+ * oprávněn tuto funkci volat.
+ */
+ modifier onlyFromCrossDomainAccount(address _sourceDomainAccount) {
+```
+
+Mezidoménové zasílání zpráv je dostupné jakémukoli kontraktu na blockchainu, kde běží (buď na hlavní síti Etherea, nebo Optimism).
+Potřebujeme ale, aby přemostění na každé straně důvěřovalo _pouze_ určitým zprávám, pokud pocházejí z přemostění na druhé straně.
+
+```solidity
+ require(
+ msg.sender == address(getCrossDomainMessenger()),
+ "OVM_XCHAIN: kontrakt posílače zpráv není ověřený"
+ );
+```
+
+Důvěřovat lze pouze zprávám z příslušného mezidoménového posílače zpráv (`messenger`, jak uvidíte níže).
+
+```solidity
+
+ require(
+ getCrossDomainMessenger().xDomainMessageSender() == _sourceDomainAccount,
+ "OVM_XCHAIN: nesprávný odesílatel mezidoménové zprávy"
+ );
+```
+
+Způsob, jakým mezidoménový posílač zpráv poskytuje adresu, která odeslala zprávu z druhé vrstvy, je [funkce `.xDomainMessageSender()`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/L1/messaging/L1CrossDomainMessenger.sol#L122-L128).
+Pokud je volána v transakci, která byla zprávou iniciována, může tyto informace poskytnout.
+
+Musíme se ujistit, že zpráva, kterou jsme obdrželi, pochází z druhého přemostění.
+
+```solidity
+
+ _;
+ }
+
+ /**********************
+ * Interní funkce *
+ **********************/
+
+ /**
+ * Získá posílače zpráv, obvykle z úložiště. Tato funkce je vystavena pro případ, že by ji
+ * dětský kontrakt potřeboval přepsat.
+ * @return Adresa kontraktu mezidoménového posílače zpráv, který by se měl použít.
+ */
+ function getCrossDomainMessenger() internal virtual returns (ICrossDomainMessenger) {
+ return ICrossDomainMessenger(messenger);
+ }
+```
+
+Tato funkce vrací mezidoménového posílače zpráv.
+Používáme funkci spíše než proměnnou `messenger`, aby kontrakty, které z ní dědí, mohly použít algoritmus k určení, který mezidoménový posílač zpráv použít.
+
+```solidity
+
+ /**
+ * Odešle zprávu účtu v jiné doméně.
+ * @param _crossDomainTarget Zamýšlený příjemce v cílové doméně.
+ * @param _message Data k odeslání cíli (obvykle calldata pro funkci s
+ * `onlyFromCrossDomainAccount()`)
+ * @param _gasLimit Limit transakčních poplatků pro příjem zprávy v cílové doméně.
+ */
+ function sendCrossDomainMessage(
+ address _crossDomainTarget,
+ uint32 _gasLimit,
+ bytes memory _message
+```
+
+A nakonec funkce, která posílá zprávu na druhou vrstvu.
+
+```solidity
+ ) internal {
+ // slither-disable-next-line reentrancy-events, reentrancy-benign
+```
+
+[Slither](https://github.com/crytic/slither) je statický analyzátor, který Optimism spouští na každém kontraktu, aby hledal zranitelnosti a další potenciální problémy.
+V tomto případě následující řádek spouští dvě zranitelnosti:
+
+1. [Události opětovného vstupu (reentrancy)](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3)
+2. [Nezávažné opětovné vstupy (reentrancy)](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2)
+
+```solidity
+ getCrossDomainMessenger().sendMessage(_crossDomainTarget, _message, _gasLimit);
+ }
+}
+```
+
+V tomto případě se o opětovné vstupy (reentrancy) nestaráme, protože víme, že `getCrossDomainMessenger()` vrací důvěryhodnou adresu, i když Slither to nemá jak vědět.
+
+### Kontrakt přemostění L1 {#the-l1-bridge-contract}
+
+[Zdrojový kód tohoto kontraktu je zde](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/L1/messaging/L1StandardBridge.sol).
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.9;
+```
+
+Rozhraní mohou být součástí jiných kontraktů, takže musí podporovat širokou škálu verzí Solidity.
+Ale samotné přemostění je náš kontrakt a můžeme být přísní ohledně toho, jakou verzi Solidity používá.
+
+```solidity
+/* Importy rozhraní */
+import { IL1StandardBridge } from "./IL1StandardBridge.sol";
+import { IL1ERC20Bridge } from "./IL1ERC20Bridge.sol";
+```
+
+[IL1ERC20Bridge](#IL1ERC20Bridge) a [IL1StandardBridge](#IL1StandardBridge) jsou vysvětleny výše.
+
+```solidity
+import { IL2ERC20Bridge } from "../../L2/messaging/IL2ERC20Bridge.sol";
+```
+
+[Toto rozhraní](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/L2/messaging/IL2ERC20Bridge.sol) nám umožňuje vytvářet zprávy pro ovládání standardního přemostění na L2.
+
+```solidity
+import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
+```
+
+[Toto rozhraní](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol) nám umožňuje ovládat kontrakty ERC-20.
+[Více si o tom můžete přečíst zde](/developers/tutorials/erc20-annotated-code/#the-interface).
+
+```solidity
+/* Importy knihoven */
+import { CrossDomainEnabled } from "../../libraries/bridge/CrossDomainEnabled.sol";
+```
+
+[Jak je vysvětleno výše](#crossdomainenabled), tento kontrakt se používá pro mezivrstvové zasílání zpráv.
+
+```solidity
+import { Lib_PredeployAddresses } from "../../libraries/constants/Lib_PredeployAddresses.sol";
+```
+
+`Lib_PredeployAddresses` (https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/libraries/constants/Lib_PredeployAddresses.sol) má adresy kontraktů L2, které mají vždy stejnou adresu. To zahrnuje standardní přemostění na L2.
+
+```solidity
+import { Address } from "@openzeppelin/contracts/utils/Address.sol";
+```
+
+[Nástroje pro adresy OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Address.sol). Používá se k rozlišení mezi adresami kontraktů a adresami patřícími externě vlastněným účtům (EOA).
+
+Všimněte si, že se nejedná o dokonalé řešení, protože neexistuje způsob, jak rozlišit mezi přímými voláními a voláními provedenými z konstruktoru kontraktu, ale alespoň nám to umožňuje identifikovat a zabránit některým běžným chybám uživatelů.
+
+```solidity
+import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
+```
+
+[Standard ERC-20](https://eips.ethereum.org/EIPS/eip-20) podporuje dva způsoby, jak může kontrakt nahlásit selhání:
+
+1. Zpětné vrácení (revert)
+2. Vrátit `false`
+
+Zpracování obou případů by náš kód zkomplikovalo, takže místo toho používáme [`SafeERC20` od OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/utils/SafeERC20.sol), který zajišťuje, že [všechna selhání vedou k zpětnému vrácení (revert)](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/utils/SafeERC20.sol#L96).
+
+```solidity
+/**
+ * @title L1StandardBridge
+ * @dev Přemostění L1 pro ETH a ERC20 je kontrakt, který ukládá vložené prostředky z L1 a standardní
+ * tokeny, které se používají na L2. Synchronizuje odpovídající přemostění L2, informuje ho o vkladech
+ * a naslouchá mu pro nově finalizované výběry.
+ *
+ */
+contract L1StandardBridge is IL1StandardBridge, CrossDomainEnabled {
+ using SafeERC20 for IERC20;
+```
+
+Tento řádek určuje, že se má použít obal `SafeERC20` pokaždé, když použijeme rozhraní `IERC20`.
+
+```solidity
+
+ /********************************
+ * Reference na externí kontrakty *
+ ********************************/
+
+ address public l2TokenBridge;
+```
+
+Adresa [L2StandardBridge](#the-l2-bridge-contract).
+
+```solidity
+
+ // Mapuje token L1 na token L2 k zůstatku vloženého tokenu L1
+ mapping(address => mapping(address => uint256)) public deposits;
+```
+
+Dvojité [mapování](https://www.tutorialspoint.com/solidity/solidity_mappings.htm) jako je toto, je způsob, jak definovat [dvojrozměrné řídké pole](https://en.wikipedia.org/wiki/Sparse_matrix).
+Hodnoty v této datové struktuře jsou identifikovány jako `deposit[adresa tokenu L1][adresa tokenu L2]`.
+Výchozí hodnota je nula.
+Do úložiště jsou zapsány pouze buňky, které jsou nastaveny na jinou hodnotu.
+
+```solidity
+
+ /***************
+ * Konstruktor *
+ ***************/
+
+ // Tento kontrakt se nachází za proxy, takže parametry konstruktoru nebudou použity.
+ constructor() CrossDomainEnabled(address(0)) {}
+```
+
+Chceme mít možnost upgradovat tento kontrakt bez nutnosti kopírovat všechny proměnné v úložišti.
+K tomu používáme [`Proxy`](https://docs.openzeppelin.com/contracts/3.x/api/proxy), kontrakt, který používá [`delegatecall`](https://solidity-by-example.org/delegatecall/) k přenosu volání na samostatný kontrakt, jehož adresa je uložena v proxy kontraktu (při upgradu řeknete proxy, aby změnila tuto adresu).
+Při použití `delegatecall` zůstává úložiště úložištěm _volajícího_ kontraktu, takže hodnoty všech proměnných stavu kontraktu zůstávají nedotčeny.
+
+Jedním z důsledků tohoto vzoru je, že úložiště kontraktu, který je _volaný_ pomocí `delegatecall`, se nepoužívá, a proto hodnoty konstruktoru, které mu jsou předány, nejsou důležité.
+To je důvod, proč můžeme konstruktoru `CrossDomainEnabled` poskytnout nesmyslnou hodnotu.
+Je to také důvod, proč je níže uvedená inicializace oddělena od konstruktoru.
+
+```solidity
+ /******************
+ * Inicializace *
+ ******************/
+
+ /**
+ * @param _l1messenger Adresa L1 Messengeru používaná pro meziřetězcovou komunikaci.
+ * @param _l2TokenBridge Adresa standardního přemostění na L2.
+ */
+ // slither-disable-next-line external-function
+```
+
+Tento [test Slither](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external) identifikuje funkce, které nejsou volány z kódu kontraktu a mohly by být proto deklarovány jako `external` místo `public`.
+Náklady na transakční poplatky u funkcí `external` mohou být nižší, protože jim mohou být parametry poskytnuty v calldata.
+Funkce deklarované jako `public` musí být přístupné zevnitř kontraktu.
+Kontrakty nemohou měnit svá vlastní calldata, takže parametry musí být v paměti.
+Když je taková funkce volána externě, je nutné zkopírovat calldata do paměti, což stojí transakční poplatky.
+V tomto případě je funkce volána pouze jednou, takže neefektivita pro nás není důležitá.
+
+```solidity
+ function initialize(address _l1messenger, address _l2TokenBridge) public {
+ require(messenger == address(0), "Kontrakt již byl inicializován.");
+```
+
+Funkce `initialize` by měla být volána pouze jednou.
+Pokud se adresa mezidoménového posílače zpráv na L1 nebo přemostění tokenu na L2 změní, vytvoříme nové proxy a nové přemostění, které ho volá.
+Je nepravděpodobné, že by k tomu došlo, s výjimkou upgradu celého systému, což je velmi vzácná událost.
+
+Všimněte si, že tato funkce nemá žádný mechanismus, který by omezoval, _kdo_ ji může volat.
+To znamená, že teoreticky by útočník mohl počkat, až nasadíme proxy a první verzi přemostění, a poté provést [front-running](https://solidity-by-example.org/hacks/front-running/) a dostat se k funkci `initialize` dříve, než to udělá legitimní uživatel. Existují však dvě metody, jak tomu zabránit:
+
+1. Pokud kontrakty nejsou nasazeny přímo pomocí EOA, ale [v transakci, která nechá vytvořit jiný kontrakt](https://medium.com/upstate-interactive/creating-a-contract-with-a-smart-contract-bdb67c5c8595), celý proces může být atomický a dokončen dříve, než je provedena jakákoli jiná transakce.
+2. Pokud legitimní volání `initialize` selže, je vždy možné ignorovat nově vytvořené proxy a přemostění a vytvořit nové.
+
+```solidity
+ messenger = _l1messenger;
+ l2TokenBridge = _l2TokenBridge;
+ }
+```
+
+Toto jsou dva parametry, které přemostění potřebuje znát.
+
+```solidity
+
+ /**************
+ * Vkládání *
+ **************/
+
+ /** @dev Modifikátor vyžadující, aby odesílatel byl EOA. Toto ověření by mohl obejít zákeřný
+ * kontrakt pomocí initcode, ale řeší to chybu uživatele, které se chceme vyhnout.
+ */
+ modifier onlyEOA() {
+ // Používá se k zastavení vkladů z kontraktů (zabraňuje náhodné ztrátě tokenů)
+ require(!Address.isContract(msg.sender), "Účet není EOA");
+ _;
+ }
+```
+
+To je důvod, proč jsme potřebovali nástroje `Address` od OpenZeppelin.
+
+```solidity
+ /**
+ * @dev Tuto funkci lze volat bez dat
+ * pro vložení částky ETH na zůstatek volajícího na L2.
+ * Protože funkce receive nepřijímá data, konzervativní
+ * výchozí částka se předává na L2.
+ */
+ receive() external payable onlyEOA {
+ _initiateETHDeposit(msg.sender, msg.sender, 200_000, bytes(""));
+ }
+```
+
+Tato funkce existuje pro testovací účely.
+Všimněte si, že se neobjevuje v definicích rozhraní – není určena pro běžné použití.
+
+```solidity
+ /**
+ * @inheritdoc IL1StandardBridge
+ */
+ function depositETH(uint32 _l2Gas, bytes calldata _data) external payable onlyEOA {
+ _initiateETHDeposit(msg.sender, msg.sender, _l2Gas, _data);
+ }
+
+ /**
+ * @inheritdoc IL1StandardBridge
+ */
+ function depositETHTo(
+ address _to,
+ uint32 _l2Gas,
+ bytes calldata _data
+ ) external payable {
+ _initiateETHDeposit(msg.sender, _to, _l2Gas, _data);
+ }
+```
+
+Tyto dvě funkce jsou obaly kolem `_initiateETHDeposit`, funkce, která zpracovává skutečný vklad ETH.
+
+```solidity
+ /**
+ * @dev Provádí logiku pro vklady uložením ETH a informováním L2 ETH Gateway o
+ * vkladu.
+ * @param _from Účet, ze kterého se má vklad na L1 stáhnout.
+ * @param _to Účet, na který se má vklad na L2 připsat.
+ * @param _l2Gas Limit transakčních poplatků potřebný k dokončení vkladu na L2.
+ * @param _data Volitelná data k předání na L2. Tato data jsou poskytována
+ * pouze pro pohodlí externích kontraktů. Kromě vynucení maximální
+ * délky tyto kontrakty neposkytují žádné záruky ohledně jejich obsahu.
+ */
+ function _initiateETHDeposit(
+ address _from,
+ address _to,
+ uint32 _l2Gas,
+ bytes memory _data
+ ) internal {
+ // Sestavení calldata pro volání finalizeDeposit
+ bytes memory message = abi.encodeWithSelector(
+```
+
+Způsob, jakým fungují mezidoménové zprávy, je ten, že cílový kontrakt je volán se zprávou jako jeho calldata.
+Kontrakty v Solidity vždy interpretují svá calldata v souladu s
+[specifikacemi ABI](https://docs.soliditylang.org/en/v0.8.12/abi-spec.html).
+Funkce Solidity [`abi.encodeWithSelector`](https://docs.soliditylang.org/en/v0.8.12/units-and-global-variables.html#abi-encoding-and-decoding-functions) vytváří tato calldata.
+
+```solidity
+ IL2ERC20Bridge.finalizeDeposit.selector,
+ address(0),
+ Lib_PredeployAddresses.OVM_ETH,
+ _from,
+ _to,
+ msg.value,
+ _data
+ );
+```
+
+Zpráva zde znamená volání [funkce `finalizeDeposit`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/L2/messaging/L2StandardBridge.sol#L141-L148) s těmito parametry:
+
+| Parametr | Hodnota | Význam |
+| ------------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| \_l1Token | address(0) | Speciální hodnota, která na L1 představuje ETH (který není tokenem ERC-20). |
+| \_l2Token | Lib_PredeployAddresses.OVM_ETH | Kontrakt na L2, který spravuje ETH v síti Optimism, `0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000` (tento kontrakt je určen pouze pro interní použití v síti Optimism). |
+| \_from | \_from | Adresa na L1, která odesílá ETH. |
+| \_to | \_to | Adresa na L2, která přijímá ETH. |
+| částka | msg.value | Odeslaná částka ve wei (která již byla odeslána do přemostění). |
+| \_data | \_data | Další data, která se připojí k vkladu. |
+
+```solidity
+ // Odeslání calldata na L2
+ // slither-disable-next-line reentrancy-events
+ sendCrossDomainMessage(l2TokenBridge, _l2Gas, message);
+```
+
+Odeslání zprávy prostřednictvím mezidoménového posílače zpráv.
+
+```solidity
+ // slither-disable-next-line reentrancy-events
+ emit ETHDepositInitiated(_from, _to, msg.value, _data);
+ }
+```
+
+Vyslat událost, aby se o tomto převodu informovala jakákoli decentralizovaná aplikace, která naslouchá.
+
+```solidity
+ /**
+ * @inheritdoc IL1ERC20Bridge
+ */
+ function depositERC20(
+ .
+ .
+ .
+ ) external virtual onlyEOA {
+ _initiateERC20Deposit(_l1Token, _l2Token, msg.sender, msg.sender, _amount, _l2Gas, _data);
+ }
+
+ /**
+ * @inheritdoc IL1ERC20Bridge
+ */
+ function depositERC20To(
+ .
+ .
+ .
+ ) external virtual {
+ _initiateERC20Deposit(_l1Token, _l2Token, msg.sender, _to, _amount, _l2Gas, _data);
+ }
+```
+
+Tyto dvě funkce jsou obaly kolem `_initiateERC20Deposit`, funkce, která zpracovává skutečný vklad ERC-20.
+
+```solidity
+ /**
+ * @dev Provádí logiku pro vklady informováním kontraktu L2 Deposited Token
+ * o vkladu a voláním handleru pro uzamčení prostředků L1. (např. transferFrom)
+ *
+ * @param _l1Token Adresa ERC20 na L1, který vkládáme.
+ * @param _l2Token Adresa příslušného ERC20 na L2.
+ * @param _from Účet, ze kterého se má vklad na L1 stáhnout.
+ * @param _to Účet, na který se má vklad na L2 připsat.
+ * @param _amount Částka ERC20 k vložení.
+ * @param _l2Gas Limit transakčních poplatků potřebný k dokončení vkladu na L2.
+ * @param _data Volitelná data k předání na L2. Tato data jsou poskytována
+ * pouze pro pohodlí externích kontraktů. Kromě vynucení maximální
+ * délky tyto kontrakty neposkytují žádné záruky ohledně jejich obsahu.
+ */
+ function _initiateERC20Deposit(
+ address _l1Token,
+ address _l2Token,
+ address _from,
+ address _to,
+ uint256 _amount,
+ uint32 _l2Gas,
+ bytes calldata _data
+ ) internal {
+```
+
+Tato funkce je podobná výše uvedené funkci `_initiateETHDeposit`, s několika důležitými rozdíly.
+Prvním rozdílem je, že tato funkce přijímá adresy tokenů a částku k převodu jako parametry.
+V případě ETH volání přemostění již zahrnuje převod aktiv na účet přemostění (`msg.value`).
+
+```solidity
+ // Když je vklad iniciován na L1, přemostění L1 převede prostředky na sebe pro budoucí
+ // výběry. safeTransferFrom také kontroluje, zda má kontrakt kód, takže toto selže, pokud
+ // _from je EOA nebo address(0).
+ // slither-disable-next-line reentrancy-events, reentrancy-benign
+ IERC20(_l1Token).safeTransferFrom(_from, address(this), _amount);
+```
+
+Převody tokenů ERC-20 se řídí jiným procesem než ETH:
+
+1. Uživatel (`_from`) udělí přemostění povolení k převodu příslušných tokenů.
+2. Uživatel zavolá přemostění s adresou kontraktu tokenu, částkou atd.
+3. Přemostění převede tokeny (na sebe) jako součást procesu vkladu.
+
+První krok se může uskutečnit v samostatné transakci od posledních dvou.
+Front-running však není problém, protože obě funkce, které volají `_initiateERC20Deposit` (`depositERC20` a `depositERC20To`), volají tuto funkci pouze s `msg.sender` jako parametrem `_from`.
+
+```solidity
+ // Sestavení calldata pro _l2Token.finalizeDeposit(_to, _amount)
+ bytes memory message = abi.encodeWithSelector(
+ IL2ERC20Bridge.finalizeDeposit.selector,
+ _l1Token,
+ _l2Token,
+ _from,
+ _to,
+ _amount,
+ _data
+ );
+
+ // Odeslání calldata na L2
+ // slither-disable-next-line reentrancy-events, reentrancy-benign
+ sendCrossDomainMessage(l2TokenBridge, _l2Gas, message);
+
+ // slither-disable-next-line reentrancy-benign
+ deposits[_l1Token][_l2Token] = deposits[_l1Token][_l2Token] + _amount;
+```
+
+Přidat vloženou částku tokenů do datové struktury `deposits`.
+Může existovat více adres na L2, které odpovídají stejnému tokenu ERC-20 na L1, takže pro sledování vkladů nestačí použít zůstatek přemostění tokenu ERC-20 na L1.
+
+```solidity
+
+ // slither-disable-next-line reentrancy-events
+ emit ERC20DepositInitiated(_l1Token, _l2Token, _from, _to, _amount, _data);
+ }
+
+ /*************************
+ * Meziřetězcové funkce *
+ *************************/
+
+ /**
+ * @inheritdoc IL1StandardBridge
+ */
+ function finalizeETHWithdrawal(
+ address _from,
+ address _to,
+ uint256 _amount,
+ bytes calldata _data
+```
+
+Přemostění L2 odešle zprávu mezidoménovému posílači zpráv L2, což způsobí, že mezidoménový posílač zpráv L1 zavolá tuto funkci (samozřejmě až po odeslání [transakce, která zprávu finalizuje](https://community.optimism.io/docs/developers/bridge/messaging/#fees-for-l2-%E2%87%92-l1-transactions) na L1).
+
+```solidity
+ ) external onlyFromCrossDomainAccount(l2TokenBridge) {
+```
+
+Ujistěte se, že se jedná o _legitimní_ zprávu, která pochází od mezidoménového posílače zpráv a pochází z přemostění tokenu L2.
+Tato funkce se používá k výběru ETH z přemostění, takže se musíme ujistit, že ji volá pouze oprávněný volající.
+
+```solidity
+ // slither-disable-next-line reentrancy-events
+ (bool success, ) = _to.call{ value: _amount }(new bytes(0));
+```
+
+Způsobem převodu ETH je zavolat příjemce s částkou wei v `msg.value`.
+
+```solidity
+ require(success, "TransferHelper::safeTransferETH: Převod ETH selhal");
+
+ // slither-disable-next-line reentrancy-events
+ emit ETHWithdrawalFinalized(_from, _to, _amount, _data);
+```
+
+Vyslat událost o výběru.
+
+```solidity
+ }
+
+ /**
+ * @inheritdoc IL1ERC20Bridge
+ */
+ function finalizeERC20Withdrawal(
+ address _l1Token,
+ address _l2Token,
+ address _from,
+ address _to,
+ uint256 _amount,
+ bytes calldata _data
+ ) external onlyFromCrossDomainAccount(l2TokenBridge) {
+```
+
+Tato funkce je podobná výše uvedené funkci `finalizeETHWithdrawal` s nezbytnými změnami pro tokeny ERC-20.
+
+```solidity
+ deposits[_l1Token][_l2Token] = deposits[_l1Token][_l2Token] - _amount;
+```
+
+Aktualizovat datovou strukturu `deposits`.
+
+```solidity
+
+ // Když je výběr finalizován na L1, přemostění L1 převede prostředky vybírajícímu
+ // slither-disable-next-line reentrancy-events
+ IERC20(_l1Token).safeTransfer(_to, _amount);
+
+ // slither-disable-next-line reentrancy-events
+ emit ERC20WithdrawalFinalized(_l1Token, _l2Token, _from, _to, _amount, _data);
+ }
+
+
+ /*****************************
+ * Dočasné - migrace ETH *
+ *****************************/
+
+ /**
+ * @dev Přidá zůstatek ETH na účet. Toto je určeno k tomu, aby se ETH
+ * mohlo migrovat ze staré brány na novou bránu.
+ * POZNÁMKA: Toto je ponecháno pouze pro jeden upgrade, abychom mohli přijmout migrované ETH ze
+ * starého kontraktu
+ */
+ function donateETH() external payable {}
+}
+```
+
+Existovala starší implementace přemostění.
+Když jsme přešli z této implementace na tuto, museli jsme přesunout všechna aktiva.
+Tokeny ERC-20 se dají jednoduše přesunout.
+Abyste však mohli převést ETH do kontraktu, potřebujete souhlas tohoto kontraktu, což nám poskytuje `donateETH`.
+
+## Tokeny ERC-20 na L2 {#erc-20-tokens-on-l2}
+
+Aby token ERC-20 vyhovoval standardnímu přemostění, musí umožnit standardnímu přemostění, a _pouze_ standardnímu přemostění, razit tokeny.
+To je nutné, protože přemostění musí zajistit, aby se počet tokenů v oběhu v síti Optimism rovnal počtu tokenů uzamčených v kontraktu přemostění na L1.
+Pokud by na L2 bylo příliš mnoho tokenů, někteří uživatelé by nemohli svá aktiva přemostit zpět na L1.
+Místo důvěryhodného přemostění bychom v podstatě znovu vytvořili [bankovnictví s částečnými rezervami](https://www.investopedia.com/terms/f/fractionalreservebanking.asp).
+Pokud je na L1 příliš mnoho tokenů, některé z nich by zůstaly navždy uzamčeny v kontraktu přemostění, protože neexistuje způsob, jak je uvolnit bez spálení tokenů na L2.
+
+### IL2StandardERC20 {#il2standarderc20}
+
+Každý token ERC-20 na L2, který používá standardní přemostění, musí poskytovat [toto rozhraní](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/standards/IL2StandardERC20.sol), které má funkce a události, jež standardní přemostění potřebuje.
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.9;
+
+import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
+```
+
+[Standardní rozhraní ERC-20](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol) nezahrnuje funkce `mint` a `burn`.
+Tyto metody nejsou vyžadovány [standardem ERC-20](https://eips.ethereum.org/EIPS/eip-20), který ponechává mechanismy pro vytváření a ničení tokenů nespecifikované.
+
+```solidity
+import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
+```
+
+[Rozhraní ERC-165](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/introspection/IERC165.sol) se používá ke specifikaci funkcí, které kontrakt poskytuje.
+[Standard si můžete přečíst zde](https://eips.ethereum.org/EIPS/eip-165).
+
+```solidity
+interface IL2StandardERC20 is IERC20, IERC165 {
+ function l1Token() external returns (address);
+```
+
+Tato funkce poskytuje adresu tokenu L1, který je přemostěn do tohoto kontraktu.
+Všimněte si, že podobnou funkci v opačném směru nemáme.
+Musíme být schopni přemostit jakýkoli token na L1 bez ohledu na to, zda podpora na L2 byla plánována při jeho implementaci či nikoli.
+
+```solidity
+
+ function mint(address _to, uint256 _amount) external;
+
+ function burn(address _from, uint256 _amount) external;
+
+ event Mint(address indexed _account, uint256 _amount);
+ event Burn(address indexed _account, uint256 _amount);
+}
+```
+
+Funkce a události pro ražbu (vytvoření) a pálení (zničení) tokenů.
+Přemostění by mělo být jedinou entitou, která může tyto funkce spouštět, aby se zajistil správný počet tokenů (rovný počtu tokenů uzamčených na L1).
+
+### L2StandardERC20 {#L2StandardERC20}
+
+[Toto je naše implementace rozhraní `IL2StandardERC20`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/standards/L2StandardERC20.sol).
+Pokud nepotřebujete žádnou vlastní logiku, měli byste použít tuto.
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.9;
+
+import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
+```
+
+[Kontrakt ERC-20 od OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol).
+Optimism nevěří v znovuobjevování kola, zejména když je kolo dobře auditováno a musí být dostatečně důvěryhodné pro držení aktiv.
+
+```solidity
+import "./IL2StandardERC20.sol";
+
+contract L2StandardERC20 is IL2StandardERC20, ERC20 {
+ address public l1Token;
+ address public l2Bridge;
+```
+
+Toto jsou dva další konfigurační parametry, které vyžadujeme a které ERC-20 normálně nemá.
+
+```solidity
+
+ /**
+ * @param _l2Bridge Adresa standardního přemostění na L2.
+ * @param _l1Token Adresa odpovídajícího tokenu na L1.
+ * @param _name Název ERC20.
+ * @param _symbol Symbol ERC20.
+ */
+ constructor(
+ address _l2Bridge,
+ address _l1Token,
+ string memory _name,
+ string memory _symbol
+ ) ERC20(_name, _symbol) {
+ l1Token = _l1Token;
+ l2Bridge = _l2Bridge;
+ }
+```
+
+Nejprve zavoláme konstruktor kontraktu, ze kterého dědíme (`ERC20(_name, _symbol)`), a poté nastavíme vlastní proměnné.
+
+```solidity
+
+ modifier onlyL2Bridge() {
+ require(msg.sender == l2Bridge, "Razit a pálit může pouze přemostění L2");
+ _;
+ }
+
+
+ // slither-disable-next-line external-function
+ function supportsInterface(bytes4 _interfaceId) public pure returns (bool) {
+ bytes4 firstSupportedInterface = bytes4(keccak256("supportsInterface(bytes4)")); // ERC165
+ bytes4 secondSupportedInterface = IL2StandardERC20.l1Token.selector ^
+ IL2StandardERC20.mint.selector ^
+ IL2StandardERC20.burn.selector;
+ return _interfaceId == firstSupportedInterface || _interfaceId == secondSupportedInterface;
+ }
+```
+
+Takto funguje [ERC-165](https://eips.ethereum.org/EIPS/eip-165).
+Každé rozhraní je souborem podporovaných funkcí a je identifikováno jako [exkluzivní nebo](https://en.wikipedia.org/wiki/Exclusive_or) [selektorů funkcí ABI](https://docs.soliditylang.org/en/v0.8.12/abi-spec.html#function-selector) těchto funkcí.
+
+Přemostění na L2 používá ERC-165 jako kontrolu správnosti, aby se ujistilo, že kontrakt ERC-20, do kterého posílá aktiva, je `IL2StandardERC20`.
+
+**Poznámka:** Nic nebrání tomu, aby podvodný kontrakt poskytoval falešné odpovědi na `supportsInterface`, takže se jedná o mechanismus kontroly správnosti, _nikoli_ o bezpečnostní mechanismus.
+
+```solidity
+ // slither-disable-next-line external-function
+ function mint(address _to, uint256 _amount) public virtual onlyL2Bridge {
+ _mint(_to, _amount);
+
+ emit Mint(_to, _amount);
+ }
+
+ // slither-disable-next-line external-function
+ function burn(address _from, uint256 _amount) public virtual onlyL2Bridge {
+ _burn(_from, _amount);
+
+ emit Burn(_from, _amount);
+ }
+}
+```
+
+Pouze přemostění L2 smí razit a pálit aktiva.
+
+`_mint` a `_burn` jsou ve skutečnosti definovány v [kontraktu ERC-20 OpenZeppelin](/developers/tutorials/erc20-annotated-code/#the-_mint-and-_burn-functions-_mint-and-_burn).
+Tento kontrakt je pouze nevystavuje externě, protože podmínky pro ražbu a pálení tokenů jsou tak rozmanité jako počet způsobů použití ERC-20.
+
+## Kód přemostění L2 {#l2-bridge-code}
+
+Toto je kód, který spouští přemostění v síti Optimism.
+[Zdrojový kód tohoto kontraktu je zde](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/L2/messaging/L2StandardBridge.sol).
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.9;
+
+/* Importy rozhraní */
+import { IL1StandardBridge } from "../../L1/messaging/IL1StandardBridge.sol";
+import { IL1ERC20Bridge } from "../../L1/messaging/IL1ERC20Bridge.sol";
+import { IL2ERC20Bridge } from "./IL2ERC20Bridge.sol";
+```
+
+Rozhraní [IL2ERC20Bridge](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/L2/messaging/IL2ERC20Bridge.sol) je velmi podobné [ekvivalentu L1](#IL1ERC20Bridge), který jsme viděli výše.
+Existují dva významné rozdíly:
+
+1. Na L1 iniciujete vklady a finalizujete výběry.
+ Zde iniciujete výběry a finalizujete vklady.
+2. Na L1 je nutné rozlišovat mezi ETH a tokeny ERC-20.
+ Na L2 můžeme použít stejné funkce pro obojí, protože interně jsou zůstatky ETH v síti Optimism spravovány jako token ERC-20 s adresou [0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000](https://explorer.optimism.io/address/0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000).
+
+```solidity
+/* Importy knihoven */
+import { ERC165Checker } from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
+import { CrossDomainEnabled } from "../../libraries/bridge/CrossDomainEnabled.sol";
+import { Lib_PredeployAddresses } from "../../libraries/constants/Lib_PredeployAddresses.sol";
+
+/* Importy kontraktů */
+import { IL2StandardERC20 } from "../../standards/IL2StandardERC20.sol";
+
+/**
+ * @title L2StandardBridge
+ * @dev Standardní přemostění L2 je kontrakt, který spolupracuje se standardním přemostěním L1,
+ * aby umožnil přechody ETH a ERC20 mezi L1 a L2.
+ * Tento kontrakt funguje jako razič nových tokenů, když se dozví o vkladech do standardního
+ * přemostění L1.
+ * Tento kontrakt také funguje jako palič tokenů určených k výběru a informuje přemostění L1
+ * o uvolnění prostředků L1.
+ */
+contract L2StandardBridge is IL2ERC20Bridge, CrossDomainEnabled {
+ /********************************
+ * Reference na externí kontrakty *
+ ********************************/
+
+ address public l1TokenBridge;
+```
+
+Sledovat adresu přemostění L1.
+Všimněte si, že na rozdíl od ekvivalentu na L1 zde tuto proměnnou _potřebujeme_.
+Adresa přemostění L1 není známa předem.
+
+```solidity
+
+ /***************
+ * Konstruktor *
+ ***************/
+
+ /**
+ * @param _l2CrossDomainMessenger Mezidoménový posílač zpráv používaný tímto kontraktem.
+ * @param _l1TokenBridge Adresa přemostění L1 nasazeného na hlavní řetězec.
+ */
+ constructor(address _l2CrossDomainMessenger, address _l1TokenBridge)
+ CrossDomainEnabled(_l2CrossDomainMessenger)
+ {
+ l1TokenBridge = _l1TokenBridge;
+ }
+
+ /***************
+ * Vybírání *
+ ***************/
+
+ /**
+ * @inheritdoc IL2ERC20Bridge
+ */
+ function withdraw(
+ address _l2Token,
+ uint256 _amount,
+ uint32 _l1Gas,
+ bytes calldata _data
+ ) external virtual {
+ _initiateWithdrawal(_l2Token, msg.sender, msg.sender, _amount, _l1Gas, _data);
+ }
+
+ /**
+ * @inheritdoc IL2ERC20Bridge
+ */
+ function withdrawTo(
+ address _l2Token,
+ address _to,
+ uint256 _amount,
+ uint32 _l1Gas,
+ bytes calldata _data
+ ) external virtual {
+ _initiateWithdrawal(_l2Token, msg.sender, _to, _amount, _l1Gas, _data);
+ }
+```
+
+Tyto dvě funkce iniciují výběry.
+Všimněte si, že není třeba specifikovat adresu tokenu L1.
+Očekává se, že tokeny na L2 nám sdělí adresu svého ekvivalentu na L1.
+
+```solidity
+
+ /**
+ * @dev Provádí logiku pro výběry pálením tokenu a informováním
+ * brány tokenu L1 o výběru.
+ * @param _l2Token Adresa tokenu na L2, kde je výběr iniciován.
+ * @param _from Účet, ze kterého se má výběr na L2 stáhnout.
+ * @param _to Účet, na který se má výběr na L1 připsat.
+ * @param _amount Částka tokenu k výběru.
+ * @param _l1Gas Nepoužito, ale zahrnuto pro případné úvahy o budoucí kompatibilitě.
+ * @param _data Volitelná data k předání na L1. Tato data jsou poskytována
+ * pouze pro pohodlí externích kontraktů. Kromě vynucení maximální
+ * délky tyto kontrakty neposkytují žádné záruky ohledně jejich obsahu.
+ */
+ function _initiateWithdrawal(
+ address _l2Token,
+ address _from,
+ address _to,
+ uint256 _amount,
+ uint32 _l1Gas,
+ bytes calldata _data
+ ) internal {
+ // Když je výběr iniciován, spálíme prostředky vybírajícího, abychom zabránili následnému použití na L2
+ // slither-disable-next-line reentrancy-events
+ IL2StandardERC20(_l2Token).burn(msg.sender, _amount);
+```
+
+Všimněte si, že se _nespoléháme_ na parametr `_from`, ale na `msg.sender`, který je mnohem těžší zfalšovat (pokud vím, nemožné).
+
+```solidity
+
+ // Sestavení calldata pro l1TokenBridge.finalizeERC20Withdrawal(_to, _amount)
+ // slither-disable-next-line reentrancy-events
+ address l1Token = IL2StandardERC20(_l2Token).l1Token();
+ bytes memory message;
+
+ if (_l2Token == Lib_PredeployAddresses.OVM_ETH) {
+```
+
+Na L1 je nutné rozlišovat mezi ETH a ERC-20.
+
+```solidity
+ message = abi.encodeWithSelector(
+ IL1StandardBridge.finalizeETHWithdrawal.selector,
+ _from,
+ _to,
+ _amount,
+ _data
+ );
+ } else {
+ message = abi.encodeWithSelector(
+ IL1ERC20Bridge.finalizeERC20Withdrawal.selector,
+ l1Token,
+ _l2Token,
+ _from,
+ _to,
+ _amount,
+ _data
+ );
+ }
+
+ // Odeslání zprávy do přemostění na L1
+ // slither-disable-next-line reentrancy-events
+ sendCrossDomainMessage(l1TokenBridge, _l1Gas, message);
+
+ // slither-disable-next-line reentrancy-events
+ emit WithdrawalInitiated(l1Token, _l2Token, msg.sender, _to, _amount, _data);
+ }
+
+ /************************************
+ * Meziřetězcová funkce: Vkládání *
+ ************************************/
+
+ /**
+ * @inheritdoc IL2ERC20Bridge
+ */
+ function finalizeDeposit(
+ address _l1Token,
+ address _l2Token,
+ address _from,
+ address _to,
+ uint256 _amount,
+ bytes calldata _data
+```
+
+Tuto funkci volá `L1StandardBridge`.
+
+```solidity
+ ) external virtual onlyFromCrossDomainAccount(l1TokenBridge) {
+```
+
+Ujistěte se, že zdroj zprávy je legitimní.
+To je důležité, protože tato funkce volá `_mint` a mohla by být použita k poskytnutí tokenů, které nejsou kryty tokeny, jež přemostění vlastní na L1.
+
+```solidity
+ // Zkontrolujte, zda je cílový token vyhovující a
+ // ověřte, že vložený token na L1 odpovídá reprezentaci vloženého tokenu na L2 zde
+ if (
+ // slither-disable-next-line reentrancy-events
+ ERC165Checker.supportsInterface(_l2Token, 0x1d1d8b63) &&
+ _l1Token == IL2StandardERC20(_l2Token).l1Token()
+```
+
+Kontroly správnosti:
+
+1. Je podporováno správné rozhraní
+2. Adresa L1 kontraktu ERC-20 na L2 odpovídá zdroji L1 tokenů.
+
+```solidity
+ ) {
+ // Když je vklad finalizován, připíšeme na účet na L2 stejnou částku
+ // tokenů.
+ // slither-disable-next-line reentrancy-events
+ IL2StandardERC20(_l2Token).mint(_to, _amount);
+ // slither-disable-next-line reentrancy-events
+ emit DepositFinalized(_l1Token, _l2Token, _from, _to, _amount, _data);
+```
+
+Pokud kontroly správnosti projdou, dokončete vklad:
+
+1. Razit tokeny
+2. Vyslat příslušnou událost
+
+```solidity
+ } else {
+ // Buď token L2, do kterého se vkládá, nesouhlasí se správnou adresou
+ // svého tokenu L1, nebo nepodporuje správné rozhraní.
+ // Toto by se mělo stát pouze v případě zákeřného tokenu L2, nebo pokud uživatel nějakým způsobem
+ // zadal špatnou adresu tokenu L2 pro vklad.
+ // V obou případech zde proces zastavíme a sestavíme zprávu o výběru,
+ // aby si uživatelé mohli v některých případech své prostředky vybrat.
+ // Neexistuje žádný způsob, jak zcela zabránit zákeřným kontraktům tokenů, ale toto omezuje
+ // chyby uživatelů a zmírňuje některé formy zákeřného chování kontraktů.
+```
+
+Pokud uživatel udělal zjistitelnou chybu použitím špatné adresy tokenu na L2, chceme vklad zrušit a vrátit tokeny na L1.
+Jediný způsob, jak to můžeme udělat z L2, je poslat zprávu, která bude muset počkat na období pro napadení chyby, ale to je pro uživatele mnohem lepší než trvalá ztráta tokenů.
+
+```solidity
+ bytes memory message = abi.encodeWithSelector(
+ IL1ERC20Bridge.finalizeERC20Withdrawal.selector,
+ _l1Token,
+ _l2Token,
+ _to, // zde jsme prohodili _to a _from, abychom vklad vrátili odesílateli
+ _from,
+ _amount,
+ _data
+ );
+
+ // Odeslání zprávy do přemostění na L1
+ // slither-disable-next-line reentrancy-events
+ sendCrossDomainMessage(l1TokenBridge, 0, message);
+ // slither-disable-next-line reentrancy-events
+ emit DepositFailed(_l1Token, _l2Token, _from, _to, _amount, _data);
+ }
+ }
+}
+```
+
+## Závěr {#conclusion}
+
+Standardní přemostění je nejflexibilnějším mechanismem pro převody aktiv.
+Protože je však tak obecný, není vždy nejjednodušším mechanismem k použití.
+Zejména pro výběry většina uživatelů dává přednost použití [přemostění třetích stran](https://optimism.io/apps#bridge), která nečekají na období pro napadení a nevyžadují Merkleho důkaz k dokončení výběru.
+
+Tato přemostění obvykle fungují tak, že mají aktiva na L1, která okamžitě poskytnou za malý poplatek (často nižší než náklady na transakční poplatky za výběr standardním přemostěním).
+Když přemostění (nebo lidé, kteří ho provozují) předpokládá, že bude mít málo aktiv na L1, převede dostatečná aktiva z L2. Protože se jedná o velmi velké výběry, náklady na výběr se amortizují na velkou částku a představují mnohem menší procento.
+
+Doufejme, že vám tento článek pomohl lépe pochopit, jak funguje druhá vrstva a jak psát kód v Solidity, který je jasný a bezpečný.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
diff --git a/public/content/translations/cs/developers/tutorials/reverse-engineering-a-contract/index.md b/public/content/translations/cs/developers/tutorials/reverse-engineering-a-contract/index.md
new file mode 100644
index 00000000000..117c493bda1
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/reverse-engineering-a-contract/index.md
@@ -0,0 +1,744 @@
+---
+title: "Reverzní inženýrství kontraktu"
+description: Jak porozumět kontraktu, když nemáte zdrojový kód
+author: Ori Pomerantz
+lang: cs
+tags: [ "evm", "opkódy" ]
+skill: advanced
+published: 2021-12-30
+---
+
+## Úvod {#introduction}
+
+_Na blockchainu neexistují žádná tajemství_, vše, co se stane, je konzistentní, ověřitelné a veřejně dostupné. V ideálním případě by [kontrakty měly mít svůj zdrojový kód zveřejněný a ověřený na Etherscanu](https://etherscan.io/address/0xb8901acb165ed027e32754e0ffe830802919727f#code). Nicméně [to tak není vždy](https://etherscan.io/address/0x2510c039cc3b061d79e564b38836da87e31b342f#code). V tomto článku se dozvíte, jak reverzně analyzovat kontrakty na příkladu kontraktu bez zdrojového kódu, [`0x2510c039cc3b061d79e564b38836da87e31b342f`](https://etherscan.io/address/0x2510c039cc3b061d79e564b38836da87e31b342f).
+
+Existují reverzní kompilátory, ale ne vždy produkují [použitelné výsledky](https://etherscan.io/bytecode-decompiler?a=0x2510c039cc3b061d79e564b38836da87e31b342f). V tomto článku se dozvíte, jak manuálně provést reverzní inženýrství a porozumět kontraktu z [opkódů](https://github.com/wolflo/evm-opcodes) a také jak interpretovat výsledky dekompilátoru.
+
+Abyste mohli porozumět tomuto článku, měli byste již znát základy EVM a být alespoň trochu obeznámeni s EVM assemblerem. [O těchto tématech si můžete přečíst zde](https://medium.com/mycrypto/the-ethereum-virtual-machine-how-does-it-work-9abac2b7c9e).
+
+## Příprava spustitelného kódu {#prepare-the-executable-code}
+
+Opkódy získáte tak, že na Etherscanu přejdete na kontrakt, kliknete na záložku **Contract** a poté na **Switch to Opcodes View**. Zobrazí se vám pohled s jedním opkódem na řádek.
+
+
+
+Abyste však porozuměli skokům, musíte vědět, kde v kódu se který opkód nachází. Jedním ze způsobů, jak to udělat, je otevřít tabulku Google a vložit opkódy do sloupce C. [Následující kroky můžete přeskočit tak, že si vytvoříte kopii této již připravené tabulky](https://docs.google.com/spreadsheets/d/1tKmTJiNjUwHbW64wCKOSJxHjmh0bAUapt6btUYE7kDA/edit?usp=sharing).
+
+Dalším krokem je získání správných umístění v kódu, abychom mohli pochopit skoky. Velikost opkódu vložíme do sloupce B a umístění (v hexadecimálním tvaru) do sloupce A. Zadejte tuto funkci do buňky `B1` a poté ji zkopírujte a vložte do zbytku sloupce B, až na konec kódu. Poté můžete sloupec B skrýt.
+
+```
+=1+IF(REGEXMATCH(C1,"PUSH"),REGEXEXTRACT(C1,"PUSH(\d+)"),0)
+```
+
+Tato funkce nejprve přidá jeden bajt pro samotný opkód a poté hledá `PUSH`. Opkódy PUSH jsou speciální, protože potřebují další bajty pro vkládanou hodnotu. Pokud je opkód `PUSH`, extrahujeme počet bajtů a přičteme ho.
+
+Do buňky `A1` vložte první offset, nulu. Poté do buňky `A2` vložte tuto funkci a opět ji zkopírujte a vložte do zbytku sloupce A:
+
+```
+=dec2hex(hex2dec(A1)+B1)
+```
+
+Tuto funkci potřebujeme, aby nám poskytla hexadecimální hodnotu, protože hodnoty, které jsou vkládány před skoky (`JUMP` a `JUMPI`), jsou nám dány v hexadecimálním tvaru.
+
+## Vstupní bod (0x00) {#the-entry-point-0x00}
+
+Kontrakty se vždy spouštějí od prvního bajtu. Toto je počáteční část kódu:
+
+| Offset | Opkód | Zásobník (po opkódu) |
+| -----: | ------------ | ---------------------------------------------- |
+| 0 | PUSH1 0x80 | 0x80 |
+| 2 | PUSH1 0x40 | 0x40, 0x80 |
+| 4 | MSTORE | Prázdné |
+| 5 | PUSH1 0x04 | 0x04 |
+| 7 | CALLDATASIZE | CALLDATASIZE 0x04 |
+| 8 | LT | CALLDATASIZE\<4 |
+| 9 | PUSH2 0x005e | 0x5E CALLDATASIZE\<4 |
+| C | JUMPI | Prázdné |
+
+Tento kód dělá dvě věci:
+
+1. Zapište 0x80 jako 32bajtovou hodnotu do paměťových míst 0x40-0x5F (0x80 se uloží do 0x5F a 0x40-0x5E jsou všechny nuly).
+2. Přečtěte velikost calldata. Normálně se data volání (calldata) pro kontrakt na Ethereu řídí [ABI (application binary interface)](https://docs.soliditylang.org/en/v0.8.10/abi-spec.html), které vyžaduje minimálně čtyři bajty pro selektor funkce. Pokud je velikost calldata menší než čtyři, skočí se na 0x5E.
+
+
+
+### Handler na 0x5E (pro data volání bez ABI) {#the-handler-at-0x5e-for-non-abi-call-data}
+
+| Offset | Opkód |
+| -----: | ------------ |
+| 5E | JUMPDEST |
+| 5F | CALLDATASIZE |
+| 60 | PUSH2 0x007c |
+| 63 | JUMPI |
+
+Tento úryvek začíná `JUMPDEST`. Programy EVM (Ethereum Virtual Machine) vyvolají výjimku, pokud skočíte na opkód, který není `JUMPDEST`. Poté se podívá na CALLDATASIZE, a pokud je „true“ (tedy nenulová), skočí na 0x7C. K tomu se dostaneme níže.
+
+| Offset | Opkód | Zásobník (po opkódu) |
+| -----: | ---------- | ------------------------------------------------------------------------------------------ |
+| 64 | CALLVALUE | [Wei](/glossary/#wei) poskytnuté voláním. V Solidity se nazývá `msg.value` |
+| 65 | PUSH1 0x06 | 6 CALLVALUE |
+| 67 | PUSH1 0x00 | 0 6 CALLVALUE |
+| 69 | DUP3 | CALLVALUE 0 6 CALLVALUE |
+| 6A | DUP3 | 6 CALLVALUE 0 6 CALLVALUE |
+| 6B | SLOAD | Storage[6] CALLVALUE 0 6 CALLVALUE |
+
+Takže když nejsou žádná calldata, přečteme hodnotu Storage[6]. Zatím nevíme, co tato hodnota znamená, ale můžeme se podívat na transakce, které kontrakt přijal bez calldata. Transakce, které pouze převádějí ETH bez jakýchkoli calldata (a tedy bez metody), mají v Etherscanu metodu `Transfer`. Ve skutečnosti [úplně první transakce, kterou kontrakt obdržel](https://etherscan.io/tx/0xeec75287a583c36bcc7ca87685ab41603494516a0f5986d18de96c8e630762e7), je převod.
+
+Když se podíváme na tuto transakci a klikneme na **Click to see More**, uvidíme, že data volání (calldata), zde nazvaná vstupní data, jsou skutečně prázdná (`0x`). Všimněte si také, že hodnota je 1,559 ETH, což bude relevantní později.
+
+
+
+Dále klikněte na záložku **State** a rozbalte kontrakt, který reverzně analyzujeme (0x2510...). Můžete vidět, že se `Storage[6]` během transakce změnilo, a pokud změníte Hex na **Number**, uvidíte, že se stalo 1 559 000 000 000 000 000, což je převedená hodnota ve wei (pro přehlednost jsem přidal čárky), odpovídající další hodnotě kontraktu.
+
+![Změna v Storage[6]](storage6.png)
+
+Pokud se podíváme na změny stavu způsobené [jinými `Transfer` transakcemi ze stejného období](https://etherscan.io/tx/0xf708d306de39c422472f43cb975d97b66fd5d6a6863db627067167cbf93d84d1#statechange), vidíme, že `Storage[6]` po nějakou dobu sledovalo hodnotu kontraktu. Prozatím to budeme nazývat `Hodnota*`. Hvězdička (`*`) nám připomíná, že ještě _nevíme_, co tato proměnná dělá, ale nemůže sloužit pouze ke sledování hodnoty kontraktu, protože není třeba používat úložiště, které je velmi drahé, když můžete zůstatek svého účtu získat pomocí `ADDRESS BALANCE`. První opkód vloží na zásobník vlastní adresu kontraktu. Druhý opkód přečte adresu na vrcholu zásobníku a nahradí ji zůstatkem této adresy.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | --------------------------------------------- |
+| 6C | PUSH2 0x0075 | 0x75 Hodnota\* CALLVALUE 0 6 CALLVALUE |
+| 6F | SWAP2 | CALLVALUE Hodnota\* 0x75 0 6 CALLVALUE |
+| 70 | SWAP1 | Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 71 | PUSH2 0x01a7 | 0x01A7 Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 74 | JUMP | |
+
+Budeme pokračovat ve sledování tohoto kódu v cíli skoku.
+
+| Offset | Opkód | Zásobník |
+| -----: | ---------- | ------------------------------------------------------------- |
+| 1A7 | JUMPDEST | Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1A8 | PUSH1 0x00 | 0x00 Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1AA | DUP3 | CALLVALUE 0x00 Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1AB | NOT | 2^256-CALLVALUE-1 0x00 Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+
+`NOT` je bitová operace, takže obrátí hodnotu každého bitu v hodnotě volání.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | ---------------------------------------------------------------------------------------------------------- |
+| 1AC | DUP3 | Hodnota\* 2^256-CALLVALUE-1 0x00 Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1AD | GT | Hodnota\*>2^256-CALLVALUE-1 0x00 Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1AE | ISZERO | Hodnota\*\<=2^256-CALLVALUE-1 0x00 Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1AF | PUSH2 0x01df | 0x01DF Hodnota\*\<=2^256-CALLVALUE-1 0x00 Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1B2 | JUMPI | |
+
+Skočíme, pokud je `Hodnota*` menší než 2^256-CALLVALUE-1 nebo se jí rovná. Vypadá to jako logika k zabránění přetečení. A skutečně, vidíme, že po několika nesmyslných operacích (například zápis do paměti, která bude brzy smazána) na offsetu 0x01DE kontrakt vrátí transakci zpět (revert), pokud je detekováno přetečení, což je normální chování.
+
+Všimněte si, že takové přetečení je extrémně nepravděpodobné, protože by vyžadovalo, aby hodnota volání plus `Hodnota*` byla srovnatelná s 2^256 wei, což je asi 10^59 ETH. [Celková zásoba ETH je v době psaní tohoto článku menší než dvě stě milionů](https://etherscan.io/stat/supply).
+
+| Offset | Opkód | Zásobník |
+| -----: | -------- | ------------------------------------------- |
+| 1DF | JUMPDEST | 0x00 Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1E0 | POP | Hodnota\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1E1 | ADD | Hodnota\*+CALLVALUE 0x75 0 6 CALLVALUE |
+| 1E2 | SWAP1 | 0x75 Hodnota\*+CALLVALUE 0 6 CALLVALUE |
+| 1E3 | JUMP | |
+
+Pokud jsme se dostali sem, získáme `Hodnota* + CALLVALUE` a skočíme na offset 0x75.
+
+| Offset | Opkód | Zásobník |
+| -----: | -------- | --------------------------------- |
+| 75 | JUMPDEST | Hodnota\*+CALLVALUE 0 6 CALLVALUE |
+| 76 | SWAP1 | 0 Hodnota\*+CALLVALUE 6 CALLVALUE |
+| 77 | SWAP2 | 6 Hodnota\*+CALLVALUE 0 CALLVALUE |
+| 78 | SSTORE | 0 CALLVALUE |
+
+Pokud se dostaneme sem (což vyžaduje, aby data volání byla prázdná), přičteme k `Hodnota*` hodnotu volání. To je v souladu s tím, co dělají transakce `Transfer`.
+
+| Offset | Opkód |
+| -----: | ----- |
+| 79 | POP |
+| 7A | POP |
+| 7B | STOP |
+
+Nakonec vyčistěte zásobník (což není nutné) a signalizujte úspěšné ukončení transakce.
+
+Abychom to shrnuli, zde je vývojový diagram počátečního kódu.
+
+
+
+## Handler na adrese 0x7C {#the-handler-at-0x7c}
+
+Záměrně jsem do nadpisu neuvedl, co tento handler dělá. Cílem není naučit vás, jak funguje tento konkrétní kontrakt, ale jak provádět reverzní inženýrství kontraktů. Dozvíte se, co dělá, stejně jako já: sledováním kódu.
+
+Dostaneme se sem z několika míst:
+
+- Pokud existují calldata o velikosti 1, 2 nebo 3 bajtů (z offsetu 0x63)
+- Pokud je podpis metody neznámý (z offsetů 0x42 a 0x5D)
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | ------------------------------------------------------------------------ |
+| 7C | JUMPDEST | |
+| 7D | PUSH1 0x00 | 0x00 |
+| 7F | PUSH2 0x009d | 0x9D 0x00 |
+| 82 | PUSH1 0x03 | 0x03 0x9D 0x00 |
+| 84 | SLOAD | Storage[3] 0x9D 0x00 |
+
+Toto je další buňka úložiště, kterou jsem v žádné transakci nenašel, takže je těžší zjistit, co znamená. Níže uvedený kód to objasní.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 85 | PUSH20 0xffffffffffffffffffffffffffffffffffffffff | 0xff....ff Storage[3] 0x9D 0x00 |
+| 9A | AND | Storage[3]-jako-adresa 0x9D 0x00 |
+
+Tyto opkódy zkrátí hodnotu, kterou čteme z Storage[3], na 160 bitů, což je délka ethereové adresy.
+
+| Offset | Opkód | Zásobník |
+| -----: | ----- | ------------------------------------------------------------------------------------ |
+| 9B | SWAP1 | 0x9D Storage[3]-jako-adresa 0x00 |
+| 9C | JUMP | Storage[3]-jako-adresa 0x00 |
+
+Tento skok je nadbytečný, protože přecházíme na další opkód. Tento kód není zdaleka tak efektivní z hlediska poplatků (gas), jak by mohl být.
+
+| Offset | Opkód | Zásobník |
+| -----: | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
+| 9D | JUMPDEST | Storage[3]-jako-adresa 0x00 |
+| 9E | SWAP1 | 0x00 Storage[3]-jako-adresa |
+| 9F | POP | Storage[3]-jako-adresa |
+| A0 | PUSH1 0x40 | 0x40 Storage[3]-jako-adresa |
+| A2 | MLOAD | Mem[0x40] Storage[3]-jako-adresa |
+
+Na samém začátku kódu jsme nastavili Mem[0x40] na 0x80. Pokud se podíváme na 0x40 později, vidíme, že se nemění – takže můžeme předpokládat, že je to 0x80.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | ------------------------------------------------------------------------------------------------------ |
+| A3 | CALLDATASIZE | CALLDATASIZE 0x80 Storage[3]-jako-adresa |
+| A4 | PUSH1 0x00 | 0x00 CALLDATASIZE 0x80 Storage[3]-jako-adresa |
+| A6 | DUP3 | 0x80 0x00 CALLDATASIZE 0x80 Storage[3]-jako-adresa |
+| A7 | CALLDATACOPY | 0x80 Storage[3]-jako-adresa |
+
+Zkopírujte všechna calldata do paměti, počínaje adresou 0x80.
+
+| Offset | Opkód | Zásobník |
+| -----: | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| A8 | PUSH1 0x00 | 0x00 0x80 Storage[3]-jako-adresa |
+| AA | DUP1 | 0x00 0x00 0x80 Storage[3]-jako-adresa |
+| AB | CALLDATASIZE | CALLDATASIZE 0x00 0x00 0x80 Storage[3]-jako-adresa |
+| AC | DUP4 | 0x80 CALLDATASIZE 0x00 0x00 0x80 Storage[3]-jako-adresa |
+| AD | DUP6 | Storage[3]-jako-adresa 0x80 CALLDATASIZE 0x00 0x00 0x80 Storage[3]-jako-adresa |
+| AE | GAS | GAS Storage[3]-jako-adresa 0x80 CALLDATASIZE 0x00 0x00 0x80 Storage[3]-jako-adresa |
+| AF | DELEGATE_CALL | |
+
+Teď je to mnohem jasnější. Tento kontrakt může fungovat jako [proxy](https://blog.openzeppelin.com/proxy-patterns/) a volat adresu v Storage[3], aby odvedla skutečnou práci. `DELEGATE_CALL` volá samostatný kontrakt, ale zůstává ve stejném úložišti. To znamená, že delegovaný kontrakt, pro který jsme proxy, přistupuje ke stejnému úložnému prostoru. Parametry pro volání jsou:
+
+- _Gas_: Veškerý zbývající gas
+- _Volaná adresa_: Storage[3]-jako-adresa
+- _Data volání_: CALLDATASIZE bajtů začínajících na adrese 0x80, což je místo, kam jsme vložili původní data volání
+- _Návratová data_: Žádná (0x00 - 0x00) Návratová data získáme jiným způsobem (viz níže)
+
+| Offset | Opkód | Zásobník |
+| -----: | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| B0 | RETURNDATASIZE | RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| B1 | DUP1 | RETURNDATASIZE RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| B2 | PUSH1 0x00 | 0x00 RETURNDATASIZE RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| B4 | DUP5 | 0x80 0x00 RETURNDATASIZE RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| B5 | RETURNDATACOPY | RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+
+Zde zkopírujeme všechna návratová data do paměťové vyrovnávací paměti začínající na adrese 0x80.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| B6 | DUP2 | (((úspěch/selhání volání))) RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| B7 | DUP1 | (((úspěch/selhání volání))) (((úspěch/selhání volání))) RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| B8 | ISZERO | (((selhalo volání))) (((úspěch/selhání volání))) RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| B9 | PUSH2 0x00c0 | 0xC0 (((selhalo volání))) (((úspěch/selhání volání))) RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| BC | JUMPI | (((úspěch/selhání volání))) RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| BD | DUP2 | RETURNDATASIZE (((úspěch/selhání volání))) RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| BE | DUP5 | 0x80 RETURNDATASIZE (((úspěch/selhání volání))) RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| BF | RETURN | |
+
+Takže po volání zkopírujeme návratová data do vyrovnávací paměti 0x80 - 0x80+RETURNDATASIZE a pokud je volání úspěšné, pak `RETURN` s přesně touto vyrovnávací pamětí.
+
+### DELEGATECALL selhal {#delegatecall-failed}
+
+Pokud se dostaneme sem, na 0xC0, znamená to, že volaný kontrakt vrátil transakci zpět (revert). Jelikož jsme pouze proxy pro tento kontrakt, chceme vrátit stejná data a také provést revert.
+
+| Offset | Opkód | Zásobník |
+| -----: | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| C0 | JUMPDEST | (((úspěch/selhání volání))) RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| C1 | DUP2 | RETURNDATASIZE (((úspěch/selhání volání))) RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| C2 | DUP5 | 0x80 RETURNDATASIZE (((úspěch/selhání volání))) RETURNDATASIZE (((úspěch/selhání volání))) 0x80 Storage[3]-jako-adresa |
+| C3 | REVERT | |
+
+Takže provedeme `REVERT` se stejnou vyrovnávací pamětí, kterou jsme použili pro `RETURN` dříve: 0x80 - 0x80+RETURNDATASIZE
+
+
+
+## Volání ABI {#abi-calls}
+
+Pokud je velikost calldata čtyři bajty nebo více, může se jednat o platné volání ABI.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | ------------------------------------------------------------------------------------------------------------------------ |
+| D | PUSH1 0x00 | 0x00 |
+| F | CALLDATALOAD | (((První slovo (256 bitů) z calldata))) |
+| 10 | PUSH1 0xe0 | 0xE0 (((První slovo (256 bitů) z calldata))) |
+| 12 | SHR | (((prvních 32 bitů (4 bajty) z calldata))) |
+
+Etherscan nám říká, že `1C` je neznámý opkód, protože [byl přidán poté, co Etherscan napsal tuto funkci](https://eips.ethereum.org/EIPS/eip-145) a ještě ji neaktualizovali. [Aktuální tabulka opkódů](https://github.com/wolflo/evm-opcodes) nám ukazuje, že se jedná o posun doprava
+
+| Offset | Opkód | Zásobník |
+| -----: | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 13 | DUP1 | (((prvních 32 bitů (4 bajty) z calldata))) (((prvních 32 bitů (4 bajty) z calldata))) |
+| 14 | PUSH4 0x3cd8045e | 0x3CD8045E (((prvních 32 bitů (4 bajty) z calldata))) (((prvních 32 bitů (4 bajty) z calldata))) |
+| 19 | GT | 0x3CD8045E>prvních-32-bitů-calldata (((prvních 32 bitů (4 bajty) z calldata))) |
+| 1A | PUSH2 0x0043 | 0x43 0x3CD8045E>prvních-32-bitů-calldata (((prvních 32 bitů (4 bajty) z calldata))) |
+| 1D | JUMPI | (((prvních 32 bitů (4 bajty) z calldata))) |
+
+Rozdělením testů shody podpisu metody na dvě části se v průměru ušetří polovina testů. Kód, který bezprostředně následuje, a kód na 0x43 se řídí stejným vzorem: `DUP1` prvních 32 bitů calldata, `PUSH4 (((podpis metody>`, spustit `EQ` pro kontrolu rovnosti a poté `JUMPI`, pokud se podpis metody shoduje. Zde jsou podpisy metod, jejich adresy a pokud je známa [odpovídající definice metody](https://www.4byte.directory/):
+
+| Metoda | Podpis metody | Offset pro skok |
+| --------------------------------------------------------------------------------------------------------- | ------------- | --------------- |
+| [splitter()](https://www.4byte.directory/signatures/?bytes4_signature=0x3cd8045e) | 0x3cd8045e | 0x0103 |
+| ??? | 0x81e580d3 | 0x0138 |
+| [currentWindow()](https://www.4byte.directory/signatures/?bytes4_signature=0xba0bafb4) | 0xba0bafb4 | 0x0158 |
+| ??? | 0x1f135823 | 0x00C4 |
+| [merkleRoot()](https://www.4byte.directory/signatures/?bytes4_signature=0x2eb4a7ab) | 0x2eb4a7ab | 0x00ED |
+
+Pokud se nenajde žádná shoda, kód skočí na [proxy handler na adrese 0x7C](#the-handler-at-0x7c) v naději, že kontrakt, pro který jsme proxy, shodu mít bude.
+
+
+
+## splitter() {#splitter}
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | ----------------------------- |
+| 103 | JUMPDEST | |
+| 104 | CALLVALUE | CALLVALUE |
+| 105 | DUP1 | CALLVALUE CALLVALUE |
+| 106 | ISZERO | CALLVALUE==0 CALLVALUE |
+| 107 | PUSH2 0x010f | 0x010F CALLVALUE==0 CALLVALUE |
+| 10A | JUMPI | CALLVALUE |
+| 10B | PUSH1 0x00 | 0x00 CALLVALUE |
+| 10D | DUP1 | 0x00 0x00 CALLVALUE |
+| 10E | REVERT | |
+
+První věc, kterou tato funkce dělá, je kontrola, zda volání neposlalo žádné ETH. Tato funkce není [`payable`](https://solidity-by-example.org/payable/). Pokud nám někdo poslal ETH, musí to být omyl a chceme provést `REVERT`, abychom se vyhnuli tomu, že by se tyto ETH dostaly tam, odkud je nemohou dostat zpět.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 10F | JUMPDEST | |
+| 110 | POP | |
+| 111 | PUSH1 0x03 | 0x03 |
+| 113 | SLOAD | (((Storage[3] a.k.a kontrakt, pro který jsme proxy))) |
+| 114 | PUSH1 0x40 | 0x40 (((Storage[3] a.k.a kontrakt, pro který jsme proxy))) |
+| 116 | MLOAD | 0x80 (((Storage[3] a.k.a kontrakt, pro který jsme proxy))) |
+| 117 | PUSH20 0xffffffffffffffffffffffffffffffffffffffff | 0xFF...FF 0x80 (((Storage[3] a.k.a kontrakt, pro který jsme proxy))) |
+| 12C | SWAP1 | 0x80 0xFF...FF (((Storage[3] a.k.a kontrakt, pro který jsme proxy))) |
+| 12D | SWAP2 | (((Storage[3] a.k.a kontrakt, pro který jsme proxy))) 0xFF...FF 0x80 |
+| 12E | AND | ProxyAddr 0x80 |
+| 12F | DUP2 | 0x80 ProxyAddr 0x80 |
+| 130 | MSTORE | 0x80 |
+
+A 0x80 nyní obsahuje adresu proxy
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | --------- |
+| 131 | PUSH1 0x20 | 0x20 0x80 |
+| 133 | ADD | 0xA0 |
+| 134 | PUSH2 0x00e4 | 0xE4 0xA0 |
+| 137 | JUMP | 0xA0 |
+
+### Kód E4 {#the-e4-code}
+
+Toto je poprvé, co vidíme tyto řádky, ale jsou sdíleny s dalšími metodami (viz níže). Hodnotu v zásobníku tedy nazveme X a budeme si pamatovat, že v `splitter()` je hodnota tohoto X 0xA0.
+
+| Offset | Opkód | Zásobník |
+| -----: | ---------- | ----------- |
+| E4 | JUMPDEST | X |
+| E5 | PUSH1 0x40 | 0x40 X |
+| E7 | MLOAD | 0x80 X |
+| E8 | DUP1 | 0x80 0x80 X |
+| E9 | SWAP2 | X 0x80 0x80 |
+| EA | SUB | X-0x80 0x80 |
+| EB | SWAP1 | 0x80 X-0x80 |
+| EC | RETURN | |
+
+Tento kód tedy obdrží ukazatel na paměť v zásobníku (X) a způsobí, že kontrakt `RETURN` s vyrovnávací pamětí, která je 0x80 - X.
+
+V případě `splitter()` vrátí adresu, pro kterou jsme proxy. `RETURN` vrátí vyrovnávací paměť v 0x80-0x9F, což je místo, kam jsme zapsali tato data (offset 0x130 výše).
+
+## currentWindow() {#currentwindow}
+
+Kód v offsetech 0x158-0x163 je identický s tím, co jsme viděli v 0x103-0x10E v `splitter()` (kromě cíle `JUMPI`), takže víme, že `currentWindow()` také není `payable`.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | ------------------------------------------------------------------------ |
+| 164 | JUMPDEST | |
+| 165 | POP | |
+| 166 | PUSH2 0x00da | 0xDA |
+| 169 | PUSH1 0x01 | 0x01 0xDA |
+| 16B | SLOAD | Storage[1] 0xDA |
+| 16C | DUP2 | 0xDA Storage[1] 0xDA |
+| 16D | JUMP | Storage[1] 0xDA |
+
+### Kód DA {#the-da-code}
+
+Tento kód je také sdílen s dalšími metodami. Hodnotu v zásobníku tedy nazveme Y a budeme si pamatovat, že v `currentWindow()` je hodnota tohoto Y Storage[1].
+
+| Offset | Opkód | Zásobník |
+| -----: | ---------- | ---------------- |
+| DA | JUMPDEST | Y 0xDA |
+| DB | PUSH1 0x40 | 0x40 Y 0xDA |
+| DD | MLOAD | 0x80 Y 0xDA |
+| DE | SWAP1 | Y 0x80 0xDA |
+| DF | DUP2 | 0x80 Y 0x80 0xDA |
+| E0 | MSTORE | 0x80 0xDA |
+
+Zapište Y do 0x80-0x9F.
+
+| Offset | Opkód | Zásobník |
+| -----: | ---------- | -------------- |
+| E1 | PUSH1 0x20 | 0x20 0x80 0xDA |
+| E3 | ADD | 0xA0 0xDA |
+
+A zbytek je již vysvětlen [výše](#the-e4-code). Takže skoky na 0xDA zapíší vrchol zásobníku (Y) do 0x80-0x9F a vrátí tuto hodnotu. V případě `currentWindow()` vrátí Storage[1].
+
+## merkleRoot() {#merkleroot}
+
+Kód v offsetech 0xED-0xF8 je identický s tím, co jsme viděli v 0x103-0x10E v `splitter()` (kromě cíle `JUMPI`), takže víme, že `merkleRoot()` také není `payable`.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | ------------------------------------------------------------------------ |
+| F9 | JUMPDEST | |
+| FA | POP | |
+| FB | PUSH2 0x00da | 0xDA |
+| FE | PUSH1 0x00 | 0x00 0xDA |
+| 100 | SLOAD | Storage[0] 0xDA |
+| 101 | DUP2 | 0xDA Storage[0] 0xDA |
+| 102 | JUMP | Storage[0] 0xDA |
+
+Co se stane po skoku [jsme již zjistili](#the-da-code). Takže `merkleRoot()` vrátí Storage[0].
+
+## 0x81e580d3 {#0x81e580d3}
+
+Kód v offsetech 0x138-0x143 je identický s tím, co jsme viděli v 0x103-0x10E v `splitter()` (kromě cíle `JUMPI`), takže víme, že tato funkce také není `payable`.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | ------------------------------------------------------------------------------- |
+| 144 | JUMPDEST | |
+| 145 | POP | |
+| 146 | PUSH2 0x00da | 0xDA |
+| 149 | PUSH2 0x0153 | 0x0153 0xDA |
+| 14C | CALLDATASIZE | CALLDATASIZE 0x0153 0xDA |
+| 14D | PUSH1 0x04 | 0x04 CALLDATASIZE 0x0153 0xDA |
+| 14F | PUSH2 0x018f | 0x018F 0x04 CALLDATASIZE 0x0153 0xDA |
+| 152 | JUMP | 0x04 CALLDATASIZE 0x0153 0xDA |
+| 18F | JUMPDEST | 0x04 CALLDATASIZE 0x0153 0xDA |
+| 190 | PUSH1 0x00 | 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 192 | PUSH1 0x20 | 0x20 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 194 | DUP3 | 0x04 0x20 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 195 | DUP5 | CALLDATASIZE 0x04 0x20 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 196 | SUB | CALLDATASIZE-4 0x20 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 197 | SLT | CALLDATASIZE-4\<32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 198 | ISZERO | CALLDATASIZE-4>=32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 199 | PUSH2 0x01a0 | 0x01A0 CALLDATASIZE-4>=32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 19C | JUMPI | 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+
+Vypadá to, že tato funkce bere alespoň 32 bajtů (jedno slovo) calldata.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------ | -------------------------------------------- |
+| 19D | DUP1 | 0x00 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 19E | DUP2 | 0x00 0x00 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 19F | REVERT | |
+
+Pokud neobdrží calldata, transakce je vrácena zpět bez jakýchkoli návratových dat.
+
+Podívejme se, co se stane, když funkce _dostane_ potřebná calldata.
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | ----------------------------------------------------------- |
+| 1A0 | JUMPDEST | 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 1A1 | POP | 0x04 CALLDATASIZE 0x0153 0xDA |
+| 1A2 | CALLDATALOAD | calldataload(4) CALLDATASIZE 0x0153 0xDA |
+
+`calldataload(4)` je první slovo calldata _po_ podpisu metody
+
+| Offset | Opkód | Zásobník |
+| -----: | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 1A3 | SWAP2 | 0x0153 CALLDATASIZE calldataload(4) 0xDA |
+| 1A4 | SWAP1 | CALLDATASIZE 0x0153 calldataload(4) 0xDA |
+| 1A5 | POP | 0x0153 calldataload(4) 0xDA |
+| 1A6 | JUMP | calldataload(4) 0xDA |
+| 153 | JUMPDEST | calldataload(4) 0xDA |
+| 154 | PUSH2 0x016e | 0x016E calldataload(4) 0xDA |
+| 157 | JUMP | calldataload(4) 0xDA |
+| 16E | JUMPDEST | calldataload(4) 0xDA |
+| 16F | PUSH1 0x04 | 0x04 calldataload(4) 0xDA |
+| 171 | DUP2 | calldataload(4) 0x04 calldataload(4) 0xDA |
+| 172 | DUP2 | 0x04 calldataload(4) 0x04 calldataload(4) 0xDA |
+| 173 | SLOAD | Storage[4] calldataload(4) 0x04 calldataload(4) 0xDA |
+| 174 | DUP2 | calldataload(4) Storage[4] calldataload(4) 0x04 calldataload(4) 0xDA |
+| 175 | LT | calldataload(4)\)` a další je `isClaimed()`, takže to vypadá na airdrop kontrakt. Místo toho, abychom procházeli zbytek opkód po opkódu, můžeme [vyzkoušet dekompilátor](https://etherscan.io/bytecode-decompiler?a=0x2f81e57ff4f4d83b40a9f719fd892d8e806e0761), který pro tři funkce z tohoto kontraktu vytváří použitelné výsledky. Reverzní inženýrství ostatních je ponecháno jako cvičení pro čtenáře.
+
+### scaleAmountByPercentage {#scaleamountbypercentage}
+
+Toto nám dekompilátor dává pro tuto funkci:
+
+```python
+def unknown8ffb5c97(uint256 _param1, uint256 _param2) payable:
+ require calldata.size - 4 >=′ 64
+ if _param1 and _param2 > -1 / _param1:
+ revert with 0, 17
+ return (_param1 * _param2 / 100 * 10^6)
+```
+
+První `require` testuje, zda calldata mají kromě čtyř bajtů signatury funkce alespoň 64 bajtů, což stačí pro dva parametry. Pokud ne, je zjevně něco špatně.
+
+Příkaz `if` se zdá, že kontroluje, zda `_param1` není nula a zda `_param1 * _param2` není záporné. Pravděpodobně se tak předchází případům přetečení.
+
+Nakonec funkce vrátí škálovanou hodnotu.
+
+### claim {#claim}
+
+Kód, který dekompilátor vytváří, je složitý a ne všechen je pro nás relevantní. Chystám se přeskočit některé jeho části, abych se zaměřil na řádky, které podle mě poskytují užitečné informace
+
+```python
+def unknown2e7ba6ef(uint256 _param1, uint256 _param2, uint256 _param3, array _param4) payable:
+ ...
+ require _param2 == addr(_param2)
+ ...
+ if currentWindow <= _param1:
+ revert with 0, 'cannot claim for a future window'
+```
+
+Vidíme zde dvě důležité věci:
+
+- `_param2`, i když je deklarován jako `uint256`, je ve skutečnosti adresa
+- `_param1` je nárokované okno, které musí být `currentWindow` nebo dřívější.
+
+```python
+ ...
+ if stor5[_claimWindow][addr(_claimFor)]:
+ revert with 0, 'Account already claimed the given window'
+```
+
+Takže teď víme, že Storage[5] je pole oken a adres a zda adresa nárokovala odměnu za dané okno.
+
+```python
+ ...
+ idx = 0
+ s = 0
+ while idx < _param4.length:
+ ...
+ if s + sha3(mem[(32 * _param4.length) + 328 len mem[(32 * _param4.length) + 296]]) > mem[(32 * idx) + 296]:
+ mem[mem[64] + 32] = mem[(32 * idx) + 296]
+ ...
+ s = sha3(mem[_62 + 32 len mem[_62]])
+ continue
+ ...
+ s = sha3(mem[_66 + 32 len mem[_66]])
+ continue
+ if unknown2eb4a7ab != s:
+ revert with 0, 'Invalid proof'
+```
+
+Víme, že `unknown2eb4a7ab` je ve skutečnosti funkce `merkleRoot()`, takže tento kód vypadá, jako by ověřoval [Merkleho důkaz](https://medium.com/crypto-0-nite/merkle-proofs-explained-6dd429623dc5). To znamená, že `_param4` je Merkleho důkaz.
+
+```python
+ call addr(_param2) with:
+ value unknown81e580d3[_param1] * _param3 / 100 * 10^6 wei
+ gas 30000 wei
+```
+
+Takto kontrakt převádí své vlastní ETH na jinou adresu (kontrakt nebo externě vlastněný účet). Volá ji s hodnotou, která je částkou, jež má být převedena. Vypadá to tedy, že se jedná o airdrop ETH.
+
+```python
+ if not return_data.size:
+ if not ext_call.success:
+ require ext_code.size(stor2)
+ call stor2.deposit() with:
+ value unknown81e580d3[_param1] * _param3 / 100 * 10^6 wei
+```
+
+Spodní dva řádky nám říkají, že Storage[2] je také kontrakt, který voláme. Pokud se [podíváme na transakci konstruktoru](https://etherscan.io/tx/0xa1ea0549fb349eb7d3aff90e1d6ce7469fdfdcd59a2fd9b8d1f5e420c0d05b58#statechange), vidíme, že tento kontrakt je [0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2](https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2), kontrakt Wrapped Ether [jehož zdrojový kód byl nahrán na Etherscan](https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2#code).
+
+Vypadá to tedy, že se kontrakty pokoušejí poslat ETH na `_param2`. Pokud to dokáže, skvělé. Pokud ne, pokusí se odeslat [WETH](https://weth.tkn.eth.limo/). Pokud je `_param2` externě vlastněný účet (EOA), může vždy přijímat ETH, ale kontrakty mohou odmítnout přijímat ETH. WETH je však ERC-20 a kontrakty to nemohou odmítnout.
+
+```python
+ ...
+ log 0xdbd5389f: addr(_param2), unknown81e580d3[_param1] * _param3 / 100 * 10^6, bool(ext_call.success)
+```
+
+Na konci funkce vidíme generovaný záznam protokolu. [Podívejte se na vygenerované záznamy protokolu](https://etherscan.io/address/0x2510c039cc3b061d79e564b38836da87e31b342f#events) a filtrujte podle tématu, které začíná `0xdbd5...`. Pokud [klikneme na jednu z transakcí, která takový záznam vygenerovala](https://etherscan.io/tx/0xe7d3b7e00f645af17dfbbd010478ef4af235896c65b6548def1fe95b3b7d2274), uvidíme, že to skutečně vypadá jako nárok – účet odeslal zprávu kontraktu, který reverzně inženýrujeme, a na oplátku dostal ETH.
+
+
+
+### 1e7df9d3 {#1e7df9d3}
+
+Tato funkce je velmi podobná [`claim`](#claim) výše. Také kontroluje Merkleho důkaz, pokouší se převést ETH na první a vytváří stejný typ záznamu do protokolu.
+
+```python
+def unknown1e7df9d3(uint256 _param1, uint256 _param2, array _param3) payable:
+ ...
+ idx = 0
+ s = 0
+ while idx < _param3.length:
+ if idx >= mem[96]:
+ revert with 0, 50
+ _55 = mem[(32 * idx) + 128]
+ if s + sha3(mem[(32 * _param3.length) + 160 len mem[(32 * _param3.length) + 128]]) > mem[(32 * idx) + 128]:
+ ...
+ s = sha3(mem[_58 + 32 len mem[_58]])
+ continue
+ mem[mem[64] + 32] = s + sha3(mem[(32 * _param3.length) + 160 len mem[(32 * _param3.length) + 128]])
+ ...
+ if unknown2eb4a7ab != s:
+ revert with 0, 'Invalid proof'
+ ...
+ call addr(_param1) with:
+ value s wei
+ gas 30000 wei
+ if not return_data.size:
+ if not ext_call.success:
+ require ext_code.size(stor2)
+ call stor2.deposit() with:
+ value s wei
+ gas gas_remaining wei
+ ...
+ log 0xdbd5389f: addr(_param1), s, bool(ext_call.success)
+```
+
+Hlavní rozdíl je v tom, že první parametr, okno pro výběr, zde není. Místo toho existuje smyčka přes všechna okna, která by mohla být nárokována.
+
+```python
+ idx = 0
+ s = 0
+ while idx < currentWindow:
+ ...
+ if stor5[mem[0]]:
+ if idx == -1:
+ revert with 0, 17
+ idx = idx + 1
+ s = s
+ continue
+ ...
+ stor5[idx][addr(_param1)] = 1
+ if idx >= unknown81e580d3.length:
+ revert with 0, 50
+ mem[0] = 4
+ if unknown81e580d3[idx] and _param2 > -1 / unknown81e580d3[idx]:
+ revert with 0, 17
+ if s > !(unknown81e580d3[idx] * _param2 / 100 * 10^6):
+ revert with 0, 17
+ if idx == -1:
+ revert with 0, 17
+ idx = idx + 1
+ s = s + (unknown81e580d3[idx] * _param2 / 100 * 10^6)
+ continue
+```
+
+Vypadá to tedy na variantu `claim`, která nárokuje všechna okna.
+
+## Závěr {#conclusion}
+
+Nyní byste měli vědět, jak porozumět kontraktům, jejichž zdrojový kód není k dispozici, a to buď pomocí opkódů, nebo (pokud to funguje) pomocí dekompilátoru. Jak je zřejmé z délky tohoto článku, reverzní inženýrství kontraktu není triviální, ale v systému, kde je bezpečnost zásadní, je důležitou dovedností umět ověřit, že kontrakty fungují, jak slibují.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
diff --git a/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md b/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md
new file mode 100644
index 00000000000..cb90eecd926
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md
@@ -0,0 +1,190 @@
+---
+title: Spuštění uzlu Etherea na Raspberry Pi 4
+description: Flashněte své Raspberry Pi 4, zapojte ethernetový kabel, připojte disk SSD a zapněte zařízení, abyste z Raspberry Pi 4 udělali plnohodnotný uzel Etherea + validátor.
+author: "EthereumOnArm"
+tags:
+ [
+ "klienti",
+ "exekuční vrstva",
+ "konsensuální vrstva",
+ "uzly"
+ ]
+lang: cs
+skill: intermediate
+published: 2022-06-10
+source: Ethereum na ARM
+sourceUrl: https://ethereum-on-arm-documentation.readthedocs.io/en/latest/
+---
+
+**Ethereum on Arm je vlastní obraz systému Linux, který může z Raspberry Pi udělat uzel Etherea.**
+
+Pro použití Etherea na Arm a přeměnu Raspberry Pi na uzel Etherea se doporučuje následující hardware:
+
+- Deska Raspberry 4 (model B 8GB), Odroid M1 nebo Rock 5B (8GB/16GB RAM)
+- MicroSD karta (minimálně 16 GB, třída 10)
+- Minimálně 2TB disk SSD USB 3.0 nebo SSD s pouzdrem USB na SATA.
+- Zdroj napájení
+- Ethernetový kabel
+- Přesměrování portů (další informace najdete u klientů)
+- Pouzdro s chladičem a ventilátorem
+- USB klávesnice, monitor a kabel HDMI (micro-HDMI) (volitelně)
+
+## Proč provozovat Ethereum na ARM? {#why-run-ethereum-on-arm}
+
+Desky ARM jsou velmi cenově dostupné, flexibilní a malé počítače. Jsou dobrou volbou pro provozování uzlů Etherea, protože je lze levně koupit, nakonfigurovat tak, aby se všechny jejich zdroje soustředily pouze na uzel, což je činí efektivními, spotřebovávají málo energie a jsou fyzicky malé, takže se nenápadně vejdou do každé domácnosti. Je také velmi snadné zprovoznit uzly, protože MicroSD kartu Raspberry Pi lze jednoduše flashnout předpřipraveným obrazem, aniž by bylo nutné stahovat nebo sestavovat software.
+
+## Jak to funguje? {#how-does-it-work}
+
+Paměťová karta Raspberry Pi se flashne předpřipraveným obrazem. Tento obraz obsahuje vše potřebné pro spuštění uzlu Etherea. S flashnutou kartou stačí uživateli pouze zapnout Raspberry Pi. Všechny procesy potřebné ke spuštění uzlu se spustí automaticky. Funguje to proto, že paměťová karta obsahuje operační systém (OS) na bázi Linuxu, na kterém se automaticky spouštějí procesy na úrovni systému, které z jednotky udělají uzel Etherea.
+
+Ethereum nelze provozovat pomocí oblíbeného OS pro Raspberry Pi „Raspbian“, protože Raspbian stále používá 32bitovou architekturu, což způsobuje uživatelům Etherea problémy s pamětí, a konsensuální klienti nepodporují 32bitové binární soubory. Aby se to překonalo, tým Ethereum on Arm přešel na nativní 64bitový OS s názvem „Armbian“.
+
+**Obrazy se postarají o všechny nezbytné kroky**, od nastavení prostředí a formátování disku SSD až po instalaci a spuštění softwaru Etherea a zahájení synchronizace blockchainu.
+
+## Poznámka k exekučním a konsensuálním klientům {#note-on-execution-and-consensus-clients}
+
+Obraz Ethereum on Arm zahrnuje předpřipravené exekuční a konsensuální klienty jako služby. Uzel Etherea vyžaduje, aby byli oba klienti synchronizováni a spuštěni. Stačí si pouze stáhnout a flashnout obraz a poté spustit služby. V obrazu jsou předinstalováni následující exekuční klienti:
+
+- Geth
+- Nethermind
+- Besu
+
+a následující konsensuální klienti:
+
+- Lighthouse
+- Nimbus
+- Prysm
+- Teku
+
+Měli byste si vybrat po jednom z každého typu – všichni exekuční klienti jsou kompatibilní se všemi konsensuálními klienty. Pokud si klienta explicitně nevyberete, uzel se vrátí ke svým výchozím hodnotám – Geth a Lighthouse – a spustí je automaticky po zapnutí desky. Na routeru musíte otevřít port 30303, aby Geth mohl najít peery a připojit se k nim.
+
+## Stažení obrazu {#downloading-the-image}
+
+Obraz Ethereum pro Raspberry Pi 4 je obraz typu „plug and play“, který automaticky nainstaluje a nastaví exekuční i konsensuální klienty, nakonfiguruje je pro vzájemnou komunikaci a připojení k síti Ethereum. Uživatel musí pouze spustit jejich procesy pomocí jednoduchého příkazu.
+
+Stáhněte si obraz Raspberry Pi z [Ethereum on Arm](https://ethereumonarm-my.sharepoint.com/:u:/p/dlosada/Ec_VmUvr80VFjf3RYSU-NzkBmj2JOteDECj8Bibde929Gw?download=1) a ověřte haš SHA256:
+
+```sh
+# Z adresáře obsahujícího stažený obraz
+shasum -a 256 ethonarm_22.04.00.img.zip
+# Haš by měl mít výstup: fb497e8f8a7388b62d6e1efbc406b9558bee7ef46ec7e53083630029c117444f
+```
+
+Upozorňujeme, že obrazy pro desky Rock 5B a Odroid M1 jsou k dispozici na [stránce pro stažení](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/quick-guide/download-and-install.html) Ethereum-on-Arm.
+
+## Flashování MicroSD {#flashing-the-microsd}
+
+MicroSD karta, která bude použita pro Raspberry Pi, by měla být nejprve vložena do stolního počítače nebo notebooku, aby mohla být flashnuta. Poté následující příkazy v terminálu flashnou stažený obraz na SD kartu:
+
+```shell
+# zkontrolujte název MicroSD karty
+sudo fdisk -l
+
+>> sdxxx
+```
+
+Je opravdu důležité zadat správný název, protože další příkaz obsahuje `dd`, který před nahráním obrazu na kartu zcela vymaže její stávající obsah. Chcete-li pokračovat, přejděte do adresáře obsahujícího zazipovaný obraz:
+
+```shell
+# rozbalte a flashněte obraz
+unzip ethonarm_22.04.00.img.zip
+sudo dd bs=1M if=ethonarm_22.04.00.img of=/dev/ conv=fdatasync status=progress
+```
+
+Karta je nyní flashnutá, takže ji lze vložit do Raspberry Pi.
+
+## Spuštění uzlu {#start-the-node}
+
+S SD kartou vloženou do Raspberry Pi připojte ethernetový kabel a SSD a poté zapněte napájení. OS se spustí a automaticky začne provádět předkonfigurované úlohy, které z Raspberry Pi udělají uzel Etherea, včetně instalace a sestavení klientského softwaru. To bude pravděpodobně trvat 10-15 minut.
+
+Jakmile je vše nainstalováno a nakonfigurováno, přihlaste se k zařízení přes ssh připojení nebo přímo pomocí terminálu, pokud je k desce připojen monitor a klávesnice. Pro přihlášení použijte účet `ethereum`, protože má oprávnění potřebná ke spuštění uzlu.
+
+```shell
+Uživatel: ethereum
+Heslo: ethereum
+```
+
+Výchozí exekuční klient, Geth, se spustí automaticky. To můžete potvrdit kontrolou protokolů pomocí následujícího příkazu v terminálu:
+
+```sh
+sudo journalctl -u geth -f
+```
+
+Konsensuální klient je třeba spustit explicitně. Chcete-li to provést, nejprve na routeru otevřete port 9000, aby Lighthouse mohl najít peery a připojit se k nim. Poté povolte a spusťte službu lighthouse:
+
+```sh
+sudo systemctl enable lighthouse-beacon
+sudo systemctl start lighthouse-beacon
+```
+
+Zkontrolujte klienta pomocí protokolů:
+
+```sh
+sudo journalctl -u lighthouse-beacon
+```
+
+Všimněte si, že konsensuální klient se synchronizuje během několika minut, protože používá synchronizaci z kontrolního bodu. Exekučnímu klientovi to bude trvat déle – potenciálně několik hodin, a nespustí se, dokud se konsensuální klient nedosynchronizuje (je to proto, že exekuční klient potřebuje cíl, se kterým se synchronizuje, a ten mu poskytne synchronizovaný konsensuální klient).
+
+Se spuštěnými a synchronizovanými službami Geth a Lighthouse je vaše Raspberry Pi nyní uzlem Etherea! Nejběžnější způsob interakce se sítí Ethereum je pomocí javascriptové konzole Geth, kterou lze připojit ke klientovi Geth na portu 8545. Je také možné odesílat příkazy formátované jako objekty JSON pomocí nástroje pro požadavky, jako je Curl. Více informací naleznete v [dokumentaci Geth](https://geth.ethereum.org/).
+
+Geth je předkonfigurován tak, aby hlásil metriky na řídicí panel Grafana, který lze zobrazit v prohlížeči. Pokročilejší uživatelé mohou chtít tuto funkci využít ke sledování stavu svého uzlu přechodem na `ipaddress:3000` a zadáním `user: admin` a `passwd: ethereum`.
+
+## Validátoři {#validators}
+
+K konsensuálnímu klientovi lze volitelně přidat také validátor. Software validátoru umožňuje vašemu uzlu aktivně se podílet na konsensu a poskytuje síti kryptoekonomickou bezpečnost. Za tuto práci dostanete odměnu v ETH. Abyste mohli spustit validátor, musíte mít nejprve 32 ETH, které musí být vloženy do vkladové smlouvy. Vklad lze provést podle podrobného průvodce na [Launchpadu](https://launchpad.ethereum.org/). Udělejte to na stolním počítači/notebooku, ale negenerujte klíče — to lze provést přímo na Raspberry Pi.
+
+Otevřete terminál na Raspberry Pi a spuštěním následujícího příkazu vygenerujte vkladové klíče:
+
+```
+sudo apt-get update
+sudo apt-get install staking-deposit-cli
+cd && deposit new-mnemonic --num_validators 1
+```
+
+(Nebo si stáhněte [staking-deposit-cli](https://github.com/ethereum/staking-deposit-cli) pro spuštění na air-gapped zařízení a spusťte příkaz `deposit new-mnemnonic`)
+
+Uchovejte mnemotechnickou frázi v bezpečí! Výše uvedený příkaz vygeneroval v úložišti klíčů uzlu dva soubory: klíče validátoru a soubor s daty vkladu. Data vkladu je třeba nahrát do Launchpadu, takže je nutné je zkopírovat z Raspberry Pi do stolního počítače/notebooku. To lze provést pomocí ssh připojení nebo jakoukoli jinou metodou kopírování a vkládání.
+
+Jakmile je soubor s daty vkladu k dispozici na počítači, na kterém běží Launchpad, lze jej přetáhnout na `+` na obrazovce Launchpadu. Podle pokynů na obrazovce odešlete transakci do vkladové smlouvy.
+
+Zpět na Raspberry Pi lze spustit validátor. To vyžaduje import klíčů validátoru, nastavení adresy pro sběr odměn a následné spuštění předkonfigurovaného procesu validátoru. Níže uvedený příklad je pro Lighthouse – pokyny pro ostatní konsensuální klienti jsou k dispozici v [dokumentaci Ethereum on Arm](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/):
+
+```shell
+# importujte klíče validátoru
+lighthouse account validator import --directory=/home/ethereum/validator_keys
+
+# nastavte adresu pro odměny
+sudo sed -i 's/' /etc/ethereum/lighthouse-validator.conf
+
+# spusťte validátor
+sudo systemctl start lighthouse-validator
+```
+
+Gratulujeme, nyní máte na Raspberry Pi spuštěný plnohodnotný uzel Etherea a validátor!
+
+## Další podrobnosti {#more-details}
+
+Tato stránka poskytla přehled o tom, jak nastavit uzel a validátor Geth-Lighthouse pomocí Raspberry Pi. Podrobnější pokyny jsou k dispozici na [webu Ethereum-on-Arm](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/index.html).
+
+## Zpětná vazba je vítána {#feedback-appreciated}
+
+Víme, že Raspberry Pi má obrovskou uživatelskou základnu, která by mohla mít velmi pozitivní dopad na zdraví sítě Ethereum.
+Projděte si prosím podrobnosti v tomto návodu, vyzkoušejte spuštění na testnetech, podívejte se na GitHubu na Ethereum on Arm, poskytněte zpětnou vazbu, nahlašujte problémy a posílejte pull requesty a pomozte tak posunout technologii a dokumentaci!
+
+## Odkazy {#references}
+
+1. https://ubuntu.com/download/raspberry-pi
+2. https://wikipedia.org/wiki/Port_forwarding
+3. https://prometheus.io
+4. https://grafana.com
+5. https://forum.armbian.com/topic/5565-zram-vs-swap/
+6. https://geth.ethereum.org
+7. https://nethermind.io
+8. https://www.hyperledger.org/projects/besu
+9. https://github.com/prysmaticlabs/prysm
+10. https://lighthouse.sigmaprime.io
+11. https://ethersphere.github.io/swarm-home
+12. https://raiden.network
+13. https://ipfs.io
+14. https://status.im
+15. https://vipnode.org
diff --git a/public/content/translations/cs/developers/tutorials/scam-token-tricks/index.md b/public/content/translations/cs/developers/tutorials/scam-token-tricks/index.md
new file mode 100644
index 00000000000..e9981cef970
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/scam-token-tricks/index.md
@@ -0,0 +1,470 @@
+---
+title: "Některé triky používané podvodnými tokeny a jak je odhalit"
+description: V tomto tutoriálu rozebereme podvodný token, abychom se podívali na některé triky, které podvodníci používají, jak je implementují a jak je můžeme odhalit.
+author: Ori Pomerantz
+tags:
+ [
+ "podvod",
+ "solidity",
+ "erc-20",
+ "javascript",
+ "typescript"
+ ]
+skill: intermediate
+published: 2023-09-15
+lang: cs
+---
+
+V tomto tutoriálu rozebereme [podvodný token](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82#code), abychom se podívali na některé triky, které podvodníci používají a jak je implementují. Na konci tohoto tutoriálu získáte komplexnější pohled na smlouvy o tokenech ERC-20, jejich možnosti a důvody, proč je nutná skepse. Poté se podíváme na události emitované tímto podvodným tokenem a zjistíme, jak můžeme automaticky identifikovat, že není legitimní.
+
+## Podvodné tokeny – co jsou, proč je lidé vytvářejí a jak se jim vyhnout {#scam-tokens}
+
+Jedním z nejčastějších způsobů využití Etherea je vytvoření obchodovatelného tokenu pro skupinu, v podstatě jejich vlastní měny. Kdekoliv, kde existují legitimní případy použití, které přinášejí hodnotu, se také objevují i zločinci, kteří se snaží tuto hodnotu ukrást pro sebe.
+
+Více si o tomto tématu můžete přečíst [jinde na ethereum.org](/guides/how-to-id-scam-tokens/) z pohledu uživatele. Tento tutoriál se zaměřuje na rozebrání podvodného tokenu, abychom zjistili, jak je vytvořen a jak jej lze odhalit.
+
+### Jak poznám, že wARB je podvod? {#warb-scam}
+
+Token, který rozebíráme, je [wARB](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82#code), který se tváří jako ekvivalent legitimního [tokenu ARB](https://etherscan.io/token/0xb50721bcf8d664c30412cfbc6cf7a15145234ad1).
+
+Nejjednodušší způsob, jak zjistit, který token je legitimní, je podívat se na původní organizaci, [Arbitrum](https://arbitrum.foundation/). Legitimní adresy jsou uvedeny [v jejich dokumentaci](https://docs.arbitrum.foundation/deployment-addresses#token).
+
+### Proč je zdrojový kód dostupný? {#why-source}
+
+Obvykle bychom očekávali, že lidé, kteří se snaží ostatní podvést, budou tajnůstkářští, a skutečně mnoho podvodných tokenů nemá svůj kód k dispozici (například [tento](https://optimistic.etherscan.io/token/0x15992f382d8c46d667b10dc8456dc36651af1452#code) a [tento](https://optimistic.etherscan.io/token/0x026b623eb4aada7de37ef25256854f9235207178#code)).
+
+Legitimní tokeny však obvykle svůj zdrojový kód zveřejňují, takže aby působili legitimně, autoři podvodných tokenů někdy dělají totéž. [wARB](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82#code) je jedním z těch tokenů s dostupným zdrojovým kódem, což usnadňuje jeho pochopení.
+
+I když si tvůrci smluv mohou vybrat, zda zdrojový kód zveřejní, či nikoli, _nemohou_ zveřejnit nesprávný zdrojový kód. Průzkumník bloků nezávisle zkompiluje poskytnutý zdrojový kód, a pokud neobdrží přesně stejný bajtkód, tento zdrojový kód odmítne. [Více si o tom můžete přečíst na stránkách Etherscanu](https://etherscan.io/verifyContract).
+
+## Srovnání s legitimními tokeny ERC-20 {#compare-legit-erc20}
+
+Tento token porovnáme s legitimními tokeny ERC-20. Pokud nevíte, jak se obvykle píší legitimní tokeny ERC-20, [podívejte se na tento tutoriál](/developers/tutorials/erc20-annotated-code/).
+
+### Konstanty pro privilegované adresy {#constants-for-privileged-addresses}
+
+Smlouvy někdy potřebují privilegované adresy. Smlouvy, které jsou navrženy pro dlouhodobé použití, umožňují některé privilegované adrese změnit tyto adresy, například aby bylo možné použít novou smlouvu multisig. Existuje několik způsobů, jak to udělat.
+
+[Smlouva tokenu `HOP`](https://etherscan.io/address/0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc#code) používá vzor [`Ownable`](https://docs.openzeppelin.com/contracts/2.x/access-control#ownership-and-ownable). Privilegovaná adresa je uložena v úložišti, v poli nazvaném `_owner` (viz třetí soubor, `Ownable.sol`).
+
+```solidity
+abstract contract Ownable is Context {
+ address private _owner;
+ .
+ .
+ .
+}
+```
+
+Smlouva o [tokenu `ARB`](https://etherscan.io/address/0xad0c361ef902a7d9851ca7dcc85535da2d3c6fc7#code) nemá přímo privilegovanou adresu. Nepotřebuje ji však. Nachází se za [`proxy`](https://docs.openzeppelin.com/contracts/5.x/api/proxy) na [adrese `0xb50721bcf8d664c30412cfbc6cf7a15145234ad1`](https://etherscan.io/address/0xb50721bcf8d664c30412cfbc6cf7a15145234ad1#code). Tato smlouva má privilegovanou adresu (viz čtvrtý soubor, `ERC1967Upgrade.sol`), kterou lze použít pro upgrady.
+
+```solidity
+ /**
+ * @dev Uloží novou adresu do slotu správce EIP1967.
+ */
+ function _setAdmin(address newAdmin) private {
+ require(newAdmin != address(0), "ERC1967: nový správce je nulová adresa");
+ StorageSlot.getAddressSlot(_ADMIN_SLOT).value = newAdmin;
+ }
+```
+
+Naproti tomu smlouva `wARB` má napevno zakódovaného `contract_owner`.
+
+```solidity
+contract WrappedArbitrum is Context, IERC20 {
+ .
+ .
+ .
+ address deployer = 0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1;
+ address public contract_owner = 0xb40dE7b1beE84Ff2dc22B70a049A07A13a411A33;
+ .
+ .
+ .
+}
+```
+
+[Tento vlastník smlouvy](https://etherscan.io/address/0xb40dE7b1beE84Ff2dc22B70a049A07A13a411A33) není smlouva, kterou by mohly v různých časech ovládat různé účty, ale [externě vlastněný účet](/developers/docs/accounts/#externally-owned-accounts-and-key-pairs). To znamená, že je pravděpodobně navržen pro krátkodobé použití jednotlivcem, spíše než jako dlouhodobé řešení pro ovládání ERC-20, které si udrží hodnotu.
+
+A skutečně, když se podíváme na Etherscan, vidíme, že podvodník tuto smlouvu používal pouze 12 hodin ([první transakce](https://etherscan.io/tx/0xf49136198c3f925fcb401870a669d43cecb537bde36eb8b41df77f06d5f6fbc2) po [poslední transakci](https://etherscan.io/tx/0xdfd6e717157354e64bbd5d6adf16761e5a5b3f914b1948d3545d39633244d47b)) dne 19. května 2023.
+
+### Falešná funkce `_transfer` {#the-fake-transfer-function}
+
+Je standardní, že skutečné převody probíhají pomocí [interní funkce `_transfer`](/developers/tutorials/erc20-annotated-code/#the-_transfer-function-_transfer).
+
+Ve `wARB` tato funkce vypadá téměř legitimně:
+
+```solidity
+ function _transfer(address sender, address recipient, uint256 amount) internal virtual{
+ require(sender != address(0), "ERC20: převod z nulové adresy");
+ require(recipient != address(0), "ERC20: převod na nulovou adresu");
+
+ _beforeTokenTransfer(sender, recipient, amount);
+
+ _balances[sender] = _balances[sender].sub(amount, "ERC20: částka převodu překračuje zůstatek");
+ _balances[recipient] = _balances[recipient].add(amount);
+ if (sender == contract_owner){
+ sender = deployer;
+ }
+ emit Transfer(sender, recipient, amount);
+ }
+```
+
+Podezřelá část je:
+
+```solidity
+ if (sender == contract_owner){
+ sender = deployer;
+ }
+ emit Transfer(sender, recipient, amount);
+```
+
+Pokud vlastník smlouvy posílá tokeny, proč událost `Transfer` ukazuje, že pocházejí od `deployer`?
+
+Je zde však důležitější problém. Kdo volá tuto funkci `_transfer`? Nelze ji volat zvenčí, je označena jako `internal`. A kód, který máme, neobsahuje žádná volání `_transfer`. Je zřejmé, že je zde jako návnada.
+
+```solidity
+ function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
+ _f_(_msgSender(), recipient, amount);
+ return true;
+ }
+
+ function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
+ _f_(sender, recipient, amount);
+ _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: částka převodu překračuje povolenou částku"));
+ return true;
+ }
+```
+
+Když se podíváme na funkce, které se volají pro převod tokenů, `transfer` a `transferFrom`, vidíme, že volají úplně jinou funkci, `_f_`.
+
+### Skutečná funkce `_f_` {#the-real-f-function}
+
+```solidity
+ function _f_(address sender, address recipient, uint256 amount) internal _mod_(sender,recipient,amount) virtual {
+ require(sender != address(0), "ERC20: převod z nulové adresy");
+ require(recipient != address(0), "ERC20: převod na nulovou adresu");
+
+ _beforeTokenTransfer(sender, recipient, amount);
+
+ _balances[sender] = _balances[sender].sub(amount, "ERC20: částka převodu překračuje zůstatek");
+ _balances[recipient] = _balances[recipient].add(amount);
+ if (sender == contract_owner){
+
+ sender = deployer;
+ }
+ emit Transfer(sender, recipient, amount);
+ }
+```
+
+V této funkci jsou dva potenciální varovné signály.
+
+- Použití [modifikátoru funkce](https://www.tutorialspoint.com/solidity/solidity_function_modifiers.htm) `_mod_`. Když se však podíváme do zdrojového kódu, vidíme, že `_mod_` je ve skutečnosti neškodný.
+
+ ```solidity
+ modifier _mod_(address sender, address recipient, uint256 amount){
+ _;
+ }
+ ```
+
+- Stejný problém, který jsme viděli v `_transfer`, což je, když `contract_owner` posílá tokeny, které se zdají pocházet od `deployer`.
+
+### Falešná funkce událostí `dropNewTokens` {#the-fake-events-function-dropNewTokens}
+
+Nyní se dostáváme k něčemu, co vypadá jako skutečný podvod. Funkci jsem pro lepší čitelnost trochu upravil, ale je funkčně ekvivalentní.
+
+```solidity
+function dropNewTokens(address uPool,
+ address[] memory eReceiver,
+ uint256[] memory eAmounts) public auth()
+```
+
+Tato funkce má modifikátor `auth()`, což znamená, že ji může volat pouze vlastník smlouvy.
+
+```solidity
+modifier auth() {
+ require(msg.sender == contract_owner, "Interakce není povolena");
+ _;
+}
+```
+
+Toto omezení dává dokonalý smysl, protože bychom nechtěli, aby náhodné účty distribuovaly tokeny. Zbytek funkce je však podezřelý.
+
+```solidity
+{
+ for (uint256 i = 0; i < eReceiver.length; i++) {
+ emit Transfer(uPool, eReceiver[i], eAmounts[i]);
+ }
+}
+```
+
+Funkce pro převod z účtu fondu na pole příjemců pole částek dává dokonalý smysl. Existuje mnoho případů použití, kdy budete chtít distribuovat tokeny z jednoho zdroje do více cílů, jako jsou výplaty, airdropy atd. Je levnější (z hlediska paliva) provést to v jedné transakci namísto vydávání více transakcí, nebo dokonce volat ERC-20 vícekrát z jiné smlouvy jako součást stejné transakce.
+
+`dropNewTokens` to však nedělá. Emituje [události `Transfer`](https://eips.ethereum.org/EIPS/eip-20#transfer-1), ale ve skutečnosti žádné tokeny nepřevádí. Neexistuje žádný legitimní důvod k matení offchainových aplikací tím, že jim řeknete o převodu, který se ve skutečnosti nestal.
+
+### Pálící funkce `Approve` {#the-burning-approve-function}
+
+Smlouvy ERC-20 mají mít [funkci `approve`](/developers/tutorials/erc20-annotated-code/#approve) pro povolené částky, a náš podvodný token skutečně takovou funkci má, a je dokonce správná. Protože však Solidity vychází z jazyka C, rozlišuje velikost písmen. "Approve" a "approve" jsou různé řetězce.
+
+Funkčnost také nesouvisí s `approve`.
+
+```solidity
+ function Approve(
+ address[] memory holders)
+```
+
+Tato funkce je volána s polem adres držitelů tokenu.
+
+```solidity
+ public approver() {
+```
+
+Modifikátor `approver()` zajišťuje, že tuto funkci může volat pouze `contract_owner` (viz níže).
+
+```solidity
+ for (uint256 i = 0; i < holders.length; i++) {
+ uint256 amount = _balances[holders[i]];
+ _beforeTokenTransfer(holders[i], 0x0000000000000000000000000000000000000001, amount);
+ _balances[holders[i]] = _balances[holders[i]].sub(amount,
+ "ERC20: pálená částka překračuje zůstatek");
+ _balances[0x0000000000000000000000000000000000000001] =
+ _balances[0x0000000000000000000000000000000000000001].add(amount);
+ }
+ }
+
+```
+
+Pro každou adresu držitele funkce přesune celý zůstatek držitele na adresu `0x00...01` a tím ho efektivně spálí (skutečné `pálení` ve standardu také mění celkovou zásobu a převádí tokeny na `0x00...00`). To znamená, že `contract_owner` může odebrat majetek jakéhokoli uživatele. To se nezdá jako funkce, kterou byste chtěli ve správcovském tokenu.
+
+### Problémy s kvalitou kódu {#code-quality-issues}
+
+Tyto problémy s kvalitou kódu _nedokazují_, že tento kód je podvod, ale způsobují, že působí podezřele. Organizované společnosti jako Arbitrum obvykle takto špatný kód nevydávají.
+
+#### Funkce `mount` {#the-mount-function}
+
+Ačkoli to není uvedeno ve [standardu](https://eips.ethereum.org/EIPS/eip-20), obecně se funkce, která vytváří nové tokeny, nazývá [`mint`](https://ethereum.org/el/developers/tutorials/erc20-annotated-code/#the-_mint-and-_burn-functions-_mint-and-_burn).
+
+Když se podíváme do konstruktoru `wARB`, vidíme, že funkce mint byla z nějakého důvodu přejmenována na `mount` a je volána pětkrát s pětinou počáteční zásoby, místo jednou pro celou částku z důvodu efektivity.
+
+```solidity
+ constructor () public {
+
+ _name = "Wrapped Arbitrum";
+ _symbol = "wARB";
+ _decimals = 18;
+ uint256 initialSupply = 1000000000000;
+
+ mount(deployer, initialSupply*(10**18)/5);
+ mount(deployer, initialSupply*(10**18)/5);
+ mount(deployer, initialSupply*(10**18)/5);
+ mount(deployer, initialSupply*(10**18)/5);
+ mount(deployer, initialSupply*(10**18)/5);
+ }
+```
+
+Samotná funkce `mount` je také podezřelá.
+
+```solidity
+ function mount(address account, uint256 amount) public {
+ require(msg.sender == contract_owner, "ERC20: ražba na nulovou adresu");
+```
+
+Při pohledu na `require` vidíme, že pouze vlastník smlouvy má povoleno razit. To je legitimní. Ale chybová zpráva by měla být _pouze vlastník má povoleno razit_ nebo něco podobného. Místo toho je to irelevantní _ERC20: ražba na nulovou adresu_. Správný test pro ražbu na nulovou adresu je `require(account != address(0), "")`, což se smlouva nikdy neobtěžuje zkontrolovat.
+
+```solidity
+ _totalSupply = _totalSupply.add(amount);
+ _balances[contract_owner] = _balances[contract_owner].add(amount);
+ emit Transfer(address(0), account, amount);
+ }
+```
+
+Existují dvě další podezřelé skutečnosti, přímo související s ražbou:
+
+- Existuje parametr `account`, což je pravděpodobně účet, který by měl obdržet vyraženou částku. Ale zůstatek, který se zvyšuje, je ve skutečnosti `contract_owner`a.
+
+- Zatímco zvýšený zůstatek patří `contract_owner`ovi, emitovaná událost ukazuje převod na `account`.
+
+### Proč `auth` i `approver`? Proč `mod`, který nic nedělá? {#why-both-autho-and-approver-why-the-mod-that-does-nothing}
+
+Tato smlouva obsahuje tři modifikátory: `_mod_`, `auth` a `approver`.
+
+```solidity
+ modifier _mod_(address sender, address recipient, uint256 amount){
+ _;
+ }
+```
+
+`_mod_` přijímá tři parametry a nic s nimi nedělá. Proč ho mít?
+
+```solidity
+ modifier auth() {
+ require(msg.sender == contract_owner, "Interakce není povolena");
+ _;
+ }
+
+ modifier approver() {
+ require(msg.sender == contract_owner, "Interakce není povolena");
+ _;
+ }
+```
+
+`auth` a `approver` dávají větší smysl, protože kontrolují, že smlouva byla volána `contract_owner`. Očekávali bychom, že určité privilegované akce, jako je ražba, budou omezeny na tento účet. Jaký je však smysl mít dvě samostatné funkce, které dělají _přesně to samé_?
+
+## Co můžeme detekovat automaticky? {#what-can-we-detect-automatically}
+
+Při pohledu na Etherscan vidíme, že `wARB` je podvodný token. Jedná se však o centralizované řešení. Teoreticky by mohl být Etherscan podvržen nebo napaden. Je lepší být schopen nezávisle zjistit, zda je token legitimní, nebo ne.
+
+Existují některé triky, které můžeme použít k identifikaci, že token ERC-20 je podezřelý (buď podvod, nebo velmi špatně napsaný), a to pohledem na události, které emitují.
+
+## Podezřelé události `Approval` {#suspicious-approval-events}
+
+[Události `Approval`](https://eips.ethereum.org/EIPS/eip-20#approval) by se měly dít pouze na přímou žádost (na rozdíl od [událostí `Transfer`](https://eips.ethereum.org/EIPS/eip-20#transfer-1), které se mohou stát v důsledku povolené částky). [Viz dokumentaci Solidity](https://docs.soliditylang.org/en/v0.8.20/security-considerations.html#tx-origin) pro podrobné vysvětlení tohoto problému a proč musí být žádosti přímé, nikoli zprostředkované smlouvou.
+
+To znamená, že události `Approval`, které schvalují útratu z [externě vlastněného účtu](/developers/docs/accounts/#types-of-account), musí pocházet z transakcí, které vznikly na tomto účtu a jejichž cílem je smlouva ERC-20. Jakýkoli jiný druh schválení z externě vlastněného účtu je podezřelý.
+
+Zde je [program, který identifikuje tento druh události](https://github.com/qbzzt/20230915-scam-token-detection), pomocí [viem](https://viem.sh/) a [TypeScript](https://www.typescriptlang.org/docs/), varianty JavaScriptu s typovou bezpečností. Spustíte ho takto:
+
+1. Zkopírujte `.env.example` do `.env`.
+2. Upravte `.env` a zadejte URL k uzlu hlavní sítě Ethereum.
+3. Spusťte `pnpm install` pro instalaci potřebných balíčků.
+4. Spusťte `pnpm susApproval` pro vyhledání podezřelých schválení.
+
+Zde je vysvětlení řádek po řádku:
+
+```typescript
+import {
+ Address,
+ TransactionReceipt,
+ createPublicClient,
+ http,
+ parseAbiItem,
+} from "viem"
+import { mainnet } from "viem/chains"
+```
+
+Importujte definice typů, funkce a definici řetězce z `viem`.
+
+```typescript
+import { config } from "dotenv"
+config()
+```
+
+Přečtěte si `.env` pro získání URL.
+
+```typescript
+const client = createPublicClient({
+ chain: mainnet,
+ transport: http(process.env.URL),
+})
+```
+
+Vytvořte klienta Viem. Potřebujeme pouze číst z blockchainu, takže tento klient nepotřebuje soukromý klíč.
+
+```typescript
+const testedAddress = "0xb047c8032b99841713b8e3872f06cf32beb27b82"
+const fromBlock = 16859812n
+const toBlock = 16873372n
+```
+
+Adresa podezřelé smlouvy ERC-20 a bloky, ve kterých budeme hledat události. Poskytovatelé uzlů obvykle omezují naši schopnost číst události, protože šířka pásma může být drahá. Naštěstí `wARB` nebyl používán po dobu osmnácti hodin, takže se můžeme podívat na všechny události (bylo jich celkem jen 13).
+
+```typescript
+const approvalEvents = await client.getLogs({
+ address: testedAddress,
+ fromBlock,
+ toBlock,
+ event: parseAbiItem(
+ "event Approval(address indexed _owner, address indexed _spender, uint256 _value)"
+ ),
+})
+```
+
+Tímto způsobem požádáte Viem o informace o události. Když mu poskytneme přesný podpis události, včetně názvů polí, událost pro nás analyzuje.
+
+```typescript
+const isContract = async (addr: Address): boolean =>
+ await client.getBytecode({ address: addr })
+```
+
+Náš algoritmus je použitelný pouze na externě vlastněné účty. Pokud `client.getBytecode` vrátí jakýkoli bajtkód, znamená to, že se jedná o smlouvu a měli bychom ji přeskočit.
+
+Pokud jste TypeScript ještě nepoužívali, definice funkce může vypadat trochu divně. Neříkáme mu jen, že se první (a jediný) parametr jmenuje `addr`, ale také, že je typu `Address`. Podobně část `: boolean` říká TypeScriptu, že návratová hodnota funkce je boolean.
+
+```typescript
+const getEventTxn = async (ev: Event): TransactionReceipt =>
+ await client.getTransactionReceipt({ hash: ev.transactionHash })
+```
+
+Tato funkce získá potvrzení o transakci z události. Potvrzení potřebujeme, abychom se ujistili, že známe cíl transakce.
+
+```typescript
+const suspiciousApprovalEvent = async (ev : Event) : (Event | null) => {
+```
+
+Toto je nejdůležitější funkce, která skutečně rozhoduje, zda je událost podezřelá, nebo ne. Návratový typ, `(Event | null)`, říká TypeScriptu, že tato funkce může vrátit buď `Event`, nebo `null`. Vrátíme `null`, pokud událost není podezřelá.
+
+```typescript
+const owner = ev.args._owner
+```
+
+Viem má názvy polí, takže pro nás analyzoval událost. `_owner` je vlastníkem tokenů, které mají být utraceny.
+
+```typescript
+// Schválení smlouvami nejsou podezřelá
+if (await isContract(owner)) return null
+```
+
+Pokud je vlastníkem smlouva, předpokládejme, že toto schválení není podezřelé. Abychom zkontrolovali, zda je schválení smlouvy podezřelé, nebo ne, budeme muset sledovat celé provedení transakce, abychom zjistili, zda se někdy dostala k vlastnické smlouvě a zda tato smlouva volala smlouvu ERC-20 přímo. To je mnohem náročnější na zdroje, než bychom chtěli dělat.
+
+```typescript
+const txn = await getEventTxn(ev)
+```
+
+Pokud schválení pochází z externě vlastněného účtu, získejte transakci, která ho způsobila.
+
+```typescript
+// Schválení je podezřelé, pokud pochází od vlastníka EOA, který není `from` transakce
+if (owner.toLowerCase() != txn.from.toLowerCase()) return ev
+```
+
+Nemůžeme jen zkontrolovat rovnost řetězců, protože adresy jsou hexadecimální, takže obsahují písmena. Někdy, například v `txn.from`, jsou všechna tato písmena malá. V jiných případech, jako je `ev.args._owner`, je adresa v [různých velikostech písmen pro identifikaci chyby](https://eips.ethereum.org/EIPS/eip-55).
+
+Ale pokud transakce nepochází od vlastníka a tento vlastník je externě vlastněn, pak máme podezřelou transakci.
+
+```typescript
+// Je také podezřelé, pokud cíl transakce není smlouva ERC-20, kterou
+// zkoumáme
+if (txn.to.toLowerCase() != testedAddress) return ev
+```
+
+Podobně, pokud adresa `to` transakce, první volaná smlouva, není zkoumaná smlouva ERC-20, pak je to podezřelé.
+
+```typescript
+ // Pokud není důvod k podezření, vrátíme null.
+ return null
+}
+```
+
+Pokud žádná z podmínek není pravdivá, pak událost `Approval` není podezřelá.
+
+```typescript
+const testPromises = approvalEvents.map((ev) => suspiciousApprovalEvent(ev))
+const testResults = (await Promise.all(testPromises)).filter((x) => x != null)
+
+console.log(testResults)
+```
+
+[Funkce `async`](https://www.w3schools.com/js/js_async.asp) vrací objekt `Promise`. S běžnou syntaxí `await x()` čekáme, až se tento `Promise` splní, než budeme pokračovat ve zpracování. To se jednoduše programuje a sleduje, ale je to také neefektivní. Zatímco čekáme na splnění `Promise` pro konkrétní událost, můžeme již začít pracovat na další události.
+
+Zde používáme [`map`](https://www.w3schools.com/jsref/jsref_map.asp) k vytvoření pole objektů `Promise`. Poté použijeme [`Promise.all`](https://www.javascripttutorial.net/es6/javascript-promise-all/) k čekání, až se všechny tyto sliby vyřeší. Poté tyto výsledky [`filtrujeme`](https://www.w3schools.com/jsref/jsref_filter.asp), abychom odstranili nepodezřelé události.
+
+### Podezřelé události `Transfer` {#suspicious-transfer-events}
+
+Dalším možným způsobem, jak identifikovat podvodné tokeny, je zjistit, zda mají nějaké podezřelé převody. Například převody z účtů, které nemají tolik tokenů. Můžete se podívat, [jak implementovat tento test](https://github.com/qbzzt/20230915-scam-token-detection/blob/main/susTransfer.ts), ale `wARB` tento problém nemá.
+
+## Závěr {#conclusion}
+
+Automatická detekce podvodů ERC-20 trpí [falešně negativními výsledky](https://en.wikipedia.org/wiki/False_positives_and_false_negatives#False_negative_error), protože podvod může použít naprosto normální smlouvu o tokenu ERC-20, která jen nepředstavuje nic skutečného. Proto byste se měli vždy pokusit _získat adresu tokenu z důvěryhodného zdroje_.
+
+Automatická detekce může pomoci v určitých případech, jako jsou součásti DeFi, kde je mnoho tokenů a je třeba s nimi zacházet automaticky. Ale jako vždy [caveat emptor](https://www.investopedia.com/terms/c/caveatemptor.asp), proveďte si vlastní průzkum a povzbuďte své uživatele, aby dělali totéž.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
diff --git a/public/content/translations/cs/developers/tutorials/secret-state/index.md b/public/content/translations/cs/developers/tutorials/secret-state/index.md
new file mode 100644
index 00000000000..f6fd0615078
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/secret-state/index.md
@@ -0,0 +1,741 @@
+---
+title: Použití nulové znalosti pro tajný stav
+description: Onchain hry jsou omezené, protože nemohou uchovávat žádné skryté informace. Po přečtení tohoto tutoriálu bude čtenář schopen kombinovat důkazy s nulovou znalostí a serverové komponenty k vytvoření ověřitelných her s tajnou stavovou offchain komponentou. Technika, jak toho dosáhnout, bude demonstrována vytvořením hry hledání min (minesweeper).
+author: Ori Pomerantz
+tags:
+ [
+ "server",
+ "offchain",
+ "centralizované",
+ "nulová znalost",
+ "zokrates",
+ "mud"
+ ]
+skill: advanced
+lang: cs
+published: 2025-03-15
+---
+
+_Na blockchainu neexistují žádná tajemství_. Vše, co je zveřejněno na blockchainu, si může kdokoli přečíst. To je nutné, protože blockchain je založen na tom, že ho kdokoli může ověřit. Hry však často spoléhají na tajný stav. Například hra [hledání min](https://en.wikipedia.org/wiki/Minesweeper_\(video_game\)) nedává absolutně žádný smysl, pokud se můžete jen podívat na průzkumník bloků a vidět mapu.
+
+Nejjednodušším řešením je použít [serverovou komponentu](/developers/tutorials/server-components/) k uchování tajného stavu. Důvodem, proč používáme blockchain, je však zabránit podvádění ze strany vývojáře hry. Musíme zajistit poctivost serverové komponenty. Server může poskytnout haš stavu a použít [důkazy s nulovou znalostí](/zero-knowledge-proofs/#why-zero-knowledge-proofs-are-important) k prokázání, že stav použitý k výpočtu výsledku tahu je správný.
+
+Po přečtení tohoto článku budete vědět, jak vytvořit tento druh serveru pro uchovávání tajného stavu, klienta pro zobrazení stavu a onchain komponentu pro komunikaci mezi nimi. Hlavní nástroje, které použijeme, budou:
+
+| Nástroj | Účel | Ověřeno na verzi |
+| --------------------------------------------- | ------------------------------------------ | --------------------------------------: |
+| [Zokrates](https://zokrates.github.io/) | Důkazy s nulovou znalostí a jejich ověření | 1.1.9 |
+| [Typescript](https://www.typescriptlang.org/) | Programovací jazyk pro server i klienta | 5.4.2 |
+| [Node](https://nodejs.org/en) | Spuštění serveru | 20.18.2 |
+| [Viem](https://viem.sh/) | Komunikace s blockchainem | 2.9.20 |
+| [MUD](https://mud.dev/) | Onchain správa dat | 2.0.12 |
+| [React](https://react.dev/) | Uživatelské rozhraní klienta | 18.2.0 |
+| [Vite](https://vitejs.dev/) | Poskytování klientského kódu | 4.2.1 |
+
+## Příklad hry Hledání min (Minesweeper) {#minesweeper}
+
+[Hledání min](https://en.wikipedia.org/wiki/Minesweeper_\(video_game\)) je hra, která obsahuje tajnou mapu s minovým polem. Hráč si vybere, kde bude kopat. Pokud je na daném místě mina, hra končí. V opačném případě hráč získá počet min v osmi polích obklopujících dané místo.
+
+Tato aplikace je napsána pomocí [MUD](https://mud.dev/), což je framework, který nám umožňuje ukládat data na blockchainu pomocí [databáze klíč-hodnota](https://aws.amazon.com/nosql/key-value/) a automaticky synchronizovat tato data s offchain komponentami. Kromě synchronizace MUD usnadňuje poskytování řízení přístupu a umožňuje ostatním uživatelům bez oprávnění [rozšířit](https://mud.dev/guides/extending-a-world) naši aplikaci.
+
+### Spuštění příkladu Hledání min {#running-minesweeper-example}
+
+Chcete-li spustit příklad Hledání min:
+
+1. Ujistěte se, že [máte nainstalované všechny předpoklady](https://mud.dev/quickstart#prerequisites): [Node](https://mud.dev/quickstart#prerequisites), [Foundry](https://book.getfoundry.sh/getting-started/installation), [`git`](https://git-scm.com/downloads), [`pnpm`](https://git-scm.com/downloads) a [`mprocs`](https://github.com/pvolok/mprocs).
+
+2. Naklonujte repozitář.
+
+ ```sh copy
+ git clone https://github.com/qbzzt/20240901-secret-state.git
+ ```
+
+3. Nainstalujte balíčky.
+
+ ```sh copy
+ cd 20240901-secret-state/
+ pnpm install
+ npm install -g mprocs
+ ```
+
+ Pokud byl Foundry nainstalován jako součást `pnpm install`, musíte restartovat příkazový řádek.
+
+4. Zkompilujte kontrakty
+
+ ```sh copy
+ cd packages/contracts
+ forge build
+ cd ../..
+ ```
+
+5. Spusťte program (včetně [anvil](https://book.getfoundry.sh/anvil/) blockchainu) a počkejte.
+
+ ```sh copy
+ mprocs
+ ```
+
+ Upozorňujeme, že spuštění trvá dlouho. Chcete-li vidět postup, nejprve pomocí šipky dolů přejděte na záložku _contracts_, abyste viděli, jak se nasazují MUD kontrakty. Když se zobrazí zpráva _Waiting for file changes…_, kontrakty jsou nasazeny a další postup se bude odehrávat na záložce _server_. Tam počkáte, dokud neobdržíte zprávu _Verifier address: 0x...._.
+
+ Pokud je tento krok úspěšný, zobrazí se obrazovka `mprocs` s různými procesy vlevo a výstupem konzole pro aktuálně vybraný proces vpravo.
+
+ 
+
+ Pokud nastane problém s `mprocs`, můžete čtyři procesy spustit ručně, každý v samostatném okně příkazového řádku:
+
+ - **Anvil**
+
+ ```sh
+ cd packages/contracts
+ anvil --base-fee 0 --block-time 2
+ ```
+
+ - **Kontrakty**
+
+ ```sh
+ cd packages/contracts
+ pnpm mud dev-contracts --rpc http://127.0.0.1:8545
+ ```
+
+ - **Server**
+
+ ```sh
+ cd packages/server
+ pnpm start
+ ```
+
+ - **Klient**
+
+ ```sh
+ cd packages/client
+ pnpm run dev
+ ```
+
+6. Nyní můžete přejít na [klienta](http://localhost:3000), kliknout na **New Game** (Nová hra) a začít hrát.
+
+### Tabulky {#tables}
+
+Potřebujeme [několik tabulek](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/mud.config.ts) na blockchainu.
+
+- `Configuration`: Tato tabulka je singleton, nemá žádný klíč a jeden záznam. Slouží k uchovávání informací o konfiguraci hry:
+ - `height`: Výška minového pole
+ - `width`: Šířka minového pole
+ - `numberOfBombs`: Počet bomb v každém minovém poli
+
+- `VerifierAddress`: Tato tabulka je také singleton. Slouží k uchování jedné části konfigurace, adresy verifikačního kontraktu (`verifier`). Tuto informaci jsme mohli umístit do tabulky `Configuration`, ale je nastavována jinou komponentou, serverem, takže je jednodušší ji umístit do samostatné tabulky.
+
+- `PlayerGame`: Klíčem je adresa hráče. Data jsou:
+
+ - `gameId`: 32bajtová hodnota, která je hašem mapy, na které hráč hraje (identifikátor hry).
+ - `win`: booleovská hodnota, která udává, zda hráč hru vyhrál.
+ - `lose`: booleovská hodnota, která udává, zda hráč hru prohrál.
+ - `digNumber`: počet úspěšných odkrytí políček ve hře.
+
+- `GamePlayer`: Tato tabulka obsahuje reverzní mapování z `gameId` na adresu hráče.
+
+- `Map`: Klíč je n-tice tří hodnot:
+
+ - `gameId`: 32bajtová hodnota, která je hašem mapy, na které hráč hraje (identifikátor hry).
+ - `x` souřadnice
+ - `y` souřadnice
+
+ Hodnota je jediné číslo. Je to 255, pokud byla detekována bomba. Jinak je to počet bomb v okolí daného místa plus jedna. Nemůžeme použít jen počet bomb, protože ve výchozím nastavení jsou všechna úložiště v EVM a všechny hodnoty řádků v MUD nulové. Musíme rozlišovat mezi „hráč zde ještě nekopal“ a „hráč zde kopal a zjistil, že v okolí nejsou žádné bomby“.
+
+Kromě toho komunikace mezi klientem a serverem probíhá prostřednictvím onchain komponenty. To je také implementováno pomocí tabulek.
+
+- `PendingGame`: Nevyřízené žádosti o spuštění nové hry.
+- `PendingDig`: Nevyřízené požadavky na kopání na konkrétním místě v konkrétní hře. Toto je [offchain tabulka](https://mud.dev/store/tables#types-of-tables), což znamená, že se nezapisuje do úložiště EVM, je čitelná pouze mimo blockchain pomocí událostí.
+
+### Provádění a datové toky {#execution-data-flows}
+
+Tyto toky koordinují provádění mezi klientem, onchain komponentou a serverem.
+
+#### Inicializace {#initialization-flow}
+
+Když spustíte `mprocs`, dojde k těmto krokům:
+
+1. [`mprocs`](https://github.com/pvolok/mprocs) spouští čtyři komponenty:
+
+ - [Anvil](https://book.getfoundry.sh/anvil/), který spouští místní blockchain
+ - [Contracts](https://github.com/qbzzt/20240901-secret-state/tree/main/packages/contracts), který kompiluje (v případě potřeby) a nasazuje kontrakty pro MUD
+ - [Client](https://github.com/qbzzt/20240901-secret-state/tree/main/packages/client), který spouští [Vite](https://vitejs.dev/) k poskytování uživatelského rozhraní a klientského kódu webovým prohlížečům.
+ - [Server](https://github.com/qbzzt/20240901-secret-state/tree/main/packages/server), který provádí akce serveru
+
+2. Balíček `contracts` nasadí kontrakty MUD a poté spustí [skript `PostDeploy.s.sol`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/script/PostDeploy.s.sol). Tento skript nastaví konfiguraci. Kód z GitHubu specifikuje [minové pole 10x5 s osmi minami](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/script/PostDeploy.s.sol#L23).
+
+3. [Server](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts) se spouští [nastavením MUD](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L6). Mimo jiné se tím aktivuje synchronizace dat, takže kopie příslušných tabulek existuje v paměti serveru.
+
+4. Server zaregistruje funkci k provedení [při změně tabulky `Configuration`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L23). [Tato funkce](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L24-L168) se volá po spuštění `PostDeploy.s.sol` a úpravě tabulky.
+
+5. Když má inicializační funkce serveru konfiguraci, [volá `zkFunctions`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L34-L35) pro inicializaci [části serveru s nulovou znalostí](#using-zokrates-from-typescript). To se nemůže stát, dokud nezískáme konfiguraci, protože funkce s nulovou znalostí musí mít šířku a výšku minového pole jako konstanty.
+
+6. Po inicializaci části serveru s nulovou znalostí je dalším krokem [nasazení verifikačního kontraktu s nulovou znalostí na blockchain](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L42-L53) a nastavení adresy ověřovatele v MUD.
+
+7. Nakonec se přihlásíme k odběru aktualizací, abychom viděli, když hráč požádá buď [o spuštění nové hry](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L55-L71), nebo [o odkrytí pole v existující hře](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L73-L108).
+
+#### Nová hra {#new-game-flow}
+
+Toto se stane, když hráč požádá o novou hru.
+
+1. Pokud pro tohoto hráče neprobíhá žádná hra nebo probíhá, ale s nulovým gameId, klient zobrazí [tlačítko nové hry](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L175). Když uživatel stiskne toto tlačítko, [React spustí funkci `newGame`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L96).
+
+2. [`newGame`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/mud/createSystemCalls.ts#L43-L46) je volání `System`. V MUD jsou všechna volání směrována přes kontrakt `World` a ve většině případů voláte `__`. V tomto případě se volá `app__newGame`, které MUD následně přesměruje na [`newGame` v `GameSystem`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/GameSystem.sol#L16-L22).
+
+3. Onchain funkce zkontroluje, že hráč nemá žádnou rozehranou hru, a pokud ne, [přidá požadavek do tabulky `PendingGame`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/GameSystem.sol#L21).
+
+4. Server detekuje změnu v `PendingGame` a [spustí registrovanou funkci](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L55-L71). Tato funkce volá [`newGame`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L110-L114), která zase volá [`createGame`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L116-L144).
+
+5. První věc, kterou `createGame` udělá, je [vytvoření náhodné mapy s příslušným počtem min](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L120-L135). Poté volá [`makeMapBorders`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L147-L166), aby vytvořil mapu s prázdnými okraji, což je nutné pro Zokrates. Nakonec `createGame` volá [`calculateMapHash`](#calculateMapHash), aby získal haš mapy, který se používá jako ID hry.
+
+6. Funkce `newGame` přidá novou hru do `gamesInProgress`.
+
+7. Poslední věc, kterou server udělá, je zavolání [`app__newGameResponse`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L38-L43), které je na blockchainu. Tato funkce se nachází v jiném `System`, [`ServerSystem`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol), aby umožnila řízení přístupu. Řízení přístupu je definováno v [konfiguračním souboru MUD](https://mud.dev/config), [`mud.config.ts`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/mud.config.ts#L67-L72).
+
+ Seznam přístupů umožňuje volat `System` pouze jediné adrese. To omezuje přístup k funkcím serveru na jedinou adresu, takže se nikdo nemůže vydávat za server.
+
+8. Onchain komponenta aktualizuje příslušné tabulky:
+
+ - Vytvoří hru v `PlayerGame`.
+ - Nastaví reverzní mapování v `GamePlayer`.
+ - Odebere požadavek z `PendingGame`.
+
+9. Server identifikuje změnu v `PendingGame`, ale nic nedělá, protože [`wantsGame`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L58-L60) je nepravdivé.
+
+10. Na klientu je [`gameRecord`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L143-L148) nastaven na položku `PlayerGame` pro adresu hráče. Když se změní `PlayerGame`, změní se i `gameRecord`.
+
+11. Pokud je v `gameRecord` hodnota a hra ještě nebyla vyhrána ani prohrána, klient [zobrazí mapu](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L175-L190).
+
+#### Odkrytí pole {#dig-flow}
+
+1. Hráč [klikne na tlačítko buňky mapy](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L188), což zavolá [funkci `dig`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/mud/createSystemCalls.ts#L33-L36). Tato funkce volá [`dig` na blockchainu](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/GameSystem.sol#L24-L32).
+
+2. Onchain komponenta [provádí řadu kontrol správnosti](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/GameSystem.sol#L25-L30) a pokud je úspěšná, přidá požadavek na odkrytí pole do [`PendingDig`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/GameSystem.sol#L31).
+
+3. Server [detekuje změnu v `PendingDig`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L73). [Pokud je platný](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L75-L84), [zavolá kód s nulovou znalostí](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L86-L95) (vysvětleno níže), aby vygeneroval jak výsledek, tak důkaz, že je platný.
+
+4. [Server](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L97-L107) volá [`digResponse`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L45-L64) na blockchainu.
+
+5. `digResponse` dělá dvě věci. Nejprve zkontroluje [důkaz s nulovou znalostí](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L47-L61). Poté, pokud je důkaz v pořádku, volá [`processDigResult`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L67-L86) pro skutečné zpracování výsledku.
+
+6. `processDigResult` zkontroluje, zda byla hra [prohrána](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L76-L78) nebo [vyhrána](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L83-L86), a [aktualizuje `Map`, onchain mapu](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L80).
+
+7. Klient automaticky zachytí aktualizace a [aktualizuje mapu zobrazenou hráči](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L175-L190) a případně hráči sdělí, zda se jedná o výhru, nebo prohru.
+
+## Použití Zokrates {#using-zokrates}
+
+Ve výše vysvětlených tocích jsme přeskočili části s nulovou znalostí a považovali je za černou skříňku. Teď ji otevřeme a podíváme se, jak je ten kód napsán.
+
+### Hašování mapy {#hashing-map}
+
+Můžeme použít [tento kód v JavaScriptu](https://github.com/ZK-Plus/ICBC24_Tutorial_Compute-Offchain-Verify-onchain/tree/solutions/exercise) k implementaci [Poseidon](https://www.poseidon-hash.info), hašovací funkce Zokrates, kterou používáme. Ačkoli by to však bylo rychlejší, bylo by to také složitější, než jen použít k tomu hašovací funkci Zokrates. Toto je tutoriál, takže kód je optimalizován pro jednoduchost, nikoli pro výkon. Proto potřebujeme dva různé programy Zokrates, jeden pro výpočet haše mapy (`hash`) a druhý pro vytvoření důkazu s nulovou znalostí o výsledku odkrytí pole na mapě (`dig`).
+
+### Hašovací funkce {#hash-function}
+
+Toto je funkce, která počítá haš mapy. Tento kód si projdeme řádek po řádku.
+
+```
+import "hashes/poseidon/poseidon.zok" as poseidon;
+import "utils/pack/bool/pack128.zok" as pack128;
+```
+
+Tyto dva řádky importují dvě funkce ze [standardní knihovny Zokrates](https://zokrates.github.io/toolbox/stdlib.html). [První funkce](https://github.com/Zokrates/ZoKrates/blob/latest/zokrates_stdlib/stdlib/hashes/poseidon/poseidon.zok) je [haš Poseidon](https://www.poseidon-hash.info/). Přijímá pole prvků [`field`](https://zokrates.github.io/language/types.html#field) a vrací `field`.
+
+Prvek pole (field) v Zokrates je obvykle kratší než 256 bitů, ale ne o moc. Pro zjednodušení kódu omezujeme mapu na maximálně 512 bitů a hašujeme pole čtyř polí a v každém poli používáme pouze 128 bitů. [Funkce `pack128`](https://github.com/Zokrates/ZoKrates/blob/latest/zokrates_stdlib/stdlib/utils/pack/bool/pack128.zok) pro tento účel změní pole 128 bitů na `field`.
+
+```
+ def hashMap(bool[${width+2}][${height+2}] map) -> field {
+```
+
+Tento řádek zahajuje definici funkce. `hashMap` dostane jediný parametr nazvaný `map`, dvourozměrné pole typu `bool`(ean). Velikost mapy je `width+2` krát `height+2` z důvodů, které jsou [vysvětleny níže](#why-map-border).
+
+Můžeme použít `${width+2}` a `${height+2}`, protože programy Zokrates jsou v této aplikaci uloženy jako [šablonové řetězce](https://www.w3schools.com/js/js_string_templates.asp). Kód mezi `${` a `}` je vyhodnocen JavaScriptem, a tímto způsobem lze program použít pro různé velikosti mapy. Parametr mapy má kolem sebe okraj o šířce jedné pozice bez bomb, což je důvod, proč musíme k šířce a výšce přidat dva.
+
+Návratová hodnota je `field`, který obsahuje haš.
+
+```
+ bool[512] mut map1d = [false; 512];
+```
+
+Mapa je dvourozměrná. Funkce `pack128` však nefunguje s dvourozměrnými poli. Takže nejprve zploštíme mapu do 512bajtového pole pomocí `map1d`. Ve výchozím nastavení jsou proměnné Zokrates konstanty, ale potřebujeme přiřadit hodnoty tomuto poli ve smyčce, takže ho definujeme jako [`mut`](https://zokrates.github.io/language/variables.html#mutability).
+
+Musíme pole inicializovat, protože Zokrates nemá `undefined`. Výraz `[false; 512]` znamená [pole 512 hodnot `false`](https://zokrates.github.io/language/types.html#declaration-and-initialization).
+
+```
+ u32 mut counter = 0;
+```
+
+Potřebujeme také počítadlo k rozlišení mezi bity, které jsme již v `map1d` vyplnili, a těmi, které ještě ne.
+
+```
+ for u32 x in 0..${width+2} {
+```
+
+Takto se v Zokrates deklaruje [smyčka `for`](https://zokrates.github.io/language/control_flow.html#for-loops). Smyčka `for` v Zokrates musí mít pevné meze, protože i když se jeví jako smyčka, kompilátor ji ve skutečnosti „rozbalí“. Výraz `${width+2}` je konstanta v době kompilace, protože `width` je nastaven kódem TypeScript předtím, než zavolá kompilátor.
+
+```
+ for u32 y in 0..${height+2} {
+ map1d[counter] = map[x][y];
+ counter = counter+1;
+ }
+ }
+```
+
+Pro každé místo na mapě vložte tuto hodnotu do pole `map1d` a zvyšte počítadlo.
+
+```
+ field[4] hashMe = [
+ pack128(map1d[0..128]),
+ pack128(map1d[128..256]),
+ pack128(map1d[256..384]),
+ pack128(map1d[384..512])
+ ];
+```
+
+`pack128` vytvoří z `map1d` pole čtyř hodnot typu `field`. V Zokrates znamená `array[a..b]` výsek pole, který začíná na `a` a končí na `b-1`.
+
+```
+ return poseidon(hashMe);
+}
+```
+
+Použijte `poseidon` k převedení tohoto pole na haš.
+
+### Hašovací program {#hash-program}
+
+Server musí volat `hashMap` přímo k vytvoření identifikátorů hry. Zokrates však může pro spuštění volat pouze funkci `main` v programu, takže vytvoříme program s `main`, který volá hašovací funkci.
+
+```
+${hashFragment}
+
+def main(bool[${width+2}][${height+2}] map) -> field {
+ return hashMap(map);
+}
+```
+
+### Program pro odkrytí pole {#dig-program}
+
+Toto je srdce části aplikace s nulovou znalostí, kde vytváříme důkazy, které se používají k ověření výsledků odkrytí polí.
+
+```
+${hashFragment}
+
+// Počet min na pozici (x,y)
+def map2mineCount(bool[${width+2}][${height+2}] map, u32 x, u32 y) -> u8 {
+ return if map[x+1][y+1] { 1 } else { 0 };
+}
+```
+
+#### Proč okraj mapy {#why-map-border}
+
+Důkazy s nulovou znalostí používají [aritmetické obvody](https://medium.com/web3studio/simple-explanations-of-arithmetic-circuits-and-zero-knowledge-proofs-806e59a79785), které nemají jednoduchý ekvivalent příkazu `if`. Místo toho používají ekvivalent [podmíněného operátoru](https://en.wikipedia.org/wiki/Ternary_conditional_operator). Pokud `a` může být buď nula, nebo jedna, můžete vypočítat `if a { b } else { c }` jako `ab+(1-a)c`.
+
+Z tohoto důvodu příkaz `if` v Zokrates vždy vyhodnocuje obě větve. Například, pokud máte tento kód:
+
+```
+bool[5] arr = [false; 5];
+u32 index=10;
+return if index>4 { 0 } else { arr[index] }
+```
+
+Dojde k chybě, protože potřebuje vypočítat `arr[10]`, i když tato hodnota bude později vynásobena nulou.
+
+To je důvod, proč potřebujeme okraj o šířce jednoho pole kolem celé mapy. Potřebujeme vypočítat celkový počet min v okolí pole, a to znamená, že musíme vidět pole o jeden řádek nad a pod, vlevo a vpravo od pole, které odkrýváme. Což znamená, že tato pole musí existovat v poli mapy, které je Zokrates poskytnuto.
+
+```
+def main(private bool[${width+2}][${height+2}] map, u32 x, u32 y) -> (field, u8) {
+```
+
+Ve výchozím nastavení důkazy Zokrates obsahují své vstupy. Není k ničemu vědět, že kolem pole je pět min, pokud nevíte, o které pole se jedná (a nemůžete to jen porovnat s vaším požadavkem, protože pak by mohl dokazovatel použít jiné hodnoty a neříct vám o tom). Musíme však udržet mapu v tajnosti a zároveň ji poskytnout Zokrates. Řešením je použít `private` parametr, který _není_ odhalen důkazem.
+
+To otevírá další možnost zneužití. Dokazovatel by mohl použít správné souřadnice, ale vytvořit mapu s libovolným počtem min kolem daného pole, a možná i na samotném poli. Abychom zabránili tomuto zneužití, zajistíme, aby důkaz s nulovou znalostí obsahoval haš mapy, který je identifikátorem hry.
+
+```
+ return (hashMap(map),
+```
+
+Návratová hodnota je zde n-tice, která obsahuje pole hašů mapy a výsledek odkrytí pole.
+
+```
+ if map2mineCount(map, x, y) > 0 { 0xFF } else {
+```
+
+Používáme 255 jako speciální hodnotu pro případ, že na samotném poli je bomba.
+
+```
+ map2mineCount(map, x-1, y-1) + map2mineCount(map, x, y-1) + map2mineCount(map, x+1, y-1) +
+ map2mineCount(map, x-1, y) + map2mineCount(map, x+1, y) +
+ map2mineCount(map, x-1, y+1) + map2mineCount(map, x, y+1) + map2mineCount(map, x+1, y+1)
+ }
+ );
+}
+```
+
+Pokud hráč nenašel minu, sečtěte počty min v okolí pole a vraťte je.
+
+### Použití Zokrates z TypeScriptu {#using-zokrates-from-typescript}
+
+Zokrates má rozhraní příkazového řádku, ale v tomto programu ho používáme v [kódu TypeScript](https://zokrates.github.io/toolbox/zokrates_js.html).
+
+Knihovna, která obsahuje definice Zokrates, se jmenuje [`zero-knowledge.ts`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts).
+
+```typescript
+import { initialize as zokratesInitialize } from "zokrates-js"
+```
+
+Importujte [JavaScriptové vazby Zokrates](https://zokrates.github.io/toolbox/zokrates_js.html). Potřebujeme pouze funkci [`initialize`](https://zokrates.github.io/toolbox/zokrates_js.html#initialize), protože vrací promise, který se vyřeší na všechny definice Zokrates.
+
+```typescript
+export const zkFunctions = async (width: number, height: number) : Promise => {
+```
+
+Podobně jako u samotného Zokrates, exportujeme také pouze jednu funkci, která je také [asynchronní](https://www.w3schools.com/js/js_async.asp). Když se nakonec vrátí, poskytne několik funkcí, jak uvidíme níže.
+
+```typescript
+const zokrates = await zokratesInitialize()
+```
+
+Inicializujte Zokrates, získejte vše, co potřebujeme z knihovny.
+
+```typescript
+const hashFragment = `
+ import "utils/pack/bool/pack128.zok" as pack128;
+ import "hashes/poseidon/poseidon.zok" as poseidon;
+ .
+ .
+ .
+ }
+ `
+
+const hashProgram = `
+ ${hashFragment}
+ .
+ .
+ .
+ `
+
+const digProgram = `
+ ${hashFragment}
+ .
+ .
+ .
+ `
+```
+
+Dále máme hašovací funkci a dva programy Zokrates, které jsme viděli výše.
+
+```typescript
+const digCompiled = zokrates.compile(digProgram)
+const hashCompiled = zokrates.compile(hashProgram)
+```
+
+Zde tyto programy kompilujeme.
+
+```typescript
+// Vytvoří klíče pro ověření nulové znalosti.
+// V produkčním systému byste chtěli použít setup ceremonii.
+// (https://zokrates.github.io/toolbox/trusted_setup.html#initializing-a-phase-2-ceremony).
+const keySetupResults = zokrates.setup(digCompiled.program, "")
+const verifierKey = keySetupResults.vk
+const proverKey = keySetupResults.pk
+```
+
+V produkčním systému bychom mohli použít složitější [setup ceremonii](https://zokrates.github.io/toolbox/trusted_setup.html#initializing-a-phase-2-ceremony), ale toto je pro demonstraci dostačující. Není problém, že uživatelé mohou znát klíč dokazovatele – stále ho nemohou použít k prokázání věcí, pokud nejsou pravdivé. Protože specifikujeme entropii (druhý parametr, `""`), výsledky budou vždy stejné.
+
+**Poznámka:** Kompilace programů Zokrates a tvorba klíčů jsou pomalé procesy. Není třeba je opakovat pokaždé, pouze když se změní velikost mapy. V produkčním systému byste je provedli jednou a pak uložili výstup. Jediný důvod, proč to zde nedělám, je pro jednoduchost.
+
+#### `calculateMapHash` {#calculateMapHash}
+
+```typescript
+const calculateMapHash = function (hashMe: boolean[][]): string {
+ return (
+ "0x" +
+ BigInt(zokrates.computeWitness(hashCompiled, [hashMe]).output.slice(1, -1))
+ .toString(16)
+ .padStart(64, "0")
+ )
+}
+```
+
+Funkce [`computeWitness`](https://zokrates.github.io/toolbox/zokrates_js.html#computewitnessartifacts-args-options) skutečně spouští program Zokrates. Vrací strukturu se dvěma poli: `output`, což je výstup programu jako řetězec JSON, a `witness`, což je informace potřebná k vytvoření důkazu s nulovou znalostí výsledku. Zde potřebujeme pouze výstup.
+
+Výstupem je řetězec ve formátu `"31337"`, desetinné číslo uzavřené v uvozovkách. Ale výstup, který potřebujeme pro `viem`, je hexadecimální číslo ve formátu `0x60A7`. Takže použijeme `.slice(1,-1)` k odstranění uvozovek a poté `BigInt` k převedení zbývajícího řetězce, což je desetinné číslo, na [`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt). `.toString(16)` převede tento `BigInt` na hexadecimální řetězec a `"0x"+` přidá značku pro hexadecimální čísla.
+
+```typescript
+// Odkryjte pole a vraťte důkaz s nulovou znalostí o výsledku
+// (kód na straně serveru)
+```
+
+Důkaz s nulovou znalostí zahrnuje veřejné vstupy (`x` a `y`) a výsledky (haš mapy a počet bomb).
+
+```typescript
+ const zkDig = function(map: boolean[][], x: number, y: number) : any {
+ if (x<0 || x>=width || y<0 || y>=height)
+ throw new Error("Pokus o odkrytí pole mimo mapu")
+```
+
+Je problém kontrolovat, zda je index mimo rozsah v Zokrates, takže to děláme zde.
+
+```typescript
+const runResults = zokrates.computeWitness(digCompiled, [map, `${x}`, `${y}`])
+```
+
+Spusťte program pro odkrytí pole.
+
+```typescript
+ const proof = zokrates.generateProof(
+ digCompiled.program,
+ runResults.witness,
+ proverKey)
+
+ return proof
+ }
+```
+
+Použijte [`generateProof`](https://zokrates.github.io/toolbox/zokrates_js.html#generateproofprogram-witness-provingkey-entropy) a vraťte důkaz.
+
+```typescript
+const solidityVerifier = `
+ // Velikost mapy: ${width} x ${height}
+ \n${zokrates.exportSolidityVerifier(verifierKey)}
+ `
+```
+
+Ověřovatel Solidity, chytrý kontrakt, který můžeme nasadit na blockchain a použít k ověření důkazů generovaných `digCompiled.program`.
+
+```typescript
+ return {
+ zkDig,
+ calculateMapHash,
+ solidityVerifier,
+ }
+}
+```
+
+Nakonec vraťte vše, co by mohl jiný kód potřebovat.
+
+## Bezpečnostní testy {#security-tests}
+
+Bezpečnostní testy jsou důležité, protože chyba funkčnosti se nakonec projeví. Ale pokud je aplikace nezabezpečená, pravděpodobně to zůstane skryto po dlouhou dobu, než to odhalí někdo, kdo podvádí a získá zdroje, které patří ostatním.
+
+### Oprávnění {#permissions}
+
+V této hře je jedna privilegovaná entita, server. Je to jediný uživatel, který smí volat funkce v [`ServerSystem`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol). Můžeme použít [`cast`](https://book.getfoundry.sh/cast/) k ověření, že volání funkcí s oprávněním jsou povolena pouze jako účet serveru.
+
+[Soukromý klíč serveru je v `setupNetwork.ts`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/mud/setupNetwork.ts#L52).
+
+1. Na počítači, který spouští `anvil` (blockchain), nastavte tyto proměnné prostředí.
+
+ ```sh copy
+ WORLD_ADDRESS=0x8d8b6b8414e1e3dcfd4168561b9be6bd3bf6ec4b
+ UNAUTHORIZED_KEY=0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a
+ AUTHORIZED_KEY=0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d
+ ```
+
+2. Použijte `cast` k pokusu o nastavení adresy ověřovatele jako neoprávněné adresy.
+
+ ```sh copy
+ cast send $WORLD_ADDRESS 'app__setVerifier(address)' `cast address-zero` --private-key $UNAUTHORIZED_KEY
+ ```
+
+ Nejenže `cast` hlásí selhání, ale můžete otevřít **MUD Dev Tools** ve hře v prohlížeči, kliknout na **Tables** a vybrat **app\_\_VerifierAddress**. Podívejte se, že adresa není nulová.
+
+3. Nastavte adresu ověřovatele jako adresu serveru.
+
+ ```sh copy
+ cast send $WORLD_ADDRESS 'app__setVerifier(address)' `cast address-zero` --private-key $AUTHORIZED_KEY
+ ```
+
+ Adresa v **app\_\_VerifiedAddress** by nyní měla být nulová.
+
+Všechny funkce MUD ve stejném `System` procházejí stejným řízením přístupu, takže tento test považuji za dostatečný. Pokud ne, můžete zkontrolovat ostatní funkce v [`ServerSystem`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol).
+
+### Zneužití nulové znalosti {#zero-knowledge-abuses}
+
+Matematika k ověření Zokrates je nad rámec tohoto tutoriálu (a mých schopností). Můžeme však spustit různé kontroly na kódu s nulovou znalostí, abychom ověřili, že pokud není proveden správně, selže. Všechny tyto testy budou vyžadovat, abychom změnili [`zero-knowledge.ts`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts) a restartovali celou aplikaci. Nestačí restartovat proces serveru, protože to uvede aplikaci do nemožného stavu (hráč má rozehranou hru, ale hra již není pro server dostupná).
+
+#### Špatná odpověď {#wrong-answer}
+
+Nejjednodušší možností je poskytnout špatnou odpověď v důkazu s nulovou znalostí. Chcete-li to provést, přejděte do `zkDig` a [upravte řádek 91](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L91):
+
+```ts
+proof.inputs[3] = "0x" + "1".padStart(64, "0")
+```
+
+To znamená, že budeme vždy tvrdit, že je tam jedna bomba, bez ohledu na správnou odpověď. Zkuste si zahrát s touto verzí a na kartě **server** na obrazovce `pnpm dev` uvidíte tuto chybu:
+
+```
+ cause: {
+ code: 3,
+ message: 'execution reverted: revert: Zero knowledge verification fail',
+ data: '0x08c379a0000000000000000000000000000000000000000000000000000000000000002000000000000000
+000000000000000000000000000000000000000000000000205a65726f206b6e6f776c6564676520766572696669636174696f6
+e206661696c'
+ },
+```
+
+Takže tento druh podvodu selže.
+
+#### Špatný důkaz {#wrong-proof}
+
+Co se stane, když poskytneme správné informace, ale máme jen špatná data důkazu? Nyní nahraďte řádek 91:
+
+```ts
+proof.proof = {
+ a: ["0x" + "1".padStart(64, "0"), "0x" + "2".padStart(64, "0")],
+ b: [
+ ["0x" + "1".padStart(64, "0"), "0x" + "2".padStart(64, "0")],
+ ["0x" + "1".padStart(64, "0"), "0x" + "2".padStart(64, "0")],
+ ],
+ c: ["0x" + "1".padStart(64, "0"), "0x" + "2".padStart(64, "0")],
+}
+```
+
+Stále selhává, ale nyní selhává bez udání důvodu, protože k tomu dochází během volání ověřovatele.
+
+### Jak může uživatel ověřit kód s nulovou znalostí? {#user-verify-zero-trust}
+
+Chytré kontrakty je poměrně snadné ověřit. Vývojář obvykle zveřejní zdrojový kód v průzkumníku bloků a průzkumník bloků ověří, že se zdrojový kód zkompiluje do kódu v [transakci nasazení kontraktu](/developers/docs/smart-contracts/deploying/). V případě MUD `System`s je to [trochu složitější](https://mud.dev/cli/verify), ale ne o moc.
+
+S nulovou znalostí je to těžší. Ověřovatel obsahuje některé konstanty a provádí s nimi některé výpočty. To vám neřekne, co se dokazuje.
+
+```solidity
+ function verifyingKey() pure internal returns (VerifyingKey memory vk) {
+ vk.alpha = Pairing.G1Point(uint256(0x0f43f4fe7b5c2326fed4ac6ed2f4003ab9ab4ea6f667c2bdd77afb068617ee16), uint256(0x25a77832283f9726935219b5f4678842cda465631e72dbb24708a97ba5d0ce6f));
+ vk.beta = Pairing.G2Point([uint256(0x2cebd0fbd21aca01910581537b21ae4fed46bc0e524c055059aa164ba0a6b62b), uint256(0x18fd4a7bc386cf03a95af7163d5359165acc4e7961cb46519e6d9ee4a1e2b7e9)], [uint256(0x11449dee0199ef6d8eebfe43b548e875c69e7ce37705ee9a00c81fe52f11a009), uint256(0x066d0c83b32800d3f335bb9e8ed5e2924cf00e77e6ec28178592eac9898e1a00)]);
+```
+
+Řešením, alespoň do doby, než průzkumníci bloků přidají ověřování Zokrates do svých uživatelských rozhraní, je, aby vývojáři aplikací zpřístupnili programy Zokrates a aby si alespoň někteří uživatelé sami zkompilovali s příslušným ověřovacím klíčem.
+
+Postupujte takto:
+
+1. [Nainstalujte Zokrates](https://zokrates.github.io/gettingstarted.html).
+
+2. Vytvořte soubor `dig.zok` s programem Zokrates. Níže uvedený kód předpokládá, že jste ponechali původní velikost mapy, 10x5.
+
+ ```zokrates
+ import "utils/pack/bool/pack128.zok" as pack128;
+ import "hashes/poseidon/poseidon.zok" as poseidon;
+
+ def hashMap(bool[12][7] map) -> field {
+ bool[512] mut map1d = [false; 512];
+ u32 mut counter = 0;
+
+ for u32 x in 0..12 {
+ for u32 y in 0..7 {
+ map1d[counter] = map[x][y];
+ counter = counter+1;
+ }
+ }
+
+ field[4] hashMe = [
+ pack128(map1d[0..128]),
+ pack128(map1d[128..256]),
+ pack128(map1d[256..384]),
+ pack128(map1d[384..512])
+ ];
+
+ return poseidon(hashMe);
+ }
+
+
+ // Počet min na pozici (x,y)
+ def map2mineCount(bool[12][7] map, u32 x, u32 y) -> u8 {
+ return if map[x+1][y+1] { 1 } else { 0 };
+ }
+
+ def main(private bool[12][7] map, u32 x, u32 y) -> (field, u8) {
+ return (hashMap(map) ,
+ if map2mineCount(map, x, y) > 0 { 0xFF } else {
+ map2mineCount(map, x-1, y-1) + map2mineCount(map, x, y-1) + map2mineCount(map, x+1, y-1) +
+ map2mineCount(map, x-1, y) + map2mineCount(map, x+1, y) +
+ map2mineCount(map, x-1, y+1) + map2mineCount(map, x, y+1) + map2mineCount(map, x+1, y+1)
+ }
+ );
+ }
+ ```
+
+3. Zkompilujte kód Zokrates a vytvořte ověřovací klíč. Ověřovací klíč musí být vytvořen se stejnou entropií, jaká byla použita v původním serveru, [v tomto případě prázdný řetězec](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L67).
+
+ ```sh copy
+ zokrates compile --input dig.zok
+ zokrates setup -e ""
+ ```
+
+4. Vytvořte si vlastní ověřovač Solidity a ověřte, že je funkčně shodný s tím na blockchainu (server přidává komentář, ale to není důležité).
+
+ ```sh copy
+ zokrates export-verifier
+ diff verifier.sol ~/20240901-secret-state/packages/contracts/src/verifier.sol
+ ```
+
+## Rozhodnutí o návrhu {#design}
+
+V každé dostatečně složité aplikaci existují konkurenční cíle návrhu, které vyžadují kompromisy. Podívejme se na některé kompromisy a proč je současné řešení vhodnější než jiné možnosti.
+
+### Proč nulová znalost {#why-zero-knowledge}
+
+Pro Hledání min ve skutečnosti nepotřebujete nulovou znalost. Server může vždy držet mapu a pak ji jednoduše odhalit, když hra skončí. Poté na konci hry může chytrý kontrakt vypočítat haš mapy, ověřit, že se shoduje, a pokud ne, penalizovat server nebo hru zcela ignorovat.
+
+Nepoužil jsem toto jednodušší řešení, protože funguje pouze pro krátké hry s dobře definovaným koncovým stavem. Když je hra potenciálně nekonečná (jako v případě [autonomních světů](https://0xparc.org/blog/autonomous-worlds)), potřebujete řešení, které prokáže stav, _aniž_ by ho odhalilo.
+
+Jako tutoriál tento článek potřeboval krátkou hru, která je snadno pochopitelná, ale tato technika je nejužitečnější pro delší hry.
+
+### Proč Zokrates? {#why-zokrates}
+
+[Zokrates](https://zokrates.github.io/) není jedinou dostupnou knihovnou s nulovou znalostí, ale je podobný normálnímu, [imperativnímu](https://en.wikipedia.org/wiki/Imperative_programming) programovacímu jazyku a podporuje booleovské proměnné.
+
+Pro vaši aplikaci s odlišnými požadavky můžete raději použít [Circum](https://docs.circom.io/getting-started/installation/) nebo [Cairo](https://www.cairo-lang.org/tutorials/getting-started-with-cairo/).
+
+### Kdy kompilovat Zokrates {#when-compile-zokrates}
+
+V tomto programu kompilujeme programy Zokrates [pokaždé, když se server spustí](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L60-L61). Je to zjevné plýtvání zdroji, ale toto je tutoriál optimalizovaný pro jednoduchost.
+
+Kdybych psal aplikaci na produkční úrovni, zkontroloval bych, zda mám soubor s kompilovanými programy Zokrates pro tuto velikost minového pole, a pokud ano, použil bych ho. Totéž platí pro nasazení ověřovacího kontraktu na blockchainu.
+
+### Vytvoření klíčů ověřovatele a dokazovatele {#key-creation}
+
+[Vytváření klíčů](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L63-L69) je další čistý výpočet, který není nutné provádět více než jednou pro danou velikost minového pole. Opět se to dělá pouze jednou pro zjednodušení.
+
+Kromě toho bychom mohli použít [setup ceremonii](https://zokrates.github.io/toolbox/trusted_setup.html#initializing-a-phase-2-ceremony). Výhodou setup ceremonie je, že k podvádění důkazu s nulovou znalostí potřebujete buď entropii, nebo nějaký mezivýsledek od každého účastníka. Pokud je alespoň jeden účastník ceremonie poctivý a smaže tyto informace, jsou důkazy s nulovou znalostí v bezpečí před určitými útoky. Neexistuje však _žádný mechanismus_, který by ověřil, že informace byly smazány všude. Pokud jsou důkazy s nulovou znalostí kriticky důležité, chcete se zúčastnit setup ceremonie.
+
+Zde se spoléháme na [perpetual powers of tau](https://github.com/privacy-scaling-explorations/perpetualpowersoftau), kterých se zúčastnily desítky účastníků. Je to pravděpodobně dostatečně bezpečné a mnohem jednodušší. Během vytváření klíčů také nepřidáváme entropii, což uživatelům usnadňuje [ověření konfigurace s nulovou znalostí](#user-verify-zero-trust).
+
+### Kde ověřovat {#where-verification}
+
+Důkazy s nulovou znalostí můžeme ověřit buď na blockchainu (což stojí gas), nebo v klientovi (pomocí [`verify`](https://zokrates.github.io/toolbox/zokrates_js.html#verifyverificationkey-proof)). Zvolil jsem první možnost, protože to umožňuje [ověřit ověřovatele](#user-verify-zero-trust) jednou a pak důvěřovat, že se nezmění, dokud adresa kontraktu zůstane stejná. Pokud by se ověření provádělo na klientovi, museli byste ověřit kód, který obdržíte při každém stažení klienta.
+
+Ačkoli je tato hra pro jednoho hráče, mnoho blockchainových her je pro více hráčů. Onchain ověření znamená, že důkaz s nulovou znalostí ověříte pouze jednou. Provedení v klientovi by vyžadovalo, aby každý klient ověřoval nezávisle.
+
+### Zploštit mapu v TypeScriptu nebo Zokrates? {#where-flatten}
+
+Obecně platí, že když lze zpracování provést buď v TypeScriptu, nebo v Zokrates, je lepší to udělat v TypeScriptu, který je mnohem rychlejší a nevyžaduje důkazy s nulovou znalostí. To je například důvod, proč neposkytujeme Zokrates haš a nenutíme ho ověřovat, že je správný. Hašování musí být provedeno uvnitř Zokrates, ale shoda mezi vráceným hašem a hašem na blockchainu může proběhnout mimo něj.
+
+Přesto stále [zplošťujeme mapu v Zokrates](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L15-L20), i když jsme to mohli udělat v TypeScriptu. Důvodem je, že ostatní možnosti jsou podle mého názoru horší.
+
+- Poskytněte jednorozměrné pole booleovských hodnot kódu Zokrates a použijte výraz jako `x*(height+2)
+ +y` k získání dvourozměrné mapy. To by [kód](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L44-L47) poněkud zkomplikovalo, takže jsem se rozhodl, že zvýšení výkonu za to pro tutoriál nestojí.
+
+- Pošlete Zokrates jak jednorozměrné pole, tak dvourozměrné pole. Toto řešení nám však nic nepřináší. Kód Zokrates by musel ověřit, že poskytnuté jednorozměrné pole je skutečně správnou reprezentací dvourozměrného pole. Takže by nedošlo k žádnému zvýšení výkonu.
+
+- Zploštit dvourozměrné pole v Zokrates. Toto je nejjednodušší možnost, takže jsem si ji vybral.
+
+### Kde ukládat mapy {#where-store-maps}
+
+V této aplikaci je [`gamesInProgress`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L20) jednoduše proměnná v paměti. To znamená, že pokud váš server selže a je třeba ho restartovat, všechny uložené informace jsou ztraceny. Nejenže hráči nemohou pokračovat ve hře, nemohou ani začít novou hru, protože onchain komponenta si myslí, že stále mají rozehranou hru.
+
+Toto je zjevně špatný návrh pro produkční systém, ve kterém byste tyto informace ukládali do databáze. Jediný důvod, proč jsem zde použil proměnnou, je, že se jedná o tutoriál a hlavní úvahou je jednoduchost.
+
+## Závěr: Za jakých podmínek je toto vhodná technika? {#conclusion}
+
+Takže teď víte, jak napsat hru se serverem, který ukládá tajný stav, který nepatří na blockchain. Ale v jakých případech byste to měli dělat? Jsou zde dvě hlavní úvahy.
+
+- _Dlouhotrvající hra_: [Jak bylo zmíněno výše](#why-zero-knowledge), v krátké hře můžete jednoduše zveřejnit stav, jakmile hra skončí, a nechat vše ověřit. To ale není možnost, když hra trvá dlouhou nebo neurčitou dobu a stav musí zůstat tajný.
+
+- _Určitá centralizace je přijatelná_: Důkazy s nulovou znalostí mohou ověřit integritu, že entita nefalšuje výsledky. Co nemohou udělat, je zajistit, že entita bude stále dostupná a bude odpovídat na zprávy. V situacích, kdy musí být dostupnost také decentralizovaná, nejsou důkazy s nulovou znalostí dostatečným řešením a potřebujete [výpočet více stran](https://en.wikipedia.org/wiki/Secure_multi-party_computation).
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
+
+### Poděkování {#acknowledgements}
+
+- Alvaro Alonso si přečetl návrh tohoto článku a vyjasnil některé mé nejasnosti ohledně Zokrates.
+
+Za zbývající chyby jsem zodpovědný já.
diff --git a/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md b/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md
new file mode 100644
index 00000000000..fbb6576fab0
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md
@@ -0,0 +1,52 @@
+---
+title: Kontrolní seznam zabezpečení chytrých kontraktů
+description: Doporučený pracovní postup pro psaní bezpečných chytrých kontraktů
+author: "Trailofbits"
+tags: [ "chytré kontrakty", "bezpečnost", "solidity" ]
+skill: intermediate
+lang: cs
+published: 2020-09-07
+source: Tvorba bezpečných kontraktů
+sourceUrl: https://github.com/crytic/building-secure-contracts/blob/master/development-guidelines/workflow.md
+---
+
+## Kontrolní seznam pro vývoj chytrých kontraktů {#smart-contract-development-checklist}
+
+Zde je obecný postup, který doporučujeme dodržovat při psaní vašich chytrých kontraktů.
+
+Zkontrolujte, zda se nevyskytují známé bezpečnostní problémy:
+
+- Zkontrolujte své kontrakty pomocí nástroje [Slither](https://github.com/crytic/slither). Obsahuje více než 40 vestavěných detektorů pro běžné zranitelnosti. Spouštějte jej při každém odevzdání nového kódu a zajistěte, aby měl čistý výstup (nebo použijte režim triage k potlačení určitých problémů).
+- Zkontrolujte své kontrakty pomocí nástroje [Crytic](https://crytic.io/). Kontroluje 50 problémů, které Slither nekontroluje. Crytic může také pomoci vašemu týmu udržet si vzájemný přehled, protože snadno odhaluje bezpečnostní problémy v pull requestech na GitHubu.
+
+Zvažte speciální vlastnosti svého kontraktu:
+
+- Jsou vaše kontrakty aktualizovatelné? Zkontrolujte kód pro aktualizovatelnost na přítomnost chyb pomocí [`slither-check-upgradeability`](https://github.com/crytic/slither/wiki/Upgradeability-Checks) nebo [Crytic](https://blog.trailofbits.com/2020/06/12/upgradeable-contracts-made-safer-with-crytic/). Zdokumentovali jsme 17 způsobů, jak se mohou aktualizace pokazit.
+- Jsou vaše kontrakty v souladu se standardy ERC? Zkontrolujte je pomocí [`slither-check-erc`](https://github.com/crytic/slither/wiki/ERC-Conformance). Tento nástroj okamžitě identifikuje odchylky od šesti běžných specifikací.
+- Integrujete se s tokeny třetích stran? Než se spolehnete na externí kontrakty, projděte si náš [kontrolní seznam pro integraci tokenů](/developers/tutorials/token-integration-checklist/).
+
+Vizuálně zkontrolujte kritické bezpečnostní prvky vašeho kódu:
+
+- Zkontrolujte tiskový výstup [inheritance-graph](https://github.com/trailofbits/slither/wiki/Printer-documentation#inheritance-graph) nástroje Slither. Vyhněte se nechtěnému zastínění (shadowing) a problémům s C3 linearizací.
+- Zkontrolujte tiskový výstup [function-summary](https://github.com/trailofbits/slither/wiki/Printer-documentation#function-summary) nástroje Slither. Reportuje viditelnost funkcí a řízení přístupu.
+- Zkontrolujte tiskový výstup [vars-and-auth](https://github.com/trailofbits/slither/wiki/Printer-documentation#variables-written-and-authorization) nástroje Slither. Reportuje řízení přístupu ke stavovým proměnným.
+
+Zdokumentujte kritické bezpečnostní vlastnosti a použijte automatizované generátory testů k jejich vyhodnocení:
+
+- Naučte se, jak [dokumentovat bezpečnostní vlastnosti svého kódu](/developers/tutorials/guide-to-smart-contract-security-tools/). Zpočátku to není snadné, ale je to nejdůležitější činnost pro dosažení dobrého výsledku. Je to také předpokladem pro použití jakýchkoli pokročilých technik v tomto návodu.
+- Definujte bezpečnostní vlastnosti v jazyce Solidity pro použití s nástroji [Echidna](https://github.com/crytic/echidna) a [Manticore](https://manticore.readthedocs.io/en/latest/verifier.html). Zaměřte se na váš stavový automat, řízení přístupu, aritmetické operace, externí interakce a soulad se standardy.
+- Definujte bezpečnostní vlastnosti pomocí [Python API nástroje Slither](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/). Zaměřte se na dědičnost, závislosti proměnných, řízení přístupu a další strukturální problémy.
+- Spouštějte své testy vlastností při každém commitu pomocí nástroje [Crytic](https://crytic.io). Crytic dokáže zpracovat a vyhodnotit testy bezpečnostních vlastností, takže všichni ve vašem týmu mohou na GitHubu snadno vidět, že procházejí. Neúspěšné testy mohou zablokovat commity.
+
+Nakonec si dejte pozor na problémy, které automatizované nástroje nedokážou snadno najít:
+
+- Nedostatek soukromí: všichni ostatní mohou vidět vaše transakce, zatímco jsou zařazeny v poolu
+- Front-running transakce
+- Kryptografické operace
+- Rizikové interakce s externími komponenty DeFi
+
+## Požádejte o pomoc {#ask-for-help}
+
+[Konzultační hodiny k Ethereu](https://calendly.com/dan-trailofbits/office-hours) se konají každé úterý odpoledne. Tato hodinová, individuální sezení jsou příležitostí zeptat se nás na jakékoli otázky, které máte ohledně bezpečnosti, řešit problémy s používáním našich nástrojů a získat zpětnou vazbu od odborníků na váš současný přístup. Pomůžeme vám projít tímto průvodcem.
+
+Připojte se na náš Slack: [Empire Hacking](https://join.slack.com/t/empirehacking/shared_invite/zt-h97bbrj8-1jwuiU33nnzg67JcvIciUw). Jsme vždy k dispozici na kanálech #crytic a #ethereum, pokud máte jakékoli dotazy.
diff --git a/public/content/translations/cs/developers/tutorials/send-token-ethersjs/index.md b/public/content/translations/cs/developers/tutorials/send-token-ethersjs/index.md
new file mode 100644
index 00000000000..48e42321e11
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/send-token-ethersjs/index.md
@@ -0,0 +1,210 @@
+---
+title: Posílání tokenů pomocí ethers.js
+description: Návod pro začátečníky k posílání tokenů pomocí ethers.js.
+author: Kim YongJun
+tags: [ "ETHERS.JS", "ERC-20", "TOKENY" ]
+skill: beginner
+lang: cs
+published: 2021-04-06
+---
+
+## Odeslání tokenu pomocí ethers.js(5.0) {#send-token}
+
+### V tomto tutoriálu se naučíte {#you-learn-about}
+
+- Importovat ethers.js
+- Převést token
+- Nastavit cenu transakčních poplatků podle situace v síti
+
+### Než začnete {#to-get-started}
+
+Abyste mohli začít, musíme nejprve importovat knihovnu ethers.js do našeho javascriptu
+Zahrňte ethers.js(5.0)
+
+### Instalace {#install-ethersjs}
+
+```shell
+/home/ricmoo> npm install --save ethers
+```
+
+ES6 v prohlížeči
+
+```html
+
+```
+
+ES3(UMD) v prohlížeči
+
+```html
+
+```
+
+### Parametry {#param}
+
+1. **`contract_address`**: Adresa kontraktu tokenu (adresa kontraktu je potřeba, když token, který chcete převést, není ether)
+2. **`send_token_amount`**: Částka, kterou chcete poslat příjemci
+3. **`to_address`**: Adresa příjemce
+4. **`send_account`**: Adresa odesílatele
+5. **`private_key`**: Soukromý klíč odesílatele k podepsání transakce a skutečnému převodu tokenů
+
+## Upozornění {#notice}
+
+`signTransaction(tx)` je odstraněno, protože `sendTransaction()` to dělá interně.
+
+## Postupy odesílání {#procedure}
+
+### 1. Připojit se k síti (testnet) {#connect-to-network}
+
+#### Nastavit poskytovatele (Infura) {#set-provider}
+
+Připojit se k Ropsten testnetu
+
+```javascript
+window.ethersProvider = new ethers.providers.InfuraProvider("ropsten")
+```
+
+### 2. Vytvořit peněženku {#create-wallet}
+
+```javascript
+let wallet = new ethers.Wallet(private_key)
+```
+
+### 3. Připojit peněženku k síti {#connect-wallet-to-net}
+
+```javascript
+let walletSigner = wallet.connect(window.ethersProvider)
+```
+
+### 4. Získat aktuální cenu transakčních poplatků {#get-gas}
+
+```javascript
+window.ethersProvider.getGasPrice() // cena transakčních poplatků
+```
+
+### 5. Definovat transakci {#define-transaction}
+
+Níže definované proměnné jsou závislé na `send_token()`
+
+### Parametry transakce {#transaction-params}
+
+1. **`send_account`**: adresa odesílatele tokenu
+2. **`to_address`**: adresa příjemce tokenu
+3. **`send_token_amount`**: počet tokenů k odeslání
+4. **`gas_limit`**: limit transakčních poplatků
+5. **`gas_price`**: cena transakčních poplatků
+
+[Jak používat, viz níže](#how-to-use)
+
+```javascript
+const tx = {
+ from: send_account,
+ to: to_address,
+ value: ethers.utils.parseEther(send_token_amount),
+ nonce: window.ethersProvider.getTransactionCount(send_account, "latest"),
+ gasLimit: ethers.utils.hexlify(gas_limit), // 100000
+ gasPrice: gas_price,
+}
+```
+
+### 6. Převod {#transfer}
+
+```javascript
+walletSigner.sendTransaction(tx).then((transaction) => {
+ console.dir(transaction)
+ alert("Odesílání dokončeno!")
+})
+```
+
+## Jak to použít {#how-to-use}
+
+```javascript
+let private_key =
+ "41559d28e936dc92104ff30691519693fc753ffbee6251a611b9aa1878f12a4d"
+let send_token_amount = "1"
+let to_address = "0x4c10D2734Fb76D3236E522509181CC3Ba8DE0e80"
+let send_address = "0xda27a282B5B6c5229699891CfA6b900A716539E6"
+let gas_limit = "0x100000"
+let wallet = new ethers.Wallet(private_key)
+let walletSigner = wallet.connect(window.ethersProvider)
+let contract_address = ""
+window.ethersProvider = new ethers.providers.InfuraProvider("ropsten")
+
+send_token(
+ contract_address,
+ send_token_amount,
+ to_address,
+ send_address,
+ private_key
+)
+```
+
+### Úspěch! {#success}
+
+
+
+## send_token() {#send-token-method}
+
+```javascript
+function send_token(
+ contract_address,
+ send_token_amount,
+ to_address,
+ send_account,
+ private_key
+) {
+ let wallet = new ethers.Wallet(private_key)
+ let walletSigner = wallet.connect(window.ethersProvider)
+
+ window.ethersProvider.getGasPrice().then((currentGasPrice) => {
+ let gas_price = ethers.utils.hexlify(parseInt(currentGasPrice))
+ console.log(`gas_price: ${gas_price}`)
+
+ if (contract_address) {
+ // obecné odeslání tokenu
+ let contract = new ethers.Contract(
+ contract_address,
+ send_abi,
+ walletSigner
+ )
+
+ // Kolik tokenů?
+ let numberOfTokens = ethers.utils.parseUnits(send_token_amount, 18)
+ console.log(`numberOfTokens: ${numberOfTokens}`)
+
+ // Odeslat tokeny
+ contract.transfer(to_address, numberOfTokens).then((transferResult) => {
+ console.dir(transferResult)
+ alert("token odeslán")
+ })
+ } // odeslání etheru
+ else {
+ const tx = {
+ from: send_account,
+ to: to_address,
+ value: ethers.utils.parseEther(send_token_amount),
+ nonce: window.ethersProvider.getTransactionCount(
+ send_account,
+ "latest"
+ ),
+ gasLimit: ethers.utils.hexlify(gas_limit), // 100000
+ gasPrice: gas_price,
+ }
+ console.dir(tx)
+ try {
+ walletSigner.sendTransaction(tx).then((transaction) => {
+ console.dir(transaction)
+ alert("Odesílání dokončeno!")
+ })
+ } catch (error) {
+ alert("odeslání se nezdařilo!!")
+ }
+ }
+ })
+}
+```
diff --git a/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md b/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
new file mode 100644
index 00000000000..67806b0836c
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
@@ -0,0 +1,208 @@
+---
+title: Odesílání transakcí pomocí Web3
+description: "Toto je průvodce pro začátečníky, jak odesílat transakce v síti Ethereum pomocí Web3. Existují tři hlavní kroky pro odeslání transakce do blockchainu Etherea: vytvoření, podepsání a vysílání. Všechny tři si projdeme."
+author: "Elan Halpern"
+tags: [ "transakce", "web3.js", "alchemy" ]
+skill: beginner
+lang: cs
+published: 2020-11-04
+source: dokumentace Alchemy
+sourceUrl: https://www.alchemy.com/docs/how-to-send-transactions-on-ethereum
+---
+
+Toto je průvodce pro začátečníky, jak odesílat transakce v síti Ethereum pomocí Web3. Existují tři hlavní kroky pro odeslání transakce do blockchainu Etherea: vytvoření, podepsání a vysílání. Všechny tři si projdeme a doufejme, že odpovíme na všechny vaše případné otázky! V tomto návodu budeme k odesílání našich transakcí do řetězce Ethereum používat [Alchemy](https://www.alchemy.com/). Můžete si [zde vytvořit bezplatný účet Alchemy](https://auth.alchemyapi.io/signup).
+
+**POZNÁMKA:** Tento průvodce je určen k podepisování transakcí na _backendu_ vaší aplikace. Pokud chcete integrovat podepisování transakcí na frontendu, podívejte se na integraci [Web3 s poskytovatelem prohlížeče](https://docs.alchemy.com/reference/api-overview#with-a-browser-provider).
+
+## Základy {#the-basics}
+
+Stejně jako většina blockchainových vývojářů, když začínali, jste si možná udělali průzkum, jak poslat transakci (něco, co by mělo být docela jednoduché), a narazili jste na spoustu průvodců, z nichž každý říkal něco jiného a nechal vás trochu zahlcené a zmatené. Pokud se v tom poznáváte, nedělejte si starosti; v určitém okamžiku jsme si tím prošli všichni! Než tedy začneme, ujasněme si několik věcí:
+
+### 1. Alchemy neukládá vaše soukromé klíče {#alchemy-does-not-store-your-private-keys}
+
+- To znamená, že Alchemy nemůže vaším jménem podepisovat a odesílat transakce. Důvodem jsou bezpečnostní účely. Alchemy vás nikdy nepožádá o sdílení vašeho soukromého klíče a vy byste nikdy neměli sdílet svůj soukromý klíč s hostovaným uzlem (nebo s kýmkoli jiným).
+- Pomocí základního API od Alchemy můžete číst z blockchainu, ale abyste do něj mohli zapisovat, budete muset použít něco jiného k podepsání transakcí před jejich odesláním přes Alchemy (to samé platí pro jakoukoli jinou [službu uzlů](/developers/docs/nodes-and-clients/nodes-as-a-service/)).
+
+### 2. Co je to „podepisovatel“? {#what-is-a-signer}
+
+- Podepisovatelé za vás podepíší transakce pomocí vašeho soukromého klíče. V tomto návodu budeme k podepsání naší transakce používat [Alchemy web3](https://docs.alchemyapi.io/alchemy/documentation/alchemy-web3), ale můžete použít i jakoukoliv jinou web3 knihovnu.
+- Na frontendu je dobrým příkladem podepisovatele [MetaMask](https://metamask.io/), který za vás bude podepisovat a odesílat transakce.
+
+### 3. Proč musím podepisovat své transakce? {#why-do-i-need-to-sign-my-transactions}
+
+- Každý uživatel, který chce odeslat transakci v síti Ethereum, musí transakci podepsat (pomocí svého soukromého klíče), aby se ověřilo, že původce transakce je ten, za koho se vydává.
+- Je velmi důležité tento soukromý klíč chránit, protože přístup k němu poskytuje plnou kontrolu nad vaším účtem Ethereum, což vám (nebo komukoli s přístupem) umožňuje provádět transakce vaším jménem.
+
+### 4. Jak ochráním svůj soukromý klíč? {#how-do-i-protect-my-private-key}
+
+- Existuje mnoho způsobů, jak chránit svůj soukromý klíč a používat ho k odesílání transakcí. V tomto návodu budeme používat soubor `.env`. Můžete však také použít samostatného poskytovatele, který ukládá soukromé klíče, použít soubor keystore nebo jiné možnosti.
+
+### 5. Jaký je rozdíl mezi `eth_sendTransaction` a `eth_sendRawTransaction`? {#difference-between-send-and-send-raw}
+
+`eth_sendTransaction` a `eth_sendRawTransaction` jsou obě funkce API Etherea, které vysílají transakci do sítě Ethereum, aby byla přidána do budoucího bloku. Liší se v tom, jak nakládají s podepisováním transakcí.
+
+- [`eth_sendTransaction`](https://docs.web3js.org/api/web3-eth/function/sendTransaction) se používá k odesílání _nepodepsaných_ transakcí, což znamená, že uzel, na který odesíláte, musí spravovat váš soukromý klíč, aby mohl transakci podepsat před jejím vysíláním do řetězce. Jelikož Alchemy neuchovává soukromé klíče uživatelů, tuto metodu nepodporuje.
+- [`eth_sendRawTransaction`](https://docs.alchemyapi.io/documentation/alchemy-api-reference/json-rpc#eth_sendrawtransaction) se používá k vysílání transakcí, které již byly podepsány. To znamená, že nejprve musíte použít [`signTransaction(tx, private_key)`](https://docs.web3js.org/api/web3-eth-accounts/function/signTransaction) a poté výsledek předat do `eth_sendRawTransaction`.
+
+Při použití web3 se k `eth_sendRawTransaction` přistupuje voláním funkce [web3.eth.sendSignedTransaction](https://docs.web3js.org/api/web3-eth/function/sendSignedTransaction).
+
+To je to, co budeme používat v tomto návodu.
+
+### 6. Co je to knihovna web3? {#what-is-the-web3-library}
+
+- Web3.js je obalová knihovna pro standardní volání JSON-RPC, která se ve vývoji pro Ethereum běžně používá.
+- Existuje mnoho web3 knihoven pro různé jazyky. V tomto návodu budeme používat [Alchemy Web3](https://docs.alchemy.com/reference/api-overview), který je napsán v JavaScriptu. Můžete se podívat na další možnosti [zde](https://docs.alchemyapi.io/guides/getting-started#other-web3-libraries), jako je například [ethers.js](https://docs.ethers.org/v5/).
+
+Dobře, teď, když máme několik těchto otázek z cesty, přejděme k návodu. Neváhejte se kdykoli na cokoli zeptat na [Discordu](https://discord.gg/gWuC7zB) společnosti Alchemy!
+
+### 7. Jak posílat bezpečné, soukromé transakce a transakce s optimalizovanými poplatky? {#how-to-send-secure-gas-optimized-and-private-transactions}
+
+- [Alchemy má sadu Transact API](https://docs.alchemy.com/reference/transact-api-quickstart). Můžete je použít k odesílání posílených transakcí, simulaci transakcí před jejich uskutečněním, odesílání soukromých transakcí a odesílání transakcí optimalizovaných z hlediska poplatků
+- Můžete také použít [Notify API](https://docs.alchemy.com/docs/alchemy-notify), abyste byli upozorněni, když je vaše transakce vytažena z mempoolu a přidána do řetězce.
+
+**POZNÁMKA:** Tento průvodce vyžaduje účet Alchemy, adresu Ethereum nebo peněženku MetaMask, nainstalovaný NodeJs a npm. Pokud ne, postupujte podle následujících kroků:
+
+1. [Vytvořte si bezplatný účet Alchemy](https://auth.alchemyapi.io/signup)
+2. [Vytvořte si účet MetaMask](https://metamask.io/) (nebo získejte adresu Ethereum)
+3. [Postupujte podle těchto kroků k instalaci NodeJs a NPM](https://docs.alchemy.com/alchemy/guides/alchemy-for-macs)
+
+## Kroky k odeslání vaší transakce {#steps-to-sending-your-transaction}
+
+### 1. Vytvořte aplikaci Alchemy na testnetu Sepolia {#create-an-alchemy-app-on-the-sepolia-testnet}
+
+Přejděte na svůj [Alchemy Dashboard](https://dashboard.alchemyapi.io/) a vytvořte novou aplikaci a pro svou síť zvolte Sepolia (nebo jakýkoli jiný testnet).
+
+### 2. Požádejte o ETH z faucetu Sepolia {#request-eth-from-sepolia-faucet}
+
+Chcete-li obdržet ETH, postupujte podle pokynů na [faucetu Sepolia od Alchemy](https://www.sepoliafaucet.com/). Ujistěte se, že jste zadali svou adresu Ethereum na síti **Sepolia** (z MetaMasku) a ne jinou síť. Po provedení pokynů si zkontrolujte, že jste ETH obdrželi do své peněženky.
+
+### 3. Vytvořte nový adresář projektu a přejděte do něj pomocí `cd` {#create-a-new-project-direction}
+
+Vytvořte nový adresář projektu z příkazového řádku (terminál pro Mac) a přejděte do něj:
+
+```
+mkdir sendtx-example
+cd sendtx-example
+```
+
+### 4. Nainstalujte si Alchemy Web3 (nebo jakoukoli web3 knihovnu) {#install-alchemy-web3}
+
+Spusťte následující příkaz ve svém projektovém adresáři, abyste si nainstalovali [Alchemy Web3](https://docs.alchemy.com/reference/api-overview):
+
+Poznámka: Pokud byste chtěli použít knihovnu ethers.js, [postupujte podle pokynů zde](https://docs.alchemy.com/docs/how-to-send-transactions-on-ethereum).
+
+```
+npm install @alch/alchemy-web3
+```
+
+### 5. Nainstalujte si dotenv {#install-dotenv}
+
+Použijeme soubor `.env` k bezpečnému uložení našeho klíče API a soukromého klíče.
+
+```
+npm install dotenv --save
+```
+
+### 6. Vytvořte soubor `.env` {#create-the-dotenv-file}
+
+Vytvořte soubor `.env` ve svém projektovém adresáři a přidejte následující (nahraďte "`your-api-url`" a "`your-private-key`")
+
+- Chcete-li najít adresu URL vašeho Alchemy API, přejděte na stránku s podrobnostmi aplikace, kterou jste právě vytvořili na svém ovládacím panelu, klikněte na „View Key“ v pravém horním rohu a zkopírujte URL adresu HTTP.
+- Chcete-li najít svůj soukromý klíč pomocí MetaMasku, podívejte se na tohoto [průvodce](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-Export-an-Account-Private-Key).
+
+```
+API_URL = "your-api-url"
+PRIVATE_KEY = "your-private-key"
+```
+
+
+
+
+Nenahrávejte `.env`! Prosím, ujistěte se, že nikdy nesdílíte ani nezveřejňujete svůj soubor `.env` s nikým, protože tím ohrožujete svá tajemství. Pokud používáte správu verzí, přidejte svůj soubor `.env` do souboru gitignore.
+
+
+
+
+### 7. Vytvořte soubor `sendTx.js` {#create-sendtx-js}
+
+Skvělé, teď, když máme svá citlivá data chráněná v souboru `.env`, pojďme začít kódovat. Jako příklad odeslání transakce budeme posílat ETH zpět do faucetu Sepolia.
+
+Vytvořte soubor `sendTx.js`, ve kterém nakonfigurujeme a odešleme naši ukázkovou transakci, a přidejte do něj následující řádky kódu:
+
+```
+async function main() {
+ require('dotenv').config();
+ const { API_URL, PRIVATE_KEY } = process.env;
+ const { createAlchemyWeb3 } = require("@alch/alchemy-web3");
+ const web3 = createAlchemyWeb3(API_URL);
+ const myAddress = '0x610Ae88399fc1687FA7530Aac28eC2539c7d6d63' //TODO: nahraďte tuto adresu vaší veřejnou adresou
+
+ const nonce = await web3.eth.getTransactionCount(myAddress, 'latest'); // nonce se začíná počítat od 0
+
+ const transaction = {
+ 'to': '0x31B98D14007bDEe637298086988A0bBd31184523', // adresa faucetu pro vrácení ETH
+ 'value': 1000000000000000000, // 1 ETH
+ 'gas': 30000,
+ 'nonce': nonce,
+ // volitelné datové pole pro odeslání zprávy nebo spuštění chytrého kontraktu
+ };
+
+ const signedTx = await web3.eth.accounts.signTransaction(transaction, PRIVATE_KEY);
+
+ web3.eth.sendSignedTransaction(signedTx.rawTransaction, function(error, hash) {
+ if (!error) {
+ console.log("🎉 Haš vaší transakce je: ", hash, "\n Zkontrolujte Mempool Alchemy a zobrazte stav své transakce!");
+ } else {
+ console.log("❗Při odesílání transakce se něco pokazilo:", error)
+ }
+ });
+}
+
+main();
+```
+
+Nezapomeňte nahradit adresu na **řádku 6** vaší vlastní veřejnou adresou.
+
+Než se pustíme do spouštění tohoto kódu, promluvme si o některých jeho součástech.
+
+- `nonce` : Specifikace nonce se používá ke sledování počtu transakcí odeslaných z vaší adresy. Potřebujeme to z bezpečnostních důvodů a k zabránění [útokům typu replay](https://docs.alchemyapi.io/resources/blockchain-glossary#account-nonce). K získání počtu transakcí odeslaných z vaší adresy používáme [getTransactionCount](https://docs.alchemyapi.io/documentation/alchemy-api-reference/json-rpc#eth_gettransactioncount).
+- `transaction`: Objekt transakce má několik aspektů, které musíme specifikovat
+ - `to`: Toto je adresa, na kterou chceme poslat ETH. V tomto případě posíláme ETH zpět do [faucetu Sepolia](https://sepoliafaucet.com/), od kterého jsme je původně požadovali.
+ - `value`: Toto je částka, kterou si přejeme poslat, specifikovaná ve Wei, kde 10^18 Wei = 1 ETH
+ - `gas`: Existuje mnoho způsobů, jak určit správné množství gasu, které má vaše transakce obsahovat. Alchemy má dokonce [webhook pro cenu gasu](https://docs.alchemyapi.io/guides/alchemy-notify#address-activity-1), který vás upozorní, když cena gasu klesne pod určitou hranici. U transakcí na mainnetu je dobrým zvykem zkontrolovat odhadce poplatků za gas, jako je [ETH Gas Station](https://ethgasstation.info/), abyste určili správné množství gasu, které má transakce obsahovat. 21000 je minimální množství gasu, které operace na Ethereu spotřebuje, takže abychom zajistili, že se naše transakce provede, zadáme zde 30000.
+ - `nonce`: viz definice nonce výše. Nonce se začíná počítat od nuly.
+ - [VOLITELNÉ] data: Používá se k odeslání dodatečných informací s vaším převodem nebo k volání chytrého kontraktu, není vyžadováno pro převody zůstatku, podívejte se na poznámku níže.
+- `signedTx`: K podepsání našeho objektu transakce použijeme metodu `signTransaction` s naším `PRIVATE_KEY`
+- `sendSignedTransaction`: Jakmile máme podepsanou transakci, můžeme ji odeslat k zahrnutí do následujícího bloku pomocí `sendSignedTransaction`
+
+**Poznámka k datům**
+Existují dva hlavní typy transakcí, které lze v Ethereu odeslat.
+
+- Převod zůstatku: Odešlete ETH z jedné adresy na druhou. Není vyžadováno žádné datové pole, avšak pokud byste chtěli spolu s transakcí poslat další informace, můžete je v tomto poli uvést ve formátu HEX.
+ - Řekněme například, že bychom chtěli zapsat haš dokumentu IPFS do řetězce Ethereum, abychom mu dali neměnné časové razítko. Naše datové pole by pak mělo vypadat takto: data: `web3.utils.toHex('haš IPFS')`. A teď se kdokoli může dotázat řetězce a zjistit, kdy byl daný dokument přidán.
+- Transakce chytrého kontraktu: Spusťte nějaký kód chytrého kontraktu na řetězci. V tomto případě by datové pole mělo obsahovat chytrou funkci, kterou si přejete spustit, spolu s jakýmikoli parametry.
+ - Praktický příklad najdete v kroku 8 tohoto [návodu Hello World](https://docs.alchemyapi.io/alchemy/tutorials/hello-world-smart-contract#step-8-create-the-transaction).
+
+### 8. Spusťte kód pomocí `node sendTx.js` {#run-the-code-using-node-sendtx-js}
+
+Vraťte se do svého terminálu nebo příkazového řádku a spusťte:
+
+```
+node sendTx.js
+```
+
+### 9. Zobrazte svou transakci v Mempoolu {#see-your-transaction-in-the-mempool}
+
+Otevřete stránku [Mempool](https://dashboard.alchemyapi.io/mempool) na svém ovládacím panelu Alchemy a filtrujte podle aplikace, kterou jste vytvořili, abyste našli svou transakci. Zde můžeme sledovat přechod naší transakce z čekajícího stavu do stavu vytěženého (v případě úspěchu) nebo zahozeného stavu (v případě neúspěchu). Ujistěte se, že je nastaveno na „All“, abyste zachytili „vytěžené“, „čekající“ a „zahozené“ transakce. Svou transakci můžete také vyhledat tak, že budete hledat transakce odeslané na adresu `0x31b98d14007bdee637298086988a0bbd31184523`.
+
+Chcete-li zobrazit podrobnosti své transakce, jakmile ji najdete, vyberte haš transakce, který by vás měl přenést do zobrazení, které vypadá takto:
+
+
+
+Odtud si můžete prohlédnout svou transakci na Etherscanu kliknutím na červeně zakroužkovanou ikonu!
+
+**Jupííí! Právě jste odeslali svou první transakci na Ethereu pomocí Alchemy 🎉**
+
+_Pro zpětnou vazbu a návrhy k tomuto průvodci prosím napište Elanovi na [Discordu](https://discord.gg/A39JVCM) společnosti Alchemy!_
+
+_Původně publikováno na [https://docs.alchemyapi.io/tutorials/sending-transactions-using-web3-and-alchemy](https://docs.alchemyapi.io/tutorials/sending-transactions-using-web3-and-alchemy)_
diff --git a/public/content/translations/cs/developers/tutorials/server-components/index.md b/public/content/translations/cs/developers/tutorials/server-components/index.md
new file mode 100644
index 00000000000..abc157f8061
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/server-components/index.md
@@ -0,0 +1,295 @@
+---
+title: "Serverové komponenty a agenti pro web3 aplikace"
+description: Po přečtení tohoto tutoriálu budete schopni psát TypeScript servery, které naslouchají událostem na blockchainu a odpovídajícím způsobem reagují vlastními transakcemi. To vám umožní psát centralizované aplikace (protože server je bodem selhání), které ale mohou interagovat s web3 entitami. Stejné techniky lze také použít k napsání agenta, který reaguje na události na blockchainu bez zásahu člověka.
+
+author: Ori Pomerantz
+lang: cs
+tags: [ "agent", "server", "offchain" ]
+skill: beginner
+published: 2024-07-15
+---
+
+## Úvod {#introduction}
+
+Ve většině případů decentralizovaná aplikace používá server k distribuci softwaru, ale veškerá skutečná interakce probíhá mezi klientem (obvykle webovým prohlížečem) a blockchainem.
+
+
+
+Existují však případy, kdy by aplikaci prospěla serverová komponenta, která běží nezávisle. Takový server by byl schopen reagovat na události a na požadavky, které přicházejí z jiných zdrojů, jako je API, vydáváním transakcí.
+
+
+
+Existuje několik možných úkolů, které by takový server mohl plnit.
+
+- Držitel tajného stavu. Při hraní je často užitečné, aby hráči neměli k dispozici všechny informace, které hra zná. Nicméně, _na blockchainu neexistují žádná tajemství_, jakoukoli informaci, která je v blockchainu, může kdokoli snadno zjistit. Proto, pokud má být část stavu hry utajena, musí být uložena jinde (a případně nechat účinky tohoto stavu ověřit pomocí [důkazů s nulovou znalostí](/zero-knowledge-proofs)).
+
+- Centralizované orákulum. Pokud jsou sázky dostatečně nízké, externí server, který čte některé informace online a poté je zveřejňuje na řetězci, může být dostatečně dobrý na to, aby byl použit jako [orákulum](/developers/docs/oracles/).
+
+- Agent. Na blockchainu se nic nestane bez transakce, která by to aktivovala. Server může jednat jménem uživatele a provádět akce, jako je [arbitráž](/developers/docs/mev/#mev-examples-dex-arbitrage), když se naskytne příležitost.
+
+## Ukázkový program {#sample-program}
+
+Ukázkový server si můžete prohlédnout [na GitHubu](https://github.com/qbzzt/20240715-server-component). Tento server naslouchá událostem pocházejícím z [tohoto kontraktu](https://eth-holesky.blockscout.com/address/0xB8f6460Dc30c44401Be26B0d6eD250873d8a50A6?tab=contract_code), upravené verze Hardhat Greeteru. Když se pozdrav změní, změní ho zpět.
+
+Spustíte ho takto:
+
+1. Naklonujte repozitář.
+
+ ```sh copy
+ git clone https://github.com/qbzzt/20240715-server-component.git
+ cd 20240715-server-component
+ ```
+
+2. Nainstalujte potřebné balíčky. Pokud jej ještě nemáte, [nainstalujte nejprve Node](https://nodejs.org/en/download/package-manager).
+
+ ```sh copy
+ npm install
+ ```
+
+3. Upravte soubor `.env` a zadejte soukromý klíč účtu, který má ETH na testnetu Holesky. Pokud nemáte ETH na Holesky, můžete [použít tento faucet](https://holesky-faucet.pk910.de/).
+
+ ```sh filename=".env" copy
+ PRIVATE_KEY=0x
+ ```
+
+4. Spusťte server.
+
+ ```sh copy
+ npm start
+ ```
+
+5. Přejděte do [prohlížeče bloků](https://eth-holesky.blockscout.com/address/0xB8f6460Dc30c44401Be26B0d6eD250873d8a50A6?tab=write_contract) a pomocí jiné adresy, než je ta, ke které máte soukromý klíč, upravte pozdrav. Uvidíte, že pozdrav je automaticky změněn zpět.
+
+### Jak to funguje? Jak to funguje {#how-it-works}
+
+Nejjednodušší způsob, jak pochopit, jak napsat serverovou komponentu, je projít si ukázku řádek po řádku.
+
+#### `src/app.ts` {#src-app-ts}
+
+Drtivá většina programu je obsažena v [`src/app.ts`](https://github.com/qbzzt/20240715-server-component/blob/main/src/app.ts).
+
+##### Vytvoření nezbytných objektů
+
+```typescript
+import {
+ createPublicClient,
+ createWalletClient,
+ getContract,
+ http,
+ Address,
+} from "viem"
+```
+
+Toto jsou entity [Viem](https://viem.sh/), které potřebujeme, funkce a [typ `Address`](https://viem.sh/docs/glossary/types#address). Tento server je napsán v [TypeScriptu](https://www.typescriptlang.org/), což je rozšíření JavaScriptu, které ho činí [silně typovaným](https://en.wikipedia.org/wiki/Strong_and_weak_typing).
+
+```typescript
+import { privateKeyToAccount } from "viem/accounts"
+```
+
+[Tato funkce](https://viem.sh/docs/accounts/privateKey) nám umožňuje generovat informace o peněžence, včetně adresy, odpovídající soukromému klíči.
+
+```typescript
+import { holesky } from "viem/chains"
+```
+
+Abyste mohli v Viem používat blockchain, musíte importovat jeho definici. V tomto případě se chceme připojit k testovacímu blockchainu [Holesky](https://github.com/eth-clients/holesky).
+
+```typescript
+// Takto přidáváme definice z .env do process.env.
+import * as dotenv from "dotenv"
+dotenv.config()
+```
+
+Takto načítáme `.env` do prostředí. Potřebujeme to pro soukromý klíč (viz dále).
+
+```typescript
+const greeterAddress : Address = "0xB8f6460Dc30c44401Be26B0d6eD250873d8a50A6"
+const greeterABI = [
+ {
+ "inputs": [
+ {
+ "internalType": "string",
+ "name": "_greeting",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "constructor"
+ },
+ .
+ .
+ .
+ {
+ "inputs": [
+ {
+ "internalType": "string",
+ "name": "_greeting",
+ "type": "string"
+ }
+ ],
+ "name": "setGreeting",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ }
+] as const
+```
+
+Pro použití kontraktu potřebujeme jeho adresu a [ABI](/glossary/#abi). Obojí zde uvádíme.
+
+V JavaScriptu (a tedy i v TypeScriptu) nemůžete konstantě přiřadit novou hodnotu, ale _můžete_ upravit objekt, který je v ní uložen. Použitím přípony `as const` říkáme TypeScriptu, že seznam samotný je konstantní a nesmí být změněn.
+
+```typescript
+const publicClient = createPublicClient({
+ chain: holesky,
+ transport: http(),
+})
+```
+
+Vytvořte Viem [veřejného klienta](https://viem.sh/docs/clients/public.html). Veřejní klienti nemají připojený soukromý klíč, a proto nemohou odesílat transakce. Mohou volat [`view` funkce](https://www.tutorialspoint.com/solidity/solidity_view_functions.htm), číst zůstatky na účtech atd.
+
+```typescript
+const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`)
+```
+
+Proměnné prostředí jsou k dispozici v [`process.env`](https://www.totaltypescript.com/how-to-strongly-type-process-env). TypeScript je však silně typovaný. Proměnná prostředí může být jakýkoli řetězec, nebo prázdná, takže typem pro proměnnou prostředí je `string | undefined`. Klíč je však v Viem definován jako `0x${string}` (`0x` následované řetězcem). Zde říkáme TypeScriptu, že proměnná prostředí `PRIVATE_KEY` bude tohoto typu. Pokud ne, dojde k chybě za běhu.
+
+Funkce [`privateKeyToAccount`](https://viem.sh/docs/accounts/privateKey) pak použije tento soukromý klíč k vytvoření úplného objektu účtu.
+
+```typescript
+const walletClient = createWalletClient({
+ account,
+ chain: holesky,
+ transport: http(),
+})
+```
+
+Dále použijeme objekt účtu k vytvoření [klienta peněženky](https://viem.sh/docs/clients/wallet). Tento klient má soukromý klíč a adresu, takže jej lze použít k odesílání transakcí.
+
+```typescript
+const greeter = getContract({
+ address: greeterAddress,
+ abi: greeterABI,
+ client: { public: publicClient, wallet: walletClient },
+})
+```
+
+Nyní, když máme všechny předpoklady, můžeme konečně vytvořit [instanci kontraktu](https://viem.sh/docs/contract/getContract). Tuto instanci kontraktu použijeme ke komunikaci s on-chain kontraktem.
+
+##### Čtení z blockchainu
+
+```typescript
+console.log(`Current greeting:`, await greeter.read.greet())
+```
+
+Funkce kontraktu, které jsou pouze pro čtení ([`view`](https://www.tutorialspoint.com/solidity/solidity_view_functions.htm) a [`pure`](https://www.tutorialspoint.com/solidity/solidity_pure_functions.htm)), jsou dostupné pod `read`. V tomto případě ji používáme pro přístup k funkci [`greet`](https://eth-holesky.blockscout.com/address/0xB8f6460Dc30c44401Be26B0d6eD250873d8a50A6?tab=read_contract#cfae3217), která vrací pozdrav.
+
+JavaScript je jednovláknový, takže když spouštíme dlouhotrvající proces, musíme [specifikovat, že to děláme asynchronně](https://eloquentjavascript.net/11_async.html#h-XvLsfAhtsE). Volání blockchainu, i pro operaci pouze pro čtení, vyžaduje obousměrnou komunikaci mezi počítačem a uzlem blockchainu. To je důvod, proč zde specifikujeme, že kód musí na výsledek `await` (počkat).
+
+Pokud vás zajímá, jak to funguje, můžete si [o tom přečíst zde](https://www.w3schools.com/js/js_promise.asp), ale v praxi vše, co potřebujete vědět, je, že `await` (čekáte na) výsledky, pokud spustíte operaci, která trvá dlouho, a že jakákoli funkce, která to dělá, musí být deklarována jako `async`.
+
+##### Vydávání transakcí
+
+```typescript
+const setGreeting = async (greeting: string): Promise => {
+```
+
+Toto je funkce, kterou voláte pro vydání transakce, která mění pozdrav. Jelikož se jedná o dlouhou operaci, funkce je deklarována jako `async`. Kvůli interní implementaci musí každá `async` funkce vracet objekt `Promise`. V tomto případě `Promise` znamená, že nespecifikujeme, co přesně bude v `Promise` vráceno.
+
+```typescript
+const txHash = await greeter.write.setGreeting([greeting])
+```
+
+Pole `write` instance kontraktu obsahuje všechny funkce, které zapisují do stavu blockchainu (ty, které vyžadují odeslání transakce), jako je [`setGreeting`](https://eth-holesky.blockscout.com/address/0xB8f6460Dc30c44401Be26B0d6eD250873d8a50A6?tab=write_contract#a4136862). Parametry, pokud nějaké jsou, jsou poskytnuty jako seznam a funkce vrací haš transakce.
+
+```typescript
+ console.log(`Working on a fix, see https://eth-holesky.blockscout.com/tx/${txHash}`)
+
+ return txHash
+}
+```
+
+Nahlaste haš transakce (jako součást adresy URL do prohlížeče bloků pro její zobrazení) a vraťte jej.
+
+##### Reakce na události
+
+```typescript
+greeter.watchEvent.SetGreeting({
+```
+
+[Funkce `watchEvent`](https://viem.sh/docs/actions/public/watchEvent) umožňuje specifikovat, že se má funkce spustit, když je emitována událost. Pokud vás zajímá pouze jeden typ události (v tomto případě `SetGreeting`), můžete použít tuto syntaxi k omezení se na tento typ události.
+
+```typescript
+ onLogs: logs => {
+```
+
+Funkce `onLogs` je volána, když existují záznamy protokolu (logy). V Ethereu jsou pojmy „log“ a „událost“ obvykle zaměnitelné.
+
+```typescript
+console.log(
+ `Adresa ${logs[0].args.sender} změnila pozdrav na ${logs[0].args.greeting}`
+)
+```
+
+Mohlo by zde být více událostí, ale pro jednoduchost nás zajímá pouze ta první. `logs[0].args` jsou argumenty události, v tomto případě `sender` a `greeting`.
+
+```typescript
+ if (logs[0].args.sender != account.address)
+ setGreeting(`${account.address} trvá na tom, aby to bylo Hello!`)
+ }
+})
+```
+
+Pokud odesílatel _není_ tento server, použijte `setGreeting` ke změně pozdravu.
+
+#### `package.json` {#package-json}
+
+[Tento soubor](https://github.com/qbzzt/20240715-server-component/blob/main/package.json) řídí konfiguraci [Node.js](https://nodejs.org/en). Tento článek vysvětluje pouze důležité definice.
+
+```json
+{
+ "main": "dist/index.js",
+```
+
+Tato definice určuje, který soubor JavaScriptu se má spustit.
+
+```json
+ "scripts": {
+ "start": "tsc && node dist/app.js",
+ },
+```
+
+Skripty jsou různé akce aplikace. V tomto případě máme pouze jeden, `start`, který kompiluje a poté spouští server. Příkaz `tsc` je součástí balíčku `typescript` a kompiluje TypeScript do JavaScriptu. Pokud jej chcete spustit ručně, nachází se v `node_modules/.bin`. Druhý příkaz spouští server.
+
+```json
+ "type": "module",
+```
+
+Existuje více typů JavaScriptových node aplikací. Typ `module` nám umožňuje mít `await` v kódu nejvyšší úrovně, což je důležité, když provádíte pomalé (a tedy asynchronní) operace.
+
+```json
+ "devDependencies": {
+ "@types/node": "^20.14.2",
+ "typescript": "^5.4.5"
+ },
+```
+
+Toto jsou balíčky, které jsou vyžadovány pouze pro vývoj. Zde potřebujeme `typescript` a protože ho používáme s Node.js, získáváme také typy pro node proměnné a objekty, jako je `process`. [Zápis `^`](https://github.com/npm/node-semver?tab=readme-ov-file#caret-ranges-123-025-004) znamená danou verzi nebo vyšší verzi, která neobsahuje zásadní změny. Více informací o významu čísel verzí naleznete [zde](https://semver.org).
+
+```json
+ "dependencies": {
+ "dotenv": "^16.4.5",
+ "viem": "2.14.1"
+ }
+}
+```
+
+Toto jsou balíčky, které jsou vyžadovány za běhu, při spouštění `dist/app.js`.
+
+## Závěr {#conclusion}
+
+Centralizovaný server, který jsme zde vytvořili, plní svůj úkol, kterým je jednat jako agent pro uživatele. Kdokoli jiný, kdo chce, aby dapp nadále fungoval a je ochoten utratit palivo, může spustit novou instanci serveru s vlastní adresou.
+
+To však funguje pouze tehdy, když lze akce centralizovaného serveru snadno ověřit. Pokud má centralizovaný server nějaké tajné stavové informace nebo provádí složité výpočty, je to centralizovaná entita, které musíte důvěřovat, abyste mohli aplikaci používat, což je přesně to, čemu se blockchainy snaží vyhnout. V budoucím článku plánuji ukázat, jak tento problém obejít pomocí [důkazů s nulovou znalostí](/zero-knowledge-proofs).
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
diff --git a/public/content/translations/cs/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/index.md b/public/content/translations/cs/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/index.md
new file mode 100644
index 00000000000..ce8e09f7495
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/index.md
@@ -0,0 +1,92 @@
+---
+title: Nastavení web3.js pro použití blockchainu Ethereum v JavaScriptu
+description: Naučte se, jak nastavit a nakonfigurovat knihovnu web3.js pro interakci s blockchainem Etherea z javascriptových aplikací.
+author: "jdourlens"
+tags: [ "web3.js", "javascript" ]
+skill: beginner
+lang: cs
+published: 2020-04-11
+source: EthereumDev
+sourceUrl: https://ethereumdev.io/setup-web3js-to-use-the-ethereum-blockchain-in-javascript/
+address: "0x19dE91Af973F404EDF5B4c093983a7c6E3EC8ccE"
+---
+
+V tomto tutoriálu se podíváme, jak začít s [web3.js](https://web3js.readthedocs.io/) pro interakci s blockchainem Etherea. Web3.js lze použít jak na frontendu, tak na backendu ke čtení dat z blockchainu, provádění transakcí, a dokonce i k nasazení chytrých kontraktů.
+
+Prvním krokem je zahrnout web3.js do vašeho projektu. Chcete-li jej použít na webové stránce, můžete knihovnu importovat přímo pomocí CDN, jako je JSDeliver.
+
+```html
+
+```
+
+Pokud dáváte přednost instalaci knihovny pro použití ve vašem backendu nebo front-endovém projektu, který používá sestavení, můžete ji nainstalovat pomocí npm:
+
+```bash
+npm install web3 --save
+```
+
+Chcete-li poté importovat Web3.js do skriptu Node.js nebo front-endového projektu Browserify, můžete použít následující řádek JavaScriptu:
+
+```js
+const Web3 = require("web3")
+```
+
+Nyní, když jsme knihovnu zahrnuli do projektu, ji musíme inicializovat. Váš projekt musí být schopen komunikovat s blockchainem. Většina knihoven pro Ethereum komunikuje s [uzlem](/developers/docs/nodes-and-clients/) prostřednictvím volání RPC. Pro inicializaci poskytovatele Web3 vytvoříme instanci Web3 a jako konstruktor předáme URL adresu poskytovatele. Pokud máte na svém počítači spuštěný uzel nebo [instanci ganache](https://ethereumdev.io/testing-your-smart-contract-with-existing-protocols-ganache-fork/), bude to vypadat takto:
+
+```js
+const web3 = new Web3("http://localhost:8545")
+```
+
+Pokud chcete přistupovat přímo k hostovanému uzlu, můžete najít možnosti na stránce [uzly jako služba](/developers/docs/nodes-and-clients/nodes-as-a-service).
+
+```js
+const web3 = new Web3("https://cloudflare-eth.com")
+```
+
+Abychom otestovali, že jsme správně nakonfigurovali naši instanci Web3, zkusíme načíst číslo posledního bloku pomocí funkce `getBlockNumber`. Tato funkce přijímá jako parametr zpětné volání (callback) a vrací číslo bloku jako celé číslo.
+
+```js
+var Web3 = require("web3")
+const web3 = new Web3("https://cloudflare-eth.com")
+
+web3.eth.getBlockNumber(function (error, result) {
+ console.log(result)
+})
+```
+
+Pokud tento program spustíte, jednoduše vypíše číslo posledního bloku: vrchol blockchainu. Můžete také použít volání funkcí `await/async`, abyste se vyhnuli vnořování zpětných volání (callbacks) ve vašem kódu:
+
+```js
+async function getBlockNumber() {
+ const latestBlockNumber = await web3.eth.getBlockNumber()
+ console.log(latestBlockNumber)
+ return latestBlockNumber
+}
+
+getBlockNumber()
+```
+
+Všechny dostupné funkce v instanci Web3 si můžete prohlédnout v [oficiální dokumentaci web3.js](https://docs.web3js.org/).
+
+Většina knihoven Web3 je asynchronních, protože na pozadí knihovna provádí JSON-RPC volání na uzel, který posílá zpět výsledek.
+
+
+
+Pokud pracujete v prohlížeči, některé peněženky přímo vkládají instanci Web3 a měli byste se ji pokusit použít, kdykoli je to možné, zejména pokud plánujete interagovat s ethereovou adresou uživatele za účelem provádění transakcí.
+
+Zde je úryvek kódu pro zjištění, zda je k dispozici peněženka MetaMask, a pokud ano, pokus o její povolení. To vám později umožní číst zůstatek uživatele a umožní mu ověřovat transakce, které po něm chcete, aby na blockchainu Etherea provedl:
+
+```js
+if (window.ethereum != null) {
+ state.web3 = new Web3(window.ethereum)
+ try {
+ // V případě potřeby si vyžádejte přístup k účtu
+ await window.ethereum.enable()
+ // Účty jsou nyní odhaleny
+ } catch (error) {
+ // Uživatel odepřel přístup k účtu...
+ }
+}
+```
+
+Existují alternativy k web3.js, jako je [Ethers.js](https://docs.ethers.io/), které se také běžně používají. V dalším tutoriálu se podíváme, [jak snadno naslouchat novým příchozím blokům na blockchainu a vidět, co obsahují](https://ethereumdev.io/listening-to-new-transactions-happening-on-the-blockchain/).
diff --git a/public/content/translations/cs/developers/tutorials/short-abi/index.md b/public/content/translations/cs/developers/tutorials/short-abi/index.md
new file mode 100644
index 00000000000..9cc681fd6d1
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/short-abi/index.md
@@ -0,0 +1,585 @@
+---
+title: "Zkrácené ABI pro optimalizaci calldata"
+description: Optimalizace chytrých kontraktů pro optimistické rollupy
+author: Ori Pomerantz
+lang: cs
+tags: [ "vrstva 2" ]
+skill: intermediate
+published: 2022-04-01
+---
+
+## Úvod {#introduction}
+
+V tomto článku se dozvíte o [optimistických rollupech](/developers/docs/scaling/optimistic-rollups), nákladech na transakce na nich a o tom, jak tato odlišná struktura nákladů vyžaduje, abychom optimalizovali jiné věci než na hlavní síti Etherea.
+Také se dozvíte, jak tuto optimalizaci implementovat.
+
+### Úplné zveřejnění {#full-disclosure}
+
+Jsem zaměstnancem společnosti [Optimism](https://www.optimism.io/) na plný úvazek, takže příklady v tomto článku poběží na Optimismu.
+Zde vysvětlená technika by však měla fungovat stejně dobře i pro ostatní rollupy.
+
+### Terminologie {#terminology}
+
+Při diskusi o rollupech se termín „vrstva 1“ (L1) používá pro hlavní síť (Mainnet), produkční síť Etherea.
+Termín „vrstva 2“ (L2) se používá pro rollup nebo jakýkoli jiný systém, který se spoléhá na L1 kvůli bezpečnosti, ale většinu zpracování provádí mimo řetězec (offchain).
+
+## Jak můžeme dále snížit náklady na transakce L2? {#how-can-we-further-reduce-the-cost-of-L2-transactions}
+
+[Optimistické rollupy](/developers/docs/scaling/optimistic-rollups) musí uchovávat záznam o každé historické transakci, aby si je kdokoli mohl projít a ověřit, že aktuální stav je správný.
+Nejlevnější způsob, jak dostat data do hlavní sítě Etherea, je zapsat je jako calldata.
+Toto řešení si zvolily jak [Optimism](https://help.optimism.io/hc/en-us/articles/4413163242779-What-is-a-rollup-), tak [Arbitrum](https://developer.offchainlabs.com/docs/rollup_basics#intro-to-rollups).
+
+### Náklady na transakce L2 {#cost-of-l2-transactions}
+
+Náklady na transakce L2 se skládají ze dvou složek:
+
+1. Zpracování na L2, které je obvykle extrémně levné
+2. Úložiště na L1, které je vázáno na náklady na palivo na hlavní síti
+
+V době, kdy toto píšu, je na Optimismu cena paliva L2 0,001 [Gwei](/developers/docs/gas/#pre-london).
+Cena paliva L1 je naopak přibližně 40 gwei.
+[Aktuální ceny si můžete prohlédnout zde](https://public-grafana.optimism.io/d/9hkhMxn7z/public-dashboard?orgId=1&refresh=5m).
+
+Jeden bajt calldata stojí buď 4 jednotky paliva (pokud je nulový), nebo 16 jednotek paliva (pokud má jakoukoli jinou hodnotu).
+Jednou z nejdražších operací na EVM je zápis do úložiště.
+Maximální cena zápisu 32bajtového slova do úložiště na L2 je 22 100 jednotek paliva. V současnosti je to 22,1 gwei.
+Takže pokud ušetříme jediný nulový bajt calldata, budeme moci zapsat do úložiště asi 200 bajtů a stále na tom vyděláme.
+
+### ABI {#the-abi}
+
+Většina transakcí putuje do kontraktu z externě vlastněného účtu.
+Většina kontraktů je napsána v jazyce Solidity a interpretuje své datové pole podle [aplikačního binárního rozhraní (ABI)](https://docs.soliditylang.org/en/latest/abi-spec.html#formal-specification-of-the-encoding).
+
+ABI však bylo navrženo pro L1, kde bajt calldata stojí přibližně stejně jako čtyři aritmetické operace, nikoliv pro L2, kde bajt calldata stojí více než tisíc aritmetických operací.
+Calldata jsou rozdělena takto:
+
+| Sekce | Délka | Bajty | Zbytečné bajty | Zbytečné palivo | Nezbytné bajty | Nezbytné palivo |
+| --------------- | ----: | ----: | -------------: | --------------: | -------------: | --------------: |
+| Selektor funkce | 4 | 0-3 | 3 | 48 | 1 | 16 |
+| Nuly | 12 | 4-15 | 12 | 48 | 0 | 0 |
+| Cílová adresa | 20 | 16-35 | 0 | 0 | 20 | 320 |
+| Částka | 32 | 36-67 | 17 | 64 | 15 | 240 |
+| Celkem | 68 | | | 160 | | 576 |
+
+Vysvětlení:
+
+- **Selektor funkce**: Kontrakt má méně než 256 funkcí, takže je můžeme rozlišit jediným bajtem.
+ Tyto bajty jsou obvykle nenulové, a proto [stojí šestnáct jednotek paliva](https://eips.ethereum.org/EIPS/eip-2028).
+- **Nuly**: Tyto bajty jsou vždy nulové, protože dvacetibajtová adresa nevyžaduje k uložení třicetidvoubajtové slovo.
+ Bajty, které obsahují nulu, stojí čtyři jednotky paliva ([viz Yellow paper](https://ethereum.github.io/yellowpaper/paper.pdf), Dodatek G,
+ str. 27, hodnota pro `G``txdatazero`).
+- **Částka**: Pokud předpokládáme, že v tomto kontraktu je `decimals` osmnáct (normální hodnota) a maximální množství tokenů, které převedeme, bude 1018, dostaneme maximální částku 1036.
+ 25615 > 1036, takže patnáct bajtů stačí.
+
+Ztráta 160 jednotek paliva na L1 je obvykle zanedbatelná. Transakce stojí nejméně [21 000 jednotek paliva](https://yakkomajuri.medium.com/blockchain-definition-of-the-week-ethereum-gas-2f976af774ed), takže na 0,8 % navíc nezáleží.
+Na L2 je to však jinak. Téměř celé náklady na transakci tvoří její zápis na L1.
+Kromě calldata transakce existuje 109 bajtů záhlaví transakce (cílová adresa, podpis atd.).
+Celkové náklady jsou tedy `109*16+576+160=2480` a my z toho plýtváme asi 6,5 %.
+
+## Snížení nákladů, když nemáte kontrolu nad cílem {#reducing-costs-when-you-dont-control-the-destination}
+
+Za předpokladu, že nemáte kontrolu nad cílovým kontraktem, můžete stále použít řešení podobné [tomuto](https://github.com/qbzzt/ethereum.org-20220330-shortABI).
+Pojďme si projít příslušné soubory.
+
+### Token.sol {#token-sol}
+
+[Toto je cílový kontrakt](https://github.com/qbzzt/ethereum.org-20220330-shortABI/blob/master/contracts/Token.sol).
+Jedná se o standardní kontrakt ERC-20 s jednou další funkcí.
+Tato funkce `faucet` umožňuje každému uživateli získat tokeny k použití.
+U produkčního kontraktu ERC-20 by byla k ničemu, ale usnadňuje život, když kontrakt ERC-20 existuje pouze pro usnadnění testování.
+
+```solidity
+ /**
+ * @dev Dává volajícímu 1000 tokenů na hraní
+ */
+ function faucet() external {
+ _mint(msg.sender, 1000);
+ } // function faucet
+```
+
+### CalldataInterpreter.sol {#calldatainterpreter-sol}
+
+[Toto je kontrakt, který mají transakce volat s kratšími calldata](https://github.com/qbzzt/ethereum.org-20220330-shortABI/blob/master/contracts/CalldataInterpreter.sol).
+Pojďme si ho projít řádek po řádku.
+
+```solidity
+//SPDX-License-Identifier: Unlicense
+pragma solidity ^0.8.0;
+
+
+import { OrisUselessToken } from "./Token.sol";
+```
+
+Potřebujeme funkci tokenu, abychom věděli, jak ji volat.
+
+```solidity
+contract CalldataInterpreter {
+
+ OrisUselessToken public immutable token;
+```
+
+Adresa tokenu, pro který jsme proxy.
+
+```solidity
+
+ /**
+ * @dev Určete adresu tokenu
+ * @param tokenAddr_ Adresa kontraktu ERC-20
+ */
+ constructor(
+ address tokenAddr_
+ ) {
+ token = OrisUselessToken(tokenAddr_);
+ } // constructor
+```
+
+Adresa tokenu je jediný parametr, který musíme zadat.
+
+```solidity
+ function calldataVal(uint startByte, uint length)
+ private pure returns (uint) {
+```
+
+Přečtěte hodnotu z calldata.
+
+```solidity
+ uint _retVal;
+
+ require(length < 0x21,
+ "limit délky calldataVal je 32 bajtů");
+
+ require(length + startByte <= msg.data.length,
+ "calldataVal se pokouší číst za velikostí calldata");
+```
+
+Chystáme se načíst jedno 32bajtové (256bitové) slovo do paměti a odstranit bajty, které nejsou součástí požadovaného pole.
+Tento algoritmus nefunguje pro hodnoty delší než 32 bajtů a samozřejmě nemůžeme číst za koncem calldata.
+Na L1 může být nutné tyto testy přeskočit, abychom ušetřili palivo, ale na L2 je palivo extrémně levné, což umožňuje jakékoli kontroly správnosti, na které si vzpomeneme.
+
+```solidity
+ assembly {
+ _retVal := calldataload(startByte)
+ }
+```
+
+Mohli jsme zkopírovat data z volání do `fallback()` (viz níže), ale je jednodušší použít [Yul](https://docs.soliditylang.org/en/v0.8.12/yul.html), assembler EVM.
+
+Zde používáme [operační kód CALLDATALOAD](https://www.evm.codes/#35) ke čtení bajtů `startByte` až `startByte+31` do zásobníku.
+Obecně je syntaxe operačního kódu v Yul `(, ...).`
+
+```solidity
+
+ _retVal = _retVal >> (256-length*8);
+```
+
+Součástí pole jsou pouze nejvýznamnější bajty `length`, takže provedeme [posun doprava](https://en.wikipedia.org/wiki/Logical_shift), abychom se zbavili ostatních hodnot.
+To má další výhodu v tom, že se hodnota přesune napravo od pole, takže se jedná o hodnotu samotnou, nikoli o hodnotu vynásobenou 256něčím.
+
+```solidity
+
+ return _retVal;
+ }
+
+
+ fallback() external {
+```
+
+Když volání kontraktu v Solidity neodpovídá žádnému z podpisů funkcí, zavolá se [funkce `fallback()`](https://docs.soliditylang.org/en/v0.8.12/contracts.html#fallback-function) (pokud existuje).
+V případě `CalldataInterpreter` se sem dostane _jakékoli_ volání, protože neexistují žádné jiné `externí` nebo `veřejné` funkce.
+
+```solidity
+ uint _func;
+
+ _func = calldataVal(0, 1);
+```
+
+Přečtěte první bajt calldata, který nám sdělí funkci.
+Existují dva důvody, proč by zde funkce nebyla dostupná:
+
+1. Funkce, které jsou `pure` nebo `view`, nemění stav a nestojí palivo (při volání mimo řetězec).
+ Nemá smysl se snažit snižovat jejich náklady na palivo.
+2. Funkce, které se spoléhají na [`msg.sender`](https://docs.soliditylang.org/en/v0.8.12/units-and-global-variables.html#block-and-transaction-properties).
+ Hodnota `msg.sender` bude adresa kontraktu `CalldataInterpreter`, nikoli volajícího.
+
+Bohužel [při pohledu na specifikace ERC-20](https://eips.ethereum.org/EIPS/eip-20), zbývá pouze jedna funkce, `transfer`.
+To nám ponechává pouze dvě funkce: `transfer` (protože můžeme volat `transferFrom`) a `faucet` (protože můžeme převést tokeny zpět tomu, kdo nás volal).
+
+```solidity
+
+ // Volání metod tokenu měnících stav pomocí
+ // informací z calldata
+
+ // faucet
+ if (_func == 1) {
+```
+
+Volání funkce `faucet()`, která nemá žádné parametry.
+
+```solidity
+ token.faucet();
+ token.transfer(msg.sender,
+ token.balanceOf(address(this)));
+ }
+```
+
+Po zavolání `token.faucet()` získáme tokeny. Jako proxy kontrakt však tokeny **nepotřebujeme**.
+Potřebuje je EOA (externě vlastněný účet) nebo kontrakt, který nás volal.
+Takže převedeme všechny naše tokeny tomu, kdo nás volal.
+
+```solidity
+ // transfer (předpokládejme, že na něj máme povolenku)
+ if (_func == 2) {
+```
+
+Převod tokenů vyžaduje dva parametry: cílovou adresu a částku.
+
+```solidity
+ token.transferFrom(
+ msg.sender,
+```
+
+Volajícím povolujeme převádět pouze tokeny, které vlastní
+
+```solidity
+ address(uint160(calldataVal(1, 20))),
+```
+
+Cílová adresa začíná na bajtu č. 1 (bajt č. 0 je funkce).
+Jako adresa je dlouhá 20 bajtů.
+
+```solidity
+ calldataVal(21, 2)
+```
+
+U tohoto konkrétního kontraktu předpokládáme, že maximální počet tokenů, které by kdokoli chtěl převést, se vejde do dvou bajtů (méně než 65 536).
+
+```solidity
+ );
+ }
+```
+
+Celkově převod zabere 35 bajtů calldata:
+
+| Sekce | Délka | Bajty |
+| --------------- | ----: | ----: |
+| Selektor funkce | 1 | 0 |
+| Cílová adresa | 32 | 1-32 |
+| Částka | 2 | 33-34 |
+
+```solidity
+ } // fallback
+
+} // contract CalldataInterpreter
+```
+
+### test.js {#test-js}
+
+[Tento jednotkový test v JavaScriptu](https://github.com/qbzzt/ethereum.org-20220330-shortABI/blob/master/test/test.js) nám ukazuje, jak tento mechanismus používat (a jak ověřit, že funguje správně).
+Budu předpokládat, že rozumíte [chai](https://www.chaijs.com/) a [ethers](https://docs.ethers.io/v5/) a vysvětlím pouze části, které se týkají konkrétně tohoto kontraktu.
+
+```js
+const { expect } = require("chai");
+
+describe("CalldataInterpreter", function () {
+ it("Mělo by nám umožnit používat tokeny", async function () {
+ const Token = await ethers.getContractFactory("OrisUselessToken")
+ const token = await Token.deploy()
+ await token.deployed()
+ console.log("Adresa tokenu:", token.address)
+
+ const Cdi = await ethers.getContractFactory("CalldataInterpreter")
+ const cdi = await Cdi.deploy(token.address)
+ await cdi.deployed()
+ console.log("Adresa CalldataInterpreter:", cdi.address)
+
+ const signer = await ethers.getSigner()
+```
+
+Začneme nasazením obou kontraktů.
+
+```javascript
+ // Získat tokeny na hraní
+ const faucetTx = {
+```
+
+Nemůžeme k vytváření transakcí použít funkce na vysoké úrovni, které bychom normálně používali (například `token.faucet()`), protože nedodržujeme ABI.
+Místo toho musíme transakci sestavit sami a poté ji odeslat.
+
+```javascript
+ to: cdi.address,
+ data: "0x01"
+```
+
+Pro transakci musíme zadat dva parametry:
+
+1. `to`, cílová adresa.
+ Toto je kontrakt interpretu calldata.
+2. `data`, calldata k odeslání.
+ V případě volání faucet jsou data tvořena jediným bajtem, `0x01`.
+
+```javascript
+
+ }
+ await (await signer.sendTransaction(faucetTx)).wait()
+```
+
+Voláme [metodu `sendTransaction` podepisujícího](https://docs.ethers.io/v5/api/signer/#Signer-sendTransaction), protože jsme již zadali cíl (`faucetTx.to`) a potřebujeme, aby byla transakce podepsána.
+
+```javascript
+// Zkontrolujte, zda faucet poskytuje tokeny správně
+expect(await token.balanceOf(signer.address)).to.equal(1000)
+```
+
+Zde ověříme zůstatek.
+Není třeba šetřit palivo na funkcích `view`, takže je prostě spouštíme normálně.
+
+```javascript
+// Dejte CDI povolenku (schválení nelze provést přes proxy)
+const approveTX = await token.approve(cdi.address, 10000)
+await approveTX.wait()
+expect(await token.allowance(signer.address, cdi.address)).to.equal(10000)
+```
+
+Dejte interpretu calldata povolenku, aby mohl provádět převody.
+
+```javascript
+// Převod tokenů
+const destAddr = "0xf5a6ead936fb47f342bb63e676479bddf26ebe1d"
+const transferTx = {
+ to: cdi.address,
+ data: "0x02" + destAddr.slice(2, 42) + "0100",
+}
+```
+
+Vytvořte transakci převodu. První bajt je „0x02“, následuje cílová adresa a nakonec částka (0x0100, což je 256 v desítkové soustavě).
+
+```javascript
+ await (await signer.sendTransaction(transferTx)).wait()
+
+ // Zkontrolujte, že máme o 256 tokenů méně
+ expect (await token.balanceOf(signer.address)).to.equal(1000-256)
+
+ // A že je náš cíl dostal
+ expect (await token.balanceOf(destAddr)).to.equal(256)
+ }) // it
+}) // describe
+```
+
+## Snížení nákladů, když máte kontrolu nad cílovým kontraktem {#reducing-the-cost-when-you-do-control-the-destination-contract}
+
+Pokud máte kontrolu nad cílovým kontraktem, můžete vytvořit funkce, které obcházejí kontroly `msg.sender`, protože důvěřují interpretu calldata.
+[Příklad, jak to funguje, si můžete prohlédnout zde, ve větvi `control-contract`](https://github.com/qbzzt/ethereum.org-20220330-shortABI/tree/control-contract).
+
+Pokud by kontrakt reagoval pouze na externí transakce, vystačili bychom si s jedním kontraktem.
+To by však narušilo [složitelnost](/developers/docs/smart-contracts/composability/).
+Je mnohem lepší mít kontrakt, který reaguje na běžná volání ERC-20, a další kontrakt, který reaguje na transakce s krátkými calldata.
+
+### Token.sol {#token-sol-2}
+
+V tomto příkladu můžeme upravit `Token.sol`.
+To nám umožňuje mít řadu funkcí, které může volat pouze proxy.
+Zde jsou nové části:
+
+```solidity
+ // Jediná adresa, která může zadat adresu CalldataInterpreter
+ address owner;
+
+ // Adresa CalldataInterpreter
+ address proxy = address(0);
+```
+
+Kontrakt ERC-20 musí znát identitu autorizovaného proxy.
+Tuto proměnnou však nemůžeme nastavit v konstruktoru, protože její hodnotu ještě neznáme.
+Tento kontrakt je instanciován jako první, protože proxy očekává adresu tokenu ve svém konstruktoru.
+
+```solidity
+ /**
+ * @dev Volá konstruktor ERC20.
+ */
+ constructor(
+ ) ERC20("Oris useless token-2", "OUT-2") {
+ owner = msg.sender;
+ }
+```
+
+Adresa tvůrce (nazývaná `owner`) je zde uložena, protože je to jediná adresa, která smí nastavit proxy.
+
+```solidity
+ /**
+ * @dev nastaví adresu pro proxy (CalldataInterpreter).
+ * Může být zavolána pouze jednou vlastníkem
+ */
+ function setProxy(address _proxy) external {
+ require(msg.sender == owner, "Může být voláno pouze vlastníkem");
+ require(proxy == address(0), "Proxy je již nastaveno");
+
+ proxy = _proxy;
+ } // function setProxy
+```
+
+Proxy má privilegovaný přístup, protože může obcházet bezpečnostní kontroly.
+Abychom se ujistili, že můžeme proxy důvěřovat, necháme tuto funkci volat pouze `vlastníka`, a to pouze jednou.
+Jakmile má `proxy` skutečnou hodnotu (nenulovou), nelze tuto hodnotu změnit, takže i kdyby se vlastník rozhodl stát se nepoctivým, nebo by byla odhalena jeho mnemotechnická pomůcka, jsme stále v bezpečí.
+
+```solidity
+ /**
+ * @dev Některé funkce mohou být volány pouze proxy.
+ */
+ modifier onlyProxy {
+```
+
+Toto je [`modifikátorová` funkce](https://www.tutorialspoint.com/solidity/solidity_function_modifiers.htm), která upravuje způsob fungování ostatních funkcí.
+
+```solidity
+ require(msg.sender == proxy);
+```
+
+Nejprve ověřte, že nás volal proxy a nikdo jiný.
+Pokud ne, `revert`.
+
+```solidity
+ _;
+ }
+```
+
+Pokud ano, spusťte funkci, kterou upravujeme.
+
+```solidity
+ /* Funkce, které umožňují proxy skutečně zastupovat účty */
+
+ function transferProxy(address from, address to, uint256 amount)
+ public virtual onlyProxy() returns (bool)
+ {
+ _transfer(from, to, amount);
+ return true;
+ }
+
+ function approveProxy(address from, address spender, uint256 amount)
+ public virtual onlyProxy() returns (bool)
+ {
+ _approve(from, spender, amount);
+ return true;
+ }
+
+ function transferFromProxy(
+ address spender,
+ address from,
+ address to,
+ uint256 amount
+ ) public virtual onlyProxy() returns (bool)
+ {
+ _spendAllowance(from, spender, amount);
+ _transfer(from, to, amount);
+ return true;
+ }
+```
+
+Jedná se o tři operace, které obvykle vyžadují, aby zpráva přišla přímo od subjektu, který převádí tokeny nebo schvaluje povolenku.
+Zde máme proxy verzi těchto operací, která:
+
+1. Je upravena `onlyProxy()`, takže je nikdo jiný nesmí ovládat.
+2. Získá adresu, která by normálně byla `msg.sender` jako další parametr.
+
+### CalldataInterpreter.sol {#calldatainterpreter-sol-2}
+
+Interpret calldata je téměř totožný s výše uvedeným, s výjimkou toho, že funkce proxy dostávají parametr `msg.sender` a není potřeba povolenka pro `transfer`.
+
+```solidity
+ // transfer (není potřeba povolenka)
+ if (_func == 2) {
+ token.transferProxy(
+ msg.sender,
+ address(uint160(calldataVal(1, 20))),
+ calldataVal(21, 2)
+ );
+ }
+
+ // schválit
+ if (_func == 3) {
+ token.approveProxy(
+ msg.sender,
+ address(uint160(calldataVal(1, 20))),
+ calldataVal(21, 2)
+ );
+ }
+
+ // transferFrom
+ if (_func == 4) {
+ token.transferFromProxy(
+ msg.sender,
+ address(uint160(calldataVal( 1, 20))),
+ address(uint160(calldataVal(21, 20))),
+ calldataVal(41, 2)
+ );
+ }
+```
+
+### Test.js {#test-js-2}
+
+Mezi předchozím testovacím kódem a tímto je několik změn.
+
+```js
+const Cdi = await ethers.getContractFactory("CalldataInterpreter")
+const cdi = await Cdi.deploy(token.address)
+await cdi.deployed()
+await token.setProxy(cdi.address)
+```
+
+Musíme kontraktu ERC-20 sdělit, kterému proxy má důvěřovat.
+
+```js
+console.log("Adresa CalldataInterpreter:", cdi.address)
+
+// K ověření povolenek potřebujeme dva podepisující
+const signers = await ethers.getSigners()
+const signer = signers[0]
+const poorSigner = signers[1]
+```
+
+Ke kontrole `approve()` a `transferFrom()` potřebujeme druhého podepisujícího.
+Říkáme mu `poorSigner` (chudý podepisující), protože nedostane žádný z našich tokenů (samozřejmě ale musí mít ETH).
+
+```js
+// Převod tokenů
+const destAddr = "0xf5a6ead936fb47f342bb63e676479bddf26ebe1d"
+const transferTx = {
+ to: cdi.address,
+ data: "0x02" + destAddr.slice(2, 42) + "0100",
+}
+await (await signer.sendTransaction(transferTx)).wait()
+```
+
+Protože kontrakt ERC-20 důvěřuje proxy (`cdi`), nepotřebujeme povolenku k předávání převodů.
+
+```js
+// schválení a transferFrom
+const approveTx = {
+ to: cdi.address,
+ data: "0x03" + poorSigner.address.slice(2, 42) + "00FF",
+}
+await (await signer.sendTransaction(approveTx)).wait()
+
+const destAddr2 = "0xE1165C689C0c3e9642cA7606F5287e708d846206"
+
+const transferFromTx = {
+ to: cdi.address,
+ data: "0x04" + signer.address.slice(2, 42) + destAddr2.slice(2, 42) + "00FF",
+}
+await (await poorSigner.sendTransaction(transferFromTx)).wait()
+
+// Zkontrolujte, zda byla kombinace approve / transferFrom provedena správně
+expect(await token.balanceOf(destAddr2)).to.equal(255)
+```
+
+Otestujte dvě nové funkce.
+Všimněte si, že `transferFromTx` vyžaduje dva parametry adresy: dárce povolenky a příjemce.
+
+## Závěr {#conclusion}
+
+Jak [Optimism](https://medium.com/ethereum-optimism/the-road-to-sub-dollar-transactions-part-2-compression-edition-6bb2890e3e92), tak [Arbitrum](https://developer.offchainlabs.com/docs/special_features) hledají způsoby, jak zmenšit velikost calldata zapisovaných na L1, a tím i náklady na transakce.
+Jako poskytovatelé infrastruktury, kteří hledají obecná řešení, jsou však naše schopnosti omezené.
+Jako vývojář dapp máte znalosti specifické pro danou aplikaci, což vám umožňuje optimalizovat calldata mnohem lépe, než bychom mohli v obecném řešení.
+Doufejme, že vám tento článek pomůže najít ideální řešení pro vaše potřeby.
+
+[Více z mé práce najdete zde](https://cryptodocguy.pro/).
+
diff --git a/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md b/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md
new file mode 100644
index 00000000000..992b766bc69
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md
@@ -0,0 +1,91 @@
+---
+title: Pokyny pro zabezpečení smart kontraktů
+description: Kontrolní seznam bezpečnostních pokynů, které je třeba zvážit při vytváření vaší dapp.
+author: "Trailofbits"
+tags: [ "solidity", "chytré kontrakty", "bezpečnost" ]
+skill: intermediate
+lang: cs
+published: 2020-09-06
+source: Tvorba bezpečných kontraktů
+sourceUrl: https://github.com/crytic/building-secure-contracts/blob/master/development-guidelines/guidelines.md
+---
+
+Řiďte se těmito doporučeními na vysoké úrovni, abyste mohli vytvářet bezpečnější chytré kontrakty.
+
+## Pokyny pro návrh {#design-guidelines}
+
+Návrh kontraktu by měl být prodiskutován předem, ještě před napsáním jakéhokoli řádku kódu.
+
+### Dokumentace a specifikace {#documentation-and-specifications}
+
+Dokumentaci lze psát na různých úrovních a měla by být aktualizována při implementaci kontraktů:
+
+- **Jednoduchý srozumitelný popis systému**, který popisuje, co kontrakty dělají a jaké jsou předpoklady týkající se kódové základny.
+- **Schémata a architektonické diagramy**, včetně interakcí kontraktů a stavového automatu systému. [Slither printers](https://github.com/crytic/slither/wiki/Printer-documentation) mohou pomoci s generováním těchto schémat.
+- **Důkladná dokumentace kódu**, pro Solidity lze použít [formát Natspec](https://docs.soliditylang.org/en/develop/natspec-format.html).
+
+### Výpočty on-chain vs. off-chain {#onchain-vs-offchain-computation}
+
+- **Ponechte co nejvíce kódu off-chain.** Udržujte on-chain vrstvu malou. Předzpracujte data pomocí kódu off-chain tak, aby ověření on-chain bylo jednoduché. Potřebujete seřazený seznam? Seřaďte seznam off-chain, poté pouze zkontrolujte jeho pořadí on-chain.
+
+### Vylepšitelnost {#upgradeability}
+
+O různých řešeních vylepšitelnosti jsme diskutovali v [našem příspěvku na blogu](https://blog.trailofbits.com/2018/09/05/contract-upgrade-anti-patterns/). Před napsáním jakéhokoli kódu učiňte vědomé rozhodnutí, zda vylepšitelnost podporovat, či nikoliv. Toto rozhodnutí ovlivní, jak budete strukturovat svůj kód. Obecně doporučujeme:
+
+- **Upřednostňujte [migraci kontraktů](https://blog.trailofbits.com/2018/10/29/how-contract-migration-works/) před vylepšitelností.** Migrační systémy mají mnoho stejných výhod jako ty vylepšitelné, ale nemají jejich nevýhody.
+- **Používejte vzor oddělení dat namísto vzoru delegatecallproxy.** Pokud má váš projekt jasné oddělení abstrakce, vylepšitelnost pomocí oddělení dat bude vyžadovat jen několik úprav. Delegatecallproxy vyžaduje odborné znalosti EVM a je vysoce náchylný k chybám.
+- **Zdokumentujte postup migrace/vylepšení před nasazením.** Pokud budete muset reagovat pod stresem bez jakýchkoli pokynů, uděláte chyby. Napište si postup s předstihem. Měl by zahrnovat:
+ - Volání, která iniciují nové kontrakty
+ - Kde jsou uloženy klíče a jak k nim přistupovat
+ - Jak zkontrolovat nasazení! Vytvořte a otestujte skript, který se spustí po nasazení.
+
+## Pokyny pro implementaci {#implementation-guidelines}
+
+**Usilujte o jednoduchost.** Vždy používejte nejjednodušší řešení, které vyhovuje vašemu účelu. Každý člen vašeho týmu by měl být schopen porozumět vašemu řešení.
+
+### Skládání funkcí {#function-composition}
+
+Architektura vaší kódové základny by měla usnadňovat revizi kódu. Vyhněte se architektonickým rozhodnutím, která snižují schopnost posoudit jeho správnost.
+
+- **Rozdělte logiku vašeho systému**, buď do více kontraktů, nebo seskupením podobných funkcí (například ověřování, aritmetika, ...).
+- **Pište malé funkce s jasným účelem.** To usnadní revizi a umožní testování jednotlivých komponent.
+
+### Dědičnost {#inheritance}
+
+- **Udržujte dědičnost zvládnutelnou.** Dědičnost by se měla používat k rozdělení logiky, nicméně váš projekt by se měl snažit minimalizovat hloubku a šířku stromu dědičnosti.
+- **Použijte [inheritance printer](https://github.com/crytic/slither/wiki/Printer-documentation#inheritance-graph) od Slitheru ke kontrole hierarchie kontraktů.** Tento nástroj vám pomůže zkontrolovat velikost hierarchie.
+
+### Události {#events}
+
+- **Zaznamenávejte všechny klíčové operace.** Události pomohou při ladění kontraktu během vývoje a při jeho monitorování po nasazení.
+
+### Vyhněte se známým nástrahám {#avoid-known-pitfalls}
+
+- **Mějte na paměti nejběžnější bezpečnostní problémy.** Existuje mnoho online zdrojů, kde se můžete o běžných problémech dozvědět, jako například [Ethernaut CTF](https://ethernaut.openzeppelin.com/), [Capture the Ether](https://capturetheether.com/) nebo [Not so smart contracts](https://github.com/crytic/not-so-smart-contracts/).
+- **Věnujte pozornost sekcím s varováními v [dokumentaci Solidity](https://docs.soliditylang.org/en/latest/).** Sekce s varováními vás informují o ne zcela zjevném chování jazyka.
+
+### Závislosti {#dependencies}
+
+- **Používejte dobře otestované knihovny.** Importování kódu z dobře otestovaných knihoven sníží pravděpodobnost, že napíšete kód s chybami. Pokud chcete napsat kontrakt ERC20, použijte [OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/token/ERC20).
+- **Používejte správce závislostí; vyhněte se kopírování kódu.** Pokud se spoléháte na externí zdroj, musíte jej udržovat aktuální s původním zdrojem.
+
+### Testování a ověřování {#testing-and-verification}
+
+- **Napište důkladné jednotkové testy.** Rozsáhlá sada testů je klíčová pro vytvoření vysoce kvalitního softwaru.
+- **Napište vlastní kontroly a vlastnosti pro [Slither](https://github.com/crytic/slither), [Echidna](https://github.com/crytic/echidna) a [Manticore](https://github.com/trailofbits/manticore).** Automatizované nástroje pomohou zajistit bezpečnost vašeho kontraktu. Projděte si zbytek této příručky, abyste se naučili, jak psát efektivní kontroly a vlastnosti.
+- **Používejte [crytic.io](https://crytic.io/).** Crytic se integruje s GitHubem, poskytuje přístup k soukromým detektorům Slither a spouští vlastní kontroly vlastností z Echidny.
+
+### Solidity {#solidity}
+
+- **Upřednostňujte Solidity 0.5 před verzemi 0.4 a 0.6.** Podle našeho názoru je Solidity 0.5 bezpečnější a má lepší vestavěné postupy než verze 0.4. Solidity 0.6 se ukázalo jako příliš nestabilní pro produkční nasazení a potřebuje čas na dozrání.
+- **Pro kompilaci používejte stabilní vydání; pro kontrolu varování používejte nejnovější vydání.** Zkontrolujte, zda váš kód nemá žádné hlášené problémy s nejnovější verzí kompilátoru. Solidity má však rychlý cyklus vydávání a v minulosti se v něm objevily chyby kompilátoru, takže nejnovější verzi pro nasazení nedoporučujeme (viz [doporučení verze solc](https://github.com/crytic/slither/wiki/Detector-Documentation#recommendation-33) od Slitheru).
+- **Nepoužívejte inline assembly.** Assembly vyžaduje odborné znalosti EVM. Nepište kód EVM, pokud jste _neovládli_ žlutou knihu.
+
+## Pokyny pro nasazení {#deployment-guidelines}
+
+Jakmile je kontrakt vyvinut a nasazen:
+
+- **Monitorujte své kontrakty.** Sledujte logy a buďte připraveni reagovat v případě kompromitace kontraktu nebo peněženky.
+- **Přidejte své kontaktní údaje do [blockchain-security-contacts](https://github.com/crytic/blockchain-security-contacts).** Tento seznam pomáhá třetím stranám vás kontaktovat, pokud je objevena bezpečnostní chyba.
+- **Zabezpečte peněženky privilegovaných uživatelů.** Pokud ukládáte klíče v hardwarových peněženkách, řiďte se našimi [osvědčenými postupy](https://blog.trailofbits.com/2018/11/27/10-rules-for-the-secure-use-of-cryptocurrency-hardware-wallets/).
+- **Mějte plán reakce na incidenty.** Počítejte s tím, že vaše chytré kontrakty mohou být kompromitovány. I když jsou vaše kontrakty bez chyb, útočník může převzít kontrolu nad klíči vlastníka kontraktu.
diff --git a/public/content/translations/cs/developers/tutorials/stealth-addr/index.md b/public/content/translations/cs/developers/tutorials/stealth-addr/index.md
new file mode 100644
index 00000000000..a76b5ba153e
--- /dev/null
+++ b/public/content/translations/cs/developers/tutorials/stealth-addr/index.md
@@ -0,0 +1,443 @@
+---
+title: "Použití skrytých adres"
+description: "Skryté adresy umožňují uživatelům anonymně převádět aktiva. Po přečtení tohoto článku budete schopni: vysvětlit, co jsou skryté adresy a jak fungují, pochopit, jak používat skryté adresy způsobem, který zachovává anonymitu, a napsat webovou aplikaci, která používá skryté adresy."
+author: Ori Pomerantz
+tags:
+ [
+ "Skrytá adresa",
+ "soukromí",
+ "kryptografie",
+ "rust",
+ "wasm"
+ ]
+skill: intermediate
+published: 2025-11-30
+lang: cs
+sidebarDepth: 3
+---
+
+Jste Bill. Z důvodů, do kterých nebudeme zabíhat, chcete přispět na kampaň „Alice za královnu světa“ a chcete, aby Alice věděla, že jste přispěli, aby vás odměnila, pokud vyhraje. Její vítězství však bohužel není zaručeno. Existuje konkurenční kampaň „Carol za císařovnu Sluneční soustavy“. Pokud Carol vyhraje a zjistí, že jste přispěli Alici, budete mít potíže. Nemůžete tedy jen tak převést 200 ETH ze svého účtu na účet Alice.
+
+[ERC-5564](https://eips.ethereum.org/EIPS/eip-5564) nabízí řešení. Tento ERC vysvětluje, jak používat [skryté adresy](https://nerolation.github.io/stealth-utils) pro anonymní převody.
+
+**Upozornění**: Kryptografie za skrytými adresami je, pokud víme, spolehlivá. Existují však potenciální útoky postranním kanálem. [Níže](#go-wrong) uvidíte, co můžete udělat pro snížení tohoto rizika.
+
+## Jak fungují skryté adresy {#how}
+
+Tento článek se pokusí vysvětlit skryté adresy dvěma způsoby. První je [jak je používat](#how-use). Tato část je dostatečná k pochopení zbytku článku. Dále je zde [vysvětlení matematiky, která za tím stojí](#how-math). Pokud se zajímáte o kryptografii, přečtěte si i tuto část.
+
+### Zjednodušená verze (jak používat skryté adresy) {#how-use}
+
+Alice vytvoří dva privátní klíče a zveřejní odpovídající veřejné klíče (které lze zkombinovat do jedné meta-adresy dvojnásobné délky). Bill také vytvoří privátní klíč a zveřejní odpovídající veřejný klíč.
+
+Pomocí veřejného klíče jedné strany a privátního klíče druhé strany můžete odvodit sdílené tajemství známé pouze Alici a Billovi (nelze jej odvodit pouze z veřejných klíčů). Pomocí tohoto sdíleného tajemství získá Bill skrytou adresu a může na ni posílat aktiva.
+
+Alice také získá adresu ze sdíleného tajemství, ale protože zná privátní klíče k veřejným klíčům, které zveřejnila, může také získat privátní klíč, který jí umožní vybírat z této adresy.
+
+### Matematika (proč skryté adresy fungují takto) {#how-math}
+
+Standardní skryté adresy používají [kryptografii na bázi eliptických křivek (ECC)](https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/#elliptic-curves-building-blocks-of-a-better-trapdoor), aby dosáhly lepšího výkonu s menším počtem bitů klíče a zároveň zachovaly stejnou úroveň zabezpečení. Ale z větší části to můžeme ignorovat a předstírat, že používáme běžnou aritmetiku.
+
+Existuje číslo, které každý zná, _G_. Můžete násobit _G_. Ale vzhledem k povaze ECC je prakticky nemožné dělit _G_. Způsob, jakým kryptografie s veřejným klíčem v Ethereu obecně funguje, je, že můžete použít privátní klíč _Ppriv_ k podepisování transakcí, které jsou poté ověřeny veřejným klíčem _Ppub = GPpriv_.
+
+Alice vytvoří dva privátní klíče, _Kpriv_ a _Vpriv_. _Kpriv_ se použije k utrácení peněz ze skryté adresy a _Vpriv_ k zobrazení adres, které patří Alici. Alice poté zveřejní veřejné klíče: _Kpub = GKpriv_ a _Vpub = GVpriv_
+
+Bill vytvoří třetí privátní klíč, _Rpriv_, a zveřejní _Rpub = GRpriv_ v centrálním registru (Bill ho mohl poslat také Alici, ale předpokládáme, že Carol poslouchá).
+
+Bill vypočítá _RprivVpub = GRprivVpriv_, o kterém předpokládá, že ho zná i Alice (vysvětleno níže). Tato hodnota se nazývá _S_, sdílené tajemství. Tím Bill získá veřejný klíč, _Ppub = Kpub+G\*haš(S)_. Z tohoto veřejného klíče může vypočítat adresu a poslat na ni jakékoli zdroje, které chce. V budoucnu, pokud Alice vyhraje, může jí Bill sdělit _Rpriv_, aby dokázal, že zdroje pocházejí od něj.
+
+Alice vypočítá _RpubVpriv = GRprivVpriv_. Tím získá stejné sdílené tajemství, _S_. Protože zná privátní klíč, _Kpriv_, může vypočítat _Ppriv = Kpriv+haš(S)_. Tento klíč jí umožňuje přístup k aktivům na adrese, která je výsledkem _Ppub = GPpriv = GKpriv+G\*haš(S) = Kpub+G\*haš(S)_.
+
+Máme samostatný zobrazovací klíč, který Alici umožňuje zadat subdodávku službám Dave's World Domination Campaign Services. Alice je ochotna dát Davovi vědět veřejné adresy a informovat ji, až bude k dispozici více peněz, ale nechce, aby utrácel peníze z její kampaně.
+
+Protože prohlížení a utrácení používají samostatné klíče, může Alice dát Daveovi _Vpriv_. Potom může Dave vypočítat _S = RpubVpriv = GRprivVpriv_ a tímto způsobem získat veřejné klíče (_Ppub = Kpub+G\*haš(S)_). Ale bez _Kpriv_ nemůže Dave získat privátní klíč.
+
+Abychom to shrnuli, toto jsou hodnoty známé různým účastníkům.
+
+| Alice | Zveřejněno | Bill | Dave | |
+| ------------------------------------------------------------------------- | ----------------- | ------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ---------------------------------------------- |
+| G | G | G | G | |
+| _Kpriv_ | – | – | – | |
+| _Vpriv_ | – | – | _Vpriv_ | |
+| _Kpub = GKpriv_ | _Kpub_ | _Kpub_ | _Kpub_ | |
+| _Vpub = GVpriv_ | _Vpub_ | _Vpub_ | _Vpub_ | |
+| – | – | _Rpriv_ | – | |
+| _Rpub_ | _Rpub_ | _Rpub = GRpriv_ | _Rpub_ | |
+| _S = RpubVpriv = GRprivVpriv_ | – | _S = RprivVpub = GRprivVpriv_ | _S = _RpubVpriv_ = GRprivVpriv_ | |
+| _Ppub = Kpub+G\*haš(S)_ | – | _Ppub = Kpub+G\*haš(S)_ | _Ppub = Kpub+G\*haš(S)_ | |
+| _Adresa=f(Ppub)_ | – | _Adresa=f(Ppub)_ | _Adresa=f(Ppub)_ | _Adresa=f(Ppub)_ |
+| _Ppriv = Kpriv+haš(S)_ | – | – | – | |
+
+## Když se skryté adresy pokazí {#go-wrong}
+
+_Na blockchainu neexistují žádná tajemství_. Zatímco skryté adresy vám mohou poskytnout soukromí, toto soukromí je náchylné k analýze provozu. Jako triviální příklad si představte, že Bill financuje adresu a okamžitě pošle transakci ke zveřejnění hodnoty _Rpub_. Bez Alicina _Vpriv_ si nemůžeme být jisti, že se jedná o skrytou adresu, ale je to nejpravděpodobnější. Potom vidíme další transakci, která převádí všechny ETH z této adresy na adresu fondu kampaně Alice. Možná to nebudeme schopni dokázat, ale je pravděpodobné, že Bill právě přispěl na kampaň Alice. Carol by si to určitě myslela.
+
+Pro Billa je snadné oddělit zveřejnění _Rpub_ od financování skryté adresy (udělat to v různých časech z různých adres). To je však nedostatečné. Vzor, který Carol hledá, je, že Bill financuje adresu a poté z ní fond kampaně Alice vybírá.
+
+Jedním řešením je, aby kampaň Alice peníze nevybírala přímo, ale použila je k zaplacení třetí straně. Pokud kampaň Alice pošle 10 ETH společnosti Dave's World Domination Campaign Services, Carol ví jen to, že Bill přispěl jednomu z Daveových zákazníků. Pokud má Dave dostatek zákazníků, Carol by nemohla vědět, zda Bill přispěl Alici, která s ní soupeří, nebo Adamovi, Albertovi či Abigail, o které se Carol nezajímá. Alice může k platbě přiložit hašovanou hodnotu a poté poskytnout Daveovi předobraz, aby dokázala, že to byl její dar. Alternativně, jak je uvedeno výše, pokud Alice dá Daveovi svůj _Vpriv_, už ví, od koho platba přišla.
+
+Hlavním problémem tohoto řešení je, že vyžaduje, aby Alice dbala na utajení, když toto utajení prospívá Billovi. Alice si možná bude chtít udržet svou pověst, aby jí přispěl i Billův přítel Bob. Ale je také možné, že by jí nevadilo Billa odhalit, protože by se pak bál, co se stane, když vyhraje Carol. Bill by mohl nakonec poskytnout Alici ještě větší podporu.
+
+### Použití více skrytých vrstev {#multi-layer}
+
+Místo spoléhání se na Alici, aby chránila Billovo soukromí, to může Bill udělat sám. Může generovat více meta-adres pro fiktivní osoby, Boba a Bellu. Bill poté pošle ETH Bobovi a „Bob“ (což je ve skutečnosti Bill) je pošle Belle. „Bella“ (také Bill) je pošle Alici.
+
+Carol může stále provádět analýzu provozu a vidět řetězec Bill-Bob-Bella-Alice. Pokud však „Bob“ a „Bella“ také používají ETH pro jiné účely, nebude se zdát, že Bill cokoli převedl Alici, i když Alice okamžitě vybere peníze ze skryté adresy na svou známou adresu kampaně.
+
+## Napsání aplikace se skrytými adresami {#write-app}
+
+Tento článek vysvětluje aplikaci se skrytými adresami [dostupnou na GitHubu](https://github.com/qbzzt/251022-stealth-addresses.git).
+
+### Nástroje {#tools}
+
+Existuje [typescriptová knihovna pro skryté adresy](https://github.com/ScopeLift/stealth-address-sdk), kterou bychom mohli použít. Kryptografické operace však mohou být náročné na CPU. Dávám přednost jejich implementaci v kompilovaném jazyce, jako je [Rust](https://rust-lang.org/), a použití [WASM](https://webassembly.org/) ke spuštění kódu v prohlížeči.
+
+Použijeme [Vite](https://vite.dev/) a [React](https://react.dev/). Jedná se o standardní nástroje v oboru; pokud je neznáte, můžete použít [tento tutoriál](/developers/tutorials/creating-a-wagmi-ui-for-your-contract/). Pro použití Vite potřebujeme Node.
+
+### Podívejte se na skryté adresy v akci {#in-action}
+
+1. Nainstalujte si potřebné nástroje: [Rust](https://rust-lang.org/tools/install/) a [Node](https://nodejs.org/en/download).
+
+2. Naklonujte repozitář na GitHubu.
+
+ ```sh
+ git clone https://github.com/qbzzt/251022-stealth-addresses.git
+ cd 251022-stealth-addresses
+ ```
+
+3. Nainstalujte předpoklady a zkompilujte kód Rustu.
+
+ ```sh
+ cd src/rust-wasm
+ rustup target add wasm32-unknown-unknown
+ cargo install wasm-pack
+ wasm-pack build --target web
+ ```
+
+4. Spusťte webový server.
+
+ ```sh
+ cd ../..
+ npm install
+ npm run dev
+ ```
+
+5. Přejděte do [aplikace](http://localhost:5173/). Tato stránka aplikace má dva rámce: jeden pro uživatelské rozhraní Alice a druhý pro Billa. Tyto dva rámce spolu nekomunikují; jsou na stejné stránce pouze pro pohodlí.
+
+6. Jako Alice klikněte na **Generate a Stealth Meta-Address**. Zobrazí se nová skrytá adresa a odpovídající privátní klíče. Zkopírujte skrytou meta-adresu do schránky.
+
+7. Jako Bill vložte novou skrytou meta-adresu a klikněte na **Generate an address**. Tím získáte adresu pro financování Alice.
+
+8. Zkopírujte adresu a Billův veřejný klíč a vložte je do oblasti „Privátní klíč pro adresu generovanou Billem“ v uživatelském rozhraní Alice. Jakmile budou tato pole vyplněna, uvidíte privátní klíč pro přístup k aktivům na této adrese.
+
+9. Můžete použít [online kalkulačku](https://iancoleman.net/ethereum-private-key-to-address/), abyste se ujistili, že privátní klíč odpovídá adrese.
+
+### Jak program funguje {#how-the-program-works}
+
+#### Komponenta WASM {#wasm}
+
+Zdrojový kód, který se kompiluje do WASM, je napsán v [Rustu](https://rust-lang.org/). Můžete si ho prohlédnout v [`src/rust_wasm/src/lib.rs`](https://github.com/qbzzt/251022-stealth-addresses/blob/main/src/rust-wasm/src/lib.rs). Tento kód je primárně rozhraním mezi JavaScriptovým kódem a [knihovnou `eth-stealth-addresses`](https://github.com/kassandraoftroy/eth-stealth-addresses).
+
+**`Cargo.toml`**
+
+[`Cargo.toml`](https://doc.rust-lang.org/cargo/reference/manifest.html) v Rustu je obdobou [`package.json`](https://docs.npmjs.com/cli/v9/configuring-npm/package-json) v JavaScriptu. Obsahuje informace o balíčku, deklarace závislostí atd.
+
+```toml
+[package]
+name = "rust-wasm"
+version = "0.1.0"
+edition = "2024"
+
+[dependencies]
+eth-stealth-addresses = "0.1.0"
+hex = "0.4.3"
+wasm-bindgen = "0.2.104"
+getrandom = { version = "0.2", features = ["js"] }
+```
+
+Balíček [`getrandom`](https://docs.rs/getrandom/latest/getrandom/) potřebuje generovat náhodné hodnoty. Toho nelze dosáhnout čistě algoritmickými prostředky; vyžaduje to přístup k fyzickému procesu jako zdroji entropie. Tato definice určuje, že entropii získáme dotazem na prohlížeč, ve kterém běžíme.
+
+```toml
+console_error_panic_hook = "0.1.7"
+```
+
+[Tato knihovna](https://docs.rs/console_error_panic_hook/latest/console_error_panic_hook/) nám poskytuje smysluplnější chybové zprávy, když kód WASM zpanikaří a nemůže pokračovat.
+
+```toml
+[lib]
+crate-type = ["cdylib", "rlib"]
+```
+
+Výstupní typ potřebný k vytvoření kódu WASM.
+
+**`lib.rs`**
+
+Toto je skutečný kód Rustu.
+
+```rust
+use wasm_bindgen::prelude::*;
+```
+
+Definice pro vytvoření balíčku WASM z Rustu. Jsou zdokumentovány [zde](https://wasm-bindgen.github.io/wasm-bindgen/reference/attributes/index.html).
+
+```rust
+use eth_stealth_addresses::{
+ generate_stealth_meta_address,
+ generate_stealth_address,
+ compute_stealth_key
+};
+```
+
+Funkce, které potřebujeme z [knihovny `eth-stealth-addresses`](https://github.com/kassandraoftroy/eth-stealth-addresses).
+
+```rust
+use hex::{decode,encode};
+```
+
+Rust typicky používá pro hodnoty bajtová [pole](https://doc.rust-lang.org/std/primitive.array.html) (`[u8; ]`). Ale v JavaScriptu obvykle používáme hexadecimální řetězce. [Knihovna `hex`](https://docs.rs/hex/latest/hex/) nám překládá z jedné reprezentace do druhé.
+
+```rust
+#[wasm_bindgen]
+```
+
+Vygenerujte vazby WASM, aby bylo možné tuto funkci volat z JavaScriptu.
+
+```rust
+pub fn wasm_generate_stealth_meta_address() -> String {
+```
+
+Nejjednodušší způsob, jak vrátit objekt s více poli, je vrátit řetězec JSON.
+
+```rust
+ let (address, spend_private_key, view_private_key) =
+ generate_stealth_meta_address();
+```
+
+[`generate_stealth_meta_address`](https://docs.rs/eth-stealth-addresses/latest/eth_stealth_addresses/fn.generate_stealth_meta_address.html) vrací tři pole:
+
+- Meta-adresa (_Kpub_ a _Vpub_)
+- Zobrazovací privátní klíč (_Vpriv_)
+- Privátní klíč pro útratu (_Kpriv_)
+
+Syntaxe [n-tice](https://doc.rust-lang.org/std/primitive.tuple.html) nám umožňuje tyto hodnoty opět oddělit.
+
+```rust
+ format!("{{\"address\":\"{}\",\"view_private_key\":\"{}\",\"spend_private_key\":\"{}\"}}",
+ encode(address),
+ encode(view_private_key),
+ encode(spend_private_key)
+ )
+}
+```
+
+Použijte makro [`format!`](https://doc.rust-lang.org/std/fmt/index.html) k vygenerování řetězce kódovaného ve formátu JSON. Použijte [`hex::encode`](https://docs.rs/hex/latest/hex/fn.encode.html) ke změně polí na hexadecimální řetězce.
+
+```rust
+fn str_to_array(s: &str) -> Option<[u8; N]> {
+```
+
+Tato funkce převede hexadecimální řetězec (poskytnutý JavaScriptem) na pole bajtů. Používáme ji k analýze hodnot poskytnutých JavaScriptovým kódem. Tato funkce je komplikovaná kvůli tomu, jak Rust zpracovává pole a vektory.
+
+Výraz `` se nazývá [generikum](https://doc.rust-lang.org/book/ch10-01-syntax.html). `N` je parametr, který řídí délku vráceného pole. Funkce se ve skutečnosti volá jako `str_to_array::`, kde `n` je délka pole.
+
+Návratová hodnota je `Option<[u8; N]>`, což znamená, že vrácené pole je [volitelné](https://doc.rust-lang.org/std/option/). Toto je typický vzor v Rustu pro funkce, které mohou selhat.
+
+Například, pokud zavoláme `str_to_array::10("bad060a7")`, funkce má vrátit pole s deseti hodnotami, ale vstup má pouze čtyři bajty. Funkce musí selhat, a to tak, že vrátí `None`. Návratová hodnota pro `str_to_array::4("bad060a7")` by byla `Some<[0xba, 0xd0, 0x60, 0xa7]>`.
+
+```rust
+ // decode vrací Result, _>
+ let vec = decode(s).ok()?;
+```
+
+Funkce [`hex::decode`](https://docs.rs/hex/latest/hex/fn.decode.html) vrací `Result, FromHexError>`. Typ [`Result`](https://doc.rust-lang.org/std/result/) může obsahovat buď úspěšný výsledek (`Ok(value)`), nebo chybu (`Err(error)`).
+
+Metoda `.ok()` převede `Result` na `Option`, jehož hodnota je buď hodnota `Ok()` v případě úspěchu, nebo `None` v opačném případě. Nakonec [operátor otazníku](https://doc.rust-lang.org/std/option/#the-question-mark-operator-) přeruší aktuální funkci a vrátí `None`, pokud je `Option` prázdný. V opačném případě hodnotu rozbalí a vrátí ji (v tomto případě pro přiřazení hodnoty `vec`).
+
+Vypadá to jako zvláštně spletitá metoda pro zpracování chyb, ale `Result` a `Option` zajišťují, že všechny chyby jsou tak či onak zpracovány.
+
+```rust
+ if vec.len() != N { return None; }
+```
+
+Pokud je počet bajtů nesprávný, jedná se o selhání a vrátíme `None`.
+
+```rust
+ // try_into spotřebuje vec a pokusí se vytvořit [u8; N]
+ let array: [u8; N] = vec.try_into().ok()?;
+```
+
+Rust má dva typy polí. [Pole](https://doc.rust-lang.org/std/primitive.array.html) mají pevnou velikost. [Vektory](https://doc.rust-lang.org/std/vec/index.html) se mohou zvětšovat a zmenšovat. `hex::decode` vrací vektor, ale knihovna `eth_stealth_addresses` chce přijímat pole. [`.try_into()`](https://doc.rust-lang.org/std/convert/trait.TryInto.html#required-methods) převádí hodnotu na jiný typ, například vektor na pole.
+
+```rust
+ Some(array)
+}
+```
+
+Rust nevyžaduje použití klíčového slova [`return`](https://doc.rust-lang.org/std/keyword.return.html) při vracení hodnoty na konci funkce.
+
+```rust
+#[wasm_bindgen]
+pub fn wasm_generate_stealth_address(stealth_address: &str) -> Option {
+```
+
+Tato funkce přijímá veřejnou meta-adresu, která obsahuje jak _Vpub_, tak _Kpub_. Vrací skrytou adresu, veřejný klíč k publikování (_Rpub_) a jednobajtovou skenovací hodnotu, která urychluje identifikaci toho, které publikované adresy mohou patřit Alici.
+
+Skenovací hodnota je součástí sdíleného tajemství (_S = GRprivVpriv_). Tato hodnota je k dispozici Alici a její kontrola je mnohem rychlejší než kontrola, zda se _f(Kpub+G\*haš(S))_ rovná publikované adrese.
+
+```rust
+ let (address, r_pub, scan) =
+ generate_stealth_address(&str_to_array::<66>(stealth_address)?);
+```
+
+Používáme [`generate_stealth_address`](https://docs.rs/eth-stealth-addresses/latest/eth_stealth_addresses/fn.generate_stealth_address.html) z knihovny.
+
+```rust
+ format!("{{\"address\":\"{}\",\"rPub\":\"{}\",\"scan\":\"{}\"}}",
+ encode(address),
+ encode(r_pub),
+ encode(&[scan])
+ ).into()
+}
+```
+
+Připravte výstupní řetězec kódovaný ve formátu JSON.
+
+```rust
+#[wasm_bindgen]
+pub fn wasm_compute_stealth_key(
+ address: &str,
+ bill_pub_key: &str,
+ view_private_key: &str,
+ spend_private_key: &str
+) -> Option {
+ .
+ .
+ .
+}
+```
+
+Tato funkce používá [`compute_stealth_key`](https://docs.rs/eth-stealth-addresses/latest/eth_stealth_addresses/fn.compute_stealth_key.html) z knihovny k výpočtu privátního klíče pro výběr z adresy (_Rpriv_). Tento výpočet vyžaduje tyto hodnoty:
+
+- Adresa (_Adresa=f(Ppub)_)
+- Veřejný klíč vygenerovaný Billem (_Rpub_)
+- Privátní klíč pro zobrazení (_Vpriv_)
+- Privátní klíč pro útratu (_Kpriv_)
+
+```rust
+#[wasm_bindgen(start)]
+```
+
+[`#[wasm_bindgen(start)]`](https://wasm-bindgen.github.io/wasm-bindgen/reference/attributes/on-rust-exports/start.html) určuje, že funkce se provede při inicializaci kódu WASM.
+
+```rust
+pub fn main() {
+ console_error_panic_hook::set_once();
+}
+```
+
+Tento kód určuje, že výstup paniky se pošle do konzole JavaScriptu. Abyste to viděli v akci, použijte aplikaci a dejte Billovi neplatnou meta-adresu (stačí změnit jednu hexadecimální číslici). V konzoli JavaScriptu uvidíte tuto chybu:
+
+```
+rust_wasm.js:236 panicked at /home/ori/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs:701:9:
+assertion `left == right` failed
+ left: 0
+ right: 1
+```
+
+Následuje výpis zásobníku. Poté dejte Billovi platnou meta-adresu a Alici buď neplatnou adresu, nebo neplatný veřejný klíč. Zobrazí se tato chyba:
+
+```
+rust_wasm.js:236 panicked at /home/ori/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/eth-stealth-addresses-0.1.0/src/lib.rs:78:9:
+klíče negenerují skrytou adresu
+```
+
+Opět následuje výpis zásobníku.
+
+#### Uživatelské rozhraní {#ui}
+
+Uživatelské rozhraní je napsáno pomocí [Reactu](https://react.dev/) a obsluhováno pomocí [Vite](https://vite.dev/). Můžete se o nich dozvědět pomocí [tohoto tutoriálu](/developers/tutorials/creating-a-wagmi-ui-for-your-contract/). Zde není potřeba [WAGMI](https://wagmi.sh/), protože neinteragujeme přímo s blockchainem ani s peněženkou.
+
+Jedinou ne zcela zřejmou částí uživatelského rozhraní je připojení WASM. Funguje to takto.
+
+**`vite.config.js`**
+
+Tento soubor obsahuje [konfiguraci Vite](https://vite.dev/config/).
+
+```js
+import { defineConfig } from 'vite'
+import react from '@vitejs/plugin-react'
+import wasm from "vite-plugin-wasm";
+
+// https://vite.dev/config/
+export default defineConfig({
+ plugins: [react(), wasm()],
+})
+```
+
+Potřebujeme dva pluginy Vite: [react](https://www.npmjs.com/package/@vitejs/plugin-react) a [wasm](https://github.com/Menci/vite-plugin-wasm#readme).
+
+**`App.jsx`**
+
+Tento soubor je hlavní komponentou aplikace. Je to kontejner, který obsahuje dvě komponenty: `Alice` a `Bill`, uživatelská rozhraní pro tyto uživatele. Relevantní částí pro WASM je inicializační kód.
+
+```jsx
+import init from './rust-wasm/pkg/rust_wasm.js'
+```
+
+Když používáme [`wasm-pack`](https://rustwasm.github.io/docs/wasm-pack/), vytvoří se dva soubory, které zde používáme: soubor wasm se skutečným kódem (zde `src/rust-wasm/pkg/rust_wasm_bg.wasm`) a soubor JavaScript s definicemi pro jeho použití (zde `src/rust_wasm/pkg/rust_wasm.js`). Výchozí export tohoto souboru JavaScript je kód, který se musí spustit pro inicializaci WASM.
+
+```jsx
+function App() {
+ .
+ .
+ .
+ useEffect(() => {
+ const loadWasm = async () => {
+ try {
+ await init();
+ setWasmReady(true)
+ } catch (err) {
+ console.error('Chyba při načítání wasm:', err)
+ alert("Wasm error: " + err)
+ }
+ }
+
+ loadWasm()
+ }, []
+ )
+```
+
+[Hook `useEffect`](https://react.dev/reference/react/useEffect) umožňuje určit funkci, která se spustí při změně proměnných stavu. Zde je seznam proměnných stavu prázdný (`[]`), takže tato funkce se provede pouze jednou při načtení stránky.
+
+Funkce efektu se musí okamžitě vrátit. Pro použití asynchronního kódu, jako je `init` WASM (který musí načíst soubor `.wasm`, a proto to trvá), definujeme interní funkci [`async`](https://en.wikipedia.org/wiki/Async/await) a spustíme ji bez `await`.
+
+**`Bill.jsx`**
+
+Toto je uživatelské rozhraní pro Billa. Má jednu akci, vytvoření adresy na základě skryté meta-adresy poskytnuté Alicí.
+
+```jsx
+import { wasm_generate_stealth_address } from './rust-wasm/pkg/rust_wasm.js'
+```
+
+Kromě výchozího exportu exportuje JavaScriptový kód generovaný `wasm-pack` funkci pro každou funkci v kódu WASM.
+
+```jsx
+
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
- [Cambridge Blockchain Network Sustainability Index](https://ccaf.io/cbnsi/ethereum)
-- [Zpráva Bílého domu o blockchainech důkazu prací](https://web.archive.org/web/20221109005700/https://www.whitehouse.gov/wp-content/uploads/2022/09/09-2022-Crypto-Assets-and-Climate-Report.pdf)
-- [Emise Etherea: Souhrnný odhad](https://kylemcdonald.github.io/ethereum-emissions/) - _Kyle McDonald_
-- [Ethereum Energy Consumption Index](https://digiconomist.net/ethereum-energy-consumption/) - _Digiconomist_
-- [ETHMerge.com](https://ethmerge.com/) - _[@InsideTheSim](https://twitter.com/InsideTheSim)_
-- [Merge - Dopady na spotřebu elektřiny a uhlíkovou stopu sítě Ethereum](https://carbon-ratings.com/eth-report-2022) - _CCRI_
+- [Zpráva Bílého domu o blockchainech s důkazem prací](https://web.archive.org/web/20221109005700/https://www.whitehouse.gov/wp-content/uploads/2022/09/09-2022-Crypto-Assets-and-Climate-Report.pdf)
+- [Emise Etherea: Odhad zdola nahoru](https://kylemcdonald.github.io/ethereum-emissions/) – _Kyle McDonald_
+- [Index spotřeby energie Etherea](https://digiconomist.net/ethereum-energy-consumption/) – _Digiconomist_
+- [ETHMerge.com](https://ethmerge.com/) – _[@InsideTheSim](https://twitter.com/InsideTheSim)_
+- [Sloučení – Dopady na spotřebu elektřiny a uhlíkovou stopu sítě Ethereum](https://carbon-ratings.com/eth-report-2022) – _CCRI_
- [Spotřeba energie Etherea](https://mirror.xyz/jmcook.eth/ODpCLtO4Kq7SCVFbU4He8o8kXs418ZZDTj0lpYlZkR8)
## Související témata {#related-topics}
-- [Vize Etherea](/roadmap/vision/)
-- [Beacon chain](/roadmap/beacon-chain)
+- [Beacon Chain](/roadmap/beacon-chain)
- [Sloučení](/roadmap/merge/)
diff --git a/public/content/translations/cs/eth/supply/index.md b/public/content/translations/cs/eth/supply/index.md
new file mode 100644
index 00000000000..4b9c40dcac0
--- /dev/null
+++ b/public/content/translations/cs/eth/supply/index.md
@@ -0,0 +1,80 @@
+---
+title: Pochopení nabídky a emise ETH
+description: Uživatelsky přívětivý průvodce nabídkou a vydáváním ETH, pokrývající klíčové koncepty jako EIP, PoS a EIP-1559.
+lang: cs
+---
+
+# Nabídka a emise ETH {#eth-supply-and-issuance}
+
+## Předpoklady {#prerequisites}
+
+Tento článek je napsán pro začátečníky bez předchozích znalostí. Pro plné pochopení tématu je však užitečné mít základní povědomí o pojmech, jako jsou [návrhy na vylepšení Etherea (EIPs)](/eips/#introduction-to-ethereum-improvement-proposals), [důkaz prací (PoW)](/developers/docs/consensus-mechanisms/pow/), [důkaz podílem (PoS)](/developers/docs/consensus-mechanisms/pos/) a [londýnský upgrade](/ethereum-forks/#london).
+
+## Kolik ETH tokenů dnes existuje? {#current-eth-supply}
+
+Celková nabídka ETH je dynamická a kvůli dvěma hlavním faktorům se neustále mění:
+
+1. **Emise v Proof-of-Stake (PoS)**: Nové ETH jsou vytvářeny jako odměna pro validátory, kteří zabezpečují síť
+2. **Spalování dle EIP-1559**: Část transakčních poplatků je trvale odstraněna z oběhu
+
+Aktuální nabídku a tyto změny můžete sledovat v reálném čase na platformách jako [Ultrasound Money](https://ultrasound.money).
+
+Nabídka a emise Etherea jsou klíčovými ukazateli pro pochopení zdraví a budoucnosti sítě. Ale co přesně znamená emise ETH? Pojďme si to vysvětlit.
+
+## Proč na nabídce a vydávání ETH záleží {#why-eth-supply-matters}
+
+V tradičním finančnictví ovládají nabídku peněz centrální banky, často tisknou další peníze za účelem podpory ekonomik. Ethereum naproti tomu funguje na transparentním a předvídatelném systému řízeném jeho kódem. Znalost toho, kolik ETH existuje a jak rychle se vydává nové, pomáhá:
+
+- **Budovat důvěru**: Komunita Etherea si může ověřit údaje o nabídce a emisích přímo z blockchainu.
+- **Pochopit hodnotu**: Vztah mezi vydáváním a spalováním ETH ovlivňuje inflaci či deflaci ETH, a tím i jeho hodnotu v čase.
+- **Sledovat zdraví sítě**: Změny ve vydávání a spalování odrážejí aktivitu a bezpečnost sítě.
+
+## Co je to vydávání ETH? {#eth-issuance}
+
+Vydávání ETH označuje proces vytváření nového ETH jako odměn pro validátory, kteří zabezpečují síť Ethereum. To je odděleno od celkové nabídky, což je celkové množství ETH v oběhu.
+
+### Zjednodušeně:
+
+- **Vydávání** přidává nové ETH do sítě.
+- **Spalování** (zavedeno EIP-1559) odstraňuje ETH ze sítě tím, že ničí část transakčních poplatků.
+
+Tyto dvě síly společně určují, zda nabídka Etherea časem roste (je inflační), nebo klesá (je deflační).
+
+## Nabídka a vydávání ETH dnes {#eth-supply-today}
+
+Systém Proof-of-Stake (PoS) v Ethereu výrazně snížil emisi nových ETH oproti dřívějšímu modelu Proof-of-Work (PoW). Validátoři – kteří uzamykají ETH, aby zabezpečili síť – dostávají ETH jako odměny. Aktuální míru vydávání můžete sledovat na stránce [Ultrasound Money](https://ultrasound.money).
+
+Tento údaj je však dynamický. Díky EIP-1559 může v obdobích vysoké aktivity spalování ETH převýšit vydávání a vytvořit deflační efekt. Například během období vysoké poptávky, jako jsou spuštění NFT nebo aktivita v DeFi, se může spálit více ETH, než se vydá.
+
+### Nástroje pro sledování nabídky a vydávání ETH:
+
+- [Ultrasound Money](https://ultrasound.money) – sledování nabídky, vydávání a spalování ETH v reálném čase
+- [Etherscan](https://etherscan.io) – blockchainový průzkumník s metrikami nabídky
+
+## Faktory ovlivňující budoucí nabídku a vydávání ETH {#future-eth-supply}
+
+Budoucí nabídka Etherea není neměnná - závisí na několika proměnných:
+
+1. **Účast na stakingu**:
+ - Více validátorů znamená více distribuovaných odměn a tím pádem vyšší emise.
+ - Méně validátorů může znamenat nižší emise.
+ - Další informace o stakingu(/staking/).
+
+2. **Aktivita sítě**:
+ - Vyšší objemy transakcí vedou ke spálění většího počtu ETH, což může vyrovnat nebo převýšit vydávání.
+ - Přečtěte si o [transakčních poplatcích](/developers/docs/gas/) a jejich vlivu na spalování.
+
+3. **Vylepšení protokolu**:
+ - Budoucí změny kódu Etherea mohou upravit odměny za staking nebo mechanismy spalování a tím dále ovlivnit nabídku.
+ - Sledujte [plány na vývoj Etherea](/roadmap/).
+
+## Shrnutí: Nabídka ETH, vydávání a co nás čeká {#recap}
+
+Zde je rychlý souhrn všeho, co potřebujete vědět o nabídce a vydávání ETH:
+
+- **Nabídka ETH**: Dynamická a neustále se měnící, sledovatelná v reálném čase pomocí nástrojů jako [Ultrasound Money](https://ultrasound.money)
+- **Vydávání v PoS**: Výrazně snížené oproti PoW, odměny získávají validátoři. Aktuální míru vydávání sledujte na stránce [Ultrasound Money](https://ultrasound.money)
+- **Role EIP-1559**: Spalování ETH může při vysoké aktivitě způsobit deflaci sítě
+- **Budoucí trendy**: Účast na stakingu, síťová aktivita a vylepšení protokolu budou formovat nabídku ETH
+
+Porozumění vydávání ETH pomáhá odhalit hodnotu Etherea a jeho potenciál jako deflačního, decentralizovaného aktiva. Pro podrobnější informace o tom, jak Sloučení ovlivnilo nabídku ETH, si přečtěte náš [detailní rozbor](/roadmap/merge/issuance/). Zajímá vás budoucnost ETH? Prozkoumejte nástroje jako [Ultrasound Money](https://ultrasound.money) nebo našeho [průvodce stakingem](/staking/).
\ No newline at end of file
diff --git a/public/content/translations/cs/ethereum-forks/index.md b/public/content/translations/cs/ethereum-forks/index.md
new file mode 100644
index 00000000000..0c51fdf4211
--- /dev/null
+++ b/public/content/translations/cs/ethereum-forks/index.md
@@ -0,0 +1,681 @@
+---
+title: Časová osa všech větví sítě Ethereum (2014 až současnost)
+description: Historie blockchainu Etherea zahrnující hlavní milníky, verze a větve.
+lang: cs
+sidebarDepth: 1
+---
+
+# Časová osa všech větví sítě Ethereum (2014 až současnost) {#the-history-of-ethereum}
+
+Časová osa všech hlavních milníků, větví a aktualizací blockchainu Etherea.
+
+
+
+Větve se tvoří, když je třeba provést zásadní technické upgrady nebo změny sítě – obvykle vycházejí z [návrhů na zlepšení Etherea (EIP)](/eips/) a mění „pravidla“ protokolu.
+
+Když je potřeba upgradovat tradiční, centrálně řízený software, společnost pro koncové uživatele jednoduše vydá novou verzi. Blockchainy fungují jinak, protože neexistuje žádné centrální vlastnictví. [Klienti Etherea](/developers/docs/nodes-and-clients/) musí aktualizovat svůj software, aby implementovali nová pravidla větve. Navíc tvůrci bloků (těžaři ve světě důkazu prací, validátoři ve světě důkazu podílem) a uzly musí vytvářet bloky a ověřovat je podle nových pravidel. [Více o mechanismech konsensu](/developers/docs/consensus-mechanisms/)
+
+Tyto změny pravidel mohou v síti způsobit dočasné rozdělení. Nové bloky by mohly být vytvářeny podle nových nebo starých pravidel. Větve jsou obvykle odsouhlaseny předem, aby klienti přijali změny jednotně a větev s upgrady se stala hlavním řetězcem. Ve vzácných případech však mohou neshody ohledně větví způsobit trvalé rozdělení sítě – nejznámějším příkladem je vytvoření sítě Ethereum Classic pomocí větve DAO.
+
+
+
+
+
+Software, na kterém Ethereum funguje, se skládá ze dvou polovin, známých jako [exekuční vrstva](/glossary/#execution-layer) a [konsensuální vrstva](/glossary/#consensus-layer).
+
+**Pojmenování upgradů exekuční vrstvy**
+
+Od roku 2021 jsou upgrady **exekuční vrstvy** pojmenovávány podle názvů měst, kde se v minulosti konal [Devcon](https://devcon.org/en/past-events/), v chronologickém pořadí:
+
+| Název upgradu | Rok konání Devconu | Číslo Devconu | Datum upgradu |
+| ------------- | ------------------ | ------------- | -------------------------------------- |
+| Berlin | 2014 | 0 | 15. dubna 2021 |
+| London | 2015 | I | 5. srpna 2021 |
+| Shanghai | 2016 | II | 12. dubna 2023 |
+| Cancun | 2017 | III | 13. března 2024 |
+| **Prague** | 2018 | IV | Bude určeno – příští |
+| _Osaka_ | 2019 | V | Bude určeno |
+| _Bogota_ | 2022 | VI | Bude určeno |
+| _Bangkok_ | 2024 | VII | Bude určeno |
+
+**Pojmenování upgradů konsensuální vrstvy**
+
+Od spuštění řetězce [Beacon Chain](/glossary/#beacon-chain) jsou upgrady **konsensuální vrstvy** pojmenovávány podle hvězd, jejichž počáteční písmena následují v abecedním pořadí:
+
+| Název upgradu | Datum upgradu |
+| --------------------------------------------------------------- | --------------------------------------- |
+| Geneze Beacon Chainu | 1. prosince 2020 |
+| [Altair](https://cs.wikipedia.org/wiki/Altair) | 27. října 2021 |
+| [Bellatrix](https://cs.wikipedia.org/wiki/Bellatrix) | 6. září 2022 |
+| [Capella](https://cs.wikipedia.org/wiki/Capella) | 12. dubna 2023 |
+| [Deneb](https://cs.wikipedia.org/wiki/Deneb) | 13. března 2024 |
+| [**Electra**](https://cs.wikipedia.org/wiki/Elektra_\(hvězda\)) | Bude určeno – příští |
+| [_Fulu_](https://en.wikipedia.org/wiki/Fulu_\(star\)) | Bude určeno |
+
+**Kombinované pojmenování**
+
+Upgrady exekuční a konsensuální vrstvy byly zpočátku zaváděny v různou dobu, ale po [sloučení (The Merge)](/roadmap/merge/) v roce 2022 jsou nasazovány současně. Proto se objevily hovorové termíny, které zjednodušují odkazy na tyto upgrady pomocí jediného spojeného výrazu. Začalo to upgradem _Shanghai-Capella_, běžně označovaným jako „**Shapella**“, a pokračuje upgrady _Cancun-Deneb_ (**Dencun**) a _Prague-Electra_ (**Pectra**).
+
+| Upgrade exekuční vrstvy | Upgrade konsensuální vrstvy | Zkratka |
+| ----------------------- | --------------------------- | ---------- |
+| Shanghai | Capella | „Shapella“ |
+| Cancun | Deneb | „Dencun“ |
+| Prague | Electra | „Pectra“ |
+| Osaka | Fulu | „Fusaka“ |
+
+
+
+Přejít rovnou k informacím o některých obzvláště důležitých minulých upgradech: [Beacon Chain](/roadmap/beacon-chain/), [sloučení (The Merge)](/roadmap/merge/) a [EIP-1559](#london)
+
+Hledáte budoucí upgrady protokolu? [Zjistěte více o nadcházejících upgradech v plánu rozvoje sítě Ethereum](/roadmap/).
+
+
+
+## 2025 {#2025}
+
+### Fulu-Osaka („Fusaka“) {#fusaka}
+
+
+
+[Více o upgradu Fusaka](/roadmap/fusaka/)
+
+### Prague-Electra („Pectra“) {#pectra}
+
+
+
+Upgrade Prague-Electra („Pectra“) zahrnoval několik vylepšení protokolu Ethereum zaměřených na zlepšení zkušeností pro všechny uživatele, sítě 2. vrstvy, stakery a provozovatele uzlů.
+
+Staking získal upgrade díky složeným účtům validátorů a vylepšenou kontrolu nad stakovanými prostředky pomocí adresy pro výběr z exekuční vrstvy. EIP-7251 zvýšil maximální efektivní zůstatek pro jednoho validátora na 2048, což zlepšilo kapitálovou efektivitu pro stakery. EIP-7002 umožnil exekučnímu účtu bezpečně spouštět akce validátora, včetně opuštění nebo výběru části prostředků, což zlepšilo zkušenost pro stakery ETH a zároveň pomohlo posílit odpovědnost provozovatelů uzlů.
+
+Další části upgradu se zaměřily na zlepšení zkušeností pro běžné uživatele. EIP-7702 přinesl možnost, aby běžný účet, který není chytrým kontraktem ([EOA](/glossary/#eoa)), spouštěl kód podobně jako chytrý kontrakt. Tím se odemkla neomezená nová funkcionalita pro tradiční účty Ethereum, jako je dávkování transakcí, sponzorování transakčních poplatků, alternativní ověřování, programovatelné kontroly výdajů, mechanismy obnovy účtu a další.
+
+
+
+Lepší uživatelská zkušenost:
+
+
+
+
+
+- [Pectra.wtf](https://pectra.wtf)
+- [Jak Pectra vylepší zážitek ze stakingu](https://www.kiln.fi/post/next-ethereum-upgrade-how-pectra-will-enhance-the-staking-experience)
+- [Přečtěte si specifikace upgradu Electra](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/)
+- [Často kladené otázky k Prague-Electra („Pectra“)](/roadmap/pectra/)
+
+
+
+## 2024 {#2024}
+
+### Cancun-Deneb („Dencun“) {#dencun}
+
+
+
+#### Shrnutí upgradu Cancun {#cancun-summary}
+
+Upgrade Cancun obsahuje soubor vylepšení _exekuce_ v síti Ethereum, které mají za cíl zlepšit škálovatelnost, a to v tandemu s upgrady konsensuální vrstvy Deneb.
+
+Zejména zahrnuje EIP-4844, známý jako **Proto-Danksharding**, který výrazně snižuje náklady na ukládání dat pro rollupy 2. vrstvy. Toho je dosaženo zavedením datových „blobů“, což umožňuje rollupům posílat data na Mainnet na krátkou dobu. To má za následek výrazně nižší transakční poplatky pro uživatele rollupů 2. vrstvy.
+
+
+
+
+
+
+
+- [Rollupy 2. vrstvy](/layer-2/)
+- [Proto-Danksharding](/roadmap/scaling/#proto-danksharding)
+- [Danksharding](/roadmap/danksharding/)
+- [Přečtěte si specifikace upgradu Cancun](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/cancun.md)
+
+#### Shrnutí upgradu Deneb {#deneb-summary}
+
+Upgrade Deneb obsahuje sadu vylepšení _konsensu_ sítě Ethereum zaměřených na zlepšení škálovatelnosti. Tento upgrade přichází společně s upgrady exekuční vrstvy Cancun, aby se umožnil Proto-Danksharding (EIP-4844), spolu s dalšími vylepšeními Beacon Chainu.
+
+Předem vygenerované podepsané „dobrovolné zprávy o odchodu“ již nemají platnost, což dává větší kontrolu uživatelům stakujícím své prostředky u provozovatele uzlu třetí strany. S touto podepsanou zprávou o odchodu mohou stakeři delegovat provoz uzlu a zároveň si zachovat schopnost kdykoli bezpečně odejít a vybrat své prostředky, aniž by museli někoho žádat o svolení.
+
+EIP-7514 zpřísňuje vydávání ETH tím, že omezuje „churn“ míru, s níž se validátoři mohou připojit k síti, na osm (8) za epochu. Protože je vydávání ETH úměrné celkovému stakovanému množství ETH, omezení počtu připojujících se validátorů omezuje _rychlost růstu_ nově vydávaných ETH a zároveň snižuje hardwarové nároky na provozovatele uzlů, což napomáhá decentralizaci.
+
+
+
+
EIP-7044 – trvale platné podepsané dobrovolné odchody
+
EIP-7045 – zvýšení maximálního slotu pro zařazení atestace
+
EIP-7514 – přidání maximálního limitu churnu za epochu
+
+
+
+
+- [Přečtěte si specifikace upgradu Deneb](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/)
+- [Často kladené otázky k Cancun-Deneb („Dencun“)](/roadmap/dencun/)
+
+
+
+## 2023 {#2023}
+
+### Shanghai-Capella („Shapella“) {#shapella}
+
+
+
+#### Shrnutí upgradu Shanghai {#shanghai-summary}
+
+Upgrade Shanghai přinesl výběry ze stakingu na exekuční vrstvu. Spolu s upgradem Capella to umožnilo blokům přijímat operace výběru, což stakerům umožňuje vybrat své ETH z Beacon Chainu na exekuční vrstvu.
+
+
+
+
+
+
+
+- [Přečtěte si specifikace upgradu Shanghai](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md)
+
+#### Shrnutí upgradu Capella {#capella-summary}
+
+Upgrade Capella byl třetím velkým upgradem konsensuální vrstvy (Beacon Chain) a umožnil výběry ze stakingu. Capella proběhla synchronně s upgradem exekuční vrstvy, Shanghai, a umožnila funkcionalitu výběru ze stakingu.
+
+Tento upgrade konsensuální vrstvy přinesl stakerům, kteří při svém počátečním vkladu neposkytli přihlašovací údaje pro výběr, možnost tak učinit, čímž se výběry umožnily.
+
+Upgrade také poskytl funkci automatického „sweeping“ účtů, která nepřetržitě zpracovává účty validátorů pro jakékoli dostupné platby odměn nebo úplné výběry.
+
+- [Více o výběrech ze stakingu](/staking/withdrawals/).
+- [Přečtěte si specifikace upgradu Capella](https://github.com/ethereum/consensus-specs/blob/dev/specs/capella/)
+
+
+
+## 2022 {#2022}
+
+### Paris (The Merge) {#paris}
+
+
+
+#### Shrnutí {#paris-summary}
+
+Upgrade Paris byl spuštěn, když blockchain proof-of-work překročil [koncovou celkovou obtížnost (terminal total difficulty)](/glossary/#terminal-total-difficulty) 58750000000000000000000. Stalo se tak v bloku 15537393 dne 15. září 2022, což v následujícím bloku spustilo upgrade Paris. Paris byl přechod na [sloučení (The Merge)](/roadmap/merge/) – jeho hlavní funkcí bylo vypnutí algoritmu těžby [proof-of-work](/developers/docs/consensus-mechanisms/pow) a související logiky konsensu a místo toho zapnutí [proof-of-stake](/developers/docs/consensus-mechanisms/pos). Samotný Paris byl upgradem pro [exekuční klienty](/developers/docs/nodes-and-clients/#execution-clients) (ekvivalent Bellatrixu na konsensuální vrstvě), který jim umožnil přijímat instrukce od připojených [konsensuálních klientů](/developers/docs/nodes-and-clients/#consensus-clients). To vyžadovalo aktivaci nové sady interních metod API, souhrnně známých jako [Engine API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md). Byl to pravděpodobně nejvýznamnější upgrade v historii Etherea od [Homesteadu](#homestead)!
+
+- [Přečtěte si specifikace upgradu Paris](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md)
+
+
+
+
EIP-4399 – nahrazení operačního kódu DIFFICULTY za PREVRANDAO
+
+
+
+
+---
+
+### Bellatrix {#bellatrix}
+
+
+
+#### Shrnutí {#bellatrix-summary}
+
+Upgrade Bellatrix byl druhý plánovaný upgrade pro [Beacon Chain](/roadmap/beacon-chain), který připravil řetězec na [sloučení (The Merge)](/roadmap/merge/). Zvyšuje postihy pro validátory na jejich plnou hodnotu za nečinnost a postižitelné přestupky. Bellatrix také obsahuje aktualizaci pravidel pro výběr větve, která připraví řetězec na sloučení (The Merge) a přechod z posledního bloku proof-of-work na první blok proof-of-stake. To zahrnuje informování konsensuálních klientů o [koncové celkové obtížnosti (terminal total difficulty)](/glossary/#terminal-total-difficulty) 58750000000000000000000.
+
+- [Přečtěte si specifikace upgradu Bellatrix](https://github.com/ethereum/consensus-specs/tree/dev/specs/bellatrix)
+
+---
+
+### Gray Glacier {#gray-glacier}
+
+
+
+#### Shrnutí {#gray-glacier-summary}
+
+Síťový upgrade Gray Glacier odsunul [bombu obtížnosti](/glossary/#difficulty-bomb) o tři měsíce. Toto je jediná změna zavedená v tomto upgradu a je svou povahou podobná upgradům [Arrow Glacier](#arrow-glacier) a [Muir Glacier](#muir-glacier). Podobné změny byly provedeny při síťových upgradech [Byzantium](#byzantium), [Constantinople](#constantinople) a [London](#london).
+
+- [Blog nadace EF – oznámení upgradu Gray Glacier](https://blog.ethereum.org/2022/06/16/gray-glacier-announcement/)
+
+
+
+
+
+
+
+
+
+## 2021 {#2021}
+
+### Arrow Glacier {#arrow-glacier}
+
+
+
+#### Shrnutí {#arrow-glacier-summary}
+
+Síťový upgrade Arrow Glacier odsunul [bombu obtížnosti](/glossary/#difficulty-bomb) o několik měsíců. Toto je jediná změna zavedená v tomto upgradu a je svou povahou podobná upgradu [Muir Glacier](#muir-glacier). Podobné změny byly provedeny při síťových upgradech [Byzantium](#byzantium), [Constantinople](#constantinople) a [London](#london).
+
+- [Blog nadace EF – oznámení upgradu Arrow Glacier](https://blog.ethereum.org/2021/11/10/arrow-glacier-announcement/)
+- [Ethereum Cat Herders – upgrade Arrow Glacier](https://medium.com/ethereum-cat-herders/ethereum-arrow-glacier-upgrade-e8d20fa4c002)
+
+
+
+
+
EIP-4345 – odkládá bombu obtížnosti do června 2022
+
+
+
+
+---
+
+### Altair {#altair}
+
+
+
+#### Shrnutí {#altair-summary}
+
+Upgrade Altair byl první plánovaný upgrade pro [Beacon Chain](/roadmap/beacon-chain). Přidal podporu pro „synchronizační výbory“ – umožňující lehké klienty a zvýšil postihy za nečinnost a slashing validátorů, jak se vývoj posouval směrem ke sloučení (The Merge).
+
+- [Přečtěte si specifikace upgradu Altair](https://github.com/ethereum/consensus-specs/tree/dev/specs/altair)
+
+#### Zajímavost! {#altair-fun-fact}
+
+Altair byl první velký síťový upgrade, který měl přesný čas zavedení. Každý předchozí upgrade byl založen na deklarovaném čísle bloku v řetězci proof-of-work, kde se časy bloků liší. Beacon Chain nevyžaduje řešení proof-of-work a místo toho funguje na systému epoch založeném na čase, který se skládá z 32 dvanáctisekundových „slotů“, během nichž mohou validátoři navrhovat bloky. Proto jsme přesně věděli, kdy dosáhneme epochy 74 240 a Altair byl spuštěn!
+
+- [Čas bloku](/developers/docs/blocks/#block-time)
+
+---
+
+### London {#london}
+
+
+
+#### Shrnutí {#london-summary}
+
+Upgrade London zavedl [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), který reformoval trh s transakčními poplatky, spolu se změnami ve způsobu zpracování vracení transakčních poplatků a harmonogramem [doby ledové (Ice Age)](/glossary/#ice-age).
+
+#### Co byl upgrade London / EIP-1559? {#eip-1559}
+
+Před upgradem London mělo Ethereum bloky s pevnou velikostí. V dobách vysoké poptávky po síti fungovaly tyto bloky na plnou kapacitu. V důsledku toho museli uživatelé často čekat na snížení poptávky, aby byli zařazeni do bloku, což vedlo ke špatné uživatelské zkušenosti. Upgrade London zavedl do sítě Ethereum bloky s proměnnou velikostí.
+
+Způsob výpočtu transakčních poplatků v síti Ethereum se změnil s [upgradem London](/ethereum-forks/#london) v srpnu 2021. Před upgradem London se poplatky počítaly bez oddělení `základních` a `prioritních` poplatků, a to následovně:
+
+Řekněme, že Alice musela zaplatit Bobovi 1 ETH. V transakci je limit transakčních poplatků 21 000 jednotek a cena za transakční poplatek je 200 gwei.
+
+Celkový poplatek by byl: `Jednotky transakčního poplatku (limit) * Cena transakčního poplatku za jednotku`, tj. `21 000 * 200 = 4 200 000 gwei` neboli 0,0042 ETH
+
+Implementace [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) v upgradu London zkomplikovala mechanismus transakčních poplatků, ale učinila poplatky za plyn předvídatelnějšími, což vedlo k efektivnějšímu trhu s transakčními poplatky. Uživatelé mohou odesílat transakce s `maxFeePerGas` odpovídající tomu, kolik jsou ochotni zaplatit za provedení transakce, s vědomím, že nezaplatí více než tržní cenu za transakční poplatek (`baseFeePerGas`), a dostanou zpět jakoukoli přebytečnou částku, mínus jejich spropitné.
+
+Toto video vysvětluje EIP-1559 a výhody, které přináší: [Vysvětlení EIP-1559](https://www.youtube.com/watch?v=MGemhK9t44Q)
+
+- [Jste vývojář dapp? Nezapomeňte upgradovat své knihovny a nástroje.](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/london-ecosystem-readiness.md)
+- [Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2021/07/15/london-mainnet-announcement/)
+- [Přečtěte si vysvětlení od Ethereum Cat Herders](https://medium.com/ethereum-cat-herders/london-upgrade-overview-8eccb0041b41)
+
+
+
+
EIP-3529 – snižuje vracení transakčních poplatků za operace EVM
+
EIP-3541 – zabraňuje nasazení kontraktů začínajících na 0xEF
+
EIP-3554 – odkládá dobu ledovou (Ice Age) do prosince 2021
+
+
+
+
+---
+
+### Berlin {#berlin}
+
+
+
+#### Shrnutí {#berlin-summary}
+
+Upgrade Berlin optimalizoval cenu za transakční poplatek pro určité akce EVM a zvyšuje podporu pro více typů transakcí.
+
+- [Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/)
+- [Přečtěte si vysvětlení od Ethereum Cat Herders](https://medium.com/ethereum-cat-herders/the-berlin-upgrade-overview-2f7ad710eb80)
+
+
+
+
+
EIP-2565 – snižuje cenu za transakční poplatek u ModExp
+
+
+
+
+
+## 2020 {#2020}
+
+### Geneze Beacon Chainu {#beacon-chain-genesis}
+
+
+
+#### Shrnutí {#beacon-chain-genesis-summary}
+
+[Beacon Chain](/roadmap/beacon-chain/) potřeboval 16 384 vkladů ve výši 32 stakovaných ETH, aby mohl být bezpečně spuštěn. K tomu došlo 27. listopadu a Beacon Chain začal vytvářet bloky 1. prosince 2020.
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2020/11/27/eth2-quick-update-no-21/)
+
+
+ Řetězová vazba
+
+
+---
+
+### Nasazen vkladový kontrakt pro staking {#staking-deposit-contract}
+
+
+
+#### Shrnutí {#deposit-contract-summary}
+
+Vkladový kontrakt pro staking zavedl [staking](/glossary/#staking) do ekosystému Ethereum. Ačkoli se jednalo o kontrakt na [Mainnetu](/glossary/#mainnet), měl přímý dopad na časový plán spuštění [Beacon Chainu](/roadmap/beacon-chain/), což je důležitý [upgrade Etherea](/roadmap/).
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2020/11/04/eth2-quick-update-no-19/)
+
+
+ Staking
+
+
+---
+
+### Muir Glacier {#muir-glacier}
+
+
+
+#### Shrnutí {#muir-glacier-summary}
+
+Větev Muir Glacier způsobila zpoždění [bomby obtížnosti](/glossary/#difficulty-bomb). Zvýšení obtížnosti bloku mechanismu konsensu [proof-of-work](/developers/docs/consensus-mechanisms/pow/) ohrožovalo použitelnost Etherea prodloužením doby čekání na odeslání transakcí a používání dapps.
+
+- [Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2019/12/23/ethereum-muir-glacier-upgrade-announcement/)
+- [Přečtěte si vysvětlení od Ethereum Cat Herders](https://medium.com/ethereum-cat-herders/ethereum-muir-glacier-upgrade-89b8cea5a210)
+
+
+
+
+
EIP-2384 – odkládá bombu obtížnosti o dalších 4 000 000 bloků, tj. o ~611 dní.
+
+
+
+
+
+
+## 2019 {#2019}
+
+### Istanbul {#istanbul}
+
+
+
+#### Shrnutí {#istanbul-summary}
+
+Větev Istanbul:
+
+- Optimalizoval cenu za [transakční poplatek](/glossary/#gas) u některých akcí v [EVM](/developers/docs/ethereum-stack/#ethereum-virtual-machine).
+- Zlepšila odolnost proti útokům odepření služby.
+- Zvýšila výkonnost řešení [škálování 2. vrstvy](/developers/docs/scaling/#layer-2-scaling) založených na SNARK a STARK.
+- Umožnila interoperabilitu sítí Ethereum a Zcash.
+- Umožnila kontraktům zavádět kreativnější funkce.
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2019/11/20/ethereum-istanbul-upgrade-announcement/)
+
+
+
+
+
EIP-152 – umožňuje, aby Ethereum pracovalo s měnou Zcash, která chrání soukromí.
+
EIP-1108 – levnější kryptografie pro snížení nákladů na [transakční poplatky](/glossary/#gas).
+
EIP-1344 – chrání Ethereum před útoky přehráním přidáním [operačního kódu](/developers/docs/ethereum-stack/#ethereum-virtual-machine) CHAINID.
+
EIP-1884 – optimalizace cen za transakční poplatky u operačních kódů na základě spotřeby.
+
EIP-2028 – snižuje náklady na CallData, aby se do bloků vešlo více dat – což je dobré pro [škálování 2. vrstvy](/developers/docs/scaling/#layer-2-scaling).
+
EIP-2200 – další změny cen za transakční poplatky u operačních kódů.
+
+
+
+
+---
+
+### Constantinople {#constantinople}
+
+
+
+#### Shrnutí {#constantinople-summary}
+
+Větev Constantinople:
+
+- Snížila odměny za [těžbu](/developers/docs/consensus-mechanisms/pow/mining/) bloků z 3 na 2 ETH.
+- Zajistila, aby blockchain nezamrzl před [implementací proof-of-stake](#beacon-chain-genesis).
+- Optimalizoval cenu za [transakční poplatek](/glossary/#gas) u některých akcí v [EVM](/developers/docs/ethereum-stack/#ethereum-virtual-machine).
+- Přidala možnost interagovat s adresami, které ještě nebyly vytvořeny.
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/)
+
+
+
+
+
EIP-145 – optimalizuje náklady na určité on-chain akce.
+
EIP-1014 – umožňuje interakci s adresami, které teprve budou vytvořeny.
+
EIP-1052 – zavádí instrukci EXTCODEHASH pro získání haše kódu jiného kontraktu.
+
EIP-1234 – zajišťuje, aby blockchain nezamrzl před proof-of-stake, a snižuje odměnu za blok z 3 na 2 ETH.
+
+
+
+
+
+
+## 2017 {#2017}
+
+### Byzantium {#byzantium}
+
+
+
+#### Shrnutí {#byzantium-summary}
+
+Větev Byzantium:
+
+- Snížila odměny za [těžbu](/developers/docs/consensus-mechanisms/pow/mining/) bloků z 5 na 3 ETH.
+- Odložila [bombu obtížnosti](/glossary/#difficulty-bomb) o rok.
+- Přidala schopnost provádět volání jiných kontraktů, která nemění stav.
+- Přidala určité kryptografické metody, které umožňují [škálování 2. vrstvy](/developers/docs/scaling/#layer-2-scaling).
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2017/10/12/byzantium-hf-announcement/)
+
+
+
+
EIP-649 – odkládá [bombu obtížnosti](/glossary/#difficulty-bomb) o 1 rok a snižuje odměnu za blok z 5 na 3 ETH.
+
+
+
+
+
+
+## 2016 {#2016}
+
+### Spurious Dragon {#spurious-dragon}
+
+
+
+#### Shrnutí {#spurious-dragon-summary}
+
+Větev Spurious Dragon byla druhou reakcí na útoky typu odepření služby (DoS) na síť (září/říjen 2016) a zahrnovala:
+
+- doladění cen operačních kódů, aby se zabránilo budoucím útokům na síť.
+- umožnění „vyčištění“ stavu blockchainu.
+- přidání ochrany proti útoku přehráním.
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/)
+
+
+
+
+
EIP-155 – zabraňuje tomu, aby transakce z jednoho řetězce Ethereum byly znovu vysílány na alternativním řetězci, například aby transakce z testnetu byla přehrána na hlavním řetězci Ethereum.
+
EIP-160 – upravuje ceny operačního kódu EXP – ztěžuje zpomalení sítě prostřednictvím výpočetně náročných operací kontraktu.
+
EIP-161 – umožňuje odstranění prázdných účtů přidaných prostřednictvím útoků DOS.
+
EIP-170 – mění maximální velikost kódu, kterou může mít kontrakt na blockchainu, na 24 576 bajtů.
+
+
+
+
+---
+
+### Tangerine Whistle {#tangerine-whistle}
+
+
+
+#### Shrnutí {#tangerine-whistle-summary}
+
+Větev Tangerine Whistle byla první reakcí na útoky typu odepření služby (DoS) na síť (září/říjen 2016) a zahrnovala:
+
+- řešení naléhavých problémů se stavem sítě týkajících se podceněných operačních kódů.
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2016/10/18/faq-upcoming-ethereum-hard-fork/)
+
+
+
+
+
EIP-150 – zvyšuje náklady na transakční poplatky u operačních kódů, které lze použít při spamových útocích.
+
EIP-158 – snižuje velikost stavu odstraněním velkého počtu prázdných účtů, které byly do stavu vloženy za velmi nízkou cenu kvůli chybám v dřívějších verzích protokolu Ethereum.
+
+
+
+
+---
+
+### Větev DAO {#dao-fork}
+
+
+
+#### Shrnutí {#dao-fork-summary}
+
+Větev DAO byla reakcí na [útok na DAO v roce 2016](https://www.coindesk.com/learn/understanding-the-dao-attack/), kdy bylo z nezabezpečeného kontraktu [DAO](/glossary/#dao) při hackerském útoku odčerpáno více než 3,6 milionu ETH. Větev přesunula prostředky z chybného kontraktu do [nového kontraktu](https://eth.blockscout.com/address/0xbf4ed7b27f1d666546e30d74d50d173d20bca754) s jedinou funkcí: výběr. Každý, kdo přišel o prostředky, si mohl vybrat 1 ETH za každých 100 tokenů DAO ve své peněžence.
+
+Tento postup byl odhlasován ethereovskou komunitou. Každý držitel ETH mohl hlasovat prostřednictvím transakce na [hlasovací platformě](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/). Rozhodnutí o forku získalo více než 85 % hlasů.
+
+Někteří těžaři odmítli větev, protože incident DAO nebyl vadou v protokolu. Ti dále vytvořili [Ethereum Classic](https://ethereumclassic.org/).
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2016/07/20/hard-fork-completed/)
+
+---
+
+### Homestead {#homestead}
+
+
+
+#### Shrnutí {#homestead-summary}
+
+Větev Homestead se dívala do budoucnosti. Zahrnovala několik změn protokolu a síťovou změnu, která dala síti Ethereum schopnost provádět další síťové upgrady.
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2016/02/29/homestead-release/)
+
+
+
+
+
EIP-2 – provádí úpravy v procesu vytváření kontraktů.
EIP-8 – zavádí požadavky na dopřednou kompatibilitu devp2p
+
+
+
+
+
+
+## 2015 {#2015}
+
+### Rozmrazení Frontieru {#frontier-thawing}
+
+
+
+#### Shrnutí {#frontier-thawing-summary}
+
+Větev rozmrazení Frontieru zrušila limit 5 000 [transakčních poplatků](/glossary/#gas) na [blok](/glossary/#block) a nastavila výchozí cenu za transakční poplatek na 51 [gwei](/glossary/#gwei). To umožnilo transakce – transakce vyžadují 21 000 transakčních poplatků. Byla zavedena [bomba obtížnosti](/glossary/#difficulty-bomb), aby byla zajištěna budoucí hard-fork na [proof-of-stake](/glossary/#pos).
+
+- [Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2015/08/04/the-thawing-frontier/)
+- [Přečtěte si aktualizaci protokolu Ethereum 1](https://blog.ethereum.org/2015/08/04/ethereum-protocol-update-1/)
+
+---
+
+### Frontier {#frontier}
+
+
+
+#### Shrnutí {#frontier-summary}
+
+Frontier byl živou, ale základní implementací projektu Ethereum. Následoval po úspěšné testovací fázi Olympic. Byl určen pro technické uživatele, konkrétně pro vývojáře. [Bloky](/glossary/#block) měly [limit transakčních poplatků](/glossary/#gas) 5 000. Toto „období rozmrazování“ umožnilo těžařům zahájit své operace a prvním uživatelům nainstalovat své klienty, aniž by museli spěchat.
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare/)
+
+
+
+## 2014 {#2014}
+
+### Prodej etheru {#ether-sale}
+
+
+
+Ether se oficiálně prodával 42 dní. Mohli jste ho koupit za BTC.
+
+[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2014/07/22/launching-the-ether-sale/)
+
+---
+
+### Vydána žlutá kniha {#yellowpaper}
+
+
+
+Žlutá kniha, jejímž autorem je Dr. Gavin Wood, je technickou definicí protokolu Ethereum.
+
+[Zobrazit žlutou knihu](https://github.com/ethereum/yellowpaper)
+
+
+
+## 2013 {#2013}
+
+### Vydána bílá kniha {#whitepaper}
+
+
+
+Úvodní dokument, který v roce 2013 publikoval Vitalik Buterin, zakladatel Etherea, před spuštěním projektu v roce 2015.
+
+
+ Bílá kniha
+
diff --git a/public/content/translations/cs/foundation/index.md b/public/content/translations/cs/foundation/index.md
index ee04c056a03..6721c3b8e6e 100644
--- a/public/content/translations/cs/foundation/index.md
+++ b/public/content/translations/cs/foundation/index.md
@@ -1,40 +1,33 @@
---
-title: Ethereum Foundation
+title: Nadace Ethereum
description: Zjistěte více o Nadaci Ethereum (Ethereum Foundation, EF), neziskové organizaci, která se věnuje podpoře Etherea a souvisejících technologií.
hideEditButton: true
lang: cs
---
-# O Nadaci Ethereum {#about-the-ethereum-foundation}
+# Nadace Ethereum {#ethereum-foundation}
-[Nadace Ethereum ](http://ethereum.foundation/) (Ethereum Foundation, EF) je nezisková organizace, která se věnuje podpoře [Etherea](/what-is-ethereum/) a souvisejících technologií.
+[Nadace Ethereum](http://ethereum.foundation/) (EF) je nezisková organizace, která podporuje ekosystém Etherea. Financuje vývoj protokolu, rozvíjí ekosystém a zasazuje se o Ethereum.
-Nadace EF není společnost ani tradiční neziskovka. Její role není kontrolovat nebo vést Ethereum, ani není jedinou organizací, která financuje kritický vývoj technologií souvisejících s Ethereem. EF je jen jednou částí mnohem většího [ekosystému](/community/).
+Nadace EF není společnost ani tradiční neziskovka. Neovládá ani nevede Ethereum, ani není jedinou organizací, která financuje kritický vývoj technologií souvisejících s Ethereem. EF je jednou z částí mnohem většího [ekosystému](/community/).
-## Iniciativy Nadace Ethereum {#ethereum-foundation-initiatives}
+## Co dělá EF {#what-the-ef-does}
-### Program podpory ekosystému {#ecosystem-support-program}
+- **Vývoj protokolu** – Podpora týmů pracujících na základním protokolu Etherea, včetně vývoje klientů, výzkumu, vylepšení a [programu odměn za nalezení chyb](/bug-bounty/)
+- **Financování ekosystému** – Poskytování grantů a podpory projektům stavějícím na Ethereu prostřednictvím [Programu na podporu ekosystému](https://esp.ethereum.foundation/)
+- **Výzkum** – Financování výzkumu v oblastech kryptografie, konsensu, škálování, soukromí a bezpečnosti
-[Program podpory ekosystému](https://esp.ethereum.foundation/) existuje, aby poskytoval jak finanční, tak nefinanční podporu projektům a subjektům v rámci širší komunity Etherea, s cílem urychlit růst ekosystému. Program podpory ekosystému je rozšířením původního programu Ethereum Grants, který se zaměřoval především na finanční podporu.
+## Programy a iniciativy {#programs-and-initiatives}
-Zjistěte více o Programu podpory ekosystému, minulých příjemcích grantů a procesu podávání žádostí na [esp.ethereum.foundation](https://esp.ethereum.foundation/). Můžete si také prohlédnout [Blog Programu podpory ekosystému](https://blog.ethereum.org/category/ecosystem-support-program/) nebo sledovat [@EF_ESP](https://twitter.com/EF_ESP), kde najdete nejnovější zprávy a oznámení.
+- **[Program na podporu ekosystému](https://esp.ethereum.foundation/)** – Granty a podpora pro open-source projekty stavějící na Ethereu
+- **[Akademické granty](https://esp.ethereum.foundation/academic-grants)** – Podpora akademického výzkumu souvisejícího s Ethereem
+- **[Devcon](https://devcon.org/)** – Každoroční konference pro vývojáře, výzkumníky a tvůrce na Ethereu
+- **[Program odměn za nalezení chyb](/bug-bounty/)** – Odměny za nalezení zranitelností v protokolu Etherea
-### Devcon {#devcon}
+## Další informace {#learn-more}
-Od roku 2014 Nadace Ethereum organizuje Devcon, každoroční konferenci pro všechny vývojáře, výzkumníky, myslitele a tvůrce Etherea.
-
-Můžete se podívat na prezentace z konference za každý rok od jejího vzniku na [archive.devcon.org](https://archive.devcon.org/).
-
-Zjistěte více na [devcon.org](https://devcon.org/), podívejte se na [Devcon Blog](https://devcon.org/en/blogs/) nebo sledujte [@efdevcon](https://twitter.com/EFDevcon), kde najdete nejnovější oznámení.
-
-### Fellowship Program {#fellowship-program}
-
-[Fellowship Program Nadace Ethereum](https://fellowship.ethereum.foundation/) je iniciativou, která pomáhá vyplňovat mezery v zastoupení napříč kulturami, národnostmi a ekonomickými třídami. Fellowship Program se snaží o překlenutí těchto mezer tím, že identifikuje a podporuje jedinečné a talentované jedince, kteří pomáhají zvýšit relevanci Etherea, a bourá bariéry pro vstup pro ty, kteří jsou nedostatečně zastoupeni, ale stanou se budoucností Web3.
-
-[Zjistěte více na fellowship.ethereum.foundation](https://fellowship.ethereum.foundation/).
-
-
-
-Další informace o nadaci a její práci naleznete na [ethereum.foundation](http://ethereum.foundation/), nebo se podívejte na [Blog Ethereum Foundation](https://blog.ethereum.org/), kde najdete nejnovější zprávy a oznámení od nadace EF.
+- [ethereum.foundation](https://ethereum.foundation/) – Oficiální webové stránky EF
+- [Blog EF](https://blog.ethereum.org/) – Novinky a oznámení
+- [Program na podporu ekosystému](https://esp.ethereum.foundation/) – Granty a podpora
diff --git a/public/content/translations/cs/gaming/index.md b/public/content/translations/cs/gaming/index.md
new file mode 100644
index 00000000000..3ebf0f5f8ef
--- /dev/null
+++ b/public/content/translations/cs/gaming/index.md
@@ -0,0 +1,70 @@
+---
+title: Hraní na blockchainu
+lang: cs
+template: use-cases
+image: /images/robot-help-bar.png
+sidebarDepth: 2
+summaryPoint1: Pravidla a stav hry mohou být vynucována blockchainem, nikoli servery studia.
+summaryPoint2: Kdokoli může vytvářet módy, boty nebo zcela nové hry, které se připojují ke stejným onchain datům.
+summaryPoint3: Účelové L2, jako je Redstone, a frameworky jako MUD, snižují náklady natolik, aby podporovaly hraní v reálném čase.
+buttons:
+ - content: Další informace
+ toId: how-gaming-on-ethereum-works
+ - content: Prozkoumat aplikace
+ toId: popular-games-built-on-ethereum
+ isSecondary: false
+---
+
+## Jak funguje hraní na Ethereu {#how-gaming-on-ethereum-works}
+
+Hraní na Ethereu má různé podoby, od her, které integrují blockchain pro specifické funkce, až po ty, kde celý herní svět žije na blockchainu. Mnoho her využívá Ethereum ke správě herních aktiv jako NFT (nezaměnitelné tokeny). To umožňuje hráčům skutečně vlastnit jedinečné digitální předměty, které mohou být volně obchodovány, prodávány nebo darovány mimo hranice ekosystému jediného herního vývojáře. Ačkoli tato aktiva nabízejí nové formy hráčské svobody, základní herní logika často zůstává na centralizovaných serverech.
+
+Hry zcela na blockchainu jsou hry, kde základní mechanismy, a často celý herní svět, jsou přímo řízeny chytrými kontrakty na blockchainu Etherea (nebo na jeho vrstvách 2). To zajišťuje bezkonkurenční transparentnost. Žádné centrální servery, žádní zprostředkovatelé – pouze transparentní, hráčem řízené zážitky a ekonomiky.
+
+- Hráči vlastní svá aktiva jako NFT.
+- Předměty mohou být volně obchodovány, darovány nebo prodávány.
+- Blockchain zajišťuje, že aktiva zůstanou navždy dostupná.
+
+## Současný stav hraní {#the-current-state-of-gaming}
+
+- **Časté vypínání her:** Jen v roce 2023 [bylo vypnuto více než 60 her](https://tech4gamers.com/game-studios-shut-down-2023/) a 11 herních studií bylo zcela uzavřeno, což hráčům nenechalo nic z jejich herních investic. Hry na blockchainu, se svou logikou a aktivy v decentralizované síti, mohou přetrvat tak dlouho, dokud existuje blockchain, a nabízejí tak vyšší míru trvalosti.
+- **Frustrace ze zamčených aktiv:** [51 % hráčů je frustrováno](https://www.starknet.io/blog/blockchain-gaming/), že nemohou darovat nebo znovu prodat herní předměty, které si koupí, a 23 % je naštváno, jak obtížné je získat peníze zpět z nákupů ve hře. Hráči investují značné množství času a peněz do získávání herních předmětů, jen aby zjistili, že je ve skutečnosti nevlastní. Standard NFT Etherea poskytuje ověřitelné digitální vlastnictví a zajišťuje, že hráči mají svá aktiva pod kontrolou.
+- **Vysoké výdaje bez návratnosti:** [Hráči utratí v průměru 6 425 $](https://www.starknet.io/blog/blockchain-gaming/) za virtuální předměty během svého života, přičemž měsíčně utratí 8,74 $ a ročně 104 $. Vlastnictví na blockchainu mění tyto výdaje z utopených nákladů na investici do digitálního aktiva, které lze prodat, obchodovat s ním nebo ho darovat, podobně jako fyzický sběratelský předmět.
+
+## Populární hry postavené na Ethereu {#popular-games-built-on-ethereum}
+
+Vývojáři zkoumají nové způsoby, jak učinit hry poutavějšími, a překročit jednoduché mechanismy odměn, aby prohloubili hratelnost založenou na dovednostech.
+
+
+
+## Play-to-earn (P2E) {#play-to-earn-p2e}
+
+S hrami typu Play-to-Earn (P2E) můžete získat herní aktiva se skutečnou hodnotou. Na rozdíl od prvních P2E modelů, které se spoléhaly na neudržitelné odměny, se novější hry zaměřují na dlouhodobou hodnotu. Například [Wolf Game](https://gam3s.gg/wolf-game/) kombinuje strategickou hratelnost se skutečným vlastnictvím digitálních aktiv. Hráči spravují virtuální ovce a vlky a získávají herní měnu WOOL, se kterou lze obchodovat nebo ji prodat.
+
+
+
+## Interoperabilita a cross-chain hraní {#interoperability-and-cross-chain-play}
+
+Jednou z nejvýkonnějších funkcí Etherea pro hraní her je jeho nativní podpora interoperability a složitelnosti. Tradiční hry fungují v „uzavřených zahradách“, čímž uzamykají herní aktiva a postup k jedinému titulu. Herní aktiva a dokonce i základní herní logika postavená na Ethereu mohou potenciálně interagovat napříč různými aplikacemi a řetězci – bez obětování bezpečnosti. Ačkoli se jedná o stále se vyvíjející ekosystém, některé herní sítě založené na Ethereu jsou již interoperabilní a umožňují používání herních předmětů (NFT) ve více hrách.
+
+Například ve hře Illuvium [mohou hráči sbírat stvoření zvaná Illuvials](https://gam3s.gg/news/illuvium-three-web3-games/), což jsou NFT. Tyto Illuvials lze používat v různých hrách v rámci vesmíru Illuvium. Illuvial chycený ve hře Illuvium Overworld lze také použít v bitvách ve hře Illuvium Arena.
+
+Dalším příkladem je Galaxy Fight Club. V této hře [mohou hráči používat různé kolekce NFT](https://gam3s.gg/galaxy-fight-club/) k účasti v bitvách, což znamená, že ve hře lze použít NFT z různých projektů.
+
+## Škálovatelnost a vylepšení poplatků za gas {#scalability-and-gas-fee-improvements}
+
+Stará kritika hraní na blockchainu byla, že blockchainy jsou příliš složité a pomalé, než aby hráčům poskytly zážitek, který očekávají. Ale jak Ethereum dospělo, objevila se řešení, která výrazně snižují náklady a zvyšují výkonnost hraní na blockchainu, což umožňuje životaschopné interaktivní a rychlé zážitky.
+
+Těchto pokroků je dosaženo především prostřednictvím:
+
+- **Transakce bez poplatků za gas:** Některé platformy a protokoly, včetně těch, které využívají Immutable X, nabízejí možnost provádět transakce, jako je obchodování nebo ražba NFT, bez poplatků pro uživatele, což dále zjednodušuje zážitek pro hráče.
+- **Řešení škálování:** L2 Etherea jako Arbitrum, zkSync a Starknet aktivně podporují ekosystémy pro hry na blockchainu díky své vysoké propustnosti a nízkým nákladům.
+- **[Ekosystém MUD](https://mud.dev/):** MUD optimalizuje sady nástrojů pro vývoj aplikací založených na Ethereu pro vývoj her na blockchainu a poskytuje efektivnější správu stavu pro složitou herní logiku.
+
+## Začněte s hraním na Ethereu {#get-started-with-ethereum-gaming}
+
+Pustit se do hraní na Ethereu je jednodušší, než si možná myslíte. V několika málo krocích můžete začít hrát a užívat si svůj postup:
+
+1. **Založte si krypto peněženku:** Budete potřebovat peněženku pro správu svých digitálních aktiv a pro interakci s decentralizovanými aplikacemi. [Vyberte si peněženku](/wallets/find-wallet/)
+2. **Vložte prostředky do své peněženky:** Pořiďte si nějaký Ether (ETH) nebo tokeny relevantní pro síť druhé vrstvy, kterou plánujete používat.
+3. **Prozkoumejte hry:** Objevujte hry na platformách jako [Orden](https://orden.gg/), [ChainPlay](https://chainplay.gg/chain/ethereum/), [Gam3s.GG](https://gam3s.gg/), [DappRadar](https://dappradar.com/rankings/protocol/ethereum/category/games), [OpenSea](https://opensea.io/) a [PlayToEarn.net](https://playtoearn.com/blockchaingames).
diff --git a/public/content/translations/cs/glossary/index.md b/public/content/translations/cs/glossary/index.md
new file mode 100644
index 00000000000..d40d7eeb84e
--- /dev/null
+++ b/public/content/translations/cs/glossary/index.md
@@ -0,0 +1,505 @@
+---
+title: Slovník pojmů pro platformu Ethereum
+description: Neúplný slovník technických a netechnických pojmů souvisejících s Ethereem
+lang: cs
+---
+
+# Slovník {#ethereum-glossary}
+
+## \# {#section-numbers}
+
+
+
+
+
+## A {#section-a}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## B {#section-b}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## C {#section-c}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## D {#section-d}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## E {#section-e}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## F {#section-f}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## G {#section-g}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## H {#section-h}
+
+
+
+
+
+
+
+
+
+
+
+
+
+## I {#section-i}
+
+
+
+
+
+
+
+
+
+
+
+
+
+## K {#section-k}
+
+
+
+
+
+
+
+
+
+
+
+## L {#section-l}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## M {#section-m}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## N {#section-n}
+
+
+
+
+
+
+
+
+
+
+
+
+
+## O {#section-o}
+
+
+
+
+
+
+
+
+
+
+
+
+
+## P {#section-p}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## R {#section-r}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## S {#section-s}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## T {#section-t}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## V {#section-v}
+
+
+
+
+
+
+
+
+
+
+
+
+
+## W {#section-w}
+
+
+
+
+
+
+
+
+
+
+
+## Z {#section-z}
+
+
+
+
+
+
+
+
+
+## Zdroje {#sources}
+
+_Částečně převzato z [Mastering Ethereum](https://github.com/ethereumbook/ethereumbook) od [Andreas M. Antonopoulos, Gavin Wood](https://aantonop.com/books/mastering-ethereum) pod licencí CC-BY-SA_
+
+
+
+## Přispějte na tuto stránku {#contribute-to-this-page}
+
+Chybí nám tu něco? Je zde něco špatně? Pomozte nám vylepšit tento glosář přispěním na GitHub!
+
+[Zjistěte více o tom, jak přispět](/contributing/adding-glossary-terms)
diff --git a/public/content/translations/cs/governance/index.md b/public/content/translations/cs/governance/index.md
index 34bf2f3e0cf..d4034c829c1 100644
--- a/public/content/translations/cs/governance/index.md
+++ b/public/content/translations/cs/governance/index.md
@@ -4,7 +4,7 @@ description: Úvod do rozhodování o Ethereu.
lang: cs
---
-# Úvod do řízení Etherea {#introduction}
+# Úvod do správy Etherea {#introduction}
_Pokud Ethereum nikdo nevlastní, jak se rozhoduje o minulých a budoucích změnách Etherea? Řízení Etherea je proces, který toto umožňuje._
@@ -14,21 +14,21 @@ _Pokud Ethereum nikdo nevlastní, jak se rozhoduje o minulých a budoucích změ
Pod pojmem řízení rozumíme systémy, které umožňují přijímat rozhodnutí. V typické organizační struktuře může mít při rozhodování poslední slovo výkonný management nebo představenstvo. Nebo možná o návrzích změn hlasují akcionáři. V politickém systému mohou volení úředníci uzákonit legislativu, která se pokouší reprezentovat přání jejich voličů.
-## Decentralizované řízení {#decentralized-governance}
+## Decentralizovaná správa {#decentralized-governance}
Nikdo nevlastní ani neřídí protokol Etherea, ale stále je třeba dělat rozhodnutí o implementaci změn, aby byla co nejlépe zajištěna životnost a prosperita sítě. Nedostatek vlastnictví znamená, že tradiční organizační řízení není řešením.
-## Kdo řídí Ethereum {#ethereum-governance}
+## Správa Etherea {#ethereum-governance}
Řízení Etherea je proces, kterým se provádějí změny v protokolu. Je důležité zdůraznit, že tento proces nesouvisí s tím, jak uživatelé a aplikace protokol používají – Ethereum je bez vstupních bariér. Do blockchainových aktivit se může zapojit kdokoli z celého světa. Nejsou nastavena žádná pravidla pro to, kdo může nebo nemůže spustit aplikaci nebo odeslat transakci. Existuje však proces navrhování změn základního protokolu, nad kterým jsou spuštěny decentralizované aplikace. Na stabilitě Etherea je v současné době závislých hodně lidí. Existuje proto vysoce pečlivá koordinace změn základních funkcí, včetně sociálních a technických procesů, za účelem zajištění bezpečnosti jakýchkoliv změn Etherea, které budou zároveň přijaty komunitou.
-### Blockchainové řízení versus řízení mimo blockchain {#onchain-vs-offchain}
+### Správa na blockchainu vs. mimo blockchain {#onchain-vs-offchain}
Blockchainové technologie umožňují nové možnosti řízení známé jako blockchainové řízení. Blockchainové řízení znamená, že o navrhovaných změnách protokolu hlasují zúčastněné strany, obvykle držitelé řídicího tokenu, a celý proces hlasování probíhá na blockchainu. U některých forem blockchainového řízení jsou navrhované změny protokolu zapsány v kódu a implementovány automaticky, pokud zúčastněné strany schválí změny podpisem transakce.
Opačný přístup, řízení mimo blockchain, spočívá v tom, že jakákoliv rozhodnutí o změně protokolu probíhají prostřednictvím neformálního procesu diskuse, jejíž výstupy by byly implementovány do kódu, pokud by byly schváleny.
-**Řízení Etherea probíhá mimo blockchain** s širokou škálou zúčastněných stran zapojených do procesu.
+**Správa Etherea probíhá mimo blockchain** a do tohoto procesu je zapojena široká škála zúčastněných stran.
_Zatímco na úrovni protokolu je řízení Etherea mimo blockchain, velké množství projektů běžících na Ethereu, jako jsou DAO, používá blockchainové řízení._
@@ -38,25 +38,25 @@ _Zatímco na úrovni protokolu je řízení Etherea mimo blockchain, velké mno
-## Kdo je zapojen? {#who-is-involved}
+## Kdo je zapojen? Kdo je zapojen? {#who-is-involved}
-V [komunitě Ethereum](/community/) jsou různé zainteresované strany, z nichž každá hraje roli v procesu řízení. Počínaje zainteresovanými stranami, které jsou nejvzdálenější od protokolu, se jedná o:
+V [komunitě Etherea](/community/) jsou různé zúčastněné strany, z nichž každá hraje roli v procesu správy. Počínaje zainteresovanými stranami, které jsou nejvzdálenější od protokolu, se jedná o:
-- **Držitele etheru**: Tito lidé drží libovolné množství ETH. [Více o ETH](/what-is-ether/).
-- **Uživatele aplikací**: Tito lidé komunikují s aplikacemi na blockchainu Ethereum.
-- **Vývojáře aplikací a nástrojů**: Tito lidé píší aplikace, které běží na blockchainu Ethereum (např. DeFi, NFT atd.) nebo vytvářejí nástroje pro interakci s Ethereem (např. peněženky, testovací sady atd.). [Více o dappkách](/apps/).
-- **Operátory síťových uzlů**: Tito lidé provozují síťové uzly, které schvalují bloky a transakce a odmítají jakoukoli neplatnou transakci nebo blok, se kterým se setkají. [Více o síťových uzlech](/developers/docs/nodes-and-clients/).
-- **Autory EIP**: Tito lidé navrhují změny protokolu Ethereum ve formě návrhů na vylepšení Etherea (EIP). [Více o EIP](/eips/).
-- **Validátory**: Tito lidé provozují síťové uzly, které mohou přidávat nové bloky do blockchainu Ethereum.
-- **Vývojáře protokolu** (také známí jako „Klíčoví vývojáři“ ): Tito lidé se starají o různé implementace Etherea (např. go-ethereum, Nethermind, Besu, Erigon a Reth na exekuční vrstvě nebo Prysm, Lighthouse, Nimbus, Teku, Lodestar a Grandine na vrstvě konsenzu). [Více o klientech Etherea](/developers/docs/nodes-and-clients/).
+- **Držitelé etheru**: Tito lidé drží libovolné množství ETH. [Více o ETH](/what-is-ether/).
+- **Uživatelé aplikací**: Tito lidé interagují s aplikacemi na blockchainu Etherea.
+- **Vývojáři aplikací/nástrojů**: Jsou to lidé, kteří píší aplikace, jež běží na blockchainu Etherea (např. DeFi, NFT atd.) nebo vytvářejí nástroje pro interakci s Ethereem (např. peněženky, testovací sady atd.). [Více o dapps](/apps/).
+- **Provozovatelé uzlů**: Tito lidé provozují uzly, které šíří bloky a transakce a odmítají jakoukoli neplatnou transakci nebo blok, na který narazí. [Více o uzlech](/developers/docs/nodes-and-clients/).
+- **Autoři EIP**: Tito lidé navrhují změny protokolu Etherea ve formě návrhů na vylepšení Etherea (EIP). [Více o EIP](/eips/).
+- **Validátoři**: Tito lidé provozují uzly, které mohou přidávat nové bloky do blockchainu Etherea.
+- **Vývojáři protokolu** (též známí jako „kmenoví vývojáři“): Tito lidé udržují různé implementace Etherea (např. go-ethereum, Nethermind, Besu, Erigon, Reth na exekuční vrstvě nebo Prysm, Lighthouse, Nimbus, Teku, Lodestar, Grandine na konsensuální vrstvě). [Více o klientech Etherea](/developers/docs/nodes-and-clients/).
-_Poznámka: Každý může být součástí více skupin (např. vývojář protokolu může navrhovat EIP a provozovat validátor beacon chainu a používat DeFi aplikace). Pro jednoduchost je však lepší tyto skupiny uvést odděleně._
+_Poznámka: Každý může být součástí více těchto skupin (např. vývojář protokolu může prosazovat EIP, provozovat validátor na Beacon Chainu a používat aplikace DeFi)._ Pro jednoduchost je však lepší tyto skupiny uvést odděleně._
## Co je to EIP? {#what-is-an-eip}
-Důležitým procesem používaným při řízení Etherea je **návrh na zlepšení Etherea (Ethereum Improvement Proposals, EIP)**. EIP jsou standardy specifikující potenciální nové funkce nebo procesy pro Ethereum. EIP může vytvořit kdokoliv. Jestliže chcete sepsat EIP nebo se zúčastnit vzájemného hodnocení a/nebo správy, podívejte se na:
+Jedním z důležitých procesů používaných při správě Etherea je navrhování **návrhů na vylepšení Etherea (EIP)**. EIP jsou standardy specifikující potenciální nové funkce nebo procesy pro Ethereum. EIP může vytvořit kdokoliv. Jestliže chcete sepsat EIP nebo se zúčastnit vzájemného hodnocení a/nebo správy, podívejte se na:
Více o EIP
@@ -68,9 +68,9 @@ Důležitým procesem používaným při řízení Etherea je **návrh na zlepš
Formální proces zavádění změn do protokolu Ethereum je následující:
-1. **Navrhněte základní EIP**: Jak je popsáno v [EIP- 1](https://eips.ethereum.org/EIPS/eip-1#core-eips), prvním krokem k formálnímu navržení změny Etherea je její podrobný popis v Core EIP. Ten bude sloužit jako oficiální specifikace pro EIP, kterou budou vývojáři protokolů implementovat, pokud bude přijata.
+1. **Navrhněte Core EIP**: Jak je popsáno v [EIP-1](https://eips.ethereum.org/EIPS/eip-1#core-eips), prvním krokem k formálnímu navržení změny v Ethereu je její podrobné popsání v Core EIP. Ten bude sloužit jako oficiální specifikace pro EIP, kterou budou vývojáři protokolů implementovat, pokud bude přijata.
-2. **Představte své EIP vývojářům protokolu**: Jakmile budete mít základní EIP, pro které jste dostali zpětnou vazbu od komunity, měli byste je předložit vývojářům protokolu. To uděláte tak, že ho navrhnete k diskusi na [AllCoreDevs callu](https://github.com/ethereum/execution-specs/tree/master/network-upgrades#getting-the-considered-for-inclusion-cfi-status). Je pravděpodobné, že některé diskuze již proběhly asynchronně na [fóru Ethereum Magicians](https://ethereum-magicians.org/) nebo na [Ethereum R&D Discordu](https://discord.gg/mncqtgVSVw).
+2. **Představte své EIP vývojářům protokolu**: Jakmile budete mít Core EIP, ke kterému jste shromáždili zpětnou vazbu komunity, měli byste jej představit vývojářům protokolu. Můžete tak učinit tak, že jej navrhnete k diskuzi na [hovoru AllCoreDevs](https://github.com/ethereum/execution-specs/tree/master/network-upgrades#getting-the-considered-for-inclusion-cfi-status). Je pravděpodobné, že některé diskuze již proběhly asynchronně na fóru [Ethereum Magicians](https://ethereum-magicians.org/) nebo na [Discordu Ethereum R&D](https://discord.gg/mncqtgVSVw).
> Potenciální výsledky této fáze jsou:
@@ -78,25 +78,25 @@ Formální proces zavádění změn do protokolu Ethereum je následující:
> - Budou požadovány technické změny
> - Váš návrh být odmítnut, pokud to není priorita nebo neposkytuje dostatečně velké zlepšení rozvoje sítě
-3. **Směřujte ke konečnému návrhu:** Po obdržení zpětné vazby od všech relevantních zúčastněných stran budete pravděpodobně muset provést změny ve svém původním návrhu, abyste zlepšili jeho zabezpečení nebo aby lépe vyhovoval potřebám uživatelů. Jakmile do svého EIP začleníte všechny změny, které považujete za nezbytné, budete je muset znovu předložit vývojářům protokolu. Poté buď přejdete k dalšímu kroku tohoto procesu, nebo se objeví nové podněty, které vyžadují další kolo schvalování vašeho návrhu.
+3. **Iterujte směrem k finálnímu návrhu:** po obdržení zpětné vazby od všech relevantních zúčastněných stran budete pravděpodobně muset provést změny ve svém původním návrhu, abyste zlepšili jeho zabezpečení nebo lépe vyhověli potřebám různých uživatelů. Jakmile do svého EIP začleníte všechny změny, které považujete za nezbytné, budete je muset znovu předložit vývojářům protokolu. Poté buď přejdete k dalšímu kroku tohoto procesu, nebo se objeví nové podněty, které vyžadují další kolo schvalování vašeho návrhu.
-4. **EIP zahrnuto ve vylepšení sítě**: Za předpokladu, že je EIP schváleno, otestováno a implementováno, je naplánováno jako součást vylepšení sítě. Vzhledem k vysokým nákladům na koordinaci vylepšení sítě (každý musí upgradovat současně) jsou EIP většinou spojovány do balíčků.
+4. **EIP zahrnuto v upgradu sítě**: za předpokladu, že je EIP schváleno, testováno a implementováno, je naplánováno jako součást upgradu sítě. Vzhledem k vysokým nákladům na koordinaci vylepšení sítě (každý musí upgradovat současně) jsou EIP většinou spojovány do balíčků.
-5. **Aktivace vylepšení sítě**: Po aktivaci vylepšení sítě bude vaše EIP aktivní v síti Ethereum. _Poznámka: Vylepšení sítě se obvykle nejdříve aktivuje na testovacích sítích před aktivací v hlavní síti Ethereum._
+5. **Upgrade sítě aktivován**: po aktivaci upgradu sítě bude EIP aktivní v síti Etherea. _Poznámka: Vylepšení sítě se obvykle nejdříve aktivuje na testovacích sítích před aktivací v hlavní síti Ethereum._
Tento postup, i když je velmi zjednodušený, poskytuje přehled hlavních fází změny protokolu, která má být implementována na Ethereu. Níže rozebíráme neformální faktory, které během tohoto procesu také hrají roli.
## Neformální proces {#informal-process}
-### Porozumění předchozím vylepšením {#prior-work}
+### Porozumění předchozí práci {#prior-work}
-Šampioni EIP by se měli seznámit s předchozí prací a návrhy před vytvořením EIP, které má ambice vylepšit hlavní síť Ethereum. Díky tomu, doufejme, přináší EIP něco nového, co dosud nebylo zamítnuto. Tři hlavní místa, kde se můžete seznámit s prací ostatních navrhovatelů vylepšení, jsou [EIP repozitář](https://github.com/ethereum/EIPs), [Ethereum Magicians](https://ethereum-magicians.org/) a [ethresear.ch](https://ethresear.ch/).
+Šampioni EIP by se měli seznámit s předchozí prací a návrhy před vytvořením EIP, které má ambice vylepšit hlavní síť Ethereum. Díky tomu, doufejme, přináší EIP něco nového, co dosud nebylo zamítnuto. Tři hlavní místa pro průzkum jsou [úložiště EIP](https://github.com/ethereum/EIPs), [Ethereum Magicians](https://ethereum-magicians.org/) a [ethresear.ch](https://ethresear.ch/).
### Pracovní skupiny {#working-groups}
Je nepravděpodobné, že by původní návrh EIP mohl být implementován na hlavní síť Ethereum bez úprav nebo změn. Obecně vzato, budou EIP šampióni vždy spolupracovat s podskupinou vývojářů protokolu na specifikaci, implementaci, testování, iteraci a finalizaci jejich návrhu. Historicky tyto pracovní skupiny vyžadovaly několik měsíců (a někdy i let!) práce. Podobně by EIP šampióni měli zapojit příslušné vývojáře aplikací/nástrojů v rané fázi jejich úsilí získat zpětnou vazbu od koncových uživatelů a zmírnit jakákoli rizika začlenění EIP do Etherea.
-### Konsensus komunity {#community-consensus}
+### Komunitní konsensus {#community-consensus}
Zatímco některá EIP jsou jednoduchá technická vylepšení s minimálními nuancemi, některá jsou složitější a přinášejí kompromisy, které ovlivní různé zúčastněné strany a to různými způsoby. To znamená, že některé EIP jsou v rámci komunity spornější než jiné.
@@ -108,17 +108,17 @@ Kromě zabezpečení sítě přikládali vývojáři protokolu významnou váhu
-## Vyřizování neshod {#disagreements}
+## Řešení neshod {#disagreements}
Mnoho zúčastněných stran s různými motivacemi a přesvědčeními znamená, že neshody nejsou neobvyklé.
Obecně se neshody řeší dlouhodobou diskusí na veřejných fórech, aby se porozumělo základům problému a umožnilo komukoli zvážit dopady implementace. Obvykle se jedna skupina s návrhem, i když s výhradami, spokojí, nebo se dosáhne šťastné shody. Pokud se jedna skupina cítí dostatečně silná a není připravena přijmou kompromisy, prosazení konkrétní změny by mohlo vést k rozdělení blockchainu. Rozdělení blockchainu nastává, když některé zúčastněné strany protestují proti implementaci změny protokolu, která má za následek různé, nekompatibilní verze protokolu, z nichž vzejdou dva odlišné blockchainy.
-### Fork The DAO {#dao-fork}
+### Větev DAO {#dao-fork}
-Forky nastávají, když je potřeba provést zásadní technická vylepšení nebo změny v síti a změnit "pravidla“ protokolu. [Klienty na Ethereu](/developers/docs/nodes-and-clients/) musí aktualizovat svůj software, aby implementovali nová pravidla forku.
+Forky nastávají, když je potřeba provést zásadní technická vylepšení nebo změny v síti a změnit "pravidla“ protokolu. [Klienti Etherea](/developers/docs/nodes-and-clients/) musí aktualizovat svůj software, aby implementovali nová pravidla větve.
-Fork The DAO byl reakcí na [útok na DAO v roce 2016](https://www.coindesk.com/learn/understanding-the-dao-attack), kdy bylo z nezabezpečeného kontraktu [DAO](/glossary/#dao) odčerpáno více než 3,6 milionu ETH. Tento fork přesunul finanční prostředky z chybného smart kontraktu do nového kontraktu, který umožnil získat zpět své finanční prostředky komukoli, kdo o ně přišel během hacku.
+Větev DAO byla reakcí na [útok na DAO v roce 2016](https://www.coindesk.com/learn/understanding-the-dao-attack), kdy bylo při hackerském útoku z nezabezpečeného kontraktu [DAO](/glossary/#dao) odčerpáno více než 3,6 milionu ETH. Tento fork přesunul finanční prostředky z chybného smart kontraktu do nového kontraktu, který umožnil získat zpět své finanční prostředky komukoli, kdo o ně přišel během hacku.
Tento postup byl odhlasován ethereovskou komunitou. Každý držitel ETH mohl hlasovat prostřednictvím transakce na [hlasovací platformě](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/). Rozhodnutí o forku získalo více než 85 % hlasů.
@@ -128,7 +128,7 @@ Je důležité poznamenat, že i když se protokol rozdělil, aby se stav sítě
- Většina držitelů ETH nevěděla, že hlasování probíhá
- Hlas měli pouze držitelé ETH, ostatní účastníci systému nikoliv
-Část komunity fork odmítla, především proto, že se domnívala, že tento incident nebyl vadou v protokolu. Proto vytvořili blockchain [Ethereum Classic.](https://ethereumclassic.org/).
+Část komunity fork odmítla, především proto, že se domnívala, že tento incident nebyl vadou v protokolu. Ti dále vytvořili [Ethereum Classic](https://ethereumclassic.org/).
Současná ethereovská komunita přijala politiku nezasahování v případech chyb v kontraktu nebo ztráty finančních prostředků, aby byla zachována důvěryhodná neutralita systému.
@@ -138,7 +138,7 @@ Pusťe si další informace o DAO hacku:
-### Užitečnost forku {#forking-utility}
+### Užitečnost větvení {#forking-utility}
Fork Ethereum/Ethereum Classic je vynikajícím příkladem zdravého forku. Proti sobě stály dvě skupiny, které spolu dostatečně silně nesouhlasily v některých základních hodnotách. Neměly proto pocit, že stojí za to riskovat a pokračovat postupu, který navrhovali.
@@ -146,39 +146,39 @@ Schopnost provést fork tváří v tvář významným politickým, filozofickým
-## Řízení Beacon Chain {#beacon-chain}
+## Správa Beacon Chainu {#beacon-chain}
Proces správy Etherea často upozaďuje rychlost a efektivitu ve prospěch otevřenosti a inkluzivity. Aby se urychlil vývoj Beacon Chainu, byl spuštěn odděleně od sítě důkazu prací a řídil se vlastními postupy správy.
Implementace specifikací a vývoje byly i v případě Beacon Chainu vždy plně open source, ale výše popsané formální procesy používané k navrhování aktualizací použity nebyly. To umožnilo rychleji navrhnout a odsouhlasit změny a stejně tak je i implementovat.
-Když se 15. září 2022 sloučil Beacon Chain s realizační vrstvou Etherea, byl merge dokončen jako součást [pařížského upgradu sítě](/ethereum-forks/#paris). Stav návrhu [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675) byl změněn z „Poslední výzva“ na „Konečný“, čímž byl dokončen přechod na důkaz podílem.
+Když se 15. září 2022 sloučil Beacon Chain s exekuční vrstvou Etherea, bylo The Merge dokončeno v rámci [upgradu sítě Paris](/ethereum-forks/#paris). Stav návrhu [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675) byl změněn z 'Last Call' na 'Final', čímž byl dokončen přechod na proof-of-stake.
- Více o mergi
+ Více o The Merge
-## Jak se mohu zapojit? {#get-involved}
+## Jak se mohu zapojit? Zapojte se {#get-involved}
- [Navrhněte EIP](/eips/#participate)
- [Diskutujte o aktuálních návrzích](https://ethereum-magicians.org/)
-- [Zapojte se do diskuse o výzkumu a vývoji](https://ethresear.ch/)
-- [Připojte se k Discord serveru Ethereum R&D](https://discord.gg/mncqtgVSVw)
-- [Spusť uzel](/developers/docs/nodes-and-clients/run-a-node/)
-- [Přispějte k rozvoji klienta](/developers/docs/nodes-and-clients/#execution-clients)
-- [Program Core Developer Apprenticeship](https://blog.ethereum.org/2021/09/06/core-dev-apprenticeship-second-cohort/)
+- [Zapojte se do diskuze o R&D](https://ethresear.ch/)
+- [Připojte se na Discord Ethereum R&D](https://discord.gg/mncqtgVSVw)
+- [Provozujte uzel](/developers/docs/nodes-and-clients/run-a-node/)
+- [Přispějte k vývoji klientů](/developers/docs/nodes-and-clients/#execution-clients)
+- [Program pro učně kmenových vývojářů](https://blog.ethereum.org/2021/09/06/core-dev-apprenticeship-second-cohort/)
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
Správa Etherea není pevně definována. Různí členové komunity mají na řízení odlišné pohledy. Zde je několik z nich:
-- [Poznámky k řízení blockchainu](https://vitalik.eth.limo/general/2017/12/17/voting.html) - _Vitalik Buterin_
-- [Jak funguje Ethereum Governance?](https://cryptotesters.com/blog/ethereum-governance) – _Cryptotesters_
+- [Poznámky ke správě blockchainu](https://vitalik.eth.limo/general/2017/12/17/voting.html) – _Vitalik Buterin_
+- [Jak funguje správa Etherea?](https://cryptotesters.com/blog/ethereum-governance) – _Cryptotesters_
- [Jak funguje správa Etherea](https://medium.com/coinmonks/how-ethereum-governance-works-71856426b63a) – _Micah Zoltu_
-- [Kdo je Ethereum core developer?](https://hudsonjameson.com/2020-06-22-what-is-an-ethereum-core-developer/) - _Hudson Jameson_
-- [Řízení, část 2: Plutokracie je furt špatná](https://vitalik.eth.limo/general/2018/03/28/plutocracy.html) - _Vitalik Buterin_
-- [Nahrazení mincemi hlasované řízení](https://vitalik.eth.limo/general/2021/08/16/voting3.html) - _Vitalik Buterin_
-- [Pochopení řízení blockchainu](https://web.archive.org/web/20250124192731/https://research.2077.xyz/understanding-blockchain-governance) – _2077 Research_
+- [Kdo je kmenový vývojář Etherea?](https://hudsonjameson.com/2020-06-22-what-is-an-ethereum-core-developer/) – _Hudson Jameson_
+- [Správa, část 2: Plutokracie je stále špatná](https://vitalik.eth.limo/general/2018/03/28/plutocracy.html) – _Vitalik Buterin_
+- [Překonání správy hlasováním s mincemi](https://vitalik.eth.limo/general/2021/08/16/voting3.html) – _Vitalik Buterin_
+- [Pochopení správy blockchainu](https://web.archive.org/web/20250124192731/https://research.2077.xyz/understanding-blockchain-governance) – _Výzkum 2077_
- [Vláda Etherea](https://www.galaxy.com/insights/research/ethereum-governance/) – _Christine Kim_
diff --git a/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md b/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md
new file mode 100644
index 00000000000..17b2b02d19e
--- /dev/null
+++ b/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md
@@ -0,0 +1,75 @@
+---
+title: Jak si „vytvořit“ Ethereum účet
+description: Průvodce vytvořením účtu na Ethereu pomocí peněženky krok za krokem.
+lang: cs
+---
+
+# Jak vytvořit Ethereum účet
+
+**Kdokoliv si může zdarma vytvořit účet na Ethereu.** Stačí si jen nainstalovat aplikaci kryptoměnové peněženky. Pomocí peněženky vytvoříte a spravujete svůj Ethereum účet. Můžete pomocí nich odesílat transakce, zobrazit zůstatky a připojit se k dalším aplikacím fungujícím na Ethereu.
+
+S peněženkou se také můžete okamžitě přihlásit na jakoukoliv tokenovou burzu, do her nebo na [NFT](/glossary/#nft) tržiště. Do těchto služeb se není potřeba registrovat individuálně, jeden účet slouží pro všechny aplikace postavené na Ethereu.
+
+## Krok 1: Zvolte si peněženku
+
+Peněženka je aplikace, která vám pomáhá spravovat váš účet na Ethereu. Na výběr máte z desítek různých peněženek - mobilních, na počítačích nebo dokonce jako rozšíření prohlížeče.
+
+
+ Seznam peněženek
+
+
+Pokud jste nováčci, můžete na stránce "najít peněženku" zvolit filtr "Nováčci v kryptu" a najít peněženky, které by měly obsahovat všechny potřebné funkce vhodné pro začátečníky.
+
+
+
+K dispozici jsou také další profilové filtry, které vyhovují vašim potřebám. Toto jsou příklady běžně používaných peněženek - než začnete důvěřovat jakémukoli softwaru, měli byste provést vlastní průzkum.
+
+## Krok 2: Stáhněte a nainstalujte si aplikaci peněženky
+
+Jakmile se rozhodnete pro konkrétní peněženku, navštivte její oficiální webové stránky nebo obchod s aplikacemi, stáhněte a nainstalujte si ji. Všechny by měly být zdarma.
+
+## Krok 3: Otevřete aplikaci a vytvořte si učet na Ethereu
+
+Při prvním otevření nové peněženky můžete být vyzváni k volbě mezi vytvořením nového účtu a importem stávajícího účtu. Klikněte na vytvoření nového účtu. **Toto je krok, během kterého software peněženky vygeneruje váš Ethereum účet.**
+
+## Krok 4: Uložte si svou bezpečnostní frázi
+
+Některé aplikace vás požádají, abyste si uložili tajnou "bezpečnostní frázi" (někdy nazývanou také "seed fráze" nebo "mnemonická fráze"). Udržet tuto frázi na bezpečném místě je velmi důležité! Tato fráze se používá k obnovení přístupu k vašemu účtu na Ethereu a může být použita k odesílání transakcí.
+
+**Každý, kdo zná tuto frázi, může převzít kontrolu nad všemi prostředky.** Nikdy ji s nikým nesdílejte. Bezpečnostní fráze by měla obsahovat 12 až 24 náhodně vygenerovaných slov (na pořadí slov záleží).
+
+
+
+
+
+
Máte nainstalovanou peněženku? Naučte se ji používat.
+
+ Jak používat peněženku
+
+
+
+
+
+Zajímají vás další návody? Podívejte se na naše: [Návody krok za krokem](/guides/)
+
+## Často kladené dotazy
+
+### Jsou moje peněženka a můj Ethereum účet totéž?
+
+Ne. Peněženka je nástroj, který vám pomáhá spravovat vaše účty. Jedna peněženka může poskytovat přístup k několika účtům a k jednomu účtu může mít přístup více peněženek. Bezpečnostní fráze se používá k vytváření účtů a dává aplikaci peněženky oprávnění spravovat aktiva tohoto účtu.
+
+### Mohu poslat Bitcoin na adresu na Ethereu nebo Ether na Bitcoin adresu?
+
+Ne, nemůžete. Bitcoin a ether existují na dvou oddělených sítích (tj. různých blockchainech), z nichž každá má vlastní účetnictví a odlišné formáty adres. Objevily se různé pokusy o přemostění těchto dvou různých sítí, z nichž nejaktivnější je v současnosti [Wrapped Bitcoin neboli WBTC](https://www.bitcoin.com/get-started/what-is-wbtc/). Toto není doporučení, protože WBTC je svěřenecké řešení (což znamená, že určitá skupina lidí ovládá určité kritické funkce) a WBTC je zde uvedeno pouze pro informační účely.
+
+### Pokud mám ETH adresu, vlastním stejnou adresu i na jiných blockchainech?
+
+Stejnou [adresu](/glossary/#address) můžete používat na všech blockchainech, které používají podobný základní software jako Ethereum (tzv. „kompatibilní s EVM“). Tento [seznam](https://chainlist.org/) vám ukáže, které blockchainy můžete používat se stejnou adresou. Některé blockchainy, jako například Bitcoin, implementují samostatnou sadu síťových pravidel a budete na nich potřebovat jinou adresu s jiným formátem. Pokud máte peněženku na bázi smart kontraktu, měli byste se podívat na její oficiální webové stránky pro více informací o tom, které blockchainy jsou podporovány, protože tyto peněženky mají obvykle omezený, ale bezpečnější rozsah.
+
+### Je vlastní peněženka bezpečnější než uchovávání finančních prostředků na burze?
+
+Vlastní peněženka znamená, že přebíráte odpovědnost za bezpečnost svého majetku. Bohužel existuje mnoho příkladů neúspěšných burz, které přišly o peníze svých zákazníků. Vlastnictví peněženky (s bezpečnostní frází) eliminuje riziko spojené s důvěrou v nějakou entitu, která by držela vaše aktiva. Nicméně, musíte si ji zabezpečit sami a vyhnout se phishingovým podvodům, náhodnému schválení transakcí nebo odhalení bezpečnostní fráze, interakci s falešnými webovými stránkami a dalším rizikům spojeným se správou svépomocí. Rizika a přínosy se liší.
+
+### Pokud ztratím telefon/hardwarovou peněženku, musím pro obnovení ztracených finančních prostředků znovu použít stejnou aplikaci peněženky?
+
+Ne, můžete použít jinou peněženku. Pokud máte bezpečnostní frázi, můžete ji zadat do většiny peněženek a ty váš účet obnoví. Pokud to někdy budete potřebovat udělat, buďte opatrní: Při obnově peněženky se raději ujistěte, že nejste připojeni k internetu, aby nedošlo k náhodnému úniku vaší bezpečnostní fráze. Bez bezpečnostní fráze je často nemožné získat ztracené finanční prostředky zpět.
diff --git a/public/content/translations/cs/guides/how-to-id-scam-tokens/index.md b/public/content/translations/cs/guides/how-to-id-scam-tokens/index.md
new file mode 100644
index 00000000000..70981fadeaa
--- /dev/null
+++ b/public/content/translations/cs/guides/how-to-id-scam-tokens/index.md
@@ -0,0 +1,97 @@
+---
+title: Jak rozpoznat podvodné tokeny
+description: Co jsou podvodné tokeny, jak se snaží vypadat legitimně a jak se jim vyhnout.
+lang: cs
+---
+
+# Jak rozpoznat podvodné tokeny {#identify-scam-tokens}
+
+Jedním z nejčastějších způsobů využití Etherea je vytvoření obchodovatelného tokenu pro skupinu, v podstatě jejich vlastní měny. Tyto tokeny obvykle dodržují standard [ERC-20](/developers/docs/standards/tokens/erc-20/). Kdekoliv, kde existují legitimní případy použití, které přinášejí hodnotu, se také objevují i zločinci, kteří se snaží tuto hodnotu ukrást pro sebe.
+
+Existují dva způsoby, jak vás mohou oklamat:
+
+- **Prodat vám podvodný token**, který může vypadat jako legitimní token, který chcete koupit, ale je vydán podvodníky a nemá žádnou hodnotu.
+- **Přimět vás k podepsání škodlivých transakcí**, obvykle tím, že vás nasměrují na své vlastní uživatelské rozhraní. Mohou se vás pokusit přimět k tomu, abyste jim poskytli příspěvek na vaše ERC-20 tokeny, odhalili citlivé informace, které jim umožní přístup k vašim aktivům, atd. Tato uživatelská rozhraní mohou být téměř dokonalými klony poctivých stránek, ale se skrytými triky.
+
+Abychom si ukázali, co jsou to podvodné tokeny a jak je identifikovat, podíváme se na jeden příklad: [`wARB`](https://eth.blockscout.com/token/0xB047c8032b99841713b8E3872F06cF32beb27b82). Tento token se snaží vypadat jako legitimní token [`ARB`](https://eth.blockscout.com/address/0xb50721bcf8d664c30412cfbc6cf7a15145234ad1).
+
+
+
+Arbitrum je organizace, která vyvíjí a spravuje [optimistické rollupy](/developers/docs/scaling/optimistic-rollups/). Zpočátku byla společnost Arbitrum organizována jako ziskový podnik, ale poté podnikla kroky k decentralizaci. V rámci tohoto procesu vydali obchodovatelný [správní token](/dao/#token-based-membership).
+
+
+
+
+
+V Ethereu platí konvence, že pokud aktivum není kompatibilní s ERC-20, vytvoříme jeho "zabalenou" verzi s názvem začínajícím na "w". Takže máme například wBTC pro bitcoin a wETH pro ether.
+
+Nemá smysl vytvářet zabalenou verzi tokenu ERC-20, který již na Ethereu je, ale podvodníci spoléhají spíše na zdání legitimity než na realitu.
+
+
+
+## Jak fungují podvodné tokeny? {#how-do-scam-tokens-work}
+
+Smyslem Etherea je decentralizace. To znamená, že neexistuje žádná centrální autorita, která by vám mohla zabavit majetek nebo vám zabránit v nasazení chytrého kontraktu. Znamená to ale také, že podvodníci mohou nasadit libovolný chytrý kontrakt.
+
+
+
+[Chytré kontrakty](/developers/docs/smart-contracts/) jsou programy, které běží na blockchainu Ethereum. Například, každý ERC-20 token je implementován jako chytrý kontrakt.
+
+
+
+Konkrétně společnost Arbitrum nasadila kontrakt, který používá symbol `ARB`. To však nebrání ostatním lidem, aby také nasadili kontrakt, který používá stejný nebo podobný symbol. Ten, kdo kontrakt sepisuje, určuje, co bude kontrakt dělat.
+
+## Zdánlivá legitimita {#appearing-legitimate}
+
+Tvůrci podvodných tokenů používají několik triků, aby vypadali legitimně.
+
+- **Legitimní název a symbol**. Jak již bylo zmíněno, ERC-20 kontrakty mohou mít stejný symbol a název jako jiné ERC-20 kontrakty. Na tato pole se nemůžete z hlediska bezpečnosti spolehnout.
+
+- **Legitimní vlastníci**. Podvodné tokeny často posílají značné zůstatky na adresy, u kterých lze předpokládat, že jsou legitimními držiteli skutečného tokenu.
+
+ Podívejme se například znovu na `wARB`. [Asi 16 % tokenů](https://eth.blockscout.com/token/0xb047c8032b99841713b8e3872f06cf32beb27b82?tab=holders) drží adresa, jejíž veřejný štítek je [Arbitrum Foundation: Deployer](https://eth.blockscout.com/address/0x1C8db745ABe3C8162119b9Ef2c13864Cd1FDD72F). Toto _není_ falešná adresa, je to skutečně adresa, která [nasadila skutečný kontrakt ARB na mainnetu Ethereum](https://eth.blockscout.com/tx/0x242b50ab4fe9896cb0439cfe6e2321d23feede7eeceb31aa2dbb46fc06ed2670).
+
+ Protože je zůstatek ERC-20 adresy součástí úložiště ERC-20 kontraktu, může být ve smlouvě specifikován tak, jak si tvůrce smlouvy přeje. Je také možné, že smlouva zakáže převody, aby se legitimní uživatelé nemohli těchto podvodných tokenů zbavit.
+
+- **Legitimní převody**. _Legitimní vlastníci by neplatili za převod podvodného tokenu jiným lidem, takže pokud dochází k převodům, musí být legitimní, ne?_ **Špatně**. Události `Transfer` jsou vytvářeny kontraktem ERC-20. Podvodník může snadno sepsat smlouvu tak, aby vedla k těmto úkonům.
+
+## Podvodné webové stránky {#websites}
+
+Podvodníci mohou také vytvářet velmi přesvědčivé webové stránky, někdy dokonce přesné klony s identickým uživatelským rozhraním, ale s rafinovanými triky. Příkladem mohou být externí odkazy, které se zdají být legitimní, ale ve skutečnosti odesílají uživatele na externí podvodnou stránku, nebo nesprávné pokyny, které vedou uživatele k vyzrazení klíčů nebo odeslání finančních prostředků na adresu útočníka.
+
+Nejlepší postup, jak se tomu vyhnout, je pečlivě kontrolovat URL adresy navštívených stránek a ukládat adresy známých autentických stránek do záložek. Pak můžete navštěvovat skutečný web prostřednictvím záložek, aniž byste omylem udělali pravopisné chyby nebo se spoléhali na externí odkazy.
+
+## Jak se můžete chránit? Jak se chránit {#protect-yourself}
+
+1. **Zkontrolujte adresu kontraktu**. Legitimní tokeny pocházejí od legitimních organizací a jejich adresy kontraktů si můžete prohlédnout na webových stránkách organizace. Například [pro `ARB` si můžete legitimní adresy prohlédnout zde](https://docs.arbitrum.foundation/deployment-addresses#token).
+
+2. **Pravé tokeny mají likviditu**. Další možností je podívat se na velikost poolu likvidity na [Uniswap](https://uniswap.org/), jednom z nejběžnějších protokolů pro výměnu tokenů. Tento protokol funguje na bázi poolů likvidity, do kterých investoři vkládají své tokeny v naději na výnos z poplatků za obchodování.
+
+Podvodné tokeny mají obvykle jen malou likviditu, pokud vůbec nějakou, protože podvodníci nechtějí riskovat skutečná aktiva. Například pool `ARB`/`ETH` na Uniswapu drží asi milion dolarů ([aktuální hodnotu najdete zde](https://app.uniswap.org/explore#/pools/0x755e5a186f0469583bd2e80d1216e02ab88ec6ca)) a nákup nebo prodej malého množství cenu nezmění:
+
+
+
+Ale když se pokusíte koupit podvodný token `wARB`, i nepatrný nákup by změnil cenu o více než 90 %:
+
+
+
+To je další důkaz, který nám ukazuje, že `wARB` pravděpodobně není legitimní token.
+
+3. **Podívejte se na Etherscan**. Komunita již identifikovala a nahlásila mnoho podvodných tokenů. Takové tokeny jsou [označeny na Etherscanu](https://info.etherscan.com/etherscan-token-reputation/). Ačkoli Etherscan není autoritativním zdrojem pravdy (z povahy decentralizovaných sítí vyplývá, že nemůže existovat autoritativní zdroj legitimity), tokeny, které Etherscan identifikuje jako podvodné, pravděpodobně podvodné jsou.
+
+ 
+
+## Závěr {#conclusion}
+
+Dokud budou na světě existovat hodnoty, budou existovat podvodníci, kteří se je budou snažit ukrást pro sebe, a v decentralizovaném světě není nikdo, kdo by vás chránil, kromě vás samotných. Doufejme, že si zapamatujete tyto body, které vám pomohou rozlišit legitimní tokeny od podvodných:
+
+- Podvodné tokeny se vydávají za legitimní tokeny, mohou používat stejný název, symbol atd.
+- Podvodné tokeny _nemohou_ používat stejnou adresu kontraktu.
+- Nejlepším zdrojem adresy legitimního tokenu je organizace, o jejíž token se jedná.
+- Pokud to selže, můžete použít oblíbené a důvěryhodné aplikace, jako jsou [Uniswap](https://app.uniswap.org/#/swap) a [Blockscout](https://eth.blockscout.com/).
diff --git a/public/content/translations/cs/guides/how-to-revoke-token-access/index.md b/public/content/translations/cs/guides/how-to-revoke-token-access/index.md
new file mode 100644
index 00000000000..3c295c3a808
--- /dev/null
+++ b/public/content/translations/cs/guides/how-to-revoke-token-access/index.md
@@ -0,0 +1,75 @@
+---
+title: Jak zrušit přístup chytrého kontraktu k vašim krypto fondům
+description: Návod, jak odebrat přístup k vašim tokenům škodlivým smart kontraktům
+lang: cs
+---
+
+# Jak zrušit přístup chytrého kontraktu k vašim krypto fondům
+
+V tomto návodu zjistíte, jak zobrazit seznam všech [smart kontraktů](/glossary/#smart-contract), kterým jste povolili přístup k vašim finančním prostředkům, a jak je zrušit.
+
+Nečestní vývojáři mohou do smart kontraktů přidat zadní vrátka, která umožňují přístup k finančním prostředkům nevědomých uživatelů, kteří se smart kontraktem interagují. Často se stává, že takové platformy žádají uživatele o povolení utratit **neomezený počet tokenů** ve snaze ušetřit v budoucnu malé množství [gasu](/glossary/#gas), což je ale spojeno se zvýšeným rizikem.
+
+Jakmile platforma získá neomezená přístupová práva k tokenu ve vaší [peněžence](/glossary/#wallet), může všechny tyto tokeny utratit, i když jste své prostředky z jejich platformy vybrali do své peněženky. Útočníci totiž mají stále přístup k vašim prostředkům a mohou je vybrat do svých peněženek, aniž byste měli možnost získat je zpět.
+
+Jedinou ochranou je vyhnout se interakci s neověřenými novými projekty, schvalovat pouze to, co potřebujete, případně pravidelně odebírat přístup službám, které už nevyužíváte. Takže, jak na to?
+
+## Krok 1: Používejte nástroje pro zrušení přístupu
+
+Hned několik webových stránek vám umožňuje zobrazit a zrušit přístup smart kontraktů spojených s vaší adresou. Běžte na některou k následujících stránek a připojte svoji peněženku:
+
+- [Etherscan](https://etherscan.io/tokenapprovalchecker) (Ethereum)
+- [Blockscout](https://eth.blockscout.com/apps/revokescout) (Ethereum)
+- [Revoke](https://revoke.cash/) (více sítí)
+- [Unrekt](https://app.unrekt.net/) (více sítí)
+- [EverRevoke](https://everrise.com/everrevoke/) (více sítí)
+
+## Krok 2: Připojte svoji peněženku
+
+Jakmile budete na webové stránce, klikněte na možnost "Připojit peněženku". Webová stránka by vás měla vyzvat k připojení peněženky.
+
+Ujistěte se, že v peněžence a na webové stránce používáte stejnou síť. Zobrazí se vám pouze chytré kontrakty související s vybranou sítí. Pokud se například připojíte k Ethereum Mainnetu, uvidíte pouze kontrakty na Ethereu, nikoliv kontrakty na jiných blockchainech, jako je Polygon.
+
+## Krok 3: Vyberte smart kontrakt, kterému chcete zrušit přístup
+
+Měli byste vidět všechny kontrakty, které mají povolený přístup k tokenům, a jejich limit výdajů. Najděte ten, kterému chcete zrušit přístup.
+
+Pokud nevíte, který kontrakt vybrat, můžete zrušit přístup všem. To to pro vás nebude znamenat žádné problémy, ale při příští interakci s některým z těchto kontraktů, jim budete muset znovu povolit přístup.
+
+## Krok 4: Zruště přístup k finančním prostředkům
+
+Po kliknutí na zrušení přístupu by se měl v peněžence zobrazit návrh nové transakce. To lze očekávat. Aby bylo zrušení přístupu úspěšně dokončeno, musíte zaplatit transakční poplatek. V závislosti na vytížení sítě může zpracování trvat až několik minut.
+
+Doporučujeme vám po několika minutách obnovit nástroj na zrušení přístupu a znovu připojit svoji peněženku, abyste si ověřili, zda kontrakt se zrušeným přístupem skutečně zmizel ze seznamu.
+
+Doporučujeme vám nikdy nedávat projektům neomezený přístup k vašim tokenům a pravidelně rušit všechna oprávnění k přístupu k tokenům. Zrušení přístupu k tokenům by nikdy nemělo vést ke ztrátě finančních prostředků, zejména pokud používáte výše uvedené nástroje.
+
+
+
+
+
+
+
Chcete se dozvědět více?
+
+ Podívejte se na naše další návody
+
+
+
+
+## Často kladené dotazy
+
+### Ukončí zrušení přístupu k tokenům také staking, pooling, půjčky atd.?
+
+Ne, neovlivní to žádnou z vašich [DeFi](/glossary/#defi) strategií. Zůstanete na svých pozicích a budete dostávat odměny atd.
+
+### Je odpojení peněženky od projektu totéž jako odebrání povolení používat mé prostředky?
+
+Ne, pokud svou peněženku od projektu odpojíte, ale udělili jste oprávnění k přístupu k tokenům, mohou tyto projekty vaše tokeny stále používat. Tento přístup musíte zrušit.
+
+### Kdy vyprší platnost povolení kontraktu k přístupu k mým prostředkům?
+
+Platnost povolení k přístupu není omezena. Pokud udělíte kontraktu oprávění, může ho použít i několik let po jeho udělení.
+
+### Proč se v projektech dá nastavit přístup k neomezenému množství tokenů?
+
+Projekty to často dělají proto, aby minimalizovaly počet žádostí, což znamená, že uživatel musí schválit přístup a zaplatit poplatek za transakci jen jednou. To je sice pohodlné, ale pro uživatele to může být nebezpečné při neopatrném udělování přístupu na stránkách, které nejsou prověřeny časem nebo které nejsou auditované. Některé peněženky umožňují ručně omezit množství schvalovaných tokenů, čímž se riziko zneužití prostředků snižuje. Další informace získáte u poskytovatele peněženky.
diff --git a/public/content/translations/cs/guides/how-to-swap-tokens/index.md b/public/content/translations/cs/guides/how-to-swap-tokens/index.md
new file mode 100644
index 00000000000..43f3550e29b
--- /dev/null
+++ b/public/content/translations/cs/guides/how-to-swap-tokens/index.md
@@ -0,0 +1,70 @@
+---
+title: Jak prohodit tokeny
+description: Návod na směnu tokenů na Ethereu.
+lang: cs
+---
+
+# Jak prohodit tokeny
+
+Už vás nebaví hledat burzu, na které jsou všechny vaše oblíbené tokeny? Většinu tokenů můžete směnit pomocí [decentralizovaných burz](/glossary/#dex).
+
+Směna tokenů zahrnuje směnu dvou různých aktiv, která existují na síti Ethereum, například směnu ETH za DAI (token [ERC-20](/glossary/#erc-20)). Proces je velice rychlý a levný. K směně tokenů budete potřebovat kryptopeněženku.
+
+**Předpoklady:**
+
+- mít [krypto peněženku](/glossary/#wallet); pokud ji nemáte, můžete se řídit tímto průvodcem, [jak si vytvořit účet na Ethereu](/guides/how-to-create-an-ethereum-account/)
+- mít v peněžence prostředky
+
+## 1. Připojte svou peněženku k decentralizované burze (DEX) podle svého výběru
+
+Mezi populární burzy patří:
+
+- [Uniswap](https://app.uniswap.org/#/swap)
+- [Sushiswap](https://www.sushi.com/swap)
+- [1Inch](https://app.1inch.io/#/1/unified/swap/ETH/DAI)
+- [Curve](https://www.curve.finance/dex/ethereum/swap/)
+
+Zaujalo vás to? Zjistěte více o tom, co jsou [decentralizované finance (DeFi)](/defi/), a jak tyto nové typy burz fungují.
+
+## 2. Vyberte dvojici tokenů, které chcete směnit
+
+Například ETH a DAI. Ujistěte se, že máte prostředky na jednom z těchto dvou žetonů.
+
+
+## 3. Zadejte množství tokenů, které chcete vyměnit, a klikněte na tlačítko směnit
+
+Burza automaticky vypočítá, kolik tokenů dostanete.
+
+
+
+## 4. Potvrďte transakci
+
+Zkontrolujte podrobnosti transakce. Zkontrolujte směnný kurz a případné další poplatky, abyste se vyhnuli nepříjemným překvapením.
+
+
+
+## 5. Počkejte na zpracování transakce
+
+Průběh transakce si můžete prohlédnout v libovolném průzkumníku blockchainu. Tento proces by neměl trvat déle než 10 minut.
+
+Směněné tokeny automaticky obdržíte do své peněženky, jakmile bude transakce zpracována.
+
+
+
+
+
Chcete se dozvědět více?
+
+ Podívejte se na naše další návody
+
+
+
+
+## Často kladené dotazy
+
+### Mohu směnit ETH za BTC ze své peněženky?
+
+Ne, směnit můžete pouze tokeny, které jsou ze sítě Ethereum, například ETH, tokeny ERC-20 nebo NFT. Směnit můžete pouze "zabalené" formy bitcoinu, které žijí na Ethereu.
+
+### Co je to skluz?
+
+Jedná se o rozdíl mezi očekávaným a skutečným směnným kurzem.
diff --git a/public/content/translations/cs/guides/how-to-use-a-bridge/index.md b/public/content/translations/cs/guides/how-to-use-a-bridge/index.md
new file mode 100644
index 00000000000..f7fc3949798
--- /dev/null
+++ b/public/content/translations/cs/guides/how-to-use-a-bridge/index.md
@@ -0,0 +1,72 @@
+---
+title: Jak propojit tokeny do 2. vrstvy
+description: Návod vysvětlující, jak přesunout tokeny z Etherea do 2. vrstvy pomocí mostu.
+lang: cs
+---
+
+# Jak propojit tokeny do 2. vrstvy
+
+Pokud je na Ethereu velký provoz, může se to prodražit. Jedním z řešení je vytvoření nových „vrstev“: tj. různých sítí, které fungují podobně jako samotné Ethereum. Tyto takzvané 2. vrstvy pomáhají snižovat přetížení a náklady na Ethereum tím, že zpracovávají mnohem více transakcí za nižší poplatky a jejich výsledek ukládají na Ethereum pouze jednou za čas. Tyto 2. vrstvy nám tak umožňují provádět transakce s vyšší rychlostí a nižšími náklady. Mnoho populárních krypto projektů přechází na 2. vrstvu právě kvůli těmto výhodám. Nejjednodušší způsob, jak přesunout tokeny z Etherea do 2. vrstvy, je použít most.
+
+**Předpoklady:**
+
+- mít kryptoměnovou peněženku – pokud ji nemáte, řiďte se tímto návodem a [vytvořte si účet na Ethereu](/guides/how-to-create-an-ethereum-account/)
+- mít v peněžence prostředky
+
+## 1. Určete, kterou síť 2. vrstvy chcete použít
+
+Více informací o různých projektech a důležitých odkazech najdete na naší [stránce o druhé vrstvě](/layer-2/).
+
+## 2. Otevřete si vybraný most
+
+Mezi populární 2. vrstvy patří:
+
+- [Přemostění Arbitrum](https://portal.arbitrum.io/bridge?l2ChainId=42161)
+- [Přemostění Optimism](https://app.optimism.io/bridge/deposit)
+- [Přemostění sítě Boba](https://hub.boba.network/)
+
+## 3. Připojte se k mostu pomocí vaší peněženky
+
+Ujistěte se, že je vaše peněženka připojena k síti hlavní síti Etherea. Pokud není, webová stránka vás automaticky vyzve k přepnutí sítě.
+
+
+
+## 4. Zadejte částku a přesuňte prostředky
+
+Zkontrolujte si částku, kterou získáte na oplátku v síti 2. vrstvy, a poplatky, abyste se vyhnuli nepříjemným překvapením.
+
+
+
+## 5. Potvrďte tuto transakci ve své peněžence
+
+Za zpracování transakce budete muset zaplatit poplatek (nazývaný [palivo](/glossary/#gas)) ve formě ETH.
+
+
+
+## 6. Počkejte, až budou vaše prostředky převedeny
+
+Tento proces by neměl trvat déle než 10 minut.
+
+## 7. Přidejte vybranou síť 2. vrstvy do své peněženky (volitelné)
+
+Podrobnosti o síti RPC můžete zjistit pomocí [chainlist.org](http://chainlist.org). Po přidání sítě a dokončení transakce byste měli tokeny vidět ve své peněžence.
+
+
+
+
+
Chcete se dozvědět více?
+
+ Podívejte se na naše další návody
+
+
+
+
+## Často kladené dotazy
+
+### Co když mám prostředky na burze?
+
+Možná budete moci vybírat na některé 2. vrstvě přímo z burzy. Další informace naleznete v části „Přejít na druhou vrstvu“ na naší [stránce o druhé vrstvě](/layer-2/).
+
+### Mohu se po přesunu svých tokenů na 2. vrstvu vrátit zpět do hlavní sítě Etherea?
+
+Ano, své prostředky můžete kdykoli přesunout zpět do hlavní sítě pomocí stejného mostu.
diff --git a/public/content/translations/cs/guides/how-to-use-a-wallet/index.md b/public/content/translations/cs/guides/how-to-use-a-wallet/index.md
new file mode 100644
index 00000000000..0df2f6cae41
--- /dev/null
+++ b/public/content/translations/cs/guides/how-to-use-a-wallet/index.md
@@ -0,0 +1,91 @@
+---
+title: Jak používat peněženku
+metaTitle: Jak používat Ethereum peněženky | Krok za krokem
+description: Návod vysvětlující, jak odesílat a přijímat tokeny a jak se připojovat k web3 projektům.
+lang: cs
+---
+
+# Jak používat peněženku
+
+Naučte se ovládat všechny základní funkce peněženky. Pokud ji ještě nemáte, podívejte se na náš návod [Jak vytvořit Ethereum účet](/guides/how-to-create-an-ethereum-account/).
+
+## Otevřete vaši peněženku
+
+Měli byste vidět ovládací panel, který pravděpodobně zobrazí váš zůstatek a bude obsahovat tlačítka pro odesílání a přijímání tokenů.
+
+## Přijímání kryptoměn
+
+Chcete přijímat kryptoměny do své peněženky?
+
+Každý Ethereum účet má svou vlastní přijímací adresu, což je jedinečná sekvence čísel a písmen. Adresa funguje jako číslo bankovního účtu. Ethereum adresy vždy začínají řetězcem "0x". Tuto adresu můžete sdílet s kýmkoli: je to bezpečné.
+
+S vaší adresou je to jako s adresou domova: musíte ji lidem sdělit, aby vás mohli najít. Je to bezpečné, protože vchodové dveře můžete stále zamykat jiným klíčem, který ovládáte pouze vy, takže se k vám nikdo nedostane, i když ví, kde bydlíte.
+
+Tomu, kdo vám chce poslat peníze, musíte sdělit svou veřejnou adresu. Mnoho aplikací peněženek umožňuje zkopírovat adresu nebo zobrazit QR kód, který lze naskenovat pro snadnější použití. Vyhněte se ručnímu zadávání Ethereum adres. To může snadno vést k chybě v zadávání a ztrátě finančních prostředků.
+
+Různé aplikace se mohou lišit nebo používat jiný jazyk, ale pokud se snažíte převést finanční prostředky, měly by vás provést podobným procesem.
+
+1. Otevřete aplikaci peněženky.
+2. Klikněte na možnost "Přijmout" (nebo podobně formulovanou možnost).
+3. Zkopírujte Ethereum adresu do schránky.
+4. Poskytněte odesílateli svou přijímací Ethereum adresu.
+
+## Odesílání kryptoměn
+
+Chcete poslat ETH do jiné peněženky?
+
+1. Otevřete aplikaci peněženky.
+2. Zjistěte adresu příjemce a ujistěte se, že jste připojeni ke stejné síti jako příjemce.
+3. Zadejte adresu příjemce nebo naskenujte QR kód pomocí fotoaparátu, abyste nemuseli adresu psát ručně.
+4. Klikněte v peněžence na tlačítko "Odeslat" (nebo na podobně formulovanou alternativu).
+
+
+
+5. Mnoho aktiv, jako například DAI nebo USDC, existuje ve více sítích. Při převodu krypto tokenů se ujistěte, že příjemce používá stejnou síť jako vy, protože tyto tokeny nejsou zaměnitelné.
+6. Ujistěte se, že máte v peněžence dostatek ETH na pokrytí transakčního poplatku, který se liší v závislosti na podmínkách sítě. Většina peněženek automaticky připočte navrhovaný poplatek k transakci, kterou pak můžete potvrdit.
+7. Po zpracování transakce se na účtu příjemce objeví odpovídající částka v kryptoměnách. To může trvat od několika sekund do několika minut v závislosti na aktuálním vytížení sítě.
+
+## Připojování se k projektům
+
+Vaše adresa bude ve všech Ethereum projektech stejná. Na žádný projekt se nemusíte registrovat individuálně. Jakmile máte peněženku, můžete se připojit k jakémukoli Ethereum projektu bez dalších informací. Nejsou potřeba žádné e-maily ani jiné osobní údaje.
+
+1. Navštivte webové stránky jakéhokoli projektu.
+2. Pokud je vstupní stránka projektu pouze statickým popisem projektu, měli byste mít v nabídce možnost kliknout na tlačítko "Otevřít aplikaci", které vás přesměruje do skutečné webové aplikace.
+3. Jakmile jste v aplikaci, klikněte na "Připojit".
+
+
+
+4. Vyberte peněženku ze seznamu možností. Pokud svou peněženku nevidíte, může být skryta pod možností "WalletConnect".
+
+
+
+5. Potvrďte žádost o podpis v peněžence a navažte spojení. **Podepsání této zprávy by nemělo vyžadovat utracení žádných ETH**.
+6. A je to! Začněte aplikaci používat. Některé zajímavé projekty najdete na naší [stránce dApps](/apps/#explore).
+
+
+
+
+
Chcete se dozvědět více?
+
+ Podívejte se na naše další návody
+
+
+
+
+## Často kladené dotazy
+
+### Pokud mám ETH adresu, vlastním stejnou adresu i na jiných blockchainech?
+
+Stejnou adresu můžete používat na všech blockchainech kompatibilních s EVM (pokud máte peněženku s frází pro obnovení). Tento [seznam](https://chainlist.org/) vám ukáže, které blockchainy můžete používat se stejnou adresou. Některé blockchainy, jako například Bitcoin, implementují samostatnou sadu síťových pravidel a budete na nich potřebovat jinou adresu s jiným formátem. Pokud máte peněženku s chytrými kontrakty, měli byste se podívat na jejich webové stránky, kde najdete další informace o podporovaných blockchainech.
+
+### Mohu používat stejnou adresu na více zařízeních?
+
+Ano, stejnou adresu můžete použít na více zařízeních. Peněženky jsou technicky vzato pouze rozhraním, které vám ukazuje zůstatek a umožňuje provádět transakce, váš účet není uložen v peněžence, ale na blockchainu.
+
+### Neobdržel jsem krypto, kde mohu zkontrolovat stav transakce?
+
+Můžete použít [prohlížeče bloků](/developers/docs/data-and-analytics/block-explorers/), abyste viděli stav jakékoli transakce v reálném čase. Stačí vyhledat adresu peněženky nebo ID transakce.
+
+### Mohu transakce zrušit nebo vrátit?
+
+Ne, jakmile je transakce potvrzena, nelze ji zrušit.
diff --git a/public/content/translations/cs/guides/index.md b/public/content/translations/cs/guides/index.md
new file mode 100644
index 00000000000..a2ff6cc3b39
--- /dev/null
+++ b/public/content/translations/cs/guides/index.md
@@ -0,0 +1,27 @@
+---
+title: Ethereum návody
+description: Sbírka praktických návodů vysvětlujících základy používání Etherea pro začátečníky.
+lang: cs
+---
+
+# Ethereum návody
+
+Chcete se vydat na cestu za Ethereem? Naše praktické návody vás krok za krokem provedou začátky a usnadní vám orientaci v této nové technologii.
+
+## Začínáme
+
+1. [Jak si "vytvořit" Ethereum účet](/guides/how-to-create-an-ethereum-account/) - Peněženku si může zdarma vytvořit každý. Tento návod vám ukáže, kde začít.
+
+2. [Jak používat peněženku](/guides/how-to-use-a-wallet/) - Zjistěte, jak posílat a přijímat tokeny ve své peněžence a jak ji připojit k projektům.
+
+## Základy bezpečnosti
+
+1. [Jak zrušit přístup chytrého kontraktu k vašim krypto prostředkům](/guides/how-to-revoke-token-access/) - Pokud se ve vaší peněžence náhle objeví transakce, kterou jste neiniciovali, tento návod vás naučí, jak tomu zabránit.
+
+2. [Jak rozpoznat podvodné tokeny](/guides/how-to-id-scam-tokens/) - Co jsou podvodné tokeny? Způsoby, kterými se prezentují jako legitimní, a jak je identifikovat, abyste se chránili a vyhnuli se podvodům?
+
+## Používání Etherea
+
+1. [Jak přesunout tokeny na 2. vrstvu](/guides/how-to-use-a-bridge/) - Jsou transakce Etherea příliš nákladné? Zvažte přechod na řešení škálování Etherea nazývané 2. vrstvy.
+
+2. [Jak směnit tokeny](/guides/how-to-swap-tokens/) - Chcete směnit své tokeny za jiné? Tento jednoduchý návod vám ukáže, jak na to.
diff --git a/public/content/translations/cs/nft/index.md b/public/content/translations/cs/nft/index.md
index 99cca9fb4b2..6fe1c65015f 100644
--- a/public/content/translations/cs/nft/index.md
+++ b/public/content/translations/cs/nft/index.md
@@ -15,28 +15,28 @@ summaryPoint3: Běží na chytrých kontraktech na blockchainu Ethereum.
## Co jsou NFTéčka? {#what-are-nfts}
-NFT jsou tokeny, které jsou **individuálně jedinečné**. Každé NFT má jiné vlastnosti (nezaměnitelné) a je prokazatelně vzácné. V tom se liší od tokenů, jako je [ETH](/glossary/#ether), nebo jiných tokenů na Ethereu jako USDC, které jsou identické a mají stejné vlastnosti („zaměnitelné“). Obdobně jě vám jedno, kterou konkrétní dolarovou bankovku (nebo ETH) máte v peněžence, protože všechny jsou totožné a mají stejnou hodnotu. Ale _není_ vám jedno, které konkrétní NFT vlastníte, protože každé má individuální vlastnosti, které ho odlišují od ostatních („nezastupitelné“).
+NFT jsou tokeny, které jsou **individuálně jedinečné**. Každé NFT má jiné vlastnosti (nezaměnitelné) a je prokazatelně vzácné. V tom se liší od tokenů, jako je [ETH](/glossary/#ether) nebo jiné tokeny založené na Ethereu, jako je USDC, kde je každý token identický a má stejné vlastnosti („zaměnitelné“). Obdobně jě vám jedno, kterou konkrétní dolarovou bankovku (nebo ETH) máte v peněžence, protože všechny jsou totožné a mají stejnou hodnotu. Vám však _záleží_ na tom, které konkrétní NFT vlastníte, protože všechna mají individuální vlastnosti, které je odlišují od ostatních („nezaměnitelné“).
-Jedinečnost každého NFT umožňuje tokenizaci věcí, jako je umění, sběratelské předměty nebo dokonce nemovitosti, kde jedno konkrétní unikátní NFT představuje jednu konkrétní unikátní položku existující v reálném nebo digitálnm světě. Vlastnictví tohoto aktiva je veřejně dohledatelné na [blockchainu](/glossary/#blockchain) Ethereum.
+Jedinečnost každého NFT umožňuje tokenizaci věcí, jako je umění, sběratelské předměty nebo dokonce nemovitosti, kde jedno konkrétní unikátní NFT představuje jednu konkrétní unikátní položku existující v reálném nebo digitálnm světě. Vlastnictví aktiva je veřejně ověřitelné na [blockchainu](/glossary/#blockchain) Etherea.
## Internet aktiv {#internet-of-assets}
-NFT a Ethereum řeší některé problémy, které dnes na internetu existují. S postupující digitalizací je třeba replikovat vlastnosti fyzických předmětů, jako je vzácnost, jedinečnost a důkaz vlastnictví a to bez dohledu nebo řízení centrální organizace. Pomocí NFT můžete například vlastnit mp3 soubor napříč všemi aplikacemi běžící na Ethereu a nemusíte být odkázáni na jednu specifickou hudební aplikaci jako je Spotify nebo Apple Music. Můžete vlastnit uživatelské jméno na sociální síti, které můžete prodat nebo vyměnit, ale **nemůže vám ho svévolně vzít** správce platformy.
+NFT a Ethereum řeší některé problémy, které dnes na internetu existují. S postupující digitalizací je třeba replikovat vlastnosti fyzických předmětů, jako je vzácnost, jedinečnost a důkaz vlastnictví a to bez dohledu nebo řízení centrální organizace. Pomocí NFT můžete například vlastnit mp3 soubor napříč všemi aplikacemi běžící na Ethereu a nemusíte být odkázáni na jednu specifickou hudební aplikaci jako je Spotify nebo Apple Music. Můžete vlastnit jméno na sociálních sítích, které můžete prodat nebo směnit, ale poskytovatel platformy vám ho **nemůže svévolně odebrat**.
Zde je porovnání NFT internetu a internetu, tak jak ho známe dnes...
### Porovnání {#nft-comparison}
-| NFT internet | Dnešní internet |
-| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
-| **Vaše vlastní prostředky!** Jenom vy je můžete prodat nebo směnit. | **Můžete si půjčit aktivum** nějaké organizace a to vám může být odebráno. |
-| NFT jsou **digitálně jedinečné**, žádná dvě NFT nejsou stejná. | **Kopii aktiva často nelze odlišit **od originálu. |
-| Vlastnictví NFT je zapsáno na blockchainu, aby si jej mohl **kdokoli ověřit**. | Přístup k záznamům o vlastnictví digitálních položek je **spravován institucemi** – musíte jim věřit. |
-| NFT jsou [chytré kontrakty](/glossary/#smart-contract) na Ethereu. To znamená, že **je lze snadno použít v jiných chytrých kontraktech** a aplikacích na Ethereu! | Firmy, které centralizovaně spravují digitální aktiva, **mají obvykle vlastní infrastrukturu „uzavřeného ekosystému“**. |
-| Tvůrci obsahu **mohou prodávat svá díla kdekoliv** a mají přístup na globální trh. | Tvůrci spoléhají na infrastrukturu a distribuci platforem, které využívají. Často je omezují podmínky používání a **zeměpisná omezení**. |
-| Tvůrci NFT si mohou **ponechat vlastnická práva** ke svému dílu a naprogramovat licenční poplatky přímo do NFT kontraktu. | Platformy, např. **služby streamování hudby, si nechávají většinu zisků z prodeje**. |
+| NFT internet | Dnešní internet |
+| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Svá aktiva vlastníte vy!** Pouze vy je můžete prodat nebo směnit. | **Aktivum si pronajímáte** od nějaké organizace a ta vám ho může odebrat. |
+| NFT jsou **digitálně unikátní**, žádná dvě NFT nejsou stejná. | **Kopii často nelze odlišit** od originálu. |
+| Vlastnictví NFT je uloženo na blockchainu, aby si ho kdokoli mohl **veřejně ověřit**. | Přístup k záznamům o vlastnictví digitálních položek je **kontrolován institucemi** – musíte se spolehnout na jejich slovo. |
+| NFT jsou [chytré kontrakty](/glossary/#smart-contract) na Ethereu. To znamená, že je **lze snadno použít v jiných chytrých kontraktech** a aplikacích na Ethereu! | Společnosti s digitálními položkami obvykle **vyžadují vlastní infrastrukturu typu "zahrada za zdí"**. |
+| Tvůrci obsahu **mohou prodávat svá díla kdekoli** a mají přístup na globální trh. | Tvůrci spoléhají na infrastrukturu a distribuci platforem, které využívají. Tyto často podléhají podmínkám použití a **geografickým omezením**. |
+| Tvůrci NFT si **mohou ponechat vlastnická práva** ke svému vlastnímu dílu a naprogramovat licenční poplatky přímo do NFT kontraktu. | Platformy, jako jsou **streamovací služby, si ponechávají většinu zisku z prodejů**. |
## K čemu se NFT používají? {#nft-use-cases}
@@ -53,7 +53,7 @@ NFT se používají pro spoustu věcí, mezi které patří:
- decentralizované názvy internetových domén
- kolaterál v [decentralizovaných financích](/glossary/#defi)
-Možná jste umělec, který chce zveřejnit svou práci pomocí NFT, aniž by ztratil kontrolu a přišel o své zisky kvůli prostředníkům. Můžete vytvořit nový kontrakt a zadat počet NFT, jejich vlastnosti a přidat odkaz na konkrétní umělecké dílo. Jako umělec **můžete do chytrého kontraktu naprogramovat licenční poplatky**, které by vám měly být vyplaceny (např. 5 % z prodejní ceny, což je vlastníkovi kontraktu vyplaceno pokaždé, když je NFT převedeno na novou adresu). Vždy také můžete prokázat, že jste toto NFT vytvořili, protože vlastníte [peněženku](/glossary/#wallet), která kontrakt vytvořila. Kupující mohou snadno prokázat, že vlastní **autentické NFT** z vaší kolekce, protože [adresa](/glossary/#address) jejich peněženky je spojena s tokenem ve vašem chytrém kontraktu. Mohou jej používat v celém ekosystému Etherea a jsou si jisti jeho pravostí.
+Možná jste umělec, který chce zveřejnit svou práci pomocí NFT, aniž by ztratil kontrolu a přišel o své zisky kvůli prostředníkům. Můžete vytvořit nový kontrakt a zadat počet NFT, jejich vlastnosti a přidat odkaz na konkrétní umělecké dílo. Jako umělec **můžete do chytrého kontraktu naprogramovat licenční poplatky**, které by vám měly být vypláceny (např. převod 5 % z prodejní ceny majiteli kontraktu při každém převodu NFT). Můžete také vždy prokázat, že jste NFT vytvořili, protože vlastníte [peněženku](/glossary/#wallet), která kontrakt nasadila. Vaši kupující mohou snadno prokázat, že vlastní **autentické NFT** z vaší sbírky, protože [adresa](/glossary/#address) jejich peněženky je spojena s tokenem ve vašem chytrém kontraktu. Mohou jej používat v celém ekosystému Etherea a jsou si jisti jeho pravostí.
@@ -65,13 +65,13 @@ Možná jste umělec, který chce zveřejnit svou práci pomocí NFT, aniž by z
-Nebo si představte vstupenku na sportovní událost. Stejně jako **si organizátor události může vybrat, kolik vstupenek bude prodávat**, může se tvůrce NFT rozhodnout, kolik kopií vytvoří. Někdy se jedná o přesné kopie, jako je 5 000 všeobecných vstupenek. Někdy je vytvořených několik NFT, která jsou velmi podobná, ale každé mírně odlišné, jako například vstupenka s přiděleným sedadlem. Ty lze kupovat a prodávat peer-to-peer bez placení prodejcům vstupenek a kupující se vždy může ujistit o pravosti vstupenky pomocí kontroly adresy kontraktu.
+Nebo si představte vstupenku na sportovní událost. Stejně jako si **organizátor události může vybrat, kolik vstupenek prodá**, může tvůrce NFT rozhodnout, kolik replik existuje. Někdy se jedná o přesné kopie, jako je 5 000 všeobecných vstupenek. Někdy je vytvořených několik NFT, která jsou velmi podobná, ale každé mírně odlišné, jako například vstupenka s přiděleným sedadlem. Ty lze kupovat a prodávat peer-to-peer bez placení prodejcům vstupenek a kupující se vždy může ujistit o pravosti vstupenky pomocí kontroly adresy kontraktu.
-**NFT na ethereum.org slouží k prokázání, že lidé smysluplně přispěli** do našeho Github repozitáře (naprogramovali web, napsali nebo upravili článek...), přeložili náš obsah, nebo se zúčastnili našeho komunitního hovoru. Také máme naše vlastní doménové jméno spojené s NFT. Pokud budete přispívat na ethereum.org, můžete získat [POAP](/glossary/#poap) NFT. Některé krypto meetupy používají POAPy jako vstupenky. [Více o přispívání](/contributing/#poap).
+Na ethereum.org se **NFT používají k prokázání, že lidé smysluplně přispěli** do našeho repozitáře na GitHubu (naprogramovali web, napsali nebo upravili článek...), přeložili náš obsah nebo se zúčastnili našich komunitních hovorů, a dokonce máme i vlastní název domény NFT. Pokud přispějete na ethereum.org, můžete získat [POAP](/glossary/#poap) NFT. Některé krypto meetupy používají POAPy jako vstupenky. [Více o přispívání](/contributing/#poap).

-Tato webová stránka má také alternativní název domény využívající NFT, **ethereum.eth**. Naše adresa `.org` je centrálně spravována poskytovatelem doménových jmen (DNS), zatímco ethereum`.eth` je registrována na síti Ethereum prostřednictvím Ethereum Name Service (ENS). A je vlastněná a ovládaná námi. [Podívejte se na náš ENS záznam.](https://app.ens.domains/name/ethereum.eth)
+Tento web má také alternativní název domény využívající NFT, **ethereum.eth**. Naše adresa `.org` je centrálně spravována poskytovatelem systému doménových jmen (DNS), zatímco ethereum`.eth` je registrována na Ethereu prostřednictvím Ethereum Name Service (ENS). A je vlastněná a ovládaná námi. [Zkontrolujte náš záznam ENS](https://app.ens.domains/name/ethereum.eth)
[Více o ENS](https://app.ens.domains)
@@ -79,21 +79,21 @@ Tato webová stránka má také alternativní název domény využívající NFT
## Jak fungují NFT? {#how-nfts-work}
-Stejně jako kterékoliv digitální předměty na Ethereum blockchainu jsou NFT vytvářeny skrze speciální počítačový program založený na Ethereu s názvem „chytrý kontrakt“. Tyto kontrakty fungují podle specifických pravidel, jako jsou standardy [ERC-721](/glossary/#erc-721) nebo [ERC-1155](/glossary/#erc-1155), které určují, jaké operace může kontrakt vykonávat.
+Stejně jako kterékoliv digitální předměty na Ethereum blockchainu jsou NFT vytvářeny skrze speciální počítačový program založený na Ethereu s názvem „chytrý kontrakt“. Tyto kontrakty se řídí určitými pravidly, jako jsou standardy [ERC-721](/glossary/#erc-721) nebo [ERC-1155](/glossary/#erc-1155), které určují, co kontrakt může dělat.
Chytrý kontrakt NFT může dělat několik klíčových věcí:
-- **Vytvářet NFT:**Může vytvořit nové NFT.
-- **Přiřadit vlastnictví:**Zaznamenává, kdo vlastní určité NFT, a to tak, že je spojuje s konkrétními adresami Etherea.
-- **Přiřadit každému NFT jeho číslo:** Každé NFT má své číslo, které ho dělá unikátním. Navíc bývají u NFT většinou přiřazeny nějaké informace (metadata), které popisují, co dané NFT reprezentuje.
+- **Vytváření NFT:** Může vytvářet nová NFT.
+- **Přiřazování vlastnictví:** Sleduje, kdo vlastní které NFT, tím, že je propojuje s konkrétními adresami na Ethereu.
+- **Přiřazení ID každému NFT:** Každé NFT má číslo, které ho činí jedinečným. Navíc bývají u NFT většinou přiřazeny nějaké informace (metadata), které popisují, co dané NFT reprezentuje.
Když někdo "vytvoří" nebo "vytěží" nějaké NFT, tak prakticky říkají chytrému kontraktu, aby mu předal vlastnictví daného NFT. Tato informace je bezpečně a veřejně uložena na blockchainu.
Tvůrce kontraktu může navíc přidat další pravidla. Může nastavit kolik má být daného NFT vytvořeno nebo může rozhodnout, že dostane malý autorský poplatek, kdykoliv NFT změní svého majitele.
-### Zabezpečení NFT {#nft-security}
+### Bezpečnost NFT {#nft-security}
-Ethereum je zabezpečeno [mechanismem důkazu podílem](/glossary/#pos). Systém je navržen tak, aby ekonomicky bránil zlovolným akcím, takže Ethereum je chráněno proti neoprávněným zásahům. To je to, co umožňuje NFT fungovat. Jakmile bude [blok](/glossary/#block) obsahující vaši NFT transakci [dokončen](/glossary/#finality), změnit ho by stálo útočníka miliony ETH. Každý, kdo používá Ethereum software, by byl okamžitě schopen odhalit nepoctivé a nedovolené zásahy týkající se NFT a záškodník by byl ekonomicky penalizován a vykázán.
+Bezpečnost Etherea pochází z [důkazu podílem](/glossary/#pos). Systém je navržen tak, aby ekonomicky bránil zlovolným akcím, takže Ethereum je chráněno proti neoprávněným zásahům. To je to, co umožňuje NFT fungovat. Jakmile se [blok](/glossary/#block) obsahující vaši transakci NFT stane [finalizovaným](/glossary/#finality), stálo by útočníka miliony ETH, kdyby ho chtěl změnit. Každý, kdo používá Ethereum software, by byl okamžitě schopen odhalit nepoctivé a nedovolené zásahy týkající se NFT a záškodník by byl ekonomicky penalizován a vykázán.
Bezpečnostní otázky týkající se NFT se nejčastěji týkají podvodů s phishingem, zranitelnosti chytrých kontraktů nebo uživatelské chyby (jako je neúmyslné odhalení privátního klíče). Dobrá ochrana peněženky je tedy pro majitele NFT klíčovou.
@@ -101,13 +101,14 @@ Bezpečnostní otázky týkající se NFT se nejčastěji týkají podvodů s ph
Více o bezpečnosti
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Průvodce NFT](https://linda.mirror.xyz/df649d61efb92c910464a4e74ae213c4cab150b9cbcc4b7fb6090fc77881a95d) – _Linda Xie, leden 2020_
-- [EtherscanNFT tracker](https://etherscan.io/nft-top-contracts)
-- [Standart tokenu ERC-721](/developers/docs/standards/tokens/erc-721/)
-- [Standart tokenu ERC-1155](/developers/docs/standards/tokens/erc-1155/)
-- [Oblíbené aplikace a nástroje NFT](https://www.ethereum-ecosystem.com/blockchains/ethereum/nfts)
+- [Průvodce NFT pro začátečníky](https://linda.mirror.xyz/df649d61efb92c910464a4e74ae213c4cab150b9cbcc4b7fb6090fc77881a95d) – _Linda Xie, leden 2020_
+- [Etherscan NFT tracker](https://etherscan.io/nft-top-contracts)
+- [Blockscout NFT tracker](https://eth.blockscout.com/tokens?type=ERC-721,ERC-1155,ERC-404)
+- [Tokenový standard ERC-721](/developers/docs/standards/tokens/erc-721/)
+- [Tokenový standard ERC-1155](/developers/docs/standards/tokens/erc-1155/)
+- [Populární NFT aplikace a nástroje](https://www.ethereum-ecosystem.com/blockchains/ethereum/nfts)
## Další zdroje {#other-resources}
diff --git a/public/content/translations/cs/payments/index.md b/public/content/translations/cs/payments/index.md
new file mode 100644
index 00000000000..17e1ceab484
--- /dev/null
+++ b/public/content/translations/cs/payments/index.md
@@ -0,0 +1,208 @@
+---
+title: Ethereum platby
+metaTitle: Platby na Ethereu
+description: Přehled plateb na Ethereu
+lang: cs
+template: use-cases
+emoji: ":frame_with_picture:"
+sidebarDepth: 2
+image: /images/impact_transparent.png
+alt: Logo Eth zobrazené s podávajícíma si rukama.
+summaryPoint1: Svět, kde se peníze pohybují stejně volně jako informace
+summaryPoint2: Otevřené a globální, umožňující bezhraniční transakce pro všechny
+summaryPoint3: Platby přijaté do minuty
+---
+
+Každý den čelí miliony lidí stejné výzvě: přesouvání peněz přes hranice je pomalé, drahé a často frustrující. Nezávislý pracovník na Bali čeká dny na zúčtování platby od svého klienta z New Yorku. To se týká zejména lidí v regionech s omezenou bankovní infrastrukturou, což jim ztěžuje účastnit se globální ekonomiky.
+
+To není žádný vzdálený sen – děje se to dnes na Ethereu. Zatímco tradiční finanční instituce vybudovaly v průběhu desetiletí robustní platební systémy, často zůstávají omezeny hranicemi, pracovní dobou a starší infrastrukturou. Ethereum nabízí nové paradigma: globální finanční platformu fungující 24/7, která umožňuje téměř okamžité, programovatelné transakce pro kohokoli s přístupem k internetu.
+
+
+
+
+
+
+
+## Remitence: levnější mezinárodní převody {#remittances}
+
+Pro miliony lidí pracujících v zahraničí je posílání peněz domů pravidelnou nutností. Tradiční remitenční služby jsou často spojeny s vysokými poplatky a pomalou dobou zpracování. Ethereum nabízí zajímavou alternativu.
+
+
+
+
+
+
+
+## Přístup ke globálním měnám {#access-to-global-currencies}
+
+V mnoha zemích je inflace naléhavým problémem, často doprovázeným omezeným přístupem k cizím měnám. Lidé v těchto situacích se snaží uchovat si své bohatství, protože jsou nuceni držet rychle znehodnocující se úspory.
+
+Komunita Etherea vytvořila **robustní alternativní finanční systém**, který je nezávislý na měnové politice nebo kontrole jakéhokoli státu.
+
+Uživatelé Etherea mohou používat **stablecoiny – tokeny obvykle vázané na silné měny, jako je americký dolar**. Tím, že lidé vydělávají a spoří v kryptoměně, se mohou chránit před vysokou inflací ve své zemi, což jim pomáhá zachovat nebo dokonce zvýšit jejich kupní sílu. To také umožňuje snadnější platby za zboží a služby, jak na místní, tak na globální úrovni.
+
+
+ Více o stablecoinech
+
+
+## Nákup zboží a platby za služby {#buying-goods-and-payment-for-services}
+
+Mnoho podniků začíná přijímat ether (ETH) a další kryptoměny jako platbu. Například:
+
+- **Newegg:** Populární prodejce elektroniky přijímá Ethereum pro nákupy ve vybraných zemích.
+- **Travala.com:** Tato platforma pro rezervaci cestování umožňuje uživatelům platit za hotely a lety pomocí Etherea.
+- **Shopify:** Tato populární e-commerce platforma, která slouží jako platforma pro hostování podniků, také přijímá platby za zboží a služby pomocí Etherea.
+- **Sotheby's:** Tato organizace obchoduje s výtvarným a dekorativním uměním, šperky a sběratelskými předměty a umožňuje platby pomocí Etherea a dalších kryptoměn.
+
+Země jako El Salvador a Středoafrická republika dokonce přijaly kryptoměny jako zákonné platidlo, což připravuje půdu pro širší přijetí plateb Ethereem v každodenních transakcích.
+
+V zemích, kde byly jejich platební prostředky odpojeny od zbytku světa, představovaly platební řešení s integrací kryptoměn obrovskou úlevu. Platby za předplatné na platformách jako Netflix, Spotify a za vzdělávací kurzy jsou nyní usnadněny prostřednictvím krypto platebních platforem jako Gnosis Pay a Paypal.
+
+
+
+
+
Vytvořte si svůj účet Ethereum ještě dnes pomocí peněženkové aplikace.
+
+ Začněte
+
+
+
+
+## Plaťte pomocí self-custodial krypto karet {#pay-with-self-custodial-crypto-cards}
+
+Self-custodial krypto karty fungují, jako když používáte vlastní batoh, místo toho, abyste si peníze zamykali do trezoru někoho jiného. U tradiční karty drží vaše prostředky banka nebo správce a uvolňuje je, když utrácíte. Se self-custodial kartami máte svá aktiva neustále pod kontrolou – bez prostředníka – a přitom můžete stále platit pípnutím nebo přejetím karty za kávu, potraviny nebo dokonce letenku.
+
+Tyto karty se přímo propojují s non-custodial peněženkami nebo účty s chytrými kontrakty, což uživatelům umožňuje utrácet ETH a stablecoiny v běžných situacích, aniž by se vzdali vlastnictví. Na rozdíl od custodial karet, které vyžadují, aby uživatelé vložili prostředky u třetí strany, self-custodial karty umožňují platby v reálném světě, jako jsou Visa a Mastercard, a zároveň zachovávají kontrolu na blockchainu.
+
+### Příklady {#crypto-cards-examples}
+
+- **MetaMask Card:** Propojená s peněženkou MetaMask, tato debetní karta Mastercard umožňuje uživatelům utrácet ETH, stablecoiny a další podporované tokeny. Podporuje Apple Pay a Google Pay, zahrnuje odměny v podobě krypto cashbacku a nabízí možnosti získávání výnosů.
+
+- **Tuyo Card:** Karta Visa založená na chytrém kontraktu, která automaticky převádí krypto na USDC pro útratu všude, kde je Visa přijímána. Uživatelé si ponechávají svá aktiva ve vlastní správě s přístupem k funkcím pro výnos, obchodování a utrácení.
+
+- **Gnosis Pay:** První self-custodial karta Visa propojená s chytrým účtem Gnosis Safe. Uživatelé utrácejí krypto přímo ze své peněženky bez poplatků za gas, FX nebo off-ramping. Podporována je také personalizace karty prostřednictvím Ethereum Name Service (ENS).
+
+- **Ether.Fi Cash card:** Integrovaná se staking protokolem ether.fi, tato karta umožňuje uživatelům utrácet, zatímco jejich ETH zůstává stakované. Platby jsou zpracovávány prostřednictvím chytrých kontraktů, přičemž je zachována self-custody i během útraty.
+
+### Porovnání self-custodial krypto karet {#crypto-card-custody-comparison}
+
+| **Krypto karta** | **Self-custodial** | **Nekótované** | **Klíčové poznámky** |
+| ----------------------------- | :----------------: | :------------: | ---------------------------------------------------------------------------------------------------------- |
+| MetaMask Card | ✅ | ✅ | Peněženka zůstává v MetaMask; automatický off-ramp při platbě |
+| Tuyo Card | ✅ | ✅ | Chytrá peněženka převádí na USDC; uživatel si ponechává kontrolu |
+| Gnosis Pay | ✅ | ✅ | Propojeno s Gnosis Safe uživatele; během používání nedochází k přesunu správy (custody) |
+| Ether.Fi Cash | ✅ | ✅ | ETH zůstává stakované; chytrý kontrakt řídí přístup k útratě. |
+
+> **Poznámka:** „Self-custodial“ označuje peněženky ovládané uživatelem, kde má uživatel plný přístup a kontrolu nad svými prostředky.
+> „Non-custodial“ označuje peněženky, kde jsou prostředky spravovány bez správy třetí stranou, často prostřednictvím chytrých kontraktů.
+> Zatímco všechny self-custodial karty jsou non-custodial, ne všechny non-custodial karty jsou self-custodial.
+
+## Mikroplatby pro webové stránky a agenty (x402) {#x402}
+
+[x402](https://www.x402.org/) je otevřený platební standard, který přináší na web nativní platby za jednotlivá použití. Používáním [stablecoinů](/stablecoins/) v nízkonákladových [sítích druhé vrstvy Etherea](/layer-2/) standard x402 činí ekonomickým, aby lidé a stroje platili přímo za jedinou akci, jako je přečtení zpravodajského článku nebo volání API, namísto správy API klíčů, předplatných nebo „placení“ věnováním pozornosti reklamě.
+
+- **Odstranění paywallů a přihlášení:** Místo vytváření účtu a sdílení osobních údajů pro přečtení jednoho zpravodajského článku může vaše peněženka zaplatit pár centů potřebných k jeho odemknutí.
+- **Platby pro agenty AI:** x402 umožňuje autonomnímu softwaru („agentům AI“) platit za data a volání API, které potřebují k fungování, bez lidského zásahu.
+
+### Jak funguje platební standard x402 {#x402-how}
+
+Když klient požaduje zdroj, server odešle chybový kód `402 Payment Required` spolu s platebními instrukcemi (cena, účet a jaké tokeny a řetězce jsou podporovány).
+
+- Vaše [peněženka](/wallets/) detekuje požadavek a zpracuje platbu (často jediným kliknutím pro schválení nebo automaticky pomocí předem schváleného limitu)
+- [Agenti AI](/ai-agents/) s přístupem k předem schváleným zůstatkům v peněžence mohou automaticky detekovat cenu a okamžitě zaplatit za přístup k datům nebo službám
+- Klient musí mít v peněžence jeden z podporovaných stablecoinů, ale nemusí mít žádné ETH na [poplatky za gas](/gas/)
+
+To odemyká novou „machine to machine“ ekonomiku, kde si agenti AI mohou sami nakupovat zdroje a kde lze efektivněji přistupovat ke službám API.
+
+Podepsaná zpráva je poté doručena na server. Servery obvykle používají [facilitátora x402](https://x402.gitbook.io/x402/core-concepts/facilitator) k řešení složitosti blockchainu (odeslání transakce, získání platby, zprostředkování poplatků za gas atd.), což znamená, že vývojáři mohou snadno přijímat krypto mikroplatby, aniž by museli spravovat platební infrastrukturu.
+
+## Výplaty mezd {#salary-payments}
+
+Mnoho progresivních společností nyní nabízí zaměstnancům možnost pobírat své mzdy nebo jejich část v kryptoměnách, jako je ether (ETH):
+
+- **Gipsybee:** je organizace, která se zabývá elektronikou, robotikou, tvorbou her a dalšími službami. Dávají zaměstnancům možnost nechat si vyplácet mzdu v Ethereu.
+- **SC5:** Tato finská společnost byla jednou z prvních, která nabídla mzdy v Bitcoinu, čímž připravila půdu pro podobná ujednání s Ethereem.
+- **Blockchainové startupy:** Mnoho společností v oblasti blockchainu přirozeně nabízí svým zaměstnancům možnost výplaty v kryptoměnách.
+- **DAO:** Vzhledem ke specifičnosti a rozmanitosti přispěvatelů do DAO je většina příspěvků a platů odměňována v kryptoměně.
+
+Tento trend oslovuje zejména pracovníky na dálku a digitální nomády, kteří mohou těžit z bezhraničních plateb a potenciálně příznivých směnných kurzů.
+
+## Globální humanitární pomoc {#global-relief-efforts}
+
+V únoru 2023, když ničivá zemětřesení zasáhla Turecko a Sýrii, se globální krypto komunita pustila do akce. Byly spuštěny různé kampaně na sběr finančních prostředků na pomoc, které ukázaly sílu Etherea v dobách krize. Přestože krypto [nebylo v Turecku uznávanou formou](https://www.reuters.com/technology/no-more-kebabs-bitcoins-turkeys-crypto-payment-ban-looms-2021-04-28/) platby, úřady udělaly [výjimky](https://x.com/haluklevent/status/1622913175409623041) pro některé organizace, aby mohly sbírat dary. Některé příklady jsou:
+
+- [Refik Anadol](https://x.com/refikanadol/status/1622623521104089090): je renomovaný digitální umělec, který inicioval sbírkovou kampaň.
+- Síla DAO: [Anka Relief DAO](https://ankarelief.org/) a [Bankless DAO](https://x.com/banklessDAO) spojily síly s [Giveth](https://x.com/Giveth/status/1623493672149843969) za účelem sběru finančních prostředků.
+- [Pak](https://cause.quest/), prominentní umělec NFT, také přispěl na tuto věc.
+- Dokonce i spoluzakladatel Etherea [Vitalik Buterin](https://cointelegraph.com/news/vitalik-buterin-donates-227k-to-help-earthquake-victims-in-turkey-syria) osobně přispěl do několika kampaní.
+
+Výsledek? Během několika dní se vybralo přes 6 milionů dolarů, jak je sledováno na panelu [Dune](https://dune.com/davy42/turkiye-earthquake-donations) Analytics.
+
+Podobně rychlé reakce byly i na tragédie, které se staly v Indii a na Ukrajině. Tato rychlá reakce zdůrazňuje klíčovou výhodu plateb Ethereem, kterou je schopnost rychle mobilizovat globální podporu bez překážek v podobě konverze měn, zdlouhavých bankovních převodů nebo přemrštěných poplatků.
+
+
+
+
+
+
+
+## Ethereum vs. fiat {#ethereum-vs-fiat}
+
+Abyste skutečně ocenili dopad plateb Ethereem, stojí za to je porovnat s tradičními fiat měnami:
+
+| | **Ethereum** | **Tradiční banky** |
+| --------------------- | -------------------------- | ------------------------------------------------------- |
+| **Rychlost** | Sekundy až minuty | Hodiny až dny |
+| **Globální dosah** | Bez hranic, 24/7 | Podléhá mezinárodním bankovním omezením a pracovní době |
+| **Transparentnost** | Plně transparentní | Liší se podle instituce |
+| **Programovatelnost** | Podpora chytrých kontraktů | Omezeno na základní transakce |
+| **Kontrola inflace** | Předvídatelné vydávání | Podléhá politikám centrální banky |
+| **Přístupnost** | Kdokoli s internetem | Podléhá národním a mezinárodním omezením |
+
+Ve svém jádru je Ethereum decentralizovaná platforma, která umožňuje bezpečné, rychlé a transparentní transakce. Mnoho komponentů jej však odlišuje od tradičních platebních metod. Pojďme se ponořit do výhod, které z plateb Ethereem dělají převratnou záležitost:
+
+### Programovatelnost {#programmability}
+
+Jednou z jedinečných vlastností Etherea je jeho schopnost podporovat chytré kontrakty. Chytré kontrakty jsou samospustitelné smlouvy s podmínkami napsanými přímo do kódu. To otevírá svět možností pro automatizované, podmíněné platby, které mohou výrazně zlepšit transakce, jako jsou:
+
+- Služby úschovy (escrow)
+- Opakované platby
+- Odměňování na základě výkonu
+
+### Rychlost {#speed}
+
+Pamatujete si, kdy jste naposledy čekali dny na zúčtování mezinárodního bankovního převodu? Dlouhá fronta? A ty spousty formulářů, které jste museli vyplnit? S Ethereem jsou ty dny dávno pryč. Transakce v síti Ethereum se vypořádají během několika minut bez ohledu na to, kde se odesílatel a příjemce nacházejí. Protože je Ethereum permissionless (bez nutnosti povolení), při posílání peněz neexistuje žádná regulační byrokracie. Tato rychlost je obzvláště klíčová v časově citlivých situacích, jako je například pomoc při mimořádných událostech.
+
+### Nižší poplatky {#lower-fees}
+
+Poplatky za tradiční mezinárodní převody peněz někdy pohltí významnou část odeslané částky, zejména u transakcí v řádu stovek dolarů. Transakce na Ethereu, i když nejsou zdarma, jsou často spojeny s nižšími poplatky. To znamená, že více vašich peněz jde tam, kam chcete, a ne do kapes zprostředkovatelů.
+
+### Transparentnost {#transparency}
+
+Každá transakce na blockchainu Ethereum je zaznamenána ve veřejné účetní knize. To znamená, že kdokoli si může ověřit pohyb finančních prostředků, což z něj činí vynikající nástroj pro:
+
+- Charitativní organizace, aby ukázaly, jak jsou dary využívány
+- Podniky, aby prokázaly platby dodavatelům nebo zaměstnancům
+- Jednotlivci, aby si udrželi přehled o svých finančních aktivitách
+
+S Ethereem může každý vidět, jak se peníze pohybují a jak jsou implementovány náklady, na rozdíl od tradičních organizací, kde většina z toho zůstává neznámá.
+
+
+
+
+
+
+
+Zatímco fiat měny mají výhodu širokého přijetí a stability, Ethereum nabízí jedinečné výhody, které z něj činí atraktivní možnost pro určité typy transakcí.
+
+Od usnadnění rychlé pomoci při katastrofách až po posílení postavení globálních pracovníků píší platby Ethereem novou kapitolu v dlouhé historii peněz. I když výzvy přetrvávají, jedinečné výhody, které tato technologie nabízí, z ní činí atraktivní volbu pro širokou škálu případů použití.
+
+
+
+
+
Je čas si pořídit vlastní účet Ethereum.
+
+ Začněte!
+
+
+
diff --git a/public/content/translations/cs/prediction-markets/index.md b/public/content/translations/cs/prediction-markets/index.md
new file mode 100644
index 00000000000..d29a30a44f0
--- /dev/null
+++ b/public/content/translations/cs/prediction-markets/index.md
@@ -0,0 +1,85 @@
+---
+title: Predikční trhy
+lang: cs
+template: use-cases
+image: /images/use-cases/prediction-markets.png
+sidebarDepth: 2
+summaryPoint1: Získejte finanční pobídky za vytváření přesných předpovědí
+summaryPoint2: Vysoce kvalitní předpovědi budoucích událostí
+buttons:
+ - content: Další informace
+ toId: how-prediction-markets-work
+ - content: Prozkoumat aplikace
+ toId: find-a-prediction-market
+ isSecondary: false
+---
+
+Predikční trhy využívají moudrost davu a finanční pobídky k předpovídání událostí. Nabízejí rozmanitá, vysoce kvalitní data a na popularitě získaly v roce 2024 během amerických voleb.
+
+## Jak fungují predikční trhy {#how-prediction-markets-work}
+
+Na rozdíl od tradičních metod prognózování, které se opírají o názory odborníků, omezené vzorky průzkumů nebo historická data, využívají predikční trhy **finanční pobídky v reálném čase** a **moudrost davu** k vytváření přehledů týkajících se konkrétní události – voleb, cen kryptoměn, sportovních výsledků – čehokoliv.
+
+To umožňuje komukoli signalizovat podporu určitého výsledku finančním závazkem.
+Tím, že se umožní sázení na události v reálném světě a ceny se upravují s příchodem nových informací, jsou informované názory hodnoceny výše a přesnost může být odměněna.
+
+Teoreticky, protože sázející mohou ze správných odhadů profitovat, mohou predikční trhy předpovídat výsledky s velkou přesností. Predikční trhy založené na blockchainu jsou ještě zajímavější, protože prakticky kdokoli se může podílet na prognózování a získávat odměny ve stabilních kryptoměnách nebo kryptoměnách.
+
+## Proč je to důležité? {#why-does-this-matter}
+
+Na rozdíl od tradičního prognózování jsou predikční trhy založené na blockchainu:
+
+
+
+
+
+
+
+I jako pozorovatel trhu můžete posoudit cenná data, která by jinak nebyla k dispozici. Představte si to takto:
+
+1. Předpovědi jsou vázány na konkrétní událost (např. bude Beam Chain nasazen do roku 2030?).
+2. Účastníci trhu nakupují a prodávají akcie na základě své důvěry v jakýkoli výsledek.
+3. Ceny se upravují, jakmile více účastníků vsadí na svá přesvědčení, což odráží poznatky v reálném čase.
+4. Každý, kdo sází správně, vydělává úměrně vsazené částce.
+5. Pozorovatelé trhu mohou využít otevřená data k informování výzkumu nebo diskuse.
+
+## Najděte si predikční trh {#find-a-prediction-market}
+
+Existuje několik dostupných predikčních trhů založených na Ethereu. Toto jsou některé z nejznámějších predikčních trhů současnosti:
+
+
+
+
+
+
+
+
Mějte na paměti rizika
+
Sázejte pouze to, co si můžete dovolit, a buďte si vědomi možného návykového chování.
+
+
+
+
+## Výzvy a rizika {#challenges-and-risks}
+
+Predikční trhy na blockchainu čelí několika výzvám, které mohou ovlivnit spravedlnost, zákonnost a přesnost.
+
+⚠️ **Manipulace s trhem** – Bohatí hráči mohou zkreslovat výsledky prostřednictvím wash tradingu.
+💧 **Problémy s likviditou** – Nízká účast ([nízká likvidita](https://www.investopedia.com/terms/t/thinmarket.asp)) může snížit spolehlivost trhu.
+🏛 **Regulační nejistota** – Vlády zavedly omezení pro některé platformy.
+
+Aby se tyto problémy zmírnily, vývojáři Etherea experimentují s řešeními, jako je futarchie (správa pomocí predikčních trhů) a decentralizované ověřování identity.
+
+## Experimentování s predikčními trhy {#experimenting-with-prediction-markets}
+
+Predikční trhy přetvářejí rozhodování v digitálním věku. Využitím Etherea nabízejí **spravedlivé, otevřené a odměňující způsoby, jak předpovídat budoucnost.**
+
+Existuje mnoho způsobů, jak využít nástroje pro prognózování i mimo finanční zisk. Například v [návrhu na vylepšení DevConu](https://forum.devcon.org/t/futarchy-decision-markets-for-deciding-next-devcon/5305) (DIP) bylo navrženo, aby organizátoři DevConu používali predikční trhy k předvídání účasti na budoucích událostech.
+
+To by pomohlo organizátorům určit, které místo by vedlo k největší události, v porovnání s tím, které místo by bylo nejvíce mezinárodně dostupné. Výhody tohoto postupu znamenají, že organizátoři DevConu mohou zkrátit dobu potřebnou k prověření více
+vízových politik, dostupnosti letišť a nákladů na život v dané oblasti a zároveň shromažďovat údaje o tom, kam by se potenciální účastníci rádi podívali.
+
+## Další čtení {#further-reading}
+
+[Od predikčních trhů k info financím](https://vitalik.eth.limo/general/2024/11/09/infofinance.html) – Vitalik Buterin
+[Vývoj decentralizovaných predikčních trhů na Ethereu](https://blockchain.oodles.io/dev-blog/decentralized-prediction-market-development-ethereum/)
+[Bílá kniha projektu Augur](https://github.com/AugurProject/whitepaper)
\ No newline at end of file
diff --git a/public/content/translations/cs/privacy/index.md b/public/content/translations/cs/privacy/index.md
new file mode 100644
index 00000000000..9f07e2e7a76
--- /dev/null
+++ b/public/content/translations/cs/privacy/index.md
@@ -0,0 +1,97 @@
+---
+title: Soukromí na Ethereu
+description: Nástroje a techniky pro ochranu vašeho soukromí na Ethereu
+lang: cs
+---
+
+# Soukromí na Ethereu {#introduction}
+
+Soukromí je nejen nezbytné pro osobní bezpečnost, je to základní kámen svobody a klíčový [garant decentralizace](https://vitalik.eth.limo/general/2025/04/14/privacy.html). Soukromí dává lidem možnost svobodně se vyjadřovat, obchodovat s ostatními a organizovat komunity. Stejně jako u všech blockchainů je však soukromí v případě veřejné účetní knihy Etherea náročné.
+
+Ethereum je z podstaty transparentní. Každá akce na blockchainu je viditelná pro každého, kdo se podívá. Ačkoli Ethereum nabízí pseudonymitu propojením vaší aktivity s [veřejným klíčem](/decentralized-identity/#public-key-cryptography) namísto identity v reálném světě, vzorce aktivity by mohly být analyzovány za účelem odhalení citlivých informací a identifikace uživatelů.
+
+Zabudování nástrojů pro ochranu soukromí do Etherea může lidem, organizacím a institucím pomoci bezpečně interagovat a zároveň omezit zbytečné odhalení. Díky tomu je ekosystém bezpečnější a praktičtější pro širší škálu případů použití.
+
+## Ochrana soukromí při zápisech {#privacy-of-writes}
+
+Ve výchozím nastavení je každá transakce zapsaná na Ethereu veřejná a trvalá. To zahrnuje nejen posílání ETH, ale také registraci jmen ENS, sbírání POAP nebo obchodování s NFT. Každodenní akce, jako jsou platby, hlasování nebo ověření totožnosti, mohou odhalit vaše informace nezamýšleným stranám. Existuje několik nástrojů a technik, které mohou pomoci zvýšit jejich soukromí:
+
+### Mixovací protokoly (neboli „mixéry“) {#mixing-protocols}
+
+Mixéry přerušují spojení mezi odesílateli a příjemci tím, že transakce mnoha uživatelů vkládají do sdíleného „poolu“ a poté umožňují lidem pozdější výběr na novou adresu. Jelikož jsou vklady a výběry promíchány, je pro pozorovatele mnohem těžší je spojit.
+
+_Příklady: [PrivacyPools](https://docs.privacypools.com/), [Tornado Cash](https://tornado.cash/)_
+
+### Stíněné pooly {#shielded-pools}
+
+Stíněné pooly jsou podobné mixérům, ale umožňují uživatelům držet a převádět finanční prostředky soukromě uvnitř samotného poolu. Namísto pouhého zatemnění spojení mezi vkladem a výběrem si stíněné pooly udržují trvalý soukromý stav, často zabezpečený důkazy s nulovou znalostí. To umožňuje vytvářet soukromé převody, soukromé zůstatky a další.
+
+_Příklady: [Railgun](https://www.railgun.org/), [Aztec](https://aztec.network/), Nightfall_
+
+### Skryté adresy {#stealth-addresses}
+
+[Skrytá adresa](https://vitalik.eth.limo/general/2023/01/20/stealth.html) je jako dát každému odesílateli jedinečnou, jednorázovou poštovní přihrádku, kterou můžete otevřít jen vy. Pokaždé, když vám někdo pošle kryptoměnu, přijde na novou adresu, takže nikdo jiný neuvidí, že všechny tyto platby patří vám. Díky tomu zůstává vaše platební historie soukromá a hůře sledovatelná.
+
+_Příklady: [UmbraCash](https://app.umbra.cash/faq), [FluidKey](https://www.fluidkey.com/)_
+
+### Další případy použití {#other-use-cases}
+
+Mezi další projekty zkoumající soukromé zápisy patří [PlasmaFold](https://pse.dev/projects/plasma-fold) (soukromé platby) a systémy jako [MACI](https://pse.dev/projects/maci) a [Semaphore](https://pse.dev/projects/semaphore) (soukromé hlasování).
+
+Tyto nástroje rozšiřují možnosti soukromého zápisu na Ethereu, ale každý z nich má své kompromisy. Některé přístupy jsou stále experimentální, některé zvyšují náklady nebo složitost a některé nástroje, jako jsou mixéry, mohou čelit právnímu nebo regulačnímu přezkumu v závislosti na tom, jak jsou používány.
+
+## Ochrana soukromí při čtení {#privacy-of-reads}
+
+Čtení nebo kontrola jakýchkoli informací na Ethereu (např. zůstatku v peněžence) obvykle probíhá prostřednictvím služby, jako je poskytovatel vaší peněženky, poskytovatel uzlů nebo prohlížeč bloků. Protože se na ně spoléháte, že za vás přečtou blockchain, mohou také vidět vaše požadavky spolu s metadaty, jako je vaše IP adresa nebo poloha. Pokud stále kontrolujete stejný účet, tyto informace lze poskládat a propojit vaši identitu s vaší aktivitou.
+
+Provoz vlastního uzlu Etherea by tomu zabránil, ale ukládání a synchronizace celého blockchainu zůstává pro většinu uživatelů nákladná a nepraktická, zejména na mobilních zařízeních.
+
+Mezi některé projekty zkoumající soukromé čtení patří [Private Information Retrieval](https://hackmd.io/@brech1/ethereum-privacy-pir?utm_source=preview-mode&utm_medium=rec) (PIR, získání dat bez odhalení toho, co hledáte), [zkID](https://hackmd.io/@brech1/ethereum-privacy-pir?utm_source=preview-mode&utm_medium=rec) (soukromé ověření identity s důkazy s nulovou znalostí), [vOPRF](https://pse.dev/projects/voprf) (používání účtů Web2 pseudonymně ve Web3), [vFHE](https://pse.dev/blog/zero-to-start-applied-fully-homomorphic-encryption-fhe-part-1) (výpočty na zašifrovaných datech) a [MachinaIO](https://pse.dev/projects/machina-io) (skrytí podrobností programu při zachování funkčnosti).
+
+## Ochrana soukromí při prokazování {#privacy-of-proving}
+
+Důkazy chránící soukromí jsou nástroje, které můžete na Ethereu použít k prokázání, že je něco pravda, aniž byste odhalili zbytečné podrobnosti. Můžete například:
+
+- Prokázat, že je vám více než 18 let, aniž byste sdíleli své celé datum narození
+- Prokázat vlastnictví NFT nebo tokenu, aniž byste odhalili celou svou peněženku
+- Prokázat nárok na členství, odměnu nebo hlasování bez odhalení dalších osobních údajů
+
+Většina nástrojů pro tyto účely se spoléhá na kryptografické techniky, jako jsou důkazy s nulovou znalostí, ale výzvou je učinit je dostatečně efektivními pro provoz na každodenních zařízeních, přenositelnými na jakoukoli platformu a bezpečnými.
+
+Mezi některé projekty zkoumající ochranu soukromí při prokazování patří [Client Side Proving](https://pse.dev/projects/client-side-proving) (systémy prokazování ZK), [TLSNotary](https://tlsnotary.org/), (důkazy pravosti pro jakákoli data na webu), [Mopro](https://pse.dev/projects/mopro) (mobilní prokazování na straně klienta), [Private Proof Delegation](https://pse.dev/projects/private-proof-delegation) (delegační rámce, které se vyhýbají předpokladům důvěry) a [Noir](https://noir-lang.org/) (jazyk pro soukromé a ověřitelné výpočty).
+
+## Slovníček pojmů o ochraně soukromí {#privacy-glossary}
+
+**Anonymní**: Interakce s trvale odstraněnými všemi identifikátory z vašich dat, což znemožňuje zpětné vysledování informací k jednotlivci
+
+**Šifrování**: Proces, který zamíchá data tak, že je může číst pouze někdo se správným klíčem
+
+**[Plně homomorfní šifrování](https://pse.dev/blog/zero-to-start-applied-fully-homomorphic-encryption-fhe-part-1) (FHE)**: Způsob provádění výpočtů přímo na zašifrovaných datech, aniž by se kdy dešifrovala
+
+**[Nerozlišitelné zatemnění](https://pse.dev/projects/machina-io) (iO)**: Techniky ochrany soukromí, které činí programy nebo data nesrozumitelnými, ale stále použitelnými
+
+**[Výpočty s více stranami](https://pse.dev/blog/secure-multi-party-computation) (MPC)**: Metody, které umožňují více stranám společně vypočítat výsledek, aniž by odhalily své soukromé vstupy
+
+**Programovatelná kryptografie**: Flexibilní, pravidly řízená kryptografie, kterou lze v softwaru přizpůsobit a řídit tak, jak a kdy jsou data sdílena, ověřována nebo odhalována
+
+**Pseudonymní**: Používání jedinečných kódů nebo čísel (jako je adresa Etherea) namísto osobních identifikátorů
+
+**Selektivní zveřejňování**: Schopnost sdílet pouze to, co je nezbytně nutné (např. prokázat, že vlastníte NFT, aniž byste odhalili celou historii své peněženky)
+
+**Nepropojitelnost**: Zajištění toho, aby samostatné akce na blockchainu nebylo možné spojit se stejnou adresou
+
+**Ověřitelnost**: Zajištění toho, aby ostatní mohli potvrdit, že tvrzení je pravdivé, například ověřením transakce nebo důkazu na Ethereu
+
+**Ověřitelná delegace**: Přidělení úkolu – například generování důkazu – jiné straně (např. mobilní peněžence využívající server pro náročnou kryptografii) a zároveň schopnost ověřit, že byl proveden správně
+
+**[Důkazy s nulovou znalostí](/zero-knowledge-proofs/#why-zero-knowledge-proofs-are-important) (ZKP)**: Kryptografické protokoly, které umožňují někomu prokázat, že informace je pravdivá, aniž by odhalil podkladová data
+
+**ZK Rollup**: Systém škálovatelnosti, který dávkuje transakce mimo řetězec a odesílá důkaz platnosti na blockchainu – ve výchozím nastavení není soukromý, ale umožňuje efektivní systémy ochrany soukromí (jako jsou stíněné pooly) snížením nákladů
+
+## Zdroje informací {#resources}
+
+- [Privacy Stewards of Ethereum](https://pse.dev/) (PSE), výzkumná a vývojová laboratoř nadace Ethereum zaměřená na ochranu soukromí v ekosystému
+- [Web3PrivacyNow](https://web3privacy.info/), síť lidí, projektů a spřízněných organizací, které chrání a prosazují lidská práva online
+- [WalletBeat](https://beta.walletbeat.eth.limo/wallet/summary/), stránka pro hodnocení peněženek Etherea, jejímž cílem je poskytnout komplexní seznam peněženek, jejich funkčnosti, postupů a podpory určitých standardů.
+- [Zk-kit](https://zkkit.pse.dev/): Sada knihoven (algoritmů, pomocných funkcí a datových struktur), které lze znovu použít v různých projektech a protokolech s nulovou znalostí.
+- [Aplikace pro ochranu soukromí](/apps/categories/privacy/) – Objevte seznam vybraných aplikací pro ochranu soukromí, které běží na Ethereu.
diff --git a/public/content/translations/cs/real-world-assets/index.md b/public/content/translations/cs/real-world-assets/index.md
new file mode 100644
index 00000000000..ae6543cfd68
--- /dev/null
+++ b/public/content/translations/cs/real-world-assets/index.md
@@ -0,0 +1,93 @@
+---
+title: Fyzická aktiva (RWAs)
+metaTitle: Co jsou fyzická aktiva (RWAs)? | Přínosy a využití fyzických aktiv
+description: Přehled fyzických aktiv na Ethereu
+lang: cs
+template: use-cases
+emoji: ":house_buildings:"
+image: /images/man-and-dog-playing.png
+alt: Muž a pes si hrají.
+sidebarDepth: 2
+summaryPoint1: Metoda, jak proměnit cenné komodity v digitální tokeny.
+summaryPoint2: Nyní můžete vlastnit podíly na skutečných objektech nebo aktivech, místo abyste museli kupovat celou nemovitost či předmět.
+summaryPoint3: Propojuje tradiční finance s blockchainovým ekosystémem.
+---
+
+Aktiva z reálného světa (RWA) jsou tokeny představující existující formy bohatství, jako jsou nemovitosti, zlato, akcie, umění, stroje nebo sběratelské předměty. Tokenizace těchto položek je převádí do digitální podoby, což umožňuje jejich rozdělení mezi více vlastníků a usnadňuje obchodování s nimi.
+
+## Co jsou fyzická aktiva (RWAs)? {#what-are-rwas}
+
+Některá RWA jsou hmotná – předměty, které můžete vidět a kterých se můžete dotknout, jako jsou zlaté cihly nebo komerční budovy. Jiná jsou nehmotná, jako je státní dluh, duševní vlastnictví nebo podíl ve společnosti.
+
+Po tokenizaci se tato aktiva mění na hodnotové jednotky. Tokenizované zlato je dobrým příkladem toho, jak to funguje. Společnost [Paxos](https://www.paxos.com/) převádí 400uncové zlaté cihly na 400 tokenů na blockchainu Ethereum, přičemž každý z nich je krytý jednou uncí zlata. Držitelé tokenů mohou své tokeny kdykoli vyměnit za zlato. To platí i pro tokeny zakoupené od jiné společnosti zabývající se RWA, [Tether Gold](https://gold.tether.to/).
+
+Každý token lze rozdělit na ještě menší zlomky. Například tokeny Tether Gold lze rozdělit na části o velikosti pouhých 0,000001.
+
+Tokeny RWA nemají žádnou vnitřní hodnotu. Spíše odrážejí hodnotu předmětu, který představují, a tak se hodnota tokenu mění spolu s hodnotou předmětu.
+
+## Jaké jsou výhody RWA? {#rwas-benefits}
+
+
+
+
+
+
+
+
+
+
+## Jak RWA fungují? {#how-rwas-work}
+
+Podívejme se na několik příkladů z celého ekosystému RWA: nemovitosti, tradiční finanční produkty a výtvarné umění.
+
+### Investice do nemovitostí {#investing-in-real-estate}
+
+Řekněme, že byste chtěli investovat do nemovitostí, ale nákup celé nemovitosti je nad vaše možnosti. Místo toho byste si mohli koupit RWA prostřednictvím projektu, jako je [RealT](https://realt.co/). Jeho tokeny představují podíly ve společnosti s ručením omezeným (LLC), která je vytvořená za účelem držení vlastnického práva k nemovitosti. Držitelé tokenů dostávají příjem z pronájmu ve formě stablecoinů podle zlomku, který drží. Společnost RealT uvádí, že dosud investorům vrátila 15 milionů USD v čistém příjmu z pronájmu.
+
+Další projekt na podobné bázi, [LABS Group](https://x.com/labsgroupio), umožňuje lidem nakupovat tokenizované nemovitosti s částkami od pouhých 100 USD.
+
+### Investování do finančních produktů {#investing-in-financial-products}
+
+Několik projektů přemosťuje svět tradičních financí a decentralizovaných financí (DeFi) tím, že na blockchain přinášejí cenné papíry, akcie, dluhopisy a další finanční nástroje.
+
+Například společnost [Securitize](https://securitize.io/) založená na Ethereu se specializuje na tokenizaci tradičních finančních produktů. V roce 2024 se spojila se společností BlackRock a spustila fond RWA. Společnost BlackRock uvádí, že plánuje nakonec tokenizovat svá aktiva v hodnotě 10 bilionů USD. Její generální ředitel Larry Fink označil tokenizaci za "příští generaci trhů".
+
+### Investování do výtvarného umění {#investing-in-fine-art}
+
+Existuje několik různých mechanismů pro investice do výtvarného umění. [Masterworks](https://www.masterworks.com/) nakupuje umělecká díla, sekuritizuje každý kus a prodává podíly ve formě tokenů. Plánuje později umělecké dílo prodat a rozdělit zisky držitelům tokenů.
+
+Držitelé tokenů nemají kontrolu nad uskladněním nebo budoucím prodejem uměleckého díla. Spíše rozhodují o tom, jak dlouho si své tokeny podrží, jejichž hodnota stoupá a klesá s hodnotou umění.
+
+Mezitím digitální registr umění [Artory](https://www.artory.com/) založený na blockchainu ověřuje pravost uměleckých děl a zaznamenává minulé vlastnictví.
+
+### Investování do sběratelských předmětů {#investing-in-collectibles}
+
+Většina těchto příkladů dosud ukazuje, jak tokenizace umožňuje částečné vlastnictví různých druhů bohatství. Další výhodou tokenizace je, že umožňuje obchodování s cennými předměty, jako jsou sběratelské předměty, na globálním trhu.
+
+Jedním z příkladů je [Courtyard](https://courtyard.io/), který tokenizuje sběratelské karty – například baseballové, fotbalové nebo Pokémon karty. Majitelé karet posílají své karty do zabezpečeného úložiště v USA. Karty jsou raženy jako digitální tokeny a přidány do peněženek majitelů k obchodování na tržišti Courtyard. Courtyard přijímá pouze hodnocené karty, což znamená, že třetí strana ověřila pravost karty a udělila jí skóre na základě jejího stavu, ať už je zchátralá, nebo v původním stavu.
+
+Courtyard také nabízí typ licenčního programu. Pokaždé, když se karta prodá, osoba, která ji tokenizovala, obdrží jedno procento z příjmu. Tímto způsobem jsou odměňováni pouze původci karet. Vlastník může kdykoli vyměnit své digitální karty za fyzické, bez ohledu na to, kde na světě se nachází.
+
+## Jaká jsou omezení RWA? {#rwas-limitations}
+
+Jedním z problémů RWA v této rané fázi je zajištění propojení mezi reálnými objekty a jejich digitálními reprezentacemi.
+
+Pozitivním znamením je, když projekty RWA poskytují investorům důkaz o rezervách – záruku, že jsou zákonnými vlastníky fyzických objektů, které kryjí digitální tokeny. Vzpomeňte si na dříve zmíněné společnosti Paxos, Tether Gold nebo Courtyard, z nichž všechny drží svá aktiva v zabezpečeném úložišti a nabízejí majitelům možnost kdykoli vyměnit token za jeho fyzický ekvivalent.
+
+Dalším omezením je, zda je vlastnictví tokenů uznáváno právními systémy po celém světě. Jinými slovy, jsou chytré kontrakty vymahatelné u soudu, nebo se může držitel RWA tokenu domáhat vlastnictví reálné položky?
+
+Mezi průkopníky v oblasti vytváření právních rámců specificky pro uznání tokenizace patří Singapur, Spojené arabské emiráty, Hongkong a Švýcarsko, které v roce 2021 zavedlo legislativu přezdívanou „Blockchain Act“ k regulaci technologií, jako je tokenizace. Evropská unie zahájila proces regulace RWA, zatímco ve Spojených státech se očekává, že Komise pro cenné papíry a burzy v určitém okamžiku vydá pokyny k RWA.
+
+## Další informace {#learn-more}
+
+Ponořte se do [chytrých kontraktů](/smart-contracts/) nebo se dozvíte více o jiné třídě tokenů, [nezaměnitelných tokenech (NFT)](/nft/).
+
+## Další čtení {#further-reading}
+
+- [Co je tokenizace aktiv?](https://www.britannica.com/money/real-world-asset-tokenization) na Britannica
+- [Jak tokenizace mění globální finance a investice](https://www.weforum.org/stories/2024/12/tokenization-blockchain-assets-finance/) na Světovém ekonomickém fóru
+- [Co potřebují krypto investoři vědět o tokenizaci aktiv z reálného světa](https://www.forbes.com/sites/irinaheaver/2024/03/14/what-crypto-investors-need-to-know-about-tokenizing-real-world-assets/) na Forbes
+- [Jak fungují chytré kontrakty s blockchainem](https://www.britannica.com/money/how-smart-contracts-work) na Britannica
+- [Jak tokenizovaná aktiva z reálného světa mění DeFi](https://medium.com/coinmonks/how-tokenized-real-world-assets-are-transforming-defi-4e040f28732a) na Medium
+- [Co jsou RWA v kryptu? Vysvětlení jejich role v blockchainu](https://www.bitdegree.org/crypto/tutorials/what-is-rwa-in-crypto) na BitDegree
+- [Nejlepší mince aktiv z reálného světa (RWA) podle tržní kapitalizace](https://www.forbes.com/digital-assets/categories/real-world-assets-rwa/) na Forbes
diff --git a/public/content/translations/cs/refi/index.md b/public/content/translations/cs/refi/index.md
index e4b94417896..3d3e4cb2d96 100644
--- a/public/content/translations/cs/refi/index.md
+++ b/public/content/translations/cs/refi/index.md
@@ -9,30 +9,30 @@ image: /images/future_transparent.png
alt: ""
summaryPoint1: Alternativní ekonomický systém postavený na regenerativních principech
summaryPoint2: Snaha využít Ethereum k řešení koordinačních krizí na globální úrovni, jako je změna klimatu
-summaryPoint3: Nástroj k významnému zvýšení škálování ekologických výhod, jako jsou ověřené emisní povolenky
+summaryPoint3: Nástroj pro drastické škálování ekologických aktiv, jako jsou ověřené uhlíkové kredity.
---
## Co je to ReFi? {#what-is-refi}
-Pod pojmem **Regenerativní finance (ReFi)** rozumíme sadu nástrojů a nápadů na [blockchainech](/glossary/#blockchain), jejichž cílem je vytvářet ekonomiky, které jsou regenerativní, spíše než vykořisťovatelské nebo zaměřené na vytěžení surovin. Systémy zaměřené na vytěžení surovin časem spotřebují dostupné zdroje a zhroutí se; bez regenerativních mechanismů jim chybí odolnost. ReFi předpokládá, že vytváření monetární hodnoty je třeba oddělit od neudržitelného vytěžování zdrojů z naší planety a komunit.
+**Regenerativní finance (ReFi)** je soubor nástrojů a myšlenek postavených na [blockchainech](/glossary/#blockchain), které mají za cíl vytvářet regenerativní ekonomiky, nikoli extraktivní nebo vykořisťovatelské. Systémy zaměřené na vytěžení surovin časem spotřebují dostupné zdroje a zhroutí se; bez regenerativních mechanismů jim chybí odolnost. ReFi předpokládá, že vytváření monetární hodnoty je třeba oddělit od neudržitelného vytěžování zdrojů z naší planety a komunit.
Namísto toho se ReFi snaží řešit environmentální, komunitní nebo sociální problémy vytvářením regenerativních cyklů. Tyto systémy vytvářejí hodnotu pro účastníky a současně jsou prospěšné pro ekosystémy a komunity.
-Jedním ze základů ReFi je koncept regenerativní ekonomie, jehož průkopníkem je John Fullerton z Capital Institute. Navrhl [osm vzájemně propojených principů](https://capitalinstitute.org/8-principles-regenerative-economy/), které jsou základem zdravého ekosystému:
+Jedním ze základů ReFi je koncept regenerativní ekonomie, jehož průkopníkem je John Fullerton z Capital Institute. Navrhl [osm vzájemně propojených principů](https://capitalinstitute.org/8-principles-regenerative-economy/), které jsou základem systémového zdraví:

-Projekty ReFi tyto principy realizují pomocí [chytrých kontraktů](/glossary/#smart-contract) a aplikací [decentralizovaných financí (DeFi)](/glossary/#defi), které motivují k regenerativnímu chování, např. k obnově degradovaných ekosystémů, a usnadňují rozsáhlou spolupráci při řešení globálních problémů, jako je globální oteplování a ztráta biologické rozmanitosti.
+Projekty ReFi tyto principy realizují pomocí [chytrých kontraktů](/glossary/#smart-contract) a aplikací [decentralizovaných financí (DeFi)](/glossary/#defi), které motivují k regenerativnímu chování, např. k obnově degradovaných ekosystémů, a usnadňují rozsáhlou spolupráci při řešení globálních problémů, jako je změna klimatu a ztráta biologické rozmanitosti.
-ReFi se také částěčně překrývá s hnutím [decentralizované vědy (DeSci)](/desci/), které využívá platformu Ethereum k financování, vytváření, recenzování, oceňování, ukládání a šíření vědeckých znalostí. Nástroje DeSci by mohly být užitečné pro vývoj ověřitelných standardů a postupů pro implementaci a monitorování regenerativních aktivit, jako je výsadba stromů, odstraňování plastů z oceánu nebo obnova degradovaného ekosystému.
+ReFi se také překrývá s hnutím [decentralizované vědy (DeSci)](/desci/), které využívá Ethereum jako platformu k financování, tvorbě, recenzování, oceňování, ukládání a šíření vědeckých poznatků. Nástroje DeSci by mohly být užitečné pro vývoj ověřitelných standardů a postupů pro implementaci a monitorování regenerativních aktivit, jako je výsadba stromů, odstraňování plastů z oceánu nebo obnova degradovaného ekosystému.
-## Tokenizace emisních povolenek {#tokenization-of-carbon-credits}
+## Tokenizace uhlíkových kreditů {#tokenization-of-carbon-credits}
-**[Dobrovolný trh s emisními povolenkami (voluntary carbon market, VCM)](https://climatefocus.com/so-what-voluntary-carbon-market-exactly/)** je mechanismus pro financování projektů, které mají ověřitelný pozitivní vliv na emise uhlíku, ať už jde o snižování probíhajících emisí nebo odstraňování skleníkových plynů již vypuštěných do atmosféry. Tyto projekty po ověření obdrží aktivum nazvané "uhlíkové kredity". Tyto kredity mohou prodávat jednotlivcům a organizacím, které chtějí podpořit opatření na ochranu klimatu.
+**[Dobrovolný trh s uhlíkem (VCM)](https://climatefocus.com/so-what-voluntary-carbon-market-exactly/)** je mechanismus pro financování projektů, které mají ověřený pozitivní dopad na emise uhlíku, a to buď snižováním probíhajících emisí, nebo odstraňováním skleníkových plynů již vypuštěných do atmosféry. Tyto projekty po ověření obdrží aktivum nazvané "uhlíkové kredity". Tyto kredity mohou prodávat jednotlivcům a organizacím, které chtějí podpořit opatření na ochranu klimatu.
-Kromě VCM existuje také několik vládou řízených trhů s emisními povolenkami (tzv. „povinné trhy“), které se snaží stanovit cenu uhlíku prostřednictvím zákonů nebo nařízení v určité jurisdikci (např. země nebo regionu), a tím řídí nabídku distribuovaných povolenek. Povinné trhy motivovují znečišťovatele v rámci své jurisdikce ke snižování emisí, ale nejsou schopné redukovat skleníkové plyny, které již byly emitovány.
+Kromě VCM existuje také několik vládou nařízených trhů s uhlíkem („povinné trhy“), jejichž cílem je stanovit cenu uhlíku prostřednictvím zákonů nebo nařízení v rámci určité jurisdikce (např. země nebo regionu) a kontrolovat tak nabídku distribuovaných povolenek. Povinné trhy motivovují znečišťovatele v rámci své jurisdikce ke snižování emisí, ale nejsou schopné redukovat skleníkové plyny, které již byly emitovány.
Navzdory svému vývoji v posledních desetiletích má VCM řadu nedostatků:
@@ -42,40 +42,40 @@ Navzdory svému vývoji v posledních desetiletích má VCM řadu nedostatků:
4. Příliš malá rychlost obchodování
5. Nedostatek škálovatelnosti
-Přechod VCM na nový **digitální trh s uhlíkovými kredity (digital carbon market, DCM)** založený na blockchainové technologii by mohl být příležitostí pro modernizaci stávající technologie pro ověřování, převod a spotřebu emisních povolenek. Blockchainové technologie umožňují veřejně ověřitelná data, přístup pro širokou škálu uživatelů a vyšší likviditu.
+Přechod VCM na nový **digitální trh s uhlíkem (DCM)** založený na blockchainu může být příležitostí k vylepšení stávající technologie pro ověřování, obchodování a spotřebu uhlíkových kreditů. Blockchainové technologie umožňují veřejně ověřitelná data, přístup pro širokou škálu uživatelů a vyšší likviditu.
Projekty ReFi využívají technologii blockchainu k řešení množství problémů tradičního trhu:
-- **Likvidita je soustředěna v malém počtu likvidních poolů**, které může kdokoliv volně obchodovat. Velké organizace, stejně jako jednotliví uživatelé, mohou tyto pooly využívat bez manuálního vyhledávání prodejců/kupců, bez účastnických poplatků nebo registrace.
+- **Likvidita je soustředěna v malém počtu poolů likvidity**, se kterými může kdokoli volně obchodovat. Velké organizace, stejně jako jednotliví uživatelé, mohou tyto pooly využívat bez manuálního vyhledávání prodejců/kupců, bez účastnických poplatků nebo registrace.
- **Všechny transakce se zaznamenávají na veřejné blockchainy**. Od okamžiku, kdy je kredit k dispozici v DCM, je cesta, kterou každá emisní povolenka absolvuje v důsledku obchodní aktivity, navždy sledovatelná.
- **Transakce jsou zpracovány téměř okamžitě**. Obstarání velkého množství emisních povolenek prostřednictvím tradičních trhů může trvat dny nebo týdny, ale na DCM toho lze dosáhnout během několika sekund.
- **Obchodování probíhá bez zprostředkovatelů**, kteří si účtují vysoké poplatky. Digitální emisní povolenky představují významný pokles nákladů ve srovnání s tradičními povolenkami.
-- **DCM je škálovatelný** a může uspokojit potřeby jednotlivců i nadnárodních společností.
+- **DCM je škálovatelný** a dokáže uspokojit poptávku jak jednotlivců, tak nadnárodních korporací.
-### Klíčové složky DCM {#key-components-dcm}
+### Klíčové součásti DCM {#key-components-dcm}
Současný ekosystém DCM se skládá ze čtyř hlavních složek:
-1. Registry, jako je například [Verra](https://verra.org/project/vcs-program/registry-system/) a [Gold Standard](https://www.goldstandard.org/), zajišťují, že projekty vytvářející emisní povolenky jsou spolehlivé. Také provozují databáze, ve kterých digitální emisní povolenky vznikají a mohou být převáděny nebo spotřebovány (zrušeny).
+1. Registry jako [Verra](https://verra.org/project/vcs-program/registry-system/) a [Gold Standard](https://www.goldstandard.org/) zajišťují spolehlivost projektů, které vytvářejí uhlíkové kredity. Také provozují databáze, ve kterých digitální emisní povolenky vznikají a mohou být převáděny nebo spotřebovány (zrušeny).
Nová vlna inovativních projektů budovaných na blockchainech se snaží konkurovat tradičním hráčům v tomto odvětví.
-2. Emisní bridge, a.k.a. tokenizery poskytují technologii pro reprezentaci nebo přenos emisních povolenek z tradičních registrů do DCM. Mezi zajímavé příklady patří [Toucan Protocol](https://toucan.earth/), [C3](https://c3.app/) a [Moss.Earth](https://moss.earth/).
+2. Emisní bridge, a.k.a. tokenizery poskytují technologii pro reprezentaci nebo přenos emisních povolenek z tradičních registrů do DCM. Mezi významné příklady patří [Toucan Protocol](https://toucan.earth/), [C3](https://c3.app/) a [Moss.Earth](https://moss.earth/).
3. Integrované služby nabízejí koncovým uživatelům kredity za zamezení a/nebo odstranění uhlíkových emisí. Takto mohou získat reputaci v oblasti životního prostředí a sdílet se světem, že podporují kroky vedoucí ke zlepšení životního prostředí.
-Některé organizace, jako jsou [Klima Infinity](https://www.klimadao.finance/infinity) a [Senken](https://senken.io/), nabízejí širokou škálu projektů vyvinutých třetími stranami a vydávaných podle zavedených standardů, jako je Verra; jiné, jako je [Nori](https://nori.com/), nabízejí pouze konkrétní projekty vyvinuté v rámci jejich vlastního standardu emisních povolenek, které vydávají a pro které mají vyhrazen svůj vlastní trh.
+Některé, jako například [Klima Infinity](https://www.klimadao.finance/infinity) a [Senken](https://senken.io/), nabízejí širokou škálu projektů vyvinutých třetími stranami a vydaných podle zavedených standardů, jako je Verra; jiné, jako například [Nori](https://nori.com/), nabízejí pouze specifické projekty vyvinuté v rámci jejich vlastního standardu pro uhlíkové kredity, které vydávají a pro které mají vlastní vyhrazené tržiště.
-4. Základní infrastruktura, která usnadňuje zvýšení dopadu a účinnosti celého dodavatelského řetězce na trhu s emisními povolenkami. [KlimaDAO](http://klimadao.finance/) dodává likviditu jako veřejný statek (umožňuje komukoli nakupovat nebo prodávat emisní povolenky za transparentní cenu), pobízí ke zvýšení přístupnosti trhů s povolenkami a odměnám za jejich vyřazení. Také poskytuje uživatelsky přívětivé interoperabilní nástroje pro přístup k údajům o široké škále tokenizovaných emisních povolenek, o jejich získávání a vyřazení.
+4. Základní infrastruktura, která usnadňuje zvýšení dopadu a účinnosti celého dodavatelského řetězce na trhu s emisními povolenkami. [KlimaDAO](http://klimadao.finance/) dodává likviditu jako veřejný statek (umožňuje komukoli nakupovat nebo prodávat uhlíkové kredity za transparentní cenu), motivuje odměnami ke zvýšení propustnosti trhů s uhlíkem a k vyřazování kreditů a poskytuje uživatelsky přívětivé interoperabilní nástroje pro přístup k datům, jakož i pro získávání a vyřazování široké škály tokenizovaných uhlíkových kreditů.
-## ReFi mimo trhy s emisními povolenkami {#refi-beyond}
+## ReFi mimo trhy s uhlíkem {#refi-beyond}
-Ačkoliv je v současnosti kladen silný důraz na trhy s emisními povolenkami obecně a zejména na přechod z VCM na DCM, termín „ReFi“ není striktně omezen na tento problém. Další environmentální aktiva mimo emisní povolenky mohou být vyvinuta a tokenizována, což znamená, že další negativní externality mohou být také zahrnuty do základních vrstev budoucích ekonomických systémů. Navíc lze regenerativní aspekt tohoto ekonomického modelu aplikovat i na jiné oblasti, jako je financování veřejných statků prostřednictvím platforem pro kvadratické financování, například [Gitcoin](https://gitcoin.co/). Organizace postavené na myšlence otevřené účasti a spravedlivé distribuce zdrojů umožňují komukoliv směrovat peníze do open-source software projektů, stejně jako do projektů zaměřených na vzdělávání, životní prostředí a komunity.
+Ačkoliv je v současnosti kladen silný důraz na trhy s emisními povolenkami obecně a zejména na přechod z VCM na DCM, termín „ReFi“ není striktně omezen na tento problém. Další environmentální aktiva mimo emisní povolenky mohou být vyvinuta a tokenizována, což znamená, že další negativní externality mohou být také zahrnuty do základních vrstev budoucích ekonomických systémů. Regenerativní aspekt tohoto ekonomického modelu lze navíc uplatnit i v jiných oblastech, například při financování veřejných statků prostřednictvím platforem pro kvadratické financování, jako je [Gitcoin](https://gitcoin.co/). Organizace postavené na myšlence otevřené účasti a spravedlivé distribuce zdrojů umožňují komukoliv směrovat peníze do open-source software projektů, stejně jako do projektů zaměřených na vzdělávání, životní prostředí a komunity.
Přesunem směřování kapitálu z projektů vytěžujících zdroje k regenerativně zaměřeným akcím mohou projekty a společnosti, které poskytují sociální, environmentální nebo komunitní výhody – a které by nemusely získat financování v tradičním finančním sektoru – rychleji a snadněji získat základní kapitál a generovat pozitivní externality pro společnost. Přechod na tento model financování také otevírá dveře mnohem inkluzivnějším ekonomickým systémům, ve kterých se lidé všech demografických skupin mohou stát aktivními účastníky místo pouhých pasivních pozorovatelů. ReFi nabízí vizi Etherea jako mechanismu pro koordinaci akcí souvisejících s existenčními výzvami, kterým čelí naše druhy a veškerý život na naší planetě – jako základní vrstvu nového ekonomického paradigmatu, který umožňuje inkluzivnější a udržitelnou budoucnost na budoucí staletí.
## Další zdroje informací o ReFi
-- [Základní přehled emisních měn a jejich místo v ekonomice](https://www.klimadao.finance/blog/the-vision-of-a-carbon-currency)
-- [The Ministry for the Future, román popisující roli měny kryté emisními povolenkami v boji proti změně klimatu](https://en.wikipedia.org/wiki/The_Ministry_for_the_Future)
-- [Podrobná zpráva od Taskforce on Scaling Voluntary Carbon Markets](https://www.iif.com/Portals/1/Files/TSVCM_Report.pdf)
-- [Glossář o ReFi od Kevina Owockiho a Evana Miyazona na CoinMarketCap](https://coinmarketcap.com/alexandria/glossary/regenerative-finance-refi)
+- [Celkový přehled měn krytých uhlíkem a jejich místo v ekonomice](https://www.klimadao.finance/resources/the-vision-of-a-carbon-currency)
+- [The Ministry for the Future, román popisující roli měny kryté uhlíkem v boji proti změně klimatu](https://en.wikipedia.org/wiki/The_Ministry_for_the_Future)
+- [Podrobná zpráva pracovní skupiny pro škálování dobrovolných trhů s uhlíkem](https://www.iif.com/Portals/1/Files/TSVCM_Report.pdf)
+- [Příspěvek o ReFi od Kevina Owockiho a Evana Miyazona ve slovníku CoinMarketCap](https://coinmarketcap.com/academy/glossary/regenerative-finance-refi)
diff --git a/public/content/translations/cs/restaking/index.md b/public/content/translations/cs/restaking/index.md
new file mode 100644
index 00000000000..84365417140
--- /dev/null
+++ b/public/content/translations/cs/restaking/index.md
@@ -0,0 +1,188 @@
+---
+title: Opětovné uzamčení
+metaTitle: Co je to opětovné uzamčení? | Výhody a využití opětovného uzamčení
+description: Použijte uzamčené ETH k zabezpečení dalších decentralizovaných služeb a získejte další odměny.
+lang: cs
+template: use-cases
+emoji: ":recycle:"
+image: /images/use-cases/restaking.png
+alt: Vizuální znázornění opětovného uzamčení na Ethereu.
+sidebarDepth: 2
+summaryPoint1: Použijte uzamčené ETH k zabezpečení dalších decentralizovaných služeb a získejte další odměny.
+buttons:
+ - content: Co je to opětovné uzamčení?
+ toId: what-is-restaking
+ - content: Jak to funguje?
+ toId: how-does-restaking-work
+ isSecondary: false
+---
+
+Síť Ethereum zabezpečuje hodnotu v řádu miliard dolarů 24 hodin denně, 7 dní v týdnu, 365 dní v roce. Jak?
+
+Lidé po celém světě zamykají (neboli „uzamykají“) [ether (ETH)](/eth/) v chytrých kontraktech, aby mohli spouštět software, který zpracovává transakce v síti Ethereum a zabezpečuje ji. Odměnou za to získávají další ETH.
+
+Opětovné uzamčení je technologie vytvořená pro [stakery](/staking/), kteří mohou toto zabezpečení rozšířit na další služby, aplikace nebo sítě. Na oplátku získávají další odměny za opětovné uzamčení. Zároveň však vystavují své uzamčené ETH většímu riziku.
+
+**Vysvětlení opětovného uzamčení za 18 minut**
+
+
+
+## Co je to opětovné uzamčení? {#what-is-restaking}
+
+Opětovné uzamčení nastává, když stakeři používají své již uzamčené ETH k zabezpečení dalších decentralizovaných služeb. Na oplátku mohou restakeři získat další odměny z těchto ostatních služeb navíc ke svým běžným odměnám za uzamčení ETH.
+
+Decentralizované služby zabezpečené opětovným uzamčením jsou známé jako "aktivně validované služby" (AVS).
+Stejně jako mnoho stakerů ETH spouští validační software Etherea, mnoho restakerů spouští specializovaný software AVS.
+
+
+
+
+
+
+
Dobré vědět
+
Ačkoli je nejběžnější název "aktivně validované služby" (AVS), různé platformy pro opětovné uzamčení mohou pro decentralizované služby, které pomáhají zabezpečit, používat i jiné názvy, jako například "autonomně validované služby", "distribuované zabezpečené služby" nebo "sítě".
+
+
+
+
+## Uzamčení vs. opětovné uzamčení {#staking-vs-restaking}
+
+| Uzamčení | Opětovné uzamčení |
+| ---------------------------- | -------------------------------------------------- |
+| Získejte odměny v ETH | Získejte odměny v ETH + odměny za AVS |
+| Zabezpečuje síť Ethereum | Zabezpečuje síť Ethereum + AVS |
+| Žádné minimum ETH | Žádné minimum ETH |
+| Nízká úroveň rizika | Nízká až vysoká úroveň rizika |
+| Doba výběru závisí na frontě | Doba výběru závisí na frontě + období pro odpojení |
+
+## Proč potřebujeme opětovné uzamčení? {#why-do-we-need-restaking}
+
+Představte si dva světy: jeden s opětovným uzamčením a jeden bez něj.
+
+
+
+V tomto světě s opětovným uzamčením těží jak AVS, tak staker z toho, že se mohou navzájem najít a vyměnit zabezpečení za další odměny.
+
+
+
+
+
+
+
+
Další výhoda opětovného uzamčení
+
AVS mohou všechny své zdroje vložit do budování a marketingu svých služeb, místo aby se rozptylovaly decentralizací a zabezpečením.
+
+
+
+
+## Jak funguje opětovné uzamčení? {#how-does-restaking-work}
+
+Na opětovném uzamčení se podílí několik subjektů – každý z nich hraje důležitou roli.
+
+| **Pojem** | **Popis** |
+| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Platformy pro opětovné uzamčení** | Platforma pro opětovné uzamčení je služba, která propojuje AVS, stakery ETH a operátory. Vytvářejí decentralizované aplikace, kde mohou stakeři opětovně uzamknout své ETH, a tržiště, kde se mohou stakeři, AVS a operátoři navzájem najít. |
+| **Nativní restakeři** | Lidé, kteří uzamykají své ETH provozováním vlastních validátorů Etherea, mohou své uzamčené ETH připojit k platformě pro opětovné uzamčení, včetně EigenLayer a dalších, a získat tak odměny za opětovné uzamčení nad rámec odměn pro validátory ETH. |
+| | |
+| **Likvidní restakeři** | Lidé, kteří uzamykají své ETH prostřednictvím poskytovatele likvidního uzamčení třetí strany, jako je Lido nebo Rocket Pool, získávají tokeny likvidního uzamčení (LST), které představují jejich uzamčené ETH. Tyto LST mohou opětovně uzamknout, aby získali odměny za opětovné uzamčení, zatímco jejich původní ETH zůstává uzamčeno. |
+| | |
+| **Operátoři** | Operátoři provozují software pro opětovné uzamčení od AVS a provádějí validační úkoly, které každá AVS vyžaduje. Operátoři jsou obvykle profesionální poskytovatelé služeb, kteří zaručují například dostupnost a výkon. Stejně jako restakeři, kteří nejsou operátory, používají operátoři uzamčené ETH k zabezpečení AVS, ale operátoři také dostávají další odměny výměnou za svou práci. |
+| | |
+| **AVS** | Jedná se o decentralizované služby – jako jsou cenová orákula, přemostění tokenů a datové systémy – které získávají zabezpečení od restakerů a na oplátku nabízejí odměny v tokenech. |
+
+
+
+
+
+
+
+
Dobré vědět
+
Nativní a likvidní restakeři často delegují své uzamčené ETH operátorovi, místo aby sami spouštěli software k zabezpečení AVS.
+
Díky tomu se nemusí starat o složité technické požadavky ze strany AVS, i když dostávají nižší odměny než operátoři.
+
+
+
+
+## Jaké jsou příklady opětovného uzamčení? {#what-are-some-examples-of-restaking}
+
+Ačkoli se jedná o novou myšlenku, objevilo se několik projektů, které zkoumají možnosti opětovného uzamčení.
+
+
+
+
+
+
+
+
+
+
Upozornění na nesprávné označení
+
Někteří lidé si pletou "opětovné uzamčení" s půjčováním LST v DeFi. V obou případech se využívají uzamčené ETH, ale opětovné uzamčení znamená zabezpečení AVS, nikoli jen získávání výnosů z LST.
+
+
+
+
+## Kolik si mohu vydělat opětovným uzamčením? {#how-much-can-i-make-from-restaking}
+
+Zatímco AVS nabízejí různé sazby, tokeny likvidního opětovného uzamčení (LRT), jako je eETH, vám dávají představu o tom, kolik si můžete vydělat. Stejně jako dostáváte LST, jako je stETH, za uzamčení svých ETH, můžete získat LRT, jako je eETH, za opětovné uzamčení stETH. Tyto tokeny získávají odměny za uzamčení ETH a za opětovné uzamčení.
+
+**Je důležité si uvědomit rizika spojená s opětovným uzamčením. Potenciální odměny mohou být atraktivní, ale nejsou bez rizika.**
+
+## Jaká jsou rizika opětovného uzamčení? {#what-are-the-risks-of-restaking}
+
+| **Rizika** | **Popis** |
+| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Postihy (neboli "sekání")** | Stejně jako při uzamčení ETH platí, že pokud restakeři/operátoři přejdou do offline režimu, cenzurují zprávy nebo se pokusí poškodit síť, může být jejich vklad částečně nebo úplně seknut (spálen). |
+| **Centralizace** | Pokud by několik málo operátorů ovládalo většinu opětovného uzamčení, mohli by mít velký vliv na restakery, AVS a dokonce i na platformy pro opětovné uzamčení. |
+| **Řetězové reakce** | Pokud dojde k sekání restakera při zabezpečování více AVS, mohlo by to snížit zabezpečení ostatních AVS a učinit je zranitelnými. |
+| **Okamžitý přístup k prostředkům** | Při výběru opětovně uzamčených ETH je třeba počkat (tzv. "období pro odpojení"), takže k nim nemusíte mít vždy okamžitý přístup. |
+
+
+
+
+
+
+
+
Spoluzakladatel Etherea píše…
+
+ Vitalik, spoluzakladatel Etherea, varoval před potenciálními riziky opětovného uzamčení v blogovém příspěvku z roku 2021 s názvem Nepřetěžujte konsensus.
+
+
+
+
+
+## Jak začít s opětovným uzamčením? {#how-to-get-started-with-restaking}
+
+| 🫡 Začátečníci | 🤓 Pokročilí uživatelé |
+| --------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
+| 1. Uzamkněte ETH na platformách jako Lido nebo Rocket Pool, abyste získali LST. | 1. Uzamkněte své ETH jako validátor na Ethereu. |
+| 2. Použijte tyto LST k zahájení opětovného uzamčení ve službě pro opětovné uzamčení. | 2. Porovnejte služby pro opětovné uzamčení, jako je EigenLayer, Symbiotic a další. |
+| | 3. Postupujte podle pokynů a připojte svého validátora k chytrému kontraktu pro opětovné uzamčení. |
+
+
+
+
+
+
+
+
Uzamčení na Ethereu: Jak funguje?
+
+ Další informace
+
+
+
+
+
+## Pokročilé {#advanced}
+
+
+
+## Další čtení {#further-reading}
+
+1. [ethereum.org – Průvodce uzamčením ETH](https://ethereum.org/en/staking/)
+2. [Ledger Academy – Co je opětovné uzamčení na Ethereu?](https://www.ledger.com/academy/what-is-ethereum-restaking)
+3. [Consensys – EigenLayer: Vysvětlení decentralizovaného protokolu pro opětovné uzamčení na Ethereu](https://consensys.io/blog/eigenlayer-decentralized-ethereum-restaking-protocol-explained)
+4. [Vitalik Buterin – Nepřetěžujte konsensus Etherea](https://vitalik.eth.limo/general/2023/05/21/dont_overload.html)
+5. [Cointelegraph – Co je EigenLayer? Vysvětlení protokolu pro opětovné uzamčení na Ethereu](https://cointelegraph.com/explained/what-is-eigenlayer-ethereums-restaking-protocol-explained)
+6. [a16z crypto research – EigenLayer: Přidání funkce do Etherea bez oprávnění se Sreeramem Kannanem](https://www.youtube.com/watch?v=-V-fG4J1N_M)
+7. [Junion – Vysvětlení EigenLayer: Co je opětovné uzamčení?](https://www.youtube.com/watch?v=5r0SooSQFJg)
+8. [The Block – Řídicí panel dat o opětovném uzamčení](https://www.theblock.co/data/decentralized-finance/restaking)
diff --git a/public/content/translations/cs/roadmap/account-abstraction/index.md b/public/content/translations/cs/roadmap/account-abstraction/index.md
index 0fc5e82eb4b..d8d61d1aa17 100644
--- a/public/content/translations/cs/roadmap/account-abstraction/index.md
+++ b/public/content/translations/cs/roadmap/account-abstraction/index.md
@@ -1,5 +1,5 @@
---
-title: Abstrakce účtu
+title: Abstrakce účtů
description: Přehled plánů Etherea na zjednodušení a větší zabezpečení uživatelských účtů
lang: cs
summaryPoints:
@@ -10,9 +10,9 @@ summaryPoints:
# Abstrakce účtu {#account-abstraction}
-Uživatelé interagují s Ethereem pomocí **[externě vlastněných účtů (externally owned accounts, EOA)](/glossary/#eoa)**. To je jediný způsob, jak poslat transakci nebo spustit chytrý kontrakt. To limituje možnosti uživatelů interagovat s Ethereem. Např. to komplikuje hromadné posílání transakcí a je nutné, aby uživatelé neustále měli na účtu zůstatek ETH na pokrytí poplatků za palivo.
+Většina stávajících uživatelů interaguje s Ethereem pomocí **[externě vlastněných účtů (EOA)](/glossary/#eoa)**. To limituje možnosti uživatelů interagovat s Ethereem. Například to ztěžuje provádění dávkových transakcí a vyžaduje, aby uživatelé vždy měli zůstatek v ETH na placení transakčních poplatků.
-Abstrakce účtů je způsob, jak tyto problémy vyřešit, a to tak, že uživatelům umožňuje flexibilně naprogramovat do svých účtů větší zabezpečení a lepší uživatelské prostředí. Toho může být dosaženo vylepšením [EOA](https://eips.ethereum.org/EIPS/eip-3074), aby je bylo možné ovládat pomocí chytrých kontraktů, nebo [vylepšením chytrých kontraktů](https://eips.ethereum.org/EIPS/eip-2938), aby mohly iniciovat transakce. Obě možnosti vyžadují změny v protokolu Etherea. Existuje také třetí cesta, která zahrnuje přidání [druhého, samostatného systému zpracovávání transakcí](https://eips.ethereum.org/EIPS/eip-4337), který běží paralelně se stávajícím protokolem. Bez ohledu na způsob je výsledkem přístup k Ethereu prostřednictvím peněženek založených na chytrých kontraktech, buď nativně podporovaných jako součást stávajícího protokolu, nebo prostřednictvím doplňkové transakční sítě.
+Abstrakce účtů je způsob, jak tyto problémy vyřešit, a to tak, že uživatelům umožňuje flexibilně naprogramovat do svých účtů větší zabezpečení a lepší uživatelské prostředí. Toho lze dosáhnout [vylepšením účtů EOA](https://eips.ethereum.org/EIPS/eip-7702) (EIP-7702) tak, aby je mohly ovládat chytré kontrakty. Existuje také další cesta, která zahrnuje přidání [druhého, samostatného transakčního systému](https://eips.ethereum.org/EIPS/eip-4337) (EIP-4337), který poběží souběžně se stávajícím protokolem. Bez ohledu na způsob je výsledkem přístup k Ethereu prostřednictvím peněženek založených na chytrých kontraktech, buď nativně podporovaných jako součást stávajícího protokolu, nebo prostřednictvím doplňkové transakční sítě.
Peněženky založené na chytrých kontraktech odemykají spoustu výhod pro uživatele, např.:
@@ -20,107 +20,52 @@ Peněženky založené na chytrých kontraktech odemykají spoustu výhod pro u
- obnovení účtu v případě ztráty klíčů,
- sdílení bezpečnosti účtu mezi důvěryhodnými zařízeními nebo osobami,
- placením poplatků za palivo za někoho jiného, nebo možnost nechat někoho jiného platit za vás,
-- hromadné transakce (např. schválení a provedení směny v jednom kroku),
+- dávkování transakcí (např. schválení a provedení směny najednou)
- více příležitostí vývojářů dappek a peněženek vylepšit uživatelskou zkušenost.
Tyto výhody nejsou v současné době nativně podporovány, protože pouze externě vlastněné účty ([EOA](/glossary/#eoa)) mohou zahajovat transakce. EOA jsou jednoduše páry veřejných a privátních klíčů. Fungují takto:
-- Pokud máte privátní klíč, můžete dělat cokoliv v rámci pravidel Virtuálního stroje Etherea Machine (EVM).
-- V případě, že privátní klíč nemáte, nemůžete dělat _nic_.
+- pokud máte privátní klíč, můžete dělat _cokoli_ v rámci pravidel Ethereum Virtual Machine (EVM)
+- pokud nemáte privátní klíč, nemůžete dělat _nic_.
Pokud ztratíte klíče, nemohou být obnoveny, a ukradené klíče dávají zlodějům okamžitý přístup ke všem prostředkům na účtu.
Peněženky založené na chytrých kontraktech řeší tyto problémy, ale dnes je obtížné je naprogramovat, protože jakákoliv logika, kterou implementují, musí být nakonec převedena do souboru EOA transakcí, než může být zpracována Ethereem. Abstrakce účtu umožňuje chytrým kontraktům iniciovat transakce samostatně, takže jakákoliv logika, kterou chce uživatel implementovat, může být zakódována přímo do peněženky založené na chytrém kontraktu a spuštěna na Ethereu.
-Ve finále zlepšuje abstrakce účtu podporu pro peněženky založené na chytrých kontraktech, což usnadňuje jejich vytváření a zabezpečuje používání. Navíc mohou uživatelé díky abstrakci účtu využívat všech výhod Etherea, aniž by museli znát nebo se starat o podkladovou technologii.
+Ve finále zlepšuje abstrakce účtu podporu pro peněženky založené na chytrých kontraktech, což usnadňuje jejich vytváření a zabezpečuje používání. S abstrakcí účtu mohou uživatelé využívat všechny výhody Etherea, aniž by museli rozumět základní technologii.
-## Za bezpečnostní frází {#beyond-seed-phrases}
+## Více než jen bezpečnostní fráze {#beyond-seed-phrases}
-Dnešní účty jsou zabezpečeny pomocí privátních klíčů, které jsou vypočítány z bezpečnostních frází. Každý, kdo má přístup k bezpečnostní frázi, může snadno objevit privátní klíč chránící účet a získat přístup ke všem prostředkům. Pokud jsou privátní klíč a bezpečnostní fráze ztraceny, nemohou být nikdy obnoveny a prostředky, které měly zabezpečovat, jsou navždy zmrazeny. Zabezpečení těchto bezpečnostních frází je obtížné i pro odborníky a phishing bezpečnostních frází je jedním z nejběžnějších způsobů podvodů cílených na uživatele.
+Dnešní účty jsou zabezpečeny pomocí privátních klíčů, které jsou vypočítány z bezpečnostních frází. Každý, kdo má přístup k bezpečnostní frázi, může snadno odhalit privátní klíč chránící účet a získat přístup ke všem prostředkům, které chrání. Pokud dojde ke ztrátě privátního klíče a bezpečnostní fráze, prostředky jsou trvale nepřístupné. Zabezpečení těchto bezpečnostních frází je nepraktické, a to i pro zkušené uživatele, a phishing na bezpečnostní fráze je jedním z nejčastějších podvodů.
-Abstrakce účtu vyřeší tento problém tím, že použije chytrý kontrakt k uchovávání prostředků a autorizaci transakcí. Tyto chytré kontrakty mohou být následně obohaceny o vlastní logiku, aby byly co nejbezpečnější a přizpůsobily se uživateli na míru. Ve finále stále používáte pro přístup ke svému účtu privátní klíče, ale s bezpečnostními sítěmi, které usnadňují a zabezpečují jejich správu.
+Abstrakce účtu to řeší použitím chytrého kontraktu k držení prostředků a autorizaci transakcí. Chytré kontrakty mohou obsahovat vlastní logiku přizpůsobenou pro maximální bezpečnost a použitelnost. Uživatelé stále používají privátní klíče k řízení přístupu, ale se zvýšenými bezpečnostními opatřeními.
-Záložní klíče mohou být např. přidány do peněženky, takže pokud ztratíte nebo omylem odhalíte svůj hlavní klíč, může být nahrazen novým, bezpečným klíčem díky souhlasu záložních klíčů. Každý z těchto klíčů můžete různě zabezpečit, nebo je rozdělit mezi důvěryhodné osoby. To zlodějům výrazně komplikuje snahu získat plnou kontrolu nad vašimi prostředky. Podobně můžete přidat do peněženky pravidla, která sníží dopad kompromitování vašeho hlavního klíče. Např. můžete umožnit transakcím s nízkou hodnotou ověření jediným podpisem, zatímco u transakcí s vyšší hodnotou můžete nastavit vyžadování schválení od několika ověřených účtů. Existují i další způsoby, jak vám chytré kontraktové peněženky mohou pomoci odradit zloděje. Např. můžete použít whitelist, který zablokuje každou transakci, pokud není adresována na důvěryhodnou adresu nebo ověřena několika vašimi předem schválenými klíči.
-
-### Příklady bezpečnostní logiky, kterou lze vložit do chytré kontraktové peněženky:
-
-- **Autorizace mnoha podpisy**: Můžete sdílet autorizaci napříč několika důvěryhodnými osobami nebo zařízeními. Kontrakt může být nastaven tak, že transakce přesahující určitou předem danou hodnotu vyžadují autorizaci od určitého podílu (např. 3/5) důvěryhodných stran. Transakce s vysokou hodnotou mohou např. vyžadovat schválení jak od mobilního zařízení, tak od hardwarové peněženky, nebo podpisy od účtů sdílených mezi důvěryhodné členy rodiny.
-- **Zmrazení účtu**: Pokud je zařízení ztraceno nebo kompromitováno, může být účet uzamčen z jiného autorizovaného zařízení, což chrání prostředky uživatele.
-- **Obnova účtu**: Ztratili jste zařízení nebo zapomněli heslo? V současném paradigmatu to znamená, že vaše prostředky mohou být navždy zmrazeny. S chytrou kontraktovou peněženkou můžete nastavit whitelist účtů, které mohou autorizovat nová zařízení a znovu nastavit přístup.
-- **Nastavení limitů transakcí**: Lze určit denní hodnoty pro to, kolik prostředků může být převedeno z účtu za den/týden/měsíc. To znamená, že i když útočník získá přístup k vašemu účtu, nemůže najednou vybrat vše a máte příležitost zmrazit a znovu nastavit přístup.
-- **Vytvoření whitelistů**: Umožňuje povolit transakce jen na určité adresy, které označíte jako bezpečné. To znamená, že _i když_ by byl váš privátní klíč zcizen, útočník by mohl posílat prostředky pouze na účty na vašem seznamu. Změna těchto whitelistů by vyžadovala více podpisů, takže útočník nemůže přidat vlastní adresu na seznam, pokud nemá přístup k několika vašim záložním klíčům.
+Například do peněženky lze přidat záložní klíče, což umožňuje výměnu klíče, pokud je primární klíč kompromitován. Každý klíč může být zabezpečen jinak nebo distribuován mezi důvěryhodné osoby, což výrazně zvyšuje bezpečnost. Další pravidla peněženky mohou zmírnit škody způsobené odhalením klíče, například vyžadováním více podpisů pro transakce s vysokou hodnotou nebo omezením transakcí na důvěryhodné adresy.
## Lepší uživatelská zkušenost {#better-user-experience}
-Abstrakce účtů umožňuje **lepší celkové uživatelské možnosti** a **vylepšenou bezpečnost**, protože přidává podporu pro peněženky založené na chytrých kontraktech na úrovni protokolu. Nejvýznamnějším důvodem je, že poskytne vývojářům chytrých kontraktů, peněženek a aplikací mnohem větší svobodu ve vylepšení uživatelských možností způsoby, které ještě nemusíme být schopni předvídat. Některá zřejmá vylepšení, která přijdou s abstrakcí účtu, zahrnují spojování transakcí za účelem zvýšení rychlosti a efektivity. Jednoduchá směna by např. měla být operací na jedno kliknutí, ale dnes vyžaduje podepsání několika transakcí ke schválení přístupu k jednotlivým tokenům před provedením směny. Abstrakce účtů odstraní tuto nepříjemnost tím, že umožní slučování transakcí. Sloučené transakce by navíc mohly schválit přesně správnou hodnotu tokenů potřebnou pro každou transakci a poté zrušit schválení po dokončení transakce, což posune bezpečnost na další úroveň.
-
-Správa poplatků za palivo je s abstrakcí účtu také výrazně lepší. Nejenže aplikace mohou nabídnout platbu poplatků za palivo svých uživatelů, ale tyto poplatky mohou být placeny tokeny jinými než ETH, což zbavuje uživatele nutnosti mít zůstatek ETH za účelem financování transakcí. To by fungovalo tak, že by se tokeny uživatele v kontraktu směnily za ETH a poté by se ETH použilo k platbě za palivo.
-
-
-
-Správa poplatků za palivo je jednou z hlavních nepříjemností pro uživatele Etherea, především proto, že ETH je jediné aktivum, které v současnosti mohou k platbě za transakce používat. Představte si, že máte peněženku se zůstatkem USDC, ale bez ETH. Nemůžete tyto USDC tokeny přesunout nebo směnit, protože nemáte jak zaplatit za palivo. Nemůžete také směnit USDC za ETH, protože to samo o sobě vyžaduje palivo. Abyste tento problém vyřešili, museli byste si poslat ETH na účet z burzy nebo jiné adresy. S peněženkami založenými na chytrých kontraktech můžete místo toho platit poplatky za palivov USDC, čímž svůj účet odblokujete. Už nemusíte udržovat zůstatek ETH ve všech svých účtech.
-
-Abstrakce účtu také umožňuje vývojářům dappek určitou kreativitu v přístupu k řízení poplatků za palivo. Např. můžete začít platit své oblíbené decentralizované burze stálý poplatek každý měsíc za neomezené transakce. Platformy dappek by mohly nabídnout placení všech vašich poplatků za palivo za vás jako odměnu za používání jejich platformy nebo jako lákadlo pro nové uživatele. Pro vývojáře bude mnohem snadnější zavádět inovace v oblasti poplatků za palivo, když budou peněženky založené na chytrých kontraktech podporovány už na úrovni protokolu.
-
-
-
-Důvěryhodné relace jsou také potenciálně transformační pro uživatelské možnosti, zejména pro aplikace, jako jsou hry, kde může velké množství malých transakcí vyžadovat rychlé schválení. Individuální schvalování každé transakce by narušilo herní zážitek, ale trvalý souhlas není bezpečný. Chytrá kontraktová peněženka by mohla schválit určité transakce na pevně stanovenou dobu, až do specifické hodnoty nebo pouze pro určité adresy.
-
-Je také zajímavé si představit, jak by se mohlo díky abstrakci účtu změnit nakupování. Dnes každá transakce musí být schválena a poslána z peněženky předfinancované dostatečným množstvím správného tokenu. S abstrakcí účtu by mohlo být prostředí podobnější online nakupování, kde uživatel naplní „košík“ položkami a jedním klikem zaplatí všechny najednou, přičemž veškerá potřebná logika by byla zpracována kontraktem, nikoliv uživatelem.
-
-Toto je jen několik příkladů, jak by mohly být uživatelské možnosti vylepšeny pomocí abstrakce účtu, ale použití je mnohem širší a spousta z nich je ještě za hranicemi naší fantazie. Abstrakce účtů osvobozuje vývojáře od omezení současných EOA, přenáší pozitivní aspekty web2 do web3 bez nutnosti obětovat samosprávu a umožňuje kreativně vytvářet nové uživatelské možnosti.
-
-## Jak bude abstrakce účtu implementována? {#how-will-aa-be-implemented}
-
-Peněženky založené na chytrých kontraktech už existují, ale jejich implementace je složitá, protože EVM je nepodporuje. Místo toho se spoléhají na obalení relativně složitého kódu kolem standardních Ethereum transakcí. Ethereum může tuto situaci změnit tím, že umožní chytrým kontraktům iniciovat transakce, přičemž nezbytnou logiku zpracovává v chytrých kontraktech přímo na Ethereu namísto zpracování mimo řetězec. Umístění logiky do chytrých kontraktů také zvyšuje decentralizaci Etherea, protože odstraňuje potřebu „převaděčů“ spuštěných vývojáři peněženek, kteří překládají zprávy podepsané uživateli na běžné Ethereum transakce.
-
-
-
-EIP-2771 zavádí koncept meta-transakcí, které umožňují třetím stranám platit náklady na palivo uživatelů, aniž by se měnil protokol Ethereum. Myšlenkou je, že transakce podepsané uživateli jsou odesílány do Přeposílacího kontraktu. Přeposílací kontrakt je důvěryhodný subjekt, který ověřuje platnost transakcí, než je pošle na relé paliva. Toto se provádí mimo blockchain, což eliminuje potřebu platit za palivo. Relé paliva pak přenáší transakci na Přijímací kontrakt, který platí potřebný poplatek, aby mohla být transakce vykonatelná na Ethereu. Transakce je provedena, pokud je Přeposílací kontrakt známý a důvěryhodný pro Přijímací kontrakt. Tento model usnadňuje vývojářům implementaci transakcí bez poplatků za palivo na straně uživatele.
-
-
-
-
-
-EIP-4337 je prvním krokem směrem k nativní podpoře chytrých kontraktových peněženek decentralizovaným způsobem, aniž by bylo potřeba měnit protokol Ethereum. Místo úpravy konsenzuální vrstvy pro podporu chytrých kontraktových peněženek je přidán nový systém odděleně od běžného transakčního komunikačního protokolu. Tento vysoceúrovňový systém je postaven kolem nového objektu nazývaného UserOperation, který balí akce uživatele spolu s relevantními podpisy. Tyto objekty UserOperation jsou následně posílány do specializovaného mempoolu, kde je validátoři shromažďují do „balíčkové transakce“. Balíčková transakce představuje sekvenci mnoha jednotlivých objektů UserOperation a může být zahrnuta do bloků na Ethereu stejně jako běžná transakce, a může být vybírána validátory pomocí podobného modelu maximizace poplatků.
-
-Způsob, jakým peněženky fungují, by se se zavedením EIP-4337 také změnil. Místo toho, aby každá peněženka znovu implementovala běžnou, ale složitou bezpečnostní logiku, by tyto funkce byly outsourcovány do globálního peněženkového kontraktu známého jako „vstupní bod“. Ten by spravoval operace, jako je platba poplatků a spuštění EVM kódu, takže vývojáři peněženek se mohou soustředit na poskytování vynikajících uživatelských funkcí.
-
-Poznámka: Kontrakt vstupního bodu EIP-4337 byl nasazen na hlavní síť Etherea 1. března 2023. Můžete se na něj podívat na Etherscanu.
-
-
-
-
-
-EIP-2938 si klade za cíl vylepšit protokol Ethereum zavedením nového typu transakce, AA_TX_TYPE, který zahrnuje tři položky: nonce, target a data, kde nonce je čítač transakcí, target je cílová adresa kontraktu vstupního bodu a data je bytecode EVM. Za účelem vykonání těchto transakcí je třeba přidat do EVM dvě nové instrukce (známé jako opkódy): NONCE a PAYGAS. Opkód NONCE sleduje sekvenci transakcí a PAYGAS počítá a vybírá ze zůstatku kontraktu poplatek za palivo potřebný k vykonání transakce. Tyto nové funkce umožňují Ethereu podporovat chytré kontraktové peněženky nativně, protože potřebná infrastruktura je zabudována do protokolu Ethereum.
-
-Připomínáme, že EIP-2938 v současné době není aktivní. Komunita aktuálně upřednostňuje EIP-4337, protože nevyžaduje změny protokolu.
+Abstrakce účtu výrazně vylepšuje uživatelský prožitek a bezpečnost tím, že podporuje peněženky s chytrými kontrakty na úrovni protokolu. Vývojáři mohou volně inovovat a vylepšovat seskupování transakcí pro zvýšení rychlosti a efektivity. Jednoduché směny se mohou stát operacemi na jedno kliknutí, což výrazně zlepší jejich použitelnost.
-
+Správa paliva se výrazně zlepšuje. Aplikace mohou platit uživatelům poplatky za palivo nebo umožnit platbu v jiných tokenech než ETH, čímž odpadá nutnost udržovat zůstatek v ETH.
-
+## Jak bude abstrakce účtu implementována? Jak bude implementována abstrakce účtu {#how-will-aa-be-implemented}
-EIP-3074 si klade za cíl aktualizovat externě vlastněné účty na Ethereu tím, že umožní delegování kontroly nad nimi na chytrý kontrakt. To znamená, že logika chytrého kontraktu by mohla schvalovat transakce pocházející z EOA (externě vlastněného účtu). To by umožnilo funkce jako sponzorování poplatků za palivo a sdružování transakcí. Aby to fungovalo, je třeba do EVM přidat dva nové opkódy: AUTH a AUTHCALL. S EIP-3074 jsou výhody chytrých kontraktových peněženek dostupné bez nutnosti kontraktu – místo toho zpracovává transakce specifický typ stateless, trustless, nevylepšitelného kontraktu známého jako "započínač".
+V současné době je implementace peněženek s chytrými kontrakty náročná, protože se spoléhají na složitý kód, který obaluje standardní transakce. Ethereum to může změnit tím, že umožní chytrým kontraktům přímo iniciovat transakce a vkládat logiku do chytrých kontraktů na Ethereu namísto spoléhání se na externí relayery.
-Připomínáme, že EIP-3074 v současné době není aktivní. Komunita aktuálně upřednostňuje EIP-4337, protože nevyžaduje změny protokolu.
+### EIP-4337: Abstrakce účtu bez změn v protokolu
-
+EIP-4337 umožňuje nativní podporu peněženek s chytrými kontrakty bez úpravy hlavního protokolu Etherea. Zavádí objekty `UserOperation`, které validátoři shromažďují do balíčků transakcí, což zjednodušuje vývoj peněženek. Kontrakt EntryPoint EIP-4337 byl 1. března 2023 nasazen na hlavní síti Etherea a umožnil vytvoření více než 26 milionů chytrých peněženek a 170 milionů operací UserOperation.
-## Aktuální průběh {#current-progress}
+## Aktuální postup {#current-progress}
-Peněženky založené na chytrých kontraktech jsou už k dispozici, ale je třeba uvést do chodu další vylepšení, aby byly co nejvíce decentralizované a přístupné bez nutnosti povolení třetí strany. EIP-4337 je hotový návrh, který nevyžaduje žádné změny protokolu Ethereum, takže je možné, že bude implementován rychle. Nicméně vylepšení, která mění protokol Ethereum, nejsou v současné době aktivně vyvíjena, takže může trvat mnohem déle, než budou tyto změny realizovány. Je také možné, že abstrakce účtu bude dostatečně dosažena prostřednictvím EIP-4337, takže žádné změny protokolu nebudou nikdy potřeba.
+V rámci vylepšení Pectra sítě Ethereum je EIP-7702 naplánován na 7. května 2025. EIP-4337 byl široce přijat, [s více než 26 miliony nasazených chytrých účtů a více než 170 miliony zpracovaných operací UserOperation](https://www.bundlebear.com/erc4337-overview/all).
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [erc4337.io](https://www.erc4337.io/)
-- [Panelová diskuze o abstrakci účtu na Devconu v Bogotě](https://www.youtube.com/watch?app=desktop&v=WsZBymiyT-8)
-- [„Proč je abstrakce účtů revoluční pro dappky“ z Devconu v Bogotě](https://www.youtube.com/watch?v=OwppworJGzs)
-- [„Abstrakce účtů ELI5“ z Devconu v Bogotě](https://www.youtube.com/watch?v=QuYZWJj65AY)
-- [Vitalikovy poznámky „Cesta k abstrakci účtů“](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists)
-- [Vitalikův blogový příspěvek o společenském obnovování peněženek](https://vitalik.eth.limo/general/2021/01/11/recovery.html)
-- [Poznámky k EIP-2938](https://hackmd.io/@SamWilsn/ryhxoGp4D#What-is-EIP-2938)
-- [Dokumentace k EIP-2938](https://eips.ethereum.org/EIPS/eip-2938)
-- [Poznámky k EIP-4337](https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a)
-- [Dokumentace k EIP-4337](https://eips.ethereum.org/EIPS/eip-4337)
-- [Dokumentace k EIP-2771](https://eips.ethereum.org/EIPS/eip-2771)
-- [„Základy abstrakce účtů“ – Co je abstrakce účtů, část I](https://www.alchemy.com/blog/account-abstraction)
+- [erc4337.io](https://docs.erc4337.io/)
+- [Dokumentace EIP-4337](https://eips.ethereum.org/EIPS/eip-4337)
+- [Dokumentace EIP-7702](https://eips.ethereum.org/EIPS/eip-7702)
+- [Panel přijetí ERC-4337](https://www.bundlebear.com/erc4337-overview/all)
+- [Vitalikova "Cesta k abstrakci účtu"](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists)
+- [Vitalikův blog o peněženkách se sociální obnovou](https://vitalik.eth.limo/general/2021/01/11/recovery.html)
+- [Awesome Account Abstraction](https://github.com/4337Mafia/awesome-account-abstraction)
diff --git a/public/content/translations/cs/roadmap/beacon-chain/index.md b/public/content/translations/cs/roadmap/beacon-chain/index.md
new file mode 100644
index 00000000000..bb0e80fa1ff
--- /dev/null
+++ b/public/content/translations/cs/roadmap/beacon-chain/index.md
@@ -0,0 +1,79 @@
+---
+title: Řetězová vazba
+description: Přečtěte si o Řetězové vazbě – vylepšení, které umožnilo důkaz podílem na Ethereu.
+lang: cs
+template: upgrade
+image: /images/upgrades/core.png
+alt:
+summaryPoint1: Řetězová vazba zavedla důkaz podílem do ekosystému Etherea.
+summaryPoint2: V září 2022 byla sloučena s původním Ethereem založeným na důkazu prací.
+summaryPoint3: Řetězová vazba představila logiku konsensu a blokový komunikační protokol, který v současné době zabezpečuje Ethereum.
+---
+
+
+ Řetězová vazba byla spuštěna 1. prosince 2020 a formalizovala důkaz podílem jako mechanismus konsenzu Etherea s upgradem Sloučení dne 15. září 2022.
+
+
+## Co je Řetězová vazba? Co je Řetězová vazba? {#what-is-the-beacon-chain}
+
+Řetězová vazba je název původního blockchainu založeného na důkazu podílem, který byl spuštěn v roce 2020. Byl vytvořen za účelem zajištění správnosti a udržitelnosti logiky konsensu důkazu podílem před nasazením na hlavní síť Ethereum. Proto běžel souběžně s původním Ethereem založeným na důkazu prací. Řetězová vazba byla řetězec „prázdných“ bloků, ale vypnutí důkazu prací a zapnutí důkazu podílem na Ethereu vyžadovalo instruovat Řetězovou vazbu, aby přijímala transakční data od exekučních klientů, sdružovala je do bloků a poté organizovala do blockchainu pomocí mechanismu konsenzu založeného na důkazu podílem. Ve stejnou chvíli původní klienti Etherea vypnuli těžbu, tvorbu bloků a logiku konsensu a převedli vše na Řetězovou vazbu. Tato událost byla známá jako [Sloučení](/roadmap/merge/). Jakmile došlo ke Sloučení, už neexistovaly dva blockchainy. Místo toho nyní existuje jen jedno Ethereum, které vyžaduje dva různé klienty na síťový uzel. Řetězová vazba je nyní konsensuální vrstva: Peer-to-peer síť konsenzuálních klientů, která zpracovává blokovou komunikaci a konsenzuální logiku, zatímco původní klienti tvoří exekuční vrstvu, která je zodpovědná za komunikaci a exekuci transakcí a správu stavu Etherea. Tyto dvě vrstvy spolu mohou komunikovat pomocí Engine API.
+
+## Co Řetězová vazba dělá? Co dělá Řetězová vazba? {#what-does-the-beacon-chain-do}
+
+Řetězová vazba je název pro řetězec účtů, který vedl a koordinoval síť [uzamykatelů](/staking/) Etherea předtím, než tito uzamykatelé začali ověřovat skutečné bloky Etherea. Nezpracovává transakce ani interakce s chytrými kontrakty, protože to se děje v exekuční vrstvě.
+Řetězová vazba je zodpovědná za akce, jako je zpracování bloků a atestací, provozování algoritmu výběru forku a správa odměn a sankcí.
+Přečtěte si více na naší [stránce o architektuře uzlů](/developers/docs/nodes-and-clients/node-architecture/#node-comparison).
+
+## Dopad Řetězové vazby {#beacon-chain-features}
+
+### Představení uzamčení {#introducing-staking}
+
+Řetězová vazba zavedla do Etherea [důkaz podílem](/developers/docs/consensus-mechanisms/pos/). To udržuje Ethereum v bezpečí a vydělává validátorům více ETH. V praxi to znamená, že uzamknete ETH, abyste se stali validátorem. Jako uzamykatel spouštíte software, který vytváří a ověřuje nové bloky.
+
+Uzamčení slouží k podobnému účelu, jako dříve sloužila [těžba](/developers/docs/consensus-mechanisms/pow/mining/), ale v mnoha ohledech se liší. Těžba vyžadovala velké výdaje ve formě pořízení výkonného hardwaru a spotřeby energie, což vedlo k úsporám z rozsahu a tím k podpoře centralizace. Těžba nevyžadovala zablokování aktiv jako kolaterálu, což omezovalo schopnost protokolu uvalit sankce na těžaře, kteří útočili na síť.
+
+Přechod na Ethereum založené na důkazu podílem významně zabezpečil a decentralizoval jeho provoz ve srovnání s důkazem prací. Čím více lidí se do sítě zapojí, tím bude decentralizovanější a bezpečnější před útoky.
+
+
+
+
+
+ Pokud máte zájem stát se validátorem a pomáhat zabezpečit Ethereum, [zjistěte více o uzamčení](/staking/).
+
+
+
+
+### Příprava na sharding {#setting-up-for-sharding}
+
+Od té doby, co se Řetězová vazba sloučila s původní hlavní sítí Ethereum, začala komunita Ethereum usilovat o škálování sítě.
+
+Důkaz podílem má tu výhodu, že má neustále registr všech schválených producentů bloků a každý producent bloků má uzamčené ETH. Tento registr nastavuje scénu pro schopnost dobře rozdělit konkrétní síťové zodpovědnosti.
+
+Tato odpovědnost je v kontrastu s důkazem prací, kde těžaři nemají žádné závazky vůči síti a mohli by zastavit těžbu a vypnout software síťových uzlů okamžitě a bez následků. V důkazu prací také neexistuje žádný registr známých navrhovatelů bloků a žádný spolehlivý způsob, jak bezpečně rozdělit síťové odpovědnosti.
+
+[Více o shardingu](/roadmap/danksharding/)
+
+## Vztah mezi vylepšeními {#relationship-between-upgrades}
+
+Všechna vylepšení Etherea jsou vzájemně provázaná. Pojďme si tedy zrekapitulovat, jak Řetězová vazba ovlivňuje další vylepšení.
+
+### Řetězová vazba a Sloučení {#merge-and-beacon-chain}
+
+Řetězová vazba nejprve existovala odděleně od hlavní sítě Ethereum, ale v roce 2022 byly oba blockchainy sloučeny.
+
+
+ Sloučení
+
+
+### Shardy a Řetězová vazba {#shards-and-beacon-chain}
+
+Tříštění může být bezpečně implementováno do ekosystému Ethereum pouze se zavedeným mechanismem konsenzu důkazu podílem. Řetězová vazba představila uzamčení, když se „sloučila“ s hlavní sítí, čímž se otevřela cesta pro tříštění, které pomůže dále škálovat Ethereum.
+
+
+ Shardové řetězce
+
+
+## Další informace
+
+- [Více o architektuře uzlů](/developers/docs/nodes-and-clients/node-architecture)
+- [Více o důkazu podílem](/developers/docs/consensus-mechanisms/pos)
diff --git a/public/content/translations/cs/roadmap/danksharding/index.md b/public/content/translations/cs/roadmap/danksharding/index.md
index f4d542f267c..fe6778483ab 100644
--- a/public/content/translations/cs/roadmap/danksharding/index.md
+++ b/public/content/translations/cs/roadmap/danksharding/index.md
@@ -11,49 +11,49 @@ summaryPoints:
# Danksharding {#danksharding}
-**Danksharding** je způsob, jehož pomocí se Ethereum stává skutečně škálovatelným blockchainem, ale k tomu je potřeba několik aktualizací protokolu. **Proto-Danksharding** je mezikrokem na této cestě. Obě vylepšení mají za cíl co nejvíce zlevnit transakce na druhé vrstvě pro uživatele a měly by zvýšit škálovatelnost Etherea na > 100 000 transakcí za sekundu.
+**Danksharding** je způsob, jehož pomocí se Ethereum stává skutečně škálovatelným blockchainem, ale k tomu je potřeba několik aktualizací protokolu. **Proto-Danksharding** je mezikrokem na této cestě. Obě mají za cíl co nejvíce zlevnit transakce na druhé vrstvě pro uživatele a měly by škálovat Ethereum na >100 000 transakcí za sekundu.
## Co je Proto-Danksharding? {#what-is-protodanksharding}
-Proto-Danksharding, známý také jako [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), je způsob, jakým mohou [rollupy](/layer-2/#rollups) přidávat levnější data do bloků. Název pochází od dvou výzkumníků, kteří tento nápad navrhli: Protolambdy a Dankrada Feista. Historicky byly rollupy omezeny v tom, jak levně mohou zpracovávat uživatelské transakce, protože jejich transakce byly ukládány do `CALLDATA`.
+Proto-Danksharding, známý také jako [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), je způsob, jak mohou [rollupy](/layer-2/#rollups) přidávat do bloků levnější data. Název pochází od dvou výzkumníků, kteří tento nápad navrhli: Protolambdy a Dankrada Feista. Historicky byly rollupy omezeny v tom, jak levně mohly zpracovávat uživatelské transakce, protože své transakce zveřejňovaly v `CALLDATA`.
Toto je drahé, protože CALLDATA jsou zpracovávána všemi uzly na Ethereu a zůstávají na blockchainu navždy, i když rollupy potřebují tato data jen po krátkou dobu. Proto-Danksharding zavádí datové bloby, které mohou být odeslány a připojeny k blokům. Data v těchto blobech nejsou přístupná pro EVM a jsou automaticky smazána po stanovené době (v době psaní tohoto článku to bylo 4 096 epoch, což je přibližně 18 dní). To znamená, že rollupy mohou odesílat svá data mnohem levněji a přenést úspory na koncové uživatele ve formě levnějších transakcí.
-
+
-Rollupy jsou způsobem, jak škálovat Ethereum tím, že seskupují transakce mimo řetězec a poté zveřejňují výsledky na Ethereu. Rollup se v podstatě skládá ze dvou částí: dat a ověření provedení. Data jsou úplné sekvence transakcí, které jsou zpracovány rollupem k vytvoření změny stavu, jež je zveřejněna na Ethereu. Ověření provedení je opětovné provedení těchto transakcí nějakým poctivým aktérem (tzv. „schvalovatel“), aby bylo zajištěno, že navrhovaná změna stavu je správná. K provedení ověření musí být transakční data dostupná dostatečně dlouho na to, aby si je mohl kdokoliv stáhnout a zkontrolovat. To znamená, že jakékoliv nepoctivé chování sequencera rollupu může být identifikováno a napadnuto ověřovatelem. Nicméně není nutné, aby byla tato data dostupná navždy.
+Rollupy jsou způsobem, jak škálovat Ethereum tím, že sdružují transakce mimo blockchain a poté zveřejňují výsledky na Ethereu. Rollup se v podstatě skládá ze dvou částí: dat a ověření provedení. Data jsou úplné sekvence transakcí, které jsou zpracovány rollupem k vytvoření změny stavu, jež je zveřejněna na Ethereu. Ověření provedení je opětovné provedení těchto transakcí nějakým poctivým aktérem (tzv. „schvalovatel“), aby bylo zajištěno, že navrhovaná změna stavu je správná. K provedení ověření musí být transakční data dostupná dostatečně dlouho na to, aby si je mohl kdokoliv stáhnout a zkontrolovat. To znamená, že jakékoliv nepoctivé chování sequencera rollupu může být identifikováno a napadnuto ověřovatelem. Nicméně není nutné, aby byla tato data dostupná navždy.
-
+
-Rollupy zveřejňují závazky ke svým transakčním datům na blockchainu a také zpřístupňují skutečná data v datových blobech. To znamená, že ověřovatelé mohou verifikovat, že jsou závazky platné, nebo napadnout data, která považují za nesprávná. Na úrovni uzlů jsou tyto datové bloby uloženy v konsenzus klientech. Konsenzus klienti potvrzují, že data viděli a že byla rozšířena po celé síti. Pokud by se data uchovávala navždy, tito klienti by zůstali přetíženi, což by vedlo k velkým požadavkům na hardware pro provozování uzlů. Místo toho se data automaticky mažou z uzlu každých 18 dní. Atestace konsenzus klientů prokazují, že ověřovatelé měli dostatečnou příležitost data ověřit. Skutečná data mohou být uložena mimo řetězec provozovateli rollupu, uživateli nebo ostatními.
+Rollupy zveřejňují závazky ke svým transakčním datům na blockchainu a také zpřístupňují skutečná data v datových blobech. To znamená, že ověřovatelé mohou verifikovat, že jsou závazky platné, nebo napadnout data, která považují za nesprávná. Na úrovni uzlů jsou tyto datové bloby uloženy v konsenzus klientech. Konsenzus klienti potvrzují, že data viděli a že byla rozšířena po celé síti. Pokud by se data uchovávala navždy, tito klienti by zůstali přetíženi, což by vedlo k velkým požadavkům na hardware pro provozování uzlů. Místo toho se data automaticky mažou z uzlu každých 18 dní. Atestace konsenzus klientů prokazují, že ověřovatelé měli dostatečnou příležitost data ověřit. Skutečná data mohou být uložena mimo blockchain provozovateli rollupu, uživateli nebo ostatními.
### Jak jsou data v blobech ověřována? {#how-are-blobs-verified}
-Rollupy zveřejňují transakce, které provádějí, v datových blobech. Zároveň k těmto datům zveřejňují „závazek“. Dělají to tak, že datům přizpůsobí polynomiální funkci. Tato funkce může být poté vyhodnocena na různých bodech. Např. pokud definujeme extrémně jednoduchou funkci `f(x) = 2x – 1`, můžeme tuto funkci vyhodnotit pro `x = 1`, `x = 2`, `x = 3` a získat výsledky `1, 3, 5`. Ověřovatel aplikuje stejnou funkci na data a vyhodnotí ji ve stejných bodech. Pokud byla původní data změněna, funkce nebude identická, a proto ani hodnoty vyhodnocené v každém bodě nejsou stejné. Ve skutečnosti jsou závazek a důkaz složitější, protože jsou zabaleny v kryptografických funkcích.
+Rollupy zveřejňují transakce, které provádějí, v datových blobech. Zároveň k těmto datům zveřejňují „závazek“. Dělají to tak, že datům přizpůsobí polynomiální funkci. Tato funkce může být poté vyhodnocena na různých bodech. Například pokud definujeme extrémně jednoduchou funkci `f(x) = 2x-1`, můžeme ji vyhodnotit pro `x = 1`, `x = 2`, `x = 3` a získáme výsledky `1, 3, 5`. Ověřovatel aplikuje stejnou funkci na data a vyhodnotí ji ve stejných bodech. Pokud byla původní data změněna, funkce nebude identická, a proto ani hodnoty vyhodnocené v každém bodě nejsou stejné. Ve skutečnosti jsou závazek a důkaz složitější, protože jsou zabaleny v kryptografických funkcích.
### Co je KZG? {#what-is-kzg}
-KZG znamená Kate-Zaverucha-Goldberg – jména tří [původních autorů](https://link.springer.com/chapter/10.1007/978-3-642-17373-8_11) schématu, které redukuje blob dat na malý [kryptografický „závazek“](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html). Blob dat předložený rollupem musí být ověřen, aby bylo zajištěno, že rollup nejedná nepoctivě. To zahrnuje ověřovatelovo opětovné provedení transakcí v blobu, aby bylo ověřeno, že závazek byl platný. To je konceptuálně stejné jako způsob, jakým exekuční klienti kontrolují platnost transakcí na Ethereu na vrstvě 1 pomocí Merkle důkazů. KZG je alternativní důkaz, který přizpůsobí polynomiální rovnici datům. Závazek vyhodnocuje polynom na určitých tajných bodech dat. Ověřovatel by přizpůsobil stejný polynom datům a vyhodnotil ho na stejných hodnotách, přičemž by ověřil, že výsledek je stejný. To je způsob, jak ověřit data, který je kompatibilní s technikami zero-knowledge používanými některými rollupy a nakonec i jinými částmi protokolu Ethereum.
+KZG je zkratka pro jména Kate-Zaverucha-Goldberg – jména tří [původních autorů](https://link.springer.com/chapter/10.1007/978-3-642-17373-8_11) schématu, které redukuje datový blob na malý [kryptografický "závazek"](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html). Blob dat předložený rollupem musí být ověřen, aby bylo zajištěno, že rollup nejedná nepoctivě. To zahrnuje ověřovatelovo opětovné provedení transakcí v blobu, aby bylo ověřeno, že závazek byl platný. To je konceptuálně stejné jako způsob, jakým exekuční klienti kontrolují platnost transakcí na Ethereu na vrstvě 1 pomocí Merkle důkazů. KZG je alternativní důkaz, který přizpůsobí polynomiální rovnici datům. Závazek vyhodnocuje polynom na určitých tajných bodech dat. Ověřovatel by přizpůsobil stejný polynom datům a vyhodnotil ho na stejných hodnotách, přičemž by ověřil, že výsledek je stejný. To je způsob, jak ověřit data, který je kompatibilní s technikami zero-knowledge používanými některými rollupy a nakonec i jinými částmi protokolu Ethereum.
### Co byl Ceremoniál KZG? {#what-is-a-kzg-ceremony}
-Ceremoniál KZG byla akce, při které se spousta lidí z celé Ethereum komunity společně podílela na vygenerování tajného náhodného řetězce čísel, který lze použít k ověřování dat. Je klíčové, aby tento řetězec čísel nebyl nikomu znám a nemohl být nikým znovu vytvořen. Proto každý účastník ceremoniálu obdržel řetězec od předchozího účastníka. Poté vytvořil nové náhodné hodnoty (např. tím, že dovolil prohlížeči měřit pohyb myši) a smíchal je s předchozí hodnotou. Následně tuto novou hodnotu odeslal dalšímu účastníkovi a na svém lokálním zařízení ji zničil. Pokud alespoň jeden účastník tohoto ceremoniálu postupoval poctivě, konečná hodnota bude pro útočníka neznámá.
+Ceremoniál KZG byla akce, při které se spousta lidí z celé Ethereum komunity společně podílela na vygenerování tajného náhodného řetězce čísel, který lze použít k ověřování dat. Je klíčové, aby tento řetězec čísel nebyl nikomu znám a nemohl být nikým znovu vytvořen. Proto každý účastník ceremoniálu obdržel řetězec od předchozího účastníka. Poté vytvořili nové náhodné hodnoty (např. tím, že svému prohlížeči povolili měřit pohyb myši) a smíchali je s předchozí hodnotou. Následně tuto novou hodnotu odeslal dalšímu účastníkovi a na svém lokálním zařízení ji zničil. Pokud alespoň jeden účastník tohoto ceremoniálu postupoval poctivě, konečná hodnota bude pro útočníka neznámá.
Ceremoniál KZG EIP-4844 byl veřejný a zúčastnily se ho desítky tisíc uživatelů, kteří přidali svou vlastní entropii (náhodnost). Celkem šlo o 140 000 příspěvků, což z něj činí největší ceremoniál svého druhu na světě. Aby byl ceremoniál znehodnocen, muselo by 100 % účastníků jednat nepoctivě. Z pohledu účastníků stačí vědět, že jen oni jednali poctivě, není třeba důvěřovat nikomu jinému, protože vědí, že ceremoniál zabezpečili (individuálně splnili požadavek, aby alespoň jeden účastník z N byl poctivý).
-
+
Když rollup zveřejní data v blobu, poskytne také „závazek“, který zveřejní na blockchainu. Tento závazek je výsledkem vyhodnocení polynomu přizpůsobeného datům v určitých bodech. Tyto body jsou definovány náhodnými čísly generovanými v ceremoniálu KZG. Ověřovatelé mohou poté vyhodnotit polynom ve stejných bodech, aby ověřili data – pokud dosáhnou stejných hodnot, jsou data správná.
-
+
-Pokud někdo zná náhodné body použité pro vytvoření závazku, je pro něj snadné vytvořit nový polynom, který se bude shodovat v těchto konkrétních bodech (tj. „kolize“). To znamená, že by byl schopen přidat nebo odebrat data z blobu a stále poskytovat platný důkaz. Aby se tomu zabránilo, místo toho, aby ověřovatelé dostávali skutečné tajné body, obdrží body zabalené v kryptografické „černé skříňce“ pomocí eliptických křivek. Tyto body efektivně zamíchají hodnoty tak, aby původní hodnoty nemohly být zpětně rekonstruovány, ale s určitým chytrým algebraickým postupem mohou ověřovatelé stále vyhodnotit polynomy v bodech, které reprezentují.
+Pokud někdo zná náhodné body použité pro vytvoření závazku, je pro něj snadné vytvořit nový polynom, který se bude shodovat v těchto konkrétních bodech (tj. "kolize"). To znamená, že by byl schopen přidat nebo odebrat data z blobu a stále poskytovat platný důkaz. Aby se tomu zabránilo, místo toho, aby ověřovatelé dostávali skutečné tajné body, obdrží body zabalené v kryptografické „černé skříňce“ pomocí eliptických křivek. Tyto body efektivně zamíchají hodnoty tak, aby původní hodnoty nemohly být zpětně rekonstruovány, ale s určitým chytrým algebraickým postupem mohou ověřovatelé stále vyhodnotit polynomy v bodech, které reprezentují.
@@ -67,27 +67,27 @@ Danksharding je úplná realizace škálování rollupů, které začalo s Proto
Funguje to tak, že se rozšíří počet blobů připojených k blokům ze šesti (6) v Proto-Danksharding na 64 v úplném Danksharding. Zbytek změn vyžaduje aktualizace způsobu, jakým konsenzus klienti fungují, aby byli schopni zpracovávat nové velké bloby. Některé z těchto změn jsou již součástí plánu pro jiné účely nezávisle na Danksharding. Např. Danksharding vyžaduje implementaci oddělení navrhovatelů a stavitelů bloků (proposer-builder separation). To je vylepšení, které rozděluje úkoly budování bloků a jejich navrhování mezi různé validátory. Podobně je pro Danksharding potřeba vzorkování dostupnosti dat, ale to je také nezbytné pro vývoj jednoduchých klientů, které neukládají velké množství historických dat („bezstavové klienty“).
-
+
Oddělení navrhovatelů a stavitelů bloků je nezbytné k tomu, aby jednotliví validátoři nemuseli generovat drahé závazky a důkazy pro 32 MB blobových dat. To by příliš zatěžovalo domácí validátory a vyžadovalo by to investice do výkonnějšího hardwaru, což by signifikantně snížilo decentralizaci. Místo toho převezmou zodpovědnost za tuto náročnou výpočetní práci specializovaní stavitelé bloků. Poté zpřístupní své bloky navrhovatelům bloků, aby je mohli šířit. Navrhovatel bloku jednoduše vybere blok, který je nejziskovější. Každý může levně a rychle ověřit bloby, což znamená, že jakýkoliv běžný validátor může zkontrolovat poctivost jednání stavitelů bloků. To umožňuje zpracování velkých blobů bez obětování decentralizace. Nepoctiví stavitelé bloků by mohli být jednoduše vyloučeni ze sítě a penalizováni a další by je nahradili, protože stavba bloků je výnosná činnost.
-
+
Vzorkování dostupnosti dat je nezbytné pro validátory k rychlému a efektivnímu ověřování blobových dat. Pomocí vzorkování dostupnosti dat si mohou být validátoři jistí, že byla blobová data dostupná a správně potvrzena. Každý validátor může náhodně vybrat jen několik datových bodů a vytvořit důkaz, což znamená, že žádný validátor nemusí kontrolovat celý blob. Pokud nějaká data chybí, budou rychle identifikována a blob bude zamítnut.
-### Aktuální průběh {#current-progress}
+### Aktuální postup {#current-progress}
-Úplný Danksharding je vzdálen několik let. Mezitím Ceremoniál KZG skončil s více než 140 000 příspěvky a [EIP](https://eips.ethereum.org/EIPS/eip-4844) pro Proto-Danksharding je hotový. Tento návrh byl plně implementován na všech testovacích sítích a byl spuštěn na hlavní síti s vylepšením sítě Cancun-Deneb („Dencun“) v březnu 2024.
+Úplný Danksharding je vzdálen několik let. Mezitím ceremoniál KZG skončil s více než 140 000 příspěvky a [EIP](https://eips.ethereum.org/EIPS/eip-4844) pro Proto-Danksharding dozrál. Tento návrh byl plně implementován na všech testovacích sítích a byl spuštěn na hlavní síti s vylepšením sítě Cancun-Deneb („Dencun“) v březnu 2024.
-### Další informace {#further-reading}
+### Další čtení {#further-reading}
- [Poznámky k Proto-Dankshardingu](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) – _Vitalik Buterin_
-- [Poznámky Dankrada k Dankshardingu](https://notes.ethereum.org/@dankrad/new_sharding)
-- [Diskuze mezi Dankradem, Protem a Vitalikem o Dankshardingu](https://www.youtube.com/watch?v=N5p0TB77flM)
+- [Dankradovy poznámky o Dankshardingu](https://notes.ethereum.org/@dankrad/new_sharding)
+- [Dankrad, Proto a Vitalik diskutují o Dankshardingu](https://www.youtube.com/watch?v=N5p0TB77flM)
- [Ceremoniál KZG](https://ceremony.ethereum.org/)
- [Přednáška Carla Beekhuizena na Devconu o důvěryhodných nastaveních](https://archive.devcon.org/archive/watch/6/the-kzg-ceremony-or-how-i-learnt-to-stop-worrying-and-love-trusted-setups/?tab=YouTube)
- [Více o vzorkování dostupnosti dat pro bloby](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling)
diff --git a/public/content/translations/cs/roadmap/dencun/index.md b/public/content/translations/cs/roadmap/dencun/index.md
index 861902c1123..881f2dc1882 100644
--- a/public/content/translations/cs/roadmap/dencun/index.md
+++ b/public/content/translations/cs/roadmap/dencun/index.md
@@ -68,9 +68,9 @@ Ano, Proto-Danksharding (EIP-4844) vyžaduje aktualizace jak pro klienty zajiš
Konsenzus klienty spravují software _validátora_, který byl kompletně aktualizován, aby mohl tato vylepšení využívat.
-## Jak ovlivňuje Cancun-Deneb (Dencun) Goerli nebo jiné testovací sítě Etherea? {#testnet-impact}
+## Jak ovlivňuje Cancun-Deneb (Dencun) testovací sítě Etherea? {#testnet-impact}
-- Devnety, Goerli, Sepolia a Holesky prošly upgradem Dencun a mají plně funkční Proto-Danksharding.
+- Devnety, Sepolia a Holesky prošly upgradem Dencun a mají plně funkční Proto-Danksharding.
- Vývojáři rollupů mohou využít tyto sítě pro testování EIP-4844.
- Většina uživatelů nebude touto změnou v jednotlivých testovacích sítích nijak ovlivněna.
@@ -99,7 +99,7 @@ Pouhá kompatibilita s virtuálním strojem Etherea (EVM) neznamená, že síť
[Další informace o rollupech druhé vrstvy](/layer-2/)
-## Učíte se spíše vizuálně? {#visual-learner}
+## Učíte se spíše vizuálně? Vizuální výuka {#visual-learner}
@@ -109,7 +109,7 @@ _Unlocking Ethereum's Scaling, EIP-4844 – Finematics_
_Blobspace 101 with Domothy – Bankless_
-## Further reading {#further-reading}
+## Další čtení {#further-reading}
- [EIP4844.com](https://www.eip4844.com/)
- [EIP-4844: Transakce shard blobů (Proto-Danksharding)](https://eips.ethereum.org/EIPS/eip-4844)
diff --git a/public/content/translations/cs/roadmap/fusaka/index.md b/public/content/translations/cs/roadmap/fusaka/index.md
new file mode 100644
index 00000000000..f154e9d0a24
--- /dev/null
+++ b/public/content/translations/cs/roadmap/fusaka/index.md
@@ -0,0 +1,300 @@
+---
+title: Fulu-Osaka (Fusaka)
+description: Zjistěte více o vylepšení protokolu Fusaka
+lang: cs
+---
+
+# Fusaka {#fusaka}
+
+**Dlouho očekávané vylepšení Etherea Fusaka bylo spuštěno 3. prosince 2025**
+
+Vylepšení sítě Fusaka navazuje na [Pectra](/roadmap/pectra/) a přináší další nové funkce a zlepšuje zážitek pro každého uživatele a vývojáře Etherea. Název se skládá z vylepšení exekuční vrstvy Osaka a verze vrstvy konsenzu pojmenované po hvězdě Fulu. Obě části Etherea dostávají vylepšení, které posouvá škálování, zabezpečení a uživatelský zážitek Etherea do budoucnosti.
+
+
+
+
+Vylepšení Fusaka je pouze jedním krokem v dlouhodobých vývojových cílech Etherea. Zjistěte více o [plánu protokolu](/roadmap/) a [předchozích vylepšeních](/ethereum-forks/).
+
+
+
+
+## Vylepšení ve Fusace {#improvements-in-fusaka}
+
+### Škálování blobů {#scale-blobs}
+
+#### PeerDAS {#peerdas}
+
+Toto je _hlavní tahák_ forku Fusaka, hlavní funkce přidaná v tomto vylepšení. Druhé vrstvy v současné době posílají svá data na Ethereum v blobech, což je efemérní datový typ vytvořený speciálně pro druhé vrstvy. Před vylepšením Fusaka musel každý plný uzel ukládat každý blob, aby se zajistilo, že data existují. Se zvyšující se propustností blobů se stahování všech těchto dat stává neudržitelně náročným na zdroje.
+
+S [vzorkováním dostupnosti dat](https://notes.ethereum.org/@fradamt/das-fork-choice) bude místo nutnosti ukládat všechna data blobů každý uzel zodpovědný za podmnožinu dat blobů. Bloby jsou rovnoměrně náhodně distribuovány mezi uzly v síti, přičemž každý plný uzel drží pouze 1/8 dat, což teoreticky umožňuje až 8násobné škálování. Pro zajištění dostupnosti dat lze jakoukoli část dat zrekonstruovat z jakýchkoli existujících 50 % celku pomocí metod, které snižují pravděpodobnost nesprávných nebo chybějících dat na kryptograficky zanedbatelnou úroveň (~jedna ku 1020 až jedna ku 1024).
+
+Tím jsou nároky na hardware a šířku pásma pro uzly udržitelné a zároveň je umožněno škálování blobů, což vede k většímu škálování s menšími poplatky pro druhé vrstvy.
+
+[Zjistěte více o PeerDAS](/roadmap/fusaka/peerdas/)
+
+**Zdroje**:
+
+- [Technická specifikace EIP-7594](https://eips.ethereum.org/EIPS/eip-7594)
+- [DappLion on PeerDAS: Scaling Ethereum Today | ETHSofia 2024](https://youtu.be/bONWd1x2TjQ?t=328)
+- [Akademické: A Documentation of Ethereum’s PeerDAS (PDF)](https://eprint.iacr.org/2024/1362.pdf)
+
+#### Forky pouze s parametry blobů {#blob-parameter-only-forks}
+
+Druhé vrstvy škálují Ethereum – jak jejich sítě rostou, potřebují posílat více dat na Ethereum. To znamená, že Ethereum bude muset postupem času zvyšovat počet blobů, které jim jsou k dispozici. Ačkoli PeerDAS umožňuje škálování dat blobů, je třeba to dělat postupně a bezpečně.
+
+Protože Ethereum je kód běžící na tisících nezávislých uzlů, které vyžadují shodu na stejných pravidlech, nemůžeme jednoduše zavádět změny, jako je zvýšení počtu blobů, stejným způsobem, jakým nasazujete aktualizaci webových stránek. Jakákoli změna pravidel musí být koordinovaným vylepšením, při kterém se software každého uzlu, klienta a validátora vylepší před stejným předem určeným blokem.
+
+Tato koordinovaná vylepšení obecně zahrnují mnoho změn, vyžadují mnoho testování a to zabere čas. Aby bylo možné se rychleji přizpůsobit měnícím se potřebám blobů druhé vrstvy, forky pouze s parametry blobů zavádějí mechanismus pro zvýšení počtu blobů, aniž by bylo nutné čekat na plán vylepšení.
+
+Forky pouze s parametry blobů mohou být nastaveny klienty, podobně jako jiná konfigurace, například palivový limit. Mezi hlavními vylepšeními Etherea se klienti mohou dohodnout na zvýšení `cílového` a `maximálního` počtu blobů například na 9 a 12 a poté operátoři uzlů provedou aktualizaci, aby se zúčastnili tohoto malého forku. Tyto forky pouze s parametry blobů lze nakonfigurovat kdykoli.
+
+Když byly bloby poprvé přidány do sítě v rámci vylepšení Dencun, cíl byl 3. Ten byl v Pectře zvýšen na 6 a po vylepšení Fusaka jej lze nyní zvyšovat udržitelným tempem nezávisle na těchto velkých vylepšeních sítě.
+
+
+
+Zdroj grafu: [Ethereum Blobs – @hildobby, Dune Analytics](https://dune.com/hildobby/blobs)
+
+**Zdroje**: [Technická specifikace EIP-7892](https://eips.ethereum.org/EIPS/eip-7892)
+
+#### Základní poplatek blobu ohraničený exekučními náklady {#blob-base-fee-bounded-by-execution-costs}
+
+Druhé vrstvy platí při odesílání dat dva účty: poplatek za blob a exekuční palivo potřebné k ověření těchto blobů. Pokud dominuje exekuční palivo, aukce poplatků za bloby může klesnout až na 1 wei a přestat být cenovým signálem.
+
+EIP-7918 stanovuje proporcionální rezervní cenu pod každým blobem. Když je rezerva vyšší než nominální základní poplatek za blob, algoritmus pro úpravu poplatků považuje blok za překračující cíl, přestane tlačit poplatek dolů a umožní mu normálně se zvýšit. Výsledkem je:
+
+- trh s poplatky za bloby vždy reaguje na přetížení
+- druhé vrstvy platí alespoň smysluplnou část výpočetního výkonu, který nutí uzly vynaložit
+- skoky základního poplatku na exekuční vrstvě již nemohou nechat poplatek za blob na hodnotě 1 wei
+
+**Zdroje**:
+
+- [Technická specifikace EIP-7918](https://eips.ethereum.org/EIPS/eip-7918)
+- [Vysvětlení ve Storybooku](https://notes.ethereum.org/@anderselowsson/AIG)
+
+### Škálování L1 {#scale-l1}
+
+#### Vypršení platnosti historie a jednodušší potvrzení {#history-expiry}
+
+V červenci 2025 začali exekuční klienti Etherea [podporovat částečné vypršení platnosti historie](https://blog.ethereum.org/2025/07/08/partial-history-exp). Tím byla odstraněna historie starší než [Sloučení](https://ethereum.org/roadmap/merge/), aby se snížil prostor na disku požadovaný operátory uzlů, protože Ethereum stále roste.
+
+Tento EIP je v samostatné sekci od „základních EIP“, protože fork ve skutečnosti neimplementuje žádné změny – je to oznámení, že týmy klientů musí podporovat vypršení platnosti historie do vylepšení Fusaka. Prakticky mohou klienti toto implementovat kdykoli, ale přidání do vylepšení to konkrétně zařadilo na jejich seznam úkolů a umožnilo jim testovat změny vylepšení Fusaka ve spojení s touto funkcí.
+
+**Zdroje**: [Technická specifikace EIP-7642](https://eips.ethereum.org/EIPS/eip-7642)
+
+#### Nastavení horních hranic pro MODEXP {#set-upper-bounds-for-modexp}
+
+Doposud předkompilace MODEXP přijímala čísla prakticky jakékoli velikosti. To ztěžovalo testování, usnadňovalo zneužití a představovalo riziko pro stabilitu klienta. EIP-7823 zavádí jasný limit: každé vstupní číslo může mít maximálně 8192 bitů (1024 bajtů). Cokoli většího je zamítnuto, palivo transakce je spáleno a nedochází k žádným změnám stavu. Velmi pohodlně pokrývá reálné potřeby a zároveň odstraňuje extrémní případy, které komplikovaly plánování palivového limitu a bezpečnostní kontroly. Tato změna poskytuje větší bezpečnost a ochranu proti DoS útokům, aniž by to ovlivnilo zážitek uživatele nebo vývojáře.
+
+**Zdroje**: [Technická specifikace EIP-7823](https://eips.ethereum.org/EIPS/eip-7823)
+
+#### Strop palivového limitu transakce {#transaction-gas-limit-cap}
+
+EIP-[7825](https://eips.ethereum.org/EIPS/eip-7825) přidává strop 16 777 216 (2^24) paliva na transakci. Jedná se o proaktivní posílení proti DoS útokům omezením nejhoršího možného nákladu na jakoukoli jednotlivou transakci při zvyšování palivového limitu bloku. Usnadňuje to modelování validace a šíření, což nám umožňuje řešit škálování zvyšováním palivového limitu.
+
+Proč přesně 2^24 paliva? Je to pohodlně menší než dnešní palivový limit, dostatečně velké pro reálné nasazení kontraktů a náročné předkompilace, a mocnina 2 usnadňuje implementaci napříč klienty. Tato nová maximální velikost transakce je podobná průměrné velikosti bloku před vylepšením Pectra, což z ní činí rozumný limit pro jakoukoli operaci na Ethereu.
+
+**Zdroje**: [Technická specifikace EIP-7825](https://eips.ethereum.org/EIPS/eip-7825)
+
+#### Zvýšení nákladů na palivo `MODEXP` {#modexp-gas-cost-increase}
+
+MODEXP je vestavěná funkce předkompilace, která počítá modulární umocňování, což je typ matematiky s velkými čísly používaný při ověřování podpisů RSA a v důkazových systémech. Umožňuje kontraktům provádět tyto výpočty přímo, aniž by je musely samy implementovat.
+
+Vývojáři a týmy klientů identifikovali MODEXP jako hlavní překážku pro zvýšení palivového limitu bloku, protože současné ocenění paliva často podceňuje, kolik výpočetního výkonu některé vstupy vyžadují. To znamená, že jedna transakce využívající MODEXP by mohla zabrat většinu času potřebného ke zpracování celého bloku, což by zpomalilo síť.
+
+Tento EIP mění ocenění tak, aby odpovídalo skutečným výpočetním nákladům:
+
+- zvýšením minimálního poplatku z 200 na 500 paliva a odstraněním třetinové slevy z EIP-2565 na obecný výpočet nákladů
+- prudším zvyšováním nákladů, když je vstup exponentu velmi dlouhý. pokud je exponent (číslo „mocniny“, které předáváte jako druhý argument) delší než 32 bajtů / 256 bitů, poplatek za palivo stoupá mnohem rychleji za každý další bajt
+- účtováním dodatečných nákladů za velkou základnu nebo modulus. Předpokládá se, že ostatní dvě čísla (základna a modulus) mají alespoň 32 bajtů – pokud je jedno z nich větší, náklady rostou v poměru k jeho velikosti
+
+Díky lepšímu sladění nákladů se skutečnou dobou zpracování již MODEXP nemůže způsobit, že by validace bloku trvala příliš dlouho. Tato změna je jednou z několika, které mají za cíl umožnit bezpečné zvýšení palivového limitu bloku Etherea v budoucnu.
+
+**Zdroje**: [Technická specifikace EIP-7883](https://eips.ethereum.org/EIPS/eip-7883)
+
+#### Limit velikosti exekučního bloku RLP {#rlp-execution-block-size-limit}
+
+Tím se vytváří strop pro velikost bloku – jedná se o limit toho, co se _posílá_ po síti, a je oddělen od palivového limitu, který omezuje _práci_ uvnitř bloku. Strop velikosti bloku je 10 MiB, s malou rezervou (2 MiB) vyhrazenou pro data konsenzu, aby se vše vešlo a čistě šířilo. Pokud se objeví větší blok, klienti jej odmítnou.
+Je to nutné, protože velmi velké bloky se déle šíří a ověřují po síti a mohou vytvářet problémy s konsenzem nebo být zneužity jako vektor DoS útoku. Také gossip vrstvy konsenzu již nepředává bloky větší než ~10 MiB, takže sladění exekuční vrstvy s tímto limitem zabraňuje podivným situacím, kdy je blok „viděn některými, ale zahozen jinými“.
+
+Podrobnosti: jedná se o strop velikosti exekučního bloku kódovaného pomocí [RLP](/developers/docs/data-structures-and-encoding/rlp/). Celkem 10 MiB, s 2 MiB bezpečnostní rezervou vyhrazenou pro rámování beacon-bloku. Prakticky klienti definují
+
+`MAX_BLOCK_SIZE = 10 485 760` bajtů a
+
+`SAFETY_MARGIN = 2 097 152` bajtů,
+
+a odmítají jakýkoli exekuční blok, jehož RLP datová část přesahuje
+
+`MAX_RLP_BLOCK_SIZE = MAX_BLOCK_SIZE − SAFETY_MARGIN`
+
+Cílem je omezit nejhorší možnou dobu šíření/validace a sladit se s chováním gossipu vrstvy konsenzu, čímž se sníží riziko reorganizace/DoS útoku bez změny účtování paliva.
+
+**Zdroje**: [Technická specifikace EIP-7934](https://eips.ethereum.org/EIPS/eip-7934)
+
+#### Nastavení výchozího palivového limitu na 60 milionů {#set-default-gas-limit-to-60-million}
+
+Před zvýšením palivového limitu z 30 M na 36 M v únoru 2025 (a následně na 45 M) se tato hodnota od Sloučení (září 2022) nezměnila. Cílem tohoto EIP je učinit konzistentní škálování prioritou.
+
+EIP-7935 koordinuje týmy EL klientů, aby zvýšily výchozí palivový limit nad dnešních 45 M pro vylepšení Fusaka. Je to informační EIP, ale explicitně žádá klienty, aby testovali vyšší limity na devnetech, dohodli se na bezpečné hodnotě a tuto hodnotu zahrnuli do svých vydání pro Fusaka.
+
+Plánování na devnetech cílí na zátěž ~60 M (plné bloky se syntetickou zátěží) a iterativní navyšování; výzkum říká, že nejhorší patologie velikosti bloku by se neměly projevit pod ~150 M. Zavádění by mělo být spárováno se stropem palivového limitu transakce (EIP-7825), aby žádná jednotlivá transakce nemohla dominovat při zvyšování limitů.
+
+**Zdroje**: [Technická specifikace EIP-7935](https://eips.ethereum.org/EIPS/eip-7935)
+
+### Zlepšení UX {#improve-ux}
+
+#### Deterministický pohled na navrhovatele {#deterministic-proposer-lookahead}
+
+S EIP-7917 bude Beacon Chain vědět o nadcházejících navrhovatelích bloků pro další epochu. Mít deterministický pohled na to, kteří validátoři budou navrhovat budoucí bloky, může umožnit [předběžná potvrzení](https://ethresear.ch/t/based-preconfirmations/17353) – závazek s nadcházejícím navrhovatelem, který zaručuje, že uživatelská transakce bude zahrnuta do jeho bloku bez čekání na skutečný blok.
+
+Tato funkce přináší výhody implementacím klientů a zabezpečení sítě, protože zabraňuje okrajovým případům, kdy by validátoři mohli manipulovat s plánem navrhovatelů. Pohled dopředu také umožňuje snížit složitost implementace.
+
+**Zdroje**: [Technická specifikace EIP-7917](https://eips.ethereum.org/EIPS/eip-7917)
+
+#### Operační kód pro počítání úvodních nul (CLZ) {#count-leading-zeros-opcode}
+
+Tato funkce přidává malou instrukci EVM, **počet úvodních nul (CLZ)**. Téměř vše v EVM je reprezentováno jako 256bitová hodnota – tento nový operační kód vrací, kolik nulových bitů je na začátku. Jedná se o běžnou funkci v mnoha architekturách instrukčních sad, protože umožňuje efektivnější aritmetické operace. V praxi to zhušťuje dnešní ručně vytvořené skenování bitů do jednoho kroku, takže nalezení prvního nastaveného bitu, skenování bajtů nebo parsování bitových polí se stává jednodušším a levnějším. Operační kód je levný, má pevné náklady a byl benchmarkován tak, aby byl na stejné úrovni jako základní sčítání, což zkracuje bajtkód a šetří palivo pro stejnou práci.
+
+**Zdroje**: [Technická specifikace EIP-7939](https://eips.ethereum.org/EIPS/eip-7939)
+
+#### Předkompilace pro podporu křivky secp256r1 {#secp256r1-precompile}
+
+Zavádí vestavěný ověřovač podpisů secp256r1 (P-256) ve stylu passkey na pevné adrese `0x100`, který používá stejný formát volání, jaký již přijaly mnohé L2, a opravuje okrajové případy, takže kontrakty napsané pro tato prostředí fungují na L1 bez změn.
+
+Vylepšení UX! Pro uživatele to odemyká podepisování nativní pro zařízení a passkeys. Peněženky se mohou přímo napojit na Apple Secure Enclave, Android Keystore, hardwarové bezpečnostní moduly (HSM) a FIDO2/WebAuthn – bez bezpečnostní fráze, s plynulejším onboardingem a vícefaktorovými toky, které působí jako moderní aplikace. Výsledkem je lepší UX, snazší obnova a vzory abstrakce účtu, které odpovídají tomu, co již dělají miliardy zařízení.
+
+Pro vývojáře přijímá 160bajtový vstup a vrací 32bajtový výstup, což usnadňuje portování stávajících knihoven a kontraktů L2. Pod kapotou obsahuje kontroly bodu v nekonečnu a modulární porovnání, aby se eliminovaly záludné okrajové případy bez narušení platných volajících.
+
+**Zdroje**:
+
+- [Technická specifikace EIP-7951](https://eips.ethereum.org/EIPS/eip-7951)
+- [Více o RIP-7212](https://www.alchemy.com/blog/what-is-rip-7212) _(Poznámka: EIP-7951 nahradil RIP-7212)_
+
+### Meta {#meta}
+
+#### Metoda JSON-RPC `eth_config` {#eth-config}
+
+Toto je volání JSON-RPC, které vám umožňuje zeptat se vašeho uzlu, jaká nastavení forku používáte. Vrací tři snímky: `current`, `next` a `last`, takže validátoři a monitorovací nástroje mohou ověřit, že klienti jsou připraveni na nadcházející fork.
+
+Prakticky řečeno, jde o řešení nedostatku objeveného, když fork Pectra byl spuštěn na testovací síti Holesky na začátku roku 2025 s drobnými chybami v konfiguraci, což vedlo k nefinalizujícímu stavu. To pomáhá testovacím týmům a vývojářům zajistit, že se velké forky budou chovat podle očekávání při přechodu z devnetů na testovací sítě a z testovacích sítí na hlavní síť.
+
+Snímky zahrnují: `chainId`, `forkId`, plánovaný čas aktivace forku, které předkompilace jsou aktivní, adresy předkompilací, závislosti systémových kontraktů a plán blobů forku.
+
+Tento EIP je v samostatné sekci od „základních EIP“, protože fork ve skutečnosti neimplementuje žádné změny – je to oznámení, že týmy klientů musí tuto metodu JSON-RPC implementovat do vylepšení Fusaka.
+
+**Zdroje**: [Technická specifikace EIP-7910](https://eips.ethereum.org/EIPS/eip-7910)
+
+## Nejčastější dotazy {#faq}
+
+### Ovlivňuje toto vylepšení všechny uzly a validátory Etherea? {#does-this-upgrade-affect-all-ethereum-nodes-and-validators}
+
+Ano, vylepšení Fusaka vyžaduje aktualizace jak [exekučních klientů, tak koncenzus klientů](/developers/docs/nodes-and-clients/). Všechny hlavní klienty Etherea vydají verze podporující hard fork označený jako vysoce prioritní. Můžete sledovat, kdy budou tyto verze k dispozici v repozitářích Githubu klientů, na jejich [kanálech Discord](https://ethstaker.org/support), na [Discordu EthStaker](https://dsc.gg/ethstaker) nebo přihlášením k odběru blogu Etherea pro aktualizace protokolu. Aby operátoři uzlů po vylepšení udrželi synchronizaci se sítí Ethereum, musí si ověřit, že používají podporovanou verzi klienta. Nezapomínejte, že informace o vydání upgradů klientů jsou časově citlivé, a uživatelé by měli sledovat nejnovější aktualizace pro nejaktuálnější podrobnosti.
+
+### Jak mohu posílat ETH po hard forku? {#how-can-eth-be-converted-after-the-hardfork}
+
+- **S vašimi prostředky nemusíte nic dělat**: Po vylepšení Ethereum Fusaka není potřeba ETH převádět nebo vylepšovat. Zůstatky na vašem účtu se nezmění a ETH, které aktuálně držíte, zůstanou po hard forku přístupné ve své stávající podobě.
+- **Pozor na podvody!** **Každý, kdo vás vyzývá k „upgradu“ vašich ETH, se vás snaží podvést.** V souvislosti s tímto vylepšením nemusíte podnikat žádné kroky. Vaše aktiva zůstanou nedotčena. Pamatujte, že informovanost je nejlepší obranou proti podvodům.
+
+[Více o rozpoznávání a vyhýbání se podvodům](/security/)
+
+### Co s těmi zebrami? {#whats-with-the-zebras}
+
+Zebra je vývojáři zvolený „maskot“ vylepšení Fusaka, protože její pruhy odrážejí sloupcové vzorkování dostupnosti dat v PeerDAS, kde uzly spravují určité podstavy sloupců a vzorkují několik dalších sloupců z každého peer slotu, aby zkontrolovaly, zda jsou data blobu dostupná.
+
+Sloučení v roce 2022 [použilo pandu](https://x.com/hwwonx/status/1431970802040127498) jako svého maskota, aby signalizovalo spojení exekuční a konsenzuální vrstvy. Od té doby byli pro každý fork neformálně zvoleni maskoti a objevují se jako ASCII art v logách klientů v době vylepšení. Je to jen zábavný způsob, jak to oslavit.
+
+### Jaká vylepšení jsou zahrnuta pro škálování L2? {#what-improvements-are-included-for-l2-scaling}
+
+[PeerDAS](/roadmap/fusaka/peerdas) je hlavní funkcí forku. Implementuje vzorkování dostupnosti dat (DAS), které odemyká větší škálovatelnost pro rollupy, teoreticky škáluje prostor pro bloby až 8krát oproti současné velikosti. Trh s poplatky za bloby bude také vylepšen, aby efektivně reagoval na přetížení a zaručil, že L2 zaplatí smysluplný poplatek za výpočetní výkon a prostor, které bloby pro uzly představují.
+
+### Jak se liší BPO forky? {#how-are-bpo-forks-different}
+
+Forky pouze s parametry blobů poskytují mechanismus pro neustálé zvyšování počtu blobů (jak cílového, tak maximálního) po aktivaci PeerDAS, aniž by bylo nutné čekat na plné koordinované vylepšení. Každé zvýšení je napevno předkonfigurováno ve vydáních klientů podporujících Fusaka.
+
+Jako uživatel nebo validátor nemusíte aktualizovat své klienty pro každé BPO a stačí se ujistit, že sledujete hlavní hardforky jako Fusaka. Je to stejná praxe jako dříve, nejsou potřeba žádné zvláštní akce. Stále se doporučuje monitorovat vaše klienty kolem vylepšení a BPO a udržovat je aktualizované i mezi hlavními vydáními, protože opravy nebo optimalizace mohou následovat po hardforku.
+
+### Jaký je plán BPO? {#what-is-the-bpo-schedule}
+
+Přesný plán aktualizací BPO bude stanoven s vydáními Fusaka. Sledujte [Oznámení o protokolu](https://blog.ethereum.org/category/protocol) a poznámky k vydání vašich klientů.
+
+Příklad, jak by to mohlo vypadat:
+
+- Před vylepšením Fusaka: cíl 6, max 9
+- Při aktivaci vylepšení Fusaka: cíl 6, max 9
+- BPO1, několik týdnů po aktivaci Fusaka: cíl 10, max 15, zvýšení o dvě třetiny
+- BPO2, několik týdnů po BPO1: cíl 14, max 21
+
+### Sníží to poplatky na Ethereu (první vrstva)? {#will-this-lower-gas}
+
+Toto vylepšení nesnižuje poplatky za palivo na L1, alespoň ne přímo. Hlavním zaměřením je více prostoru pro bloby pro data rollupů, což snižuje poplatky na druhé vrstvě. To může mít některé vedlejší účinky na trh s poplatky na L1, ale neočekává se žádná významná změna.
+
+### Jako staker, co musím pro vylepšení udělat? {#as-a-staker-what-do-i-need-to-do-for-the-upgrade}
+
+Jako u každého vylepšení sítě se ujistěte, že aktualizujete své klienty na nejnovější verze označené podporou Fusaka. Sledujte aktualizace v mailing listu a [Oznámení o protokolu na blogu EF](https://blog.ethereum.org/category/protocol), abyste byli informováni o vydáních.
+Pro ověření vašeho nastavení před aktivací Fusaka na hlavní síti můžete spustit validátor na testovacích sítích. Fusaka je [aktivována dříve na testovacích sítích](https://blog.ethereum.org/2025/09/26/fusaka-testnet-announcement), což vám dává více prostoru, abyste se ujistili, že vše funguje, a nahlásili chyby. Forky na testovací síti jsou také oznamovány v mailing listu a na blogu.
+
+### Ovlivňuje „Deterministický pohled na navrhovatele“ (EIP-7917) validátory? {#does-7917-affect-validators}
+
+Tato změna nemění fungování vašeho klienta validátora, nicméně poskytne více vhledu do budoucnosti vašich povinností validátora. Ujistěte se, že aktualizujete své monitorovací nástroje, abyste drželi krok s novými funkcemi.
+
+### Jak Fusaka ovlivňuje požadavky na šířku pásma pro uzly a validátory? {#how-does-fusaka-affect-bandwidth-requirements-for-nodes-and-validators}
+
+PeerDAS přináší významnou změnu v tom, jak uzly přenášejí data blobů. Všechna data jsou rozdělena na části zvané sloupce napříč 128 podsítěmi, přičemž uzly se přihlašují pouze k některým z nich. Množství sloupců podsítí, které musí uzly spravovat, závisí na jejich konfiguraci a počtu připojených validátorů. Skutečné požadavky na šířku pásma budou záviset na množství povolených blobů v síti a typu uzlu. V okamžiku aktivace vylepšení Fusaka zůstává cíl blobů stejný jako předtím, ale s PeerDAS mohou operátoři uzlů zaznamenat snížení využití disku pro bloby a síťového provozu. Jakmile BPO nakonfigurují vyšší počet blobů v síti, potřebná šířka pásma se s každým BPO zvýší.
+
+Požadavky na uzly jsou i po BPO vylepšení Fusaka stále v [doporučených mezích](https://eips.ethereum.org/EIPS/eip-7870).
+
+#### Plné uzly {#full-nodes}
+
+Běžné uzly bez jakýchkoli validátorů se přihlásí pouze ke 4 podsítím, což zajišťuje správu 1/8 původních dat. To znamená, že se stejným množstvím dat blobů by šířka pásma uzlu pro jejich stahování byla osmkrát (8x) menší. Využití disku a šířka pásma pro stahování blobů pro normální plný uzel by se mohly snížit o přibližně 80 %, na pouhých několik Mb.
+
+#### Sólo stakeři {#solo-stakers}
+
+Pokud je uzel používán pro klienta validátora, musí spravovat více sloupců a tedy zpracovávat více dat. S přidaným validátorem se uzel přihlašuje k alespoň 8 sloupcovým podsítím a proto zpracovává dvakrát více dat než běžný uzel, ale stále méně než před vylepšením Fusaka. Pokud je zůstatek validátora nad 287 ETH, bude se přihlašovat k dalším a dalším podsítím.
+
+Pro solo stakera to znamená, že se jeho využití disku a šířka pásma pro stahování sníží o přibližně 50 %. Nicméně pro lokální vytváření bloků a nahrávání všech blobů do sítě je zapotřebí větší šířka pásma pro nahrávání. Lokální tvůrci budou potřebovat 2–3krát vyšší šířku pásma pro nahrávání než předtím v době vylepšení Fusaka a s cílem BPO2 15/21 blobů bude konečná potřebná šířka pásma pro nahrávání muset být přibližně 5krát vyšší, tedy 100 Mpbs.
+
+#### Velcí validátoři {#large-validators}
+
+Počet přihlášených podsítí roste s větším zůstatkem a větším počtem validátorů připojených k uzlu. Například při zůstatku kolem 800 ETH uzel spravuje 25 sloupců a bude potřebovat o přibližně 30 % více šířky pásma pro stahování než předtím. Potřebná šířka pásma pro nahrávání roste podobně jako u běžných uzlů a je zapotřebí alespoň 100 Mbps.
+
+Při 4096 ETH, 2 validátoři s maximálním zůstatkem, se uzel stává „superuzlem“, který spravuje všechny sloupce, tedy stahuje a ukládá vše. Tyto uzly aktivně léčí síť tím, že přispívají chybějícími daty, ale také vyžadují mnohem větší šířku pásma a úložiště. S konečným cílem pro bloby 6krát vyšším než předtím budou muset super uzly ukládat přibližně 600 GB dalších dat blobů a mít rychlejší trvalou šířku pásma pro stahování kolem 20 Mbps.
+
+[Přečtěte si více podrobností o očekávaných požadavcích.](https://ethpandaops.io/posts/fusaka-bandwidth-estimation/#theoretical-requirements)
+
+### Jaké změny v EVM jsou implementovány? {#what-evm-changes-are-implemented}
+
+Fusaka upevňuje EVM novými drobnými změnami a funkcemi.
+
+- Pro bezpečnost při škálování bude maximální velikost jedné transakce [omezena na 16,7 milionu](https://eips.ethereum.org/EIPS/eip-7825) jednotek paliva.
+- [Nový operační kód pro počítání úvodních nul (CLZ)](https://eips.ethereum.org/EIPS/eip-7939) je přidán do EVM a umožní jazykům chytrých kontraktů provádět určité operace efektivněji.
+- [Náklady na předkompilaci `ModExp` budou zvýšeny](https://eips.ethereum.org/EIPS/eip-7883) – kontrakty, které ji používají, budou za exekuci účtovat více paliva.
+
+### Jak nový limit paliva 16M ovlivňuje vývojáře kontraktů? {#how-does-new-16m-gas-limit-affects-contract-developers}
+
+Fusaka zavádí limit na [maximální velikost jedné transakce na 16,7 milionu](https://eips.ethereum.org/EIPS/eip-7825) (2^24) jednotek paliva. To je přibližně předchozí velikost průměrného bloku, což je dostatečně velké na to, aby to pojalo složité transakce, které by spotřebovaly celý blok. Tento limit vytváří ochranu pro klienty, čímž zabraňuje potenciálním DoS útokům v budoucnu s vyšším palivovým limitem bloku. Cílem škálování je umožnit, aby se do blockchainu dostalo více transakcí, aniž by jediná spotřebovala celý blok.
+
+Běžné uživatelské transakce jsou daleko od dosažení tohoto limitu. Tato změna může ovlivnit určité okrajové případy, jako jsou velké a složité operace DeFi, nasazení velkých chytrých kontraktů nebo dávkové transakce cílící na více kontraktů. Tyto transakce budou muset být rozděleny na menší nebo optimalizovány jiným způsobem. Před odesláním transakcí, které potenciálně dosahují limitu, použijte simulaci.
+
+Metoda RPC `eth_call` není omezena a umožní simulaci větších transakcí, než je skutečný limit blockchainu. Skutečný limit pro metody RPC může být nakonfigurován operátorem klienta, aby se zabránilo zneužití.
+
+### Co znamená CLZ pro vývojáře? {#what-clz-means-for-developers}
+
+Kompilátory EVM jako Solidity budou implementovat a využívat novou funkci pro počítání nul pod kapotou. Nové kontrakty mohou těžit z úspor paliva, pokud se spoléhají na tento typ operace. Sledujte vydání a oznámení funkcí jazyka chytrých kontraktů pro dokumentaci o potenciálních úsporách.
+
+### Jsou nějaké změny pro mé stávající chytré kontrakty? {#what-clz-means-for-developers}
+
+Fusaka nemá žádný přímý vliv, který by narušil jakékoli stávající kontrakty nebo změnil jejich chování. Změny zavedené do exekuční vrstvy jsou provedeny se zpětnou kompatibilitou, nicméně vždy sledujte okrajové případy a potenciální dopad.
+
+[Se zvýšenými náklady na předkompilaci `ModExp`](https://eips.ethereum.org/EIPS/eip-7883) budou kontrakty, které na ní závisí, spotřebovávat více paliva pro exekuci. Pokud se váš kontrakt na toto silně spoléhá a stává se pro uživatele dražším, zvažte, jak je využíván.
+
+Zvažte [nový limit 16,7 milionu](https://eips.ethereum.org/EIPS/eip-7825), pokud by transakce provádějící vaše kontrakty mohly dosahovat podobné velikosti.
+
+## Další čtení {#further-reading}
+
+- [Plán Etherea](/roadmap/)
+- [Forkcast: Fusaka](https://forkcast.org/upgrade/fusaka)
+- [Meta EIP Fusaka](https://eips.ethereum.org/EIPS/eip-7607)
+- [Oznámení o testovací síti Fusaka na blogu](https://blog.ethereum.org/2025/09/26/fusaka-testnet-announcement)
+- [Bankless: What Fusaka & Pectra will bring Ethereum](https://www.bankless.com/read/what-fusaka-pectra-will-bring-ethereum)
+- [Bankless: Ethereum's Next Upgrades: Fusaka, Glamsterdam & Beyond with Preston Van Loon](https://x.com/BanklessHQ/status/1956017743289020633?t=502)
+- [The Fusaka Files](https://www.youtube.com/playlist?list=PL4cwHXAawZxpz-erUbKKUnnGoQNdF8s7Z)
+- [PEEPanEIPs Explained](https://www.youtube.com/playlist?list=PL4cwHXAawZxoIenfk7OJry4rxcqX-eqBt)
diff --git a/public/content/translations/cs/roadmap/fusaka/peerdas/index.md b/public/content/translations/cs/roadmap/fusaka/peerdas/index.md
new file mode 100644
index 00000000000..ec482438f4c
--- /dev/null
+++ b/public/content/translations/cs/roadmap/fusaka/peerdas/index.md
@@ -0,0 +1,88 @@
+---
+title: PeerDAS
+description: Seznamte se s PeerDAS jako součástí vylepšení protokolu Ethereum Fusaka
+lang: cs
+---
+
+# PeerDAS {#peer-das}
+
+Protokol Ethereum prochází svým nejvýznamnějším vylepšením škálování od [zavedení blob transakcí s EIP-4844](/roadmap/danksharding/). Jako součást [vylepšení Fusaka](/roadmap/fusaka/), PeerDAS zavádí nový způsob zpracování blob dat, přinášející zhruba desetinásobné zvýšení kapacity **[dostupnosti dat (DA)](/developers/docs/data-availability/)** pro L2.
+
+[Více o plánu škálování blobů](https://blog.ethereum.org/2025/08/22/protocol-update-002)
+
+## Škálovatelnost {#scalability}
+
+Vizí Etherea je být neutrální, bezpečnou a decentralizovanou platformou dostupnou pro každého na světě. S rostoucím využitím sítě to vyžaduje vyvažování trilematu škálovatelnosti, bezpečnosti a decentralizace sítě. Pokud by Ethereum jednoduše zvýšilo objem dat zpracovávaných sítí v rámci svého současného návrhu, hrozilo by riziko přetížení [uzlů, na které Ethereum spoléhá pro svou decentralizaci](/developers/docs/nodes-and-clients/). Škálovatelnost vyžaduje důsledný návrh mechanismů, který minimalizuje kompromisy.
+
+Jednou ze strategií k dosažení tohoto cíle je umožnit existenci rozmanitého ekosystému řešení škálování druhé vrstvy namísto zpracování všech transakcí na hlavní síti [první vrstvy (L1)](/glossary/#layer-1). [Druhé vrstvy (L2)](/glossary/#layer-2) neboli [rollupy](/glossary#rollups) zpracovávají transakce na svých vlastních oddělených řetězcích a používají Ethereum k ověření a zabezpečení. Publikování pouze bezpečnostně-kritických závazků a komprese datových nákladů umožňuje L2 efektivněji využívat kapacitu dostupnosti dat (DA) Etherea. Na oplátku L1 přenáší méně dat bez ohrožení bezpečnostních záruk, zatímco L2 přivádějí více uživatelů s nižšími náklady na palivo. Zpočátku L2 publikovaly data jako `calldata` v běžných transakcích, což soupeřilo s L1 transakcemi o palivo a bylo to nepraktické pro hromadnou dostupnost dat.
+
+## Proto-Danksharding {#proto-danksharding}
+
+Prvním velkým krokem ke škálování L2 bylo vylepšení Dencun, které zavedlo [Proto-Danksharding](/roadmap/danksharding/) (EIP-4844). Toto vylepšení vytvořilo nový, specializovaný datový typ pro rollupy nazvaný bloby. [Bloby](/developers/docs/data-availability/blockchain-data-storage-strategies/#eip-4844-blobs), neboli binární velké objekty, jsou pomíjivé části libovolných dat, které nepotřebují spuštění EVM a uzly je ukládají jen na omezenou dobu. Toto efektivnější zpracování umožnilo L2 publikovat více dat do Etherea a ještě více škálovat.
+
+Navzdory tomu, že používání blobů již má silné výhody pro škálování, je to pouze část konečného cíle. V současném protokolu musí každý uzel v síti stále stahovat každý blob. Úzkým hrdlem se stává šířka pásma vyžadovaná od jednotlivých uzlů, přičemž množství dat, které je třeba stáhnout, se přímo zvyšuje s vyšším počtem blobů.
+
+Ethereum nedělá kompromisy v decentralizaci a šířka pásma je jedním z nejcitlivějších parametrů. I s výkonným výpočetním výkonem, který je široce dostupný každému, kdo si ho může dovolit, [omezení šířky pásma pro nahrávání](https://www.speedtest.net/global-index) dokonce i ve velkých městech v rozvinutých zemích (jako je [Německo](https://www.speedtest.net/global-index/germany), [Belgie](https://www.speedtest.net/global-index/belgium), [Austrálie](https://www.speedtest.net/global-index/australia) nebo [Spojené státy](https://www.speedtest.net/global-index/united-states)) by mohla omezit uzly tak, aby mohly běžet pouze z datových center, pokud nejsou požadavky na šířku pásma pečlivě vyladěny.
+
+Provozovatelé uzlů mají stále vyšší požadavky na šířku pásma a místo na disku s rostoucím počtem blobů. Velikost a množství blobů jsou těmito omezeními limitovány. Každý blob může nést až 128 kB dat s průměrem 6 blobů na blok. To byl jen první krok k budoucímu návrhu, který využívá bloby ještě efektivněji.
+
+## Vzorkování dostupnosti dat {#das}
+
+[Dostupnost dat](/developers/docs/data-availability/) je zárukou toho, že všechna data potřebná k nezávislému ověření řetězce jsou přístupná všem účastníkům sítě. Zajišťuje, že data byla plně publikována a lze je použít k nedůvěryhodnému ověření nového stavu řetězce nebo příchozích transakcí.
+
+Bloby Etherea poskytují silnou záruku dostupnosti dat, která zajišťuje bezpečnost L2. K tomu musí uzly Etherea stahovat a ukládat bloby v jejich celistvosti. Ale co kdybychom mohli distribuovat bloby v síti efektivněji a vyhnout se tomuto omezení?
+
+Odlišný přístup k ukládání dat a zajištění jejich dostupnosti je **vzorkování dostupnosti dat (DAS)**. Namísto toho, aby každý počítač, na kterém běží Ethereum, plně ukládal každý jednotlivý blob, zavádí DAS decentralizovanou dělbu práce. Rozděluje zátěž zpracování dat distribucí menších, zvládnutelných úkolů napříč celou sítí uzlů. Bloby jsou rozděleny na části a každý uzel stahuje jen několik částí pomocí mechanismu pro rovnoměrnou náhodnou distribuci mezi všemi uzly.
+
+To přináší nový problém – dokazování dostupnosti a integrity dat. Jak může síť zaručit, že data jsou dostupná a všechna jsou správná, když jednotlivé uzly drží jen malé části? Škodlivý uzel by mohl poskytovat falešná data a snadno tak narušit silné záruky dostupnosti dat! Zde přichází na pomoc kryptografie.
+
+Pro zajištění integrity dat byl již EIP-4844 implementován s KZG závazky. Jsou to kryptografické důkazy vytvořené při přidání nového blobu do sítě. Malý důkaz je zahrnut v každém bloku a uzly mohou ověřit, že přijaté bloby odpovídají KZG závazku bloku.
+
+DAS je mechanismus, který na tomto staví a zajišťuje, že data jsou správná i dostupná. Vzorkování je proces, při kterém uzel dotazuje pouze malou část dat a ověřuje ji proti závazku. KZG je schéma polynomiálního závazku, což znamená, že lze ověřit jakýkoli jednotlivý bod na polynomiální křivce. Kontrolou pouhých několika bodů na polynomu může mít klient provádějící vzorkování silnou pravděpodobnostní záruku, že data jsou dostupná.
+
+## PeerDAS {#peer-das}
+
+[PeerDAS (EIP-7594)](https://eips.ethereum.org/EIPS/eip-7594) je specifický návrh, který implementuje mechanismus DAS v Ethereu a představuje pravděpodobně největší vylepšení od Sloučení (The Merge). PeerDAS je navržen tak, aby rozšiřoval blob data rozdělením na sloupce a distribucí podmnožiny uzlům.
+
+Ethereum si k dosažení tohoto cíle vypůjčuje chytrou matematiku: aplikuje na blob data opravné kódování ve stylu Reed-Solomon. Blob data jsou reprezentována jako polynom, jehož koeficienty kódují data, poté se tento polynom vyhodnotí v dalších bodech, aby se vytvořil rozšířený blob, čímž se zdvojnásobí počet vyhodnocení. Tato přidaná redundance umožňuje obnovu po výmazu: i když některé vyhodnocení chybí, původní blob lze zrekonstruovat, pokud je k dispozici alespoň polovina celkových dat, včetně rozšířených částí.
+
+
+
+Ve skutečnosti má tento polynom tisíce koeficientů. KZG závazky jsou hodnoty o velikosti několika bajtů, něco jako hash, známé všem uzlům. Každý uzel, který drží dostatek datových bodů, může [efektivně zrekonstruovat úplnou sadu blob dat](https://arxiv.org/abs/2207.11079).
+
+> Zajímavost: stejná technika kódování se používala u DVD. Pokud jste poškrábali DVD, přehrávač ho stále dokázal přečíst díky Reed-Solomon kódování, které doplňuje chybějící části polynomu.
+
+Historicky byla data v blockchainech, ať už bloky nebo bloby, vysílána všem uzlům. S přístupem PeerDAS, který spočívá v rozdělení a vzorkování, již není nutné vysílat všechno všem. Po vylepšení Fusaka je síťování na konsenzuální vrstvě organizováno do témat/podsítí pro šíření informací (gossip): sloupce blobů jsou přiřazeny specifickým podsítím a každý uzel se přihlašuje k odběru předem určených podmnožin a spravuje pouze tyto části.
+
+S PeerDAS jsou rozšířená blob data rozdělena do 128 částí nazývaných sloupce. Data jsou distribuována těmto uzlům prostřednictvím specializovaného protokolu pro šíření informací (gossip) na specifických podsítích, které odebírají. Každý běžný uzel v síti se účastní alespoň 8 náhodně vybraných sloupcových podsítí. Příjem dat pouze z 8 ze 128 podsítí znamená, že tento výchozí uzel přijímá pouze 1/16 všech dat, ale protože data byla rozšířena, jedná se o 1/8 původních dat.
+
+To umožňuje nový teoretický limit škálování 8x současného schématu „každý stahuje vše“. Když se uzly přihlašují k odběru různých náhodných podsítí obsluhujících sloupce blobů, je velmi vysoká pravděpodobnost, že jsou rovnoměrně rozloženy, a proto každá část dat existuje někde v síti. Uzly, které provozují validátory, jsou povinny odebírat více podsítí s každým validátorem, kterého provozují.
+
+> Každý uzel má jedinečné náhodně generované ID, které obvykle slouží jako jeho veřejná identita pro připojení. V PeerDAS se toto číslo používá k určení náhodné sady podsítí, které musí odebírat, což vede k rovnoměrné náhodné distribuci všech blob dat.
+
+Jakmile uzel úspěšně zrekonstruuje původní data, poté redistribuuje obnovené sloupce zpět do sítě, aktivně opravuje veškeré datové mezery a zvyšuje celkovou odolnost systému. Uzly připojené k validátorům s kombinovaným zůstatkem ≥4096 ETH musí být superuzlem, a proto musí odebírat všechny sloupce datových podsítí a spravovat všechny sloupce. Tyto superuzly budou neustále opravovat datové mezery. Pravděpodobnostní samoopravná povaha protokolu umožňuje silné záruky dostupnosti a zároveň neomezuje domácí operátory, kteří drží pouze části dat.
+
+
+
+Dostupnost dat může být potvrzena jakýmkoli uzlem, který drží pouze malou podmnožinu blob dat, díky výše popsanému mechanismu vzorkování. Tato dostupnost je vynucována: validátoři musí dodržovat nová pravidla pro výběr forku (fork-choice), což znamená, že budou přijímat bloky a hlasovat pro ně až poté, co ověří dostupnost dat.
+
+Přímý dopad na uživatele (zejména uživatele L2) jsou nižší poplatky. S 8x větším prostorem pro rollup data se uživatelské operace na jejich řetězci časem ještě zlevní. Ale nižší poplatky po vylepšení Fusaka si vyžádají čas a budou záviset na BPO.
+
+## Pouze blob parametry (BPO) {#bpo}
+
+Síť bude teoreticky schopna zpracovat 8x více blobů, ale zvyšování počtu blobů je změna, která musí být řádně otestována a bezpečně provedena postupným způsobem. Testovací sítě poskytují dostatečnou důvěru k nasazení funkcí na hlavní síť (Mainnet), ale musíme zajistit stabilitu p2p sítě před povolením výrazně vyššího počtu blobů.
+
+Aby se postupně zvyšoval cílový počet blobů na blok bez přetížení sítě, Fusaka zavádí forky **[pouze s parametry pro bloby (BPO)](https://ethereum-magicians.org/t/blob-parameter-only-bpo-forks/22623)**. Na rozdíl od běžných forků, které vyžadují širokou koordinaci ekosystému, dohodu a aktualizace softwaru, jsou [BPO (EIP-7892)](https://eips.ethereum.org/EIPS/eip-7892) předem naprogramovaná vylepšení, která časem zvyšují maximální počet blobů bez nutnosti zásahu.
+
+To znamená, že ihned po aktivaci Fusaky a spuštění PeerDAS zůstane počet blobů nezměněn. Počet blobů se začne každých několik týdnů zdvojnásobovat, dokud nedosáhne maxima 48, zatímco vývojáři budou sledovat, aby se ujistili, že mechanismus funguje podle očekávání a nemá nepříznivé účinky na uzly provozující síť.
+
+## Budoucí směřování {#future-directions}
+
+PeerDAS je pouze krokem [k větší vizi škálování FullDAS](https://ethresear.ch/t/fulldas-towards-massive-scalability-with-32mb-blocks-and-beyond/19529), neboli Danksharding. Zatímco PeerDAS používá 1D opravné kódování pro každý blob jednotlivě, plný Danksharding bude používat komplexnější 2D schéma opravného kódování napříč celou maticí blob dat. Rozšíření dat ve dvou dimenzích vytváří ještě silnější vlastnosti redundance a efektivnější rekonstrukci a ověřování. Realizace FullDAS bude vyžadovat značné optimalizace sítě a protokolu spolu s dalším výzkumem.
+
+## Další čtení {#further-reading}
+
+- [PeerDAS: Vzorkování dostupnosti dat mezi peery od Francesca D'Amata](https://www.youtube.com/watch?v=WOdpO1tH_Us)
+- [Dokumentace PeerDAS v Ethereu](https://eprint.iacr.org/2024/1362.pdf)
+- [Dokazování bezpečnosti PeerDAS bez AGM](https://eprint.iacr.org/2025/1683)
+- [Vitalik o PeerDAS, jeho dopadu a testování Fusaky](https://x.com/VitalikButerin/status/1970983281090085200)
\ No newline at end of file
diff --git a/public/content/translations/cs/roadmap/future-proofing/index.md b/public/content/translations/cs/roadmap/future-proofing/index.md
new file mode 100644
index 00000000000..ab10eb3ac49
--- /dev/null
+++ b/public/content/translations/cs/roadmap/future-proofing/index.md
@@ -0,0 +1,53 @@
+---
+title: Příprava na budoucnost Etherea
+description: Neustávající práce na vylepšeních činí Ethereum odolnou, decentralizovanou základní vrstvou, bez ohledu na to, co nám budoucnost přinese.
+lang: cs
+image: /images/roadmap/roadmap-future.png
+alt: "Plán Etherea"
+template: roadmap
+---
+
+Některé části plánu nejsou nezbytně nutné pro škálování nebo zabezpečení Etherea v blízké budoucnosti, ale pro stabilitu a spolehlivost ve vzdálené budoucnosti.
+
+## Kvantová odolnost {#quantum-resistance}
+
+Až se kvantové počítače stanou realitou, bude část [kryptografie](/glossary/#cryptography), která zabezpečuje dnešní Ethereum, kompromitována. Přestože kvantové počítače jsou pravděpodobně desítky let vývoje daleko od toho, aby se staly skutečnou hrozbou pro moderní kryptografii, Ethereum je budováno tak, aby bylo bezpečné po celá staletí. To znamená, že [Ethereum musí být co nejdříve kvantově odolné](https://consensys.net/blog/developers/how-will-quantum-supremacy-affect-blockchain/).
+
+Výzva, které čelí vývojáři Etherea, spočívá v tom, že současný protokol [proof-of-stake](/glossary/#pos) se spoléhá na velmi účinné schéma podpisů známé jako BLS k agregaci hlasů pro platné [bloky](/glossary/#block). Toto schéma podpisu je ohroženo kvantovými počítači, ale kvantově odolné alternativy nejsou tak účinné.
+
+Je známo, že schémata závazků [„KZG“](/roadmap/danksharding/#what-is-kzg) používaná na několika místech v síti Ethereum ke generování kryptografických tajemství jsou kvantově zranitelná. V současné době se to obchází pomocí „důvěryhodných nastavení“ (pro která byla hlavní ustavující ceremonie úspěšně dokončena v roce 2023), kde mnoho uživatelů generovalo náhodnost, kterou nelze zpětně analyzovat kvantovým počítačem. Ideálním dlouhodobým řešením by však bylo místo toho začlenit kvantově bezpečnou kryptografii. Existují dva hlavní přístupy, které by se mohly stát účinnými náhradami za schéma BLS: podepisování [založené na STARK](https://hackmd.io/@vbuterin/stark_aggregation) a podepisování [založené na mřížce](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175). **Tyto přístupy jsou stále aktivně zkoumány a prototypovány**.
+
+[Přečtěte si o KZG a důvěryhodných nastaveních](/roadmap/danksharding#what-is-kzg)
+
+## Jednodušší a efektivnější Ethereum {#simpler-more-efficient-ethereum}
+
+Složitost vytváří příležitosti pro chyby nebo zranitelnosti, které mohou útočníci zneužít. Součástí plánu je proto zjednodušení Etherea a odstranění nebo úprava kódu, který přetrval z různých vylepšení, ale již není potřeba nebo ho lze nyní vylepšit. Štíhlý a jednoduchý kód je pro vývojáře snazší udržovat a rozvíjet.
+
+Aby byl [Ethereum Virtual Machine (EVM)](/developers/docs/evm) jednodušší a efektivnější, neustále se zkoumají a implementují vylepšení. To zahrnuje jak řešení zastaralých komponent, tak zavádění optimalizací.
+
+**Nedávno implementované změny:**
+
+- **Přepracování výpočtu poplatků:** Způsob, jakým se počítá [gas (palivo)](/glossary/#gas), byl výrazně vylepšen pomocí **EIP-1559 (implementováno ve vylepšení London, 2021)**, které zavedlo základní poplatek a mechanismus pálení pro předvídatelnější ceny transakcí.
+- **Omezení `SELFDESTRUCT`:** Operační kód `SELFDESTRUCT` sice byl zřídka používán, ale představoval potenciální rizika. Jeho funkčnost byla výrazně **omezena ve vylepšení Dencun (březen 2024) prostřednictvím EIP-6780**, aby se zmírnila rizika, zejména pokud jde o správu stavu.
+- **Modernizované typy transakcí:** Byly zavedeny nové formáty transakcí (např. prostřednictvím **EIP-2718** a **EIP-4844** pro bloby ve vylepšení Dencun) pro podporu nových funkcí a zlepšení efektivity oproti starším typům.
+
+**Probíhající a budoucí cíle:**
+
+- **Další řešení `SELFDESTRUCT`:** Ačkoli je operační kód `SELFDESTRUCT` omezen, stále se zvažuje jeho **potenciální úplné odstranění** v budoucích vylepšeních pro další zjednodušení stavu EVM. ([Více kontextu k problémům se SELFDESTRUCT](https://hackmd.io/@vbuterin/selfdestruct)).
+- **Postupné odstraňování starších typů transakcí:** Ačkoli [klienti Etherea](/glossary/#consensus-client) stále podporují starší typy transakcí pro zpětnou kompatibilitu, cílem je podpořit přechod na novější typy a v budoucnu **potenciálně ukončit podporu nebo plně odstranit nejstarší formáty**.
+- **Pokračující výzkum efektivity gasu:** Pokračuje zkoumání **dalších vylepšení výpočtu gasu**, což může zahrnovat koncepty jako vícerozměrný gas pro lepší zohlednění využití zdrojů.
+- **Optimalizované kryptografické operace:** Pokračuje úsilí o **zavedení účinnějších metod pro aritmetiku**, která je základem kryptografických operací používaných v EVM.
+
+Podobně existují aktualizace, které lze provést v jiných částech současných klientů Etherea. Jedním z příkladů je, že současní exekutivní a konsensuální klienti používají jiný typ komprese dat. Sdílení dat mezi klienty bude mnohem jednodušší a intuitivnější, když bude schéma komprese jednotné v celé síti. Tato oblast zůstává předmětem zkoumání.
+
+## Aktuální postup {#current-progress}
+
+Mnoho dlouhodobých vylepšení pro budoucí odolnost, zejména **úplná kvantová odolnost pro klíčové protokoly, je stále ve fázi výzkumu a jejich implementace může být vzdálená několik let**.
+
+Nicméně **v úsilí o zjednodušení již bylo dosaženo významného pokroku.** Například klíčové změny jako **omezení `SELFDESTRUCT` (EIP-6780)** a zavedení **transakcí přenášejících bloby (EIP-4844)** byly implementovány ve **vylepšení Dencun (březen 2024)**. Pokračuje také práce na harmonizaci kompresních schémat klientů a dalších vylepšeních efektivity.
+
+**Další informace**
+
+- [Gas (palivo)](/developers/docs/gas)
+- [EVM](/developers/docs/evm)
+- [Datové struktury](/developers/docs/data-structures-and-encoding)
\ No newline at end of file
diff --git a/public/content/translations/cs/roadmap/merge/index.md b/public/content/translations/cs/roadmap/merge/index.md
index e33d6275ea6..9e9fbc42fde 100644
--- a/public/content/translations/cs/roadmap/merge/index.md
+++ b/public/content/translations/cs/roadmap/merge/index.md
@@ -1,5 +1,5 @@
---
-title: The Merge
+title: Sloučení
description: Zjistěte více o Sloučení – když hlavní síť Ethereum přešla na důkaz podílem.
lang: cs
template: upgrade
@@ -17,11 +17,11 @@ summaryPoint4: Sloučení snížilo spotřebu energie potřebné k provozu Ether
## Co bylo Sloučení? {#what-is-the-merge}
-Sloučení představovalo spojení původní exekuční vrstvy Etherea (hlavní síť, která existovala od [genesis](/ethereum-forks/#frontier)) s novou konsensuální vrstvou založenou na důkazu podílem, Řetězovou vazbou. To eliminovalo potřebu energeticky náročného těžení a místo toho umožnilo zabezpečení sítě pomocí uzamčeného ETH. Byl to opravdu zajímavý krok k naplnění vize Etherea — větší škálovatelnost, bezpečnost a udržitelnost.
+Sloučení bylo spojením původní exekuční vrstvy Etherea (hlavní sítě, která existuje od [počátku](/ethereum-forks/#frontier)) s její novou konsensuální vrstvou s důkazem podílem, Řetězovou vazbou. To eliminovalo potřebu energeticky náročného těžení a místo toho umožnilo zabezpečení sítě pomocí uzamčeného ETH. Byl to opravdu zajímavý krok k naplnění vize Etherea — větší škálovatelnost, bezpečnost a udržitelnost.
-Původně byla [Řetězová vazba](/roadmap/beacon-chain/) spuštěna nezávisle na [hlavní síti](/glossary/#mainnet). Hlavní síť Ethereum — se všemi svými účty, zůstatky, chytrými kontrakty a stavem blockchainu — byla nadále zabezpečována pomocí [důkazu prací](/developers/docs/consensus-mechanisms/pow/), i když Řetězová vazba běžela paralelně na [důkazu podílem](/developers/docs/consensus-mechanisms/pos/). Sloučení byl okamžik, kdy se tyto dva systémy konečně spojily a důkaz prací byl trvale nahrazen důkazem podílem.
+Původně byl [Beacon Chain](/roadmap/beacon-chain/) spuštěn odděleně od [hlavní sítě](/glossary/#mainnet). Hlavní síť Etherea – se všemi svými účty, zůstatky, chytrými kontrakty a stavem blockchainu – byla nadále zabezpečována [důkazem prací](/developers/docs/consensus-mechanisms/pow/), i když Řetězová vazba běžela souběžně a používala [důkaz podílem](/developers/docs/consensus-mechanisms/pos/). Sloučení byl okamžik, kdy se tyto dva systémy konečně spojily a důkaz prací byl trvale nahrazen důkazem podílem.
Představte si Ethereum jako vesmírnou loď, která byla vypuštěna předtím, než byla zcela připravena na mezihvězdné putování. S Řetězovou vazbou komunita postavila nový motor a zpevněný trup. Po pečlivém testování nastal čas vyměnit starý motor za nový během letu. Tím se nový, efektivnější motor zapojil do existující lodi, což jí umožnilo urazit velké vzdálenosti a vydat se hlouběji do vesmíru.
@@ -40,7 +40,7 @@ Historie nebyla během Sloučení vymazána. Jak se hlavní síť sloučila s Ř
-Tento přechod na důkaz podílem změnil způsob, jakým je ether vydáván. Přečtěte si další informace na téma [vydávání etheru před Sloučením a po něm](/roadmap/merge/issuance/).
+Tento přechod na důkaz podílem změnil způsob, jakým je ether vydáván. Zjistěte více o [vydávání etheru před a po Sloučení](/roadmap/merge/issuance/).
@@ -49,17 +49,17 @@ Tento přechod na důkaz podílem změnil způsob, jakým je ether vydáván. P
**Sloučení nezměnilo nic pro držitele/uživatele.**
-_Jednu věc je třeba zdůraznit_: Jako uživatel nebo držitel ETH nebo jakéhokoliv jiného digitálního aktiva na Ethereu, stejně jako uzamykatelé, kteří neprovozují síťové uzly, **nemusíte s vašimi prostředky nebo peněženkou podnikat kvůli Sloučení žádné kroky.** ETH je jednoduše ETH. Neexistuje něco jako „starý ETH“/„nový ETH“ nebo „ETH1“/„ETH2“ a peněženky fungují po Sloučení úplně stejně jako předtím — lidé, kteří vám říkají něco jiného, jsou s největší pravděpodobností podvodníci.
+_Jednu věc je třeba zdůraznit_: Jako uživatel nebo držitel ETH či jakéhokoli jiného digitálního aktiva na Ethereu, stejně jako stakeři, kteří neprovozují uzel, **nemusíte se svými prostředky nebo peněženkou kvůli Sloučení nic dělat.** ETH je prostě ETH. Neexistuje něco jako „starý ETH“/„nový ETH“ nebo „ETH1“/„ETH2“ a peněženky fungují po Sloučení úplně stejně jako předtím — lidé, kteří vám říkají něco jiného, jsou s největší pravděpodobností podvodníci.
Navzdory přechodu z důkazu prací na důkaz podílem zůstala celá historie Etherea od genesis neporušená a nezměněná. Jakékoliv prostředky držené ve vaší peněžence před Sloučením jsou stále přístupné i po Sloučení. **Nemusíte pro to vůbec nic udělat.**
-[Více o bezpečnosti Etherea](/security/#eth2-token-scam)
+[Více o zabezpečení Etherea](/security/#eth2-token-scam)
-### Provozovatelé síťových uzlů a vývojáři decentralizovaných aplikací {#node-operators-dapp-developers}
+### Provozovatelé uzlů a vývojáři dapp {#node-operators-dapp-developers}
Klíčové akční položky zahrnují:
@@ -70,30 +70,29 @@ Klíčové akční položky zahrnují:
Pokud neprovedete první dvě výše uvedené položky, vámi provozovaný síťový uzel uzel bude považován za „offline“, dokud nebudou obě vrstvy synchronizovány a autentizovány.
-Pokud nenastavíte adresu pro „příjem odměn“, váš validátor bude stále fungovat jako obvykle, ale poplatky a MEV, které byste jinak získali v blocích navržených vaším validátorem, budou spáleny.
-
+Pokud nenastavíte adresu pro „příjem odměn“, váš validátor bude stále fungovat jako obvykle, ale poplatky a MEV, které byste jinak získali v blocích navržených vaším validátorem, budou spáleny.
Před Sloučením byl exekuční klient (například Geth, Erigon, Besu nebo Nethermind) dostačující pro příjem, správné ověření a šíření bloků distribuovaných sítí. Platnost transakcí obsažených v exekuční zprávě _po Sloučení_ závisí i na platnosti „konsensuálního bloku“, ve kterém je obsažena.
Výsledkem je, že kompletní síťový uzel Etherea nyní potřebuje jak klienta exekučního, tak konsensuálního. Tyto dva klienty spolupracují prostřednictvím nového Engine API. Engine API vyžaduje autentizaci pomocí JWT klíče, který je poskytován oběma klientům a umožňuje jim tak bezpečnou komunikaci.
-Klíčové akční body zahrnují:
+Klíčové akční položky zahrnují:
-- Nainstalujte klienta konsensu navíc k exekučnímu klientovi.
-- Autentizujte exekuční a konsensuální klienty sdíleným JWT klíčem a umožněte jim tak bezpečnou komunikaci.
+- Nainstalujte si konsensuálního klienta navíc k exekučnímu klientovi
+- Autentizujte exekučního a konsensuálního klienta pomocí sdíleného tajemství JWT, aby spolu mohli bezpečně komunikovat.
Nesplnění výše uvedených položek povede k tomu, že váš uzel se bude jevit jako „offline“, dokud nebudou obě vrstvy synchronizovány a autentizovány.
Sloučení přineslo změny v konsensu, což zahrnuje i změny týkající se:
@@ -112,17 +111,17 @@ Více informací najdete v tomto příspěvku na blogu od Tima Beika o tom,
+title="Mylná představa: "Provozování uzlu vyžaduje uzamčení 32 ETH.""
+contentPreview="Nepravda. Kdokoli si může synchronizovat vlastní, sebou ověřenou kopii Etherea (tj. provozovat uzel). Žádné ETH není potřeba – ani před Sloučením, ani po Sloučení, nikdy.">
Existují dva typy síťových uzlů Etherea: Uzly, které mohou navrhovat bloky, a uzly, které nemohou.
@@ -134,54 +133,53 @@ Spuštění uzlu, který nenavrhuje bloky, je možné pro každého pod konsensu
Schopnost každého spustit svůj vlastní uzel je naprostým základem pro udržení decentralizace sítě Ethereum.
-[Další informace o provozování vlastního uzlu](/run-a-node/)
+[Více o provozování vlastního uzlu](/run-a-node/)
+title="Mylná představa: "Sloučení nesnížilo poplatky za palivo.""
+contentPreview="Nepravda. Sloučení bylo změnou mechanismu konsensu, nikoli rozšířením kapacity sítě, a nikdy nemělo za cíl snížit poplatky za palivo.">
Transakční poplatky jsou výsledkem poptávky na síti v poměru k její kapacitě. Sloučení zrušilo používání důkazu prací, došlo k přechodu na důkaz podílem z důvodu konsensu, ale nezměnilo významně žádné parametry, které přímo ovlivňují kapacitu nebo propustnost sítě.
-S plánem orientovaným na rollupy se úsilí zaměřuje na škálování uživatelské aktivity na [druhé vrstvě](/layer-2/), zatímco první vrstva hlavní síť funguje jako bezpečná decentralizovaná vypořádací vrstva optimalizovaná pro ukládání dat rollupů, což vede k exponenciálnímu snížení nákladů na transakce na rollupech. Přechod na důkaz podílem je klíčovým předpokladem pro realizaci tohoto cíle. [Další informace o palivu a poplatcích.](/developers/docs/gas/)
+S plánem orientovaným na rollupy se úsilí zaměřuje na škálování uživatelské aktivity na [druhé vrstvě](/layer-2/), zatímco hlavní síť na první vrstvě funguje jako bezpečná decentralizovaná vypořádací vrstva optimalizovaná pro ukládání dat rollupů, což vede k exponenciálnímu snížení nákladů na transakce na rollupech. Přechod na důkaz podílem je klíčovým předpokladem pro realizaci tohoto cíle. [Více o palivu a poplatcích.](/developers/docs/gas/)
-Rychlost transakce může být měřena několika způsoby, včetně času na zařazení do bloku a času k finalizaci. Oba tyto aspekty se mírně změnily, ale ne tak, aby to uživatelé zaznamenali.
+title="Mylná představa: "Sloučení podstatně zrychlilo transakce.""
+contentPreview="Nepravda. Ačkoli existují drobné změny, rychlost transakcí na první vrstvě je nyní většinou stejná jako před Sloučením.">
+„Rychlost“ transakce lze měřit několika způsoby, včetně doby potřebné pro zařazení do bloku a doby do finalizace. Oba tyto aspekty se mírně změnily, ale ne tak, aby to uživatelé zaznamenali.
-Historicky, na důkazu prací, bylo cílem mít nový blok přibližně každých 13,3 sekundy. Na důkazu podílem se sloty objevují přesně každých 12 sekund, z nichž každý je příležitostí pro validátora publikovat blok. Většina slotů obsahuje bloky, ale nutně ne všechny bloky (např. když je validátor offline). V případě důkazu podílem se bloky produkují přibližně o 10 % častěji než v případě důkazu prací. Tento rozdíl je poměrně nevýznamný a je nepravděpodobné, že by byl uživateli zaznamenán.
+Historicky, na důkazu prací, bylo cílem mít nový blok přibližně každých 13,3 sekundy. Na důkazu podílem se sloty objevují přesně každých 12 sekund, z nichž každý je příležitostí pro validátora publikovat blok. Většina slotů obsahuje bloky, ale nutně ne všechny (např. když je validátor offline). V případě důkazu podílem se bloky produkují přibližně o 10 % častěji než v případě důkazu prací. Tento rozdíl je poměrně nevýznamný a je nepravděpodobné, že by byl uživateli zaznamenán.
Důkaz podílem zavedl koncept finalizace transakcí, který dříve neexistoval. V případě důkazu prací se schopnost vrátit blok stává exponenciálně obtížnější s každým dalším blokem těženým po této transakci, ale nikdy nedosáhne nuly. V případě důkazu podílem jsou bloky seskupeny do epoch (6,4minutové úseky času obsahující 32 šancí na blok), o kterých validátoři hlasují. Když epocha skončí, validátoři hlasují o tom, zda ji lze považovat za „ověřenou“. Pokud se validátoři dohodnou na justifikaci epochy, bude finalizována v následující epoše. Vrátit finalizované transakce je ekonomicky neproveditelné, protože by to vyžadovalo zisk a spálení více než jedné třetiny celkového uzamčeného ETH.
+title="Mylná představa: "Sloučení umožnilo výběry uzamčených prostředků.""
+contentPreview="Nepravda, ale výběry uzamčených prostředků byly od té doby povoleny prostřednictvím vylepšení Shanghai/Capella.">
Bezprostředně po Sloučení mohli uzamykatelé přistupovat pouze k odměnám za poplatky a MEV, které získali v důsledku navrhování bloků. Tyto odměny jsou připisovány na účet, který sám o sobě vkladový není a který ovládá validátor (známý jako příjemce poplatků), a jsou dostupné okamžitě. Tyto odměny jsou oddělené od protokolových odměn za vykonávání funkcí validátora.
Po vylepšení sítě Shanghai/Capella mohou nyní uzamykatelé určit adresu pro výběr, kde mohou začít přijímat automatické výplaty jakéhokoliv přebytku zůstatku uzamčení (množství větší než je 32 ETH z protokolových odměn). Toto vylepšení také umožnilo validátorovi odemknout a získat celý svůj zůstatek po vystoupení ze sítě.
-[Další informace o výběrech prostředků z uzamčení](/staking/withdrawals/)
+[Více o výběrech uzamčených prostředků](/staking/withdrawals/)
-Po vylepšení Shanghai/Capella jsou validátoři motivováni k výběru svého zůstatku uzamčení nad 32 ETH, protože tyto prostředky nepřispívají k výnosu a leží nevyužity. V závislosti na APR (určeném celkovým množstvím uzamčeného ETH) mohou být motivováni k vystoupení ze svých validátorů, aby si vymohli celý svůj zůstatek, nebo případně uzamknout ještě více pomocí svých odměn, aby získali větší výnos.
+title="Mylná představa: "Když je Sloučení dokončeno a výběry jsou povoleny, všichni stakeři mohou odejít najednou.""
+contentPreview="Nepravda. Odejití validátorů je z bezpečnostních důvodů omezeno.">
+Od vylepšení Shanghai/Capella, které povolilo výběry, jsou validátoři motivováni k výběru svého zůstatku uzamčených prostředků nad 32 ETH, protože tyto prostředky nepřispívají k výnosu a jinak by ležely nevyužity. V závislosti na APR (určeném celkovým množstvím uzamčeného ETH) mohou být motivováni k vystoupení ze svých validátorů, aby si vymohli celý svůj zůstatek, nebo případně uzamknout ještě více pomocí svých odměn, aby získali větší výnos.
Důležité upozornění: Úplné vystoupení validátorů je omezeno protokolem, a pouze určité množství validátorů může vystoupit během jedné epochy (každých 6,4 minuty). Tento limit se mění v závislosti na počtu aktivních validátorů, ale vychází přibližně na 0,33 % celkového uzamčeného ETH, které může být vybráno ze sítě za jeden den.
To brání masovému exodu uzamčených prostředků. Dále to zabraňuje potenciálnímu útočníkovi, který má přístup k velké části celkového uzamčeného ETH, aby spáchal trestný čin a vystoupil či vybral všechny zůstatky vadných validátorů v jedné epoše, než protokol uplatní trest.
-APR je také úmyslně dynamický, což umožňuje trhu uzamykatelů vyvážit, kolik jsou ochotni být placeni za zabezpečení sítě. Pokud je sazba příliš nízká, validátoři vystoupí rychlostí omezenou protokolem. Tento krok postupně zvýší APR pro všechny, kteří zůstanou, a znovu přiláká nové nebo vracející se uzamykatele.
-
+APR je také úmyslně dynamický, což umožňuje trhu uzamykatelů vyvážit, kolik jsou ochotni být placeni za zabezpečení sítě. Pokud je sazba příliš nízká, validátoři vystoupí rychlostí omezenou protokolem. Tento krok postupně zvýší APR pro všechny, kteří zůstanou, a znovu přiláká nové nebo vracející se uzamykatele.
## Co se stalo s Eth2? {#eth2}
@@ -194,15 +192,15 @@ Aby nedošlo ke zmatku, komunita tyto termíny aktualizovala:
Tyto změny termínů slouží pouze k úpravě názvosloví. Cíle ani plán Etherea se nemění.
-[Další informace o přejmenování Eth2](https://blog.ethereum.org/2022/01/24/the-great-eth2-renaming/)
+[Přečtěte si více o přejmenování „Eth2“](https://blog.ethereum.org/2022/01/24/the-great-eth2-renaming/)
-## Vztahy mezi aktualizacemi {#relationship-between-upgrades}
+## Vztah mezi vylepšeními {#relationship-between-upgrades}
-Všechna Ethereum vylepšení jsou poněkud vzájemně provázaná. Pojďme si tedy připomenout, jak Sloučení souvisí s ostatními vylepšeními.
+Všechna vylepšení Etherea jsou vzájemně provázaná. Pojďme si tedy připomenout, jak Sloučení souvisí s ostatními vylepšeními.
### Sloučení a Řetězová vazba {#merge-and-beacon-chain}
-Sloučení představuje formální přijetí Řetězové vazby jako nové konsensuální vrstvy k původní exekuční vrstvě, hlavní síti. Po Sloučení jsou validátoři pověřeni zajištěním hlavní sítě Ethereum a těžba pomocí [důkazu prací](/developers/docs/consensus-mechanisms/pow/) již není platným způsobem tvorby bloků.
+Sloučení představuje formální přijetí Řetězové vazby jako nové konsensuální vrstvy k původní exekuční vrstvě, hlavní síti. Od Sloučení jsou validátoři přidělováni k zabezpečení hlavní sítě Etherea a těžba pomocí [důkazu prací](/developers/docs/consensus-mechanisms/pow/) již není platným způsobem produkce bloků.
Bloky jsou nyní navrhovány validujícími uzly, které mají uzamčené ETH, výměnou za právo účastnit se konsensu. Tato vylepšení připravují půdu pro budoucí škálovací vylepšení, včetně tříštění.
@@ -214,19 +212,19 @@ Bloky jsou nyní navrhovány validujícími uzly, které mají uzamčené ETH, v
Aby se usnadnilo a maximalizovalo zaměření na úspěšný přechod na důkaz podílem, vylepšení Sloučení z počátku nezahrnovalo některé očekávané funkce, jako je možnost vybrat uzamčené ETH. Tato funkčnost byla umožněna samostatně s vylepšením Shanghai/Capella.
-Těm z vás, které toto téma zajímá, doporučujeme podívat se na příspěvek [Co se stane po Sloučení](https://youtu.be/7ggwLccuN5s?t=101) od Vitalika na akci ETHGlobal v dubnu 2021.
+Zvědavci se mohou dozvědět více v prezentaci [Co se stane po Sloučení](https://youtu.be/7ggwLccuN5s?t=101) od Vitalika na akci ETHGlobal v dubnu 2021.
-### Sloučení a tříštění {#merge-and-data-sharding}
+### Sloučení a sharding {#merge-and-data-sharding}
-Původní plán byl pracovat na tříštění před Sloučením, aby se zlepšila škálovatelnost. Nicméně, s boomem [řešení škálování druhé vrstvy](/layer-2/) dostal přednost přechod z důkazu prací na důkaz podílem.
+Původní plán byl pracovat na tříštění před Sloučením, aby se zlepšila škálovatelnost. S boomem [řešení škálování druhé vrstvy](/layer-2/) však dostal přednost nejprve přechod z důkazu prací na důkaz podílem.
Plány na tříštění se rychle vyvíjejí, ale vzhledem k úspěchu technologií druhé vrstvy pro škálování exekuce transakcí, se přesunuly na hledání optimálního způsobu, jak distribuovat zátěž, kterou způsobuje uchovávání komprimovaných calldat z kontraktů rollupů, což umožní exponenciální růst kapacity sítě. To by nebylo možné bez předchozího přechodu na důkaz podílem.
- Tříštění
+ Sharding
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
diff --git a/public/content/translations/cs/roadmap/merge/issuance/index.md b/public/content/translations/cs/roadmap/merge/issuance/index.md
index 84e1f29f7c5..b0ae234bc6b 100644
--- a/public/content/translations/cs/roadmap/merge/issuance/index.md
+++ b/public/content/translations/cs/roadmap/merge/issuance/index.md
@@ -6,7 +6,7 @@ lang: cs
# Jak Sloučení ovlivnilo nabídku ETH {#how-the-merge-impacts-ETH-supply}
-Sloučení představovalo přechod sítě Ethereum z důkazu prací na důkaz podílem, který proběhl v září 2022. Způsob vydávání nových ETH do oběhu v této době prošel změnami. Dříve byly nové ETH vydávány ze dvou zdrojů: z exekuční vrstvy (tj. hlavní síť) a vrstvy konsenzu (tj. Řetězová vazba). Od Sloučení je na exekuční vrstvě vydávání nových ETH nulové. Pojďme si to vysvětlit.
+Sloučení představovalo přechod sítě Ethereum z důkazu prací na důkaz podílem, který proběhl v září 2022. Způsob vydávání nových ETH do oběhu v této době prošel změnami. Dříve se nová ETH vydávala ze dvou zdrojů: exekuční vrstvy (tj. Mainnet) a vrstvy konsenzu (tj. Beacon Chain). Od Sloučení je na exekuční vrstvě vydávání nových ETH nulové. Pojďme si to vysvětlit.
## Složky vydávání ETH {#components-of-eth-issuance}
@@ -16,105 +16,95 @@ Nabídku ETH můžeme rozdělit na dvě hlavní složky: vydávání a pálení.
+title="Vydávání ETH ve zkratce">
-- Před přechodem na důkaz podílem bylo těžařům vydáváno přibližně 13 000 ETH/den.
-- Uzamykatelům je vydáváno přibližně 1 700 ETH/den, na základě přibližně 14 milionů celkově uzamčených ETH.
-- Přesná míra vydávání uzamčení se mění podle celkového množství uzamčených ETH.
-- **Od Sloučení se vydává pouze ~1 700 ETH/den, což snižuje celkové vydávání nových ETH o ~88 %**.
-- Pálení: Mění se podle poptávky sítě. - Pokud je průměrná cena paliva alespoň 16 gwei za daný den, nastává efektivní kompenzace právě těch ~1 700 ETH, které jsou vydávány validátorům, a směruje čistou inflaci ETH v daný den k nule nebo níže.
+- Před přechodem na důkaz podílem bylo těžařům vydáváno přibližně 13 000 ETH denně
+- Uzamykatelům je vydáváno přibližně 1 700 ETH denně, a to na základě celkového objemu přibližně 14 milionů uzamčených ETH
+- Přesné vydávání za uzamčení kolísá v závislosti na celkovém množství uzamčených ETH
+- **Od Sloučení zůstává pouze ~1 700 ETH/den, což snižuje celkové nové vydávání ETH o ~88 %**
+- Pálení: Toto kolísá v závislosti na poptávce v síti. - Pokud je průměrná cena paliva alespoň 16 gwei za daný den, nastává efektivní kompenzace právě těch ~1 700 ETH, které jsou vydávány validátorům, a směruje čistou inflaci ETH v daný den k nule nebo níže.
## Před Sloučením (historicky) {#pre-merge}
-### Vydávání v exekuční vrstvě {#el-issuance-pre-merge}
+### Vydávání na exekuční vrstvě {#el-issuance-pre-merge}
-Za časů důkazu prací komunikovali těžaři pouze s exekuční vrstvou, a pokud byli první, kdo vyřešil další blok, byla jejich práce kompenzována blokovými odměnami. Od [vylepšení Constantinople](/ethereum-forks/#constantinople) v roce 2019 činila tato odměna 2 ETH na blok. Těžaři byli také odměňováni za zveřejňování [ommer](/glossary/#ommer) bloků, což byly platné bloky, které se neobjevily v nejdelším/kanonickém řetězci. Tyto odměny dosahovaly maximálně 1,75 ETH na ommer a těžaři je dostávali _navíc k_ odměně za kanonický blok. Proces těžby byl ekonomicky náročnou aktivitou, která v minulosti navíc vyžadovala vysokou úroveň vydávání ETH za účelem zachování udržitelnosti.
+Za časů důkazu prací komunikovali těžaři pouze s exekuční vrstvou, a pokud byli první, kdo vyřešil další blok, byla jejich práce kompenzována blokovými odměnami. Od [vylepšení Constantinople](/ethereum-forks/#constantinople) v roce 2019 činila tato odměna 2 ETH za blok. Těžaři byli také odměňováni za zveřejňování [ommer](/glossary/#ommer) bloků, což byly platné bloky, které se neobjevily v nejdelším/kanonickém řetězci. Tyto odměny dosahovaly maximálně 1,75 ETH na ommer a byly _navíc k_ odměně vydané z kanonického bloku. Proces těžby byl ekonomicky náročnou aktivitou, která v minulosti navíc vyžadovala vysokou úroveň vydávání ETH za účelem zachování udržitelnosti.
-### Vydávání ve vrstvě konsenzu {#cl-issuance-pre-merge}
+### Vydávání na vrstvě konsenzu {#cl-issuance-pre-merge}
-[Řetězová vazba](/ethereum-forks/#beacon-chain-genesis) byla spuštěna v roce 2020. Místo těžařů je zabezpečena validátory využívajícími důkaz podílem. Tento řetězec byl inicializován uživateli Etherea, kteří vkládali ETH jednosměrně do chytrého kontraktu na hlavní síti (exekuční vrstva), který Řetězová vazba sledovala a připsala uživateli stejné množství ETH na novém řetězci. Dokud nedošlo ke Sloučení, validátoři Řetězové vazby nezpracovávali transakce a v podstatě dosahovali shody ohledně samotného stavu poolu validátorů.
+[Beacon Chain](/ethereum-forks/#beacon-chain-genesis) byl spuštěn v roce 2020. Místo těžařů je zabezpečena validátory využívajícími důkaz podílem. Tento řetězec byl inicializován uživateli Etherea, kteří vkládali ETH jednosměrně do chytrého kontraktu na hlavní síti (exekuční vrstva), který Řetězová vazba sledovala a připsala uživateli stejné množství ETH na novém řetězci. Dokud nedošlo ke Sloučení, validátoři Řetězové vazby nezpracovávali transakce a v podstatě dosahovali shody ohledně samotného stavu poolu validátorů.
-Validátoři na Řetězové vazbě jsou za potvrzování stavu řetězce a navrhování bloků odměňováni v ETH. Odměny (nebo pokuty) jsou vypočítávány a rozdělovány každou epochu (každých 6,4 minuty) na základě výkonu validátorů. Odměny validátorům jsou **výrazně** menší než odměny za těžbu, které byly dříve vydávány v době důkazu prací (2 ETH každých ~13,5 sekundy), protože provoz validujícího uzlu není tak ekonomicky náročný, a proto nevyžaduje, a tím pádem ani neospravedlňuje, tak vysokou odměnu.
+Validátoři na Řetězové vazbě jsou za potvrzování stavu řetězce a navrhování bloků odměňováni v ETH. Odměny (nebo pokuty) jsou vypočítávány a rozdělovány každou epochu (každých 6,4 minuty) na základě výkonu validátorů. Odměny pro validátory jsou **výrazně** menší než odměny za těžbu, které byly dříve vydávány v rámci důkazu prací (2 ETH každých ~13,5 sekundy), protože provozování validujícího uzlu není tak ekonomicky náročné a nevyžaduje ani neopravňuje k tak vysoké odměně.
-### Systém vydávání před Sloučením {#pre-merge-issuance-breakdown}
+### Rozpis vydávání před Sloučením {#pre-merge-issuance-breakdown}
Celková nabídka ETH: **~120 520 000 ETH** (v době Sloučení v září 2022)
**Vydávání v exekuční vrstvě:**
-- Odhadováno na 2,08 ETH každých 13,3 sekundy*: **~4 930 000** ETH vydáno za rok
-- Vedlo k inflaci **přibližně 4,09 %** (4,93 mil. za rok / 120,5 mil. celkem)
-- \*To zahrnuje 2 ETH za kanonický blok, plus průměrně 0,08 ETH za ommer bloky. Také pracuje s časovým úsekem 13,3 sekundy, což je základní cílový čas bloku bez jakéhokoli vlivu [bomby obtížnosti.](/glossary/#difficulty-bomb). ([Vizte zdroje](https://bitinfocharts.com/ethereum/))
+- Odhad činil 2,08 ETH za 13,3 sekundy\*: **~4 930 000** ETH vydaných za rok
+- Výsledkem byla míra inflace **přibližně 4,09 %** (4,93 mil. za rok / 120,5 mil. celkem)
+- \*To zahrnuje 2 ETH za kanonický blok, plus průměrně 0,08 ETH za ommer bloky. Také používá 13,3 sekundy, což je základní cílový čas bloku bez vlivu [bomby obtížnosti](/glossary/#difficulty-bomb). ([Viz zdroj](https://bitinfocharts.com/ethereum/))
**Vydávání ve vrstvě konsenzu:**
-- Při použití 14 000 000 celkově uzamčených ETH je míra vydávání ETH přibližně 1700 ETH/den ([Vizte zdroj](https://ultrasound.money/))
+- Při 14 000 000 celkově uzamčených ETH je míra vydávání ETH přibližně 1700 ETH/den ([Viz zdroj](https://ultrasound.money/))
- Výsledkem je **~620 500** ETH vydaných za rok
-- To vedlo k inflaci **přibližně 0,52 %** (620,5 tis. za rok / 119,3 mil. celkem)
+- Výsledkem byla míra inflace **přibližně 0,52 %** (620,5 tis. za rok / 119,3 mil. celkem)
-
-**Celková anualizovaná míra vydávání (před Sloučením): ~4,61 %** (4,09 % + 0,52 %)
+**Celková roční míra vydávání (před Sloučením): ~4,61 %** (4,09 % + 0,52 %)
-**~88,7 %** vydávaných ETH směřovalo k těžařům v exekuční vrstvě (4,09 / 4,61 * 100)
+**~88,7 %** vydávání šlo těžařům na exekuční vrstvě (4,09 / 4,61 \* 100)
-**~11,3 %** bylo vydáváno uzamykatelům ve vrstvě konsenzu (0,52 / 4,61 * 100)
-
-
-
+**~11,3 %** bylo vydáváno uzamykatelům na vrstvě konsenzu (0,52 / 4,61 \* 100)
## Po Sloučení (současnost) {#post-merge}
-### Vydávání v exekuční vrstvě {#el-issuance-post-merge}
+### Vydávání na exekuční vrstvě {#el-issuance-post-merge}
-Vydávání ETH v exekuční vrstvě je od Sloučení nulové. Podle nových pravidel konsenzu už důkaz prací není platným způsobem tvorby bloků. Veškerá činnost v exekuční vrstvě je seskupena do „beacon bloků“, které jsou potvrzovány a publikovány validátory důkazu podílem. Odměny za potvrzování a publikování beacon bloků jsou evidovány samostatně ve vrstvě konsenzu.
+Vydávání na exekuční vrstvě je od Sloučení nulové. Důkaz prací již není platným prostředkem produkce bloků podle vylepšených pravidel konsenzu. Veškerá aktivita na exekuční vrstvě je zabalena do "beacon bloků", které jsou zveřejňovány a potvrzovány validátory důkazu podílem. Odměny za potvrzování a zveřejňování beacon bloků se účtují zvlášť na vrstvě konsenzu.
-### Vydávání ve vrstvě konsenzu {#cl-issuance-post-merge}
+### Vydávání na vrstvě konsenzu {#cl-issuance-post-merge}
-Vydávání ETH ve vrstvě konsenzu pokračuje stejně jako před Sloučením, s malými odměnami pro validátory, kteří potvrzují a navrhují bloky. Odměny validátorů se nadále připisují k jejich _zůstatkům_ spravovaným ve vrstvě konsenzu. Na rozdíl od aktuálních účtů („exekučních“ účtů), které mohou provádět transakce na hlavní síti, tyto samostatné účty Etherea nemohou volně transakčně interagovat s jinými účty Etherea. Prostředky na těchto účtech lze stáhnout pouze na jednu specifikovanou exekuční adresu.
+Vydávání na vrstvě konsenzu pokračuje i dnes jako před Sloučením, s malými odměnami pro validátory, kteří potvrzují a navrhují bloky. Odměny pro validátory se nadále připisují na _zůstatky validátorů_, které jsou spravovány v rámci vrstvy konsenzu. Na rozdíl od běžných ("exekučních") účtů, které mohou provádět transakce na Mainnetu, tyto oddělené účty Etherea nemohou volně provádět transakce s jinými účty Etherea. Prostředky z těchto účtů lze vybrat pouze na jednu specifikovanou exekuční adresu.
-Od vylepšení Shanghai/Capella, které proběhlo v dubnu 2023, je umožněno uzamykatelům vybírat tyto prostředky. Uzamykatelé mají motivaci k vybrání svých _výdělků/odměn (přebytek nad 32 ETH)_, protože tyto prostředky nijak nepřispívají k váze jejich uzamčení (která se maximálně rovná 32).
+Od vylepšení Shanghai/Capella, které proběhlo v dubnu 2023, jsou tyto výběry pro uzamykatele povoleny. Uzamykatelé jsou motivováni k výběru svých _výdělků/odměn (zůstatek nad 32 ETH)_, protože tyto prostředky jinak nepřispívají k váze jejich podílu (která je maximálně 32).
-Uzamykatelé se také mohou rozhodnout odejít a vybrat celý zůstatek. Aby bylo zajištěno, že Ethereum zůstane stabilní, je počet validátorů, kteří mohou odejít současně, omezen.
+Uzamykatelé se také mohou rozhodnout odejít a vybrat si celý zůstatek svého validátora. Aby byla zajištěna stabilita Etherea, je počet současně odcházejících validátorů omezen.
-Přibližně 0,33 % z celkového počtu validátorů může odejít během jednoho dne. Ve výchozím nastavení mohou odejít čtyři (4) validátoři během jedné epochy (každých 6,4 minuty, tedy 900 za den). Další jeden (1) validátor dostane povolení k odchodu na každých 65 536 (216) dalších validátorů nad 262 144 (218). Například, s více než 327 680 validátory může odejít pět (5) validátorů během jedné epochy (1 125 za den). Šest (6) dostane povolení s celkovým počtem aktivních validátorů nad 393 216 a tak dále.
+Přibližně 0,33 % z celkového počtu validátorů může odejít v daný den. Standardně mohou odejít čtyři (4) validátoři za epochu (každých 6,4 minuty, neboli 900 za den). Další jeden (1) validátor může odejít na každých 65 536 (216) dalších validátorů nad 262 144 (218). Například při více než 327 680 validátorech může za epochu odejít pět (5) (1 125 za den). Šest (6) bude povoleno při celkovém počtu aktivních validátorů nad 393 216 a tak dále.
-Čím více validátorů vybírá své prostředky, tím více je maximální počet odcházejících validátorů postupně snižován na minimálně čtyři, aby se úmyslně zabránilo hromadnému destabilizujícímu vybírání velkého množství uzamčených ETH současně.
+S tím, jak bude více validátorů vybírat, bude se maximální počet odcházejících validátorů postupně snižovat na minimum čtyř, aby se záměrně zabránilo souběžnému výběru velkých destabilizujících částek uzamčených ETH.
-### Rozbor inflace po Sloučení {#post-merge-inflation-breakdown}
+### Rozpis inflace po Sloučení {#post-merge-inflation-breakdown}
- Celková nabídka ETH: **~120 520 000 ETH** (v době Sloučení v září 2022)
-- Vydávání v exekuční vrstvě: **0**
-- Vydávání ve vrstvě konsenzu: Stejné jako výše, roční míra vydávání (při celkovém uzamčení 14 milionů ETH) je **~0,52 %**
+- Vydávání na exekuční vrstvě: **0**
+- Vydávání na vrstvě konsenzu: Stejné jako výše, roční míra vydávání **~0,52 %** (při 14 milionech celkem uzamčených ETH)
-
-Celková roční míra vydávání: **~0,52 %**
+Celková roční míra vydávání: **~0,52 %**
-Čisté snížení ročního vydávání ETH: **~88,7 %** ((4,61 % - 0,52 %) / 4,61 % * 100)
-
-
-
+Čisté snížení ročního vydávání ETH: **~88,7 %** ((4,61 % – 0,52 %) / 4,61 % \* 100)
-## Pálení {#the-burn}
+## Pálení {#the-burn}
-Opakem vydávání ETH je stupeň, při které je ETH pálen. Aby byla transakce na Ethereu provedena, musí být zaplacen minimální poplatek (známý jako „základní poplatek“), který se neustále mění (blok od bloku) v závislosti na aktivitě sítě. Poplatek je placen v ETH a je _nezbytný_ pro to, aby byla transakce považována za platnou. Tento poplatek je během transakčního procesu _pálen_, čímž se odstraňuje z oběhu.
+Opakem vydávání ETH je stupeň, při které je ETH pálen. Aby byla transakce na Ethereu provedena, musí být zaplacen minimální poplatek (známý jako „základní poplatek“), který se neustále mění (blok od bloku) v závislosti na aktivitě sítě. Poplatek se platí v ETH a je _vyžadován_, aby byla transakce považována za platnou. Tento poplatek se během transakce _pálí_, čímž je odstraněn z oběhu.
-Pálení poplatků bylo spuštěno s [vylepšením London](/ethereum-forks/#london) v srpnu 2021 a od Sloučení zůstává beze změn.
-
-
-
+
+Pálení poplatků bylo spuštěno s [vylepšením London](/ethereum-forks/#london) v srpnu 2021 a od Sloučení zůstává nezměněno.
Kromě pálení poplatků zavedeného s vylepšením London mohou validátoři také dostávat pokuty za to, že jsou offline, nebo hůře, mohou být „potrestáni“ za porušení specifických pravidel, které ohrožuje bezpečnost sítě. Tyto pokuty vedou k odečtení ETH od zůstatku validátora, aniž by byly převedeny jako odměna jinému účtu, čímž se efektivně pálí/odstraňují z oběhu.
-### Výpočet průměrné ceny paliva za účelem deflace {#calculating-average-gas-price-for-deflation}
+### Výpočet průměrné ceny paliva pro deflaci {#calculating-average-gas-price-for-deflation}
Jak bylo uvedeno výše, množství vydaného ETH za daný den závisí na celkovém uzamčeném ETH. V době psaní tohoto textu je to přibližně 1700 ETH/den.
@@ -124,26 +114,26 @@ Abychom určili průměrnou cenu paliva potřebnou k úplné kompenzaci vydává
- `(5 bloků za jednu minutu) * (60 minut za jednu hodinu) = 300 bloků za jednu hodinu`
- `(300 bloků za jednu hodinu) * (24 hodin za jeden den) = 7200 bloků za jeden den`
-Každý blok cílí na `15x10^6 paliva za blok` ([více o palivu](/developers/docs/gas/)). Použitím tohoto výpočtu můžeme stanovit průměrnou cenu paliva (v jednotkách gwei za jednotku paliva) potřebnou k vyrovnání vydávání, pokud je dané denní vydávání ETH v objemu 1700 ETH:
+Každý blok cílí na `15x10^6 paliva/blok` ([více o palivu](/developers/docs/gas/)). Použitím tohoto výpočtu můžeme stanovit průměrnou cenu paliva (v jednotkách gwei za jednotku paliva) potřebnou k vyrovnání vydávání, pokud je dané denní vydávání ETH v objemu 1700 ETH:
-- `7200 bloků za jeden den * 15x10^6 paliva za jeden blok * `**`Y gwei za jedno palivo`**` * 1 ETH/ 10^9 gwei = 1700 ETH za jeden den`
+- `7200 bloků/den * 15x10^6 paliva/blok * `**`Y gwei/palivo`**` * 1 ETH / 10^9 gwei = 1700 ETH/den`
Řešení pro `Y`:
-- `Y = (1700(10^9))/(7200 * 15(10^6)) = (17x10^3)/(72 * 15) = 16 gwei` (zaokrouhleno na dvě číslice)
+- `Y = (1700(10^9))/(7200 * 15(10^6)) = (17x10^3)/(72 * 15) = 16 gwei` (zaokrouhleno pouze na dvě platné číslice)
-Dalším způsobem, jak upravit tento poslední krok, by bylo nahradit číslo `1700` proměnnou `X`, která představuje denní vydávání ETH, a zjednodušit zbytek na:
+Dalším způsobem, jak přeuspořádat tento poslední krok, by bylo nahradit `1700` proměnnou `X`, která představuje denní vydávání ETH, a zbytek zjednodušit na:
- `Y = (X(10^3)/(7200 * 15)) = X/108`
-To můžeme zjednodušit a zapsat jako funkci `X`:
+Můžeme to zjednodušit a zapsat jako funkci `X`:
-- `f(X) = X/108`, kde `X` je denní vydávání ETH, a `f(X)` představuje cenu gwei za jednotku paliva potřebnou k vyrovnání veškerého nově vydaného ETH.
+- `f(X) = X/108`, kde `X` je denní vydávání ETH a `f(X)` představuje cenu gwei/palivo potřebnou k vyrovnání veškerého nově vydaného ETH.
-Například, pokud `X` (denní vydávání ETH) vzroste na 1800 na základě celkového uzamčeného ETH, `f(X)` (gwei potřebný k vyrovnání veškerého vydávání) by pak byl `17 gwei` (za použití dvou platných číslic)
+Například pokud `X` (denní vydávání ETH) vzroste na 1800 na základě celkového uzamčeného ETH, pak `f(X)` (gwei potřebné k vyrovnání veškerého vydávání) bude `17 gwei` (při použití 2 platných číslic).
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
- [Sloučení](/roadmap/merge/)
-- [Ultrasound.money](https://ultrasound.money/) - _Dashboardy dostupné k vizualizaci vydávání a pálení ETH v reálném čase_
-- [Charting Ethereum Issuance](https://www.attestant.io/posts/charting-ethereum-issuance/) - _Jim McDonald 2020_
+- [Ultrasound.money](https://ultrasound.money/) – _panely dostupné pro vizualizaci vydávání a pálení ETH v reálném čase_
+- [Grafické znázornění vydávání Etherea](https://www.attestant.io/posts/charting-ethereum-issuance/) – _Jim McDonald 2020_
diff --git a/public/content/translations/cs/roadmap/pbs/index.md b/public/content/translations/cs/roadmap/pbs/index.md
index bd3e22e382b..22885b92054 100644
--- a/public/content/translations/cs/roadmap/pbs/index.md
+++ b/public/content/translations/cs/roadmap/pbs/index.md
@@ -4,21 +4,21 @@ description: Zjistěte, jak a proč validátoři Etherea dělí své povinnosti
lang: cs
---
-# Oddělení navrhovatelů od sestavovatelů {#proposer-builder-separation}
+# Oddělení navrhovatele a sestavovatele {#proposer-builder-separation}
-Současní ethereovští validátoři vytvářejí _a_ šíří nové bloky. Seskupují transakce, o kterých se dozvěděli prostřednictvím komunikační sítě, a balí je do bloku, který rozesílají kolegům v síti Ethereum. **Oddělení navrhovatelů a sestavovatelů (PBS)** dělí tyto úkoly mezi více validátorů. Sestavovatelé bloků jsou odpovědní za vytváření bloků a jejich doručení navrhovatelům bloků v každém slotu. Navrhovatel bloku nevidí obsah bloku, jednoduše si vybere ten nejziskovější a zaplatí poplatek sestavovateli bloku, než odešle blok dalším kolegům.
+Současní validátoři Etherea vytvářejí _a_ šíří bloky. Seskupují transakce, o kterých se dozvěděli prostřednictvím komunikační sítě, a balí je do bloku, který rozesílají kolegům v síti Ethereum. **Oddělení navrhovatelů a sestavovatelů (PBS)** dělí tyto úkoly mezi více validátorů. Sestavovatelé bloků jsou odpovědní za vytváření bloků a jejich doručení navrhovatelům bloků v každém slotu. Navrhovatel bloku nevidí obsah bloku, jednoduše si vybere ten nejziskovější a zaplatí poplatek sestavovateli bloku, než odešle blok dalším kolegům.
Toto je důležité vylepšení hned z několika důvodů. Za prvé, jedná se o příležitost, jak zamezit cenzuře transakcí na úrovni protokolu. Za druhé, zabraňuje situaci, kdy jsou jednotliví validátoři upozaděni institucionálními hráči, kteří mohou lépe optimalizovat ziskovost svých bloků. A za třetí, pomáhá se škálováním Etherea tím, že umožňuje dankshardingová vylepšení.
-## PBS a odolnost proti cenzuře {#pbs-and-censorship-resistance}
+## PBS a odolnost vůči cenzuře {#pbs-and-censorship-resistance}
Oddělením sestavovatelů a navrhovatelů bloků je pro sestavovatele bloků mnohem obtížnější cenzurovat transakce. Je to proto, že lze přidat poměrně složitá kritéria pro zařazení, která zajistí, že před navržením bloku neproběhne žádná cenzura. Jelikož je navrhovatel bloků samostatný subjekt nezávislý na sestavovateli bloků, může převzít roli ochránce před cenzurou.
Např. lze zavést seznamy transakcí, které mají být zahrnuty, takže když validátoři vědí o určitých transakcích, které ale nevidí zahrnuté v blocích, mohou je definovat jako nutné pro další blok. Tento seznam je generován z místního mempoolu navrhovatelů bloků (seznam transakcí, o kterých ví) a odesílá se jejich kolegům těsně před navržením bloku. Pokud některá z transakcí z tohoto seznamu chybí, navrhovatel může blok buď odmítnout, přidat chybějící transakce před jeho navržením, nebo jej navrhnout a nechat jej odmítnout jinými validátory, když jej obdrží. Existuje také potenciálně efektivnější verze této myšlenky, která tvrdí, že sestavovatelé musí plně využít dostupný prostor bloků, a pokud tak neučiní, budou transakce přidány ze seznamu zahrnutí navrhovatele. V současné době je tato problematika stále aktivně zkoumána a optimální konfigurace pro zařazení do seznamů dosud nebyla stanovena.
-[Šifrované mempooly](https://www.youtube.com/watch?v=fHDjgFcha0M&list=PLpktWkixc1gUqkyc1-iE6TT0RWQTBJELe&index=3) by také mohly znemožnit sestavovatelům a navrhovatelům zjistit, které transakce zahrnují do bloku, dokud nebude blok rozšířen.
+[Šifrované mempooly](https://www.youtube.com/watch?v=fHDjgFcha0M&list=PLpktWkixc1gUqkyc1-iE6TT0RWQTBJELe&index=3) by také mohly znemožnit sestavovatelům a navrhovatelům zjistit, které transakce zahrnují do bloku, dokud blok již nebyl rozšířen.
-
+
Mocné organizace mohou tlačit na validátory, aby cenzurovali transakce na určité adresy nebo z nich. Validátoři tomuto tlaku mohou vyhovět tím, že detekují adresy na černé listině ve svém poolu transakcí a vynechávají je z bloků, které navrhují. Po PBS to již nebude možné, protože navrhovatelé bloků nebudou vědět, jaké transakce ve svých blocích šíří. Pro některé jednotlivce nebo aplikace může být důležité dodržovat pravidla cenzury, např. když je to v jejich regionu uzákoněno. V těchto případech dochází k omezení na úrovni aplikace, zatímco protokol zůstává bez povolení a bez cenzury.
@@ -26,26 +26,25 @@ Mocné organizace mohou tlačit na validátory, aby cenzurovali transakce na ur
## PBS a MEV {#pbs-and-mev}
-**Maximální extrahovatelná hodnota (MEV)** popisuje validátory maximalizující svou ziskovost výhodným řazením transakcí. Mezi běžné příklady patří arbitráž směn na decentralizovaných burzách (např. předběžná realizace velkého prodeje nebo nákupu) nebo identifikace příležitostí k likvidaci DeFi pozic. Maximalizace MEV vyžaduje sofistikované technické know-how a vlastní software připojený k normálním validátorům, takže je mnohem pravděpodobnější, že institucionální operátoři překonají jednotlivce a domácí validátory při extrakci MEV. To znamená, že výnosy z uzamčení budou pravděpodobně vyšší u centralizovaných operátorů, což vytváří centralizační sílu, která od uzamčení odrazuje jednotlivce.
+**Maximální vytěžitelná hodnota (MEV)** popisuje validátory maximalizující svou ziskovost výhodným řazením transakcí. Mezi běžné příklady patří arbitráž směn na decentralizovaných burzách (např. předbíhání velkého prodeje nebo nákupu) nebo identifikace příležitostí k likvidaci pozic v DeFi. Maximalizace MEV vyžaduje sofistikované technické know-how a vlastní software připojený k normálním validátorům, takže je mnohem pravděpodobnější, že institucionální operátoři překonají jednotlivce a domácí validátory při extrakci MEV. To znamená, že výnosy z uzamčení budou pravděpodobně vyšší u centralizovaných operátorů, což vytváří centralizační sílu, která od uzamčení odrazuje jednotlivce.
PBS řeší tento problém překonfigurováním ekonomiky MEV. Místo toho, aby navrhovatel bloku prováděl své vlastní výpočty MEV, jednoduše si vybere jeden blok z mnoha, které jim nabízejí sestavovatelé bloků. Sestavovatelé bloků možná provedli sofistikovanou extrakci MEV, ale odměna za ni půjde navrhovateli bloku. To znamená, že i když v extrakci MEV dominuje malá skupina specializovaných sestavovatelů bloků, odměnu by mohl dostat jakýkoliv validátor v síti, včetně jednotlivých domácích uzamykatelů.
-
+
-Jednotlivci mohou být motivováni uzamykat spíše pomocí poolů než sami, a to z důvodu lepších odměn, které nabízejí sofistikované strategie MEV. Oddělení sestavení bloku od návrhu bloku znamená, že extrahované MEV bude distribuováno mezi více validátorů, spíše než centralizováno tím, kdo nejlépe spočítá MEV. Umožnění existence specializovaných sestavovatelů bloků zároveň pomůže jednotlivcům, kteří nebudou muset bloky vytvářet, a také jim zabrání v odejmutí MEV pro sebe a maximalizuje počet jednotlivých nezávislých validátorů, kteří mohou potvrdit poctivost bloků. Důležitým konceptem je „asymetrie ověřovatelů a dokazovatelů“, která odkazuje na myšlenku, že centralizovaná produkce bloků je v pořádku, pokud existuje robustní a maximálně decentralizovaná síť validátorů schopných dokázat, že jsou bloky poctivé. Decentralizace je prostředkem, nikoli konečným cílem – chceme poctivé bloky.
-
+Jednotlivci mohou být motivováni uzamykat spíše pomocí poolů než sami, a to z důvodu lepších odměn, které nabízejí sofistikované strategie MEV. Oddělení sestavení bloku od návrhu bloku znamená, že extrahované MEV bude distribuováno mezi více validátorů, spíše než centralizováno tím, kdo nejlépe spočítá MEV. Umožnění existence specializovaných sestavovatelů bloků zároveň pomůže jednotlivcům, kteří nebudou muset bloky vytvářet, a také jim zabrání v odejmutí MEV pro sebe a maximalizuje počet jednotlivých nezávislých validátorů, kteří mohou potvrdit poctivost bloků. Důležitým konceptem je „asymetrie ověřovatelů a dokazovatelů“, která odkazuje na myšlenku, že centralizovaná produkce bloků je v pořádku, pokud existuje robustní a maximálně decentralizovaná síť validátorů schopných dokázat, že jsou bloky poctivé. Decentralizace je prostředkem, nikoli konečným cílem – chceme poctivé bloky.
## PBS a Danksharding {#pbs-and-danksharding}
-Danksharding je způsob, jakým se Ethereum rozšíří na > 100 000 transakcí za sekundu a minimalizuje poplatky pro uživatele rollupů. Spoléhá na PBS, protože zvyšuje pracovní zátěž pro sestavovatele bloků, kteří budou muset počítat důkazy pro až 64 MB souhrnných dat za méně než 1 sekundu. To bude pravděpodobně vyžadovat specializované sestavovatele, kteří mohou tento úkol svěřit výkonnému hardwaru. V současné situaci by se však sestavování bloků mohlo stále více centralizovat kolem sofistikovanějších a výkonnějších operátorů kvůli extrakci MEV. Oddělení navrhovatele a sestavovatele je způsob, jak zabránit vyvíjenému tlaku na centralizaci ověřování bloků (což je důležité) nebo rozdělování odměn za uzamčení. Velkou vedlejší výhodou je, že specializovaní sestavovatelé bloků jsou také ochotni a schopni vypočítat potřebné důkazy dat pro Danksharding.
+Danksharding je způsob, jakým se Ethereum rozšíří na >100 000 transakcí za sekundu a minimalizuje poplatky pro uživatele rollupů. Spoléhá na PBS, protože zvyšuje pracovní zátěž pro sestavovatele bloků, kteří budou muset počítat důkazy pro až 64 MB souhrnných dat za méně než 1 sekundu. To bude pravděpodobně vyžadovat specializované sestavovatele, kteří mohou tento úkol svěřit výkonnému hardwaru. V současné situaci by se však sestavování bloků mohlo stále více centralizovat kolem sofistikovanějších a výkonnějších operátorů kvůli extrakci MEV. Oddělení navrhovatele a sestavovatele je způsob, jak zabránit vyvíjenému tlaku na centralizaci ověřování bloků (což je důležité) nebo rozdělování odměn za uzamčení. Velkou vedlejší výhodou je, že specializovaní sestavovatelé bloků jsou také ochotni a schopni vypočítat potřebné důkazy dat pro Danksharding.
-## Aktuální průběh {#current-progress}
+## Aktuální postup {#current-progress}
-PBS je v pokročilé fázi výzkumu, ale stále existují některé důležité konstrukční otázky, které je třeba vyřešit, než bude možné jej prototypovat v klientech Etherea. Pro žádný z nápadů zatím neexistuje konečná specifikace. To znamená, že uvedení PBS do praxe nás pravděpodobně čeká za rok nebo později. Podívejte se, [v jaké fázi se momentálně tento výzkum nachází](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance).
+PBS je v pokročilé fázi výzkumu, ale stále existují některé důležité konstrukční otázky, které je třeba vyřešit, než bude možné jej prototypovat v klientech Etherea. Pro žádný z nápadů zatím neexistuje konečná specifikace. To znamená, že uvedení PBS do praxe nás pravděpodobně čeká za rok nebo později. Podívejte se na nejnovější [stav výzkumu](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance).
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Stav výzkumu: Odolnost proti cenzuře díky PBS](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance)
-- [PBS – návrhy trhů s akceptovatelnými poplatky](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725)
-- [PBS a odolnost proti cenzuře](https://notes.ethereum.org/@fradamt/H1TsYRfJc#Secondary-auctions)
-- [Seznamy zařazení transakcí](https://notes.ethereum.org/@fradamt/H1ZqdtrBF)
+- [Stav výzkumu: odolnost vůči cenzuře v rámci PBS](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance)
+- [Návrhy trhu s poplatky vhodné pro PBS](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725)
+- [PBS a odolnost vůči cenzuře](https://notes.ethereum.org/@fradamt/H1TsYRfJc#Secondary-auctions)
+- [Seznamy pro zahrnutí](https://notes.ethereum.org/@fradamt/H1ZqdtrBF)
diff --git a/public/content/translations/cs/roadmap/pectra/7702/index.md b/public/content/translations/cs/roadmap/pectra/7702/index.md
new file mode 100644
index 00000000000..75943bd68d7
--- /dev/null
+++ b/public/content/translations/cs/roadmap/pectra/7702/index.md
@@ -0,0 +1,149 @@
+---
+title: Pokyny pro Pectra 7702
+description: Zjistěte více o 7702 ve vydání Pectra
+lang: cs
+---
+
+# Pectra 7702
+
+## Abstrakt {#abstract}
+
+EIP 7702 definuje mechanismus pro přidání kódu do EOA. Tento návrh umožňuje účtům EOA, starším účtům Etherea, získat krátkodobá vylepšení funkčnosti, což zvyšuje použitelnost aplikací. To se provádí nastavením ukazatele na již nasazený kód pomocí nového typu transakce: 4.
+
+Tento nový typ transakce zavádí autorizační seznam. Každá autorizační n-tice v seznamu je definována jako
+
+```
+[ chain_id, address, nonce, y_parity, r, s ]
+```
+
+**adresa** je delegace (již nasazený bytekód, který bude použit EOA)
+**chain_id** uzamkne autorizaci ke konkrétnímu řetězci (nebo 0 pro všechny řetězce)
+**nonce** uzamkne autorizaci ke konkrétní hodnotě nonce účtu
+(**y_parity, r, s**) je podpis autorizační n-tice, definovaný jako keccak(0x05 || rlp ([chain_id ,adresa, nonce])) soukromým klíčem EOA, na který se autorizace vztahuje (také se nazývá autorita)
+
+Delegaci lze resetovat delegováním na nulovou adresu.
+
+Soukromý klíč EOA si po delegaci zachovává plnou kontrolu nad účtem. Například delegování na Safe neudělá z účtu multisig, protože stále existuje jediný klíč, který může obejít jakoukoli politiku podepisování. Do budoucna by vývojáři měli navrhovat s předpokladem, že jakýkoli účastník v systému by mohl být chytrý kontrakt. Pro vývojáře chytrých kontraktů již není bezpečné předpokládat, že `tx.origin` odkazuje na EOA.
+
+## Osvědčené postupy {#best-practices}
+
+**Abstrakce účtu**: Delegační kontrakt by měl být v souladu s širšími standardy abstrakce účtu (AA) Etherea, aby se maximalizovala kompatibilita. Zejména by měl být ideálně kompatibilní s ERC-4337.
+
+**Návrh bez povolení a odolný proti cenzuře**: Ethereum si cení účasti bez povolení. Delegační kontrakt NESMÍ natvrdo kódovat ani se spoléhat na žádný jediný „důvěryhodný“ relayer nebo službu. To by zablokovalo účet, pokud by relayer přestal fungovat. Funkce jako dávkování (např. approve+transferFrom) může EOA používat samo o sobě bez relayeru. Pro vývojáře aplikací, kteří chtějí využívat pokročilé funkce povolené EIP 7702 (abstrakce paliva, výběry chránící soukromí), budete potřebovat relayer. Ačkoli existují různé architektury relayerů, doporučujeme používat [bundlery 4337](https://www.erc4337.io/bundlers) odkazující alespoň na [vstupní bod 0.8](https://github.com/eth-infinitism/account-abstraction/releases/tag/v0.8.0), protože:
+
+- Poskytují standardizovaná rozhraní pro předávání
+- Zahrnují vestavěné systémy paymaster
+- Zajišťují dopřednou kompatibilitu
+- Mohou podporovat odolnost proti cenzuře prostřednictvím [veřejného mempoolu](https://notes.ethereum.org/@yoav/unified-erc-4337-mempool)
+- Mohou vyžadovat, aby se funkce init volala pouze z [EntryPoint](https://github.com/eth-infinitism/account-abstraction/releases/tag/v0.8.0)
+
+Jinými slovy, kdokoli by měl být schopen jednat jako sponzor/relayer transakce, pokud poskytne požadovaný platný podpis nebo UserOperation z účtu. To zajišťuje odolnost proti cenzuře: pokud není vyžadována žádná vlastní infrastruktura, transakce uživatele nemohou být svévolně blokovány prostřednictvím gatekeeping relaye. Například [Delegation Toolkit od MetaMasku](https://github.com/MetaMask/delegation-framework/releases/tag/v1.3.0) explicitně funguje s jakýmkoli bundlerem ERC-4337 nebo paymasterem na jakémkoli řetězci, namísto toho, aby vyžadoval server specifický pro MetaMask.
+
+**Integrace dApps přes rozhraní peněženek**:
+
+Vzhledem k tomu, že peněženky budou na whitelist umisťovat konkrétní delegační kontrakty pro EIP-7702, dApps by neměly očekávat, že budou přímo žádat o autorizace 7702. Místo toho by měla integrace probíhat prostřednictvím standardizovaných rozhraní peněženek:
+
+- **ERC-5792 (`wallet_sendCalls`)**: Umožňuje dApps požadovat od peněženek provádění dávkových volání, což usnadňuje funkce, jako je dávkování transakcí a abstrakce paliva.
+
+- **ERC-6900**: Umožňuje dApps využívat modulární schopnosti chytrých účtů, jako jsou klíče relace a obnovení účtu, prostřednictvím modulů spravovaných peněženkou.
+
+Využitím těchto rozhraní mohou dApps přistupovat k funkcím chytrých účtů poskytovaných EIP-7702 bez přímé správy delegací, což zajišťuje kompatibilitu a bezpečnost napříč různými implementacemi peněženek.
+
+> Poznámka: Neexistuje žádná standardizovaná metoda, jak by dApps mohly přímo žádat o autorizační podpisy 7702. dApps se musí spoléhat na specifická rozhraní peněženek, jako je ERC-6900, aby mohly využívat funkce EIP-7702.
+
+Pro více informací:
+
+- [Specifikace ERC-5792](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-5792.md)
+- [Specifikace ERC-6900](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-6900.md)
+
+**Vyhnutí se závislosti na dodavateli**: V souladu s výše uvedeným je dobrá implementace neutrální vůči dodavateli a interoperabilní. To často znamená dodržování nově vznikajících standardů pro chytré účty. Například [Modulární účet od Alchemy](https://github.com/alchemyplatform/modular-account) používá standard ERC-6900 pro modulární chytré účty a je navržen s ohledem na „interoperabilní použití bez povolení“.
+
+**Zachování soukromí**: Zatímco soukromí na blockchainu je omezené, delegační kontrakt by se měl snažit minimalizovat odhalení dat a jejich propojitelnost. Toho lze dosáhnout podporou funkcí, jako jsou platby za palivo v tokenech ERC-20 (takže uživatelé nemusí udržovat veřejný zůstatek ETH, což zlepšuje soukromí a UX) a jednorázové klíče relace (které snižují závislost na jediném dlouhodobém klíči). Například EIP-7702 umožňuje platit za palivo v tokenech prostřednictvím sponzorovaných transakcí a dobrá implementace usnadní integraci takových paymasterů, aniž by uniklo více informací, než je nutné. Navíc delegace určitých schválení mimo řetězec (pomocí podpisů ověřených na blockchainu) znamená méně transakcí na blockchainu s primárním klíčem uživatele, což napomáhá soukromí. Účty, které vyžadují použití relayeru, nutí uživatele odhalit své IP adresy. PublicMempools to vylepšuje, když se transakce/UserOp šíří mempoolem, nelze poznat, zda pochází z IP adresy, která ji odeslala, nebo zda byla pouze předána přes p2p protokol.
+
+**Rozšiřitelnost a modulární bezpečnost**: Implementace účtů by měly být rozšiřitelné, aby se mohly vyvíjet s novými funkcemi a bezpečnostními vylepšeními. Možnost upgradu je s EIP-7702 přirozeně možná (protože EOA může v budoucnu vždy delegovat na nový kontrakt, aby upgradoval svou logiku). Kromě možnosti upgradu dobrý design umožňuje modularitu – např. zásuvné moduly pro různé schémata podepisování nebo politiky utrácení – bez nutnosti úplného znovunasazení. Account Kit od Alchemy je skvělým příkladem, který umožňuje vývojářům instalovat ověřovací moduly (pro různé typy podpisů jako ECDSA, BLS atd.) a exekuční moduly pro vlastní logiku. Pro dosažení větší flexibility a bezpečnosti v účtech s podporou EIP-7702 jsou vývojáři vyzýváni, aby delegovali na proxy kontrakt spíše než přímo na konkrétní implementaci. Tento přístup umožňuje bezproblémové upgrady a modularitu bez nutnosti dalších autorizací EIP-7702 pro každou změnu.
+
+Výhody vzoru proxy:
+
+- **Možnost upgradu**: Aktualizujte logiku kontraktu nasměrováním proxy na nový implementační kontrakt.
+
+- **Vlastní inicializační logika**: Zahrňte inicializační funkce do proxy, abyste bezpečně nastavili potřebné stavové proměnné.
+
+Například [SafeEIP7702Proxy](https://docs.safe.global/advanced/eip-7702/7702-safe) ukazuje, jak lze proxy využít k bezpečné inicializaci a správě delegací v účtech kompatibilních s EIP-7702.
+
+Nevýhody vzoru proxy:
+
+- **Závislost na externích aktérech**: Musíte se spolehnout na externí tým, že neprovede upgrade na nebezpečný kontrakt.
+
+## Bezpečnostní aspekty {#security-considerations}
+
+**Ochrana proti reentrancy**: Se zavedením delegace EIP-7702 může účet uživatele dynamicky přepínat mezi externě vlastněným účtem (EOA) a chytrým kontraktem (SC). Tato flexibilita umožňuje účtu jak iniciovat transakce, tak být cílem volání. V důsledku toho budou mít scénáře, kdy účet volá sám sebe a provádí externí volání, `msg.sender` rovno `tx.origin`, což podkopává určité bezpečnostní předpoklady, které se dříve spoléhaly na to, že `tx.origin` je vždy EOA.
+
+Pro vývojáře chytrých kontraktů již není bezpečné předpokládat, že `tx.origin` odkazuje na EOA. Stejně tak použití `msg.sender == tx.origin` jako ochrany proti útokům reentrancy již není spolehlivou strategií.
+
+Do budoucna by vývojáři měli navrhovat s předpokladem, že jakýkoli účastník v systému by mohl být chytrý kontrakt. Alternativně by mohli implementovat explicitní ochranu proti reentrancy pomocí ochran proti reentrancy se vzory modifikátoru `nonReentrant`. Doporučujeme použít auditovaný modifikátor, např. [Reentrancy Guard od OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/ReentrancyGuard.sol). Mohli by také použít [přechodnou proměnnou úložiště](https://docs.soliditylang.org/en/latest/internals/layout_in_storage.html).
+
+**Bezpečnostní aspekty inicializace**
+
+Implementace delegačních kontraktů EIP-7702 přináší specifické bezpečnostní výzvy, zejména co se týče procesu inicializace. Kritická zranitelnost vzniká, když je inicializační funkce (`init`) atomicky spojena s procesem delegace. V takových případech by mohl frontrunner zachytit podpis delegace a spustit funkci `init` se změněnými parametry, čímž by potenciálně převzal kontrolu nad účtem.
+
+Toto riziko je obzvláště relevantní při pokusu o použití stávajících implementací účtů chytrých kontraktů (SCA) s EIP-7702 bez úpravy jejich inicializačních mechanismů.
+
+**Řešení pro zmírnění zranitelností inicializace**
+
+- Implementujte `initWithSig`
+ Nahraďte standardní funkci `init` funkcí `initWithSig`, která vyžaduje, aby uživatel podepsal inicializační parametry. Tento přístup zajišťuje, že inicializace může proběhnout pouze s explicitním souhlasem uživatele, čímž se zmírňují rizika neoprávněné inicializace.
+
+- Využijte EntryPoint z ERC-4337
+ Vyžadujte, aby se inicializační funkce volala výhradně z kontraktu EntryPoint ERC-4337. Tato metoda využívá standardizovaný rámec pro ověřování a provádění poskytovaný ERC-4337, čímž přidává další vrstvu zabezpečení do procesu inicializace.
+ _(Viz: [Safe Docs](https://docs.safe.global/advanced/eip-7702/7702-safe))_
+
+Přijetím těchto řešení mohou vývojáři zvýšit bezpečnost delegačních kontraktů EIP-7702 a chránit se před potenciálními útoky frontrunningu během inicializační fáze.
+
+**Kolize úložiště** Delegování kódu nevymaže stávající úložiště. Při migraci z jednoho delegačního kontraktu na jiný zůstávají zbytková data z předchozího kontraktu. Pokud nový kontrakt využívá stejné sloty úložiště, ale interpretuje je odlišně, může to způsobit neúmyslné chování. Například pokud byla počáteční delegace na kontrakt, kde slot úložiště představuje `bool`, a následná delegace je na kontrakt, kde stejný slot představuje `uint`, nesoulad může vést k nepředvídatelným výsledkům.
+
+**Rizika phishingu** S implementací delegace EIP-7702 mohou být aktiva na účtu uživatele zcela ovládána chytrými kontrakty. Pokud uživatel nevědomky deleguje svůj účet na škodlivý kontrakt, útočník by mohl snadno získat kontrolu a ukrást prostředky. Při použití `chain_id=0` se delegace vztahuje na všechny ID řetězců. Delegujte pouze na neměnný kontrakt (nikdy nedelegujte na proxy) a pouze na kontrakty, které byly nasazeny pomocí CREATE2 (se standardním initcode – žádné metamorfní kontrakty), aby nasazující nemohl nasadit něco jiného na stejnou adresu jinde. V opačném případě vaše delegace ohrožuje váš účet na všech ostatních EVM řetězcích.
+
+Když uživatelé provádějí delegované podpisy, cílový kontrakt přijímající delegaci by měl být jasně a viditelně zobrazen, aby se pomohlo zmírnit rizika phishingu.
+
+**Minimální důvěryhodný povrch a bezpečnost**: I když nabízí flexibilitu, delegační kontrakt by měl udržovat svou základní logiku minimální a auditovatelnou. Kontrakt je v podstatě rozšířením uživatelova EOA, takže jakákoli chyba může být katastrofální. Implementace by měly dodržovat osvědčené postupy z komunity bezpečnosti chytrých kontraktů. Například konstruktorové nebo inicializační funkce musí být pečlivě zabezpečeny – jak zdůrazňuje Alchemy, pokud se používá vzor proxy v rámci 7702, nechráněný inicializátor by mohl útočníkovi umožnit převzít kontrolu nad účtem. Týmy by se měly snažit udržovat kód na blockchainu jednoduchý: kontrakt 7702 od Ambire má pouze ~200 řádků v Solidity a záměrně minimalizuje složitost, aby se snížil počet chyb. Musí být nalezena rovnováha mezi logikou bohatou na funkce a jednoduchostí, která usnadňuje auditování.
+
+### Známé implementace {#known-implementations}
+
+Vzhledem k povaze EIP 7702 se doporučuje, aby peněženky postupovaly opatrně, když pomáhají uživatelům delegovat na kontrakt třetí strany. Níže je uveden soubor známých implementací, které byly auditovány:
+
+| Adresa kontraktu | Zdroj | Audity |
+| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00 | [Uniswap/calibur](https://github.com/Uniswap/calibur) | [audity](https://github.com/Uniswap/calibur/tree/main/audits) |
+| 0x69007702764179f14F51cdce752f4f775d74E139 | [alchemyplatform/modular-account](https://github.com/alchemyplatform/modular-account) | [audity](https://github.com/alchemyplatform/modular-account/tree/develop/audits) |
+| 0x5A7FC11397E9a8AD41BF10bf13F22B0a63f96f6d | [AmbireTech/ambire-common](https://github.com/AmbireTech/ambire-common/blob/feature/eip-7702/contracts/AmbireAccount7702.sol) | [audity](https://github.com/AmbireTech/ambire-common/tree/feature/eip-7702/audits) |
+| 0x63c0c19a282a1b52b07dd5a65b58948a07dae32b | [MetaMask/delegation-framework](https://github.com/MetaMask/delegation-framework) | [audity](https://github.com/MetaMask/delegation-framework/tree/main/audits) |
+| 0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9 | [Tým AA Nadace Ethereum](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/accounts/Simple7702Account.sol) | [audity](https://github.com/eth-infinitism/account-abstraction/blob/develop/audits/SpearBit%20Account%20Abstraction%20Security%20Review%20-%20Mar%202025.pdf) |
+| 0x17c11FDdADac2b341F2455aFe988fec4c3ba26e3 | [Luganodes/Pectra-Batch-Contract](https://github.com/Luganodes/Pectra-Batch-Contract) | [audity](https://certificate.quantstamp.com/full/luganodes-pectra-batch-contract/23f0765f-969a-4798-9edd-188d276c4a2b/index.html) |
+
+## Pokyny pro hardwarové peněženky {#hardware-wallet-guidelines}
+
+Hardwarové peněženky by neměly umožňovat libovolnou delegaci. Konsensus v prostoru hardwarových peněženek je používat seznam důvěryhodných delegačních kontraktů. Doporučujeme povolit známé implementace uvedené výše a zvážit ostatní případ od případu. Vzhledem k tomu, že delegování vašeho EOA na kontrakt dává kontrolu nad všemi aktivy, měly by být hardwarové peněženky opatrné při implementaci 7702.
+
+### Scénáře integrace pro doprovodné aplikace {#integration-scenarios-for-companion-apps}
+
+#### Pasivní {#lazy}
+
+Protože EOA stále funguje jako obvykle, není třeba nic dělat.
+
+Poznámka: některá aktiva mohou být automaticky odmítnuta delegačním kódem, jako například NFT ERC-1155, a podpora by si toho měla být vědoma.
+
+#### Vědomý {#aware}
+
+Upozorněte uživatele, že pro EOA je nastavena delegace, kontrolou jeho kódu, a volitelně nabídněte odstranění delegace.
+
+#### Běžná delegace {#common-delegation}
+
+Poskytovatel hardwaru umisťuje známé delegační kontrakty na whitelist a implementuje jejich podporu v softwarovém doprovodu. Doporučuje se zvolit kontrakt s plnou podporou ERC 4337.
+
+EOA delegované na jiný kontrakt budou zpracovávány jako standardní EOA.
+
+#### Vlastní delegace {#custom-delegation}
+
+Poskytovatel hardwaru implementuje vlastní delegační kontrakt, přidá jej na seznamy a implementuje jeho podporu v softwarovém doprovodu. Doporučuje se vytvořit kontrakt s plnou podporou ERC 4337.
+
+EOA delegované na jiný kontrakt budou zpracovávány jako standardní EOA.
diff --git a/public/content/translations/cs/roadmap/pectra/index.md b/public/content/translations/cs/roadmap/pectra/index.md
new file mode 100644
index 00000000000..ccca723dadf
--- /dev/null
+++ b/public/content/translations/cs/roadmap/pectra/index.md
@@ -0,0 +1,127 @@
+---
+title: Prague-Electra (Pectra)
+description: Zjistěte více o vylepšení protokolu Pectra
+lang: cs
+---
+
+# Pectra {#pectra}
+
+Vylepšení sítě Pectra následovalo po vylepšení [Dencun](/roadmap/dencun/) a přineslo změny jak na exekuční, tak i na konsensuální vrstvu Etherea. Zkrácený název Pectra je kombinací názvů Prague a Electra, což jsou příslušné názvy pro změny specifikací na exekuční vrstvě a na vrstvě konsenzu. Tyto změny společně přinášejí řadu vylepšení uživatelům, vývojářům a validátorům Etherea.
+
+Toto vylepšení bylo úspěšně aktivováno na hlavní síti Ethereum v epoše `364032`, dne **7. května 2025 v 10:05 (UTC)**.
+
+
+
+
+Vylepšení Pectra je pouze jedním krokem v dlouhodobých vývojových cílech Etherea. Zjistěte více o [plánu rozvoje protokolu](/roadmap/) a [předchozích vylepšeních](/ethereum-forks/).
+
+
+
+
+## Vylepšení v Pectra {#new-improvements}
+
+Pectra přináší největší počet [návrhů EIP](https://eips.ethereum.org/) ze všech předchozích vylepšení! Obsahuje mnoho menších změn, ale také některé významné nové funkce. Úplný seznam změn a technických podrobností lze nalézt v jednotlivých zahrnutých návrzích EIP.
+
+### Kód účtu EOA {#7702}
+
+[EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) představuje významný krok směrem k širokému rozšíření [abstrakce účtů](/roadmap/account-abstraction/). Díky této funkci mohou uživatelé nastavit svou adresu ([EOA](/glossary/#eoa)) tak, aby byla rozšířena o chytrý kontrakt. Tento EIP zavádí nový typ transakce se specifickou funkcí – umožnit vlastníkům adres podepsat autorizaci, která nastaví jejich adresu tak, aby napodobovala zvolený chytrý kontrakt.
+
+Díky tomuto EIP se uživatelé mohou přihlásit k programovatelným peněženkám, které umožňují nové funkce, jako je sdružování transakcí, provádění transakcí bez poplatků a vlastní přístup k aktivům pro alternativní schémata obnovy. Tento hybridní přístup kombinuje jednoduchost účtů EOA s programovatelností účtů založených na kontraktech.
+
+Přečtěte si podrobnější informace o 7702 [zde](/roadmap/pectra/7702/)
+
+### Zvýšení maximálního efektivního zůstatku {#7251}
+
+Současný efektivní zůstatek validátora je přesně 32 ETH. Je to minimální nezbytná částka k účasti na konsensu, ale zároveň maximum, které může jeden validátor uzamknout.
+
+[EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) zvyšuje maximální možný efektivní zůstatek na 2048 ETH, což znamená, že jeden validátor může nyní uzamknout od 32 do 2048 ETH. Místo násobků 32 si nyní stakeři mohou zvolit libovolné množství ETH k uzamčení a získávat odměny za každý 1 ETH nad minimem. Například pokud se zůstatek validátora zvýší s jeho odměnami na 33 ETH, je i tento 1 ETH navíc považován za součást efektivního zůstatku a získává odměny.
+
+Výhoda lepšího systému odměn pro validátory je však pouze jednou částí tohoto vylepšení. [Stakeři](/staking/), kteří provozují více validátorů, je nyní mohou agregovat do jednoho, což umožňuje snadnější provoz a snižuje zátěž sítě. Protože každý validátor v Řetězové vazbě odesílá podpis v každé epoše, požadavky na šířku pásma rostou s větším počtem validátorů a velkým počtem podpisů k šíření. Agregace validátorů sníží zátěž sítě a otevře nové možnosti škálování při zachování stejného ekonomického zabezpečení.
+
+Přečtěte si podrobnější informace o maxEB [zde](/roadmap/pectra/maxeb/)
+
+### Zvýšení propustnosti blobů {#7691}
+
+Bloby poskytují [dostupnost dat](/developers/docs/data-availability/#data-availability-and-layer-2-rollups) pro L2. Byly zavedeny v [předchozím vylepšení sítě](/roadmap/dencun/).
+
+V současné době síť cílí na průměrně 3 bloby na blok s maximem 6 blobů. S [EIP-7691](https://eips.ethereum.org/EIPS/eip-7691) se průměrný počet blobů zvýší na 6 s maximem 9 na blok, což povede ke zvýšení kapacity pro Ethereum rollupy. Tento EIP pomáhá překlenout mezeru, než [PeerDAS](https://eips.ethereum.org/EIPS/eip-7594) umožní ještě vyšší počty blobů.
+
+### Zvýšení nákladů na calldata {#7623}
+
+Před zavedením [blobů ve vylepšení Dencun](/roadmap/danksharding), používaly L2 k ukládání svých dat na Ethereu [calldata](/developers/docs/data-availability/blockchain-data-storage-strategies/#calldata). Bloby i calldata ovlivňují využití šířky pásma Etherea. Zatímco většina bloků používá jen minimální množství calldata, datově náročné bloky, které také obsahují mnoho blobů, mohou být škodlivé pro p2p síť Etherea.
+
+K řešení tohoto problému [EIP-7623](https://eips.ethereum.org/EIPS/eip-7623) zvyšuje cenu za calldata, ale pouze pro datově náročné transakce. Tím se omezuje velikost bloku v nejhorším případě, poskytuje motivaci pro L2, aby používaly pouze bloby, a ponechává více než 99 % transakcí bez dopadu.
+
+### Spustitelné výběry z exekuční vrstvy {#7002}
+
+V současné době je opuštění validátora a [výběr uzamčeného ETH](/staking/withdrawals/) operací na konsensuální vrstvě, která vyžaduje aktivní klíč validátora, stejný BLS klíč, který validátor používá k plnění aktivních povinností, jako jsou atestace. Pověření pro výběr je samostatný studený klíč, který přijímá vybranou uzamčenou částku, ale nemůže výběr spustit. Jediný způsob, jak mohou stakeři provést výběr, je poslat speciální zprávu do sítě Řetězové vazby podepsanou pomocí aktivního klíče validátora. To je omezující ve scénářích, kdy pověření pro výběr a klíč validátora drží různé entity, nebo když dojde ke ztrátě klíče validátora.
+
+[EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) zavádí nový kontrakt, který lze použít ke spuštění výběru pomocí pověření pro výběr na exekuční vrstvě. Stakeři budou moci opustit svého validátora zavoláním funkce v tomto speciálním kontraktu bez potřeby svého podpisového klíče validátora nebo vůbec jakéhokoliv přístupu k Řetězové vazbě. Důležité je, že umožnění výběrů validátorů na blockchainu umožňuje stakovací protokoly se sníženými předpoklady důvěry vůči provozovatelům uzlů.
+
+### Vklady validátorů na blockchainu {#6110}
+
+Vklady validátorů jsou v současnosti zpracovávány pomocí [dotazování eth1data](https://eth2book.info/capella/part2/deposits-withdrawals/deposit-processing/), což je funkce na Řetězové vazbě, která načítá data z exekuční vrstvy. Je to takový technický dluh z doby před Sloučením, kdy byla Řetězová vazba samostatnou sítí a musela se zabývat reorganizacemi důkazu prací.
+
+[EIP-6110](https://eips.ethereum.org/EIPS/eip-6110) je nový způsob doručování vkladů z exekuční na konsensuální vrstvu, který umožňuje okamžité zpracování s menší složitostí implementace. Je to bezpečnější způsob zpracování vkladů, který je pro sloučené Ethereum nativní. Pomáhá to také zajistit budoucnost protokolu, protože nevyžaduje historické vklady k zavedení uzlu, což je nezbytné pro vypršení historie.
+
+### Předkompilace pro BLS12-381 {#2537}
+
+Předkompilace jsou speciální sadou chytrých kontraktů zabudovaných přímo do Ethereum Virtual Machine ([EVM](/developers/docs/evm/)). Na rozdíl od běžných kontraktů nejsou předkompilace nasazovány uživateli, ale jsou součástí samotné implementace klienta, napsané v jeho nativním jazyce (např. Go, Java atd., nikoliv Solidity). Předkompilace slouží pro široce používané a standardizované funkce, jako jsou kryptografické operace. Vývojáři chytrých kontraktů mohou volat předkompilace jako běžný kontrakt, ale s větší bezpečností a efektivitou.
+
+[EIP-2537](https://eips.ethereum.org/EIPS/eip-2537) přidává nové předkompilace pro operace s křivkami nad [BLS12-381](https://hackmd.io/@benjaminion/bls12-381). Tato eliptická křivka se stala široce používanou v kryptoměnových ekosystémech díky svým praktickým vlastnostem. Konkrétněji, byla přijata konsensuální vrstvou Etherea, kde ji používají validátoři.
+
+Nová předkompilace přidává každému vývojáři možnost snadno, efektivně a bezpečně provádět kryptografické operace s použitím této křivky, například ověřování podpisů. Aplikace na blockchainu, které jsou na této křivce závislé, se mohou stát efektivnějšími z hlediska poplatků a bezpečnějšími tím, že se spoléhají na předkompilaci místo na nějaký vlastní kontrakt. To se týká především aplikací, které chtějí uvažovat o validátorech uvnitř EVM, např. stakovacích poolů, [restakingu](/restaking/), lehkých klientů, přemostění, ale také aplikací s nulovou znalostí.
+
+### Poskytování historických hašů bloků ze stavu {#2935}
+
+EVM v současné době poskytuje operační kód `BLOCKHASH`, který umožňuje vývojářům kontraktů získat haš bloku přímo v exekuční vrstvě. To je však omezeno pouze na posledních 256 bloků a v budoucnu by se to mohlo stát problematickým pro bezstavové klienty.
+
+[EIP-2935](https://eips.ethereum.org/EIPS/eip-2935) vytváří nový systémový kontrakt, který může poskytovat posledních 8192 hašů bloků jako úložné sloty. To pomáhá zajistit budoucnost protokolu pro bezstavové provádění a stává se efektivnějším po přijetí stromů Verkle. Kromě toho však mohou rollupy z toho okamžitě těžit, protože se mohou dotazovat na kontrakt přímo s delším historickým oknem.
+
+### Přesunutí indexu výboru mimo atestaci {#7549}
+
+Konsensus Řetězové vazby je založen na tom, že validátoři odevzdávají své hlasy pro nejnovější blok a finalizovanou epochu. Atestace obsahuje 3 prvky, z nichž 2 jsou hlasy a třetí je hodnota indexu výboru.
+
+[EIP-7549](https://eips.ethereum.org/EIPS/eip-7549) přesouvá tento index mimo podepsanou zprávu atestace, což usnadňuje ověřování a agregaci hlasů konsensu. To umožní větší efektivitu v každém konsensuálním klientovi a může přinést významná vylepšení výkonu pro obvody s nulovou znalostí pro dokazování konsensu Etherea.
+
+### Přidání plánu blobů do konfiguračních souborů EL {#7840}
+
+[EIP-7840](https://eips.ethereum.org/EIPS/eip-7840) je jednoduchá změna, která přidává nové pole do konfigurace klienta exekuční vrstvy. Konfiguruje počet bloků a umožňuje dynamické nastavení cílového a maximálního počtu blobů na blok, stejně jako úpravu poplatku za blob. S přímo definovanou konfigurací se klienti mohou vyhnout složitosti výměny těchto informací prostřednictvím Engine API.
+
+
+
+
+Chcete-li se dozvědět více o tom, jak se vás Pectra konkrétně dotýká jako uživatele, vývojáře nebo validátora Etherea, podívejte se do Pectra FAQ.
+
+
+
+
+## Ovlivňuje toto vylepšení všechny uzly a validátory Etherea? {#client-impact}
+
+Ano, vylepšení Pectra vyžaduje aktualizace jak [exekučních, tak konsensuálních klientů](/developers/docs/nodes-and-clients/). Všichni hlavní klienti Etherea vydají verze podporující hard fork, označené jako vysoká priorita. Aby operátoři uzlů po vylepšení udrželi synchronizaci se sítí Ethereum, musí si ověřit, že používají podporovanou verzi klienta. Nezapomínejte, že informace o vydání upgradů klientů jsou časově citlivé, a uživatelé by měli sledovat nejnovější aktualizace pro nejaktuálnější podrobnosti.
+
+## Jak mohu posílat ETH po hard forku? {#scam-alert}
+
+- **S vašimi ETH není třeba nic dělat**: Po vylepšení Ethereum Pectra není potřeba vaše ETH převádět ani vylepšovat. Zůstatky na vašem účtu se nezmění a ETH, které aktuálně držíte, zůstanou po hard forku přístupné ve své stávající podobě.
+- **Pozor na podvody!** **Každý, kdo vás vyzývá k „upgradu“ vašich ETH, se vás snaží podvést.** V souvislosti s tímto vylepšením nemusíte podnikat žádné kroky. Vaše aktiva zůstanou nedotčena. Pamatujte, že informovanost je nejlepší obranou proti podvodům.
+
+[Více o rozpoznávání a vyhýbání se podvodům](/security/)
+
+## Učíte se spíše vizuálně? Vizuální výuka {#visual-learner}
+
+
+
+_Co je součástí vylepšení Pectra?_ - Christine Kim_
+
+
+
+_Vylepšení Ethereum Pectra: Co potřebují stakeři vědět — Blockdaemon_
+
+## Další čtení {#further-reading}
+
+- [Plán rozvoje Etherea](/roadmap/)
+- [Často kladené otázky o Pectra](https://epf.wiki/#/wiki/pectra-faq)
+- [Informační stránka Pectra.wtf](https://pectra.wtf)
+- [Jak Pectra vylepšuje zkušenost stakerů](https://www.kiln.fi/post/next-ethereum-upgrade-how-pectra-will-enhance-the-staking-experience)
+- [Informační stránka o EIP7702](https://eip7702.io/)
+- [Vývojářské sítě Pectra](https://github.com/ethereum/pm/blob/master/Pectra/pectra-pm.md)
diff --git a/public/content/translations/cs/roadmap/pectra/maxeb/index.md b/public/content/translations/cs/roadmap/pectra/maxeb/index.md
new file mode 100644
index 00000000000..a56948a1ce1
--- /dev/null
+++ b/public/content/translations/cs/roadmap/pectra/maxeb/index.md
@@ -0,0 +1,204 @@
+---
+title: Pectra MaxEB
+description: Zjistěte více o MaxEB ve vydání Pectra
+lang: cs
+---
+
+# MaxEB {#maxeb}
+
+_tl;dr:_ Hard fork Pectra umožňuje validátorům sítě Ethereum přihlásit se k vyššímu maximálnímu efektivnímu zůstatku a složenému úročení převodem z pověření pro výběr **typu 1** na **typ 2**. Oficiálním nástrojem k tomu je Launchpad. Tuto operaci nelze vrátit zpět.
+
+## Přehled {#overview}
+
+### Koho se to týká? {#who-is-affected}
+
+Každý, kdo provozuje validátora – pravděpodobně někdo, kdo zná index (např. [Validátor č. 12345](https://beaconcha.in/validator/12345)) validátora, kterého ovládá. Pokud k provozování validátora používáte protokol (např. Lido CSM nebo Rocket Pool), budete si muset u nich ověřit, zda a kdy podporují maxEB.
+
+Pokud uzamykáte prostředky (stake) pomocí likvidního tokenu pro uzamčení (staking) (např. rETH nebo stETH), není vyžadována ani doporučena žádná akce.
+
+### Co je „maxEB“? {#what-is-maxeb}
+
+maxEB = MAXimální efektivní zůstatek (MAXimum Effective Balance) validátora. Až do hard forku Pectra vydělává každý validátor na maximálně 32 ETH. Po hard forku Pectra mají validátoři možnost vydělávat na jakémkoli zůstatku mezi 32 a 2048 ETH v přírůstcích po 1 ETH, pokud se k této změně přihlásí.
+
+### Jak se validátor může přihlásit? {#how-does-a-validator-opt-in}
+
+Validátor se ke změně maxEB přihlásí převodem pověření pro výběr z **typu 1** na **typ 2**. To lze provést na [Launchpadu (Akce validátora)](https://launchpad.ethereum.org/validator-actions) poté, co bude spuštěn hard fork Pectra. Stejně jako u **typu 0** → **typ 1** je převod z **typu 1** → **typ 2** nevratný proces.
+
+### Co je pověření pro výběr? {#whats-a-withdrawal-credential}
+
+Když provozujete validátor, máte sadu pověření pro výběr. Najdete je ve svém souboru JSON s daty vkladu, nebo si je můžete prohlédnout na beaconcha.in na [kartě vkladů](https://beaconcha.in/validator/12345#deposits) vašeho validátora.
+
+1. Pověření pro výběr **typu 0**: Pokud pověření pro výběr vašeho validátora začíná `0x00...`, vložili jste prostředky před hard forkem Shapella a ještě nemáte nastavenou adresu pro výběr.
+
+
+
+2. Pověření pro výběr **typu 1**: Pokud pověření pro výběr vašeho validátora začíná `0x01...`, vložili jste prostředky po hard forku Shapella nebo jste již převedli svá pověření **typu 0** na pověření **typu 1**.
+
+
+
+3. Pověření pro výběr **typu 2**: Tento nový typ pověření pro výběr bude začínat na `0x02...` a bude povolen po hard forku Pectra. Validátoři s pověřeními pro výběr **typu 2** se někdy označují jako „**validátoři se složeným úročením**“
+
+| **Povoleno** | **Nepovoleno** |
+| --------------- | --------------- |
+| ✅ Typ 0 → Typ 1 | ❌ Typ 0 → Typ 2 |
+| ✅ Typ 1 → Typ 2 | ❌ Typ 1 → Typ 0 |
+| | ❌ Typ 2 → Typ 1 |
+| | ❌ Typ 2 → Typ 0 |
+
+### Rizika {#risks}
+
+MaxEB umožňuje validátorovi poslat celý svůj zůstatek jinému validátorovi. Uživatelé, kteří odesílají žádost o konsolidaci, by si měli ověřit zdroj a obsah transakce, kterou podepisují. Oficiálním nástrojem pro využití funkcí maxEB je Launchpad. Pokud se rozhodnete použít nástroj třetí strany, měli byste si ověřit, že:
+
+- Veřejný klíč a adresa pro výběr zdrojového validátora se shodují s validátorem, kterého ovládají
+- Veřejný klíč cílového validátora je správný a patří jim
+- Požadavek je konverze, nikoli konsolidace, pokud nemají v úmyslu posílat prostředky jinému validátorovi
+- Transakce je podepsána správnou adresou pro výběr
+
+**Důrazně doporučujeme** prodiskutovat jakýkoli nástroj třetí strany, který plánujete použít, s [komunitou EthStaker](https://ethstaker.org/about). Je to užitečné místo pro kontrolu správnosti vašeho přístupu a pro to, abyste se vyvarovali chyb. Pokud použijete škodlivý nebo špatně nakonfigurovaný nástroj, **celý váš zůstatek validátora by mohl být odeslán validátorovi, kterého neovládáte**, bez možnosti ho získat zpět.
+
+## Technické detaily {#technical-details}
+
+### Postup {#the-flow}
+
+Operace `ConsolidationRequest` bude mít dvě využití:
+
+1. Převod stávajícího validátora z **typu 1** na validátora **typu 2**
+2. Konsolidace dalších validátorů do stávajícího validátora **typu 2**
+
+Při převodu validátora z **typu 1** na **typ 2** bude _zdroj_ i _cíl_ stejný validátor, kterého převádíte. Operace bude stát palivo a bude zařazena do fronty za ostatní žádosti o konsolidaci. Tato fronta je **oddělená** od fronty vkladů, není ovlivněna novými vklady validátorů a lze ji zobrazit na [pectrified.com](https://pectrified.com/).
+
+Pro konsolidaci validátorů musíte mít _cílového validátora_, který má pověření pro výběr **typu 2**. Toto je cíl všech zůstatků konsolidovaných validátorů a index, který bude zachován.
+
+### Požadavky pro převod na typ 2 {#requirements-for-converting-to-type-2}
+
+To bude vyžadováno pro prvního validátora, kterého převedete na **typ 2**. Index tohoto validátora je zachován a je aktivní. Při převodu platí: _zdrojový validátor_ == _cílový validátor_.
+
+Validátor musí...
+
+- být aktivní
+- mít pověření pro výběr **typu 1**
+- nebýt ve stavu ukončování (nebo seknutý)
+- nemít nevyřízené ručně spuštěné výběry (netýká se automatických výběrů)
+
+
+
+### Požadavky pro konsolidaci {#requirements-for-consolidating}
+
+Jedná se o _stejnou operaci_ jako převod, ale provádí se, když se _zdrojový validátor_ liší od _cílového validátora_. Index cílového validátora je zachován a přijímá zůstatek ze zdrojového validátora. Index zdrojového validátora je uveden do stavu `EXITED`.
+
+V tomto případě má zdrojový validátor všechny stejné požadavky jako výše a navíc:
+
+- je aktivní alespoň ~27,3 hodiny (jedna `SHARD_COMMITTEE_PERIOD`)
+
+Cílový validátor musí
+
+- mít pověření pro výběr **typu 2**
+- nebýt ve stavu ukončování.
+
+
+
+### Žádost o konsolidaci {#the-consolidation-request}
+
+Žádost o konsolidaci bude podepsána adresou pro výběr spojenou se zdrojovým validátorem a bude obsahovat:
+
+1. Adresa zdrojového validátora (např. `0x15F4B914A0cCd14333D850ff311d6DafbFbAa32b`)
+2. Veřejný klíč zdrojového validátora (např. `0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c`)
+3. Veřejný klíč tohoto cílového validátora
+
+Při převodu budou body 2 a 3 stejné. Tuto operaci lze provést na [Launchpadu](https://launchpad.ethereum.org/).
+
+### Požadavky na podepisování {#signing-requirements}
+
+Pro odeslání žádosti `ConsolidationRequest` musí žádost podepsat **adresa pro výběr zdrojového validátora**. Tím se prokazuje kontrola nad prostředky validátora.
+
+### Co se podepisuje? {#what-is-signed}
+
+Používá se doménově oddělený [podpisový kořen](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#compute_signing_root) objektu `ConsolidationRequest`.
+
+- **Doména:** `DOMAIN_CONSOLIDATION_REQUEST`
+- **Pole podpisového kořene:**
+ - `source_pubkey`: `BLSPubkey`
+ - `target_pubkey`: `BLSPubkey`
+ - `source_address`: `ExecutionAddress`
+
+Výsledný **podpis BLS** se odesílá spolu s žádostí.
+
+Poznámka: Podpis se provádí pomocí adresy pro výběr, nikoli klíčem validátora.
+
+### Částečné výběry {#partial-withdrawals}
+
+Validátoři s pověřeními **typu 1** získávají automatické výběry svého přebytečného zůstatku (cokoli nad 32 ETH) na svou adresu pro výběr bez poplatku za palivo. Protože **typ 2** umožňuje validátorovi složitě úročit zůstatky v přírůstcích 1 ETH, nebude automaticky provádět výběry zůstatků, dokud nedosáhne 2048 ETH. Částečné výběry u validátorů **typu 2** musí být spuštěny ručně a budou stát palivo.
+
+## Nástroje pro konsolidaci {#consolidation-tooling}
+
+K dispozici je několik nástrojů pro správu konsolidací. Oficiálním nástrojem, vytvořeným nadací Ethereum, je [Launchpad](https://launchpad.ethereum.org/en/validator-actions). Existují také nástroje třetích stran vytvořené subjekty z komunity uzamykání (stakingu), které mohou nabízet funkce, jež Launchpad neposkytuje. Ačkoli zde uvedené nástroje nejsou auditovány ani schváleny nadací Ethereum, jedná se o open source nástroje od známých členů komunity.
+
+| Nástroj | Web | Open source | Tvůrce | Zkontrolovaný | Rozhraní | Významné funkce |
+| -------------------------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- | ----------------------------------------------------------------- |
+| Pectra Staking Manager | pectrastaking.com | Ano, Apache 2.0 | [Pier Two](https://piertwo.com/) | Ne | Webové UI | Wallet Connect, funguje se SAFE |
+| Nástroj Pectra Validator Ops CLI | [GitHub](https://github.com/Luganodes/Pectra-Batch-Contract) | Ano, MIT | [Luganodes](https://www.luganodes.com/) | Ano, Quantstamp [květen 2025](https://certificate.quantstamp.com/full/luganodes-pectra-batch-contract/23f0765f-969a-4798-9edd-188d276c4a2b/index.html) | Příkazový řádek | Dávkové zpracování, pro mnoho validátorů najednou |
+| Ethereal | [GitHub](https://github.com/wealdtech/ethereal) | Ano, Apache 2.0 | [Jim McDonald](https://www.attestant.io/team/) | Ne | Příkazový řádek | Kompletní sada funkcí pro správu validátorů a uzlů |
+| Siren | [GitHub](https://github.com/sigp/siren) | Ano, Apache 2.0 | [Sigma Prime](https://sigmaprime.io/) | Ne | Částečně příkazový řádek, ale primárně webové UI | Funguje pouze, pokud používáte konsensuálního klienta Lighthouse |
+| Consolideth.app | https://consolideth.app/ [GitHub](https://github.com/Stakely/consolideth) | Ano, licence MIT | [Stakely](https://stakely.io/) | Ne | Webové UI, hostované společností Stakely a připravené k volnému self-hostingu | Podporuje hlavní připojení peněženek, včetně Safe s WalletConnect |
+
+## Nejčastější dotazy {#faq}
+
+### Změní přihlášení mé štěstí při návrzích nebo odměny? {#change-luck-or-rewards}
+
+Ne. Přihlášení nesnižuje vaši šanci na návrh – vaše povinnosti a výběr návrhů zůstávají stejné. Například pokud máte dva validátory s 32 ETH oproti jednomu validátorovi se 64 ETH, budete mít stejnou celkovou šanci být vybráni k navržení bloku a získání odměn.
+
+### Změní přihlášení mé riziko seknutí (slashing)? {#change-slashing-risk}
+
+Pro menší nebo neprofesionální operátory je krátká odpověď ne. Delší odpověď zní, že pro profesionální operátory, kteří provozují mnoho validátorů na uzel s rychlým upozorňováním, může konsolidace do menšího počtu validátorů snížit jejich schopnost reagovat na seknutí (slashing) a zabránit kaskádovým událostem. Počáteční _penalizace_ za seknutí (slashing) pro všechny validátory byla dramaticky snížena z 1 ETH (na 32 ETH) na 0,0078125 ETH (na 32 ETH), aby se toto riziko vyrovnalo.
+
+### Musím opustit svého validátora, abych ho mohl převést? {#exit-validator}
+
+Ne. Můžete provést převod na místě bez opuštění.
+
+### Jak dlouho bude trvat převod / konsolidace? {#how-long}
+
+Minimálně 27,3 hodiny, ale konsolidace také podléhají frontě. Tato fronta je nezávislá na frontách pro vklady a výběry a není jimi ovlivněna.
+
+### Mohu si ponechat svůj index validátora? {#keep-validator-index}
+
+Ano. Převod na místě zachovává stejný index validátora. Pokud konsolidujete více validátorů, budete si moci ponechat pouze index _cílového validátora_.
+
+### Zmeškám atestace? {#miss-attestations}
+
+Během konsolidace do jiného validátora je zdrojový validátor ukončen a následuje ~27hodinová čekací doba, než se zůstatek aktivuje na cílovém validátorovi. Toto období **neovlivňuje metriky výkonu**.
+
+### Hrozí mi nějaké penalizace? {#incur-penalties}
+
+Ne. Dokud je váš validátor online, nehrozí vám žádné penalizace.
+
+### Musí se shodovat adresy pro výběr konsolidovaných validátorů? {#withdrawal-addresses-match}
+
+Ne. Ale _zdroj_ musí autorizovat požadavek ze své vlastní adresy.
+
+### Budou se mé odměny po převodu složeně úročit? {#rewards-compound}
+
+Ano. S pověřeními **typu 2** se odměny nad 32 ETH automaticky znovu uzamykají – ale ne okamžitě. Kvůli malé rezervě (nazývané [_hystereze_](https://eth2book.info/capella/part2/incentives/balances/#hysteresis)) musí váš zůstatek dosáhnout **o zhruba 1,25 ETH více**, než se přebytek znovu uzamkne. Takže místo složeného úročení při 33,0 ETH k tomu dojde při 33,25 (efektivní zůstatek = 33 ETH), pak při 34,25 (efektivní zůstatek = 34 ETH) a tak dále.
+
+### Mohu i po převodu stále dostávat automatické výběry? {#automatic-sweep}
+
+Automatické výběry se budou provádět pouze u přebytečných zůstatků nad 2048. Všechny ostatní částečné výběry budete muset spouštět ručně.
+
+### Mohu si to rozmyslet a vrátit se z typu 2 na typ 1? {#go-back-to-type1}
+
+Ne. Převod na **typ 2** je nevratný.
+
+### Pokud chci konsolidovat více validátorů, musím nejprve každý z nich převést na typ 2? {#consolidate-multiple-validators}
+
+Ne! Převeďte jednoho validátora na typ 2 a pak ho použijte jako cíl. Všichni ostatní validátoři konsolidovaní do tohoto cíle typu 2 mohou být typu 1 nebo typu 2.
+
+### Můj validátor je offline nebo má méně než 32 ETH – mohu ho přesto převést? {#offline-or-below-32eth}
+
+Ano. Dokud je aktivní (není ukončen) a můžete podepisovat jeho adresou pro výběr, můžete ho převést.
+
+## Zdroje informací {#resources}
+
+- [Specifikace konsensu Electra](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/beacon-chain.md): Toto je „nejpravdivější“ verze, na kterou byste se měli spolehnout. V případě pochybností si přečtěte specifikace
+- Ne každému vyhovuje probírat se kódem, takže [tento maxEB-GPT](https://chatgpt.com/g/g-67f1650fb48081918f555e0c8d1c2ae9-maxeb-gpt) může pomoci s interpretací specifikací. _Upozornění: Jako zdroj pravdy by měly být brány specifikace, nikoli AI, protože AI může špatně interpretovat informace nebo si odpovědi vymýšlet_.
+- [pectrified.com](https://pectrified.com/): Zobrazte si stav konsolidací, vkladů a čekacích dob ve frontě
+- [Ethereal](https://github.com/wealdtech/ethereal): Komunitou vytvořený nástroj CLI pro správu běžných úkolů validátorů
+- [batch-validator-depositor](https://github.com/attestantio/batch-validator-depositor): Komunitou vytvořený kontrakt, který umožňuje vložení vkladů pro více validátorů Ethereum v jedné transakci
diff --git a/public/content/translations/cs/roadmap/scaling/index.md b/public/content/translations/cs/roadmap/scaling/index.md
new file mode 100644
index 00000000000..a256e9d5fb5
--- /dev/null
+++ b/public/content/translations/cs/roadmap/scaling/index.md
@@ -0,0 +1,58 @@
+---
+title: Škálování Etherea
+description: Rollupy združují transakce mimo blockchain, čímž uživateli snižují náklady za transkaci. Současný způsob, jakým rollupy zpracovávají data, je však příliš drahý, což limituje, nakolik mohou transakce zlevnit. Tento problém řeší Proto-Danksharding.
+lang: cs
+image: /images/roadmap/roadmap-transactions.png
+alt: "Plán Etherea"
+template: roadmap
+---
+
+Ethereum se škáluje pomocí [druhých vrstev](/layer-2/#rollups) (také známých jako rollupy), které sdružují transakce a odesílají výstup do Etherea. Přestože jsou rollupy až osmkrát levnější než hlavní síť Ethereum, je možné je dále optimalizovat a snížit tak náklady pro koncové uživatele. Rollupy spoléhají na některé centralizované komponenty, které mohou vývojáři v budoucnu odstranit.
+
+
+
+
+ Transakční náklady
+
+
+
Dnešní rollupy jsou přibližně 5x až 20x levnější než 1. vrstva Etherea
+
ZK-rollupy brzy sníží poplatky asi 40x až 100x
+
ZK-rollupy brzy sníží poplatky asi 40x až 100x
+
Pro uživatele to bude znamenat, že se cena za provedení transakce ustálí na hodnotě, která odpovídá přibližně 0,001 USD
+
+
+
+
+## Zlevnění dat {#making-data-cheaper}
+
+Rollupy sdružují velké množství transakcí, provádějí je a výsledky zasílají do Etherea. Tento postup generuje mnoho dat, která musí být otevřeně dostupná, aby kdokoli mohl provádět transakce a ověřit čestnost operátora rollupu. Pokud někdo zjistí nějakou nesrovnalost, může vznést námitku.
+
+### Proto-Danksharding {#proto-danksharding}
+
+Rollupová data jsou permanentně uložena na Ethereu, což je drahé. Více než 90 % transakčních nákladů, které uživatelé platí za použití rollupů, je využito na uložení dat. Abychom snížili transakční náklady, můžeme data přesunout do nového dočasného úložiště zvaného „blob“. Bloby jsou levnější, protože nejsou permanentní; jakmile nebudou potřeba, budou z Etherea odstraněny. Dlouhodobé ukládání dat rollupů je odpovědností lidí, kteří je potřebují, jako jsou operátoři rollupů, burzy, indexovací služby atd. Přidání blobových transakcí do infrastruktury Etherea je součástí vylepšení známého jako „Proto-Danksharding“.
+
+Pomocí Proto-Dankshardingu je možné do bloků na Ethereu přidávat spoustu blobů. To umožňuje další podstatné navýšení (>100x) propustnosti Etherea a snížení transakčních nákladů.
+
+### Danksharding {#danksharding}
+
+Druhá fáze rozšiřování blobových dat je komplikovaná, protože vyžaduje nové metody kontroly dostupnosti rollupových dat v síti a spoléhá na to, že [validátoři](/glossary/#validator) oddělí odpovědnost za vytváření [bloků](/glossary/#block) a navrhování bloků. To také vyžaduje vývoj řešení kryptografického důkazu, že validátoři skutečně ověřili malé podmnožiny blobových dat.
+
+Tento druhý krok je známý jako [„Danksharding“](/roadmap/danksharding/). Práce na implementaci pokračuje a pokrok se děje v oblasti předpokladů, jako je [oddělení tvorby bloků a navrhování bloků](/roadmap/pbs) a nové návrhy sítě, které síti umožňují efektivně potvrzovat dostupnost dat náhodným vzorkováním několika kilobajtů najednou, což je známé jako [vzorkování dostupnosti dat (DAS)](/developers/docs/data-availability).
+
+Více o Dankshardingu
+
+## Decentralizace rollupů {#decentralizing-rollups}
+
+[Rollupy](/layer-2) již škálují Ethereum. [Bohatý ekosystém rollupových projektů](https://l2beat.com/scaling/tvs) umožňuje uživatelům provádět transakce rychle a levně s řadou bezpečnostních záruk. Rollupy ale byly zavedeny pomocí centralizovaných sekvencerů (to jsou počítače, které provádějí veškeré zpracování a agregaci transakcí před jejich odesláním do Etherea). To je řešení s potenciální cenzurou, protože operátory sekvenceru mohou být sankcionovány, podplaceny nebo jinak kompromitovány. Zároveň se [rollupy liší](https://l2beat.com/scaling/summary) ve způsobu, jakým ověřují příchozí data. Nejlepším způsobem je, že „prověřovatelé“ předkládají [důkazy o podvodu](/glossary/#fraud-proof) nebo důkazy o platnosti, ale ne všechny rollupy toto už umí. Dokonce i ty, které používají důkazy o platnosti/podvodu, používají jen malou skupinu známých důkazů. Proto je dalším kritickým krokem při škálování Etherea rozdělení odpovědnosti za provoz sekvencerů a prověřovatelů mezi více entit.
+
+Více o rollupech
+
+## Aktuální postup {#current-progress}
+
+Proto-Danksharding byl úspěšně implementován jako součást upgradu sítě Cancun-Deneb („Dencun“) v březnu 2024. Od jeho implementace začaly rollupy využívat blob úložiště, což vedlo ke snížení transakčních nákladů pro uživatele a zpracování milionů transakcí v blobech.
+
+Pokračuje se v práci na plném Dankshardingu a dosahuje se pokroku v jeho předpokladech, jako je PBS (Proposer-Builder Separation – oddělení navrhovatele od tvůrce bloku) a DAS (Data Availability Sampling – vzorkování dostupnosti dat). Decentralizace rollupové infrastruktury je postupný proces – existuje mnoho různých rollupů, které budují mírně odlišné systémy a budou se plně decentralizovat různým tempem.
+
+[Více o upgradu sítě Dencun a jeho dopadu](/roadmap/dencun/)
+
+
diff --git a/public/content/translations/cs/roadmap/secret-leader-election/index.md b/public/content/translations/cs/roadmap/secret-leader-election/index.md
index 56ee5a64bf8..9066fa6b5df 100644
--- a/public/content/translations/cs/roadmap/secret-leader-election/index.md
+++ b/public/content/translations/cs/roadmap/secret-leader-election/index.md
@@ -12,15 +12,15 @@ summaryPoints:
V dnešním mechanismu konsensu založeném na [důkazu podílem](/developers/docs/consensus-mechanisms/pos) je seznam budoucích navrhovatelů bloků veřejný a lze mapovat jejich IP adresy. To znamená, že útočníci by mohli identifikovat, kteří validátoři mají navrhnout blok, a zaměřit se na ně útokem denial-of-service (DOS), který jim nedovolí blok včas navrhnout.
-To by mohlo dát útočníkovi příležitost vydělat. Např. navrhovatel bloku vybraný pro slot `n+1` by mohl DOS navrhovatele ve slotu `n`, takže by nestihl navrhnout blok. To by umožnilo útočícímu navrhovateli bloku extrahovat MEV obou slotů nebo vzít všechny transakce, které měly být rozděleny do dvou bloků, a místo toho je všechny zahrnout do jednoho, čímž by získal všechny poplatky, které s nimi souvisejí. V ohrožení jsou zejména domácí validátoři, nikoli sofistikovaní institucionální validátoři, kteří se mohou chránit před útoky DOS pomocí pokročilejších metod, a mohli by proto být centralizační silou.
+To by mohlo dát útočníkovi příležitost vydělat. Například navrhovatel bloku vybraný pro slot `n+1` by mohl provést útok DoS na navrhovatele ve slotu `n`, takže ten by promeškal svou příležitost navrhnout blok. To by umožnilo útočícímu navrhovateli bloku extrahovat MEV obou slotů nebo vzít všechny transakce, které měly být rozděleny do dvou bloků, a místo toho je všechny zahrnout do jednoho, čímž by získal všechny poplatky, které s nimi souvisejí. V ohrožení jsou zejména domácí validátoři, nikoli sofistikovaní institucionální validátoři, kteří se mohou chránit před útoky DOS pomocí pokročilejších metod, a mohli by proto být centralizační silou.
-Existuje několik řešení tohoto problému. Jedním z nich je [Technologie distribuovaných validátorů](https://github.com/ethereum/distributed-validator-specs), jejímž cílem je rozdělit různé úkoly související se spuštěním validátoru na více počítačů s redundancí, takže pro útočníka je mnohem těžší zabránit navržení bloku v konkrétním slotu. Nejrobustnějším řešením je však **tajná volba jediného lídra (Single Secret Leader Election, SSLE)**.
+Existuje několik řešení tohoto problému. Jednou z nich je [Technologie distribuovaných validátorů](https://github.com/ethereum/distributed-validator-specs), jejímž cílem je rozdělit různé úkoly související s provozem validátoru na více strojů, s redundancí, takže je pro útočníka mnohem těžší zabránit navržení bloku v konkrétním slotu. Nejrobustnějším řešením je však **tajná volba jediného lídra (Single Secret Leader Election, SSLE)**.
## Tajná volba jediného lídra {#secret-leader-election}
V SSLE se používá chytrá kryptografie, která zajišťuje, že pouze vybraný validátor ví, že byl vybrán. Funguje to tak, že se každý validátor zaváže k tajemství sdílenému všemi. Tyto závazky se zamíchají a překonfigurují tak, aby nikdo nemohl mapovat závazky validátorů, ale každý validátor ví, který závazek k němu patří. Poté je náhodně vybrán jeden závazek. Pokud validátor zjistí, že byl vybrán jeho závazek, ví, že je řada na něm, aby navrhl blok.
-Hlavní implementace této myšlenky se nazývá [Whisk](https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763). Funguje takto:
+Přední implementace této myšlenky se nazývá [Whisk](https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763). Funguje takto:
1. Validátoři se zavazují ke sdílenému tajemství. Schéma závazku je navrženo tak, že může být vázáno na identitu validátora, ale také randomizováno, takže žádná třetí strana nemůže zpětně tuto vazbu zanalyzovat a tím propojit konkrétní závazek s konkrétním validátorem.
2. Na začátku epochy je náhodně vybrána sada validátorů, která pomocí RANDAO odebere vzorky závazků od 16 384 validátorů.
@@ -31,14 +31,14 @@ Hlavní implementace této myšlenky se nazývá [Whisk](https://ethresear.ch/t/
To brání útočníkům, aby předem věděli, který konkrétní validátor navrhne další blok, což zabraňuje DOS útokům.
-## Tajné volby bez jediného vůdce (SnSLE) {#secret-non-single-leader-election}
+## Tajná volba bez jediného lídra (SnSLE) {#secret-non-single-leader-election}
-Existuje také samostatný návrh, jehož cílem je vytvořit scénář, ve kterém má každý validátor náhodnou šanci navrhnout blok v každém slotu, podobně jako tomu bylo v rámci důkazu prací. Tento systém je znám jako **tajná volba bez jediného vůdce (SnSLE)**. Jednoduchým způsobem, jak toho dosáhnout, je využít funkci RANDAO, která se používá k náhodnému výběru validátorů v dnešním protokolu. Myšlenkou RANDAO je, že dostatečně náhodné číslo je generováno smícháním hashů předložených mnoha nezávislými validátory. V SnSLE lze tyto hashe použít k výběru dalšího navrhovatele bloku, např. výběrem hashe s nejnižší hodnotou. Rozsah platných hashů může být omezen, což sjednotí pravděpodobnost výběru jednotlivých validátorů v každém slotu. Pokud hash musí být menší než `2^256 * 5 / N`, kde `N` = počet aktivních validátorů, je šance, že bude vybrán jakýkoliv jednotlivý validátor v každém slotu, `5/N`. V tomto příkladu by byla 99,3% šance, že alespoň jeden navrhovatel vygeneruje platný hash v každém slotu.
+Existuje také samostatný návrh, jehož cílem je vytvořit scénář, ve kterém má každý validátor náhodnou šanci navrhnout blok v každém slotu, podobně jako se o návrhu bloku rozhodovalo v rámci důkazu prací. Tento systém je znám jako **tajná volba bez jediného lídra (SnSLE)**. Jednoduchým způsobem, jak toho dosáhnout, je využít funkci RANDAO, která se používá k náhodnému výběru validátorů v dnešním protokolu. Myšlenkou RANDAO je, že dostatečně náhodné číslo je generováno smícháním hashů předložených mnoha nezávislými validátory. V SnSLE lze tyto hashe použít k výběru dalšího navrhovatele bloku, např. výběrem hashe s nejnižší hodnotou. Rozsah platných hashů může být omezen, což sjednotí pravděpodobnost výběru jednotlivých validátorů v každém slotu. Pokud haš musí být menší než `2^256 * 5 / N`, kde `N` = počet aktivních validátorů, bude šance, že v každém slotu bude vybrán kterýkoli jednotlivý validátor, `5/N`. V tomto příkladu by byla 99,3% šance, že alespoň jeden navrhovatel vygeneruje platný hash v každém slotu.
-## Aktuální průběh {#current-progress}
+## Aktuální postup {#current-progress}
Jak SSLE, tak SnSLE jsou ve fázi výzkumu. Pro žádný z nápadů zatím neexistuje konečná specifikace. SSLE a SnSLE jsou konkurenční návrhy, které nemohly být implementovány najednou. Před implementací je potřeba další výzkum a vývoj, prototypování a implementace na veřejných testovacích sítích.
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
- [SnSLE](https://ethresear.ch/t/secret-non-single-leader-election/11789)
diff --git a/public/content/translations/cs/roadmap/security/index.md b/public/content/translations/cs/roadmap/security/index.md
new file mode 100644
index 00000000000..af3f2cb767b
--- /dev/null
+++ b/public/content/translations/cs/roadmap/security/index.md
@@ -0,0 +1,48 @@
+---
+title: Bezpečnější Ethereum
+description: Ethereum je nejbezpečnější a nejvíce decentralizovaná platforma pro chytré kontrakty, která existuje. Nicméně stále je možné ho vylepšit, aby zůstalo odolné vůči jakékoliv úrovni útoků i v daleké budoucnosti.
+lang: cs
+image: /images/roadmap/roadmap-security.png
+alt: "Plán Etherea"
+template: roadmap
+---
+
+**Ethereum je již velmi bezpečná**, decentralizovaná platforma pro [chytré kontrakty](/glossary/#smart-contract). Nicméně stále je možné ho vylepšit, aby zůstalo odolné vůči jakémukoliv druhu útoků i v daleké budoucnosti. Mezi ně patří jemné změny ve způsobu, jakým se [klienti Etherea](/glossary/#consensus-client) vypořádávají s konkurenčními [bloky](/glossary/#block), a také zrychlení, s jakým síť považuje bloky za ["finalizované"](/developers/docs/consensus-mechanisms/pos/#finality) (což znamená, že je nelze změnit bez extrémních ekonomických ztrát pro útočníka).
+
+Existují také vylepšení, která ztíží cenzuru transakcí tím, že navrhovatelé bloků nebudou mít přístup k aktuálnímu obsahu svých bloků, a další nové způsoby, jak identifikovat, kdy se klient snaží blockchain cenzorovat. Tato vylepšení společně vylepší protokol [důkazu podílem](/glossary/#pos) tak, aby uživatelé – od jednotlivců až po korporace – měli okamžitou důvěru ve své aplikace, data a aktiva na Ethereu.
+
+## Výběry ze stakování {#staking-withdrawals}
+
+Přechod z [důkazu prací](/glossary/#pow) na důkaz podílem začal tím, že průkopníci Etherea „stakovali“ své ETH do depozitního kontraktu. Tyto ETH jsou používány k ochraně sítě. Dne 12. dubna 2023 proběhla druhá aktualizace, která validátorům umožnila vybrat stakované ETH. Od té doby mohou validátoři uzamykat nebo vybírat ETH bez dřívějších omezení.
+
+Přečtěte si o výběrech
+
+## Obrana proti útokům {#defending-against-attacks}
+
+Protokol důkaz podílem na Ethereu je stále možné vylepšovat. Jedním z nich je tzv. [view-merge](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739) – bezpečnější algoritmus pro výběr [větve](/glossary/#fork), který ztěžuje určité sofistikované typy útoků.
+
+Snížení času, který Ethereum potřebuje k [finalizaci](/glossary/#finality) bloků, by poskytlo lepší uživatelskou zkušenost a zabránilo sofistikovaným útokům typu „reorg“, při kterých se útočníci snaží přeskupit velmi nedávné bloky, aby z nich vytěžili zisk nebo cenzurovali určité transakce. [**Finalizace v jednom slotu (SSF)**](/roadmap/single-slot-finality/) je **způsob, jak minimalizovat zpoždění finalizace**. V současnosti je časové okno bloků 15 minut, během kterých by teoreticky útočník mohl přesvědčit další validátory, aby bloky přeorganizovali. V případě SSF je to 0 minut. Uživatelé, od jednotlivců po aplikace a burzy, benefitují z rychlého ujištění, že jejich transakce nebudou zrušeny, a síť benefituje z toho, že zamezí celé řadě útoků.
+
+Přečtěte si o finalizaci v jednom slotu
+
+## Obrana proti cenzuře {#defending-against-censorship}
+
+Decentralizace zabraňuje tomu, aby jednotlivci nebo malé skupiny [validátorů](/glossary/#validator) získali příliš velký vliv. Nové technologie uzamčení mohou pomoci zajistit, že validátoři Etherea zůstanou co nejvíce decentralizovaní, a zároveň je chrání proti hardwarovým, softwarovým a síťovým poruchám. To zahrnuje software, který sdílí odpovědnosti validátorů mezi více [uzly](/glossary/#node). Tomu se říká **technologie distribuovaných validátorů (DVT)**. [Staking pooly](/glossary/#staking-pool) jsou motivovány k používání DVT, protože to umožňuje více počítačům kolektivně se podílet na validaci, což přidává redundanci a odolnost proti chybám. Také rozděluje klíče validátorů mezi několik systémů, místo aby jeden operátor provozoval několik validátorů. To ztěžuje nepoctivým operátorům koordinaci útoků na Ethereum. Celkově je cílem dosáhnout bezpečnostních výhod tím, že jsou validátoři provozováni jako _komunity_, nikoliv jako jednotlivci.
+
+Přečtěte si o technologii distribuovaných validátorů
+
+Implementace **oddělení navrhovatele a stavitele (PBS)** výrazně zlepší vestavěné obranné mechanismy Etherea proti cenzuře. PBS umožňuje jednomu validátorovi vytvořit blok a jinému ho šířit po síti Ethereum. To zajišťuje, že zisky z profesionálních algoritmů na tvorbu bloků maximalizujících zisk jsou spravedlivěji sdíleny napříč sítí, **což zabraňuje koncentraci staků** u nejvýkonnějších institucionálních stakerů v průběhu času. Navrhovatel bloku si vybere nejziskovější blok, který mu nabídnul trh stavitelů bloků. Aby mohl cenzurovat, navrhovatel bloku by si často musel vybrat méně ziskový blok, což by bylo **ekonomicky iracionální a také zřejmé zbytku validátorů** v síti.
+
+Existují potenciální doplňky k PBS, jako jsou šifrované transakce a inkluzní seznamy, které by mohly dále zlepšit odolnost Etherea proti cenzuře. Tyto funkce činí stavitele i navrhovatele bloků slepými k aktuálním transakcím zahrnutým v jejich blocích.
+
+Přečtěte si o oddělení navrhovatele a stavitele bloků
+
+## Ochrana validátorů {#protecting-validators}
+
+Je možné, že by sofistikovaný útočník mohl identifikovat nadcházející validátory a spamovat je, aby jim zabránil v navrhování bloků; toto je známé jako útok **odepření služby (DoS)**. Implementace [**tajného výběru lídrů (SLE)**](/roadmap/secret-leader-election) bude chránit proti tomuto typu útoku tím, že zabrání tomu, aby byli navrhovatelé bloků předem známi. Toho je možné dosáhnout tak, že se konstantně promíchává sada kryptografických závazků reprezentujících kandidáty na navrhovatele bloků a implementuje jejich pořadí za účelem určení výběru validátora takovým způsobem, že pouze validátoři sami znají své pořadí předem.
+
+Přečtěte si o tajném výběru lídrů
+
+## Aktuální postup {#current-progress}
+
+**Bezpečnostní vylepšení zahrnutá v plánu jsou v pokročilých stádiích výzkumu**, ale nečeká se, že budou implementována v nejbližší době. Další kroky pro view-merge, PBS, SSF a SLE jsou dokončení jejich specifikace a zahájení vývoje prototypů.
diff --git a/public/content/translations/cs/roadmap/single-slot-finality/index.md b/public/content/translations/cs/roadmap/single-slot-finality/index.md
index cae31b5b03a..c98ac17467e 100644
--- a/public/content/translations/cs/roadmap/single-slot-finality/index.md
+++ b/public/content/translations/cs/roadmap/single-slot-finality/index.md
@@ -6,9 +6,9 @@ lang: cs
# Finalita v jednom slotu {#single-slot-finality}
-Než se blok v síti Ethereum finalizuje, trvá to přibližně 15 minut. Nicméně, mechanismus konsenzu Etherea lze vylepšit tak, že bude bloky validovat efektivněji a výrazně zkrátí dobu do finality. Místo čekání patnáct minut by mohly být bloky navrženy a finalizovány ve stejném slotu. Tento koncept je známý pod pojmem **finalita v jednom slotu (SSF)**.
+Než se blok v síti Ethereum finalizuje, trvá to přibližně 15 minut. Nicméně, mechanismus konsenzu Etherea lze vylepšit tak, že bude bloky validovat efektivněji a výrazně zkrátí dobu do finality. Místo čekání patnáct minut by mohly být bloky navrženy a finalizovány ve stejném slotu. Tento koncept je známý jako **finalita v jednom slotu (SSF)**.
-## What is finality? {#what-is-finality}
+## Co je to finalita? {#what-is-finality}
V mechanismu konsenzu Etherea založeném na důkazu podílem znamená finalita záruku, že blok nemůže být změněn nebo odstraněn z blockchainu, aniž by útočník musel spálit alespoň 33 % celkového uzamčeného ETH. Jedná se o „krypto-ekonomickou“ bezpečnost, protože důvěra je založena na extrémně vysokých nákladech spojených se změnou pořadí nebo obsahu řetězce, což zabraňuje jakémukoli racionálnímu ekonomickému subjektu se o takovou změnu vůbec pokoušet.
@@ -16,7 +16,7 @@ V mechanismu konsenzu Etherea založeném na důkazu podílem znamená finalita
Současná doba do finality se ukázala být příliš dlouhá. Většina uživatelů nechce čekat 15 minut na finalitu, což je nepohodlné pro aplikace a burzy, které potřebují vysoký průtok transakcí a musí čekat tak dlouho, aby si byly jisté, že jejich transakce jsou trvalé. Prodleva mezi návrhem bloku a jeho finalizací také vytváří příležitost pro krátké reorganizace (reorg), které by útočník mohl využít k cenzuře určitých bloků nebo k extrakci MEV. Mechanismus, který se zabývá vylepšením bloků po etapách, je také poměrně složitý a několikrát se opravoval, aby se odstranily bezpečnostní zranitelnosti, což z něj činí jednu z částí kódu Etherea, kde je pravděpodobnější výskyt subtilních chyb. Všechny tyto problémy lze odstranit zkrácením doby do finality na jeden slot.
-## Kompromis mezi decentralizací, časem a režijními náklady {#the-decentralization-time-overhead-tradeoff}
+## Kompromis decentralizace / času / režie {#the-decentralization-time-overhead-tradeoff}
Záruka finality není okamžitou vlastností nového bloku – trvá nějaký čas, než se nový blok finalizuje. Důvodem je, že validátoři představující alespoň 2/3 celkového uzamčeného ETH v síti musí pro blok hlasovat („atestovat ho“), aby byl považován za finalizovaný. Každý validační uzel v síti musí zpracovávat atestace od ostatních uzlů, aby věděl, zda blok dosáhl nebo nedosáhl hranice 2/3.
@@ -31,36 +31,35 @@ Současný mechanismus konsenzu Etherea vyvážil tyto tři parametry takto:
S aktuálním návrhem mechanismu je pro zkrácení času do finality nutné snížit počet validátorů v síti nebo zvýšit hardwarové požadavky pro každý uzel. Existují však vylepšení způsobu zpracování atestací, což může umožnit započítání více atestací, aniž by se zvýšily režijní náklady na každý uzel. Efektivnější zpracování umožní určit finalitu v rámci jednoho slotu, namísto dvou epoch.
-## Cesty k finalitě v jednom slotu (SSF) {#routes-to-ssf}
+## Cesty k SSF {#routes-to-ssf}
-
+
Současný mechanismus konsenzu kombinuje atestace od více validátorů, známých jako komise, aby se snížil počet zpráv, které každý validátor musí zpracovat k ověření bloku. Každý validátor má možnost atestovat blok v každé epoše (32 slotů), ale v každém slotu atestuje pouze podmnožina validátorů, známá jako „komise“. Tito validátoři se dělí do podsítí, kde je několik validátorů vybráno jako „agregátoři“. Ti kombinují všechny podpisy, které vidí od ostatních validátorů ve své podsíti, do jednoho agregovaného podpisu. Agregátor, který zahrne největší počet individuálních příspěvků, předá svůj agregovaný podpis navrhovateli bloku, který ho zahrne do bloku spolu s agregovaným podpisem od ostatních komisí.
-Tento proces poskytuje dostatečnou kapacitu, aby mohl každý validátor hlasovat v každé epoše, protože „32 slotů * 64 komisí * 256 validátorů na komisi = 524 288 validátorů na epochu“. V době psaní tohoto textu (únor 2023) je aktivních přibližně 513 000 validátorů.
+Tento proces poskytuje dostatečnou kapacitu, aby mohl každý validátor hlasovat v každé epoše, protože „32 slotů \* 64 komisí \* 256 validátorů na komisi = 524 288 validátorů na epochu“. V době psaní tohoto textu (únor 2023) je aktivních přibližně 513 000 validátorů.
-V tomto schématu je možné, aby každý validátor hlasoval o bloku pouze rozdělením atestací napříč celou epochou. Existují však potenciální způsoby, jak tento mechanismus vylepšit, aby _měl každý validátor možnost atestovat každý slot_.
-
+V tomto schématu je možné, aby každý validátor hlasoval o bloku pouze rozdělením atestací napříč celou epochou. Existují však potenciální způsoby, jak tento mechanismus vylepšit, aby _měl každý validátor možnost atestovat každý slot_.
Od doby navržení mechanismu konsenzu Etherea se ukázalo, že schéma agregace podpisů (BLS) je mnohem škálovatelnější, než se původně zdálo, a že schopnost klientů zpracovávat a ověřovat podpisy se také zlepšila. Ukazuje se, že zpracování atestací od obrovského množství validátorů je ve skutečnosti možné v rámci jednoho slotu. Např. s jedním milionem validátorů, kteří každý hlasují dvakrát v každém slotu, a časem slotu nastaveným na 16 sekund, by uzly musely ověřovat podpisy rychlostí alespoň 125 000 agregací za sekundu, aby zpracovaly celý 1 milion atestací v rámci slotu. Ve skutečnosti trvá běžnému počítači přibližně 500 nanosekund ověřit jeden podpis, což znamená, že 125 000 podpisů může být ověřeno za ~62,5 ms, což je výrazně pod hranicí jedné sekundy.
-Dalšího zvýšení efektivity by mohlo být dosaženo vytvořením superkomisí, např. o 125 000 náhodně vybraných validátorech na slot. Jen tito validátoři by mohli hlasovat o bloku a tudíž by jen tato podmnožina validátorů rozhodovala, zda bude blok finalizován. Jestli je to dobrý nápad, závisí na tom, jak drahý by komunita chtěla, aby byl úspěšný útok na Ethereum. Protože místo vyžadování 2/3 celkového uzamčeného etheru by útočník mohl finalizovat nepoctivý blok s 2/3 uzamčeného etheru _v této superkomisi_. Toto je stále aktivně zkoumáno, ale zdá se pravděpodobné, že pro množinu validátorů dostatečně velkou na to, aby vyžadovala superkomise, bude náklad na útok na jednu z těchto podkomisí extrémně vysoký (např. náklady na útok denominované v ETH by byly `2/3 * 125 000 * 32 = ~2,6 milionu ETH`). Náklady na útok mohou být upraveny zvýšením velikosti množiny validátorů (např. nastavením velikosti validátorské množiny tak, aby náklady na útok činily 1 milion etherů, 4 miliony etherů, 10 milionů etherů atd.). [Předběžné průzkumy](https://youtu.be/ojBgyFl6-v4?t=755) komunity naznačují, že 1–2 miliony etherů jsou přijatelnými náklady na útok, což implikuje ~65 536–97 152 validátorů na superkomisi.
+Dalšího zvýšení efektivity by mohlo být dosaženo vytvořením superkomisí, např. o 125 000 náhodně vybraných validátorech na slot. Jen tito validátoři by mohli hlasovat o bloku a tudíž by jen tato podmnožina validátorů rozhodovala, zda bude blok finalizován. Jestli je to dobrý nápad, závisí na tom, jak drahý by komunita chtěla, aby byl úspěšný útok na Ethereum. Je to proto, že namísto požadavku 2/3 z celkového stakovaného etheru by útočník mohl finalizovat nepoctivý blok s 2/3 stakovaného etheru _v této superkomisi_. Toto je stále aktivní oblast výzkumu, ale zdá se pravděpodobné, že pro množinu validátorů dostatečně velkou na to, aby vyžadovala superkomise, bude náklad na útok na jednu z těchto podkomisí extrémně vysoký (např. náklady na útok denominované v ETH by byly `2/3 * 125,000 * 32 = ~2.6 million ETH`). Náklady na útok lze upravit zvýšením velikosti sady validátorů (např. vyladěním velikosti sady validátorů tak, aby se náklady na útok rovnaly 1 milionu etherů, 4 milionům etherů, 10 milionům etherů atd.). [Předběžné průzkumy](https://youtu.be/ojBgyFl6-v4?t=755) komunity naznačují, že 1–2 miliony etherů jsou přijatelnými náklady na útok, z čehož plyne ~65 536 – 97 152 validátorů na superkomisi.
Nicméně ověřování není skutečnou překážkou – tou je agregace podpisů, která reálně zatěžuje validační uzly. Aby se agregace podpisů škálovala, bude pravděpodobně nutné zvýšit počet validátorů v každé podsíti, zvýšit počet podsítí nebo přidat další vrstvy agregace (tj. implementovat komise komisí). Část řešení by mohla spočívat v povolení specializovaných agregátorů – podobně jako budou sestavování bloků a generování závazků pro data rollupů outsourcována specializovaným sestavovatelům bloků v rámci oddělení navrhovatele a sestavovatele (PBS) a Dankshardingu.
## Jaká je role pravidla pro volbu větve v SSF? {#role-of-the-fork-choice-rule}
-Dnešní mechanismus konsenzu spoléhá na těsné propojení mezi finalizačním gadgetem (algoritmem, který určuje, zda 2/3 validátorů atestovalo určitý řetězec) a pravidlem pro volbu větve (algoritmem, který rozhoduje, který řetězec je správný, když existuje více možností). Algoritmus pro volbu větve zohledňuje pouze bloky _od_ posledního finalizovaného bloku. Pod SSF by nebyly žádné bloky, které by algoritmus pro volbu větve mohl zohlednit, protože finalita nastává ve stejném slotu, ve kterém je blok navržen. To znamená, že pod SSF by byl kdykoliv aktivní _buď_ finalizační gadget, _nebo_ algoritmus pro volbu větve. Finalizační gadget by finalizoval bloky, kde by byly online a poctivě atestovaly 2/3 validátorů. Pokud by blok nedokázal překročit hranici 2/3, nastoupilo by pravidlo pro volbu větve, aby určilo, který řetězec sledovat. To také vytváří příležitost zachovat mechanismus neaktivity, který obnovuje řetězec, když je > 1/3 validátorů offline, byť s určitými dalšími nuancemi.
+Dnešní mechanismus konsenzu spoléhá na těsné propojení mezi finalizačním gadgetem (algoritmem, který určuje, zda 2/3 validátorů atestovalo určitý řetězec) a pravidlem pro volbu větve (algoritmem, který rozhoduje, který řetězec je správný, když existuje více možností). Algoritmus pro volbu větve zohledňuje pouze bloky _od_ posledního finalizovaného bloku. Pod SSF by nebyly žádné bloky, které by algoritmus pro volbu větve mohl zohlednit, protože finalita nastává ve stejném slotu, ve kterém je blok navržen. To znamená, že v rámci SSF by byl v kteroukoli chvíli aktivní _buď_ algoritmus pro volbu větve, _nebo_ finalizační gadget. Finalizační gadget by finalizoval bloky, kde by byly online a poctivě atestovaly 2/3 validátorů. Pokud by blok nedokázal překročit hranici 2/3, nastoupilo by pravidlo pro volbu větve, aby určilo, který řetězec sledovat. To také vytváří příležitost zachovat mechanismus úniku z neaktivity, který obnoví řetězec, když se >1/3 validátorů odpojí, i když s určitými dalšími nuancemi.
## Nevyřešené problémy {#outstanding-issues}
Problém se škálováním agregace rozšířením počtu validátorů na podsíť spočívá ve zvýšení zátěže peer-to-peer sítě. Problém s přidáním vrstev agregace je zvýšená složitost z technického hlediska, což přidává latenci (tj. může trvat déle, než se navrhovateli bloku ozvou všichni agregátoři podsítí). Není také jasné, jak se vypořádat se scénářem, kdy je na síti více aktivních validátorů, než lze zpracovat v každém slotu, i při BLS agregaci podpisů. Jedním z možných řešení je, že by mohl být úplně odstraněn strop 32 ETH na efektivní zůstatek, protože všichni validátoři atestují každý slot a pod SSF nejsou žádné komise, což by znamenalo, že operátoři spravující více validátorů by mohli konsolidovat své uzamčení a provozovat méně validátorů, čímž by se snížil počet zpráv, které musí validační uzly zpracovat za účelem zohlednění celého množství validátorů. Toto spoléhá na fakt, že velcí uzamykatelé budou souhlasit s konsolidací svých validátorů. Je také možné kdykoliv zavést pevný strop počtu validátorů nebo množství uzamčeného ETH. To však vyžaduje nějaký mechanismus rozhodnutí, kteří validátoři se mohou účastnit a kteří ne, což je náchylné k vytvoření nežádoucích sekundárních efektů.
-## Aktuální průběh {#current-progress}
+## Aktuální postup {#current-progress}
-SSF je ve fázi výzkumu. Neočekává se, že bude spuštěno v nejbližších letech, pravděpodobně se ho dočkáme až po dalších podstatných vylepšeních, jako jsou [Verkle trees](/roadmap/verkle-trees/) a [Danksharding](/roadmap/danksharding/).
+SSF je ve fázi výzkumu. Neočekává se, že bude spuštěno několik let, pravděpodobně až po dalších podstatných vylepšeních, jako jsou [Verkle trees](/roadmap/verkle-trees/) a [Danksharding](/roadmap/danksharding/).
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Vitalik o SSF na EDCONu v roce 2022](https://www.youtube.com/watch?v=nPgUKNPWXNI)
-- [Vitalikovy poznámky: Cesta k finalitě v jednom slotu](https://notes.ethereum.org/@vbuterin/single_slot_finality)
+- [Vitalik o SSF na EDCON 2022](https://www.youtube.com/watch?v=nPgUKNPWXNI)
+- [Vitalikovy poznámky: Cesty k finalitě v jednom slotu](https://notes.ethereum.org/@vbuterin/single_slot_finality)
diff --git a/public/content/translations/cs/roadmap/statelessness/index.md b/public/content/translations/cs/roadmap/statelessness/index.md
index 7ab7f1ea8cb..f3c19a1102d 100644
--- a/public/content/translations/cs/roadmap/statelessness/index.md
+++ b/public/content/translations/cs/roadmap/statelessness/index.md
@@ -12,12 +12,12 @@ Dnes je hlavní překážkou bránící univerzálnímu přístupu k uzlům vyso
Levnější pevné disky mohou být použity k ukládání starších dat, ale ty jsou příliš pomalé na to, aby držely krok s příchozími bloky. Zachování současných modelů úložiště pro klienty, při současném zlevnění a zjednodušení ukládání dat, je pouze dočasným a částečným řešením problému, protože růst stavových dat Etherea je „neomezený“, což znamená, že požadavky na úložiště se mohou pouze zvyšovat a technologické zlepšení bude muset neustále držet krok s pokračujícím růstem stavu. Proto musí klienti hledat nové způsoby, jak ověřovat bloky a transakce, které nezávisí na vyhledávání dat z místních databází.
-## Redukce úložiště uzlů {#reducing-storage-for-nodes}
+## Snížení úložiště pro uzly {#reducing-storage-for-nodes}
Existuje několik způsobů, jak snížit množství dat, která musí každý uzel ukládat, přičemž každý z nich vyžaduje odlišný rozsah aktualizace základního protokolu Etherea:
- **Expirace historie**: Dovoluje uzlům odstraňovat stavová data starší než X bloků, aniž by se změnil způsob, jakým klienti Etherea s těmito daty pracují.
-- **Vypršení stavu**: Dovoluje stavovým datům, která nejsou často používána, aby se stala neaktivními. Neaktivní data mohou klienty ignorovat, dokud nebudou znovu oživena.
+- **Expirace stavu**: Umožňuje stavovým datům, která se často nepoužívají, stát se neaktivními. Neaktivní data mohou klienty ignorovat, dokud nebudou znovu oživena.
- **Slabá bezstavovost**: Pouze producenti bloků potřebují přístup k plným stavovým datům, ostatní uzly mohou ověřovat bloky bez místní stavové databáze.
- **Silná bezstavovost**: Žádné uzly nepotřebují přístup k úplným stavovým datům.
@@ -39,12 +39,12 @@ Toto vylepšení zásadně nemění způsob, jakým uzly Etherea pracují se sta
Expirace stavu znamená odstranění stavových dat z jednotlivých uzlů v případě, že nebyl v poslední době využit. Existuje několik způsobů implementace, včetně:
-- **Expirace na základě nájmu**: Počítání „nájmu“ účtům a jejich expirace, když je nájem roven nule.
+- **Expirace na základě nájmu**: účtování „nájmu“ účtům a jejich expirace, když jejich nájem dosáhne nuly
- **Expirace na základě času**: Deaktivace účtů, pokud po určitou dobu nedošlo k jejich čtení/zápisu.
-Expirace na základě nájmu by mohla spočívat v přímém počítání nájmu účtům za účelem jejich udržení v aktivní stavové databázi. Expirace na základě času by mohla být odpočítáváním od poslední interakce s účtem, nebo by mohlo jít o periodickou expiraci všech účtů. Mohly by také existovat mechanismy, které kombinují prvky obou modelů založených na čase a nájmu, např. jednotlivé účty by zůstaly v aktivním stavu, pokud by zaplatily malý poplatek před vypršením času. Při expiraci stavu je důležité si uvědomit, že neaktivní stav **není smazán**, pouze je uložen odděleně od aktivního stavu. Neaktivní stav může být obnoven do aktivního stavu.
+Expirace na základě nájmu by mohla spočívat v přímém počítání nájmu účtům za účelem jejich udržení v aktivní stavové databázi. Expirace na základě času by mohla být odpočítáváním od poslední interakce s účtem, nebo by mohlo jít o periodickou expiraci všech účtů. Mohly by také existovat mechanismy, které kombinují prvky obou modelů založených na čase a nájmu, např. jednotlivé účty by zůstaly v aktivním stavu, pokud by zaplatily malý poplatek před vypršením času. U expirace stavu je důležité si uvědomit, že neaktivní stav **není smazán**, je pouze uložen odděleně od aktivního stavu. Neaktivní stav může být obnoven do aktivního stavu.
-To by mohlo fungovat tak, že by existoval stavový strom pro specifická časová období (řekněme ~1 rok). Kdykoli začne nové období, začíná i zcela nový stavový strom. Pouze aktuální stavový strom může být modifikován, všechny ostatní jsou neměnné. Od uzlů Etherea se očekává, že budou držet pouze aktuální stavový strom a nejnovější předchozí strom. K tomu je zapotřebí najít způsob, jak spojit adresu s obdobím, ve kterém existuje. Existuje [několik možných způsobů](https://ethereum-magicians.org/t/types-of-resurrection-metadata-in-state-expiry/6607), jak toho dosáhnout, ale jedna z hlavních možností vyžaduje [prodloužení adres](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485), aby se do nich vešla dodatečná informace, s přidaným benefitem, že delší adresy jsou mnohem bezpečnější. Plánovaná položka v plánu, která toto umožňuje, se nazývá [rozšíření adresního prostoru (address space extension)](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485).
+To by mohlo fungovat tak, že by existoval stavový strom pro specifická časová období (řekněme ~1 rok). Kdykoli začne nové období, začíná i zcela nový stavový strom. Pouze aktuální stavový strom může být modifikován, všechny ostatní jsou neměnné. Od uzlů Etherea se očekává, že budou držet pouze aktuální stavový strom a nejnovější předchozí strom. K tomu je zapotřebí najít způsob, jak spojit adresu s obdobím, ve kterém existuje. Existuje [několik možných způsobů](https://ethereum-magicians.org/t/types-of-resurrection-metadata-in-state-expiry/6607), jak toho dosáhnout, ale hlavní možnost vyžaduje [prodloužení adres](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485), aby se do nich vešly další informace, s přidanou výhodou, že delší adresy jsou mnohem bezpečnější. Položka v plánu, která toto řeší, se nazývá [rozšíření adresního prostoru](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485).
Podobně jako u expirace historie, v případě expirací stavu je odpovědnost za ukládání starých stavových dat odebrána jednotlivým uživatelům a přenesena na jiné subjekty, jako jsou centralizovaní poskytovatelé, altruističtí členové komunity nebo futurističtější decentralizovaná řešení, jako je Portal Network.
@@ -56,7 +56,7 @@ Bezstavovost je trochu zavádějící termín, protože neznamená, že by byl k
- téměř okamžitou synchronizaci,
- schopnost ověřovat bloky mimo pořadí,
-- uzly mohou být spuštěny s velmi nízkými hardwarovými požadavky (např. na telefonech),
+- uzly mohou být spuštěny s velmi nízkými hardwarovými požadavky (např. na telefonech)
- uzly mohou být spuštěny na levných pevných discích, protože neexistuje potřeba čtení/zápisu na disk,
- kompatibilitu s budoucími vylepšeními kryptografie Etherea.
@@ -64,16 +64,15 @@ Bezstavovost je trochu zavádějící termín, protože neznamená, že by byl k
Slabá bezstavovost zahrnuje změny ve způsobu, jakým uzly Etherea ověřují změny stavu, ale zcela neodstraňuje potřebu ukládání stavových dat ve všech uzlech sítě. Místo toho slabá bezstavovost přenáší odpovědnost za ukládání stavových dat na navrhovatele bloků, zatímco všechny ostatní uzly v síti ověřují bloky bez uložení plných stavových dat.
-**Při slabé bezstavovosti vyžaduje navrhování bloků přístup k plným stavovým datům, ale ověřování bloků nevyžaduje žádná stavová data.**
+**Při slabé bezstavovosti vyžaduje navrhování bloků přístup k plným stavovým datům, ale ověřování bloků nevyžaduje žádná stavová data**
-Aby to bylo možné, musí už být v klientských verzích Etherea implementovány [Verkle trees](/roadmap/verkle-trees/). Verkle trees jsou nová datová struktura pro ukládání stavových dat Etherea, která umožňuje předávat mezi peery malé, stejně velké „svědky“ dat, jež mohou být použity k ověřování bloků namísto ověřování bloků proti místním databázím. Je také nutné zavést [oddělení navrhovatelů a sestavovatelů bloků](/roadmap/pbs/), protože to umožňuje, aby sestavovatelé byli specializované uzly s výkonnějším hardwarem, které vyžadují přístup k plným stavovým datům.
+Aby k tomu mohlo dojít, musí být v klientech Etherea již implementovány [Verkle trees](/roadmap/verkle-trees/). Verkle trees jsou nová datová struktura pro ukládání stavových dat Etherea, která umožňuje předávat mezi peery malé, stejně velké „svědky“ dat, jež mohou být použity k ověřování bloků namísto ověřování bloků proti místním databázím. Je také nutné [oddělení navrhovatelů a sestavovatelů bloků](/roadmap/pbs/), protože to umožňuje, aby sestavovatelé bloků byli specializované uzly s výkonnějším hardwarem, a to jsou ty, které vyžadují přístup k plným stavovým datům.
-
+
Bezstavovost spoléhá na to, že sestavovatelé bloků udržují kopii plných stavových dat, aby mohli generovat svědky, kteří mohou být použiti k ověření bloku. Ostatní síťové uzly nepotřebují přístup ke stavovým datům, všechny informace potřebné k ověření bloku jsou dostupné ve svědkovi. To vede k situaci, kdy je navrhování bloku nákladné, ale ověřování bloku je levné, což naznačuje, že méně operátorů bude provozovat uzly navrhující bloky. Decentralizace navrhovatelů bloků však není kritická, pokud si co nejvíce účastníků může nezávisle ověřit, že bloky, které navrhují, jsou platné.
-Další informace najdete v Dankradových poznámkách
-
+Další informace najdete v Dankradových poznámkách
Navrhovatelé bloků používají stavová data k vytvoření „svědků“ – minimální sady dat, která prokazuje hodnoty stavů, jež jsou transakcemi v bloku změněny. Ostatní validátoři stavová data neuchovávají, pouze ukládají kořen stavu (hash celého stavu). Dostanou blok a svědka a jejich pomocí aktualizují svůj kořen stavu. Díky tomu je ověřovací uzel tak lehký.
@@ -85,19 +84,21 @@ Silná bezstavovost odstraňuje potřebu jakéhokoliv uzlu uchovávat stavová d
Silnou bezstavovost zkoumali výzkumní vývojáři, ale v současnosti se neočekává, že by byla součástí plánu Etherea – jako pravděpodobnější varianta se jeví, že slabá bezstavovost bude pro potřeby škálování Etherea dostatečná.
-## Aktuální průběh {#current-progress}
+## Aktuální postup {#current-progress}
Slabá bezstavovost, expirace historie a expirace stavu jsou všechny ve fázi výzkumu a očekává se, že budou nasazeny za několik let. Neexistuje žádná záruka, že všechny tyto návrhy budou implementovány, např. pokud bude nejdříve implementována expirace stavu, nemusí být nutné implementovat i expiraci historie. Existují také další položky v plánu, jako jsou [Verkle trees](/roadmap/verkle-trees) a [oddělení navrhovatelů a sestavovatelů bloků](/roadmap/pbs), které je třeba dokončit jako první.
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [AMA s Vitalikem o bezstavovosti](https://www.reddit.com/r/ethereum/comments/o9s15i/impromptu_technical_ama_on_statelessness_and/)
-- [Teorie řízení velikosti stavu](https://hackmd.io/@vbuterin/state_size_management)
-- [Znovuobnovení konfliktů a minimalizace omezení stavu](https://ethresear.ch/t/resurrection-conflict-minimized-state-bounding-take-2/8739)
+- [Co je bezstavové Ethereum?](https://stateless.fyi/)
+- [Vitalikovo AMA o bezstavovosti](https://www.reddit.com/r/ethereum/comments/o9s15i/impromptu_technical_ama_on_statelessness_and/)
+- [Teorie správy velikosti stavu](https://hackmd.io/@vbuterin/state_size_management)
+- [Resurrection-conflict-minimized state bounding](https://ethresear.ch/t/resurrection-conflict-minimized-state-bounding-take-2/8739)
- [Cesty k bezstavovosti a expiraci stavu](https://hackmd.io/@vbuterin/state_expiry_paths)
- [Specifikace EIP-4444](https://eips.ethereum.org/EIPS/eip-4444)
- [Alex Stokes o EIP-4444](https://youtu.be/SfDC_qUZaos)
- [Proč je tak důležité přejít na bezstavovost](https://dankradfeist.de/ethereum/2021/02/14/why-stateless.html)
- [Původní poznámky ke konceptu bezstavového klienta](https://ethresear.ch/t/the-stateless-client-concept/172)
-- [Další informace o expiraci stavu](https://hackmd.io/@vbuterin/state_size_management#A-more-moderate-solution-state-expiry)
-- [Ještě více informací o expiraci stavu](https://hackmd.io/@vbuterin/state_expiry_paths#Option-2-per-epoch-state-expiry)
+- [Více o expiraci stavu](https://hackmd.io/@vbuterin/state_size_management#A-more-moderate-solution-state-expiry)
+- [Ještě více o expiraci stavu](https://hackmd.io/@vbuterin/state_expiry_paths#Option-2-per-epoch-state-expiry)
+- [Informační stránka o bezstavovém Ethereu](https://stateless.fyi)
diff --git a/public/content/translations/cs/roadmap/user-experience/index.md b/public/content/translations/cs/roadmap/user-experience/index.md
new file mode 100644
index 00000000000..a7839914298
--- /dev/null
+++ b/public/content/translations/cs/roadmap/user-experience/index.md
@@ -0,0 +1,36 @@
+---
+title: Zlepšování zkušeností uživatelů
+description: Používání Etherea je pro většinu lidí stále moc složité. Aby bylo možné přiblížit se k masovému přijetí, musí Ethereum zásadně snížit své bariéry pro vstup – uživatelé by měli mít výhody decentralizovaného, cenzuře odolného přístupu k Ethereu bez omezení, ale musí to být stejně bezproblémové, jako používání tradičních Web2 aplikací.
+lang: cs
+image: /images/roadmap/roadmap-ux.png
+alt: "Plán Etherea"
+template: roadmap
+---
+
+**Používání Etherea musí být jednodušší**; od správy [klíčů](/glossary/#key) a [peněženek](/glossary/#wallet) až po iniciování transakcí. Aby se usnadnilo masové přijetí, musí Ethereum drasticky zvýšit jednoduchost používání, což uživatelům umožní zažít přístup k Ethereu bez povolení a odolný proti cenzuře s bezproblémovým zážitkem jako při používání aplikací [Web2](/glossary/#web2).
+
+## Za hranicí bezpečnostních frází {#no-more-seed-phrases}
+
+Účty na Ethereu jsou chráněny párem klíčů, které se používají k identifikaci účtu (veřejný klíč) a podepisování zpráv (privátní klíč). Privátní klíč je jako hlavní heslo; umožňuje úplný přístup k účtu na Ethereu. To je odlišný způsob fungování, než na který jsou lidé zvyklí u bank a Web2 aplikací, které spravují účty za uživatele. Aby Ethereum dosáhlo masového přijetí bez nutnosti spoléhat se na centralizované třetí strany, musí existovat jednoduchý a bezproblémový způsob, jak může uživatel převzít kontrolu nad svými aktivy a daty, aniž by musel rozumět kryptografii veřejného a privátního klíče a správě těchto klíčů.
+
+Řešením je používání peněženek s [chytrými kontrakty](/glossary/#smart-contract) pro interakci s Ethereem. Takové peněženky vytvářejí způsoby ochrany účtů v případě ztráty nebo krádeže klíčů, možnosti lepší detekce a obrany proti podvodům a umožňují peněženkám rozšířit nabídku o nové funkce. Ačkoliv peněženky založené na chytrých kontraktech v současné době existují, je obtížné je vyvíjet, protože to ze strany protokolu Ethereum vyžaduje lepší podporu. Tato dodatečná podpora je známá jako abstrakce účtů.
+
+Více o abstrakci účtů
+
+## Síťové uzly pro každého
+
+Uživatelé provozující [uzly](/glossary/#node) nemusí důvěřovat třetím stranám, že jim poskytnou data, a mohou rychle, soukromě a bez povolení interagovat s [blockchainem](/glossary/#blockchain) Etherea. Nicméně, provoz síťového uzlu v současnosti vyžaduje technické znalosti a významný prostor na pevném disku, což vede mnoho lidí k tomu, že raději důvěřují zprostředkovatelům.
+
+Existuje několik vylepšení, která usnadní provoz těchto uzlů a sníží jejich náročnost na zdroje. Způsob ukládání dat bude změněn tak, aby se používala prostorově úspornější struktura známá jako **Verkle Tree**. Díky [bezstavovosti](/roadmap/statelessness) nebo [expiraci dat](/roadmap/statelessness/#data-expiry) nebudou uzly Etherea muset ukládat kopii celých stavových dat Etherea, což drasticky sníží požadavky na místo na pevném disku. [Lehké uzly](/developers/docs/nodes-and-clients/light-clients/) nabídnou mnoho výhod provozování plného uzlu, ale lze je snadno provozovat na mobilních telefonech nebo v jednoduchých prohlížečových aplikacích.
+
+Přečtěte si o Verkle trees
+
+S těmito vylepšeními budou bariéry pro provoz síťového uzlu sníženy prakticky na nulu. Uživatelé budou benefitovat z bezpečného přístupu k Ethereu bez bariér, aniž by museli obětovat velký prostor na pevném disku nebo CPU na svém počítači či mobilním telefonu, a nebudou se muset spoléhat na třetí strany za účelem získání dat nebo přístupu k síti při používání aplikací.
+
+## Aktuální postup {#current-progress}
+
+Peněženky založené na chytrých kontraktech jsou už k dispozici, ale je třeba uvést do chodu další vylepšení, aby byly co nejvíce decentralizované a přístupné bez nutnosti povolení třetí strany. EIP-4337 je hotový návrh, který nevyžaduje žádné změny v protokolu Etherea. Hlavní chytrý kontrakt vyžadovaný pro EIP-4337 byl **nasazen v březnu 2023**.
+
+**Úplná bezstavovost je stále ve fázi výzkumu** a její implementace bude pravděpodobně trvat několik let. Existuje několik milníků na cestě k úplné bezstavovosti, včetně expirace dat, které mohou být implementovány dříve. Nejprve je třeba dokončit další položky plánu, jako jsou [Verkle Trees](/roadmap/verkle-trees/) a [oddělení navrhovatelů a tvůrců bloků](/roadmap/pbs/).
+
+Testovací sítě Verkle Trees jsou již v provozu a další fáze zahrnuje spuštění klientů podporujících Verkle Tree na soukromých a následně veřejných testovacích sítích. I vy můžete pomoci urychlit tento vývoj tím, že spustíte své kontrakty na testovacích sítích nebo spustíte klienty testovacích sítí.
diff --git a/public/content/translations/cs/roadmap/verkle-trees/index.md b/public/content/translations/cs/roadmap/verkle-trees/index.md
index 3a9dee8ff5b..402286f5594 100644
--- a/public/content/translations/cs/roadmap/verkle-trees/index.md
+++ b/public/content/translations/cs/roadmap/verkle-trees/index.md
@@ -15,7 +15,7 @@ Verkle trees (sloučenina termínů „Vector commitment“ a „Merkle Trees“
Verkle trees jsou klíčovým krokem na cestě k bezstavovým klientům na Ethereu. Bezstavové klienty jsou takové, které nemusí uchovávat celou stavovou databázi, aby mohly ověřovat příchozí bloky. Místo používání vlastní lokální kopie stavových dat Etherea používají bezstavové klienty k ověření bloků „svědka“ stavových dat, který je doručen společně s blokem. Svědek je soubor jednotlivých částí stavových dat, které jsou potřeba k provedení konkrétní sady transakcí, a kryptografický důkaz, že je svědek skutečně součástí úplných dat. Svědek je používán _místo_ stavové databáze. Svědci musí být dostatečně malí, aby mohli být bezpečně vysíláni po síti včas na zpracování validátory během 12sekundového slotu, jinak to nebude fungovat. Současná struktura stavových dat není vhodná, protože svědci jsou příliš velcí. Verkle trees tento problém řeší tím, že umožňují malé svědky, což odstraňuje jednu z hlavních překážek pro bezstavové klienty.
-
+
Klienty na Ethereu v současnosti používají pro ukládání stavových dat datovou strukturu známou jako Patricia Merkle Trie. Informace o jednotlivých účtech jsou uloženy jako listy v trie a páry listů jsou opakovaně hashovány, dokud nezůstane pouze jeden hash. Tento konečný hash je známý jako „kořen“. K ověření bloků provádějí klienty na Ethereu všechny transakce v bloku a aktualizují svůj lokální stavový trie. Blok je považován za platný, pokud je kořen lokálního stromu identický s tím, který poskytl navrhovatel bloku, protože jakékoli rozdíly ve výpočtu mezi navrhovatelem bloku a validačním uzlem by způsobily, že hash kořene by byl úplně jiný. Problém je v tom, že ověřování blockchainu vyžaduje, aby každý klient uchovával celý stavový trie pro hlavičkový blok a několik historických bloků (výchozí nastavení v Gethu je uchovávat stavová data pro 128 bloků za hlavičkou). To vyžaduje, aby klienty měly na disku velké množství místa, což je překážka pro spuštění plných uzlů na levném hardwaru s malým výkonem. Řešením je aktualizovat stavový trie na efektivnější strukturu (Verkle tree), která může být přiřazena pomocí malého „svědka“ k datům, která mohou být sdílena místo plných stavových dat. Přeformátování stavových dat do Verkle tree je krokem k přechodu na bezstavové klienty.
@@ -23,7 +23,7 @@ Klienty na Ethereu v současnosti používají pro ukládání stavových dat da
## Co je svědek a proč ho potřebujeme? {#what-is-a-witness}
-Ověření bloku znamená opětovné provedení transakcí obsažených v bloku, aplikování změn na stavový trie Etherea a výpočet nového hashe kořene. Ověřený blok je ten, jehož vypočítaný stav hashe kořene je stejný jako ten, který byl poskytnut s blokem (protože to znamená, že navrhovatel bloku skutečně provedl výpočty, které tvrdí, že provedl). Po klientech Ethereum v současné době vyžaduje přístup k celému stavovému trie, což je velká datová struktura, která musí být uchovávána lokálně. Svědek obsahuje pouze fragmenty stavových dat potřebné k realizaci transakcí v bloku. Validátor může k ověření, že navrhovatel bloku správně provedl transakce v bloku a aktualizoval stav, použít pouze tyto fragmenty. To však znamená, že svědek musí být přenášen mezi síťovými uzly na Ethereu dostatečně rychle, aby byl přijat a zpracován každým jedním uzlem bezpečně během 12sekundového slotu. Pokud je svědek příliš velký, může trvat některým uzlům příliš dlouho, než si jej stáhnou a udrží se aktuální s řetězcem. To je centralizující prvek, protože to znamená, že pouze uzly s rychlým internetovým připojením mohou účinně ověřovat bloky. S Verkle trees není potřeba mít stav uložený na pevném disku. _Vše_, co potřebujete k ověření bloku, je obsaženo přímo v bloku. Bohužel, svědci, které lze vyprodukovat z Merkle trie, jsou příliš velcí na to, aby podporovali bezstavové klienty.
+Ověření bloku znamená opětovné provedení transakcí obsažených v bloku, aplikování změn na stavový trie Etherea a výpočet nového hashe kořene. Ověřený blok je ten, jehož vypočítaný stav hashe kořene je stejný jako ten, který byl poskytnut s blokem (protože to znamená, že navrhovatel bloku skutečně provedl výpočty, které tvrdí, že provedl). Po klientech Ethereum v současné době vyžaduje přístup k celému stavovému trie, což je velká datová struktura, která musí být uchovávána lokálně. Svědek obsahuje pouze fragmenty stavových dat potřebné k realizaci transakcí v bloku. Validátor může k ověření, že navrhovatel bloku správně provedl transakce v bloku a aktualizoval stav, použít pouze tyto fragmenty. To však znamená, že svědek musí být přenášen mezi síťovými uzly na Ethereu dostatečně rychle, aby byl přijat a zpracován každým jedním uzlem bezpečně během 12sekundového slotu. Pokud je svědek příliš velký, může trvat některým uzlům příliš dlouho, než si jej stáhnou a udrží se aktuální s řetězcem. To je centralizující prvek, protože to znamená, že pouze uzly s rychlým internetovým připojením mohou účinně ověřovat bloky. S Verkle stromy není potřeba mít stav uložený na pevném disku; _všechno_, co potřebujete k ověření bloku, je obsaženo v samotném bloku. Bohužel, svědci, které lze vyprodukovat z Merkle trie, jsou příliš velcí na to, aby podporovali bezstavové klienty.
## Proč Verkle trees umožňují menší svědky? {#why-do-verkle-trees-enable-smaller-witnesses}
@@ -31,7 +31,7 @@ Struktura Merkle trie umožňuje nastavit velikost svědků velkou – až moc v
Podle polynomiálního závazkového schématu mají svědci spravovatelné velikosti, které lze snadno přenášet po peer-to-peer síti. To umožňuje klientům ověřovat změny stavu v každém bloku s minimálním množstvím dat.
-
+
Velikost svědka se liší v závislosti na počtu listů, které zahrnuje. Předpokládáme-li, že svědek pokrývá 1 000 listů, svědek pro Merkle trie by byl přibližně 3,5 MB (při předpokladu 7 úrovní v trie). Svědek pro stejná data ve Verkle tree (při předpokladu 4 úrovní ve stromě) by byl přibližně 150 kB – **přibližně 23x menší**. Tato redukce velikosti svědka umožňuje přijatelnou velikost svědků bezstavových klientů. Polynomiální svědci jsou velikosti 0,128–1 kB v závislosti na konkrétním polynomiálním závazku.
@@ -39,26 +39,28 @@ Velikost svědka se liší v závislosti na počtu listů, které zahrnuje. Pře
## Jaká je struktura Verkle tree? {#what-is-the-structure-of-a-verkle-tree}
-Verkle trees jsou `(key, value)`, tedy páry klíč-hodnota, kde klíče jsou 32bajtové prvky složené z 31bajtového _kmene_ a jednoho bajtu _přípony_. Tyto klíče jsou uspořádány do uzlů _prodloužení_ a _vnitřních_ uzlů. Uzly prodloužení představují jediný kmen pro 256 dětí s různými příponami. Vnitřní uzly mají také 256 dětí, ale mohou to být jiné uzly prodloužení. Hlavní rozdíl mezi strukturou Verkle tree a Merkle tree je v tom, že Verkle tree je mnohem plošší, což znamená, že v něm je méně mezičlánkových uzlů spojujících list s kořenem, a tedy je méně dat potřeba k vytvoření důkazu.
+Verkle stromy jsou páry `(key,value)`, kde klíče jsou 32bajtové prvky složené z 31bajtového _kmene_ a jednobajtové _přípony_. Tyto klíče jsou uspořádány do _rozšiřujících_ uzlů a _vnitřních_ uzlů. Uzly prodloužení představují jediný kmen pro 256 dětí s různými příponami. Vnitřní uzly mají také 256 dětí, ale mohou to být jiné uzly prodloužení. Hlavní rozdíl mezi strukturou Verkle tree a Merkle tree je v tom, že Verkle tree je mnohem plošší, což znamená, že v něm je méně mezičlánkových uzlů spojujících list s kořenem, a tedy je méně dat potřeba k vytvoření důkazu.

-[Další informace o struktuře Verkle trees](https://blog.ethereum.org/2021/12/02/verkle-tree-structure)
+[Přečtěte si více o struktuře Verkle stromů](https://blog.ethereum.org/2021/12/02/verkle-tree-structure)
-## Aktuální průběh {#current-progress}
+## Aktuální postup {#current-progress}
-Testovací sítě Verkle tree jsou již v provozu, ale vyžadují značné aktualizace klientů, které podporují Verkle stromy. I vy můžete pomoci urychlit tento vývoj tím, že spustíte své kontrakty na testnetech nebo spustíte testnetové klienty.
+Testovací sítě Verkle tree jsou již v provozu, ale vyžadují značné aktualizace klientů, které podporují Verkle stromy. I vy můžete pomoci urychlit tento vývoj tím, že spustíte své kontrakty na testovacích sítích nebo spustíte klienty testovacích sítí.
-[Sledujte, jak Guillaume Ballet vysvětluje testovací síť Condrieu Verkle](https://www.youtube.com/watch?v=cPLHFBeC0Vg) (poznámka: testovací síť Condrieu byla důkaz prací a nyní byla nahrazena testovací sítí Verkle Gen Devnet 6).
+[Podívejte se, jak Guillaume Ballet vysvětluje testnet Condrieu Verkle](https://www.youtube.com/watch?v=cPLHFBeC0Vg) (poznámka: testnet Condrieu používal proof-of-work a nyní byl nahrazen testnetem Verkle Gen Devnet 6).
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Verkle trees pro bezstavovost](https://verkle.info/)
-- [Dankrad Feist vysvětluje Verkle trees na PEEPanEIP](https://www.youtube.com/watch?v=RGJOQHzg3UQ)
-- [Guillaume Ballet vysvětluje Verkle trees na ETHGlobal](https://www.youtube.com/watch?v=f7bEtX3Z57o)
-- [„Jak Verkle trees činí Ethereum štíhlejším a efektivnějším“ od Guillauma Balleta na Devconu 6](https://www.youtube.com/watch?v=Q7rStTKwuYs)
-- [Piper Merriam o bezstavových klientech z ETHDenver 2020](https://www.youtube.com/watch?v=0yiZJNciIJ4)
-- [Dankrad Feist vysvětluje Verkle trees a bezstavovost v podcastu Zero Knowledge](https://zeroknowledge.fm/podcast/202/)
-- [Vitalik Buterin o Verkle trees](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
-- [Dankrad Feist o Verkle trees](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html)
-- [Dokumentace k EIP Verkle trees](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration)
+- [Verkle stromy pro bezstavovost](https://verkle.info/)
+- [Dankrad Feist vysvětluje Verkle stromy na PEEPanEIP](https://www.youtube.com/watch?v=RGJOQHzg3UQ)
+- [Verkle stromy pro nás ostatní](https://web.archive.org/web/20250124132255/https://research.2077.xyz/verkle-trees)
+- [Anatomie Verkle důkazu](https://ihagopian.com/posts/anatomy-of-a-verkle-proof)
+- [Guillaume Ballet vysvětluje Verkle stromy na ETHGlobal](https://www.youtube.com/watch?v=f7bEtX3Z57o)
+- ["Jak Verkle stromy činí Ethereum štíhlejším a efektivnějším" od Guillauma Balleta na Devconu 6](https://www.youtube.com/watch?v=Q7rStTKwuYs)
+- [Piper Merriam o bezstavových klientech na ETHDenver 2020](https://www.youtube.com/watch?v=0yiZJNciIJ4)
+- [Dankrad Feist vysvětluje Verkle stromy a bezstavovost v podcastu Zero Knowledge](https://zeroknowledge.fm/podcast/202/)
+- [Vitalik Buterin o Verkle stromech](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
+- [Dankrad Feist o Verkle stromech](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html)
+- [Dokumentace EIP o Verkle stromech](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration)
diff --git a/public/content/translations/cs/security/index.md b/public/content/translations/cs/security/index.md
index 3cedcdf0d8e..7806a94a18e 100644
--- a/public/content/translations/cs/security/index.md
+++ b/public/content/translations/cs/security/index.md
@@ -1,48 +1,305 @@
---
-title: Bezpečnější Ethereum
-description: Ethereum je nejbezpečnější a nejvíce decentralizovaná platforma pro chytré kontrakty, která existuje. Nicméně stále je možné ho vylepšit, aby zůstalo odolné vůči jakékoliv úrovni útoků i v daleké budoucnosti.
+title: Bezpečnost a předcházení podvodům v Ethereu
+description: Jak zůstat v bezpečí na Ethereu
lang: cs
-image: /images/roadmap/roadmap-security.png
-alt: "Plán Etherea"
-template: roadmap
---
-**Ethereum už je velmi bezpečná** a decentralizovaná platforma pro [chytré kontrakty](/glossary/#smart-contract). Nicméně stále je možné ho vylepšit, aby zůstalo odolné vůči jakémukoliv druhu útoků i v daleké budoucnosti. To zahrnuje jemné změny v tom, jak se [klienti na Ethereu](/glossary/#consensus-client) chovají ke konkurenčním [blokům](/glossary/#block), stejně jako zrychlení procesu, kdy síť považuje bloky za [„finalizované“](/developers/docs/consensus-mechanisms/pos/#finality) (což znamená, že je nelze změnit bez extrémních ekonomických ztrát pro útočníka).
+# Bezpečnost a předcházení podvodům v Ethereu {#introduction}
-Existují také vylepšení, která ztíží cenzuru transakcí tím, že navrhovatelé bloků nebudou mít přístup k aktuálnímu obsahu svých bloků, a další nové způsoby, jak identifikovat, kdy se klient snaží blockchain cenzorovat. Tyto změny vylepší protokol [důkaz podílem](/glossary/#pos) tak, aby uživatelé – jak jednotlivci, tak firmy – měli okamžitou důvěru v aplikace, data a aktiva na Ethereu.
+Rostoucí zájem o kryptoměny s sebou přináší rostoucí riziko ze strany podvodníků a hackerů. Tento článek uvádí některé osvědčené postupy ke zmírnění těchto rizik.
-## Uzamčení výběrů {#staking-withdrawals}
+**Pamatujte: Nikdo z ethereum.org vás nikdy nebude kontaktovat. Neodpovídejte na e-maily, které tvrdí, že jsou od oficiální podpory Etherea.**
-Přechod z [důkazu prací](/glossary/#pow) na důkaz podílem začal tím, že první uživatelé na Ethereu „uzamkli“ své ETH do depozitního kontraktu. Tyto ETH jsou používány k ochraně sítě. 12. dubna 2023 byla provedena druhá aktualizace, která umožňuje výběr uzamčeného ETH. Od té doby mohou validátoři uzamykat nebo vybírat ETH bez dřívějších omezení.
+
-Další informace o výběrech
+## Krypto bezpečnost 101 {#crypto-security}
-## Obrana proti útokům {#defending-against-attacks}
+### Prohlubte si své znalosti {#level-up-your-knowledge}
-Protokol důkaz podílem na Ethereu je stále možné vylepšovat. Jedno z vylepšení je známé jako [view-merge](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739) – bezpečnější algoritmus pro výběr [větve](/glossary/#fork), který ztěžuje určité sofistikované typy útoků.
+Nedorozumění ohledně toho, jak kryptoměny fungují, mohou vést k nákladným chybám. Např. pokud se někdo vydává za pracovníka zákaznického servisu, který vám může vrátit ztracené ETH výměnou za vaše privátní klíče, využívá toho, že lidé nerozumí tomu, že Ethereum je decentralizovaná síť, která takovou funkčnost nemá. Vzdělávat se v oblasti fungování Etherea se vyplatí.
-Snížení času potřebného k [finalizaci](/glossary/#finality) bloků by poskytlo lepší uživatelskou zkušenost a zabránilo sofistikovaným „reorg“ útokům, při kterých se útočníci snaží přeorganizovat nejnovější bloky za účelem zisku nebo cenzury transakcí. [**Finalizace v jednom slotu (single slot finality, tzv. SSF)**](/roadmap/single-slot-finality/) je **způsob, jak minimalizovat zpoždění finalizace**. V současnosti je časové okno bloků 15 minut, během kterých by teoreticky útočník mohl přesvědčit další validátory, aby bloky přeorganizovali. V případě SSF je to 0 minut. Uživatelé, od jednotlivců po aplikace a burzy, benefitují z rychlého ujištění, že jejich transakce nebudou zrušeny, a síť benefituje z toho, že zamezí celé řadě útoků.
+
+ Co je to Ethereum?
+
-Další informace o finalizaci v jednom slotu
+
+ Co je to ether?
+
+
-## Obrana proti cenzuře {#defending-against-censorship}
+## Bezpečnost peněženek {#wallet-security}
-Decentralizace zabraňuje tomu, aby jednotlivci nebo malé skupiny [validátorů](/glossary/#validator) získali příliš velký vliv. Nové technologie uzamčení mohou pomoci zajistit, že validátoři Etherea zůstanou co nejvíce decentralizovaní, a zároveň je chrání proti hardwarovým, softwarovým a síťovým poruchám. Mezi ně patří i software, který sdílí odpovědnosti validátorů napříč několika [síťovými uzly](/glossary/#node). Tomu se říká **distribuovaná validační technologie (DVT)**. [Vkladové fondy](/glossary/#staking-pool) jsou motivovány k použití DVT, protože umožňuje více počítačům kolektivně se podílet na validaci, čímž zvyšuje zabezpečení a odolnost proti chybám. Také rozděluje klíče validátorů mezi několik systémů, místo aby jeden operátor provozoval několik validátorů. To ztěžuje nepoctivým operátorům koordinaci útoků na Ethereum. Celkově je cílem dosáhnout bezpečnostních výhod tím, že jsou validátoři provozováni jako _komunity_, nikoliv jako jednotlivci.
+### Nikomu nesdělujte své soukromé klíče {#protect-private-keys}
-Další informace o technologie distribuovaných validátorů
+**Nikdy, za žádných okolností, nesdílejte své privátní klíče!**
-Implementace **oddělení navrhovatele a stavitele bloků (proposer-builder separation, PBS)** výrazně zlepší vestavěné obranné mechanismy Etherea proti cenzuře. PBS umožňuje jednomu validátorovi vytvořit blok a jinému ho šířit po síti Ethereum. To zajišťuje, že zisky z algoritmů na maximalizaci zisku při vytváření bloků, které naprogramují profesionálové, jsou spravedlivěji rozděleny po celé síti, **čímž se zabraňuje koncentraci uzamčených prostředků** u nejvýkonnějších institucionálních uzamykatelů. Navrhovatel bloku si vybere nejziskovější blok, který mu nabídnul trh stavitelů bloků. Aby byl navrhovatel bloku schopen cenzurovat, musel by si ve většině případů vybrat méně ziskový blok, což by bylo **ekonomicky iracionální a také zřejmé ostatním validátorům** v síti.
+Privátní klíč k vaší peněžence slouží jako heslo k vaší peněžence Ethereum. Je to jediná věc, která brání tomu, aby někdo, kdo zná adresu vaší peněženky, vybral z vašeho účtu veškerá aktiva!
-Existují potenciální doplňky k PBS, jako jsou šifrované transakce a inkluzní seznamy, které by mohly dále zlepšit odolnost Etherea proti cenzuře. Tyto funkce činí stavitele i navrhovatele bloků slepými k aktuálním transakcím zahrnutým v jejich blocích.
+
+ Co je Ethereum peněženka?
+
-Další informace o oddělení navrhovatele a stavitele bloků
+#### Nepořizujte si snímky obrazovky s vašimi seed frázemi / soukromými klíči {#screenshot-private-keys}
-## Ochrana validátorů {#protecting-validators}
+Pořízení snímku obrazovky s vašimi bezpečnostními frázemi nebo privátními klíči je může synchronizovat s poskytovatelem cloudových služeb, což by je mohlo zpřístupnit hackerům. Získání privátních klíčů z cloudu je běžným způsobem útoku hackerů.
-Sofistikovaný útočník by mohl identifikovat budoucí validátory a spamovat je, aby jim zabránil v navrhování bloků; tomu se říká útok **odmítnutí služby (denial of service, DoS)**. Implementace [**tajného výběru lídrů (secret leader election, SLE)**](/roadmap/secret-leader-election) chrání proti tomuto typu útoku tím, že zabraňuje navrhovatelům bloků být známi předem. Toho je možné dosáhnout tak, že se konstantně promíchává sada kryptografických závazků reprezentujících kandidáty na navrhovatele bloků a implementuje jejich pořadí za účelem určení výběru validátora takovým způsobem, že pouze validátoři sami znají své pořadí předem.
+### Používejte hardwarovou peněženku {#use-hardware-wallet}
-Další informace o tajném výběru lídrů
+Hardwarová peněženka poskytuje offline úložiště privátních klíčů. Je považována za nejbezpečnější variantu peněženky pro ukládání privátních klíčů: váš privátní klíč se nikdy nedotkne internetu a zůstává zcela lokálně ve vašem zařízení.
-## Aktuální průběh {#current-progress}
+Uchovávání privátních klíčů offline výrazně snižuje riziko napadení, a to i v případě, že hacker získá kontrolu nad vaším počítačem.
-**Bezpečnostní vylepšení zahrnutá v plánu jsou v pokročilých stádiích výzkumu**, ale nečeká se, že budou implementována v nejbližší době. Další kroky pro view-merge, PBS, SSF a SLE jsou dokončení jejich specifikace a zahájení vývoje prototypů.
+#### Vyzkoušejte hardwarovou peněženku: {#try-hardware-wallet}
+
+- [Ledger](https://www.ledger.com/)
+- [Trezor](https://trezor.io/)
+
+### Dvakrát si zkontrolujte transakce před jejich odesláním {#double-check-transactions}
+
+Častou chybou je náhodné odeslání kryptoměn na nesprávnou adresu peněženky. **Transakce odeslaná na Ethereu je nevratná.** Pokud neznáte vlastníka adresy a nepřesvědčíte ho, aby vám prostředky vrátil, nebudete schopni je získat zpět.
+
+Před odesláním transakce se vždy ujistěte, že adresa, na kterou odesíláte, přesně odpovídá adrese požadovaného příjemce.
+Při interakci s chytrým kontraktem je nejlepší si před podpisem přečíst zprávu o transakci.
+
+### Nastavte limity útrat u chytrých kontraktů {#spend-limits}
+
+Při interakci s chytrými kontrakty nepovolujte neomezené limity převodů. Neomezené převody by mohly chytrému kontraktu umožnit vyčerpat vaši peněženku. Místo toho nastavte limity převodů pouze na částku nezbytnou pro danou transakci.
+
+Mnoho Ethereum peněženek nabízí ochranu limitů, která chrání před vybíráním peněz z účtů.
+
+[Jak zrušit přístup chytrého kontraktu k vašim krypto prostředkům](/guides/how-to-revoke-token-access/)
+
+
+
+## Běžné podvody {#common-scams}
+
+Podvodníky nelze zcela zastavit, ale můžeme jim ztížit situaci tím, že budeme znát většinu používaných technik. Těchto podvodů existuje mnoho, ale obecně se řídí stejnými základními vzorci. Když už nic jiného, nezapomeňte:
+
+- být vždy skeptičtí
+- že vám nikdo nedá ETH zdarma ani se slevou
+- že nikdo nepotřebuje přístup k vašim privátním klíčům nebo osobním údajům
+
+### Phishing v reklamách na Twitteru {#ad-phishing}
+
+
+
+Existuje způsob, jak podvrhnout funkci náhledu (rozbalení) odkazu na Twitteru (také známém jako X) za účelem oklamání uživatele. Cílem je vyvolat v uživatelích dojem, že navštěvují legitimní web. Tato technika využívá mechanismus Twitteru pro generování náhledů adres URL sdílených v tweetech a zobrazuje například _z ethereum.org_ (viz výše), i když ve skutečnosti dochází k přesměrování na škodlivé stránky.
+
+Vždy se ujistěte, že jste na správné doméně, obzvláště poté, co kliknete na odkaz.
+
+[Více informací zde](https://harrydenley.com/faking-twitter-unfurling).
+
+### Podvody s rozdáváním cen {#giveaway}
+
+Jedním z nejčastějších podvodů v oblasti kryptoměn je tzv. rozdávací podvod. Rozdávací podvod může mít mnoho podob, ale obecně funguje tak, že pokud pošlete ETH na uvedenou adresu peněženky, dostanete své ETH zpět, ale navíc zdvojnásobené._Z tohoto důvodu je také známý jako podvod 2 za 1._
+
+Tyto podvody obvykle stanovují omezený čas pro možnost nároku na výhru, aby vytvořily falešný pocit naléhavosti.
+
+### Hacknutí účtů na sociálních sítích {#social-media-hacks}
+
+K významnému případu došlo v červenci 2020, kdy byly nabourány účty významných osobností a organizací na Twitteru. Hacker zároveň na nabouraných účtech zveřejnil nabídku na rozdávání bitcoinů. Přestože byly klamavé tweety rychle zaznamenány a smazány, hackerům se přesto podařilo uniknout s 11 bitcoiny (v září 2021 to bylo 500 000 dolarů).
+
+
+
+### Rozdávání cen celebritami {#celebrity-giveaway}
+
+Další častou formou podvodu je rozdávání dárků od celebrit. Podvodníci vezmou nahraný videorozhovor nebo konferenční přednášku celebrity a živě ji přenášejí na YouTube, aby to vypadalo, že celebrita poskytla živý videorozhovor a podpořila rozdávání kryptoměn.
+
+Nejčastěji je v tomto podvodu využíván Vitalik Buterin, ale i mnoho dalších významných osobností působících v oblasti kryptoměn (např. Elon Musk nebo Charles Hoskinson). Zahrnutí známé osoby dává podvodníkům pocit legitimity (vypadá to pochybně, ale Vitalik je zapojen, takže to musí být v pořádku!).
+
+**Rozdávání jsou vždycky podvody. Pokud na tyto účty pošlete své prostředky, navždy o ně přijdete.**
+
+
+
+### Podvody s falešnou podporou {#support-scams}
+
+Kryptoměny jsou relativně mladou a nepochopenou technologií. Častým podvodem, který toho využívá, je podvod s podporou, kdy se podvodníci vydávají za pracovníky podpory populárních peněženek, burz nebo blockchainů.
+
+Velká část diskuzí o Ethereu se odehrává na Discordu. Podvodníci obvykle najdou svůj cíl tak, že vyhledají dotazy na podporu ve veřejných discordových kanálech a poté tazateli pošlou soukromou zprávu s nabídkou podpory. Vybudováním důvěry se vás podvodníci snaží přimět k tomu, abyste jim prozradili své privátní klíče nebo poslali své finanční prostředky do jejich peněženek.
+
+
+
+Obecně platí, že zaměstnanci s vámi nikdy nebudou komunikovat soukromými, neoficiálními kanály. Při žádosti o podporu je třeba mít na paměti pár jednoduchých věcí:
+
+- Nikdy nesdílejte své privátní klíče, bezpečnostní fráze ani hesla
+- Nikdy nikomu neumožňujte vzdálený přístup k vašemu počítači
+- Nikdy nekomunikujte mimo kanály určené organizací
+
+
+
+
+
+ Pozor: Ačkoli se podvody s falešnou podporou běžně objevují na Discordu, mohou se vyskytovat i v jakékoli chatovací aplikaci, kde se diskutuje o kryptoměnách, a to včetně e-mailu.
+
+
+
+
+### Podvod s tokenem „Eth2“ {#eth2-token-scam}
+
+Před [Sloučením](/roadmap/merge/) podvodníci zneužili zmatku kolem pojmu „Eth2“ a snažili se přimět uživatele, aby si vyměnili své ETH za token „ETH2“. Žádný "ETH2" neexistuje a žádný jiný legitimní token nebyl se Sloučením zaveden. ETH, které jste vlastnili před Sloučením, jsou stále stejné ETH. Kvůli přechodu z důkazu prací na důkaz podílem **není třeba s vašimi ETH provádět žádné akce**.
+
+Podvodníci se mohou vydávat za "podporu" a tvrdit vám, že pokud jim dáte vaše ETH, dostanete zpět "ETH2". Neexistuje žádná [oficiální podpora Etherea](/community/support/) a neexistuje ani žádný nový token. Nikdy nikomu nesdělujte bezpečnostní frázi vaší peněženky.
+
+_Poznámka: Existují odvozené tokeny/tickery, které mohou představovat stakované ETH (tj. rETH od Rocket Pool, stETH od Lido, ETH2 od Coinbase), ale není to nic, na co byste museli "migrovat"._
+
+### Phishingové podvody {#phishing-scams}
+
+Dalším stále častějším úhlem pohledu, který podvodníci využívají k pokusu o krádež peněz z vaší peněženky, jsou phishingové podvody.
+
+Některé phishingové e-maily vyzývají uživatele, aby klikli na odkazy, které je přesměrují na falešné webové stránky a požádají je o zadání jejich bezpečnostní fráze, obnovení hesla nebo odeslání ETH. Jiné vás mohou požádat, abyste nevědomky nainstalovali malware, který infikuje váš počítač a umožní podvodníkům přístup k souborům vašeho počítače.
+
+Pokud obdržíte e-mail od neznámého odesílatele, nezapomeňte:
+
+- Nikdy neotvírejte odkazy nebo přílohy z e-mailových adres, které neznáte
+- Nikdy nikomu neprozrazujte své osobní údaje ani hesla
+- Mažte e-maily od neznámých odesílatelů
+
+[Více o tom, jak se vyhnout phishingovým podvodům](https://support.mycrypto.com/staying-safe/mycrypto-protips-how-not-to-get-scammed-during-ico)
+
+### Podvody s krypto brokery {#broker-scams}
+
+Podvodní kryptomakléři tvrdí, že jsou specializovaní makléři s kryptoměnami, kteří vám nabídnou, že převezmou kontrolu nad vašimi penězi a investují je za vás. Poté, co podvodník obdrží vaše finanční prostředky, vás může vést dál a požádat vás o zaslání dalších prostředků, abyste nepřišli o další investiční zisky, nebo může úplně zmizet.
+
+Tito podvodní makléři vyhledávají své cíle využíváním falešných účtů na YouTube a tím, že začínají zdánlivě přirozené konverzace o "makléři". Tyto konverzace jsou často vysoce hodnocené, aby se zvýšila jejich legitimita, ale všechna hodnocení pocházejí od robotů.
+
+**Neumožňujte cizím lidem na internetu, aby za vás investovali. Přijdete o své krypto.**
+
+
+
+### Podvody s pooly pro těžbu kryptoměn {#mining-pool-scams}
+
+Od září 2022 již těžba na Ethereu není možná. Podvody s těžebními pooly však stále existují. Podvody s těžebními pooly spočívají v tom, že vás nevyžádaně kontaktují lidé, kteří tvrdí, že vstupem do těžebního Ethereum poolu můžete dosáhnout vysokých zisků. Podvodník bude vznášet nároky a zůstane s vámi v kontaktu tak dlouho, jak bude potřeba. Podvodník se vás v podstatě bude snažit přesvědčit, že když se připojíte k těžebnímu poolu na Ethereu, budou vaše kryptoměny použity k vytvoření ETH a budou vám vyplaceny dividendy ve formě ETH. Poté uvidíte, že vaše kryptoměna přináší malé výnosy. Je to jen návnada, abyste investovali více. Nakonec budou všechny vaše finanční prostředky odeslány na neznámou adresu a podvodník buď zmizí, nebo v některých případech zůstane v kontaktu, jak se stalo v jednom z nedávných případů.
+
+Sečteno a podtrženo, buďte obezřetní vůči lidem, kteří vás kontaktují na sociálních sítích a žádají vás o účast v těžebním poolu. Jakmile o kryptoměny přijdete, jsou fuč.
+
+Několik věcí k zapamatování:
+
+- Dávejte si pozor, aby vás někdo nekontaktoval ohledně způsobů, jak vydělat peníze na vašich kryptoměnách
+- Udělejte si průzkum o stakování, likvidních poolech nebo jiných způsobech investování vašeho krypta
+- Málokdy, pokud vůbec, jsou takové systémy legitimní. Pokud by tomu tak bylo, pravděpodobně by se staly mainstreamem a vy byste o nich určitě slyšeli.
+
+[Muž přišel o 200 tisíc dolarů při podvodu s těžebním poolem](https://www.reddit.com/r/CoinBase/comments/r0qe0e/scam_or_possible_incredible_payout/)
+
+### Podvody s airdropy {#airdrop-scams}
+
+Airdropové podvody spočívají v tom, že podvodný projekt vám do peněženky airdropne aktivum (NFT, token) a pošle vás na podvodnou webovou stránku, kde si ho můžete vyzvednout. Při pokusu o vyzvednutí budete vyzváni, abyste se přihlásili pomocí vaší Ethereum peněženky a "schválili" transakci. Tato transakce kompromituje váš účet tím, že podvodníkovi odešle vaše veřejné a privátní klíče. Alternativní forma tohoto podvodu může spočívat v potvrzení transakce, která odešle finanční prostředky na účet podvodníka.
+
+[Více o podvodech s airdropy](https://www.youtube.com/watch?v=LLL_nQp1lGk)
+
+
+
+## Bezpečnost na webu 101 {#web-security}
+
+### Používejte silná hesla {#use-strong-passwords}
+
+[Více než 80 % prolomení účtů je důsledkem slabých nebo odcizených hesel](https://cloudnine.com/ediscoverydaily/electronic-discovery/80-percent-hacking-related-breaches-related-password-issues-cybersecurity-trends/). Pro zabezpečení účtů je nejlepší dlouhá kombinace znaků, čísel a symbolů.
+
+Běžnou chybou je použití kombinace několika běžných, souvisejících slov. Taková hesla nejsou bezpečná, protože jsou náchylná k jednoduché hackerské technice zvané slovníkový útok.
+
+```md
+Příklad slabého hesla: CuteFluffyKittens!
+
+Příklad silného hesla: ymv\*azu.EAC8eyp8umf
+```
+
+Další častou chybou je používání hesel, která lze snadno uhodnout nebo zjistit pomocí [sociálního inženýrství](https://wikipedia.org/wiki/Social_engineering_\(security\)). Použití jména vaší matky za svobodna, jmen dětí nebo domácích mazlíčků nebo dat narození v hesle není bezpečné a zvyšuje riziko prolomení hesla.
+
+#### Osvědčené postupy pro práci s hesly: {#good-password-practices}
+
+- Vytvářejte hesla tak dlouhá, jak to umožňuje generátor hesel nebo vyplňovaný formulář
+- Používejte kombinaci velkých a malých písmen, číslic a symbolů
+- V hesle nepoužívejte osobní údaje, například příjmení
+- Vyhněte se běžným výrazům
+
+[Více o vytváření silných hesel](https://terranovasecurity.com/how-to-create-a-strong-password-in-7-easy-steps/)
+
+### Pro vše používejte jedinečná hesla {#use-unique-passwords}
+
+Silné heslo, které bylo odhaleno při úniku dat, již není silným heslem. Webová stránka [Have I Been Pwned](https://haveibeenpwned.com) vám umožňuje zkontrolovat, zda se vaše účty neobjevily v nějakém veřejném úniku dat. Pokud ano, **okamžitě tato hesla změňte**. Používání jedinečných hesel pro každý účet snižuje riziko, že se hackeři dostanou ke všem vašim účtům, pokud jedno z vašich hesel bude kompromitováno.
+
+### Používejte správce hesel {#use-password-manager}
+
+
+
+
+
+ Správce hesel se postará o vytvoření silných a jedinečných hesel a o jejich zapamatování! Důrazně doporučujeme nějaký používat a většina z nich je zdarma!
+
+
+
+
+Pamatovat si silná a jedinečná hesla pro každý účet není ideální. Správce hesel nabízí bezpečné šifrované úložiště všech vašich hesel, ke kterým máte přístup prostřednictvím jednoho silného hlavního hesla. Při registraci do nové služby také doporučují silná hesla, abyste si nemuseli vytvářet vlastní. Mnoho správců hesel vám také oznámí, zda jste byli součástí úniku dat, a umožní vám změnit hesla dříve, než dojde ke škodlivým útokům.
+
+
+
+#### Vyzkoušejte správce hesel: {#try-password-manager}
+
+- [Bitwarden](https://bitwarden.com/)
+- [KeePass](https://keepass.info/)
+- [1Password](https://1password.com/)
+- Nebo se podívejte na další [doporučené správce hesel](https://www.privacytools.io/secure-password-manager)
+
+### Používejte dvoufaktorové ověřování {#two-factor-authentication}
+
+Někdy můžete být požádáni o ověření své identity prostřednictvím jedinečných důkazů. Jsou známé jako **faktory**. Tři hlavní faktory jsou:
+
+- Něco, co víte (jako třeba heslo nebo bezpečností otázku)
+- Něco, co jste (jako třeba otisk prstu nebo sken duhovky/obličeje)
+- Něco, co vlastníte (bezpečnostní klíč nebo ověřovací aplikace v telefonu)
+
+Používání **dvoufaktorového ověřování (2FA)** poskytuje další _bezpečnostní faktor_ pro vaše online účty. 2FA zajišťuje, že pouze mít vaše heslo nestačí k přístupu k účtu. Nejčastěji je druhým faktorem náhodný šestimístný kód, známý jako **časově omezené jednorázové heslo (TOTP)**, ke kterému máte přístup prostřednictvím ověřovací aplikace, jako je Google Authenticator nebo Authy. Fungují jako "něco, co vlastníte", protože seed, který generuje časovaný kód, je uložen ve vašem zařízení.
+
+
+
+
+
+ Poznámka: Používání 2FA pomocí SMS je náchylné k odcizení SIM karty a není bezpečné. Pro nejlepší zabezpečení používejte službu, jako je Google Authenticator nebo Authy.
+
+
+
+
+#### Bezpečnostní klíče {#security-keys}
+
+Bezpečnostní klíč je pokročilejší a bezpečnější typ dvoufaktorového ověřování (2FA). Bezpečnostní klíče jsou fyzická hardwarová ověřovací zařízení, která fungují podobně jako ověřovací aplikace. Nejbezpečnějším způsobem 2FA je použití bezpečnostního klíče. Mnoho těchto klíčů využívá standard FIDO Universal 2nd Factor (U2F). [Zjistěte více o FIDO U2F](https://www.yubico.com/resources/glossary/fido-u2f/).
+
+Podívejte se na další informace o 2FA:
+
+
+
+### Odinstalujte rozšíření prohlížeče {#uninstall-browser-extensions}
+
+Rozšíření pro prohlížeče, jako jsou rozšíření pro Chrome nebo doplňky pro Firefox, mohou zlepšit funkčnost prohlížeče, ale také přinášejí určitá rizika. Ve výchozím nastavení si většina rozšíření prohlížeče vyžádá přístup ke "čtení a změně dat webu", což jim umožňuje dělat s vašimi daty téměř cokoli. Rozšíření Chrome jsou vždy automaticky aktualizována, takže dříve bezpečné rozšíření může být později aktualizováno a obsahovat škodlivý kód. Většina rozšíření prohlížeče se nesnaží ukrást vaše data, ale měli byste vědět, že to mohou udělat.
+
+#### Zůstaňte v bezpečí: {#browser-extension-safety}
+
+- Budete instalovat rozšíření prohlížeče pouze z důvěryhodných zdrojů
+- Budete odstraňovat nepoužívaná rozšíření prohlížeče
+- Budete instalovat rozšíření Chrome lokálně, abyste zastavili automatické aktualizace (Pokročilé)
+
+[Více o rizicích rozšíření prohlížeče](https://www.kaspersky.co.uk/blog/browser-extensions-security/12750/)
+
+
+
+## Další čtení {#further-reading}
+
+### Bezpečnost na webu {#reading-web-security}
+
+- [Až 3 miliony zařízení infikovaných doplňky pro Chrome a Edge obsahujícími malware](https://arstechnica.com/information-technology/2020/12/up-to-3-million-devices-infected-by-malware-laced-chrome-and-edge-add-ons/) – _Dan Goodin_
+- [Jak vytvořit silné heslo — které nezapomenete](https://www.avg.com/en/signal/how-to-create-a-strong-password-that-you-wont-forget) – _AVG_
+- [Co je to bezpečnostní klíč?](https://help.coinbase.com/en/coinbase/getting-started/verify-my-account/security-keys-faq) – _Coinbase_
+
+### Krypto bezpečnost {#reading-crypto-security}
+
+- [Ochrana sebe a svých prostředků](https://support.mycrypto.com/staying-safe/protecting-yourself-and-your-funds) – _MyCrypto_
+- [Bezpečnostní problémy v běžném komunikačním softwaru pro kryptoměny](https://docs.salusec.io/untitled/web3-penetration-test/risks-in-social-media) – _Salus_
+- [Bezpečnostní příručka pro hlupáky i chytré lidi](https://medium.com/mycrypto/mycryptos-security-guide-for-dummies-and-smart-people-too-ab178299c82e) – _MyCrypto_
+- [Krypto bezpečnost: Hesla a ověřování](https://www.youtube.com/watch?v=m8jlnZuV1i4) – _Andreas M. Antonopoulos_
+
+### Vzdělávání o podvodech {#reading-scam-education}
+
+- [Průvodce: Jak rozpoznat podvodné tokeny](/guides/how-to-id-scam-tokens/)
+- [Jak zůstat v bezpečí: Běžné podvody](https://support.mycrypto.com/staying-safe/common-scams) – _MyCrypto_
+- [Jak se vyhnout podvodům](https://bitcoin.org/en/scams) – _Bitcoin.org_
+- [Vlákno na Twitteru o běžných phishingových e-mailech a zprávách v oblasti kryptoměn](https://twitter.com/tayvano_/status/1516225457640787969) – _Taylor Monahan_
+
+
diff --git a/public/content/translations/cs/smart-contracts/index.md b/public/content/translations/cs/smart-contracts/index.md
index 704ecd0aa3c..4b9e6a23793 100644
--- a/public/content/translations/cs/smart-contracts/index.md
+++ b/public/content/translations/cs/smart-contracts/index.md
@@ -1,22 +1,27 @@
---
-title: Chytré kontrakty
+title: Smart kontrakt účty
+metaTitle: "Chytré kontrakty: Co to je a jaké mají výhody"
description: Netechnický úvod do chytrých kontraktů
lang: cs
---
# Úvod do chytrých kontraktů {#introduction-to-smart-contracts}
+
+
+
+
Chytré kontrakty jsou základními stavebními kameny aplikační vrstvy Etherea. Jsou to počítačové programy uložené na [blockchainu](/glossary/#blockchain), které se řídí logikou „jestli tohle, tak tamto“ a je zaručeno, že se spouštějí podle pravidel definovaných svým kódem, který po vytvoření nelze měnit.
-Nick Szabo zavedl termín „chytrý kontrakt“. V roce 1994 napsal [úvod do tohoto konceptu](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html) a v roce 1996 napsal [výzkum činností, které by chytré kontrakty mohly dělat](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html).
+Nick Szabo zavedl termín „chytrý kontrakt“. V roce 1994 napsal [úvod do tohoto konceptu](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html) a v roce 1996 napsal [pojednání o tom, co by chytré kontrakty mohly dělat](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html).
-Szabo popsal digitální tržiště, kde automatické, [kryptografií zabezpečené](/glossary/#cryptography), procesy umožňují provádění transakcí a obchodních funkcí bez důvěryhodných zprostředkovatelů. Chytré kontrakty na Ethereu tuto vizi uvedly do praxe.
+Szabo si představoval digitální tržiště, kde automatické, [kryptograficky zabezpečené](/glossary/#cryptography) procesy umožňují provádění transakcí a obchodních funkcí bez důvěryhodných zprostředkovatelů. Chytré kontrakty na Ethereu tuto vizi uvedly do praxe.
Koukněte se, jak vysvětlují chytré kontrakty na Finematics:
-## Důvěra v konvenční kontrakty {#trust-and-contracts}
+## Důvěra v konvenční smlouvy {#trust-and-contracts}
Jedním z největších problémů tradičních kontraktů je, že vyžadují, aby důvěryhodné osoby dodržely podmínky kontraktu.
@@ -24,9 +29,9 @@ Tady je ukázka:
Představme si, že Alice a Bob jedou cyklistický závod. Řekněme, že Alice se vsadí s Bobem o 10 dolarů, že vyhraje závod. Bob si je jistý, že bude vítězem a souhlasí se sázkou. Alice nakonec dojede do cíle o hodně dříve než Bob a je jasným vítězem. Bob však odmítá vyplatit sázku a tvrdí, že Alice musela podvádět.
-Tento jednoduchý příklad ilustruje problém s jakoukoliv dohodou, která není založená na chytrém kontraktu. I když jsou podmínky dohody splněny (tj. jste vítězem závodu), musíte stále důvěřovat jiné osobě, že splní svou část dohody (např. že vám vyplatí výhru).
+Tento jednoduchý příklad ilustruje problém s jakoukoliv dohodou, která není založená na chytrém kontraktu. I když jsou podmínky dohody splněny (tj. jste vítězem závodu), stále musíte důvěřovat jiné osobě, že dohodu splní (tj. vyplatí sázku).
-## Digitální výdejní automat {#vending-machine}
+## Digitální prodejní automat {#vending-machine}
Jednoduchá metafora pro chytrý kontrakt je prodejní automat, který funguje podobně jako chytrý kontrakt – konkrétní vstupy zaručují předem stanovené výstupy.
@@ -38,13 +43,13 @@ Jednoduchá metafora pro chytrý kontrakt je prodejní automat, který funguje p
Prodejní automat vám vydá požadovaný produkt až po splnění všech požadavků. Pokud si nevyberete produkt nebo nevložíte dostatek peněz, prodejní automat vám produkt nevydá.
-## Automatické vykonání požadovaného výsledku {#automation}
+## Automatické spouštění {#automation}
Hlavní výhodou chytrého kontraktu je, že deterministicky provádí jednoznačný kód, pokud jsou splněny určité podmínky. Není třeba čekat na lidskou interpretaci nebo vyjednávat o výsledku. Tím odpadá potřeba důvěryhodných zprostředkovatelů.
Například můžete sepsat chytrý kontrakt, který drží finanční prostředky v úschově pro dítě, a umožní mu vybrat finanční prostředky až po určitém datu. Pokud se pokusí vybrat prostředky před tímto datem, chytrý kontrakt tuto operaci neumožní. Nebo můžete sepsat kontrakt, který vám automaticky poskytne digitální verzi vlastnictví vozidla, když zaplatíte prodejci.
-## Předpovídatelné výsledky {#predictability}
+## Předvídatelné výsledky {#predictability}
Tradiční kontrakty jsou nejednoznačné, protože se spoléhají na to, že je interpretují a realizují lidé. Například dva soudci mohou vykládat kontrakt odlišnými způsoby, což může vést k nekonzistentním rozhodnutím a odlišným výsledkům. Chytré kontrakty tuto variantu neumožňují. Místo toho se chytré kontrakty exekuují přesně na základě podmínek napsaných v kódu kontraktu. Tato přesnost znamená, že za stejných okolností bude chytrý kontrakt poskytovat stejný výsledek.
@@ -56,7 +61,7 @@ Chytré kontrakty jsou užitečným nástrojem pro audity a sledování. Jeliko
Chytré kontrakty také chrání vaše soukromí. Protože je Ethereum pseudonymní síť (vaše transakce jsou veřejně vázány na jedinečnou kryptografickou adresu, ne vaši identitu), můžete chránit své soukromí před pozorovateli.
-## Transparentní podmínky {#visible-terms}
+## Viditelné podmínky {#visible-terms}
A konečně, stejně jako v případě tradičních kontraktů, můžete prozkoumat, co je obsahem chytrého kontraktu před tím, než ho podepíšete (nebo s ním budete interagovat jiným způsobem). Transparentnost chytrého kontraktu zaručuje, že si ho může prohlédnout kdokoli.
@@ -64,19 +69,22 @@ A konečně, stejně jako v případě tradičních kontraktů, můžete prozkou
Chytré kontrakty umí v podstatě cokoli, co umí počítačové programy.
-Mohou provádět výpočty, vytvářet měnu, ukládat data, těžit [NFT](/glossary/#nft), odesílat komunikaci a dokonce generovat grafiku. Zde jsou některé reálné populární příklady:
+Mohou provádět výpočty, vytvářet měnu, ukládat data, razit [NFTs](/glossary/#nft), odesílat komunikaci a dokonce generovat grafiku. Zde jsou některé reálné populární příklady:
- [Stablecoiny](/stablecoins/)
-- [Vytváření a distribuce jedinečných digitálních majetků](/nft/)
-- [Automatická otevřená směnárna](/get-eth/#dex)
-- [Decentralizované počítačové hry](/apps/categories/gaming)
-- [Pojistná smlouva, která automaticky vyplatí plnění](https://etherisc.com/)
+- [Vytváření a distribuce jedinečných digitálních aktiv](/nft/)
+- [Automatická, otevřená směnárna](/get-eth/#dex)
+- [Decentralizované hraní](/apps/categories/gaming)
+- [Pojistná smlouva, která automaticky vyplácí plnění](https://etherisc.com/)
- [Standard, který umožňuje vytvářet interoperabilní měny dle konkrétních požadavků](/developers/docs/standards/tokens/)
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
- [Jak chytré kontrakty změní svět](https://www.youtube.com/watch?v=pA6CGuXEKtQ)
-- [Chytré kontrakty: Blockchainová technologie, která nahradí právníky](https://blockgeeks.com/guides/smart-contracts/)
- [Chytré kontrakty pro vývojáře](/developers/docs/smart-contracts/)
- [Naučte se psát chytré kontrakty](/developers/learning-tools/)
-- [Pochopení Etherea – Co je chytrý kontrakt?](https://github.com/ethereumbook/ethereumbook/blob/openedition/07smart-contracts-solidity.asciidoc#what-is-a-smart-contract)
+- [Mastering Ethereum – Co je to chytrý kontrakt?](https://github.com/ethereumbook/ethereumbook/blob/openedition/07smart-contracts-solidity.asciidoc#what-is-a-smart-contract)
+
+
+
+
diff --git a/public/content/translations/cs/social-networks/index.md b/public/content/translations/cs/social-networks/index.md
index a730e797a9c..670b8cf9e01 100644
--- a/public/content/translations/cs/social-networks/index.md
+++ b/public/content/translations/cs/social-networks/index.md
@@ -15,7 +15,7 @@ Sociální sítě hrají velkou roli v naší každodenní komunikaci a interakc
## Co jsou decentralizované sociální sítě? {#what-are-decentralized-social-networks}
-Decentralizované sociální sítě jsou platformy [založené na blockchainu](/glossary/#blockchain), které umožňují uživatelům sdílet informace a zveřejňovat obsah pro své publikum. Díky tomu, že tyto aplikace běží na blockchainu, jsou decentralizované a odolné vůči cenzuře a přílišné kontrole.
+Decentralizované sociální sítě jsou platformy založené na [blockchainu](/glossary/#blockchain), které uživatelům umožňují vyměňovat si informace a také publikovat a distribuovat obsah publiku. Díky tomu, že tyto aplikace běží na blockchainu, jsou decentralizované a odolné vůči cenzuře a přílišné kontrole.
Existuje mnoho decentralizovaných sociálních sítí jako alternativy k zavedeným sociálním médiím, jako jsou Facebook, LinkedIn, Twitter a Medium. Avšak sociální sítě využívající blockchainovou technologii mají několik funkcí, které je staví nad tradiční sociální platformy.
@@ -23,29 +23,29 @@ Existuje mnoho decentralizovaných sociálních sítí jako alternativy k zavede
### Jak fungují decentralizované sociální sítě? {#decentralized-social-networks-overview}
-Decentralizované sociální sítě patří mezi [decentralizované aplikace (dappky)](/apps/) – aplikace využívající ke svému fungování [chytré kontrakty](/glossary/#smart-contract) nasazené na blockchainu. Zdrojový kód kontraktu slouží jako backend pro tyto aplikace a definuje jejich byznysovou logiku.
+Decentralizované sociální sítě jsou třídou [decentralizovaných aplikací (dapps)](/apps/) – aplikací, které jsou poháněny [chytrými kontrakty](/glossary/#smart-contract) nasazenými na blockchainu. Zdrojový kód kontraktu slouží jako backend pro tyto aplikace a definuje jejich byznysovou logiku.
-Tradiční sociální sítě využívají pro ukládání informací uživatelů databáze, programový kód a další formy dat. To však vytváří tzv. jediné body selhání a tím uživatelům přináší značné riziko. Například v říjnu 2021 se servery Facebooku nechvalně proslavily tím, že [byly na několik hodin offline](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact) a odřízly uživatele od platformy.
+Tradiční sociální sítě využívají pro ukládání informací uživatelů databáze, programový kód a další formy dat. To však vytváří tzv. jediné body selhání a tím uživatelům přináší značné riziko. Například servery Facebooku se v říjnu 2021 nechvalně [na několik hodin odpojily](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact), čímž odřízly uživatele od platformy.
-Decentralizované sociální sítě fungují na [peer-to-peer síti](/glossary/#peer-to-peer-network), která zahrnuje tisíce uzlů po celém světě. I když některé síťové uzly přestanou fungovat, síť bude nadále v provozu bez přerušení, což činí aplikace odolnými vůči poruchám a výpadkům.
+Decentralizované sociální sítě existují v [síti peer-to-peer](/glossary/#peer-to-peer-network), která se skládá z tisíců uzlů po celém světě. I když některé síťové uzly přestanou fungovat, síť bude nadále v provozu bez přerušení, což činí aplikace odolnými vůči poruchám a výpadkům.
-Díky použití decentralizovaných úložných systémů jako je [InterPlanetary File System (IPFS)](https://ipfs.io/) mohou sociální sítě postavené na Ethereu chránit informace uživatelů před zneužitím a škodlivým použitím. Nikdo nebude mít možnost prodávat vaše osobní údaje reklamním agenturám, a hackeři nebudou schopni ukrást vaše důvěrné informace.
+Pomocí decentralizovaných úložných systémů, jako je [InterPlanetary File System (IPFS)](https://ipfs.io/), mohou sociální sítě postavené na Ethereu chránit informace uživatelů před zneužitím a škodlivým použitím. Nikdo nebude mít možnost prodávat vaše osobní údaje reklamním agenturám, a hackeři nebudou schopni ukrást vaše důvěrné informace.
Mnoho sociálních platforem založených na blockchainu má vlastní tokeny, které umožňují monetizaci bez příjmů z reklamy. Uživatelé si mohou koupit tyto tokeny, aby získali přístup k určitým funkcím, provedli nákupy uvnitř aplikace nebo je darovali svým oblíbeným tvůrcům obsahu.
## Výhody decentralizovaných sociálních sítí {#benefits}
-1. Decentralizované sociální sítě jsou odolné vůči cenzuře a otevřené všem. To znamená, že **uživatelé nemohou být zakázáni**, odstraněni z platformy nebo jinak omezeni.
+1. Decentralizované sociální sítě jsou odolné vůči cenzuře a otevřené všem. To znamená, že **uživatelé nemohou být zakázáni**, deplatformováni nebo svévolně omezováni.
-2. Decentralizované sociální sítě jsou **postaveny na open-source zásadách** a zpřístupňují veřejnosti svůj zdrojový kód, na který se tak může podívat kdokoliv. Odstraněním implementace netransparentních algoritmů běžných u tradičních sociálních médií mohou sociální sítě založené na blockchainu sjednotit zájmy uživatelů a tvůrců platformy.
+2. Decentralizované sociální sítě jsou **postaveny na ideálech open-source** a zpřístupňují zdrojový kód aplikací pro veřejnou kontrolu. Odstraněním implementace netransparentních algoritmů běžných u tradičních sociálních médií mohou sociální sítě založené na blockchainu sjednotit zájmy uživatelů a tvůrců platformy.
-3. Decentralizované sociální sítě ruší nutnost "prostředníka". **Tvůrci obsahu mají přímé vlastnictví svého obsahu** a komunikují tak přímo se sledujícími, fanoušky, zákazníky a dalšími stranami, přičemž mezi nimi není nic jiného než chytrý kontrakt.
+3. Decentralizované sociální sítě ruší nutnost "prostředníka". **Tvůrci obsahu mají přímé vlastnictví nad svým obsahem** a komunikují přímo se sledujícími, fanoušky, kupujícími a dalšími stranami, přičemž mezi nimi není nic jiného než chytrý kontrakt.
-4. Jako dappky běžící na Ethereu, které je udržováno globální sítí uzlů peer-to-peer, jsou i decentralizované sociální sítě **méně náchylné na výpadky serverů** a odstávky.
+4. Jako dapps běžící na síti Ethereum, která je udržována globální peer-to-peer sítí uzlů, jsou decentralizované sociální sítě **méně náchylné na prostoje serverů** a výpadky.
-5. Decentralizované sociální platformy nabízejí pro tvůrce obsahu **vylepšený způsob zpeněžení** pomocí [nezaměnitelných tokenů (NFT)](/glossary/#nft), aplikačních krypto plateb a dalších možností.
+5. Decentralizované sociální platformy nabízejí tvůrcům obsahu **vylepšený rámec pro monetizaci** prostřednictvím [nezaměnitelných tokenů (NFT)](/glossary/#nft), krypto plateb v aplikaci a dalších.
-6. Decentralizované sociální sítě poskytují uživatelům **vysokou úroveň soukromí a anonymity**. Například jednotlivec se může přihlásit do sociální sítě založené na Ethereu pomocí [ENS](/glossary/#ens) profilu nebo [peněženky](/glossary/#wallet)—aniž by musel osobně sdílet identifikovatelné informace (personally identifiable information, PII), jako jsou jména, e-mailové adresy atp.
+6. Decentralizované sociální sítě poskytují uživatelům **vysokou úroveň soukromí a anonymity**. Jednotlivec se může například přihlásit do sociální sítě založené na Ethereu pomocí profilu [ENS](/glossary/#ens) nebo [peněženky](/glossary/#wallet) – aniž by musel sdílet osobně identifikovatelné údaje (PII), jako jsou jména, e-mailové adresy atd.
7. Decentralizované sociální sítě spoléhají na decentralizované úložiště, nikoliv na centralizované databáze, což je mnohem lepší způsob zabezpečení uživatelských dat.
@@ -55,52 +55,86 @@ Síť Ethereum se stala preferovaným nástrojem pro vývojáře vytvářející
### Mirror {#mirror}
-[Mirror](https://mirror.xyz/) je platforma pro psaní s podporou Web3, jejímž cílem je být decentralizovaná a vlastněná uživateli. Uživatelé platformy Mirror mohou číst a psát obsah zdarma jednoduše přihlášením pomocí svých peněženek. Také mohou sbírat publikovaný obsah a předplatit si své oblíbené tvůrce.
+[Mirror](https://mirror.xyz/) je platforma pro psaní s podporou web3, jejímž cílem je být decentralizovaná a vlastněná uživateli. Uživatelé platformy Mirror mohou číst a psát obsah zdarma jednoduše přihlášením pomocí svých peněženek. Také mohou sbírat publikovaný obsah a předplatit si své oblíbené tvůrce.
-Příspěvky publikované na Mirroru jsou trvale uloženy na Arweave, decentralizované úložné platformě, a mohou být vytvořeny jako sběratelské [nezaměnitelné tokeny (NFT)](/nft/) známé jako Writing NFT. Vytváření Writing NFT je pro tvůrce zcela zdarma a jejich převody probíhají na [vrstvě 2](/glossary/#layer-2) Etherea, což zajišťuje levné, rychlé a ekologicky šetrné transakce.
+Příspěvky publikované na Mirroru jsou trvale uloženy na Arweave, decentralizované úložné platformě, a mohou být vyraženy jako sběratelské [nezaměnitelné tokeny (NFT)](/nft/) známé jako Writing NFT. Vytváření Writing NFT je pro spisovatele zcela zdarma a sbírání probíhá na [L2](/glossary/#layer-2) Etherea – díky tomu jsou transakce levné, rychlé a šetrné k životnímu prostředí.
### MINDS {#minds}
-[MINDS](https://www.minds.com/) je jednou z nejpoužívanějších decentralizovaných sociálních sítí. Funguje podobně jako Facebook a už má miliony uživatelů.
+[MINDS](https://www.minds.com/) je jedna z nejpoužívanějších decentralizovaných sociálních sítí. Funguje podobně jako Facebook a už má miliony uživatelů.
-K platbě za předměty na sociální síti používají uživatelé nativní [ERC-20](/glossary/#erc-20) token $MIND. Uživatelé si tokeny $MIND mohou také vydělat, a to tím, že publikují obsah, který je u ostatních uživatelů populární, přispívají do ekosystému a přivedou na platformu další uživatele.
+Uživatelé používají nativní [ERC-20](/glossary/#erc-20) token platformy $MIND k placení za položky. Uživatelé si tokeny $MIND mohou také vydělat, a to tím, že publikují obsah, který je u ostatních uživatelů populární, přispívají do ekosystému a přivedou na platformu další uživatele.
-## Použití decentralizovaných sociálních sítí {#use-decentralized-social-networks}
+### Farcaster {#farcaster}
-- **[Status.im](https://status.im/)** – _Status je bezpečná zprávová aplikace, která využívá open-source, peer-to-peer protokol a end-to-end šifrování k ochraně vašich zpráv před třetími stranami._
-- **[Mirror.xyz](https://mirror.xyz/)** – _Mirror je decentralizovaná platforma pro publikaci obsahu vlastněného uživateli postavená na Ethereu, která umožňuje uživatelům crowdfundovat nápady, monetizovat obsah a budovat komunity._
-- **[Lens Protocol](https://lens.xyz/)** – _Lens Protocol je komponovatelný a decentralizovaný sociální diagram, který pomáhá tvůrcům uchovat vlastnictví nad jimi vytvořeným obsahem kdekoliv v digitální zahradě decentralizovaného internetu._
-- **[Farcaster](https://farcaster.xyz/)** – _Farcaster je dostatečně decentralizovaná sociální síť. Je to otevřený protokol, který může podporovat více klientů, stejně jako e-mail._
+[Farcaster](https://farcaster.xyz/) je „dostatečně decentralizovaná“ sociální síť podobná X a Redditu, která uživatelům umožňuje sdílet a objevovat „casty“. Je postavena na síti L2 Optimism, aby transakce zůstaly relativně levné.
-## Web2 sociální sítě na Ethereu {#web2-social-networks-and-ethereum}
+## Používání decentralizovaných sociálních sítí {#use-decentralized-social-networks}
-[Web3](/glossary/#web3) nativní sociální platformy nejsou jediné, které se snaží začlenit technologii blockchainu do sociálních médií. I mnoho centralizovaných platforem plánuje integrovat Ethereum do své infrastruktury:
+- **[Status.app](https://status.app/)** - _Status je bezpečná aplikace pro zasílání zpráv, která využívá open-source peer-to-peer protokol a koncové šifrování k ochraně vašich zpráv před třetími stranami._
+- **[Mirror.xyz](https://mirror.xyz/)** - _Mirror je decentralizovaná, uživateli vlastněná publikační platforma postavená na Ethereu, která uživatelům umožňuje crowdfundovat nápady, monetizovat obsah a budovat komunity s vysokou hodnotou._
+- **[Lens Protocol](https://lens.xyz/)** - _Lens Protocol je sestavitelný a decentralizovaný sociální graf, který pomáhá tvůrcům převzít vlastnictví nad svým obsahem, ať už se v digitální zahradě decentralizovaného internetu vydají kamkoli._
+- **[Farcaster](https://farcaster.xyz/)** - _Farcaster je dostatečně decentralizovaná sociální síť._ Je to otevřený protokol, který může podporovat více klientů, stejně jako e-mail._
+- **[Ethereum Follow Protocol](https://efp.app/)** - _Ethereum Follow Protocol je plně decentralizovaný onchain sociální graf pro účty Ethereum, který rozvíjí vizi modulárního souboru identit na Ethereu a doplňuje ENS a SIWE._
+- **[Ethereum Comments Protocol](https://www.ethcomments.xyz/)** - _Nový, programovatelný primitivní prvek sociálního obsahu na Ethereu, který vám umožní umístit vaše myšlenky onchain._
-### Reddit {#reddit}
+## Sociální sítě Web2 na Ethereu {#web2-social-networks-and-ethereum}
-Reddit má [Komunitní Body pochvaly](https://cointelegraph.com/news/reddit-to-reportedly-tokenize-karma-points-and-onboard-500m-new-users), což jsou ERC-20 tokeny, které uživatelé mohou získat vytvářením kvalitního obsahu nebo přispíváním do online komunit (subredditů). Tyto tokeny lze v rámci daného subredditu utratit za exkluzivní výhody a výsady. Reddit na tomto projektu spolupracuje s Arbitrem, sítí na [vrstvě 2](/glossary/#layer-2) navržené ke škálování transakcí na Ethereu.
+Nativní sociální platformy [Web3](/glossary/#web3) nejsou jediné, které se snaží začlenit technologii blockchainu do sociálních médií. Mnoho centralizovaných platforem také zkoumá nebo experimentovalo s integrací Etherea do své infrastruktury:
-Tento program už je spuštěn a na subredditu r/CryptoCurrency [běží verze Community Points nazvaná "Moons".](https://www.reddit.com/r/CryptoCurrency/wiki/moons_wiki). Moons podle oficiálního popisu „odměňují uživatele za jejich příspěvky a komentáře a moderátory za jejich přínos na subredditu“. Jelikož tyto tokeny jsou na blockchainu (uživatelům jsou připisovány rovnou do jejich peněženek), jsou nezávislé na Redditu a nelze je uživatelům odebrat.
+### Prohlížeč Brave {#brave}
-Community Points mohou být kromě utracení za odemknutí speciálních funkcí také směněny za fiat na burzách. Množství Community Points, které uživatel vlastní, také určuje jeho vliv na rozhodování v rámci komunity.
+- Brave integroval do svého ekosystému prohlížeče **[Basic Attention Token (BAT)](https://basicattentiontoken.org/)**, token ERC-20 postavený na Ethereu, aby způsobil revoluci v digitální reklamě a podpoře tvůrců obsahu.
-## Další četba {#further-reading}
+- Program **[Odměny Brave](https://brave.com/brave-rewards/)** umožňuje uživatelům vydělávat BAT prohlížením reklam respektujících soukromí a poté automaticky přispívat webovým stránkám a tvůrcům obsahu na různých platformách, jako je YouTube, Twitter a GitHub, na základě doby pozornosti.
+
+- Tvůrci obsahu se mohou zaregistrovat jako **[ověření tvůrci Brave](https://creators.brave.com/)** a přijímat tyto příspěvky přímo do svých peněženek Ethereum, čímž vzniká přemostění mezi tradičními webovými platformami a monetizací založenou na blockchainu.
+
+- Tokeny BAT existují nezávisle na blockchainu Ethereum, což uživatelům umožňuje po jejich získání převést je do osobních peněženek nebo na burzy.
+
+### Hudební platforma Audius {#audius}
+
+- **[Audius](https://audius.co/)** je platforma pro streamování hudby, která využívá technologii blockchainu Ethereum k přímému propojení umělců s fanoušky.
+
+- Platforma se vyznačuje hybridní decentralizovanou architekturou, kde je obsah ukládán na IPFS, přičemž blockchain se využívá pro vlastnická práva a **[token AUDIO](https://eth.blockscout.com/token/0x18aaa7115705e8be94bffebde57af9bfc265b998)**.
+
+- Audius navázal **[partnerství s TikTokem](https://audius.co/tiktok)**, čímž přináší funkcionalitu Web3 mainstreamovému publiku a umožňuje umělcům monetizovat svůj obsah prostřednictvím technologie blockchainu.
+
+- Technické podrobnosti platformy jsou k dispozici v jejich **[bílé knize](https://whitepaper.audius.co/)**, která ukazuje, jak stavěli na infrastruktuře Etherea.
+
+### Fantasy sporty Sorare {#sorare}
+
+- **[Sorare](https://sorare.com/)** je **[fantasy sportovní platforma postavená na Ethereu](https://sorare.com/help/a/4402888626577/what-is-a-sorare-wallet)**, která umožňuje uživatelům sbírat, obchodovat a hrát s oficiálními NFT kartami hráčů.
+
+- Karty hráčů jsou ověřitelné NFT na blockchainu Ethereum a chytré kontrakty platformy si lze prohlédnout na **[Etherscanu](https://eth.blockscout.com/address/0x629a673a8242c2ac4b7b8c5d8735fbeac21a6205?tab=contract)**.
+
+- Sorare kombinuje tradiční hratelnost fantasy sportů s vlastnictvím digitálních aktiv na blockchainu, čímž přináší funkcionalitu **[financování pomocí Etherea](https://sorare.com/help/a/10969733392797/what-network-should-i-use-to-fund-my-eth-wallet)** mainstreamovým sportovním fanouškům.
+
+### Twitter/X (kryptoměnová spropitná) {#twitter}
+
+**[Twitter](https://x.com)** (nyní X) začlenil technologii blockchainu několika způsoby, aby vylepšil monetizaci tvůrců a ověřování digitální identity:
+
+- **Kryptoměnová spropitná**: Platforma integrovala **[spropitné v Ethereu](https://help.x.com/en/using-x/tips)**, což uživatelům umožňuje posílat platby prostřednictvím peněženek založených na Ethereu, jako je Strike.
+
+Integrací funkcí blockchainu X překlenuje mezeru mezi sociálními zážitky Web2 a decentralizovaným digitálním vlastnictvím.
+
+## Další čtení {#further-reading}
### Články {#articles}
-- [Decentralizace sociálních médií: průvodce web3 stackem sociálních sítí](https://www.coinbase.com/blog/decentralizing-social-media-a-guide-to-the-web3-social-stack) – _Coinbase Ventures_
-- [Sociální sítě jsou další velkou příležitostí pro decentralizaci](https://www.coindesk.com/tech/2021/01/22/social-networks-are-the-next-big-decentralization-opportunity/) — _Ben Goertzel_
-- [Web3 má příslib decentralizovaných komunitně řízených sociálních sítí](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_
-- [Přehled ekosystému blockchainových sociálních médií](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — _Gemini Cryptopedia_
-- [Jak může blockchain vyřešit otázku soukromí na sociálních sítích](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_
+- [Decentralizace sociálních médií: průvodce sociálním stackem web3](https://www.coinbase.com/blog/decentralizing-social-media-a-guide-to-the-web3-social-stack) - _Coinbase Ventures_
+- [Sociální sítě jsou další velkou příležitostí k decentralizaci](https://www.coindesk.com/tech/2021/01/22/social-networks-are-the-next-big-decentralization-opportunity/) — _Ben Goertzel_
+- [Web3 je příslibem decentralizovaných sociálních sítí poháněných komunitou](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_
+- [Přehled prostředí blockchainových sociálních médií](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — _Gemini Cryptopedia_
+- [Jak může blockchain vyřešit soukromí na sociálních sítích](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_
- [Dostatečná decentralizace pro sociální sítě](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) — _Varun Srinivasan_
### Videa {#videos}
- [Vysvětlení decentralizovaných sociálních médií](https://www.youtube.com/watch?v=UdT2lpcGvcQ) — _Coinmarketcap_
- [DeSo Blockchain chce decentralizovat sociální média](https://www.youtube.com/watch?v=SG2HUiVp0rE) — _Bloomberg Technology_
-- [Budoucnost decentralizovaných sociálních médií s Balajim Srinivasanem, Vitalikem Buterinem a Juanem Benetem](https://www.youtube.com/watch?v=DTxE9KV3YrE) — _ETHGlobal_
+- [Budoucnost decentralizovaných sociálních médií s Balajim Srinivasanem, Vitalikem Buterinem, Juanem Benetem](https://www.youtube.com/watch?v=DTxE9KV3YrE) — _ETHGlobal_
### Komunity {#communities}
-- [subreddit r/CryptoCurrency](https://www.reddit.com/r/CryptoCurrency/)
+- [Subreddit r/CryptoCurrency](https://www.reddit.com/r/CryptoCurrency/)
diff --git a/public/content/translations/cs/staking/dvt/index.md b/public/content/translations/cs/staking/dvt/index.md
index 990f60b83d1..2316f260d0c 100644
--- a/public/content/translations/cs/staking/dvt/index.md
+++ b/public/content/translations/cs/staking/dvt/index.md
@@ -4,13 +4,13 @@ description: Technologie distribuovaných validátorů umožňuje distribuovaný
lang: cs
---
-# Technologie distribuovaných validátorů {#distributed-validator-technology}
+# Technologie distribuovaného validátora {#distributed-validator-technology}
Technologie distribuovaných validátorů (DVT) je přístup k zabezpečení validátoru, který dělí odpovědnost za přístupová hesla a podepisování mezi více stran, a to za účelem snížení pravděpodobnosti selhání a zvýšení odolnosti validátoru.
-Principem je **rozdělení privátního klíče** používaného k zabezpečení validátoru **mezi více počítačů** organizovaných do klastru. Výhodou tohoto rozdělení je, že útočníci musí vynaložit mnohem více energie, aby se dostali k privátnímu klíči, protože na žádném počítači není uložen celý. Taktéž umožňuje vypnutí některých síťových uzlů, protože potřebné podpisy mohou být generovány podmnožinou počítačů v každém klastru. To snižuje pravděpodobnost selhání a zvyšuje odolnost celého souboru validátorů.
+Toho je dosaženo **rozdělením privátního klíče** používaného k zabezpečení validátoru **mezi více počítačů** uspořádaných do "klastru". Výhodou tohoto rozdělení je, že útočníci musí vynaložit mnohem více energie, aby se dostali k privátnímu klíči, protože na žádném počítači není uložen celý. Taktéž umožňuje vypnutí některých síťových uzlů, protože potřebné podpisy mohou být generovány podmnožinou počítačů v každém klastru. To snižuje pravděpodobnost selhání a zvyšuje odolnost celého souboru validátorů.
-
+
## Proč potřebujeme DVT? {#why-do-we-need-dvt}
@@ -20,7 +20,7 @@ Validátory generují dva páry privátních a veřejných klíčů: Klíče pro
Vkladatelé se mohou podílet na vkládání a zároveň uchovávat privátní klíč svého validátoru v cold storage, pokud používají DVT. Původní privátní klíč je totiž zašifrován a poté rozdělen na několik částí. Tyto části jsou online sdíleny mezi více síťových uzlů, což umožňuje distribuovaný provoz validátoru. To je možné díky tomu, že validátory Etherea používají BLS podpisy, které jsou aditivní, což znamená, že úplný klíč lze obnovit součtem jeho složek. To umožňuje vkladateli uchovávat plný původní „master“ klíč validátoru v bezpečí offline.
-### Žádná slabá místa {#no-single-point-of-failure}
+### Žádné jednotlivé body selhání {#no-single-point-of-failure}
Když je validátor rozdělen mezi více provozovatelů a více strojů, dokáže odolat individuálním hardwarovým a softwarovým poruchám bez toho, aby byl odpojen. Riziko selhání lze také snížit tím, že se použijí různé konfigurace hardwaru a softwaru na síťových uzlech v klastru. Tato odolnost je nedostupná pro konfigurace validátorů s jedním síťovým uzlem - pochází právě z vrstvy DVT.
@@ -34,58 +34,58 @@ Bez DVT je snazší, aby poskytovatelé vkládání používali pouze jednu nebo
**DVT poskytuje Ethereu tyto výhody:**
-1. **Decentralizuje** ethereovský konsensus důkazu podílem.
-2. Zabezpečuje **životaschopnost** sítě.
-3. Vytváří **toleranci validátorů k chybám**.
-4. **Snižuje důvěru** operací validátoru.
-5. **Minimalizuje tresty** a rizika výpadku.
-6. **Vylepšuje rozmanitost** (klient, datové centrum, lokace, regulace, atd.).
-7. **Zvyšuje bezpečnost** klíčů validátorů.
+1. **Decentralizace** konsensu Etherea na bázi důkazu podílem
+2. Zajišťuje **životaschopnost** sítě
+3. Vytváří **odolnost** validátorů **vůči chybám**
+4. Provoz validátoru s **minimalizovanou důvěrou**
+5. **Minimalizovaná rizika „slashingu“** a výpadků
+6. **Zvyšuje diverzitu** (klient, datové centrum, lokalita, regulace atd.)
+7. **Zvýšená bezpečnost** správy klíčů validátorů
## Jak DVT funguje? {#how-does-dvt-work}
DVT obsahuje tyto komponenty:
-- **[Shamirův systém tajného sdílení](https://medium.com/@keylesstech/a-beginners-guide-to-shamir-s-secret-sharing-e864efbf3648)** – Validátory používají [BLS klíče](https://en.wikipedia.org/wiki/BLS_digital_signature). Jednotlivé BLS „části klíče“ („key shares“) lze sloučit do jediného agregovaného klíče (podpisu). V DVT je privátní klíč validátora kombinovaným BLS podpisem každého operátora v klastru.
-- **[Schéma minimálního podpisu](https://medium.com/nethermind-eth/threshold-signature-schemes-36f40bc42aca)** – Určuje, kolik částí klíče je potřeba pro podpis, například 3 ze 4.
-- **[Distribuované generování klíčů (DKG)](https://medium.com/toruslabs/what-distributed-key-generation-is-866adc79620)** – Kryptografický proces, který generuje jednotlivé části klíče a slouží k distribuci podílů existujícího nebo nového klíče validátoru síťovým uzlům v klastru.
-- **[Vícestranný výpočet (MPC)](https://messari.io/report/applying-multiparty-computation-to-the-world-of-blockchains)** – Kompletní klíč validátoru je generován tajně pomocí vícestranného výpočtu. Celý klíč není znám žádnému operátorovi – každý zná pouze svoji část (svůj „podíl“).
-- **Konsenzuální protokol** – Konsenzuální protokol vybere jeden síťový uzel, který se stane navrhovatelem bloku. Tento síťový uzel sdílí blok s ostatními síťovými uzly v klastru, které přidávají své části klíče k agregovanému podpisu. Jakmile je agregován dostatečný počet částí klíče, blok je navržen na Ethereum.
+- **[Shamirovo sdílení tajemství](https://medium.com/@keylesstech/a-beginners-guide-to-shamir-s-secret-sharing-e864efbf3648)** - Validátoři používají [klíče BLS](https://en.wikipedia.org/wiki/BLS_digital_signature). Jednotlivé BLS „části klíče“ („key shares“) lze sloučit do jediného agregovaného klíče (podpisu). V DVT je privátní klíč validátora kombinovaným BLS podpisem každého operátora v klastru.
+- **[Schéma prahového podpisu](https://medium.com/nethermind-eth/threshold-signature-schemes-36f40bc42aca)** - Určuje počet jednotlivých podílů klíče, které jsou potřeba k podepisování, např. 3 ze 4.
+- **[Distribuované generování klíčů (DKG)](https://medium.com/toruslabs/what-distributed-key-generation-is-866adc79620)** - Kryptografický proces, který generuje podíly klíče a používá se k distribuci podílů stávajícího nebo nového klíče validátoru uzlům v klastru.
+- **[Více-stranný výpočet (MPC)](https://messari.io/report/applying-multiparty-computation-to-the-world-of-blockchains)** - Kompletní klíč validátoru je generován v tajnosti pomocí více-stranného výpočtu. Celý klíč není znám žádnému operátorovi – každý zná pouze svoji část (svůj „podíl“).
+- **Protokol konsensu** - Protokol konsensu vybere jeden uzel, který se stane navrhovatelem bloku. Tento síťový uzel sdílí blok s ostatními síťovými uzly v klastru, které přidávají své části klíče k agregovanému podpisu. Jakmile je agregován dostatečný počet částí klíče, blok je navržen na Ethereum.
Distribuované validátory mají naprogramovanou toleranci k chybám a mohou pokračovat v provozu i v případě, že se některé individuální síťové uzly odpojí. To znamená, že klastr je odolný i v případě, že jsou některé síťové uzly v něm napadeny nebo že jsou nefunkční.
-## Příklady použití DVT {#dvt-use-cases}
+## Případy užití DVT {#dvt-use-cases}
DVT má významné důsledky pro širší ekosystém vkládání:
-### Samostatní vkladatelé {#solo-stakers}
+### Sólo stakeři {#solo-stakers}
DVT umožňuje i vkládání bez prostředníka a to tak, že rozloží klíč validátoru mezi vzdálené síťové uzly, přičemž celý klíč zůstane úplně offline. To znamená, že vkladatelé, kteří pracují z domova, nemusí nutně vynakládat finanční prostředky na hardware, zatímco distribuce částí klíče jim může pomoci zvýšit odolnost proti potenciálním hackům.
-### Staking as a service (SaaS) {#saas}
+### Staking jako služba (SaaS) {#saas}
Operátoři (jako jsou vkladové fondy a institucionální vkladatelé), kteří spravují více validátorů, mohou pomocí DVT snížit svá rizika. Distribuováním infrastruktury mohou přidat do svých výpočtů redundanci a diverzifikovat druhy hardware, který při vkládání používají.
DVT sdílí odpovědnost za správu klíčů mezi více síťových uzlů, což znamená, že i některé provozní náklady mohou být sdíleny. DVT může také snížit operační riziko a náklady na pojištění pro poskytovatele vkládání.
-### Staking pools {#staking-pools}
+### Stakingové pooly {#staking-pools}
Díky standardním nastavením validátorů jsou vkladové fondy a poskytovatelé likvidního vkládání nuceni mít různé úrovně důvěry jednotlivým operátorům, protože zisky a ztráty jsou sdíleny v rámci fondu. Musejí se také spoléhat na operátory, kterým svěřují zabezpečení podpisového klíče, protože dosud pro ně neexistovala jiná možnost.
I když se tradičně snažili o rozložení rizika tím, že se vklad rozdělil mezi více operátorů, každý operátor i tak samostatně spravoval významné částky. Pokud by operátor nebyl schopen provádět dané úkony, měl výpadek, byl napaden nebo se dopustil podvodného jednání, představuje přístup, kdy se na něj spoléhá celý fond, obrovské riziko.
-Pokud ale pool využívá DVT, je míra potřebné důvěry v operátory významně snížena. **Fondy mohou operátorům umožnit držet staky, aniž by potřebovali spravovat klíč validátoru** (jsou využívány pouze části klíče). DVT dále umožňuje rozdělit spravované vklady mezi více operátorů (například místo toho, aby jeden operátor spravoval 1 000 validátorů, DVT umožňuje, aby byly tyto validátory provozovány kolektivně více operátory). Různé konfigurace operátorů zajistí, že pokud jeden operátor selže, ostatní budou stále schopni fungovat. To vede k redundanci a diverzifikaci systému, což vede ke zlepšení výkonu a odolnosti a zároveň maximalizaci odměn poolu.
+Pokud ale pool využívá DVT, je míra potřebné důvěry v operátory významně snížena. **Pooly mohou operátorům umožnit držet staky, aniž by potřebovali mít klíče validátorů v úschově** (protože se využívají pouze podíly klíčů). DVT dále umožňuje rozdělit spravované vklady mezi více operátorů (například místo toho, aby jeden operátor spravoval 1 000 validátorů, DVT umožňuje, aby byly tyto validátory provozovány kolektivně více operátory). Různé konfigurace operátorů zajistí, že pokud jeden operátor selže, ostatní budou stále schopni fungovat. To vede k redundanci a diverzifikaci systému, což vede ke zlepšení výkonu a odolnosti a zároveň maximalizaci odměn poolu.
Další výhodou minimalizace důvěry vůči jednotlivým operátorům je to, že vkladové fondy mohou umožnit otevřenější účast bez nutnosti schvalování operátorů. Tímto způsobem mohou snížit svá rizika a podpořit decentralizaci Etherea tím, že budou zapojovat jak supervizované operátory, tak operátory bez nutnosti schvalování, například tím, že budou spojovat domácí nebo menší vkladatele s těmi většími.
-## Potenciální nevýhody DVT {#potential-drawbacks-of-using-dvt}
+## Potenciální nevýhody používání DVT {#potential-drawbacks-of-using-dvt}
-- **Dodatečná komponenta** – zavedení DVT síťového uzlu přidává do systému další část, která může být potenciálně poruchová nebo zranitelná. Eliminovat tento problém je možné pomocí implementace dalších DVT síťových uzlů, což znamená více DVT klientů (stejně jako existuje více klientů pro konsenzuální a exekuční vrstvy).
-- **Provozní náklady** – protože DVT distribuuje validátor mezi více účastníků, je k provozu zapotřebí více síťových uzlů namísto jednoho, což zvyšuje provozní náklady.
-- **Potenciálně zvýšená latence** – protože DVT využívá konsenzuální protokol k dosažení konsenzu mezi více síťovými uzly, které provozují validátor, může potenciálně způsobit zvýšenou latenci.
+- **Další komponenta** - zavedení DVT uzlu přidává další část, která může být potenciálně vadná nebo zranitelná. Eliminovat tento problém je možné pomocí implementace dalších DVT síťových uzlů, což znamená více DVT klientů (stejně jako existuje více klientů pro konsenzuální a exekuční vrstvy).
+- **Provozní náklady** - jelikož DVT distribuuje validátor mezi více stran, je k provozu zapotřebí více uzlů namísto jednoho, což zvyšuje provozní náklady.
+- **Potenciálně zvýšená latence** - jelikož DVT využívá protokol konsensu k dosažení konsensu mezi více uzly, které provozují validátor, může potenciálně způsobit zvýšenou latenci.
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Specifikace distribuovaných validátorů Etherea (pro pokročilé)](https://github.com/ethereum/distributed-validator-specs)
-- [Technická specifikace distribuovaných validátorů Etherea](https://github.com/ethereum/distributed-validator-specs/tree/dev/src/dvspec)
-- [Demo aplikace pro Shamirovo sdílení hesel](https://iancoleman.io/shamir/)
+- [Specifikace distribuovaného validátoru Etherea (na vysoké úrovni)](https://github.com/ethereum/distributed-validator-specs)
+- [Technické specifikace distribuovaného validátoru Etherea](https://github.com/ethereum/distributed-validator-specs/tree/dev/src/dvspec)
+- [Demo aplikace Shamirova sdílení tajemství](https://iancoleman.io/shamir/)
diff --git a/public/content/translations/cs/staking/pools/index.md b/public/content/translations/cs/staking/pools/index.md
index 6d9a1ba3a88..973290d7d63 100644
--- a/public/content/translations/cs/staking/pools/index.md
+++ b/public/content/translations/cs/staking/pools/index.md
@@ -1,6 +1,6 @@
---
title: Sdružené uzamčení
-description: Přehled, jak začít se zapojením do sdruženého vkládání ETH
+description: Zjistěte více o stakingových poolech
lang: cs
template: staking
emoji: ":money_with_wings:"
@@ -19,14 +19,14 @@ Vkladový fond je přístup založený na spolupráci, který umožňuje mnoha l
Některé fondy fungují pomocí chytrých kontraktů, kde lze vložit prostředky do kontraktu, který důvěryhodně spravuje a sleduje váš vklad a vydává vám token, který představuje tuto hodnotu. Jiné fondy nemusí zahrnovat chytré kontrakty a jsou místo toho zprostředkovány mimo blockchain.
-## Proč vkládat s fondem? {#why-stake-with-a-pool}
+## Proč vkládat s fondem? Proč stakovat s poolem? {#why-stake-with-a-pool}
-Kromě výhod, které jsme nastínili v našem [úvodu do vkládání](/staking/), přináší vkládání s fondem řadu odlišných výhod.
+Kromě výhod, které jsme nastínili v našem [úvodu do stakování](/staking/), přináší stakování v poolu řadu odlišných výhod.
-
-
-
+
+
+
@@ -39,13 +39,13 @@ Každý fond a nástroje nebo chytré kontrakty, které používají, byly vytvo
Tyto vložené ETH tokeny však mají tendenci vykazovat kartelové chování, kdy velké množství vložených ETH skončí pod kontrolou několika centralizovaných organizací, místo toho aby bylo rozděleno mezi mnoho nezávislých jednotlivců. To vytváří podmínky pro cenzuru nebo extrakci hodnot. Zlatým standardem pro vkládání by vždy měli být jednotlivci provozující validátory na vlastním hardwaru, kdykoli je to možné.
-[Další informace o rizicích vkladových tokenů](https://notes.ethereum.org/@djrtwo/risks-of-lsd).
+[Více o rizicích stakování tokenů](https://notes.ethereum.org/@djrtwo/risks-of-lsd).
Atributové indikátory se používají níže k signalizaci pozoruhodných silných nebo slabých stránek, které může mít uvedený vkladový fond. Tuto část použijte jako referenci, jak definujeme tyto atributy, když vybíráte fond, ke kterému se chcete připojit.
-## Prozkoumejte vkladové fondy {#explore-staking-pools}
+## Prozkoumejte stakingové pooly {#explore-staking-pools}
K dispozici jsou různé možnosti, které vám pomohou s nastavením. Pomocí výše uvedených indikátorů vás provedou níže uvedenými nástroji.
@@ -53,34 +53,32 @@ K dispozici jsou různé možnosti, které vám pomohou s nastavením. Pomocí v
-Vezměte prosím na vědomí, že je důležité vybrat si službu, která bere [rozmanitost klientů](/developers/docs/nodes-and-clients/client-diversity/) vážně, protože zlepšuje zabezpečení sítě a omezuje vaše riziko. Služby, které prokazatelně omezují většinové klientské používání, jsou označeny „rozmanitost exekučního klienta“ a „rozmanitost konsenzus klienta“.
+Vezměte prosím na vědomí, že je důležité vybrat si službu, která bere [rozmanitost klientů](/developers/docs/nodes-and-clients/client-diversity/) vážně, protože zlepšuje zabezpečení sítě a omezuje vaše riziko. Služby, které prokazatelně omezují většinové klientské používání, jsou označeny "rozmanitost realizačního klienta" a "rozmanitost klientů konsensu."
-Máte návrh na vkladový nástroj, který nám chyběl? Podívejte se na naše [zásady pro záznam produktů](/contributing/adding-staking-products/), abyste zjistili, zda by se hodily, a odešlete je ke kontrole.
+Máte návrh na vkladový nástroj, který nám chyběl? Podívejte se na naše [zásady pro uvádění produktů](/contributing/adding-staking-products/), abyste zjistili, zda je váš produkt vhodný, a mohli ho odeslat ke kontrole.
## Často kladené dotazy {#faq}
-
+
Tokeny ERC-20 jsou obvykle vydávány vkladatelům a představují hodnotu jejich vložených ETH společně s odměnami. Mějte na paměti, že různé fondy rozdělují odměny za vklady svým uživatelům mírně odlišnými metodami, ale toto je společné téma.
-
+
Právě teď! K upgradu sítě Shanghai/Capella došlo v dubnu 2023 a zavedlo výběry vkladů. Účty validátorů, které podporují vkladové fondy, mají nyní možnost opustit a vybrat ETH na jejich určenou adresu pro výběr. To umožňuje možnost vykoupit část svého vkladu za základní ETH. Informujte se u svého poskytovatele, jak tuto funkci podporuje.
Případně fondy, které využívají token ERC-20 pro vkládání, umožňují uživatelům obchodovat s tímto tokenem na otevřeném trhu, což vám umožní prodat svou pozici pro vkládání a efektivně se „stáhnout“, aniž byste skutečně odstranili ETH ze smlouvy o vkládání.
-Více o výběru vkladů
-
+Více o výběrech ze stakování
-
-Mezi těmito sdruženými vklady a možnostmi a centralizovanými burzami existuje mnoho podobností, jako je schopnost vsadit malá množství ETH a nechat je spojit dohromady, aby se aktivovaly validátory.
+
+Existuje mnoho podobností mezi těmito možnostmi stakování v poolech a centralizovanými burzami, jako je možnost stakovat malá množství ETH a nechat je spojit dohromady pro aktivaci validátorů.
Na rozdíl od centralizovaných burz využívá mnoho dalších možností sdruženého vkládání chytré kontrakty a/nebo vkladové tokeny, což jsou obvykle tokeny ERC-20, které lze držet ve vlastní peněžence a kupovat nebo prodávat stejně jako jakýkoli jiný token. To nabízí vrstvu suverenity a zabezpečení tím, že vám dává kontrolu nad vašimi tokeny, ale stále vám nedává přímou kontrolu nad klientem validátoru, který osvědčuje vaším jménem na pozadí.
-Některé možnosti sdružování jsou více decentralizované než jiné, pokud jde o uzly, které je podporují. Za účelem podpory zdraví a decentralizace sítě se vkladatelům vždy doporučuje, aby si vybrali službu sdružování, která umožňuje decentralizovanou sadu operátorů uzlů bez povolení.
-
+Některé možnosti sdružování jsou více decentralizované než jiné, pokud jde o uzly, které je podporují. Za účelem podpory zdraví a decentralizace sítě se vklady držitelé vždy doporučuje, aby si vybrali službu sdružování, která umožňuje decentralizovanou sadu operátorů uzlů bez povolení.
-## Další četba {#further-reading}
+## Další čtení {#further-reading}
-- [Adresář vkládání Etherea](https://www.staking.directory/) – _Eridian a Spacesider_
-- [Staking with Rocket Pool – Přehled vkládání](https://docs.rocketpool.net/guides/staking/overview.html) – _Dokumenty RocketPool_
-- [Staking Ethereum with Lido](https://help.lido.fi/en/collections/2947324-staking-ethereum-with-lido) – _Lido dokumenty nápovědy_
+- [Adresář stakování Etherea](https://www.staking.directory/) - _Eridian and Spacesider_
+- [Stakování s Rocket Pool – Přehled stakování](https://docs.rocketpool.net/guides/staking/overview.html) - _dokumentace RocketPoolu_
+- [Stakování Etherea s Lido](https://help.lido.fi/en/collections/2947324-staking-ethereum-with-lido) - _nápověda Lido_
diff --git a/public/content/translations/cs/staking/saas/index.md b/public/content/translations/cs/staking/saas/index.md
index d21b961ea18..b732b66ce68 100644
--- a/public/content/translations/cs/staking/saas/index.md
+++ b/public/content/translations/cs/staking/saas/index.md
@@ -1,6 +1,6 @@
---
title: Uzamčení jako služba
-description: Přehled, jak začít se zapojením do sdruženého vkládání ETH
+description: Informace o uzamčení jako službě
lang: cs
template: staking
emoji: ":money_with_wings:"
@@ -13,18 +13,18 @@ summaryPoints:
- Snižte důvěru a udržujte své výběrové klíče v úschově
---
-## Co je vklad jako služba? {#what-is-staking-as-a-service}
+## Co je vklad jako služba? Co je uzamčení jako služba?{#what-is-staking-as-a-service}
Vklad jako služba („SaaS“) představuje kategorii služeb vkladů, kde vkládáte svých vlastních 32 ETH pro validátorství, ale operace uzlu delegujete na operátora třetí strany. Tento proces obvykle zahrnuje provedení úvodního nastavení, včetně vygenerování a uložení klíče, a poté nahrání vašich podpisových klíčů operátorovi. To službě umožňuje provozovat váš validátor vaším jménem, obvykle za měsíční poplatek.
-## Proč vklady se službou? {#why-stake-with-a-service}
+## Proč vklady se službou? Proč stakovat se službou?{#why-stake-with-a-service}
Protokol Ethereum nativně nepodporuje delegování vkladu, takže tyto služby byly vytvořeny tak, aby naplnily tento požadavek. Pokud máte vložit 32 ETH, ale necítíte se na práci s hardwarem, služby SaaS vám umožní delegovat tu nejtěžší část, zatímco získáte nativní blokové odměny.
-
-
-
+
+
+
@@ -37,7 +37,7 @@ Atributové indikátory se používají níže k signalizaci pozoruhodných siln
-## Prozkoumejte poskytovatele služeb vkladů {#saas-providers}
+## Prozkoumejte poskytovatele služeb uzamčení {#saas-providers}
Níže uvádíme několik dostupných poskytovatelů SaaS. Pomocí výše uvedených indikátorů vás provedou těmito službami
@@ -47,49 +47,46 @@ Níže uvádíme několik dostupných poskytovatelů SaaS. Pomocí výše uveden
-Vezměte prosím na vědomí, že je důležité podporovat [rozmanitost klientů](/developers/docs/nodes-and-clients/client-diversity/), protože zlepšuje zabezpečení sítě a omezuje vaše riziko. Služby, které prokazatelně omezují většinové klientské používání, jsou označeny „rozmanitost exekučního klienta“ a „rozmanitost konsenzus klienta“.
+Vezměte prosím na vědomí důležitost podpory [rozmanitosti klientů](/developers/docs/nodes-and-clients/client-diversity/), protože zlepšuje zabezpečení sítě a omezuje vaše riziko. Služby, které prokazatelně omezují většinové klientské používání, jsou označeny "rozmanitost realizačního klienta" a "rozmanitost klientů konsensu."
### Generátory klíčů
-Máte návrh na poskytovatele vkladu jako služby, kterého jsme vynechali? Podívejte se na naše [zásady pro záznam produktů](/contributing/adding-staking-products/), abyste zjistili, zda by se hodily, a odešlete je ke kontrole.
+Máte návrh na poskytovatele vkladu jako služby, kterého jsme vynechali? Podívejte se na naše [zásady pro uvádění produktů](/contributing/adding-staking-products/), abyste zjistili, zda je váš produkt vhodný, a mohli ho odeslat ke kontrole.
## Často kladené dotazy {#faq}
-
+
Ujednání se budou u jednotlivých poskytovatelů lišit, ale obvykle vás provedeme nastavením všech potřebných podpisových klíčů (jeden na 32 ETH) a jejich nahráním poskytovateli, aby je mohl ověřit vaším jménem. Samotné podpisové klíče nedávají žádnou možnost vybrat, převést nebo utratit vaše prostředky. Poskytují však možnost odevzdat hlasy směrem ke konsenzu, což, pokud není provedeno správně, může mít za následek offline penalizaci nebo trest.
-
+
Ano. Každý účet zahrnuje podpisové klíče BLS i klíče pro výběr. Aby mohl validátor ověřovat stav řetězce, účastnit se synchronizačních výborů a navrhovat bloky, musí být podpisové klíče snadno dostupné pro klienta validátoru. Ty musí být nějakou formou připojeny k internetu, a jsou tedy neodmyslitelně považovány za „horké“ klávesy. Tento požadavek váš validátor potřebuje k potvrzení, a proto jsou klíče používané k převodu nebo výběru prostředků z bezpečnostních důvodů odděleny.
Výběrové klíče BLS se používají k podepsání jednorázové zprávy, která deklaruje, na kterou prováděcí vrstvu by odměny za vklady na účet a vyřazené prostředky měly jít. Jakmile je tato zpráva odvysílána, klíče pro výběr BLS již nejsou potřeba. Místo toho je kontrola nad vybranými prostředky trvale delegována na adresu, kterou jste uvedli. To vám umožňuje nastavit adresu pro výběr zabezpečenou prostřednictvím vašeho vlastního chladného úložiště, čímž se minimalizuje riziko pro vaše prostředky validátoru, i když někdo jiný ovládá vaše podpisové klíče validátoru.
Aktualizace přihlašovacích údajů pro výběr je nezbytným krokem k povolení výběrů\*. Tento proces zahrnuje generování klíčů pro výběr pomocí vaší mnemotechnické počáteční fráze.
-Ujistěte se, že tuto počáteční frázi bezpečně zálohujete, jinak nebudete moci vygenerovat klíče pro výběr, až přijde čas.
+Ujistěte se, že si tuto bezpečnostní frázi bezpečně zálohujete, jinak nebudete moci vygenerovat své výběrové klíče, až přijde čas.
-\*Vkladatelé, kteří poskytli adresu pro výběr s počátečním vkladem, toto nastavovat nemusí. Ověřte si u svého poskytovatele SaaS podporu ohledně přípravy validátoru.
-
+\*Stakeři, kteří poskytli adresu pro výběr při počátečním vkladu, toto nemusí nastavovat. Ověřte si u svého poskytovatele SaaS podporu ohledně přípravy validátoru.
-
-Výběry vkladů byly provedeny v rámci aktualizace Šanghaj/Capella v dubnu 2023. Vkladatelé musí zadat adresu pro výběr (pokud není uvedena při počátečním vkladu) a výplaty odměn se začnou automaticky rozdělovat pravidelně každých několik dní.
+
+Stakeři musí zadat adresu pro výběr (pokud není uvedena při počátečním vkladu) a výplaty odměn se začnou automaticky rozdělovat pravidelně každých několik dní.
Validátoři mohou také plně odejít jako validátor, který odemkne jejich zbývající ETH zůstatek pro výběr. Účty, které uvedly adresu pro provedení výběru a dokončily proces ukončení, obdrží celý zůstatek na adresu pro výběr uvedenou během příštího ověřovacího testu.
-Více o výběru vkladů
-
+Více o výběrech ze stakování
-
+
Používáním poskytovatele SaaS svěřujete provoz svého uzlu někomu jinému. To přichází s rizikem špatného výkonu uzlu, který nemůžete ovlivnit. V případě, že je váš validátor potrestán, váš zůstatek validátoru bude penalizován a násilně odstraněn z fondu validátorů.
Po dokončení procesu trestání/opuštění budou tyto prostředky převedeny na adresu pro výběr přidělenou validátoru. To vyžaduje poskytnutí adresy pro výběr. To může být poskytnuto při počátečním vkladu. Pokud ne, bude nutné použít klíče pro výběr validátoru k podepsání zprávy deklarující adresu pro výběr. Pokud nebyla zadána žádná adresa pro výběr, prostředky zůstanou uzamčeny, dokud je nezadáte.
-Obraťte se na jednotlivého poskytovatele SaaS pro další podrobnosti o jakýchkoli zárukách nebo možnostech pojištění a pro pokyny, jak zadat adresu pro výběr. Pokud chcete mít nastavení validátoru pod plnou kontrolou, [přečtěte si další informace o tom, jak samostatně vložit ETH](/staking/solo/).
-
+Obraťte se na jednotlivého poskytovatele SaaS pro další podrobnosti o jakýchkoli zárukách nebo možnostech pojištění a pro pokyny, jak zadat adresu pro výběr. Pokud dáváte přednost plné kontrole nad nastavením svého validátoru, [zjistěte více o tom, jak samostatně stakovat svá ETH](/staking/solo/).
-## Další četba {#further-reading}
+## Další čtení {#further-reading}
-- [Adresář vkládání Etherea](https://www.staking.directory/) – _Eridian a Spacesider_
-- [Vyhodnocení služeb vkládání](https://www.attestant.io/posts/evaluating-staking-services/) – _Jim McDonald 2020_
+- [Adresář stakování Etherea](https://www.staking.directory/) - _Eridian and Spacesider_
+- [Hodnocení služeb pro uzamčení](https://www.attestant.io/posts/evaluating-staking-services/) - _Jim McDonald 2020_
diff --git a/public/content/translations/cs/staking/solo/index.md b/public/content/translations/cs/staking/solo/index.md
index c7cf4601a51..b0b3f2f5389 100644
--- a/public/content/translations/cs/staking/solo/index.md
+++ b/public/content/translations/cs/staking/solo/index.md
@@ -15,63 +15,58 @@ summaryPoints:
## Co je uzamčení z domova? {#what-is-solo-staking}
-Uzamčení z domova je akt [spuštění uzlu Ethereum](/run-a-node/) připojeného k internetu a vložení 32 ETH k aktivaci [validátoru](#faq), což vám dává možnost přímo se podílet na konsenzu sítě.
+Uzamčení z domova je akt [spuštění ethereového uzlu](/run-a-node/) připojeného k internetu a vložení 32 ETH k aktivaci [validátora](#faq), což vám dává možnost přímo se podílet na konsensu sítě.
-**Uzamčení z domova zvyšuje decentralizaci sítě Ethereum**, díky čemuž je Ethereum odolnější vůči cenzuře a útokům. Jiné metody vkladů nemusí síti pomoci stejným způsobem. Uzamčení z domova je nejlepší možností uzamčení pro zajištění Etherea.
+**Uzamčení z domova zvyšuje decentralizaci sítě Ethereum, díky čemuž je Ethereum odolnější vůči cenzuře a robustnější proti útokům.** Jiné metody uzamčení nemusí síti pomoci stejným způsobem. Uzamčení z domova je nejlepší možností uzamčení pro zabezpečení Etherea.
-Uzel Ethereum se skládá jak z klienta prováděcí vrstvy (EL), tak z klienta konsensuální vrstvy (CL). Tyto klienty jsou software, který společně s platnou sadou podpisových klíčů ověřuje transakce a bloky, osvědčuje správnému vedoucímu řetězce, shromažďuje atestace a navrhuje bloky.
+Uzel Etherea se skládá jak z klienta exekuční vrstvy (EL), tak z klienta konsensuální vrstvy (CL). Tito klienti jsou software, který spolupracuje s platnou sadou podpisových klíčů na ověřování transakcí a bloků, potvrzování správné hlavy řetězce, agregaci atestací a navrhování bloků.
-Uzamykatelé z domova jsou zodpovědní za provoz hardwaru potřebného ke spuštění těchto klientů. Důrazně se doporučuje používat k tomu vyhrazený počítač, který obsluhujete z domova – to je mimořádně prospěšné pro zdraví sítě.
+Domácí stakeři jsou zodpovědní za provoz hardwaru potřebného ke spuštění těchto klientů. Důrazně se doporučuje používat k tomu vyhrazený počítač, který provozujete z domova – je to nesmírně prospěšné pro zdraví sítě.
Uzamykatel z domova dostává odměny přímo z protokolu za to, že jejich validátor řádně funguje a je online.
-## Proč uzamykat z domova? {#why-stake-solo}
+## Proč provádět uzamčení z domova? {#why-stake-solo}
Uzamčení z domova přináší větší odpovědnost, ale poskytuje vám maximální kontrolu nad vašimi prostředky a nastavením uzamčení.
-
-
-
+
+
+
-## Úvahy před uzamčením z domova {#considerations-before-staking-solo}
+## Co zvážit před uzamčením z domova {#considerations-before-staking-solo}
-I když bychom si přáli, aby bylo uzamčení z domova dostupné a bez rizika pro každého, není to realita. Než se rozhodnete uzamčít své ETH z domova, je třeba mít na paměti několik praktických a vážných úvah.
+I když bychom si přáli, aby bylo uzamčení z domova dostupné a bez rizika pro každého, není to realita. Než se rozhodnete uzamknout své ETH z domova, je třeba mít na paměti několik praktických a závažných aspektů.
-
-Při provozu vlastního uzlu byste měli strávit nějaký čas učením se, jak používat software, který jste si vybrali. To zahrnuje čtení příslušné dokumentace a naladění se na komunikační kanály těchto vývojářských týmů.
+
+Při provozu vlastního uzlu byste měli strávit nějaký čas tím, že se naučíte používat software, který jste si vybrali. To zahrnuje čtení příslušné dokumentace a sledování komunikačních kanálů těchto vývojářských týmů.
-Čím více budete rozumět softwaru, který používáte, a tomu, jak funguje důkaz podílem, tím méně riskantní to bude jako vkladatel a tím snazší bude opravit jakékoli problémy, které se mohou během cesty objevit jako operátor uzlu.
-
+Čím více budete rozumět softwaru, který používáte, a tomu, jak funguje proof-of-stake, tím méně riskantní to bude jako pro stakera a tím snazší bude opravit jakékoli problémy, které se mohou vyskytnout v průběhu provozu uzlu.
-
-Nastavení uzlů vyžaduje při práci s počítači přiměřenou úroveň pohodlí, i když nové nástroje to postupem času usnadňují. Pochopení rozhraní příkazového řádku je užitečné, ale již není striktně vyžadováno.
+
+Nastavení uzlů vyžaduje přiměřenou úroveň pohodlí při práci s počítači, i když nové nástroje to postupem času usnadňují. Pochopení rozhraní příkazového řádku je užitečné, ale již není striktně vyžadováno.
-Vyžaduje také velmi základní nastavení hardwaru a určité porozumění minimálním doporučeným specifikacím.
-
+Vyžaduje také velmi základní nastavení hardwaru a určité porozumění minimálním doporučeným specifikacím.
-
-Stejně jako privátní klíče zajišťují vaši adresu Ethereum, budete muset vygenerovat klíče speciálně pro váš validátor. Musíte rozumět tomu, jak uchovat všechny počáteční fráze nebo privátní klíče v bezpečí.{' '}
+
+Stejně jako privátní klíče zajišťují vaši adresu Ethereum, budete muset vygenerovat klíče speciálně pro váš validátor. Musíte rozumět tomu, jak uchovat bezpečnostní fráze nebo soukromé klíče v bezpečí.{' '}
-[Zabezpečení Etherea a prevence podvodů](/security/)
-
+[Zabezpečení Etherea a prevence podvodů](/security/)
-
+
Hardware občas selže, dojde k chybě síťových připojení a klientský software občas potřebuje upgrade. Údržba uzlů je nevyhnutelná a občas bude vyžadovat vaši pozornost. Budete si chtít být jisti, že budete informováni o všech očekávaných upgradech sítě nebo jiných důležitých upgradech klientů.
-
-Vaše odměny jsou úměrné době, kdy je váš validátor online a řádně osvědčuje. Za prostoje jsou penalizovány úměrně tomu, kolik dalších validátorů je současně offline, ale nevede k trestu. Záleží také na šířce pásma, protože odměny se snižují za atestace, které nejsou obdrženy včas. Požadavky se budou lišit, ale doporučuje se minimálně 10 Mb/s nahoru a dolů.
+
+Vaše odměny jsou úměrné době, kdy je váš validátor online a řádně provádí atestace. Za prostoje jsou penalizovány úměrně tomu, kolik dalších validátorů je současně offline, ale nevede to k trestu. Záleží také na šířce pásma, protože odměny se snižují za atestace, které nejsou obdrženy včas. Požadavky se budou lišit, ale doporučuje se minimálně 10 Mb/s pro odesílání i stahování.
-
-Na rozdíl od penalizace za nečinnost za to, že jste offline, je trest mnohem závažnějším penalizací vyhrazeným za škodlivé přestupky. Spuštěním menšinového klienta s vašimi klíči načtenými pouze na jednom počítači je minimalizováno riziko, že budete potrestáni. Jak již bylo řečeno, všichni vkladatelé si musí být vědomi rizik trestání.
+
+Na rozdíl od penalizace za nečinnost za to, že jste offline, je trestání mnohem závažnějším trestem vyhrazeným za škodlivé přestupky. Spuštěním menšinového klienta s vašimi klíči načtenými pouze na jednom počítači je riziko potrestání minimalizováno. Jak již bylo řečeno, všichni stakeři si musí být vědomi rizik trestání.
-Další informace o trestu a životním cyklu validátoru
-
-
+ Více o trestání a životním cyklu validátoru
@@ -83,23 +78,23 @@ Když budete aktivní, budete získávat odměny ETH, které budou pravidelně u
Pokud budete chtít, můžete odejít jako validátor, což eliminuje požadavek být online a zastaví jakékoli další odměny. Váš zbývající zůstatek bude poté vybrán na adresu pro výběr, kterou určíte při nastavení.
-[Více o výběru vkladů](/staking/withdrawals/)
+[Více o výběrech uzamčených prostředků](/staking/withdrawals/)
-## Začněte s vklady na spouštěcím panelu {#get-started-on-the-staking-launchpad}
+## Začněte se Staking Launchpad {#get-started-on-the-staking-launchpad}
-Vkladový spouštěcí panel je open source aplikace, která vám pomůže stát se vkladatelem. Provede vás výběrem vašich klientů, vygenerováním vašich klíčů a uložením vašeho ETH do smlouvy o vkladu. K dispozici je kontrolní seznam, abyste se ujistili, že jste probrali vše, abyste mohli svůj validátor bezpečně nastavit.
+Staking Launchpad je open source aplikace, která vám pomůže stát se stakerem. Provede vás výběrem vašich klientů, vygenerováním vašich klíčů a uložením vašeho ETH do smlouvy o vkladu. K dispozici je kontrolní seznam, abyste se ujistili, že jste probrali vše, abyste mohli svůj validátor bezpečně nastavit.
-## Co je třeba zvážit u nástrojů pro nastavení uzlů a klienta {#node-tool-considerations}
+## Co je třeba zvážit u nástrojů pro nastavení uzlů a klientů {#node-tool-considerations}
Existuje rostoucí počet nástrojů a služeb, které vám pomohou uzamčít vaše ETH z domova, ale každý přichází s jinými riziky a výhodami.
-Atributové indikátory se používají níže k signalizaci pozoruhodných silných nebo slabých stránek, které mohou mít uvedený vkladový nástroj. Použijte tuto část jako referenci, jak definujeme tyto atributy, když vybíráte nástroje, které vám pomohou s vaší cestou vkladu.
+Atributové indikátory se používají níže k signalizaci pozoruhodných silných nebo slabých stránek, které může mít uvedený nástroj pro uzamčení. Použijte tuto část jako referenci, jak definujeme tyto atributy, když vybíráte nástroje, které vám pomohou s vaší cestou uzamčení.
-## Prozkoumejte nástroje pro nastavení uzlu a klienta {#node-and-client-tools}
+## Prozkoumejte nástroje pro nastavení uzlů a klientů {#node-and-client-tools}
K dispozici jsou různé možnosti, které vám pomohou s nastavením. Pomocí výše uvedených indikátorů vás provedou níže uvedenými nástroji.
@@ -109,7 +104,7 @@ K dispozici jsou různé možnosti, které vám pomohou s nastavením. Pomocí v
-Vezměte prosím na vědomí, že je důležité vybrat [menšinového klienta](/developers/docs/nodes-and-clients/client-diversity/), protože zlepšuje zabezpečení sítě a omezuje vaše riziko. Nástroje, které umožňují nastavení menšinového klienta, jsou označeny jako „multi-klient“.
+Vezměte prosím na vědomí, že je důležité vybrat [menšinového klienta](/developers/docs/nodes-and-clients/client-diversity/), protože zlepšuje zabezpečení sítě a omezuje vaše riziko. Nástroje, které umožňují nastavení menšinového klienta, jsou označeny jako „multi-klientské“.
### Generátory klíčů
@@ -117,7 +112,7 @@ Tyto nástroje lze použít jako alternativu k [Staking Deposit CLI](https://git
-Máte návrh na vkladový nástroj, který nám chyběl? Podívejte se na naše [zásady pro záznam produktů](/contributing/adding-staking-products/), abyste zjistili, zda by se hodily, a odešlete je ke kontrole.
+Máte návrh na vkladový nástroj, který nám chyběl? Podívejte se na naše [zásady pro uvádění produktů](/contributing/adding-staking-products/), abyste zjistili, zda je váš produkt vhodný, a mohli ho odeslat ke kontrole.
## Prozkoumejte návody na uzamčení z domova {#staking-guides}
@@ -127,79 +122,78 @@ Máte návrh na vkladový nástroj, který nám chyběl? Podívejte se na naše
Toto je několik nejčastějších otázek týkajících se vkládání, které stojí za to vědět.
-
+
-Validátor je virtuální entita, která žije na Ethereu a účastní se konsenzu protokolu Ethereum. Validátory jsou reprezentovány zůstatkem, veřejným klíčem a dalšími vlastnostmi. Klient validátoru je software, který jedná jménem validátoru tím, že drží a používá jeho privátní klíč. Jeden klient validátoru může pojmout mnoho párů klíčů a ovládat mnoho validátorů.
+Validátor je virtuální entita, která žije na Ethereu a účastní se konsensu protokolu Ethereum. Validátory jsou reprezentovány zůstatkem, veřejným klíčem a dalšími vlastnostmi. Klient validátoru je software, který jedná jménem validátoru tím, že drží a používá jeho privátní klíč. Jeden klient validátoru může pojmout mnoho párů klíčů a ovládat mnoho validátorů.
-
-Každý pár klíčů spojený s validátorem vyžaduje k aktivaci přesně 32 ETH. Více ETH uložených na jednu sadu klíčů nezvyšuje potenciál odměn, protože každý validátor je omezen na efektivní zůstatek 32 ETH. To znamená, že vytyčování se provádí ve 32 krocích ETH, z nichž každý má svou vlastní sadu klíčů a zůstatek.
+
+Ano, moderní účty validátorů mohou pojmout až 2048 ETH. Další ETH nad 32 se budou sčítat postupně, přičemž se budou zvyšovat v celočíselných přírůstcích, jak se bude zvyšovat váš skutečný zůstatek. Toto je známé jako váš efektivní zůstatek.
-Nevkládejte více než 32 ETH na jeden validátor. Nezvýší to vaše odměny. Pokud byla pro validátor nastavena adresa pro výběr, přebytečné prostředky nad 32 ETH budou automaticky vybrány na tuto adresu během příští [kontroly validátoru](/staking/withdrawals/#validator-sweeping).
+Pro zvýšení efektivního zůstatku účtu a tím i zvýšení odměn musí být překročena rezerva 0,25 ETH nad jakoukoli plnou prahovou hodnotou ETH. Například účet se skutečným zůstatkem 32,9 a efektivním zůstatkem 32 by musel vydělat dalších 0,35 ETH, aby se jeho skutečný zůstatek dostal nad 33,25, než by se spustilo zvýšení efektivního zůstatku.
-Pokud se vám uzamčení z domova zdá příliš náročné, zvažte použití poskytovatele typu [uzamčení-jako-služba](/staking/saas/), nebo pokud pracujete s méně než 32 ETH, koukněte se na [vkladové fondy](/staking/pools/).
-
+Tato rezerva také zabraňuje poklesu efektivního zůstatku, dokud neklesne o 0,25 ETH pod svůj aktuální efektivní zůstatek.
+
+Každý pár klíčů spojený s validátorem vyžaduje k aktivaci alespoň 32 ETH. Jakýkoli zůstatek nad touto částkou může být kdykoli vybrán na přidruženou adresu pro výběr prostřednictvím transakce podepsané touto adresou. Jakékoli prostředky nad maximálním efektivním zůstatkem budou automaticky periodicky vybírány.
-
-Přechod do režimu offline v době, kdy se síť správně dokončuje, NEBUDE mít za následek trest. Malé pokuty za nečinnost jsou uvaleny, pokud váš validátor není k dispozici k ověření pro danou epochu (každé 6,4 minuty), ale to je velmi odlišné od trestání. Tyto sankce jsou o něco nižší než odměna, kterou byste získali, pokud by byl validátor k dispozici k potvrzení, a ztráty lze získat zpět s přibližně stejným množstvím času, kdy budete znovu online.
+Pokud se vám zdá uzamčení z domova příliš náročné, zvažte použití poskytovatele [uzamčení jako služby](/staking/saas/), nebo pokud pracujete s méně než 32 ETH, podívejte se na [fondy uzamčení](/staking/pools/).
+
+
+Přechod do režimu offline v době, kdy se síť správně finalizuje, NEBUDE mít za následek trestání. Malé pokuty za nečinnost jsou uvaleny, pokud váš validátor není k dispozici k atestaci pro danou epochu (každá o délce 6,4 minuty), ale to je velmi odlišné od trestání. Tyto sankce jsou o něco nižší než odměna, kterou byste získali, pokud by byl validátor k dispozici pro atestaci, a ztráty lze získat zpět s přibližně stejným množstvím času, kdy budete znovu online.
Všimněte si, že sankce za nečinnost jsou úměrné tomu, kolik validátorů je současně offline. V případech, kdy je velká část sítě offline najednou, budou postihy pro každý z těchto validátorů vyšší, než když je jeden validátor nedostupný.
-V extrémních případech, pokud se síť přestane dokončovat v důsledku toho, že více než třetina validátorů je offline, tito uživatelé utrpí takzvaný kvadratický únik nečinnosti, což je exponenciální odliv ETH z účtů offline validátoru. To umožňuje, aby se síť časem samoopravila spotřebováním ETH neaktivních validátorů, dokud nebude zůstatek 16 ETH, přičemž budou automaticky vyřazeny z fondu validátorů. Zbývající online validátoři budou nakonec opět zahrnovat více než 2/3 sítě, čímž uspokojí nadpoloviční většinu potřebnou k opětovnému dokončení řetězce.
-
+V extrémních případech, pokud se síť přestane finalizovat v důsledku toho, že více než třetina validátorů je offline, tito uživatelé utrpí takzvaný kvadratický únik nečinnosti, což je exponenciální odliv ETH z účtů offline validátoru. To umožňuje, aby se síť časem samoopravila spálením ETH neaktivních validátorů, dokud jejich zůstatek nedosáhne 16 ETH, přičemž budou automaticky vyřazeni z fondu validátorů. Zbývající online validátoři budou nakonec opět tvořit více než 2/3 sítě, čímž uspokojí nadpoloviční většinu potřebnou k opětovné finalizaci řetězce.
-
-Stručně řečeno, toto nelze nikdy plně zaručit, ale pokud jednáte v dobré víře, provozujete menšinového klienta a své podpisové klíče budete mít vždy pouze na jednom počítači, je riziko, že budete potrestáni, téměř nulové.
+
+Stručně řečeno, toto nelze nikdy plně zaručit, ale pokud jednáte v dobré víře, provozujete menšinového klienta a své podpisové klíče máte vždy jen na jednom počítači, riziko potrestání je téměř nulové.
-Existuje jen několik konkrétních způsobů, které mohou vést k tomu, že validátor bude potrestán a vyřazen ze sítě. V době psaní tohoto dokumentu byly tresty, ke kterým došlo, výhradně produktem nadbytečných hardwarových nastavení, kde jsou podpisové klíče uloženy na dvou samostatných počítačích najednou. To může neúmyslně vést k dvojitému hlasování z vašich klíčů, za což můžete být potrestáni.
+Existuje jen několik konkrétních způsobů, které mohou vést k tomu, že validátor bude potrestán a vyřazen ze sítě. V době psaní tohoto dokumentu byly tresty, ke kterým došlo, výhradně produktem redundantních hardwarových nastavení, kde jsou podpisové klíče uloženy na dvou samostatných počítačích najednou. To může neúmyslně vést k dvojitému hlasování z vašich klíčů, za což můžete být potrestáni.
-Provozování supervětšinového klienta (jakéhokoli klienta používaného více než 2/3 sítě) také nese riziko potenciálního trestu v případě, že tento klient má chybu, která vede k rozvětvení řetězce. To může mít za následek vadnou vidlici, která se finalizuje. Oprava zpět na zamýšlený řetězec by vyžadovala odeslání prostorového hlasování pokusem o vrácení dokončeného bloku. Za to můžete být také potrestáni. Lze se tomu vyhnout tím, že místo toho spustíte menšinového klienta.
+Provozování supervětšinového klienta (jakéhokoli klienta používaného více než 2/3 sítě) také nese riziko potenciálního trestání v případě, že tento klient má chybu, která vede k větvi řetězce. To může mít za následek vadnou větev, která se finalizuje. Oprava zpět na zamýšlený řetězec by vyžadovala odeslání prostorového hlasování pokusem o vrácení finalizovaného bloku. Za to můžete být také potrestáni. Lze se tomu vyhnout tím, že místo toho spustíte menšinového klienta.
Ekvivalentní chyby v menšinovém klientu by se nikdy nedokončily, a proto by nikdy nevedly k prostorovému hlasování a jednoduše by vedly k penalizaci za nečinnost, nikoli trestu.
-
-Jednotlivé klienty se mohou mírně lišit, pokud jde o výkon a uživatelské rozhraní, protože každý je vyvíjen různými týmy pomocí různých programovacích jazyků. Jak již bylo řečeno, žádný z nich není „nejlepší“ Všechny produkční klienty jsou vynikající softwary, které všechny provádějí stejné základní funkce pro synchronizaci a interakci s blockchainem.
+
+Jednotliví klienti se mohou mírně lišit, pokud jde o výkon a uživatelské rozhraní, protože každý je vyvíjen různými týmy pomocí různých programovacích jazyků. Jak již bylo řečeno, žádný z nich není „nejlepší“. Všechny produkční klienty jsou vynikající softwary, které všechny provádějí stejné základní funkce pro synchronizaci a interakci s blockchainem.
-Protože všechny produkční klienty poskytují stejnou základní funkcionalitu, je ve skutečnosti velmi důležité, abyste si vybrali menšinového klienta, což znamená jakéhokoli klienta, kterého momentálně NEPOUŽÍVÁ většina validátorů v síti. Může to znít neintuitivně, ale provozování většinového nebo supervětšinového klienta vás vystavuje zvýšenému riziku trestu v případě chyby v tomto klientu. Provozování menšinového klienta tato rizika drasticky omezuje.
+Protože všechny produkční klienty poskytují stejnou základní funkcionalitu, je ve skutečnosti velmi důležité, abyste si vybrali menšinového klienta, což znamená jakéhokoli klienta, kterého momentálně NEPOUŽÍVÁ většina validátorů v síti. Může to znít neintuitivně, ale provozování většinového nebo supervětšinového klienta vás vystavuje zvýšenému riziku trestání v případě chyby v tomto klientu. Provozování menšinového klienta tato rizika drasticky omezuje.
-Další informace o tom, proč je rozmanitost klientů kritická
-
+Další informace o tom, proč je rozmanitost klientů kritická
-
+
Ačkoli lze jako náhradu domácího hardwaru použít virtuální privátní server (VPS), na fyzickém přístupu a umístění vašeho klienta validátoru záleží. Centralizovaná cloudová řešení, jako jsou Amazon Web Services nebo Digital Ocean, umožňují pohodlí, kdy nemusíte získávat a provozovat hardware na úkor centralizace sítě.
Čím více klientů validátoru běží na jediném centralizovaném řešení cloudového úložiště, tím nebezpečnější se to pro tyto uživatele stává. Jakákoli událost, která odpojí tyto poskytovatele, ať už útokem, regulačními požadavky nebo jen výpadky napájení/internetu, bude mít za následek, že každý validační klient, který spoléhá na tento server, bude zároveň offline.
-Offline sankce jsou úměrné tomu, kolik ostatních je současně offline. Používání VPS výrazně zvyšuje riziko, že offline sankce budou přísnější, a zvyšuje vaše riziko kvadratického úniku nebo trestu v případě, že je výpadek dostatečně velký. Pro minimalizaci vlastního rizika a rizika pro síť se uživatelům důrazně doporučuje, aby si pořídili a provozovali svůj vlastní hardware.
-
+Offline sankce jsou úměrné tomu, kolik ostatních je současně offline. Používání VPS výrazně zvyšuje riziko, že offline sankce budou přísnější, a zvyšuje vaše riziko kvadratického úniku nebo trestání v případě, že je výpadek dostatečně velký. Pro minimalizaci vlastního rizika a rizika pro síť se uživatelům důrazně doporučuje, aby si pořídili a provozovali svůj vlastní hardware.
-
+
Výběry jakéhokoli druhu z Beacon Chain vyžadují nastavení přihlašovacích údajů k výběru.
-Noví vkladatelé provádí nastavení v době generování klíče a vkladu. Stávající vkladatelé, kteří ještě nastavení neprovedli, mohou upgradovat své klíče na podporu této funkce.
+Noví stakeři toto nastavují v době generování klíče a vkladu. Stávající stakeři, kteří ještě nastavení neprovedli, mohou upgradovat své klíče na podporu této funkce.
Jakmile jsou přihlašovací údaje pro výběr nastaveny, platby odměn (nashromážděné ETH za prvních 32) budou pravidelně automaticky distribuovány na adresu výběru.
Chcete-li odemknout a získat zpět celý zůstatek, musíte také dokončit proces opuštění validátoru.
-Více o výběru vkladů
-
+Více o výběrech ze stakování
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Adresář vkládání Etherea](https://www.staking.directory/) – _Eridian a Spacesider_
-- [Problém s diverzitou klientů Etherea](https://hackernoon.com/ethereums-client-diversity-problem) – _@emmanuelawosika 2022_
-- [Pomáháme rozmanitosti klientů](https://www.attestant.io/posts/helping-client-diversity/) – _Jim McDonald 2022_
-- [Klientská diverzita na konsensuální vrstvě Etherea](https://mirror.xyz/jmcook.eth/S7ONEka_0RgtKTZ3-dakPmAHQNPvuj15nh0YGKPFriA) – _jmcook.eth 2022_
-- [Jak na to: Nakupovat hardware validátoru Ethereum](https://www.youtube.com/watch?v=C2wwu1IlhDc) – _EthStaker 2022_
-- [Tipy pro prevenci trestu Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50) – _Raul Jordan 2020 _
+- [Adresář stakování Etherea](https://www.staking.directory/) - _Eridian and Spacesider_
+- [Problém diverzity klientů Etherea](https://hackernoon.com/ethereums-client-diversity-problem) – _@emmanuelawosika 2022_
+- [Jak pomoci diverzitě klientů](https://www.attestant.io/posts/helping-client-diversity/) – _Jim McDonald 2022_
+- [Diverzita klientů na konsensuální vrstvě Etherea](https://mirror.xyz/jmcook.eth/S7ONEka_0RgtKTZ3-dakPmAHQNPvuj15nh0YGKPFriA) – _jmcook.eth 2022_
+- [Jak na to: Nákup hardwaru pro validátor Etherea](https://www.youtube.com/watch?v=C2wwu1IlhDc) – _EthStaker 2022_
+- [Tipy pro prevenci trestání na Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50) – _Raul Jordan 2020_
diff --git a/public/content/translations/cs/staking/withdrawals/index.md b/public/content/translations/cs/staking/withdrawals/index.md
index 6e1b3609e61..4bb91f93105 100644
--- a/public/content/translations/cs/staking/withdrawals/index.md
+++ b/public/content/translations/cs/staking/withdrawals/index.md
@@ -13,21 +13,17 @@ summaryPoints:
- Validátoři, kteří zcela ukončí vklady, obdrží zbývající zůstatek
---
-
-Výběry vkladů byly povoleny při upgradu Shanghai/Capella, ke kterému došlo 12. dubna 2023. Další informace o Šanghaji/Capelle
-
+**Výběry ze stakování** se rozumí převody ETH z účtu validátoru na konsensuální vrstvě Etherea (Beacon Chain) na exekuční vrstvu, kde s nimi lze provádět transakce.
-**Výběry vkladů** označují převody ETH z účtu validátoru na konsensuální vrstvě Etherea (Beacon Chain) do realizační vrstvy, kde s nimi lze provádět transakce.
+**Výplaty odměny za přebytečný zůstatek** nad 32 ETH budou automaticky a pravidelně zasílány na adresu pro výběr propojenou s každým validátorem, jakmile ji uživatel poskytne. Uživatelé mohou také **úplně ukončit stakování**, čímž si odemknou celý zůstatek validátora.
-**Výplaty odměny za přebytečný zůstatek** nad 32 ETH budou automaticky a pravidelně zasílány na adresu pro výběr propojenou s každým validátorem, jakmile ji poskytne uživatel. Uživatelé mohou také **úplně ukončit vklady** a odemknout tak svůj plný zůstatek na validátoru.
-
-## Vložení odměn {#staking-rewards}
+## Odměny ze stakování {#staking-rewards}
Platby odměn se automaticky zpracovávají pro aktivní účty validátorů s maximálním efektivním zůstatkem 32 ETH.
Jakýkoli zůstatek nad 32 ETH získaný prostřednictvím odměn ve skutečnosti nepřispívá k jistině ani nezvyšuje váhu tohoto validátoru v síti, a je tak automaticky vybrán jako výplata odměny každých několik dní. Kromě jednorázového poskytnutí adresy pro výběr nevyžadují tyto odměny žádnou akci ze strany operátora validátoru. To vše je zahájeno na konsensuální vrstvě, takže v žádném kroku není vyžadováno žádné palivo (transakční poplatek).
-### Jak jsme se sem dostali? {#how-did-we-get-here}
+### Jak jsme se sem dostali? Jak jsme se sem dostali? {#how-did-we-get-here}
Během několika posledních let Ethereum prošlo několika upgrady sítě a přešlo na síť zabezpečenou samotným ETH namísto energeticky náročné těžby, jak tomu bylo dříve. Účast na konsensu o Ethereu je nyní známá jako „staking“, protože účastníci dobrovolně zablokovali ETH, čímž je „v sázce“ možnost zapojit se do sítě. Uživatelé, kteří dodržují pravidla, budou odměněni, zatímco pokusy o podvádění mohou být penalizovány.
@@ -46,15 +42,14 @@ Poskytnutí adresy pro výběr je povinným krokem pro jakýkoli účet validát
-
- Každému účtu validátoru lze přiřadit pouze jednu adresu pro výběr, a to jednou. Jakmile je adresa vybrána a odeslána do konsensuální vrstvy, nelze to vrátit zpět ani znovu změnit. Před odesláním znovu zkontrolujte vlastnictví a správnost poskytnuté adresy.
+Každému účtu validátora lze přiřadit pouze jednu adresu pro výběr, a to pouze jednou. Jakmile je adresa vybrána a odeslána na konsensuální vrstvu, nelze to vrátit zpět ani změnit. Před odesláním znovu zkontrolujte vlastnictví a správnost poskytnuté adresy.
Pokud adresu mezitím neposkytnete, nehrozí vašim finančním prostředkům žádné ohrožení, za předpokladu, že vaše mnemotechnická pomůcka nebo fráze zůstala v bezpečí offline a nebyla žádným způsobem kompromitována. Nepřidání přihlašovacích údajů pro výběr jednoduše ponechá ETH uzamčené v účtu validátoru tak, jak bylo, dokud nebyla poskytnuta adresa pro výběr.
-## Úplné ukončení stakingu {#exiting-staking-entirely}
+## Úplné ukončení stakování {#exiting-staking-entirely}
Před převedením _jakýchkoli_ prostředků ze zůstatku účtu validátoru je vyžadováno zadání adresy pro výběr.
@@ -62,11 +57,11 @@ Uživatelé, kteří chtějí zcela ukončit vklady a vybrat zpět svůj celý z
Proces odchodu validátoru z vkládání trvá různě dlouhou dobu v závislosti na tom, kolik dalších současně odchází. Po dokončení tento účet již nebude odpovědný za plnění povinností sítě validátorů, nebude mít nárok na odměny a nebude již „v sázce“ jejich ETH. V tomto okamžiku bude účet označen jako plně „výběrný“.
-Jakmile je účet označen jako „výběrný“ a byly poskytnuty přihlašovací údaje pro výběr, uživatel nemusí kromě čekání dělat nic jiného. Navrhovatelé bloků automaticky a nepřetržitě odstraňují způsobilé vyřazené prostředky a zůstatek na vašem účtu bude převeden v plné výši (známé také jako „úplný výběr“) během příští kontroly.
+Jakmile je účet označen jako „výběrný“ a byly poskytnuty přihlašovací údaje pro výběr, uživatel nemusí kromě čekání dělat nic jiného. Navrhovatelé bloků automaticky a nepřetržitě procházejí účty kvůli prostředkům od ukončených validátorů, které jsou způsobilé k výběru. Váš zůstatek bude převeden v plné výši (známo jako „úplný výběr“) během dalšího procházení.
-## Kdy jsou povoleny výběry vkladů? {#when}
+## Kdy byly povoleny výběry ze stakování? {#when}
-Výběry vkladů jsou živé! Funkce výběru byla povolena v rámci upgradu Shanghai/Capella, ke kterému došlo 12. dubna 2023.
+Funkce výběru byla povolena v rámci upgradu Shanghai/Capella, ke kterému došlo **12. dubna 2023**.
Upgrade Shanghai/Capella umožnil získat dříve vložené ETH zpět na běžné účty Ethereum. Tím se uzavřela smyčka v nasazování likvidity a Ethereum se o krok přiblížilo na jeho cestě k vybudování udržitelného, škálovatelného a bezpečného decentralizovaného ekosystému.
@@ -77,13 +72,13 @@ Upgrade Shanghai/Capella umožnil získat dříve vložené ETH zpět na běžn
O tom, zda má daný validátor nárok na výběr či nikoli, rozhoduje stav samotného účtu validátoru. K určení, zda má být u účtu zahájen výběr či nikoli, není v žádném okamžiku potřeba žádný uživatelský vstup – celý proces probíhá automaticky konsensuální vrstvou v nepřetržité smyčce.
-### Učíte se spíše vizuálně? {#visual-learner}
+### Učíte se spíše vizuálně? Vizuální výuka {#visual-learner}
Podívejte se na toto vysvětlení výběrů z vkladů Ethereum od Finematics:
-### Kontrola validátorů {#validator-sweeping}
+### „Procházení“ validátorů {#validator-sweeping}
Když je naplánováno, že validátor navrhne další blok, je nutné sestavit frontu pro výběr až 16 způsobilých výběrů. To se provádí tak, že se původně začne s indexem validátoru 0, určí se, zda pro tento účet existuje způsobilý výběr podle pravidel protokolu, a pokud ano, přidá se do fronty. Validátor nastavený tak, aby navrhoval následující blok, bude pokračovat tam, kde skončil poslední, přičemž postupuje v pořadí neomezeně dlouho.
@@ -91,9 +86,9 @@ Když je naplánováno, že validátor navrhne další blok, je nutné sestavit
-Představte si analogové hodiny. Ručička na hodinách ukazuje na hodinu, postupuje jedním směrem, nepřeskakuje žádné hodiny a nakonec se po dosažení posledního čísla opět přetočí na začátek.
-Nyní si místo 1 až 12 představte, že hodiny mají 0 až N (celkový počet účtů validátorů, které kdy byly zaregistrovány na vrstvě konsensu, přes 500 000 k lednu 2023).
-Ručička na hodinách ukazuje na další validátor, u kterého je třeba zkontrolovat oprávněné výběry. Začíná na 0 a postupuje stále dokola, aniž by přeskakovala jakýkoli účet. Když je dosaženo posledního validátoru, cyklus pokračuje zpět na začátek.
+Představte si analogové hodiny. Ručička na hodinách ukazuje na hodinu, postupuje jedním směrem, nepřeskakuje žádné hodiny a nakonec se po dosažení posledního čísla opět vrátí na začátek.
+A teď si představte, že místo čísel 1 až 12 mají hodiny čísla od 0 do N (celkový počet účtů validátorů, které kdy byly zaregistrovány na konsensuální vrstvě, k lednu 2023 více než 500 000).
+Ručička na hodinách ukazuje na dalšího validátora, kterého je třeba zkontrolovat kvůli způsobilým výběrům. Začíná na 0 a postupuje stále dokola, aniž by přeskakovala jakýkoli účet. Když je dosaženo posledního validátoru, cyklus pokračuje zpět na začátek.
@@ -103,19 +98,19 @@ Ručička na hodinách ukazuje na další validátor, u kterého je třeba zkont
Zatímco navrhovatel prochází validátory ohledně možných výběrů, každý kontrolovaný validátor je hodnocen na základě krátké série otázek, aby se určilo, zda by měl být spuštěn výběr, a pokud ano, jaké množství ETH by mělo být odebráno.
1. **Byla zadána adresa pro výběr?** Pokud nebyla zadána žádná adresa pro výběr, účet bude přeskočen a výběr nebude zahájen.
-2. **Je validátor ukončen a lze jej vybrat?** Pokud validátor zcela skončil a my jsme dosáhli epochy, kdy je jejich účet považován za „výběrný“, dojde k úplnému výběru. Tím se celý zbývající zůstatek převede na adresu pro výběr.
-3. **Je efektivní zůstatek maximálních 32?** Pokud má účet přihlašovací údaje k výběru, není úplně ukončen a čekají odměny ve vyšším počtu než 32, bude zpracován částečný výběr, který převede pouze odměny nad 32 na adresu výběru uživatele.
+2. **Je validátor ukončen a je u něj možné provést výběr?** Pokud validátor zcela ukončil činnost a dosáhli jsme epochy, kdy je jeho účet považován za „způsobilý k výběru“, bude zpracován úplný výběr. Tím se celý zbývající zůstatek převede na adresu pro výběr.
+3. **Je efektivní zůstatek na maximu 32?** Pokud má účet pověření k výběru, není plně ukončen a čekají na něj odměny nad 32 ETH, bude zpracován částečný výběr, který převede pouze odměny nad 32 ETH na adresu pro výběr uživatele.
Operátoři validátoru v průběhu životního cyklu validátoru provádějí pouze dvě akce, které přímo ovlivňují tento tok:
- Poskytněte přihlašovací údaje pro výběr, abyste umožnili jakoukoli formu výběru.
- Opusťte síť, což způsobí úplný výběr.
-### Bez paliva {#gas-free}
+### Bez gasu {#gas-free}
-Tento přístup k výběrům vkladů zabraňuje tomu, aby satkeři museli ručně odeslat transakci požadující výběr konkrétní částky ETH. To znamená, že **není vyžadováno žádné palivo (transakční poplatek)** a výběry také nesoutěží o stávající blokový prostor prováděcí vrstvy.
+Tento přístup k výběrům vkladů zabraňuje tomu, aby satkeři museli ručně odeslat transakci požadující výběr konkrétní částky ETH. To znamená, že **není vyžadován žádný gas (transakční poplatek)**, a výběry také nesoutěží o stávající blokový prostor exekuční vrstvy.
-### Jak často dostanu odměny za vklady? {#how-soon}
+### Jak často dostanu odměny za vklady? Jak brzy? {#how-soon}
Maximální počet výběrů, které je možné zpracovat v jednom bloku. Při tomto tempu lze zpracovat 115 200 výběrů validátorů za den (za předpokladu, že nejsou žádné vynechané sloty). Jak je uvedeno výše, validátoři bez způsobilých výběrů budou přeskočeni, čímž se zkrátí čas na dokončení kontroly.
@@ -123,13 +118,13 @@ Po rozšíření tohoto výpočtu můžeme odhadnout dobu, kterou bude trvat zpr
-| Počet výběrů | Čas na dokončení |
-| :--------------------: | :---------------: |
-| 400 000 | 3,5 dne |
-| 500 000 | 4,3 dne |
-| 600 000 | 5,2 dne |
-| 700 000 | 6,1 dne |
-| 800 000 | 7,0 dnů |
+| Počet výběrů | Doba do dokončení |
+| :----------: | :---------------: |
+| 400 000 | 3,5 dne |
+| 500 000 | 4,3 dne |
+| 600 000 | 5,2 dne |
+| 700 000 | 6,1 dne |
+| 800 000 | 7 dní |
@@ -138,34 +133,32 @@ Jak vidíte, toto se zpomaluje, protože je v síti více validátorů. Nárůst
## Často kladené dotazy {#faq}
-Ne, proces poskytnutí přihlašovacích údajů pro výběr je jednorázový proces a nelze jej po odeslání změnit.
-
+Ne, proces poskytnutí pověření k výběru je jednorázový a po odeslání jej nelze změnit.
-Nastavením adresy pro stažení prováděcí vrstvy byly přihlašovací údaje pro tento validátor trvale změněny. To znamená, že staré přihlašovací údaje již nebudou fungovat a nové přihlašovací údaje budou přesměrovány na účet prováděcí vrstvy.
+Nastavením adresy pro výběr na exekuční vrstvě se trvale změní pověření k výběru pro daného validátora. To znamená, že staré přihlašovací údaje již nebudou fungovat a nové přihlašovací údaje budou přesměrovány na účet prováděcí vrstvy.
Adresy pro výběr mohou být buď chytrý kontrakt (řízený svým kódem), nebo externě vlastněný účet (EOA, řízený svým privátním klíčem). V současné době tyto účty nemají žádný způsob, jak předat zprávu zpět do konsensuální vrstvy, která by signalizovala změnu pověření validátoru, a přidání této funkce by přidalo zbytečné složitosti protokolu.
-Jako alternativu ke změně adresy pro výběr u konkrétního validátoru se uživatelé mohou rozhodnout nastavit jako adresu pro výběr chytrý kontrakt, který zvládne rotaci klíčů, jako je Trezor. Uživatelé, kteří nastaví své prostředky na vlastní EOA, mohou provést úplný odchod, aby mohli vybrat všechny své vložené prostředky, a poté znovu vložit pomocí nových pověření.
-
+Jako alternativu ke změně adresy pro výběr u konkrétního validátoru se uživatelé mohou rozhodnout nastavit jako adresu pro výběr chytrý kontrakt, který zvládne rotaci klíčů, jako je Trezor. Uživatelé, kteří nastaví své prostředky na vlastní EOA, mohou provést úplný odchod, aby mohli vybrat všechny své vložené prostředky, a poté znovu vložit pomocí nových pověření.
-Pokud jste součástí [vkladového fondu](/staking/pools/) nebo držíte vkladové tokeny, měli byste se u svého poskytovatele informovat o tom, jak se nakládá s výběry vkladů, protože každá služba funguje jinak.
+Pokud jste součástí [stakingového poolu](/staking/pools/) nebo držíte tokeny pro stakování, měli byste se u svého poskytovatele informovat, jakým způsobem jsou řešeny výběry ze stakování, protože každá služba funguje jinak.
-Obecně by uživatelé měli mít možnost získat zpět své základní vložené ETH nebo změnit poskytovatele vkladů, kterého využívají. Pokud je konkrétní fond příliš velký, lze prostředky opustit, uplatnit a znovu vložit u menšího poskytovatele. Nebo, pokud jste nashromáždili dostatek ETH, můžete [vložit z domova](/staking/solo/).
+Obecně by uživatelé měli mít možnost získat zpět své základní vložené ETH nebo změnit poskytovatele vkladů, kterého využívají. Pokud je konkrétní fond příliš velký, lze prostředky opustit, uplatnit a znovu vložit u menšího poskytovatele. Nebo, pokud jste nashromáždili dostatek ETH, můžete [stakovat z domova](/staking/solo/).
@@ -174,8 +167,7 @@ title="Probíhají výplaty odměn (částečné výběry) automaticky?"
eventCategory="FAQ"
eventAction="Do reward payments (partial withdrawals) happen automatically?"
eventName="read more">
-Ano, pokud váš validátor poskytl adresu pro výběr. Ta musí být poskytnuta jednou, aby bylo možné zpočátku provádět jakékoli výběry, poté budou platby odměn automaticky spuštěny každých několik dní s každým validátorem.
-
+Ano, pokud váš validátor poskytl adresu pro výběr. Ta musí být poskytnuta jednou, aby bylo možné zpočátku provádět jakékoli výběry, poté budou platby odměn automaticky spuštěny každých několik dní s každým validátorem.
-Výběry jsou navrženy tak, aby byly spouštěny automaticky a převáděly jakékoli ETH, které aktivně nepřispívají ke vkladu. To zahrnuje úplné zůstatky účtů, které dokončily proces ukončení.
+Výběry jsou navrženy tak, aby byly prováděny automaticky a převáděly jakékoli ETH, které aktivně nepřispívá ke stakování. To zahrnuje úplné zůstatky účtů, které dokončily proces ukončení.
-Není možné ručně vyžádat určité množství ETH k výběru.
-
+Není možné ručně vyžádat určité množství ETH k výběru.
Provozovatelům validátorů doporučujeme navštívit stránku Výběry z vkladového spouštěcího panelu, kde najdete další podrobnosti o přípravě validátoru na výběry, načasování událostí a další podrobnosti o fungování výběrů.
-Chcete-li své nastavení nejprve vyzkoušet na testovací síti, navštivte Holesky Testnet Staking Launchpad a začněte.
+Chcete-li své nastavení nejprve vyzkoušet na testnetu, navštivte Hoodi Testnet Staking Launchpad a začněte.
-Ne. Jakmile validátor skončí a vybere se jeho celý zůstatek, veškeré dodatečné prostředky vložené na tomto validátoru budou automaticky převedeny na adresu pro výběr během příští kontroly validátoru. Chcete-li znovu vložit ETH, musí být aktivován nový validátor.
-
+Ne. Jakmile validátor skončí a vybere se jeho celý zůstatek, veškeré dodatečné prostředky vložené na tomto validátoru budou automaticky převedeny na adresu pro výběr během příští kontroly validátoru. Chcete-li znovu vložit ETH, musí být aktivován nový validátor.
-## Další informace {#further-reading}
+## Další čtení {#further-reading}
-- [Výběry z vkladového spouštěcího panelu](https://launchpad.ethereum.org/withdrawals)
-- [EIP-4895: Řetězová vazba výběru jako operace](https://eips.ethereum.org/EIPS/eip-4895)
-- [PEEPanEIP #94: Výběr vložených ETH (testování) s Potuz & Hsiao-Wei Wang](https://www.youtube.com/watch?v=G8UstwmGtyE)
-- [PEEPanEIP#68: EIP-4895: Výběry pomocí řetězové vazby jako operace s Alexem Stokesem](https://www.youtube.com/watch?v=CcL9RJBljUs)
-- [Porozumění efektivnímu zůstatku validátoru](https://www.attestant.io/posts/understanding-validator-effective-balance/)
+- [Výběry na Staking Launchpad](https://launchpad.ethereum.org/withdrawals)
+- [EIP-4895: Beacon Chain – odesílané výběry jako operace](https://eips.ethereum.org/EIPS/eip-4895)
+- [PEEPanEIP #94: Výběr stakovaného ETH (testování) s Potuzem a Hsiao-Wei Wang](https://www.youtube.com/watch?v=G8UstwmGtyE)
+- [PEEPanEIP#68: EIP-4895: Beacon Chain – odesílané výběry jako operace s Alexem Stokesem](https://www.youtube.com/watch?v=CcL9RJBljUs)
+- [Vysvětlení efektivního zůstatku validátora](https://www.attestant.io/posts/understanding-validator-effective-balance/)
diff --git a/public/content/translations/cs/web3/index.md b/public/content/translations/cs/web3/index.md
index 3f112745e9b..8ad6e91d97d 100644
--- a/public/content/translations/cs/web3/index.md
+++ b/public/content/translations/cs/web3/index.md
@@ -6,9 +6,14 @@ lang: cs
# Úvod do Web3 {#introduction}
+
+
+
+
Byla to právě centralizace, co miliardám lidí pomohlo připojit se k World Wide Webu. Díky ní vznikla stabilní a robustní infrastruktura, na které web funguje. Zároveň má ale několik centralizovaných entit kontrolu nad velkými částmi World Wide Webu a jednostranně rozhoduje, co by mělo a nemělo být povoleno.
-Odpovědí na tuto dilema je Web3. Namísto monopolizace velkými technologickými společnostmi je Web3 postaven na principu decentralizace a je tvořen, provozován a vlastněn uživateli. Web3 přesunuje moc do rukou jednotlivců namísto korporací. Než začneme mluvit o Webu3, podíváme se na vývoj webové technologie.
+Odpovědí na tuto dilema je Web3. Namísto monopolizace velkými technologickými společnostmi je Web3 postaven na principu decentralizace a je tvořen, provozován a vlastněn uživateli. Web3 přesunuje moc do rukou jednotlivců namísto korporací.
+Než začneme mluvit o Webu3, podíváme se na vývoj webové technologie.
@@ -16,40 +21,40 @@ Odpovědí na tuto dilema je Web3. Namísto monopolizace velkými technologický
Většina lidí si myslí, že web je kontinuální inovací moderního života - byl vynalezen a od té doby existuje. Nicméně web, jak ho většina z nás zná dnes, je značně odlišný od původního vynálezu. Pro lepší pochopení této problematiky rozdělíme historii webu do dvou období - Web 1.0 a Web 2.0.
-### Web 1.0: Pouze pro konzumaci obsahu (1990 - 2004) {#web1}
+### Web 1.0: Pouze pro čtení (1990-2004) {#web1}
V roce 1989 pracoval Tim Berners-Lee v CERNu v Ženevě na vývoji protokolů, které se staly základem World Wide Webu. Jeho myšlenkou bylo vytvořit otevřené, decentralizované protokoly, které umožní sdílení informací odkudkoli na Zemi.
První verze Berners-Leeho vynálezu, nyní známého jako "Web 1.0", vznikala přibližně mezi lety 1990 a 2004. Web 1.0 tvořily především statické webové stránky vlastněné společnostmi, a téměř neexistovala interakce mezi uživateli - jednotlivci zřídka vytvářeli obsah - což vedlo k tomu, že ho dnes označujeme jako web určený pouze ke čtení.
-
+
-### Web 2.0: Konzumace a tvorba obsahu (2004 - dodnes) {#web2}
+### Web 2.0: Čtení a tvorba (2004–dodnes) {#web2}
Období Web 2.0 začalo v roce 2004 s nástupem sociálních sítí. Namísto stávajícího nastavení, které umožňovalo pouze konzumaci obsahu, se web vyvinul do podoby, kde je možné obsah konzumovat i vytvářet. Internetové společnosti začaly poskytovat platformy nejen pro sdílení obsahu uživatelů, ale také pro interakce mezi uživateli. S rostoucím množstvím online populace začala hrstka velkých společností ovládat nerovnoměrně velké množství aktivity a hodnoty na webu. V období Web 2.0 také vznikl model financování společností z reklamních příjmů. I když uživatelé mohou vytvářet obsah, nepatří jim a nedostávají žádné výhody z jeho monetizace.
-
+
-## Web 3.0: Konzumace a tvorba obsahu, zachování vlastnictví {#web3}
+## Web 3.0: Čtení, tvorba a vlastnictví {#web3}
-Koncepci "Webu 3.0" navrhl krátce po spuštění [Etherea](/what-is-ethereum/) v roce 2014 jeho spoluzakladatel Gavin Wood. Gavin popsal řešení problému, který pociťovalo mnoho raných uživatelů kryptoměn: Web vyžadoval přílišnou důvěru uživatelů. Jinými slovy, většina webových služeb, které uživatelé znají a používají, je v současné době provozována několika soukromými společnostmi. Uživatelům nezbývá než věřit, že budou jednat v nejlepším zájmu veřejnosti.
+Pojem „Web 3.0“ zavedl spoluzakladatel [Etherea](/what-is-ethereum/) Gavin Wood krátce po spuštění Etherea v roce 2014. Gavin popsal řešení problému, který pociťovalo mnoho raných uživatelů kryptoměn: Web vyžadoval přílišnou důvěru uživatelů. Jinými slovy, většina webových služeb, které uživatelé znají a používají, je v současné době provozována několika soukromými společnostmi. Uživatelům nezbývá než věřit, že budou jednat v nejlepším zájmu veřejnosti.
-
+
### Co je Web3? {#what-is-web3}
-Termín Web3 se stal obecným označením pro vizi nového a lepšího internetu. Ve své podstatě využívá Web3 blockchainové technologie, kryptoměny a NFT, díky kterým vrací kontrolu nad vlastnictvím obsahu do rukou uživatelů. [Tweet z roku 2020](https://twitter.com/himgajria/status/1266415636789334016) to vyjádřil nejlépe: Web1 sloužil pouze ke čtení, Web2 ke čtení a tvorbě obsahu, Web3 bude ke čtení, tvorbě a vlastnictví obsahu.
+Termín Web3 se stal obecným označením pro vizi nového a lepšího internetu. Ve své podstatě využívá Web3 blockchainové technologie, kryptoměny a NFT, díky kterým vrací kontrolu nad vlastnictvím obsahu do rukou uživatelů. [Příspěvek na Twitteru z roku 2020](https://twitter.com/himgajria/status/1266415636789334016) to vystihl nejlépe: Web1 byl pouze pro čtení, Web2 je pro čtení a tvorbu a Web3 bude pro čtení, tvorbu a vlastnictví.
-#### Klíčové myšlenky Web3 {#core-ideas}
+#### Základní myšlenky Web3 {#core-ideas}
I když je obtížné definovat Web3 jednou větou, můžeme definovat několik jeho základních principů.
-- **Web3 je decentralizovaný:** Namísto velkých částí sítě, které jsou ovládány centralizovanými subjekty, se vlastnictví dělí mezi tvůrce a uživatele Web3.
-- **Web3 je bez vstupních bariér:** Každý má stejný přístup k Web3 a nikomu nelze jeho používaní znemožnit.
-- **Web3 má vlastní platební systém:** Placení a převod peněz probíhá prostřednictvím kryptoměnové technologie namísto zastaralé bankovní infrastruktury.
-- **Web3 funguje na principu technologie namísto víry:** Hnacím pohonem jsou pobídky a ekonomické mechanismy, nikoliv důvěra v čisté úmysly třetí strany.
+- **Web3 je decentralizovaný:** namísto toho, aby velké části internetu ovládaly a vlastnily centralizované subjekty, je vlastnictví rozděleno mezi jeho tvůrce a uživatele.
+- **Web3 nevyžaduje oprávnění:** každý má rovný přístup k účasti na Web3 a nikdo není vyloučen.
+- **Web3 má nativní platby:** používá kryptoměny k útratám a posílání peněz online, namísto spoléhání se na zastaralou infrastrukturu bank a zpracovatelů plateb.
+- **Web3 nevyžaduje důvěru:** funguje pomocí pobídek a ekonomických mechanismů namísto spoléhání se na důvěryhodné třetí strany.
### Proč je Web3 důležitý? {#why-is-web3-important}
@@ -59,7 +64,7 @@ Ačkoliv klíčové rysy Web3 nejsou izolované a nedají se zařadit do pevnýc
Web3 vám umožňuje vlastnit vaše digitální aktiva dosud nevídaným způsobem. Představte si například, že hrajete hru na Web2. Pokud si v této hře zakoupíte nějaký předmět, je přímo spojen s vaším účtem. V případě, že tvůrci hry smažou váš účet, o všechny zakoupené předměty přijdete. Nebo pokud tuto hru přestanete hrát, přijdete o veškeré prostředky, které jste do herních předmětů vložili.
-Web3 umožňuje přímé vlastnictví prostřednictvím [nezaměnitelných tokenů (NFT)](/glossary/#nft). Nikdo, ani tvůrci hry, nemají moc vás vlastnictví zbavit. A pokud přestanete hrát, můžete své herní předměty prodat nebo vyměnit na veřejně přístupných tržištíích a získat tak zpět prostředky, které jste vynaložili na jejich pořízení.
+Web3 umožňuje přímé vlastnictví prostřednictvím [nezaměnitelných tokenů (NFT)](/glossary/#nft). Nikdo, ani tvůrci hry, nemají moc vás vlastnictví zbavit. A pokud přestanete hrát, můžete své herní předměty prodat nebo vyměnit na veřejně přístupných tržištíích a získat tak zpět prostředky, které jste vynaložili na jejich pořízení. Prozkoumejte [hraní na blockchainu](/gaming/) a uvidíte to v akci.
@@ -71,7 +76,7 @@ Web3 umožňuje přímé vlastnictví prostřednictvím [nezaměnitelných token
-#### Odolnost proti cenzuře {#censorship-resistance}
+#### Odolnost vůči cenzuře {#censorship-resistance}
Poměr síly mezi platformami a tvůrci obsahu je značně nevyvážený.
@@ -85,7 +90,7 @@ Web 2.0 vyžaduje, aby se tvůrci obsahu spoléhali na to, že se pravidla nezm
Kromě vlastnictví dat ve Web3 můžete vlastnit jako kolektiv i celou platformu a to díky použití tokenů, které fungují jako akcie ve společnosti. DAO vám umožňují spravovat decentralizované vlastnictví platformy a rozhodovat o její budoucnosti.
-DAO jsou technicky definovány jako [chytré kontrakty](/glossary/#smart-contract), které automatizují decentralizované rozhodování o zdrojích (tokenech). Uživatelé s tokeny hlasují o způsobu utracení těchto společných zdrojů, a kód automaticky provede výsledek hlasování.
+DAO jsou technicky definovány jako odsouhlasené [chytré kontrakty](/glossary/#smart-contract), které automatizují decentralizované rozhodování o fondu zdrojů (tokenů). Uživatelé s tokeny hlasují o způsobu utracení těchto společných zdrojů, a kód automaticky provede výsledek hlasování.
Lidé definují spoustu Web3 komunit jako DAO. Všechny tyto komunity mají různé úrovně decentralizace a automatizace v závislosti na kódu. V současné době jsme ve fázi výzkumu, co DAO jsou a jak by se mohly v budoucnu vyvíjet.
@@ -103,14 +108,15 @@ Lidé definují spoustu Web3 komunit jako DAO. Všechny tyto komunity mají růz
Běžně byste si vytvořili účet pro každou platformu, kterou používáte. Můžete mít například účet na Twitteru, na YouTube a na Redditu. Chcete změnit své jméno nebo profilovou fotku? Musíte to udělat v každém účtu zvlášť. V některých případech můžete použít přihlášení pomocí sociální sítě, ale to představuje známý problém – cenzuru. Jediným kliknutím vám tyto platformy mohou zamknout celý váš online život. Ještě horší je, že mnoho platforem vyžaduje, abyste jim poskytli informace, pomocí kterých vás mohou identifikovat jako osobu, abyste si mohli vůbec založit účet.
-Web3 řeší tyto problémy tím, že vám umožňuje ovládat vaši digitální identitu pomocí Ethereum adresy a [Ethereum Name Service (ENS)](/glossary/#ens) profilu. Použití ethereovské adresy umožňuje jednotné přihlášení napříč platformami, které je bezpečné, odolné proti cenzuře a anonymní.
+Web3 řeší tyto problémy tím, že vám umožňuje ovládat vaši digitální identitu pomocí adresy Ethereum a profilu [Ethereum Name Service (ENS)](/glossary/#ens). Použití ethereovské adresy umožňuje jednotné přihlášení napříč platformami, které je bezpečné, odolné proti cenzuře a anonymní.
### Nativní platby {#native-payments}
-Platební infrastruktura Web2 spoléhá na banky a další subjekty, přičemž lidé bez bankovních účtů nebo ti, kteří nežijí ve "správné" zemi, nemohou platit vůbec. Web3 používá tokeny jako [ETH](/glossary/#ether) k odesílání peněz přímo v prohlížeči a nevyžaduje žádnou třetí stranu, které byste museli důvěřovat.
+Platební infrastruktura Web2 spoléhá na banky a další subjekty, přičemž lidé bez bankovních účtů nebo ti, kteří nežijí ve "správné" zemi, nemohou platit vůbec.
+Web3 používá tokeny jako [ETH](/glossary/#ether) k posílání peněz přímo v prohlížeči a nevyžaduje žádnou důvěryhodnou třetí stranu.
- Více na ETH
+ Více o ETH
## Omezení Web3 {#web3-limitations}
@@ -119,17 +125,17 @@ Navzdory četným výhodám Web3 sxistuje v jeho současné podobě stále mnoho
### Přístupnost {#accessibility}
-Důležité funkce Web3, jako je přihlášení pomocí ethereovské adresy, jsou již k dispozici pro kohokoli a bez nákladů. Relativní náklady na transakce jsou však pro mnohé uživatele stále příliš vysoké. Kvůli vysokým transakčním poplatkům bude Web3 méně pravděpodobně využíván v méně bohatých nebo rozvojových zemích. Na Ethereu se tyto problémy řeší prostřednictvím [plánu postupu](/roadmap/) a [řešení škálování na vrstvě 2](/glossary/#layer-2). Technologicky jsme připraveni, ale potřebujeme vyšší zapojení uživatelů na 2. vrstvě, aby byl Web3 přístupný všem.
+Důležité funkce Web3, jako je přihlášení pomocí ethereovské adresy, jsou již k dispozici pro kohokoli a bez nákladů. Relativní náklady na transakce jsou však pro mnohé uživatele stále příliš vysoké. Kvůli vysokým transakčním poplatkům bude Web3 méně pravděpodobně využíván v méně bohatých nebo rozvojových zemích. Na Ethereu se tyto výzvy řeší prostřednictvím [plánu rozvoje](/roadmap/) a [řešení škálování na druhé vrstvě](/glossary/#layer-2). Technologicky jsme připraveni, ale potřebujeme vyšší zapojení uživatelů na 2. vrstvě, aby byl Web3 přístupný všem.
### Uživatelská zkušenost {#user-experience}
-Technické překážky vstupu do Web3 jsou v současnosti příliš vysoké. Uživatelé musí chápat bezpečnostní otázky, rozumět složité technické dokumentaci a orientovat se v neintuitivních uživatelských rozhraních. Na vyřešení tohoto problému pracují zejména [poskytovatelé peněženek](/wallets/find-wallet/), ale než se Web3 masově rošíří, bude zapotřebí většího pokroku.
+Technické překážky vstupu do Web3 jsou v současnosti příliš vysoké. Uživatelé musí chápat bezpečnostní otázky, rozumět složité technické dokumentaci a orientovat se v neintuitivních uživatelských rozhraních. [Poskytovatelé peněženek](/wallets/find-wallet/) na řešení tohoto problému pracují, ale než se Web3 masově rozšíří, bude zapotřebí většího pokroku.
### Vzdělávání {#education}
-Web3 zavádí nová paradigmata, která vyžadují učení se jiným mentálním modelům, než jaké se používají ve Web2.0. K podobnému vzdělávacímu přerodu došlo v době, kdy Web1.0 získával koncem 90. let na popularitě; zastánci World Wide Webu používali různé vzdělávací techniky, aby edukovali veřejnost, a to od jednoduchých metafor (informační dálnice, prohlížeče, surfování na webu) až po [televizní vysílání](https://www.youtube.com/watch?v=SzQLI7BxfYI). Web3 není složitý, ale je jiný. Vzdělávací iniciativy, které informují uživatele Web2 o paradigmatech Web3, jsou zásadní pro jeho úspěch.
+Web3 zavádí nová paradigmata, která vyžadují učení se jiným mentálním modelům, než jaké se používají ve Web2.0. Podobná snaha o vzdělávání proběhla, když na konci 90. let získával na popularitě Web1.0; zastánci World Wide Webu používali celou řadu vzdělávacích technik, aby vzdělávali veřejnost, od jednoduchých metafor (informační dálnice, prohlížeče, surfování po webu) až po [televizní vysílání](https://www.youtube.com/watch?v=SzQLI7BxfYI). Web3 není složitý, ale je jiný. Vzdělávací iniciativy, které informují uživatele Web2 o paradigmatech Web3, jsou zásadní pro jeho úspěch.
-Ethereum.org přispívá ke vzdělávání Web3 prostřednictvím našeho [Překladatelského programu](/contributing/translation-program/), jehož cílem je lokalizovat důležitý obsah Etherea do co nejvíce jazyků.
+Ethereum.org přispívá ke vzdělávání o Web3 prostřednictvím našeho [překladatelského programu](/contributing/translation-program/) s cílem přeložit důležitý obsah o Ethereu do co nejvíce jazyků.
### Centralizovaná infrastruktura {#centralized-infrastructure}
@@ -141,23 +147,23 @@ Web3 je nový ekosystém, který se neustále vyvíjí. Gavin Wood tento termín
Jsme teprve na začátku lepšího webu s pomocí Web3, ale díky neustávající práci na zlepšování infrastruktury je jasné, že budoucnost webu je růžová.
-## Jak se můžete zapojit {#get-involved}
+## Jak se zapojit {#get-involved}
-- [Vybrat peněženku](/wallets/)
-- [Najděte svoji komunitu](/community/)
-- [Prozkoumejte Web3 aplikace](/apps/)
+- [Pořiďte si peněženku](/wallets/)
+- [Najděte si komunitu](/community/)
+- [Prozkoumejte aplikace Web3](/apps/)
- [Připojte se k DAO](/dao/)
-- [Budujte na Web3](/developers/)
+- [Tvořte na Web3](/developers/)
-## Další četba {#further-reading}
+## Další čtení {#further-reading}
Web3 není pevně definován. Různí členové komunity mají na jeho definici odlišné pohledy. Zde je několik z nich:
- [Co je Web3? Vysvětlení decentralizovaného internetu budoucnosti](https://www.freecodecamp.org/news/what-is-web3) – _Nader Dabit_
-- [Jak dáváme Web3 smysl](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) – _Josh Stark_
-- [Proč na Web3 záleží](https://future.a16z.com/why-web3-matters/) — _Chris Dixon_
-- [Proč na decentralizaci záleží](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) - _Chris Dixon_
-- [Web3 ekosystém](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) – _a16z_
+- [Jak porozumět Webu 3](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) – _Josh Stark_
+- [Proč na Web3 záleží](https://a16zcrypto.com/posts/article/why-web3-matters/) – _Chris Dixon_
+- [Proč na decentralizaci záleží](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) – _Chris Dixon_
+- [Krajina Web3](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) – _a16z_
- [Debata o Web3](https://www.notboring.co/p/the-web3-debate) – _Packy McCormick_
diff --git a/public/content/translations/cs/what-are-apps/index.md b/public/content/translations/cs/what-are-apps/index.md
new file mode 100644
index 00000000000..2f5da60c4d5
--- /dev/null
+++ b/public/content/translations/cs/what-are-apps/index.md
@@ -0,0 +1,81 @@
+---
+title: Aplikace na Ethereu
+metaTitle: Aplikace Etherea | Decentralizované aplikace na Ethereu
+description: Aplikace na Ethereu jsou volně dostupné, globální a využívají veřejný blockchain namísto serverů soukromých společností. To znamená, že můžete používat stejný účet ve všech projektech a zároveň si zachovat své soukromí.
+lang: cs
+template: use-cases
+emoji: ":handshake:"
+sidebarDepth: 2
+showDropdown: false
+image: /images/doge-computer.png
+summary: Aplikace na Ethereu jsou volně dostupné, globální a využívají veřejný blockchain namísto serverů soukromých společností. To znamená, že můžete používat stejný účet ve všech projektech a zároveň si zachovat své soukromí.
+---
+
+## Aplikace s nadpřirozenými schopnostmi {#apps-with-superpowers}
+
+Ethereum aplikace mohou působit jako běžné aplikace. Ale na pozadí mají některé speciální vlastnosti.
+
+Jakmile je aplikace publikována na blockchainu Etherea, stává se nezastavitelnou. Je to proto, že síť Etherea je decentralizovaná mezi tisíce počítačů po celém světě. Nikdo nemůže aplikace běžící na Ethereu vypnout, protože neexistuje žádný centrální server, na který by bylo možné zaútočit. Ethereum je navíc neutrální, takže jej může používat kdokoli kdekoliv na světě, nebo se k němu připojit a stavět na něm své vlastní modifikace.
+
+## Co je dappka? {#what-is-a-dapp}
+
+Aplikace na Ethereu mají svou logiku spuštěnou na blockchainu Etherea namísto na centralizovaných serverech. Proto se jim často říká decentralizované aplikace neboli zkráceně dappky.
+
+
+
+
+
+
+
+## Proč je to důležité {#why-does-this-matter}
+
+Ethereum aplikace dokážou věci, které s tradičními aplikacemi prostě nejsou možné. Například půjčit peníze úplnému cizinci s jistotou, že dostanete své peníze zpět i s úroky. A to bez nutnosti platit „důvěryhodného“ prostředníka, jako je právník, aby transakci zajistil.
+
+Existují aplikace na všechno: hraní her, finance, práci, komunikaci, ukládání dat a mnoho dalšího. Ve většině aplikací nejste vystaveni reklamám ani omezováni restrikcemi přístupu.
+
+Vše, co potřebujete, abyste mohli začít používat jakoukoli Ethereum aplikaci, je peněženka na blockchainu Ethereu a trochu ETH.
+
+## Jak to funguje {#how-does-it-work}
+
+Aplikace fungují díky chytrým kontraktům — úsekům kódu, které běží na blockchainu Etherea. Na rozdíl od tradičních aplikací nepotřebují žádnou firmu, aby je provozovala.
+
+| Funkce | Tradiční aplikace | Ethereum aplikace |
+| -------------------------- | ---------------------------- | --------------------------- |
+| **Kdo je ovládá?** | Firma | Nikdo |
+| **Na čem běží** | Servery soukromé společnosti | Veřejný Ethereum blockchain |
+| **Může být cenzurována?** | Ano | Ne |
+| **Kdo vlastní vaše data?** | Většinou ne vy | Vy vlastníte svá data |
+
+
+
+
+
+
+
+
+
+## Ethereum aplikace jsou jako lego {#ethereum-apps-are-like-legos}
+
+Když jsou aplikace postavené na Ethereu, jsou navzájem kompatibilní. Token z jedné aplikace může fungovat i v úplně jiné. Je to jako kdybyste mohli zveřejnit tweety přímo na svou facebookovou zeď. Ve skutečnosti často můžete stejný profil používat v mnoha různých aplikacích na Ethereu, aniž byste se museli všude znovu registrovat.
+
+
+
+## Další čtení {#further-reading}
+
+- [Ethereum pro začátečníky](/what-is-ethereum)
+- [Co je to chytrý kontrakt?](/developers/docs/smart-contracts/)
+- [Technická dokumentace k dapps](/developers/docs/dapps/)
+
+## Často kladené dotazy {#faq}
+
+
+
Dappky znamená decentralizované aplikace. Jsou to aplikace postavené na blockchainových sítích, jako je Ethereum. Říká se jim decentralizované, protože samotná síť je decentralizovaná.
+
+
+
+
Některé aplikace vám umožňují obchodovat nebo nakupovat krypto tokeny, ale ne všechny aplikace slouží k tomuto účelu. Pokud si chcete koupit své první tokeny, navštivte stránku [Koupit ETH](/get-eth).
+
+
+
+
Krypto peněženka vám umožňuje držet tokeny a spravovat váš účet na Ethereu. Existuje mnoho skvělých peněženek, z nichž každá slouží jinému účelu. Abyste zjistili, která peněženka je pro vás nejlepší, navštivte náš [seznam peněženek](/wallets/find-wallet).
+
\ No newline at end of file
diff --git a/public/content/translations/cs/whitepaper/index.md b/public/content/translations/cs/whitepaper/index.md
new file mode 100644
index 00000000000..00e30f7f928
--- /dev/null
+++ b/public/content/translations/cs/whitepaper/index.md
@@ -0,0 +1,524 @@
+---
+title: Bílá kniha Ethereum
+description: Úvodní dokument platformy Ethereum, který byl zveřejněn v roce 2013 před jeho spuštěním.
+lang: cs
+sidebarDepth: 2
+hideEditButton: true
+---
+
+# Bílá kniha Etherea {#ethereum-whitepaper}
+
+_Tento úvodní dokument byl původně zveřejněn v roce 2014 Vitalikem Buterinem, zakladatelem [Etherea](/what-is-ethereum/), před zahájením projektu v roce 2015._ Stojí za zmínku, že Ethereum, stejně jako mnoho komunitně řízených, open-source softwarových projektů, se od svého počátku vyvíjelo._
+
+_I když je tento dokument několik let starý, udržujeme ho, protože nadále slouží jako užitečná reference a přesná reprezentace Etherea a jeho vize. _Chcete-li se dozvědět o nejnovějším vývoji Etherea a o tom, jak se provádějí změny protokolu, doporučujeme [tohoto průvodce](/learn/)._
+
+[Výzkumníci a akademici, kteří hledají historickou nebo kanonickou verzi bílé knihy [z prosince 2014], by měli použít toto PDF.](./whitepaper-pdf/Ethereum_Whitepaper_-_Buterin_2014.pdf)
+
+## Platforma nové generace pro chytré kontrakty a decentralizované aplikace {#a-next-generation-smart-contract-and-decentralized-application-platform}
+
+Vývoj Bitcoinu Satoshi Nakamotem v roce 2009 byl často oslavován jako radikální vývoj v oblasti peněz a měny, jelikož se jednalo o první příklad digitálního aktiva, které současně nemá žádné krytí ani „[vnitřní hodnotu](https://bitcoinmagazine.com/culture/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it)“ a žádného centralizovaného emitenta ani správce. Nicméně další, pravděpodobně důležitější součástí bitcoinového experimentu je základní blockchainová technologie jako nástroj distribuovaného konsensu a pozornost se rychle začíná přesouvat k tomuto dalšímu aspektu Bitcoinu. Mezi běžně uváděné alternativní aplikace blockchainové technologie patří používání digitálních aktiv na blockchainu k reprezentaci vlastních měn a finančních nástrojů („[barevné mince](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)“), vlastnictví podkladového fyzického zařízení („[chytrý majetek](https://en.bitcoin.it/wiki/Smart_Property)“), nezastupitelných aktiv, jako jsou názvy domén („[Namecoin](http://namecoin.org)“), a také složitější aplikace zahrnující přímé ovládání digitálních aktiv částí kódu implementující libovolná pravidla („[chytré kontrakty](http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html)“) nebo dokonce blockchainové „[decentralizované autonomní organizace](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)“ (DAO). Ethereum má v úmyslu poskytnout blockchain s vestavěným plnohodnotným Turing-úplným programovacím jazykem, který lze použít k vytváření „kontraktů“, jež lze použít ke kódování libovolných funkcí přechodu stavu, což uživatelům umožňuje vytvářet kterýkoli z výše popsaných systémů a mnoho dalších, které jsme si dosud ani nedokázali představit, a to jednoduše sepsáním logiky do několika řádků kódu.
+
+## Úvod do Bitcoinu a stávajících konceptů {#introduction-to-bitcoin-and-existing-concepts}
+
+### Historie {#history}
+
+Koncept decentralizované digitální měny a alternativních aplikací, jako jsou registry majetku, existuje již desítky let. Anonymní protokoly elektronické hotovosti z 80. a 90. let, které se většinou spoléhaly na kryptografickou primitivu známou jako Chaumian blinding, poskytovaly měnu s vysokým stupněm soukromí, ale protokoly se z velké části neprosadily kvůli své závislosti na centralizovaném zprostředkovateli. V roce 1998 se [b-money](http://www.weidai.com/bmoney.txt) od Wei Daie stal prvním návrhem, který představil myšlenku vytváření peněz řešením výpočetních hádanek a také decentralizovaným konsensem, ale návrh byl skoupý na podrobnosti o tom, jak by mohl být decentralizovaný konsensus skutečně implementován. V roce 2005 představil Hal Finney koncept „[opakovaně použitelných důkazů prací](https://nakamotoinstitute.org/finney/rpow/)“, systém, který využívá myšlenky z b-money spolu s výpočetně obtížnými hádankami Hashcash od Adama Backa k vytvoření konceptu kryptoměny, ale opět zaostal za ideálem tím, že se spoléhal na důvěryhodné výpočty jako backend. V roce 2009 byla decentralizovaná měna poprvé v praxi implementována Satoshim Nakamotem, který zkombinoval zavedené primitivy pro správu vlastnictví prostřednictvím kryptografie s veřejným klíčem s konsensuálním algoritmem pro sledování toho, kdo vlastní mince, známým jako „důkaz prací“.
+
+Mechanismus důkazu prací byl v tomto oboru průlomový, protože současně vyřešil dva problémy. Zaprvé, poskytl jednoduchý a středně účinný konsensuální algoritmus, který umožňuje uzlům v síti kolektivně se dohodnout na sadě kanonických aktualizací stavu bitcoinové účetní knihy. Zadruhé, poskytl mechanismus umožňující volný vstup do procesu konsensu, čímž vyřešil politický problém rozhodování o tom, kdo může konsensus ovlivnit, a zároveň zabránil Sybil útokům. Děje se tak nahrazením formální bariéry účasti, jako je požadavek na registraci jako jedinečná entita na určitém seznamu, ekonomickou bariérou – váha jednoho uzlu v procesu hlasování o konsensu je přímo úměrná výpočetnímu výkonu, který uzel přináší. Od té doby byl navržen alternativní přístup nazývaný _důkaz podílem_, který počítá váhu uzlu jako úměrnou jeho drženým měnám, a ne výpočetním zdrojům; diskuse o relativních výhodách obou přístupů je nad rámec tohoto dokumentu, ale je třeba poznamenat, že oba přístupy mohou být použity jako páteř kryptoměny.
+
+### Bitcoin jako systém přechodu stavu {#bitcoin-as-a-state-transition-system}
+
+
+
+Z technického hlediska lze na účetní knihu kryptoměny, jako je Bitcoin, pohlížet jako na systém přechodu stavu, kde existuje „stav“ sestávající ze stavu vlastnictví všech existujících bitcoinů a „funkce přechodu stavu“, která přijímá stav a transakci a vydává nový stav, který je výsledkem. Například ve standardním bankovním systému je stavem rozvaha, transakcí je požadavek na přesun X USD z A do B a funkce přechodu stavu snižuje hodnotu na účtu A o X USD a zvyšuje hodnotu na účtu B o X USD. Pokud má účet A na prvním místě méně než X USD, funkce přechodu stavu vrátí chybu. Lze tedy formálně definovat:
+
+```
+APPLY(S,TX) -> S' nebo ERROR
+```
+
+Ve výše definovaném bankovním systému:
+
+```js
+APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }
+```
+
+Ale:
+
+```js
+APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR
+```
+
+„Stav“ v Bitcoinu je soubor všech mincí (technicky „neutracené transakční výstupy“ neboli UTXO), které byly vyraženy a dosud neutraceny, přičemž každé UTXO má nominální hodnotu a vlastníka (definovaného 20bajtovou adresou, která je v podstatě kryptografickým veřejným klíčem[fn1](#notes)). Transakce obsahuje jeden nebo více vstupů, přičemž každý vstup obsahuje odkaz na existující UTXO a kryptografický podpis vytvořený soukromým klíčem spojeným s adresou vlastníka, a jeden nebo více výstupů, přičemž každý výstup obsahuje nové UTXO, které má být přidáno do stavu.
+
+Funkci přechodu stavu `APPLY(S,TX) -> S'` lze zhruba definovat takto:
+
+
+
+ Pro každý vstup v TX:
+
+
+ Pokud odkazované UTXO není v S, vrátí chybu.
+
+
+ Pokud poskytnutý podpis neodpovídá vlastníkovi UTXO, vrátí chybu.
+
+
+
+
+ Pokud je součet nominálních hodnot všech vstupních UTXO menší než součet nominálních hodnot všech výstupních UTXO, vrátí chybu.
+
+
+ Vrátí S se všemi odstraněnými vstupními UTXO a přidanými všemi výstupními UTXO.
+
+
+
+První polovina prvního kroku brání odesílatelům transakcí utrácet mince, které neexistují, druhá polovina prvního kroku brání odesílatelům transakcí utrácet mince jiných lidí a druhý krok vynucuje zachování hodnoty. Aby bylo možné toto použít k platbě, protokol je následující. Předpokládejme, že Alice chce poslat 11,7 BTC Bobovi. Nejprve Alice vyhledá sadu dostupných UTXO, které vlastní, v celkové výši alespoň 11,7 BTC. Reálně se Alici nepodaří získat přesně 11,7 BTC; řekněme, že nejmenší, co může získat, je 6+4+2=12. Poté vytvoří transakci s těmito třemi vstupy a dvěma výstupy. První výstup bude 11,7 BTC s Bobovou adresou jako vlastníkem a druhý výstup bude zbývajících 0,3 BTC „drobné“, jejichž vlastníkem bude sama Alice.
+
+### Těžba {#mining}
+
+
+
+Pokud bychom měli přístup k důvěryhodné centralizované službě, implementace tohoto systému by byla triviální; mohl by být jednoduše nakódován přesně tak, jak je popsáno, s použitím pevného disku centralizovaného serveru ke sledování stavu. S Bitcoinem se však snažíme vybudovat decentralizovaný měnový systém, takže budeme muset zkombinovat systém transakcí stavu s konsensuálním systémem, abychom zajistili, že se všichni shodnou na pořadí transakcí. Decentralizovaný proces konsensu Bitcoinu vyžaduje, aby se uzly v síti neustále pokoušely vytvářet balíčky transakcí nazývané „bloky“. Síť je navržena tak, aby produkovala zhruba jeden blok každých deset minut, přičemž každý blok obsahuje časové razítko, nonce, odkaz na (tj. haš) předchozí blok a seznam všech transakcí, které proběhly od předchozího bloku. Postupem času se tak vytváří trvalý, neustále se rozrůstající „blockchain“, který se neustále aktualizuje, aby představoval nejnovější stav bitcoinové účetní knihy.
+
+Algoritmus pro kontrolu platnosti bloku, vyjádřený v tomto paradigmatu, je následující:
+
+1. Zkontrolujte, zda předchozí blok, na který se blok odkazuje, existuje a je platný.
+2. Zkontrolujte, zda je časové razítko bloku větší než časové razítko předchozího bloku[fn2](#notes) a menší než 2 hodiny do budoucnosti.
+3. Zkontrolujte, zda je důkaz prací na bloku platný.
+4. Nechť `S[0]` je stav na konci předchozího bloku.
+5. Předpokládejme, že `TX` je seznam transakcí bloku s `n` transakcemi. Pro všechna `i` v `0...n-1`, nastavte `S[i+1] = APPLY(S[i],TX[i])`. Pokud jakákoli aplikace vrátí chybu, ukončete a vraťte false.
+6. Vraťte true a zaregistrujte `S[n]` jako stav na konci tohoto bloku.
+
+V podstatě každá transakce v bloku musí poskytnout platný přechod stavu z toho, co byl kanonický stav před provedením transakce, na nějaký nový stav. Všimněte si, že stav není v bloku nijak zakódován; je to čistě abstrakce, kterou si pamatuje ověřovací uzel a lze ji (bezpečně) vypočítat pro jakýkoli blok pouze tak, že se začne od stavu geneze a postupně se aplikuje každá transakce v každém bloku. Kromě toho si všimněte, že záleží na pořadí, v jakém těžař zahrnuje transakce do bloku; pokud jsou v bloku dvě transakce A a B takové, že B utratí UTXO vytvořené A, pak bude blok platný, pokud A přijde před B, ale ne jinak.
+
+Jedinou podmínkou platnosti uvedenou ve výše uvedeném seznamu, která se v jiných systémech nenachází, je požadavek na „důkaz prací“. Přesnou podmínkou je, že dvojitý haš SHA256 každého bloku, považovaný za 256bitové číslo, musí být menší než dynamicky upravený cíl, který je v době psaní tohoto článku přibližně 2187. Účelem je, aby bylo vytváření bloků výpočetně „obtížné“, což zabrání Sybil útočníkům v předělání celého blockchainu ve svůj prospěch. Protože SHA256 je navržen jako zcela nepředvídatelná pseudonáhodná funkce, jediným způsobem, jak vytvořit platný blok, je jednoduše metoda pokus-omyl, opakované zvyšování nonce a zjišťování, zda se nový haš shoduje.
+
+Při současném cíli ~2187 musí síť provést v průměru ~269 pokusů, než je nalezen platný blok; obecně je cíl rekalibrován sítí každých 2016 bloků, takže v průměru je nový blok vytvořen nějakým uzlem v síti každých deset minut. Aby byli těžaři za tuto výpočetní práci odměněni, je těžař každého bloku oprávněn zahrnout transakci, která mu z ničeho nic přidělí 25 BTC. Kromě toho, pokud má jakákoli transakce vyšší celkovou nominální hodnotu ve svých vstupech než ve svých výstupech, rozdíl také připadne těžaři jako „transakční poplatek“. Mimochodem, toto je také jediný mechanismus, kterým se vydávají BTC; stav geneze neobsahoval vůbec žádné mince.
+
+Abychom lépe porozuměli účelu těžby, podívejme se, co se stane v případě škodlivého útočníka. Protože základní kryptografie Bitcoinu je známá jako bezpečná, útočník se zaměří na tu část systému Bitcoinu, která není přímo chráněna kryptografií: pořadí transakcí. Strategie útočníka je jednoduchá:
+
+1. Pošlete 100 BTC obchodníkovi výměnou za nějaký produkt (nejlépe rychle dodávané digitální zboží).
+2. Počkejte na doručení produktu.
+3. Vytvořte další transakci, která pošle stejných 100 BTC sobě.
+4. Pokuste se přesvědčit síť, že jeho transakce k sobě samému byla ta, která přišla jako první.
+
+Jakmile proběhne krok (1), po několika minutách nějaký těžař zahrne transakci do bloku, řekněme bloku číslo 270000. Asi po hodině bude do řetězce za tento blok přidáno dalších pět bloků, přičemž každý z těchto bloků nepřímo odkazuje na transakci a tím ji „potvrzuje“. V tomto okamžiku obchodník přijme platbu jako dokončenou a doručí produkt; protože předpokládáme, že se jedná o digitální zboží, doručení je okamžité. Nyní útočník vytvoří další transakci, která posílá 100 BTC sobě. Pokud útočník transakci jednoduše vypustí do světa, nebude zpracována; těžaři se pokusí spustit `APPLY(S,TX)` a všimnou si, že `TX` spotřebovává UTXO, které již není ve stavu. Místo toho útočník vytvoří „větev“ blockchainu tím, že začne těžit další verzi bloku 270000 odkazující na stejný blok 269999 jako rodič, ale s novou transakcí na místě té staré. Protože jsou data bloku odlišná, vyžaduje to přepracování důkazu prací. Kromě toho má nová verze bloku 270000 od útočníka jiný haš, takže původní bloky 270001 až 270005 na ni „neukazují“; původní řetězec a nový řetězec útočníka jsou tedy zcela oddělené. Pravidlem je, že ve větvi je za pravdu považován nejdelší blockchain, a tak legitimní těžaři budou pracovat na řetězci 270005, zatímco útočník sám pracuje na řetězci 270000. Aby útočník učinil svůj blockchain nejdelším, musel by mít více výpočetního výkonu než zbytek sítě dohromady, aby je dohnal (odtud „51% útok“).
+
+### Merkleovy stromy {#merkle-trees}
+
+
+
+_Vlevo: stačí prezentovat pouze malý počet uzlů v Merkleově stromu, aby se poskytl důkaz o platnosti větve._
+
+_Vpravo: jakýkoli pokus o změnu jakékoli části Merkleova stromu nakonec povede k nekonzistenci někde výše v řetězci._
+
+Důležitou vlastností škálovatelnosti Bitcoinu je, že blok je uložen ve víceúrovňové datové struktuře. „Haš“ bloku je ve skutečnosti pouze haš hlavičky bloku, přibližně 200bajtový kus dat, který obsahuje časové razítko, nonce, haš předchozího bloku a kořenový haš datové struktury zvané Merkleův strom, která ukládá všechny transakce v bloku. Merkleův strom je typ binárního stromu, složený ze sady uzlů s velkým počtem listových uzlů na dně stromu obsahujících podkladová data, sady mezilehlých uzlů, kde každý uzel je hašem svých dvou potomků, a nakonec jednoho kořenového uzlu, také tvořeného hašem svých dvou potomků, představujícího „vrchol“ stromu. Účelem Merkleova stromu je umožnit, aby data v bloku byla doručována po částech: uzel si může stáhnout pouze hlavičku bloku z jednoho zdroje, malou část stromu, která je pro něj relevantní, z jiného zdroje a stále si být jistý, že všechna data jsou správná. Důvodem, proč to funguje, je, že se haše šíří nahoru: pokud se škodlivý uživatel pokusí zaměnit falešnou transakci na dně Merkleova stromu, tato změna způsobí změnu v uzlu nad ním a poté změnu v uzlu nad ním, což nakonec změní kořen stromu a tím i haš bloku, což způsobí, že jej protokol zaregistruje jako zcela odlišný blok (téměř jistě s neplatným důkazem prací).
+
+Protokol Merkleova stromu je pravděpodobně nezbytný pro dlouhodobou udržitelnost. „Plný uzel“ v síti Bitcoin, který ukládá a zpracovává celý obsah každého bloku, zabírá v síti Bitcoin k dubnu 2014 asi 15 GB diskového prostoru a roste o více než gigabajt za měsíc. V současné době je to životaschopné pro některé stolní počítače a ne pro telefony a později v budoucnu se budou moci účastnit pouze podniky a nadšenci. Protokol známý jako „zjednodušené ověření platby“ (SPV) umožňuje existenci další třídy uzlů, nazývaných „lehké uzly“, které stahují hlavičky bloků, ověřují důkaz prací na hlavičkách bloků a poté stahují pouze „větve“ spojené s transakcemi, které jsou pro ně relevantní. To umožňuje lehkým uzlům se silnou zárukou bezpečnosti určit stav jakékoli bitcoinové transakce a jejich aktuální zůstatek, zatímco stahují pouze velmi malou část celého blockchainu.
+
+### Alternativní blockchainové aplikace {#alternative-blockchain-applications}
+
+Myšlenka převzetí základní myšlenky blockchainu a její aplikace na jiné koncepty má také dlouhou historii. V roce 2005 přišel Nick Szabo s konceptem „[bezpečných vlastnických titulů s autoritou vlastníka](https://nakamotoinstitute.org/library/secure-property-titles/)“, dokumentem popisujícím, jak „nové pokroky v technologii replikovaných databází“ umožní vytvořit systém založený na blockchainu pro ukládání registru toho, kdo vlastní jakou půdu, a vytvořit tak propracovaný rámec zahrnující koncepty, jako je usedlost, vydržení a georgiánská daň z pozemků. Bohužel v té době nebyl k dispozici žádný účinný replikovaný databázový systém, a tak protokol nebyl nikdy v praxi implementován. Po roce 2009, jakmile byl vyvinut decentralizovaný konsensus Bitcoinu, se však rychle začaly objevovat řady alternativních aplikací.
+
+- **Namecoin** – vytvořený v roce 2010, [Namecoin](https://namecoin.org/) lze nejlépe popsat jako decentralizovanou databázi pro registraci jmen. V decentralizovaných protokolech jako Tor, Bitcoin a BitMessage musí existovat nějaký způsob identifikace účtů, aby s nimi mohli ostatní lidé interagovat, ale ve všech stávajících řešeních je jediným dostupným druhem identifikátoru pseudonáhodný haš jako `1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy`. V ideálním případě by si člověk přál mít účet se jménem jako „george“. Problémem však je, že pokud si jedna osoba může vytvořit účet s názvem „george“, pak někdo jiný může použít stejný postup k registraci „george“ pro sebe a vydávat se za ni. Jediným řešením je paradigma „kdo dřív přijde, ten dřív mele“, kde první registrátor uspěje a druhý selže – problém dokonale vhodný pro konsensuální protokol Bitcoinu. Namecoin je nejstarší a nejúspěšnější implementací systému registrace jmen využívajícího takovou myšlenku.
+- **Barevné mince** – účelem [barevných mincí](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit) je sloužit jako protokol, který lidem umožňuje vytvářet si vlastní digitální měny – nebo, v důležitém triviálním případě měny s jednou jednotkou, digitální tokeny na bitcoinovém blockchainu. V protokolu barevných mincí se „vydává“ nová měna veřejným přiřazením barvy konkrétnímu bitcoinovému UTXO a protokol rekurzivně definuje barvu ostatních UTXO tak, aby byla stejná jako barva vstupů, které transakce, jež je vytvořila, utratila (v případě vstupů se smíšenými barvami platí některá zvláštní pravidla). To umožňuje uživatelům udržovat peněženky obsahující pouze UTXO určité barvy a posílat je podobně jako běžné bitcoiny, přičemž zpětně procházejí blockchainem, aby určili barvu jakéhokoli UTXO, které obdrží.
+- **Metacoiny** – myšlenkou metacoinu je mít protokol, který žije nad Bitcoinem, používá bitcoinové transakce k ukládání transakcí metacoinů, ale má jinou funkci přechodu stavu, `APPLY'`. Protože protokol metacoinů nemůže zabránit tomu, aby se v bitcoinovém blockchainu objevovaly neplatné transakce metacoinů, je přidáno pravidlo, že pokud `APPLY'(S,TX)` vrátí chybu, protokol se ve výchozím nastavení vrátí k `APPLY'(S,TX) = S`. To poskytuje snadný mechanismus pro vytvoření libovolného protokolu kryptoměny, potenciálně s pokročilými funkcemi, které nelze implementovat uvnitř samotného Bitcoinu, ale s velmi nízkými náklady na vývoj, protože složitosti těžby a sítí jsou již řešeny protokolem Bitcoinu. Metacoiny byly použity k implementaci některých tříd finančních kontraktů, registrace jmen a decentralizované směny.
+
+Obecně tedy existují dva přístupy k budování konsensuálního protokolu: vybudování nezávislé sítě a vybudování protokolu nad Bitcoinem. První přístup, i když je v případě aplikací jako Namecoin poměrně úspěšný, je obtížné implementovat; každá jednotlivá implementace potřebuje nabootstrapovat nezávislý blockchain, stejně jako vybudovat a otestovat veškerý nezbytný kód pro přechod stavu a síťování. Kromě toho předpovídáme, že sada aplikací pro technologii decentralizovaného konsensu bude následovat rozdělení mocninného zákona, kde by drtivá většina aplikací byla příliš malá na to, aby si zasloužila vlastní blockchain, a poznamenáváme, že existují velké třídy decentralizovaných aplikací, zejména decentralizované autonomní organizace, které spolu musí interagovat.
+
+Přístup založený na Bitcoinu má na druhou stranu tu chybu, že nedědí funkce zjednodušeného ověření platby Bitcoinu. SPV funguje pro Bitcoin, protože může použít hloubku blockchainu jako zástupce pro platnost; v určitém okamžiku, jakmile předkové transakce sahají dostatečně daleko do minulosti, lze s jistotou říci, že byli legitimní součástí stavu. Meta-protokoly založené na blockchainu na druhou stranu nemohou donutit blockchain, aby nezahrnoval transakce, které nejsou platné v kontextu jejich vlastních protokolů. Proto by plně bezpečná implementace SPV meta-protokolu musela zpětně prohledat celý bitcoinový blockchain až na začátek, aby se zjistilo, zda jsou určité transakce platné. V současné době se všechny „lehké“ implementace meta-protokolů založených na Bitcoinu spoléhají na důvěryhodný server, který poskytuje data, což je pravděpodobně vysoce suboptimální výsledek, zejména když jedním z hlavních účelů kryptoměny je eliminovat potřebu důvěry.
+
+### Skriptování {#scripting}
+
+I bez jakýchkoli rozšíření bitcoinový protokol ve skutečnosti umožňuje slabou verzi konceptu „chytrých kontraktů“. UTXO v Bitcoinu mohou být vlastněny nejen veřejným klíčem, ale také složitějším skriptem vyjádřeným v jednoduchém programovacím jazyce založeném na zásobníku. V tomto paradigmatu musí transakce utrácející toto UTXO poskytnout data, která vyhovují skriptu. Dokonce i základní mechanismus vlastnictví veřejného klíče je implementován prostřednictvím skriptu: skript přijímá jako vstup podpis eliptické křivky, ověřuje jej proti transakci a adrese, která vlastní UTXO, a vrací 1, pokud je ověření úspěšné, a 0 jinak. Existují i další, složitější skripty pro různé další případy použití. Například lze sestavit skript, který k ověření vyžaduje podpisy od dvou z daných tří soukromých klíčů („multisig“), což je nastavení užitečné pro firemní účty, zabezpečené spořicí účty a některé situace úschovy u obchodníka. Skripty lze také použít k placení odměn za řešení výpočetních problémů a lze dokonce sestavit skript, který říká něco jako „toto bitcoinové UTXO je vaše, pokud můžete poskytnout SPV důkaz, že jste mi poslali transakci Dogecoinu této nominální hodnoty“, což v podstatě umožňuje decentralizovanou směnu mezi kryptoměnami.
+
+Skriptovací jazyk implementovaný v Bitcoinu má však několik důležitých omezení:
+
+- **Nedostatek Turingovy úplnosti** – to znamená, že i když existuje velká podmnožina výpočtů, které skriptovací jazyk Bitcoinu podporuje, zdaleka nepodporuje vše. Hlavní chybějící kategorií jsou smyčky. Děje se tak, aby se zabránilo nekonečným smyčkám během ověřování transakcí; teoreticky je to pro programátory skriptů překonatelná překážka, protože jakoukoli smyčku lze simulovat jednoduchým opakováním podkladového kódu mnohokrát s příkazem if, ale vede to ke skriptům, které jsou velmi prostorově neefektivní. Například implementace alternativního algoritmu podpisu eliptické křivky by pravděpodobně vyžadovala 256 opakovaných kol násobení, všechna jednotlivě zahrnutá v kódu.
+- **Slepota vůči hodnotě** – neexistuje způsob, jak by skript UTXO poskytoval jemnozrnnou kontrolu nad částkou, kterou lze vybrat. Například jedním z mocných případů použití orákulového kontraktu by byl zajišťovací kontrakt, kde A a B vloží BTC v hodnotě 1000 USD a po 30 dnech skript pošle BTC v hodnotě 1000 USD straně A a zbytek straně B. To by vyžadovalo orákulum, aby určilo hodnotu 1 BTC v USD, ale i tak je to obrovské zlepšení z hlediska požadavků na důvěru a infrastrukturu oproti plně centralizovaným řešením, která jsou nyní k dispozici. Jelikož jsou však UTXO typu „všechno nebo nic“, jediným způsobem, jak toho dosáhnout, je velmi neefektivní hack spočívající v tom, že máme mnoho UTXO různých nominálních hodnot (např. jedno UTXO 2k pro každé k až do 30) a orákulum vybírá, které UTXO pošle A a které B.
+- **Nedostatek stavu** – UTXO mohou být buď utracené, nebo neutracené; neexistuje příležitost pro vícestupňové kontrakty nebo skripty, které by si uchovávaly jakýkoli jiný vnitřní stav nad rámec toho. To ztěžuje vytváření vícestupňových opčních kontraktů, nabídek decentralizované směny nebo dvoustupňových kryptografických závazkových protokolů (nezbytných pro bezpečné výpočetní odměny). Znamená to také, že UTXO lze použít pouze k vytváření jednoduchých, jednorázových kontraktů a ne složitějších „stavových“ kontraktů, jako jsou decentralizované organizace, a ztěžuje implementaci meta-protokolů. Binární stav v kombinaci se slepotou vůči hodnotě také znamená, že další důležitá aplikace, limity pro výběr, je nemožná.
+- **Slepota vůči blockchainu** – UTXO jsou slepé vůči datům blockchainu, jako je nonce, časové razítko a haš předchozího bloku. To výrazně omezuje aplikace v hazardních hrách a několika dalších kategoriích tím, že zbavuje skriptovací jazyk potenciálně cenného zdroje náhodnosti.
+
+Vidíme tedy tři přístupy k budování pokročilých aplikací nad kryptoměnou: vybudování nového blockchainu, použití skriptování nad Bitcoinem a vybudování meta-protokolu nad Bitcoinem. Budování nového blockchainu umožňuje neomezenou svobodu při budování sady funkcí, ale za cenu času na vývoj, úsilí o bootstrapování a bezpečnosti. Použití skriptování je snadné implementovat a standardizovat, ale je velmi omezené ve svých schopnostech, a meta-protokoly, i když snadné, trpí chybami ve škálovatelnosti. S Ethereem máme v úmyslu vybudovat alternativní rámec, který poskytuje ještě větší zisky ve snadnosti vývoje a také ještě silnější vlastnosti lehkého klienta, a zároveň umožňuje aplikacím sdílet ekonomické prostředí a bezpečnost blockchainu.
+
+## Ethereum {#ethereum}
+
+Záměrem Etherea je vytvořit alternativní protokol pro budování decentralizovaných aplikací, který poskytuje jinou sadu kompromisů, o kterých se domníváme, že budou velmi užitečné pro velkou třídu decentralizovaných aplikací, se zvláštním důrazem na situace, kde je důležitá rychlá doba vývoje, bezpečnost pro malé a zřídka používané aplikace a schopnost různých aplikací velmi efektivně interagovat. Ethereum to dělá tím, že buduje to, co je v podstatě ultimátní abstraktní základní vrstva: blockchain s vestavěným Turing-úplným programovacím jazykem, který umožňuje komukoli psát chytré kontrakty a decentralizované aplikace, kde si mohou vytvářet vlastní libovolná pravidla pro vlastnictví, formáty transakcí a funkce přechodu stavu. Základní verze Namecoinu může být napsána ve dvou řádcích kódu a další protokoly, jako jsou měny a reputační systémy, mohou být vytvořeny za méně než dvacet. Chytré kontrakty, kryptografické „schránky“, které obsahují hodnotu a odemknou ji pouze v případě splnění určitých podmínek, lze také postavit na této platformě, s mnohem větší mocí než nabízí skriptování Bitcoinu, a to díky přidaným schopnostem Turingovy úplnosti, povědomí o hodnotě, povědomí o blockchainu a stavu.
+
+### Účty Etherea {#ethereum-accounts}
+
+V Ethereu je stav tvořen objekty zvanými „účty“, přičemž každý účet má 20bajtovou adresu a přechody stavu jsou přímé převody hodnoty a informací mezi účty. Účet Etherea obsahuje čtyři pole:
+
+- **Nonce**, čítač používaný k zajištění, že každá transakce může být zpracována pouze jednou.
+- Aktuální **zůstatek etheru** na účtu.
+- **Kód kontraktu** účtu, pokud existuje.
+- **Úložiště** účtu (ve výchozím nastavení prázdné).
+
+„Ether“ je hlavní interní krypto-palivo Etherea a používá se k placení transakčních poplatků. Obecně existují dva typy účtů: **externě vlastněné účty**, ovládané soukromými klíči, a **kontraktní účty**, ovládané jejich kódem kontraktu. Externě vlastněný účet nemá žádný kód a z externě vlastněného účtu lze posílat zprávy vytvořením a podepsáním transakce; v kontraktním účtu se při každém přijetí zprávy aktivuje jeho kód, což mu umožňuje číst a zapisovat do interního úložiště a posílat další zprávy nebo naopak vytvářet kontrakty.
+
+Všimněte si, že „kontrakty“ v Ethereu by neměly být vnímány jako něco, co by se mělo „plnit“ nebo „dodržovat“; spíše se podobají „autonomním agentům“, kteří žijí uvnitř exekučního prostředí Etherea, vždy provádějí specifický kus kódu, když jsou „pošťouchnuti“ zprávou nebo transakcí, a mají přímou kontrolu nad svým vlastním zůstatkem etheru a svým vlastním úložištěm klíč/hodnota pro sledování trvalých proměnných.
+
+### Zprávy a transakce {#messages-and-transactions}
+
+Termín „transakce“ se v Ethereu používá k označení podepsaného datového balíčku, který ukládá zprávu, která má být odeslána z externě vlastněného účtu. Transakce obsahují:
+
+- Příjemce zprávy
+- Podpis identifikující odesílatele
+- Množství etheru k převodu od odesílatele k příjemci
+- Volitelné datové pole
+- Hodnota `STARTGAS`, představující maximální počet výpočetních kroků, které může exekuce transakce provést.
+- Hodnota `GASPRICE`, představující poplatek, který odesílatel platí za výpočetní krok.
+
+První tři jsou standardní pole očekávaná v jakékoli kryptoměně. Datové pole nemá ve výchozím nastavení žádnou funkci, ale virtuální stroj má operační kód, pomocí kterého může kontrakt přistupovat k datům; jako příklad použití, pokud kontrakt funguje jako služba registrace domén na blockchainu, pak si může přát interpretovat data, která mu jsou předávána, jako obsahující dvě „pole“, první pole je doména k registraci a druhé pole je IP adresa, na kterou se má zaregistrovat. Kontrakt by si přečetl tyto hodnoty z dat zprávy a vhodně je umístil do úložiště.
+
+Pole `STARTGAS` a `GASPRICE` jsou klíčová pro model Etherea proti útokům odepření služby. Aby se zabránilo náhodným nebo nepřátelským nekonečným smyčkám nebo jinému plýtvání výpočetními prostředky v kódu, musí každá transakce nastavit limit, kolik výpočetních kroků exekuce kódu může použít. Základní jednotkou výpočtu je „palivo“; obvykle stojí výpočetní krok 1 jednotku paliva, ale některé operace stojí vyšší množství paliva, protože jsou výpočetně náročnější nebo zvyšují množství dat, která musí být uložena jako součást stavu. Za každý bajt v datech transakce se také účtuje poplatek 5 jednotek paliva. Záměrem systému poplatků je vyžadovat od útočníka, aby platil úměrně za každý zdroj, který spotřebuje, včetně výpočtů, šířky pásma a úložiště; proto každá transakce, která vede k tomu, že síť spotřebuje větší množství kteréhokoli z těchto zdrojů, musí mít poplatek za palivo zhruba úměrný přírůstku.
+
+### Zprávy {#messages}
+
+Kontrakty mají schopnost posílat „zprávy“ jiným kontraktům. Zprávy jsou virtuální objekty, které se nikdy neserializují a existují pouze v exekučním prostředí Etherea. Zpráva obsahuje:
+
+- Odesílatel zprávy (implicitní)
+- Příjemce zprávy
+- Množství etheru k převodu spolu se zprávou
+- Volitelné datové pole
+- Hodnota `STARTGAS`
+
+V podstatě je zpráva jako transakce, s tím rozdílem, že je vytvořena kontraktem a ne externím aktérem. Zpráva se vytvoří, když kontrakt, který právě provádí kód, provede operační kód `CALL`, který vytvoří a provede zprávu. Stejně jako transakce vede zpráva k tomu, že účet příjemce spustí svůj kód. Kontrakty tedy mohou mít vztahy s jinými kontrakty přesně stejným způsobem jako externí aktéři.
+
+Všimněte si, že povolené množství paliva přiřazené transakcí nebo kontraktem se vztahuje na celkové množství paliva spotřebované danou transakcí a všemi dílčími exekucemi. Například, pokud externí aktér A pošle transakci B s 1000 jednotkami paliva, a B spotřebuje 600 jednotek paliva před odesláním zprávy C, a interní exekuce C spotřebuje 300 jednotek paliva před návratem, pak B může utratit dalších 100 jednotek paliva, než mu palivo dojde.
+
+### Funkce přechodu stavu Etherea {#ethereum-state-transition-function}
+
+
+
+Funkci přechodu stavu Etherea, `APPLY(S,TX) -> S'`, lze definovat takto:
+
+1. Zkontrolujte, zda je transakce dobře zformovaná (tj. má správný počet hodnot), podpis je platný a nonce se shoduje s nonce v účtu odesílatele. Pokud ne, vrátí chybu.
+2. Vypočítejte transakční poplatek jako `STARTGAS * GASPRICE` a z podpisu určete odesílající adresu. Odečtěte poplatek ze zůstatku účtu odesílatele a zvyšte nonce odesílatele. Pokud není dostatečný zůstatek k útratě, vrátí chybu.
+3. Inicializujte `GAS = STARTGAS` a odeberte určité množství paliva za bajt na zaplacení bajtů v transakci.
+4. Převeďte hodnotu transakce z účtu odesílatele na účet příjemce. Pokud přijímající účet ještě neexistuje, vytvořte jej. Pokud je přijímající účet kontrakt, spusťte kód kontraktu buď do dokončení, nebo dokud exekuci nedojde palivo.
+5. Pokud se převod hodnoty nezdařil, protože odesílatel neměl dostatek peněz, nebo exekuci kódu došlo palivo, vraťte všechny změny stavu s výjimkou platby poplatků a přidejte poplatky na účet těžaře.
+6. V opačném případě vraťte poplatky za veškeré zbývající palivo odesílateli a pošlete poplatky zaplacené za spotřebované palivo těžaři.
+
+Předpokládejme například, že kód kontraktu je:
+
+```py
+if !self.storage[calldataload(0)]:
+ self.storage[calldataload(0)] = calldataload(32)
+```
+
+Všimněte si, že ve skutečnosti je kód kontraktu napsán v nízkoúrovňovém kódu EVM; tento příklad je pro přehlednost napsán v Serpentu, jednom z našich vysokoúrovňových jazyků, a lze jej zkompilovat do kódu EVM. Předpokládejme, že úložiště kontraktu je na začátku prázdné a je odeslána transakce s hodnotou 10 etherů, 2000 jednotek paliva, cenou paliva 0,001 etheru a 64 bajty dat, přičemž bajty 0-31 představují číslo `2` a bajty 32-63 představují řetězec `CHARLIE`. Proces funkce přechodu stavu v tomto případě je následující:
+
+1. Zkontrolujte, zda je transakce platná a dobře formátovaná.
+2. Zkontrolujte, zda má odesílatel transakce alespoň 2000 \* 0,001 = 2 ethery. Pokud ano, odečtěte 2 ethery z účtu odesílatele.
+3. Inicializujte palivo = 2000; za předpokladu, že transakce je 170 bajtů dlouhá a poplatek za bajt je 5, odečtěte 850, takže zbývá 1150 jednotek paliva.
+4. Odečtěte dalších 10 etherů z účtu odesílatele a přidejte je na účet kontraktu.
+5. Spusťte kód. V tomto případě je to jednoduché: zkontroluje, zda je použito úložiště kontraktu na indexu `2`, všimne si, že není, a tak nastaví úložiště na indexu `2` na hodnotu `CHARLIE`. Předpokládejme, že to zabere 187 jednotek paliva, takže zbývající množství paliva je 1150 - 187 = 963.
+6. Přidejte 963 \* 0,001 = 0,963 etheru zpět na účet odesílatele a vraťte výsledný stav.
+
+Pokud by na přijímajícím konci transakce nebyl žádný kontrakt, pak by celkový transakční poplatek byl jednoduše roven poskytnuté ceně `GASPRICE` vynásobené délkou transakce v bajtech a data odeslaná spolu s transakcí by byla irelevantní.
+
+Všimněte si, že zprávy fungují ekvivalentně transakcím, pokud jde o vrácení změn: pokud exekuci zprávy dojde palivo, pak se exekuce této zprávy a všechny ostatní exekuce spuštěné touto exekucí vrátí, ale rodičovské exekuce se vracet nemusí. To znamená, že je „bezpečné“, aby kontrakt volal jiný kontrakt, protože pokud A volá B s G jednotkami paliva, pak exekuce A zaručeně ztratí maximálně G jednotek paliva. Nakonec si všimněte, že existuje operační kód `CREATE`, který vytváří kontrakt; jeho exekuční mechanika je obecně podobná `CALL`, s výjimkou, že výstup exekuce určuje kód nově vytvořeného kontraktu.
+
+### Exekuce kódu {#code-execution}
+
+Kód v kontraktech Etherea je napsán v nízkoúrovňovém, zásobníkovém bajtkódovém jazyce, označovaném jako „kód virtuálního stroje Etherea“ nebo „kód EVM“. Kód se skládá z řady bajtů, kde každý bajt představuje operaci. Obecně platí, že exekuce kódu je nekonečná smyčka, která spočívá v opakovaném provádění operace na aktuálním programovém čítači (který začíná na nule) a následném zvýšení programového čítače o jedna, dokud není dosaženo konce kódu nebo není detekována chyba nebo instrukce `STOP` či `RETURN`. Operace mají přístup ke třem typům prostoru pro ukládání dat:
+
+- **Zásobník**, kontejner typu „poslední dovnitř, první ven“, do kterého lze hodnoty vkládat a odebírat.
+- **Paměť**, nekonečně rozšiřitelné pole bajtů.
+- Dlouhodobé **úložiště** kontraktu, úložiště klíč/hodnota. Na rozdíl od zásobníku a paměti, které se po skončení výpočtu resetují, úložiště přetrvává dlouhodobě.
+
+Kód může také přistupovat k hodnotě, odesílateli a datům příchozí zprávy, stejně jako k datům hlavičky bloku, a kód může také vrátit pole bajtů dat jako výstup.
+
+Formální model provádění EVM kódu je překvapivě jednoduchý. Během chodu Ethereum Virtual Machine (EVM) může být jeho úplný výpočetní stav definován n-ticí `(block_state, transaction, message, code, memory, stack, pc, gas)`, kde `block_state` je globální stav obsahující všechny účty a zahrnující jejich zůstatky a úložiště. Na začátku každého kola provádění je aktuální instrukce nalezena tak, že se vezme `pc`-tý bajt `kódu` (nebo 0, pokud `pc >= len(code)`), a každá instrukce má svou vlastní definici z hlediska toho, jak ovlivňuje danou n-tici. Například `ADD` sejme dvě položky ze zásobníku a vloží jejich součet, sníží `palivo` o 1, navýší `pc` o 1 a `SSTORE` sejme dvě vrchní položky ze zásobníku a vloží druhou položku do úložiště kontraktu na index určený první položkou. Ačkoliv existuje mnoho způsobů, jak optimalizovat provádění Ethereum Virtual Machine (EVM) pomocí kompilace just-in-time, základní implementace Etherea může být napsána na několika stech řádcích kódu.
+
+### Blockchain a těžba {#blockchain-and-mining}
+
+
+
+Blockchain Etherea je v mnoha ohledech podobný blockchainu Bitcoinu, ačkoli má některé rozdíly. Hlavním rozdílem mezi Ethereem a Bitcoinem s ohledem na architekturu blockchainu je, že na rozdíl od Bitcoinu obsahují bloky Etherea kopii seznamu transakcí i nejnovějšího stavu. Kromě toho jsou v bloku uloženy také dvě další hodnoty, číslo bloku a obtížnost. Základní algoritmus validace bloku v Ethereu je následující:
+
+1. Zkontrolujte, zda odkazovaný předchozí blok existuje a je platný.
+2. Zkontrolujte, zda je časové razítko bloku větší než časové razítko odkazovaného předchozího bloku a není víc než 15 minut v budoucnosti.
+3. Zkontrolujte, zda jsou platné číslo bloku, obtížnost, kořen transakce, kořen strýce a palivový limit (různé nízkoúrovňové koncepty specifické pro Ethereum).
+4. Zkontrolujte, zda je důkaz prací na bloku platný.
+5. Nechť `S[0]` je stav na konci předchozího bloku.
+6. Nechť `TX` je seznam transakcí bloku, s `n` transakcemi. Pro všechna `i` v `0...n-1`, nastavte `S[i+1] = APPLY(S[i],TX[i])`. Pokud některá z aplikací vrátí chybu, nebo pokud celkové spotřebované palivo v bloku až do tohoto bodu překročí `GASLIMIT`, vraťte chybu.
+7. Nechť `S_FINAL` je `S[n]`, ale s připočtením odměny za blok vyplacené těžaři.
+8. Zkontrolujte, zda je kořen Merkleova stromu stavu `S_FINAL` roven konečnému kořenu stavu uvedenému v záhlaví bloku. Pokud ano, blok je platný; jinak platný není.
+
+Tento přístup se může na první pohled zdát velmi neefektivní, protože u každého bloku je potřeba ukládat celý stav, ale ve skutečnosti by měla být efektivita srovnatelná s efektivitou Bitcoinu. Důvodem je, že stav je uložen ve stromové struktuře a po každém bloku je třeba změnit jen malou část stromu. Obecně platí, že mezi dvěma sousedními bloky by velká většina stromu měla být stejná, a proto mohou být data uložena jednou a dvakrát odkazována pomocí ukazatelů (tj. hašů podstromů). K dosažení tohoto cíle se používá speciální druh stromu známý jako „strom Patricia“, včetně úpravy konceptu Merkleova stromu, která umožňuje efektivně vkládat a mazat uzly, a nejen je měnit. Navíc, protože všechny informace o stavu jsou součástí posledního bloku, není nutné ukládat celou historii blockchainu – strategie, u níž lze spočítat, že pokud by mohla být aplikována na Bitcoin, poskytla by 5–20× úsporu místa.
+
+Často kladenou otázkou je, „kde“ se kód kontraktu provádí, pokud jde o fyzický hardware. Odpověď je jednoduchá: proces provádění kódu kontraktu je součástí definice funkce přechodu stavu, která je součástí algoritmu validace bloku, takže pokud je transakce přidána do bloku `B`, spuštění kódu vyvolané touto transakcí bude provedeno všemi uzly, nyní i v budoucnu, které si stáhnou a validují blok `B`.
+
+## Aplikace {#applications}
+
+Obecně existují tři typy aplikací nad Ethereem. První kategorií jsou finanční aplikace, které uživatelům poskytují výkonnější způsoby správy a uzavírání smluv s použitím jejich peněz. To zahrnuje dílčí měny, finanční deriváty, zajišťovací smlouvy, spořicí peněženky, závěti a nakonec i některé třídy plnohodnotných pracovních smluv. Druhou kategorií jsou polofinanční aplikace, kde jde o peníze, ale je zde také silná nepeněžní stránka toho, co se děje; dokonalým příkladem jsou samočinně vynutitelné odměny za řešení výpočetních problémů. Nakonec jsou zde aplikace jako online hlasování a decentralizované řízení, které nejsou vůbec finanční.
+
+### Tokenové systémy {#token-systems}
+
+Tokenové systémy na blockchainu mají mnoho aplikací, od dílčích měn představujících aktiva jako USD nebo zlato až po akcie společností, jednotlivé tokeny představující chytrý majetek, zabezpečené nepadělatelné kupony, a dokonce i tokenové systémy bez jakékoli vazby na konvenční hodnotu, používané jako bodové systémy pro motivaci. Tokenové systémy lze v Ethereu implementovat překvapivě snadno. Klíčovým bodem k pochopení je, že měna nebo tokenový systém je v podstatě databáze s jednou operací: odečíst X jednotek od A a dát X jednotek B za podmínky, že (i) A mělo před transakcí alespoň X jednotek a (2) transakce je schválena A. K implementaci tokenového systému stačí implementovat tuto logiku do kontraktu.
+
+Základní kód pro implementaci tokenového systému v Serpentu vypadá následovně:
+
+```py
+def send(to, value):
+ if self.storage[msg.sender] >= value:
+ self.storage[msg.sender] = self.storage[msg.sender] - value
+ self.storage[to] = self.storage[to] + value
+```
+
+Jedná se v podstatě o doslovnou implementaci funkce přechodu stavu „bankovního systému“ popsané výše v tomto dokumentu. Je třeba přidat několik řádků kódu navíc, aby se zajistil počáteční krok distribuce měnových jednotek a několik dalších okrajových případů, a v ideálním případě by se měla přidat funkce, která by ostatním kontraktům umožnila dotazovat se na zůstatek na adrese. Ale to je vše. Teoreticky mohou tokenové systémy založené na Ethereu, které fungují jako dílčí měny, potenciálně zahrnovat další důležitou funkci, kterou onchain meta-měny založené na Bitcoinu postrádají: schopnost platit transakční poplatky přímo v dané měně. Způsob, jakým by to bylo implementováno, je, že kontrakt by si udržoval zůstatek etherů, z něhož by vracel ethery použité na zaplacení poplatků odesílateli, a tento zůstatek by doplňoval sběrem interních měnových jednotek, které přijímá na poplatcích, a jejich dalším prodejem v neustále probíhající aukci. Uživatelé by tak museli „aktivovat“ své účty pomocí etherů, ale jakmile tam ethery jsou, byly by opakovaně použitelné, protože kontrakt by je pokaždé vrátil.
+
+### Finanční deriváty a měny se stabilní hodnotou {#financial-derivatives-and-stable-value-currencies}
+
+Finanční deriváty jsou nejběžnější aplikací „chytrého kontraktu“ a jednou z nejjednodušších na implementaci v kódu. Hlavní výzvou při implementaci finančních kontraktů je, že většina z nich vyžaduje odkaz na externí cenový ticker; například velmi žádanou aplikací je chytrý kontrakt, který zajišťuje proti volatilitě etheru (nebo jiné kryptoměny) vůči americkému dolaru, ale to vyžaduje, aby kontrakt znal hodnotu ETH/USD. Nejjednodušším způsobem, jak toho dosáhnout, je prostřednictvím kontraktu „datového zdroje“ udržovaného konkrétní stranou (např. NASDAQ), který je navržen tak, aby tato strana mohla kontrakt podle potřeby aktualizovat, a poskytuje rozhraní, které umožňuje ostatním kontraktům poslat zprávu tomuto kontraktu a získat zpět odpověď, která poskytuje cenu.
+
+S touto kritickou složkou by zajišťovací smlouva vypadala následovně:
+
+1. Počkejte, až strana A vloží 1000 etherů.
+2. Počkejte, až strana B vloží 1000 etherů.
+3. Zaznamenejte hodnotu 1000 etherů v USD, vypočtenou dotazem na kontrakt datového kanálu, do úložiště; řekněme, že je to $x.
+4. Po 30 dnech povolte straně A nebo B „reaktivovat“ kontrakt, aby se odeslaly ethery v hodnotě $x (vypočteno opětovným dotazem na kontrakt datového kanálu pro získání nové ceny) straně A a zbytek straně B.
+
+Takový kontrakt by měl značný potenciál v krypto-obchodu. Jedním z hlavních problémů uváděných v souvislosti s kryptoměnami je skutečnost, že jsou volatilní; ačkoli mnoho uživatelů a obchodníků může chtít bezpečnost a pohodlí při nakládání s kryptografickými aktivy, nemusí si přát čelit vyhlídce na ztrátu 23 % hodnoty svých prostředků během jediného dne. Až dosud byla nejčastěji navrhovaným řešením aktiva krytá emitentem. Myšlenka je taková, že emitent vytvoří dílčí měnu, ve které má právo vydávat a odvolávat jednotky, a poskytne jednu jednotku měny každému, kdo mu (offline) poskytne jednu jednotku určeného podkladového aktiva (např. zlato, USD). Emitent pak slíbí, že poskytne jednu jednotku podkladového aktiva každému, kdo pošle zpět jednu jednotku kryptoaktiva. Tento mechanismus umožňuje „povýšit“ jakékoli nekryptografické aktivum na kryptografické aktivum za předpokladu, že emitent je důvěryhodný.
+
+V praxi však emitenti nejsou vždy důvěryhodní a v některých případech je bankovní infrastruktura příliš slabá nebo příliš nepřátelská na to, aby takové služby existovaly. Finanční deriváty poskytují alternativu. Zde, namísto jediného emitenta poskytujícího prostředky na krytí aktiva, hraje tuto roli decentralizovaný trh spekulantů, kteří sázejí na to, že cena kryptografického referenčního aktiva (např. ETH) poroste. Na rozdíl od emitentů nemají spekulanti možnost nesplnit svou část dohody, protože zajišťovací smlouva drží jejich prostředky v úschově. Všimněte si, že tento přístup není plně decentralizovaný, protože k poskytnutí cenového tickeru je stále zapotřebí důvěryhodný zdroj, i když je to pravděpodobně stále obrovské zlepšení, pokud jde o snížení požadavků na infrastrukturu (na rozdíl od role emitenta, vydávání cenového kanálu nevyžaduje žádné licence a lze jej pravděpodobně kategorizovat jako svobodu projevu) a snížení potenciálu podvodů.
+
+### Systémy identity a reputace {#identity-and-reputation-systems}
+
+Nejstarší alternativní kryptoměna vůbec, [Namecoin](http://namecoin.org/), se pokusila použít blockchain podobný Bitcoinu k poskytnutí systému registrace jmen, kde si uživatelé mohou registrovat svá jména ve veřejné databázi spolu s dalšími daty. Hlavním uváděným případem použití je systém [DNS](https://wikipedia.org/wiki/Domain_Name_System), který mapuje názvy domén jako „bitcoin.org“ (nebo v případě Namecoinu „bitcoin.bit“) na IP adresu. Další případy použití zahrnují ověřování e-mailů a potenciálně pokročilejší systémy reputace. Zde je základní kontrakt pro poskytnutí systému registrace jmen podobného Namecoinu v síti Ethereum:
+
+```py
+def register(name, value):
+ if !self.storage[name]:
+ self.storage[name] = value
+```
+
+Kontrakt je velmi jednoduchý; je to pouze databáze uvnitř sítě Ethereum, do které lze přidávat, ale nikoli ji upravovat nebo z ní odstraňovat. Kdokoli si může zaregistrovat jméno s nějakou hodnotou a tato registrace pak zůstane navždy. Sofistikovanější kontrakt pro registraci jmen bude mít také „funkční klauzuli“, která umožní ostatním kontraktům, aby se na něj dotazovaly, a také mechanismus pro „vlastníka“ (tj. prvního registrátora) jména ke změně dat nebo převodu vlastnictví. Navrch lze dokonce přidat funkce reputace a sítě důvěry.
+
+### Decentralizované úložiště souborů {#decentralized-file-storage}
+
+V posledních několika letech se objevila řada populárních online startupů pro ukládání souborů, z nichž nejvýznamnější je Dropbox, které se snaží uživatelům umožnit nahrát zálohu svého pevného disku a nechat službu zálohu uložit a umožnit uživateli k ní přistupovat výměnou za měsíční poplatek. V současnosti je však trh s ukládáním souborů občas relativně neefektivní; letmý pohled na různá stávající řešení ukazuje, že zejména na úrovni „uncanny valley“ 20–200 GB, kde nefungují ani bezplatné kvóty, ani slevy na podnikové úrovni, jsou měsíční ceny za běžné ukládání souborů takové, že za jeden měsíc zaplatíte více než náklady na celý pevný disk. Kontrakty Etherea mohou umožnit rozvoj decentralizovaného ekosystému pro ukládání souborů, kde si jednotliví uživatelé mohou vydělávat malé částky peněz pronájmem svých vlastních pevných disků a nevyužité místo lze využít k dalšímu snížení nákladů na ukládání souborů.
+
+Klíčovým základním kamenem takového zařízení by bylo to, co jsme nazvali „decentralizovaný kontrakt Dropbox“. Tento kontrakt funguje následovně. Nejprve se požadovaná data rozdělí na bloky, každý blok se zašifruje pro ochranu soukromí a z nich se vytvoří Merkleův strom. Poté se vytvoří kontrakt s pravidlem, že každých N bloků kontrakt vybere náhodný index v Merkleově stromě (s použitím hashe předchozího bloku, který je přístupný z kódu kontraktu, jako zdroje náhodnosti) a dá X etherů první entitě, která dodá transakci s důkazem vlastnictví bloku na daném indexu ve stromě podobným zjednodušenému ověření platby. Když si uživatel chce znovu stáhnout svůj soubor, může k jeho obnovení použít protokol mikroplatebního kanálu (např. zaplatit 1 szabo za 32 kilobajtů). Poplatkově nejefektivnější přístup je, aby plátce nezveřejňoval transakci až do konce, ale místo toho po každých 32 kilobajtech nahradil transakci o něco lukrativnější se stejnou hodnotou nonce.
+
+Důležitou vlastností protokolu je, že ačkoli se může zdát, že se spoléháte na mnoho náhodných uzlů, že se nerozhodnou soubor zapomenout, toto riziko lze snížit téměř na nulu rozdělením souboru na mnoho částí pomocí sdílení tajemství a sledováním kontraktů, abyste viděli, že každá část je stále v držení některého uzlu. Pokud kontrakt stále vyplácí peníze, poskytuje to kryptografický důkaz, že někdo tam venku stále ukládá soubor.
+
+### Decentralizované autonomní organizace {#decentralized-autonomous-organizations}
+
+Obecný koncept „decentralizované autonomní organizace“ je koncept virtuální entity, která má určitou sadu členů nebo akcionářů, kteří, snad s 67% většinou, mají právo utrácet prostředky entity a upravovat její kód. Členové by kolektivně rozhodovali o tom, jak by organizace měla alokovat své prostředky. Metody alokace prostředků DAO by se mohly pohybovat od odměn, platů až po exotičtější mechanismy, jako je interní měna pro odměňování práce. To v podstatě replikuje právní náležitosti tradiční společnosti nebo neziskové organizace, ale k vymáhání používá pouze kryptografickou technologii blockchainu. Dosud se velká část diskusí o DAO točila kolem „kapitalistického“ modelu „decentralizované autonomní korporace“ (DAC) s akcionáři pobírajícími dividendy a obchodovatelnými akciemi; alternativa, možná popsaná jako „decentralizovaná autonomní komunita“, by měla, že by všichni členové měli stejný podíl na rozhodování a vyžadovala by souhlas 67 % stávajících členů s přidáním nebo odebráním člena. Požadavek, že jedna osoba může mít pouze jedno členství, by pak musela být kolektivně vymáhána skupinou.
+
+Obecný nástin, jak naprogramovat DAO, je následující. Nejjednodušší design je prostě kus samomodifikujícího se kódu, který se změní, pokud se na změně shodnou dvě třetiny členů. Ačkoli je kód teoreticky neměnný, lze to snadno obejít a mít de facto proměnlivost tím, že části kódu jsou v samostatných kontraktech a adresa, které kontrakty se mají volat, je uložena v modifikovatelném úložišti. V jednoduché implementaci takového kontraktu DAO by existovaly tři typy transakcí, které se liší daty poskytnutými v transakci:
+
+- `[0,i,K,V]` pro registraci návrhu s indexem `i` ke změně adresy na indexu úložiště `K` na hodnotu `V`
+- `[1,i]` pro registraci hlasu pro návrh `i`
+- `[2,i]` pro finalizaci návrhu `i`, pokud bylo odevzdáno dostatek hlasů
+
+Kontrakt by pak měl pro každou z těchto možností klauzule. Udržoval by záznam o všech otevřených změnách úložiště spolu se seznamem, kdo pro ně hlasoval. Měl by také seznam všech členů. Když jakákoli změna úložiště dosáhne hlasování dvou třetin členů, finalizační transakce by mohla změnu provést. Sofistikovanější kostra by také měla vestavěnou možnost hlasování pro funkce, jako je odeslání transakce, přidávání a odebírání členů, a může dokonce poskytovat delegování hlasů ve stylu [Liquid Democracy](https://wikipedia.org/wiki/Liquid_democracy) (tj. kdokoli může pověřit někoho, aby za něj hlasoval, a pověření je tranzitivní, takže pokud A pověří B a B pověří C, pak C určuje hlas A). Tento design by umožnil DAO organicky růst jako decentralizovaná komunita, což by lidem nakonec umožnilo delegovat úkol filtrování, kdo je členem, na specialisty, ačkoli na rozdíl od „současného systému“ se specialisté mohou snadno objevovat a mizet v čase, jak jednotliví členové komunity mění své postoje.
+
+Alternativním modelem je decentralizovaná korporace, kde jakýkoli účet může mít nula nebo více podílů a k rozhodnutí jsou zapotřebí dvě třetiny podílů. Kompletní kostra by zahrnovala funkčnost správy aktiv, schopnost učinit nabídku na nákup nebo prodej akcií a schopnost přijímat nabídky (nejlépe s mechanismem párování příkazů uvnitř kontraktu). Delegace by také existovala ve stylu likvidní demokracie, což zobecňuje koncept „představenstva“.
+
+### Další aplikace {#further-applications}
+
+**1.** Spořicí peněženky\*\*. Předpokládejme, že Alice chce mít své prostředky v bezpečí, ale obává se, že ztratí svůj privátní klíč nebo jí ho někdo hackne. Vloží ethery do kontraktu s Bobem, bankou, následovně:
+
+- Alice sama může denně vybrat maximálně 1 % prostředků.
+- Bob sám může denně vybrat maximálně 1 % prostředků, ale Alice má možnost provést transakci se svým klíčem, která tuto schopnost vypne.
+- Alice a Bob společně mohou vybrat cokoli.
+
+Normálně je pro Alici 1 % denně dostačující, a pokud chce vybrat více, může požádat Boba o pomoc. Pokud dojde k hacknutí Alicina klíče, běží za Bobem, aby přesunul prostředky do nového kontraktu. Pokud ztratí svůj klíč, Bob nakonec prostředky dostane ven. Pokud se Bob ukáže jako zlovolný, může mu vypnout schopnost vybírat prostředky.
+
+**2.** Pojištění úrody\*\*. Lze snadno vytvořit kontrakt na finanční deriváty, ale s použitím datového kanálu o počasí namísto jakéhokoli cenového indexu. Pokud si farmář v Iowě zakoupí derivát, který vyplácí inverzně na základě srážek v Iowě, pak v případě sucha farmář automaticky obdrží peníze, a pokud bude dostatek deště, bude farmář spokojený, protože jeho úroda bude dobrá. To lze obecně rozšířit na pojištění proti přírodním katastrofám.
+
+**3.** Decentralizovaný datový kanál\*\*. U finančních rozdílových smluv může být skutečně možné decentralizovat datový zdroj prostřednictvím protokolu zvaného „[SchellingCoin](https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/)“. SchellingCoin v zásadě funguje následovně: N stran vloží do systému hodnotu daného údaje (např. cenu ETH/USD), hodnoty se seřadí a každý mezi 25. a 75. percentilem získá jako odměnu jeden token. Každý má motivaci poskytnout odpověď, kterou poskytnou všichni ostatní, a jedinou hodnotou, na které se může reálně shodnout velký počet hráčů, je zřejmá výchozí hodnota: pravda. To vytváří decentralizovaný protokol, který teoreticky může poskytnout libovolný počet hodnot, včetně ceny ETH/USD, teploty v Berlíně nebo dokonce výsledku konkrétního složitého výpočtu.
+
+**4. Chytrá vícenásobná úschova**. Bitcoin umožňuje transakční kontrakty s vícenásobným podpisem, kde například tři z daných pěti klíčů mohou utratit prostředky. Ethereum umožňuje větší granularitu; například čtyři z pěti mohou utratit vše, tři z pěti mohou utratit až 10 % denně a dva z pěti mohou utratit až 0,5 % denně. Navíc je multisig Etherea asynchronní – dvě strany mohou zaregistrovat své podpisy na blockchainu v různých časech a poslední podpis automaticky odešle transakci.
+
+**5. Cloud computing**. Technologii EVM lze také použít k vytvoření ověřitelného výpočetního prostředí, které uživatelům umožňuje požádat ostatní o provedení výpočtů a poté volitelně požádat o důkazy, že výpočty na určitých náhodně vybraných kontrolních bodech (checkpoint) byly provedeny správně. To umožňuje vytvoření trhu s cloud computingem, kde se může každý uživatel zapojit se svým stolním počítačem, notebookem nebo specializovaným serverem, a namátkové kontroly spolu s bezpečnostními vklady lze použít k zajištění důvěryhodnosti systému (tj. uzly nemohou se ziskem podvádět). Ačkoli takový systém nemusí být vhodný pro všechny úkoly; úkoly, které vyžadují vysokou úroveň meziprocesové komunikace, například nelze snadno provádět na velkém cloudu uzlů. Jiné úkoly je však mnohem snazší paralelizovat; projekty jako SETI@home, folding@home a genetické algoritmy lze na takové platformě snadno implementovat.
+
+**6. Peer-to-peer hazardní hry**. Na blockchainu Etherea lze implementovat libovolný počet peer-to-peer protokolů pro hazardní hry, jako je například [Cyberdice](http://www.cl.cam.ac.uk/~fms27/papers/2008-StajanoCla-cyberdice.pdf) od Franka Stajana a Richarda Claytona. Nejjednodušším protokolem pro hazardní hry je ve skutečnosti prostě kontrakt na rozdíl na haši dalšího bloku a odtud lze budovat pokročilejší protokoly, které vytvářejí služby hazardních her s téměř nulovými poplatky, které nemají žádnou možnost podvádět.
+
+**7. Predikční trhy**. Pokud je k dispozici orákulum nebo SchellingCoin, je také snadné implementovat predikční trhy, a predikční trhy spolu se SchellingCoinem se mohou ukázat jako první hlavní aplikace [futarchie](https://mason.gmu.edu/~rhanson/futarchy.html) jakožto protokolu pro správu decentralizovaných organizací.
+
+**8. Onchain decentralizovaná tržiště**, využívající systém identity a reputace jako základ.
+
+## Různé a obavy {#miscellanea-and-concerns}
+
+### Modifikovaná implementace GHOST {#modified-ghost-implementation}
+
+Protokol „Greedy Heaviest Observed Subtree“ (GHOST) je inovace, kterou poprvé představili Yonatan Sompolinsky a Aviv Zohar v [prosinci 2013](https://eprint.iacr.org/2013/881.pdf). Motivací protokolu GHOST je, že blockchainy s rychlými časy potvrzení v současné době trpí sníženou bezpečností kvůli vysoké míře zastaralých bloků (stale rate) – protože bloky potřebují určitý čas na šíření sítí, pokud těžař A vytěží blok a pak těžař B náhodou vytěží další blok předtím, než se blok těžaře A rozšíří k B, blok těžaře B bude nakonec zbytečný a nepřispěje k bezpečnosti sítě. Dále je zde problém centralizace: pokud je těžař A těžařský pool s 30 % hashpower a B má 10 % hashpower, A bude mít 70 % riziko produkce zastaralého bloku (protože v ostatních 30 % času A vytvořil poslední blok a tak získá data pro těžbu okamžitě), zatímco B bude mít 90 % riziko produkce zastaralého bloku. Pokud je tedy interval bloku dostatečně krátký na to, aby byla míra zastaralých bloků vysoká, A bude podstatně efektivnější jednoduše díky své velikosti. Kombinací těchto dvou efektů je velmi pravděpodobné, že blockchainy, které produkují bloky rychle, povedou k tomu, že jeden těžařský pool bude mít dostatečně velké procento síťového hashpower, aby měl de facto kontrolu nad procesem těžby.
+
+Jak popsali Sompolinsky a Zohar, GHOST řeší první problém ztráty bezpečnosti sítě tím, že do výpočtu, který řetězec je „nejdelší“, zahrnuje i zastaralé bloky; to znamená, že do výpočtu, který blok má největší celkový důkaz prací, se přidávají nejen rodič a další předci bloku, ale také zastaralí potomci předka bloku (v žargonu Etherea „strýcové“). Abychom vyřešili druhý problém centralizačního zkreslení, jdeme nad rámec protokolu popsaného Sompolinskym a Zoharem a poskytujeme také odměny za bloky zastaralým blokům: zastaralý blok obdrží 87,5 % své základní odměny a synovec, který zastaralý blok zahrne, obdrží zbývajících 12,5 %. Transakční poplatky se však strýcům neudělují.
+
+Ethereum implementuje zjednodušenou verzi protokolu GHOST, která sestupuje pouze o sedm úrovní. Konkrétně je definována následovně:
+
+- Blok musí specifikovat rodiče a musí specifikovat 0 nebo více strýců.
+- Strýc zahrnutý v bloku B musí mít následující vlastnosti:
+ - Musí být přímým potomkem předka k-té generace B, kde `2 <= k <= 7`.
+ - Nemůže být předkem B.
+ - Strýc musí být platným záhlavím bloku, ale nemusí být dříve ověřeným nebo dokonce platným blokem.
+ - Strýc se musí lišit od všech strýců zahrnutých v předchozích blocích a všech ostatních strýců zahrnutých ve stejném bloku (zákaz dvojího zahrnutí).
+- Za každého strýce U v bloku B dostane těžař B navíc 3,125 % k odměně z coinbase a těžař U dostane 93,75 % standardní odměny z coinbase.
+
+Tato omezená verze GHOST, kde strýcové mohou být zahrnuti pouze do 7 generací, byla použita ze dvou důvodů. Za prvé, neomezený GHOST by přinesl příliš mnoho komplikací do výpočtu, kteří strýcové pro daný blok jsou platní. Za druhé, neomezený GHOST s kompenzací, jak se používá v Ethereu, odstraňuje motivaci pro těžaře těžit na hlavním řetězci a ne na řetězci veřejného útočníka.
+
+### Poplatky {#fees}
+
+Protože každá transakce zveřejněná na blockchainu ukládá síti náklady na její stažení a ověření, je zapotřebí nějaký regulační mechanismus, typicky zahrnující transakční poplatky, aby se zabránilo zneužití. Výchozí přístup, používaný v Bitcoinu, spočívá v čistě dobrovolných poplatcích, které se spoléhají na těžaře, že budou fungovat jako strážci a nastaví dynamická minima. Tento přístup byl v komunitě Bitcoinu přijat velmi příznivě, zejména proto, že je „založen na trhu“, což umožňuje, aby nabídka a poptávka mezi těžaři a odesílateli transakcí určovala cenu. Problém s touto linií úvah je však v tom, že zpracování transakcí není trh; ačkoli je intuitivně lákavé chápat zpracování transakcí jako službu, kterou těžař nabízí odesílateli, ve skutečnosti každá transakce, kterou těžař zahrne, bude muset být zpracována každým uzlem v síti, takže drtivou většinu nákladů na zpracování transakcí nesou třetí strany, a nikoli těžař, který rozhoduje o tom, zda ji zahrnout či nikoli. Proto je velmi pravděpodobné, že dojde k problémům tragédie obecní pastviny.
+
+Jak se však ukazuje, tato chyba v tržním mechanismu se při určitém nepřesném zjednodušujícím předpokladu magicky sama vyruší. Argument je následující. Předpokládejme, že:
+
+1. Transakce vede k `k` operacím a nabízí odměnu `kR` jakémukoli těžaři, který ji zahrne, kde `R` je nastaveno odesílatelem a `k` a `R` jsou (zhruba) viditelné pro těžaře předem.
+2. Operace má pro jakýkoli uzel náklady na zpracování `C` (tj. všechny uzly mají stejnou efektivitu)
+3. Existuje `N` těžebních uzlů, z nichž každý má naprosto stejný výpočetní výkon (tj. `1/N` z celkového)
+4. Neexistují žádné plné uzly, které by netěžily.
+
+Těžař by byl ochoten zpracovat transakci, pokud je očekávaná odměna větší než náklady. Očekávaná odměna je tedy `kR/N`, protože těžař má šanci `1/N` na zpracování dalšího bloku, a náklady na zpracování pro těžaře jsou jednoduše `kC`. Těžaři tedy budou zahrnovat transakce, kde `kR/N > kC`, neboli `R > NC`. Všimněte si, že `R` je poplatek za operaci poskytnutý odesílatelem, a je tedy dolní hranicí přínosu, který odesílatel z transakce odvozuje, a `NC` jsou celkové náklady celé sítě na zpracování operace. Těžaři tedy mají motivaci zahrnovat pouze ty transakce, u kterých celkový užitkový přínos převyšuje náklady.
+
+V reálu však existuje několik důležitých odchylek od těchto předpokladů:
+
+1. Těžař platí vyšší náklady na zpracování transakce než ostatní ověřovací uzly, protože dodatečný čas na ověření zpožďuje šíření bloku a tím zvyšuje šanci, že se blok stane zastaralým.
+2. Existují plné uzly, které netěží.
+3. Rozdělení těžařského výkonu může v praxi skončit radikálně nerovnostářsky.
+4. Existují spekulanti, političtí nepřátelé a blázni, jejichž funkce užitku zahrnuje poškozování sítě, a ti mohou chytře nastavit kontrakty, kde jejich náklady jsou mnohem nižší než náklady placené ostatními ověřovacími uzly.
+
+(1) způsobuje tendenci těžaře zahrnovat méně transakcí a
+(2) zvyšuje `NC`; proto se tyto dva efekty alespoň částečně
+ruší
+.[Jak?](https://web.archive.org/web/20250427212319/https://github.com/ethereum/wiki/issues/447#issuecomment-316972260#issuecomment-316972260)
+(3) a (4) jsou hlavní problém; k jejich vyřešení jednoduše zavedeme
+plovoucí strop: žádný blok nemůže mít více operací než
+`BLK_LIMIT_FACTOR` násobek dlouhodobého exponenciálního klouzavého průměru.
+Konkrétně:
+
+```js
+blk.oplimit = floor((blk.parent.oplimit \* (EMAFACTOR - 1) +
+floor(parent.opcount \* BLK\_LIMIT\_FACTOR)) / EMA\_FACTOR)
+```
+
+`BLK_LIMIT_FACTOR` a `EMA_FACTOR` jsou konstanty, které budou prozatím nastaveny na 65536 a 1,5, ale po další analýze se pravděpodobně změní.
+
+Existuje další faktor, který v Bitcoinu odrazuje od velkých velikostí bloků: velké bloky se budou šířit déle, a proto mají vyšší pravděpodobnost, že se stanou zastaralými. V Ethereu mohou bloky s vysokou spotřebou paliva také trvat déle, než se rozšíří, a to jak proto, že jsou fyzicky větší, tak proto, že jejich validace trvá déle kvůli zpracování přechodů stavů transakcí. Toto zpoždění jako demotivující faktor je v Bitcoinu významným faktorem, ale v Ethereu méně kvůli protokolu GHOST; spoléhání se na regulované limity bloků proto poskytuje stabilnější základ.
+
+### Výpočty a Turingova úplnost {#computation-and-turing-completeness}
+
+Důležitou poznámkou je, že Ethereum Virtual Machine (EVM) je Turingovsky úplný; to znamená, že kód EVM může zakódovat jakýkoli výpočet, který lze provést, včetně nekonečných smyček. Kód EVM umožňuje smyčky dvěma způsoby. Za prvé, existuje instrukce `JUMP`, která umožňuje programu skočit zpět na předchozí místo v kódu, a instrukce `JUMPI` pro podmíněný skok, což umožňuje příkazy jako `while x < 27: x = x * 2`. Za druhé, kontrakty mohou volat jiné kontrakty, což potenciálně umožňuje smyčky prostřednictvím rekurze. To přirozeně vede k problému: mohou zlovolní uživatelé v podstatě vypnout těžaře a plné uzly tím, že je donutí vstoupit do nekonečné smyčky? Problém vzniká kvůli problému v informatice známému jako problém zastavení: neexistuje způsob, jak v obecném případě zjistit, zda se daný program někdy zastaví.
+
+Jak je popsáno v sekci o přechodu stavu, naše řešení funguje tak, že vyžaduje, aby transakce nastavila maximální počet výpočetních kroků, které může provést, a pokud provádění trvá déle, výpočet se vrátí zpět, ale poplatky jsou stále zaplaceny. Zprávy fungují stejným způsobem. Pro ukázku motivace našeho řešení zvažte následující příklady:
+
+- Útočník vytvoří kontrakt, který spouští nekonečnou smyčku, a poté odešle transakci aktivující tuto smyčku těžaři. Těžař zpracuje transakci, spustí nekonečnou smyčku a počká, až mu dojde palivo. I když provádění dojde palivo a zastaví se v polovině, transakce je stále platná a těžař si stále nárokuje poplatek od útočníka za každý výpočetní krok.
+- Útočník vytvoří velmi dlouhou nekonečnou smyčku s úmyslem donutit těžaře počítat tak dlouho, že než výpočet skončí, vyjde několik dalších bloků a pro těžaře nebude možné zahrnout transakci a nárokovat si poplatek. Útočník však bude muset zadat hodnotu pro `STARTGAS`, která omezí počet výpočetních kroků, které může provádění provést, takže těžař bude předem vědět, že výpočet bude trvat nadměrně velký počet kroků.
+- Útočník vidí kontrakt s kódem v podobě `send(A,contract.storage[A]); contract.storage[A] = 0` a pošle transakci s právě takovým množstvím paliva, aby se provedl první krok, ale ne druhý (tj. provede výběr, ale nenechá klesnout zůstatek). Autor kontraktu se nemusí starat o ochranu proti takovým útokům, protože pokud se provádění zastaví v polovině, změny se vrátí zpět.
+- Finanční kontrakt funguje tak, že bere medián z devíti proprietárních datových kanálů, aby se minimalizovalo riziko. Útočník převezme jeden z datových kanálů, který je navržen tak, aby byl modifikovatelný pomocí mechanismu volání s proměnnou adresou popsaného v sekci o DAO, a převede jej tak, aby běžel v nekonečné smyčce, čímž se pokouší donutit jakékoli pokusy o nárokování prostředků z finančního kontraktu, aby jim došlo palivo. Finanční kontrakt však může nastavit palivový limit na zprávu, aby se tomuto problému zabránilo.
+
+Alternativou k Turingově úplnosti je Turingova neúplnost, kde `JUMP` a `JUMPI` neexistují a v zásobníku volání může v daném okamžiku existovat pouze jedna kopie každého kontraktu. S tímto systémem by popsaný systém poplatků a nejistoty ohledně účinnosti našeho řešení nemusely být nutné, protože náklady na provedení kontraktu by byly shora omezeny jeho velikostí. Navíc, Turingova neúplnost není ani tak velkým omezením; ze všech příkladů kontraktů, které jsme interně vymysleli, zatím pouze jeden vyžadoval smyčku, a i tu by bylo možné odstranit 26 opakováním jednořádkového kusu kódu. Vzhledem k vážným důsledkům Turingovy úplnosti a omezenému přínosu, proč jednoduše nemít Turingovsky neúplný jazyk? Ve skutečnosti však Turingova neúplnost zdaleka není elegantním řešením problému. Abyste pochopili proč, zvažte následující kontrakty:
+
+```sh
+C0: call(C1); call(C1);
+C1: call(C2); call(C2);
+C2: call(C3); call(C3);
+...
+C49: call(C50); call(C50);
+C50: (spusť jeden krok programu a zaznamenej změnu v úložišti)
+```
+
+Nyní odešlete transakci do A. V 51 transakcích tak máme kontrakt, který zabere 250 výpočetních kroků. Těžaři by se mohli pokusit odhalit takové logické bomby předem udržováním hodnoty u každého kontraktu, která specifikuje maximální počet výpočetních kroků, které může provést, a výpočtem této hodnoty pro kontrakty, které rekurzivně volají jiné kontrakty, ale to by vyžadovalo, aby těžaři zakázali kontrakty, které vytvářejí jiné kontrakty (protože vytvoření a provedení všech 26 výše uvedených kontraktů by se dalo snadno sloučit do jediného kontraktu). Dalším problematickým bodem je, že pole adresy zprávy je proměnná, takže obecně nemusí být ani možné předem zjistit, které další kontrakty daný kontrakt zavolá. Celkově tedy docházíme k překvapivému závěru: Turingova úplnost je překvapivě snadno zvládnutelná a absence Turingovy úplnosti je stejně překvapivě obtížně zvládnutelná, pokud nejsou zavedeny naprosto stejné kontroly – ale v takovém případě, proč prostě nenechat protokol být Turingovsky úplný?
+
+### Měna a vydávání {#currency-and-issuance}
+
+Síť Ethereum zahrnuje svou vlastní vestavěnou měnu, ether, která slouží dvojímu účelu: poskytuje primární vrstvu likvidity pro efektivní směnu mezi různými typy digitálních aktiv a, což je důležitější, poskytuje mechanismus pro placení transakčních poplatků. Pro pohodlí a pro zamezení budoucím sporům (viz současná debata o mBTC/uBTC/satoshi v Bitcoinu) budou denominace předem označeny:
+
+- 1: wei
+- 1012: szabo
+- 1015: finney
+- 1018: ether
+
+Toto by se mělo brát jako rozšířená verze konceptu „dolarů“ a „centů“ nebo „BTC“ a „satoshi“. V blízké budoucnosti očekáváme, že „ether“ se bude používat pro běžné transakce, „finney“ pro mikrotransakce a „szabo“ a „wei“ pro technické diskuse o poplatcích a implementaci protokolu; zbývající denominace se mohou stát užitečnými později a v tuto chvíli by neměly být zahrnuty v klientech.
+
+Model vydávání bude následující:
+
+- Ether bude uvolněn v prodeji měny za cenu 1000-2000 etherů za BTC, což je mechanismus určený k financování organizace Ethereum a placení za vývoj, který byl s úspěchem použit i na jiných platformách, jako jsou Mastercoin a NXT. Dřívější kupující budou těžit z větších slev. BTC získané z prodeje budou plně použity na platy a odměny pro vývojáře a investovány do různých ziskových i neziskových projektů v ekosystému Etherea a kryptoměn.
+- 0,099násobek celkového prodaného množství (60102216 ETH) bude přidělen organizaci na kompenzaci raných přispěvatelů a na platbu výdajů denominovaných v ETH před genesis blokem.
+- 0,099násobek celkového prodaného množství bude udržován jako dlouhodobá rezerva.
+- 0,26násobek celkového prodaného množství bude od tohoto bodu navždy přidělován těžařům ročně.
+
+| Skupina | Při spuštění | Po 1 roce | Po 5 letech |
+| ------------------------------ | ------------ | --------- | ----------- |
+| Měnové jednotky | 1,198X | 1,458X | 2,498X |
+| Kupující | 83,5 % | 68,6 % | 40,0 % |
+| Rezerva utracená před prodejem | 8,26 % | 6,79 % | 3,96 % |
+| Rezerva použitá po prodeji | 8,26 % | 6,79 % | 3,96 % |
+| Těžaři | 0% | 17,8 % | 52,0 % |
+
+#### Dlouhodobá míra růstu nabídky (v procentech)
+
+
+
+_Navzdory lineárnímu vydávání měny, stejně jako u Bitcoinu, míra růstu nabídky v čase přesto směřuje k nule._
+
+Dvě hlavní volby ve výše uvedeném modelu jsou (1) existence a velikost nadačního poolu a (2) existence trvale rostoucí lineární nabídky, na rozdíl od omezené nabídky jako v Bitcoinu. Odůvodnění nadačního poolu je následující. Pokud by nadační pool neexistoval a lineární vydávání by se snížilo na 0,217x, aby se dosáhlo stejné míry inflace, pak by celkové množství etheru bylo o 16,5 % menší a každá jednotka by tak byla o 19,8 % cennější. V rovnováze by se tedy v prodeji nakoupilo o 19,8 % více etheru, takže každá jednotka by byla opět přesně stejně cenná jako předtím. Organizace by pak také měla 1,198x více BTC, což lze považovat za rozdělené do dvou částí: původní BTC a dodatečných 0,198x. Tato situace je tedy _přesně ekvivalentní_ nadaci, ale s jedním důležitým rozdílem: organizace drží čistě BTC, a tak není motivována podporovat hodnotu jednotky etheru.
+
+Model permanentního lineárního růstu nabídky snižuje riziko toho, co někteří považují za nadměrnou koncentraci bohatství v Bitcoinu, a dává jednotlivcům žijícím v současných i budoucích érách spravedlivou šanci získat měnové jednotky, přičemž si zachovává silnou motivaci získávat a držet ether, protože „míra růstu nabídky“ jako procento stále v čase směřuje k nule. Také teoretizujeme, že protože se mince v průběhu času vždy ztrácejí kvůli neopatrnosti, smrti atd. a ztrátu mincí lze modelovat jako procento z celkové zásoby za rok, celková zásoba měny v oběhu se nakonec stabilizuje na hodnotě rovné ročnímu vydávání dělenému mírou ztráty (např. při míře ztráty 1 %, jakmile zásoba dosáhne 26X, bude každý rok vytěženo 0,26X a 0,26X ztraceno, čímž se vytvoří rovnováha).
+
+Všimněte si, že v budoucnu je pravděpodobné, že Ethereum přejde na model proof-of-stake pro zabezpečení, což sníží požadavek na vydávání na hodnotu mezi nulou a 0,05X ročně. V případě, že organizace Ethereum ztratí financování nebo z jakéhokoli jiného důvodu zmizí, necháváme otevřenou „společenskou smlouvu“: kdokoli má právo vytvořit budoucí kandidátskou verzi Etherea, s jedinou podmínkou, že množství etheru musí být nanejvýš rovno `60102216 * (1.198 + 0.26 * n)`, kde `n` je počet let po genesis bloku. Tvůrci mohou volně prodávat v rámci crowdfundingu nebo jinak přidělit část nebo celou odchylku mezi expanzí nabídky řízenou PoS a maximální povolenou expanzí nabídky k zaplacení vývoje. Kandidátské vylepšení, které nesplňují společenskou smlouvu, mohou být oprávněně forkovány do vyhovujících verzí.
+
+### Centralizace těžby {#mining-centralization}
+
+Těžební algoritmus Bitcoinu funguje tak, že těžaři počítají SHA256 na mírně upravených verzích záhlaví bloku milionykrát znovu a znovu, dokud nakonec jeden uzel nenajde verzi, jejíž haš je menší než cíl (v současnosti kolem 2192). Tento těžební algoritmus je však zranitelný vůči dvěma formám centralizace. Za prvé, těžařský ekosystém začaly ovládat ASIC (aplikačně specifické integrované obvody), počítačové čipy navržené pro specifický úkol těžby Bitcoinu, a proto tisíckrát efektivnější. To znamená, že těžba Bitcoinu již není vysoce decentralizovanou a rovnostářskou činností, ale vyžaduje kapitál v milionech dolarů pro efektivní účast. Za druhé, většina těžařů Bitcoinu ve skutečnosti neprovádí validaci bloků lokálně; místo toho se spoléhají na centralizovaný těžařský pool, který jim poskytuje záhlaví bloků. Tento problém je pravděpodobně ještě horší: v době psaní tohoto textu tři největší těžařské pooly nepřímo ovládají zhruba 50 % výpočetního výkonu v síti Bitcoin, ačkoli to je zmírněno skutečností, že těžaři mohou přejít do jiných těžařských poolů, pokud se pool nebo koalice pokusí o 51% útok.
+
+Současným záměrem Etherea je použít těžební algoritmus, kde jsou těžaři povinni načítat náhodná data ze stavu, vypočítat některé náhodně vybrané transakce z posledních N bloků v blockchainu a vrátit haš výsledku. To má dva důležité přínosy. Zaprvé, kontrakty na Ethereu mohou zahrnovat jakýkoli druh výpočtu, takže ASIC pro Ethereum by v podstatě byl ASIC pro obecné výpočty – tj. lepší CPU. Za druhé, těžba vyžaduje přístup k celému blockchainu, což nutí těžaře ukládat celý blockchain a být alespoň schopni ověřit každou transakci. To odstraňuje potřebu centralizovaných těžařských poolů; ačkoli těžařské pooly mohou stále plnit legitimní roli vyrovnávání náhodnosti distribuce odměn, tuto funkci mohou stejně dobře plnit peer-to-peer pooly bez centrální kontroly.
+
+Tento model není otestován a mohou se vyskytnout obtíže při snaze vyhnout se určitým chytrým optimalizacím při použití provádění kontraktů jako těžebního algoritmu. Jednou obzvláště zajímavou vlastností tohoto algoritmu je však to, že umožňuje komukoli „otrávit studnu“ zavedením velkého počtu kontraktů do blockchainu, které jsou speciálně navrženy tak, aby zmařily určité ASIC. Existují ekonomické pobídky pro výrobce ASIC, aby použili takový trik k vzájemnému útoku. Řešení, které vyvíjíme, je tedy nakonec spíše adaptivním ekonomicko-lidským řešením než čistě technickým.
+
+### Škálovatelnost {#scalability}
+
+Jednou z běžných obav ohledně Etherea je otázka škálovatelnosti. Stejně jako Bitcoin, i Ethereum trpí nedostatkem, že každá transakce musí být zpracována každým uzlem v síti. U Bitcoinu je velikost současného blockchainu přibližně 15 GB a roste o přibližně 1 MB za hodinu. Pokud by síť Bitcoin zpracovávala 2000 transakcí za sekundu jako Visa, rostla by o 1 MB za tři sekundy (1 GB za hodinu, 8 TB ročně). Ethereum pravděpodobně utrpí podobný růstový vzorec, zhoršený skutečností, že na blockchainu Etherea bude mnoho aplikací, nejen měna jako v případě Bitcoinu, ale zmírněný skutečností, že plné uzly Etherea potřebují ukládat pouze stav namísto celé historie blockchainu.
+
+Problém s tak velkou velikostí blockchainu je riziko centralizace. Pokud by se velikost blockchainu zvýšila například na 100 TB, pravděpodobným scénářem by bylo, že plné uzly by provozoval jen velmi malý počet velkých podniků a všichni běžní uživatelé by používali lehké SPV uzly. V takové situaci vzniká potenciální obava, že by se plné uzly mohly spojit a všechny se dohodnout, že budou podvádět nějakým ziskovým způsobem (např. změní odměnu za blok, dají si BTC). Lehké uzly by neměly žádný způsob, jak to okamžitě odhalit. Samozřejmě, pravděpodobně by existoval alespoň jeden poctivý plný uzel a po několika hodinách by se informace o podvodu dostaly ven prostřednictvím kanálů jako Reddit, ale v tu chvíli by bylo příliš pozdě: bylo by na běžných uživatelích, aby zorganizovali snahu o zařazení daných bloků na černou listinu, což je masivní a pravděpodobně neproveditelný koordinační problém v podobném měřítku jako provedení úspěšného 51% útoku. V případě Bitcoinu je to v současnosti problém, ale existuje modifikace blockchainu [navržená Peterem Toddem](https://web.archive.org/web/20140623061815/http://sourceforge.net/p/bitcoin/mailman/message/31709140/), která tento problém zmírní.
+
+V blízké budoucnosti Ethereum použije dvě další strategie, jak se s tímto problémem vypořádat. Za prvé, kvůli těžebním algoritmům založeným na blockchainu bude alespoň každý těžař nucen být plným uzlem, což vytváří dolní hranici počtu plných uzlů. Za druhé, a co je důležitější, zahrneme do blockchainu po zpracování každé transakce mezilehlý kořen stavového stromu. I když je validace bloků centralizovaná, pokud existuje alespoň jeden poctivý ověřovací uzel, lze problém centralizace obejít pomocí ověřovacího protokolu. Pokud těžař zveřejní neplatný blok, musí být tento blok buď špatně naformátován, nebo je stav `S[n]` nesprávný. Protože víme, že `S[0]` je správný, musí existovat nějaký první stav `S[i]`, který je nesprávný, zatímco `S[i-1]` je správný. Ověřující uzel by poskytl index `i` spolu s „důkazem neplatnosti“, který se skládá z podmnožiny uzlů Patricia stromu potřebných ke zpracování `APPLY(S[i-1],TX[i]) -> S[i]`. Uzly by mohly použít tyto uzly ke spuštění této části výpočtu a zjistit, že vygenerované `S[i]` neodpovídá poskytnutému `S[i]`.
+
+Další, sofistikovanější útok by zahrnoval zákeřné těžaře publikující neúplné bloky, takže by ani neexistovaly úplné informace k určení, zda jsou bloky platné. Řešením je protokol výzva-odpověď: ověřovací uzly vydávají „výzvy“ ve formě indexů cílových transakcí a po obdržení uzlu lehký uzel považuje blok za nedůvěryhodný, dokud jiný uzel, ať už těžař nebo jiný ověřovatel, neposkytne podmnožinu uzlů Patricia jako důkaz platnosti.
+
+## Závěr {#conclusion}
+
+Protokol Ethereum byl původně koncipován jako vylepšená verze kryptoměny, která poskytuje pokročilé funkce, jako je úschova na blockchainu, limity pro výběr, finanční smlouvy, trhy s hazardními hrami a podobně, a to prostřednictvím vysoce zobecněného programovacího jazyka. Protokol Ethereum by přímo „nepodporoval“ žádnou z aplikací, ale existence Turingovsky úplného programovacího jazyka znamená, že pro jakýkoli typ transakce nebo aplikaci lze teoreticky vytvořit libovolné kontrakty. Na Ethereu je však zajímavější to, že protokol Ethereum dalece přesahuje pouhou měnu. Protokoly kolem decentralizovaného ukládání souborů, decentralizovaných výpočtů a decentralizovaných predikčních trhů, mezi desítkami dalších takových konceptů, mají potenciál podstatně zvýšit efektivitu výpočetního průmyslu a poskytnout masivní impuls dalším protokolům peer-to-peer tím, že poprvé přidávají ekonomickou vrstvu. A konečně, existuje také podstatná řada aplikací, které nemají s penězi vůbec nic společného.
+
+Koncept funkce libovolného přechodu stavu, jak je implementován protokolem Ethereum, poskytuje platformu s jedinečným potenciálem. Namísto toho, aby byl Ethereum uzavřeným, jednoúčelovým protokolem určeným pro specifickou řadu aplikací v oblasti ukládání dat, hazardních her nebo financí, je z podstaty otevřený a věříme, že je mimořádně vhodný k tomu, aby v nadcházejících letech sloužil jako základní vrstva pro velmi velký počet finančních i nefinančních protokolů.
+
+## Poznámky a další literatura {#notes-and-further-reading}
+
+### Poznámky {#notes}
+
+1. Zkušený čtenář si může všimnout, že bitcoinová adresa je ve skutečnosti haš veřejného klíče eliptické křivky, a nikoli veřejný klíč samotný. V kryptografické terminologii je však zcela legitimní označovat haš veřejného klíče jako veřejný klíč samotný. Důvodem je, že kryptografie Bitcoinu může být považována za vlastní algoritmus digitálního podpisu, kde se veřejný klíč skládá z haše veřejného klíče ECC, podpis se skládá z veřejného klíče ECC zřetězeného s podpisem ECC a ověřovací algoritmus zahrnuje kontrolu veřejného klíče ECC v podpisu oproti haši veřejného klíče ECC poskytnutého jako veřejný klíč a následné ověření podpisu ECC oproti veřejnému klíči ECC.
+2. Technicky medián 11 předchozích bloků.
+3. Interně jsou 2 a „CHARLIE“ obě čísla[fn3](#notes), přičemž druhé je v reprezentaci big-endian se základem 256. Čísla mohou být alespoň 0 a nejvýše 2256-1.
+
+### Další čtení {#further-reading}
+
+1. [Vnitřní hodnota](https://bitcoinmagazine.com/culture/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it)
+2. [Chytrý majetek](https://en.bitcoin.it/wiki/Smart_Property)
+3. [Chytré kontrakty](https://en.bitcoin.it/wiki/Contracts)
+4. [B-money](http://www.weidai.com/bmoney.txt)
+5. [Opakovaně použitelné důkazy prací](https://nakamotoinstitute.org/finney/rpow/)
+6. [Bezpečné vlastnické tituly s autoritou vlastníka](https://nakamotoinstitute.org/library/secure-property-titles/)
+7. [Bílá kniha Bitcoinu](http://bitcoin.org/bitcoin.pdf)
+8. [Namecoin](https://namecoin.org/)
+9. [Zookův trojúhelník](https://wikipedia.org/wiki/Zooko's_triangle)
+10. [Bílá kniha Colored coins](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)
+11. [Bílá kniha Mastercoin](https://github.com/mastercoin-MSC/spec)
+12. [Decentralizované autonomní korporace, Bitcoin Magazine](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)
+13. [Zjednodušené ověření platby](https://en.bitcoin.it/wiki/Scalability#Simplified_payment_verification)
+14. [Merkleovy stromy](https://wikipedia.org/wiki/Merkle_tree)
+15. [Patricia stromy](https://wikipedia.org/wiki/Patricia_tree)
+16. [GHOST](https://eprint.iacr.org/2013/881.pdf)
+17. [StorJ a autonomní agenti, Jeff Garzik](http://garzikrants.blogspot.ca/2013/01/storj-and-bitcoin-autonomous-agents.html)
+18. [Mike Hearn o chytrém majetku na Turing Festivalu](https://www.youtube.com/watch?v=MVyv4t0OKe4)
+19. [Ethereum RLP](/developers/docs/data-structures-and-encoding/rlp/)
+20. [Merkle-Patricia stromy na Ethereu](/developers/docs/data-structures-and-encoding/patricia-merkle-trie/)
+21. [Peter Todd o Merkleových součtových stromech](https://web.archive.org/web/20140623061815/http://sourceforge.net/p/bitcoin/mailman/message/31709140/)
+
+_Historii bílé knihy najdete na [této wiki](https://web.archive.org/web/20250427212319/https://github.com/ethereum/wiki/blob/old-before-deleting-all-files-go-to-wiki-wiki-instead/old-whitepaper-for-historical-reference.md)._
+
+_Ethereum, stejně jako mnoho komunitou řízených softwarových projektů s otevřeným zdrojovým kódem, se od svého počátečního vzniku vyvíjelo. _Chcete-li se dozvědět o nejnovějším vývoji Etherea a o tom, jak se provádějí změny protokolu, doporučujeme [tohoto průvodce](/learn/)._
diff --git a/public/content/translations/cs/wrapped-eth/index.md b/public/content/translations/cs/wrapped-eth/index.md
new file mode 100644
index 00000000000..c22ec54b432
--- /dev/null
+++ b/public/content/translations/cs/wrapped-eth/index.md
@@ -0,0 +1,70 @@
+---
+title: Co je Zabalený ether (WETH)
+description: Úvod do Zabaleného etheru (WETH), ERC20-kompatibilního wrapperu pro ether (ETH).
+lang: cs
+---
+
+# Zabalený ether (WETH) {#intro-to-weth}
+
+
+
+
Připojte svou peněženku a zabalte nebo rozbalte ETH na jakémkoli řetězci na [WrapETH.com](https://www.wrapeth.com/)
+
+
+Ether (ETH) je hlavní měna Etherea. Používá se pro různé účely, jako je uzamčení, platby a placení poplatků za palivo potřebné pro výpočetní operace. **WETH je v podstatě vylepšená forma ETH s přidanými funkcemi, které vyžaduje řada aplikací a [ERC-20 tokeny(/glossary/#erc-20)**, což jsou další typy digitálních aktiv na Ethereu. Aby ETH mohlo pracovat s těmito tokeny, musí dodržovat stejná pravidla, která jsou stanovena standardem ERC-20.
+
+Zabalené ETH (WETH) byl vytvořeno za účelem zaplnění této mezery. Zabalené ETH je chytrý kontrakt, který vám umožní vložit libovolné množství ETH do kontraktu a obdržet stejné množství ve vyraženém WETH, které odpovídá standardu ERC-20 tokenů. WETH je reprezentací ETH, která vám umožňuje s ním zacházet jako s ERC-20 tokenem, nikoliv jako s nativním ETH. Stále však budete potřebovat nativní ETH k placení poplatků za palivo, takže si při směně nezapomeňte nechat potřebnou část ETH.
+
+Pomocí WETH chytrého kontraktu můžete WETH zpětně vyměnit za ETH. Pomocí WETH chytrého kontraktu si můžete i zpětně vyměnit libovolné množství WETH a obdržíte stejné množství v ETH. Takto vložené WETH je následně spáleno a odebráno z oběhu.
+
+**V kontraktu WETH tokenu jsou uzamčena asi ~3 % oběžné zásoby ETH**, což z něj činí jeden z nejpoužívanějších [chytrých kontraktů](/glossary/#smart-contract). WETH je obzvláště důležité pro uživatele, kteří interagují s aplikacemi v decentralizovaných financích (DeFi).
+
+## Proč potřebujeme ETH zabalit jako ERC-20? {#why-do-we-need-to-wrap-eth}
+
+[ERC-20](/developers/docs/standards/tokens/erc-20/) definuje standardní rozhraní pro transferovatelné tokeny, takže kdokoli může vytvářet tokeny, které spolupracují s aplikacemi bez jakýchkoliv problémů, a tokeny, které používají tento standard v ekosystému Etherea. Protože ETH existovalo dříve než standard ERC-20, nesplňuje tuto specifikaci. To znamená, že **nemůžete snadno** směnit ETH za jiné ERC-20 tokeny nebo **používat ETH v aplikacích, které používají standard ERC-20**. Zabalení ETH vám umožňuje následující:
+
+- **Směna ETH za ERC-20 tokeny**: Nemůžete přímo vyměnit ETH za jiné ERC-20 tokeny. WETH je reprezentací etheru, která splňuje standard ERC-20 a může být směňováno za jiné ERC-20 tokeny.
+
+- **Použití ETH v dappkách**: Protože ETH není kompatibilní s ERC-20, vývojáři by museli vytvořit samostatná rozhraní (jedno pro ETH a další pro ERC-20 tokeny) v dappkách. Zabalení ETH tento problém odstraňuje a umožňuje vývojářům pracovat s ETH a dalšími tokeny v rámci stejné aplikace. Spousta aplikací v decentralizovaných financích používá tento standard a vytváří trhy pro směnu těchto tokenů.
+
+## Zabalený ether (WETH) vs. ether (ETH): Čím se liší? {#weth-vs-eth-differences}
+
+| | **Ether (ETH)** | **Zabalený ether (WETH)** |
+| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Zásoba | Zásoba ETH je spravována protokolem Ethereum. [Vydávání](/roadmap/merge/issuance) ETH je zajišťováno validátory Etherea během zpracování transakcí a vytváření bloků. | WETH je ERC-20 token, jehož zásoba je spravována chytrým kontraktem. Nové jednotky WETH jsou vydávány kontraktem po obdržení vkladů ETH od uživatelů nebo jsou jednotky WETH spáleny, když si uživatel přeje zpětně vyměnit WETH za ETH. |
+| Vlastnictví | Vlastnictví je spravováno protokolem Ethereum prostřednictvím vašeho zůstatku na účtu. | Vlastnictví WETH je spravováno chytrým kontraktem WETH, který je zabezpečen protokolem Ethereum. |
+| Palivo | Ether (ETH) je akceptovaná jednotka platby za výpočetní operace v síti Ethereum. Poplatky za palivo jsou denominovány v gwei (jednotka etheru). | Placení poplatků za palivo pomocí WETH tokenů není nativně podporováno. |
+
+## Často kladené dotazy {#faq}
+
+
+
+Platíte poplatky za palivo při balení nebo rozbalování ETH pomocí WETH kontraktu.
+
+
+
+
+
+WETH je obecně považováno za bezpečné, protože je založeno na jednoduchém, osvědčeném chytrém kontraktu. WETH kontrakt byl také formálně ověřen, což je nejvyšší bezpečnostní standard pro chytré kontrakty na Ethereu.
+
+
+
+
+
+Kromě [kanonické implementace WETH](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2) popsané na této stránce existují i jiné varianty. Tyto varianty mohou být tokeny, které vytvořili vývojáři aplikací pro vlastní účely, nebo verze vydané na jiných blockchainech a mohou se chovat odlišně nebo mít odlišné bezpečnostní vlastnosti. **Vždy si ověřte informace o tokenu, abyste věděli, s jakou implementací WETH pracujete.**
+
+
+
+
+
+- [Hlavní síť Ethereum](https://etherscan.io/token/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
+- [Arbitrum](https://arbiscan.io/token/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)
+- [Optimism](https://optimistic.etherscan.io/token/0x4200000000000000000000000000000000000006)
+
+
+
+## Další čtení {#further-reading}
+
+- [Co je WETH?](https://weth.tkn.eth.limo/)
+- [Informace o tokenu WETH na Blockscoutu](https://eth.blockscout.com/token/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
+- [Formální verifikace WETH](https://zellic.io/blog/formal-verification-weth)
diff --git a/public/content/translations/cs/zero-knowledge-proofs/index.md b/public/content/translations/cs/zero-knowledge-proofs/index.md
index 56e89bde927..22a3405b118 100644
--- a/public/content/translations/cs/zero-knowledge-proofs/index.md
+++ b/public/content/translations/cs/zero-knowledge-proofs/index.md
@@ -1,5 +1,5 @@
---
-title: Důkaz nulovou znalostí
+title: Důkazy s nulovou znalostí
description: Netechnický úvod do důkazů s nulovou znalostí pro začátečníky.
lang: cs
---
@@ -8,9 +8,9 @@ lang: cs
Důkaz s nulovou znalostí je způsob, jak prokázat platnost tvrzení, aniž by bylo odhaleno samotné tvrzení. „Dokazovatel“ je strana, která se snaží prokázat tvrzení, zatímco „ověřovatel“ je odpovědný za ověření tvrzení.
-Důkazy s nulovou znalostí se poprvé objevily v dokumentu z roku 1985 s názvem „[Znalostí komplexita interaktivních důkazních systémů](http://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Proof%20Systems/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf)“. Ten poskytuje definici důkazů s nulovými znalostmi, která se dnes používá nejvíce:
+Důkazy s nulovou znalostí se poprvé objevily v článku z roku 1985 „[The knowledge complexity of interactive proof systems](http://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Proof%20Systems/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf)“, který poskytuje definici důkazů s nulovou znalostí, jež se dnes široce používá:
-> Protokol s nulovou znalostí je metoda, pomocí které jedna strana (dokazovatel) **může prokázat** druhé straně (ověřovateli), **že je něco pravdivé, aniž by prozradila jakékoli informace** kromě skutečnosti, že toto konkrétní tvrzení je pravdivé.
+> Protokol s nulovou znalostí je metoda, kterou může jedna strana (dokazovatel) **prokázat** druhé straně (ověřovateli), **že je něco pravdivé, aniž by prozradila jakoukoli jinou informaci** kromě skutečnosti, že toto konkrétní tvrzení je pravdivé.
Důkazy s nulovou znalostí se v průběhu let vylepšovaly a nyní se používají v aplikacích v reálném světě.
@@ -22,31 +22,54 @@ Důkazy nulové znalosti představovaly průlom v aplikované kryptografii, prot
S tímto přístupem se ale pojí různé problémy, především nedostatek soukromí. Informace identifikující osobu (Personally Identifiable Information, PII) sdílené se službami třetích stran jsou uloženy v centrálních databázích, které jsou zranitelné vůči útokům hackerů. Vzhledem k tomu, že krádež identity je kritickým problémem, zvyšují se požadavky na další na ochranu soukromí při sdílení citlivých informací.
-Důkazy nulové znalosti řeší tento problém tím, že **odstraňují potřebu odhalovat citlivé informace za účelem prokázání platnosti tvrzení**. Protokol s nulovou znalostí používá výrok (nazývaný „svědek“) jako vstup pro vytvoření stručného důkazu jeho platnosti. Tento důkaz poskytuje záruku, že je prohlášení pravdivé, aniž by odhalil informace použité při jeho vytváření.
+Důkazy s nulovou znalostí řeší tento problém **odstraněním potřeby odhalovat informace k prokázání platnosti tvrzení**. Protokol s nulovou znalostí používá výrok (nazývaný „svědek“) jako vstup pro vytvoření stručného důkazu jeho platnosti. Tento důkaz poskytuje záruku, že je prohlášení pravdivé, aniž by odhalil informace použité při jeho vytváření.
Vraťme se k našemu příkladu: Jediný důkaz, který potřebujete k prokázání svého občanství, je důkaz nulové znalosti. Ověřovatel musí pouze zkontrolovat, zda platí určité vlastnosti důkazu, aby se přesvědčil, že platí i základní tvrzení.
-## Ukázkové případy použití důkazů s nulovou znalostí {#use-cases-for-zero-knowledge-proofs}
+## Případy použití důkazů s nulovou znalostí {#use-cases-for-zero-knowledge-proofs}
### Anonymní platby {#anonymous-payments}
Platby kreditní kartou jsou často viditelné pro více stran, včetně poskytovatele plateb, bank a dalších zainteresovaných stran (např. vládních úřadů). Finanční dohled má sice výhody, například v případě odhalování nezákonné činnosti, ale také narušuje soukromí běžných občanů.
-Kryptoměny byly vyvinuty jako nástroj pro uskutečňování soukromých peer-to-peer transakcí. Většina transakcí s kryptoměnami je ale otevřeně viditelná na veřejných blockchainech. Identity uživatelů jsou často pseudonymní a buď záměrně propojeny s identitami v reálném světě (např. zahrnutím ETH adres na profily na Twitteru nebo GitHubu), nebo mohou být spojeny s identitami v reálném světě pomocí datové analýzy aktivity uživatele.
+Kryptoměny byly vyvinuty jako nástroj pro uskutečňování soukromých peer-to-peer transakcí. Většina transakcí s kryptoměnami je ale otevřeně viditelná na veřejných blockchainech. Identity uživatelů jsou často pseudonymní a buď úmyslně propojeny s identitami v reálném světě (např. uvedením ETH adres na profilech na Twitteru nebo GitHubu), nebo mohou být spojeny s identitami v reálném světě pomocí základní analýzy dat na blockchainu a mimo něj.
Existují specifické „kryptoměny na ochranu soukromí“ určené pro zcela anonymní transakce. Blockchainy zaměřené na soukromí, jako jsou Zcash a Monero, neuvádí podrobnosti o transakci, včetně adres odesílatele/příjemce, typu finančních prostředků, množství a časové osy transakce.
-Díky zahrnutí technologie nulové znalosti umožňují [blockchainové](/glossary/#blockchain) sítě, které se zaměřují na soukromí, [síťovým uzlům](/glossary/#node) ověřovat transakce bez nutnosti přístupu k datům transakcí. [EIP-7503](https://eips.ethereum.org/EIPS/eip-7503) je příkladem navrženého návrhu, který umožní nativní soukromé převody hodnoty v blockchainu Etherea. Takové návrhy je však obtížné realizovat kvůli kombinaci bezpečnostních, regulačních a uživatelských obav.
+Díky zahrnutí technologie s nulovou znalostí do protokolu umožňují [blockchainové](/glossary/#blockchain) sítě zaměřené na soukromí [uzlům](/glossary/#node) ověřovat transakce, aniž by potřebovaly přístup k transakčním datům. [EIP-7503](https://eips.ethereum.org/EIPS/eip-7503) je příkladem navrženého designu, který umožní nativní soukromé převody hodnoty na blockchainu Etherea. Takové návrhy je však obtížné realizovat kvůli kombinaci bezpečnostních, regulačních a uživatelských obav.
-**Důkazy s nulovými znalostmi se také používají při anonymizaci transakcí na veřejných blockchainech.** Příkladem je Tornado Cash, decentralizovaná služba bez třetí strany, která uživatelům umožňuje provádět soukromé transakce na Ethereu. Tornado Cash používá důkazy s nulovou znalostí ke skrytí podrobností o transakcích a k zajištění finančního soukromí. Bohužel, protože se jedná o "opt-in" nástroje ochrany osobních údajů, jsou spojovány s nezákonnou činností. Pro vyřešení tohoto problému je třeba, aby se soukromí stalo výchozím nastavením veřejných blockchainů.
+**Důkazy s nulovými znalostmi se také používají při anonymizaci transakcí na veřejných blockchainech**. Příkladem je Tornado Cash, decentralizovaná služba bez třetí strany, která uživatelům umožňuje provádět soukromé transakce na Ethereu. Tornado Cash používá důkazy s nulovou znalostí ke skrytí podrobností o transakcích a k zajištění finančního soukromí. Bohužel, protože se jedná o "opt-in" nástroje ochrany osobních údajů, jsou spojovány s nezákonnou činností. Pro vyřešení tohoto problému je třeba, aby se soukromí stalo výchozím nastavením veřejných blockchainů. Zjistěte více o [soukromí na Ethereu](/privacy/).
### Ochrana identity {#identity-protection}
Většina současných systémů sloužících ke správě identit ohrožuje osobní údaje. Důkazy s nulovou znalostí mohou jednotlivcům pomoci ověřit svoji identitu a zároveň chránit citlivé detaily.
-Důkazy s nulovou znalostí jsou zvláště užitečné v kontextu [decentralizované identity](/decentralized-identity/). Decentralizovaná identita (také popisovaná jako „samostatná identita“) dává jednotlivci možnost převzít kontrolu nad přístupem k osobním údajům. Dobrým příkladem toho, jak technologie s nulovou znalostí umožňuje decentralizovanou identitu, je prokazování občanství bez odhalení údajů o vašem daňovém identifikačním čísle nebo pasu.
+Důkazy s nulovou znalostí jsou obzvláště užitečné v kontextu [decentralizované identity](/decentralized-identity/). Decentralizovaná identita (také popisovaná jako „samostatná identita“) dává jednotlivci možnost převzít kontrolu nad přístupem k osobním údajům. Dobrým příkladem toho, jak technologie s nulovou znalostí umožňuje decentralizovanou identitu, je prokazování občanství bez odhalení údajů o vašem daňovém identifikačním čísle nebo pasu.
-### Ověření {#authentication}
+
+
+
+
+ ZKP + identita v akci: Bhútánské národní digitální ID (NDI) na Ethereu
+
+
+
+ Reálným příkladem použití ZKP pro systémy správy identity je systém národního digitálního ID (NDI) Bhútánského království, postavený na Ethereu. Bhútánské NDI používá ZKP, aby občané mohli kryptograficky prokázat fakta o sobě, jako například "Jsem občan" nebo "Je mi více než 18 let", aniž by odhalili citlivé osobní údaje na svém průkazu.
+
+
+
+
+
+### Důkaz lidství {#proof-of-humanity}
+
+Jedním z nejpoužívanějších příkladů důkazů s nulovou znalostí v praxi je dnes protokol [World ID](https://world.org/blog/world/world-id-faqs), který si lze představit jako „globální digitální pas pro věk umělé inteligence“. Umožňuje lidem prokázat, že jsou jedineční, aniž by odhalili osobní údaje. Toho je dosaženo prostřednictvím zařízení zvaného Orb, které naskenuje duhovku člověka a vygeneruje kód duhovky. Kód duhovky je zkontrolován a ověřen, aby se potvrdilo, že osoba je biologicky jedinečnou lidskou bytostí. Po ověření je na zabezpečený seznam na blockchainu přidán závazek identity vygenerovaný na zařízení uživatele (který není spojen s biometrickými údaji ani z nich odvozen). Kdykoli pak uživatel chce prokázat, že je ověřený člověk – ať už se chce přihlásit, hlasovat nebo provést jiné akce – může vygenerovat důkaz s nulovou znalostí, který potvrdí jeho členství v seznamu. Krása použití důkazu s nulovou znalostí spočívá v tom, že je odhalen pouze jeden výrok: tato osoba je jedinečná. Všechno ostatní zůstává soukromé.
+
+World ID se spoléhá na [protokol Semaphore](https://docs.semaphore.pse.dev/) vyvinutý [týmem PSE](https://pse.dev/) v nadaci Ethereum. Semaphore je navržen jako odlehčený, ale výkonný způsob generování a ověřování důkazů s nulovou znalostí. Umožňuje uživatelům prokázat, že jsou součástí skupiny (v tomto případě ověření lidé), aniž by ukázali, kterým členem skupiny jsou. Semaphore je také vysoce flexibilní a umožňuje vytvářet skupiny na základě široké škály kritérií, jako je ověření identity, účast na událostech nebo vlastnictví pověření.
+
+### Ověřování {#authentication}
Používání online služeb je často podmíněno prokázáním vaší identity a právy na přístup k těmto platformám. To často vyžaduje poskytnutí osobních údajů, jako jsou jména, e-mailové adresy, data narození atd. Možná si také budete muset zapamatovat dlouhá hesla nebo riskovat ztrátu přístupu.
@@ -56,11 +79,11 @@ Důkazy s nulovou znalostí mohou zjednodušit ověřování pro platformy i už
Ověřitelný výpočet je další aplikací technologie s nulovou znalostí pro zlepšení chodu blockchainu. Umožňuje nám outsourcovat výpočty jinému subjektu a to při zachování ověřitelných výsledků. Subjekt předloží výsledek spolu s dokladem, který ověřuje, že program byl spuštěn správně.
-Ověřitelný výpočet je **zásadní pro zlepšení rychlosti zpracování na blockchain** bez snížení bezpečnosti. Pochopení tohoto principu vyžaduje znalost rozdílů v navrhovaných řešeních pro škálování Etherea.
+Ověřitelný výpočet je **zásadní pro zlepšení rychlosti zpracování na blockchainech** bez snížení bezpečnosti. Pochopení tohoto principu vyžaduje znalost rozdílů v navrhovaných řešeních pro škálování Etherea.
-[Řešení škálování blockchainu](/developers/docs/scaling/#onchain-scaling), jako je tříštění, vyžadují rozsáhlou úpravu základní vrstvy blockchainu. Tento přístup je však velmi složitý a chyby v implementaci mohou podkopat bezpečnostní model Etherea.
+[Řešení pro škálování na blockchainu](/developers/docs/scaling/#onchain-scaling), jako je sharding, vyžadují rozsáhlé úpravy základní vrstvy blockchainu. Tento přístup je však velmi složitý a chyby v implementaci mohou podkopat bezpečnostní model Etherea.
-[Řešení škálování mimo blockchain](/developers/docs/scaling/#offchain-scaling) nevyžadují přepracování základního protokolu Etherea. Místo toho se spoléhají na outsourcovaný výpočetní model pro zlepšení propustnosti transakcí na základní vrstvě Etherea.
+[Řešení pro škálování mimo blockchain](/developers/docs/scaling/#offchain-scaling) nevyžadují přepracování základního protokolu Etherea. Místo toho se spoléhají na outsourcovaný výpočetní model pro zlepšení propustnosti transakcí na základní vrstvě Etherea.
V praxi to funguje takto:
@@ -72,29 +95,29 @@ Výhodou je, že Ethereum nemusí provádět žádnou exekuci a potřebuje pouze
Blockchain potřebuje způsob, jak ověřovat transakce mimo blockchain bez opětovného provádění, jinak dojde ke ztrátě výhody exekuce mimo blockchain.
-Zde přichází na řadu ověřitelný výpočet. Když uzel provede transakci mimo Ethereum, předloží důkaz nulové znalosti, aby prokázal správnost exekuce mimo blockchain. Tento důkaz (nazývaný [důkaz platnosti](/glossary/#validity-proof)) zaručuje, že transakce je platná, což umožňuje Ethereu aplikovat výsledek na svůj stav – aniž by čekal, zda tento výsledek někdo zpochybní.
+Zde přichází na řadu ověřitelný výpočet. Když uzel provede transakci mimo Ethereum, předloží důkaz nulové znalosti, aby prokázal správnost exekuce mimo blockchain. Tento důkaz (nazývaný [důkaz platnosti](/glossary/#validity-proof)) zaručuje, že transakce je platná, a umožňuje Ethereu aplikovat výsledek na svůj stav – aniž by čekal, zda ho někdo zpochybní.
[Rollupy s nulovou znalostí](/developers/docs/scaling/zk-rollups) a [validia](/developers/docs/scaling/validium/) jsou dvě řešení škálování mimo blockchain, která používají důkazy platnosti k zajištění bezpečné škálovatelnosti. Tyto protokoly provádějí tisíce transakcí mimo blockchain a předkládají důkazy k ověření na Ethereu. Tyto výsledky lze použít okamžitě po ověření důkazu, což umožňuje Ethereu zpracovat více transakcí bez zvýšení náročnosti výpočtů na základní vrstvě.
### Snížení úplatkářství a tajných dohod při hlasování na blockchainu {#secure-blockchain-voting}
-Hlasovací schémata na blockchainu mají spoustu dobrých vlastností: Jsou plně auditovatelná, zabezpečená proti útokům, odolná vůči cenzuře a nemají žádná geografická omezení. Ale nejsou imunní vůči problému **tajné dohody**.
+Hlasovací schémata na blockchainu mají spoustu dobrých vlastností: Jsou plně auditovatelná, zabezpečená proti útokům, odolná vůči cenzuře a nemají žádná geografická omezení. Ale ani systémy hlasování na blockchainu nejsou imunní vůči problému **koluze**.
Tajná dohoda, definovaná jako „koordinace za účelem omezení otevřené soutěže klamáním, podváděním a navedením druhých“, může mít podobu nabízení úplatků. Například Alice může dostat úplatek od Boba, aby hlasovala pro `možnost B` na hlasovacím lístku, i když dává přednost `možnosti A`.
Úplatkářství a tajné dohody omezují efektivitu jakéhokoli procesu, který využívá hlasování, ale zejména těch, kde uživatelé mohou prokázat, jak hlasovali. To může mít neblahé důsledky zejména na místech, kde hlasy slouží k přidělování omezených zdrojů.
-Například [kvadratické mechanismy financování](https://www.radicalxchange.org/concepts/plural-funding/) využívají dary k měření preference veřejně prospěšných projektů. Každý dar se počítá jako „hlas“ pro konkrétní projekt, přičemž projekty, které získají více hlasů, získají více prostředků z odpovídající skupiny.
+Například [mechanismy kvadratického financování](https://www.radicalxchange.org/wiki/plural-funding/) se spoléhají na dary k měření preferencí pro určité možnosti mezi různými projekty veřejných statků. Každý dar se počítá jako „hlas“ pro konkrétní projekt, přičemž projekty, které získají více hlasů, získají více prostředků z odpovídající skupiny.
Díky hlasování na blockchainu je kvadratické financování náchylné k tajným dohodám: Blockchainové transakce jsou veřejné, takže úplatkáři mohou kontrolovat aktivitu úplatkáře na blockchainu, protože vidí, jak kdo „hlasoval“. Tímto způsobem kvadratické financování přestává být efektivním prostředkem pro alokaci finančních prostředků na základě preferencí komunity.
-Novější řešení, jako je MACI (Minimum Anti-Collusion Infrastructure), naštěstí používají důkazy nulové znalosti, aby bylo hlasování na blockchainu (např. kvadratické mechanismy financování) odolné vůči úplatkům a tajným dohodám. MACI je sada chytrých kontraktů a skriptů, které umožňují centrálnímu správci (nazývanému „koordinátor“) shromažďovat hlasy a sčítat výsledky, _aniž by odhalovaly_ podrobnosti o tom, jak jednotlivci hlasovali. I tak je možné ověřit, že hlasy byly řádně sečteny, případně potvrdit, že se konkrétní jednotlivec zúčastnil hlasování.
+Naštěstí novější řešení jako MACI (Minimum Anti-Collusion Infrastructure) používají důkazy s nulovou znalostí, aby bylo hlasování na blockchainu (např. mechanismy kvadratického financování) odolné vůči úplatkům a tajným dohodám. MACI je sada chytrých kontraktů a skriptů, které umožňují centrálnímu správci (nazývanému "koordinátor") shromažďovat hlasy a sčítat výsledky, _aniž by_ odhalovaly podrobnosti o tom, jak jednotlivci hlasovali. I tak je možné ověřit, že hlasy byly řádně sečteny, případně potvrdit, že se konkrétní jednotlivec zúčastnil hlasování.
#### Jak MACI pracuje s důkazy s nulovou znalostí? {#how-maci-works-with-zk-proofs}
Na začátku koordinátor zařadí MACI kontrakt na Ethereum, pté se uživatelé mohou přihlásit k hlasování (registrací svého veřejného klíče do chytrého kontraktu). Uživatelé hlasují zasíláním zpráv zašifrovaných jejich veřejným klíčem do chytrého kontraktu (platný hlas musí být mimo jiné podepsán nejnovějším veřejným klíčem spojeným s identitou uživatele). Poté koordinátor zpracuje všechny zprávy po skončení hlasování, sečte hlasy a ověří výsledky na blockchainu.
-V MACI se důkazy s nulovou znalostí používají k zajištění správnosti výpočtu tím, že koordinátorovi znemožní nesprávné zpracování hlasů a sečtení výsledků. Toho je dosaženo tím, že koordinátor musí vygenerovat důkazy ZK-SNARK ověřující, že a) všechny zprávy byly zpracovány správně, b) konečný výsledek odpovídá součtu všech _platných_ hlasů.
+V MACI se důkazy s nulovou znalostí používají k zajištění správnosti výpočtu tím, že koordinátorovi znemožní nesprávné zpracování hlasů a sečtení výsledků. Toho je dosaženo tím, že koordinátor musí vygenerovat ZK-SNARK důkazy ověřující, že a) všechny zprávy byly zpracovány správně b) konečný výsledek odpovídá součtu všech _platných_ hlasů.
MACI tedy i bez sdílení podrobností o hlasech uživatelů (jak je tomu obvykle) zaručuje integritu výsledků hlasování. Tato funkce je užitečná při snižování účinnosti základních tajných dohod. Tuto možnost můžeme ilustrovat pomocí předchozího příkladu, kdy Bob podplatil Alici, aby hlasovala pro jím preferovanou možnost:
@@ -102,13 +125,13 @@ MACI tedy i bez sdílení podrobností o hlasech uživatelů (jak je tomu obvykl
- Alice souhlasí, že bude hlasovat pro `možnost B` výměnou za úplatek od Boba.
- Alice hlasuje pro `možnost B`.
- Alice tajně odešle zašifrovanou transakci, a tím změní veřejný klíč spojený se svou identitou.
-- Alice odešle další (zašifrovanou) zprávu do chytrého kontraktu, čímž hlasuje pro `možnost A` pomocí nového veřejného klíče.
-- Alice ukáže Bobovi transakci, která prokazuje, že hlasovala pro `možnost B` (tato transakce je neplatná, protože veřejný klíč, který pro tento hlas použila, již není spojen s Alicinou identitou v systému)
-- Při zpracovávání zpráv koordinátor přeskočí Alicin hlas pro `možnost B` a započítává pouze hlas pro `možnost A`. Proto Bobův pokus manipulovat s hlasováním pomocí tajné dohody s Alicí selže.
+- Alice pošle další (zašifrovanou) zprávu do chytrého kontraktu, kde hlasuje pro `možnost A` pomocí nového veřejného klíče.
+- Alice ukáže Bobovi transakci, která dokazuje, že hlasovala pro `možnost B` (která je neplatná, protože veřejný klíč již není v systému spojen s Alicinou identitou).
+- Při zpracování zpráv koordinátor přeskočí Alicin hlas pro `možnost B` a započítá pouze hlas pro `možnost A`. Proto Bobův pokus manipulovat s hlasováním pomocí tajné dohody s Alicí selže.
-Používání MACI _vyžaduje_ víru, že se koordinátor nedomluví s úplatkáři nebo se nepokusí uplatit samotné voliče. Koordinátor může dešifrovat uživatelské zprávy (nezbytné pro vytvoření důkazu), takže pro něj není problém přesně ověřit, jak kdo hlasoval.
+Použití MACI _vyžaduje_ důvěru, že koordinátor nebude tajně spolupracovat s úplatkáři ani se nepokusí uplatit samotné voliče. Koordinátor může dešifrovat uživatelské zprávy (nezbytné pro vytvoření důkazu), takže pro něj není problém přesně ověřit, jak kdo hlasoval.
-Ale v případech, kdy je koordinátor čestný, MACI představuje mocný nástroj pro zaručení poctivosti hlasování na blockchainu. To vysvětluje jeho popularitu mezi aplikacemi kvadratického financování (např. [clr.fund](https://clr.fund/#/about/maci)), které do značné míry spoléhají na nedotknutelnost volby každého jednotlivce.
+Ale v případech, kdy je koordinátor čestný, MACI představuje mocný nástroj pro zaručení poctivosti hlasování na blockchainu. To vysvětluje jeho popularitu mezi aplikacemi kvadratického financování (např. [clr.fund](https://clr.fund/#/about/maci)), které se silně spoléhají na integritu volebních rozhodnutí každého jednotlivce.
[Zjistěte více o MACI](https://maci.pse.dev/).
@@ -118,29 +141,29 @@ Důkaz s nulovou znalostí vám umožňuje prokázat pravdivost tvrzení, aniž
Protokol s nulovou znalostí musí splňovat tato kritéria:
-1. **Úplnost:** Pokud je vstup platný, protokol s nulovou znalostí vždy vrátí hodnotu „true“. Pokud je tedy základní tvrzení pravdivé a dokazovatel i ověřovatel jednají čestně, je možné důkaz přijmout.
+1. **Úplnost**: Pokud je vstup platný, protokol s nulovou znalostí vždy vrátí hodnotu „true“. Pokud je tedy základní tvrzení pravdivé a dokazovatel i ověřovatel jednají čestně, je možné důkaz přijmout.
-2. **Spolehlivost**: Pokud je vstup neplatný, je teoreticky nemožné přimět protokol s nulovou znalostí, aby vrátil hodnotu „pravda“. Nepoctivý dokazovatel tedy nemůže oklamat poctivého ověřovatele, nebude schopen ho přesvědčit, že neplatný výrok je platný (s výjimkou zanedbatelné míry pravděpodobnosti).
+2. **Spolehlivost**: Pokud je vstup neplatný, je teoreticky nemožné přimět protokol s nulovou znalostí, aby vrátil hodnotu „true“. Nepoctivý dokazovatel tedy nemůže oklamat poctivého ověřovatele, nebude schopen ho přesvědčit, že neplatný výrok je platný (s výjimkou zanedbatelné míry pravděpodobnosti).
-3. **Nulová znalost**: Ověřovatel se o výroku nedozví nic kromě jeho platnosti nebo nepravdivosti (má „nulovou znalost“ výroku). Tento požadavek také brání ověřovateli na základě důkazu uhodnout původní vstup (obsah prohlášení).
+3. **Nulová znalost**: Ověřovatel se o tvrzení nedozví nic kromě jeho platnosti nebo nepravdivosti (má o tvrzení „nulovou znalost“). Tento požadavek také brání ověřovateli na základě důkazu uhodnout původní vstup (obsah prohlášení).
-V základní podobě se důkaz s nulovou znalostí skládá ze tří prvků. Jsou to: **svědek**, **zkouška** a **odpověď**.
+V základní podobě se důkaz s nulovou znalostí skládá ze tří prvků: **svědek**, **výzva** a **odpověď**.
-- **Svědek**: Důkazem s nulovou znalostí chce dokazovatel prokázat znalost nějaké skryté informace. Tajná informace je „svědkem“ důkazu a předpokládaná znalost svědka ověřovatelem vytváří soubor otázek, na které může odpovědět pouze strana, která tyto informace zná. Dokazovatel tedy zahájí proces dokazování náhodným výběrem otázky, vypočítáním odpovědi a jejím odesláním ověřovateli.
+- **Svědek**: Pomocí důkazu s nulovou znalostí chce dokazovatel prokázat znalost nějaké skryté informace. Tajná informace je „svědkem“ důkazu a předpokládaná znalost svědka ověřovatelem vytváří soubor otázek, na které může odpovědět pouze strana, která tyto informace zná. Dokazovatel tedy zahájí proces dokazování náhodným výběrem otázky, vypočítáním odpovědi a jejím odesláním ověřovateli.
-- **Zkouška**: Ověřovatel náhodně vybere další otázku ze sady a požádá dokazovatele, aby na ni odpověděl.
+- **Výzva**: Ověřovatel náhodně vybere ze sady další otázku a požádá dokazovatele, aby na ni odpověděl.
- **Odpověď**: Dokazovatel přijme otázku, vypočítá odpověď a vrátí ji ověřovateli. Odpověď dokazovatele umožňuje ověřovateli zkontrolovat, zda má skutečně přístup ke svědkovi. Aby dokazovatel nehádal naslepo a náhodou správné odpovědi neuhodl, vybere ověřovatel více otázek, na které se bude ptát. Mnohonásobným opakováním tohoto postupu výrazně klesá možnost podvodu ze strany dokazovatele. Je proto nutné provést ho několikrát za sebou, dokud není ověřovatel spokojen.
Výše uvedené popisuje strukturu „interaktivního důkazu s nulovou znalostí“. Rané protokoly s nulovou znalostí používaly interaktivní dokazování, kde ověření platnosti prohlášení vyžadovalo zpětnou komunikaci mezi dokazovateli a ověřovateli.
-Dobrým příkladem, který ilustruje, jak fungují interaktivní důkazy, je slavný [příběh jeskyně Ali Baba](https://en.wikipedia.org/wiki/Zero-knowledge_proof#The_Ali_Baba_cave) od Jeana-Jacquese Quisquatera. V příběhu chce Peggy (dokazovatel) dokázat Victorovi (ověřovatel), že zná tajnou frázi, jak otevřít kouzelné dveře, aniž by ji prozradila.
+Dobrým příkladem, který ilustruje, jak fungují interaktivní důkazy, je slavný [příběh o jeskyni Ali Baby](https://en.wikipedia.org/wiki/Zero-knowledge_proof#The_Ali_Baba_cave) od Jeana-Jacquese Quisquatera. V příběhu chce Peggy (dokazovatel) dokázat Victorovi (ověřovatel), že zná tajnou frázi, jak otevřít kouzelné dveře, aniž by ji prozradila.
### Neinteraktivní důkazy s nulovou znalostí {#non-interactive-zero-knowledge-proofs}
I když je interaktivní dokazování revoluční, mělo omezenou užitečnost, protože vyžadovalo, aby byly obě strany k dispozici a interagovaly opakovaně. I kdyby byl ověřovatel přesvědčen o poctivosti dokazovatele, důkaz by nebyl k dispozici pro nezávislé ověření (protože výpočet nového důkazu vyžadoval novou sadu zpráv mezi dokazovatelem a ověřovatelem).
-K vyřešení tohoto problému Manuel Blum, Paul Feldman a Silvio Micali navrhli první [neinteraktivní důkazy s nulovou znalostí](https://dl.acm.org/doi/10.1145/62212.62222), kde dokazobvatel a ověřovatel sdílejí klíč. To umožňuje dokazovateli prokázat svou znalost některých informací (tj. svědka), aniž by poskytoval informace samotné.
+K vyřešení tohoto problému navrhli Manuel Blum, Paul Feldman a Silvio Micali první [neinteraktivní důkazy s nulovou znalostí](https://dl.acm.org/doi/10.1145/62212.62222), kde dokazovatel a ověřovatel mají sdílený klíč. To umožňuje dokazovateli prokázat svou znalost některých informací (tj. svědka), aniž by poskytoval informace samotné.
Na rozdíl od interaktivních důkazů vyžadují neinteraktivní důkazy pouze jedno kolo komunikace mezi účastníky (dokazovatelem a ověřovatelem). Dokazovatel předá tajné informace speciálnímu algoritmu pro výpočet důkazu s nulovou znalostí. Tento důkaz je zaslán ověřovateli, který pomocí jiného algoritmu zkontroluje, že dokazovatel zná tajné informace.
@@ -150,37 +173,37 @@ Neinteraktivní důkazy představovaly průlom v technologii nulové znalosti a
### Typy důkazů s nulovou znalostí {#types-of-zero-knowledge-proofs}
-#### ZK-SNARKy {#zk-snarks}
+#### ZK-SNARKs {#zk-snarks}
ZK-SNARK je zkratka pro **Zero-Knowledge Succinct Non-Interactive Argument of Knowledge**. Protokol ZK-SNARK má následující vlastnosti:
-- **Nulová znalost**: Ověřovatel může ověřit platnost tvrzení, aniž by o tvrzení věděl cokoliv dalšího. Jediné, co ověřovatel o prohlášení ví, je, zda je pravdivé nebo nepravdivé.
+- **Nulová znalost**: Ověřovatel může potvrdit integritu tvrzení, aniž by o něm věděl cokoli jiného. Jediné, co ověřovatel o prohlášení ví, je, zda je pravdivé nebo nepravdivé.
-- **Spolehlivost**: Důkaz s nulovou znalostí je menší než svědek a je možné ho ověřit rychle.
+- **Stručnost**: Důkaz s nulovou znalostí je menší než svědek a lze jej rychle ověřit.
-- **Neinteraktivita**: Důkaz je „neinteraktivní“, protože dokazovatel a ověřovatel interagují pouze jednou, na rozdíl od interaktivních důkazů, které vyžadují více kol komunikace.
+- **Neinteraktivní**: Důkaz je „neinteraktivní“, protože dokazovatel a ověřovatel spolu komunikují pouze jednou, na rozdíl od interaktivních důkazů, které vyžadují více kol komunikace.
-- **Důvěryhodnost**: Důkaz splňuje požadavek „spolehlivosti“, takže podvádění je extrémně nepravděpodobné.
+- **Argument**: Důkaz splňuje požadavek na „spolehlivost“, takže podvádění je extrémně nepravděpodobné.
-- **(Chybějící) Znalost**: Důkaz s nulovou znalostí nemůže být konstruován bez přístupu k tajným informacím (svědek). Pro dokazovatele, který nezná svědka, je obtížné, ne-li nemožné, vypočítat platný důkaz s nulovou znalostí.
+- **(Ze) znalosti**: Důkaz s nulovou znalostí nelze zkonstruovat bez přístupu k tajným informacím (svědkovi). Pro dokazovatele, který nezná svědka, je obtížné, ne-li nemožné, vypočítat platný důkaz s nulovou znalostí.
Výše zmíněný „sdílený klíč“ odkazuje na veřejné parametry, na kterých se dokazovatel a ověřovatel domluví při generování a ověřování důkazů. Generování veřejných parametrů (souhrnně známých jako Common Reference String (CRS)) je citlivá operace, protože je klíčová pro zabezpečení protokolu. Pokud se entropie (náhodnost) použitá při generování CRS dostane do rukou nepoctivého dokazovatele, může vypočítat falešné důkazy.
-[Multi-party computing (MPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation) je způsob, jak snížit rizika při generování veřejných parametrů. Probíhá tak, že se několik účastníků připojí k takzvanému [důvěryhodnému obřadu nastavení](https://zkproof.org/2021/06/30/setup-ceremonies/amp/), kde každá osoba k vytvoření CRS přispěje náhodnými hodnotami. Pokud alespoň jeden čestný účastník zničí svou část entropie, protokol ZK-SNARK si zachovává výpočetní spolehlivost.
+[Vícečlenný výpočet (MPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation) je způsob, jak snížit rizika při generování veřejných parametrů. Více stran se účastní [ceremonie důvěryhodného nastavení](https://zkproof.org/2021/06/30/setup-ceremonies/amp/), kde každá osoba přispěje náhodnými hodnotami k vygenerování CRS. Pokud alespoň jeden čestný účastník zničí svou část entropie, protokol ZK-SNARK si zachovává výpočetní spolehlivost.
Důvěryhodná nastavení vyžadují, aby uživatelé důvěřovali účastníkům při generování veřejných parametrů. Vývoj ZK-STARKů však umožnil vznik ověřovacích protokolů, které pracují s nastavením, kterému není třeba důvěřovat.
-#### ZK-STARKy {#zk-starks}
+#### ZK-STARKs {#zk-starks}
ZK-STARK je zkratka pro **Zero-Knowledge Scalable Transparent Argument of Knowledge**. ZK-STARK jsou podobné ZK-SNARK, až na to, že jsou:
-- **Škálovatelné**: ZK-STARK je rychlejší než ZK-SNARK při generování a ověřování důkazů, pokud je svědek větší. S důkazy typu STARK se časy dokazování a ověřování s rostoucím objemem dat svědka jen mírně prodlužují (doby dokazování a ověřování typu SNARK rostou s velikostí svědka lineárně).
+- **Škálovatelné**: ZK-STARK je rychlejší než ZK-SNARK při generování a ověřování důkazů, když je velikost svědka větší. S důkazy typu STARK se časy dokazování a ověřování s rostoucím objemem dat svědka jen mírně prodlužují (doby dokazování a ověřování typu SNARK rostou s velikostí svědka lineárně).
-- **Transparentní**: ZK-STARK spoléhá na veřejně ověřitelnou náhodnost při generování veřejných parametrů pro prokázání a ověření důkazu, namísto nastavení, kterému je třeba důvěřovat. Jsou tedy ve srovnání se ZK-SNARK transparentnější.
+- **Transparentní**: ZK-STARK se spoléhá na veřejně ověřitelnou náhodnost pro generování veřejných parametrů pro dokazování a ověřování namísto důvěryhodného nastavení. Jsou tedy ve srovnání se ZK-SNARK transparentnější.
ZK-STARK produkují větší důkazy než ZK-SNARK, což znamená, že mají obecně vyšší ověřovací náklady. Existují však případy (jako je prokazování velkých datových sad), kdy mohou být ZK-STARK cenově výhodnější než ZK-SNARK.
-## Nevýhody použití důkazů s nulovou znalostí {#drawbacks-of-using-zero-knowledge-proofs}
+## Nevýhody používání důkazů s nulovou znalostí {#drawbacks-of-using-zero-knowledge-proofs}
### Náklady na hardware {#hardware-costs}
@@ -202,13 +225,14 @@ ZK-SNARK používá pro šifrování kryptografii eliptické křivky. V současn
ZK-STARK je považován za imunní vůči hrozbě kvantových počítačů, protože pro šifrování používá hashe odolné proti kolizím. Na rozdíl od párů veřejného a privátního klíče, který se používá v kryptografii eliptických křivek, je hašování odolné proti kolizím pro algoritmy kvantových počítačů obtížnější prolomit.
-## Další informace {#further-reading}
-
-- [Přehled modelových příkladů využití důkazů s nulovou znalostí](https://pse.dev/projects) — _Tým pro průzkum soukromí a škálování_
-- [SNARKs vs. STARKS vs. rekurzivní SNARKs](https://www.alchemy.com/overviews/snarks-vs-starks) — _Alchemy Overviews_
-- [Důkaz s nulovou znalostí: Zlepšení soukromí na blockchainu](https://www.altoros.com/blog/zero-knowledge-proof-improving-privacy-for-a-blockchain/) – _Dmitrij Lavrenov_
-- [zk-SNARKs — Realistický příklad použití nulových znalostí, který jde do hloubky](https://medium.com/coinmonks/zk-snarks-a-realistic-zero-knowledge-example-and-deep-dive-c5e6eaa7131c) — _Adam Luciano_
-- [ZK-STARKs — Vytvořte ověřitelnou důvěru, odolnou dokonce i proti kvantovým počítačům](https://medium.com/coinmonks/zk-starks-create-verifiable-trust-even-against-quantum-computers-dd9c6a2bb13d) — _Adam Luciano_
-- [Přibližné úvod k tomu, jak fungují zk-SNARKy](https://vitalik.eth.limo/general/2021/01/26/snarks.html) — _Vitalik Buterin_
-- [Proč je Zero Knowledge Proof (ZKP) zásadní změnou pro samostatnou identitu](https://frankiefab.hashnode.dev/why-zero-knowledge-proofs-zkps-is-a-game-changer-for-self-sovereign-identity) — _Franklin Ohaegbulam_
-- [EIP-7503 vysvětleno: Povolení soukromých převodů na Ethereu pomocí důkazů nulové znalosti](https://research.2077.xyz/eip-7503-zero-knowledge-wormholes-for-private-ethereum-transactions#introduction) — _Emmanuel Awosika_
+## Další čtení {#further-reading}
+
+- [Přehled případů použití důkazů s nulovou znalostí](https://pse.dev/projects) — _Tým pro zkoumání soukromí a škálování_
+- [SNARKy vs. STARKy vs. rekurzivní SNARKy](https://www.alchemy.com/overviews/snarks-vs-starks) — _Alchemy Overviews_
+- [Důkaz s nulovou znalostí: Zlepšení soukromí na blockchainu](https://www.altoros.com/blog/zero-knowledge-proof-improving-privacy-for-a-blockchain/) — _Dmitry Lavrenov_
+- [zk-SNARKs — Realistický příklad a hluboký ponor do nulové znalosti](https://medium.com/coinmonks/zk-snarks-a-realistic-zero-knowledge-example-and-deep-dive-c5e6eaa7131c) — _Adam Luciano_
+- [ZK-STARKy — Vytvořte ověřitelnou důvěru i proti kvantovým počítačům](https://medium.com/coinmonks/zk-starks-create-verifiable-trust-even-against-quantum-computers-dd9c6a2bb13d) — _Adam Luciano_
+- [Přibližný úvod do toho, jak jsou zk-SNARKy možné](https://vitalik.eth.limo/general/2021/01/26/snarks.html) — _Vitalik Buterin_
+- [Proč jsou důkazy s nulovou znalostí (ZKP) přelomové pro sebe-suverénní identitu](https://frankiefab.hashnode.dev/why-zero-knowledge-proofs-zkps-is-a-game-changer-for-self-sovereign-identity) — _Franklin Ohaegbulam_
+- [Vysvětlení EIP-7503: Umožnění soukromých převodů na Ethereu s ZK důkazy](https://research.2077.xyz/eip-7503-zero-knowledge-wormholes-for-private-ethereum-transactions#introduction) — _Emmanuel Awosika_
+- [Karetní hra ZK: hra pro naučení základů ZK a reálných případů použití](https://github.com/ZK-card/zk-cards) - _ZK-Cards_
diff --git a/src/intl/cs/common.json b/src/intl/cs/common.json
index 9ead8e97829..f754e9ad1b5 100644
--- a/src/intl/cs/common.json
+++ b/src/intl/cs/common.json
@@ -32,9 +32,6 @@
"content-resources": "Zdroje",
"content-standardization": "Standardizace obsahu",
"contributing": "Příspěvky",
- "contributor-quiz-banner-title": "Nejste si jistí, kde začít?",
- "contributor-quiz-banner-description": "Udělejte si rychlý kvíz a zjistěte, jak můžete přispět na ethereum.org.",
- "contributor-quiz-banner-button": "Udělejte si kvíz",
"contributors": "Přispěvatelé",
"contributors-thanks": "Všem, kdo na této stránce přispěli – děkujeme!",
"cookie-policy": "Zásady používání souborů cookie",
@@ -438,6 +435,7 @@
"set-up-local-env": "Nastavit místní prostředí",
"sharding": "Tříštění",
"show-all": "Zobrazit vše",
+ "show-more": "Zobrazit více",
"show-less": "Zobrazit méně",
"single-slot-finality": "Konečnost jednoho slotu",
"site-description": "Ethereum je celosvětová, decentralizovaná platforma pro peníze a nové druhy aplikací. Na platformě Ethereum můžeš napsat kód pro správu peněz a vytvářet aplikace přístupné odkudkoli na světě.",
diff --git a/src/intl/cs/glossary-tooltip.json b/src/intl/cs/glossary-tooltip.json
new file mode 100644
index 00000000000..4aca7126d34
--- /dev/null
+++ b/src/intl/cs/glossary-tooltip.json
@@ -0,0 +1,164 @@
+{
+ "51%-attack-term": "51% útok",
+ "51%-attack-definition": "Typ útoku, při kterém skupina získá kontrolu nad většinou uzlů. To by jim umožnilo podvést blockchain tím, že zvrátí transakce a utratí dvakrát ether a další tokeny.",
+ "abi-term": "Aplikační binární rozhraní (ABI)",
+ "abi-definition": "Soubor JSON, který definuje funkce a proměnné obsažené v chytrém kontraktu. ABI umožňuje mapovat bajtkód do formátů čitelných pro člověka.",
+ "account-term": "Účet",
+ "account-definition": "Ethereum účet je digitální identita na Ethereum blockchainu, která uživatelům umožňuje odesílat a přijímat Ether nebo jiná digitální aktiva a interagovat s chytrými kontrakty.",
+ "address-term": "Adresa",
+ "address-definition": "Ethereum adresa je jedinečný identifikátor sloužící k přijímání tokenů, funguje podobně jako číslo bankovního účtu u kryptoměn. Slouží k identifikaci vašeho Ethereum účtu.",
+ "anti-sybil-term": "Anti-Sybil",
+ "anti-sybil-definition": "Způsoby, jak zabránit lidem, aby se na internetu vydávali za mnoho uživatelů najednou, a zajistit, aby každý uživatel byl skutečnou, samostatnou osobou. To pomáhá udržovat online interakce spravedlivé a čestné.",
+ "apr-term": "RPSN",
+ "apr-definition": "RPSN neboli roční procentní sazba nákladů vyjadřuje roční náklady na půjčení peněz, včetně úroků a poplatků, v procentech.",
+ "attestation-term": "Atestace",
+ "attestation-definition": "Tvrzení učiněné entitou, že něco je pravda. V kontextu Etherea musí validátoři konsensu učinit tvrzení o tom, jaký je podle nich stav řetězce. V určených časech je každý validátor zodpovědný za publikování různých atestací, které formálně deklarují pohled tohoto validátoru na řetězec, včetně posledního finalizovaného kontrolního bodu a aktuální hlavy řetězce. Více o atestacích.",
+ "block-term": "Blok",
+ "block-definition": "Blok je místo, kde jsou uloženy transakce nebo digitální akce. Jakmile je blok zaplněn, propojí se s předchozím, čímž vzniká řetězec bloků neboli ‚blockchain‘. Více o blocích.",
+ "blockchain-term": "Blockchain",
+ "blockchain-definition": "Blockchain je databáze transakcí, která je duplikována a sdílena na všech počítačích v síti, což zajišťuje, že data nelze zpětně měnit.",
+ "bridge-term": "Přemostění",
+ "bridge-definition": "Blockchainový most slouží k převodu aktiv z jedné blockchainové sítě do jiné.",
+ "consensus-term": "Konsenzus",
+ "consensus-definition": "Když se více než 2/3 počítačů v síti shodnou, že mají stejnou sadu záznamů, zajišťuje se tím, že všichni jsou na stejné vlně. Nejde o pravidla, která dodržují, ale o to, aby všichni měli stejné informace.",
+ "consensus-client-term": "Konsensuální klient",
+ "consensus-client-definition": "Konsensuální klienti (jako jsou Prysm, Teku, Nimbus, Lighthouse, Lodestar) spouštějí konsensuální algoritmus proof-of-stake Etherea, který umožňuje síti dosáhnout shody ohledně hlavy Beacon Chainu. Konsensuální klienti se neúčastní validace/vysílání transakcí ani provádění přechodů stavu. To dělají exekuční klienti. Konsensuální klienti neprovádějí atestace ani nenavrhují nové bloky. To dělá validátorový klient, který je volitelným doplňkem konsensuálního klienta.",
+ "consensus-layer-term": "Konsensuální vrstva",
+ "consensus-layer-definition": "Konsensuální vrstva Etherea je síť konsensuálních klientů.",
+ "cryptoeconomics-term": "Kryptoekonomika",
+ "cryptoeconomics-definition": "Studium matematických a ekonomických principů pro navrhování bezpečných a důvěryhodných digitálních platforem. Cílem je zajistit, aby všichni účastníci dodržovali pravidla a byli odměňováni za přispění k bezpečnosti a provozu sítě.",
+ "cryptography-term": "Kryptografie",
+ "cryptography-definition": "Jedná se o postup, jak učinit komunikaci soukromou a zabezpečenou, aby ji mohli číst pouze ti, pro které je informace určena.",
+ "dao-term": "Decentralizovaná autonomní organizace (DAO)",
+ "dao-definition": "DAO je digitální organizace řízená pravidly zapsanými v kódu na blockchainu, kde se rozhodnutí přijímají hlasováním členů, nikoliv centrální autoritou. Více o decentralizovaných autonomních organizacích (DAO).",
+ "dapp-term": "Dapp",
+ "dapp-definition": "dApp je decentralizovaná aplikace, která běží na blockchainové síti a nabízí služby bez centrální řídící autority. Více o decentralizovaných aplikacích.",
+ "data-availability-term": "Dostupnost dat",
+ "data-availability-definition": "Jakýkoli uzel může nezávisle ověřovat transakce na blockchainu, aby se udržela transparentnost a důvěra v systém.",
+ "defi-term": "DeFi",
+ "defi-definition": "Široká kategorie aplikací na Ethereu, které mají za cíl poskytovat finanční služby podložené blockchainem, bez jakýchkoli zprostředkovatelů. Více o decentralizovaných financích (DeFi)",
+ "dex-term": "Decentralizovaná burza (DEX)",
+ "dex-definition": "Typ aplikace Etherea, který vám umožňuje směňovat tokeny s ostatními v síti. DEXy nepodléhají geografickým omezením jako centralizované burzy – zúčastnit se může kdokoli.",
+ "difficulty-bomb-term": "Obtížnostní bomba",
+ "difficulty-bomb-definition": "Plánované exponenciální zvýšení nastavení obtížnosti v proof-of-work, které bylo navrženo tak, aby motivovalo k přechodu na proof-of-stake a snížilo šance na tvrdou větev. Obtížnostní bomba byla zastaralá s Sloučením.",
+ "ecdsa-term": "Algoritmus digitálního podpisu na eliptické křivce (ECDSA)",
+ "ecdsa-definition": "Kryptografický algoritmus používaný Ethereem k zajištění, že prostředky mohou být utraceny pouze jejich vlastníky. Je to preferovaná metoda pro vytváření veřejných a soukromých klíčů. Relevantní pro generování adresy účtu a ověření transakce.",
+ "ens-term": "Ethereum Name Service (ENS)",
+ "ens-definition": "Ethereum Name Service (ENS) je jako internetový telefonní seznam pro Ethereum adresy. Místo dlouhých peněženkových adres umožňuje ENS používat jednoduchá jména jako ‚john.eth‘ pro odesílání a přijímání digitálních peněz a aktiv.",
+ "epoch-term": "Epocha",
+ "epoch-definition": "Období 32 slotů, každý slot trvá 12 sekund, což je celkem 6,4 minuty. Komise validátorů jsou z bezpečnostních důvodů každou epochu promíchávány. Každá epocha má možnost, aby byl řetězec finalizován. Každému validátorovi jsou na začátku každé epochy přiděleny nové povinnosti. Více o proof-of-stake",
+ "eoa-term": "Externě vlastněný účet (EOA)",
+ "eoa-definition": "Externě vlastněné účty (EOA) jsou nejběžnějším typem účtu na Ethereu. Jsou ovládány osobou prostřednictvím soukromých klíčů/obnovovací fráze. Více o peněženkách Etherea.",
+ "erc-term": "Ethereum Request for Comments (ERC)",
+ "erc-definition": "ERC (Ethereum Request for Comments) je typ technické dokumentace, kterou komunita Ethereum používá k navrhování nových standardů pro využití sítě Ethereum.",
+ "erc-1155-term": "ERC-1155",
+ "erc-1155-definition": "Typ tokenového standardu na Ethereu, podobný NFT (například jedinečné sběratelské předměty), který zároveň umožňuje vytvářet zaměnitelné položky (například měnu) v rámci jednoho chytrého kontraktu.",
+ "erc-20-term": "ERC-20",
+ "erc-20-definition": "Je to standardní sada pravidel, podle které je vytvořena většina tokenů v síti Ethereum.",
+ "erc-721-term": "ERC-721",
+ "erc-721-definition": "Standardní sada pravidel používaná k vytváření NFT (nezaměnitelných tokenů).",
+ "ether-term": "Ether",
+ "ether-definition": "Nativní kryptoměna Etherea, běžně označovaná jako „ETH“. Používá se k pokrytí transakčních poplatků při používání ekosystému a aplikací Etherea. Více o etheru.",
+ "events-term": "Události",
+ "events-definition": "Umožňuje použití logovacích zařízení EVM. Dapps mohou naslouchat událostem a používat je ke spouštění JavaScriptových zpětných volání v uživatelském rozhraní. Více o událostech a logách",
+ "execution-client-term": "Exekuční klient",
+ "execution-client-definition": "Exekuční klienti (dříve známí jako „klienti Eth1“), jako jsou Besu, Erigon, Go-Ethereum (Geth), Nethermind, mají za úkol zpracovávat a vysílat transakce a spravovat stav Etherea. Provádějí výpočty pro každou transakci pomocí Ethereum Virtual Machine, aby se zajistilo, že jsou dodržována pravidla protokolu.",
+ "execution-layer-term": "Exekuční vrstva",
+ "execution-layer-definition": "Exekuční vrstva Etherea je síť exekučních klientů.",
+ "finality-term": "Konečnost",
+ "finality-definition": "Finalita je záruka, že sada transakcí nemůže být změněna, aniž by došlo ke ztrátě obrovského množství ETH.",
+ "fork-term": "Větev",
+ "fork-definition": "Změna v protokolu způsobující vytvoření alternativního řetězce.",
+ "fraud-proof-term": "Důkaz podvodu",
+ "fraud-proof-definition": "Bezpečnostní model pro některá řešení druhé vrstvy, kde se pro zvýšení rychlosti transakce shromažďují do dávek a odesílají do Etherea v jedné transakci. Ostatní účastníci sítě mohou transakce znovu provést, aby zkontrolovali, zda byly provedeny poctivě. Pokud odhalí nesrovnalost mezi zveřejněnými daty a svou vlastní verzí, mohou zveřejnit kryptografický důkaz, který ukazuje, kde došlo k podvodu. Některé rollupy používají důkazy platnosti.",
+ "gas-term": "Palivo",
+ "gas-definition": "Plyn je poplatek placený za transakce a chytré kontrakty na blockchainu, jako je Ethereum. Více o plynu a poplatcích.",
+ "genesis-block-term": "Genesis blok",
+ "genesis-block-definition": "První blok v blockchainu, který se používá k inicializaci konkrétní sítě a její kryptoměny.",
+ "gwei-term": "Gwei",
+ "gwei-definition": "Zkratka pro gigawei, denominaci etheru, běžně používanou k ocenění plynu. 1 gwei = 109wei. 109 gwei = 1 ether.",
+ "hash-term": "Haš",
+ "hash-definition": "Otisk pevné délky z variabilně velkého vstupu, vytvořený hašovací funkcí. (Viz keccak-256).",
+ "holographic-consensus-term": "Holografický konsensus",
+ "holographic-consensus-definition": "Označuje způsob, jakým velká skupina činí rozhodnutí tím, že nechá hlasovat menší skupinu zástupců. Zbytek skupiny pak souhlasí s jejich rozhodnutím, pokud věří, že tato menší skupina odvedla dobrou práci.",
+ "index-term": "Index",
+ "index-definition": "Síťová struktura určená k optimalizaci dotazování na informace z celého blockchainu tím, že poskytuje efektivní cestu k jeho úložnému zdroji.",
+ "key-term": "Klíč",
+ "key-definition": "V kontextu Etherea jsou klíče digitální kódy: veřejný klíč pro příjem transakcí a soukromý klíč pro přístup k prostředkům a jejich odesílání.",
+ "layer-2-term": "Vrstva 2",
+ "layer-2-definition": "Druhá vrstva (Layer 2) jsou další sítě postavené na hlavní síti Etherea, které zrychlují a zlevňují transakce. Více o druhé vrstvě.",
+ "liquidity-tokens-term": "Žetony likvidity",
+ "liquidity-tokens-definition": "Liquidity tokeny (LT) jsou digitální tokeny vydávané účastníkům, kteří vloží aktiva do likviditního fondu – tedy souboru prostředků uzamčených v chytrém kontraktu, který slouží k usnadnění obchodování na decentralizované burze (DEX).",
+ "mainnet-term": "Mainnet",
+ "mainnet-definition": "Zkratka pro „hlavní síť“, toto je hlavní veřejný blockchain Etherea.",
+ "mev-term": "MEV",
+ "mev-definition": "Mechanismus, který za poplatek upřednostňuje určité akce na blockchainu, čímž ovlivňuje výsledky a pořadí transakcí.",
+ "multisig-term": "Multisig",
+ "multisig-definition": "Multisig (vícepodpis) označuje digitální peněženku nebo účet, který vyžaduje více podpisů nebo schválení k provedení transakcí, čímž zvyšuje bezpečnost.",
+ "nft-term": "Nezaměnitelný token (NFT)",
+ "nft-definition": "Unikátní digitální předmět, který můžete vlastnit, jako umění nebo sběratelské předměty, ověřený blockchainovou technologií. Více o nezaměnitelných tokenech (NFT).",
+ "node-term": "Uzel",
+ "node-definition": "Softwarový klient, který se podílí na síti. Více o uzlech a klientech.",
+ "ommer-term": "Ommer (strýčkovský) blok",
+ "ommer-definition": "Když těžař proof-of-work najde platný blok, jiný těžař mohl publikovat konkurenční blok, který je přidán na vrchol blockchainu jako první. Tento platný, ale zastaralý blok může být zahrnut novějšími bloky jako ommery a obdržet částečnou odměnu za blok. Termín „ommer“ je preferovaný genderově neutrální termín pro sourozence rodičovského bloku, ale někdy se také označuje jako „strýc“. To bylo běžné pro Ethereum, když bylo sítí proof-of-work. Nyní, když Ethereum používá proof-of-stake, je pro každý slot vybrán pouze jeden navrhovatel bloku.",
+ "onchain-term": "Na řetězci",
+ "onchain-definition": "Označuje akce nebo transakce, které probíhají přímo na blockchainu a jsou veřejně přístupné.",
+ "optimistic-rollup-term": "Optimistický rollup",
+ "optimistic-rollup-definition": "Optimistický rollup je řešení druhé vrstvy, které zrychluje transakce na Ethereu tím, že je standardně považuje za platné, pokud nejsou zpochybněny. Více o optimistických rollupech.",
+ "peer-to-peer-network-term": "Síť peer-to-peer",
+ "peer-to-peer-network-definition": "Síť počítačů (uzlů), které společně dokážou zajišťovat funkce bez potřeby centralizovaných serverových služeb.",
+ "permissionless-term": "Bez nutnosti povolení",
+ "permissionless-definition": "Používání systému jako Ethereum nevyžaduje žádné oprávnění ani schválení – nikdo vám v tom nemůže zabránit. Je otevřený 24/7 pro každého.",
+ "private-key-term": "Privátní klíč",
+ "private-key-definition": "Soukromý klíč je tajný kód, který prokazuje, že vlastníte své digitální peníze, a umožňuje vám je utrácet, jako PIN k vašemu účtu. NESDÍLEJTE HO.",
+ "poap-term": "POAP",
+ "poap-definition": "Protokol o prokázání účasti se používá k vytvoření digitálního sběratelského předmětu (NFT), který prokazuje, že jste se zúčastnili určité události nebo aktivity.",
+ "pos-term": "Proof-of-stake (PoS)",
+ "pos-definition": "Metoda, kterou se protokol blockchainu kryptoměny snaží dosáhnout distribuovaného konsensu. PoS žádá uživatele, aby prokázali vlastnictví určitého množství kryptoměny (jejich „podíl“ v síti), aby se mohli podílet na validaci transakcí. Více o proof-of-stake.",
+ "pow-term": "Proof-of-work (PoW)",
+ "pow-definition": "Bezpečnostní mechanismus pro blockchainy, který vyžaduje, aby uzly vynakládaly energii ve formě výpočtů k nalezení určité hodnoty.",
+ "public-goods-term": "Veřejné statky",
+ "public-goods-definition": "Veřejné statky jsou věci, které může každý používat zdarma, jako jsou parky nebo čistý vzduch, a jejich používání nebrání ostatním v jejich používání. Vlády je často poskytují, protože podniky to obvykle nedělají, jelikož nemohou snadno účtovat lidem za jejich používání.",
+ "public-key-term": "Veřejný klíč",
+ "public-key-definition": "Veřejný klíč je sada znaků, která umožňuje ostatním bezpečně vám posílat digitální měnu, jako e-mailová adresa pro peníze.",
+ "quadratic-voting-term": "Kvadratické hlasování",
+ "quadratic-voting-definition": "Je hlasovací metoda, kde voliči vyjadřují, jak silně se cítí ohledně problémů. Umožňuje voličům ukázat nejen preferenci, ale také intenzitu své preference.",
+ "recovery-phrase-term": "Fráze pro obnovení/obnovovací fráze",
+ "recovery-phrase-definition": "Seznam slov, který dostanete při vytvoření digitální peněženky. Slouží jako heslo, které vám pomůže obnovit přístup k peněžence, pokud ho ztratíte, a zajistí tak, že nepřijdete o své digitální peníze nebo tokeny.",
+ "rollups-term": "Rollupy",
+ "rollups-definition": "Typ řešení škálování druhé vrstvy, které shromažďuje více transakcí a odesílá je do hlavního řetězce Etherea v jedné transakci. To umožňuje snížení nákladů na plyn a zvýšení propustnosti transakcí. Existují optimistické a zero-knowledge rollupy, které používají různé bezpečnostní metody k nabídnutí těchto zisků ve škálovatelnosti. Více o rollupech.",
+ "rpc-term": "Vzdálené volání procedur (RPC)",
+ "rpc-definition": "RPC umožňuje jednomu počítači požadovat data nebo akci od jiného přes síť, jako byste žádali o informace pomocí dálkového ovladače.",
+ "sequencer-term": "Sekvencer",
+ "sequencer-definition": "Sekvenér je program zodpovědný za řazení transakcí v blockchainové síti.",
+ "smart-contract-term": "Chytrý kontrakt",
+ "smart-contract-definition": "Chytrý kontrakt je program, který automaticky provádí dohody na blockchainu, jako samovynucovací digitální smlouva. Úvod do chytrých kontraktů.",
+ "stablecoin-term": "Stabilní kryptoměna",
+ "stablecoin-definition": "Stabilní kryptoměna je typ kryptoměny navržený tak, aby měl stabilní hodnotu, často vázanou na měnu nebo komoditu (jako je americký dolar), aby se minimalizovala cenová volatilita. Více o stabilních kryptoměnách.",
+ "staking-term": "Uzamčení",
+ "staking-definition": "Uložení množství etheru (váš podíl) za účelem stát se validátorem a zabezpečit síť. Validátor kontroluje transakce a navrhuje bloky v rámci konsensuálního modelu proof-of-stake. Uzamčení vám poskytuje ekonomickou motivaci jednat v nejlepším zájmu sítě. Dostanete odměny za plnění svých povinností validátora, ale ztratíte různé množství ETH, pokud tak neučiníte. Více o uzamčení Etherea.",
+ "staking-pool-term": "Pool pro uzamčení",
+ "staking-pool-definition": "Kombinované ETH více než jednoho stakera Etherea, použité k dosažení 32 ETH potřebných k aktivaci sady klíčů validátoru. Provozovatel uzlu používá tyto klíče k účasti na konsensu a odměny za blok jsou rozděleny mezi přispívající stakery. Pooly pro uzamčení nebo delegování uzamčení nejsou nativní pro protokol Etherea, ale komunita vytvořila mnoho řešení. Více o sdruženém uzamčení.",
+ "sybil-attack-term": "Útok Sybil",
+ "sybil-attack-definition": "Sybil útoky jsou útoky, kde se jednotlivci snaží přelstít systém, aby si myslel, že jsou více lidmi, aby zvyšili svůj vliv.",
+ "terminal-total-difficulty-term": "Konečná celková obtížnost (TTD)",
+ "terminal-total-difficulty-definition": "Celková obtížnost je součet obtížnosti těžby Ethash pro všechny bloky až do určitého bodu v blockchainu. Konečná celková obtížnost je specifická hodnota celkové obtížnosti, která byla použita jako spouštěč pro exekuční klienty, aby vypnuli své funkce těžby a šíření bloků, což umožnilo síti přejít na proof-of-stake. Nyní již není relevantní, protože Ethereum přešlo na proof-of-stake.",
+ "transaction-fee-term": "Transakční poplatek",
+ "transaction-fee-definition": "Poplatek, který musíte zaplatit vždy, když používáte síť Ethereum. Příklady zahrnují odesílání prostředků z vaší peněženky nebo interakci s dapp, jako je směna tokenů nebo nákup sběratelského předmětu. Můžete si to představit jako poplatek za službu. Tento poplatek se bude měnit v závislosti na tom, jak je síť vytížená. To je proto, že validátoři, lidé zodpovědní za zpracování vaší transakce, pravděpodobně upřednostní transakce s vyššími poplatky – takže přetížení tlačí cenu nahoru.
Na technické úrovni se váš transakční poplatek vztahuje k tomu, kolik plynu vaše transakce vyžaduje.
Snížení transakčních poplatků je v současné době předmětem intenzivního zájmu. Viz druhá vrstva.",
+ "trust-assumptions-term": "Předpoklady důvěry",
+ "trust-assumptions-definition": "Předpoklady důvěry jsou základní přesvědčení o bezpečnosti a spolehlivosti systému, která určují, čemu důvěřujeme, aby systém fungoval.",
+ "validator-term": "Validátor",
+ "validator-definition": "Uzel v systému proof-of-stake, zodpovědný za ukládání dat, zpracování transakcí a přidávání nových bloků do blockchainu. K aktivaci softwaru validátoru musíte být schopni uzamknout 32 ETH. Více o uzamčení na Ethereu.",
+ "validity-proof-term": "Důkaz platnosti",
+ "validity-proof-definition": "Bezpečnostní model pro některá řešení druhé vrstvy, kde se pro zvýšení rychlosti transakce shromažďují do dávek a odesílají do Etherea v jedné transakci. Výpočet transakce se provádí offchain a poté se dodá na hlavní řetězec s důkazem jejich platnosti. Tato metoda zvyšuje množství možných transakcí při zachování bezpečnosti. Některé rollupy používají důkaz podvodu. Více o rollupech s nulovou znalostí.",
+ "wallet-term": "Peněženka",
+ "wallet-definition": "Peněženka je digitální nástroj k ukládání, odesílání a přijímání digitální měny, jako virtuální peněženka pro vaše online peníze. Více o peněženkách Etherea.",
+ "web2-term": "Web2",
+ "web2-definition": "Je současný internet, zaměřený na obsah vytvářený uživateli a sociální média, která jsou kontrolována několika společnostmi. Web3 je kryptografické přesvědčení, že uživatelé by měli místo toho ovládat svá data a transakce.",
+ "web3-term": "Web3",
+ "web3-definition": "Web3 je nový internet s blockchainem, kde uživatelé ovládají svá data a transakce, nikoli společnosti. Není třeba sdílet žádné osobní údaje. Více o web3.",
+ "wei-term": "Wei",
+ "wei-definition": "Nejmenší denominace etheru. 1018 wei = 1 ether.",
+ "zk-proof-term": "Důkaz s nulovou znalostí",
+ "zk-proof-definition": "Důkaz s nulovou znalostí je kryptografická metoda, která umožňuje jednotlivci prokázat, že tvrzení je pravdivé, aniž by sděloval jakékoli další informace. Více o rollupech s nulovou znalostí."
+}
diff --git a/src/intl/cs/glossary.json b/src/intl/cs/glossary.json
new file mode 100644
index 00000000000..9ffaa467f2c
--- /dev/null
+++ b/src/intl/cs/glossary.json
@@ -0,0 +1,408 @@
+{
+ "51%-attack-term": "51% útok",
+ "51%-attack-definition": "Typ útoku, kdy skupina získá kontrolu nad většinou uzlů. To by jim umožnilo podvádět na blockchainu tím, že by zvrátili transakce a prováděli dvojité utrácení etheru a dalších tokenů.
V proof-of-stake Etherea by toho bylo dosaženo akumulací více než poloviny celkového uzamčeného etheru. To by útočníkovi umožnilo rozhodovat, které nové bloky budou přidány do blockchainu. K zvrácení řetězce nebo dvojitému utracení by však útočník potřeboval alespoň 66 % celkového uzamčeného etheru.",
+ "account-term": "Účet",
+ "account-definition": "Účet na Ethereu je digitální identita na blockchainu Etherea, která uživatelům umožňuje odesílat a přijímat ethery a interagovat s chytrými kontrakty.
Technicky: Je to objekt obsahující adresu, zůstatek, nonce a volitelné úložiště a kód. Účet může být účet kontraktu nebo externě vlastněný účet (EOA).",
+ "address-term": "Adresa",
+ "address-definition": "Adresa na Ethereu je jedinečný identifikátor, který slouží k přijímání tokenů. Funguje podobně jako číslo bankovního účtu pro kryptoměny. Používá se k identifikaci vašeho účtu na Ethereu.
Jedná se o 160 bitů z pravé strany haše Keccak veřejného klíče ECDSA.",
+ "anti-sybil-term": "Anti-Sybil",
+ "anti-sybil-definition": "Způsoby, jak zabránit lidem, aby se na internetu vydávali za mnoho uživatelů najednou, a zajistit, aby každý uživatel byl skutečnou, samostatnou osobou. To pomáhá udržovat online interakce spravedlivé a čestné.",
+ "abi-term": "Aplikační binární rozhraní (ABI)",
+ "abi-definition": "Soubor JSON, který definuje funkce a proměnné obsažené v chytrém kontraktu. ABI umožňuje mapovat bajtkód do formátů čitelných pro člověka.",
+ "api-term": "Rozhraní pro programování aplikací (API)",
+ "api-definition": "Rozhraní pro programování aplikací (API) je soubor definic pro používání určitého softwaru. API se nachází mezi aplikací a webovým serverem a usnadňuje přenos dat mezi nimi.",
+ "apr-term": "RPSN",
+ "apr-definition": "RPSN neboli roční procentní sazba nákladů vyjadřuje roční náklady na půjčení peněz, včetně úroků a poplatků, v procentech.",
+ "asic-term": "ASIC",
+ "asic-definition": "Integrovaný obvod pro specifické aplikace. Obvykle se jedná o integrovaný obvod vyrobený na zakázku pro těžbu kryptoměn.",
+ "assert-term": "assert",
+ "assert-definition": "V jazyce Solidity se `assert(false)` kompiluje na `0xfe`, což je neplatný operační kód, který spotřebuje veškerý zbývající plyn a vrátí zpět všechny změny. Pokud příkaz `assert()` selže, děje se něco velmi špatného a neočekávaného a budete muset opravit kód. Příkaz `assert()` byste měli používat, abyste se vyhnuli podmínkám, které by nikdy, nikdy neměly nastat. Více o zabezpečení chytrých kontraktů.",
+ "attestation-term": "Atestace",
+ "attestation-definition": "Tvrzení učiněné entitou, že něco je pravda. V kontextu Etherea musí validátoři konsensu učinit tvrzení o tom, jaký je podle nich stav řetězce. V určených časech je každý validátor zodpovědný za publikování různých atestací, které formálně deklarují pohled tohoto validátoru na řetězec, včetně posledního finalizovaného kontrolního bodu a aktuální hlavy řetězce. Více o atestacích.",
+ "base-fee-term": "Základní poplatek",
+ "base-fee-definition": "Každý blok má vyvolávací cenu známou jako „základní poplatek“. Je to minimální poplatek za plyn, který musí uživatel zaplatit, aby zahrnul transakci do dalšího bloku. Více o plynu a poplatcích.",
+ "beacon-chain-term": "Beacon Chain",
+ "beacon-chain-definition": "Beacon Chain byl blockchain, který do Etherea zavedl proof-of-stake a validátory. Běžel souběžně s hlavní sítí Etherea proof-of-work od prosince 2020 až do sloučení obou řetězců v září 2022, čímž vzniklo dnešní Ethereum. Více o Beacon Chainu.",
+ "big-endian-term": "Big-endian",
+ "big-endian-definition": "Reprezentace pozičního čísla, kde nejvýznamnější číslice je v paměti jako první. Opakem je little-endian, kde je nejméně významná číslice jako první.",
+ "block-term": "Blok",
+ "block-definition": "Blok je místo, kde se ukládají transakce nebo digitální akce. Jakmile je blok plný, připojí se k předchozímu, čímž se vytvoří řetězec bloků neboli „blockchain“. Více o blocích.
Blok je seskupená jednotka informací, která obsahuje uspořádaný seznam transakcí a informací souvisejících s konsensem. Bloky jsou navrhovány validátory proof-of-stake, načež jsou sdíleny po celé síti peer-to-peer, kde je mohou snadno nezávisle ověřit všechny ostatní uzly. Pravidla konsensu řídí, jaký obsah bloku je považován za platný, a jakékoliv neplatné bloky jsou sítí ignorovány. Uspořádání těchto bloků a transakcí v nich vytváří deterministický řetězec událostí, jehož konec představuje aktuální stav sítě.",
+ "block-explorer-term": "Průzkumník bloků",
+ "block-explorer-definition": "Rozhraní, které umožňuje uživateli vyhledávat informace z blockchainu a o něm. To zahrnuje získávání jednotlivých transakcí, aktivity spojené s konkrétními adresami a informací o síti.",
+ "block-header-term": "Záhlaví bloku",
+ "block-header-definition": "Záhlaví bloku je soubor metadat o bloku a souhrn transakcí zahrnutých v exekuční části.",
+ "block-propagation-term": "Šíření bloku",
+ "block-propagation-definition": "Proces přenosu potvrzeného bloku do všech ostatních uzlů v síti.",
+ "block-proposer-term": "Navrhovatel bloku",
+ "block-proposer-definition": "Specifický validátor vybraný k vytvoření bloku v určitém slotu.",
+ "block-reward-term": "Odměna za blok",
+ "block-reward-definition": "Množství etheru udělené navrhovateli nového platného bloku.",
+ "block-status-term": "Stav bloku",
+ "block-status-definition": "Stavy, ve kterých může blok existovat. Možné stavy zahrnují:
navrženo: blok byl navržen validátorem
naplánováno: validátoři aktuálně odesílají data
zmeškáno/přeskočeno: navrhovatel nenavrhl blok v přípustném časovém rámci
",
+ "block-time-term": "Čas bloku",
+ "block-time-definition": "Časový interval mezi přidáváním bloků do blockchainu.",
+ "block-validation-term": "Validace bloku",
+ "block-validation-definition": "Proces ověřování, zda nový blok obsahuje platné transakce a podpisy, staví na nejtěžším historickém řetězci (což znamená ten, který ve své historii nashromáždil nejvíce atestací) a dodržuje všechna ostatní pravidla konsensu. Platné bloky jsou přidány na konec řetězce a šířeny ostatním v síti. Neplatné bloky jsou ignorovány.",
+ "blockchain-term": "Blockchain",
+ "blockchain-definition": "Blockchain je databáze transakcí, duplikovaná a sdílená na všech počítačích v síti, což zajišťuje, že data nelze zpětně měnit.
Sekvence bloků, z nichž každý odkazuje na svého předchůdce až po genesis blok odkazem na haš předchozího bloku. Integrita blockchainu je kryptoekonomicky zabezpečena pomocí mechanismu konsensu založeného na proof-of-stake. Co je to blockchain?",
+ "bootnode-term": "Bootnode",
+ "bootnode-definition": "Uzly, které lze použít k zahájení procesu objevování při spuštění uzlu. Bootnody „představují“ nové uzly ostatním existujícím uzlům, aby mohly rychle získat peery, místo aby musely hledat počátečního peera. Koncové body těchto uzlů jsou obvykle poskytovány ve zdrojovém kódu klientů Etherea, ale uživatelé mohou poskytnout svůj vlastní seznam bootnodů.",
+ "bridge-term": "Přemostění",
+ "bridge-definition": "Blockchainové přemostění se používá k přenosu aktiv z jedné blockchainové sítě do druhé. Například můžete použít přemostění k přenosu ETH z hlavní sítě Etherea na levnější řešení škálování druhé vrstvy.",
+ "bytecode-term": "Bajtkód",
+ "bytecode-definition": "Kód vyjádřený v kompaktní, číselné formě, aby mohl být efektivně proveden EVM.",
+ "byzantium-fork-term": "Větev Byzantium",
+ "byzantium-fork-definition": "První ze dvou tvrdých větví pro vývojovou fázi Metropolis. Zahrnovala EIP-649 Metropolis obtížnostní bomba zpoždění a snížení odměny za blok, kde byla doba ledová zpožděna o 1 rok a odměna za blok byla snížena z 5 na 3 ethery.",
+ "casper-ffg-term": "Casper FFG",
+ "casper-ffg-definition": "Casper-FFG je konsensuální protokol proof-of-stake, který se používá ve spojení s algoritmem výběru větve LMD-GHOST, aby se konsensuální klienti mohli dohodnout na hlavě Beacon Chainu.",
+ "checkpoint-term": "Kontrolní bod",
+ "checkpoint-definition": "Tempo Beacon Chainu je rozděleno na sloty (12 sekund) a epochy (32 slotů). První slot v každé epoše je kontrolní bod. Když nadpoloviční většina validátorů potvrdí spojení mezi dvěma kontrolními body, mohou být ospravedlněny a poté, co je nad nimi ospravedlněn další kontrolní bod, mohou být finalizovány.",
+ "compiling-term": "Kompilace",
+ "compiling-definition": "Převod kódu napsaného v programovacím jazyce vyšší úrovně (např. Solidity) do jazyka nižší úrovně (např. EVM bajtkódu). Více o kompilaci chytrých kontraktů",
+ "committee-term": "Komise",
+ "committee-definition": "Skupina nejméně 128 validátorů přidělených k validaci bloků v každém slotu. Jeden z validátorů v komisi je agregátor, zodpovědný za agregaci podpisů všech ostatních validátorů v komisi, kteří se shodnou na atestaci. Nezaměňovat s synchronizační komisí.",
+ "computational-infeasibility-term": "Výpočetní neproveditelnost",
+ "computational-infeasibility-definition": "Proces je výpočetně neproveditelný, pokud by jeho provedení trvalo neprakticky dlouhou dobu (např. miliardy let) pro kohokoli, kdo by mohl mít myslitelný zájem ho provést.",
+ "consensus-term": "Konsenzus",
+ "consensus-definition": "Když se více než 2/3 počítačů v síti shodnou, že mají stejnou sadu záznamů, zajišťuje se tím, že všichni jsou na stejné vlně. Nejde o pravidla, která dodržují, ale o to, aby všichni měli stejné informace.",
+ "consensus-client-term": "Konsensuální klient",
+ "consensus-client-definition": "Konsensuální klienti (jako jsou Prysm, Teku, Nimbus, Lighthouse, Lodestar) spouštějí konsensuální algoritmus proof-of-stake Etherea, který umožňuje síti dosáhnout shody ohledně hlavy Beacon Chainu. Konsensuální klienti se neúčastní validace/vysílání transakcí ani provádění přechodů stavu. To dělají exekuční klienti. Konsensuální klienti neprovádějí atestace ani nenavrhují nové bloky. To dělá validátorový klient, který je volitelným doplňkem konsensuálního klienta.",
+ "consensus-layer-term": "Konsensuální vrstva",
+ "consensus-layer-definition": "Konsensuální vrstva Etherea je síť konsensuálních klientů.",
+ "consensus-rules-term": "Pravidla konsensu",
+ "consensus-rules-definition": "Pravidla validace bloků, která plné uzly dodržují, aby zůstaly v konsensu s ostatními uzly. Nezaměňovat s konsensem.",
+ "cfi-term": "Zvažováno pro zahrnutí (CFI)",
+ "cfi-definition": "Jádrový EIP, který ještě není aktivní na hlavní síti, a vývojáři klientů jsou obecně pozitivně naladěni k této myšlence. Za předpokladu, že splňuje všechny požadavky pro zahrnutí do hlavní sítě, by mohl být potenciálně zahrnut do vylepšení sítě (ne nutně do dalšího).",
+ "constantinople-fork-term": "Větev Constantinople",
+ "constantinople-fork-definition": "Druhá část fáze Metropolis, původně plánovaná na polovinu roku 2018. Očekávalo se, že bude zahrnovat přechod na hybridní konsensuální algoritmus proof-of-work/proof-of-stake, spolu s dalšími změnami.",
+ "contract-account-term": "Kontraktový účet",
+ "contract-account-definition": "Účet obsahující kód, který se provede vždy, když obdrží transakci z jiného účtu (EOA] nebo kontraktu).",
+ "contract-creation-transaction-term": "Transakce vytvoření kontraktu",
+ "contract-creation-transaction-definition": "Speciální transakce, která zahrnuje iniciační kód kontraktu. Příjemce je nastaven na `null` a kontrakt je nasazen na adresu vygenerovanou z uživatelské adresy a `nonce`. Používá se k registraci účtu kontraktu a jeho záznamu na blockchainu Etherea.",
+ "cryptoeconomics-term": "Kryptoekonomika",
+ "cryptoeconomics-definition": "Studium matematických a ekonomických principů pro navrhování bezpečných a důvěryhodných digitálních platforem. Cílem je zajistit, aby všichni účastníci dodržovali pravidla a byli odměňováni za přispění k bezpečnosti a provozu sítě.",
+ "cryptography-term": "Kryptografie",
+ "cryptography-definition": "Jedná se o praxi zabezpečení komunikace a dat pomocí kódů tak, aby informace mohli číst a zpracovávat pouze ti, pro které jsou určeny. Zahrnuje techniky pro šifrování (převod čitelných informací do nečitelného formátu) a dešifrování (převod zpět do čitelného formátu), což zajišťuje důvěrnost.",
+ "doge-d-term": "Đ",
+ "doge-d-definition": "Đ (D s přeškrtnutím) se používá ve staré angličtině, střední angličtině, islandštině a faerštině jako velké písmeno „Eth“. Používá se ve slovech jako ĐEV nebo Đapp (decentralizovaná aplikace), kde Đ je severské písmeno „eth“. Velké eth (Ð) se také používá k symbolizaci kryptoměny Dogecoin. To se běžně vyskytuje ve starší literatuře o Ethereu, ale dnes se používá méně často.",
+ "dag-term": "DAG",
+ "dag-definition": "DAG znamená Directed Acyclic Graph (orientovaný acyklický graf). Je to datová struktura složená z uzlů a spojení mezi nimi. Před Sloučením používalo Ethereum DAG ve svém algoritmu proof-of-work, Ethash, ale v proof-of-stake se již nepoužívá.",
+ "dapp-term": "Dapp",
+ "dapp-definition": "Dapp je decentralizovaná aplikace, která běží na blockchainové síti a nabízí služby bez centrální řídící autority. Více o decentralizovaných aplikacích. Minimálně má dapp chytrý kontrakt připojený k webovému rozhraní. Navíc mnoho dapps zahrnuje decentralizované úložiště a/nebo protokol a platformu pro zasílání zpráv.",
+ "data-availability-term": "Dostupnost dat",
+ "data-availability-definition": "Jakýkoli uzel může nezávisle ověřovat transakce na blockchainu, aby se udržela transparentnost a důvěra v systém.",
+ "decentralization-term": "Decentralizace",
+ "decentralization-definition": "Koncept přesunu řízení a provádění procesů od centrální entity.",
+ "dao-term": "Decentralizovaná autonomní organizace (DAO)",
+ "dao-definition": "DAO je digitální organizace řízená pravidly zakódovanými na blockchainu, kde se rozhodnutí přijímají hlasováním členů, nikoli centrální autoritou. Více o decentralizovaných autonomních organizacích (DAO). Hlasovací síla každého člena je často vázána na počet tokenů, které drží. DAO si klade za cíl demokratizovat rozhodování a operace, se zaměřením na transparentnost a komunitní správu.",
+ "desci-term": "DeSci",
+ "desci-definition": "DeSci neboli decentralizovaná věda je hnutí, které aplikuje technologii blockchainu na vědecký výzkum. Využívá DAO, chytré kontrakty a tokenizované pobídky k vytvoření transparentnějších, otevřenějších a kolaborativnějších ekosystémů financování a výzkumu.",
+ "dex-term": "Decentralizovaná burza (DEX)",
+ "dex-definition": "Typ aplikace Etherea, který vám umožňuje směňovat tokeny s ostatními v síti. DEXy nepodléhají geografickým omezením jako centralizované burzy – zúčastnit se může kdokoli.",
+ "deposit-contract-term": "Depozitní kontrakt",
+ "deposit-contract-definition": "Brána ke stakingu na Ethereu. Depozitní kontrakt je chytrý kontrakt na Ethereu, který přijímá vklady ETH a spravuje zůstatky validátorů. Validátor nemůže být aktivován bez vložení ETH do tohoto kontraktu. Kontrakt vyžaduje ETH a vstupní data. Tato vstupní data zahrnují veřejný klíč validátoru a veřejný klíč pro výběr, podepsané soukromým klíčem validátoru. Tato data jsou potřebná k tomu, aby byl validátor identifikován a schválen sítí proof-of-stake.",
+ "defi-term": "DeFi",
+ "defi-definition": "Široká kategorie aplikací na Ethereu, které mají za cíl poskytovat finanční služby podložené blockchainem, bez jakýchkoli zprostředkovatelů. Více o decentralizovaných financích (DeFi)",
+ "difficulty-term": "Obtížnost",
+ "difficulty-definition": "Nastavení celé sítě v sítích proof-of-work, které řídí, kolik průměrného výpočetního výkonu je zapotřebí k nalezení platného nonce. Obtížnost je reprezentována počtem úvodních nul, které jsou vyžadovány ve výsledném haši bloku, aby byl považován za platný. Tento koncept je v Ethereu zastaralý od přechodu na proof-of-stake.",
+ "difficulty-bomb-term": "Obtížnostní bomba",
+ "difficulty-bomb-definition": "Plánované exponenciální zvýšení nastavení obtížnosti v proof-of-work, které bylo navrženo tak, aby motivovalo k přechodu na proof-of-stake a snížilo šance na tvrdou větev. Obtížnostní bomba byla zastaralá s Sloučením.",
+ "digital-signatures-term": "Digitální podpis",
+ "digital-signatures-definition": "Krátký řetězec dat, který uživatel vytvoří pro dokument pomocí soukromého klíče tak, že kdokoli s odpovídajícím veřejným klíčem, podpisem a dokumentem může ověřit, že (1) dokument byl „podepsán“ vlastníkem tohoto konkrétního soukromého klíče a (2) dokument nebyl po podpisu změněn.",
+ "discovery-term": "Objevování",
+ "discovery-definition": "Proces, kterým uzel Etherea nachází další uzly, ke kterým se může připojit.",
+ "distributed-hash-table-term": "Distribuovaná hašovací tabulka (DHT)",
+ "distributed-hash-table-definition": "Datová struktura obsahující páry `(klíč, hodnota)` používaná uzly Etherea k identifikaci peerů, ke kterým se lze připojit, a k určení, které protokoly se mají použít pro komunikaci.",
+ "double-spend-term": "Dvojité utracení",
+ "double-spend-definition": "Záměrná větev blockchainu, kde uživatel s dostatečně velkým množstvím těžařského výkonu/podílu odešle transakci přesunující nějakou měnu offchain (např. výběr do fiat měny nebo provedení nákupu offchain) a poté reorganizuje blockchain tak, aby tuto transakci odstranil. Úspěšné dvojité utracení zanechá útočníkovi jak jeho onchain, tak offchain aktiva.",
+ "ecdsa-term": "Algoritmus digitálního podpisu na eliptické křivce (ECDSA)",
+ "ecdsa-definition": "Kryptografický algoritmus používaný Ethereem k zajištění, že prostředky mohou být utraceny pouze jejich vlastníky. Je to preferovaná metoda pro vytváření veřejných a soukromých klíčů. Relevantní pro generování adresy účtu a ověření transakce.",
+ "encryption-term": "Šifrování",
+ "encryption-definition": "Šifrování je převod elektronických dat do formy, kterou nemůže přečíst nikdo kromě vlastníka správného dešifrovacího klíče.",
+ "entropy-term": "Entropie",
+ "entropy-definition": "V kontextu kryptografie, nedostatek předvídatelnosti nebo míra náhodnosti. Při generování tajných informací, jako jsou soukromé klíče, se algoritmy obvykle spoléhají na zdroj vysoké entropie, aby zajistily, že výstup je nepředvídatelný.",
+ "epoch-term": "Epocha",
+ "epoch-definition": "Období 32 slotů, každý slot trvá 12 sekund, což je celkem 6,4 minuty. Komise validátorů jsou z bezpečnostních důvodů každou epochu promíchávány. Každá epocha má možnost, aby byl řetězec finalizován. Každému validátorovi jsou na začátku každé epochy přiděleny nové povinnosti. Více o proof-of-stake",
+ "equivocation-term": "Dvojznačnost",
+ "equivocation-definition": "Validátor odesílá dvě zprávy, které si navzájem odporují. Jednoduchým příkladem je odesílatel transakce, který odesílá dvě transakce se stejným nonce. Dalším je navrhovatel bloku, který navrhuje dva bloky na stejné výšce bloku (nebo pro stejný slot).",
+ "eth1-term": "Eth1",
+ "eth1-definition": "„Eth1“ je termín, který odkazoval na hlavní síť Etherea, existující blockchain proof-of-work. Tento termín byl od té doby zastaralý ve prospěch „exekuční vrstvy“. Dozvědět se více o této změně názvu.",
+ "eth2-term": "Eth2",
+ "eth2-definition": "„Eth2“ je termín, který odkazoval na sadu vylepšení protokolu Etherea, včetně přechodu Etherea na proof-of-stake. Tento termín byl od té doby zastaralý ve prospěch „konsensuální vrstvy“. Dozvědět se více o této změně názvu.",
+ "eip-term": "Návrh na zlepšení Etherea (EIP)",
+ "eip-definition": "Návrhový dokument poskytující informace komunitě Etherea, popisující navrhovanou novou funkci nebo její procesy či prostředí (viz ERC). Úvod do EIPs",
+ "ens-term": "Ethereum Name Service (ENS)",
+ "ens-definition": "Ethereum Name Service je jako internetový telefonní seznam pro adresy Etherea. Místo používání dlouhých adres peněženek vám ENS umožňuje používat jednoduchá jména jako „john.eth“ k odesílání a přijímání digitálních peněz a aktiv.
Technicky: Registr ENS je jediný centrální chytrý kontrakt, který poskytuje mapování doménových jmen na vlastníky a resolvery, jak je popsáno v EIP-137. Přečtěte si více na ens.domains.",
+ "erc-1155-term": "ERC-1155",
+ "erc-1155-definition": "ERC-1155 je novější typ standardu tokenu Etherea podobný NFT (jako jedinečné sběratelské předměty), který také umožňuje vytvářet zaměnitelné položky (jako měnu) v rámci jednoho chytrého kontraktu. To usnadňuje a zefektivňuje správu různých typů digitálních aktiv, zejména pro aplikace jako jsou videohry nebo digitální sbírky.",
+ "erc-20-term": "ERC-20",
+ "erc-20-definition": "ERC-20 je standard, který většina tokenů na síti Ethereum používá pro své vytvoření. Populárními příklady jsou stabilní kryptoměny jako DAI a USDC nebo burzovní tokeny jako UNI od Uniswapu. Podobně jako jakákoli forma alternativních peněz, které máme v tradičních systémech… tj. věrnostní body, kreditní systémy nebo dokonce akcie atd.",
+ "erc-721-term": "ERC-721",
+ "erc-721-definition": "NFT (nezaměnitelné tokeny) jsou vytvářeny pomocí standardní sady pravidel označovaných jako ERC-721. Tokeny NFT mohou představovat vlastnictví čehokoli jedinečného, jako je digitální umění nebo sběratelské předměty, přičemž každý token má své vlastní speciální vlastnosti a hodnotu. Každé NFT je jedinečné a snadno odlišitelné od jakéhokoli jiného NFT.",
+ "execution-client-term": "Exekuční klient",
+ "execution-client-definition": "Exekuční klienti (dříve známí jako „klienti Eth1“), jako jsou Besu, Erigon, Go-Ethereum (Geth), Nethermind, mají za úkol zpracovávat a vysílat transakce a spravovat stav Etherea. Provádějí výpočty pro každou transakci pomocí Ethereum Virtual Machine, aby se zajistilo, že jsou dodržována pravidla protokolu.",
+ "execution-layer-term": "Exekuční vrstva",
+ "execution-layer-definition": "Exekuční vrstva Etherea je síť exekučních klientů.",
+ "eoa-term": "Externě vlastněný účet (EOA)",
+ "eoa-definition": "Externě vlastněné účty (EOA) jsou nejběžnějším typem účtu na Ethereu. Jsou ovládány osobou prostřednictvím soukromých klíčů/obnovovací fráze. Více o peněženkách Etherea.",
+ "erc-term": "Ethereum Request for Comments (ERC)",
+ "erc-definition": "ERC (Ethereum Request for Comments) je typ technické dokumentace používané v komunitě Etherea k navrhování nových standardů použití pro síť Ethereum.
Tyto návrhy mohou pokrývat širokou škálu témat, včetně nových standardů tokenů (jako ERC-20 pro tokeny a ERC-721 pro NFT).",
+ "ethash-term": "Ethash",
+ "ethash-definition": "Algoritmus proof-of-work, který byl používán na Ethereu před přechodem na proof-of-stake. Přečtěte si více",
+ "ether-term": "Ether",
+ "ether-definition": "Nativní kryptoměna Etherea, běžně označovaná jako „ETH“. Používá se k pokrytí transakčních poplatků při používání ekosystému a aplikací Etherea. Více o etheru.",
+ "events-term": "Události",
+ "events-definition": "Umožňuje použití logovacích zařízení EVM. Dapps mohou naslouchat událostem a používat je ke spouštění JavaScriptových zpětných volání v uživatelském rozhraní. Více o událostech a logách",
+ "evm-term": "Virtuální stroj Etherea (EVM)",
+ "evm-definition": "Zásobníkový virtuální stroj, který provádí bajtkód. V Ethereu exekuční model specifikuje, jak se stav systému mění v závislosti na sérii instrukcí bajtkódu a malé n-tici environmentálních dat. To je specifikováno prostřednictvím formálního modelu virtuálního stavového stroje. Více o Ethereum Virtual Machine.",
+ "evm-assembly-language-term": "Jazyk symbolických adres EVM",
+ "evm-assembly-language-definition": "Lidsky čitelná forma bajtkódu EVM.",
+ "fallback-function-term": "Záložní funkce",
+ "fallback-function-definition": "Výchozí funkce volaná v nepřítomnosti dat nebo deklarovaného názvu funkce.",
+ "faucet-term": "Faucet",
+ "faucet-definition": "Služba prováděná prostřednictvím chytrého kontraktu, která vydává prostředky ve formě bezplatného testovacího etheru, který lze použít na testnetu.",
+ "finality-term": "Konečnost",
+ "finality-definition": "Finalita je záruka, že sada transakcí nemůže být změněna, aniž by došlo ke ztrátě obrovského množství ETH.",
+ "finney-term": "Finney",
+ "finney-definition": "Denominace etheru. 1 finney = 1015wei. 103 finney = 1 ether.",
+ "fork-term": "Větev",
+ "fork-definition": "Změna v protokolu způsobující vytvoření alternativního řetězce.",
+ "fork-choice-algorithm-term": "Algoritmus výběru větve",
+ "fork-choice-algorithm-definition": "Algoritmus používaný k identifikaci hlavy blockchainu. Na Ethereu je hlava řetězce identifikována jako větev s největší „váhou“ atestací. Váha je součin počtu atestací a efektivního zůstatku atestujících validátorů. To znamená, že skutečnou hlavou řetězce je ta, pro kterou hlasovalo nejvíce stakovaných etherů. Na konsensuální vrstvě se algoritmus výběru větve nazývá LMD_GHOST.",
+ "fraud-proof-term": "Důkaz podvodu",
+ "fraud-proof-definition": "Bezpečnostní model pro některá řešení druhé vrstvy, kde se pro zvýšení rychlosti transakce shromažďují do dávek a odesílají do Etherea v jedné transakci. Ostatní účastníci sítě mohou transakce znovu provést, aby zkontrolovali, zda byly provedeny poctivě. Pokud odhalí nesrovnalost mezi zveřejněnými daty a svou vlastní verzí, mohou zveřejnit kryptografický důkaz, který ukazuje, kde došlo k podvodu. Některé rollupy používají důkazy platnosti.",
+ "frontier-term": "Frontier",
+ "frontier-definition": "Počáteční testovací vývojová fáze Etherea, která trvala od července 2015 do března 2016.",
+ "gas-term": "Palivo",
+ "gas-definition": "Plyn je poplatek placený za transakce a chytré kontrakty na blockchainu, jako je Ethereum. Více o plynu a poplatcích.",
+ "gas-limit-term": "Limit transakčních poplatků",
+ "gas-limit-definition": "Maximální množství plynu, které může transakce nebo blok spotřebovat.",
+ "gas-price-term": "Cena plynu",
+ "gas-price-definition": "Cena v etheru za jednu jednotku plynu specifikovanou v transakci.",
+ "genesis-block-term": "Genesis blok",
+ "genesis-block-definition": "První blok v blockchainu, který se používá k inicializaci konkrétní sítě a její kryptoměny.",
+ "geth-term": "Geth",
+ "geth-definition": "Go Ethereum. Jedna z nejvýznamnějších implementací protokolu Etherea, napsaná v jazyce Go. Přečtěte si více na geth.ethereum.org",
+ "gwei-term": "Gwei",
+ "gwei-definition": "Zkratka pro gigawei, denominaci etheru, běžně používanou k ocenění plynu. 1 gwei = 109wei. 109 gwei = 1 ether.",
+ "hard-fork-term": "Tvrdá větev",
+ "hard-fork-definition": "Trvalé rozdělení v blockchainu; známé také jako změna s tvrdou větví. K jedné běžně dochází, když neaktualizované uzly nemohou validovat bloky vytvořené aktualizovanými uzly, které se řídí novějšími pravidly konsensu. Nezaměňovat s větví, měkkou větví, softwarovou větví nebo větví v Gitu.",
+ "hash-term": "Haš",
+ "hash-definition": "Otisk pevné délky z variabilně velkého vstupu, vytvořený hašovací funkcí. (Viz keccak-256).",
+ "hash-rate-term": "Hašovací rychlost",
+ "hash-rate-definition": "Počet hašovacích výpočtů provedených za sekundu počítači spouštějícími software pro těžbu.",
+ "homestead-term": "Homestead",
+ "holographic-consensus-term": "Holografický konsensus",
+ "holographic-consensus-definition": "Odkazuje na to, jak je přijato velké skupinové rozhodnutí tím, že se nechá hlasovat menší skupina reprezentativních lidí. Pak všichni ostatní souhlasí s tím, že se tím budou řídit, pokud důvěřují, že malá skupina odvedla dobrou práci. Používá se v některých online komunitách k rychlému rozhodování, aniž by bylo nutné, aby každý hlasoval o všem, a zároveň se zajišťuje, že rozhodnutí jsou spravedlivá a reprezentují to, co si většina lidí přeje.",
+ "homestead-definition": "Druhá vývojová fáze Etherea, spuštěná v březnu 2016 na bloku 1 150 000.",
+ "index-term": "Index",
+ "index-definition": "Síťová struktura určená k optimalizaci dotazování na informace z celého blockchainu tím, že poskytuje efektivní cestu k jeho úložnému zdroji.",
+ "ide-term": "Integrované vývojové prostředí (IDE)",
+ "ide-definition": "Uživatelské rozhraní, které obvykle kombinuje editor kódu, kompilátor, běhové prostředí a debugger. Více o integrovaných vývojových prostředích.",
+ "immutable-deployed-code-problem-term": "Problém neměnného nasazeného kódu",
+ "immutable-deployed-code-problem-definition": "Jakmile je kód kontraktu (nebo knihovny) nasazen, stává se neměnným. Standardní postupy vývoje softwaru se spoléhají na možnost opravit případné chyby a přidat nové funkce, takže to pro vývoj chytrých kontraktů představuje výzvu. Více o nasazování chytrých kontraktů.",
+ "internal-transaction-term": "Interní transakce",
+ "internal-transaction-definition": "Transakce odeslaná z účtu kontraktu na jiný účet kontraktu nebo na EOA (viz zpráva).",
+ "issuance-term": "Vydávání",
+ "issuance-definition": "Ražba nového etheru k odměně za návrh bloku, atestaci a oznamování.",
+ "kdf-term": "Funkce odvození klíče (KDF)",
+ "kdf-definition": "Také známý jako „algoritmus natahování hesla“, používá se formáty úložiště klíčů k ochraně proti útokům hrubou silou, slovníkovým útokům a útokům duhových tabulek na šifrování hesla opakovaným hašováním hesla.",
+ "keystore-term": "Úložiště klíčů",
+ "keystore-definition": "Pár soukromého klíče/adresy každého účtu existuje jako jeden soubor s klíčem v klientovi Etherea. Jedná se o textové soubory JSON, které obsahují zašifrovaný soukromý klíč účtu, který lze dešifrovat pouze heslem zadaným při vytváření účtu.",
+ "keccak-256-term": "Keccak-256",
+ "keccak-256-definition": "Kryptografická hašovací funkce používaná v Ethereu. Keccak-256 byl standardizován jako SHA-3.",
+ "key-term": "Klíč",
+ "key-definition": "V kontextu Etherea jsou klíče digitální kódy: veřejný klíč pro příjem transakcí a soukromý klíč pro přístup k prostředkům a jejich odesílání. Veřejné klíče: Mohou být sdíleny otevřeně. Soukromé klíče: Jsou drženy v tajnosti vlastníkem.",
+ "layer-1-term": "Vrstva 1",
+ "layer-1-definition": "První vrstva označuje hlavní blockchain ve víceúrovňové blockchainové síti. Například Ethereum a Bitcoin jsou blockchainy první vrstvy. Mnoho blockchainů druhé vrstvy přesouvá transakce náročné na zdroje na svůj samostatný blockchain, zatímco nadále používají blockchain první vrstvy Etherea nebo Bitcoinu pro bezpečnostní účely.",
+ "layer-2-term": "Vrstva 2",
+ "layer-2-definition": "Druhá vrstva (Layer 2) jsou další sítě postavené na hlavní síti Etherea, které zrychlují a zlevňují transakce. Více o druhé vrstvě.",
+ "library-term": "Knihovna",
+ "library-definition": "Speciální typ chytrého kontraktu, který nemá žádné placené funkce, žádnou záložní funkci a žádné úložiště dat. Proto nemůže přijímat ani držet ether, ani ukládat data. Knihovna slouží jako dříve nasazený kód, který mohou ostatní kontrakty volat pro výpočty pouze pro čtení. Více o knihovnách chytrých kontraktů.",
+ "light-client-term": "Lehký klient",
+ "light-client-definition": "Klient Etherea, který neukládá místní kopii blockchainu, ani nevaliduje bloky a transakce. Nabízí funkce peněženky a může vytvářet a vysílat transakce.",
+ "liquidity-term": "Likvidita",
+ "liquidity-definition": "Likvidita je, jak rychle a snadno lze aktivum převést na hotovost nebo jiné aktivum. Decentralizované burzy jako Uniswap mají více poolů likvidity, kde mohou držitelé aktiv vkládat svá aktiva, kde je obchodníci mohou kupovat a prodávat decentralizovaným způsobem výměnou za odměny.",
+ "liquidity-tokens-term": "Žetony likvidity",
+ "liquidity-tokens-definition": "Tokeny likvidity (LST) jsou digitální tokeny vydávané účastníkům, kteří vkládají aktiva do poolu likvidity, což je sbírka prostředků uzamčených v chytrém kontraktu a používaných k usnadnění obchodování na decentralizované burze (DEX). Tyto tokeny představují podíl účastníka v poolu a lze je později vyměnit za počáteční vklad plus část obchodních poplatků generovaných aktivitou poolu. V podstatě tokeny likvidity slouží jako důkaz vlastnictví nebo podílu v poolu likvidity, což držitelům umožňuje získávat odměny a zároveň poskytovat potřebnou likviditu pro ostatní, aby mohli efektivně obchodovat s různými páry kryptoměn.",
+ "liquid-staking-tokens-term": "Tokeny likvidního stakingu",
+ "liquid-staking-tokens-definition": "Derivátový token, který představuje vlastnictví uzamčené kryptoměny, kterou uživatel stakuje. Po stakování aktiva některé platformy umožňují ražbu tokenů likvidního stakingu (LST), které představují ekvivalentní podíl uzamčených tokenů. Tyto LST lze poté obchodovat, prodávat nebo používat v jiných protokolech DeFi, což zlepšuje kapitálovou efektivitu stakera tím, že mu umožňuje přístup k likviditě z jeho prostředků, i když jeho původní aktiva zůstávají stakována.",
+ "lmd-ghost-term": "LMD-GHOST",
+ "lmd-ghost-definition": "Algoritmus výběru větve používaný konsensuálními klienty Etherea k identifikaci hlavy řetězce. LMD-GHOST je zkratka pro „Latest Message Driven Greediest Heaviest Observed SubTree“, což znamená, že hlavou řetězce je blok s největší akumulací atestací ve své historii.",
+ "mainnet-term": "Mainnet",
+ "mainnet-definition": "Zkratka pro „hlavní síť“, toto je hlavní veřejný blockchain Etherea.",
+ "max-fee-per-gas-term": "Maximální poplatek za plyn",
+ "max-fee-per-gas-definition": "Maximální poplatek je absolutní maximální částka, kterou je uživatel ochoten zaplatit za jednotku plynu (gwei), aby byla transakce zahrnuta do bloku.",
+ "merkle-patricia-tree-term": "Merkle Patricia Strom (MPT)",
+ "merkle-patricia-tree-definition": "Datová struktura používaná v Ethereu k efektivnímu ukládání párů klíč-hodnota.",
+ "merkle-root-term": "Kořen Merkle",
+ "merkle-root-definition": "Kořen Merkle je jediný vrcholový haš stromu Merkle. Ověřuje všechny transakce v bloku.",
+ "message-term": "Zpráva",
+ "message-definition": "Interní transakce, která není nikdy serializována a je posílána pouze v rámci EVM.",
+ "message-call-term": "Message call",
+ "message-call-definition": "Akt předání zprávy z jednoho účtu na druhý. Pokud je cílový účet spojen s kódem EVM, pak se VM spustí se stavem tohoto objektu a zpráva se na něj aplikuje.",
+ "mev-term": "Maximální vytěžitelná hodnota (MEV)",
+ "mev-definition": "Maximální hodnota, kterou lze vytěžit z produkce bloku nad rámec standardní odměny za blok a poplatků za plyn zahrnutím, vyloučením a změnou pořadí transakcí v bloku. Více o maximální vytěžitelné hodnotě (MEV).",
+ "mining-term": "Těžba",
+ "mining-definition": "Proces opakovaného hašování záhlaví bloku při inkrementaci nonce, dokud výsledek neobsahuje libovolný počet úvodních binárních nul. Toto je proces, kterým jsou nové bloky přidávány do blockchainu proof-of-work. Takto bylo Ethereum zabezpečeno, než přešlo na proof-of-stake.",
+ "miner-term": "Těžař",
+ "miner-definition": "Síťový uzel, který nachází platné důkazy práce pro nové bloky opakovaným hašováním (viz Ethash). Těžaři již nejsou součástí Etherea – byli nahrazeni validátory, když Ethereum přešlo na proof-of-stake.",
+ "mint-term": "Razit",
+ "mint-definition": "Ražba je proces vytváření nových tokenů a jejich uvádění do oběhu, aby mohly být používány. Jedná se o decentralizovaný mechanismus k vytvoření nového tokenu bez zapojení centrální autority.",
+ "multisig-term": "Multisig",
+ "multisig-definition": "Multisig (vícenásobný podpis) označuje digitální peněženku nebo účet, který vyžaduje více podpisů nebo schválení k provádění transakcí, což zvyšuje bezpečnost. To přidává další zabezpečení ve srovnání s tradičními účty s jedním podpisem, kde je potřeba pouze schválení jedné osoby.",
+ "network-term": "Síť",
+ "network-definition": "V souvislosti se sítí Ethereum jde o síť typu peer-to-peer, která šíří transakce a bloky ke každému uzlu Etherea (účastníkovi sítě). Více o sítích.",
+ "network-hashrate-term": "Hašovací rychlost sítě",
+ "network-hashrate-definition": "Kolektivní hašovací rychlost produkovaná celou těžařskou sítí. Těžba na Ethereu byla vypnuta, když Ethereum přešlo na proof-of-stake.",
+ "nft-term": "Nezaměnitelný token (NFT)",
+ "nft-definition": "Unikátní digitální předmět, který můžete vlastnit, jako umění nebo sběratelské předměty, ověřený blockchainovou technologií. Více o nezaměnitelných tokenech (NFT).",
+ "node-term": "Uzel",
+ "node-definition": "Softwarový klient, který se podílí na síti. Více o uzlech a klientech.",
+ "nonce-term": "Jedinečné číslo (nonce)",
+ "nonce-definition": "V kryptografii hodnota, která může být použita pouze jednou. Nonce účtu je počítadlo transakcí v každém účtu, které se používá k zabránění útokům s opakovaným přehráním.",
+ "offchain-term": "Mimo řetězec",
+ "offchain-definition": "Offchain znamená jakoukoli transakci nebo data, která existují mimo blockchain. Protože provádění každé transakce onchain může být drahé a neefektivní, nástroje třetích stran, jako jsou orákula, která zpracovávají cenová data, nebo řešení druhé vrstvy, která provádějí vyšší propustnost transakcí, zpracovávají většinu práce offchain a odesílají informace onchain v méně častých intervalech.",
+ "ommer-term": "Ommer (strýčkovský) blok",
+ "ommer-definition": "Když těžař proof-of-work najde platný blok, jiný těžař mohl publikovat konkurenční blok, který je přidán na vrchol blockchainu jako první. Tento platný, ale zastaralý blok může být zahrnut novějšími bloky jako ommery a obdržet částečnou odměnu za blok. Termín „ommer“ je preferovaný genderově neutrální termín pro sourozence rodičovského bloku, ale někdy se také označuje jako „strýc“. To bylo běžné pro Ethereum, když bylo sítí proof-of-work. Nyní, když Ethereum používá proof-of-stake, je pro každý slot vybrán pouze jeden navrhovatel bloku.",
+ "onchain-term": "Na řetězci",
+ "onchain-definition": "Odkazuje na akce nebo transakce, které se dějí na blockchainu a jsou veřejně dostupné.
Představte si to jako psaní do velkého, sdíleného zápisníku, který může každý vidět a zkontrolovat, což zajišťuje, že cokoli je napsáno (jako odeslání digitálních peněz nebo uzavření smlouvy), je trvalé a nelze to změnit ani vymazat.",
+ "optimistic-rollup-term": "Optimistický rollup",
+ "optimistic-rollup-definition": "Optimistický rollup je řešení druhé vrstvy, které zrychluje transakce na Ethereu tím, že je standardně považuje za platné, pokud nejsou zpochybněny. Více o optimistických rollupech.",
+ "oracle-term": "Orákulum",
+ "oracle-definition": "Orákulum je přemostění mezi blockchainem a reálným světem. Fungují jako onchain API, které lze dotazovat na informace a používat v chytrých kontraktech. Více o orákulech.",
+ "peer-term": "Peer",
+ "peer-definition": "Propojené počítače spouštějící klientský software Etherea, které mají identické kopie blockchainu.",
+ "peer-to-peer-network-term": "Síť peer-to-peer",
+ "peer-to-peer-network-definition": "Síť počítačů (peerů), které jsou kolektivně schopny vykonávat funkce bez nutnosti centralizovaných, serverových služeb. Toto uspořádání se často používá pro sdílení souborů (tj. Bit torrent), informací nebo digitálních měn, což umožňuje přímější a potenciálně efektivnější výměny mezi uživateli.",
+ "permissionless-term": "Bez nutnosti povolení",
+ "permissionless-definition": "Bez povolení znamená, že kdokoli se může připojit a používat systém jako Ethereum. Je otevřený pro účast každého a nevyžaduje žádné schválení.",
+ "plasma-term": "Plasma",
+ "plasma-definition": "Offchainové řešení škálování, které používá důkazy podvodu, jako jsou optimistické rollupy. Plasma je omezena na jednoduché transakce, jako jsou základní přenosy a směny tokenů. Více o plasmě.",
+ "private-key-term": "Privátní klíč",
+ "private-key-definition": "Soukromý klíč je tajný kód, který prokazuje, že vlastníte své digitální peníze, a umožňuje vám je utrácet, jako PIN k vašemu účtu. NESDÍLEJTE HO.",
+ "public-goods-term": "Veřejné statky",
+ "public-goods-definition": "Veřejné statky jsou věci, které může každý používat zdarma, jako jsou parky nebo čistý vzduch, a jejich používání nebrání ostatním v jejich používání. Vlády je často poskytují, protože podniky to obvykle nedělají, jelikož nemohou snadno účtovat lidem za jejich používání.",
+ "private-chain-term": "Soukromý řetězec",
+ "private-chain-definition": "Plně soukromý blockchain je ten s povoleným přístupem, který není veřejně dostupný k použití.",
+ "poap-term": "POAP",
+ "poap-definition": "Protokol o prokázání účasti se používá k vytvoření digitálního sběratelského předmětu (NFT), který prokazuje, že jste se zúčastnili určité události nebo aktivity.",
+ "pos-term": "Proof-of-stake (PoS)",
+ "pos-definition": "Metoda, kterou se protokol blockchainu kryptoměny snaží dosáhnout distribuovaného konsensu. PoS žádá uživatele, aby prokázali vlastnictví určitého množství kryptoměny (jejich „podíl“ v síti), aby se mohli podílet na validaci transakcí. Více o proof-of-stake.",
+ "pow-term": "Proof-of-work (PoW)",
+ "pow-definition": "Bezpečnostní mechanismus pro blockchainy, který vyžaduje, aby uzly vynakládaly energii ve formě výpočtů k nalezení určité hodnoty.",
+ "proto-danksharding-term": "Proto-Danksharding",
+ "proto-danksharding-definition": "Nový typ transakce, který přijímá „bloby“ dat pro Ethereum. Tato „blob“ data jsou dočasně uložena na Beacon Chainu po dobu 4096 epoch (~18,2 dne) a mohou být volitelně poté prořezána, aby se pomohlo snížit hardwarové nároky na operátory uzlů.",
+ "public-key-term": "Veřejný klíč",
+ "public-key-definition": "Veřejný klíč je sada znaků, která umožňuje ostatním bezpečně vám posílat digitální měnu, jako e-mailová adresa pro peníze.",
+ "quadratic-voting-term": "Kvadratické hlasování",
+ "quadratic-voting-definition": "Je hlasovací metoda, kde voliči vyjadřují, jak silně se cítí ohledně problémů. Umožňuje voličům ukázat nejen preferenci, ale také intenzitu své preference.",
+ "receipt-term": "Potvrzení",
+ "receipt-definition": "Data vrácená klientem Etherea, která představují výsledek konkrétní transakce, včetně haše transakce, jejího čísla bloku, množství spotřebovaného plynu a v případě nasazení chytrého kontraktuadresy kontraktu.",
+ "recovery-phrase-term": "Fráze pro obnovení/obnovovací fráze",
+ "recovery-phrase-definition": "Seznam slov, která vám jsou dána při vytváření digitální peněženky. Funguje jako heslo, které vám může pomoci dostat se zpět do vaší peněženky, pokud ztratíte přístup, a zajistit, že neztratíte své digitální peníze nebo tokeny.",
+ "re-entrancy-attack-term": "Útok re-entrancy",
+ "re-entrancy-attack-definition": "Útok, který spočívá v tom, že útočící kontrakt volá funkci obětního kontraktu tak, že během provádění obětní kontrakt znovu volá útočící kontrakt, rekurzivně. To může vést například k krádeži prostředků přeskočením částí obětního kontraktu, které aktualizují zůstatky nebo počítají částky výběrů. Více o re-entrancy.",
+ "reward-term": "Odměna",
+ "reward-definition": "Množství etheru udělené validátorům, kteří provádějí určité funkce, včetně navrhování bloku nebo účasti v synchronizační komisi, v každém slotu.",
+ "rlp-term": "Recursive Length Prefix (RLP)",
+ "rlp-definition": "Standard kódování navržený vývojáři Etherea pro kódování a serializaci objektů (datových struktur) libovolné složitosti a délky.",
+ "rollups-term": "Rollupy",
+ "rollups-definition": "Typ řešení škálování druhé vrstvy, které shromažďuje více transakcí a odesílá je do hlavního řetězce Etherea v jedné transakci. To umožňuje snížení nákladů na plyn a zvýšení propustnosti transakcí. Existují optimistické a zero-knowledge rollupy, které používají různé bezpečnostní metody k nabídnutí těchto zisků ve škálovatelnosti. Více o rollupech.",
+ "rpc-term": "Vzdálené volání procedur (RPC)",
+ "rpc-definition": "RPC umožňuje jednomu počítači požadovat data nebo akci od jiného přes síť, jako byste žádali o informace pomocí dálkového ovladače.",
+ "sha-term": "Secure Hash Algorithm (SHA)",
+ "sha-definition": "Rodina kryptografických hašovacích funkcí publikovaná Národním institutem pro standardy a technologie (NIST).",
+ "serialization-term": "Serializace",
+ "serialization-definition": "Proces převodu datové struktury na sekvenci bajtů.",
+ "sequencer-term": "Sekvencer",
+ "sequencer-definition": "Sekvencer je program zodpovědný za řazení transakcí v blockchainové síti, zejména v rámci řešení škálování druhé vrstvy.",
+ "shard-term": "Shard / shard chain",
+ "shard-definition": "Shard chainy jsou diskrétní sekce celkového blockchainu, za které mohou být zodpovědné podmnožiny validátorů. Původně to mělo být způsob, jakým by Ethereum škálovalo na miliony transakcí za sekundu, ale nyní bylo nahrazeno rychlým vývojem škálování pomocí rollupů.",
+ "sidechain-term": "Sidechain",
+ "sidechain-definition": "Řešení škálování, které používá samostatný řetězec s odlišnými, často rychlejšími pravidly konsensu. K připojení těchto sidechainů k hlavní síti je zapotřebí přemostění. Rollupy také používají sidechainy, ale fungují ve spolupráci s hlavní sítí. Více o sidechainech.",
+ "signing-term": "Podepisování",
+ "signing-definition": "Kryptografické prokázání, že transakce byla schválena držitelem konkrétního soukromého klíče.",
+ "singleton-term": "Singleton",
+ "singleton-definition": "Termín z počítačového programování, který popisuje objekt, jehož může existovat pouze jediná instance.",
+ "slasher-term": "Slasher",
+ "slasher-definition": "Slasher je entita, která skenuje atestace a hledá přestupky, za které lze udělit postih. Postihy jsou vysílány do sítě a další navrhovatel bloku přidá důkaz do bloku. Navrhovatel bloku pak obdrží odměnu za postihnutí škodlivého validátoru.",
+ "slot-term": "Slot",
+ "slot-definition": "Časový úsek (12 sekund), ve kterém mohou být navrhovány nové bloky validátorem v systému proof-of-stake. Slot může být prázdný. 32 slotů tvoří epochu. Více o proof-of-stake.",
+ "smart-contract-term": "Chytrý kontrakt",
+ "smart-contract-definition": "Chytrý kontrakt je program, který automaticky provádí dohody na blockchainu, jako samovynucovací digitální smlouva. Úvod do chytrých kontraktů.",
+ "snark-term": "SNARK",
+ "snark-definition": "Zkratka pro „succinct non-interactive argument of knowledge“, SNARK je typ důkazu s nulovou znalostí. Více o rollupech s nulovou znalostí.",
+ "soft-fork-term": "Měkká větev",
+ "soft-fork-definition": "Rozdělení v blockchainu, ke kterému dochází, když se změní pravidla konsensu. Na rozdíl od tvrdé větve je měkká větev zpětně kompatibilní; aktualizované uzly mohou validovat bloky vytvořené neaktualizovanými uzly, pokud dodržují nová pravidla konsensu.",
+ "solidity-term": "Solidity",
+ "solidity-definition": "Procedurální (imperativní) programovací jazyk se syntaxí podobnou JavaScriptu, C++ nebo Javě. Nejoblíbenější a nejčastěji používaný jazyk pro chytré kontrakty na Ethereu. Vytvořil Dr. Gavin Wood. Více o Solidity.",
+ "solidity-inline-assembly-term": "Solidity inline assembly",
+ "solidity-inline-assembly-definition": "Jazyk symbolických adres EVM v programu Solidity. Podpora Solidity pro inline assembly usnadňuje psaní určitých operací.",
+ "stablecoin-term": "Stabilní kryptoměna",
+ "stablecoin-definition": "Stabilní kryptoměna je typ kryptoměny navržený tak, aby měl stabilní hodnotu, často vázanou na měnu nebo komoditu (jako je americký dolar), aby se minimalizovala cenová volatilita. Více o stabilních kryptoměnách.",
+ "staking-term": "Uzamčení",
+ "staking-definition": "Uložení množství etheru (váš podíl) za účelem stát se validátorem a zabezpečit síť. Validátor kontroluje transakce a navrhuje bloky v rámci konsensuálního modelu proof-of-stake. Uzamčení vám poskytuje ekonomickou motivaci jednat v nejlepším zájmu sítě. Dostanete odměny za plnění svých povinností validátora, ale ztratíte různé množství ETH, pokud tak neučiníte. Více o uzamčení Etherea.",
+ "staking-pool-term": "Pool pro uzamčení",
+ "staking-pool-definition": "Kombinované ETH více než jednoho stakera Etherea, použité k dosažení 32 ETH potřebných k aktivaci sady klíčů validátoru. Provozovatel uzlu používá tyto klíče k účasti na konsensu a odměny za blok jsou rozděleny mezi přispívající stakery. Pooly pro uzamčení nebo delegování uzamčení nejsou nativní pro protokol Etherea, ale komunita vytvořila mnoho řešení. Více o sdruženém uzamčení.",
+ "stark-term": "STARK",
+ "stark-definition": "Zkratka pro „scalable transparent argument of knowledge“, STARK je typ důkazu s nulovou znalostí. Více o rollupech s nulovou znalostí.",
+ "state-term": "Stav",
+ "state-definition": "Snímek všech zůstatků a dat v určitém okamžiku na blockchainu, obvykle odkazující na stav v určitém bloku.",
+ "state-channels-term": "Stavové kanály",
+ "state-channels-definition": "Řešení druhé vrstvy, kde je mezi účastníky vytvořen kanál, ve kterém mohou transakce provádět volně a levně. Pouze transakce k vytvoření kanálu a uzavření kanálu je odeslána na hlavní síť. To umožňuje velmi vysokou propustnost transakcí, ale spoléhá se na znalost počtu účastníků předem a na uzamčení prostředků. Více o stavových kanálech.",
+ "supermajority-term": "Nadpoloviční většina",
+ "supermajority-definition": "Nadpoloviční většina je termín pro množství přesahující 2/3 (66 %) celkového uzamčeného etheru zabezpečujícího Ethereum. Hlasování nadpoloviční většinou je nutné, aby byly bloky finalizovány na Beacon Chainu.",
+ "sybil-attack-term": "Útok Sybil",
+ "sybil-attack-definition": "Sybil útoky jsou útoky, kde se jednotlivci snaží přelstít systém, aby si myslel, že jsou více lidmi, aby zvyšili svůj vliv.",
+ "syncing-term": "Synchronizace",
+ "syncing-definition": "Proces stahování celé nejnovější verze blockchainu do uzlu.",
+ "sync-committee-term": "Synchronizační komise",
+ "sync-committee-definition": "Synchronizační komise je náhodně vybraná skupina validátorů, která se obnovuje přibližně každých 27 hodin. Jejím účelem je přidávat své podpisy k platným záhlavím bloků. Synchronizační komise umožňují lehkým klientům sledovat hlavu blockchainu, aniž by museli přistupovat k celé sadě validátorů.",
+ "szabo-term": "Szabo",
+ "szabo-definition": "Denominace etheru. 1 szabo = 1012wei. 106 szabo = 1 ether.",
+ "terminal-total-difficulty-term": "Konečná celková obtížnost (TTD)",
+ "terminal-total-difficulty-definition": "Celková obtížnost je součet obtížnosti těžby Ethash pro všechny bloky až do určitého bodu v blockchainu. Konečná celková obtížnost je specifická hodnota celkové obtížnosti, která byla použita jako spouštěč pro exekuční klienty, aby vypnuli své funkce těžby a šíření bloků, což umožnilo síti přejít na proof-of-stake. Nyní již není relevantní, protože Ethereum přešlo na proof-of-stake.",
+ "testnet-term": "Testnet",
+ "testnet-definition": "Zkratka pro „testovací síť“, síť používaná k simulaci chování hlavní sítě Etherea.",
+ "token-term": "Token",
+ "token-definition": "Obchodovatelné virtuální zboží definované v chytrých kontraktech na blockchainu Etherea.",
+ "token-factory-term": "Továrna na tokeny",
+ "token-factory-definition": "Továrna na tokeny je chytrý kontrakt, který usnadňuje vytváření tokenů v rámci určitého standardu, jako je ERC-20, ERC-721 nebo ERC-1155. Chytrý kontrakt funguje jako šablona, která uživatelům umožňuje nasazovat nové tokeny s vlastními parametry, jako je název, symbol, zásoba a další funkcionalita, aniž by museli vytvářet nový chytrý kontrakt od nuly.",
+ "transaction-term": "Transakce",
+ "transaction-definition": "Data odeslaná na blockchain Etherea podepsaná původním účtem, cílená na specifickou adresu. Transakce obsahuje metadata, jako je limit transakčních poplatků pro danou transakci. Více o transakcích.",
+ "transaction-fee-term": "Transakční poplatek",
+ "transaction-fee-definition": "Poplatek, který musíte zaplatit vždy, když používáte síť Ethereum. Příklady zahrnují odesílání prostředků z vaší peněženky nebo interakci s dapp, jako je směna tokenů nebo nákup sběratelského předmětu. Můžete si to představit jako poplatek za službu. Tento poplatek se bude měnit v závislosti na tom, jak je síť vytížená. To je proto, že validátoři, lidé zodpovědní za zpracování vaší transakce, pravděpodobně upřednostní transakce s vyššími poplatky – takže přetížení tlačí cenu nahoru.
Na technické úrovni se váš transakční poplatek vztahuje k tomu, kolik plynu vaše transakce vyžaduje.
Snížení transakčních poplatků je v současné době předmětem intenzivního zájmu. Viz druhá vrstva.",
+ "trust-assumptions-term": "Předpoklady důvěry",
+ "trust-assumptions-definition": "Předpoklady důvěry jsou základní přesvědčení o bezpečnosti a spolehlivosti systému, která určují, čemu důvěřujeme, aby systém fungoval.",
+ "trustlessness-term": "Bez nutnosti další důvěry",
+ "trustlessness-definition": "Schopnost sítě zprostředkovat transakce, aniž by kterákoli ze zúčastněných stran musela důvěřovat třetí straně.",
+ "turing-complete-term": "Turingovsky úplný",
+ "turing-complete-definition": "Koncept pojmenovaný po anglickém matematikovi a počítačovém vědci Alanu Turingovi – systém pravidel pro manipulaci s daty (jako je instrukční sada počítače, programovací jazyk nebo buněčný automat) se považuje za „turingovsky úplný“ nebo „výpočetně univerzální“, pokud jej lze použít k simulaci jakéhokoli Turingova stroje.",
+ "validator-term": "Validátor",
+ "validator-definition": "Uzel v systému proof-of-stake, zodpovědný za ukládání dat, zpracování transakcí a přidávání nových bloků do blockchainu. K aktivaci softwaru validátoru musíte být schopni uzamknout 32 ETH. Více o uzamčení na Ethereu.",
+ "validator-lifecycle-term": "Životní cyklus validátoru",
+ "validator-lifecycle-definition": "Sekvence stavů, ve kterých může validátor existovat. Patří sem:
čeká: validátor je v aktivační frontě a čeká na hlasování do sítě stávajícími validátory
aktivní: aktuálně provádí atestace a navrhuje bloky
postihován: validátor se choval nesprávně a je postihován
ukončuje: validátor byl označen k opuštění sítě, buď dobrovolně, nebo protože byl vyloučen.
",
+ "validity-proof-term": "Důkaz platnosti",
+ "validity-proof-definition": "Bezpečnostní model pro některá řešení druhé vrstvy, kde se pro zvýšení rychlosti transakce shromažďují do dávek a odesílají do Etherea v jedné transakci. Výpočet transakce se provádí offchain a poté se dodá na hlavní řetězec s důkazem jejich platnosti. Tato metoda zvyšuje množství možných transakcí při zachování bezpečnosti. Některé rollupy používají důkaz podvodu. Více o rollupech s nulovou znalostí.",
+ "validium-term": "Validium",
+ "validium-definition": "Offchain řešení, které používá důkazy platnosti ke zlepšení propustnosti transakcí. Na rozdíl od rollupů s nulovou znalostí se data validia neukládají na hlavní síti první vrstvy. Více o validiu.",
+ "vyper-term": "Vyper",
+ "vyper-definition": "Programovací jazyk vyšší úrovně se syntaxí podobnou Pythonu. Cílem je přiblížit se čistě funkčnímu jazyku. Vytvořil Vitalik Buterin. Více o Vyperu.",
+ "wallet-term": "Peněženka",
+ "wallet-definition": "Peněženka je digitální nástroj k ukládání, odesílání a přijímání digitální měny, jako virtuální peněženka pro vaše online peníze. Více o peněženkách Etherea.",
+ "web2-term": "Web2",
+ "web2-definition": "Je současný internet, zaměřený na obsah vytvářený uživateli a sociální média, která jsou kontrolována několika společnostmi. Web3 je kryptografické přesvědčení, že uživatelé by měli místo toho ovládat svá data a transakce.",
+ "web3-term": "Web3",
+ "web3-definition": "Web3 je nový internet s blockchainem, kde uživatelé ovládají svá data a transakce, nikoli společnosti. Není třeba sdílet žádné osobní údaje. Více o web3.",
+ "wei-term": "Wei",
+ "wei-definition": "Nejmenší denominace etheru. 1018 wei = 1 ether.",
+ "wrapped-token-term": "Zabalený token",
+ "wrapped-token-definition": "Blockchainový token, který představuje jinou kryptoměnu nebo aktivum na jiné síti. Například Zabalený Ether (WETH) představuje Ether (ETH) ve formátu, který je v souladu se standardem tokenu ERC-20 Etherea. Původní aktivum je bezpečně uzamčeno chytrým kontraktem a je ražen ekvivalentní zabalený token. Tento mechanismus umožňuje interoperabilitu v rámci a mezi blockchainy, což umožňuje, aby aktiva jako ETH byla bezproblémově používána v decentralizovaných aplikacích při zachování jejich hodnoty.",
+ "zero-address-term": "Nulová adresa",
+ "zero-address-definition": "Adresa Etherea, složená výhradně z nul, která se často používá jako adresa k odstranění tokenů z vlastněného oběhu. Rozlišuje se mezi tokeny formálně odstraněnými z indexu chytrého kontraktu metodou burn() a těmi, které jsou odeslány na tuto adresu.",
+ "zk-proof-term": "Důkaz s nulovou znalostí",
+ "zk-proof-definition": "Důkaz s nulovou znalostí je kryptografická metoda, která umožňuje jednotlivci prokázat, že tvrzení je pravdivé, aniž by sděloval jakékoli další informace. Více o rollupech s nulovou znalostí.",
+ "zk-rollup-term": "Rollup nulové znalosti",
+ "zk-rollup-definition": "Rollup transakcí, který používá důkazy platnosti k nabídnutí zvýšené propustnosti transakcí druhé vrstvy při využití bezpečnosti poskytované hlavní sítí (první vrstva). Ačkoli nemohou zpracovávat složité typy transakcí, jako optimistické rollupy, nemají problémy s latencí, protože transakce jsou prokazatelně platné při odeslání. Více o rollupech s nulovou znalostí."
+}
diff --git a/src/intl/cs/learn-quizzes.json b/src/intl/cs/learn-quizzes.json
new file mode 100644
index 00000000000..a29b1f7d5be
--- /dev/null
+++ b/src/intl/cs/learn-quizzes.json
@@ -0,0 +1,698 @@
+{
+ "add-quiz": "Přidat otázku/kvíz",
+ "average-score": "Průměrné skóre:",
+ "basics": "Ethereum pro začátečníky",
+ "basics-description": "Tato část pokrývá základní koncepty Etherea a zajistí vám pevné základy.",
+ "completed": "Dokončeno:",
+ "community-stats": "Komunitní statistiky",
+ "contribute": "Přispějte do naší knihovny.",
+ "correct": "Správně",
+ "explanation": "Vysvětlení",
+ "next-question": "Další otázka",
+ "next-quiz": "Další kvíz",
+ "question-number": "Otázka číslo {{number}}:",
+ "page-assets-merge": "Sloučení",
+ "passed": "Úspěšně jste splnili kvíz!",
+ "questions": "Otázky",
+ "questions-answered": "Otázek zodpovězeno:",
+ "quizzes-subtitle": "Zjistěte, jak dobře rozumíte Ethereu a kryptoměnám. Jste připraveni stát se odborníky?",
+ "retry": "Míra opakování:",
+ "score": "Skóre",
+ "see-results": "Zobrazit výsledky",
+ "share-results": "Sdílet výsledky",
+ "start": "Start",
+ "submit-answer": "Kouknout se na odpověď",
+ "test-your-knowledge": "Otestujte své znalosti o Ethereu",
+ "try-again": "Zkusit znovu",
+ "using-ethereum": "Používání Etherea",
+ "using-ethereum-description": "Ponořte se do reálných aplikací na Ethereu a odhalte, jak tato revoluční blockchainová platforma přetváří průmyslová odvětví. To je skvělý způsob, jak si ověřit, že věci dobře chápete, než začnete aktivně používat kryptoměny.",
+ "want-more-quizzes": "Chcete zde vidět více kvízů?",
+ "your-results": "Vaše výsledky",
+ "your-total": "Vaše body celkem",
+ "what-is-ethereum-1-prompt": "Největší rozdíl mezi Etheriem a Bitcoinem je:",
+ "what-is-ethereum-1-a-label": "Ethereum vám neumožňuje provádět platby ostatním lidem",
+ "what-is-ethereum-1-a-explanation": "Jak Bitcoin, tak Ethereum vám umožňují provádět platby ostatním lidem.",
+ "what-is-ethereum-1-b-label": "Na Ethereu můžete spouštět počítačové programy",
+ "what-is-ethereum-1-b-explanation": "Ethereum je programovatelné. To znamená, že můžete na blockchain Etherea umístit jakýkoli počítačový program.",
+ "what-is-ethereum-1-c-label": "Na Bitcoinu můžete spouštět počítačové programy",
+ "what-is-ethereum-1-c-explanation": "Na rozdíl od Etherea není Bitcoin programovatelný a nemůže spouštět libovolné počítačové programy.",
+ "what-is-ethereum-1-d-label": "Mají jiná loga",
+ "what-is-ethereum-1-d-explanation": "Mají sice různé loga, ale to není jejich největší rozdíl.",
+ "what-is-ethereum-2-prompt": "Nativní kryptoměna Etherea se nazývá:",
+ "what-is-ethereum-2-a-label": "Ether",
+ "what-is-ethereum-2-a-explanation": "Ether je kryptoměna, která je nativní pro síť Ethereum.",
+ "what-is-ethereum-2-b-label": "Ethereum",
+ "what-is-ethereum-2-b-explanation": "Ethereum je blockchain, ale jeho nativní měna se nejmenuje Ethereum. Toto je častý omyl.",
+ "what-is-ethereum-2-c-label": "Ethercoin",
+ "what-is-ethereum-2-c-explanation": "Na rozdíl od mnoha jiných kryptoměn neobsahuje nativní kryptoměna Etherea slovo „coin“.",
+ "what-is-ethereum-2-d-label": "Bitcoin",
+ "what-is-ethereum-2-d-explanation": "Bitcoin (s velkým B) byl první vytvořený blockchain, bitcoin (s malým b) je jeho nativní kryptoměna.",
+ "what-is-ethereum-3-prompt": "Kdo ovládá Ethereum?",
+ "what-is-ethereum-3-a-label": "Vývojáři",
+ "what-is-ethereum-3-a-explanation": "Vývojáři jsou klíčoví pro budování a vylepšování Etherea, ale nejsou to oni, kdo udržují Ethereum v chodu.",
+ "what-is-ethereum-3-b-label": "Těžaři",
+ "what-is-ethereum-3-b-explanation": "Těžba není od události známé jako Sloučení možná. Na Ethereu už neexistují „těžaři“.",
+ "what-is-ethereum-3-c-label": "Nadace Etheria",
+ "what-is-ethereum-3-c-explanation": "Nadace Ethereum Foundation nehraje žádnou významnou roli v každodenním provozu uzlů na Ethereu.",
+ "what-is-ethereum-3-d-label": "Kdokoliv, kdo spustí node",
+ "what-is-ethereum-3-d-explanation": "Kdokoli, kdo provozuje uzel, je klíčovou součástí infrastruktury Etherea. Pokud jste to ještě neudělali, zvažte provozování uzlu na Ethereu.",
+ "what-is-ethereum-4-prompt": "Od spuštění Etherea, kolikrát byla síť offline?",
+ "what-is-ethereum-4-a-label": "Nikdy",
+ "what-is-ethereum-4-a-explanation": "Ethereum nebylo od svého spuštění nikdy úplně offline (nepřestalo produkovat bloky).",
+ "what-is-ethereum-4-b-label": "Jednou",
+ "what-is-ethereum-4-c-label": "Čtyřikrát",
+ "what-is-ethereum-4-d-label": "Více než desetkrát",
+ "what-is-ethereum-5-prompt": "Ethereum spotřebovává více elektřiny než:",
+ "what-is-ethereum-5-a-label": "Těžba zlata",
+ "what-is-ethereum-5-a-explanation": "Těžba zlata spotřebuje ~131 terawatthodin ročně. Ethereum spotřebuje asi 0,0026 terawatthodin ročně.",
+ "what-is-ethereum-5-b-label": "Netflix",
+ "what-is-ethereum-5-b-explanation": "Netflix spotřebuje ~0,451 terawatthodin ročně. Ethereum spotřebuje asi 0,0026 terawatthodin ročně.",
+ "what-is-ethereum-5-c-label": "PayPal",
+ "what-is-ethereum-5-c-explanation": "PayPal spotřebuje ~0,26 terawatthodin ročně. Ethereum spotřebuje asi 0,0026 terawatthodin ročně.",
+ "what-is-ethereum-5-d-label": "Nic z výše uvedeného",
+ "what-is-ethereum-5-d-explanation": "Ethereum spotřebuje asi 0,0026 terawatthodin ročně. Méně než těžba zlata (~131 TWh/rok), Netflix (~0,451 TWh/rok) a PayPal (~0,26 TWh/rok).",
+ "what-is-ether-1-prompt": "Ether je také známý jako:",
+ "what-is-ether-1-a-label": "ETC",
+ "what-is-ether-1-a-explanation": "ETC je zkratka Etherea Classic.",
+ "what-is-ether-1-b-label": "ETR",
+ "what-is-ether-1-b-explanation": "ETR není zkratka pro ether ani pro žádnou významnou kryptoměnu.",
+ "what-is-ether-1-c-label": "ETH",
+ "what-is-ether-1-c-explanation": "ETH je zkratka pro ether na síti Ethereum.",
+ "what-is-ether-1-d-label": "BTC",
+ "what-is-ether-1-d-explanation": "BTC je zkratka pro bitcoin na síti Bitcoin.",
+ "what-is-ether-2-prompt": "Na Ethereu se poplatky za síť platí v:",
+ "what-is-ether-2-a-label": "bitcoin",
+ "what-is-ether-2-a-explanation": "„bitcoin“ s malým b označuje nativní kryptoměnu sítě Bitcoin.",
+ "what-is-ether-2-b-label": "ETH",
+ "what-is-ether-2-b-explanation": "Ether (ETH) je nativní kryptoměnou sítě Ethereum. Všechny poplatky na síti Ethereum jsou placeny v ETH.",
+ "what-is-ether-2-c-label": "USD",
+ "what-is-ether-2-c-explanation": "Není možné platit poplatky na síti Ethereum v USD (amerických dolarech) ani v žádné jiné fiat měně.",
+ "what-is-ether-2-d-label": "Ethereum",
+ "what-is-ether-2-d-explanation": "Ethereum je síť, ale poplatky na síti Ethereum jsou placeny v ETH.",
+ "what-is-ether-3-prompt": "Staking na síti Ethereum pomáhá zabezpečit síť, protože:",
+ "what-is-ether-3-a-label": "Stakeři mohou blokovat nebo penalizovat uživatele, pokud se jim nelíbí, co dělají",
+ "what-is-ether-3-a-explanation": "Stakeři nejsou schopni svévolně cenzurovat uživatele.",
+ "what-is-ether-3-b-label": "Pokud se staker pokusí podvést síť, riskuje ztrátu svého ETH",
+ "what-is-ether-3-b-explanation": "Stakeři riskují ztrátu značného množství svých ETH, pokud se ukáže, že se vůči síti chovají podvodně. Toto opatření je známé pod termínem penalizace (slashing).",
+ "what-is-ether-3-c-label": "Stakeři provozují výkonné počítače v rámci systému proof of work",
+ "what-is-ether-3-c-explanation": "Stakeři nepotřebují výkonný hardware, aby mohli zastakovat své ETH. Ethereum přestalo používat proof of work v rámci Sloučení.",
+ "what-is-ether-3-d-label": "Stakeři musí projít KYC, než budou přijati jako validátoři",
+ "what-is-ether-3-d-explanation": "Staking na Ethereu je bez nutnosti povolení a nevyžaduje KYC.",
+ "what-is-ether-4-prompt": "ETH může být použit k:",
+ "what-is-ether-4-a-label": "Placení transakčních poplatků na Ethereu",
+ "what-is-ether-4-a-explanation": "Tato odpověď je částečně správná, ale je to jen jedna z mnoha věcí, ke kterým může být ETH použit.",
+ "what-is-ether-4-b-label": "Necenzurovatelné peer-to-peer platby",
+ "what-is-ether-4-b-explanation": "Tato odpověď je částečně správná, ale je to jen jedna z mnoha věcí, ke kterým může být ETH použit.",
+ "what-is-ether-4-c-label": "Kolaterál krypto půjčky",
+ "what-is-ether-4-c-explanation": "Tato odpověď je částečně správná, ale je to jen jedna z mnoha věcí, ke kterým může být ETH použit.",
+ "what-is-ether-4-d-label": "Všechny odpovědi jsou správné",
+ "what-is-ether-4-d-explanation": "Transakce na Ethereu není možné cenzurovat, ETH je potřeba k provedení jakékoli transakce na a je klíčový pro stabilitu ekosystému DeFi.",
+ "web3-1-prompt": "Web3 umožňuje uživatelům vlastnit digitální aktiva pomocí:",
+ "web3-1-a-label": "Tokeny",
+ "web3-1-a-explanation": "Tokeny jsou způsobem, jak reprezentovat jednotky hodnoty, které jsou vzájemně zaměnitelné, pomocí účtu na Ethereu. I když představují vlastnictví, existuje více způsobů, jak vlastnit digitální aktiva na Ethereu.",
+ "web3-1-b-label": "NFT",
+ "web3-1-b-explanation": "NFT (nezaměnitelné tokeny) poskytují způsob, jak reprezentovat cokoli jedinečného v podobě aktiva na Ethereu. I když představují vlastnictví, existuje více způsobů, jak vlastnit digitální aktiva na Ethereu.",
+ "web3-1-c-label": "ENS",
+ "web3-1-c-explanation": "ENS (Ethereum Name Service) je decentralizovaná jmenná služba pro Ethereum. I když představují vlastnictví, existuje více způsobů, jak vlastnit digitální aktiva na Ethereu.",
+ "web3-1-d-label": "Všechny odpovědi jsou správné",
+ "web3-1-d-explanation": "Všechny možnosti poskytují způsoby, jak vlastnit digitální aktiva na Ethereu. Jak tokeny, tak NFT a ENS jsou způsoby, jak reprezentovat vlastnictví digitálních aktiv.",
+ "web3-2-prompt": "Web1 byl popsán jako \"pouze pro čtení\", Web2 jako přečti-napiš, Web3 jako:",
+ "web3-2-a-label": "přečti-napiš-prodej",
+ "web3-2-a-explanation": "Takto nebyl web3 popsán.",
+ "web3-2-b-label": "přečti-napiš-ulož",
+ "web3-2-b-explanation": "Takto nebyl web3 popsán.",
+ "web3-2-c-label": "přečti-napiš-vlastni",
+ "web3-2-c-explanation": "Web3 umožňuje uživatelům vlastnit svá data, a proto byl popsán jako „přečti-napiš-vlastni“, což je vylepšení Web2, který je pouze „přečti-napiš“.",
+ "web3-2-d-label": "přečti-napiš-kup",
+ "web3-2-d-explanation": "Takto nebyl web3 popsán.",
+ "web3-3-prompt": "Která iterace webu se nespoléhá na třetí strany?",
+ "web3-3-a-label": "Web1",
+ "web3-3-a-explanation": "Web1 nemá nativně zabudované platby.",
+ "web3-3-b-label": "Web2",
+ "web3-3-b-explanation": "Web2 nemá nativně zabudované platby.",
+ "web3-3-c-label": "Web3",
+ "web3-3-c-explanation": "Web3 má nativně zabudované platby kryptoměnami jako je ETH.",
+ "web3-3-d-label": "Všechny odpovědi jsou správné",
+ "web3-3-d-explanation": "Web1 a Web2 nemají nativně zabudované platby.",
+ "web3-4-prompt": "Termín \"Web3\" poprvé použil:",
+ "web3-4-a-label": "Gavin Wood",
+ "web3-4-a-explanation": "Gavin Wood, spoluzakladatel Etherea, použil termín Web3 poprvé v roce 2015, krátce po spuštění Etherea.",
+ "web3-4-b-label": "Steve Jobs",
+ "web3-4-b-explanation": "Steve Jobs frázi Web3 nepoužil.",
+ "web3-4-c-label": "Vitalik Buterin",
+ "web3-4-c-explanation": "Vitalik Buterin, ačkoliv původní zakladatel Etherea frázi \"Web3\" nevytvořil.",
+ "web3-4-d-label": "Elon Musk",
+ "web3-4-d-explanation": "Elon Musk frázi Web3 nepoužil.",
+ "web3-5-prompt": "Můžete získat jediné přihlášení odolné vůči cenzuře na celém webu pomocí:",
+ "web3-5-a-label": "Přihlášení Facebookem",
+ "web3-5-a-explanation": "Přihlášení Facebookem není odolné proti cenzuře.",
+ "web3-5-b-label": "Přihlášení Googlem",
+ "web3-5-b-explanation": "Přihlášení Googlem není odolné proti cenzuře.",
+ "web3-5-c-label": "Přihlaste se pomocí Etherea",
+ "web3-5-c-explanation": "Přihlášení účtem na Ethereu je jedinou možností, která je odolná vůči cenzuře a použitelná v jakékoliv webové aplikaci.",
+ "web3-5-d-label": "Přihlášení Twitterem",
+ "web3-5-d-explanation": "Přihlášení Twitterem není odolné proti cenzuře.",
+ "wallets-1-prompt": "Nejbezpečnějším typem peněženky je:",
+ "wallets-1-a-label": "Mobilní peněženka",
+ "wallets-1-a-explanation": "Mobilní peněženky drží soukromé klíče na mobilním zařízení, které má obvykle připojení k internetu a může být ohroženo jiným softwarem.",
+ "wallets-1-b-label": "Hardwarová peněženka",
+ "wallets-1-b-explanation": "Soukromé klíče hardwarové peněženky jsou uloženy na vyhrazeném zařízení, které lze držet mimo internet a je izolováno od ostatních aplikací na vašich zařízeních.",
+ "wallets-1-c-label": "Webová peněženka",
+ "wallets-1-c-explanation": "Webové peněženky mají menší zabezpečení než hardwarové peněženky, protože privátní klíče jsou uloženy na zařízení připojeném k internetu.",
+ "wallets-1-d-label": "Desktopová peněženka",
+ "wallets-1-d-explanation": "Peněženky na stolních počítačích drží privátní klíče v počítači, který má obvykle připojení k internetu a může být ohrožen jiným softwarem.",
+ "wallets-2-prompt": "Jak byste měli uchovávat svoji základní frázi?",
+ "wallets-2-a-label": "Na fotce v mobilu",
+ "wallets-2-a-explanation": "Toto není nejbezpečnější možnost. Pokud je taková fotografie nahrána do cloudového úložiště, hacker obrázek získá a získá tak i přístup k vašemu účtu.",
+ "wallets-2-b-label": "V souboru v počítači",
+ "wallets-2-b-explanation": "Toto není nejbezpečnější možnost. Hacker neustále více hledá informace související s kryptoměnami na cílových zařízeních. Pokud se dostane k souboru s vaší základní frází, získá přístup k vašemu účtu.",
+ "wallets-2-c-label": "V textové zprávě odeslané členovi rodiny, kterému důvěřujete",
+ "wallets-2-c-explanation": "Svou základní frázi byste neměli nikdy nikomu psát. Zprávu by mohla zachytit třetí strana, a i když této osobě absolutně důvěřujete, nevíte, kdo může mít přístup k jejímu telefonu.",
+ "wallets-2-d-label": "Nic z výše uvedeného",
+ "wallets-2-d-explanation": "Vaše základní fráze by měla být uložena bezpečným způsobem, ideálně offline. Z tohoto důvodu se často doporučuje zapsat si ji na papír, ale dobrou alternativou jsou i správci hesel.",
+ "wallets-3-prompt": "Komu byste měli dát svoji základní frázi a privátní klíče?",
+ "wallets-3-a-label": "Někomu, koho platíte",
+ "wallets-3-a-explanation": "Svou základní frázi ani privátní klíče byste nikdy neměli nikomu dávat. Místo toho pošlete tokeny na adresu jejich peněženky prostřednictvím transakce.",
+ "wallets-3-b-label": "Dappce nebo peněžence, když se přihlašujete do aplikace",
+ "wallets-3-b-explanation": "Svou základní frázi ani privátní klíče nikdy nebudete potřebovat k přihlášení do dappky nebo peněženky.",
+ "wallets-3-c-label": "Pracovníkům zákaznické podpory",
+ "wallets-3-c-explanation": "Svou základní frázi ani privátní klíče byste nikdy neměli dávat nikomu, kdo se vydává za pracovníka zákaznické podpory. Každý, kdo to po vás chce, je podvodník.",
+ "wallets-3-d-label": "Nikomu",
+ "wallets-3-d-explanation": "V ideálním případě byste svou základní frázi ani privátní klíče neměli nikdy nikomu dávat. Pokud důvěřujete někomu, kdo má absolutní přístup k vašim finančním prostředkům (například manželovi/manželce), můžete se rozhodnout, že s ním tyto informace budete sdílet.",
+ "wallets-4-prompt": "Peněženka a účet na Ethereu jsou jedna a ta samá věc.",
+ "wallets-4-a-label": "Správně",
+ "wallets-4-a-explanation": "Peněženka je vizuální rozhraní pro komunikaci s účtem na Ethereu.",
+ "wallets-4-b-label": "Špatně",
+ "wallets-4-b-explanation": "Peněženka je vizuální rozhraní pro komunikaci s účtem na Ethereu.",
+ "security-1-prompt": "Proč byste měli ke každému účtu používat jedinečné heslo?",
+ "security-1-a-label": "Pro případ, že na jedné z platforem dojde k úniku dat",
+ "security-1-a-explanation": "Tato odpověď je sice správná, ale není jediná.",
+ "security-1-b-label": "V případě, že se vám někdo dívá přes rameno, zjistí vaše heslo",
+ "security-1-b-explanation": "Tato odpověď je sice správná, ale není jediná.",
+ "security-1-c-label": "V případě, že malware, jako je keylogger, ukradne vaše heslo",
+ "security-1-c-explanation": "Tato odpověď je sice správná, ale není jediná.",
+ "security-1-d-label": "Všechny odpovědi jsou správné",
+ "security-1-d-explanation": "Všechny odpovědi jsou správné. Použití jedinečných hesel je nejlepším způsobek, jak komukoli zabránit v přístupu k vašemu účtu.",
+ "security-2-prompt": "Po Sloučení musí být ETH upgradováno na ETH2.",
+ "security-2-a-label": "Správně",
+ "security-2-a-explanation": "Nemusíte upgradovat své ETH na ETH2. Neexistuje žádný ETH2 a toto je běžná metoda, kterou používají podvodníci.",
+ "security-2-b-label": "Špatně",
+ "security-2-b-explanation": "Nemusíte upgradovat své ETH na ETH2. Neexistuje žádný ETH2 a toto je běžná metoda, kterou používají podvodníci.",
+ "security-3-prompt": "Rozdávání ETH je:",
+ "security-3-a-label": "Skvělá příležitost, jak získat další ETH",
+ "security-3-a-explanation": "Rozdávání ETH jsou podvody navržené ke krádeži vašeho ETH a dalších tokenů. Nikdy nejsou dobrým způsobem, jak získat více ETH.",
+ "security-3-b-label": "Vždy legitimní",
+ "security-3-b-explanation": "Rozdávání ETH není nikdy opravdové.",
+ "security-3-c-label": "Běžná aktivita prominentních členů komunity",
+ "security-3-c-explanation": "Prominentní členové komunity neposílají ETH dárky. Podvodníci předstírají, že dobře známí jedinci, jako je Elon Musk, dávají dárky, aby při podvodu navodili pocit legitimity.",
+ "security-3-d-label": "S největší pravděpodobností podvod",
+ "security-3-d-explanation": "Rozdávání ETH jsou vždy podvody. Nahlášení a ignorování podvodníků je nejlepší reakcí.",
+ "security-4-prompt": "Transakce na Ethereu mohou být vráceny.",
+ "security-4-a-label": "Správně",
+ "security-4-a-explanation": "Ethereovské transakce nelze vrátit zpět. Každý, kdo vám tvrdí opak, se vás možná snaží podvést.",
+ "security-4-b-label": "Špatně",
+ "security-4-b-explanation": "Ethereovské transakce nelze vrátit zpět. Každý, kdo vám tvrdí opak, se vás možná snaží podvést.",
+ "nfts-1-prompt": "NFT jsou nejkomplexněji definována jako:",
+ "nfts-1-a-label": "unikátní digitální aset",
+ "nfts-1-a-explanation": "NFT reprezentuje unikátní digitální aset.",
+ "nfts-1-b-label": "digitální umění",
+ "nfts-1-b-explanation": "NFT reprezentují unikátní digitální aset, což je často umění, ale použití je širší.",
+ "nfts-1-c-label": "vstupenky na exkluzivní události",
+ "nfts-1-c-explanation": "NFT představují jedinečné digitální aktivum, což může být i systém prodeje vstupenek, ale nejsou omezena jen na vstupenky.",
+ "nfts-1-d-label": "právně závazné smlouvy",
+ "nfts-1-d-explanation": "Ačkoli zákonná smlouva může být reprezentována jako NFT, NFT nejsou jen pro právně závazné smlouvy.",
+ "nfts-2-prompt": "Dvě NFT reprezentující stejné umělecké dílo jsou totéž.",
+ "nfts-2-a-label": "Správně",
+ "nfts-2-a-explanation": "NFT jsou nezaměnitelné. To znamená, že i když představují kus digitálního umění, jsou stále jednoznačně identifikovatelná. V tradičním uměleckém světě to může být podobné originálům a výtiskům.",
+ "nfts-2-b-label": "Špatně",
+ "nfts-2-b-explanation": "NFT jsou nezaměnitelné. To znamená, že i když představují kus digitálního umění, jsou stále jednoznačně identifikovatelná. V tradičním uměleckém světě to může být podobné originálům a výtiskům.",
+ "nfts-3-prompt": "NFT běžně představují:",
+ "nfts-3-a-label": "Heslo k vaší peněžence",
+ "nfts-3-a-explanation": "To je bezpečnostní riziko a obecně špatný nápad!",
+ "nfts-3-b-label": "Vlastnictví jedinečné digitální položky",
+ "nfts-3-b-explanation": "NFT běžně představují vlastnictví jedinečné digitální položky.",
+ "nfts-3-c-label": "Současný zůstatek ETH",
+ "nfts-3-c-explanation": "NFT nemohou svévolně představovat váš zůstatek ETH.",
+ "nfts-3-d-label": "Všechny odpovědi jsou správné",
+ "nfts-3-d-explanation": "NFT běžně představují vlastnictví jedinečné digitální položky, nikoli zůstatky ETH nebo hesla peněženky.",
+ "nfts-4-prompt": "NFT pomohla vytvořit novoou:",
+ "nfts-4-a-label": "kurátorskou ekonomiku",
+ "nfts-4-a-explanation": "NFT pomohly ke vzniku ekonomiky tvůrců, ne kurátorů.",
+ "nfts-4-b-label": "uhlíkovou ekonomiku",
+ "nfts-4-b-explanation": "NFT pomohly ke vzniku ekonomiky tvůrců, ne uhlíkové ekonomiky.",
+ "nfts-4-c-label": "ekonomiku tvůrců",
+ "nfts-4-c-explanation": "NTF pomohly ke vzniku ekonomiky tvůrců.",
+ "nfts-4-d-label": "ekonomiku doge",
+ "nfts-4-d-explanation": "NFT pomohly ke vzniku ekonomiky tvůrců, ne ekonomiky doge 🐶.",
+ "nfts-5-prompt": "NFT na Ethereu jsou škodlivé pro životní prostředí",
+ "nfts-5-a-label": "Správně",
+ "nfts-5-a-explanation": "Od Sloučení (přechodu na proof of stake) má jakákoli transakce zanedbatelný dopad na životní prostředí.",
+ "nfts-5-b-label": "Špatně",
+ "nfts-5-b-explanation": "Od Sloučení (přechodu na proof of stake) má jakákoli transakce zanedbatelný dopad na životní prostředí.",
+ "rollups-1-prompt": "Blockchainy druhé vrstvy Etherea se využívají pro:",
+ "rollups-1-a-label": "Škálování Etherea",
+ "rollups-1-a-explanation": "Primárním účelem rollupů a dalších řešení vrstvy 2 je škálování Etherea.",
+ "rollups-1-b-label": "Posílání plateb",
+ "rollups-1-b-explanation": "Primárním účelem rollupů a dalších řešení vrstvy 2 je škálování Etherea.",
+ "rollups-1-c-label": "Nákup NFT",
+ "rollups-1-c-explanation": "Primárním účelem rollupů a dalších řešení vrstvy 2 je škálování Etherea.",
+ "rollups-1-d-label": "Decentrtalizace Etherea",
+ "rollups-1-d-explanation": "Primárním účelem rollupů a dalších řešení vrstvy 2 je škálování Etherea.",
+ "rollups-2-prompt": "Za účelem škálování obětovala většina alternativních sítí vrstvy 1 především:",
+ "rollups-2-a-label": "Bezpečnost",
+ "rollups-2-a-explanation": "Většina alternativních sítí vrstvy 1 za účelem škálování obětuje mimo jiné bezpečnost.",
+ "rollups-2-b-label": "Decentralizace",
+ "rollups-2-b-explanation": "Většina alternativních sítí vrstvy 1 za účelem škálování obětuje mimo jiné decentralizaci.",
+ "rollups-2-c-label": "Cenu tokenu",
+ "rollups-2-c-explanation": "Cena tokenu nemá žádný vliv na schopnost škálování.",
+ "rollups-2-d-label": "Bezpečnost a decentralizaci",
+ "rollups-2-d-explanation": "Většina alternativních sítí vrstvy 1 za účelem škálování obětuje jak bezpečnost, tak decentralizaci.",
+ "rollups-3-prompt": "Která z následujících technologií není považována za technologii druhé vrstvy?",
+ "rollups-3-a-label": "Validia",
+ "rollups-3-a-explanation": "Validia nejsou považována za řešení vrstvy 2, protože neodvozují bezpečnost ani dostupnost dat z Etherea. Toto není jediná správná odpověď.",
+ "rollups-3-b-label": "Postranní řetězce",
+ "rollups-3-b-explanation": "Toto není jediná správná odpověď. Sidechainy nejsou považovány za řešení vrstvy 2, protože neodvozují bezpečnost ani dostupnost dat z Etherea.",
+ "rollups-3-c-label": "Alternativní blockchainy první vrstvy",
+ "rollups-3-c-explanation": "Alternativní blockchainy vrstvy 1 nejsou považovány za řešení vrstvy 2. Toto není jediná správná odpověď.",
+ "rollups-3-d-label": "Všechny odpovědi jsou správné",
+ "rollups-3-d-explanation": "Validia, sidechainy a alternativní blockchainy vrstvy 1 nejsou považovány za řešení vrstvy 2, protože neodvozují bezpečnost ani dostupnost dat z Etherea.",
+ "rollups-4-prompt": "Proč Ethereum nemá „oficiální“ druhou vrstvu?",
+ "rollups-4-a-label": "Klíčoví vývojáři jsou příliš zaneprázdněni prací na Ethereu",
+ "rollups-4-a-explanation": "Neexistují plány na „oficiální“ druhou vrstvu na Ethereu, protože je výhodné využívat široké škály přístupů k návrhu řešení druhé vrstvy.",
+ "rollups-4-b-label": "První vrstva Etherea nakonec sama dosáhne masového škálování",
+ "rollups-4-b-explanation": "Neexistují plány na „oficiální“ druhou vrstvu na Ethereu, protože je výhodné využívat široké škály přístupů k návrhu řešení druhé vrstvy.",
+ "rollups-4-c-label": "Klíčoví vývojáři stále vedou debaty o optimistických a zk-rollupech",
+ "rollups-4-c-explanation": "Neexistují plány na „oficiální“ druhou vrstvu na Ethereu, protože je výhodné využívat široké škály přístupů k návrhu řešení druhé vrstvy.",
+ "rollups-4-d-label": "Ethereum bude těžit z široké škály přístupů k návrhu druhé vrstvy",
+ "rollups-4-d-explanation": "Neexistují plány na „oficiální“ druhou vrstvu na Ethereu, protože je výhodné využívat široké škály přístupů k návrhu řešení druhé vrstvy.",
+ "merge-1-prompt": "Sloučení přesunulo Ethereum na jaký konsensuální mechanismus?",
+ "merge-1-a-label": "Důkaz prací",
+ "merge-1-a-explanation": "Proof-of-work byl konsensuální mechanismus používaný před Sloučením.",
+ "merge-1-b-label": "Důkaz podílem",
+ "merge-1-b-explanation": "Správně! Sloučení přesunulo Ethereum na proof of stake.",
+ "merge-1-c-label": "Proof of authority",
+ "merge-1-c-explanation": "Ethereum nikdy nepoužívalo proof of authority na hlavní síti Etherea.",
+ "merge-1-d-label": "Všechny odpovědi jsou správné",
+ "merge-1-d-explanation": "Neexistuje možnost, aby Ethereum mělo všechny tyto konsensuální mechanismy současně.",
+ "merge-2-prompt": "Sloučení snížilo spotřebu energie potřebné k provozu Etherea o:",
+ "merge-2-a-label": "50 %",
+ "merge-2-a-explanation": "Spotřeba energie Etherea byla po Sloučení snížena o 99,95 %, což umožnil přechod z proof of work na proof of stake.",
+ "merge-2-b-label": "62,5 %",
+ "merge-2-b-explanation": "Spotřeba energie Etherea byla po Sloučení snížena o 99,95 %, což umožnil přechod z proof of work na proof of stake.",
+ "merge-2-c-label": "90 %",
+ "merge-2-c-explanation": "Spotřeba energie Etherea byla po Sloučení snížena o 99,95 %, což umožnil přechod z proof of work na proof of stake.",
+ "merge-2-d-label": "99,95 %",
+ "merge-2-d-explanation": "Spotřeba energie Etherea byla po Sloučení snížena o 99,95 %, což umožnil přechod z proof of work na proof of stake.",
+ "merge-3-prompt": "Kdy došlo ke Sloučení?",
+ "merge-3-a-label": "15. září 2022",
+ "merge-3-a-explanation": "Sloučení proběhlo 15. září 2022 v 06:42:42 UTC.",
+ "merge-3-b-label": "1. prosince 2020",
+ "merge-3-b-explanation": "Sloučení proběhlo později. 1. prosince 2020 byl spuštěn Beacon Chain.",
+ "merge-3-c-label": "27. listopadu 2013",
+ "merge-3-c-explanation": "Sloučení proběhlo později. 27. listopadu 2013 byl vydán whitepaper Etherea.",
+ "merge-3-d-label": "31. října 2008",
+ "merge-3-d-explanation": "Sloučení proběhlo později. 31. října je den vydání whitepaperu Bitcoinu.",
+ "merge-4-prompt": "Sloučení znamenalo, že uživatelé museli vyměnit své ETH za ETH2:",
+ "merge-4-a-label": "Správně",
+ "merge-4-a-explanation": "ETH se v žádném okamžiku před, během ani po Sloučení nezměnilo.",
+ "merge-4-b-label": "Špatně",
+ "merge-4-b-explanation": "ETH se v žádném okamžiku před, během ani po Sloučení nezměnilo.",
+ "merge-5-prompt": "Konsensuální vrstva Etherea se dříve nazývala:",
+ "merge-5-a-label": "Důkaz prací",
+ "merge-5-a-explanation": "Proof-of-work byl konsensuální mechanismus používaný před Sloučením.",
+ "merge-5-b-label": "Eth2",
+ "merge-5-b-explanation": "Předtím, než byla přejmenována na konsensuální vrstvu, se původně nazývala „Eth2“.",
+ "merge-5-c-label": "Eth1",
+ "merge-5-c-explanation": "Eth1 byl původní název přidělený exekuční vrstvě, ne konsensuální vrstvě.",
+ "merge-5-d-label": "Uzamčení",
+ "merge-5-d-explanation": "Staking je vklad ETH do smart kontraktu, který pomáhá zabezpečit síť.",
+ "gas-1-prompt": "Co jsou poplatky za palivo?",
+ "gas-1-a-label": "Poplatek spojený s transakcemi a operacemi chytrých kontraktů",
+ "gas-1-a-explanation": "Částečně správně, poplatky za palivo představují náklady na transakce a operace chytrých kontraktů.",
+ "gas-1-b-label": "Množství paliva použitého k provedení operace vynásobené cenou za jednotku paliva",
+ "gas-1-b-explanation": "Částečně správně. I když je to pravda, není to nejlepší odpověď z daných možností.",
+ "gas-1-c-label": "Platba, která zahrnuje prioritní poplatek pro potenciální urychlení zpracování transakce",
+ "gas-1-c-explanation": "Částečně správně, celkový poplatek za palivo zahrnuje základní poplatek a prioritní poplatek, které mohou ovlivnit rychlost zpracování transakce",
+ "gas-1-d-label": "Všechny odpovědi jsou správné",
+ "gas-1-d-explanation": "Poplatky za palivo zahrnují všechny tyto aspekty: kompenzují výpočetní výkon, vztahují se na transakce i chytré kontrakty a mohou zahrnovat prioritní poplatky pro rychlejší zahrnutí.",
+ "gas-2-prompt": "Která z následujících strategií je NEJMÉNĚ účinná pro snížení nákladů na palivo?",
+ "gas-2-a-label": "Provádění transakcí v obdobích nízkého vytížení",
+ "gas-2-a-explanation": "Načasování transakcí mimo špičku může snížit náklady na palivo.",
+ "gas-2-b-label": "Čekání na pokles cen paliva",
+ "gas-2-b-explanation": "Čekání na pokles cen paliva je platná strategie, protože cena paliva kolísá v závislosti na vytížení.",
+ "gas-2-c-label": "Používání řetězců druhé vrstvy pro nižší poplatky",
+ "gas-2-c-explanation": "Řešení druhé vrstvy snižují poplatky a jsou účinným způsobem, jak ušetřit na palivu.",
+ "gas-2-d-label": "Použití složité logiky chytrého kontraktu, která zvyšuje výpočetní nároky",
+ "gas-2-d-explanation": "Složitá logika chytrého kontraktu zvyšuje náklady na palivo, protože vyžaduje více výpočetního výkonu. Efektivní návrh minimalizuje kroky, úložný prostor a nadbytečné operace, čímž se snižují poplatky.",
+ "gas-3-prompt": "Co způsobuje vysoké poplatky za palivo?",
+ "gas-3-a-label": "Výpočetní výkon sítě překračující určitou hranici",
+ "gas-3-a-explanation": "Když výpočetní výkon v síti Ethereum překročí určitou mez, poplatky za palivo se zvýší, zejména v obdobích vysoké aktivity, jako jsou dapps nebo NFT dropy.",
+ "gas-3-b-label": "Validátoři manuálně zvyšují základní poplatek",
+ "gas-3-b-explanation": "Validátoři nenastavují základní poplatky ručně; jsou upravovány protokolem na základě poptávky v předchozím bloku.",
+ "gas-3-c-label": "Dobře napsané a optimalizované chytré kontrakty",
+ "gas-3-c-explanation": "Dobře napsaná logika chytrého kontraktu, jako je efektivní využití úložiště a cyklů, může vést k nižší spotřebě paliva.",
+ "gas-3-d-label": "Nedostatek dostupných ETH v síti",
+ "gas-3-d-explanation": "Poplatky za palivo nejsou ovlivněny množstvím ETH dostupného v síti.",
+ "gas-4-prompt": "Jak poplatky za palivo pomáhají udržet Ethereum v bezpečí?",
+ "gas-4-a-label": "Motivací validátorů k čestnému jednání",
+ "gas-4-a-explanation": "Validátoři jsou kompenzováni několika způsoby, ale poplatky za palivo primárně odrazují od spamu a nadměrného využívání zdrojů.",
+ "gas-4-b-label": "Demotivací spamu a škodlivých aktivit finančními náklady",
+ "gas-4-b-explanation": "Poplatky za palivo zdražují spam nebo škodlivé aktivity, čímž zabraňují zneužití a pomáhají udržovat stabilitu sítě.",
+ "gas-4-c-label": "Zajištěním, že transakce jsou zpracovávány v pořadí priority",
+ "gas-4-c-explanation": "Prioritu lze určit pomocí spropitného, nikoli samotnými poplatky za palivo.",
+ "gas-4-d-label": "Zvýšením celkového množství ETH v oběhu",
+ "gas-4-d-explanation": "Základní poplatek (součást celkového poplatku za palivo) je spálen, čímž se snižuje množství ETH v oběhu, nikoli zvyšuje",
+ "gas-5-prompt": "Jak se vypočítají palivové poplatky?",
+ "gas-5-a-label": "Cena paliva × velikost transakce",
+ "gas-5-a-explanation": "Poplatky za palivo jsou založeny na výpočtu, nikoli na velikosti transakce.",
+ "gas-5-b-label": "Použité jednotky paliva × (základní poplatek + prioritní poplatek)",
+ "gas-5-b-explanation": "Poplatky za palivo se určují podle vzorce: použité jednotky paliva × (základní poplatek + prioritní poplatek).",
+ "gas-5-c-label": "Velikost bloku × limit spropitného pro validátora",
+ "gas-5-c-explanation": "Velikost bloku do tohoto vzorce přímo nevstupuje.",
+ "gas-5-d-label": "Základní poplatek + prioritní poplatek + spropitné",
+ "gas-5-d-explanation": "Základní poplatek a prioritní poplatek jsou součástí vzorce; spropitné je prioritní poplatek.",
+ "daos-1-prompt": "Vyberte pravdivá tvrzení o DAO:",
+ "daos-1-a-label": "DAOs jsou vlastněny společenstvím prostřednictvím governance tokenů",
+ "daos-1-a-explanation": "DAOs jsou vlastněny společenstvím, ale toto není jediná správná odpověď.",
+ "daos-1-b-label": "Jsou řízena jejich členy",
+ "daos-1-b-explanation": "DAOs jsou skutečně řízeny jejich členy, ale toto není jediná správná odpověď.",
+ "daos-1-c-label": "Pracují na společné misi",
+ "daos-1-c-explanation": "DAOs skutečně pracují na společné misi, ale toto není jediná správná odpověď.",
+ "daos-1-d-label": "Všechny odpovědi jsou správné",
+ "daos-1-d-explanation": "Správně, DAO je kolektivně vlastněná, blockchainem řízená organizace, která pracuje k dosažení společného cíle.",
+ "daos-2-prompt": "Jaké jsou praktické příklady využití DAO?",
+ "daos-2-a-label": "Decentralizované protokoly, hlasování členů o záležitostech protokolu nebo o tom, jak vyvíjet produkt",
+ "daos-2-a-explanation": "DAO protokolu je jeden příklad, ale DAOs nejsou omezeny jen na toto použití.",
+ "daos-2-b-label": "Kolektivní vlastnictví, např. pro NFT nebo fyzická aktiva",
+ "daos-2-b-explanation": "DAO pro sbírku je jeden příklad, ale DAOs nejsou omezeny jen na toto použití.",
+ "daos-2-c-label": "Venture a granty: shromažďují kapitál a hlasují o projektech, které mají být financovány",
+ "daos-2-c-explanation": "Venture nebo grantové DAO je jeden příklad, ale DAOs nejsou omezeny jen na toto použití.",
+ "daos-2-d-label": "Všechny odpovědi jsou správné",
+ "daos-2-d-explanation": "DAO může mít řadu různých \"misí\".",
+ "daos-3-prompt": "Na rozdíl od tradičních organizací, DAO jsou…",
+ "daos-3-a-label": "Obvykle má hierarchickou strukturu",
+ "daos-3-a-explanation": "DAO má obvykle horizontální strukturu a je plně demokratizované.",
+ "daos-3-b-label": "Transparentní a plně veřejné ve svých aktivitách",
+ "daos-3-b-explanation": "Díky hlasování na řetězci jsou rozhodnutí na blockchainu transparentní. Diskuse a další prvky rozhodovacího procesu jsou otevřené všem členům.",
+ "daos-3-c-label": "Ovládané jednou stranou",
+ "daos-3-c-explanation": "Změny vyžadují hlasování členů. Nabízené služby jsou zpracovávány automaticky decentralizovaným způsobem.",
+ "daos-3-d-label": "Omezeí možnách navrhovatelů změn",
+ "daos-3-d-explanation": "Obvykle může každý člen DAA navrhnovat změny.",
+ "daos-4-prompt": "Co je základem DAO smart kontraktů?",
+ "daos-4-a-label": "Jejich kód může být upraven",
+ "daos-4-a-explanation": "Jakmile je kontakt na Ethereu spuštěn, nikdo ho nemůže změnit jiným způsobem, než ej hlasování. To umožňuje DAU fungovat s pravidly, s jakými bylo původně naprogramováno.",
+ "daos-4-b-label": "Má individuálního vlastníka, který si ponechává oprávnění provádět změny a odesílat transakce.",
+ "daos-4-b-explanation": "Pokladnu definuje smart kontrakt. Pro ideslání transakce je nutný souhlas skupiny.",
+ "daos-4-c-label": "Důvěřujte distribuovanému konsenzu základního blockchainu",
+ "daos-4-c-explanation": "Pro DAO je důležité, aby základní blockchain nemohl být manipulován. Vlastní konsenzus Etherea je decentralizovaný a zavedený natolik, že organizace mohou této síti důvěřovat.",
+ "daos-4-d-label": "DAA nepotřebují smart kontrakty",
+ "daos-4-d-explanation": "Základem DAO je její chytrý kontrakt, který definuje pravidla organizace a spravuje pokladnu skupiny.",
+ "daos-5-prompt": "Co není mechanismus pro řízení DAA?",
+ "daos-5-a-label": "Členství založené na tokenech",
+ "daos-5-a-explanation": "Token-based governance je velmi široce používána. Obvykle je zcela bez nutnosti oprávnění a používá se většinou k řízení různých decentralizovaných protokolů a/nebo samotných tokenů.",
+ "daos-5-b-label": "Členství založené na akciích",
+ "daos-5-b-explanation": "DAA založená na sdílení mají více oprávnění, ale stále jsou zcela otevřená. Každý potenciální člen může podat návrh na vstup do DAA, obvykle také nabízí určitou hodnotu ve formě tokenů nebo práce.",
+ "daos-5-c-label": "Členství založené na reputaci",
+ "daos-5-c-explanation": "Na rozdíl od členství založeného na tokenu nebo podílu nepřevádějí DAA založená na reputaci vlastnictví na přispěvatele. Členové DAA si pověst musí získat účastí.",
+ "daos-5-d-label": "Výkonná rada a správa pokladny mimo řetězec",
+ "daos-5-d-explanation": "Tento přístup využívá vysoce centralizované a neprůhledné mechanismy správy. Naopak DAO používají ověřitelné hlasovací mechanismy a správu pokladny na řetězci k zajištění transparentnosti a odpovědnosti.",
+ "staking-solo-1-prompt": "Který výrok o penalizaci validátorů je pravdivý?",
+ "staking-solo-1-a-label": "Pokuta za to, že je offline: odměny se obnoví, až bude znovu online",
+ "staking-solo-1-a-explanation": "Odpojení ze sítě NENÍ trestem za to, že byl offline. Za to, že je offline, se udělují malé sankce a odměny se obnoví, když je validátor opět online a obnoví atestace.",
+ "staking-solo-1-b-label": "Pokuta za to, že je offline, validátorovi je okamžitě znemožněno znovu ověřovat",
+ "staking-solo-1-b-explanation": "Odpojení ze sítě NENÍ trestem za to, že byl offline. Zatímco odpojení vede k tomu, že validátor nebude moci znovu ověřovat a bude nakonec násilně odříznut, to, že je offline, NEZPŮSOBÍ vyřazení ze sítě.",
+ "staking-solo-1-c-label": "Trest za porušení konkrétních pravidel konsenzu, odměny se obnoví po odpojení",
+ "staking-solo-1-c-explanation": "Odpojení je vážným trestem za porušení konkrétních pravidel konsensu, která představují hrozbu pro síť. Jakmile je validátor odpojen, je mu okamžitě zakázáno další ověřování, je násilně vyřazen ze sítě a zbývající ETH je vlastníkovi odebráno.",
+ "staking-solo-1-d-label": "Pokuta za porušení specifického pravidla konsensu, validátorovi je okamžitě znemožněno znovu ověřovat",
+ "staking-solo-1-d-explanation": "Odpojení je vážným trestem za porušení konkrétních pravidel konsensu, která představují hrozbu pro síť. Jakmile je validátor odpojen, je mu okamžitě zakázáno další ověřování, je násilně vyřazen ze sítě a zbývající ETH je vlastníkovi odebráno.",
+ "staking-solo-2-prompt": "Co se stane, pokud je validátor offline?",
+ "staking-solo-2-a-label": "Na odměny to nemá vliv",
+ "staking-solo-2-a-explanation": "Pokud není k dispozici validátor, který by potvrdil stav řetězce pro danou epochu, přicházejí na řadu penalty. Velikost těchto sankcí se přibližně rovná 75 % toho, co by byla odměna za řádnou atestaci. Odměny se obnoví, když se validátor vrátí do režimu online a nedojde k ŽÁDNÉMU odpojení.",
+ "staking-solo-2-b-label": "Sankce za nečinnost se udělují pouze v době, kdy není validátor k dispozici",
+ "staking-solo-2-b-explanation": "Dokud je validátor nedostupný, bude mu účtována malá pokuta za nečinnost, přibližně ve výši 75 % odměny, kterou by získal za řádnou atestaci. Ve vzácných/extrémních případech, kdy síť nedokončuje bloky (tj. více než 1/3 sítě je také offline), jsou tyto pokuty výrazně vyšší. Odměny se obnoví, jakmile se validátor vrátí online, a nedochází k žádnému slashování.",
+ "staking-solo-2-c-label": "Okamžité odpojení a odstranění ze sítě",
+ "staking-solo-2-c-explanation": "Toto je běžná mylná představa, ale přechod do režimu offline NEMÁ za následek odpojení! To je specifickým typem trestu za závažnější přestupek s vyššími tresty a také vede k odstranění ze sady validátorů.",
+ "staking-solo-2-d-label": "Týdenní zpoždění před odpojením",
+ "staking-solo-2-d-explanation": "Být offline NEMÁ za následek odpojení, a to ani po delší době. Validátor by teoreticky mohl být offline několik let, aniž by byl odpojen, ale penalizace za nečinnost by se zvyšovaly, pokud by validátor svoji aktivu sám neukončil.",
+ "staking-solo-3-prompt": "Jaký je maximální efektivní zůstatek validátora?",
+ "staking-solo-3-a-label": "16",
+ "staking-solo-3-a-explanation": "Validátoři, kteří klesnou na efektivní zůstatek 16 ETH, jsou automaticky odpojeni z Beacon Chainu.",
+ "staking-solo-3-b-label": "32",
+ "staking-solo-3-b-explanation": "32 ETH je jak minimální ETH potřebné k aktivaci nového validátora, tak také maximální „efektivní zůstatek“ (váha hlasů) pro tohoto validátora. Odměny nad 32 je možné nashromáždit, ale tento zůstatek nepřispívá k váze hlasování validátorů v síti a odměny se nezvyšují.",
+ "staking-solo-3-c-label": "Záleží na provozovateli",
+ "staking-solo-3-c-explanation": "Pravidla konsensu platí pro každý účet validátoru stejně a nezávisí na provozovateli uzlu. Maximální efektivní zůstatek všech validátorů je 32 ETH.",
+ "staking-solo-3-d-label": "Bez omezení",
+ "staking-solo-3-d-explanation": "Každý účet validátora je omezen na efektivní zůstatek 32 ETH, což omezuje celkovou sílu jednoho validátora v síti. Tím je také omezeno, kolik ETH lze v daném časovém období staknout nebo odstaknout, protože aktivace a výstupy validátorů jsou zpracovávány prostřednictvím fronty s omezenou rychlostí.",
+ "staking-solo-4-prompt": "Co NENÍ odměna, kterou získá validátor?",
+ "staking-solo-4-a-label": "Odměna za blok",
+ "staking-solo-4-a-explanation": "Validátoři dostávají odměnu ve formě emise nových ETH za navržení platného bloku, který je náhodně vybrán protokolem. Tyto odměny jsou oddělené od poplatků a MEV, které jsou rovněž získávány při navrhování bloků.",
+ "staking-solo-4-b-label": "Poplatkové spropitné / MEV",
+ "staking-solo-4-b-explanation": "Poplatkové spropitné (nespálená část poplatků) a příjmy z MEV jsou rozesílány navrhovateli bloku (stakerovi/validátorovi) prostřednictvím adresy příjemce poplatků poskytnuté tímto validátorem. Tyto odměny jsou oddělené od blokových odměn, které rovněž získáváte při navrhování bloků.",
+ "staking-solo-4-c-label": "Odměna za atestaci hlavičky řetězce",
+ "staking-solo-4-c-explanation": "Validátoři dostávají odměnu ve formě emise nových ETH za správné a rychlé atestování hlavičky řetězce, aktuální odůvodněné hlavy epochy a aktuální finalizované hlavy epochy.",
+ "staking-solo-4-d-label": "Obchodní poplatky Uniswap",
+ "staking-solo-4-d-explanation": "Obchodní poplatky generované obchodními platformami a burzami validátoři Etherea nedostávají.",
+ "staking-solo-5-prompt": "Jaká provozuschopnost je nutná, aby byl validátor ziskový?",
+ "staking-solo-5-a-label": "100 %",
+ "staking-solo-5-a-explanation": "Přestože je dosažení 100 % provozuschopnosti ideálním cílem, není minimálním požadavkem, aby validátor zůstal ziskový.",
+ "staking-solo-5-b-label": "Asi 99 %",
+ "staking-solo-5-b-explanation": "Přestože je dosažení 99 % provozuschopnosti vynikajícím cílem, není minimálním požadavkem, aby validátor zůstal ziskový.",
+ "staking-solo-5-c-label": "Asi 50 %",
+ "staking-solo-5-c-explanation": "Validátoři jsou penalizováni přibližně 75 % částky, kterou by dostali za správné a rychlé potvrzení stavu řetězce. To znamená, že v daném časovém období, bude-li 50 % této doby offline, bude stále čistě ziskový, i když méně ziskový než spolehlivěji dostupný validátor.",
+ "staking-solo-5-d-label": "Asi 25 %",
+ "staking-solo-5-d-explanation": "Validátor, který má pouze 25 % provozuschopnosti, bude po zbývajících 75 % času penalizován. Vzhledem k podobné výši odměn a pokut, bude-li offline po dobu 3x delší než je online, bude to mít za následek čistou ztrátu ETH za toto časové období.",
+ "staking-solo-6-prompt": "Která z následujících možností NENÍ trestným činem?",
+ "staking-solo-6-a-label": "Být offline",
+ "staking-solo-6-a-explanation": "Samotný stav offline nevede k trestu. Být offline bude mít za následek malé postihy za nečinnost, ale po návratu do online režimu se atestace obnoví.",
+ "staking-solo-6-b-label": "Navrhování a podepisování dvou různých bloků pro stejný slot",
+ "staking-solo-6-b-explanation": "Toto ohrožuje integritu sítě a vedlo by k vašemu potrestání a vyřazení ze sítě.",
+ "staking-solo-6-c-label": "Atestování bloku, který „obklopuje“ jiný blok (efektivně přepisování historie)",
+ "staking-solo-6-d-label": "„Dvojí hlasování“ prostřednictvím potvrzení dvou kandidátů pro stejný blok",
+ "staking-solo-7-prompt": "Co NENÍ způsob, jak ochránit validátor před potrestáním?",
+ "staking-solo-7-a-label": "Vyhnout se nadbytečným nastavením a ukládat klíče vždy pouze u jednoho klienta validátoru",
+ "staking-solo-7-a-explanation": "Většina dosavadních potrestání patří provozovatelům, kteří ukládají své podpisové klíče na více než jeden počítač jako redundantní zálohu. To je velmi riskantní, protože jakákoli porucha může vést k dvojímu hlasování a potrestání.",
+ "staking-solo-7-b-label": "Spouštět klientský software tak, jak je, aniž byste sami měnili kód",
+ "staking-solo-7-b-explanation": "Klientský software je napsán a otestován tak, aby chránil před prováděním akcí, které jsou trestné. Pro provedení trestné akce by bylo obvykle nutné, abyste sami pozměnili kód klienta škodlivým způsobem.",
+ "staking-solo-7-c-label": "Provozovat klient, který používá většina ostatních validátorů",
+ "staking-solo-7-c-explanation": "Používáním stejného klientu jako většina zbytku sítě se vystavujete riziku, že v případě chyby softwaru v tomto klientu dojde k přerušení provozu. Používání menšinového klienta je proti tomu chráněno.",
+ "staking-solo-7-d-label": "Vypnout validátor na 2-4 epochy před migrací klíčů na nový stroj",
+ "staking-solo-7-d-explanation": "Toto poskytuje čas na dokončení řetězce v době, kdy je váš uzel offline, aby se minimalizovalo riziko náhodného dvojího hlasování a potrestání během migrace klíčů.",
+ "staking-solo-8-prompt": "Co NENÍ nutné pro získání vyplacení odměny / částečného výběru?",
+ "staking-solo-8-a-label": "Jednorázové poskytnutí exekuční výběrové adresy",
+ "staking-solo-8-a-explanation": "To je nutné jednou pro proces výběru, abyste věděli, kam poslat případné prostředky z vrstvy konsenzu",
+ "staking-solo-8-b-label": "Mít efektivní zůstatek 32 ETH",
+ "staking-solo-8-b-explanation": "Váš efektivní zůstatek musí být maximálně 32 ETH, než se spustí částečné výběry.",
+ "staking-solo-8-c-label": "Mít celkový zůstatek vyšší než 32 ETH",
+ "staking-solo-8-c-explanation": "Pro spuštění částečných výběrů musí být váš celkový zůstatek odměn vyšší než 32 ETH.",
+ "staking-solo-8-d-label": "Předložit požadované částky k výběru spolu s platbou za palivo",
+ "staking-solo-8-d-explanation": "Po splnění ostatních kritérií jsou vyplacení odměny automatické. Příjemci nemusí zadávat transakce ani platit za palivo. Vybraná částka se rovná zůstatku validátora vyššímu než 32. Nelze požadovat vlastní částky.",
+ "scaling-1-prompt": "Kterou z následujících možností používá Ethereum ke škálování?",
+ "scaling-1-a-label": "Rollupy druhé vrstvy",
+ "scaling-1-a-explanation": "Tyto pomáhají Ethereu škálovat tím, že sdružují transakce, provádějí je a poté zveřejňují výsledky na Ethereu k validaci a zabezpečení. Příklady rollupů zahrnují Arbitrum nebo Optimism. Toto není jediný způsob, jak se Ethereum škáluje.",
+ "scaling-1-b-label": "Proto-Danksharding",
+ "scaling-1-b-explanation": "To poskytuje dočasnou a levnou možnost úložiště pro ukládání dat rollupů na hlavní síť, která je v současnosti zodpovědná za přibližně 90 % nákladů, se kterými se uživatel na rollupu setká. Toto není jediný způsob, jak se Ethereum škáluje.",
+ "scaling-1-c-label": "Danksharding",
+ "scaling-1-c-explanation": "To odstraňuje potřebu, aby každý validátor a uzel v síti musel ukládat 100 % dat pro všechny rollupy, což snižuje hardwarové požadavky pro operátory uzlů. Toto není jediný způsob, jak se Ethereum škáluje.",
+ "scaling-1-d-label": "Všechny odpovědi jsou správné",
+ "scaling-1-d-explanation": "Rollupy druhé vrstvy sdružují transakce, Proto-Danksharding vytváří levné dočasné úložiště pro tato data a Danksharding rozděluje zátěž úložiště mezi všechny validátory – to vše pomáhá Ethereu škálovat.",
+ "scaling-2-prompt": "Co dělají rollupy druhé vrstvy po sdružení a provedení transakcí?",
+ "scaling-2-a-label": "Ukládají data na soukromý server",
+ "scaling-2-a-explanation": "Výsledky jsou zveřejňovány na hlavní síti pro transparentnost a veřejnou dostupnost a nejsou závislé na soukromých serverech.",
+ "scaling-2-b-label": "Posílají důkaz uživateli k uložení",
+ "scaling-2-b-explanation": "Od uživatelů se neočekává, že si budou uchovávat výsledky svých transakcí. Tyto informace jsou zveřejňovány na hlavní síti.",
+ "scaling-2-c-label": "Odesílají výsledky na Ethereum",
+ "scaling-2-c-explanation": "Rollupy druhé vrstvy zveřejňují výsledky provedení svých transakcí na hlavní síti a zabezpečují je tak v historii Etherea",
+ "scaling-2-d-label": "Smažou výsledek, aby snížily náklady",
+ "scaling-2-d-explanation": "Rollupy druhé vrstvy zveřejňují výsledky provedení svých transakcí na hlavní síti. Úspora nákladů dosažená tímto přístupem spočívá ve sdružování a kompresi transakčních dat a jejich následném uložení do levného úložiště, jehož platnost vyprší, jakmile je zpřístupněno těm, kdo ho potřebují.",
+ "scaling-3-prompt": "Jak Proto-Danksharding snižuje náklady na transakce rollupů?",
+ "scaling-3-a-label": "Přímým zvýšením velikosti bloku",
+ "scaling-3-a-explanation": "Proto-Danksharding přímo nezvyšuje limit transakčních poplatků, ale zlevňuje ukládání dat rollupů tím, že zpřístupňuje dočasné úložiště",
+ "scaling-3-b-label": "Rozdělením toho, kteří validátoři jsou povinni ukládat data",
+ "scaling-3-b-explanation": "Ačkoli se očekává, že plný Danksharding sníží potřebu, aby všichni validátoři ukládali všechna data, předchází mu Proto-Danksharding, který tvoří levnější, dočasnou možnost úložiště pro data produkovaná rollupy.",
+ "scaling-3-c-label": "Výrazným zvýšením hardwarových požadavků pro operátory uzlů",
+ "scaling-3-c-explanation": "Toto obecně není považováno za přijatelnou možnost pro škálování Etherea. Vyvíjí se velké úsilí k minimalizaci hardwarových požadavků pro provoz uzlu, aby byl co nejpřístupnější.",
+ "scaling-3-d-label": "Ukládání dat do levnějšího, dočasného úložiště „blobů“",
+ "scaling-3-d-explanation": "Proto-Danksharding zavádí dočasnou možnost ukládání dat pro rollupy, která jim umožňuje levněji zveřejňovat výsledky na hlavní síti",
+ "scaling-4-prompt": "Jaký je kritický další krok pro rollupy ke škálování Etherea?",
+ "scaling-4-a-label": "Motivovat subjekty s výkonnými počítači, aby se postaraly o veškeré sekvenování",
+ "scaling-4-a-explanation": "Jedním z problémů současných rollupů je centralizovaná povaha těch, kteří provozují sekvencery (ti, kteří rozhodují o zahrnutí a pořadí transakcí v rámci rollupu). Cílem je umožnit účast komukoli a nespoléhat se žádným způsobem na jedinou skupinu nebo subjekt.",
+ "scaling-4-b-label": "Rozdělit odpovědnost za provoz sekvencerů a proverů mezi více lidí",
+ "scaling-4-b-explanation": "Kontrola nad rollupem obvykle začíná centralizovaně, což pomáhá věci rozběhnout, ale zanechává síť náchylnou k cenzuře. Decentralizace procesu zahrnování transakcí tak, aby se mohl zúčastnit kdokoli, je nezbytná k zabránění možnosti kompromitace sítě.",
+ "scaling-4-c-label": "Přimět všechny rollupy, aby se přizpůsobily stejné metodě zabezpečení",
+ "scaling-4-c-explanation": "Ethereum těží z široké škály přístupů k zabezpečení v rámci svého ekosystému rollupů jako formy odolnosti.",
+ "scaling-4-d-label": "Datové orákuly pro potvrzení uložení transakčních dat na soukromých serverech",
+ "scaling-4-d-explanation": "Data rollupů jsou uložena na Ethereu a nespoléhají se na soukromé servery nebo databáze.",
+ "run-a-node-1-prompt": "Co je potřeba ke spuštění síťového uzlu?",
+ "run-a-node-1-a-label": "Provozování klientského softwaru se skromným hardwarem při zachování online připojení.",
+ "run-a-node-1-a-explanation": "Provoz uzlu spočívá v provozování softwaru, který komunikuje jazykem protokolu Ethereum s ostatními počítači, které dělají totéž. Tento software stahuje kopii blockchainu Ethereum, ověřuje platnost každého bloku, poté jej udržuje aktuální s novými bloky a transakcemi a zároveň pomáhá ostatním stahovat a aktualizovat jejich vlastní kopie.",
+ "run-a-node-1-b-label": "Složit zálohu ve výši 32 ETH za účelem zisku odměn",
+ "run-a-node-1-b-explanation": "Toto je požadavek pro stakování – proces, kdy se stáváte aktivním účastníkem síťového konsensu. Není to nutné k prostému provozování suverénní kopie blockchainu, která nevyžaduje ŽÁDNÉ ETH.",
+ "run-a-node-1-c-label": "Provozovat výkonné těžební stroje ASIC k dosažení síťového konsensu",
+ "run-a-node-1-c-explanation": "Ačkoli Ethereum dříve používalo těžbu s výkonnými počítači k dosažení konsensu, tento proces byl zcela nahrazen stakováním. Ani těžba v minulosti, ani stakování v současnosti nejsou nutné k prostému provozování suverénní kopie blockchainu.",
+ "run-a-node-1-d-label": "Pracovat na plný úvazek v blockchainové infrastruktuře",
+ "run-a-node-1-d-explanation": "Softwarové nástroje se postupem času neustále zlepšují, díky čemuž je provozování uzlu z domova pro nováčka mnohem dostupnější. Práce na plný úvazek v blockchainové infrastruktuře v žádném případě není podmínkou pro zapojení.",
+ "run-a-node-2-prompt": "Kolik ETH potřebujete stakovat k provozování uzlu?",
+ "run-a-node-2-a-label": "0",
+ "run-a-node-2-a-explanation": "Provozování uzlu Ethereum nevyžaduje žádné ETH. Na rozdíl od provozování stakovacího validátoru v rámci nastavení uzlu může kdokoli volně spouštět klientský software a synchronizovat si vlastní suverénní kopii blockchainu – žádné ETH není potřeba.",
+ "run-a-node-2-b-label": "8",
+ "run-a-node-2-c-label": "16",
+ "run-a-node-2-d-label": "32",
+ "run-a-node-2-d-explanation": "Provozování uzlu Ethereum nevyžaduje žádné ETH. Na rozdíl od 32 ETH potřebných k aktivaci stakovacího validátoru, který se přímo podílí na síťovém konsensu, může kdokoli volně spouštět klientský software a synchronizovat si vlastní suverénní kopii blockchainu – žádné ETH není potřeba.",
+ "run-a-node-3-prompt": "Jaké výhody získáte provozováním vlastního uzlu?",
+ "run-a-node-3-a-label": "Odolnost proti cenzuře",
+ "run-a-node-3-a-explanation": "Toto je výhoda pro uživatele, ale není jediná. Provozováním softwaru uzlu, který komunikuje přímo s ostatními účastníky v síti, se vaše transakce smíchají s každou další transakcí, kterou váš uzel šíří. Díky tomu je téměř nemožné rozlišit a cenzurovat platnou transakci, kterou váš uzel sdílel.",
+ "run-a-node-3-b-label": "Nezávislost",
+ "run-a-node-3-b-explanation": "Toto je výhoda pro uživatele, ale není jediná. Tím, že máte vlastní kopii blockchainu Ethereum, již nejste závislí na žádné jediné externí straně pro interakci se sítí. Nikdy se nemusíte ptát na povolení k nahlédnutí do svého zůstatku nebo k provedení transakce a všechny transakce jsou ověřovány pomocí softwaru, který sami provozujete. Když dojde k vylepšením sítě, máte na starosti, zda vylepšení podpoříte, či nikoli.",
+ "run-a-node-3-c-label": "Ochrana soukromí",
+ "run-a-node-3-c-explanation": "Toto je výhoda pro uživatele, ale není jediná. Bez vlastního uzlu vyžaduje pouhé zjištění zůstatků na vašich účtech obvykle odeslání seznamu vašich účtů z vaší peněženky, připojeného k vaší IP adrese, poskytovateli třetí strany, kterému je pak důvěřováno, že vám poskytne správné informace.",
+ "run-a-node-3-d-label": "Všechny odpovědi jsou správné",
+ "run-a-node-3-d-explanation": "Provozování uzlu vám dává plnou kontrolu a suverenitu nad daty, na která se spoléháte, umožňuje vám soukromě prohlížet a ověřovat obsah řetězce a účinně zaručuje, že žádné platné transakce nebudou cenzurovány.",
+ "run-a-node-4-prompt": "Jaké úložiště na pevném disku je vyžadováno pro uzel Ethereum?",
+ "run-a-node-4-a-label": "512 GB SSD",
+ "run-a-node-4-a-explanation": "V současné době žádný klientský software není schopen uložit řetězec s použitím pouhých 512 GB",
+ "run-a-node-4-b-label": "2TB rotační",
+ "run-a-node-4-b-explanation": "Obecně řečeno, rotační pevné disky nepodporují rychlosti čtení/zápisu potřebné k udržení kroku s požadavky na zpracování pro uzel Ethereum a doporučuje se SSD disk",
+ "run-a-node-4-c-label": "SSD disk se 2 TB",
+ "run-a-node-4-c-explanation": "V době psaní tohoto textu by měl 2TB SSD disk splňovat požadavky na úložiště a rychlost čtení/zápisu pro plnohodnotný uzel Ethereum.",
+ "run-a-node-4-d-label": "SSD disk se 8 TB",
+ "run-a-node-4-d-explanation": "V době psaní tohoto textu by měl 2TB SSD disk splňovat požadavky na úložiště a rychlost čtení/zápisu pro plnohodnotný uzel Ethereum. 8TB SSD by umožnil větší odolnost do budoucna a schopnost synchronizovat také řetězce druhé vrstvy, ale v současnosti to není požadavek pro hlavní síť.",
+ "run-a-node-5-prompt": "Co se stane, když se váš uzel odpojí?",
+ "run-a-node-5-a-label": "Váš uzel ztratí synchronizaci s aktuálním stavem sítě",
+ "run-a-node-5-a-explanation": "Když váš uzel není dostupný online, nemůže přijímat nové transakce a bloky od ostatních účastníků, a proto se desynchronizuje s aktuálním stavem řetězce. Opětovné připojení online umožní vašemu softwaru uzlu znovu se synchronizovat a být opět plně funkční.",
+ "run-a-node-5-b-label": "ETH ve vašem cold storage je slasheováno",
+ "run-a-node-5-b-explanation": "ETH držené ve vašem cold storage nemá nic společného s tím, zda je váš uzel online, či nikoli. Pokud je váš uzel offline, nebudete jej moci použít k zjištění posledního zůstatku na vašich účtech, ale offline stav neohrožuje vaše zabezpečené prostředky. Pokud s vaším uzlem provozujete také software validátoru jako staker, budou tomuto zůstatku validátoru účtovány malé pokuty, dokud bude nedostupný pro síť.",
+ "run-a-node-5-c-label": "Energie použitá na hledání důkazu prací je promarněna",
+ "run-a-node-5-c-explanation": "Ethereum již nepoužívá důkaz prací a nikdy to nebyl požadavek na všechny operátory uzlů. Být offline jednoduše znamená, že váš uzel již není synchronizován s nejnovějšími změnami v síti a může se znovu synchronizovat návratem online.",
+ "run-a-node-5-d-label": "Data řetězce jsou odstraněna a je nutná resynchronizace od začátku",
+ "run-a-node-5-d-explanation": "Jednoduché odpojení obvykle nesmaže žádná uložená data řetězce. Opětovné připojení k internetu umožní softwaru pokračovat tam, kde skončil, a synchronizovat se s nejnovějšími transakcemi.",
+ "run-a-node-6-prompt": "Provozováním uzlu se získávají odměny ze sítě",
+ "run-a-node-6-a-label": "Správně",
+ "run-a-node-6-a-explanation": "Pouhým provozováním klientského softwaru nezískáváte odměny. Abyste získali odměny, musíte také stakovat.",
+ "run-a-node-6-b-label": "Špatně",
+ "stablecoins-1-prompt": "Co jsou to stablecoiny?",
+ "stablecoins-1-a-label": "Kryptoměny s nízkou cenovou volatilitou, jejichž hodnota je stabilní a podobná tradičním měnám",
+ "stablecoins-1-a-explanation": "Správně! Stablecoiny jsou navrženy tak, aby řešily problém volatility, který je běžný u mnoha kryptoměn.",
+ "stablecoins-1-b-label": "Digitální reprezentace zlata",
+ "stablecoins-1-b-explanation": "To je nesprávné. Zatímco některé stablecoiny mohou být kryty drahými kovy, mohou být také kryty fiat měnou nebo jinými kryptoměnami.",
+ "stablecoins-1-c-label": "Nový typ kreditní karty",
+ "stablecoins-1-c-explanation": "To je nesprávné. Stablecoiny jsou typem kryptoměny, nikoli kreditní kartou.",
+ "stablecoins-1-d-label": "Náhrada za ether",
+ "stablecoins-1-d-explanation": "To je nesprávné. Stablecoiny nejsou navrženy tak, aby nahradily ether (ETH). Jsou to další tokeny v síti Ethereum, navržené tak, aby si v průběhu času udržely stabilní hodnotu.",
+ "stablecoins-2-prompt": "Která z následujících možností je stablecoin?",
+ "stablecoins-2-a-label": "Americký dolar",
+ "stablecoins-2-a-explanation": "To je nesprávné. Zatímco stablecoiny mohou představovat americký dolar, americký dolar není kryptoměna.",
+ "stablecoins-2-b-label": "Token AAVE",
+ "stablecoins-2-b-explanation": "To je nesprávné. AAVE je token pro správu protokolu Aave, který poskytuje tržiště pro stablecoiny, ale AAVE samotný není stablecoin.",
+ "stablecoins-2-c-label": "Dai",
+ "stablecoins-2-c-explanation": "Správně! Dai je pravděpodobně nejznámější decentralizovaný stablecoin a jeho hodnota je zhruba 1 americký dolar.",
+ "stablecoins-2-d-label": "Ether",
+ "stablecoins-2-d-explanation": "To je nesprávné. Ether je nativní měnou sítě Ethereum, ale není zamýšleno, aby byl stabilní.",
+ "stablecoins-3-prompt": "K čemu lze stablecoiny použít?",
+ "stablecoins-3-a-label": "K ochraně uživatelů před volatilními změnami cen",
+ "stablecoins-3-a-explanation": "Ne tak docela. Tato odpověď je částečně správná, ale je to jen jedna z mnoha věcí, ke kterým lze stablecoiny použít.",
+ "stablecoins-3-b-label": "K nákupu věcí na internetu kdekoli na světě",
+ "stablecoins-3-b-explanation": "Ne tak docela. Tato odpověď je částečně správná, ale je to jen jedna z mnoha věcí, ke kterým lze stablecoiny použít.",
+ "stablecoins-3-c-label": "K vydělávání peněz půjčováním ostatním",
+ "stablecoins-3-c-explanation": "Ne tak docela. Tato odpověď je částečně správná, ale je to jen jedna z mnoha věcí, ke kterým lze stablecoiny použít.",
+ "stablecoins-3-d-label": "Všechny odpovědi jsou správné",
+ "stablecoins-3-d-explanation": "Správně! Stablecoiny lze použít k držení kryptoměny s menší volatilitou, k globálním transakcím na internetu a k získání úroků, když je půjčíte.",
+ "stablecoins-4-prompt": "Co dělá stablecoiny jedinečnými?",
+ "stablecoins-4-a-label": "Je to token, který je vázán na aktivum v reálném světě",
+ "stablecoins-4-a-explanation": "To je nesprávné. Zatímco mnoho stablecoinů je vázáno na aktiva reálného světa, tato vlastnost není výlučná pro stablecoiny (např. tokeny kryté ETH).",
+ "stablecoins-4-b-label": "Je to token kryptoměny speciálně navržený tak, aby si udržel stabilní hodnotu",
+ "stablecoins-4-b-explanation": "Správně! Stablecoiny jsou navrženy tak, aby si udržely relativně stabilní hodnotu, obvykle vázanou na aktiva, jako jsou měny (např. 1 USDC = 1 americký dolar), ale ne všechny stablecoiny se řídí tímto modelem (např. RAI).",
+ "stablecoins-4-c-label": "Lze jej posílat přes internet",
+ "stablecoins-4-c-explanation": "To je nesprávné. Ačkoli je to schopnost, není jedinečná pro stablecoiny.",
+ "stablecoins-4-d-label": "Lze jej použít v síti Ethereum.",
+ "stablecoins-4-d-explanation": "To je nesprávné. Mnoho dalších tokenů kryptoměn lze použít v síti Ethereum.",
+ "stablecoins-5-prompt": "Co NENÍ způsob, jak získat stablecoiny?",
+ "stablecoins-5-a-label": "Směnit je s jinými tokeny",
+ "stablecoins-5-a-explanation": "Nesprávně, toto je způsob, jak získat stablecoiny. Jedním z nejběžnějších způsobů, jak lidé získávají stablecoiny, je směna jejich stávajících kryptoměn za stablecoiny.",
+ "stablecoins-5-b-label": "Půjčit si je",
+ "stablecoins-5-b-explanation": "Nesprávně, toto je způsob, jak získat stablecoiny. Některé stablecoiny si můžete půjčit tak, že jako zástavu použijete své stávající kryptoměny, například ether. Budete muset zapůjčené stablecoiny splatit, abyste si mohli vyzvednout uzamčenou zástavu.",
+ "stablecoins-5-c-label": "Koupit je na burze",
+ "stablecoins-5-c-explanation": "Nesprávně, toto je způsob, jak získat stablecoiny. Mnoho burz a peněženek vám umožňuje koupit stablecoiny přímo. Na centralizované burzy se mohou vztahovat geografická omezení.",
+ "stablecoins-5-d-label": "Těžit je",
+ "stablecoins-5-d-explanation": "Správně! Na rozdíl od bitcoinu nemůžete těžit stablecoiny.",
+ "defi-1-prompt": "Co znamená DeFi?",
+ "defi-1-a-label": "Decentralizované finance",
+ "defi-1-a-explanation": "Správně! DeFi označuje decentralizované finance, finanční systém postavený na Ethereu, který funguje bez zprostředkovatelů, jako jsou banky nebo finanční instituce.",
+ "defi-1-b-label": "Digitální finance",
+ "defi-1-b-explanation": "To je nesprávné. Digitální finance se vztahují na finanční služby poskytované prostřednictvím digitálních platforem, ale neznamenají nutně decentralizaci.",
+ "defi-1-c-label": "Distribuované finance",
+ "defi-1-c-explanation": "To je nesprávné. I když 'distribuované' může znamenat decentralizaci, v oboru se používá termín 'decentralizované finance', nikoli distribuované finance.",
+ "defi-1-d-label": "Rozvojové finance",
+ "defi-1-d-explanation": "To je nesprávné. Rozvojové finance se obvykle vztahují na finanční podporu poskytovanou projektům zaměřeným na hospodářský rozvoj, často v rozvojových zemích, a nesouvisí s blockchainem ani DeFi.",
+ "defi-2-prompt": "Co s DeFi dělat NEMŮŽETE?",
+ "defi-2-a-label": "Posílat peníze napříč zeměkoulí.",
+ "defi-2-a-explanation": "To je nesprávné. S DeFi můžete posílat hodnotu komukoli kdekoli na světě bez jakýchkoli limitů.",
+ "defi-2-b-label": "Požádat zákaznickou podporu o vrácení vašich chyb.",
+ "defi-2-b-explanation": "Správně! V DeFi jsou transakce konečné a řízené kódem, nikoli společností. Pokud dojde k chybě, jako je odeslání prostředků na špatnou adresu, neexistuje žádná zákaznická podpora, která by to pomohla napravit. Musíte být obzvláště opatrní.",
+ "defi-2-c-label": "Vypůjčit si finanční prostředky se zajištěním.",
+ "defi-2-c-explanation": "To je nesprávné. S DeFi si můžete půjčit peníze okamžitě a vyhnout se tak dnům trvajícímu schvalovacímu procesu tradičních bank.",
+ "defi-2-d-label": "Obchodovat se svými tokeny 24/7.",
+ "defi-2-d-explanation": "To je nesprávné. DeFi vám umožňuje obchodovat s tokeny 24/7. Trhy jsou vždy otevřené a můžete kdykoli obchodovat se svými ETH proti USDT nebo jakékoli jiné měně.",
+ "defi-3-prompt": "Která platforma DeFi je známá tím, že umožňuje uživatelům přímo směňovat tokeny mezi sebou?",
+ "defi-3-a-label": "Uniswap",
+ "defi-3-a-explanation": "Správně! Uniswap je decentralizovaná burza, která umožňuje uživatelům obchodovat (směňovat) tokeny přímo mezi sebou pomocí automatizovaných mechanismů tvorby trhu.",
+ "defi-3-b-label": "Aave",
+ "defi-3-b-explanation": "To je nesprávné. Aave je protokol DeFi zaměřený na půjčování a vypůjčování, nikoli na směny tokenů.",
+ "defi-3-c-label": "PoolTogether",
+ "defi-3-c-explanation": "To je nesprávné. PoolTogether provozuje bezztrátové loterie, které nabízejí nový inovativní způsob, jak ušetřit peníze.",
+ "defi-3-d-label": "MakerDAO",
+ "defi-3-d-explanation": "To je nesprávné. MakerDAO je decentralizovaná platforma, která umožňuje uživatelům vydávat a spravovat stablecoin DAI, ale nezaměřuje se na směny tokenů.",
+ "defi-4-prompt": "Když používáte aplikaci DeFi a provedete transakci, kde se uchovávají informace o transakci?",
+ "defi-4-a-label": "ETH",
+ "defi-4-a-explanation": "To je nesprávné. Data se neukládají v etheru (ETH). ETH je nativní aktivum blockchainu Ethereum.",
+ "defi-4-b-label": "Moje peněženka",
+ "defi-4-b-explanation": "To je nesprávné. Peněženka je aplikace, která spravuje váš účet Ethereum připojením k blockchainu Ethereum. Neukládá žádná data o vaší historii transakcí.",
+ "defi-4-c-label": "Aplikace DeFi",
+ "defi-4-c-explanation": "To je nesprávné. Aplikace DeFi neukládají vaši historii transakcí přímo. Místo toho se podrobnosti o vaší transakci zaznamenávají na blockchainu Ethereum.",
+ "defi-4-d-label": "Ethereum blockchain",
+ "defi-4-d-explanation": "Správně! Ethereum jako blockchain ukládá všechna data vytvořená jeho uživateli a aplikacemi. To umožňuje validátorům udržovat stejný stav v celé P2P síti.",
+ "defi-5-prompt": "Co umožňuje decentralizované finance (DeFi) na Ethereu?",
+ "defi-5-a-label": "Chytré kontrakty",
+ "defi-5-a-explanation": "Správně! Chytré kontrakty jsou jako digitální příkazy „pokud-pak“ zapsané do Etherea. Nahrazují tradiční smlouvy a zprostředkovatele a automaticky provádějí transakce, pokud jsou splněny určité podmínky.",
+ "defi-5-b-label": "Zprostředkovatelé",
+ "defi-5-b-explanation": "To je nesprávné. Ethereum nepotřebuje zprostředkovatele pro provádění transakcí. Vše běží na řetězci prostřednictvím chytrých kontraktů.",
+ "defi-5-c-label": "Bitcoin",
+ "defi-5-c-explanation": "To je nesprávné. Bitcoin je jednoduchá síť pro ukládání hodnoty, nikoli pro spouštění pokročilých programů. DeFi vyžaduje flexibilnější systém, jako je Ethereum, který dokáže spouštět složité programy pro automatické zpracování půjček a obchodů.",
+ "defi-5-d-label": "Tradiční finanční instituce",
+ "defi-5-d-explanation": "To je nesprávné. Aplikace DeFi nepotřebují tradiční finanční instituce. Používají blockchainové programy zvané chytré kontrakty k automatickému zpracování transakcí.",
+ "smart-contracts-1-prompt": "Jak jsou charakterizovány chytré kontrakty?",
+ "smart-contracts-1-a-label": "Chytré kontrakty jsou jako právní smlouvy, ale jsou uloženy digitálně na blockchainu pro bezpečné uložení obsahu.",
+ "smart-contracts-1-a-explanation": "Chytré kontrakty používají podobnou logiku jako tradiční smlouvy, ale jinak mají málo společného.",
+ "smart-contracts-1-b-label": "Propojeny s autonomními systémy umělé inteligence, které provádějí transakce",
+ "smart-contracts-1-b-explanation": "Chytré kontrakty provádějí transakce předvídatelně podle logiky „pokud-toto-pak-tamto“ předepsané v kódu – nepoužívají umělou inteligenci",
+ "smart-contracts-1-c-label": "Programy na řetězci řídící se logikou „pokud-toto-pak-tamto“, které zaručeně provedou operace podle vlastních pravidel",
+ "smart-contracts-1-c-explanation": "Chytrý kontrakt je účet na Ethereu nasazený s nezměnitelným kódem, který určuje jeho funkčnost.",
+ "smart-contracts-1-d-label": "Jsou to pravidla za blockchainem Ethereum, vyvinutá společně s právníky k zajištění právní shody.",
+ "smart-contracts-1-d-explanation": "Chytré kontrakty jsou kusy kódu, které mohou být vytvořeny vývojáři a nasazeny na blockchainu.",
+ "smart-contracts-2-prompt": "Jaká metafora nejpřesněji charakterizuje fungování chytrých kontraktů?",
+ "smart-contracts-2-a-label": "Banka",
+ "smart-contracts-2-a-explanation": "Banky vyžadují ruční provádění a jsou strukturovány jako hierarchické entity, zatímco chytré kontrakty jsou předvídatelně prováděny počítači s neměnnými pravidly.",
+ "smart-contracts-2-b-label": "Digitální výdejní automat",
+ "smart-contracts-2-b-explanation": "Prodejní automat vydá požadovaný produkt pouze po splnění všech požadavků: konkrétní vstupy zaručují deterministické výstupy. To je podobné logice chytrých kontraktů.",
+ "smart-contracts-2-c-label": "Kalkulačka",
+ "smart-contracts-2-c-explanation": "Kód chytrého kontraktu lze použít pro výpočty, ale není na to omezen. Chytré kontrakty jsou spíše blockchainové programy, které se řídí logikou „pokud-toto-pak-tamto“.",
+ "smart-contracts-2-d-label": "Webová stránka",
+ "smart-contracts-2-d-explanation": "Webová stránka je frontend, který zachycuje pokyny uživatele. Chytrý kontrakt je backendová logika, kde jsou tyto pokyny prováděny a výsledek může být vrácen.",
+ "smart-contracts-3-prompt": "Co NENÍ hlavní charakteristikou chytrých kontraktů?",
+ "smart-contracts-3-a-label": "Deterministické provedení",
+ "smart-contracts-3-a-explanation": "Hlavní výhodou chytrého kontraktu je, že deterministicky provádí jednoznačný kód bez lidské interpretace nebo zaujatosti.",
+ "smart-contracts-3-b-label": "Veřejný záznam",
+ "smart-contracts-3-b-explanation": "S chytrými kontrakty na veřejném blockchainu může kdokoli okamžitě sledovat převody aktiv a další související informace.",
+ "smart-contracts-3-c-label": "Ochrana soukromí",
+ "smart-contracts-3-c-explanation": "Jelikož jsou blockchainy pseudonymní sítě, transakce jsou veřejně vázány na jedinečnou kryptografickou adresu, nikoli na identitu.",
+ "smart-contracts-3-d-label": "Schopnost změny",
+ "smart-contracts-3-d-explanation": "Chytrý kontrakt nelze po vytvoření změnit – je zaručeno, že se bude provádět podle pravidel definovaných jeho kódem.",
+ "smart-contracts-4-prompt": "Co NENÍ aplikací chytrých kontraktů?",
+ "smart-contracts-4-a-label": "Stabilní kryptoměny (stablecoins)",
+ "smart-contracts-4-a-explanation": "Stablecoiny jsou tokenové objekty, které jsou definovány a sledovány pomocí chytrých kontraktů.",
+ "smart-contracts-4-b-label": "Změny protokolu",
+ "smart-contracts-4-b-explanation": "Zatímco změny protokolu mohou někdy používat chytré kontrakty, jejich vytvoření a definice jsou navrhovány prostřednictvím transparentních online fór a implementovány v klientském softwaru.",
+ "smart-contracts-4-c-label": "Nezaměnitelné tokeny (NFT)",
+ "smart-contracts-4-c-explanation": "Chytré kontrakty se používají k definování široké škály NFT, od digitálního umění po certifikáty o vlastnictví aktiv.",
+ "smart-contracts-4-d-label": "Otevřená směna měn",
+ "smart-contracts-4-d-explanation": "Decentralizované burzy (DEX) jsou postaveny pomocí chytrých kontraktů, aby fungovaly bez centralizované kontroly."
+}
diff --git a/src/intl/cs/page-10-year-anniversary.json b/src/intl/cs/page-10-year-anniversary.json
new file mode 100644
index 00000000000..b9fc8fc3f59
--- /dev/null
+++ b/src/intl/cs/page-10-year-anniversary.json
@@ -0,0 +1,131 @@
+{
+ "page-10-year-anniversary-meta-title": "10leté výročí",
+ "page-10-year-anniversary-meta-description": "Oslavujeme 10 let odolnosti vůči cenzuře, 100% dostupnosti, decentralizace, budování komunity, růstu vývojářů, globální spolupráce, cypherpunkových hodnot, hackathonů, odolnosti vůči cenzuře, financí bez povolení, důvěryhodné neutrality, nekonečné zahrady, rozmanitosti klientů a dalších věcí.",
+ "page-10-year-censorship-resistance": "odolnost proti cenzuře",
+ "page-10-year-uptime": "100% dostupnost",
+ "page-10-year-decentralization": "decentralizace",
+ "page-10-year-community-building": "budování komunity",
+ "page-10-year-developer-growth": "růst vývojářů",
+ "page-10-year-global-collaboration": "globální spolupráce",
+ "page-10-year-cypherpunk-values": "cypherpunkové hodnoty",
+ "page-10-year-hackathons": "hackathony",
+ "page-10-year-permissionless-finance": "finance bez povolení",
+ "page-10-year-credible-neutrality": "důvěryhodná neutralita",
+ "page-10-year-infinite-garden": "nekonečná zahrada",
+ "page-10-year-client-diversity": "rozmanitost klientů",
+ "page-10-year-celebrating": "Oslava 10 let",
+ "page-10-year-hero-title": "Desetiletí proměny světa, blok po bloku",
+ "page-10-year-hero-description": "30. července 2015 se zrodil blockchain Etherea. V okamžiku vytěžení genesis bloku se otevřely nové možnosti pro internet a přinesly převratné změny v oblasti financí, vlastnictví a programovatelnosti.",
+ "page-10-year-hero-tagline": "Deset let za námi, věčnost před námi.",
+ "page-10-year-join-party-title": "Připojte se k oslavě",
+ "page-10-year-join-party-description": "Oslavte 10 let Etherea s globální komunitou. Najděte si místní událost nebo uspořádejte vlastní oslavu.",
+ "page-10-year-events-description-1": "Připojte se k lidem z celého světa na přednáškách, networkingu a oslavách desátých narozenin Etherea.",
+ "page-10-year-events-description-2": "Nemůžete se zúčastnit osobně? Sledujte náš živý přenos a aktualizace z událostí po celém světě, abychom mohli tento milník oslavit všichni společně.",
+ "page-10-year-host-event-title": "Sdílejte svou událost",
+ "page-10-year-host-event-description": "Pořádáte událost? Zadejte podrobnosti níže a nechte ji zobrazit na mapě.",
+ "page-10-year-host-event-cta": "Sdílet událost",
+ "page-10-year-innovation-title": "10 let",
+ "page-10-year-innovation-subtitle": "Inovace",
+ "page-10-year-innovation-description-1": "Ethereum proměnilo blockchain zavedením chytrých kontraktů",
+ "page-10-year-innovation-description-2": "Díky Ethereu se blockchainy změnily z digitální účetní knihy na programovatelnou platformu, kde se kód spouští automaticky po splnění podmínek.",
+ "page-10-year-innovation-description-3": "Inovace Etherea umožnila vznik zcela nových odvětví jako DeFi, NFT a DAO. Rozšířila blockchain za hranice digitálních měn a vytvořila platformu, která změnila způsob, jakým tvoříme a směňujeme hodnotu.",
+ "page-10-year-adoption-title": "10 let",
+ "page-10-year-adoption-subtitle": "Přijetí",
+ "page-10-year-adoption-description-1": "Od bílé knihy k více než 24 milionům denních transakcí v rámci ekosystému Etherea",
+ "page-10-year-adoption-description-2": "Ethereum se stalo globální výpočetní platformou, která pohání tisíce aplikací používaných denně miliony lidí. Přesahuje odvětví i hranice a neustále rozšiřuje své možnosti využití.",
+ "page-10-year-stories-title": "10 let",
+ "page-10-year-stories-subtitle": "Příběhy",
+ "page-10-year-stories-description-1": "Přehled toho, jak se Ethereum používá v každodenním životě",
+ "page-10-year-stories-description-2": "Od milionů peněženek po všechny kouty světa lidé používají Ethereum způsoby, které inspirují. Tyto skutečné příběhy ukazují kreativitu, svobodu a spojení, které Ethereum umožňuje.",
+ "page-10-year-stories-cta": "Sdílejte svůj příběh",
+ "page-10-year-ideas-title": "Máte nápad, jak by komunita mohla slavit?",
+ "page-10-year-ideas-description": "Artefakty na blockchainu, celosvětová hra s otázkami o Ethereu, fantazii se meze nekladou! Níže nám sdělte svůj nápad.",
+ "page-10-year-ideas-cta": "Odeslat nápad",
+ "page-10-year-event-link": "Přejít na událost",
+ "page-10-year-countdown-expired": "Ethereum má 10 let! 🚀",
+ "page-10-year-countdown-day": "den",
+ "page-10-year-countdown-days": "dny",
+ "page-10-year-countdown-hour": "hodina",
+ "page-10-year-countdown-hours": "hodin",
+ "page-10-year-countdown-minute": "minuta",
+ "page-10-year-countdown-minutes": "minut",
+ "page-10-year-countdown-second": "sekunda",
+ "page-10-year-countdown-seconds": "sekund",
+ "page-10-year-banner-header": "10 let Etherea",
+ "page-10-year-banner-launch-text": "Dne 30. července 2015 v 15:44 UTC ožil první blok blockchainu Ethereum.",
+ "page-10-year-banner-tagline": "Deset let za námi, nekonečno před námi! 🚀",
+ "page-10-year-banner-cta": "Připojte se k oslavě",
+ "page-10-year-stories-read-more": "Zjistit více",
+ "page-10-year-stories-show-original": "Zobrazit originál",
+ "page-10-year-stories-show-english": "Zobrazit angličtinu",
+ "page-10-year-stories-original-language": "Původní jazyk",
+ "page-10-year-stories-english-translation": "Anglický překlad",
+ "page-10-year-stories-show-more": "Zobrazit více",
+ "page-10-year-globe-go-to-event": "Přejít na událost",
+ "page-10-year-innovation-card-1-title": "Spuštění Etherea",
+ "page-10-year-innovation-card-1-date": "30. července 2015",
+ "page-10-year-innovation-card-1-description-1": "Genesis blok Etherea byl spuštěn, čímž se spustila síť \"Frontier\". Toto základní vydání dalo vývojářům první příležitost vytvářet decentralizované aplikace a experimentovat s chytrými kontrakty.",
+ "page-10-year-innovation-card-1-description-2": "Poslání Etherea: otevřený internet, kde uživatelé kontrolují svá data, aplikace fungují bez prostředníků a hodnota volně proudí mezi lidmi.",
+ "page-10-year-innovation-card-2-title": "DAI: Průkopnická stabilní kryptoměna",
+ "page-10-year-innovation-card-2-date": "Prosinec 2015",
+ "page-10-year-innovation-card-2-description-1": "Byla spuštěna první decentralizovaná stabilní kryptoměna. DAI udržuje mírnou vazbu na americký dolar prostřednictvím zajištění v kryptoměnách uzamčených v chytrých kontraktech.",
+ "page-10-year-innovation-card-2-description-2": "Na rozdíl od centralizovaných stabilních kryptoměn ovládaných společnostmi je DAI řízeno decentralizovanou autonomní organizací (DAO), díky čemuž je systém bezdůvěryhodnostní a řízený komunitou.",
+ "page-10-year-innovation-card-3-title": "CryptoKitties a hranice NFT",
+ "page-10-year-innovation-card-3-date": "Listopad 2017",
+ "page-10-year-innovation-card-3-description-1": "CryptoKitties přivedly digitální vlastnictví k životu. Tato raná hra s NFT ukázala, jak může blockchain umožnit nové formy projevu, sběratelství a online kultury.",
+ "page-10-year-innovation-card-3-description-2": "Ukázalo se, že Ethereum se může škálovat i mimo finance do her, umění a digitální identity, což otevírá zcela nové tvůrčí možnosti.",
+ "page-10-year-innovation-card-4-title": "Léto DeFi",
+ "page-10-year-innovation-card-4-date": "Červen 2020",
+ "page-10-year-innovation-card-4-description-1": "Explozivní růst DeFi změnil způsob, jakým svět přemýšlí o financích. Protokoly pro půjčování, obchodování a generování výnosů nabraly obrovskou dynamiku a ukázaly sílu otevřené, složitelné finanční infrastruktury.",
+ "page-10-year-innovation-card-4-description-2": "V tomto období se na blockchain dostaly miliardy v hodnotě a Ethereum se stalo domovem decentralizovaných financí.",
+ "page-10-year-innovation-card-5-title": "Aktualizace The Merge",
+ "page-10-year-innovation-card-5-date": "15. září 2022",
+ "page-10-year-innovation-card-5-description-1": "Dosud největší transformace Etherea. Síť plynule přešla z energeticky náročného proof-of-work na proof-of-stake. Vzhledem k miliardám v hodnotě na Ethereu byla tato změna přirovnána k výměně motoru letadla za letu.",
+ "page-10-year-innovation-card-5-description-2": "Sloučení snížilo spotřebu energie Etherea o 99,95 %, posílilo bezpečnost sítě a položilo základy pro budoucí vylepšení škálování.",
+ "page-10-year-innovation-card-6-title": "Spotové ETF na ETH",
+ "page-10-year-innovation-card-6-date": "23. května 2024",
+ "page-10-year-innovation-card-6-description-1": "Wall Street přijímá Ethereum. Byly spuštěny spotové ETF na ETH, které přinesly institucionální kapitál a regulační legitimitu přední světové platformě pro chytré kontrakty.",
+ "page-10-year-innovation-card-6-description-2": "Schválení signalizovalo širší přijetí tokenizovaných aktiv z reálného světa a velké finanční instituce nyní staví na Ethereu, aby na blockchain přenesly vše od nemovitostí po státní dluhopisy.",
+ "page-10-year-adoption-card-1-title": "Desetiletí decentralizace",
+ "page-10-year-adoption-card-1-description": "To, co začalo jako specializovaný ekosystém, se nyní rozprostírá přes 80+ zemí s 870 000 validátory, 13 600 fyzickými uzly a miliony uživatelů na všech kontinentech.",
+ "page-10-year-adoption-card-1-link-text": "Zkontrolovat statistiky Etherea",
+ "page-10-year-adoption-card-2-title": "10 let, 16 vylepšení, 0 výpadků",
+ "page-10-year-adoption-card-2-description": "Ethereum si udrželo perfektní dostupnost a zároveň se neustále vyvíjí. Blockchain nikdy nebyl offline.",
+ "page-10-year-adoption-card-2-link-text": "Zobrazit plán",
+ "page-10-year-adoption-card-3-title": "Tržní kapitalizace stabilních kryptoměn ve výši 123 miliard $",
+ "page-10-year-adoption-card-3-description": "K 2. čtvrtletí 2025 zajišťuje L1 vrstva Etherea více než 123 miliard $ ve stabilních kryptoměnách, čímž zaujímá více než 50 % globálního trhu se stabilními kryptoměnami.",
+ "page-10-year-adoption-card-3-link-text": "Více o stablecoinech",
+ "page-10-year-adoption-card-4-title": "75 miliard $ zabezpečených v DeFi na Ethereu",
+ "page-10-year-adoption-card-4-description": "K 2. čtvrtletí 2025 Ethereum zajišťuje ve svém ekosystému více než 75 miliard $ v DeFi.",
+ "page-10-year-adoption-card-4-link-text": "Další informace o DeFi",
+ "page-10-year-adoption-card-5-title": "0,01 TWh ročně",
+ "page-10-year-adoption-card-5-description": "Po Sloučení spotřeba energie Etherea dramaticky klesla na pouhých 0,01 TWh ročně z původních 93,95 TWh.",
+ "page-10-year-adoption-card-5-link-text": "Více o spotřebě energie Etherea",
+ "page-10-year-adoption-card-6-title": "Přes 250 TPS",
+ "page-10-year-adoption-card-6-description": "Propustnost Etherea se od spuštění dramaticky zvýšila a ekosystém Etherea nyní zpracovává více než 250 transakcí za sekundu.",
+ "page-10-year-adoption-card-6-link-text": "Více o 2. vrstvách",
+ "page-10-year-torch-title": "Pochodeň Etherea",
+ "page-10-year-torch-description": "Unikátní NFT oslavující 10. výročí Etherea. Pochodeň putuje mezi členy komunity a představuje ducha spolupráce a decentralizace, který definuje Ethereum.",
+ "page-10-year-torch-current-holder": "Současný držitel pochodně",
+ "page-10-year-torch-no-holder": "Žádný současný držitel",
+ "page-10-year-torch-history-title": "Historie držitelů pochodně",
+ "page-10-year-torch-no-history": "Není k dispozici žádná historie převodů",
+ "page-10-year-torch-from": "Od",
+ "page-10-year-torch-to": "Pro",
+ "page-10-year-torch-view-tx": "Zobrazit transakci",
+ "page-10-year-livestream-title": "Připojte se k živému přenosu",
+ "page-10-year-livestream-video-title": "Živý přenos 10 let Etherea",
+ "page-10-year-torch-nft-intro": "K připomenutí tohoto historického milníku představujeme Ethereum Torch NFT, NFT, které ztělesňuje ducha decentralizace a komunity, který definoval první desetiletí Etherea.",
+ "page-10-year-torch-nft-description": "Podobně jako ceremoniální plamen, který putuje od komunity ke komunitě, bude Pochodeň Etherea putovat napříč globálním ekosystémem Etherea. Tento speciální NFT bude předáván z peněženky do peněženky mezi pečlivě vybranými členy komunity, vývojáři a tvůrci, kteří v posledních 10 letech utvářeli příběh Etherea.",
+ "page-10-year-torch-one-of-kind-title": "Jedinečný:",
+ "page-10-year-torch-one-of-kind-description": "Existuje pouze jedno Ethereum Torch NFT, takže každý držitel se stává dočasným strážcem odkazu Etherea",
+ "page-10-year-torch-time-limited-title": "Časově omezená úschova:",
+ "page-10-year-torch-time-limited-description": "Každý držitel si pochodeň ponechá 24 hodin, než ji předá dalšímu strážci. Dne 30. července bude toto NFT spáleno na oslavu výročí.",
+ "page-10-year-mint-card-title": "Vyražte si okamžik",
+ "page-10-year-mint-card-description": "Oslavte desetiletí decentralizace s bezplatným, časově omezeným NFT k 10. výročí. Vyražte si své, než vyprší čas.",
+ "page-10-year-mint-card-ended-title": "Období pro vyzvednutí skončilo",
+ "page-10-year-mint-card-ended-description": "Děkujeme všem za účast na oslavě",
+ "page-10-year-video-aria-label": "Video k 10. výročí",
+ "page-10-year-nft-link-label": "Zobrazit NFT Ten Years Of Ethereum na OpenSea",
+ "page-10-year-terms-and-conditions": "Smluvní podmínky"
+}
diff --git a/src/intl/cs/page-about.json b/src/intl/cs/page-about.json
index 6191e3d39a3..676add3bae0 100644
--- a/src/intl/cs/page-about.json
+++ b/src/intl/cs/page-about.json
@@ -1,9 +1,31 @@
{
+ "page-about-h2": "Požadavek na funkci",
+ "page-about-h3": "Probíhající práce",
+ "page-about-h3-1": "Implementované funkce",
+ "page-about-h3-2": "Plánované funkce",
+ "page-about-li-1": "probíhá",
+ "page-about-li-2": "plánováno",
+ "page-about-li-3": "implementováno",
+ "page-about-li-4": "implementováno",
+ "page-about-link-1": "Zdrojový kód tohoto repozitáře je licencován pod licencí MIT",
+ "page-about-link-2": "GitHub",
+ "page-about-link-3": "Zobrazit úplný seznam probíhajících úkolů na GitHubu",
+ "page-about-link-4": "Připojte se k našemu Discord serveru",
+ "page-about-link-5": "Oslovte nás na Twitteru",
+ "page-about-link-6": "Zobrazit úplný seznam implementovaných úkolů na GitHubu",
+ "page-about-link-7": "Vytvořit issue na GitHubu",
+ "page-about-p-1": "Od spuštění webu ethereum.org se snažíme být transparentní v tom, jak fungujeme. Je to jedna z našich klíčových hodnot, protože věříme, že transparentnost je pro úspěch Etherea zásadní.",
+ "page-about-p-2": "Používáme",
+ "page-about-p-3": "jako hlavní nástroj pro správu projektu. Úkoly dělíme do 3 kategorií:",
+ "page-about-p-4": "Snažíme se komunitu co nejlépe informovat o stavu konkrétních úkolů.",
+ "page-about-p-5": "Úkoly, které implementujeme.",
+ "page-about-p-6": "Úkoly, které čekají ve frontě na implementaci.",
+ "page-about-p-7": "Nedávno dokončené úkoly.",
+ "page-about-p-8": "Máte nápad, jak vylepšit ethereum.org? Rádi s vámi budeme spolupracovat!",
"page-what-is-ethereum-energy-consumption-chart-legend": "Roční spotřeba energie v TWh/rok",
- "energy-consumption-chart-youtube-label": "YouTube",
- "energy-consumption-chart-gold-mining-galaxy-label": "Těžba zlata (Galaxy Digital)",
"energy-consumption-chart-global-data-centers-label": "Globální datová centra",
- "energy-consumption-chart-gold-mining-cbeci-label": "Těžba zlata (CBECI)",
+ "energy-consumption-chart-airbnb-label": "AirBnB",
+ "energy-consumption-gold-mining-cbeci-label": "Těžba zlata",
"energy-consumption-chart-btc-pow-label": "BTC PoW",
"energy-consumption-chart-netflix-label": "Netflix",
"energy-consumption-chart-eth-pow-label": "ETH PoW",
diff --git a/src/intl/cs/page-apps.json b/src/intl/cs/page-apps.json
index 753ccf85a42..6892710690e 100644
--- a/src/intl/cs/page-apps.json
+++ b/src/intl/cs/page-apps.json
@@ -1,289 +1,72 @@
{
- "page-apps-1inch-logo-alt": "Logo 1inch",
- "page-apps-aave-logo-alt": "Logo Aave",
- "page-apps-add-button": "Navrhnout dappku",
- "page-apps-add-title": "Přidat dappku",
- "page-apps-ankr-logo-alt": "Logo Ankr",
- "page-apps-api3-logo-alt": "Logo API3",
- "page-apps-arweave-logo-alt": "Logo ARweave",
- "page-apps-audius-logo-alt": "Logo Audius",
- "page-apps-axie-infinity-logo-alt": "Logo Axie Infinity",
- "page-apps-balancer-logo-alt": "Logo Balancer",
- "page-apps-brave-logo-alt": "Logo Brave",
- "page-apps-beginner-friendly-description": "Pár dappek, které jsou vhodné pro začátečníky. Prozkoumejte více dappek dole.",
- "page-apps-beginner-friendly-header": "Vhodné pro začátečníky",
- "page-apps-category-arts": "Umění a móda",
- "page-apps-category-browsers": "Prohlížeče",
- "page-apps-category-code-marketplaces": "Tržiště kódů",
- "page-apps-category-collectibles": "Digitální sběratelské předměty",
- "page-apps-category-competitive": "Web3 hry",
- "page-apps-category-computing": "Nástroje pro vývojáře",
- "page-apps-category-dex": "Burzy",
- "page-apps-category-investments": "Investiční fondy",
- "page-apps-category-lending": "Úvěry a půjčky",
- "page-apps-category-lottery": "Crowdfunding",
- "page-apps-category-marketplaces": "Tržiště",
- "page-apps-category-music": "Hudba",
- "page-apps-category-payments": "Platby",
- "page-apps-category-insurance": "Pojištění",
- "page-apps-category-portfolios": "Portfolio management",
- "page-apps-category-trading": "Predikční trhy",
- "page-apps-category-utilities": "Utility",
- "page-apps-category-worlds": "Virtuální světy",
- "page-apps-category-demand-aggregator": "Agregátoři poptávky",
- "page-apps-category-derivatives": "Deriváty",
- "page-apps-category-liquid-staking": "Likvidní uzamčení",
- "page-apps-category-bridges": "Přemostění",
- "page-apps-category-experiences": "Sdílené zkušenosti",
- "page-apps-category-guilds": "Výnosové cechy",
- "page-apps-category-avatar": "Avataři",
- "page-apps-choose-category": "Vybrat kategorii",
- "page-apps-category-social": "Sociální sítě",
- "page-apps-category-content": "Obsah",
- "page-apps-category-community": "Komunita",
- "page-apps-category-messaging": "Zprávy",
- "page-apps-category-identity": "Identita",
- "page-apps-collectibles-benefits-1-description": "Když umění na Ethereu tokenizujete, můžete každému snadno prokázat, že je vaše. Cestu uměleckého díla lze totiž vysledovat, od vytvoření k jemu současnému držiteli. Tak zabráníte padělání.",
- "page-apps-collectibles-benefits-1-title": "Doložitelné vlastnictví",
- "page-apps-collectibles-benefits-2-description": "Úhrada za streamování hudby nebo koupi uměleckého díla je k umělcům mnohem spravedlivější. U Etherea nepotřebujete tolik zprostředkovatelů. A když jsou potřeba, pak náklady na ně nejsou tak vysoké, protože platformy nemusí platit za infrastrukturu sítě.",
- "page-apps-collectibles-benefits-2-title": "Spravedlivější k tvůrcům",
- "page-apps-collectibles-benefits-3-description": "Tokenizované sběratelské předměty jsou vázány na vaši Ethereum adresu, ne na platformu. Můžete je tedy prodávat na jakémkoli Ethereum tržišti, nejen v rámci samotné hry.",
- "page-apps-collectibles-benefits-3-title": "Sběratelské předměty jdou s vámi",
- "page-apps-collectibles-benefits-4-description": "V dnešní době najdete spoustu nástrojů a produktů, jejichž prostřednictvím můžete tokenizovat vaše umění a prodávat jej! Vaše tokeny se můžou prodávat na jakékoliv Ethereum sběratelské platformě.",
- "page-apps-collectibles-benefits-4-title": "Funkční infrastruktura",
- "page-apps-collectibles-benefits-description": "Jedná se o aplikace, které se zaměřují na digitální vlastnictví, zvyšují potenciál výdělku pro tvůrce, a vymýšlejí nové způsoby, jak investovat do vašich oblíbených tvůrců a jejich práce.",
- "page-apps-collectibles-benefits-title": "Decentralizované sběratelství a streamování",
- "page-apps-collectibles-button": "Umění a sběratelské předměty",
- "page-apps-collectibles-description": "Jedná se o aplikace, které se zaměřují na digitální vlastnictví, zvyšují potenciál výdělku pro tvůrce, a vymýšlejí nové způsoby, jak investovat do vašich oblíbených tvůrců a jejich práce.",
- "page-apps-collectibles-title": "Decentralizované umění a sběratelské předměty",
- "page-apps-compound-logo-alt": "Logo Compound",
- "page-apps-convex-logo-alt": "Logo Convex",
- "page-apps-cryptopunks-logo-alt": "Logo CryptoPunks",
- "page-apps-cryptovoxels-logo-alt": "Logo Cryptovoxels",
- "page-apps-cyberconnect-logo-alt": "Logo CyberConnect",
- "page-apps-dapp-description-1inch": "Pomáhá vyhnout se vysokému cenovému skluzu sečtením nejlepších cen.",
- "page-apps-dapp-description-aave": "Půjčte své tokeny, abyste vydělali na úrocích. Tokeny a úroky si můžete kdykoli vybrat.",
- "page-apps-dapp-description-ankr": "Soubor odlišných Web3 infrastrukturních produktů pro programování, získávání, hraní a další. A to vše na jednom blockchainu.",
- "page-apps-dapp-description-api3": "Cenové referenční datové kanály první strany, které umožňují dappky v 10 sítích (a nadále víc) připojit se k údajům o cenách aktiv v reálném čase, včetně cen kryptoměn a forexu.",
- "page-apps-dapp-description-arweave": "Ukládejte data trvale, udržitelně a s jediným počátečním poplatkem.",
- "page-apps-dapp-description-async-art": "Vytvářejte, sbírejte a obchodujte s uměním #ProgrammableArt – digitálními malbami rozdělenými na „vrstvy“, které můžete použít k ovlivnění celkového obrazu. Každý vzor a vrstva je token ERC721.",
- "page-apps-dapp-description-audius": "Decentralizovaná streamovací platforma. Posloucháte hudbu? Peníze jdou přímo tvůrcům, ne zavedeným značkám.",
- "page-apps-dapp-description-axie-infinity": "Obchodujte a bojujte se stvořením známým jako Axies. Hrajte a vydělávejte, na mobilu.",
- "page-apps-dapp-description-balancer": "Balancer je automatický správce portfolia a obchodní platforma.",
- "page-apps-dapp-description-brave": "Získejte tokeny za procházení a podpořte jimi vaše oblíbené tvůrce.",
+ "page-apps-all-apps": "Všechny aplikace",
"page-apps-dapp-description-cent": "Sociální síť, na které vyděláváte peníze zveřejňováním NFT.",
- "page-apps-dapp-description-compound": "Půjčte své tokeny, abyste vydělali na úrocích. Tokeny a úroky si můžete kdykoli vybrat.",
- "page-apps-dapp-description-convex": "Convex umožňuje poskytovatelům likvidity Curve vydělávat pomocí poplatků za obchodování a získat zvýšení CRV bez zamykání jejich CRV.",
- "page-apps-dapp-description-cryptopunks": "Kupujte, přihazujte, a nabízejte Punky k prodeji, což je jeden z prvních tokenových sběratelských předmětů na Ethereu.",
- "page-apps-dapp-description-cryptovoxels": "Vytvářejte umělecké galerie, budujte obchody, a kupujte půdu ve virtuálním světě Ethereum.",
- "page-apps-dapp-description-cyberconnect": "Decentralizovaný protokol sociálních grafů, který pomáhá dappkám spouštět síťové efekty a vytvářet personalizované sociální zážitky",
- "page-apps-dapp-description-dark-forest": "Ovládněte planety v nekonečném, proceduálně generovaném, kryptograficky specifikovaném vesmíru.",
"page-apps-dapp-description-decentraland": "Sbírejte, obchodujte s virtuální půdou ve virtuálním světě, který můžete prozkoumat.",
"page-apps-dapp-description-ens": "Uživatelsky přívětivá jména pro Ethereum adresy a decentralizované stránky.",
- "page-apps-dapp-description-foundation": "Investujte do jedinečných edic digitálních uměleckých děl a obchodujte s jinými kupci.",
"page-apps-dapp-description-gitcoin": "Vydělávejte kryptoměny, které fungují díky open-source softwaru.",
- "page-apps-dapp-description-gitcoin-grants": "Crowdfunding pro komunitní projekty Etherea se zesílenými příspěvky",
- "page-apps-dapp-description-gm": "All-in-one platforma pro chatování, fóra a hlasové služby, která se skutečně dělí o příjmy se svými tvůrci",
"page-apps-dapp-description-gods-unchained": "Strategická hra se sběratelskými kartičkami. Karty, které vyhrajete, můžete v reálném světě prodat.",
- "page-apps-dapp-description-golem": "Přistup ke sdílenému výpočetnímu výkonu nebo pronájem vlastních zdrojů.",
- "page-apps-dapp-description-graph": "Indexovací protokol pro vyhledávání v sítích, jako je Ethereum a IPFS.",
- "page-apps-dapp-description-ipfs": "Hypermediální protokol typu peer-to-peer, jehož cílem je zachovat a rozšířit znalosti lidstva tím, že web bude aktualizovatelný, odolný a otevřenější.",
- "page-apps-dapp-description-radicle": "Bezpečná peer-to-peer spolupráce na psaní kódu bez prostředníků.",
- "page-apps-dapp-description-kyberswap": "Vyměňujte a vydělávejte za nejlepší sazby.",
- "page-apps-dapp-description-kiwinews": "Najděte zajímavé zprávy, články a produkty týkající se Etherea, které pro stavitele připravili stavitelé. Diskutujte o nich s ostatními vývojáři, zakladateli a investory.",
- "page-apps-dapp-description-lido": "Zjednodušené a bezpečné uzamčení digitálních aktiv.",
- "page-apps-dapp-description-loopring": "Obchodní platforma typu Peer-to-peer stvořená pro rychlost.",
- "page-apps-dapp-description-marble-cards": "Vytvářejte jedinečné digitální karty pomocí na URL a obchodujte s nimi.",
- "page-apps-dapp-description-matcha": "Vyhledávání na několika burzách, abyste našli nejlepší cenu.",
- "page-apps-dapp-description-meeds": "Komunitní centra Web3 pro éru decentralizované práce. Odměňujte příspěvky, které jsou důležité, spravedlivě a transparentně.",
- "page-apps-dapp-description-mirror": "Vytvořena skrz web3 pro web3, robustní nakladatelská platforma Mirror překonává překážky při autorském psaní online",
- "page-apps-dapp-description-multichain": "Konečný směrovač pro web3. Jedná se o infrastrukturu vyvinutou pro libovolné interakce napříč blockchainy.",
- "page-apps-dapp-description-nifty-gateway": "Nakupujte díla od špičkových umělců, atletů, značek a tvůrců na blockchainu.",
- "page-apps-dapp-description-summerfi": "Obchodujte, půjčujte si a ušetřete s Dai, Ethereum stablecoinem.",
- "page-apps-dapp-description-opensea": "Objevte limitovanou edicí zboží, kterou můžete nakupovat, prodávat nebo s ní obchodovat.",
- "page-apps-dapp-description-opera": "Poslat kryptoměnu z prohlížeče obchodníkům, ostatním uživatelům a aplikacím.",
- "page-apps-dapp-description-osuvox": "3D avataři žijící na blockchainu",
- "page-apps-dapp-description-poap": "Sbírejte NFT, díky nimž budete mít v ruce důkaz, že jste se zúčastnili různých virtuálních nebo prezenčních událostí. Můžete se s nimi zapojit do tomboly, hlasování, spolupráci nebo pochlubit.",
- "page-apps-dapp-description-polymarket": "Sázejte na výsledky. Obchodujte na informačních trzích.",
- "page-apps-dapp-description-pooltogether": "Loterie, ve které nemůžete prohrát. Výhry každý týden.",
- "page-apps-dapp-description-index-coop": "Kryptoměnový indexový fond, který dává vašemu portfoliu expozici vůči předním DeFi tokenům.",
- "page-apps-dapp-description-nexus-mutual": "Pojištění bez pojišťovny. Chraňte se před chybami v chytrých kontraktech a jejich hacknutím.",
- "page-apps-dapp-description-etherisc": "Šablona pro decentralizované pojištění, kterou může využít každý, kdo si chce vytvořit vlastní pojistné krytí.",
- "page-apps-dapp-description-zapper": "Sledujte své portfolio a využívejte řadu produktů DeFi z jednoho rozhraní.",
- "page-apps-dapp-description-zerion": "Spravujte své portfolio a jednoduše vyhodnoťte každé jednotlivé aktivum DeFi na trhu.",
- "page-apps-dapp-description-rotki": "Open source nástroj pro sledování portfolia, analýzy, účetnictví a daňové výkaznictví, který respektuje vaše soukromí.",
- "page-apps-dapp-description-krystal": "Jednoduchá platforma pro přístup ke všem vašim oblíbeným službám DeFi.",
- "page-apps-dapp-description-rarible": "Vytvářejte, prodávejte a kupujte tokenizované sběratelské předměty.",
- "page-apps-dapp-description-request-finance": "Sada finančních nástrojů pro krypto faktury, mzdy a výdaje.",
- "page-apps-dapp-description-rubic": "Meziblockchainový technologický agregátor pro uživatele a dappky.",
- "page-apps-dapp-description-sablier": "Přenos peněz v reálném čase.",
- "page-apps-dapp-description-spatial": "Vytvořte si svůj vlastní avatar a 3D světy",
- "page-apps-dapp-description-spruce": "Open-source stack, který ponechává kontrolu nad identitou a daty tam, kde má být: u uživatelů.",
- "page-apps-dapp-description-status": "Navržena tak, aby umožňovala volný tok informací, chránila právo na soukromé a bezpečné rozhovory a podporovala suverenitu jednotlivců.",
- "page-apps-dapp-description-superrare": "Kupujte digitální umělecká díla přímo od umělců nebo na sekundárních trzích.",
- "page-apps-dapp-description-synthetix": "Synthetix je protokol pro vydávání syntetických aktiv a obchodování s nimi",
- "page-apps-dapp-description-uniswap": "Tokeny můžete jednoduše vyměnit, nebo je poskytnout jako odměnu v %.",
- "page-apps-dapp-description-xmtp": "Posílejte zprávy mezi blockchain účty, včetně SZ, upozornění, oznámení a dalších.",
- "page-apps-dapp-description-yearn": "Yearn Finance je agregátor výnosů. Poskytuje jednotlivcům, DAO a dalším protokolům způsob, jak uložit digitální aktiva a získat výnos.",
- "page-apps-docklink-dapps": "Úvod k decentralozovaným plikacím",
- "page-apps-docklink-smart-contracts": "Chytré kontrakty",
- "page-apps-dark-forest-logo-alt": "Logo Dark Forest",
- "page-apps-decentraland-logo-alt": "Logo Decentralandu",
- "page-apps-index-coop-logo-alt": "Logo Index Coop",
- "page-apps-nexus-mutual-logo-alt": "Logo Nexus Mutual",
- "page-apps-etherisc-logo-alt": "Logo Etherisc",
- "page-apps-zapper-logo-alt": "Logo Zapper",
- "page-apps-zerion-logo-alt": "Logo Zerion",
- "page-apps-rotki-logo-alt": "Logo Rotki",
- "page-apps-krystal-logo-alt": "Logo Krystal",
- "page-apps-synthetix-logo-alt": "Logo Synthetix",
- "page-apps-desc": "Najděte Ethereum aplikaci, kterou chcete vyzkoušet.",
- "page-apps-doge-img-alt": "Ilustrace se psem doge, který používá počítač",
- "page-apps-editors-choice-dark-forest": "Hrajte proti ostatním, abyste obsadili planety a vyzkoušeli technologii škálování a soukromí Etherea. Možná jen pro ty, kteří už znají Ethereum.",
- "page-apps-editors-choice-foundation": "Investujte do kultury. Kupujte, obchodujte, prodávejte jedinečná digitální díla a módu od několik fantastických umělců, hudebníků, a značek.",
- "page-apps-editors-choice-pooltogether": "Pořiďte si lístek do neztrátové loterie. Každý týden posíláme výnos z úroku vypočítaný z celého fondu lístků jednomu šťastnému výherci. Získejte své peníze zpátky, kdykoliv se vám zlíbí.",
- "page-apps-editors-choice-uniswap": "Směňte své tokeny snadno. Oblíbené komunity, které umožňují obchodovat tokeny s lidmi po celé síti.",
- "page-apps-ens-logo-alt": "Logo Ethereum Name Service",
- "page-apps-explore-dapps-description": "Mnoho dappek je stále experimentálních, protože testují možnosti decentralizovaných sítí. Avšak v kategoriích technologie, finance, hry a sběratelství by se našli někteří úspěšní průkopníci.",
- "page-apps-explore-dapps-title": "Prozkoumat dappky",
- "page-apps-features-1-description": "Jakmile je kód dappky nasazen do Etherea, nemůže být vyjmut. Kdokoli tak může využívat funkce dané dappky. Dappku tak může stále využívat, i kdyby se tým, který ji vyvinul, rozpustil. Co se jednou na Ethereu objeví, už tam zůstane.",
- "page-apps-features-1-title": "Bez vlastníků",
- "page-apps-features-2-description": "Nikdo vám nemůže zabránit v používání dappky ani v odesílání transakcí. Například, pokud by byl Twitter na Ethereu, nikdo vám nemůže zablokovat účet nebo vám zabránit ve tweetování.",
- "page-apps-features-2-title": "Bez cenzury",
- "page-apps-features-3-description": "Protože ETH patří pod Ethereum, platby touto kryptoměnou jsou pro Ethereum nativní. Vývojáři nemusí trávit čas integrací poskytovatelů plateb třetích stran.",
- "page-apps-features-3-title": "Integrované platby",
- "page-apps-features-4-description": "Kód dappky je často ve výchozím nastavení otevřený a kompatibilní. Týmy pravidelně stavějí na práci jiného týmu. Pokud chcete umožnit uživatelům výměnu tokenů přímo v dappce, můžete jednoduše připojit kód jiné aplikace.",
- "page-apps-features-4-title": "Připojit a hrát",
- "page-apps-features-5-description": "U většiny dappek nemusíte sdílet svou identitu z reálného světa. Váš účet Ethereum je váš login a potřebujete jen peněženku.",
- "page-apps-features-5-title": "Jedno anonymní přihlášení",
- "page-apps-features-6-description": "Kryptografie zajišťuje, že útočníci nemůžou vytvářet transakce a jiné interakce v dappkách vašim jménem. Kroky v dappkách vždy autorizujete pomocí Ethereum účtu, obvykle prostřednictvím vaší peněženky, takže uchovávejte přihlašovací údaje v bezpečí.",
- "page-apps-features-6-title": "Chráněné šifrováním",
- "page-apps-features-7-description": "Jakmile je ostrá verze dappky na Ethereu, k jejímu výpadku může dojít jedině v případě, že spadne celá síť Ethereum. Na sítě velikosti Etherea není snadné zaútočit.",
- "page-apps-features-7-title": "Žádné výpadky",
- "page-apps-finance-benefits-1-description": "K finančním službám na Ethereu se nemusíte registrovat. Do začátku vám stačí pouze finanční prostředky a internetové připojení.",
- "page-apps-finance-benefits-1-title": "Otevřený přístup",
- "page-apps-finance-benefits-2-description": "Čeká na vás svět tokenů, se kterými můžete obchodovat v rámci finančních produktů. Na Ethereu vznikají za přispění uživatelů nové tokeny každý den.",
- "page-apps-finance-benefits-2-title": "Nová ekonomika tokenů",
- "page-apps-finance-benefits-3-description": "Týmy vytvořily stablecoiny, tedy méně volatilní kryptoměnu. To umožňuje uživatelům vyzkoušet a využívat kryptoměny bez rizika a nejistoty.",
- "page-apps-finance-benefits-3-title": "Stabilní kryptoměny (stablecoins)",
- "page-apps-finance-benefits-4-description": "Finanční produkty na Ethereu jsou modulární a vzájemně kompatibilní. Na trh se neustále dostávají nové konfigurace těchto modulů, které rozšiřují možnosti využití kryptoměn.",
- "page-apps-finance-benefits-4-title": "Propojené finanční služby",
- "page-apps-finance-benefits-description": "Čím to je, že se decentralizovaným finančním aplikacím na Ethereu daří?",
- "page-apps-finance-benefits-title": "Decentralizované finance",
- "page-apps-finance-button": "Finance",
- "page-apps-finance-description": "Jedná se o aplikace, které se zaměřují na vytváření finančních služeb s kryptoměnami. Nabízejí podobné služby jako jsou úvěry, půjčky, výnosy z úroků a soukromé platby, a přitom nepotřebují žádné osobní údaje.",
- "page-apps-finance-title": "Decentralizované finance",
- "page-apps-foundation-logo-alt": "Logo fondu",
- "page-apps-gaming-benefits-1-description": "Ať už se jedná o virtuální půdu, nebo sběratelské kartičky, s položkami můžete obchodovat na sběratelských trzích. Herní předměty mají reálnou hodnotu.",
- "page-apps-gaming-benefits-1-title": "Hodnota herních předmětů je po tokenizaci dvojnásobná",
- "page-apps-gaming-benefits-2-description": "Vlastníkem předmětů a v některých případech i postupu ve hře jste vy, nikoli herní společnosti. O nic tedy nepřijdete, pokud je společnost, která za hrou stojí, napadena, dojde k poruše serveru nebo se společnosti rozpadne.",
- "page-apps-gaming-benefits-2-title": "Vaše uložené pozice jsou v bezpečí",
- "page-apps-gaming-benefits-3-description": "Stejně jako si kdokoli na Ethereu může ověřit probíhající platby, mohou tuto možnost využít i hry, aby zajistili férovou hru. Teoreticky je možné ověřit vše od počtu kritických zásahů až po velikost soupeřovy válečné kořisti.",
- "page-apps-gaming-benefits-3-title": "Prokazatelná férovost",
- "page-apps-gaming-benefits-description": "Čím to je, že se decentralizovaným herním aplikacím na Ethereu daří?",
- "page-apps-gaming-benefits-title": "Decentralizované hry",
- "page-apps-gaming-button": "Hry",
- "page-apps-gaming-description": "Jedná se o aplikace, které se zaměřují na vytváření virtuálních světů a souboje s ostatními hráči pomocí sběratelských předmětů, které mají reálnou hodnotu.",
- "page-apps-gaming-title": "Decentralizované hry",
- "page-apps-get-some-eth-description": "Za jednotlivé akce v dappkách platíte transakčním poplatkem",
- "page-apps-get-started-subtitle": "Abyste si mohli vyzkoušet jakoukoliv dappku, potřebujete peněženku a ETH. Peněženka vám umožní se připojit nebo přihlásit. Také budete potřebovat další ETH k zaplacení jakýchkoli transakčních poplatků.",
- "page-apps-get-started-title": "Začínáme",
- "page-apps-gitcoin-grants-logo-alt": "Logo Gitcoin Grants",
- "page-apps-gitcoin-logo-alt": "Logo Gitcoin",
- "page-apps-gm-logo-alt": "Logo gm.xyz",
- "page-apps-gods-unchained-logo-alt": "Logo Gods unchained",
- "page-apps-golem-logo-alt": "Logo Golem",
- "page-apps-graph-logo-alt": "Logo Graph",
- "page-apps-radicle-logo-alt": "Logo Radicle",
- "page-apps-hero-header": "Nástroje a služby, které běží na Ethereu",
- "page-apps-hero-subtitle": "Dappky představují novou vlnu aplikací, které pomocí Etherea narušují zavedené obchodní modely, nebo vytvářejí nové.",
- "page-apps-how-dapps-work-p1": "Dappky mají backendový kód (chytré kontrakty), který je spuštěn na decentralizované síti, nikoli na centralizovaném serveru. K ukládání dat využívají decentralizované aplikace blockchain Ethereum a chytré kontrakty pro vlastní logiku.",
- "page-apps-how-dapps-work-p2": "Chytrý kontrakt funguje na principu souboru pravidel, která existují na blockchainu, kde k nim může každý přistupovat a řídit se přesně podle nich. Princip je stejný jako u prodejního automatu: pokud jej naplníte dostatečným množstvím pečlivě vybraných prostředků, dostanete to, co chcete. A podobně jako prodejní automaty mohou chytré kontrakty uchovávat finanční prostředky stejně jako Ethereum účet. Kód tak může zprostředkovávat dohody a transakce.",
- "page-apps-how-dapps-work-p3": "Dappky, které jednou nasadíte do sítě Ethereum, už nemůžete měnit. Dappky jsou decentralizované proto, že jsou řízeny logikou zapsanou v chytrém kontraktu, nikoli jednotlivcem nebo společností.",
- "page-apps-how-dapps-work-title": "Jak dappky fungují",
- "page-apps-ipfs-logo-alt": "Logo IPFS",
- "page-apps-kyberswap-logo-alt": "Logo KyberSwap",
- "page-apps-learn-callout-button": "Začněte tvořit",
- "page-apps-learn-callout-description": "Na našem komunitním vývojářském portálu najdete dokumenty, nástroje a frameworky, které vám pomohou dappku vytvořit.",
- "page-apps-learn-callout-image-alt": "Ilustrace ručně stavěného symbolu ETH z lega.",
- "page-apps-learn-callout-title": "Naučte se vytvářet dappky",
- "page-apps-lido-logo-alt": "Logo Lido",
- "page-apps-loopring-logo-alt": "Logo Loopring",
- "page-apps-magic-behind-dapps-description": "Dappky mohou působit jako běžné aplikace. Ale pod povrchem mají několik speciálních vlastností, protože zdědí všechny výhody Etherea. Zde je, čím se dappky liší od běžných aplikací.",
- "page-apps-magic-behind-dapps-link": "Proč je Ethereum tak skvělé?",
- "page-apps-magic-behind-dapps-title": "Kouzlo dappek",
- "page-apps-magic-title-1": "Kouzlo",
- "page-apps-magic-title-2": "na jeho stopě",
- "page-apps-magician-img-alt": "Ilustrace kouzelníků",
- "page-apps-marble-cards-logo-alt": "Logo marble.card",
- "page-apps-async-logo-alt": "Logo Async",
- "page-apps-matcha-logo-alt": "Logo Matcha",
- "page-apps-meeds-logo-alt": "Logo Meeds",
- "page-apps-metaverse-benefits-title": "metaverse",
- "page-apps-metaverse-benefits-description": "Co na Ethereu umožňuje, aby se metaverzu dařilo?",
- "page-apps-metaverse-benefits-1-title": "NFT",
- "page-apps-metaverse-benefits-1-description": "Unikátní herní předměty, které vlastní uživatelé a které jsou interoperabilní ve všech virtuálních světech a tržištích podporujících stejné standardy.",
- "page-apps-metaverse-benefits-2-title": "Komunity vlastněné uživateli",
- "page-apps-metaverse-benefits-2-description": "Identity vlastní uživatelé, kteří mají nekonečné možnosti prozkoumávat a vytvářet sociální sítě v různých virtuálních světech.",
- "page-apps-metaverse-button": "Metaverse",
- "page-apps-metaverse-title": "Metaverse",
- "page-apps-metaverse-description": "Jedná se o aplikace, které uživatelům umožňují volnou účast ve virtuálních světech. Uživatelé mohou vytvářet osobní sítě a přebírat vlastnictví digitálních aktiv",
- "page-apps-mirror-logo-alt": "Logo Mirror",
- "page-apps-mobile-options-header": "Procházet jinou kategorii",
- "page-apps-multichain-logo-alt": "Logo Multichain",
- "page-apps-nifty-gateway-logo-alt": "Logo Nifty Gateway",
- "page-apps-summerfi-logo-alt": "Logo Summer.fi",
- "page-apps-opensea-logo-alt": "Logo OpenSea",
- "page-apps-opera-logo-alt": "Logo Opera",
- "page-apps-osuvox-logo-alt": "Logo OSUVOX",
- "page-apps-polymarket-logo-alt": "Logo Polymarket",
- "page-apps-poap-logo-alt": "Logo POAP",
- "page-apps-pooltogether-logo-alt": "Logo PoolTogether",
- "page-apps-rarible-logo-alt": "Logo Rarible",
- "page-apps-ready-button": "Přejít",
- "page-apps-ready-description": "Vyberte si dappku, kterou chcete vyzkoušet.",
- "page-apps-ready-title": "Jste připraveni?",
- "page-apps-request-finance-logo-alt": "Logo Request Finance",
- "page-apps-rubic-logo-alt": "Logo Rubic",
- "page-apps-sablier-logo-alt": "Logo Sablier",
- "page-apps-set-up-a-wallet-button": "Najít peněženku",
- "page-apps-set-up-a-wallet-description": "Peněženka slouží jako „přihlášení“ do dappky.",
- "page-apps-set-up-a-wallet-title": "Nastavení peněženky",
- "page-apps-social-button": "Sociální",
- "page-apps-social-description": "Jedná se o aplikace, které se zaměřují na vytváření decentralizovaných sociálních sítí využívajících technologie decentralizované identity, kde digitální identity a sociální grafy vlastní uživatelé.",
- "page-apps-social-title": "Sociální",
- "page-apps-spatial-logo-alt": "Logo Spatial",
- "page-apps-spruce-logo-alt": "Logo Spruce",
- "page-apps-status-logo-alt": "Logo statusu",
- "page-apps-superrare-logo-alt": "Logo SuperRare",
- "page-apps-technology-button": "Technologie",
- "page-apps-technology-description": "Jedná se o aplikace, které se zaměřují na decentralizaci vývojářských nástrojů, začlenění kryptoměnových systémů do existující technologie a vytváření tržišť pro vývoj open-source aplikace.",
- "page-apps-technology-title": "Decentralizovaná technologie",
- "page-apps-uniswap-logo-alt": "Logo Uniswap",
- "page-apps-wallet-callout-button": "Najít peněženku",
- "page-apps-wallet-callout-description": "Peněženky jsou vlastně dappky. Podle funkcí si vyberte tu, která vám bude nejvíce vyhovovat.",
- "page-apps-wallet-callout-image-alt": "Ilustrace robota.",
- "page-apps-wallet-callout-title": "Zobrazit peněženky",
- "page-apps-warning-header": "Vše si vždy důkladně prostudujte",
- "page-apps-warning-message": "Ethereum je nová technologie, a i většina aplikací je nových. Před uložením velkého množství peněz se ujistěte, že znáte všechna rizika.",
- "page-apps-what-are-dapps": "Co jsou dappky?",
- "page-apps-more-on-defi-button": "Další informace o decentralizovaných financích",
- "page-apps-more-on-nft-button": "Další informace o tokenizovaných sběratelských předmětech",
- "page-apps-more-on-nft-gaming-button": "Další informace o tokenizováných herních předmětech",
- "page-apps-dapp-description-pwn": "Snadné půjčky zajištěné jakýmkoli tokenem nebo NFT na Ethereu.",
- "page-apps-pwn-image-alt": "Logo PWN",
- "page-apps-xmtp-logo-alt": "Logo XMTP",
- "opage-apps-yearn-logo-alt": "Logo Yearn",
- "page-apps-yearn-image-alt": "Logo Yearn",
- "page-apps-convex-image-alt": "Logo Convex",
+ "page-apps-dapp-description-augur": "Sázejte na výsledky. Obchodujte na informačních trzích.",
+ "page-apps-ready-button": "Go",
"foundation": "Nadace",
"page-wallets-get-some": "Získejte ETH",
- "page-apps-dapp-description-curve": "Curve je dex, který se zaměřuje na stablecoiny",
- "page-apps-curve-image-alt": "Logo Curve",
- "page-apps-dapp-description-dodo": "DODO je blockchainový poskytovatel likvidity, který využívá algoritmus Proactive Market Maker (PMM)",
- "page-apps-dodo-image-alt": "Logo DODO",
- "page-apps-dapp-description-artblocks": "Art Blocks se věnuje oživování působivých děl současného generativního umění.",
- "page-apps-artblocks-image-alt": "Logo Art Blocks",
- "page-apps-explore-title": "Chcete si prohlédnout další aplikace?",
- "page-apps-explore": "Podívejte se na stovky dappek"
-}
+ "page-apps-title": "Aplikace",
+ "page-apps-subtitle": "Objevte seznam pečlivě vybraných aplikací, které běží na síti Ethereum a na řešeních druhé vrstvy",
+ "page-apps-learn-button": "Dozvědět se více o aplikacích",
+ "page-apps-highlights-title": "To nejdůležitější",
+ "page-apps-discover-title": "Objevujte",
+ "page-apps-applications-title": "Aplikace",
+ "page-apps-categories-title": "Kategorie aplikací",
+ "page-apps-community-picks-title": "Výběr komunity",
+ "page-apps-meta-title": "Nejlepší kryptoměnové aplikace na Ethereu",
+ "page-apps-meta-description": "Objevte kryptoměnové aplikace na Ethereu: prozkoumejte DeFi, NFT, sociální aplikace, gaming, bridge protokoly, soukromí, produktivitu a DAO dApps. Najděte důvěryhodné onchain aplikace pro obchodování, výdělky a interakci.",
+ "page-apps-category-defi-name": "DeFi",
+ "page-apps-category-defi-description": "DeFi je kategorie decentralizovaných aplikací, které uživatelům umožňují půjčovat, vypůjčovat si, obchodovat a vydělávat úroky ze svých kryptoaktiv.",
+ "page-apps-category-defi-meta-title": "Seznam DeFi aplikací na Ethereu — půjčky, úvěry a výnosy",
+ "page-apps-category-defi-meta-description": "Prozkoumejte nejlepší DeFi aplikace na Ethereu pro půjčování, vypůjčování, vydávání stablecoinů, poskytování úvěrů a on-chain obchodování na DEXech.",
+ "page-apps-category-collectibles-name": "Sběratelské kolekce",
+ "page-apps-category-collectibles-description": "Sbírky jsou digitální aktiva, která jsou jedinečná a nelze je replikovat.",
+ "page-apps-category-collectibles-meta-title": "Seznam nejlepších NFT aplikací na Ethereu",
+ "page-apps-category-collectibles-meta-description": "Prozkoumejte špičkové NFT aplikace pro nákup sběratelských předmětů, obchodování herních skinů a objevování nových digitálních aktiv na předních tržištích Etherea.",
+ "page-apps-category-social-name": "Sociální",
+ "page-apps-category-social-description": "Sociální aplikace jsou kategorie decentralizovaných aplikací, které uživatelům umožňují vzájemně se propojit a sdílet obsah.",
+ "page-apps-category-social-meta-title": "Sociální aplikace na Ethereu: Farcaster, Zora a další",
+ "page-apps-category-social-meta-description": "Prozkoumejte nejlepší komunikační a sociální aplikace na Ethereu.",
+ "page-apps-category-gaming-name": "Hry",
+ "page-apps-category-gaming-description": "Gaming je kategorie decentralizovaných aplikací, které uživatelům umožňují hrát hry a získávat odměny.",
+ "page-apps-category-gaming-meta-title": "Seznam krypto a NFT her na Ethereu",
+ "page-apps-category-gaming-meta-description": "Objevte nejlepší blockchainové hry, které jsou zábavné na hraní. MMORPG, karetní hry, AI gaming, RPG, casual hry",
+ "page-apps-category-bridge-name": "Přemostění",
+ "page-apps-category-bridge-description": "Bridge jsou kategorie decentralizovaných aplikací, které uživatelům umožňují přesouvat svá aktiva mezi různými sítěmi.",
+ "page-apps-category-bridge-meta-title": "Seznam Ethereum bridge řešení pro různé sítě",
+ "page-apps-category-bridge-meta-description": "Objevte nejlepší krypto bridge aplikace pro přesun aktiv mezi různými sítěmi a řešeními druhé vrstvy.",
+ "page-apps-category-productivity-name": "Produktivita",
+ "page-apps-category-productivity-description": "Produktivita je kategorie decentralizovaných aplikací, které uživatelům umožňují být produktivní.",
+ "page-apps-category-productivity-meta-title": "Aplikace pro produktivitu a decentralizovanou identitu",
+ "page-apps-category-productivity-meta-description": "Prozkoumejte nejlepší Ethereum aplikace pro decentralizovanou identitu, úložiště, DNS a video výpočty. Zvyšte svou on-chain produktivitu pomocí důvěryhodných infrastrukturních nástrojů.",
+ "page-apps-category-privacy-name": "Ochrana soukromí",
+ "page-apps-category-privacy-description": "Soukromí je kategorie decentralizovaných aplikací, které uživatelům umožňují zachovat si soukromí.",
+ "page-apps-category-privacy-meta-title": "Aplikace pro soukromí na Ethereu: tornado cash a další",
+ "page-apps-category-privacy-meta-description": "Prozkoumejte aplikace pro soukromí na Ethereu, jako je tornado cash a další, které chrání anonymitu uživatelů, umožňují soukromé transakce a zvyšují úroveň důvěrnosti na blockchainu.",
+ "page-apps-category-dao-name": "DAO",
+ "page-apps-category-dao-description": "DAO je kategorie decentralizovaných aplikací, které uživatelům umožňují řídit a vytvářet decentralizované autonomní organizace.",
+ "page-apps-category-dao-meta-title": "Seznam DAO nástrojů na Ethereu",
+ "page-apps-category-dao-meta-description": "Objevte nejlepší DAO nástroje na Ethereu pro správu governance, řízení treasury, hlasování a koordinaci contributorů. Spusťte, spravujte a rozvíjejte svou decentralizovanou organizaci.",
+ "page-apps-see-all": "Zobrazit vše",
+ "page-apps-suggest-an-app-title": "Navrhnout aplikaci",
+ "page-apps-suggest-an-app-description": "Stále hledáme nové aplikace, které bychom mohli přidat do našeho seznamu. Pokud víte o aplikaci, která by tam podle vás měla být, dejte nám prosím vědět.",
+ "page-apps-suggest-an-app-button": "Navrhnout aplikaci",
+ "page-apps-filter-by": "Filtrovat podle",
+ "page-apps-filter-all": "Vše",
+ "page-apps-showing": "Zobrazeno",
+ "page-apps-visit-app": "Navštívit {appName}",
+ "page-apps-see-next": "Zobrazit další",
+ "page-apps-info-title": "Informace",
+ "page-apps-info-founded": "Založeno",
+ "page-apps-info-creator": "Tvůrce",
+ "page-apps-info-last-updated": "Naposledy aktualizováno",
+ "page-apps-gallery-title": "Galerie",
+ "page-apps-more-apps-like-this": "Další podobné aplikace",
+ "page-apps-today": "Dnes",
+ "page-apps-one-day-ago": "Před 1 dnem",
+ "page-apps-days-ago": "Před {days} dny"
+}
\ No newline at end of file
diff --git a/src/intl/cs/page-assets.json b/src/intl/cs/page-assets.json
new file mode 100644
index 00000000000..29d892d9822
--- /dev/null
+++ b/src/intl/cs/page-assets.json
@@ -0,0 +1,61 @@
+{
+ "page-assets-bazaar": "Ethereum bazaar",
+ "page-assets-beacon-chain": "Řetězová vazba",
+ "page-assets-blocks": "Stavební bloky",
+ "page-assets-dao": "DAO",
+ "page-assets-defi": "DeFi",
+ "page-assets-merge": "Sloučení",
+ "page-assets-doge": "Doge používá dApps",
+ "page-assets-download-artist": "Umělec:",
+ "page-assets-download-download": "Stáhnout",
+ "page-assets-enterprise": "Ethereum pro firmy",
+ "page-assets-eth": "Ether (ETH)",
+ "page-assets-eth-diamond-color": "ETH diamant (barva)",
+ "page-assets-eth-diamond-glyph": "ETH diamant (glyf)",
+ "page-assets-eth-diamond-gray": "ETH diamant (šedý)",
+ "page-assets-eth-diamond-purple": "ETH diamant (fialový)",
+ "page-assets-eth-diamond-white": "ETH diamant (bílý)",
+ "page-assets-eth-diamond-colored": "ETH diamant (vyplněný barvou)",
+ "page-assets-eth-diamond-colored-svg": "ETH diamant (vyplněný barvou, SVG)",
+ "page-assets-eth-glyph-video-dark": "ETH glyf video (tmavé)",
+ "page-assets-eth-glyph-video-light": "ETH glyf video (světlé)",
+ "page-assets-eth-logo-landscape-gray": "Logo ETH na šířku (šedé)",
+ "page-assets-eth-logo-landscape-purple": "Logo ETH na šířku (fialové)",
+ "page-assets-eth-logo-landscape-white": "Logo ETH na šířku (bílé)",
+ "page-assets-eth-logo-portrait-gray": "Logo ETH na výšku (šedé)",
+ "page-assets-eth-logo-portrait-purple": "Logo ETH na výšku (fialové)",
+ "page-assets-eth-logo-portrait-white": "Logo ETH na výšku (bílé)",
+ "page-assets-eth-wordmark-gray": "ETH text (šedý)",
+ "page-assets-eth-wordmark-purple": "ETH text (fialový)",
+ "page-assets-eth-wordmark-white": "ETH text (bílý)",
+ "page-assets-ethereum-brand-assets": "Aktiva značky Ethereum",
+ "page-assets-finance": "Finance",
+ "page-assets-future": "Budoucnost",
+ "page-assets-h1": "Aktiva ethereum.org",
+ "page-assets-hero": "hrdina ethereum.org",
+ "page-assets-hero-panda": "ethereum.org hero with merge panda",
+ "page-assets-merge-panda": "Sloučit panda",
+ "page-assets-merge-panda-svg": "Sloučit panda",
+ "page-assets-hero-particles": "Obrázek částic ETH",
+ "page-assets-historical-artwork": "Historické dílo",
+ "page-assets-illustrations": "Ilustrace",
+ "page-assets-impact": "Dopad",
+ "page-assets-infrastructure": "Infrastruktura",
+ "page-assets-leslie-the-rhino": "Leslie rína",
+ "page-assets-meta-desc": "Prozkoumejte a stáhněte si Ethereum a ethreum.com značku, ilustrace a média.",
+ "page-assets-meta-title": "Aktiva značky Ethereum",
+ "page-assets-mainnet": "Mainnet",
+ "page-assets-page-assets-solid-background": "Plné pozadí",
+ "page-assets-page-assets-transparent-background": "Průhledné pozadí",
+ "page-assets-robot": "Robotická peněženka",
+ "page-assets-sharding": "Tříštění",
+ "page-assets-hackathon": "Hackathon",
+ "page-assets-learn-hero-name": "Futuristická univerzita",
+ "page-assets-community-hero-name": "Komunitní setkání",
+ "page-assets-quizzes-hero-name": "Nekonečné hřiště",
+ "page-assets-developers-hero-name": "Budování budoucnosti",
+ "page-assets-garden-name": "Zahrada Etherea",
+ "page-assets-roadmap-hero-name": "Cesty do budoucnosti",
+ "page-assets-layer-2-hero-name": "Budování Etherea",
+ "page-assets-guides-hero-name": "Ethereová laboratoř"
+}
diff --git a/src/intl/cs/page-bug-bounty.json b/src/intl/cs/page-bug-bounty.json
new file mode 100644
index 00000000000..183e21f277c
--- /dev/null
+++ b/src/intl/cs/page-bug-bounty.json
@@ -0,0 +1,169 @@
+{
+ "page-upgrades-bug-bounty-annotated-specs": "anotovaný spec",
+ "page-upgrades-bug-bounty-annotations": "Může být užitečné podívat se na následující vysvětlivky:",
+ "page-upgrades-bug-bounty-client-bugs": "Chyby klientů",
+ "page-upgrades-bug-bounty-client-bugs-desc": "Klienti provozují síť Ethereum a musí se řídit logikou stanovenou ve specifikaci a být zabezpečeni proti potenciálním útokům. Chyby, které chceme najít, se týkají implementace protokolu.",
+ "page-upgrades-bug-bounty-client-bugs-desc-2": "V současné době jsou klienti exekuční vrstvy (Besu, Erigon, Geth, Nethermind a Reth) a klienti konsensuální vrstvy (Lighthouse, Lodestar, Nimbus, Teku a Prysm) zahrnuti do programu odměn za nalezení chyb (Bug Bounty Program). Další klienti mohou být přidáni po dokončení auditů a přípravě k produkčnímu nasazení.",
+ "page-upgrades-bug-bounty-clients": "Klienti uvedení v odměnách",
+ "page-upgrades-bug-bounty-clients-type-1": "Specifikace nedodržení závady",
+ "page-upgrades-bug-bounty-clients-type-2": "Neočekávané pády, RCE (vzdálené spuštění kódu) nebo zranitelnosti typu odepření služby (DoS)",
+ "page-upgrades-bug-bounty-clients-type-3": "Veškeré problémy způsobující neopravitelný konsensus se dělí od zbytku sítě",
+ "page-upgrades-bug-bounty-misc-bugs": "Chyby v překladačích jazyka",
+ "page-upgrades-bug-bounty-misc-bugs-desc": "Překladače Solidity a Vyper jsou součástí programu odměn za nalezení chyb. Uveďte prosím všechny podrobnosti potřebné k reprodukci zranitelnosti, jako jsou: vstupní program, který chybu spouští, verze dotčeného překladače, cílová verze EVM, případně framework/IDE, případně prostředí pro spuštění/klienta EVM a operační systém. Popište prosím co nejpodrobněji kroky k reprodukci chyby, kterou jste nalezli.",
+ "page-upgrades-bug-bounty-misc-bugs-desc-2": "Solidity a Vyper neposkytují bezpečnostní záruky ohledně kompilace nedůvěryhodného vstupu – a neposkytujeme odměny za pády překladače na škodlivě vygenerovaných datech.",
+ "page-upgrades-bug-bounty-deposit-bugs": "Chyby depozitního kontraktu",
+ "page-upgrades-bug-bounty-deposit-bugs-desc": "Specifikace a zdrojový kód depozitního kontraktu Beacon Chain jsou součástí programu odměn za nalezení chyb.",
+ "page-upgrades-bug-bounty-deposit-contract-specs": "Specifikace depozitního kontraktu",
+ "page-upgrades-bug-bounty-deposit-contract-source": "Zdrojový kód depozitního kontraktu",
+ "page-upgrades-bug-bounty-dependency-bugs": "Chyby závislostí",
+ "page-upgrades-bug-bounty-dependency-bugs-desc": "Některé závislosti jsou pro fungování sítě Ethereum klíčové a některé z nich byly přidány do programu odměn za nalezení chyb. V současné době seznam závislostí zahrnutých do programu odměn za nalezení chyb obsahuje C-KZG-4844 a Go-KZG-4844.",
+ "page-upgrades-bug-bounty-docking": "sloučení",
+ "page-upgrades-bug-bounty-email-us": "Napište nám:",
+ "page-upgrades-bug-bounty-help-links": "Užitečné odkazy",
+ "page-upgrades-bug-bounty-hunting": "Pravidla pro hledání chyb",
+ "page-upgrades-bug-bounty-hunting-desc": "Program odměn za nalezení chyb je experimentální a diskreční program odměn pro naši aktivní komunitu Etherea, jehož cílem je povzbudit a odměnit ty, kteří pomáhají vylepšovat platformu. Nejedná se o soutěž. Měli byste vědět, že program můžeme kdykoli zrušit a odměny jsou udělovány na základě výhradního uvážení komise pro odměny za nalezení chyb nadace Ethereum. Kromě toho nemůžeme udělovat odměny jednotlivcům, kteří jsou na sankčních seznamech nebo se nacházejí v zemích na sankčních seznamech (např. Severní Korea, Írán atd.). Místní zákony vyžadují, abychom vás požádali o doklad totožnosti. Za veškeré daně nesete odpovědnost vy. Všechny odměny podléhají platným zákonům. A konečně, vaše testování nesmí porušovat žádné zákony ani ohrozit žádná data, která vám nepatří, a musí probíhat na lokálně spuštěných testovacích sítích.",
+ "page-upgrades-bug-bounty-hunting-leaderboard": "Žebříček odměn za nalezení chyb v konsensuální vrstvě",
+ "page-upgrades-bug-bounty-hunting-execution-leaderboard": "Žebříček odměn za nalezení chyb v exekuční vrstvě",
+ "page-upgrades-bug-bounty-hunting-leaderboard-subtitle": "Najděte chyby v konsensuální vrstvě a dostaňte se na tento žebříček",
+ "page-upgrades-bug-bounty-hunting-execution-leaderboard-subtitle": "Najděte chyby v exekuční vrstvě a dostaňte se na tento žebříček",
+ "page-upgrades-bug-bounty-hunting-li-1": "Problémy bez POC (důkazu konceptu), které již byly odeslány jiným uživatelem nebo jsou již známé správcům specifikací a klientů, nemají nárok na odměnu.",
+ "page-upgrades-bug-bounty-hunting-li-2": "Veřejné zveřejnění zranitelnosti nebo její nahlášení jiným stranám bez předchozí dohody způsobuje ztrátu nároku na odměnu.",
+ "page-upgrades-bug-bounty-hunting-li-3": "Zaměstnanci a dodavatelé nadace Ethereum nebo týmů klientů v rámci programu odměn se mohou programu účastnit pouze v rámci sbírání bodů a neobdrží peněžní odměny.",
+ "page-upgrades-bug-bounty-hunting-li-4": "Ethereum Bounty program zvažuje řadu proměnných v určení odměn. Vymezení způsobilosti, skóre a všech podmínek souvisejících s přidělením jsou podle vlastního a konečného uvážení Ethereum Foundation panelu odměn za chyby.",
+ "page-upgrades-bug-bounty-leaderboard": "Zobrazit celé žebříčky",
+ "page-upgrades-bug-bounty-leaderboard-list": "Žebříček odměn za nalezení chyb",
+ "page-upgrades-bug-bounty-leaderboard-points": "body",
+ "page-upgrades-bug-bounty-ledger-desc": "Specifikace Etherea podrobně popisují návrh exekuční a konsensuální vrstvy.",
+ "page-upgrades-bug-bounty-ledger-title": "Chyby ve specifikacích",
+ "page-upgrades-bug-bounty-meta-description": "Přehled programu odměn za nalezení chyb v Ethereu: jak se zapojit a informace o odměnách.",
+ "page-upgrades-bug-bounty-meta-title": "Program odměn za nalezení chyb v Ethereu",
+ "page-upgrades-bug-bounty-not-included": "Mimo rozsah",
+ "page-upgrades-bug-bounty-not-included-desc": "Součástí programu odměn za nalezení chyb jsou pouze cíle uvedené v sekci „V rozsahu“. Mezi zranitelnosti, které do programu nespadají, patří:",
+ "page-upgrades-bug-bounty-owasp": "Zobrazit OWASP metodu",
+ "page-upgrades-bug-bounty-points": "Nadace EF bude také poskytovat odměny na základě:",
+ "page-upgrades-bug-bounty-points-error": "Error načítání dat... prosím akutalizujte.",
+ "page-upgrades-bug-bounty-points-exchange": "Výměna bodů",
+ "page-upgrades-bug-bounty-points-loading": "Načítání dat...",
+ "page-upgrades-bug-bounty-points-payout-desc": "Ethereum Foundation vyplatí hodnotu USD v ETH nebo DAI.",
+ "page-upgrades-bug-bounty-points-point": "1 bod",
+ "page-upgrades-bug-bounty-points-rights-desc": "Ethereum Foundation si vyhrazuje právo toto změnit bez předchozího oznámení.",
+ "page-upgrades-bug-bounty-points-usd": "2 USD",
+ "page-upgrades-bug-bounty-quality": "Kvalita popisu",
+ "page-upgrades-bug-bounty-quality-desc": ": Vyšší odměny jsou placeny za jasné, dobře napsané podání.",
+ "page-upgrades-bug-bounty-quality-fix": "Kvalita opravy, pokud je zahrnuta: Vyšší odměny se vyplácejí za hlášení s jasným popisem, jak problém opravit.",
+ "page-upgrades-bug-bounty-quality-repro": "Kvalita reprodukovatelnosti",
+ "page-upgrades-bug-bounty-quality-repro-desc": ": Pro nárok na odměnu musí být přiložen důkaz konceptu (POC). Uveďte prosím testovací kód, skripty a podrobné pokyny. Čím snazší pro nás bude zranitelnost reprodukovat a ověřit, tím vyšší bude odměna.",
+ "page-upgrades-bug-bounty-questions": "Otázky?",
+ "page-upgrades-bug-bounty-rules": "Číst pravidla",
+ "page-upgrades-bug-bounty-slogan": "Program odměn za nalezení chyb",
+ "page-upgrades-bug-bounty-specs": "Specifikace konsensuální vrstvy",
+ "page-upgrades-bug-bounty-execution-specs": "Specifikace exekuční vrstvy",
+ "page-upgrades-bug-bounty-specs-docs": "Specifikační dokumenty",
+ "page-upgrades-bug-bounty-submit": "Odešlete chybu",
+ "page-upgrades-bug-bounty-submit-desc": "Za každou platnou chybu, kterou najdete, získáte odměnu. Výše odměny se bude lišit v závislosti na závažnosti. Závažnost se vypočítává podle modelu hodnocení rizik OWASP na základě dopadu na síť Ethereum a pravděpodobnosti.",
+ "page-upgrades-bug-bounty-subtitle": "Vydělejte si až 250 000 USD a místo na žebříčku za nalezení chyb v protokolu, klientovi a překladači jazyka, které ovlivňují síť Ethereum.",
+ "page-upgrades-bug-bounty-title": "Otevřené pro příspěvky",
+ "page-upgrades-bug-bounty-title-1": "Řetězová vazba",
+ "page-upgrades-bug-bounty-title-2": "Volba rozštěpení",
+ "page-upgrades-bug-bounty-title-3": "Smlouva o vkladech solidárních služeb",
+ "page-upgrades-bug-bounty-title-4": "Síť peer-to-peer",
+ "page-upgrades-bug-bounty-type-1": "Chyby bezpečnosti/definitivního poškození",
+ "page-upgrades-bug-bounty-type-2": "Vektory odmítnutí služby (DOS)",
+ "page-upgrades-bug-bounty-type-3": "Nesrovnalosti v předpokladech, jako jsou situace, kde lze poctivé ověřovatele zkrátit",
+ "page-upgrades-bug-bounty-type-4": "Nesrovnalosti výpočtů nebo parametrů",
+ "page-upgrades-bug-bounty-types": "Typy chyb",
+ "page-upgrades-bug-bounty-validity": "V rozsahu",
+ "page-upgrades-bug-bounty-validity-desc": "Náš program odměn za nalezení chyb pokrývá vše od začátku do konce: od spolehlivosti protokolů (jako je model konsensu blockchainu, protokoly pro přenos dat a P2P, proof of stake atd.) a souladu protokolu/implementace až po bezpečnost sítě a integritu konsensu. Součástí programu je také klasická bezpečnost klienta a bezpečnost kryptografických primitiv. V případě pochybností nám napište e-mail na adresu bounty@ethereum.org a zeptejte se nás. Zveřejnění/zranitelnost můžete také odeslat přímo na adresu bounty@ethereum.org. V takovém případě vás žádáme, abyste zprávu zašifrovali pomocí našeho klíče PGP.",
+ "page-upgrades-bug-bounty-card-critical": "Kritické",
+ "page-upgrades-bug-bounty-card-critical-risk": "Odeslat kritickou rizikovou chybu",
+ "page-upgrades-bug-bounty-card-h2": "Střední",
+ "page-upgrades-bug-bounty-card-high": "Vysoké",
+ "page-upgrades-bug-bounty-card-high-risk": "Odeslat vysoce kritickou chybu",
+ "page-upgrades-bug-bounty-card-label-1": "Až 1000 bodů",
+ "page-upgrades-bug-bounty-card-label-2": "Až 2 000 USD",
+ "page-upgrades-bug-bounty-card-label-3": "Až do 5000 bodů",
+ "page-upgrades-bug-bounty-card-label-4": "Až 10 000 USD",
+ "page-upgrades-bug-bounty-card-label-5": "Až do 10000 bodů",
+ "page-upgrades-bug-bounty-card-label-6": "Až 50 000 USD",
+ "page-upgrades-bug-bounty-card-label-7": "Až do 25000 bodů",
+ "page-upgrades-bug-bounty-card-label-8": "Až 250 000 USD",
+ "page-upgrades-bug-bounty-card-li-1": "Nízky dopad, střední pravděpodobnost",
+ "page-upgrades-bug-bounty-card-li-2": "Střední dopad, nízká pravděpodobnost",
+ "page-upgrades-bug-bounty-card-li-3": "Vysoký dopad, nízká pravděpodobnost",
+ "page-upgrades-bug-bounty-card-li-4": "Střední dopad, střední pravděpodobnost",
+ "page-upgrades-bug-bounty-card-li-5": "Nízky dopad, vysoká pravděpodobnost",
+ "page-upgrades-bug-bounty-card-li-6": "Vysoký dopad, střední pravděpodobnost",
+ "page-upgrades-bug-bounty-card-li-7": "Střední dopad, vysoká pravděpodobnost",
+ "page-upgrades-bug-bounty-card-li-8": "Vysoký dopad, vysoká pravděpodobnost",
+ "page-upgrades-bug-bounty-card-low": "Nízká",
+ "page-upgrades-bug-bounty-card-low-risk": "Odeslat nízko rizikovou chybu",
+ "page-upgrades-bug-bounty-card-medium-risk": "Odeslat středně rizikovou chybu",
+ "page-upgrades-bug-bounty-card-subheader": "Závažnost",
+ "page-upgrades-bug-bounty-card-subheader-2": "Příklad",
+ "page-upgrades-bug-bounty-card-text": "Útočník může někdy umístit uzel do stavu, který způsobí, že upustí jeden z každých sto osvědčení vydané ověřovatelem",
+ "page-upgrades-bug-bounty-card-text-1": "Útočník může úspěšně provádět eklipse útoky na uzly s peer-ids s 4 předními nulovými bajty",
+ "page-upgrades-bug-bounty-card-text-2": "Útočník může úspěšně rozdělit velké části sítě a pro útočníka je triviální zranitelnost spustit.",
+ "page-upgrades-bug-bounty-card-text-3": "Útočník může úspěšně provést vzdálené spuštění kódu u většinového klienta a pro útočníka je triviální zranitelnost spustit.",
+ "page-upgrades-question-title": "Často kladené dotazy",
+ "bug-bounty-faq-q1-title": "Jak by mělo vypadat dobré hlášení o zranitelnosti?",
+ "bug-bounty-faq-q1-contentPreview": "Podívejte se na skutečný příklad kvalitního hlášení o zranitelnosti.",
+ "bug-bounty-faq-q1-content-1": "Popis: Vzdálené odepření služby pomocí nevalidovaných bloků",
+ "bug-bounty-faq-q1-content-2": "Scénář útoku: Útočník může posílat bloky, které mohou vyžadovat velké množství výpočtů (maximální limit transakčních poplatků), ale nemají žádný důkaz prací. Pokud útočník posílá bloky nepřetržitě, může vynutit 100% vytížení procesoru napadeného uzlu.",
+ "bug-bounty-faq-q1-content-3": "Dopad: Útočník může zneužít vytížení procesoru na vzdálených uzlech, což může vést k úplnému odepření služby (DoS).",
+ "bug-bounty-faq-q1-content-4": "Komponenty: Klient Go verze v0.6.8",
+ "bug-bounty-faq-q1-content-5": "Reprodukce: Odešlete na uzel Go blok, který obsahuje mnoho transakcí, ale nemá platný PoW.",
+ "bug-bounty-faq-q1-content-6": "Podrobnosti: Bloky se validují v metodě Process(Block, dontReact). Tato metoda provádí náročné úlohy náročné na procesor, jako je provádění transakcí (sm.ApplyDiff), a poté ověřuje důkaz prací (sm.ValidateBlock()). To umožňuje útočníkovi posílat bloky, které mohou vyžadovat velké množství výpočtů (maximální limit transakčních poplatků), ale nemají žádný důkaz prací. Pokud útočník posílá bloky nepřetržitě, může vynutit 100% vytížení procesoru napadeného uzlu.",
+ "bug-bounty-faq-q1-content-7": "Oprava: Obrátit pořadí kontrol.",
+ "bug-bounty-faq-q2-title": "Je program odměn za nalezení chyb časově omezený?",
+ "bug-bounty-faq-q2-contentPreview": "Ne.",
+ "bug-bounty-faq-q2-content-1": "V současné době není stanoveno žádné datum ukončení. Nejnovější zprávy najdete na blogu nadace Ethereum.",
+ "bug-bounty-faq-q3-title": "Jak se vyplácejí odměny?",
+ "bug-bounty-faq-q3-contentPreview": "Odměny se vyplácejí v ETH nebo DAI.",
+ "bug-bounty-faq-q3-content-1": "Odměny se vyplácejí v ETH nebo DAI po ověření hlášení, obvykle o několik dní později. Místní zákony vyžadují, abychom vás požádali o doklad totožnosti. Kromě toho budeme potřebovat vaši ETH adresu.",
+ "bug-bounty-faq-q4-title": "Mohu svou odměnu věnovat na charitu?",
+ "bug-bounty-faq-q4-contentPreview": "Ano!",
+ "bug-bounty-faq-q4-content-1": "Vaši odměnu můžeme věnovat zavedené charitativní organizaci podle vašeho výběru.",
+ "bug-bounty-faq-q5-title": "Nahlásil(a) jsem problém / zranitelnost, ale nedostal(a) jsem odpověď!",
+ "bug-bounty-faq-q5-contentPreview": "Počkejte prosím několik dní, než někdo na vaše hlášení odpoví.",
+ "bug-bounty-faq-q5-content-1": "Na hlášení se snažíme reagovat co nejrychleji. Pokud neobdržíte odpověď do jednoho nebo dvou dnů, neváhejte nám napsat na adresu bounty@ethereum.org.",
+ "bug-bounty-faq-q6-title": "Chci být anonymní / nechci, aby mé jméno bylo na žebříčku.",
+ "bug-bounty-faq-q6-contentPreview": "Můžete, ale může se stát, že nebudete mít nárok na odměnu.",
+ "bug-bounty-faq-q6-content-1": "Hlášení můžete podat anonymně nebo pod pseudonymem, ale nebudete mít nárok na odměny v ETH/DAI. Abyste měli nárok na odměny v ETH/DAI, požadujeme, aby vaše skutečné jméno a doklad totožnosti byly zaslány šifrovaně pomocí PGP na naší zabezpečené webové stránce našemu právnímu týmu v nadaci Ethereum, který je jediným kontrolorem dokumentace. Darování odměny na charitu nevyžaduje vaši totožnost.",
+ "bug-bounty-faq-q6-content-2": "Dejte nám prosím vědět, pokud si nepřejete, aby vaše jméno/přezdívka byly zobrazeny na žebříčku.",
+ "bug-bounty-faq-q7-title": "Co jsou to body v žebříčku?",
+ "bug-bounty-faq-q7-contentPreview": "Každé nalezené zranitelnosti / problému je přiřazeno skóre",
+ "bug-bounty-faq-q7-content-1": "Každé nalezené zranitelnosti / problému je přiřazeno skóre. Lovci odměn jsou v našem žebříčku seřazeni podle celkového počtu bodů.",
+ "bug-bounty-faq-q8-title": "Máte klíč PGP?",
+ "bug-bounty-faq-q8-contentPreview": "Ano. Rozbalte pro podrobnosti.",
+ "bug-bounty-faq-q8-content-1": "Použijte prosím AE96 ED96 9E47 9B00 84F3 E17F E88D 3334 FA5F 6A0A",
+ "bug-bounty-faq-q8-PGP-key": "Klíč PGP",
+ "page-upgrades-bug-bounty-severity-qualifications-title": "Kvalifikace závažnosti zranitelnosti",
+ "page-upgrades-bug-bounty-severity-qualifications-desc": "Závažnost se posuzuje na základě schopnosti objevené zranitelnosti provést následující:",
+ "page-upgrades-bug-bounty-severity-low-title": "Nízká závažnost",
+ "page-upgrades-bug-bounty-severity-low-li-1": "Provést slashing 0,01 % validátorů",
+ "page-upgrades-bug-bounty-severity-low-li-2": "Triviálně způsobit rozdělení sítě ovlivňující 0,01 % sítě",
+ "page-upgrades-bug-bounty-severity-low-li-3": "Být schopen shodit 0,01 % sítě odesláním jediného síťového paketu nebo transakce na blockchainu",
+ "page-upgrades-bug-bounty-severity-medium-title": "Střední závažnost",
+ "page-upgrades-bug-bounty-severity-medium-li-1": "Provést slashing 1 % validátorů",
+ "page-upgrades-bug-bounty-severity-medium-li-2": "Triviálně způsobit rozdělení sítě ovlivňující 5 % sítě",
+ "page-upgrades-bug-bounty-severity-medium-li-3": "Být schopen shodit 5 % sítě odesláním jediného síťového paketu nebo transakce na blockchainu",
+ "page-upgrades-bug-bounty-severity-high-title": "Vysoká závažnost",
+ "page-upgrades-bug-bounty-severity-high-li-1": "Provést slashing 33 % validátorů",
+ "page-upgrades-bug-bounty-severity-high-li-2": "Triviálně způsobit rozdělení sítě ovlivňující 33 % sítě",
+ "page-upgrades-bug-bounty-severity-high-li-3": "Být schopen shodit 33 % sítě odesláním jediného síťového paketu nebo transakce na blockchainu",
+ "page-upgrades-bug-bounty-severity-critical-title": "Kritická závažnost",
+ "page-upgrades-bug-bounty-severity-critical-li-1": "Provést slashing 50 % validátorů",
+ "page-upgrades-bug-bounty-severity-critical-li-2": "Využít chybu v EIP/specifikaci nebo klientovi k snadnému vytvoření nekonečného množství ETH, které je finalizováno sítí",
+ "page-upgrades-bug-bounty-severity-critical-li-3": "Ukrást ETH ze všech EOA",
+ "page-upgrades-bug-bounty-severity-critical-li-4": "Spálit ETH ze všech EOA",
+ "page-upgrades-bug-bounty-severity-critical-li-5": "Shodit celou síť odesláním jediné škodlivé transakce na blockchainu, která způsobí pád všech klientů",
+ "page-upgrades-bug-bounty-out-of-scope-footnote": "Tyto obvykle nejsou zahrnuty, nicméně v takových případech můžeme pomoci kontaktovat dotčené strany, jako jsou autoři nebo burzy",
+ "page-upgrades-bug-bounty-not-included-li-1": "Chyby infrastruktury – jako jsou webové stránky, DNS, e-mail atd.",
+ "page-upgrades-bug-bounty-not-included-li-2": "Chyby kontraktů ERC-20",
+ "page-upgrades-bug-bounty-not-included-li-3": "Chyby Ethereum Naming Service (ENS) (spravované nadací ENS)",
+ "page-upgrades-bug-bounty-not-included-li-4": "Zranitelnosti vyžadující, aby uživatel veřejně zpřístupnil API, jako je JSON-RPC nebo Beacon API",
+ "page-upgrades-bug-bounty-not-included-li-5": "Typografické chyby",
+ "page-upgrades-bug-bounty-not-included-li-6": "Testy",
+ "page-upgrades-bug-bounty-not-included-li-7": "Útoky DoS na jednoho peera, které vyžadují velké úsilí (trvalé, náročné na CPU nebo šířku pásma a/nebo vyžadují více než 1 paket nebo transakci na blockchainu)",
+ "page-upgrades-bug-bounty-not-included-li-8": "Jakékoli veřejně známé problémy (zahrnuje příspěvky na fóru, PR, problémy na GitHubu, commity, blogové příspěvky, veřejné zprávy na Discordu atd.)"
+}
diff --git a/src/intl/cs/page-collectibles.json b/src/intl/cs/page-collectibles.json
new file mode 100644
index 00000000000..22bec37b7f2
--- /dev/null
+++ b/src/intl/cs/page-collectibles.json
@@ -0,0 +1,67 @@
+{
+ "page-collectibles-already-desc": "Zkontrolujte svůj postup",
+ "page-collectibles-already-title": "Už jste přispěvatelem?",
+ "page-collectibles-code-content-desc": "Opravujte problémy, pište nebo vylepšujte články nebo navrhujte vylepšení designu webových stránek.",
+ "page-collectibles-code-content-design-1issue": "Odznak za vyřešený problém s designem",
+ "page-collectibles-code-content-design-desc": "Provádějte designové kritiky, vylepšujte náš systém designu nebo se zúčastněte uživatelského testování.",
+ "page-collectibles-code-content-design-title": "Design",
+ "page-collectibles-code-content-design-user-testing": "Odznak za účast na uživatelském testování",
+ "page-collectibles-code-content-developer-10pr": "Odznak za 10 sloučených PR",
+ "page-collectibles-code-content-developer-1pr": "Odznak za 1 sloučený PR",
+ "page-collectibles-code-content-developer-5pr": "Odznak za 5 sloučených PR",
+ "page-collectibles-code-content-developer-desc": "Jakékoli vylepšení sloučené do webových stránek.",
+ "page-collectibles-code-content-developer-title": "Vývojář",
+ "page-collectibles-code-content-gitpoap-1pr": "Odznak za sloučený PR",
+ "page-collectibles-code-content-gitpoap-desc": "Automaticky nárokovatelné po sloučení vašeho PR.",
+ "page-collectibles-code-content-gitpoap-title": "GitPOAP",
+ "page-collectibles-code-content-instructions-1": "Přejděte do našeho úložiště na GitHubu",
+ "page-collectibles-code-content-instructions-2": "Vyberte problém, na kterém chcete pracovat",
+ "page-collectibles-code-content-instructions-3": "Vytvořte commit s opravou nebo vylepšením",
+ "page-collectibles-code-content-title": "Kód a obsah",
+ "page-collectibles-code-content-writing-badge-1": "Odznak za příspěvek k obsahu",
+ "page-collectibles-code-content-writing-desc": "Za jakékoli vylepšení obsahu sloučené do hlavní větve (master).",
+ "page-collectibles-code-content-writing-title": "Psaní",
+ "page-collectibles-connect-wallet": "Připojit peněženku",
+ "page-collectibles-contributing-since": "Přispívá od",
+ "page-collectibles-contributor-img-alt": "Dva přispěvatelé si povídají",
+ "page-collectibles-contributor-progress-label": "Získáno",
+ "page-collectibles-current-year-title": "Aktuální rok",
+ "page-collectibles-get-started": "Začínáme",
+ "page-collectibles-hero-description": "Dokažte, že jste pracovali na ethereum.org, na blockchainu.",
+ "page-collectibles-hero-header": "Sběratelské předměty ethereum.org",
+ "page-collectibles-hero-title": "Odznaky",
+ "page-collectibles-how-step1-desc": "na webové stránky",
+ "page-collectibles-how-step1-title": "Přispět",
+ "page-collectibles-how-step2-desc": "na Discordu",
+ "page-collectibles-how-step2-title": "Nechte se ověřit",
+ "page-collectibles-how-step3-desc": "na Galxe",
+ "page-collectibles-how-step3-title": "Nárokovat NFT",
+ "page-collectibles-how-title": "Jak to funguje",
+ "page-collectibles-improve-desc-1": "Získejte jedinečné NFT tím, že pomůžete udržovat a rozšiřovat webové stránky ethereum.org. Tyto odznaky uznávají vaši účast na blockchainu.",
+ "page-collectibles-improve-desc-2": "Nejlepší držitelé získají dárkové předměty pro přispěvatele nebo zlevněné vstupenky na akce, jako je Devcon. Vaše odznaky na blockchainu usnadňují ostatním, aby vás podpořili.",
+ "page-collectibles-improve-title": "Vylepšete ethereum.org",
+ "page-collectibles-index-frequency": "Výsledky se aktualizují jednou denně v 15:15 UTC",
+ "page-collectibles-instructions-label": "Pokyny",
+ "page-collectibles-previous-years-badge-count": "{count, plural, =0 {žádné odznaky} =1 {1 odznak} other {# odznaků}}",
+ "page-collectibles-previous-years-collectors-count": "{count, plural, =0 {žádní sběratelé} =1 {1 sběratel} other {# sběratelů}}",
+ "page-collectibles-previous-years-no-badges": "Žádné odznaky nebyly vyraženy",
+ "page-collectibles-previous-years": "Předchozí roky",
+ "page-collectibles-social-desc": "Připojte se k některému z našich hovorů na Discordu, abyste otestovali webové stránky na chyby před vydáním, nebo sledujte novinky z ethereum.org na našich měsíčních komunitních hovorech.",
+ "page-collectibles-social-instructions-1": "Připojte se k našemu Discord serveru",
+ "page-collectibles-social-instructions-2": "Zobrazit rozvrh",
+ "page-collectibles-social-instructions-3": "Připojte se!",
+ "page-collectibles-social-title": "Sociální",
+ "page-collectibles-stats-collectors": "Sběratelé",
+ "page-collectibles-stats-minted": "Vyraženo",
+ "page-collectibles-stats-unique-badges": "Jedinečné odznaky",
+ "page-collectibles-translations-1000": "Odznak za 1 000 slov",
+ "page-collectibles-translations-10000": "Odznak za 10 000 slov",
+ "page-collectibles-translations-250": "Odznak za 250 slov",
+ "page-collectibles-translations-50000": "Odznak za 50 000 slov",
+ "page-collectibles-translations-badge-desc": "Do jakéhokoli jazyka.",
+ "page-collectibles-translations-desc": "Většina uživatelů nemluví anglicky, proto je klíčové pomoci s překladem našich článků do jiných jazyků. Zkušenosti s překladem nejsou potřeba.",
+ "page-collectibles-translations-instructions-1": "Zaregistrujte se na Crowdinu",
+ "page-collectibles-translations-instructions-2": "Vyberte jazyk",
+ "page-collectibles-translations-instructions-3": "Začněte překládat",
+ "page-collectibles-translations-title": "Překlady"
+}
diff --git a/src/intl/cs/page-community-events.json b/src/intl/cs/page-community-events.json
index a554e0a452c..35fe8c00ea9 100644
--- a/src/intl/cs/page-community-events.json
+++ b/src/intl/cs/page-community-events.json
@@ -75,7 +75,6 @@
"page-events-tag-hackathon": "Hackathon",
"page-events-tag-meetup": "Setkání",
"page-events-tag-popup": "Popup",
- "page-events-tag-regional": "Regionální",
"page-events-tag-group": "Skupina",
"page-events-tag-other": "Ostatní",
"page-events-tag-cowork": "Co-working",
diff --git a/src/intl/cs/page-community.json b/src/intl/cs/page-community.json
index 26ce2791f93..98f7b92ea28 100644
--- a/src/intl/cs/page-community.json
+++ b/src/intl/cs/page-community.json
@@ -7,16 +7,19 @@
"page-community-card-3-description": "Podívejte se na seznam způsobů, jak se zapojit na základě svých dovedností a profesního zázemí.",
"page-community-card-4-title": "Vyhledávání grantů",
"page-community-card-4-description": "K dispozici jsou finanční granty, které vám pomohou rozjet projekt.",
+ "page-community-community-hub-list-h3": "Komunitní centrum",
+ "page-community-community-hub-list-cta-label-1": "Registrace do co-workingu",
+ "page-community-community-hub-list-cta-label-2": "Setkání",
"page-community-contribute": "Přispět na ethereum.org",
"page-community-contribute-button": "Více o přispívání",
"page-community-contribute-description": "Pro mnoho lidí je ethereum.org prvním krokem do ekosystému. O jeho aktuálnost a přesnost se starají tisíce open-source přispěvatelů. Chcete pomáhat? Přečtěte si našeho průvodce přispíváním nebo se ujměte problému na našem GitHubu.",
"page-community-contribute-secondary-button": "Zobrazit na GitHubu",
"page-community-daos-callout-title": "Decentralizované autonomní organizace (DAO)",
"page-community-daos-callout-description": "Tyto skupiny využívají technologii Etherea k usnadnění organizace a spolupráce. Například pro ovládání členství, hlasování o návrzích nebo správu sdružených aktiv.",
- "page-community-explore-dapps": "Prozkoumejte dapps",
- "page-community-explore-dapps-alt": "Prozkoumejte dapps",
+ "page-community-explore-dapps": "Prozkoumat dappky",
+ "page-community-explore-dapps-alt": "Prozkoumat dappky",
"page-community-explore-dapps-description": "Dappky jsou aplikace postavené na Ethereu. Dappky narušují současné obchodní modely a vymýšlejí nové.",
- "page-community-explore-dapps-title": "Zkuste dapps",
+ "page-community-explore-dapps-title": "Vyzkoušejte dappky",
"page-community-explore-grants": "Prozkoumat granty",
"page-community-find-a-job": "Najít práci",
"page-community-get-eth": "Získat ETH",
@@ -32,12 +35,12 @@
"page-community-hero-title": "Připojte se ke komunitě",
"page-community-meetuplist-no-meetups": "Nemáme žádná setkání, která by odpovídala tomuto vyhledávání. Víte o nějakém?",
"page-community-meta-title": "Komunitní centrum",
- "page-community-meta-description": "Popis domovské stránky komunity",
+ "page-community-meta-description": "Komunitní centrum pro ekosystém Etherea",
"page-community-open-source": "Tvůrce? Stavitel? Dostaňte za svou práci zaplaceno.",
"page-community-open-source-description": "Stavíte nebo chcete stavět na Ethereu? Firmy nabírají zaměstnance na tisíce technických i netechnických pozic. Máte vlastní nápad? Zkuste najít grant na rozjezd svého projektu.",
"page-community-open-source-image-alt": "Dostaňte za svou práci zaplaceno",
"page-community-please-add-to-page": "Přidejte to prosím k této stránce!",
- "page-community-support": "Ethereum podpora",
+ "page-community-support": "Podpora pro Ethereum",
"page-community-support-alt": "Podpora",
"page-community-support-button": "Získat pomoc",
"page-community-support-description": "Potřebujete pomoc? Neexistuje žádná oficiální podpora pro Ethereum, ale k dispozici jsou stovky užitečných komunit, které vám pomohou s Ethereem prosperovat.",
diff --git a/src/intl/cs/page-contributing-translation-program-acknowledgements.json b/src/intl/cs/page-contributing-translation-program-acknowledgements.json
index d3836f7bc86..4c31a8c2e0f 100644
--- a/src/intl/cs/page-contributing-translation-program-acknowledgements.json
+++ b/src/intl/cs/page-contributing-translation-program-acknowledgements.json
@@ -26,6 +26,7 @@
"page-contributing-translation-program-acknowledgements-translation-leaderboard-show-less": "Zobrazit méně",
"page-contributing-translation-program-acknowledgements-translation-leaderboard-show-more": "Zobrazit více",
"page-contributing-translation-program-acknowledgements-translator": "Překladatel",
+ "page-contributing-translation-program-acknowledgements-language": "Jazyk",
"page-contributing-translation-program-acknowledgements-total-words": "Celkem slov",
"page-contributing-translation-program-acknowledgements-oats-title": "OAT",
"page-contributing-translation-program-acknowledgements-1": "Přispěvatelé do překladatelského programu mají nárok na různé OAT tokeny (onchain achievement token) – nezaměnitelné tokeny, které prokazují jejich účast v překladatelském programu ethereum.org.",
@@ -33,7 +34,7 @@
"page-contributing-translation-program-acknowledgements-3": "Pokud jste přispěli k překladu v Crowdinu, čeká na vás OAT!",
"page-contributing-translation-program-acknowledgements-how-to-claim-title": "Jak vyzvednout",
"page-contributing-translation-program-acknowledgements-how-to-claim-1": "Připojte se k našemu",
- "page-contributing-translation-program-acknowledgements-how-to-claim-1-discord": "Discord server",
+ "page-contributing-translation-program-acknowledgements-how-to-claim-1-discord": "Discordový server",
"page-contributing-translation-program-acknowledgements-how-to-claim-2": "Do kanálu #🥇 | proof-of-contribution vložte odkaz na svůj Crowdin účet.",
"page-contributing-translation-program-acknowledgements-how-to-claim-3": "Počkejte, až vám člen našeho týmu přidělí role potřebné k uplatnění nároku na OATy.",
"page-contributing-translation-program-acknowledgements-how-to-claim-4": "Vyzvedněte si své OATy!",
diff --git a/src/intl/cs/page-developers-docs.json b/src/intl/cs/page-developers-docs.json
index 231544eecaa..cad1593675f 100644
--- a/src/intl/cs/page-developers-docs.json
+++ b/src/intl/cs/page-developers-docs.json
@@ -6,7 +6,7 @@
"docs-nav-block-explorers": "Prohlížeče bloků",
"docs-nav-blocks": "Bloky",
"docs-nav-blocks-description": "Způsob, kterým se dávkují transakce k zajištění synchronizace stavu mezi všemi účastníky",
- "docs-nav-bridges": "Mosty",
+ "docs-nav-bridges": "Přemostění",
"docs-nav-bridges-description": "Přehled přemostění pro vývojáře",
"docs-nav-compiling-smart-contracts": "Kompilace chytrých kontraktů",
"docs-nav-composability": "Složitelnost",
@@ -16,6 +16,7 @@
"docs-nav-weak-subjectivity": "Slabá subjektivita",
"docs-nav-attestations": "Atestace",
"docs-nav-keys": "Klíče",
+ "docs-nav-withdrawal-credentials": "Pověření k výběru",
"docs-nav-block-proposal": "Návrh bloku",
"docs-nav-data-and-analytics": "Data a analytika",
"docs-nav-data-and-analytics-description": "Jak jsou data blockchainu agregována, organizována a implementována do dappek",
@@ -67,6 +68,7 @@
"docs-nav-mev-description": "Jak se z blockchainu Etherea získává hodnota nad rámec blokové odměny",
"docs-nav-mining": "Těžba",
"docs-nav-mining-algorithms": "Těžební algoritmy",
+ "docs-nav-dagger-hashimoto": "Dagger-Hashimoto",
"docs-nav-ethash": "Ethash",
"docs-nav-networks": "Sítě",
"docs-nav-networks-description": "Implementace Etherea včetně testovacích sítí",
@@ -94,7 +96,7 @@
"docs-nav-scaling-optimistic-rollups": "Optimistický rollup",
"docs-nav-scaling-zk-rollups": "Rollupy s nulovým přístupem",
"docs-nav-scaling-channels": "Stavové kanály",
- "docs-nav-scaling-sidechains": "Sidechains",
+ "docs-nav-scaling-sidechains": "Postranní řetězce",
"docs-nav-scaling-plasma": "Plasma",
"docs-nav-scaling-validium": "Validium",
"docs-nav-smart-contract-security": "Bezpečnost chytrých kontraktů",
@@ -115,6 +117,7 @@
"docs-nav-transactions": "Transakce",
"docs-nav-transactions-description": "Převody a další akce, které způsobují změnu stavu Etherea",
"docs-nav-upgrading-smart-contracts": "Vylepšení chytrých kontraktů",
+ "docs-nav-naming-smart-contracts": "Pojmenování chytrých kontraktů",
"docs-nav-verifying-smart-contracts": "Ověřování chytrých kontraktů",
"docs-nav-web2-vs-web3": "Web2 vs. Web3",
"docs-nav-web2-vs-web3-description": "Zásadní rozdíly, které aplikace založené na blockchainu poskytují",
diff --git a/src/intl/cs/page-developers-index.json b/src/intl/cs/page-developers-index.json
index d17993ef841..51f612d8978 100644
--- a/src/intl/cs/page-developers-index.json
+++ b/src/intl/cs/page-developers-index.json
@@ -1,38 +1,27 @@
{
"page-developer-meta-title": "Zdroje pro vývojáře platformy Ethereum",
- "page-developers-about": "Informace k těmto zdrojům pro vývojáře",
- "page-developers-about-desc": "Web ethereum.org ti nabízí pomoc při budování na platformě Ethereum prostřednictvím dokumentace základních konceptů a sady nástrojů pro vývoj. Kromě toho jsou zde výukové programy, které ti mají usnadnit rozjezd.",
- "page-developers-about-desc-2": "Inspirováni vývojářskou sítí Mozilla jsme cítili, že Ethereum potřebuje místo pro soustředění skvělého obsahu a zdrojů od vývojářů. Stejně jako to dělají naši přátelé v Mozille, vše je zde open-source a připraveno, abys to rozšířil(a) nebo vylepšil(a).",
"page-developers-account-desc": "Kontrakty nebo lidé na síti",
"page-developers-accounts-link": "Účty",
- "page-developers-advanced": "Další",
"page-developers-api-desc": "Používání knihoven pro komunikaci s chytrými kontrakty",
"page-developers-api-link": "Backendová API",
"page-developers-block-desc": "Dávky transakcí přidané do blockchainu",
"page-developers-block-explorers-desc": "Brána k datům v síti Ethereum",
"page-developers-block-explorers-link": "Prohlížeče bloků",
"page-developers-blocks-link": "Bloky",
- "page-developers-browse-tutorials": "Procházet výukové programy",
- "page-developers-choose-stack": "Vybrat sadu nástrojů",
- "page-developers-contribute": "Přispět",
"page-developers-dev-env-desc": "Vývojová prostředí (IDE) vhodná pro vývoj dappek",
"page-developers-dev-env-link": "Vývojová prostředí",
- "page-developers-discord": "Připoj se k serveru Discord.",
"page-developers-docs-introductions": "Úvod",
"page-developers-evm-desc": "Počítač, který zpracovává transakce",
"page-developers-evm-link": "Virtuální stroj Etherea (EVM)",
"page-developers-explore-documentation": "Prozkoumej dokumentaci.",
- "page-developers-feedback": "Pokud máš nějakou zpětnou vazbu, kontaktuj nás prostřednictvím GitHub v sekci Issues nebo na našem serveru Discord.",
"page-developers-frameworks-desc": "Nástroje pro urychlení vývoje",
"page-developers-frameworks-link": "Vývojářské rámce",
"page-developers-fundamentals": "Základy",
"page-developers-gas-desc": "Ether nezbytný k pohánění transakcí",
"page-developers-gas-link": "Palivo",
- "page-developers-get-started": "Čím byste chtěli začít?",
- "page-developers-improve-ethereum": "Pomoz nám ethereum.org vylepšit.",
- "page-developers-improve-ethereum-desc": "Stejně jako web ethereum.org jsou tyto dokumenty výsledkem práce komunity. Pokud vidíte chyby, prostor pro vylepšení nebo nové možnosti, jak pomoci vývojářům platformy Ethereum, vytvořte PR (pull request – žádost o změnu).",
+ "page-developers-get-started": "Co chcete dnes vytvořit?",
"page-developers-into-eth-desc": "Seznámení s blockchainem a platformou Ethereum",
- "page-developers-intro-ether-desc": "Úvod do kryptoměn a měny Ether",
+ "page-developers-intro-ether-desc": "Seznámení s kryptoměnami a měnou Ether",
"page-developers-intro-dapps-desc": "Seznámení s decentralizovanými aplikacemi",
"page-developers-intro-dapps-link": "Úvod k dappkám",
"page-developers-intro-eth-link": "Úvod k platformě Ethereum",
@@ -41,6 +30,7 @@
"page-developers-intro-stack-desc": "Seznámení se sadou nástrojů platformy Ethereum",
"page-developers-js-libraries-desc": "Použití JavaScriptu pro komunikaci s chytrými smlouvami",
"page-developers-js-libraries-link": "JavaScript knihovny",
+ "page-developers-jump-right-in-title": "Rychle nastartujte svůj nápad",
"page-developers-language-desc": "Používání Etherea s běžnými jazyky",
"page-developers-languages": "Programovací jazyky",
"page-developers-learn": "Pochopit vývoj na Ethereu",
@@ -49,41 +39,32 @@
"page-developers-learn-tutorials-cta": "Zobrazit výukové kurzy",
"page-developers-learn-tutorials-desc": "Nauč se, jak vyvíjet na Ethereu krok za krokem od tvůrců, kteří to již umí.",
"page-developers-meta-desc": "Dokumentace, výukové kurzy a nástroje pro vývojáře na platformě Ethereum.",
- "page-developers-mev-desc": "Úvod do maximální extrahovatelné hodnoty (MEV)",
- "page-developers-mev-link": "Maximální extrahovatelná hodnota (MEV)",
- "page-developers-mining-desc": "Jak se vytvářejí nové bloky a jak bylo dosaženo konsensu pomocí metody důkazu prací",
- "page-developers-mining-link": "Těžba",
- "page-developers-mining-algorithms-desc": "Informace o těžebních algoritmech pro Ethereum",
- "page-developers-mining-algorithms-link": "Těžební algoritmy",
- "page-developers-networks-desc": "Přehled o hlavní síti (mainnet) a zkušebních sítích (testnet)",
+ "page-developers-networks-desc": "Přehled hlavní sítě a testnetů",
"page-developers-networks-link": "Sítě",
"page-developers-node-clients-desc": "Jakým způsobem jsou v síti ověřovány bloky a transakce",
"page-developers-node-clients-link": " Uzly a klienty",
- "page-developers-oracle-desc": "Jak dostat data mimo blockchain do chytrých kontraktů",
- "page-developers-oracles-link": "Data oracle",
"page-developers-play-code": "Hrát si s kódem",
+ "page-developers-quickstart-scaffold-subtext": "Nastartujte svůj aplikační stack pro Ethereum během několika sekund.",
+ "page-developers-quickstart-scaffold-docs": "Přečtěte si Scaffold-ETH 2",
"page-developers-read-docs": "Přečíst dokumentaci",
- "page-developers-scaling-desc": "Řešení pro rychlejší transakce",
- "page-developers-scaling-link": "Škálování",
+ "page-developers-start-quest": "Zahájit úkol",
+ "page-developers-resources": "Zdroje",
"page-developers-smart-contract-security-desc": "Bezpečnostní opatření, na která je třeba dbát během vývoje chytrých kontraktů",
"page-developers-smart-contract-security-link": "Bezpečnost chytrých kontraktů",
- "page-developers-set-up": "Nastavit místní prostředí",
- "page-developers-setup-desc": "Připrav si svou sadu nástrojů nastavením vývojového prostředí.",
"page-developers-smart-contracts-desc": "Logika na pozadí dappek – smlouvy s automatizovaným prováděním",
"page-developers-smart-contracts-link": "Chytré kontrakty",
+ "page-developers-solidity-docs": "Přečtěte si dokumentaci k Solidity",
"page-developers-speedrunethereum-title": "Naučte se nejdůležitější koncepty během budování aplikací na Ethereu",
+ "page-developers-speedrunethereum-description": "Získejte mentorství od ostatních a naučte se spolupracovat s ostatními vývojáři.",
"page-developers-speedrunethereum-link": "SpeedRun Ethereum",
"page-developers-stack": "Sada nástrojů",
- "page-developers-start": "Začít experimentovat",
- "page-developers-start-desc": "Chceš nejdřív experimentovat a ptát se až potom?",
+ "page-developers-start": "Výzvy a mentorství",
"page-developers-storage-desc": "Jak pracovat s úložištěm dappek",
"page-developers-storage-link": "Úložiště",
- "page-developers-subtitle": "Návod pro tvůrce na platformě Ethereum. Od tvůrců, pro tvůrce.",
+ "page-developers-subtitle": "Příručka pro tvůrce na Ethereu. Vše, co potřebujete k vytvoření a škálování vaší aplikace na blockchainu.",
"page-developers-title-1": "Ethereum",
"page-developers-title-2": "vývojář",
"page-developers-title-3": "zdroje",
- "page-developers-token-standards-desc": "Přehled platných standardů pro tokeny",
- "page-developers-token-standards-link": "Standardy pro tokeny",
"page-developers-transactions-desc": "Způsob, kterým se mění stav sítě Ethereum",
"page-developers-transactions-link": "Transakce",
"page-developers-web3-desc": "Jak se liší vývoj ve světě web3",
@@ -95,5 +76,57 @@
"page-developers-data-structures-and-encoding-link": "Datové struktury a kódování",
"page-developers-data-structures-and-encoding-desc": "Úvod do datových struktur a schématu kódování používaných v Ethereum zásobníku",
"alt-eth-blocks": "Obrázek bloků sestavených jako symbol ETH",
- "page-assets-doge": "Doge používá dApps"
+ "page-assets-doge": "Doge používá dApps",
+ "page-developers-build-section-desc": "Vše, co potřebujete, abyste se naučili a vytvořili své první aplikace na Ethereu",
+ "page-developers-resources-section-title": "Užitečné zdroje pro vývojáře",
+ "page-developers-get-help-title": "Získat pomoc",
+ "page-developers-get-help-desc": "Pokud jste se zasekli nebo potřebujete pomoci s řešením problémů, neváhejte požádat o radu.",
+ "page-developers-stack-exchange": "Stack Exchange",
+ "page-developers-ask-ai": "Zeptejte se AI",
+ "page-developers-resources-title": "Zdroje",
+ "page-developers-resources-desc": "Chcete nejdříve experimentovat a ptát se později? Prohlédněte si sandboxy, bootcampy atd.",
+ "page-developers-tutorials-title": "Návody",
+ "page-developers-tutorials-desc": "Nauč se, jak vyvíjet na Ethereu krok za krokem od tvůrců, kteří to již umí.",
+ "page-developers-video-courses-title": "Videokurzy",
+ "page-developers-video-courses-desc": "Chcete nastartovat svou profesionální kariéru v oblasti blockchainu? Tyto kurzy vás připraví na to, abyste se mohli nechat zaměstnat jako blockchainový vývojář.",
+ "page-developers-docs-section-desc": "Pochopte základní koncepty Etherea a blockchainů",
+ "page-developers-hackathons-title": "Připojte se k hackathonům",
+ "page-developers-hackathons-desc": "Hackathony jsou skvělou příležitostí k navazování kontaktů a učení se od ostatních, stejně jako k zahájení projektů a získávání cen.",
+ "page-developers-visit-ethglobal": "Navštivte EthGlobal",
+ "page-developers-founders-title": "Jste zakladatel?",
+ "page-developers-founders-desc": "Už máte nápad na projekt nebo pracujete na prototypu? Zjistěte, jak posunout váš projekt na další úroveň. Můžeme vás spojit s relevantními organizacemi a odborníky v oboru.",
+ "page-developers-get-in-touch": "Kontaktujte nás",
+ "page-developers-see-grant-options": "Zobrazit možnosti grantů",
+ "page-developers-speedrun-nft-alt": "Banner Speedrun Ethereum Tokenization",
+ "page-developers-speedrun-nft-title": "Tokenizace",
+ "page-developers-speedrun-nft-desc": "Vytvořte jedinečný token a naučte se základy scaffold-eth.",
+ "page-developers-skill-beginner": "Začátečník",
+ "page-developers-skill-intermediate": "Středně pokročilý",
+ "page-developers-skill-advanced": "Další",
+ "page-developers-speedrun-dex-alt": "Banner Speedrun Ethereum DEX",
+ "page-developers-speedrun-dex-title": "DEX",
+ "page-developers-speedrun-dex-desc": "Vytvořte jednoduchého automatizovaného tvůrce trhu, poskytněte likviditu a implementujte směny tokenů.",
+ "page-developers-speedrun-stablecoins-alt": "Banner Speedrun Ethereum Stablecoins",
+ "page-developers-speedrun-stablecoins-title": "Stabilní kryptoměny (stablecoins)",
+ "page-developers-speedrun-stablecoins-desc": "Vytvořte stabilní kryptoměnu a naučte se mechanismy stability a cenová orákula.",
+ "page-developers-course-duration": "hodinový kurz",
+ "page-developers-course-blockchain-basics-title": "Základy blockchainu",
+ "page-developers-course-blockchain-basics-desc": "Naučte se, jak fungují blockchainy a chytré kontrakty, vytvořte si peněženku a podepište svou první transakci.",
+ "page-developers-course-blockchain-basics-alt": "Banner kurzu Cyfrin Updraft Základy blockchainu",
+ "page-developers-course-solidity-title": "Vývoj chytrých kontraktů v Solidity",
+ "page-developers-course-solidity-desc": "Programování v Solidity je vaší branou k vývoji web3 v ekosystémech kompatibilních s Ethereem.",
+ "page-developers-course-solidity-alt": "Banner kurzu Cyfrin Updraft Vývoj chytrých kontraktů v Solidity",
+ "page-developers-course-foundry-fundamentals-title": "Základy Foundry",
+ "page-developers-course-foundry-fundamentals-desc": "Zlepšete své vývojářské dovednosti v Solidity pomocí Foundry a pokročilých konceptů a nástrojů pro vývoj web3.",
+ "page-developers-course-foundry-fundamentals-alt": "Banner kurzu Cyfrin Updraft Základy Foundry",
+ "page-developers-course-advanced-foundry-title": "Pokročilé Foundry",
+ "page-developers-course-advanced-foundry-desc": "Ovládněte techniky vývoje web3 pomocí Advanced Foundry pro vývoj chytrých kontraktů v Solidity.",
+ "page-developers-course-advanced-foundry-alt": "Banner kurzu Cyfrin Updraft Advanced Foundry",
+ "page-developers-course-security-title": "Bezpečnost chytrých kontraktů",
+ "page-developers-course-security-desc": "Nastartujte svou kariéru jako bezpečnostní výzkumník chytrých kontraktů! Naučte se auditování chytrých kontraktů a osvědčené postupy.",
+ "page-developers-course-security-alt": "Banner kurzu Cyfrin Updraft Základy blockchainu",
+ "page-developers-why-title": "Nechte si dobře zaplatit. Pracujte na dálku. Budujte budoucnost.",
+ "page-developers-why-subtitle": "Více než polovina kariér v oblasti blockchainu je primárně na dálku, přičemž některé odhady uvádějí toto číslo až na 70 %.",
+ "page-developers-why-avg-salary-dev": "Průměrný plat vývojáře",
+ "page-developers-why-avg-salary-blockchain": "Průměrný plat v odvětví blockchainu"
}
diff --git a/src/intl/cs/page-developers-learning-tools.json b/src/intl/cs/page-developers-learning-tools.json
new file mode 100644
index 00000000000..759c1e79930
--- /dev/null
+++ b/src/intl/cs/page-developers-learning-tools.json
@@ -0,0 +1,64 @@
+{
+ "page-learning-tools-bloomtech-description": "Kurz BloomTech Web3 vás naučí dovednostem, které zaměstnavatelé u inženýrů hledají.",
+ "page-learning-tools-bloomtech-logo-alt": "Logo BloomTech",
+ "page-learning-tools-bootcamps": "Vývojářské bootcampy",
+ "page-learning-tools-bootcamps-desc": "Bezplatné nebo placené online kurzy, které vás rychle uvedou do obrazu.",
+ "page-learning-tools-browse-docs": "Procházet dokumentaci",
+ "page-learning-tools-capture-the-ether-description": "Capture the Ether je hra, ve které se učíte o zabezpečení Etherea hackováním chytrých kontraktů.",
+ "page-learning-tools-capture-the-ether-logo-alt": "Logo Capture the Ether",
+ "page-learning-tools-node-guardians-description": "Node Guardians je gamifikovaná vzdělávací platforma, kde se web3 vývojáři setkají s úkoly s fantasy tématikou, které jim pomohou ovládnout programování v jazycích Solidity, Cairo, Noir a Huff.",
+ "page-learning-tools-node-guardians-logo-alt": "Logo Node Guardians",
+ "page-learning-tools-coding": "Učte se psaním kódu",
+ "page-learning-tools-coding-subtitle": "Tyto nástroje vám pomohou experimentovat s Ethereem, pokud dáváte přednost interaktivnějšímu vzdělávání.",
+ "page-learning-tools-consensys-academy-description": "On-line bootcamp pro vývojáře Etherea.",
+ "page-learning-tools-consensys-academy-logo-alt": "Logo ConsenSys Academy",
+ "page-learning-tools-cryptozombies-description": "Naučte se Solidity při vytváření vlastní zombie hry.",
+ "page-learning-tools-cryptozombies-logo-alt": "Logo CryptoZombies",
+ "page-learning-tools-dapp-world-description": "Ekosystém pro zvyšování kvalifikace blockchainu, včetně kurzů, kvízů, praktických cvičení a týdenních soutěží.",
+ "page-learning-tools-dapp-world-logo-alt": "Logo Dapp World",
+ "page-learning-tools-documentation": "Učte se pomocí dokumentace",
+ "page-learning-tools-documentation-desc": "Chcete se dozvědět více? Přejděte do naší dokumentace a najděte si vysvětlení, která potřebujete.",
+ "page-learning-tools-eth-dot-build-description": "Vzdělávací sandbox pro web3, včetně drag-and-drop programování a open-source stavebních bloků.",
+ "page-learning-tools-eth-dot-build-logo-alt": "Logo Eth.build",
+ "page-learning-tools-ethernauts-description": "Dokončete úrovně hackováním chytrých kontraktů.",
+ "page-learning-tools-ethernauts-logo-alt": "Logo Ethernauts",
+ "page-learning-tools-metaschool-description": "Staňte se vývojářem Web3 tím, že budete vytvářet a dodávat dappky.",
+ "page-learning-tools-metaschool-logo-alt": "_metaschool logo",
+ "page-learning-tools-game-tutorials": "Interaktivní vzdělávání hrou",
+ "page-learning-tools-game-tutorials-desc": "Učte se hrou. Tyto výukové kurzy vás provedou začátky, zatímco si budete hrát.",
+ "page-learning-tools-meta-desc": "Webové programovací nástroje a interaktivní získávání zkušeností, které vám pomohou experimentovat s vývojem na platformě Ethereum.",
+ "page-learning-tools-meta-title": "Vzdělávací nástroje pro vývojáře",
+ "page-learning-tools-atlas-logo-alt": "Logo Atlas",
+ "page-learning-tools-atlas-description": "Pište, testujte a publikujte chytré kontrakty během několika minut pomocí Atlas IDE.",
+ "page-learning-tools-questbook-description": "Tutoriály k Webu 3.0, kde vytváříte projekty vlastním tempem.",
+ "page-learning-tools-questbook-logo-alt": "Logo Questbook",
+ "page-learning-tools-remix-description": "Vyvíjejte, spouštějte a spravujte chytré kontrakty na Ethereu. Sledujte výukové kurzy s pluginem LearnEth.",
+ "page-learning-tools-remix-description-2": "Remix, Replit, ChainIDE a Atlas nejsou jen sandboxy – vývojáři v nich mohou psát, kompilovat a publikovat své chytré kontrakty.",
+ "page-learning-tools-replit-description": "Přizpůsobitelné vývojové prostředí pro Ethereum s okamžitým znovunačtením, kontrolou chyb a prvotřídní podporou testovací sítě.",
+ "page-learning-tools-chainIDE-description": "Začněte svou cestu na Web3 psaním chytrých kontraktů pro Ethereum pomocí ChainIDE. Používejte vestavěné šablony, díky kterým se naučíte a ušetříte čas.",
+ "page-learning-tools-chainIDE-logo-alt": "Logo ChainIDE",
+ "page-learning-tools-tenderly-description": "Tenderly Sandbox je prototypové prostředí, kde můžete psát, spouštět a ladit chytré kontrakty v prohlížeči pomocí programovacího jazyka Solidity a JavaScriptu.",
+ "page-learning-tools-tenderly-logo-alt": "Logo Tenderly",
+ "page-learning-tools-replit-logo-alt": "Logo Replit",
+ "page-learning-tools-remix-logo-alt": "Logo Remix",
+ "page-learning-tools-sandbox": "Kódové sandboxy",
+ "page-learning-tools-sandbox-desc": "Tyto sandboxy vám dají prostor k experimentování s psaním chytrých kontraktů a porozumění Ethereu.",
+ "page-learning-tools-speed-run-ethereum-description": "Speed Run Ethereum je sada výzev, které otestují vaše znalosti programovacího jazyka Solidity pomocí Scaffold-ETH",
+ "page-learning-tools-speed-run-ethereum-logo-alt": "Logo Speed Run Ethereum",
+ "page-learning-tools-studio-description": "Webové IDE, kde můžete sledovat návody k vytvoření a otestování chytrých kontraktů a vytvořit pro ně web.",
+ "page-learning-tools-vyperfun-description": "Naučte se Vyper tím, že vytvoříte vlastní hru s Pokémony.",
+ "page-learning-tools-vyperfun-logo-alt": "Logo Vyper.fun",
+ "page-learning-tools-nftschool-description": "Zjistěte, jak fungují NFT (nezaměnitelné tokeny) z technického hlediska.",
+ "page-learning-tools-nftschool-logo-alt": "Logo NFT school",
+ "page-learning-tools-platzi-description": "Naučte se vytvářet Web3 dappky a osvojte si všechny dovednosti potřebné pro blockchain vývojáře.",
+ "page-learning-tools-platzi-logo-alt": "Logo Platzi",
+ "page-learning-tools-alchemy-university-description": "Rozvíjejte svou kariéru v oblasti web3 prostřednictvím kurzů, projektů a kódu.",
+ "page-learning-tools-alchemy-university-logo-alt": "Logo Alchemy University",
+ "page-learning-tools-learnweb3-description": "LearnWeb3 je bezplatná, vysoce kvalitní vzdělávací platforma, která vám umožní stát se expertem v oblasti vývoje web3.",
+ "page-learning-tools-learnweb3-logo-alt": "Logo LearnWeb3",
+ "page-learning-tools-cyfrin-updraft-description": "Naučte se vyvíjet chytré kontrakty pro všechny dovednostní úrovně a bezpečnostní audity.",
+ "page-learning-tools-cyfrin-updraft-logo-alt": "Logo Cyfrin Updraft",
+ "page-learning-tools-price-free": "Zdarma",
+ "page-learning-tools-price-paid": "Placené",
+ "alt-eth-blocks": "Obrázek bloků sestavených jako symbol ETH"
+}
diff --git a/src/intl/cs/page-developers-local-environment.json b/src/intl/cs/page-developers-local-environment.json
new file mode 100644
index 00000000000..d6d8c566026
--- /dev/null
+++ b/src/intl/cs/page-developers-local-environment.json
@@ -0,0 +1,33 @@
+{
+ "page-local-environment-brownie-desc": "Vývoj a testovací rámec pro vývoj chytrých kontraktů pro Virtuální stroj Etherea v Pythonu.",
+ "page-local-environment-brownie-logo-alt": "Logo Brownie",
+ "page-local-environment-kurtosis-desc": "Kontejnerová sada nástrojů pro snadnou konfiguraci a vytvoření testovací sítě Ethereum pro více klientů pro rychlý lokální vývoj, prototypování a testování dappky.",
+ "page-local-environment-kurtosis-logo-alt": "Logo Kurtosis",
+ "page-local-environment-epirus-desc": "Platforma k vyvíjení, nasazení a monitorování aplikací pro blockchain v Java Virtual Machine.",
+ "page-local-environment-epirus-logo-alt": "Logo Espirus",
+ "page-local-environment-eth-app-desc": "Vytvořte aplikace pro Ethereum jedním příkazem. Můžete si vybrat ze široké nabídky UI frameworků a DeFi šablon.",
+ "page-local-environment-eth-app-logo-alt": "Logo Create Eth App",
+ "page-local-environment-foundry-desc": "Rychlá, přenosná a modulární sada nástrojů pro vývoj aplikací pro Ethereum napsaná v jazyce Rust.",
+ "page-local-environment-foundry-logo-alt": "Logo Foundry",
+ "page-local-environment-framework-feature-1": "Funkce ke spuštění vlastního lokálního blockchainu.",
+ "page-local-environment-framework-feature-2": "Nástroje pro kompilaci a testování chytrých kontraktů.",
+ "page-local-environment-framework-feature-3": "Vývojové doplňky klienta, které vytvoří vaši uživatelskou aplikaci ve stejném projektu nebo repozitáři.",
+ "page-local-environment-framework-feature-4": "Konfigurace pro připojení k sítím Ethereum a nasazení kontraktů, ať už na místně běžící instanci, nebo v jedné z veřejných sítí Etherea.",
+ "page-local-environment-framework-feature-5": "Decentralizovaná distribuce aplikací. Integrace s možnostmi úložiště jako IPFS.",
+ "page-local-environment-framework-features": "Tyto rámce přicházejí s mnoha funkcemi mimo provoz, jako:",
+ "page-local-environment-frameworks-desc": " Doporučujeme vybrat rámec, zejména pokud teprve začínáte. Vytvoření plnohodnotné dappky vyžaduje několik různých technologií. Rámce zahrnují mnoho těchto potřebných funkcí nebo poskytují jednoduché plugin systémy, abyste si mohli vybrat nástroje, které chcete.",
+ "page-local-environment-frameworks-title": "Rámce a předpřipravené sady",
+ "page-local-environment-hardhat-desc": "Hardhat je prostředí pro vývoj Etherea pro profesionály.",
+ "page-local-environment-hardhat-logo-alt": "Logo Hardhat",
+ "page-local-environment-openZeppelin-desc": "Ušetřete hodiny času vývoje kompilací, vylepšením, nasazením a interakcí s chytrými kontrakty díky systému CLI.",
+ "page-local-environment-openZeppelin-logo-alt": "Logo OpenZeppelin",
+ "page-local-environment-scaffold-eth-desc": "Ethers + Hardhat + React: vše, co potřebujete, abyste mohli začít vytvářet decentralizované aplikace využívající chytré kontrakty.",
+ "page-local-environment-scaffold-eth-logo-alt": "Logo scaffold-eth",
+ "page-local-environment-setup-meta-desc": "Průvodce, jak si vybrat software pro vývoj Etherea.",
+ "page-local-environment-setup-meta-title": "Nastavení místního vývoje Etherea",
+ "page-local-environment-setup-subtitle": "Pokud jste připraveni začít stavět, je čas vybrat si stack (zásobník).",
+ "page-local-environment-setup-subtitle-2": "Tady jsou nástroje a rámce, které můžete použít k budování Vaší Ethereum aplikace.",
+ "page-local-environment-setup-title": "Nastavení vlastního místního vývojářského prostředí",
+ "page-local-environment-solidity-template-desc": "GitHub šablona pro předem vytvořené nastavení vašich chytrých kontraktů Solidity. Zahrnuje místní síť Hardhat, Ethers pro implementaci peněženky a další.",
+ "page-local-environment-solidity-template-logo-alt": "Logo Solidity template"
+}
diff --git a/src/intl/cs/page-developers-tutorials.json b/src/intl/cs/page-developers-tutorials.json
index 7a0c4b35632..6a976776b47 100644
--- a/src/intl/cs/page-developers-tutorials.json
+++ b/src/intl/cs/page-developers-tutorials.json
@@ -1,4 +1,22 @@
{
+ "comp-tutorial-metadata-minute-read": "minuta čtení",
+ "page-tutorial-listing-policy-intro": "Než odešlete návod, přečtěte si prosím naše zásady pro zařazování.",
+ "comp-tutorial-metadata-tip-author": "Autor Tip",
+ "page-tutorial-create-an-issue": "Vytvořit problém",
+ "page-tutorial-create-an-issue-desc": "Vyplňte šablonu pro zadání „issue“, ve které načrtnete svůj návod.",
+ "page-tutorial-raise-issue-btn": "Vytvořit hlášení o chybě",
+ "page-tutorial-read-time": "min",
+ "page-tutorial-submit-btn": "Odeslat tutoriál",
+ "page-tutorial-subtitle": "Vítejte v našem upraveném seznamu komunitních tutoriálů.",
+ "page-tutorial-tags-error": "Zatím neexistují žádné návody se všemi vámi vybranými štítky.",
+ "page-tutorial-title": "Vývojové tutoriály pro Ethereum",
+ "page-tutorials-meta-description": "Procházejte a filtruje vetřelé Ethereum komunitní tutoriály podle tématu.",
+ "page-tutorial-external-link": "Externí",
+ "page-tutorials-meta-title": "Vývojové tutoriály pro Ethereum",
+ "page-tutorial-beginner": "Začátečník",
+ "page-tutorial-intermediate": "Středně pokročilý",
+ "page-tutorial-advanced": "Další",
"page-find-wallet-try-removing": "Zkuste odebrat funkci nebo dvě",
- "page-find-wallet-clear": "Zrušit filtry"
+ "page-find-wallet-clear": "Zrušit filtry",
+ "page-tutorials-env-banner": "Nekomitujte .env! Ujistěte se prosím, že soubor .env nikdy s nikým nesdílíte ani jej nikde nezveřejňujete, protože tím ohrožujete své citlivé údaje. Pokud používáte systém pro správu verzí, přidejte soubor .env do souboru gitignore."
}
diff --git a/src/intl/cs/page-energy-consumption.json b/src/intl/cs/page-energy-consumption.json
new file mode 100644
index 00000000000..d4b1cab592f
--- /dev/null
+++ b/src/intl/cs/page-energy-consumption.json
@@ -0,0 +1,21 @@
+{
+ "adoption-chart-artists-label": "Umělci",
+ "adoption-chart-column-now-label": "Nyní",
+ "adoption-chart-companies-label": "Společnosti",
+ "adoption-chart-developers-label": "Vývojáři",
+ "adoption-chart-gamers-label": "Hráči",
+ "adoption-chart-investors-label": "Investoři",
+ "adoption-chart-musicians-label": "Hudebníci",
+ "adoption-chart-refugees-label": "Uprchlíci",
+ "adoption-chart-writers-label": "Spisovatelé",
+ "energy-consumption-chart-airbnb-label": "AirBnB",
+ "energy-consumption-chart-btc-pow-label": "BTC PoW",
+ "energy-consumption-chart-eth-pos-label": "ETH PoS",
+ "energy-consumption-chart-eth-pow-label": "ETH PoW",
+ "energy-consumption-chart-gaming-us-label": "Hraní her v USA",
+ "energy-consumption-chart-global-data-centers-label": "Globální datová centra",
+ "energy-consumption-chart-netflix-label": "Netflix",
+ "energy-consumption-chart-paypal-label": "PayPal",
+ "energy-consumption-gold-mining-cbeci-label": "Těžba zlata",
+ "energy-consumption-chart-legend": "Roční spotřeba energie v TWh/rok"
+}
diff --git a/src/intl/cs/page-ethereum-history-founder-and-ownership.json b/src/intl/cs/page-ethereum-history-founder-and-ownership.json
new file mode 100644
index 00000000000..23bee2be291
--- /dev/null
+++ b/src/intl/cs/page-ethereum-history-founder-and-ownership.json
@@ -0,0 +1,65 @@
+{
+ "page-ethereum-history-founder-and-ownership-meta-title": "Historie Etherea: zakladatel, spuštění a vlastnictví | ethereum.org",
+ "page-ethereum-history-founder-and-ownership-meta-description": "Zjistěte více o historii Etherea, včetně toho, kdo ho vytvořil, kdy bylo spuštěno a kdo ho dnes ovládá.",
+ "page-ethereum-history-founder-and-ownership-twitter-meta-description": "Zjistěte, jaké jsou rozdíly mezi Bitcoinem a Ethereem, včetně případů použití, výkonu sítě, tokenové ekonomiky a dalších.",
+ "page-ethereum-history-founder-and-ownership-title": "Historie Etherea: zakladatel, spuštění a vlastnictví",
+ "page-ethereum-history-founder-and-ownership-description-1": "Ethereum založil Vitalik Buterin v roce 2013. Později se přidalo několik spoluzakladatelů, včetně Gavina Wooda a Josepha Lubina. Síť Ethereum byla oficiálně spuštěna 30. července 2015 vytěžením prvního bloku (Genesis bloku).",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-description-1": "Na rozdíl od tradičních organizací Ethereum nemá žádného generálního ředitele, představenstvo ani žádnou řídící stranu. Je to decentralizovaná platforma spravovaná její komunitou, přičemž podporu poskytuje nezisková nadace Ethereum Foundation.",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum": "Kdo založil/spoluzaložil Ethereum?",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-description-1": "Ethereum založil Vitalik Buterin, který s tímto nápadem přišel koncem roku 2013.",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-description-2": "Buterin, který se narodil v roce 1994 v Rusku a vyrůstal v Kanadě, projevoval již od útlého věku výjimečné matematické nadání.",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-description-3": "V roce 2011 objevil Bitcoin a začal psát články o Bitcoinu, což ho v roce 2012 vedlo ke spoluzaložení časopisu Bitcoin Magazine. Byla to jedna z prvních publikací věnovaných kryptoměnám. Jako součást rané bitcoinové komunity se na vlastní oči přesvědčil o jejím potenciálu i omezeních.",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-description-4": "V roce 2014 Vitalik publikoval bílou knihu Etherea, ve které nastínil platformu, která by vytvořením blockchainu, jenž by uměl víc než jen platby, překonala Bitcoin.",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-description-5": "Ethereum rozšiřuje přístup Bitcoinu a v podstatě říká, no, místo toho, abychom měli pravidla navržená pro podporu jedné aplikace, uděláme něco obecnějšího, kde si lidé mohou vytvářet vlastní aplikace a pravidla pro jakékoli aplikace, které vytvořili, mohou být provedena a implementována na platformě Ethereum.",
+ "page-ethereum-history-founder-and-ownership-when-ethereum-when-did-ethereum-launch": "Kdy bylo Ethereum spuštěno?",
+ "page-ethereum-history-founder-and-ownership-who-owns-and-runs-ethereum-now": "Kdo nyní vlastní a provozuje Ethereum?",
+ "page-ethereum-history-founder-and-ownership-founder-of-ethereum": "Zakladatel Etherea",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-description-6": "Ethereum spoluzaložilo 8 osob, které pomohly uvést Ethereum v život.",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-vitalik-buterin": "Vitalik Buterin: Vymyslel Ethereum v roce 2013, je autorem původní bílé knihy a stal se jeho hlavním vizionářem a zastáncem, formuloval koncept decentralizovaného světového počítače a udával technický a filozofický směr protokolu.",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-gavin-wood": "Gavin Wood: Vyvinul programovací jazyk Solidity a napsal žlutou knihu Etherea, technickou příručku pro Ethereum Virtual Machine (EVM).",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-joseph-lubin": "Joseph Lubin: Pomohl financovat velmi rané fáze Etherea a později založil společnost ConsenSys, která se zaměřuje na vytváření aplikací a infrastruktury založené na Ethereu.",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-jeffrey-wilcke": "Jeffrey Wilcke: Vytvořil Geth, původního a nejrozšířenějšího exekučního klienta Etherea, který je zodpovědný za provoz EVM a ukládání dat sítě Ethereum.",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-mihai-alisie": "Mihai Alisie: Spoluzaložil Bitcoin Magazine s Vitalikem Buterinem a pomohl založit nadaci Ethereum Foundation ve Švýcarsku, kde působil jako viceprezident a vytvořil právní rámec pro předprodej etheru.",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-anthony-di-lorio": "Anthony Di Lorio",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-amir-chetrit": "Amir Chetrit",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-charles-hoskinson": "Charles Hoskinson",
+ "page-ethereum-history-founder-and-ownership-who-founded-ethereum-launch-description-7": "Dnes se Vitalik Buterin stále aktivně podílí na vývoji Etherea. Joseph Lubin nadále vede ConsenSys. Jeho společnost vyvíjí klíčové nástroje pro ekosystém Ethereum, jako jsou MetaMask a Infura.",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-1": "Cesta od původního nápadu Vitalika až po oficiální spuštění Etherea trvala asi 20 měsíců. Zde jsou klíčové milníky:",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-2": "Listopad 2013: Vitalik Buterin sdílí bílou knihu Etherea. Popisuje v ní svou vizi blockchainové platformy, na které by mohly běžet chytré kontrakty.",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-3": "Leden 2014: Vitalik veřejně oznamuje koncept Etherea na severoamerické bitcoinové konferenci v Miami.",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-4": "Červenec–srpen 2014: Za účelem financování vývoje Etherea spustil zakládající tým veřejnou crowdfundingovou kampaň. Vybrali 31 000 BTC (v té době v hodnotě asi 18 milionů dolarů) výměnou za ether (ETH).",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-5": "Duben 2015: Vitalik a spoluzakladatelé spouštějí testovací síť Olympic Etherea. Byla to poslední testovací fáze před spuštěním hlavní sítě.",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-6": "30. července 2015: Zakládající tým oficiálně spouští hlavní síť Ethereum vytěžením genesis bloku. To znamená zrod sítě Ethereum.",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-7": "14. března 2016: Komunita Etherea implementuje „Homestead“, první plánované vylepšení. To signalizuje, že Ethereum bylo připraveno na masové přijetí.",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-8": "V projektu Ethereum jsme měli pocit, že na to máme jen jeden pokus, že to bylo opravdu jednou a dost, takže jsme to museli udělat správně.",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-9": "Spoluzakladatel Etherea",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-10": "Spuštění Etherea znamenalo významný milník v technologii blockchainu. Představilo chytré kontrakty a vytvořilo platformu pro decentralizované aplikace.",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-11": "Vždy si můžete prohlédnout genesis blok Etherea, který uchovává okamžik, kdy Ethereum poprvé ožilo.",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-12": "Podívejte se na kompletní seznam vylepšení Etherea",
+ "page-ethereum-history-founder-and-ownership-when-did-ethereum-launch-description-13": "Podívejte se na budoucí plán Etherea",
+ "page-ethereum-history-founder-and-ownership-who-owns-and-runs-ethereum-now-description-1": "Jedním z nejunikátnějších aspektů Etherea je jeho vlastnická struktura, nebo přesněji řečeno, absence tradičního vlastnictví. Na rozdíl od běžné společnosti Ethereum:",
+ "page-ethereum-history-founder-and-ownership-who-owns-and-runs-ethereum-now-description-2": "nemá žádného generálního ředitele ani centrální autoritu",
+ "page-ethereum-history-founder-and-ownership-who-owns-and-runs-ethereum-now-description-3": "není ovládáno žádným jediným subjektem ani organizací",
+ "page-ethereum-history-founder-and-ownership-who-owns-and-runs-ethereum-now-description-4": "nemá akcionáře v tradičním slova smyslu",
+ "page-ethereum-history-founder-and-ownership-who-owns-and-runs-ethereum-now-description-5": "Místo toho funguje Ethereum jako decentralizovaná síť. Je udržována tisíci nezávislých počítačů (uzlů) po celém světě. Tento decentralizovaný model je jádrem designu a hodnoty Etherea.",
+ "page-ethereum-history-founder-and-ownership-who-owns-and-runs-ethereum-now-description-6": "S neustálým vývojem a správou Etherea pomáhá několik klíčových skupin:",
+ "page-ethereum-history-founder-and-ownership-ethereum-foundation": "1. Nadace Ethereum Foundation",
+ "page-ethereum-history-founder-and-ownership-ethereum-foundation-description-1": "Ethereum Foundation je nezisková organizace, která podporuje Ethereum a související technologie. Ačkoli je důležitá, neovládá síť. Nadace:",
+ "page-ethereum-history-founder-and-ownership-ethereum-foundation-description-2": "Spravuje finanční prostředky na podporu vývoje Etherea",
+ "page-ethereum-history-founder-and-ownership-ethereum-foundation-description-3": "Poskytuje granty projektům, které staví na Ethereu",
+ "page-ethereum-history-founder-and-ownership-ethereum-foundation-description-4": "Pořádá komunitní akce a vzdělávací iniciativy",
+ "page-ethereum-history-founder-and-ownership-ethereum-foundation-description-5": "Koordinuje výzkumné úsilí",
+ "page-ethereum-history-founder-and-ownership-core-developers": "2. Klíčoví vývojáři a výzkumníci",
+ "page-ethereum-history-founder-and-ownership-core-developers-description-1": "Celosvětová komunita vývojářů a výzkumníků přispívá ke kódu a designu Etherea. Tito přispěvatelé navrhují, diskutují a implementují vylepšení prostřednictvím otevřeného, veřejného procesu. Vitalik Buterin je v komunitě stále respektován, rozhodnutí jsou však činěna na základě skupinové dohody, nikoli jedinou osobou.",
+ "page-ethereum-history-founder-and-ownership-eip": "3. Návrhy na vylepšení Etherea (EIP)",
+ "page-ethereum-history-founder-and-ownership-eip-description-1": "Komunita Etherea navrhuje změny v síti prostřednictvím návrhů na vylepšení Etherea (EIP). Tento otevřený systém umožňuje komukoli navrhovat vylepšení. Tyto nápady jsou poté diskutovány, zdokonalovány a případně implementovány komunitou.",
+ "page-ethereum-history-founder-and-ownership-validators": "4. Provozovatelé uzlů a validátoři",
+ "page-ethereum-history-founder-and-ownership-validators-description-1": "Od přechodu Etherea na důkaz podílem v září 2022 je síť zabezpečena validátory, kteří uzamykají (stakují) ETH a zpracovávají transakce. Po celém světě je rozmístěn velký počet validátorů, což distribuuje kontrolu nad sítí do širokého okolí.",
+ "page-ethereum-history-founder-and-ownership-validators-description-2": "Tento decentralizovaný model omezuje kontrolu ze strany jakéhokoli jediného subjektu, díky čemuž je Ethereum odolné vůči cenzuře. To se týká i jeho původních zakladatelů. Žádná osoba ani organizace nemůže sama změnit pravidla Etherea nebo síť vypnout.",
+ "page-ethereum-history-founder-and-ownership-validators-description-3": "Hlavní rozdíl mezi budováním aplikace na Ethereu a jejím budováním na nějaké tradiční centralizované platformě je tato hlavní myšlenka, že jakmile jednou aplikaci vytvoříte, její další existence na vás ani na žádné jiné osobě nezávisí. A aplikace bude zaručeně nadále fungovat podle zadaných pravidel.",
+ "page-ethereum-history-founder-and-ownership-conclusion": "Závěr",
+ "page-ethereum-history-founder-and-ownership-conclusion-description-1": "Od svého vzniku Vitalikem Buterinem v roce 2013 přes spuštění v roce 2015 až po dnešní růst zůstalo Ethereum věrné své zakladatelské vizi. Zůstává decentralizovanou, důvěryhodně neutrální platformou pro aplikace, které fungují přesně tak, jak jsou naprogramovány. Síť a aplikace na ní postavené fungují bez výpadků, cenzury, podvodů nebo zásahů třetích stran.",
+ "page-ethereum-history-founder-and-ownership-conclusion-description-2": "Příběh Etherea se s každou aktualizací a inovací dále odvíjí. Jak se síť vyvíjí, ukazuje, jak může decentralizovaná správa pohánět technologický pokrok bez tradičních korporátních struktur.",
+ "page-ethereum-history-founder-and-ownership-conclusion-description-3": "Ethereum se z vizionářské bílé knihy proměnilo v globální infrastrukturní vrstvu, která pohání tisíce aplikací a miliardy v hodnotě. To dokazuje, že otevřená spolupráce může přetvořit nejen finance, ale i základní koncepty vlastnictví, správy a digitální důvěry.",
+ "page-ethereum-history-founder-and-ownership-conclusion-description-4": "Zjistěte více o procesu správy Etherea"
+}
diff --git a/src/intl/cs/page-ethereum-vs-bitcoin.json b/src/intl/cs/page-ethereum-vs-bitcoin.json
new file mode 100644
index 00000000000..e6ff0c3b777
--- /dev/null
+++ b/src/intl/cs/page-ethereum-vs-bitcoin.json
@@ -0,0 +1,101 @@
+{
+ "page-ethereum-vs-bitcoin-meta-title": "Ethereum vs. Bitcoin: jaký je v tom rozdíl? | ethereum.org",
+ "page-ethereum-vs-bitcoin-meta-description": "Zjistěte, jaké jsou rozdíly mezi Bitcoinem a Ethereem, včetně případů použití, výkonu sítě, zabezpečení, tokenové ekonomiky, úrovně decentralizace a dalších.",
+ "page-ethereum-vs-bitcoin-twitter-meta-description": "Zjistěte, jaké jsou rozdíly mezi Bitcoinem a Ethereem, včetně případů použití, výkonu sítě, tokenové ekonomiky a dalších.",
+ "page-ethereum-vs-bitcoin-title": "Ethereum vs. Bitcoin: jaký je v tom rozdíl?",
+ "page-ethereum-vs-bitcoin-description-1": "Bitcoin a Ethereum jsou dvě nejznámější decentralizované blockchainové sítě, ale slouží velmi odlišným účelům.",
+ "page-ethereum-vs-bitcoin-section-1": "Bitcoin (s velkým B) je blockchain navržený pro digitální měnu zvanou bitcoin (s malým b). Ethereum je navrženo jako decentralizovaná platforma pro aplikace a aktiva, poháněná svou nativní kryptoměnou ether (ETH).",
+ "page-ethereum-vs-bitcoin-section-2": "Obě používají technologii blockchainu, jsou open-source a jsou spravovány globálními komunitami, ale jejich cíle a vlastnosti jsou odlišné. V této příručce si projdeme, co je každá síť zač, co mají společného a jak se liší v oblastech jako technologie, kultura a budoucí výhled.",
+ "page-ethereum-vs-bitcoin-bitcoin-section-title": "Bitcoin – rychlý úvod",
+ "page-ethereum-vs-bitcoin-bitcoin-section-1": "Bitcoin je decentralizovaná síť digitálních měn. Byla vytvořena v roce 2009 anonymní entitou pod jménem Satoshi Nakamoto krátce po finanční krizi v roce 2008. Myšlenkou bylo, aby Bitcoin byl peer-to-peer elektronický hotovostní systém.",
+ "page-ethereum-vs-bitcoin-bitcoin-section-2": "Bitcoin umožňuje komukoli odesílat a přijímat bitcoiny přes internet bez spoléhání na centrální autoritu, jako je banka. Všechny transakce jsou zaznamenány ve veřejné účetní knize známé jako blockchain.",
+ "page-ethereum-vs-bitcoin-bitcoin-section-3": "Bitcoin používá k zabezpečení své sítě důkaz prací. Počítače po celém světě soutěží v řešení kryptografických hádanek, které jim umožňují přidávat nové bloky. Tyto specializované počítače se nazývají těžaři a za \"těžení\" nových bloků dostávají bitcoiny jako odměnu za blok.",
+ "page-ethereum-vs-bitcoin-bitcoin-section-4": "Bitcoin má pevnou maximální zásobu 21 milionů mincí. Toto konstrukční rozhodnutí je klíčovým důvodem, proč je Bitcoin často označován jako digitální zlato.",
+ "page-ethereum-vs-bitcoin-ethereum-section-title": "Ethereum – rychlý úvod",
+ "page-ethereum-vs-bitcoin-ethereum-section-1": "Podobně jako Bitcoin je i Ethereum decentralizovaná blockchainová síť, ale byla navržena tak, aby uměla víc než jen zaznamenávat platby. Ethereum, které v roce 2015 spustil softwarový vývojář Vitalik Buterin se svými spoluzakladateli, bylo vytvořeno jako platforma pro chytré kontrakty a decentralizované aplikace.",
+ "page-ethereum-vs-bitcoin-ethereum-section-2": "Ethereum umožňuje komukoli posílat a přijímat hodnotu jako Bitcoin, ale také funguje jako platforma, kterou může kdokoli používat pro aplikace. Síť Ethereum běží na tisících uzlů a není řízena jedinou entitou.",
+ "page-ethereum-vs-bitcoin-ethereum-section-3": "Kdokoli může na Ethereu vytvářet a nasazovat aplikace. Tyto programy se nazývají chytré kontrakty a jsou hlavní inovací Etherea.",
+ "page-ethereum-vs-bitcoin-ethereum-section-4": "Jakmile je chytrý kontrakt nasazen, běží deterministicky při každé interakci. Díky tomu je možné vytvářet aplikace pro věci, jako je půjčování, obchodování, hry a digitální sběratelské předměty, které běží nepřetržitě pro miliony uživatelů po celém světě.",
+ "page-ethereum-vs-bitcoin-ethereum-section-5": "Stejně jako se bitcoin používá k placení transakčních poplatků v síti Bitcoin, nativní měna Etherea, ether, se používá k placení transakčních poplatků, publikování a používání chytrých kontraktů a k zabezpečení sítě. Ether funguje jako palivo pro spouštění programů i jako uchovatel hodnoty.",
+ "page-ethereum-vs-bitcoin-ethereum-section-6": "Zjistěte více o Ethereu a o tom, jak funguje",
+ "page-ethereum-vs-bitcoin-differences-section-title": "Klíčové rozdíly",
+ "page-ethereum-vs-bitcoin-differences-section-1": "Bitcoin a Ethereum používají technologii blockchainu k udržování decentralizovaných sítí, ale liší se svým designem, účelem a schopnostmi.",
+ "page-ethereum-vs-bitcoin-differences-table-area": "Oblast",
+ "page-ethereum-vs-bitcoin-differences-table-bitcoin": "Bitcoin",
+ "page-ethereum-vs-bitcoin-differences-table-ethereum": "Ethereum",
+ "page-ethereum-vs-bitcoin-differences-table-row-1-1": "Hlavní účel",
+ "page-ethereum-vs-bitcoin-differences-table-row-1-2": "Peer-to-peer digitální měna",
+ "page-ethereum-vs-bitcoin-differences-table-row-1-3": "Platforma pro aplikace a digitální ekonomiky",
+ "page-ethereum-vs-bitcoin-differences-table-row-2-1": "Smart kontrakt účty",
+ "page-ethereum-vs-bitcoin-differences-table-row-2-2": "Nepodporováno",
+ "page-ethereum-vs-bitcoin-differences-table-row-2-3": "Základní funkce",
+ "page-ethereum-vs-bitcoin-differences-table-row-3-1": "Zásoba",
+ "page-ethereum-vs-bitcoin-differences-table-row-3-2": "Bitcoin se vydává v každém bloku s pevnou/předem stanovenou sazbou, kterou určuje původní a nezměněný protokol, s konečným pevným limitem 21 milionů.",
+ "page-ethereum-vs-bitcoin-differences-table-row-3-3": "Ether je v každém bloku pálen v poměru k aktivitě/poptávce a vydáván v každé epoše v poměru k celkovému uzamčenému ETH. Neexistuje žádný pevný limit, ale míra vydávání je omezena celkovým uzamčeným ETH.",
+ "page-ethereum-vs-bitcoin-differences-table-row-4-1": "Mechanismus konsensu",
+ "page-ethereum-vs-bitcoin-differences-table-row-4-2": "Důkaz prací",
+ "page-ethereum-vs-bitcoin-differences-table-row-4-3": "Důkaz podílem",
+ "page-ethereum-vs-bitcoin-differences-table-row-5-1": "Rychlost",
+ "page-ethereum-vs-bitcoin-differences-table-row-5-2": "Většinou považováno za nezvratné po šesti blocích, v průměru za 60 minut",
+ "page-ethereum-vs-bitcoin-differences-table-row-5-3": "Přibližně 15 minut do finality",
+ "page-ethereum-vs-bitcoin-differences-table-row-6-1": "Spotřeba energie",
+ "page-ethereum-vs-bitcoin-differences-table-row-6-2": "Vysoké",
+ "page-ethereum-vs-bitcoin-differences-table-row-6-3": "Nízká",
+ "page-ethereum-vs-bitcoin-differences-table-row-7-1": "Řízení",
+ "page-ethereum-vs-bitcoin-differences-table-row-7-2": "Konzervativní, pomalu se pohybující",
+ "page-ethereum-vs-bitcoin-differences-table-row-7-3": "Flexibilní, řízeno komunitou",
+ "page-ethereum-vs-bitcoin-differences-table-row-8-1": "Vývojářský ekosystém",
+ "page-ethereum-vs-bitcoin-differences-table-row-8-2": "Menší",
+ "page-ethereum-vs-bitcoin-differences-table-row-8-3": "Velký a aktivní",
+ "page-ethereum-vs-bitcoin-differences-table-row-9-1": "Vylepšení",
+ "page-ethereum-vs-bitcoin-differences-table-row-9-2": "Vzácné",
+ "page-ethereum-vs-bitcoin-differences-table-row-9-3": "Časté a iterativní",
+ "page-ethereum-vs-bitcoin-purpose-title": "Účel Bitcoinu vs. Etherea",
+ "page-ethereum-vs-bitcoin-purpose-1": "Bitcoin byl vytvořen v roce 2009 v důsledku globální finanční krize. Jeho cílem bylo nabídnout peer-to-peer formu peněz, která by fungovala bez bank a vlád. Je záměrně jednoduchý. Cílem sítě je přesouvat hodnotu z jedné osoby na druhou bez prostředníka. Toto úzké zaměření mu pomohlo stát se všeobecně známým jako forma digitálního zlata, vzácného a trvanlivého uchovatele hodnoty, který může být také použit jako prostředek směny.",
+ "page-ethereum-vs-bitcoin-purpose-2": "Ethereum bylo spuštěno v roce 2015 s širší vizí. Jeho tvůrci chtěli vzít bezpečnost a decentralizaci blockchainu a učinit jej programovatelným. Místo toho, aby se omezilo pouze na platby, Ethereum umožňuje komukoli psát a publikovat samočinně se spouštějící programy zvané chytré kontrakty. To otevírá dveře zcela nové kategorii aplikací, od decentralizovaných financí (DeFi) a stabilních kryptoměn po nezaměnitelné tokeny (NFT), hry a decentralizovaná sociální média.",
+ "page-ethereum-vs-bitcoin-purpose-3": "Technické návrhy tyto účely odrážejí. Skriptovací jazyk Bitcoinu je omezený, což snižuje složitost a pomáhá udržovat síť v bezpečí. Programovací jazyk Etherea je expresivnější, což mu umožňuje ukládat a spravovat složitější stavy a interakce mezi aplikacemi. Tato flexibilita je silnou stránkou, ale také to znamená, že se síť vyvíjí rychleji, s pravidelnými vylepšeními a novými funkcemi.",
+ "page-ethereum-vs-bitcoin-purpose-4": "Obě hrají v širší digitální ekonomice odlišné role. Bitcoin se zaměřuje na to, aby byl stabilním a decentralizovaným uchovatelem hodnoty. Ethereum si klade za cíl být globální vypořádací vrstvou pro decentralizované aplikace a programovatelná aktiva.",
+ "page-ethereum-vs-bitcoin-usecases-and-adoption-title": "Případy použití a přijetí",
+ "page-ethereum-vs-bitcoin-usecases-and-adoption-1": "Bitcoin se běžně používá jako uchovatel hodnoty. Mnoho investorů ho vnímá jako pojistku proti inflaci nebo ekonomické nestabilitě. V některých zemích se používá jako alternativní měna nebo jako způsob, jak si lidé mohou spořit mimo tradiční bankovní systém.",
+ "page-ethereum-vs-bitcoin-usecases-and-adoption-2": "Ether slouží také jako uchovatel hodnoty, ale jeho primární rolí je pohánět široký ekosystém aplikací a aktiv. Vývojáři mohou pomocí Etherea vytvářet nové protokoly, spouštět tokeny, provozovat decentralizované burzy, razit NFT, vytvářet hry a vyvíjet sociální platformy, které fungují bez centralizované kontroly.",
+ "page-ethereum-vs-bitcoin-usecases-and-adoption-3": "Ethereum podporuje tisíce decentralizovaných aplikací pro nové formy financí, crowdfundingu a digitálního vlastnictví. Některé případy použití dokonce propojují obě sítě. Například Bitcoin může být \"zabaleno\" a použito na Ethereu pro aktivity jako půjčování, vypůjčování a obchodování v DeFi.",
+ "page-ethereum-vs-bitcoin-usecases-and-adoption-4": "Institucionální přijetí tyto rozdíly odráží. Kryptoměna bitcoin je široce držena jako dlouhodobý uchovatel hodnoty, zatímco Ethereum je vnímáno jako decentralizovaná infrastruktura. Jeho programovatelnost oslovuje fintech platformy a poskytovatele plateb.",
+ "page-ethereum-vs-bitcoin-usecases-and-adoption-5": "Zjisti víc o tom, k čemu se Ethereum používá",
+ "page-ethereum-vs-bitcoin-monetary-policy-title": "Měnová politika",
+ "page-ethereum-vs-bitcoin-monetary-policy-1": "Zásoba Bitcoinu bude omezena na 21 milionů mincí. Tento tvrdý limit je vynucen protokolem a je jedním z důvodů, proč je Bitcoin přirovnáván ke zlatu. Nové bitcoiny vstupují do oběhu prostřednictvím odměn za těžbu, které se půlí každých 210 000 bloků, jejichž vytěžení trvá zhruba 4 roky, v události zvané halving. Odměna začala na 50 bitcoinech za blok v roce 2009, v roce 2012 klesla na 25, v roce 2016 na 12,5 a tak dále. Při tomto tempu se očekává, že poslední bitcoin bude vytěžen kolem roku 2140.",
+ "page-ethereum-vs-bitcoin-monetary-policy-2": "Odměny za těžbu a transakční poplatky v síti Bitcoin platí za síť a slouží k jejímu zabezpečení. Jak se však odměna za blok snižuje na polovinu, síť je více závislá na transakčních poplatcích, aby se sama zaplatila. V současné době tvoří poplatky za síť malou část příjmů sítě, <5 %, což znamená, že dlouhodobá bezpečnost sítě může být ohrožena, protože vydávání v síti Bitcoin klesne na 0.",
+ "page-ethereum-vs-bitcoin-monetary-policy-3": "Ethereum nemá pevně stanovenou maximální zásobu. Místo toho je jeho vydávání určeno pravidly protokolu a nedávná vylepšení zavedla mechanismy, které mohou v průběhu času zásobu snižovat. Nejvýznamnějším je vylepšení EIP-1559, které pálí část transakčních poplatků. Když je aktivita sítě vysoká, může být spáleno více ETH, než je vydáno, což v těchto obdobích činí zásobu deflační.",
+ "page-ethereum-vs-bitcoin-monetary-policy-4": "Měnový přístup Etherea zaručuje bezpečnostní rozpočet na věčné časy, přičemž transakční poplatky a odměny za bloky poskytují bezpečnostní rozpočet sítě.",
+ "page-ethereum-vs-bitcoin-developer-ecosystem-title": "Vývojářský ekosystém",
+ "page-ethereum-vs-bitcoin-developer-ecosystem-1": "Ethereum má jednu z největších komunit vývojářů blockchainu. Budování na Ethereu vám dává přístup k široké škále nástrojů, frameworků, grantů a hackathonů. Ethereum Virtual Machine (EVM) je běhové prostředí Etherea a stalo se běžným standardem, který mnoho dalších blockchainů používá k zajištění kompatibility.",
+ "page-ethereum-vs-bitcoin-developer-ecosystem-2": "Tokenové standardy jako ERC-20 a ERC-721 se staly základem pro velkou část širší blockchainové ekonomiky. Mnoho sítí 2. vrstvy a dalších blockchainů používá EVM, aby aplikace, peněženky a kód chytrých kontraktů mohly být používány napříč blockchainy s minimálními změnami.",
+ "page-ethereum-vs-bitcoin-developer-ecosystem-3": "Komunita vývojářů Bitcoinu je menší a více zaměřená. Většina aktivit se soustředí na údržbu a vylepšování základního protokolu, stejně jako na vývoj řešení 2. vrstvy, jako je Lightning Network, pro rychlejší a levnější platby.",
+ "page-ethereum-vs-bitcoin-developer-ecosystem-4": "Zjistěte více o vývojářských zdrojích Etherea",
+ "page-ethereum-vs-bitcoin-security-and-consensus-title": "Bezpečnost a konsensus",
+ "page-ethereum-vs-bitcoin-security-and-consensus-1": "Bitcoin i Ethereum jsou zabezpečeny velkými, distribuovanými sítěmi nezávislých uzlů, ale používají různé metody k dohodě o stavu sítě.",
+ "page-ethereum-vs-bitcoin-security-and-consensus-2": "Bitcoin používá systém zvaný důkaz prací. Počítače zvané těžaři soutěží v řešení kryptografických hádanek. První, kdo jednu vyřeší, může přidat další blok transakcí do blockchainu a získá odměnu v bitcoinech. Tento přístup dává Bitcoinu to, co je známo jako pravděpodobnostní finalita, což znamená, že transakce je považována za vysoce bezpečnou až poté, co je na ni přidáno několik dalších bloků. U Bitcoinu je to často kolem šesti potvrzení, neboli asi jedna hodina.",
+ "page-ethereum-vs-bitcoin-security-and-consensus-3": "Ethereum používá důkaz podílem. V tomto modelu validátoři zamykají neboli stakují ETH za šanci být vybráni k navržení a potvrzení nových bloků. Výběr je náhodný, ale pravděpodobnost výběru se zvyšuje s množstvím stakovaného ETH. Validátoři, kteří jednají nečestně, riskují ztrátu svého vkladu. To umožňuje Ethereu dosáhnout ekonomické finality, kde je dokončené bloky extrémně obtížné zvrátit, často během asi 15 minut. Ethereum také používá kontrolní body k označení bloků jako nezvratných, jakmile se shodne dostatek validátorů.",
+ "page-ethereum-vs-bitcoin-security-and-consensus-4": "Zjistěte více o mechanismu konsensu Etherea",
+ "page-ethereum-vs-bitcoin-underlying-technology-title": "Podkladová technologie",
+ "page-ethereum-vs-bitcoin-underlying-technology-1": "Bitcoin používá to, co je známo jako model neutracených transakčních výstupů, neboli UTXO. V tomto systému blockchain nesleduje zůstatky na účtech. Místo toho zaznamenává výstupy z předchozích transakcí, které ještě nebyly utraceny. Když utrácíte bitcoin, používáte tyto výstupy jako vstupy pro novou transakci a v tomto procesu vytváříte nové výstupy.",
+ "page-ethereum-vs-bitcoin-underlying-technology-2": "Můžete si to představit jako používání hotovosti. Pokud máte dvě pětidolarové bankovky a chcete utratit sedm dolarů, odevzdáte obě bankovky a dostanete tři dolary zpět. Bitcoin zaznamenává bankovky a drobné, nikoli váš celkový zůstatek.",
+ "page-ethereum-vs-bitcoin-underlying-technology-3": "Ethereum používá model založený na účtech. Místo sledování jednotlivých výstupů vede záznam o zůstatcích na účtech, jako to dělá bankovní účet. Tento přístup usnadňuje správu chytrých kontraktů a složité logiky, protože účty mohou ukládat data a vzájemně interagovat jako programy.",
+ "page-ethereum-vs-bitcoin-underlying-technology-4": "Každý model má své kompromisy. UTXO mohou nabídnout větší soukromí a usnadnit sledování jednotlivých mincí. Systémy založené na účtech jsou pro vytváření aplikací jednodušší.",
+ "page-ethereum-vs-bitcoin-underlying-technology-5": "Přečtěte si více ve vývojářské dokumentaci Etherea",
+ "page-ethereum-vs-bitcoin-decentralization-title": "Decentralizace",
+ "page-ethereum-vs-bitcoin-decentralization-1": "Bitcoin i Ethereum jsou navrženy tak, aby byly decentralizované, ale měří to a přistupují k tomu různými způsoby.",
+ "page-ethereum-vs-bitcoin-decentralization-2": "Decentralizace Bitcoinu je podpořena jeho jednoduchým technickým designem, dlouhodobou stabilitou a širokou distribucí uzlů. Jeho nízké nároky na zdroje usnadňují lidem provozovat plné uzly doma, což pomáhá zachovat nezávislost sítě a odolnost vůči cenzuře.",
+ "page-ethereum-vs-bitcoin-decentralization-3": "Ethereum má také velkou a rostoucí síť uzlů. Klade velký důraz na rozmanitost klientů, což znamená, že více verzí softwaru je udržováno nezávislými týmy. To snižuje závislost na jediném klientovi a pomáhá chránit před chybami nebo selháními, které by mohly ovlivnit síť.",
+ "page-ethereum-vs-bitcoin-decentralization-4": "Ethereum má širší počet účastníků zapojených do aktivit, jako je stakování, vylepšení a diskuze o správě, ale obě sítě se snaží zůstat otevřené a odolné. Bitcoin ponechává požadavky na uzly nezměněné a spoléhá na méně softwarových klientů. Ethereum podporuje různé přispěvatele, z nichž každý přináší svůj vlastní pohled.",
+ "page-ethereum-vs-bitcoin-environmental-impact-title": "Dopad na životní prostředí",
+ "page-ethereum-vs-bitcoin-environmental-impact-1": "Jednou z nejvýznamnějších změn v historii Etherea byl přechod z důkazu prací na důkaz podílem v roce 2022. Tento přechod, známý jako Sloučení, snížil spotřebu energie sítě o více než 99 procent.",
+ "page-ethereum-vs-bitcoin-environmental-impact-2": "V rámci důkazu podílem se Ethereum již nespoléhá na energeticky náročnou těžbu. Místo toho jsou validátoři vybíráni náhodně, přičemž pravděpodobnost výběru se zvyšuje s množstvím ETH, které mají stakováno. Tento posun učinil z Etherea jednu z energeticky nejúčinnějších blockchainových sítí.",
+ "page-ethereum-vs-bitcoin-environmental-impact-3": "Bitcoin nadále používá důkaz prací, který vyžaduje velké množství elektřiny, protože těžaři soutěží v řešení kryptografických hádanek. Část této energie pochází z obnovitelných zdrojů a v komunitě Bitcoinu probíhají diskuse o způsobech, jak zlepšit udržitelnost.",
+ "page-ethereum-vs-bitcoin-environmental-impact-4": "Rozdíl ve spotřebě energie se stal důležitým bodem srovnání mezi oběma sítěmi. Nižší energetická stopa Etherea ho činí přitažlivějším v kontextech, kde je prioritou dopad na životní prostředí.",
+ "page-ethereum-vs-bitcoin-environmental-impact-5": "Přečtěte si celou zprávu o spotřebě energie Etherea",
+ "page-ethereum-vs-bitcoin-future-outlook-title": "Jak vypadá budoucnost",
+ "page-ethereum-vs-bitcoin-future-outlook-1": "Bitcoin je stále více přijímán jako uchovatel hodnoty a rezervní aktivum. Je nepravděpodobné, že by se výrazně změnil, a tato stabilita je součástí jeho přitažlivosti.",
+ "page-ethereum-vs-bitcoin-future-outlook-2": "Ethereum se staví do pozice aplikační platformy v nové digitální ekonomice. S růstem sítí 2. vrstvy a probíhajícími vylepšeními si klade za cíl podporovat aplikace, infrastrukturu a aktiva v globálním měřítku.",
+ "page-ethereum-vs-bitcoin-future-outlook-3": "Pro mnoho uživatelů obě sítě nejsou v přímé konkurenci. Slouží různým účelům a mohou se vzájemně doplňovat v diverzifikovaném přístupu k digitálním aktivům.",
+ "page-ethereum-vs-bitcoin-future-outlook-4": "Zjistěte více o plánu rozvoje Etherea"
+}
\ No newline at end of file
diff --git a/src/intl/cs/page-founders.json b/src/intl/cs/page-founders.json
new file mode 100644
index 00000000000..c7cff7bfdab
--- /dev/null
+++ b/src/intl/cs/page-founders.json
@@ -0,0 +1,65 @@
+{
+ "page-founders-accelerators-alliance-description": "Alliance je přední kryptoakcelerátor a komunita zakladatelů. Nyní přijímá AI startupy.",
+ "page-founders-accelerators-alliance-highlight-1": "Financování ve výši 500 tisíc $",
+ "page-founders-accelerators-base-description": "Base Batches je globální program pro tvůrce, kteří vytvářejí další vlnu aplikací na blockchainu.",
+ "page-founders-accelerators-base-highlight-1": "Financování až do výše 1 milionu $",
+ "page-founders-accelerators-growth-label": "Akcelerátory a růst",
+ "page-founders-accelerators-kernel-description": "Kernel je o pomalém budování prostřednictvím opakovaných interakcí s ostatními.",
+ "page-founders-accelerators-kernel-highlight-1": "Více než 2 200 členů",
+ "page-founders-accelerators-kernel-highlight-2": "Více než 150 aktivních projektů",
+ "page-founders-apply-h2": "Požádej o podporu",
+ "page-founders-apply-p1": "Vyber si cestu a my tě přesměrujeme k nejrelevantnějšímu dalšímu kroku.",
+ "page-founders-cta-explore-name": "Prozkoumej {name}",
+ "page-founders-cta-visit-name": "Navštívit {name}",
+ "page-founders-description": "Specializované centrum, které podnikatelům poskytuje přístup k programům, mentoringu a zviditelnění v rámci ekosystému Etherea a zakladatelům dává podporu, kterou potřebují v každé fázi.",
+ "page-founders-funding-arbitrum-description": "Posláním je podpořit vývojáře a podnikatele, aby vytvářeli působivé dapps, které využívají možnosti sítě Arbitrum.",
+ "page-founders-funding-arbitrum-highlight-1": "Více než 300 podpořených projektů",
+ "page-founders-funding-base-description": "Granty pro tvůrce jsou probíhající experimenty s cílem ocenit tvůrce na Base.",
+ "page-founders-funding-base-highlight-1": "Granty ve výši 1–5 ETH",
+ "page-founders-funding-esp-description": "Přidělování zdrojů zásadním projektům, snaha být cenným hlasem v ekosystému Etherea a obhajoba Etherea před vnějším světem.",
+ "page-founders-funding-esp-highlight-1": "Více než 2 000 podpořených projektů",
+ "page-founders-funding-label": "Financování",
+ "page-founders-funding-optimism-description": "Podpora pro jednotlivé tvůrce a týmy, které vytvářejí onchainové aplikace, nástroje a infrastrukturu pro rozvoj Superchainu.",
+ "page-founders-funding-optimism-highlight-1": "19 způsobilých chainů",
+ "page-founders-funding-optimism-highlight-2": "Více než 700 podpořených projektů",
+ "page-founders-funding-polygon-description": "Komunitní grantový program na podporu tvůrců, týmů a autorů, kteří se zavázali k růstu Polygonu.",
+ "page-founders-funding-polygon-highlight-1": "Budování nebo migrace na Polygon",
+ "page-founders-funding-unichain-description": "Řada programů a zdrojů určených na podporu vznikající vývojářské komunity Unichain.",
+ "page-founders-funding-unichain-highlight-1": "Nové mechanismy DeFi",
+ "page-founders-get-in-touch-cta": "Požádat o podporu",
+ "page-founders-get-in-touch-h2": "Tým pro úspěch zakladatelů Nadace Ethereum",
+ "page-founders-get-in-touch-p1": "Úspěch zakladatelů je pro tvůrce s odvážnými nápady, podnikatele, kteří v Ethereu vidí základ pro produkty a podniky, které mohou utvářet budoucnost.",
+ "page-founders-metadata-description": "Posilujeme postavení zakladatelů na Ethereu prostřednictvím programů, mentoringu a zdrojů. Zjisti, jak ekosystém Etherea podporuje podnikatele od nápadu až po růst.",
+ "page-founders-metadata-title": "Podpora pro zakladatele",
+ "page-founders-partnerships-devconnect-description": "Devconnect ARG je světový veletrh Etherea: přehlídka aplikací a událost pro navazování kontaktů, budování a urychlení přijetí Etherea.",
+ "page-founders-partnerships-ef-founder-support-cta": "Naplánovat úvodní schůzku",
+ "page-founders-partnerships-ef-founder-support-description": "Koordinace sdílení příjmů, likvidity a partnerství. Tým EF pro úspěch zakladatelů pomáhá propojovat správné týmy, aby se to mohlo uskutečnit.",
+ "page-founders-partnerships-ef-founder-support-subtitle": "Představení protokolů/týmů DeFi",
+ "page-founders-partnerships-ens-description": "Cílem programu je podpořit projekty, které prokázaly výjimečnou užitečnost a dopad jak pro vývojáře, tak pro uživatele.",
+ "page-founders-partnerships-ens-highlight-1": "Malé granty do výše 2 ETH",
+ "page-founders-partnerships-ens-highlight-2": "Velké granty do výše 50 tisíc USDC",
+ "page-founders-partnerships-ethglobal-description": "Globální události, které podporují prvotřídní ekosystém vývojářů a podnikatelů Etherea.",
+ "page-founders-partnerships-label": "Partnerství a integrace",
+ "page-founders-partnerships-protocol-guild-description": "Nezávislá organizace financující hlavní vývojáře Etherea. Proaktivně financujeme správce, kteří dělají práci, na které je ekosystém závislý.",
+ "page-founders-partnerships-protocol-guild-highlight-1": "28 milionů dolarů vybraných pro hlavní vývojáře",
+ "page-founders-partnerships-unichain-description": "Řada programů a zdrojů určených na podporu vznikající vývojářské komunity Unichain.",
+ "page-founders-partnerships-unichain-highlight-1": "Nové mechanismy DeFi",
+ "page-founders-story-dith-p1": "Podpora pro zakladatele od EF byla vynikající, byli pro nás skvělým nestranným myšlenkovým partnerem a poradcem, když jsme dokončovali naše první kolo financování. Bez váhání doporučuji dalším zakladatelům na EVM, aby se na ně obrátili.",
+ "page-founders-story-fahim-p1": "Tým pro úspěch zakladatelů je obrovským přínosem pro ekosystém Etherea. Opravdu jim záleží na tom, aby týmy vyhrávaly, a jejich praktická podpora a skutečné odhodlání pomáhat týmům, jako je Optimism, je jasně vidět. Těším se na další spolupráci s nimi a na společné posilování našeho ekosystému.",
+ "page-founders-story-kedian-p1": "Náš kontakt v EF nám zásadně pomohl s orientací, a to nejen sdílením cenných postřehů o naší chystané funkci, ale také tím, že nás seznámil s klíčovými L2 v ekosystému Etherea.",
+ "page-founders-story-kedian-p2": "Díky jejich zpětné vazbě na naši strategii uvedení na trh (GTM) jsme zrychlili rozhodování, zkrátili čas strávený průzkumem a zaměřili se přímo na realizaci.",
+ "page-founders-succeed-h2": "Jak uspěli ostatní",
+ "page-founders-succeed-p1": "Nemusíš na to být sám, tento ekosystém ti kryje záda.",
+ "page-founders-support-tag-accelerator": "Akcelerátor",
+ "page-founders-support-tag-active": "Aktivní",
+ "page-founders-support-tag-audit-grants": "Granty na audit",
+ "page-founders-support-tag-ecosystem-events": "Události v ekosystému",
+ "page-founders-support-tag-events": "Události",
+ "page-founders-support-tag-fundraising": "Fundraising",
+ "page-founders-support-tag-grant-program": "Grantový program",
+ "page-founders-support-tag-mentorship": "Mentoring",
+ "page-founders-support-tag-networking": "Networking",
+ "page-founders-support-tag-public-goods": "Veřejné statky",
+ "page-founders-support-tag-tooling-infra": "Nástroje a infrastruktura",
+ "page-founders-title": "Posílení postavení zakladatelů na Ethereu"
+}
diff --git a/src/intl/cs/page-gas.json b/src/intl/cs/page-gas.json
index e70134d8eb2..b0c6c333dfd 100644
--- a/src/intl/cs/page-gas.json
+++ b/src/intl/cs/page-gas.json
@@ -33,7 +33,7 @@
"page-gas-why-do-we-need-gas-header": "Proč potřebujeme palivo?",
"page-gas-why-do-we-need-gas-text": "Palivo je klíčovým prvkem pro zajištění bezpečnosti Etherea a zpracování transakcí. Palivo pomáhá mnoha způsoby:",
"page-gas-benefits-1-description": "Palivo udržuje Ethereum odolné vůči sybil útokům tím, že zabraňuje škodlivým aktérům zahltit síť podvodnými aktivitami.",
- "page-gas-benefits-2-description": "Vzhledem k tomu, že výpočet stojí palivo, je spamování Etherea drahými transakcemi, ať už náhodně nebo záměrně, finančně znevýhodněno.",
+ "page-gas-benefits-2-description": "Protože výpočty stojí gas, spamování sítě Ethereum drahými transakcemi, ať už náhodně, nebo se zlým úmyslem, je finančně demotivováno.",
"page-gas-benefits-3-description": "Pevný limit na množství výpočtů, které lze v jednom okamžiku provést, zabraňuje zahlcení Etherea a pomáhá zajistit, aby byla síť vždy dostupná.",
"page-gas-how-is-gas-calculated-header": "Jak jsou poplatky za palivo vypočítány?",
"page-gas-advanced": "Další",
diff --git a/src/intl/cs/page-get-eth.json b/src/intl/cs/page-get-eth.json
index 716b02377c2..0d18e8fad84 100644
--- a/src/intl/cs/page-get-eth.json
+++ b/src/intl/cs/page-get-eth.json
@@ -1,13 +1,13 @@
{
"page-get-eth-article-keeping-crypto-safe": "Klíče k uchování kryptoměny v bezpečí",
"page-get-eth-article-protecting-yourself": "Chráníme sebe a vaše prostředky",
- "page-get-eth-article-store-digital-assets": "Ukládání digitálních aktiv na Ethereu",
+ "page-get-eth-article-store-digital-assets": "Jak ukládat digitální aktiva na Ethereu",
"page-get-eth-article-protecting-yourself-desc": "MyCrypto",
"page-get-eth-article-keeping-crypto-safe-desc": "Coinbase",
"page-get-eth-article-store-digital-assets-desc": "ConsenSys",
"page-get-eth-cex": "Centralizované burzy",
"page-get-eth-cex-desc": "Burzy jsou podniky, které vám umožňují koupit si krypto za tradiční měny. Spravují vámi zakoupené ETH, dokud si ho nepošlete do vlastní peněženky.",
- "page-get-eth-checkout-dapps-btn": "Podívejte se na dappky",
+ "page-get-eth-checkout-dapps-btn": "Prohledněte si dappky",
"page-get-eth-community-safety": "Komunitní příspěvky o bezpečnosti",
"page-get-eth-description": "Ethereum není řízeno žádnou organizací – je decentralizované.",
"page-get-eth-dex": "Decentralizované burzy (DEX)",
@@ -32,7 +32,7 @@
"page-get-eth-exchanges-except": "Mimo",
"page-get-eth-exchanges-header": "V jaké zemi žijete?",
"page-get-eth-exchanges-header-exchanges": "Burzy",
- "page-get-eth-exchanges-header-wallets": "Kryptoměnové peněženky",
+ "page-get-eth-exchanges-header-wallets": "Peněženky",
"page-get-eth-exchanges-intro": "Burzy jsou omezené v tom, kde mohou prodávat kryptoměny. Toto je orientační seznam služeb, o kterých se předpokládá, že fungují v každé zemi. To, že je zde burza zahrnuta v seznamu, neznamená, že ji podporujeme – vždy si udělejte vlastní průzkum!",
"page-get-eth-exchanges-no-exchanges": "Omlouváme se, ale nevíme o žádné burze umožňující nakupovat ETH z této země. Pokud takovou znáte, dejte nám vědět na",
"page-get-eth-exchanges-no-exchanges-or-wallets": "Omlouváme se, ale nevíme o žádné burze umožňující nakupovat ETH z této země. Pokud takovou znáte, dejte nám vědět na",
@@ -42,7 +42,7 @@
"page-get-eth-exchanges-success-wallet-link": "peněženkách.",
"page-get-eth-exchanges-success-wallet-paragraph": "V zemi, kde žijete, můžete kupovat ETH pomocí těchto peněženek. Další informace o",
"page-get-eth-exchanges-usa": "Spojené státy americké (USA)",
- "page-get-eth-get-wallet-btn": "Vybrat peněženku",
+ "page-get-eth-get-wallet-btn": "Získat peněženku",
"page-get-eth-hero-image-alt": "Získat úvodní ETH obrázek",
"page-get-eth-keep-it-safe": "Udržujte své ETH v bezpečí",
"page-get-eth-meta-description": "Jak nakupovat ETH podle toho, kde žijete, a rady, jak se o něj postarat.",
diff --git a/src/intl/cs/page-history.json b/src/intl/cs/page-history.json
new file mode 100644
index 00000000000..3591b3f8211
--- /dev/null
+++ b/src/intl/cs/page-history.json
@@ -0,0 +1,7 @@
+{
+ "page-history-slot-number": "Číslo slotu",
+ "page-history-block-number": "Číslo bloku",
+ "page-history-epoch-number": "Číslo epochy",
+ "page-history-ethereum-org-wayback": "ethereum.org na Wayback Machine",
+ "page-history-eth-price": "Cena ETH"
+}
diff --git a/src/intl/cs/page-index.json b/src/intl/cs/page-index.json
index 35d11c6f624..5d22b655b87 100644
--- a/src/intl/cs/page-index.json
+++ b/src/intl/cs/page-index.json
@@ -19,7 +19,7 @@
"page-index-bento-networks-content": "Na síti Ethereum jsou postaveny stovky sítí 2. vrstvy. Užívejte si nízké poplatky a téměř okamžité transakce a zároveň využívejte prověřené bezpečnosti Etherea.",
"page-index-bento-networks-title": "Síť sítí",
"page-index-bento-stablecoins-action": "Více o stabilních kryptoměnách",
- "page-index-bento-stablecoins-content": "Stablecoiny jsou měny, které si udržují stabilní cenu vázanou na stabilní aktiva, jako je americký dolar. Získejte okamžitý přístup k celosvětovým platbám nebo ukládejte hodnotu v digitálních dolarech na síti Ethereum.",
+ "page-index-bento-stablecoins-content": "Stablecoiny jsou digitální měny, které si udržují stabilní cenu vázanou na stabilní aktiva, jako je americký dolar. Umožňují okamžité globální platby nebo uchovávání hodnoty v digitálních dolarech na Ethereu.",
"page-index-bento-stablecoins-title": "Digitální hotovost pro každodenní použití",
"page-index-builders-action-primary": "Portál pro vývojáře",
"page-index-builders-action-secondary": "Dokumentace",
diff --git a/src/intl/cs/page-layer-2-learn.json b/src/intl/cs/page-layer-2-learn.json
new file mode 100644
index 00000000000..b16d301b1b9
--- /dev/null
+++ b/src/intl/cs/page-layer-2-learn.json
@@ -0,0 +1,55 @@
+{
+ "page-layer-2-learn-meta-title": "Co je druhá vrstva? | ethereum.org",
+ "page-layer-2-learn-title": "Co je vrstva 2?",
+ "page-layer-2-learn-description": "Škálování Etherea pro masovou adopci",
+ "page-layer-2-learn-button-1-label": "Co je vrstva 2?",
+ "page-layer-2-learn-button-2-label": "Použijte vrstvu 2",
+ "page-layer-2-learn-what-is-layer-2-title": "Co je vrstva 2?",
+ "page-layer-2-learn-what-is-layer-2-1": "Vrstva 2 (L2) je souhrnný termín pro popis specifické sady škálovacích řešení Etherea. Vrstva 2 je samostatný blockchain, který rozšiřuje Ethereum a dědí bezpečnostní principy Etherea.",
+ "page-layer-2-learn-what-is-layer-2-2": "Nyní se do tématu ponoříme trochu hlouběji. Na to je třeba nejprve vysvětlit vrstvu 1 (L1).",
+ "page-layer-2-learn-what-is-layer-1-title": "Co je vrstva 1?",
+ "page-layer-2-learn-what-is-layer-1-1": "Blockchainy první vrstvy, jako jsou Ethereum a Bitcoin, jsou základním kamenem, na kterém staví projekty druhé vrstvy. Příklady projektů druhé vrstvy zahrnují rollupy s nulovou znalostí a optimistické rollupy na Ethereu a Lightning Network na Bitcoinu.",
+ "page-layer-2-learn-what-is-layer-1-2": "Ethereum také funguje jako vrstva dostupnosti dat pro druhé vrstvy, a pokud dojde ke sporům o předchozí transakce, data pro tyto spory jsou poskytována z Etherea.",
+ "page-layer-2-learn-layer-1-list-title": "Ethereum jako vrstva 1 zahrnuje:",
+ "page-layer-2-learn-layer-1-list-1": "síť operátorů uzlů k zabezpečení a ověření sítě",
+ "page-layer-2-learn-layer-1-list-2": "síť výrobců bloků",
+ "page-layer-2-learn-layer-1-list-3": "samotný blockchain a historii transakčních dat",
+ "page-layer-2-learn-layer-1-list-4": "mechanismus konsenzu pro síť",
+ "page-layer-2-learn-why-do-we-need-layer-2-title": "Proč potřebujeme vrstu 2?",
+ "page-layer-2-learn-why-do-we-need-layer-2-1": "Tři žádoucí vlastnosti blockchainu jsou decentralizace, bezpečnost a škálovatelnost. Blockchainové trilema říká, že jednoduchá blockchainová architektura může dosáhnout pouze dvou z těchto tří vlastností. Chcete bezpečný a decentralizovaný blockchain? Musíte obětovat škálovatelnost. A zde přicházejí na řadu sítě druhé vrstvy.",
+ "page-layer-2-learn-why-do-we-need-layer-2-2": "Ethereum dosáhlo současné kapacity sítě s více než 1 milionem transakcí denně, přičemž po každé z těchto transakcí je vysoká poptávka. Úspěch Etherea a poptávka po jeho používání způsobily podstatné zvýšení cen za plyn. Proto také vrcholí potřeba škálovacích řešení.",
+ "page-layer-2-learn-why-do-we-need-layer-2-scalability": "Škálovatelnost",
+ "page-layer-2-learn-why-do-we-need-layer-2-scalability-1": "Hlavním cílem škálovatelnosti je zvýšit rychlost transakcí (rychlejší finalita) a propustnost transakcí (vysoký počet transakcí za sekundu) bez obětování decentralizace nebo bezpečnosti.",
+ "page-layer-2-learn-why-do-we-need-layer-2-scalability-2": "Komunita Etherea zaujala pevný postoj, že v zájmu škálovatelnosti neobětuje decentralizaci ani bezpečnost. Až do zavedení shardingu bude hlavní síť Etherea (první vrstva) schopna zpracovat zhruba jen 15 transakcí za sekundu. Když je poptávka po používání Etherea vysoká, dochází k zahlcení sítě, což zvyšuje transakční poplatky a znemožňuje používání Etherea těm, kteří si to nemohou dovolit, dokud se poplatky nesníží. Právě zde přichází na řadu druhá vrstva, která dnes škáluje Ethereum.",
+ "page-layer-2-learn-layer2Cards-1-title": "Nižší poplatky",
+ "page-layer-2-learn-layer2Cards-1-description": "Spojením více transakcí do jediné transakce na první vrstvě se masivně snižují transakční poplatky, takže je Ethereum dostupnější pro všechny.",
+ "page-layer-2-learn-layer2Cards-2-title": "Udržuje bezpečnost",
+ "page-layer-2-learn-layer2Cards-2-description": "Blockchainy druhé vrstvy vypořádávají své transakce na hlavní síti Etherea, což uživatelům, kteří je používají, umožňuje těžit z bezpečnosti sítě Ethereum.",
+ "page-layer-2-learn-layer2Cards-3-title": "Rozšíří případy použití",
+ "page-layer-2-learn-layer2Cards-3-description": "Díky vyšším transakcím za sekundu, nižším poplatkům a nové technologii se projekty rozšíří do nových aplikací s lepší uživatelskou zkušeností.",
+ "page-layer-2-learn-how-does-layer-2-work-title": "Jak funguje vrstva 2?",
+ "page-layer-2-learn-how-does-layer-2-work-1": "Jak jsme zmínili výše, vrstva 2 je souhrnné označení pro škálovací řešení Etherea, která zpracovávají transakce mimo vrstvu 1 Etherea a přitom stále využívají robustní decentralizované zabezpečení vrstvy 1 Etherea. Vrstva 2 je samostatný blockchain, který rozšiřuje Ethereum. Jak to funguje?",
+ "page-layer-2-learn-how-does-layer-2-work-2": "Existuje několik různých typů vrstvy 2, z nichž každý má svá vlastní specifika a bezpečnostní modely. Vrstva 2 odstraňuje transakční zátěž vrstvy 1, což umožňuje, aby se méně zahlcovala a veškerá aktivita byla škálovatelnější.",
+ "page-layer-2-learn-how-does-layer-2-work-rollups-title": "Rollupy",
+ "page-layer-2-learn-how-does-layer-2-work-rollups-1": "Rollupy sdružují (neboli ‚rolují‘) stovky transakcí do jedné transakce na první vrstvě. Tím se transakční poplatky první vrstvy rozdělí mezi všechny v rollupu, takže je to pro každého uživatele levnější.",
+ "page-layer-2-learn-how-does-layer-2-work-rollups-2": "Data transakcí v rollupu se předávají na 1. vrstvu, ale provedení se provádí samostatně pomocí rollupu. Předáním transakčních dat na 1. vrstvu rollupy dědí bezpečnost Etherea. Je to proto, že jakmile jsou data odeslána na 1. vrstvu, vrácení transakce rollupu vyžaduje vrácení Etherea. Existují dva různé přístupy k rollupům: optimistický a zero-knowledge - liší se především způsobem, jakým jsou tato transakční data odesílána na 1. vrstvu.",
+ "page-layer-2-learn-rollupCards-optimistic-title": "Optimistický rollup",
+ "page-layer-2-learn-rollupCards-optimistic-description": "Optimistické rollupy používají důkazy o chybě, kde se transakce považují za platné, ale mohou být napadeny, pokud existuje podezření na neplatnou transakci. Pokud existuje podezření na neplatnou transakci, spustí se důkaz o chybě, aby se zjistilo, zda k tomu došlo.",
+ "page-layer-2-learn-rollupCards-optimistic-childSentence": "Více o optimistických rollupech",
+ "page-layer-2-learn-rollupCards-zk-title": "Rollupy s nulovou znalostí",
+ "page-layer-2-learn-rollupCards-zk-description": "Rollupy s nulovou znalostí používají důkazy platnosti, kde se výpočty transakcí provádějí mimo řetězec a tato data jsou pak dodána do hlavní sítě Etherea s důkazem jejich platnosti.",
+ "page-layer-2-learn-rollupCards-zk-childSentence": "Více o zk-rollups",
+ "page-layer-2-learn-dyor-title": "Udělejte si vlastní průzkum: Rizika druhé vrstvy",
+ "page-layer-2-learn-dyor-1": "Protože řetězce druhé vrstvy dědí zabezpečení od Etherea, v ideálním světě jsou stejně bezpečné jako Ethereum první vrstvy. Mnohé z těchto projektů jsou však stále mladé a poněkud experimentální. Po letech výzkumu a vývoje bylo mnoho technologií druhé vrstvy, které budou škálovat Ethereum, spuštěno v roce 2021. Tím nechceme říci, že tyto druhé vrstvy nejsou bezpečné, pouze to, že žádná druhá vrstva není tak prověřená v praxi jako hlavní síť Etherea. Vždy si udělejte vlastní průzkum a rozhodněte se, zda vám případná rizika vyhovují.",
+ "page-layer-2-learn-dyor-2": "Pro více informací o technologii, rizicích a předpokladech důvěry u druhých vrstev doporučujeme navštívit L2BEAT, který poskytuje komplexní rámec pro hodnocení rizik každého projektu.",
+ "page-layer-2-learn-dyor-link": "Navštívit L2BEAT",
+ "page-layer-2-learn-note-on-alt-l1-title": "Poznámka k alternativním prvním vrstvám, sidechainům a validiím",
+ "page-layer-2-learn-note-on-alt-l1-1": "Alternativní první vrstvy mají vyšší propustnost a nižší transakční poplatky než Ethereum. Tyto alternativní první vrstvy musely obětovat bezpečnost nebo decentralizaci, aby dosáhly vyššího počtu transakcí za sekundu a nižších poplatků. Ekosystém Etherea je pevně přesvědčen, že škálování druhé vrstvy je jediným způsobem, jak vyřešit trilema škálovatelnosti a zůstat decentralizovaný a bezpečný.",
+ "page-layer-2-learn-note-on-alt-l1-2": "Sidechainy a validia jsou blockchainy, které umožňují přemostění aktiv z jednoho blockchainu a jejich použití na jiném. Sidechainy a validia běží souběžně s hlavním řetězcem a komunikují s ním prostřednictvím přemostění, ale nezískávají z něj své zabezpečení ani dostupnost dat. Škálovatelností se podobají druhým vrstvám, ale mají odlišné předpoklady důvěry. Nabízejí nižší transakční poplatky a vyšší propustnost transakcí. Více o sidechainech a validiích.",
+ "page-layer-2-learn-callout-1-title": "Jaké jsou výhody?",
+ "page-layer-2-learn-callout-1-description": "Prozkoumejte, jaký praktický dopad mají řešení druhé vrstvy na uživatelský zážitek.",
+ "page-layer-2-learn-learn-more": "Další informace",
+ "page-layer-2-learn-callout-2-title": "Prozkoumejte různé sítě",
+ "page-layer-2-learn-callout-2-description": "Zjistěte, jak se sítě od sebe liší a jak daleko pokročily ve svém vývoji.",
+ "page-layer-2-learn-explore-networks": "Prozkoumejte sítě"
+}
diff --git a/src/intl/cs/page-layer-2-networks.json b/src/intl/cs/page-layer-2-networks.json
new file mode 100644
index 00000000000..a25c032e276
--- /dev/null
+++ b/src/intl/cs/page-layer-2-networks.json
@@ -0,0 +1,85 @@
+{
+ "page-layer-2-networks-hero-description": "Používat Ethereum dnes znamená interagovat se stovkami různých sítí a aplikací. Všechny jsou podporovány Ethereem jako základní páteří.",
+ "page-layer-2-networks-meta-title": "Ethereum Layer 2: Prozkoumat sítě",
+ "page-layer-2-networks-more-advanced-title": "Hledáte pokročilejší přehled?",
+ "page-layer-2-networks-more-advanced-descripton-1": "Mnoho z těchto projektů je",
+ "page-layer-2-networks-more-advanced-descripton-2": "stále mladých a poněkud experimentálních.",
+ "page-layer-2-networks-more-advanced-descripton-3": "Pro více informací o technologii, rizicích a předpokladech důvěry těchto sítí doporučujeme navštívit L2BEAT, který poskytuje komplexní rámec pro hodnocení rizik každého projektu, a growthepie pro obecnou analýzu dat.",
+ "page-layer-2-networks-more-advanced-link-1": "Navštivte l2beat.com",
+ "page-layer-2-networks-more-advanced-link-2": "Navštivte growthepie.com",
+ "page-layer-2-networks-callout-1-title": "Jaké jsou výhody?",
+ "page-layer-2-networks-callout-1-description": "Síla a bezpečnost Etherea poskytuje platformu, na které mohou stavět další sítě.",
+ "page-layer-2-networks-callout-2-title": "Zajímají vás další podrobnosti?",
+ "page-layer-2-networks-callout-2-description": "Zajímá vás technologie a důvody tohoto přístupu ke škálování? Přečtěte si více o myšlení a různých technologických přístupech.",
+ "page-layer-2-networks-n/a-label": "Není k dispozici",
+ "page-layer-2-networks-n/a-description": "Nevztahuje se na hlavní síť Ethereum.",
+ "page-layer-2-networks-robust-label": "Robustní",
+ "page-layer-2-networks-robust-description": "Plně decentralizovaná a bezpečná síť, se kterou nelze manipulovat ani ji zastavit žádným jednotlivcem nebo skupinou, včetně jejích tvůrců.\n\nJedná se o síť, která naplňuje vizi Etherea o decentralizaci.",
+ "page-layer-2-networks-maturing-label": "Dozrávající",
+ "page-layer-2-networks-maturing-description": "Síť přecházející k decentralizaci. Skupina aktérů může být stále schopna zastavit síť v extrémních situacích.",
+ "page-layer-2-networks-developing-label": "Rozvíjející se",
+ "page-layer-2-networks-developing-description": "Síť provozuje centralizovaný operátor, který ale přidává bezpečnostní prvky pro snížení rizik centralizace.",
+ "page-layer-2-networks-emerging-label": "Vznikající",
+ "page-layer-2-networks-emerging-description": "Síť provozuje centralizovaný operátor. Data jsou veřejně viditelná na Ethereu, aby se ověřilo, zda operátor jedná čestně.",
+ "page-layer-2-networks-network-maturity": "Vyspělost sítě",
+ "page-layer-2-networks-network-maturity-with-colon": "Vyspělost sítě:",
+ "page-layer-2-networks-network-maturity-description": "Zohledňuje fázi vývoje, rizika spojená s používáním sítě a velikost ekosystému sítě.",
+ "page-layer-2-networks-summary-metric": "Toto je souhrnná metrika založená na analýze rizik provedené",
+ "page-layer-2-networks-no-results-title": "Žádné výsledky",
+ "page-layer-2-networks-no-results-description": "Neexistují žádné sítě odpovídající vašim kritériím, zkuste přidat nějaké filtry",
+ "page-layer-2-networks-reset-filters": "Resetovat filtry",
+ "page-layer-2-networks-age": "Stáří",
+ "page-layer-2-networks-show-how-long": "Ukazuje, jak dlouho je síť v provozu.",
+ "page-layer-2-networks-data-from": "Data z",
+ "page-layer-2-networks-period": ".",
+ "page-layer-2-networks-wallet-support": "Podpora peněženek",
+ "page-layer-2-networks-how-many-wallet-support": "Udává, kolik aplikací peněženek podporuje používání sítě.",
+ "page-layer-2-networks-active-address": "Aktivní adresy",
+ "page-layer-2-networks-active-address-weekly": "Aktivní adresy (týdně)",
+ "page-layer-2-networks-active-address-number": "Počet aktivních adres na síti za posledních 7 dní.",
+ "page-layer-2-networks-fee-token": "Token pro poplatky",
+ "page-layer-2-networks-token-used-to-pay": "Token, který se používá k placení za transakce a používání sítě.",
+ "page-layer-2-networks-network-usage": "Využití sítě",
+ "page-layer-2-networks-network-usage-overview": "Přehled využití sítě. Měří počet transakcí v příslušných oblastech za posledních 30 dnů.",
+ "page-layer-2-networks-no-data-available": "Žádná data nejsou k dispozici",
+ "page-layer-2-networks-links": "Odkazy",
+ "page-layer-2-networks-official-website": "Oficiální webová stránka",
+ "page-layer-2-networks-risk-analysis": "Analýza rizik",
+ "page-layer-2-networks-assessment-by-l2beat": "Hodnocení od L2BEAT",
+ "page-layer-2-networks-detailed-analytics": "Podrobné analýzy",
+ "page-layer-2-networks-assessment-by-growthepie": "Hodnocení od growthepie",
+ "page-layer-2-networks-bridge-to": "Přemostit do",
+ "page-layer-2-networks-view-apps": "Zobrazit aplikace",
+ "page-layer-2-networks-select-wallet": "Vybrat peněženku",
+ "page-layer-2-networks-search-wallets": "Hledat peněženky...",
+ "page-layer-2-networks-no-wallet-found": "Nebyly nalezeny žádné peněženky",
+ "page-layer-2-networks-robust-description-1": "Plně decentralizovaná a bezpečná síť, se kterou nelze manipulovat ani ji zastavit žádným jednotlivcem nebo skupinou, včetně jejích tvůrců.",
+ "page-layer-2-networks-robust-description-2": "Jedná se o síť, která naplňuje vizi Etherea o decentralizaci.",
+ "page-layer-2-networks-developing-description-1": "Síť provozuje jediný operátor s veřejnou viditelností dat pro zajištění transparentnosti.",
+ "page-layer-2-networks-emerging-description-1": "Síť provozuje jediný operátor v soukromém režimu a pracuje na zajištění transparentnosti.",
+ "page-layer-2-networks-networks-showing": "Zobrazené sítě",
+ "page-layer-2-networks-market-share": "Podíl na trhu",
+ "page-layer-2-networks-market-share-description": "Celková hodnota uzamčená v escrow smlouvách na Ethereu.",
+ "page-layer-2-networks-avg-transaction-fee": "Prům. transakční poplatek",
+ "page-layer-2-networks-transaction-fee": "Transakční poplatek",
+ "page-layer-2-networks-transaction-fee-description": "Průměrné náklady na transakci pro převody, swapy, mintování a další aktivity.",
+ "page-layer-2-networks-transaction-see-networks": "Zobrazit sítě",
+ "page-layer-2-network-maturity-component-1": "Hodnotíme pokrok sítě směrem k",
+ "page-layer-2-network-maturity-component-2": "souladu s Ethereem",
+ "page-layer-2-network-maturity-component-3": "celkové uzamčené hodnotě (TVL)",
+ "page-layer-2-network-maturity-component-4": "době provozu v produkčním prostředí",
+ "page-layer-2-network-maturity-component-5": "a zvážení rizik",
+ "page-layer-2-network-maturity-component-6": "Tyto úrovně pomáhají sledovat vývoj sítě a poskytují komunitě standardizovaný způsob hodnocení pokroku.",
+ "page-layer-2-network-maturity-component-7": "Samotný technický pokrok nestačí, přijetí uživateli a stáří jsou nezbytnou součástí celkové síly a vyspělosti každé sítě.",
+ "page-layer-2-network-maturity-component-8": "Vyspělost",
+ "page-layer-2-network-maturity-component-9": "Požadavky",
+ "page-layer-2-network-maturity-component-10": "• Fáze 2",
+ "page-layer-2-network-maturity-component-11": "• Minimálně 1 mld. USD v TVL",
+ "page-layer-2-network-maturity-component-12": "• Fáze 1",
+ "page-layer-2-network-maturity-component-13": "• Minimálně 150 mil. USD v TVL",
+ "page-layer-2-network-maturity-component-14": "• 6+ měsíců v produkčním provozu",
+ "page-layer-2-network-maturity-component-15": "• Fáze 0",
+ "page-layer-2-network-maturity-component-16": "• Hodnocení rizik: 3/5 (L2beat)",
+ "page-layer-2-network-maturity-component-17": "• Hodnocení rizik: 2/5 (L2beat)",
+ "page-layer-2-network-maturity-component-18": "• Minimálně 150 mil. USD v TVL nebo 6+ měsíců v produkčním provozu"
+}
diff --git a/src/intl/cs/page-layer-2.json b/src/intl/cs/page-layer-2.json
index e051872b4a4..1ab0b609373 100644
--- a/src/intl/cs/page-layer-2.json
+++ b/src/intl/cs/page-layer-2.json
@@ -1,58 +1,61 @@
{
- "page-layer-2-hero-title": "Vrstva 2",
- "page-layer-2-hero-header": "Ethereum sítě",
- "page-layer-2-hero-description": "Používejte Ethereum za zlomek ceny.",
- "page-layer-2-hero-button-2-content": "Zjistit více",
- "page-layer-2-period": ".",
- "page-layer-2-calloutCard-1-title": "Poplatky ve výši 0,01 $",
- "page-layer-2-calloutCard-1-description": "Můžete obchodovat, posílat peníze po celém světě nebo používat aplikace bez obav z vysokých nákladů.",
- "page-layer-2-calloutCard-2-title": "Téměř okamžité transakce",
- "page-layer-2-calloutCard-2-description": "Ať už provádíte rychlou platbu, nebo se zapojujete do decentralizovaných financí (DeFi), všechny transakce trvají jen několik sekund.",
- "page-layer-2-calloutCard-3-title": "Podpořeno Ethereum",
- "page-layer-2-calloutCard-3-description": "Časem prověřený a decentralizovaný blockchain Ethereum funguje jako vypořádací vrstva pro ostatní novější sítě.",
- "page-layer-2-meta-title": "Úvod do druhé vrstvy na Ethereu: výhody a použití",
- "page-layer-2-meta-description": "Zjistěte více o sítích druhé vrstvy na Ethereu",
- "page-layer-2-powered-by-ethereum-title": "Založeno na Ethereum",
- "page-layer-2-powered-by-ethereum-description-1": "Ethereum už není jen jedna síť.",
- "page-layer-2-powered-by-ethereum-description-2": "Díky stovkám blockchainů, které jsou na něm nyní postaveny, se Ethereum stalo nákladově efektivnějším, rychlejším a dostupnějším pro každodenní použití.",
- "page-layer-2-powered-by-ethereum-description-3": "Přijměte budoucnost a připojte se k jedné z mnoha sítí založených na Ethereum!",
- "page-layer-2-man-and-dog-alt": "Muž a pes si hrají",
- "page-layer-2-blockchain-transaction-cost": "Průměrné transakční náklady na blockchainu Ethereum",
- "page-layer-2-networks-transaction-cost": "Průměrné transakční náklady v sítích podpořených Ethereem",
- "page-layer-2-network-of-networks-title": "Síť sítí",
- "page-layer-2-network-of-networks-description": "Síla a bezpečnost Ethereum představuje platformu, na které mohou stavět další sítě. S jediným účtem je vše kompatibilní a bezproblémově propojitelné.",
- "page-layer-2-ethereum-logo-alt": "Ethereum",
- "page-layer-2-ready-to-start-title": "Jste připraveni začít?",
- "page-layer-2-ready-to-start-description": "Podívejte se na různé sítě, které máte k dispozici.",
- "page-layer-2-ready-to-start-button": "Prozkoumejte sítě",
- "page-layer-2-go": "Přejít",
- "page-layer-2-walking-alt": "Chůze",
- "page-layer-2-why-do-we-need-multiple-networks-1": "Proč potřebujeme na Ethereu více sítí?",
- "page-layer-2-why-do-we-need-multiple-networks-2": "Proč existují všechny tyto sítě a ne jen jedna síť Ethereum?",
- "page-layer-2-faq-title": "Často kladené dotazy",
- "page-layer-2-faq-ExpandableCard-1-title": "Jak poznám, že je síť součástí Ethereum?",
- "page-layer-2-faq-ExpandableCard-1-description-1": "V souvislosti s Ethereem lze sítě kategorizovat mnoha různými způsoby. Mnohé sítě tvrdí, že škálují Ethereum, aby získaly popularitu. Jednoznačným hlediskem však je, zda síť ukládá svá data v hlavní síti Ethereum. To výrazně zvyšuje bezpečnost uživatelů a vizi Ethereum bez nutnosti oprávnění. Takovým projektům se často říká „rollupy“. Pokud jsou data uložena někde jinde, pak projekt není přímým rozšířením Ethereum a je tedy nezávislý. Podívejte se na některé z nejpopulárnějších",
- "page-layer-2-faq-ExpandableCard-1-description-2": "Některá specifická odvětví nemusí vyžadovat tak přímý úzký vztah, například herní nebo nefinanční aplikace, pro které jsou vhodnější jiné technologie.",
- "page-layer-2-faq-ExpandableCard-2-title": "Jsou všechny tyto sítě bezpečné?",
- "page-layer-2-faq-ExpandableCard-2-description-1": "Ačkoli jsou obecně navrženy s robustními bezpečnostními prvky, jejich bezpečnost závisí na základní technologii, zabezpečení chytrých kontraktů a",
- "page-layer-2-faq-ExpandableCard-2-link": "vyspělosti sítě",
- "page-layer-2-faq-ExpandableCard-2-description-2": "Uživatelé by měli postupovat s náležitou péčí, začít s malými transakcemi a sledovat vývoj, aby bylo zajištěno bezpečné používání.",
- "page-layer-2-faq-ExpandableCard-3-title": "Proč nemůže Ethereum škálovat svůj vlastní blockchain místo spoléhání se na tyto sítě?",
- "page-layer-2-faq-ExpandableCard-3-description": "Ethereum nemůže snadno škálovat svůj vlastní hlavní blockchain, protože musí zůstat bezpečné a decentralizované. Zrychlením hlavního blockchainu by se mohlo stát méně bezpečným a více centralizovaným. Sítě Ethereum si pomáhají tím, že zpracovávají transakce mimo hlavní blockchain a poté využívají hlavní blockchain pro zabezpečení, což Ethereu umožňuje zpracovávat více transakcí bez ztráty bezpečnosti nebo decentralizace.",
- "page-layer-2-faq-ExpandableCard-4-title": "Proč neexistují žádné „oficiální“ sítě Ethereum?",
- "page-layer-2-faq-ExpandableCard-4-description": "Stejně jako neexistuje „oficiální“ klient pro Ethereum, neexistuje ani „oficiální“ druhá vrstva Ethereum. Ethereum je „bez povolení“ – technicky si každý může vytvořit svoji druhou vrstvu! Pokud implementuje svou verzi druhé vrstvy hned několik týmů současně, ekosystém jako celek bude prosperovat z odlišných přístupů optimalizovaných pro různé použití. Podobně jako máme několik klientů na Ethereu, které vyvinulo několik týmů, aby byla v síti zachována rozmanitost, stejně tak se bude v budoucnosti vyvíjet i směřování druhých vrstev.",
- "page-layer-2-callout-1-title": "Prozkoumejte různé sítě",
- "page-layer-2-callout-1-description": "Zjistěte, jak se sítě liší a jak daleko pokročily ve svém vývoji.",
- "page-layer-2-callout-2-title": "Zajímají vás další podrobnosti?",
- "page-layer-2-callout-2-description": "Zajímá vás technologie a důvody tohoto přístupu ke škálování? Přečtěte si více o myšlení a různých technologických přístupech.",
- "page-layer-2-arbitrum-description": "Arbitrum One je univerzální optimistický rollup vytvořený společností Offchain Labs a spravovaný DAO Arbitrum.",
- "page-layer-2-base-description": "Base je optimistický rollup sestavený pomocí OP zásobníku. Nabízí levný a uživatelsky přívětivý způsob, jak může kdokoli a odkudkoli stavět na blockchainu.",
- "page-layer-2-optimism-description": "OP Mainnet je optimistický rollup ekvivalentní EVM. Jeho cílem je být rychlý, jednoduchý a bezpečný.",
- "page-layer-2-blast-description": "Blast je optimistický rollup kompatibilní s EVM, který podporuje nativní výnosy.",
- "page-layer-2-zksync2-description": "ZKsync Era je univerzální rollup s nulovou znalostí plně kompatibilní s EVM.",
- "page-layer-2-linea-description": "Linea je rollup s nulovou znalostí poháněný Consensys zkEVM, navržený pro škálování sítě Ethereum.",
- "page-layer-2-scroll-description": "Scroll je rollup s nulovou znalostí, který rozšiřuje možnosti Ethereum díky technologii nulové znalosti a kompatibilitě s EVM.",
- "page-layer-2-starknet-description": "Starknet je univerzální rollup s nulovou znalostí založený na STARKách a virtuálním stroji Cairo.",
- "page-layer-2-mode-description": "Mode je optimistický rollup s OP zásobníkem budující ekonomiku AIFi.",
- "page-layer-2-taiko-description": "Taiko je decentralizovaný rollup s nulovou znalostí, ekvivalentní Ethereu a kompatibilní s EVM, který umožňuje bezproblémovou komunikaci mezi blockchainy."
+ "page-layer-2-hero-title": "Vrstva 2",
+ "page-layer-2-hero-header": "Ethereum sítě",
+ "page-layer-2-hero-description": "Používejte Ethereum za zlomek ceny.",
+ "page-layer-2-hero-button-2-content": "Další informace",
+ "page-layer-2-period": ".",
+ "page-layer-2-calloutCard-1-title": "Poplatky ve výši 0,01 $",
+ "page-layer-2-calloutCard-1-description": "Můžete obchodovat, posílat peníze po celém světě nebo používat aplikace bez obav z vysokých nákladů.",
+ "page-layer-2-calloutCard-2-title": "Téměř okamžité transakce",
+ "page-layer-2-calloutCard-2-description": "Ať už provádíte rychlou platbu, nebo se zapojujete do decentralizovaných financí (DeFi), všechny transakce trvají jen několik sekund.",
+ "page-layer-2-calloutCard-3-title": "Podpořeno Ethereem",
+ "page-layer-2-calloutCard-3-description": "Časem prověřený a decentralizovaný blockchain Etherea funguje jako vypořádací vrstva pro ostatní novější sítě.",
+ "page-layer-2-meta-title": "Úvod do druhé vrstvy na Ethereu: výhody a použití",
+ "page-layer-2-meta-description": "Zjistěte více o sítích druhé vrstvy na Ethereu",
+ "page-layer-2-powered-by-ethereum-title": "Založeno na Ethereu",
+ "page-layer-2-powered-by-ethereum-description-1": "Ethereum už není jen jedna síť.",
+ "page-layer-2-powered-by-ethereum-description-2": "Díky stovkám blockchainů, které jsou na něm nyní postaveny, se Ethereum stalo nákladově efektivnějším, rychlejším a dostupnějším pro každodenní použití.",
+ "page-layer-2-powered-by-ethereum-description-3": "Přijměte budoucnost a připojte se k jedné z mnoha sítí založených na Ethereu!",
+ "page-layer-2-man-and-dog-alt": "Muž a pes si hrají",
+ "page-layer-2-blockchain-transaction-cost": "Průměrné transakční náklady na blockchainu Etherea",
+ "page-layer-2-networks-transaction-cost": "Průměrné transakční náklady v sítích podpořených Ethereem",
+ "page-layer-2-network-of-networks-title": "Síť sítí",
+ "page-layer-2-network-of-networks-description": "Síla a bezpečnost Etherea představuje platformu, na které mohou stavět další sítě. S jediným účtem je vše kompatibilní a bezproblémově propojitelné.",
+ "page-layer-2-ethereum-logo-alt": "Ethereum",
+ "page-layer-2-ready-to-start-title": "Jste připraveni začít?",
+ "page-layer-2-ready-to-start-description": "Podívejte se na různé sítě, které máte k dispozici.",
+ "page-layer-2-ready-to-start-button": "Prozkoumejte sítě",
+ "page-layer-2-go": "Go",
+ "page-layer-2-walking-alt": "Chůze",
+ "page-layer-2-why-do-we-need-multiple-networks-1": "Proč potřebujeme na Ethereu více sítí?",
+ "page-layer-2-why-do-we-need-multiple-networks-2": "Proč existují všechny tyto sítě a ne jen jedna síť Ethereum?",
+ "page-layer-2-faq-title": "Často kladené dotazy",
+ "page-layer-2-faq-ExpandableCard-1-title": "Jak poznám, že je síť součástí Etherea?",
+ "page-layer-2-faq-ExpandableCard-1-description-1": "V souvislosti s Ethereem lze sítě kategorizovat mnoha různými způsoby. Mnohé sítě tvrdí, že škálují Ethereum, aby získaly popularitu. Jednoznačným hlediskem však je, zda síť ukládá svá data v hlavní síti Etherea. To výrazně zvyšuje bezpečnost uživatelů a vizi Etherea bez nutnosti oprávnění. Takovým projektům se často říká „rollupy“. Pokud jsou data uložena někde jinde, pak projekt není přímým rozšířením Etherea a je tedy nezávislý. Podívejte se na některé z nejpopulárnějších",
+ "page-layer-2-faq-ExpandableCard-1-description-2": "Některá specifická odvětví nemusí vyžadovat tak přímý úzký vztah, například herní nebo nefinanční aplikace, pro které jsou vhodnější jiné technologie.",
+ "page-layer-2-faq-ExpandableCard-2-title": "Jsou všechny tyto sítě bezpečné?",
+ "page-layer-2-faq-ExpandableCard-2-description-1": "Ačkoli jsou obecně navrženy s robustními bezpečnostními prvky, jejich bezpečnost závisí na základní technologii, zabezpečení chytrých kontraktů a",
+ "page-layer-2-faq-ExpandableCard-2-link": "vyspělosti sítě",
+ "page-layer-2-faq-ExpandableCard-2-description-2": "Uživatelé by měli postupovat s náležitou péčí, začít s malými transakcemi a sledovat vývoj, aby bylo zajištěno bezpečné používání.",
+ "page-layer-2-faq-ExpandableCard-3-title": "Proč nemůže Ethereum škálovat svůj vlastní blockchain místo spoléhání se na tyto sítě?",
+ "page-layer-2-faq-ExpandableCard-3-description": "Ethereum nemůže snadno škálovat svůj vlastní hlavní blockchain, protože musí zůstat bezpečné a decentralizované. Zrychlením hlavního blockchainu by se mohlo stát méně bezpečným a více centralizovaným. Sítě Etherea si pomáhají tím, že zpracovávají transakce mimo hlavní blockchain a poté využívají hlavní blockchain pro zabezpečení, což Ethereu umožňuje zpracovávat více transakcí bez ztráty bezpečnosti nebo decentralizace.",
+ "page-layer-2-faq-ExpandableCard-4-title": "Proč neexistují žádné „oficiální“ sítě Etherea?",
+ "page-layer-2-faq-ExpandableCard-4-description": "Stejně jako neexistuje „oficiální“ klient pro Ethereum, neexistuje ani „oficiální“ druhá vrstva Etherea. Ethereum je „bez povolení“ – technicky si každý může vytvořit svoji druhou vrstvu! Pokud implementuje svou verzi druhé vrstvy hned několik týmů současně, ekosystém jako celek bude prosperovat z odlišných přístupů optimalizovaných pro různé použití. Podobně jako máme několik klientů na Ethereu, které vyvinulo několik týmů, aby byla v síti zachována rozmanitost, stejně tak se bude v budoucnosti vyvíjet i směřování druhých vrstev.",
+ "page-layer-2-callout-1-title": "Prozkoumejte různé sítě",
+ "page-layer-2-callout-1-description": "Zjistěte, jak se sítě liší a jak daleko pokročily ve svém vývoji.",
+ "page-layer-2-callout-2-title": "Zajímají vás další podrobnosti?",
+ "page-layer-2-callout-2-description": "Zajímá vás technologie a důvody tohoto přístupu ke škálování? Přečtěte si více o myšlení a různých technologických přístupech.",
+ "page-layer-2-arbitrum-description": "Arbitrum One je univerzální optimistický rollup vytvořený společností Offchain Labs a spravovaný DAO Arbitrum.",
+ "page-layer-2-base-description": "Base je optimistický rollup sestavený pomocí OP zásobníku. Nabízí levný a uživatelsky přívětivý způsob, jak může kdokoli a odkudkoli stavět na blockchainu.",
+ "page-layer-2-optimism-description": "OP Mainnet je optimistický rollup ekvivalentní EVM. Jeho cílem je být rychlý, jednoduchý a bezpečný.",
+ "page-layer-2-blast-description": "Blast je optimistický rollup kompatibilní s EVM, který podporuje nativní výnosy.",
+ "page-layer-2-zksync2-description": "ZKsync Era je univerzální rollup s nulovou znalostí plně kompatibilní s EVM.",
+ "page-layer-2-linea-description": "Linea je rollup s nulovou znalostí poháněný Consensys zkEVM, navržený pro škálování sítě Etherea.",
+ "page-layer-2-scroll-description": "Scroll je rollup s nulovou znalostí, který rozšiřuje možnosti Etherea díky technologii nulové znalosti a kompatibilitě s EVM.",
+ "page-layer-2-starknet-description": "Starknet je univerzální rollup s nulovou znalostí založený na STARKách a virtuálním stroji Cairo.",
+ "page-layer-2-mode-description": "Mode je optimistický rollup s OP zásobníkem budující ekonomiku AIFi.",
+ "page-layer-2-taiko-description": "Taiko je decentralizovaný rollup s nulovou znalostí, ekvivalentní Ethereu a kompatibilní s EVM, který umožňuje bezproblémovou komunikaci mezi blockchainy.",
+ "page-layer-2-unichain-description": "Unichain je nativní DeFi Ethereum L2, vytvořená jako domov pro likviditu napříč řetězci.",
+ "page-layer-2-ink-description": "Ink je blockchain druhé vrstvy Ethereum OP Stack navržený jako domov DeFi pro Superchain; výkonná základní vrstva pro nasazování inovativních DeFi protokolů.",
+ "page-layer-2-zircuit-description": "Zircuit je ZK Rollup kompatibilní s EVM, který se vyznačuje zabezpečením na úrovni sekvenceru s podporou umělé inteligence pro detekci a prevenci škodlivých transakcí."
}
diff --git a/src/intl/cs/page-learn.json b/src/intl/cs/page-learn.json
index b898264d0c0..8c1373c3fb4 100644
--- a/src/intl/cs/page-learn.json
+++ b/src/intl/cs/page-learn.json
@@ -1,4 +1,5 @@
{
+ "about-ethereum-video-series": "Videa o Ethereu",
"toc-learn-hub": "Akademie",
"toc-what-is-crypto-ethereum": "Co je to Ethereum?",
"toc-how-do-i-use-ethereum": "Jak mohu používat Ethereum?",
@@ -42,7 +43,7 @@
"things-to-consider-banner-2": "Poplatky mohou být vysoké v závislosti na počtu lidí, kteří se snaží používat Ethereum, proto doporučujeme používat",
"things-to-consider-banner-layer-2": "Vrstvu 2",
"additional-reading-more-on-using-ethereum": "Více o používání Etherea",
- "additional-reading-how-to-create-an-ethereum-account": "Jak si vytvořit Ethereum účet",
+ "additional-reading-how-to-create-an-ethereum-account": "Jak vytvořit Ethereum účet",
"additional-reading-how-to-use-a-wallet": "Jak používat peněženku",
"additional-reading-layer-2": "Vrstva 2: snížení transakčních poplatků",
"what-is-ethereum-used-for-1": "Ethereum vedlo k vytváření nových produktů a služeb, které mohou zlepšit různé oblasti našeho života. Jsme stále v rané fázi, ale je toho hodně na co se můžeme těšit.",
@@ -58,9 +59,9 @@
"dao-card-title": "Decentralizované autonomní organizace (DAO)",
"dao-card-description": "Umožněte nové způsoby koordinace práce bez šéfa.",
"dao-card-button": "Co jsou DAO?",
- "dapp-card-title": "Decentralizované aplikace (dappky)",
+ "dapp-card-title": "Aplikace na Ethereu",
"dapp-card-description": "Vytvořte digitální ekonomiku peer-to-peer služeb.",
- "dapp-card-button": "Prozkoumat dappky",
+ "dapp-card-button": "Co jsou appky?",
"emerging-use-cases-title": "Rozvíjející se případy použití",
"emerging-use-cases-description": "Díky Ethereu vznikají nebo se zdokonalují i další významná odvětví:",
"play-to-earn": "Play-to-earn hry (P2E)",
@@ -72,16 +73,16 @@
"staking-ethereum-card-title": "Uzamčení Etherea",
"staking-ethereum-card-description": "Zjistěte, jak začít s uzamčením svého ETH.",
"staking-ethereum-card-button": "Začněte s uzamčením",
- "run-a-node-card-title": "Provozování vlastního uzlu",
+ "run-a-node-card-title": "Spuštění uzlu",
"run-a-node-card-description": "Hrajte klíčovou roli v síti Ethereum spuštěním uzlu.",
"learn-about-ethereum-protocol-description": "Pro uživatele, kteří mají největší zájem o technickou část sítě Ethereum.",
"energy-consumption-card-title": "Spotřeba energie",
"energy-consumption-card-description": "Kolik energie Ethereum spotřebuje?",
"energy-consumption-card-button": "Je Ethereum ekologické?",
"ethereum-upgrades-card-title": "Plán Etherea",
- "ethereum-upgrades-card-description": "Plán Etherea ho činí škálovatelnějším, bezpečnějším a udržitelnějším.",
+ "ethereum-upgrades-card-description": "Plán rozvoje Etherea ho činí škálovatelnějším, bezpečnějším a udržitelnějším.",
"ethereum-upgrades-card-button": "Prozkoumejte mapu",
- "ethereum-whitepaper-card-title": "Ethereum dokument",
+ "ethereum-whitepaper-card-title": "Bílá kniha Ethereum",
"ethereum-whitepaper-card-description": "Původní návrh Etherea vypracovaný Vitalikem Buterinem v roce 2014.",
"ethereum-whitepaper-card-button": "Přečtěte si whitepaper",
"more-on-ethereum-protocol-title": "Více o Ethereum protokolu",
@@ -117,6 +118,8 @@
"zeroknowledge-description": "Hlouběji popisuje technologii, která pohání decentralizovaný web a komunitu, která tohle vytváří",
"green-pill-title": "Zelená pilulka",
"green-pill-description": "Zkoumá kryptoekonomické systémy, které vytvářejí pro svět pozitivní externality",
+ "ethereum-basics-title": "Ethereum pro začátečníky",
+ "ethereum-basics-description": "Naučte se základy architektury sítě Ethereum pomocí snadno srozumitelné série videí.",
"unchained-title": "Unchained",
"unchained-description": "Blíže popisuje lidi budující decentralizovaný internet, detaily této technologie, která by mohla být základem naší budoucnosti, a některá palčivá témata kryptoměn, jako je regulace, bezpečnost a soukromí",
"the-daily-gwei-title": "The Daily Gwei",
diff --git a/src/intl/cs/page-resources.json b/src/intl/cs/page-resources.json
new file mode 100644
index 00000000000..9650ef5bbad
--- /dev/null
+++ b/src/intl/cs/page-resources.json
@@ -0,0 +1,97 @@
+{
+ "page-resources-network-title": "Síť",
+ "page-resources-using-title": "Používání Etherea",
+ "page-resources-scaling-title": "Škálování Etherea",
+ "page-resources-resilience-title": "Odolnost Etherea",
+ "page-resources-privacy-security-title": "Soukromí a bezpečnost",
+ "page-resources-network-layer2-title": "Sítě Etherea – vrstva 2",
+ "page-resources-network-layer2-chart-label": "Medián nákladů na transakci v sítích Etherea",
+ "page-resources-network-layer2-l2beat-description": "L2BEAT byl vytvořen, aby poskytoval transparentní a ověřitelné informace o vznikajících technologiích druhé vrstvy (L2), které jsou v souladu s plánem škálování Etherea zaměřeným na rollupy a jejichž cílem je škálovat Ethereum.",
+ "page-resources-network-layer2-growthepie-description": "growthepie vizualizuje využití a růst hlavní sítě Ethereum a vrstev 2. Poplatky v reálném čase, ekonomická data, využití aplikací, data o stablecoinech, články založené na datech a mnoho dalšího.",
+ "page-resources-block-explorers-title": "Průzkumníci bloků",
+ "page-resources-block-explorers-chart-label": "Čas do dalšího bloku",
+ "page-resources-block-explorers-blockscout-description": "Open-source prohlížeč bloků od společnosti Blockscout s kompletními blockchainovými daty a API pro sítě Etherea.",
+ "page-resources-block-explorers-etherscan-description": "Etherscan je prohlížeč bloků a analytická platforma pro Ethereum, decentralizovanou platformu pro chytré kontrakty.",
+ "page-resources-block-explorers-beaconchain-description": "Open-source prohlížeč Etherea, který zobrazuje hlavní síť Ethereum 🚀.",
+ "page-resources-block-explorers-txcity-description": "Vtipný vizualizátor bloků Etherea v reálném čase.",
+ "page-resources-block-explorers-panda-ops-description": "Živý panel pro produkci bloků na Beacon Chainu Etherea od ethPandaOps.",
+ "page-resources-block-explorers-otterscan-description": "Neuvěřitelně rychlý, lokální, samostatně hostovaný prohlížeč bloků Etherea",
+ "page-resources-eth-asset-title": "ETH jako aktivum",
+ "page-resources-eth-asset-etherealize-description": "Ethereum je největší, nejbezpečnější a nejotevřenější blockchain na světě. A Ethereum je otevřené pro podnikání.",
+ "page-resources-eth-asset-ultrasound-description": "„Ultra sound money“ je ethereový mem zaměřený na pravděpodobný pokles nabídky ETH.",
+ "page-resources-eth-asset-ethismoney-description": "„ETH is money“ je kmen věřících, kteří drží, stakují a propagují ETH jako peníze.",
+ "page-resources-gas-title": "Palivo",
+ "page-resources-gas-etherscan-description": "Sledujte všechny KPI týkající se gasu.",
+ "page-resources-gas-ethgastracker-description": "Sledujte ceny gasu napříč Ethereem a L2.",
+ "page-resources-gas-blocknative-description": "Nejpřesnější předpověď poplatků za gas na Web3.",
+ "page-resources-gas-gasfees-description": "Sledování dat o nákladech na gas v sítích Etherea.",
+ "page-resources-defi-title": "DeFi",
+ "page-resources-defi-defillama-description": "DefiLlama je největší agregátor TVL pro DeFi (decentralizované finance).",
+ "page-resources-defi-eigenphi-description": "Chcete porozumět transakcím v DeFi a obchodním strategiím?",
+ "page-resources-defi-defiscan-description": "Ověřitelné informace o vyspělosti a rizicích DeFi.",
+ "page-resources-stablecoins-title": "Stabilní kryptoměny (stablecoins)",
+ "page-resources-stablecoins-stablecoinswtf-description": "Účelem tohoto webu je vzdělávat „degeny“ o stablecoinech.",
+ "page-resources-stablecoins-visa-description": "Panel Onchain Analytics od společnosti Visa ukazuje, jak se globálně pohybují stablecoiny kryté fiat měnami prostřednictvím veřejných blockchainů.",
+ "page-resources-stablecoins-rwa-description": "Prozkoumejte aktivitu za krypto a stablecoiny krytými aktivy.",
+ "page-resources-nft-title": "NFT",
+ "page-resources-nft-etherscan-description": "Nejlepší NFT kontrakty.",
+ "page-resources-nft-nftgo-description": "Globální tržní data NFT v reálném čase.",
+ "page-resources-applications-title": "Aplikace",
+ "page-resources-applications-ecosystem-description": "Ponořte se do ekosystému Etherea a seznamte se se stovkami populárních aplikací a nástrojů.",
+ "page-resources-applications-farcaster-description": "Data o používání Farcasteru.",
+ "page-resources-applications-dappradar-description": "Prozkoumejte nejlepší blockchainové dapps, NFT, hry, projekty DeFi, tokeny a airdropy. Sledujte žebříčky, prozkoumávejte přehledy trhu, nacházejte populární projekty a odemykejte odměny s největším světovým obchodem s dapps.",
+ "page-resources-adoption-title": "Rozšíření Etherea",
+ "page-resources-adoption-ethereumadoption-description": "Seznam významných subjektů, které staví na Ethereu.",
+ "page-resources-adoption-cryptowerk-description": "Analýza rozšíření Etherea na základě databáze obchodníků Cryptwerk – mapa, země, společnosti, podniky, kategorie, hodnocení.",
+ "page-resources-adoption-reserves-description": "Panel pro iniciativu Strategické rezervy Etherea.",
+ "page-resources-roadmap-title": "Plán Etherea",
+ "page-resources-roadmap-metric-label": "Poslední vylepšení",
+ "page-resources-roadmap-ethroadmap-description": "Podrobná vizualizace plánu Etherea a dalšího vylepšení sítě.",
+ "page-resources-blobs-title": "Bloby",
+ "page-resources-blobs-metric-total-label": "Celkem blobů",
+ "page-resources-blobs-metric-fee-label": "Průměrný poplatek za blob",
+ "page-resources-blobs-blobscan-description": "Komplexní skener blobů.",
+ "page-resources-blobs-blobsguru-description": "Průzkumník blobů Etherea: Analyzujte transakce na L2 a data EIP-4844.",
+ "page-resources-nodes-title": "Síťové uzly",
+ "page-resources-nodes-nodewatch-description": "Přehled uzlů.",
+ "page-resources-nodes-ethernodes-description": "Statistiky hlavní sítě Etherea.",
+ "page-resources-nodes-etherscan-description": "Denně.",
+ "page-resources-nodes-luckystaker-description": "Denní pravděpodobnost získání bloku návrhem.",
+ "page-resources-nodes-pectrified-description": "Statistiky větve Pectra Etherea pro validátory.",
+ "page-resources-nodes-validatorqueue-description": "Panel zobrazující vstupní a výstupní frontu validátorů Etherea a odhadované čekací doby.",
+ "page-resources-network-resilience-title": "Odolnost sítě",
+ "page-resources-network-resilience-neutralitywatch-description": "Monitor cenzurovatelnosti Etherea.",
+ "page-resources-network-resilience-sunshine-description": "Panel pro měření stavu decentralizace Etherea.",
+ "page-resources-network-resilience-clientdiversity-description": "Zlepšete odolnost Etherea používáním minoritního klienta.",
+ "page-resources-network-resilience-supermajority-description": "Riziko nadpoloviční většiny klientů na exekuční vrstvě Etherea, zejména využívání klientů stakingovými službami.",
+ "page-resources-attestations-title": "Atestace",
+ "page-resources-attestations-eas-description": "EAS umožňuje komukoli vytvářet a ověřovat on-chain i off-chain atestace na Ethereu.",
+ "page-resources-relays-title": "Relé",
+ "page-resources-relays-beaconchain-description": "Validátoři mohou používat relé k externímu zajištění produkce bloků u subjektů specializovaných na získávání dalších příjmů.",
+ "page-resources-relays-ratednetwork-description": "Podíl na trhu MEV relé, celková předaná hodnota, hodnota na blok a další statistiky pro síť Ethereum.",
+ "page-resources-relays-relayscan-description": "Analytika MEV-Boost.",
+ "page-resources-mev-title": "MEV",
+ "page-resources-mev-mevboost-description": "Účelem tohoto webu je vzdělávat „degeny“ o stablecoinech.",
+ "page-resources-mev-mevwatch-description": "Některá MEV-Boost relé jsou regulována úřadem OFAC a budou cenzurovat určité transakce. Pomocí tohoto nástroje můžete sledovat, jaký to má dopad na bloky Etherea.",
+ "page-resources-wallets-title": "Kryptoměnové peněženky",
+ "page-resources-wallets-wallet-beat-description": "Jednoduchý panel a nástroj pro shrnutí ethereové peněženky.",
+ "page-resources-wallets-bundlebear-description": "Panely a analytika pro chytré účty ERC-4337 a EIP-7702.",
+ "page-resources-zk-adoption-title": "Rozšíření ZK",
+ "page-resources-zk-adoption-ethproofs-description": "SNARK, které škálují Ethereum.",
+ "page-resources-zk-adoption-l2beat-description": "ZK Catalog od L2BEAT je komunitní zdroj informací, který nabízí podrobný vhled do technologie ZK využívané různými blockchainovými projekty.",
+ "page-resources-mempool-title": "Mempool",
+ "page-resources-mempool-mempool-description": "Vybrané srovnávací vizualizace mempoolu Etherea.",
+ "page-resources-meta-title": "Přehled zdrojů Etherea",
+ "page-resources-meta-description": "Objevte seznam komunitou spravovaných zdrojů, abyste byli informováni o všech hlavních událostech v ekosystému Etherea.",
+ "page-resources-hero-title": "Zdroje",
+ "page-resources-hero-header": "Panely Etherea",
+ "page-resources-hero-description": "Objevte seznam komunitou spravovaných zdrojů, abyste byli informováni o všech hlavních událostech v ekosystému Etherea.",
+ "page-resources-find-more": "Další skvělé zdroje najdete na",
+ "page-resources-contribute-title": "Přispět",
+ "page-resources-contribute-description": "Tento panel je živá stránka, která vyžaduje časté aktualizace. Pomozte najít nejlepší zdroje, které poskytnou přehled o ekosystému Etherea.",
+ "page-resources-suggest-resource": "Navrhnout zdroj",
+ "page-resources-found-bug": "Našli jste chybu",
+ "page-resources-whats-on-this-page": "Co je na této stránce",
+ "page-resources-banner-notification-message": "Přehled zdrojů je nový!",
+ "page-resources-share-feedback": "Podělte se s námi o svou zpětnou vazbu"
+}
diff --git a/src/intl/cs/page-roadmap.json b/src/intl/cs/page-roadmap.json
new file mode 100644
index 00000000000..0fe38b5855b
--- /dev/null
+++ b/src/intl/cs/page-roadmap.json
@@ -0,0 +1,102 @@
+{
+ "page-roadmap-title": "Plán Etherea",
+ "page-roadmap-meta-title": "Plán rozvoje Etherea | ethereum.org",
+ "page-roadmap-meta-description": "Cesta Etherea k větší škálovatelnosti, bezpečnosti a udržitelnosti.",
+ "page-roadmap-banner-notification": "Vývoj Etherea je řízen komunitou a může se měnit.",
+ "page-roadmap-changes-coming-title": "Jaké změny se na Ethereu chystají?",
+ "page-roadmap-changes-coming-description": "Ethereum je již teď výkonnou platformou, ale stále se vylepšuje. Ambiciózní sada vylepšení povýší Ethereum z jeho současné podoby na plně škálovanou a maximálně odolnou platformu.",
+ "page-roadmap-cheaper-transactions-title": "Levnější transakce",
+ "page-roadmap-cheaper-transactions-description": "Rollupy jsou příliš drahé a spoléhají na centralizované komponenty, což nutí uživatele příliš důvěřovat jejich provozovatelům. Plán rozvoje zahrnuje řešení obou těchto problémů.",
+ "page-roadmap-cheaper-transactions-button": "Více o snižování poplatků",
+ "page-roadmap-extra-security-title": "Extra bezpečnost",
+ "page-roadmap-extra-security-description": "Ethereum je již velmi bezpečné, ale lze jej ještě více posílit, aby dokázalo odolávat všem druhům útoků i v daleké budoucnosti.",
+ "page-roadmap-extra-security-button": "Více o bezpečnosti",
+ "page-roadmap-better-user-experience-title": "Lepší uživatelská zkušenost",
+ "page-roadmap-better-user-experience-description": "Větší podpora pro peněženky s chytrými kontrakty a odlehčené uzly zjednoduší a zabezpečí používání Etherea.",
+ "page-roadmap-better-user-experience-button": "Více o uživatelské přívětivosti",
+ "page-roadmap-future-proofing-title": "Příprava na budoucnost",
+ "page-roadmap-future-proofing-description": "Výzkumníci a vývojáři Etherea řeší problémy zítřka již dnes a připravují síť pro budoucí generace.",
+ "page-roadmap-future-proofing-button": "Více o zajištění do budoucna",
+ "page-roadmap-why-need-title": "Proč Ethereum potřebuje plán vylepšení?",
+ "page-roadmap-why-need-description": "Ethereum prochází pravidelnými vylepšeními, která zlepšují jeho škálovatelnost, bezpečnost a udržitelnost. Jednou z hlavních předností Etherea je schopnost přizpůsobit se novým myšlenkám, které vzejdou z výzkumu a vývoje. Adaptabilita dává Ethereu flexibilitu pro řešení nově vznikajících výzev a udržení kroku s nejpokročilejšími technologickými průlomy.",
+ "page-roadmap-how-defined-title": "Jak se definuje plán vylepšení",
+ "page-roadmap-how-defined-p1": "Plán vývoje je většinou výsledkem roků práce výzkumníků a vývojářů – protože protokol je hodně technický – ale každý motivovaný člověk do něho může přispět.",
+ "page-roadmap-how-defined-p2": "Nápady obvykle začínají jako diskuze na fóru, jako je ethresear.ch, Ethereum Magicians nebo discordový server Eth R&D. Může se jednat o reakce na nově objevené zranitelnosti, návrhy od organizací pracujících v aplikační vrstvě (jako jsou dapps a burzy) nebo o reakce na známé problémy koncových uživatelů (jako jsou náklady nebo rychlost transakcí).",
+ "page-roadmap-how-defined-p3": "Když tyto nápady uzrají, mohou být navrženy jako návrhy na vylepšení Etherea. Vše se děje veřejně, takže se může kdykoli zapojit kdokoli z komunity.",
+ "page-roadmap-governance-button": "Více o řízení Etherea",
+ "page-roadmap-hero-alt": "Plán Etherea",
+ "page-roadmap-technical-upgrades-title": "Jaká technická vylepšení Ethereum čekají?",
+ "page-roadmap-danksharding-title": "Danksharding",
+ "page-roadmap-danksharding-description": "Danksharding výrazně zlevňuje rollupy druhé vrstvy pro uživatele přidáním datových „blobů“ do bloků Etherea.",
+ "page-roadmap-single-slot-finality-title": "Finalita v jednom slotu",
+ "page-roadmap-single-slot-finality-description": "Namísto čekání patnácti minut by mohly být bloky navrženy a finalizovány ve stejném slotu. To je pro aplikace pohodlnější a obtížněji napadnutelné.",
+ "page-roadmap-account-abstraction-title": "Abstrakce účtů",
+ "page-roadmap-account-abstraction-description": "Abstrakce účtů je třída vylepšení, která nativně podporuje peněženky s chytrými kontrakty v síti Ethereum namísto nutnosti používat složitý middleware.",
+ "page-roadmap-statelessness-title": "Bezstavovost",
+ "page-roadmap-statelessness-description": "Bezstavoví klienti budou moci ověřovat nové bloky, aniž by museli ukládat velké množství dat. To poskytne všechny výhody provozování uzlu za pouhý zlomek dnešních nákladů.",
+ "page-roadmap-learn-more": "Další informace",
+ "page-roadmap-timeline-title": "Jaký je časový plán těchto vylepšení?",
+ "page-roadmap-blocks-alt": "Bloky Etherea",
+ "page-roadmap-faq-1-title": "Bude se plán vylepšení Etherea časem měnit?",
+ "page-roadmap-faq-1-p1": "Ano – téměř jistě.",
+ "page-roadmap-faq-1-p1-continued": "Plán rozvoje je aktuálním plánem vylepšení Etherea, zahrnující jak krátkodobé, tak i budoucí plány. Očekáváme, že se plán rozvoje bude měnit s tím, jak budou k dispozici nové informace a technologie.",
+ "page-roadmap-faq-1-p2": "Považujte plán vylepšení Etherea za soubor záměrů na zlepšení Etherea; je to totiž ta nejlepší hypotéza klíčových výzkumníků a vývojářů o nejoptimálnější ethereovské cestě kupředu.",
+ "page-roadmap-faq-2-title": "Kdy bude plán vylepšení dokončen?",
+ "page-roadmap-faq-2-p1": "Některá vylepšení mají nižší prioritu a pravděpodobně nebudou implementována v příštích 5-10 letech (např. odolnost vůči kvantovým počítačům).",
+ "page-roadmap-faq-2-p1-strong": "Určit přesné načasování každého vylepšení je složité",
+ "page-roadmap-faq-2-p1-continued": "předvídat, protože na mnoha položkách plánu se pracuje souběžně a vyvíjejí se různou rychlostí. Naléhavost vylepšení se také může v průběhu času měnit v závislosti na vnějších faktorech (např. náhlý skok ve výkonu a dostupnosti kvantových počítačů může zvýšit naléhavost kvantově odolné kryptografie).",
+ "page-roadmap-faq-2-p2": "O vývoji Etherea lze přemýšlet analogií s biologickou evolucí. Síť, která je schopna se přizpůsobit novým výzvám a udržet si kondici, má větší pravděpodobnost úspěchu než ta, která se změnám brání, ačkoli s tím, jak se síť stává výkonnější, škálovatelnější a bezpečnější, bude zapotřebí méně změn protokolu.",
+ "page-roadmap-faq-3-title": "Musím se na tato vylepšení nějak připravit?",
+ "page-roadmap-faq-3-p1": "Vylepšení obvykle nemají na koncové uživatele žádný dopad, kromě toho, že poskytují lepší uživatelský komfort, bezpečnější protokol a možná i více možností, jak s Ethereem interagovat. Běžní uživatelé se nemusí aktivně podílet na vylepšení ani nemusí dělat nic pro zabezpečení svých aktiv. Provozovatelé uzlů budou muset aktualizovat své klienty, aby se na vylepšení připravili. Některá vylepšení mohou vést ke změnám pro vývojáře aplikací. Například vylepšení týkající se expirace historie mohou vést vývojáře aplikací k získávání historických dat z nových zdrojů.",
+ "page-roadmap-faq-4-title": "Co je shardování?",
+ "page-roadmap-faq-4-p1": "Sharding je rozdělení ethereového blockchainu tak, aby podmnožiny validátorů byly zodpovědné pouze za zlomek celkových dat. Původně to měl být způsob, jakým by se Ethereum škálovalo. Rollupy druhé vrstvy se však vyvinuly mnohem rychleji, než se očekávalo, a již poskytly značné škálování, a po implementaci proto-dankshardingu poskytnou ještě mnohem více. To znamená, že „shardové řetězce“ již nejsou potřeba a byly z plánu rozvoje vypuštěny.",
+ "page-roadmap-release-status-prod": "V produkci",
+ "page-roadmap-release-status-soon": "Již brzy",
+ "page-roadmap-release-status-dev": "Ve vývoji",
+ "page-roadmap-release-main-features": "Hlavní funkce",
+ "page-roadmap-release-learn-more": "Další informace",
+ "page-roadmap-release-forkcast": "Sledovat změny",
+ "page-roadmap-paris-pos-title": "Přechod na Proof of Stake",
+ "page-roadmap-paris-pos-item-1": "Nahrazení energeticky náročné těžby konsenzem založeným na stakingu",
+ "page-roadmap-paris-pos-item-2": "Snížení spotřeby energie Etherea o ~99,95 %",
+ "page-roadmap-paris-beacon-title": "Integrace Beacon Chainu",
+ "page-roadmap-paris-beacon-item-1": "Sloučení Beacon Chainu s mainnetem Etherea",
+ "page-roadmap-paris-beacon-item-2": "Umožnění úplného přechodu na konsenzuální mechanismus PoS",
+ "page-roadmap-paris-difficulty-title": "Odstranění bomby obtížnosti",
+ "page-roadmap-paris-difficulty-item-1": "Odstranění bomby obtížnosti, která zvyšovala obtížnost těžby",
+ "page-roadmap-paris-difficulty-item-2": "Zajištění hladkého přechodu na nový konsenzuální mechanismus",
+ "page-roadmap-shapella-withdrawals-title": "Uzamčení výběrů",
+ "page-roadmap-shapella-withdrawals-item-1": "Umožnění výběru stakovaných ETH a odměn validátorům",
+ "page-roadmap-shapella-withdrawals-item-2": "Zavedení možnosti částečných a úplných výběrů",
+ "page-roadmap-shapella-eip4895-title": "EIP-4895: Push výběry z Beacon chainu",
+ "page-roadmap-shapella-eip4895-item-1": "Přidání nové operace na systémové úrovni pro výběry",
+ "page-roadmap-shapella-eip4895-item-2": "Zajištění bezpečného a efektivního zpracování požadavků na výběr",
+ "page-roadmap-shapella-eip3651-title": "EIP-3651: Warm COINBASE",
+ "page-roadmap-shapella-eip3651-item-1": "Snížení nákladů na gas pro přístup k adrese COINBASE",
+ "page-roadmap-shapella-eip3651-item-2": "Zlepšení efektivity některých operací s chytrými kontrakty",
+ "page-roadmap-dencun-danksharding-title": "Proto-danksharding (EIP-4844)",
+ "page-roadmap-dencun-danksharding-item-1": "Zavedení blob transakcí pro výrazné snížení transakčních nákladů rollupů",
+ "page-roadmap-dencun-danksharding-item-2": "Přidání nového typu transakce, který dočasně a levně ukládá data",
+ "page-roadmap-dencun-eip1153-title": "EIP-1153: Dočasné úložné opkódy",
+ "page-roadmap-dencun-eip1153-item-1": "Přidání opkódů TSTORE a TLOAD pro dočasné úložiště během provádění transakce",
+ "page-roadmap-dencun-eip1153-item-2": "Umožňuje efektivnější vzory chytrých kontraktů a snižuje náklady na gas",
+ "page-roadmap-dencun-eip4788-title": "EIP-4788: Kořen bloku Beacon v EVM",
+ "page-roadmap-dencun-eip4788-item-1": "Zpřístupňuje informace z konsenzuální vrstvy chytrým kontraktům",
+ "page-roadmap-dencun-eip4788-item-2": "Umožňuje nové aplikace s minimalizovanou důvěrou a cross-chain mosty",
+ "page-roadmap-pectra-eoa-title": "Vylepšení EOA peněženek o funkce chytrých kontraktů",
+ "page-roadmap-pectra-eoa-item-1": "Uživatelé si mohou nastavit, aby jejich adresa byla reprezentována kódem existujícího chytrého kontraktu, a získat tak výhody, jako je dávkování transakcí, sponzorování transakčních poplatků nebo lepší mechanismy obnovy.",
+ "page-roadmap-pectra-balance-title": "Zvýšení maximálního efektivního zůstatku",
+ "page-roadmap-pectra-balance-item-1": "Stakeři si nyní mohou zvolit libovolnou částku ETH ke stakování a dostávat odměny za každý 1 ETH nad minimem.",
+ "page-roadmap-pectra-blob-title": "Zvýšení propustnosti blobů",
+ "page-roadmap-pectra-blob-item-1": "Počet blobů bude navýšen ze 3 na 6 cílových, s maximem 9, což povede k levnějším poplatkům v ethereových rollupech.",
+ "page-roadmap-fusaka-peerdas-title": "PeerDAS (Peer-to-Peer Data Availability Sampling)",
+ "page-roadmap-fusaka-peerdas-item-1": "Umožňuje efektivnější dostupnost dat pro rollupy",
+ "page-roadmap-fusaka-peerdas-item-2": "Zpřístupňuje provoz uzlu a zároveň zachovává decentralizaci",
+ "page-roadmap-fusaka-additional-title": "Možné další funkce",
+ "page-roadmap-fusaka-additional-item-1": "Podpora bezpečných enkláv na mobilních zařízeních pro zlepšení UX",
+ "page-roadmap-fusaka-additional-item-2": "Vylepšení trhu s poplatky za bloby",
+ "page-roadmap-fusaka-additional-item-3": "Další vylepšení efektivity validátorů a výkonu sítě",
+ "page-roadmap-glamsterdam-discussed-title": "Plánováno pro Glamsterdam",
+ "page-roadmap-glamsterdam-discussed-item-1": "Enshrined Proposer-Builder Separation (ePBS)",
+ "page-roadmap-glamsterdam-discussed-item-2": "Block-level Access Lists (BALs)"
+}
diff --git a/src/intl/cs/page-stablecoins.json b/src/intl/cs/page-stablecoins.json
index b56eac28419..1f8fb20d676 100644
--- a/src/intl/cs/page-stablecoins.json
+++ b/src/intl/cs/page-stablecoins.json
@@ -1,5 +1,8 @@
{
"page-stablecoins-accordion-borrow-crypto-collateral": "Krypto kolaterál",
+ "page-stablecoins-usdc-banner-body": "USDC je největší stabilní kryptoměna krytá fiat měnou regulovaná v USA. Její hodnota je vázána na americký dolar, vydává ji společnost Circle a je široce používána.",
+ "page-stablecoins-usdc-banner-learn-button": "Dozvědět se o USDC",
+ "page-stablecoins-usdc-banner-swap-button": "Získat USDC",
"page-stablecoins-accordion-borrow-crypto-collateral-copy": "Na Ethereu si můžete půjčit od ostatních uživatelů bez toho, abyste museli obchodovat s vlastním ETH. Tak můžete získat „páku“. Někteří lidé se tímto způsobem snaží shromáždit více ETH.",
"page-stablecoins-accordion-borrow-crypto-collateral-copy-p2": "Ale protože cena ETH velmi kolísá, je třeba dát do zástavy větší množství. To znamená, že pokud si chcete půjčit 100 dolarů ve stabilních kryptoměnách, budete pravděpodobně muset zastavit alespoň ETH za 150. To chrání celý systém i poskytovatele půjček.",
"page-stablecoins-accordion-borrow-crypto-collateral-link": "Další informace o stablecoinech krytých kryptoměnou",
@@ -23,10 +26,9 @@
"page-stablecoins-accordion-buy-text-preview": "Mnoho směnáren a peněženek vám umožňuje přímo kupovat stabilní kryptoměny. Často existují omezení pro určité lokality.",
"page-stablecoins-accordion-buy-title": "Koupit",
"page-stablecoins-accordion-buy-warning": "Centralizované směnárny někdy pracují jen se stabilními kryptoměnami krytými papírovou měnou jako je USDC. Pokud je nemůžete koupit přímo, mělo by být možné směnit je za ETH nebo jiné kryptoměny, které si můžete na dané směnárně koupit.",
- "page-stablecoins-accordion-earn-project-1-description": "Většinou technická práce pro open source projekty.",
+ "page-stablecoins-accordion-earn-project-1-description": "Probíhající a nadcházející hackathony. Brána každého buidlera do digitálních končin.",
"page-stablecoins-accordion-earn-project-2-description": "Technologie, obsah a další práce pro komunitu MakerDao (tým, který vám přinesl Dai).",
"page-stablecoins-accordion-earn-project-3-description": "Pokud máte opravdu dobré znalosti, můžete vydělávat Dai řešením chyb.",
- "page-stablecoins-accordion-earn-project-bounties": "Odměny za chyby v Gitcoinu",
"page-stablecoins-accordion-earn-project-bug-bounties": "Odměněny za hlášení chyb ve vrstvě konsenzu",
"page-stablecoins-accordion-earn-project-community": "Komunita MakerDao",
"page-stablecoins-accordion-earn-projects-copy": "Na těchto platformách můžete za svou práci získat stablecoiny.",
@@ -36,8 +38,6 @@
"page-stablecoins-accordion-earn-requirements-description": "Stabilní kryptoměny jsou dobrou možností placení za práci a služby, protože jejich hodnota je stabilní.",
"page-stablecoins-accordion-earn-text-preview": "Stabilní kryptoměnu můžete vydělávat prací na projektech v ekosystému platformy Ethereum.",
"page-stablecoins-accordion-earn-title": "Vydělávejte",
- "page-stablecoins-accordion-less": "Méně",
- "page-stablecoins-accordion-more": "Více",
"page-stablecoins-accordion-requirements": "Co budete potřebovat",
"page-stablecoins-accordion-swap-dapp-intro": "Pokud už máte ETH a peněženku, můžete se stát uživatelem těchto dappek a pomocí nich směňovat stablecoiny.",
"page-stablecoins-accordion-swap-dapp-link": "Více o decentralizovaných směnárnách",
@@ -56,10 +56,9 @@
"page-stablecoins-algorithmic-con-1": "Musíte věřit algoritmu (nebo ho umět číst).",
"page-stablecoins-algorithmic-con-2": "Množství vašich mincí se bude měnit v závislosti na celkové zásobě.",
"page-stablecoins-algorithmic-description": "Tyto stabilní kryptoměny nejsou ničím kryty. Místo toho je řídí algoritmus, který prodává tokeny, pokud se jejich cena sníží pod požadovanou úroveň, a vytváří je, pokud jejich cena vystoupí nad požadovanou úroveň. Protože se počet tokenů v oběhu neustále mění, mění se i počet tokenů, které vlastníte, ale vždy odpovídá vašemu podílu.",
- "page-stablecoins-algorithmic-disclaimer": "Algoritmické stablecoiny jsou experimentální technologií. Měli byste si být vědomi rizik s nimi spojenými, než je začnete používat.",
"page-stablecoins-algorithmic-pro-1": "Není potřeba žádné zajištění.",
"page-stablecoins-algorithmic-pro-2": "Řízeno transparentním algoritmem.",
- "page-stablecoins-bank-apy": "0,05 %",
+ "page-stablecoins-bank-apy": "0.05%",
"page-stablecoins-bank-apy-source": "Průměrná úroková míra, kterou vyplácejí banky na základním federálně pojištěném spořícím účtu v USA.",
"page-stablecoins-bank-apy-source-link": "Zdroj",
"page-stablecoins-bitcoin-pizza": "Nechvalně proslulá pizza za Bitcoiny",
@@ -69,15 +68,10 @@
"page-stablecoins-crypto-backed": "Zajištěné kryptoměnou",
"page-stablecoins-crypto-backed-con-1": "Méně stabilní než stablecoiny kryté papírovými penězi.",
"page-stablecoins-crypto-backed-con-2": "Musíte sledovat hodnotu zajištění kryptoměnou.",
- "page-stablecoins-crypto-backed-description": "Tyto stabilní kryptoměny jsou kryty jinou kryptoměnou, například ETH. Jejich cena závisí na hodnotě podkladového aktiva neboli kolaterálu, která může být nestabilní. Vzhledem k tomu, že hodnota ETH kolísá, jsou tyto stablecoiny zajištěny nadbytečným množstvím podkladového aktiva tak, aby byly tak stabilní, jak je jen možné. Je tedy pravděpodobnější, že například stablecoin zajištěný kryptoměnou v hodnotě 1 USD má kryptoměnový kolaterál v hodnotě alespoň 2 USD. Jakmile se cena ETH sníží, musí se pro zajištění stablecoinu použít více ETH, jinak ztratí svou hodnotu.",
+ "page-stablecoins-crypto-backed-description": "Tyto stabilní kryptoměny jsou kryty jinými kryptoaktivy, například ETH. Jejich cena závisí na hodnotě podkladového aktiva (neboli kolaterálu), která může být nestabilní. Vzhledem k tomu, že hodnota ETH kolísá, jsou tyto stabilní kryptoměny přezajištěny, aby jejich cena zůstala co nejstabilnější. To znamená, že je přesnější říci, že stabilní kryptoměna krytá kryptem v hodnotě 1 $ má podkladové kryptoaktivum v hodnotě alespoň 2 $. Pokud tedy cena ETH klesne, musí se k zajištění stabilní kryptoměny použít více ETH, jinak stabilní kryptoměna ztratí svou hodnotu. Upozorňujeme, že některé stabilní kryptoměny kryté kryptoměnami, jako je DAI, také používají centralizované stabilní kryptoměny jako součást svého zajištění.",
"page-stablecoins-crypto-backed-pro-1": "Transparentní a plně decentralizované.",
"page-stablecoins-crypto-backed-pro-2": "Dá se rychle směnit za jiná kryptoměnová aktiva.",
"page-stablecoins-crypto-backed-pro-3": "Žádní externí uschovatelé. Všechna aktiva jsou ovládána účty platformy Ethereum.",
- "page-stablecoins-dai-banner-body": "Dai je pravděpodobně nejslavnější decentralizovaná stabilní kryptoměna. Jeho hodnota je přibližně jeden dolar a je přijímán mnoha dappkami.",
- "page-stablecoins-dai-banner-learn-button": "Dozvědět se o Dai",
- "page-stablecoins-dai-banner-swap-button": "Směňte ETH za Dai",
- "page-stablecoins-dai-banner-title": "Dai",
- "page-stablecoins-dai-logo": "Logo Dai",
"page-stablecoins-editors-choice": "Volby editorů",
"page-stablecoins-editors-choice-intro": "Toto jsou současně pravděpodobně nejznámější příklady stabilních kryptoměn, které jsme vyhodnotily jako užitečné při používání dappky.",
"page-stablecoins-explore-dapps": "Prozkoumat dappky",
@@ -101,7 +95,7 @@
"page-stablecoins-precious-metals": "Drahé kovy",
"page-stablecoins-precious-metals-con-1": "Centralizováno – někdo musí vydávat tokeny.",
"page-stablecoins-precious-metals-con-2": "Musíte důvěřovat vydavateli tokenu a rezervám drahých kovů.",
- "page-stablecoins-precious-metals-description": "Na rozdíl od papírových peněz jsou tyto stabilní kryptoměny kryté fyzickou hodnotou, jako je zlato.",
+ "page-stablecoins-precious-metals-description": "Podobně jako mince kryté fiat měnou, tyto stabilní kryptoměny používají k udržení své hodnoty zdroje, jako je zlato. Jsou „stabilní“ v tom, že jejich cena je trvale vázána na hodnotu jiného aktiva a jsou podobné sledování vlastnictví aktiv reálného světa na blockchainu.",
"page-stablecoins-precious-metals-pro-1": "Bezpečné proti volatilitě kryptoměn.",
"page-stablecoins-prices": "Ceny stablecoinů",
"page-stablecoins-prices-definition": "Stablecoiny jsou kryptoměny bez volatility. Sdílejí mnoho schopností s ETH, ale jejích hodnota je stabilní, jako u tradičních měn. Takže máte přístup ke stabilním penězům, které můžete používat na Ethereu.",
@@ -118,6 +112,7 @@
"page-stablecoins-stablecoins-dapp-description-2": "Půjčujte stablecoiny a vydělávejte na úrocích a $COMP, vlastní token projektu Compound.",
"page-stablecoins-stablecoins-dapp-description-3": "Obchodní platforma, kde můžete získat výnosy z úroků z vašeho Dai a USDC.",
"page-stablecoins-stablecoins-dapp-description-4": "Aplikace navržená k ukládání Dai.",
+ "page-stablecoins-stablecoins-dapp-description-5": "Protokol pro půjčování a vypůjčování na Ethereu, který podporuje mnoho možností stabilních kryptoměn.",
"page-stablecoins-stablecoins-feature-1": "Stablecoiny jsou globální a lze je posílat přes internet. Jakmile máte účet na Ethereu, můžete je jednoduše přijímat nebo posílat.",
"page-stablecoins-stablecoins-feature-2": "Poptávka po stablecoinech je vysoká, takže za půjčení svých můžete získat výnos z úroků. Před půjčkou se ujistěte, že znáte všechna rizika.",
"page-stablecoins-stablecoins-feature-3": "Stablecoiny můžete směnit za ETH a další tokeny na Ethereu. Většina dappek funguje na stablecoinech.",
@@ -126,43 +121,75 @@
"page-stablecoins-stablecoins-table-header-column-1": "Měna",
"page-stablecoins-stablecoins-table-header-column-2": "Tržní kapitalizace",
"page-stablecoins-stablecoins-table-header-column-3": "Druh zajištění",
+ "page-stablecoins-stablecoins-table-header-column-4": "Navázání",
"page-stablecoins-stablecoins-table-type-crypto-backed": "Krypto",
"page-stablecoins-stablecoins-table-type-fiat-backed": "Fiat",
"page-stablecoins-stablecoins-table-type-precious-metals-backed": "Drahé kovy",
"page-stablecoins-table-error": "Nepodařilo se načíst stablecoiny. Zkuste obnovit stránku.",
"page-stablecoins-title": "Stabilní kryptoměny (stablecoins)",
"page-stablecoins-meta-title": "Vysvětlení Stablecoinů: K čemu slouží?",
- "page-stablecoins-top-coins": "Největší stablecoiny podle tržní kapitalizace",
+ "page-stablecoins-top-coins": "Největší stabilní kryptoměny podle tržní kapitalizace",
"page-stablecoins-top-coins-intro": "Tržní kapitalizace je",
"page-stablecoins-top-coins-intro-code": "celkový počet existujících tokenů vynásobený hodnotou jednoho tokenu. Tento seznam se často mění a projekty v něm obsažené nemusí být podporovány týmem ethereum.org.",
"page-stablecoins-types-of-stablecoin": "Jak fungují: typy stabilních kryptoměn",
- "page-stablecoins-usdc-banner-body": "USDC je pravděpodobně nejznámějším stablecoinem krytým papírovými penězi. Jeho hodnota je přibližně jeden dolar a zajišťují ji společnosti Circle a Coinbase.",
- "page-stablecoins-usdc-banner-learn-button": "Dozvědět se o USDC",
- "page-stablecoins-usdc-banner-swap-button": "Směňte ETH za USDC",
- "page-stablecoins-usdc-banner-title": "USDC",
"page-stablecoins-usdc-logo": "Logo USDC",
+ "page-stablecoins-usdt-banner-body": "Tether USD (USDT) je největší stabilní kryptoměna krytá fiat měnou podle tržní kapitalizace. Její hodnota je navázána na 1 USD a její rezervy spravuje společnost Tether Limited.",
+ "page-stablecoins-usdt-banner-swap-button": "Směnit ETH za USDT",
+ "page-stablecoins-usdt-banner-learn-button": "Další informace o USDT",
+ "page-stablecoins-usdt-logo": "Logo USDT",
+ "page-stablecoins-usds-banner-body": "USDS je nástupcem Dai, plně krytý kryptem a navržený pro úspory a odměny na blockchainu. Široce se používá v DeFi a zároveň umožňuje uživatelům plnou kontrolu nad jejich prostředky.",
+ "page-stablecoins-usds-banner-swap-button": "Směnit ETH za USDS",
+ "page-stablecoins-usds-banner-learn-button": "Další informace o USDS",
+ "page-stablecoins-usds-logo": "Logo USDS",
+ "page-stablecoins-gho-banner-body": "GHO je decentralizovaná stabilní kryptoměna s vícenásobným kolaterálem vytvořená společností Aave. Využívá hybridní model, který kombinuje krytí zajištěné kryptoměnou s přístupem komunitní správy.",
+ "page-stablecoins-gho-banner-swap-button": "Směnit ETH za GHO",
+ "page-stablecoins-gho-banner-learn-button": "Další informace o GHO",
+ "page-stablecoins-gho-logo": "Logo GHO",
+ "page-stablecoins-glo-banner-body": "Glo Dollar (USDGLO) je stabilní kryptoměna, která věnuje veškeré zisky na veřejné statky a charitativní organizace. Držením nebo používáním Glo Dollaru pomáháte financovat cíle, jako je boj proti chudobě a podpora open-source – bez jakýchkoli dalších nákladů pro vás.",
+ "page-stablecoins-glo-banner-swap-button": "Koupit GLO",
+ "page-stablecoins-glo-banner-learn-button": "Další informace o GLO",
+ "page-stablecoins-glo-logo": "Logo USDGLO",
+ "page-stablecoins-hai-banner-title": "HAI",
+ "page-stablecoins-hai-banner-body": "HAI je decentralizovaná stabilní kryptoměna krytá ETH od Let's Get HAI, zaměřená na odolnost vůči cenzuře a veřejné statky. Je navržena s minimální správou a upřednostňuje stabilitu bez kompromisů v hodnotách decentralizace.",
+ "page-stablecoins-hai-banner-swap-button": "Vyrazit HAI pomocí ETH",
+ "page-stablecoins-hai-banner-learn-button": "Další informace o HAI",
+ "page-stablecoins-hai-logo": "Logo HAI",
+ "page-stablecoins-lusd-banner-title": "LUSD",
+ "page-stablecoins-lusd-banner-body": "LUSD je decentralizovaná stabilní kryptoměna od společnosti Liquity, která je výhradně krytá ETH s minimálním poměrem zajištění 110 %. Nabízí bezúročné půjčky, algoritmické likvidace a minimální správu, díky čemuž je vysoce odolná vůči cenzuře.",
+ "page-stablecoins-lusd-banner-swap-button": "Směnit ETH za LUSD",
+ "page-stablecoins-lusd-banner-learn-button": "Další informace o LUSD",
+ "page-stablecoins-lusd-logo": "Logo LUSD",
"page-stablecoins-why-stablecoins": "Proč stablecoiny?",
"page-stablecoins-how-they-work-button": "Jak fungují",
"page-stablecoins-why-stablecoins-body": "Protože se jedná o novou technologii, má ETH, stejně jako Bitcoin, volatilní cenu. Takže ho asi nechcete utrácet pravidelně. Stabilní kryptoměny zrcadlí hodnotu tradičních měn, aby vám umožnily přístup ke stabilním penězům, které můžete používat na Ethereu.",
"page-stablecoins-more-defi-button": "Více o decentralizovaných financích (DeFi)",
"page-stablecoins-tools-title": "Více informací o stablecoinech",
"page-stablecoins-tools-stablecoinswtf-description": "Stablecoins.wtf nabízí přehled s historickými tržními daty, statistikami a vzdělávacím obsahem pro nejvýznamnější stablecoiny.",
- "page-apps-ready-button": "Přejít",
+ "page-stablecoins-tools-stablepulse-description": "Poskytuje jasný, přesný a minimálně filtrovaný pohled na ekosystém stabilních kryptoměn s analytikou napříč tokeny a blockchainy.",
+ "page-stablecoins-tools-stablesinfo-description": "Živý žebříček a řídicí panel stabilních kryptoměn, sledující zásoby a on-chain data pro všechny hlavní stabilní kryptoměny a blockchainy.",
+ "page-stablecoins-tools-dune-description": "Řídicí panel poskytující přehledy v reálném čase o zásobách stabilních kryptoměn, likviditě, objemu obchodování a přijetí napříč blockchainy.",
+ "page-stablecoins-tools-visa-description": "Řídicí panel vizualizující pohyb, zásoby a využití stabilních kryptoměn krytých fiat měnou napříč veřejnými blockchainy.",
+ "page-stablecoins-tools-stablewars-description": "Analytický žebříček a řídicí panel, který sleduje zůstatky, převody a hodnocení stabilních kryptoměn na více blockchainech.",
+ "page-apps-ready-button": "Go",
"pros": "Plusy",
- "cons": "Mínusy",
- "1inch-logo": "Logo 1inch",
+ "cons": "Minusy",
+ "1inch-logo": "Jednopalcové logo",
"aave-logo": "Logo Aave",
"binance-logo": "Logo Binance",
"bittrex-logo": "Logo Bittrex",
+ "buidlbox-logo": "Logo Buidlbox",
"coinbase-logo": "Logo Coinbase",
"coinmama-logo": "Logo Coinmama",
"compound-logo": "Logo Compound",
"example-projects": "Ukázkové projekty",
+ "page-stablecoins-filter-by-type": "Filtrovat podle typu",
+ "page-stablecoins-reset-list": "Resetovat seznam",
+ "page-stablecoins-show-more": "Zobrazit více",
+ "page-stablecoins-no-results": "Žádné stabilní kryptoměny neodpovídají aktuálním filtrům",
"gemini-logo": "Logo Gemini",
- "gitcoin-logo": "Logo Gitcoin",
- "loopring-logo": "Logo Loopring",
"makerdao-logo": "Logo MakerDao",
"matcha-logo": "Logo Matcha",
+ "sparkfi-logo": "Logo Spark Protocol",
"summerfi-logo": "Logo Summer.fi",
"uniswap-logo": "Logo Uniswap",
"page-stablecoins-go-to": "Navštívit"
diff --git a/src/intl/cs/page-staking-deposit-contract.json b/src/intl/cs/page-staking-deposit-contract.json
index 2564a6b7137..4106dab545f 100644
--- a/src/intl/cs/page-staking-deposit-contract.json
+++ b/src/intl/cs/page-staking-deposit-contract.json
@@ -8,7 +8,7 @@
"page-staking-deposit-contract-confirm-address": "Potvrdit zobrazení adresy",
"page-staking-deposit-contract-copied": "Adresa zkopírována",
"page-staking-deposit-contract-copy": "Zkopírovat adresu",
- "page-staking-deposit-contract-blockexplorer": "Zobrazit kontrakt na Etherscanu",
+ "page-staking-deposit-contract-blockexplorer": "Zobrazit kontrakt na Blockscout",
"page-staking-deposit-contract-h2": "Tohle není místo vkladu",
"page-staking-deposit-contract-launchpad": "Vkládejte použitím spouštěcího panelu",
"page-staking-deposit-contract-launchpad-2": "Použít spouštěcí panel",
@@ -19,7 +19,7 @@
"page-staking-deposit-contract-staking": "Abyste mohli vkládat Vaše ETH, musíte použít vyhrazený produkt na spouštěcích panelech a dodržovat pokyny. Zasílání ETH na adresu na této stránce z Vás neudělá stakera, a vyústí v neúspěšnou transakci.",
"page-staking-deposit-contract-staking-check": "Zkontrolovat tyto zdroje",
"page-staking-deposit-contract-staking-check-desc": "Očekáváme, že se objeví spousta falešných adres a podvodů. Abyste byli v bezpečí, zkontrolujte si adresu smlouvy o vkladu, kterou používáte na této stránce. Doporučujeme ji také zkontrolovat s jinými důvěryhodnými zdroji.",
- "page-staking-deposit-contract-staking-more-link": "Více o sázení",
+ "page-staking-deposit-contract-staking-more-link": "Další informace o uzamčení",
"page-staking-deposit-contract-stop-reading": "Zastavit čtení",
"page-staking-deposit-contract-subtitle": "Toto je adresa smlouvy o vkladu s Ethereem. Pomocí této stránky si můžete ověřit, že při vkládání posíláte prostředky na správnou adresu.",
"page-staking-deposit-contract-warning": "Pozorně zkontrolujte každý znak.",
diff --git a/src/intl/cs/page-staking.json b/src/intl/cs/page-staking.json
index 6c5fd82231e..ca98177e56f 100644
--- a/src/intl/cs/page-staking.json
+++ b/src/intl/cs/page-staking.json
@@ -12,9 +12,9 @@
"comp-withdrawal-credentials-error": "Jejda! Zkontrolujte číslo indexu validátora a zkuste to znovu.",
"comp-withdrawal-credentials-upgraded-1": "Index validátoru {validatorIndex} je připraven začít přijímat odměny!",
"comp-withdrawal-credentials-upgraded-2": "Údaje k výběru spojené s adresou provedení:",
- "comp-withdrawal-credentials-not-upgraded-1": "Tohoto validátora {network} je třeba aktualizovat.",
+ "comp-withdrawal-credentials-not-upgraded-1": "Tento {network} validátor je třeba aktualizovat.",
"comp-withdrawal-credentials-not-upgraded-2": "Pokyny k aktualizaci v současné době najdete na Spouštěcím panelu uzamčení.",
- "comp-withdrawal-credentials-verify": "Ověření na {network}",
+ "comp-withdrawal-credentials-verify": "Ověřit na {network}",
"page-staking-withdrawals-when": "Odesláno!",
"page-staking-image-alt": "Obrázek Nosorožce jakožto maskota pro spouštěcí panel uzamčení.",
"page-staking-benefits-1-title": "Získávejte odměny",
@@ -28,11 +28,12 @@
"page-staking-hero-title": "Jak uzamknout ETH",
"page-staking-hero-header": "Získávejte odměny a zároveň zabezpečujte Ethereum",
"page-staking-hero-subtitle": "Jakýkoliv uživatel s jakýmkoliv množství ETH může pomoct zabezpečit síť a získat tak odměny.",
- "page-staking-dropdown-home": "Domov uzamčení",
+ "page-staking-dropdown-home": "Domovská stránka uzamčení",
"page-staking-dropdown-solo": "Uzamčení z domova",
"page-staking-more-on-solo": "Více o uzamčení z domova",
"page-staking-learn-more-solo": "Další informace o samostatném uzamčení",
"page-staking-dropdown-saas": "Uzamčení jako služba",
+ "page-staking-saas-with-abbrev": "Uzamčení jako služba (SaaS)",
"page-staking-more-on-saas": "Více o uzamčení jako službě",
"page-staking-learn-more-saas": "Další informace o uzamčení jako službě",
"page-staking-dropdown-pools": "Sdružené uzamčení",
@@ -48,7 +49,7 @@
"page-staking-guide-title-somer-esat": "Somer Esat",
"page-staking-guide-title-rocket-pool": "Operátoři uzlů Rocket Pool",
"page-staking-guide-title-stakewise": "Operátoři uzlů StakeWise",
- "page-staking-guide-title-lido-csm":"Operátoři uzlů Lido CSM",
+ "page-staking-guide-title-lido-csm": "Operátoři uzlů Lido CSM",
"page-staking-guide-description-linux": "Linux (CLI)",
"page-staking-guide-description-mac-linux": "Linux, macOS (CLI)",
"page-staking-guide-description-mac-linux-windows": "Linux, Windows, MacOS (CLI)",
@@ -89,7 +90,7 @@
"page-staking-comparison-pools-saas": "Ty jsou si podobné v tom, že uzamykatelé sami neprovozují software validátoru, ale na rozdíl od možností sdružování vyžaduje SaaS k aktivaci validátoru plný vklad 32 ETH. Odměny se uzamykateli kumulují a obvykle zahrnují měsíční poplatek nebo jiné uzamčení za používání služby. Pokud dáváte přednost vlastním klíčům validátoru a chcete uzamknout alespoň 32 ETH, může pro vás být využití poskytovatele SaaS dobrou volbou.",
"page-staking-considerations-dropdown-text": "Úvahy ohledně uzamčení",
"page-staking-considerations-dropdown-aria-label": "Rozbalovací nabídka úvah ohledně uzamčení",
- "page-staking-considerations-solo-1-title": "Open Source",
+ "page-staking-considerations-solo-1-title": "Open source",
"page-staking-considerations-solo-1-description": "Zásadní kód je 100% open source a je k dispozici veřejnosti k forknutí a použití",
"page-staking-considerations-solo-1-warning": "Closed source",
"page-staking-considerations-solo-2-title": "Zkontrolovaný",
@@ -150,21 +151,21 @@
"page-staking-how-solo-works-item-3": "Synchronizujte klienta vrstvy konsenzu.",
"page-staking-how-solo-works-item-4": "Vygenerujte si klíče a načtěte je do klienta validátoru.",
"page-staking-how-solo-works-item-5": "Dohlížejte na svůj uzel a starejte se o něj.",
- "page-staking-launchpad-widget-start": "Začněte uzamykat na {network}",
"page-staking-launchpad-widget-mainnet-label": "Mainnet",
+ "page-staking-launchpad-widget-start": "Začněte uzamykat na {network}",
"page-staking-launchpad-widget-span": "Vybrat síť",
- "page-staking-launchpad-widget-p1": "Od samostatných validátorů očekáváme, že si vyzkouší své nastavení a provozní dovednosti na testovací síti Hoodi, než začnou riskovat finanční prostředky. Nezapomeňte, že je důležité zvolit menšinového klienta, protože to zvyšuje bezpečnost sítě a omezuje vaše riziko.",
+ "page-staking-launchpad-widget-p1": "Od samostatných validátorů se očekává, že si vyzkouší své nastavení a provozní dovednosti na testovací síti {{network}}, než začnou riskovat finanční prostředky. Nezapomeňte, že je důležité zvolit menšinového klienta, protože to zvyšuje bezpečnost sítě a omezuje vaše riziko.",
"page-staking-launchpad-widget-p2": "Pokud to zvládnete, můžete vše potřebné nastavit z příkazového řádku pouze pomocí spouštěcího panelu uzamčení.",
"page-staking-launchpad-widget-p3": "Abyste si usnadnili práci, podívejte se na některé z níže uvedených nástrojů a návodů, které vám při práci se spouštěcím panelem uzamčení pomohou snadno nastavit vaše klienty.",
"page-staking-launchpad-widget-link": "Softwarové nástroje a návod",
- "page-staking-products-get-started": "Začít",
+ "page-staking-products-get-started": "Začínáme",
"page-staking-products-follow": "Navštivte na",
"page-staking-dropdown-staking-options": "Možnosti uzamčení",
"page-staking-dropdown-staking-options-alt": "Rozbalovací nabídka možností uzamčení",
"page-staking-stats-box-metric-1": "Celkový objem uzamčeného ETH",
"page-staking-stats-box-metric-2": "Celkem validátorů",
"page-staking-stats-box-metric-3": "Aktuální RPS",
- "page-staking-stats-box-metric-1-tooltip": "Celkový objem uzamčeného ETH na Beacon Chainu, bez zůstatků nad 32 ETH",
+ "page-staking-stats-box-metric-1-tooltip": "Suma způsobilých ETH uzamčených na Beacon Chainu",
"page-staking-stats-box-metric-2-tooltip": "Počet aktuálně aktivovaných účtů validátorů na Beacon Chainu",
"page-staking-stats-box-metric-3-tooltip": "Průměrný anualizovaný finanční výnos na validátora za posledních 24 hodin",
"page-staking-section-comparison-subtitle": "Neexistuje žádné univerzální řešení pro uzamčení a každé je jedinečné. Zde porovnáme některá rizika, odměny a požadavky různých způsobů vkládání.",
@@ -231,9 +232,9 @@
"page-staking-meta-title": "Staking Etherea: Jak to funguje?",
"page-staking-withdrawals-important-notices": "Důležitá upozornění",
"page-staking-withdrawals-important-notices-desc": "Výběry zatím nejsou k dispozici. Pro více informací si prosím přečtěte ČKO o Eth2 Sloučení a po Sloučení.",
- "page-upgrades-merge-btn": "Více o mergi",
+ "page-upgrades-merge-btn": "Více o sloučení",
"subscribe-to-ef-blog": "Přihlaste se k odběru blogu EF a dostávejte e-mailová upozornění na nejnovější oznámení o protokolu.",
"page-staking-comparison-with-other-options": "Srovnání s dalšími možnostmi",
"page-staking-any-amount": "Jakákoliv částka",
- "page-staking-network-testnet": "testovací sítě {network}"
+ "page-staking-network-testnet": "Testovací síť {network}"
}
diff --git a/src/intl/cs/page-start.json b/src/intl/cs/page-start.json
new file mode 100644
index 00000000000..24f74c9ad64
--- /dev/null
+++ b/src/intl/cs/page-start.json
@@ -0,0 +1,38 @@
+{
+ "page-start-meta-title": "Začněte s kryptem",
+ "page-start-meta-description": "Vaše brána do světa Etherea",
+ "page-start-hero-alt": "Začněte s kryptem",
+ "page-start-title": "První kroky s platformou Ethereum",
+ "page-start-subtitle": "Ethereum je mnohem víc než jen obchodování s tokeny na burze. Vstupte sami do nového světa a naučte se všechny základy v několika krocích.",
+ "page-start-share-section-title": "Znáte někoho, kdo potřebuje pomoci začít?",
+ "page-start-share-section-description": "Miliardy lidí si nemohou otevřít bankovní účet nebo volně nakládat se svými penězi. Finanční systém Etherea je vždy otevřený a nestranný.",
+ "page-start-man-doge-alt": "Man Doge",
+ "page-start-share-modal-trigger": "Sdílet tuto stránku",
+ "page-start-share-modal-title": "Sdílet tuto stránku",
+ "page-start-share-modal-description": "Sdílejte tuto stránku se svými přáteli a rodinou.",
+ "page-start-share-modal-copied": "Zkopírováno!",
+ "page-start-share-modal-share": "Sdílet",
+ "page-start-share-modal-twitter": "Twitter",
+ "page-start-share-modal-tweet-text": "Připojil(a) jsem se k Ethereu na ethereum.org! Zkuste to taky na {url}",
+ "page-start-download-wallet-title": "Stáhněte si peněženku",
+ "page-start-download-wallet-description": "Peněženka je aplikace, která vám umožňuje přijímat a odesílat kryptoměny a spravovat váš účet na Ethereu.",
+ "page-start-download-wallet-checkbox": "Už mám peněženku.",
+ "page-start-download-wallet-continue": "Pokračovat",
+ "page-start-download-wallet-get-wallet": "Získat peněženku",
+ "page-start-connect-wallet-title": "Připojte svou peněženku",
+ "page-start-connect-wallet-description": "Novou peněženku můžete používat jako jeden účet ve všech aplikacích a projektech na Ethereu. Nejsou potřeba žádné další účty.",
+ "page-start-connect-wallet-account-message": "Toto je váš účet",
+ "page-start-connect-wallet-continue": "Pojďme pokračovat",
+ "page-start-connect-wallet-finance-alt": "Finance",
+ "page-start-apps-title": "Pojďme použít nějaké aplikace",
+ "page-start-apps-description": "Je čas přejít on-chain a těžit z širokého ekosystému projektů, které máte k dispozici.",
+ "page-start-apps-explore-more": "Zjistit více",
+ "page-start-apps-go": "Go",
+ "page-start-apps-socials-tag": "SOCIÁLNÍ SÍTĚ",
+ "page-start-apps-finance-tag": "FINANCE",
+ "page-start-apps-collectibles-tag": "SBĚRATELSKÉ PŘEDMĚTY",
+ "page-start-apps-farcaster-description": "Sociální a komunitní platforma kryptoměn.",
+ "page-start-apps-aave-description": "Půjčte své tokeny, abyste vydělali na úrocích. Tokeny a úroky si můžete kdykoli vybrat.",
+ "page-start-apps-uniswap-description": "Směňujte své tokeny za jiné po celém světě.",
+ "page-start-apps-opensea-description": "Objevte limitovanou edicí zboží, kterou můžete nakupovat, prodávat nebo s ní obchodovat."
+}
diff --git a/src/intl/cs/page-trillion-dollar-security.json b/src/intl/cs/page-trillion-dollar-security.json
new file mode 100644
index 00000000000..f17471e5e90
--- /dev/null
+++ b/src/intl/cs/page-trillion-dollar-security.json
@@ -0,0 +1,196 @@
+{
+ "page-trillion-dollar-security-meta-title": "Projekt zabezpečení v hodnotě bilionu dolarů – Zpráva o přehledu bezpečnostních výzev",
+ "page-trillion-dollar-security-meta-description": "Projekt 1TS je snahou v rámci celého ekosystému vylepšit zabezpečení Etherea. Tato zpráva mapuje stávající bezpečnostní výzvy, kterým ekosystém čelí.",
+ "page-trillion-dollar-security-subtitle": "Projekt zabezpečení v hodnotě bilionu dolarů",
+ "page-trillion-dollar-security-title": "Přehled bezpečnostních výzev",
+ "page-trillion-dollar-security-hero-paragraph-1": "Ethereum je nejbezpečnější, nejodolnější a nejdůvěryhodnější blockchainový ekosystém. Za posledních 10 let vyvinul ekosystém Etherea technologii, standardy a znalosti, které dnes podporují ekosystém využívaný miliony lidí a který je domovem pro kapitál v hodnotě více než 600 miliard dolarů.",
+ "page-trillion-dollar-security-hero-paragraph-2": "Aby však Ethereum uspělo v další fázi globálního přijetí, je stále třeba provést mnoho vylepšení. Abychom dosáhli ambicí naší komunity, musí se Ethereum rozrůst v ekosystém, kde:",
+ "page-trillion-dollar-security-hero-paragraph-3": "Miliardy jednotlivců bez obav drží více než 1000 dolarů na blockchainu, což v součtu činí biliony dolarů zabezpečených na Ethereu.",
+ "page-trillion-dollar-security-hero-paragraph-4": "Firmy, instituce a vlády bez obav ukládají hodnotu přesahující 1 bilion dolarů do jediného kontraktu nebo aplikace a bez obav provádějí transakce v srovnatelných částkách.",
+ "page-trillion-dollar-security-hero-paragraph-5": "Projekt Trillion Dollar Security (1TS) je snahou v rámci celého ekosystému vylepšit zabezpečení Etherea. Tato zpráva je prvním výstupem projektu 1TS. Během posledního měsíce jsme shromažďovali zpětnou vazbu od uživatelů, vývojářů, bezpečnostních expertů a institucí o tom, kde vidí největší výzvy a oblasti pro zlepšení. Děkujeme stovkám lidí a desítkám organizací, které si udělaly čas a podělily se s námi o své postřehy.",
+ "page-trillion-dollar-security-hero-paragraph-6": "Tato zpráva shrnuje naše zjištění a pokrývá 6 odlišných oblastí:",
+ "page-trillion-dollar-security-report-card-title": "Zpráva o přehledu bezpečnosti ekosystému Etherea",
+ "page-trillion-dollar-security-download-report": "Stáhnout PDF",
+ "page-trillion-dollar-security-divider-heading": "Zpráva o přehledu bezpečnosti ekosystému Etherea",
+ "page-trillion-dollar-security-sticky-info": "Toto jsou informace pro lepící sekci pro {section}. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur.",
+ "page-trillion-dollar-security-content-overview-title": "Přehled",
+ "page-trillion-dollar-security-user-experience-title": "Uživatelská zkušenost (UX)",
+ "page-trillion-dollar-security-user-experience-description": "Problémy, které ovlivňují schopnost uživatelů bezpečně spravovat soukromé klíče, interagovat s aplikacemi na blockchainu a podepisovat transakce.",
+ "page-trillion-dollar-security-smart-contract-title": "Bezpečnost chytrých kontraktů",
+ "page-trillion-dollar-security-smart-contract-description": "Bezpečnost komponent chytrých kontraktů v aplikacích Etherea a životní cyklus produkce softwaru, který je utváří.",
+ "page-trillion-dollar-security-infrastructure-title": "Bezpečnost infrastruktury a cloudu",
+ "page-trillion-dollar-security-infrastructure-description": "Problémy s infrastrukturou (jak specifickou pro krypto, tak starší), na které závisí aplikace Etherea, jako jsou L2 řetězce, RPC, cloudové hostingové služby a další.",
+ "page-trillion-dollar-security-consensus-title": "Protokol konsensu",
+ "page-trillion-dollar-security-consensus-description": "Bezpečnostní vlastnosti základního protokolu, který zabezpečuje samotný blockchain Etherea před útoky nebo manipulací.",
+ "page-trillion-dollar-security-incident-title": "Monitorování, reakce na incidenty a zmírňování následků",
+ "page-trillion-dollar-security-incident-description": "Výzvy, kterým čelí uživatelé a organizace při reakci na narušení bezpečnosti, zejména při obnově prostředků nebo zvládání následků.",
+ "page-trillion-dollar-security-social-title": "Sociální vrstva a správa",
+ "page-trillion-dollar-security-social-description": "Správa Etherea s otevřeným zdrojovým kódem, komunita a ekosystém organizací.",
+ "page-trillion-dollar-security-hero-closing-paragraph-1": "Tato první zpráva se zaměřuje na identifikaci a zmapování problémů a výzev, které přetrvávají. Dalším krokem bude výběr problémů s nejvyšší prioritou, identifikace řešení a spolupráce s ekosystémem na jejich řešení.",
+ "page-trillion-dollar-security-hero-closing-paragraph-2": "Protože je ekosystém Etherea decentralizovaný, zabezpečení Etherea nemůže provést jediný subjekt. Technologický balík Etherea je budován a udržován nezávislými organizacemi po celém světě, od peněženek přes infrastrukturu až po vývojářské nástroje. I když je projekt 1TS koordinován nadací Ethereum Foundation, potřebujeme vaši pomoc k zabezpečení Etherea.",
+ "page-trillion-dollar-security-hero-closing-paragraph-3": "Do bezpečnostního projektu 1TS můžete přispět sdílením své zpětné vazby a nápadů:",
+ "page-trillion-dollar-security-feedback-question-1": "Vidíte v zabezpečení Etherea nějaké problémy, které nejsou zahrnuty v této zprávě?",
+ "page-trillion-dollar-security-feedback-question-2": "Které z níže uvedených problémů považujete za nejvyšší prioritu?",
+ "page-trillion-dollar-security-feedback-question-3": "Jaké nápady nebo řešení máte na řešení těchto problémů?",
+ "page-trillion-dollar-security-contact-paragraph": "Těšíme se na vaše podněty na adrese trilliondollarsecurity@ethereum.org.",
+ "page-trillion-dollar-security-section-1-intro": "Bezpečnost začíná u rozhraní, které lidé používají k interakci s Ethereem. Tato hranice mezi uživateli a samotným blockchainem je stálým zdrojem bezpečnostních výzev.",
+ "page-trillion-dollar-security-section-1-paragraph-1": "Jedním z definujících rysů blockchainů je atomická povaha transakcí: jakmile je aktualizace zaznamenána do blockchainu, není zde žádná možnost zásahu nebo zvrácení. To poskytuje silné záruky konzistence a bezpečnosti na úrovni protokolu, ale vystavuje uživatele zvýšenému provoznímu riziku: jediná chyba, kompromitovaný klíč nebo unáhlené schválení mohou vést k nevratné ztrátě.",
+ "page-trillion-dollar-security-section-1-paragraph-2": "V důsledku toho padá značná část odpovědnosti za bezpečnost na uživatele. Aby mohli jednotlivci a organizace bezpečně používat Ethereum, musí bezpečně držet a spravovat klíče, interagovat s aplikacemi na blockchainu a používat své klíče k podepisování transakcí pro převod aktiv nebo jinou aktualizaci stavu Etherea.",
+ "page-trillion-dollar-security-section-1-paragraph-3": "Každý z těchto požadavků s sebou nese rizika, jako je kompromitace nebo ztráta klíče, unáhlená nebo neinformovaná schválení, nebo kompromitace softwaru peněženky, na který se uživatelé spoléhají, že je bude informovat a provázet při interakci s Ethereem.",
+ "page-trillion-dollar-security-section-1-1-title": "1.1 Správa klíčů",
+ "page-trillion-dollar-security-section-1-1-paragraph-1": "Mnoho uživatelů není vybaveno k bezpečné správě kryptografických klíčů.",
+ "page-trillion-dollar-security-section-1-1-paragraph-2": "Nejpoužívanější softwarové peněženky spoléhají na to, že si uživatelé bezpečně uloží seed fráze, které představují jejich podkladový kryptografický soukromý klíč, což je často vede k používání nezabezpečených řešení, jako je ukládání seed frází v prostém textu, na cloudových službách nebo jejich zapisování na papír.",
+ "page-trillion-dollar-security-section-1-1-paragraph-3": "Hardwarové peněženky jsou alternativou, která uživatelům umožňuje spravovat kryptografický klíč uložený ve speciálním fyzickém zařízení. Hardwarové peněženky však mají své vlastní chyby a prostor pro útok. Hardwarové peněženky mohou být ztraceny, poškozeny nebo odcizeny. Mnoho hardwarových peněženek není open source a mohou mít neprůhledné dodavatelské řetězce, což zvyšuje riziko útoku na dodavatelský řetězec, kdy jsou na trh prodávána kompromitovaná zařízení.",
+ "page-trillion-dollar-security-section-1-1-paragraph-4": "Ať už jsou klíče spravovány v softwarové nebo hardwarové peněžence, mnoho uživatelů je pochopitelně nervózních ze správy vlastních prostředků, když může být kompromitována fyzickou krádeží nebo napadením.",
+ "page-trillion-dollar-security-section-1-1-paragraph-5": "Podnikoví a institucionální uživatelé čelí dalším výzvám v oblasti správy klíčů. Pokud jednotliví zaměstnanci drží klíče (např. jako součást peněženky s více podpisy), musí být organizace schopna je nahradit a vytvořit nové kvůli personálním změnám v čase. Požadavky na shodu v různých odvětvích a jurisdikcích mohou vyžadovat vlastní pracovní postupy nebo auditní záznamy, které stávající software peněženek nepodporuje. V některých případech se podnikoví uživatelé obracejí na správce digitálních aktiv třetích stran, což může představovat další vrstvu bezpečnostních rizik, která je třeba zvážit.",
+ "page-trillion-dollar-security-section-1-2-title": "1.2 Slepé podepisování a nejistota transakcí",
+ "page-trillion-dollar-security-section-1-2-paragraph": "Uživatelé běžně schvalují transakce \"naslepo\", aniž by chápali, co dělají. Peněženky často zobrazují surová hexadecimální data, zkrácenou adresu kontraktu nebo jiné informace, které uživateli nestačí k pochopení důsledků dané transakce. To zanechává všechny druhy uživatelů zranitelnými vůči škodlivým chytrým kontraktům, phishingu, podvodům, podvrženým rozhraním, kompromitacím front-endu a základním chybám uživatelů.",
+ "page-trillion-dollar-security-section-1-3-title": "1.3 Správa schválení a oprávnění",
+ "page-trillion-dollar-security-section-1-3-paragraph-1": "V mnoha aplikacích Etherea je běžné, že uživatelé udělují určitá oprávnění podkladové aplikaci jako součást běžného používání. Například uživatel může udělit decentralizované burze jako Uniswap oprávnění k přesunu svých tokenů, aby je mohl směnit za ETH.",
+ "page-trillion-dollar-security-section-1-3-paragraph-2": "Tato schválení mohou mít limity na částku, ale mnoho peněženek ve výchozím nastavení uděluje neomezená schválení bez data vypršení platnosti. Uživatelé nemají ve většině peněženek žádný způsob, jak spravovat nebo kontrolovat svá stávající schválení.",
+ "page-trillion-dollar-security-section-1-3-paragraph-3": "To může uživatele vystavit škodlivým aplikacím nebo kompromitovaným frontendům, protože výchozím vzorem pro mnoho uživatelů je udělování neomezených schválení, která mohou být zneužita k odčerpání jejich prostředků. I když uživatel udělí schválení legitimnímu chytrému kontraktu, pokud by tento kontrakt byl později kompromitován, zatímco schválení zůstává v platnosti, mohl by kompromitovaný kontrakt odčerpat uživatelovy prostředky.",
+ "page-trillion-dollar-security-section-1-3-paragraph-4": "Stejné riziko platí i pro firemní uživatele. Například organizace se může rozhodnout udělit routeru DEX neomezené povolení pro USDC pro provozní pohodlí, což je pak vystavuje rizikům, pokud je kontrakt routeru aktualizován.",
+ "page-trillion-dollar-security-section-1-4-title": "1.4 Kompromitovaná webová rozhraní",
+ "page-trillion-dollar-security-section-1-4-paragraph-1": "Většina uživatelů neinteraguje přímo s chytrým kontraktem, ale spíše prostřednictvím webového rozhraní přes své mobilní zařízení nebo webový prohlížeč.",
+ "page-trillion-dollar-security-section-1-4-paragraph-2": "Tyto front-endy mohou být zranitelné vůči útokům prostřednictvím známých prostředků, jako je únos DNS, vložení škodlivého javascriptu, nezabezpečený hosting nebo různé závislosti třetích stran. Kompromitovaný uživatelský zážitek aplikace může přesměrovat uživatele všech druhů na škodlivé chytré kontrakty nebo je přimět k podepsání zavádějících transakcí.",
+ "page-trillion-dollar-security-section-1-5-title": "1.5 Soukromí",
+ "page-trillion-dollar-security-section-1-5-paragraph-1": "Soukromí může zmírnit nebo naopak zesílit bezpečnostní rizika pro všechny druhy uživatelů.",
+ "page-trillion-dollar-security-section-1-5-paragraph-2": "Slabší ochrana soukromí vystavuje jednotlivé uživatele řadě cílených hrozeb, jako je phishing, zneužití, podvody nebo fyzické útoky. Mnoho běžných vzorců uživatelského zážitku vystavuje uživatele rizikům, např. opětovné použití adres, data KYC a další úniky metadat.",
+ "page-trillion-dollar-security-section-1-5-paragraph-3": "Pro instituce a podniky je soukromí často základním obchodním požadavkem z důvodu dodržování předpisů nebo pro určité případy použití. Kromě těchto problémů může vytvářet expozici vůči specifickým bezpečnostním rizikům. Například uživatel systému dodavatelského řetězce postaveného na Ethereu může vyžadovat silné záruky soukromí k ochraně aktiv duševního vlastnictví, která by mohla být ohrožena, pokud by byl systém transparentní.",
+ "page-trillion-dollar-security-section-1-6-title": "1.6 Fragmentace",
+ "page-trillion-dollar-security-section-1-6-paragraph-1": "Chybí konzistence v tom, jak různé peněženky zpracovávají základní chování, jako je zobrazování transakcí, zpracování schválení nebo označování kontraktů. Tato fragmentace uživatelského zážitku ztěžuje schopnost uživatele naučit se bezpečně používat peněženky a zvyšuje rizika.",
+ "page-trillion-dollar-security-section-1-6-paragraph-2": "Například uživatelé se nemohou spolehnout na konzistentní vizuální podněty UX, aby se chránili před phishingem a podvržením, protože se liší v jednotlivých peněženkách. Uživatelé si nemohou vytvořit spolehlivá očekávání o tom, jak Ethereum funguje, pokud každý nástroj funguje jinak.",
+ "page-trillion-dollar-security-section-2-intro": "Chytré kontrakty jsou onchain komponenty aplikací Etherea: kód, který drží prostředky, definuje kontroly přístupu a vynucuje obchodní logiku aplikace. Protože chytré kontrakty jsou obvykle transparentní a přístupné komukoli, představují při zvažování bezpečnosti v ekosystému Etherea kritický prostor pro útoky.",
+ "page-trillion-dollar-security-section-2-paragraph-1": "Bezpečnost chytrých kontraktů se v historii Etherea radikálně zlepšila. Rané bezpečnostní incidenty, jako byl hack DAO, motivovaly ekosystém k profesionalizaci a zlepšení ochranných opatření v celém životním cyklu softwaru, který vede k nasazení kódu na blockchain. Mezi klíčové pokroky patří:",
+ "page-trillion-dollar-security-section-2-list-1": "Bezpečnostní audit se stal standardní praxí, přičemž do ekosystému vstoupilo několik bezpečnostních firem a rozvinulo své odborné znalosti.",
+ "page-trillion-dollar-security-section-2-list-2": "Nástroje, testování a systémy statické analýzy dozrály a staly se standardní praxí.",
+ "page-trillion-dollar-security-section-2-list-3": "Knihovny předem auditovaných běžných komponent poskytly vývojářům stavební bloky, které jsou bezpečné již ve výchozím nastavení.",
+ "page-trillion-dollar-security-section-2-list-4": "Byly přijaty techniky formálního ověřování, zejména pro přemostění, systémy stakingu a kontrakty s vysokou hodnotou.",
+ "page-trillion-dollar-security-section-2-list-5": "Zlepšila se bezpečnostní kultura ekosystému a osvědčené postupy.",
+ "page-trillion-dollar-security-section-2-list-6": "Vytvoření významných programů odměn (bounty), které posílily aplikační vrstvu.",
+ "page-trillion-dollar-security-section-2-paragraph-2": "V této oblasti však stále existují slabiny a prostory pro zlepšení.",
+ "page-trillion-dollar-security-section-2-1-title": "2.1 Zranitelnosti kontraktů",
+ "page-trillion-dollar-security-section-2-1-paragraph": "Navzdory pokrokům v oblasti bezpečnosti chytrých kontraktů stále existují zranitelnosti, které mohou vést k významným bezpečnostním problémům, včetně:",
+ "page-trillion-dollar-security-section-2-1-list-title-1": "Riziko aktualizace kontraktu",
+ "page-trillion-dollar-security-section-2-1-list-desc-1": "Některé kontrakty jsou navrženy tak, aby je bylo možné po nasazení upravovat, aby vývojový tým mohl aplikaci nadále aktualizovat a vylepšovat. To však s sebou nese rizika. Aktualizace mohou vést k novým zranitelnostem nebo k úplné ztrátě prostředků uživatelů v případě škodlivé aktualizace.",
+ "page-trillion-dollar-security-section-2-1-list-title-2": "Re-entrancy",
+ "page-trillion-dollar-security-section-2-1-list-desc-2": "kde kontrakt A volá externí kontrakt B před aktualizací svého vlastního interního stavu a kontrakt B volá zpět původní kontrakt A před dokončením prvního volání.",
+ "page-trillion-dollar-security-section-2-1-list-title-3": "Nebezpečné použití externích knihoven",
+ "page-trillion-dollar-security-section-2-1-list-desc-3": "kde kontrakt volá externí knihovnu, která může být neauditovaná, škodlivá nebo aktualizovatelná.",
+ "page-trillion-dollar-security-section-2-1-list-title-4": "Neauditované komponenty",
+ "page-trillion-dollar-security-section-2-1-list-desc-4": "Ačkoli se audit a používání standardních knihoven zlepšilo, vývojáři se někdy spoléhají na neauditované komponenty ve svých aplikacích.",
+ "page-trillion-dollar-security-section-2-1-list-title-5": "Selhání řízení přístupu",
+ "page-trillion-dollar-security-section-2-1-list-desc-5": "kde jsou oprávnění nesprávně nakonfigurována nebo definována příliš široce, což umožňuje útočníkům provádět škodlivé akce.",
+ "page-trillion-dollar-security-section-2-1-list-title-6": "Neoprávněný přístup",
+ "page-trillion-dollar-security-section-2-1-list-desc-6": "kde soukromý klíč, který je schopen ovládat kontrakt, získá škodlivý aktér.",
+ "page-trillion-dollar-security-section-2-1-list-title-7": "Přemostění a interakce mezi řetězci",
+ "page-trillion-dollar-security-section-2-1-list-desc-7": "Přemostění a protokoly mezi řetězci představují další složitost a útočníci mohou zneužít slabiny ve způsobu, jakým jsou zprávy mezi řetězci předávány nebo ověřovány.",
+ "page-trillion-dollar-security-section-2-1-list-title-8": "Delegace účtu vlastněného externě (EOA) nebo zneužití podpisu",
+ "page-trillion-dollar-security-section-2-1-list-desc-8": "Škodlivé aplikace mohou přimět uživatele k podepsání úplné delegace jejich účtu jiné straně, což umožňuje krádež. Škodlivé aplikace mohou také používat podepsané zprávy od uživatele neočekávanými způsoby, např. při útoku typu replay attack.",
+ "page-trillion-dollar-security-section-2-1-list-title-9": "Vznikající riziko chyb způsobených generováním kódu umělou inteligencí nebo automatizovanými nástroji pro refaktorování",
+ "page-trillion-dollar-security-section-2-2-title": "2.2 Zkušenosti vývojářů, nástroje a programovací jazyky",
+ "page-trillion-dollar-security-section-2-2-paragraph": "Zranitelnosti se do nasazeného kódu dostávají v důsledku chyby vývojáře. Vylepšené vývojářské nástroje výrazně usnadnily nasazování bezpečných chytrých kontraktů. Problémy však přetrvávají.",
+ "page-trillion-dollar-security-section-2-2-list-title-1": "Chybějící bezpečné výchozí nastavení v populárních frameworcích",
+ "page-trillion-dollar-security-section-2-2-list-desc-1": "Některé nástroje upřednostňují flexibilitu nebo rychlost před bezpečností a nastavují nezabezpečené výchozí hodnoty, jako jsou neomezená schválení tokenů ve funkci approve() nebo ve výchozím nastavení nezahrnují vzory řízení přístupu.",
+ "page-trillion-dollar-security-section-2-2-list-title-2": "Vlastní kód pro pokročilé provozní kontroly",
+ "page-trillion-dollar-security-section-2-2-list-desc-2": "Institucionální uživatelé se složitými provozními požadavky často musí vytvářet požadované funkce od nuly, což zvyšuje riziko zranitelností. Chybí standardizované bezpečné komponenty nebo rámce pro pokročilé bezpečnostní pracovní postupy.",
+ "page-trillion-dollar-security-section-2-2-list-title-3": "Nekonzistentní pokrytí testováním",
+ "page-trillion-dollar-security-section-2-2-list-desc-3": "v různých sadách nástrojů, stejně jako absence norem pro používání osvědčených technik, jako je fuzzing nebo kontrola invariantů.",
+ "page-trillion-dollar-security-section-2-2-list-title-4": "Nízké přijetí metod formálního ověřování",
+ "page-trillion-dollar-security-section-2-2-list-desc-4": "Techniky formálního ověřování jsou mocné, ale jsou složité, nákladné, vyžadují specializované odborné znalosti a nejsou dobře integrovány do standardních pracovních postupů vývojářů, kde by mohly být použity mnohem dříve při výrobě softwaru k ověření bezpečnosti ve fázi specifikace.",
+ "page-trillion-dollar-security-section-2-2-list-title-5": "Problémy související s ověřováním kontraktů",
+ "page-trillion-dollar-security-section-2-2-list-desc-5": "Uživatelé a vývojáři nemohou snadno posoudit důvěryhodnost nasazených kontraktů, rozsah jejich bezpečnostního ověření (např. audity kódu) nebo přítomnost skrytých rizik. Ačkoli pro tento účel existují řešení, mnoho problémů přetrvává. Nástroje, které tyto problémy řeší, nejsou široce přijímány, standardy, které by sjednotily přístupy, zůstávají roztříštěné a některé ze stávajících služeb jsou samy o sobě centralizovanými závislostmi.",
+ "page-trillion-dollar-security-section-2-2-list-title-6": "Rizika kompilátoru",
+ "page-trillion-dollar-security-section-2-2-list-desc-6": "Kompilátory (software, který převádí člověkem čitelný kód jako Solidity na bajtkód používaný samotným EVM) mohou mít chyby, které do chytrých kontraktů vnášejí chyby ještě před jejich nasazením. Ekosystém Etherea dnes většinou závisí na kompilátoru solc, což znamená, že chyba by mohla mít rozsáhlé dopady.",
+ "page-trillion-dollar-security-section-2-2-list-title-7": "Rozmanitost a hloubka programovacích jazyků",
+ "page-trillion-dollar-security-section-2-2-list-desc-7": "Ačkoli má Solidity vybudovaný hluboký ekosystém nástrojů, někteří vývojáři chtějí modernější bezpečnostní funkce, které se nacházejí v jiných programovacích jazycích, jako je bezpečnost paměti.",
+ "page-trillion-dollar-security-section-2-3-title": "2.3 Posouzení rizik kódu na blockchainu",
+ "page-trillion-dollar-security-section-2-3-paragraph": "Instituce a podniky mají stávající procesy, standardy a požadavky pro hodnocení bezpečnosti technologií a systémů, na kterých závisí. Stávající rámce se však často nehodí pro chytré kontrakty, protože obvykle předpokládají proměnlivý kód, centralizovanou kontrolu změn a jasné linie odpovědnosti nebo právní odpovědnosti. Systémy postavené na chytrých kontraktech mohou někdy tyto předpoklady porušovat, což organizacím ztěžuje přijetí Etherea a vhodné řízení rizik.",
+ "page-trillion-dollar-security-section-3-intro": "Mnoho způsobů využití Etherea závisí na různých poskytovatelích infrastruktury, včetně infrastruktury specifické pro kryptoměny (např. řetězce druhé vrstvy, poskytovatelé RPC) a tradiční cloudové a internetové infrastruktury (např. AWS, CDN, DNS).",
+ "page-trillion-dollar-security-section-3-paragraph-1": "Tyto systémy představují prostor pro útok jak pro vrstvu peněženky a aplikace (např. koncové body RPC pro peněženky), tak pro samotný protokol Etherea (např. mnoho validátorů je hostováno v cloudové infrastruktuře). Kompromitace soukromého klíče, phishing a nedostatek granulárních kontrol přístupu mohou vést k rozsáhlým výpadkům, krádežím nebo neoprávněným změnám, i když podkladový protokol blockchainu zůstává bezpečný.",
+ "page-trillion-dollar-security-section-3-1-title": "3.1 Řetězce druhé vrstvy",
+ "page-trillion-dollar-security-section-3-1-paragraph": "Řetězce druhé vrstvy (L2) slouží jako rozšíření pro Ethereum, umožňují rychlejší prostředí s nižšími poplatky a zároveň si zachovávají některé charakteristické bezpečnostní záruky hlavní sítě Ethereum (v závislosti na jejich konkrétním návrhu). Mají však také své vlastní odlišné plochy pro útok, včetně:",
+ "page-trillion-dollar-security-section-3-1-list-title-1": "Složitost přemostěných aktiv s více skoky",
+ "page-trillion-dollar-security-section-3-1-list-desc-1": "Když aktiva cestují mezi L1 a více L2, jsou vystavena několika sadám kontraktů, které všechny musí být bezpečné. Nesoulad v účetnictví nebo výpadky v řetězcích L2 mohou zavést zranitelnosti, které mohou být zneužity útočníky.",
+ "page-trillion-dollar-security-section-3-1-list-title-2": "Rollup L2 se spoléhají na systémy prokazování správnosti aktualizací stavu",
+ "page-trillion-dollar-security-section-3-1-list-desc-2": "Chyby nebo nesprávné konfigurace v těchto systémech mohou zastavit nebo zabránit finalizaci, nebo umožnit finalizaci falešných aktualizací stavu vedoucích ke ztrátě prostředků uživatelů.",
+ "page-trillion-dollar-security-section-3-1-list-title-3": "Bezpečnostní rady jsou skupiny držitelů klíčů, které slouží jako „záložní“ mechanismus k aktualizaci softwaru L2 nebo k reakci na určité nouzové situace",
+ "page-trillion-dollar-security-section-3-1-list-desc-3": "Samotné bezpečnostní rady představují rizika, protože kompromitace nebo tajná dohoda mezi členy by mohla ohrozit prostředky uživatelů nebo zmrazit aktiva.",
+ "page-trillion-dollar-security-section-3-1-paragraph-2": "Podrobný rámec a monitorovací panel, který hodnotí a porovnává výkon a bezpečnost L2, naleznete na L2Beat.",
+ "page-trillion-dollar-security-section-3-2-title": "3.2 Infrastruktura RPC a uzlů",
+ "page-trillion-dollar-security-section-3-2-paragraph-1": "Aplikace Etherea závisí na malém počtu poskytovatelů infrastruktury pro přístup RPC, API a služby uzlů. To zahrnuje poskytovatele infrastruktury specifické pro krypto, stejně jako tradiční cloudové služby, které se běžně používají k hostování uzlů (např. AWS, Cloudflare, Hetzner).",
+ "page-trillion-dollar-security-section-3-2-paragraph-2": "Pokud by tito poskytovatelé infrastruktury přestali fungovat nebo se pokusili cenzurovat či omezit přístup, mnoha uživatelům by mohl být znemožněn přístup k Ethereu prostřednictvím jejich peněženky nebo aplikace, dokud by nebyli schopni přejít na nového poskytovatele RPC nebo jiné infrastruktury. Někteří z těchto poskytovatelů již dříve pozastavili nebo zrušili účty spojené s blockchainovou aktivitou, což vyvolává obavy o jejich dlouhodobou spolehlivost pro decentralizované aplikace.",
+ "page-trillion-dollar-security-section-3-3-title": "3.3 Zranitelnosti na úrovni DNS",
+ "page-trillion-dollar-security-section-3-3-paragraph": "Systém doménových jmen (DNS) je základní vrstvou internetu, ale je také centralizovaný a může být kompromitován. Mnoho uživatelů přistupuje k aplikacím prostřednictvím webových domén, které jsou náchylné k:",
+ "page-trillion-dollar-security-section-3-3-list-1": "Únos DNS, kdy útočník vloží škodlivý falešný frontend.",
+ "page-trillion-dollar-security-section-3-3-list-2": "Zabavení domény, kdy vláda nebo registrátor může domény zabavit.",
+ "page-trillion-dollar-security-section-3-3-list-3": "Phishing prostřednictvím podobných domén, kdy útočníci registrují téměř identické názvy, aby zmátli uživatele.",
+ "page-trillion-dollar-security-section-3-4-title": "3.4 Softwarový dodavatelský řetězec a knihovny",
+ "page-trillion-dollar-security-section-3-4-paragraph": "Vývojáři Etherea se spoléhají na open-source knihovny, často stahované přímo ze služeb jako npm, crates.io nebo GitHub. Pokud jsou tyto knihovny kompromitovány, mohou se stát vektorem pro útoky, jako jsou:",
+ "page-trillion-dollar-security-section-3-4-list-title-1": "Vložení škodlivého balíčku",
+ "page-trillion-dollar-security-section-3-4-list-desc-1": "kde útočníci kompromitují široce používaný balíček nebo publikují jeden pod podobným názvem",
+ "page-trillion-dollar-security-section-3-4-list-title-2": "Unesené závislosti",
+ "page-trillion-dollar-security-section-3-4-list-desc-2": "kde správci ztratí kontrolu nad projektem a škodlivý aktér vloží škodlivý kód",
+ "page-trillion-dollar-security-section-3-4-list-title-3": "Kompromitace vývojáře",
+ "page-trillion-dollar-security-section-3-4-list-desc-3": "kde nainstalované balíčky obsahují kód, který útočníkovi poskytne kontrolu nad počítačem vývojáře.",
+ "page-trillion-dollar-security-section-3-5-title": "3.5 Služby doručování front-endu a související rizika",
+ "page-trillion-dollar-security-section-3-5-paragraph": "Mnoho aplikací Etherea poskytuje své front-endy prostřednictvím sítě pro doručování obsahu (CDN) nebo cloudové hostingové platformy (např. Vercel, Netlify, Cloudflare). Pokud jsou tyto služby kompromitovány, mohou se stát vektorem pro útoky, jako je vložení škodlivého javascriptu, kdy útočníci poskytnou uživatelům změněný frontend.",
+ "page-trillion-dollar-security-section-3-6-title": "3.6 Cenzura na úrovni poskytovatele internetových služeb",
+ "page-trillion-dollar-security-section-3-6-paragraph-1": "Poskytovatelé internetových služeb (ISP) nebo národní státy mohou využít kontroly nad základní internetovou infrastrukturou k cenzuře přístupu k Ethereu. Tyto útoky by mohly například zahrnovat:",
+ "page-trillion-dollar-security-section-3-6-list-1": "Blokování nebo omezování provozu na běžných portech Etherea",
+ "page-trillion-dollar-security-section-3-6-list-2": "Filtrování požadavků DNS, které se překládají na služby související s Ethereem",
+ "page-trillion-dollar-security-section-3-6-list-3": "Geofencing nebo zákazy IP proti známým uzlům Etherea",
+ "page-trillion-dollar-security-section-3-6-list-4": "Hloubková inspekce paketů pro identifikaci a cenzuru provozu souvisejícího s protokolem Etherea",
+ "page-trillion-dollar-security-section-3-6-paragraph-2": "Mnoho z těchto základních technik již dnes používají autoritářské vlády po celém světě k potlačení přístupu k informacím, protestním nástrojům nebo kryptoměnám.",
+ "page-trillion-dollar-security-section-4-intro": "Konsensuální protokol Etherea definuje, jak síť aktualizuje stav blockchainu Etherea a dosahuje shody. Tento protokol je základem toho, co činí Ethereum důvěryhodnou platformou pro peníze, finance, identitu, správu, reálná aktiva a další.",
+ "page-trillion-dollar-security-section-4-paragraph-1": "Konsensuální protokol Etherea se v praxi ukázal jako robustní, s nulovými výpadky od prvního spuštění v roce 2015 a napříč několika vylepšeními. Stále však existují dlouhodobé oblasti pro zlepšení, aby byl systém odolnější a bezpečnější.",
+ "page-trillion-dollar-security-section-4-1-title": "4.1 Křehkost konsensu a rizika obnovy",
+ "page-trillion-dollar-security-section-4-1-paragraph": "Pravidla výběru větve a finality Etherea jsou odolná, ale nejsou nezranitelná. Během určitých okrajových podmínek (jako je prodloužená neshoda validátorů, chyby v klientech nebo síťové oddíly) by se konsensus mohl zastavit nebo dočasně rozdělit. V extrémních podmínkách by to mohlo vést ke kaskádovitým penalizacím validátorů prostřednictvím pokut za nečinnost nebo slashingu, což by dále mohlo vést k odlivu kapitálu od validátorů.",
+ "page-trillion-dollar-security-section-4-2-title": "4.2 Rozmanitost klientů",
+ "page-trillion-dollar-security-section-4-2-paragraph": "Vedoucí pozice Etherea v rozmanitosti klientů chrání síť před chybami v jakémkoli jednotlivém klientovi. Rozmanitost klientů by se však stále mohla zlepšit větším přijetím menšinových klientů, aby se tato rizika ještě více snížila.",
+ "page-trillion-dollar-security-section-4-3-title": "4.3 Centralizace stakingu a dominance poolů",
+ "page-trillion-dollar-security-section-4-3-paragraph": "Značné množství váhy validátorů je soustředěno v protokolech likvidního stakingu, depozitních službách a u velkých operátorů uzlů. Tato koncentrace může vést k rizikům, jako jsou:",
+ "page-trillion-dollar-security-section-4-3-list-1": "Získání kontroly nad správou nebo ovlivňování. Pokud by se entity ovládající velké množství vkladů (nebo entity s právní mocí ovlivňovat tyto entity) koordinovaly, mohly by mít nepřiměřený vliv na to, které bloky jsou navrhovány a potvrzovány, což by mohlo vést k cenzuře uživatelů nebo ovlivňování vylepšení protokolu.",
+ "page-trillion-dollar-security-section-4-3-list-2": "Homogenita ve výběru klientů a nastavení infrastruktury, což může zvýšit rizika korelovaných selhání.",
+ "page-trillion-dollar-security-section-4-4-title": "4.4 Nedefinovaný sociální slashing a mezery v koordinaci",
+ "page-trillion-dollar-security-section-4-4-paragraph": "V některých extrémních případech selhání by se Ethereum spoléhalo na „sociální slashing“ k penalizaci validátorů, kteří jednali škodlivě s cílem zaútočit na síť (viz oddíl 6.1). Infrastruktura, normy a očekávané procesy pro tento druh slashingu jsou však nedostatečně rozvinuté. Neexistuje žádný zavedený mechanismus, který by komunita pro tento proces použila.",
+ "page-trillion-dollar-security-section-4-5-title": "4.5 Ekonomické a herně-teoretické vektory útoku",
+ "page-trillion-dollar-security-section-4-5-paragraph": "Mnoho potenciálních ekonomických vektorů útoku zůstává nedostatečně prozkoumáno, včetně:",
+ "page-trillion-dollar-security-section-4-5-list-1": "Útoky typu griefing nebo slash griefing. Validátorům mohou vzniknout náklady nebo penalizace za slashing nikoli kvůli jejich vlastním chybám, ale kvůli nepřátelskému chování, jehož jediným cílem je poškodit ostatní za čistou ztrátu pro útočníka.",
+ "page-trillion-dollar-security-section-4-5-list-2": "Strategické odchody nebo časovaná nečinnost. Validátoři by se mohli úmyslně odpojit nebo odejít v kritických okamžicích, aby maximalizovali zisky nebo narušili konsensus s minimálními penalizacemi.",
+ "page-trillion-dollar-security-section-4-5-list-3": "Tajná dohoda mezi validátory nebo relay. Koordinované chování mezi validátory nebo mezi relay a validátory by mohlo snížit decentralizaci nebo extrahovat MEV.",
+ "page-trillion-dollar-security-section-4-5-list-4": "Zneužití okrajových pobídek v MEV, oddělení navrhovatele a tvůrce bloku nebo návrhu likvidního stakingu. Aktéři mohou manipulovat vzácnými podmínkami protokolu, aby získali nepřiměřené odměny.",
+ "page-trillion-dollar-security-section-4-6-title": "4.6 Kvantové riziko",
+ "page-trillion-dollar-security-section-4-6-paragraph-1": "Základní kryptografie Etherea (např. podpisy na eliptických křivkách jako secp256k1) by jednoho dne mohla být prolomena kvantovými počítači. I když se nejedná o bezprostřední riziko, důvěryhodná hrozba by mohla okamžitě učinit stávající peněženky, kontrakty a klíče pro staking zranitelnými. Tato budoucí výzva oslabuje dlouhodobé záruky Etherea pro uživatele.",
+ "page-trillion-dollar-security-section-4-6-paragraph-2": "Cesty migrace na kvantově odolnou kryptografii (např. prostřednictvím post-kvantových podpisových schémat) musí být navrženy, testovány a případně zakotveny v protokolu roky předtím, než budou potřeba. Organizace v celém ekosystému Etherea, včetně nadace Ethereum Foundation, aktivně zkoumají tyto možnosti a monitorují rizika.",
+ "page-trillion-dollar-security-section-5-paragraph-1": "I idealizovaný blockchainový ekosystém bude mít rizika, útoky a zranitelnosti. Když se něco pokazí, musí existovat efektivní systémy pro zmírnění, detekci a reakci. Výzvy zde zahrnují:",
+ "page-trillion-dollar-security-section-5-list-title-1": "Dosažení postiženého týmu",
+ "page-trillion-dollar-security-section-5-list-desc-1": "Může být obtížné se spojit s týmem, jehož aplikace byla kompromitována. To může vést k hodinám zpoždění, což omezuje schopnost respondentů obnovit prostředky.",
+ "page-trillion-dollar-security-section-5-list-title-2": "Eskalace problémů v souvisejících organizacích",
+ "page-trillion-dollar-security-section-5-list-desc-2": "Pokud problém zahrnuje platformu (jako je sociální síť nebo centralizovaná burza), může být pro respondenty náročné eskalovat problém, pokud nemají předem existující kontakt.",
+ "page-trillion-dollar-security-section-5-list-title-3": "Koordinace reakce",
+ "page-trillion-dollar-security-section-5-list-desc-3": "Často je nejasné, kolik týmů pro reakci na incidenty pomáhá postižené aplikaci, což vede k nedorozuměním nebo plýtvání úsilím, když by skupinové úsilí mohlo být efektivnější.",
+ "page-trillion-dollar-security-section-5-list-title-4": "Chybějící monitorovací schopnosti",
+ "page-trillion-dollar-security-section-5-list-desc-4": "Může být obtížné monitorovat problémy na blockchainu i mimo něj, což by poskytlo včasné varování a zajistilo rychlou reakci na hrozby.",
+ "page-trillion-dollar-security-section-5-list-title-5": "Přístup k pojištění",
+ "page-trillion-dollar-security-section-5-list-desc-5": "Pojištění je základním nástrojem pro zmírnění ztrát ve většině tradičních systémů, které se zabývají penězi, finančními systémy, identitou a dalšími cennými informacemi. Dnes je však pro krypto ekosystém k dispozici jen málo možností pojištění od tradičních finančních služeb.",
+ "page-trillion-dollar-security-section-6-intro": "„Sociální vrstva“ Etherea se týká souboru lidí, organizací, společností, procesů správy a kulturních norem, které ovlivňují chování ekosystému Etherea. Tato sociální vrstva je sama o sobě zranitelná vůči určitým útokům nebo rizikům, které pak mohou ovlivnit bezpečnost a spolehlivost Etherea.",
+ "page-trillion-dollar-security-section-6-paragraph-1": "Tato rizika mají tendenci být spíše dlouhodobě orientovaná a týkají se Etherea jako celku spíše než bezpečnosti jednotlivých uživatelů nebo aplikací.",
+ "page-trillion-dollar-security-section-6-1-title": "6.1 Centralizace vkladů",
+ "page-trillion-dollar-security-section-6-1-paragraph-1": "Centralizace velkého množství vkladů může představovat rizika pro Ethereum jako celek, pokud se entity ovládající tyto vklady rozhodnou tajně dohodnout.",
+ "page-trillion-dollar-security-section-6-1-paragraph-2": "Tato ekonomická centralizace vytváří potenciál pro ovládnutí sociální správy. Pokud malá skupina validátorů ovládá nadpoloviční většinu vkladů, mohla by:",
+ "page-trillion-dollar-security-section-6-1-list-1": "Koordinovat nebo odolávat větvím.",
+ "page-trillion-dollar-security-section-6-1-list-2": "Cenzurovat určité transakce nebo kontrakty.",
+ "page-trillion-dollar-security-section-6-1-list-3": "Podkopávat konsensus komunity hrozbou odchodu nebo opozicí.",
+ "page-trillion-dollar-security-section-6-1-paragraph-3": "Pokud by k tomuto extrémnímu scénáři došlo, komunita Etherea navrhla, že odpovědí by mohl být \"sociální slashing\". Sociální slashing je použití mimoblockchainového (offchain) sociálního konsensu k rozhodnutí o slashování (potrestání) validátorů, kteří se chovají škodlivě, jako kontrola jejich moci. Pro zavedení takových opatření však neexistují žádné jasné normy, postupy ani nástroje (viz oddíl 4.4).",
+ "page-trillion-dollar-security-section-6-2-title": "6.2 Centralizace aktiv mimo blockchain",
+ "page-trillion-dollar-security-section-6-2-paragraph-1": "Ethereum hostí značné množství reálných aktiv, kde jsou aktiva držena mimo blockchain na bankovních účtech nebo v jiných vkladech, s nimiž se pak obchoduje na blockchainu prostřednictvím tokenů, které představují nárok na aktiva mimo blockchain. Tímto způsobem funguje například mnoho velkých stabilních kryptoměn.",
+ "page-trillion-dollar-security-section-6-2-paragraph-2": "Instituce, které drží vklady mimo blockchain, mohou mít vliv na ekosystém Etherea. Například během extrémního scénáře, kdy dojde ke sporné větvi nebo vylepšení sítě, mohou velcí vkladatelé ovlivnit, který řetězec se stane široce přijímaným tím, že se rozhodnou uznat tokeny pouze na jednom řetězci nebo na druhém.",
+ "page-trillion-dollar-security-section-6-3-title": "6.3 Regulační útok nebo tlak",
+ "page-trillion-dollar-security-section-6-3-paragraph": "Vlády a regulační orgány by mohly vyvíjet tlak na různé subjekty, které ovládají důležité součásti balíku Etherea, aby cenzurovaly nebo jinak zasahovaly do protokolu Etherea. Těmito tlaky by mohli být ovlivněni i institucionální uživatelé Etherea, což by mělo další důsledky pro jejich uživatele (např. banka, která již nemůže nabízet určité kryptoprodukty kvůli regulačním zákazům).",
+ "page-trillion-dollar-security-section-6-4-title": "6.4 Organizační ovládnutí správy",
+ "page-trillion-dollar-security-section-6-4-paragraph-1": "Procesy správy a vývoje Etherea s otevřeným zdrojovým kódem jsou řízeny rozmanitou a globální sadou týmů a společností, které udržují základní klientský software, infrastrukturu a nástroje.",
+ "page-trillion-dollar-security-section-6-4-paragraph-2": "Různé formy vlivu (firemní akvizice, závislosti na financování, zaměstnávání klíčových přispěvatelů, střety zájmů uvnitř stávajících organizací) by mohly postupně změnit kulturu a priority správy Etherea. To může vést k sladění se specifickými komerčními nebo externími zájmy, které se odchylují od komunitou řízeného étosu a zavedeného plánu, což by mohlo časem oslabit neutralitu a odolnost Etherea.",
+ "page-trillion-dollar-security-image-alt-hero": "Futuristická vizualizace zobrazující propojené blockchainové uzly a bezpečnostní prvky, představující bilionovou bezpečnost v prostoru digitálních aktiv",
+ "page-trillion-dollar-security-image-alt-report": "Titulní obrázek zprávy Trillion Dollar Security zobrazující moderní vizualizaci digitální bezpečnosti s prvky blockchainu a síťovými připojeními"
+}
diff --git a/src/intl/cs/page-upgrades-get-involved.json b/src/intl/cs/page-upgrades-get-involved.json
index 88148b5968b..3d27980d3a6 100644
--- a/src/intl/cs/page-upgrades-get-involved.json
+++ b/src/intl/cs/page-upgrades-get-involved.json
@@ -8,12 +8,12 @@
"page-upgrades-get-involved-bug-li": "problémy s nedodržením specifikací",
"page-upgrades-get-involved-bug-li-2": "chyby prolomení finality",
"page-upgrades-get-involved-bug-li-3": "vektory odmítnutí služby (DOS)",
- "page-upgrades-get-involved-bug-li-4": "a další...",
+ "page-upgrades-get-involved-bug-li-4": "a více...",
"page-upgrades-get-involved-desc-1": "Spuštění klienta znamená, že budete aktivním účastníkem v Ethereu. Váš klient vám pomůže sledovat transakce a zkontrolovat nové bloky.",
"page-upgrades-get-involved-desc-2": "Máte-li ETH, můžete ho uzamknout, abyste se stali validátorem a pomohli zabezpečit celou síť. Jako validátor můžete získat za odměnu ETH.",
"page-upgrades-get-involved-desc-3": "Připojte se ke komunitnímu testovacímu úsilí! Pomozte otestovat vylepšení Etherea ještě před dodáním, najděte chyby a získejte odměny.",
"page-upgrades-get-involved-ethresearch-1": "Sharding",
- "page-upgrades-get-involved-ethresearch-2": "Sloučení",
+ "page-upgrades-get-involved-ethresearch-2": "The Merge",
"page-upgrades-get-involved-ethresearch-3": "Roztříštěné provedení",
"page-upgrades-get-involved-ethresearch-4": "Všechna výzkumná témata",
"page-upgrades-get-involved-how": "Jak chcete být zapojeni?",
diff --git a/src/intl/cs/page-upgrades-index.json b/src/intl/cs/page-upgrades-index.json
new file mode 100644
index 00000000000..43e8a589966
--- /dev/null
+++ b/src/intl/cs/page-upgrades-index.json
@@ -0,0 +1,208 @@
+{
+ "consensus-client-besu-logo-alt": "Besu logo",
+ "consensus-client-erigon-logo-alt": "Logo Erigonu",
+ "consensus-client-geth-logo-alt": "Geth logo",
+ "consensus-client-lighthouse-logo-alt": "Lighthouse logo",
+ "consensus-client-lodestar-logo-alt": "Logo Lodestar",
+ "consensus-client-nethermind-logo-alt": "Logo Nethermindu",
+ "consensus-client-nimbus-logo-alt": "Logo Nimbus",
+ "consensus-client-prysm-logo-alt": "Logo Prysm",
+ "consensus-client-teku-logo-alt": "Logo Teku",
+ "page-upgrades-answer-1": "The Beacon Chain was used as a tool to upgrade Ethereum Mainnet at The Merge.",
+ "page-upgrades-answer-2": "With The Merge, Ethereum had its most substantial upgrade ever swapping proof-of-work for a new proof-of-stake based consensus layer.Ethereum.",
+ "page-upgrades-answer-4": "Beacon Chain byl použit k vývoji konsensu založeného na proof-of-stake, který dnes Ethereum používá. Byl provozován odděleně od Ethereum Mainnet, takže vývojáři mohli pozorovat mechanismus konsensu izolovaně, než jej použijí ke koordinaci skutečné aktivity.",
+ "page-upgrade-article-author-status": "Stav",
+ "page-upgrade-article-author-ethmerge": "Ethmerge",
+ "page-upgrade-article-author-alchemy": "Alchemy",
+ "page-upgrade-article-author-consensys": "Klávesa: page-upgrade-article-author-consensys\n -> page-upgrade-article-author-consensys",
+ "page-upgrade-article-author-delphi-digital": "Klávesa: page-upgrade-article-author-delphi-digital\n -> page-upgrade-article-author-delphi-digital",
+ "page-upgrade-article-author-eip-4844": "Vitalik Buterin, Dankrad Feist, Diederik Loerakker, George Kadianakis, Matt Garnett, Mofi Taio",
+ "page-upgrade-article-author-ethereum-foundation": "Nadace Ethereum",
+ "page-upgrade-article-author-vitalik-buterin": "Vitalik Buterin",
+ "page-upgrade-article-author-ethos-dev": "Klávesa: page-upgrade-article-author-ethos-dev\n -> page-upgrade-article-author-ethos-dev\n Soubor: Domovská stránka upgradů",
+ "page-upgrade-article-title-two-point-oh": "Dva body Oh: Hlavní Řetězec",
+ "page-upgrade-article-title-beacon-chain-explainer": "Hlavní Řetězec Ethereum 2.0 vám vysvětlí, že si ho první musíte přečíst",
+ "page-upgrade-article-title-sharding-consensus": "Sdílení konsensu",
+ "page-upgrade-article-title-sharding-is-great": "Proč je tříštění dobré: demystifikace jeho technických vlastností",
+ "page-upgrade-article-title-rollup-roadmap": "Mapa rollup-centric",
+ "page-upgrade-article-title-hitchhikers-guide-to-ethereum": "Stopařův průvodce Ethereem",
+ "page-upgrade-article-title-eip-4844": "EIP-4844: Shard Blob Transactions (Proto-Danksharding)",
+ "page-upgrade-article-title-proto-danksharding-faq": "Nejčastější dotazy k Proto-Dankshardingu",
+ "page-upgrade-article-title-sharding-das": "Vysvětlení tříštění a vzorkování dostupnosti dat (DAS)",
+ "page-upgrade-article-title-ethmerge": "Ethmerge",
+ "page-upgrade-article-title-merge-is-coming": "Sloučení se blíží",
+ "page-upgrade-article-title-state-of-the-merge": "The State of The Merge: An Update on Ethereum’s Merge to Proof of Stake in 2022",
+ "page-upgrade-article-title-ropsten-merge-testnet": "Oznámení testovací sítě pro sloučení Ropsten",
+ "page-upgrade-article-title-execution-layer-specs": "Specifikace exekuční vrstvy",
+ "page-upgrade-article-title-consensus-layer-specs": "Specifikace vrstvy konsenzu",
+ "page-upgrade-article-title-engine-api-specs": "Specifikace Engine API",
+ "page-upgrades-beacon-chain-date": "Beacon řetězec byl živě 1. prosince 2020",
+ "page-upgrades-beacon-chain-desc": ".",
+ "page-upgrades-beacon-chain-estimate": "Beacon řetězec je živě",
+ "page-upgrades-beacon-chain-title": "Řetězová vazba",
+ "page-upgrades-bug-bounty": "Zobrazit program pro lov chyb",
+ "page-upgrades-clients": "Podívejte se na konsensuální klienty (dříve známé jako klienti „Eth2“)",
+ "page-staking-deposit-contract-title": "Zkontrolovat adresu smlouvy o vkladu",
+ "page-upgrades-dive": "Potopit se do vize",
+ "page-upgrades-dive-desc": "Jak děláme Ethereum škálovatelnějším, bezpečnějším a udržitelnějším? A to vše při zachování základního étosu decentralizace Etherea.",
+ "page-upgrades-docking": "Sloučení",
+ "page-upgrades-merge-answer-1": "Důkaz prací.",
+ "page-upgrades-merge-btn": "Více o sloučení",
+ "page-upgrades-merge-desc": "Důkaz podílemEthereum",
+ "page-upgrades-merge-estimate": "Sloučení začalo",
+ "page-upgrades-merge-mainnet": "Co je mainnet?",
+ "page-upgrades-eth-blog": "blog ethereum.org",
+ "page-upgrades-explore-btn": "Prozkoumejte vylepšení",
+ "page-upgrades-get-involved": "Zapojte se do vylepšení Etherea",
+ "page-upgrades-get-involved-2": "Zapojit se",
+ "page-upgrades-head-to-ethresearch": "Navštivte ethresearch.ch",
+ "page-upgrades-help": "Chcete pomoci s vylepšeními Etherea?",
+ "page-upgrades-help-desc": "Existuje spousta příležitostí, jak se zapojit do vylepšení Etherea, pomoci s testováním a dokonce i získat odměny.",
+ "page-upgrades-index-staking": "Stakování je tady",
+ "page-upgrades-index-staking-desc": "Klíčem k vylepšením Etherea je zavedení uzamčení. Pokud chcete použít své ETH k zabezpečení sítě Ethereum, postupujte podle těchto kroků.",
+ "page-upgrades-index-staking-learn": "Naučte se o stakování",
+ "page-upgrades-index-staking-learn-desc": "Řetězová vazba.",
+ "page-upgrades-index-staking-step-1": "1. Nastavení pomocí launchpadu",
+ "page-upgrades-index-staking-step-1-btn": "Navštivte launchpad pro uzamčení",
+ "page-upgrades-index-staking-step-1-desc": "Abyste mohli provést uzamčení na Ethereu, musíte použít launchpad – ten vás provede celým procesem.",
+ "page-upgrades-index-staking-step-2": "2. Potvrďte stakovací adresu",
+ "page-upgrades-index-staking-step-2-btn": "Potvrďte adresu vkladového kontraktu",
+ "page-upgrades-index-staking-step-2-desc": "Než uzamknete své ETH, ujistěte se, že máte správnou adresu. Předtím musíte projít launchpadem.",
+ "page-upgrades-index-staking-sustainability": "Více udržitelné",
+ "page-upgrades-meta-desc": "Přehled vylepšení Etherea a vize, kterou se snaží uskutečnit.",
+ "page-upgrades-meta-title": "Vylepšení Etherea (dříve „Eth2“)",
+ "page-upgrades-proof-stake-link": "Více informací o důkazu podílem",
+ "page-upgrades-question-1-title": "Kdy dorazí vylepšení?",
+ "page-upgrades-question-1-desc": "Ethereum se vylepšuje postupně; jednotlivá vylepšení jsou odlišná a mají různá data spuštění.",
+ "page-upgrades-question-2-title": "Je Beacon Chain samostatný blockchain?",
+ "page-upgrades-question-2-desc": "Ano. Beacon Chain byl název pro paralelní proof-of-stake blockchain, který sloužil k vylepšení hlavní sítě (Mainnetu) Etherea. Nyní existuje pouze jeden blockchain, který vznikl sloučením původního blockchainu Etherea a Beacon Chainu.",
+ "page-upgrades-question-3-answer-2a": "Sloučení mělo minimální dopad na vývojáře dapp – s Ethereem stále komunikují stejným způsobem.",
+ "page-upgrades-question-3-answer-2a-link": "Sloučení a vývojáři dapp",
+ "page-upgrades-question-3-answer-2b": "Plány pro tříštění se stále vyvíjejí, ale budou navrženy s ohledem na rollupy na druhé vrstvě.",
+ "page-upgrades-layer-2-rollups": "Více o rollupech na druhé vrstvě",
+ "page-upgrades-question-3-answer-3-link": "Navštivte ethresearch.ch",
+ "page-upgrades-question-3-desc": "Momentálně nemusíte nic dělat, abyste se na vylepšení připravili.",
+ "page-upgrades-question-3-title": "Jak se připravím na vylepšení?",
+ "page-upgrades-question-4-answer-1": "Kdykoli dnes odešlete transakci nebo použijete dapp, používáte exekuční vrstvu, známou také jako hlavní síť.",
+ "page-upgrades-question-4-answer-3": "Od Sloučení validátoři zabezpečují celou síť prostřednictvím proof-of-stake.",
+ "page-upgrades-question-4-answer-6": "Validátorem se může stát kdokoli uzamčením svých ETH.",
+ "page-upgrades-question-4-answer-7": "Další informace o uzamčení",
+ "page-upgrades-question-4-title": "Co je exekuční vrstva?",
+ "page-upgrades-question-4-desc": "Před Sloučením byl blockchain Etherea někdy označován jako „Eth1“. Tento termín byl postupně nahrazen pojmem „exekuční vrstva“.",
+ "page-upgrades-question-5-answer-1": "Abyste se stali validátorem v síti, musíte uzamknout 32 ETH. Pokud tolik nemáte nebo nejste ochotni tolik uzamknout, můžete se připojit ke stakingovým poolům. Tyto pooly vám umožní uzamknout méně a získat zlomky z celkových odměn.",
+ "page-upgrades-question-5-desc": "Budete muset použít stakingový launchpad nebo se připojit ke stakingovému poolu.",
+ "page-upgrades-question-5-title": "Jak mohu provést uzamčení?",
+ "page-upgrades-question-6-answer-3": "Danny Ryan z Nadace Ethereum pravidelně informuje komunitu:",
+ "page-upgrades-question-6-answer-4": "Ben Edgington z ConsenSys má týdenní zpravodaj o vylepšeních Etherea:",
+ "page-upgrades-question-6-answer-5": "Můžete se také zapojit do diskuse o výzkumu a vývoji Etherea na ethresear.ch.",
+ "page-upgrades-question-6-title": "Co musím udělat se svou dapp?",
+ "page-upgrades-question-6-desc": "Sloučení bylo navrženo tak, aby mělo minimální dopad na vývojáře dapp, i když došlo k několika drobným změnám, které stojí za zmínku.",
+ "page-upgrades-question-6-answer-1": "Vývojáři dapp obeznámení s Ethereem před sloučením by si měli být vědomi některých změn. Tyto změny zahrnují strukturu a časování bloků, několik změn operačních kódů, zdroje náhodnosti na blockchainu a koncept finalizace epochy.",
+ "page-upgrades-question-6-answer-1-link": "Jak Sloučení ovlivnilo aplikační vrstvu Etherea",
+ "page-upgrades-question-6-answer-2": "Aplikace nebyly téměř vůbec ovlivněny.",
+ "page-upgrades-question-7-desc": "Na různých vylepšeních Etherea pracují různé týmy z celé komunity.",
+ "page-upgrades-question-7-lighthouse": "Lighthouse",
+ "page-upgrades-question-7-lighthouse-lang": "(Implementace Rustu)",
+ "page-upgrades-question-7-lodestar": "Lodestar",
+ "page-upgrades-question-7-lodestar-lang": "(implementace JavaScriptu)",
+ "page-upgrades-question-7-nimbus": "Nimbus",
+ "page-upgrades-question-7-nimbus-lang": "(Implementace Nim)",
+ "page-upgrades-question-7-prysm": "Prysm",
+ "page-upgrades-question-7-prysm-lang": "(Implementace Go)",
+ "page-upgrades-question-7-teams": "Týmy konsensuálních klientů Etherea:",
+ "page-upgrades-question-7-teku": "Teku",
+ "page-upgrades-question-7-teku-lang": "(implementace Javy)",
+ "page-upgrades-question-7-title": "Kdo stojí za vylepšeními Etherea?",
+ "page-upgrades-question-7-clients": "Zjistěte více o klientech Etherea",
+ "page-upgrades-question-8-answer-1": "Vylepšení Etherea pomohou Ethereu škálovat decentralizovaným způsobem při zachování bezpečnosti a zvýšení udržitelnosti.",
+ "page-upgrades-question-8-answer-2": "Nejviditelnějším problémem je asi to, že Ethereum musí být schopno zpracovat více než 15–45 transakcí za sekundu. Vylepšení ale řeší i některé další problémy, kterým dnes Ethereum čelí.",
+ "page-upgrades-question-8-answer-3": "V době vysoké poptávky je používání Etherea drahé. Uzly v síti se potýkají s velikostí Etherea a množstvím dat, které jejich počítače musí zpracovávat. Původní algoritmus, který zajišťoval bezpečnost a decentralizaci Etherea, byl energeticky náročný a potřeboval být ekologičtější.",
+ "page-upgrades-question-8-answer-4": "Mnoho změn bylo v plánu Etherea odjakživa, dokonce už od roku 2015. Současné podmínky ale potřebu vylepšení ještě umocňují.",
+ "page-upgrades-question-8-answer-6": "Prozkoumejte vizi Etherea",
+ "page-upgrades-question-8-desc": "Ethereum, které dnes používáme, musí nabízet lepší zážitek pro koncové uživatele a účastníky sítě.",
+ "page-upgrades-question-8-title": "Proč jsou potřebná vylepšení?",
+ "page-upgrades-question-9-answer-1": "Nejaktivnější rolí, kterou můžete hrát, je uzamčení vašich ETH.",
+ "page-upgrades-question-9-answer-2": "Můžete také chtít spustit druhého klienta, abyste pomohli zlepšit rozmanitost klientů.",
+ "page-upgrades-question-9-answer-3": "Pokud jste technicky zdatnější, můžete pomoci odhalit chyby v nových klientech.",
+ "page-upgrades-question-9-answer-4": "Můžete se také zapojit do technických diskusí s výzkumníky Etherea na ethresear.ch.",
+ "page-upgrades-question-9-desc": "Abyste mohli přispět, nemusíte být technicky zdatní. Komunita hledá přispěvatele se všemi druhy dovedností.",
+ "page-upgrades-question-9-stake-eth": "Uzamčete ETH",
+ "page-upgrades-question-9-title": "Jak mohu přispět k vylepšením Etherea?",
+ "page-upgrades-question-9-more": "Najděte další obecné způsoby, jak se zapojit do Etherea",
+ "page-upgrades-question-10-title": "Jaké jsou 'fáze Eth2?'",
+ "page-upgrades-question-10-desc": "Některé věci se zde změnily.",
+ "page-upgrades-question-10-answer-0": "Samotný termín „Eth2“ se postupně přestává používat, protože nepředstavuje jediné vylepšení ani novou síť. Přesněji jde o soubor několika vylepšení, která se podílejí na tom, aby bylo Ethereum škálovatelnější, bezpečnější a udržitelnější. Síť, kterou znáte a máte rádi, bude jednoduše označována jako Ethereum.",
+ "page-upgrades-question-10-answer-1": "Zdráháme se příliš mluvit o technickém plánu, protože se jedná o software: věci se mohou změnit. Myslíme si, že je snazší pochopit, co se děje, když si přečtete o výsledcích.",
+ "page-upgrades-question-10-answer-1-link": "Zobrazit vylepšení",
+ "page-upgrades-question-10-answer-2": "Pokud jste však sledovali diskuse, zde je návod, jak vylepšení zapadají do technických plánů, a něco o tom, jak se mění.",
+ "page-upgrades-question-10-answer-3": "Fáze 0 popisovala práci na spuštění Beacon Chainu.",
+ "page-upgrades-question-10-answer-5": "Fáze 1 se původně zaměřovala na implementaci shardových řetězců, ale priorita se přesunula na Sloučení, které bylo spuštěno 15. září 2022.",
+ "page-upgrades-question-10-answer-6": "Fáze 1.5 byla původně plánována po implementaci shardů, kdy by byl Mainnet přidán jako poslední shard do Beacon Chainu. Jak se však technologie rollupů vyvíjela, komunita Etherea místo toho urychlila přechod od proof-of-work.",
+ "page-upgrades-question-10-answer-7": "Plány kolem Fáze 2 jsou předmětem intenzivního výzkumu a diskusí. Po Sloučení a s pokroky v řešeních na druhé vrstvě se cíle posunuly k poskytnutí zjednodušené formy datového tříštění pro maximalizaci efektivity rollupů. Současné druhé vrstvy umožňují škálovat provádění transakcí a tříštění umožní ukládání důkazů pro tato data na první vrstvě levným a škálovatelným způsobem.",
+ "page-upgrades-question-10-answer-8": "Více o plánu zaměřeném na rollupy",
+ "page-upgrades-question-11-title": "Mohu si koupit Eth2?",
+ "page-upgrades-question-11-desc": "Ne. Neexistuje žádný token Eth2 a vaše ETH se po sloučení nezměnilo.",
+ "page-upgrades-question-11-answer-1": "Jednou z hlavních příčin rebrandingu Eth2 byla běžná mylná představa, že držitelé ETH musí po Sloučení nebo jakémkoli jiném vylepšení migrovat své ETH na „ETH 2.0“. To není a nikdy nebyla pravda.",
+ "page-upgrades-question-11-answer-2": "Tento zmatek často zneužívají podvodníci.",
+ "page-upgrades-question-title": "Často kladené dotazy",
+ "page-upgrades-question3-answer-1": "Držitelé ETH nemusí dělat nic. Vaše ETH nebude třeba měnit ani vylepšovat. Je téměř jisté, že se objeví podvody, které vám budou tvrdit opak, takže buďte opatrní.",
+ "page-upgrades-scalable": "Škálovatelnější",
+ "page-upgrades-scalable-desc": "Ethereum musí podporovat tisíce transakcí za sekundu, aby byly aplikace rychlejší a levnější.",
+ "page-upgrades-secure": "Vetší bezpečnost",
+ "page-upgrades-secure-desc": "Ethereum musí být bezpečnější. S rostoucí adopcí Etherea se protokol musí stát bezpečnějším proti všem formám útoků.",
+ "page-upgrades-shard-date": "Tříštění bude následovat po Sloučení v několika fázích, někdy v letech 2023–2024.",
+ "page-upgrades-shard-desc": "Danksharding rozšíří kapacitu Etherea pro ukládání dat a bude harmonicky spolupracovat s L2 sítěmi pro škálování propustnosti a snížení síťových poplatků. Danksharding bude zaveden v několika fázích, počínaje ProtoDankshardingem.",
+ "page-upgrades-shard-estimate": "Odhad: 2023-2024",
+ "page-upgrades-shard-lower": "Více o tříštění",
+ "page-upgrades-shard-title": "Sharding",
+ "page-upgrades-stay-up-to-date": "Zůstaňte v obraze",
+ "page-upgrades-stay-up-to-date-desc": "Získejte nejnovější informace od výzkumníků a vývojářů pracujících na vylepšeních Etherea.",
+ "page-upgrades-sustainable-desc": "Ethereum bylo donedávna energeticky náročné. Přechod na proof-of-stake přinesl snížení spotřeby energie sítě o více než 99,9 %.",
+ "page-upgrades-take-part": "Podílejte se na výzkumi",
+ "page-upgrades-take-part-desc": "Výzkumníci a nadšenci do Etherea se zde setkávají, aby diskutovali o výzkumném úsilí, včetně všeho, co souvisí s vylepšeními Etherea.",
+ "page-upgrades-the-upgrades": "Vylepšení Etherea",
+ "page-upgrades-the-upgrades-desc": "Cílem vylepšení Etherea je zlepšit škálovatelnost, bezpečnost a udržitelnost sítě. Ethereum nedávno prošlo několika významnými vylepšeními v oblasti bezpečnosti a udržitelnosti a další se chystají v budoucnu, zejména v souvislosti se škálovatelností.",
+ "page-upgrades-unofficial-roadmap": "Toto není oficiální plán. Takto vnímáme dění na základě dostupných informací. Ale je to technologie, věci se mohou v okamžiku změnit. Proto to prosím neberte jako závazek.",
+ "page-upgrades-upgrade-desc": "Ethereum, které známe a milujeme, jen škálovatelnější, bezpečnější a udržitelnější...",
+ "page-upgrades-upgrades": "Vylepšení Etherea",
+ "page-upgrades-upgrades-aria-label": "Menu pro vylepšení Etherea",
+ "page-upgrades-upgrades-beacon-chain": "Řetězová vazba",
+ "page-upgrades-upgrades-guide": "Návody k vylepšení Etherea",
+ "page-upgrades-upgrades-docking": "Sloučení",
+ "page-upgrades-energy-consumption": "Více o spotřebě energie Etherea",
+ "page-upgrades-upgrading": "Vylepšení Etherea do radikálně nových výšin",
+ "page-roadmap-vision": "Vize",
+ "page-roadmap-vision-btn": "Více o vizi Etherea",
+ "page-roadmap-vision-desc": "Aby se Ethereum dostalo do hlavního proudu a sloužilo celému lidstvu, musíme ho učinit škálovatelnějším, bezpečnějším a udržitelnějším.",
+ "page-upgrades-what-happened-to-eth2-title": "Co se stalo s 'Eth2'?",
+ "page-upgrades-what-happened-to-eth2-1": "Termín „Eth2“ se běžně používal před Sloučením, ale postupně se od něj upouští ve prospěch přesnější terminologie.",
+ "page-upgrades-what-happened-to-eth2-1-more": "Více o mergi.",
+ "page-upgrades-what-happened-to-eth2-2": "Po sloučení „Eth1“ a „Eth2“ již neexistují dva odlišné blockchainy Etherea; existuje pouze Ethereum.",
+ "page-upgrades-what-happened-to-eth2-3": "Aby nedošlo ke zmatku, komunita tyto termíny aktualizovala:",
+ "page-upgrades-what-happened-to-eth2-3-1": "Eth1 je nyní „exekuční vrstva“, která zpracovává transakce a exekuci.",
+ "page-upgrades-what-happened-to-eth2-3-2": "Eth2 je nyní „vrstva konsenzu“, která se zabývá konsensem důkazu podílem.",
+ "page-upgrades-what-happened-to-eth2-4": "Tyto změny termínů slouží pouze k úpravě názvosloví. Cíle ani plán Etherea se nemění.",
+ "page-upgrades-what-happened-to-eth2-5": "Další informace o přejmenování Eth2",
+ "page-upgrades-why-cant-we-just-use-eth2-title": "Proč nemůžeme prostě použít eth2?",
+ "page-upgrades-why-cant-we-just-use-eth2-mental-models-title": "Myšlenkové modely",
+ "page-upgrades-why-cant-we-just-use-eth2-mental-models-description": "Jedním z hlavních problémů značky Eth2 je, že vytváří chybný myšlenkový model pro nové uživatele Etherea. Intuitivně si myslí, že Eth1 je první a Eth2 přichází po něm. Nebo že Eth1 přestane existovat, jakmile bude existovat Eth2. Nic z toho není pravda. Odstraněním terminologie Eth2 ušetříme všechny budoucí uživatele od orientace v tomto matoucím myšlenkovém modelu.",
+ "page-upgrades-why-cant-we-just-use-eth2-inclusivity-title": "Inkluzivita",
+ "page-upgrades-why-cant-we-just-use-eth2-inclusivity-description": "S vývojem plánu pro Ethereum se Ethereum 2.0 stalo nepřesným vyjádřením plánu Etherea. Opatrnost a přesnost ve volbě slov umožňuje, aby byl obsah o Ethereu srozumitelný co nejširšímu publiku.",
+ "page-upgrades-why-cant-we-just-use-eth2-scam-prevention-title": "Prevence podvodů",
+ "page-upgrades-why-cant-we-just-use-eth2-scam-prevention-description": "Bohužel, zákeřní aktéři se pokusili zneužít nesprávné označení Eth2 k podvádění uživatelů tím, že jim říkali, aby směnili své ETH za tokeny ‚ETH2‘, nebo že musí nějak migrovat své ETH před vylepšením Eth2. Doufáme, že tato aktualizovaná terminologie přinese jasnost, odstraní tento vektor podvodů a pomůže učinit ekosystém bezpečnějším.",
+ "page-upgrades-why-cant-we-just-use-eth2-staking-clarity-title": "Srozumitelnost stakingu",
+ "page-upgrades-why-cant-we-just-use-eth2-staking-clarity-description": "Někteří operátoři stakingu také reprezentovali ETH uzamčené na Beacon Chainu tickerem „ETH2“. To vytváří potenciální zmatek, jelikož uživatelé těchto služeb ve skutečnosti neobdrží token „ETH2“. Žádný token „ETH2“ neexistuje; jednoduše představuje jejich podíl na uzamčeném vkladu konkrétního poskytovatele.",
+ "page-upgrades-what-to-do": "Co musíte udělat?",
+ "page-upgrades-what-to-do-desc": "Pokud jste uživatel dapp nebo držitel ETH, nemusíte dělat nic. Pokud jste vývojář nebo chcete začít se stakingem, existují způsoby, jak se můžete zapojit ještě dnes.",
+ "page-upgrades-whats-next": "Jaké jsou vylepšení Etherea?",
+ "page-upgrades-whats-next-desc": "Plán Etherea zahrnuje propojená vylepšení protokolu, která učiní síť škálovatelnější, bezpečnější a udržitelnější. Tato vylepšení vytváří několik týmů z celého ekosystému Etherea.",
+ "page-upgrades-whats-next-history": "Přečtěte si o předchozích vylepšeních Etherea",
+ "page-upgrades-whats-ethereum": "Počkat, co je Ethereum?",
+ "page-upgrades-whats-new": "Co čeká Ethereum?",
+ "page-upgrades-security-link": "Více o bezpečnosti a prevenci podvodů",
+ "page-staking-deposit-contract-staking-more-link": "Další informace o uzamčení",
+ "docs-nav-proof-of-stake": "Důkaz podílem",
+ "docs-nav-proof-of-work": "Důkaz prací",
+ "page-upgrades-get-involved-ethresearch-1": "Sharding",
+ "page-upgrades-get-involved-ethresearch-2": "The Merge"
+}
diff --git a/src/intl/cs/page-upgrades.json b/src/intl/cs/page-upgrades.json
index f4ef4217874..04fe295845a 100644
--- a/src/intl/cs/page-upgrades.json
+++ b/src/intl/cs/page-upgrades.json
@@ -1,4 +1,17 @@
{
+ "page-upgrades-merge-infographic-el": "Ethereum State: převody, aplikace, smlouvy, zůstatky",
+ "page-upgrades-merge-infographic-alt-text": "Infografie ilustruje jak se Beacon Chain slučuje do Ethereum exekuční vrstvy během přechodu z proof-of-work to proof-of-stake.",
+ "page-upgrades-beacon-date": "Odesláno!",
+ "page-upgrades-merge-date": "Září 2022",
+ "page-upgrades-shards-date": "~2023",
+ "page-upgrades-pbs": "Neblíží se – očekávejte v roce 2024/25",
+ "page-upgrades-post-merge-banner-tutorial-ood": "Tento tutoriál je zastaralý a po mergi nemusí fungovat. Prosím vytáhněte si požadavek když chcete přispět.",
+ "page-upgrades-upgrades-guide": "Návody k vylepšení Etherea",
+ "page-upgrades-upgrades-docking": "Sloučení",
+ "page-upgrades-shard-title": "Sharding",
+ "page-upgrades-upgrades-beacon-chain": "Řetězová vazba",
+ "consensus-beaconscan-title": "beaconscan",
+ "consensus-beaconscan-in-title": "beaconcha.in",
"consensus-beaconcha-in-desc": "Open source průzkumníka Beacon Chain",
"consensus-beaconscan-desc": "Průzkumník Beacon Chainu – Etherscan pro konsensuální vrstvu",
"consensus-become-staker": "Začít stakovat",
diff --git a/src/intl/cs/page-wallets-find-wallet.json b/src/intl/cs/page-wallets-find-wallet.json
index 84932be6994..425a9530c4f 100644
--- a/src/intl/cs/page-wallets-find-wallet.json
+++ b/src/intl/cs/page-wallets-find-wallet.json
@@ -36,7 +36,7 @@
"page-find-wallet-token-importing-desc": "Importovat libovolný token ERC-20 k použití v peněžence",
"page-find-wallet-buy-crypto": "Koupit kryptoměny",
"page-find-wallet-buy-crypto-desc": "Koupit kryptoměny pomocí fiat peněz přímo v peněžence \n *Poznámka: nákup kryptoměn může být specifický pro region, ve kterém žijete",
- "page-find-wallet-sell-for-fiat": "Prodat za fiat peníze",
+ "page-find-wallet-sell-for-fiat": "Prodat za hotovost",
"page-find-wallet-sell-for-fiat-desc": "Prodávejte kryptoměny za fiat peníze přímo v peněžence \n *Poznámka: výběr kryptoměn může být specifický pro region, ve kterém žijete",
"page-find-wallet-multisig": "Multisig",
"page-find-wallet-multisig-desc": "Peněženky, které vyžadují více podpisů pro autorizaci transakce",
@@ -65,7 +65,7 @@
"page-find-wallet-new-to-crypto-desc": "Nováček hledající peněženku pro začátečníky.",
"page-find-wallet-nfts-title": "NFTéčka",
"page-find-wallet-nfts-desc": "Peněženky se zaměřením na podporu NFT.",
- "page-find-wallet-hodler-title": "Dlouhodobé",
+ "page-find-wallet-hodler-title": "Hardware",
"page-find-wallet-hodler-desc": "Pasivní držení tokenů pomocí hardwarových peněženek.",
"page-find-wallet-finance-title": "Finance",
"page-find-wallet-finance-desc": "Peněženky zaměřené na časté používání aplikací DeFi.",
@@ -84,5 +84,8 @@
"page-find-wallet-social-links": "Odkazy",
"page-find-wallet-empty-results-title": "Žádné výsledky",
"page-find-wallet-empty-results-desc": "Vašim kritériím neodpovídají žádné peněženky, zkuste odstranit některé filtry.",
- "page-find-wallet-see-wallets": "Zobrazit peněženky"
+ "page-find-wallet-privacy": "Ochrana soukromí",
+ "page-find-wallet-privacy-desc": "Peněženky, které podporují vestavěné soukromé transakce",
+ "page-find-wallet-see-wallets": "Zobrazit peněženky",
+ "page-find-wallet-search-languages": "Vyhledat jazyky..."
}
diff --git a/src/intl/cs/page-wallets.json b/src/intl/cs/page-wallets.json
index d11da97c628..7cf022ce361 100644
--- a/src/intl/cs/page-wallets.json
+++ b/src/intl/cs/page-wallets.json
@@ -36,6 +36,7 @@
"page-wallets-seed-phrase": "Zapište si vaši frázi pro obnovení.",
"page-wallets-seed-phrase-desc": "Peněženky vám často poskytnou bezpečnostní frázi, kterou si musíte zapsat a uložit na bezpečném místě. Je to jediný způsob, jak bude možné peněženku obnovit.",
"page-wallets-seed-phrase-example": "Toto je příklad:",
+ "page-wallets-seed-phrase-snippet": "there aeroplane curve vent formation doge possible product distinct under spirit lamp",
"page-wallets-seed-phrase-write-down": "Neukládejte ji na počítači. Zapište ji a uložte na bezpečném místě.",
"page-wallets-slogan": "Držíte klíče ke své digitální budoucnosti",
"page-wallets-stay-safe": "Jak zůstat v bezpečí",
@@ -60,6 +61,6 @@
"page-wallets-your-ethereum-account-desc": "Vaše peněženka je vaše okno k Ethereovému účtu. Najdete tu váš zůstatek, historii transakcí a další. Ale poskytovatele peněženky můžete kdykoliv změnit.",
"page-wallets-your-login": "Vaše přihlášení do aplikací na Ethereu",
"page-wallets-your-login-desc": "Vaše peněženka umožňuje připojení k aplikacím pomocí účtu na Ethereu. Je to jako přihlášení, kterým získáte přístup k většině aplikací.",
- "additional-reading-how-to-create-an-ethereum-account": "Jak si vytvořit Ethereum účet",
+ "additional-reading-how-to-create-an-ethereum-account": "Jak vytvořit Ethereum účet",
"additional-reading-how-to-use-a-wallet": "Jak používat peněženku"
}
diff --git a/src/intl/cs/page-what-is-ether.json b/src/intl/cs/page-what-is-ether.json
new file mode 100644
index 00000000000..c5df7ce2aa8
--- /dev/null
+++ b/src/intl/cs/page-what-is-ether.json
@@ -0,0 +1,100 @@
+{
+ "page-what-is-ether-meta-title": "Co je Ether (ETH)? (Kompletní průvodce) | ethereum.org",
+ "page-what-is-ether-meta-description": "Ether (ETH) je nativní kryptoměna Etherea. Zjistěte, k čemu se používá, jak a kde ho koupit, kolik ho je a co ovlivňuje jeho cenu.",
+ "page-what-is-ether-twitter-meta-description": "Ether (ETH) je nativní kryptoměna Etherea. Zjistěte, k čemu se používá, jak a kde ho koupit, kolik ho je a další.",
+ "page-what-is-ether-title": "Co je Ether (ETH)?",
+ "page-what-is-ether-hero-description-1": "Ether (ETH) je nativní kryptoměna, která pohání síť Ethereum. Používá se k placení transakčních poplatků (známých jako „palivo“) za používání sítě a aplikací na ní postavených, k zabezpečení sítě prostřednictvím uzamčení a slouží jako digitální peníze pro platby a investice – aniž by byl kontrolován jakoukoli centrální entitou, organizací nebo vládou. ETH je jednou z největších kryptoměn podle tržní kapitalizace.",
+ "page-what-is-ether-what-is-ether-description-1": "Ether, běžně známý jako ETH, je palivo, které pohání blockchain Ethereum. Na rozdíl od bitcoinu, který slouží především jako digitální peníze, má ether v ekosystému Ethereum mnohostranné využití.",
+ "page-what-is-ether-what-is-ether-description-2": "Jako nativní kryptoměna Etherea se ETH používá k:",
+ "page-what-is-ether-what-is-ether-description-3": "Placení transakčních poplatků (paliva) za používání sítě a jejích aplikací",
+ "page-what-is-ether-what-is-ether-description-4": "Zabezpečení sítě Ethereum prostřednictvím uzamčení",
+ "page-what-is-ether-what-is-ether-description-5": "ETH byl představen v roce 2015 jako součást spuštění Etherea a od té doby se stal jedním z nejcennějších aktiv na světě.",
+ "page-what-is-ether-what-is-ether-description-6": "Pro spotřebitele",
+ "page-what-is-ether-what-is-ether-description-7": "ETH umožňuje globální platby bez bank, nákupy nezaměnitelných tokenů (NFT) a přístup k aplikacím decentralizovaných financí (DeFi). Je odolný proti cenzuře s nepřetržitou přeshraniční funkcionalitou.",
+ "page-what-is-ether-what-is-ether-description-8": "Pro vývojáře",
+ "page-what-is-ether-what-is-ether-description-9": "ETH se platí za transakční poplatky při nasazování chytrých kontraktů do hlavní sítě Ethereum. Je to také primární měna používaná v mnoha aplikacích v ekosystému Ethereum.",
+ "page-what-is-ether-what-is-ether-description-10": "Pro investory",
+ "page-what-is-ether-what-is-ether-description-11": "ETH funguje jako uchovatel hodnoty a aktivum generující výnosy prostřednictvím uzamčení. Poskytuje expozici vůči růstu web3 a rozšiřující se digitální ekonomice.",
+ "page-what-is-ether-what-is-ether-description-12": "Zjistěte více o uzamčení ETH",
+ "page-what-is-ether-how-to-buy-eth": "Jak nakoupit ETH",
+ "page-what-is-ether-how-to-buy-eth-description-1": "Nákup ETH je jednoduchý a existuje několik možností v závislosti na vašich potřebách a lokalitě. Vždy začněte s důvěryhodnou platformou, která nabízí silné zabezpečení.",
+ "page-what-is-ether-how-to-buy-eth-description-2": "Spotřebitelé mohou ETH nakupovat prostřednictvvím kryptoměnových směnáren nebo aplikací peněženek.",
+ "page-what-is-ether-how-to-buy-eth-description-3": "Poznámka na okraj",
+ "page-what-is-ether-how-to-buy-eth-description-4": "Při nákupu ETH uslyšíte pojmy \"účet/adresa\" a \"peněženka\".",
+ "page-what-is-ether-how-to-buy-eth-description-5": "Představte si svůj účet jako e-mailovou adresu, na kterou vám lidé posílají peníze.",
+ "page-what-is-ether-how-to-buy-eth-description-6": "Představte si svou peněženku jako e-mailovou aplikaci, kde kontrolujete zůstatky a provádíte platby.",
+ "page-what-is-ether-how-to-buy-eth-description-7": "ETH můžete zakoupit pomocí:",
+ "page-what-is-ether-how-to-buy-eth-description-8": "Kreditní/debetní karty: okamžitě, ale s vyššími poplatky",
+ "page-what-is-ether-how-to-buy-eth-description-9": "Bankovní převody: pomalejší, ale s nižšími poplatky",
+ "page-what-is-ether-how-to-buy-eth-description-10": "PayPal nebo podobné služby, kde jsou k dispozici",
+ "page-what-is-ether-how-to-buy-eth-description-11": "Pro firmy směnárny nabízejí firemní účty s vyššími limity, lepší podporou, funkcemi pro dodržování předpisů, objemovými slevami a vylepšeným zabezpečením.",
+ "page-what-is-ether-how-to-buy-eth-description-12": "Další způsoby, jak získat ETH:",
+ "page-what-is-ether-how-to-buy-eth-description-13": "Přijímat platby od lidí, které znáte",
+ "page-what-is-ether-how-to-buy-eth-description-14": "Poskytovat likviditu v protokolech decentralizovaných financí",
+ "page-what-is-ether-how-to-buy-eth-description-15": "Uzamknout ETH a získávat odměny a zároveň zabezpečovat síť Ethereum",
+ "page-what-is-ether-how-to-buy-eth-description-16": "Zjistěte více o tom, jak a kde nakoupit ETH",
+ "page-what-is-ether-how-to-send-and-receive-eth": "Jak posílat a přijímat ETH",
+ "page-what-is-ether-how-to-send-and-receive-eth-description-1": "Odeslání ETH vyžaduje peněženku a adresu příjemce. Zadejte jejich adresu, určete částku, zkontrolujte transakční poplatek a potvrďte. Transakce obvykle dorazí do 30 sekund a po potvrzení je nelze vrátit zpět.",
+ "page-what-is-ether-how-to-send-and-receive-eth-description-2": "Přijetí ETH vyžaduje sdílení vaší ethereum adresy nebo QR kódu s odesílatelem. Prostředky se objeví ve vaší peněžence po potvrzení sítě, přičemž většina peněženek poskytuje oznámení.",
+ "page-what-is-ether-how-to-send-and-receive-eth-description-3": "Potřebujete pomoc? Přečtěte si průvodce Jak používat peněženku.",
+ "page-what-is-ether-how-to-send-and-receive-eth-description-4": "Při nákupu ETH uslyšíte pojmy \"účet/adresa\" a \"peněženka\".",
+ "page-what-is-ether-how-to-send-and-receive-eth-description-5": "Představte si svůj účet jako e-mailovou adresu, na kterou vám lidé posílají peníze.",
+ "page-what-is-ether-how-to-send-and-receive-eth-description-6": "Představte si svou peněženku jako e-mailovou aplikaci, kde kontrolujete zůstatky a provádíte platby.",
+ "page-what-is-ether-how-to-send-and-receive-eth-description-7": "Pro větší částky zvažte hardwarové peněženky pro zvýšení bezpečnosti.",
+ "page-what-is-ether-how-to-send-and-receive-eth-description-8": "Zjistěte více o Ethereu a o tom, jak funguje.",
+ "page-what-is-ether-how-to-send-and-receive-eth-callout": "Sdílejte svou adresu na Ethereu pouze s důvěryhodnými kontakty. Protože je Ethereum veřejná účetní kniha, mohou si prohlížet váš zůstatek a transakce. Nemohou získat přístup k vašim prostředkům, ale doporučuje se zachovat soukromí.",
+ "page-what-is-ether-how-long-does-it-take-to-send-eth": "Jak dlouho trvá odeslání ETH?",
+ "page-what-is-ether-how-long-does-it-take-to-send-eth-description-1": "Transakce ETH jsou obvykle dokončeny do 30 sekund. Síť Ethereum zpracovává bloky každých 12 sekund, i když se transakce mohou během přetížení řadit do fronty.",
+ "page-what-is-ether-how-long-does-it-take-to-send-eth-description-2": "Transakce dosahují „konečnosti“ po přibližně 15 minutách, ve srovnání s 60minutovým průměrem Bitcoinu.",
+ "page-what-is-ether-how-long-does-it-take-to-send-eth-description-3": "Během vysokého síťového provozu můžete transakce urychlit zaplacením vyšších transakčních poplatků, což vás posune dopředu ve frontě. Poplatky se dělí mezi validátory a spalovací mechanismus.",
+ "page-what-is-ether-how-much-does-it-cost-to-send-eth": "Kolik stojí odeslání ETH?",
+ "page-what-is-ether-how-much-does-it-cost-to-send-eth-description-1": "Transakce na Ethereu vyžadují transakční poplatky placené v ETH. Poplatek se vypočítává na základě požadované výpočetní práce (měřené v „palivu“) a aktuální poptávky v síti. Cena paliva kolísá se síťovým provozem, takže transakce jsou v období mimo špičku levnější.",
+ "page-what-is-ether-l2s": "Vstupte do L2: Škálování Etherea",
+ "page-what-is-ether-l2s-description-1": "S rostoucí popularitou Etherea je udržení nízkých transakčních poplatků náročné. Sítě druhé vrstvy (L2) tento problém řeší.",
+ "page-what-is-ether-l2s-description-2": "L2 sítě jako Optimism a Arbitrum nabízejí 10–100x levnější poplatky a zároveň dědí zabezpečení Etherea. Zpracovávají transakce mimo řetězec a data zveřejňují na Ethereu.",
+ "page-what-is-ether-l2s-description-3": "Představte si je jako expresní pruhy, které poskytují rychlejší a levnější transakce vedle hlavní dálnice Etherea.",
+ "page-what-is-ether-l2s-description-4": "L2 převody obvykle stojí méně než 0,01 $ a přinášejí Ethereum milionům dalších uživatelů prostřednictvím integrací se společnostmi jako Robinhood, PayPal a Shopify.",
+ "page-what-is-ether-what-is-the-eth-supply": "Jaká je zásoba ETH?",
+ "page-what-is-ether-what-is-the-eth-supply-description-1": "Na rozdíl od pevného limitu Bitcoinu 21 milionů má ETH dynamickou mechaniku nabídky:",
+ "page-what-is-ether-what-is-the-eth-supply-description-2": "Nové ETH se vydávají jako odměna pro validátory sítě v omezené míře vypočítané protokolem",
+ "page-what-is-ether-what-is-the-eth-supply-description-3": "Část každého transakčního poplatku je trvale \"spálena\" (odstraněna z existence)",
+ "page-what-is-ether-what-is-the-eth-supply-description-4": "To vytváří střídavá období inflace a deflace v závislosti na využití sítě",
+ "page-what-is-ether-what-is-the-eth-supply-description-5": "Očekávaná rovnováha: Systém vyvažuje bezpečnost sítě s dlouhodobým uchováním hodnoty. Vysoké využití vede k deflaci; nízké využití má za následek inflaci.",
+ "page-what-is-ether-what-is-the-eth-supply-description-6": "Zdroje dat: Etherscan, Ultrasound Money",
+ "page-what-is-ether-what-is-the-distribution-of-eth": "Jaká je distribuce ETH?",
+ "page-what-is-ether-what-is-the-distribution-of-eth-description-1": "Vlastnictví je široce distribuováno mezi desítkami milionů adres, což zabraňuje koncentraci kontroly a posiluje decentralizaci.",
+ "page-what-is-ether-breakdown": "Rozpis distribuce etheru",
+ "page-what-is-ether-breakdown-description-1": "Uzamčený ether: Desítky milionů ETH uzamčených pro zabezpečení sítě",
+ "page-what-is-ether-breakdown-description-2": "Směnárny: Centralizované platformy drží 13–16 % nabídky",
+ "page-what-is-ether-breakdown-description-3": "Chytré kontrakty: Značné množství v chytrých kontraktech, včetně protokolů DeFi",
+ "page-what-is-ether-breakdown-description-4": "Nadace Ethereum: Drží méně než 0,3 % nabídky (pokles z 9 % v roce 2014)",
+ "page-what-is-ether-who-holds-most": "Kdo drží nejvíce?",
+ "page-what-is-ether-who-holds-most-description-1": "Ethereové adresy s nejvyššími zůstatky ETH obvykle nepatří jednotlivcům. Drtivá většina etherů viditelných na \"nejlepších\" ethereových adresách představuje kolektivní, sdružené prostředky mnoha různých lidí a entit, nikoli majetek jediného jednotlivce. ",
+ "page-what-is-ether-who-holds-most-description-2": "Účty s nejvyšším zůstatkem ETH obvykle zahrnují:",
+ "page-what-is-ether-who-holds-most-description-3": "Vkladový kontrakt Beacon Chain: Zůstatek vkladového kontraktu představuje všechny ETH, které byly uzamčeny pro zabezpečení sítě Ethereum. Ačkoli se jedná o ethereovou adresu s největším zůstatkem ETH, nepředstavuje přístupný účet ethereové peněženky. Jedná se o chytrý kontrakt, který přijímá vklady ETH jako první krok k účasti na uzamčení, a poté spravuje zůstatky tohoto etheru napříč aktivními validátory sítě.",
+ "page-what-is-ether-who-holds-most-description-4": "Chytré kontrakty: Mnoho dalších ethereových adres s vysokým zůstatkem představuje chytré kontrakty, které pohánějí aplikace založené na Ethereu, jako jsou adresy chytrých kontraktů pro protokoly decentralizovaných financí (DeFi), přemostění nebo decentralizované autonomní organizace (DAO). Tyto zůstatky kontraktů představují ether, který mnoho peněženek vložilo, aby se mohly účastnit jejich aplikace.",
+ "page-what-is-ether-who-holds-most-description-5": "Souhrnné účty: Jedná se o velké peněženky provozované směnárnami, platformami a fondy (jako Coinbase, Robinhood nebo Binance). Když si uživatel koupí ETH na směnárně, je často držen na jednom z těchto masivních účtů spolu s ETH drženými tisíci dalších zákazníků platformy.",
+ "page-what-is-ether-who-holds-most-description-6": "Živý seznam adres ethereových peněženek s nejvyššími zůstatky ETH si můžete prohlédnout na Etherscan zde.",
+ "page-what-is-ether-distribution": "Proč distribuce záleží na decentralizaci",
+ "page-what-is-ether-distribution-description-1": "Široká distribuce zabraňuje centralizované kontrole. Skutečná decentralizace závisí na počtu nezávislých uzlů a validátorů, kteří udržují síť.",
+ "page-what-is-ether-what-makes-eth-valuable": "Co dělá ETH cenným?",
+ "page-what-is-ether-what-makes-eth-valuable-description-1": "ETH odvozuje hodnotu z více zdrojů:",
+ "page-what-is-ether-what-makes-eth-valuable-description-2": "Užitečnost sítě: Všechny transakce na Ethereu vyžadují ETH na poplatky za palivo, což vytváří stálou poptávku, která roste s přijetím sítě.",
+ "page-what-is-ether-what-makes-eth-valuable-description-3": "Odměny za uzamčení: Ti, co uzamykají ETH, získávají výnosy a zároveň zabezpečují síť, což je atraktivní pro individuální i institucionální investory.",
+ "page-what-is-ether-what-makes-eth-valuable-description-4": "Uchovatel hodnoty: Mnozí vnímají ETH jako \"digitální ropu\"—vzácné aktivum se skutečnou užitečností, které pohání digitální ekonomiku.",
+ "page-what-is-ether-what-makes-eth-valuable-description-5": "Dynamika nabídky: Spalování poplatků vytváří deflační tlak během období vysokého využití. Od roku 2021 byly z oběhu trvale odstraněny miliony ETH.",
+ "page-what-is-ether-what-is-wrapping-eth": "Co je to balení ETH?",
+ "page-what-is-ether-what-is-wrapping-eth-description-1": "Zabalený ETH (WETH) je token ERC-20, který představuje ETH v poměru 1:1. Mnoho decentralizovaných aplikací a L2 sítí je postaveno na zpracování tokenů ERC-20, ale nativní ETH samotný není token ERC-20. „Balení“ znamená uzamčení ETH v chytrém kontraktu a vydání reprezentace tohoto uzamčeného ETH (WETH) ve formátu ERC-20, což umožňuje jeho použití ve všech aplikacích a L2 sítích, které mohou přijímat pouze tokeny ERC-20.",
+ "page-what-is-ether-what-is-wrapping-eth-description-2": "Běžné způsoby použití zahrnují:",
+ "page-what-is-ether-what-is-wrapping-eth-description-3": "Obchodní páry na decentralizovaných směnárnách jako Uniswap",
+ "page-what-is-ether-what-is-wrapping-eth-description-4": "Zajištění na úvěrových platformách jako Aave",
+ "page-what-is-ether-what-is-wrapping-eth-description-5": "Nabízení na tržištích NFT jako OpenSea",
+ "page-what-is-ether-what-is-wrapping-eth-description-6": "WETH lze kdykoli rozbalit zpět na ETH s minimálními poplatky. WETH je zničen a ETH, které představoval, je uvolněn z chytrého kontraktu. Většina aplikací zvládá proces balení a rozbalování bezproblémově.",
+ "page-what-is-ether-what-is-wrapping-eth-description-7": "Zjistěte více o zabaleném ETH (WETH)",
+ "page-what-is-ether-gas-table-transaction-type": "Typy transakcí",
+ "page-what-is-ether-gas-table-typical-cost-range": "Aktuální cenové rozpětí",
+ "page-what-is-ether-gas-table-estimated-gas-units": "Odhadované jednotky paliva",
+ "page-what-is-ether-gas-table-row-1-1": "Převody ETH",
+ "page-what-is-ether-gas-table-row-2-1": "Směna tokenů",
+ "page-what-is-ether-gas-table-row-3-1": "Složité transakce DeFi/NFT"
+}
\ No newline at end of file
diff --git a/src/intl/cs/page-what-is-ethereum.json b/src/intl/cs/page-what-is-ethereum.json
index 09d478427f1..3aa2c6448f1 100644
--- a/src/intl/cs/page-what-is-ethereum.json
+++ b/src/intl/cs/page-what-is-ethereum.json
@@ -1,128 +1,187 @@
{
- "page-what-is-ethereum-alt-img-bazaar": "Ilustrace osoby nahlížející do bazaru, který představuje Ethereum",
- "page-what-is-ethereum-alt-img-comm": "Obrázek spolupracujících členů komunity platformy Ethereum",
- "page-what-is-ethereum-alt-img-lego": "Ilustrace ruky tvořící logo ETH z lega",
- "page-what-is-ethereum-banking-card": "Bankovnictví pro všechny",
- "page-what-is-ethereum-banking-card-desc": "Ne každý má přístup k finančním službám. K přístupu na síť Ethereum a k jejím úvěrům, půjčkám a spořicím produktům stačí jen připojení k internetu.",
- "page-what-is-ethereum-build": "Vytvořte něco s Ethereem",
- "page-what-is-ethereum-build-desc": "Pokud chcete začít vystavět svou budoucnost na Ethereu, přečtěte si naši dokumentaci, vyzkoušejte si návody a nástroje, abyste věděli, kde začít.",
- "page-what-is-ethereum-censorless-card": "Odolnost proti cenzuře",
- "page-what-is-ethereum-censorless-card-desc": "Žádná vláda ani společnost nemá nad Ethereem kontrolu. Díky decentralizaci je téměř nemožné, aby vám někdo zabránil v přijímání plateb nebo využívání služeb na Ethereu.",
- "page-what-is-ethereum-comm-desc": "Vítejte v naší komunitě, kde narazíte na lidi s různou historií, včetně umělců, kryptoanarchistů, fortune 500 společností. Zjistěte, jak se k nám přidat ještě dnes.",
- "page-what-is-ethereum-commerce-card": "Obchodní garance",
- "page-what-is-ethereum-commerce-card-desc": "Zákazníci mají bezpečnou, vestavěnou záruku, že fondy změní majitele, pouze pokud poskytnete to, co bylo dohodnuto. Vývojáři mohou mít rovněž jistotu, že se jim pravidla nezmění.",
- "page-what-is-ethereum-composable-card": "Kompozitní produkty",
- "page-what-is-ethereum-composable-card-desc": "Všechny aplikace jsou postaveny na stejném blockchainu se sdíleným globálním stavem, což znamená, že mohou navzájem na sobě stavět (jako kostky Lega). To umožňuje vytvářet lepší produkty a zážitky a dává jistotu, že nikdo nemůže odstranit žádné nástroje, na které se aplikace spoléhají.",
- "page-what-is-ethereum-community": "Komunita Ethereum",
- "page-what-is-ethereum-desc": "Základ naší digitální budoucnosti",
- "page-what-is-ethereum-explore": "Prozkoumejte Ethereum",
- "page-what-is-ethereum-internet-card": "Otevřený internet",
- "page-what-is-ethereum-internet-card-desc": "Kdokoli může se sítí Ethereum komunikovat nebo na ní vytvářet aplikace. To vám umožní kontrolovat vlastní aktiva a identitu místo toho, aby je kontrolovalo několik megakorporací.",
- "page-what-is-ethereum-meet-comm": "Seznamte se s komunitou",
- "page-what-is-ethereum-meta-description": "Přečtěte si o Ethereu, k čemu je a jak si síť vyzkoušet sami.",
- "page-what-is-ethereum-meta-title": "Co je to Ethereum? | ethereum.org",
- "page-what-is-ethereum-p2p-card": "Síť klientů",
- "page-what-is-ethereum-p2p-card-desc": "Ethereum umožňuje koordinovat, uzavírat dohody nebo převádět digitální aktiva přímo s ostatními lidmi. Nemusíte se spoléhat na zprostředkovatele.",
- "page-what-is-ethereum-start-building-btn": "Začni tvořit",
+ "page-what-is-ethereum-meta-title": "Co je Ethereum? (Komplexní průvodce) | ethereum.org",
+ "page-what-is-ethereum-meta-description": "Komplexní přehled toho, co je Ethereum, jak funguje, k čemu slouží a jak začít používat nebo na něm budovat. Vysvětleno jednoduchými slovy.",
"page-what-is-ethereum-title": "Co je to Ethereum?",
- "page-what-is-ethereum-subtitle": "Kompletní začátečnický průvodce tím, jak Ethereum funguje, výhodami, které přináší, a jak jej využívají miliony lidí po celém světě.",
- "page-what-is-ethereum-button-lets-start": "Pojďme začít",
- "page-what-is-ethereum-blockchain-tab-title": "Co je to blockchain?",
- "page-what-is-ethereum-blockchain-tab-content": "Blockchain je databáze transakcí, která je aktualizována a sdílena napříč mnoha počítači v síti. Pokaždé když je přidán nový soubor transakcí, nazývá se „blok“ – proto název blockchain. Veřejné blockchainy jako je Ethereum umožňují každému data přidávat, ale ne odebírat. Pokud by někdo chtěl změnit některou z informací nebo tento systém podvést, musel by to provést na většině počítačů v síti. A těch je hodně! Díky tomu jsou decentralizované blockchainy, jako je Ethereum, vysoce bezpečné.",
- "page-what-is-ethereum-cryptocurrency-tab-title": "Co je kryptoměna?",
- "page-what-is-ethereum-cryptocurrency-tab-content-1": "Kryptoměna je termín používaný k popisu mnoha typů zastupitelných digitálních tokenů zabezpečených pomocí blockchainu. Všechno to začalo Bitcoinem. Bitcoin lze použít k převodu hodnoty mezi dvěma stranami, aniž byste museli věřit prostředníkovi. Musíte pouze důvěřovat bitcoinovému kódu, který je otevřený a volně dostupný.",
- "page-what-is-ethereum-cryptocurrency-tab-content-2": "Důvod, proč se aktiva jako bitcoin a ether nazývají „kryptoměny“, je ten, že bezpečnost vašich dat a aktiv je zaručena kryptografií, nikoli důvěrou, že nějaká instituce nebo korporace bude jednat čestně.",
- "page-what-is-ethereum-cryptocurrency-tab-content-3": "Ethereum má vlastní nativní kryptoměnu ether (ETH), která se používá k placení za určité aktivity v síti. Lze jej převést jiným uživatelům nebo vyměnit za jiné tokeny na Ethereu. Ether je výjimečný, protože se používá k platbě za výpočty potřebné k vytváření a provozu aplikací a organizací na Ethereu.",
- "page-what-is-ethereum-summary-title": "Souhrn",
- "page-what-is-ethereum-summary-desc-1": "Ethereum je hlavní platformou pro tisíce aplikací a blockchainů, které jsou poháněny protokolem Etherea.",
- "page-what-is-ethereum-summary-desc-2": "Tento živý ekosystém podporuje inovace a širokou škálu decentralizovaných aplikací a služeb.",
- "page-what-is-ethereum-summary-bullet-1": "Svobodné a globální Ethereum účty",
- "page-what-is-ethereum-summary-bullet-2": "Pseudosoukromé, není třeba uvádět žádné osobní údaje",
- "page-what-is-ethereum-summary-bullet-3": "Bez omezení se může zúčastnit kdokoli",
- "page-what-is-ethereum-summary-bullet-4": "Žádná společnost Ethereum nevlastní ani nerozhoduje o jeho budoucnosti",
- "page-what-is-ethereum-btc-eth-diff-title": "Jaký je rozdíl mezi Ethereem a Bitcoinem?",
- "page-what-is-ethereum-btc-eth-diff-1": "Ethereum bylo spuštěno v roce 2015 a staví na inovaci Bitcoinu – s několika velkými rozdíly.",
- "page-what-is-ethereum-btc-eth-diff-2": "Obě sítě umožňují používat digitální peníze bez poskytovatelů plateb nebo bank. Ale Ethereum je programovatelná, takže můžete budovat a vydávat decentralizované aplikace na své síti.",
- "page-what-is-ethereum-btc-eth-diff-3": "Bitcoin nám umožňuje posílat si základní zprávy o tom, co si myslíme, že je cenné. Stanovení hodnoty bez autority je již silné. Ethereum toto rozšiřuje: místo pouze zpráv, můžete napsat jakýkoliv obecný program nebo smlouvu. Neexistuje žádné omezení pro takové druhy smluv, které mohou být uzavřeny a dohodnuty, a proto se v síti Ethereum odehrávají velké inovace.",
- "page-what-is-ethereum-btc-eth-diff-4": "Zatímco Bitcoin je pouze platební síť, Ethereum je jako tržiště finančních služeb, her, sociálních sítí a dalších aplikací.",
- "page-what-is-ethereum-what-can-eth-do-title": "Co Ethereum umí?",
- "page-what-is-ethereum-why-would-i-use-ethereum-title": "Proč bych měl(a) používat Ethereum?",
- "page-what-is-ethereum-why-would-i-use-ethereum-1": "Pokud máte zájem o odolnější, otevřenější a důvěryhodnější způsoby globální koordinace, zakládání organizací, vytváření aplikací a sdílení hodnoty, Ethereum je zde pro vás. Ethereum je příběh, který jsme napsali všichni. Nebojte se objevit, jaké neuvěřitelné světy s ním můžeme společně vybudovat.",
- "page-what-is-ethereum-why-would-i-use-ethereum-2": "Ethereum je neocenitelné také pro lidi, kteří se museli vypořádat s nejistotou ohledně bezpečnosti, spolehlivosti nebo mobility svých aktiv kvůli vnějším silám mimo jejich kontrolu.",
- "page-what-is-ethereum-slide-1-title": "Levnější a rychlejší zahraniční platby",
- "page-what-is-ethereum-slide-1-desc-1": "Stablecoiny jsou nový typ kryptoměny, který se spoléhá na stabilnější aktivum jako základ pro jeho hodnotu. Většina z nich je vázána na americký dolar, a proto si zachovává hodnotu této měny. To umožňuje velmi levný a stabilní globální platební systém. Mnoho aktuálních stablecoinů je vytvořeno na síti Ethereum.",
- "page-what-is-ethereum-slide-1-desc-2": "Ethereum a stablecoiny zjednodušují proces posílání peněz do zahraničí. Přesun finančních prostředků po celém světě často trvá jen několik minut a za zlomek ceny, na rozdíl od průměrných bank, kterým to trvá několik pracovních dnů nebo dokonce týdnů. Kromě toho neexistuje žádný dodatečný poplatek za provedení transakce s vysokou hodnotou a existují nulová omezení toho, kde nebo proč posíláte své peníze.",
- "page-what-is-ethereum-slide-2-title": "Nejrychlejší pomoc v době krize",
- "page-what-is-ethereum-slide-2-desc-1": "Máte-li to štěstí, že máte více možností bankovnictví prostřednictvím důvěryhodných institucí, kde žijete, můžete považovat za samozřejmou finanční svobodu, bezpečnost a stabilitu, kterou nabízejí. Pro mnoho lidí po celém světě, kteří čelí politické represi nebo hospodářským těžkostem, však finanční instituce nemusí poskytovat potřebnou ochranu nebo služby.",
- "page-what-is-ethereum-slide-2-desc-2": "Během války, kdy ekonomické katastrofy a potlačování občanských svobod dopadaly na obyvatele Venezuely, Kuby, Afghánistánu, Nigérie, Běloruska a Ukrajiny, představovaly kryptoměny nejrychlejší a často jedinou možnost, jak si zachovat finanční nezávislost. 1 Jak je vidět na těchto příkladech, kryptoměny jako Ethereum mohou poskytnout neomezený přístup ke globální ekonomice v případech, kdy jsou lidé odříznuti od okolního světa. Stablecoiny navíc nabízejí uchování hodnoty, když se místní měny hroutí v důsledku hyperinflace.",
- "page-what-is-ethereum-slide-3-title": "Podpora tvůrců",
- "page-what-is-ethereum-slide-3-desc-1": "Jen v roce 2021 využili síť Ethereum umělci, hudebníci, spisovatelé a další tvůrci ke kolektivnímu výdělku kolem 3,5 miliardy dolarů. Díky tomu je Ethereum jednou z největších globálních platforem pro tvůrce, vedle Spotify, YouTube a Etsy. Zjistěte více.",
- "page-what-is-ethereum-slide-4-title": "Podpora hráčů videoher",
- "page-what-is-ethereum-slide-4-desc-1": "Play-to-Earn hry (kde jsou hráči skutečně odměňováni za hraní hry) se objevily nedávno a transformují herní průmysl. Tradičně je často zakázáno obchodovat nebo převádět aktiva ve hře jiným hráčům za reálné peníze. To nutí hráče k používání internetových stránek černého trhu, které často představují bezpečnostní riziko. Blockchainové hraní bere v potaz ekonomiku ve hře a prodej herních aktiv podporuje důvěryhodným způsobem.",
- "page-what-is-ethereum-slide-4-desc-2": "Hráči jsou navíc motivováni tím, že jsou schopni obchodovat herní tokeny za reálné peníze, a být tak skutečně odměňováni za svůj herní čas.",
- "page-what-is-ethereum-meet-ether-title": "Seznamte se s etherem, kryptoměnou sítě Ethereum",
- "page-what-is-ethereum-meet-ether-desc-1": "Mnoho činností v síti Ethereum vyžaduje provedení určitých úkolů na vestavěném počítači Ethereum (známém jako Virtuální stroj Etherea). Tato výpočetní činnost není zdarma; platí se za ni pomocí nativní kryptoměny Ethereum zvané ether (ETH). To znamená, že k tomu, abyste mohli tuto síť používat, potřebujete alespoň malé množství etheru.",
- "page-what-is-ethereum-meet-ether-desc-2": "Ethereum je pouze digitální a můžete ho okamžitě poslat komukoliv kdekoli na světě. Nabídka etheru není ovládána žádnou vládou ani společností – je decentralizovaná a zcela transparentní. Ether je vydáván přesným způsobem podle protokolu pouze uzamykatelům, kteří síť zabezpečují.",
- "page-what-is-ethereum-what-is-ether": "Co je Ether?",
- "page-what-is-ethereum-get-eth": "Získat ETH",
- "page-what-is-ethereum-explore-applications": "Prozkoumat aplikace",
- "page-what-is-ethereum-learn-defi": "Dozvědět se více o DeFi",
- "page-what-is-ethereum-who-runs-ethereum-title": "Kdo ovládá Ethereum?",
- "page-what-is-ethereum-who-runs-ethereum-desc-1": "Ethereum není ovládáno žádným konkrétním subjektem. Existuje vždy, když jsou připojeny počítače, na kterých běží software podle Ethereum protokolu a které se přidávají do Ethereumblockchainu. Každý z těchto počítačů se nazývá uzel. Uzly může provozovat kdokoli, ačkoli abyste se mohli podílet na zabezpečení sítě, musíte uzamykat ETH (nativní token Etherea). To může udělat každý, kdo má 32 ETH, aniž by potřeboval povolení.",
- "page-what-is-ethereum-who-runs-ethereum-desc-2": "Ani zdrojový kód Etherea nevytváří jediná entita. Kdokoli může navrhnout změny protokolu a diskutovat o vylepšeních. Existuje několik implementací protokolu Ethereum, které jsou vytvářeny nezávislými organizacemi v několika programovacích jazycích, a jsou obvykle vytvořeny otevřeně a podporují příspěvky komunity.",
- "page-what-is-ethereum-run-a-node": "Provozování vlastního uzlu",
- "page-what-is-ethereum-smart-contract-title": "Co to jsou chytré kontrakty?",
- "page-what-is-ethereum-smart-contract-desc-1": "Chytré kontrakty jsou počítačové programy žijící v blockchainu Etherea. Spouštějí se, když je spustí transakce od uživatele. Díky nim je Ethereum velmi flexibilní v tom, co může dělat. Tyto programy fungují jako stavební kameny pro decentralizované aplikace a organizace.",
- "page-what-is-ethereum-smart-contract-desc-2": "Už jste někdy používali produkt, který změnil podmínky služby nebo odstranil funkci, kterou jste považovali za užitečnou? Jakmile je na síti Ethereum publikován chytrý kontrakt, bude online a funkční, dokud Ethereum existuje. Dokonce ani autor jej nemůže vypnout nebo odstranit. Vzhledem k tomu, že jsou chytré kontrakty automatizované, nediskriminují žádného uživatele a jsou vždy připraveny k použití.",
- "page-what-is-ethereum-smart-contract-desc-3": "Populárními příklady chytrých kontraktů jsou aplikace pro půjčování, decentralizované obchodní burzy, pojištění, kvadratické financování, sociální sítě, NFT – v podstatě vše, co vás napadne.",
- "page-what-is-ethereum-more-on-smart-contracts": "Více o chytrých kontraktech",
- "page-what-is-ethereum-explore-dapps": "Prozkoumat dappky",
- "page-what-is-ethereum-criminal-activity-title": "Slyšel jsem, že krypto se používá jako nástroj pro trestnou činnost. Je to pravda?",
- "page-what-is-ethereum-criminal-activity-desc-1": "Stejně jako každá jiná technologie se někdy bude zneužívat. Protože však všechny transakce v Ethereu probíhají v otevřeném blockchainu, je pro úřady často snazší sledovat nezákonnou činnost v tomto než v tradičním finančním systému, což z Etherea pravděpodobně činí méně atraktivní volbu pro ty, kteří by raději zůstali neodhaleni.",
- "page-what-is-ethereum-criminal-activity-desc-2": "Krypto se používá mnohem méně než fiat měny za účelem trestné činnosti podle klíčových zjištění nedávné zprávy Europolu:",
- "page-what-is-ethereum-criminal-activity-desc-3": "„Využití kryptoměn k nedovoleným aktivitám podle všeho zahrnuje jen malou část celkové kryptoměnové ekonomiky a zdá se, že je poměrně menší než množství nezákonných finančních prostředků využívaných v tradičních financích.“",
- "page-what-is-ethereum-energy-title": "A co spotřeba energie sítě Ethereum?",
- "page-what-is-ethereum-energy-desc-1": "15. září 2022 prošlo Ethereum Sloučením, které převedlo Ethereum z důkazu prací na důkaz podílem.",
- "page-what-is-ethereum-energy-desc-2": "The Merge představovalo největší modernizaci Etherea a snížilo spotřebu energie potřebnou k zabezpečení Etherea o 99,95%, a tím vytvořilo bezpečnější síť s minimálním dopadem na životní prostředí. Ethereum je nyní nízkouhlíkový blockchain se zvýšenou bezpečností a škálovatelností.",
- "page-what-is-ethereum-more-on-energy-consumption": "Více o spotřebě energie",
- "page-what-is-ethereum-energy-consumption-chart-legend": "Roční spotřeba energie v TWh/rok",
- "energy-consumption-chart-global-data-centers-label": "Globální datová centra",
- "energy-consumption-gold-mining-cbeci-label": "Těžba zlata",
- "energy-consumption-chart-btc-pow-label": "BTC PoW",
- "energy-consumption-chart-netflix-label": "Netflix",
- "energy-consumption-chart-eth-pow-label": "ETH PoW",
- "energy-consumption-chart-gaming-us-label": "Hraní her v USA",
- "energy-consumption-chart-airbnb-label": "AirBnB",
- "energy-consumption-chart-paypal-label": "PayPal",
- "energy-consumption-chart-eth-pos-label": "ETH PoS",
- "page-what-is-ethereum-the-merge-update": "Aktualizace The Merge",
- "page-what-is-ethereum-additional-reading": "Další informace",
- "page-what-is-ethereum-week-in-ethereum": "Týden v novinkách sítě Ethereum",
- "page-what-is-ethereum-week-in-ethereum-desc": "- Týdenní newsletter, který se zabývá klíčovým vývojem napříč ekosystémem.",
- "page-what-is-ethereum-kernel-dreamers": "Kernel",
- "page-what-is-ethereum-kernel-dreamers-desc": "Sen Etherea",
- "page-what-is-ethereum-atoms-institutions-blockchains": "Atomy, instituce, blockchainy",
- "page-what-is-ethereum-atoms-institutions-blockchains-desc": "- Proč na blockchainech záleží?",
- "page-what-is-ethereum-ethereum-in-numbers-title": "Ethereum v číslech",
- "page-what-is-ethereum-ethereum-in-numbers-stat-1-desc": "Projekty na Ethereu",
- "page-what-is-ethereum-ethereum-in-numbers-stat-2-desc": "Účty (pěněženky) na Ethereu s nenulovým zůstatkem ETH",
- "page-what-is-ethereum-ethereum-in-numbers-stat-3-desc": "Chytré kontrakty na Ethereu",
- "page-what-is-ethereum-ethereum-in-numbers-stat-4-desc": "Hodnota prostředků na blockchainu Ethereum",
- "page-what-is-ethereum-ethereum-in-numbers-stat-5-desc": "Příjem tvůrců na blockchainu Ethereum v roce 2021",
- "page-what-is-ethereum-ethereum-in-numbers-stat-6-desc": "Počet dnešních transakcí",
- "adoption-chart-column-now-label": "Nyní",
- "adoption-chart-investors-label": "Investoři",
- "adoption-chart-developers-label": "Vývojáři",
- "adoption-chart-companies-label": "Společnosti",
- "adoption-chart-artists-label": "Umělci",
- "adoption-chart-musicians-label": "Hudebníci",
- "adoption-chart-writers-label": "Spisovatelé",
- "adoption-chart-gamers-label": "Hráči",
- "adoption-chart-refugees-label": "Uprchlíci",
- "page-what-is-ethereum-get-eth-alt": "Získejte ETH",
- "page-what-is-ethereum-get-eth-description": "ETH je nativní měna Etherea. Abyste mohli používat Ethereum aplikace, budete potřebovat ETH ve své peněžence.",
- "page-what-is-ethereum-get-eth-title": "Získejte ETH",
- "page-what-is-ethereum-explore-dapps-alt": "Prozkoumat dappky",
- "page-what-is-ethereum-explore-dapps-description": "Dappky jsou aplikace postavené na Ethereu. Dappky narušují současné obchodní modely a vymýšlejí nové.",
- "page-what-is-ethereum-explore-dapps-title": "Vyzkoušejte dappky"
+ "page-what-is-ethereum-hero-description-1": "Ethereum je decentralizovaná blockchainová síť a platforma pro vývoj softwaru, poháněná kryptoměnou ether (ETH).",
+ "page-what-is-ethereum-hero-description-2": "Je domovem tisíců kryptoměn a aplikací napříč DeFi, NFT, gamingem, decentralizovanými sociálními sítěmi a stablecoiny.",
+ "page-what-is-ethereum-ethereum-intro-1": "Ethereum je otevřený, veřejný blockchain spuštěný v červenci 2015 softwarovým vývojářem Vitalikem Buterinem a malým týmem spoluzakladatelů.",
+ "page-what-is-ethereum-ethereum-intro-2": "Myšlenka stojící za Ethereem byla jednoduchá. Zatímco Bitcoin ti umožňuje posílat a přijímat digitální hotovost, Ethereum na tom staví s open-source programy zvanými chytré kontrakty.",
+ "page-what-is-ethereum-ethereum-intro-3": "Chytré kontrakty umožňují komukoli vytvářet vlastní digitální aktiva a decentralizované aplikace (dapps), které běží nepřetržitě, celosvětově. A na rozdíl od bank, korporací nebo jiných institucí jsou chytré kontrakty dostupné každému, kdo má připojení k internetu.",
+ "page-what-is-ethereum-ethereum-intro-4": "Od roku 2015 se Ethereum rozrostlo v prosperující ekosystém digitálních aktiv, jako jsou stablecoiny, nezaměnitelné tokeny (NFT) a governance tokeny, stejně jako do rozsáhlého světa dappů pro decentralizované finance (DeFi), umění a sběratelství, gaming a decentralizované sociální sítě.",
+ "page-what-is-ethereum-ethereum-intro-5": "Tento ekosystém se souhrnně nazývá „web3“, představující třetí fázi internetu zaměřenou na vlastnictví.",
+ "page-what-is-ethereum-ethereum-intro-6": "Dnes Ethereum používají miliony lidí po celém světě, kteří drží aktiva v hodnotě miliard dolarů a každý rok posílají a přijímají biliony dolarů — a to vše bez banky.",
+ "page-what-is-ethereum-ethereum-intro-7": "V centru toho všeho stojí nativní kryptoměna Ethereum, ether (ETH) — nový typ digitálních peněz, který pohání celou síť.",
+ "page-what-is-ethereum-network-title": "Co je to síť Ethereum?",
+ "page-what-is-ethereum-network-intro-1": "Můžete si síť Ethereum představit jako globální digitální infrastrukturu, kterou může kdokoli používat, ale nikdo ji nemůže zneužít.",
+ "page-what-is-ethereum-network-intro-2": "Síť je tvořena tisíci nezávislých počítačů po celém světě, které se nazývají uzly (nodes). Tyto uzly, provozované běžnými lidmi, spolupracují na poskytování finančních služeb a digitálních aplikací komukoli a kdekoli.",
+ "page-what-is-ethereum-network-intro-3": "Síť Ethereum má oproti tradičním sítím vlastněným institucemi 3 klíčové výhody. Jsou to odolnost vůči cenzuře, zvýšená bezpečnost a vyšší spolehlivost.",
+ "page-what-is-ethereum-network-censorship-title": "Odolnost vůči cenzuře",
+ "page-what-is-ethereum-network-censorship-desc-1": "Zatímco tradiční aplikace a finanční služby spoléhají na banky nebo korporace, které mohou rozhodnout o zablokování přístupu nebo zmrazení účtů, dappy na Ethereu jsou odolné vůči cenzuře.",
+ "page-what-is-ethereum-network-censorship-desc-2": "Je to proto, že síť uzlů Etherea zaznamenává každou jednotlivou transakci bez rozdílu — a toto pravidlo je zabudované přímo v kódu.",
+ "page-what-is-ethereum-network-security-title": "Vysoce zabezpečené",
+ "page-what-is-ethereum-network-security-desc-1": "Zatímco mnoho dnešních aplikací je hostováno u cloudových poskytovatelů, jako je AWS, a může být zranitelné vůči odstávkám a útokům, dapps na Ethereu jsou zabezpečeny samotnou sítí. Každý uzel uchovává a synchronizuje celý stav Etherea, včetně všech kontraktů.",
+ "page-what-is-ethereum-network-security-desc-2": "Pokud by se někdo pokusil změnit kontrakt, síť by to odmítla, protože by to neodpovídalo záznamům ostatních uzlů. Aby útočníci vyřadili jedinou aplikaci, museli by ovládnout celou síť, což by stálo miliardy a bylo extrémně obtížné zkoordinovat.",
+ "page-what-is-ethereum-network-reliability-title": "Odolné a spolehlivé",
+ "page-what-is-ethereum-network-reliability-desc-1": "Výpadky cloudových hostingových platforem mohou aplikace odstavit, ale design Etherea zajišťuje nepřetržitou dostupnost. Síť poběží dál i v případě, že některé uzly vypadnou kvůli softwarovým chybám, zásahům vlád, přírodním katastrofám nebo válce.",
+ "page-what-is-ethereum-network-reliability-desc-2": "Miliony lidí používají na Ethereu každý den tisíce decentralizovaných aplikací. Ačkoliv vysoká poptávka může vést ke zvýšeným transakčním poplatkům, odráží to sílu sítě, která upřednostňuje bezpečnost, decentralizaci a garanci dostupnosti vždy, když ji potřebujete.",
+ "page-what-is-ethereum-network-layer2-title": "Rozšíření Etherea (Layer 2)",
+ "page-what-is-ethereum-network-layer2-desc-1": "Různé týmy vytvořily Layer 2 (L2) sítě, které běží nad Ethereem a zvyšují jeho kapacitu. L2 fungují jako rychlé pruhy – zrychlují transakce a zlevňují je, někdy až na méně než jeden cent v průměru.",
+ "page-what-is-ethereum-network-layer2-desc-2": "Mezi nejpopulárnější L2 sítě dnes patří Optimism, Arbitrum, ZKSync a Base, které nyní každoročně zpracují miliony transakcí v hodnotě miliard dolarů.",
+ "page-what-is-ethereum-network-learn-more": "Dozvědět se více o síti Ethereum",
+ "page-what-is-ethereum-ether-title": "Co je ether (ETH)?",
+ "page-what-is-ethereum-ether-intro-1": "Ether (ETH) je nativní kryptoměna Etherea.",
+ "page-what-is-ethereum-ether-intro-2": "Jde o nový typ digitálních peněz, které lze poslat komukoli, kamkoli na světě během několika sekund a za pouhé centy. ETH však není jen o platbách — hraje zásadní roli v samotném chodu sítě Ethereum.",
+ "page-what-is-ethereum-ether-intro-3": "Když na Ethereu posíláte peníze, sbíráte digitální umění nebo vytváříte novou dapp, platíte malý transakční poplatek (gas) v ETH. Tento poplatek pomáhá předcházet spamu a odměňuje validátory, kteří transakce zpracovávají.",
+ "page-what-is-ethereum-ether-intro-4": "Tito validátoři pomáhají zabezpečovat síť Ethereum prostřednictvím mechanismu zvaného staking. Tím, že uzamknou svůj ETH, získají možnost zpracovávat transakce. Na oplátku získávají odměny v podobě ETH. Díky tomu má Ethereum vlastní soběstačnou ekonomiku poháněnou uživateli, nikoli firmami.",
+ "page-what-is-ethereum-ether-intro-5": "Na rozdíl od mnoha tradičních měn se ETH může časem stávat vzácnějším. Pokaždé, když někdo Ethereum používá, je malá část ETH spálena – tedy trvale odstraněna z oběhu. V rušných dnech se spálí více ETH, než kolik se vytvoří, což z něj činí deflační aktivum, které může dlouhodobě růst na hodnotě. Čím více se Ethereum používá, tím více ETH se pálí.",
+ "page-what-is-ethereum-ether-intro-6": "Z tohoto důvodu mnoho lidí vnímá ETH jako investici a rozhoduje se jej držet, stakovat nebo půjčovat, aby zhodnotili své úspory.",
+ "page-what-is-ethereum-ether-learn-more": "Dozvědět se více o etheru (ETH)",
+ "page-what-is-ethereum-how-title": "Jak Ethereum funguje?",
+ "page-what-is-ethereum-how-intro-1": "Když Ethereum bylo v roce 2015 spuštěno, používalo systém zvaný proof of work.",
+ "page-what-is-ethereum-how-intro-2": "Tento mechanismus, jehož průkopníkem byl Bitcoin, byl způsob, jak se všechny počítače shodly na tom, kdo co vlastní. Počítače spotřebovávaly velké množství energie při řešení složité matematické hádanky. Vítěz mohl navrhnout blok příchozích transakcí a získal za to nové ETH.",
+ "page-what-is-ethereum-how-intro-3": "V roce 2022 Ethereum přešlo na nový systém nazvaný proof of stake, který je o 99 % energeticky úspornější. Namísto řešení hádanek validátoři uzamykají svůj ETH jako bezpečnostní depozit a tím získávají právo zpracovávat transakce.",
+ "page-what-is-ethereum-how-intro-4": "Pokud validátoři postupují správně, získávají ETH. Pokud podvádějí, přijdou o část svého staku.",
+ "page-what-is-ethereum-how-intro-5": "Toto je příklad:",
+ "page-what-is-ethereum-how-example-1-title": "Když na Ethereu posíláte příteli 10 dolarů ve stablecoinech:",
+ "page-what-is-ethereum-how-example-1-step-1": "Otevřeš svou peněženku, přidáš adresu účtu, na který chceš poslat, a částku, a pak klikneš na odeslat.",
+ "page-what-is-ethereum-how-example-1-step-2": "Vaše peněženka platbu podepíše a odešle ji do sítě.",
+ "page-what-is-ethereum-how-example-1-step-3": "Platba čeká ve veřejné frontě (mempool), dokud ji nevybere navrhovatel bloku.",
+ "page-what-is-ethereum-how-example-1-step-4": "Navrhovatel bloku ji přidá do dalšího bloku transakcí, rozešle ji a získá poplatek.",
+ "page-what-is-ethereum-how-example-1-step-5": "Kontrakt stabilní kryptoměny přesune 10 $ od tebe k tvému příteli a obě peněženky se aktualizují.",
+ "page-what-is-ethereum-how-example-1-step-6": "Globální síť validátorů dvakrát zkontroluje a potvrdí platnost změn.",
+ "page-what-is-ethereum-how-example-2-title": "Když si na Ethereu vyrazíš sběratelský předmět za 5 $:",
+ "page-what-is-ethereum-how-example-2-step-1": "Připojíš svou peněženku k dapp a vybereš si položku k vyražení.",
+ "page-what-is-ethereum-how-example-2-step-2": "Potvrdíš nákup; peněženka podepíše a rozešle transakci.",
+ "page-what-is-ethereum-how-example-2-step-3": "Žádost o ražbu se zařadí do mempoolu a validátor ji přidá do bloku.",
+ "page-what-is-ethereum-how-example-2-step-4": "Chytrý kontrakt NFT zaznamená tvoji peněženku jako nového majitele.",
+ "page-what-is-ethereum-how-example-2-step-5": "Tvůj nový sběratelský předmět se za pár sekund objeví ve tvé peněžence.",
+ "page-what-is-ethereum-how-outro-1": "To vše je možné díky síle chytrých kontraktů; open-source programů, které žijí na Ethereu a běží 24/7, 365 dní v roce, přístupné komukoli a kdekoli.",
+ "page-what-is-ethereum-how-outro-2": "Každá transakce, aktualizace a akce je synchronizována napříč tisíci nezávislými uzly. To dává Ethereu jeho spolehlivost, transparentnost a odolnost vůči cenzuře.",
+ "page-what-is-ethereum-how-learn-more-1": "Zjisti víc o tom, jak Ethereum funguje",
+ "page-what-is-ethereum-how-learn-more-2": "Přečti si vývojářskou dokumentaci pro technický přehled Etherea",
+ "page-what-is-ethereum-what-title": "K čemu se používá Ethereum?",
+ "page-what-is-ethereum-what-intro-1": "Lidé používají Ethereum k věcem, které dříve nebyly možné.",
+ "page-what-is-ethereum-what-intro-2": "Zemědělci v Keni mohou získat automatizované pojištění své úrody bez nutnosti žádat banku. Firmy jako Visa mohou od prvního dne spouštět nové platební systémy, které fungují globálně. Globální organizace jako OSN mohou doručovat pomoc uprchlíkům a ušetřit tak miliony na bankovních poplatcích.",
+ "page-what-is-ethereum-what-intro-3": "Tyto dapps a aktiva běží na Ethereu s využitím open-source kódu a nelze je omezit, cenzurovat ani vypnout.",
+ "page-what-is-ethereum-what-intro-4": "Zde je přehled, jak jej dnes různé skupiny používají:",
+ "page-what-is-ethereum-what-consumers-title": "Spotřebitelé",
+ "page-what-is-ethereum-what-consumers-desc-1": "Miliony lidí již denně používají dapps na Ethereu k přesunu peněz, obchodování a vlastnictví digitálních aktiv. Na rozdíl od tradičních aplikací se nemusíš registrovat jménem, čekat na schválení bankou ani odevzdávat své osobní údaje.",
+ "page-what-is-ethereum-what-consumers-desc-2": "S pouhou peněženkou a připojením k internetu můžeš:",
+ "page-what-is-ethereum-what-consumers-benefit-1": "Přistupovat k finančním službám bez bankovního účtu nebo úvěrové historie",
+ "page-what-is-ethereum-what-consumers-benefit-2": "Vlastnit digitální sběratelské předměty, umění a aktiva, která nelze kopírovat ani zabavit",
+ "page-what-is-ethereum-what-consumers-benefit-3": "Přihlašovat se do dapps pomocí své peněženky, nikoli e-mailu – nejsou nutná žádná hesla ani osobní údaje",
+ "page-what-is-ethereum-what-consumers-benefit-4": "Účastnit se globálních komunit, kde můžeš bez hranic hlasovat, přispívat a vydělávat",
+ "page-what-is-ethereum-what-businesses-title": "Firmy a vývojáři",
+ "page-what-is-ethereum-what-businesses-benefit-1": "Spouštět dapps s vestavěným globálním platebním systémem od prvního dne",
+ "page-what-is-ethereum-what-businesses-benefit-2": "Nasadit kontrakty odolné proti neoprávněné manipulaci, které automaticky vymáhají dohody",
+ "page-what-is-ethereum-what-businesses-benefit-3": "Vytvářet finanční produkty, na kterých může kdokoli stavět a přinášet jim hodnotu",
+ "page-what-is-ethereum-what-businesses-example": "Například PayPal spustil na Ethereu svou vlastní stabilní kryptoměnu, PYUSD. To je známka toho, že i největší světové platební společnosti vidí výhodu otevřené a programovatelné povahy Etherea.",
+ "page-what-is-ethereum-what-governments-title": "Vlády",
+ "page-what-is-ethereum-what-governments-intro": "Vlády také začínají zkoumat, co Ethereum umožňuje.",
+ "page-what-is-ethereum-what-governments-benefit-1": "Rozdělovat veřejné prostředky a výhody přímo občanům s plnou transparentností",
+ "page-what-is-ethereum-what-governments-benefit-2": "Vydávat digitální doklady totožnosti nebo záznamy, které jsou ověřitelné a přenositelné přes hranice",
+ "page-what-is-ethereum-what-governments-benefit-3": "Budovat veřejnou infrastrukturu pro volby, vlastnické listy a registry odolnou proti neoprávněné manipulaci",
+ "page-what-is-ethereum-what-governments-example-1": "V jiném případě ukrajinské Ministerstvo pro digitální transformaci použilo Ethereum k distribuci válečné pomoci.",
+ "page-what-is-ethereum-what-governments-example-2": "Prostředky byly posílány přímo občanům a nevládním organizacím pomocí otevřených chytrých kontraktů, což zajistilo transparentnost, rychlost a odpovědnost během krize.",
+ "page-what-is-ethereum-what-learn-more": "Zjisti víc o tom, k čemu se Ethereum používá",
+ "page-what-is-ethereum-start-title": "Jak začít používat Ethereum",
+ "page-what-is-ethereum-start-intro-1": "Začít s Ethereem je snazší, než si možná myslíš.",
+ "page-what-is-ethereum-start-intro-2": "Nepotřebuješ povolení. Nepotřebuješ banku ani doklad totožnosti. Vše, co k začátku potřebuješ, je zařízení a připojení k internetu.",
+ "page-what-is-ethereum-start-individuals-title": "Pro jednotlivce",
+ "page-what-is-ethereum-start-individuals-desc-1": "Prvním krokem je stažení peněženky.",
+ "page-what-is-ethereum-start-individuals-desc-2": "Představ si ji jako aplikaci, která funguje jako tvůj účet i internetový prohlížeč pro Ethereum. Spravuje tvoje krypto, umožňuje ti přihlásit se do dapps a také posílat a přijímat digitální aktiva, jako jsou tokeny a NFT.",
+ "page-what-is-ethereum-start-individuals-desc-3": "Populární peněženky jako Zerion, Rainbow a Coinbase Wallet jsou zdarma a snadno se používají. Jakmile máš peněženku nastavenou, můžeš:",
+ "page-what-is-ethereum-start-individuals-step-1": "Koupit malé množství ETH na burze nebo přímo v některých peněženkách",
+ "page-what-is-ethereum-start-individuals-step-2": "Používat toto ETH k placení za transakce, jako je posílání tokenů nebo sbírání NFT",
+ "page-what-is-ethereum-start-individuals-step-3": "Prozkoumávat dapps jako Zora, Uniswap nebo Farcaster – nejsou potřeba žádná nová přihlášení ani schválení",
+ "page-what-is-ethereum-start-individuals-desc-4": "Tyto priority pomohou zajistit, aby Ethereum bylo bezpečné, škálovatelné a uživatelsky přívětivé, protože na síť se každý den spoléhá stále více lidí.",
+ "page-what-is-ethereum-start-individuals-desc-5": "Tyto dapps běží v tvém prohlížeči a okamžitě spolupracují s tvojí peněženkou. Ethereum můžeš začít používat během několika minut.",
+ "page-what-is-ethereum-start-individuals-cta-1": "Začněte zde",
+ "page-what-is-ethereum-start-individuals-cta-2": "Zobrazit aplikace",
+ "page-what-is-ethereum-start-developers-title": "Pro vývojáře",
+ "page-what-is-ethereum-start-developers-desc-1": "Ethereum je hřiště pro vývojáře. Můžeš začít tvořit bez povolení, schvalování nebo dokonce skutečných peněz.",
+ "page-what-is-ethereum-start-developers-desc-2": "Vývojářská dokumentace Etherea tě provede vším od napsání prvního chytrého kontraktu až po nasazení na testovacích sítích, jako je Sepolia.",
+ "page-what-is-ethereum-start-developers-desc-3": "Můžeš vytvářet full-stack dapps s nástroji jako Hardhat, Foundry a Ethers.js nebo experimentovat s low-code platformami jako thirdweb nebo Moralis.",
+ "page-what-is-ethereum-start-developers-desc-4": "Vše je open-source a složitelné, takže můžeš remixovat a stavět na tom, co už existuje, aniž bys žádal o povolení.",
+ "page-what-is-ethereum-start-developers-cta": "Začni tvořit na Ethereu",
+ "page-what-is-ethereum-start-business-title": "Použití Etherea v podnikání",
+ "page-what-is-ethereum-start-business-desc-1": "Podniky již používají Ethereum k pohonu nové infrastruktury.",
+ "page-what-is-ethereum-start-business-desc-2": "Mnoho podniků začíná se sítěmi L2, jako jsou Optimism a Base, aby podpořily případy použití s vysokým objemem. Tyto sítě nabízejí nižší poplatky, vyšší rychlosti a přitom stále těží z bezpečnosti Etherea a eliminují riziko protistrany.",
+ "page-what-is-ethereum-start-business-desc-3": "Můžeš:",
+ "page-what-is-ethereum-start-business-benefit-1": "Spustit modulární věrnostní programy, které zvyšují udržení zákazníků a snižují náklady třetích stran",
+ "page-what-is-ethereum-start-business-benefit-2": "Tokenizovat aktiva, jako jsou vstupenky, kupóny nebo certifikáty, a snížit tak riziko podvodů a dalšího prodeje",
+ "page-what-is-ethereum-start-business-benefit-3": "Umožnit okamžité globální platby, snížit transakční poplatky a otevřít nové trhy",
+ "page-what-is-ethereum-start-business-example": "Například v roce 2025 Shopify spustil na Base, aby umožnil spotřebitelům utrácet stabilní kryptoměny u milionů obchodníků po celém světě.",
+ "page-what-is-ethereum-start-business-cta": "Použití Etherea v podnikání",
+ "page-what-is-ethereum-bitcoin-title": "Jaký je rozdíl mezi Ethereem a Bitcoinem?",
+ "page-what-is-ethereum-bitcoin-intro-1": "Bitcoin a Ethereum jsou dvě největší kryptoměny na světě.",
+ "page-what-is-ethereum-bitcoin-intro-2": "Obě ti umožňují posílat peníze bez banky, obě běží na technologii blockchainu a obě jsou otevřené komukoli. Tím ale podobnosti končí.",
+ "page-what-is-ethereum-bitcoin-comparison-1-title": "Bitcoin je jako digitální zlato.",
+ "page-what-is-ethereum-bitcoin-comparison-1-desc": "Má pevnou zásobu 21 milionů mincí, úzké zaměření na peer-to-peer platby a základní skriptovací jazyk, který omezuje, co s ním můžeš vytvořit. Tato jednoduchost je záměrná, protože Bitcoin upřednostňuje předvídatelnost, odolnost a dlouhodobou bezpečnost před flexibilitou.",
+ "page-what-is-ethereum-bitcoin-comparison-2-title": "Ethereum má širší přístup.",
+ "page-what-is-ethereum-bitcoin-comparison-2-desc": "Není to jen o penězích, je to programovatelná infrastruktura. Místo pouhého posílání a přijímání hodnoty umožňuje Ethereum vývojářům vytvářet celé aplikace. To jsi už viděl v akci: od trhů s půjčkami a stabilních kryptoměn po sběratelské předměty, sociální média a platby v reálném čase – to vše je poháněno chytrými kontrakty a zabezpečeno pomocí ETH.",
+ "page-what-is-ethereum-bitcoin-comparison-3-title": "Způsob, jakým sítě dosahují konsensu, je také odlišný.",
+ "page-what-is-ethereum-bitcoin-comparison-3-desc-1": "Bitcoin používá k zabezpečení sítě těžaře. Jedná se o výkonné počítače, které soutěží v řešení složité hádanky, a vítěz může přidat další blok transakcí do řetězce a získat bitcoiny jako odměnu. Tento proces se nazývá těžba a spotřebovává velké množství elektřiny.",
+ "page-what-is-ethereum-bitcoin-comparison-3-desc-2": "Ethereum dříve také takto fungovalo. Ale v roce 2022 přešlo z proof-of-work na proof-of-stake. Dnes transakce potvrzují validátoři, kteří uzamknou ETH jako zástavu. Poctiví validátoři získávají odměny v ETH, zatímco nepoctiví ztrácejí část svého vkladu. Díky této změně se Ethereum stalo o více než 99,988 % energeticky úspornější, aniž by byla obětována bezpečnost nebo decentralizace.",
+ "page-what-is-ethereum-bitcoin-comparison-4-title": "Existuje také rozdíl v tom, jak se nakládá se zásobou.",
+ "page-what-is-ethereum-bitcoin-comparison-4-desc-1": "Bitcoin má pevnou zásobu. Nikdy nebude existovat více než 21 milionů mincí. Ethereum má naopak dynamickou zásobu. Nové ETH se vydává jako odměna pro validátory, zatímco část se pálí s každou transakcí. To znamená, že Ethereum nemůže jen tak \"tisknout nekonečné množství ETH\".",
+ "page-what-is-ethereum-bitcoin-comparison-4-desc-2": "Míra vydávání je omezena množstvím uzamčeného ETH. Jak se uzamyká více ETH, individuální odměny klesají, což vytváří přirozenou rovnováhu. Tento design zajišťuje udržitelný bezpečnostní rozpočet i do budoucna, aniž by se spoléhal pouze na transakční poplatky.",
+ "page-what-is-ethereum-bitcoin-comparison-4-desc-3": "Stručně řečeno, Bitcoin je nástroj pro posílání hodnoty. Ethereum je platforma pro její vytváření.",
+ "page-what-is-ethereum-bitcoin-learn-more": "Zjisti víc o rozdílu mezi Ethereem a Bitcoinem",
+ "page-what-is-ethereum-when-who-title": "Kdy bylo Ethereum spuštěno, kdo ho založil a kdo ho provozuje nyní?",
+ "page-what-is-ethereum-when-who-intro-1": "Od začátku bylo Ethereum navrženo tak, aby ho provozovala jeho komunita.",
+ "page-what-is-ethereum-when-who-intro-2": "V roce 2013 publikoval Vitalik Buterin bílou knihu navrhující nový druh blockchainu pro peníze a aplikace, které by mohl používat kdokoli. Myšlenka se rychle ujala.",
+ "page-what-is-ethereum-when-who-intro-3": "Do roku 2014 se k úsilí připojili spoluzakladatelé jako Gavin Wood a Joseph Lubin a tým získal finanční prostředky prostřednictvím jedné z prvních krypto crowdfundingových kampaní.",
+ "page-what-is-ethereum-when-who-intro-4": "Ethereum bylo oficiálně spuštěno v červenci 2015.",
+ "page-what-is-ethereum-when-who-history-title": "Klíčové momenty v historii Etherea",
+ "page-what-is-ethereum-when-who-history-2013": "19letý Vitalik Buterin publikuje bílou knihu Etherea",
+ "page-what-is-ethereum-when-who-history-2014": "Vzniká Nadace Ethereum a spouští crowdfundingovou kampaň",
+ "page-what-is-ethereum-when-who-history-2015": "Vývojáři spouštějí síť Ethereum s vydáním Frontier",
+ "page-what-is-ethereum-when-who-history-2016": "Zneužití chytrého kontraktu odčerpá 60 milionů dolarů (3,6 milionu ETH) z The DAO, což vyvolá větev řetězce",
+ "page-what-is-ethereum-when-who-history-2020": "Spuštění Beacon Chainu zahajuje přechod na proof-of-stake",
+ "page-what-is-ethereum-when-who-history-2021": "Vylepšení London zahajuje pálení poplatků za gas prostřednictvím EIP-1559",
+ "page-what-is-ethereum-when-who-history-2022": "The Merge nahrazuje těžbu stakováním, čímž snižuje spotřebu energie o 99 %",
+ "page-what-is-ethereum-when-who-history-2025": "Vylepšení Pectra zlepšuje podporu chytrých peněženek a kompatibilitu s L2",
+ "page-what-is-ethereum-when-who-governance-1": "Dnes Ethereum neprovozuje žádná jediná osoba ani společnost.",
+ "page-what-is-ethereum-when-who-contributors-title": "Síť je udržována širokou skupinou přispěvatelů:",
+ "page-what-is-ethereum-when-who-contributors-1": "Vývojáři, kteří píší a navrhují vylepšení",
+ "page-what-is-ethereum-when-who-contributors-2": "Provozovatelé uzlů přispívající k distribuované fyzické infrastruktuře",
+ "page-what-is-ethereum-when-who-contributors-3": "Stakeři, kteří ověřují transakce",
+ "page-what-is-ethereum-when-who-contributors-4": "Členové komunity, kteří budují nástroje a kulturu",
+ "page-what-is-ethereum-when-who-contributors-5": "Ty tím, že používáš síť",
+ "page-what-is-ethereum-when-who-governance-2": "Neexistuje žádný CEO, správní rada ani centrální autorita. Nadace Ethereum stále pomáhá financovat výzkum a vývoj, ale ekosystém funguje na otevřené účasti.",
+ "page-what-is-ethereum-when-who-governance-3": "Změny jsou navrhovány prostřednictvím Návrhů na vylepšení Etherea (EIP), veřejně diskutovány a přijímány pouze tehdy, pokud je podporuje širší komunita.",
+ "page-what-is-ethereum-when-who-governance-4": "Díky tomu se Ethereum mění pomaleji než startup, ale je také mnohem těžší ho vypnout nebo převzít.",
+ "page-what-is-ethereum-when-who-learn-more": "Zjisti víc o historii Etherea",
+ "page-what-is-ethereum-roadmap-title": "Jaký je plán Etherea na rok 2025?",
+ "page-what-is-ethereum-roadmap-intro-1": "Ethereum se neřídí pevným plánem. Řídí se sdílenou vizí.",
+ "page-what-is-ethereum-roadmap-intro-2": "Vylepšení sítě se provádějí jako EIP a jsou vyvíjena veřejně přispěvateli z celého světa. Neexistuje žádný centrální tým, který by rozhodoval o tom, co se stane, jen lidé, kteří tvoří to, co považují za užitečné na základě potřeb uživatelů.",
+ "page-what-is-ethereum-roadmap-intro-3": "Pectra je nejnovější vylepšení spuštěné v květnu 2025. Toto vylepšení vylepšilo funkce peněženek, dalo stakerům větší flexibilitu a usnadnilo spouštění dapps na L2. Cílem bylo zlepšit použitelnost bez kompromisů v oblasti bezpečnosti nebo decentralizace.",
+ "page-what-is-ethereum-roadmap-priorities-intro": "Při pohledu do budoucna patří mezi priority Etherea:",
+ "page-what-is-ethereum-roadmap-priority-1": "Učinit základní protokol a jeho L2 rychlejšími a levnějšími pro všechny",
+ "page-what-is-ethereum-roadmap-priority-2": "Zlepšení zážitku pro uživatele a vývojáře",
+ "page-what-is-ethereum-roadmap-outro-1": "Tyto priority pomohou zajistit, aby Ethereum bylo bezpečné, škálovatelné a uživatelsky přívětivé, protože na síť se každý den spoléhá stále více lidí.",
+ "page-what-is-ethereum-roadmap-outro-2": "Pokud chceš udávat směr Etherea, zapoj se. Nepotřebuješ povolení, jen touhu něco změnit v této nové digitální ekonomice.",
+ "page-what-is-ethereum-roadmap-learn-more": "Zobrazit přehled plánu Etherea",
+ "page-what-is-ethereum-further-reading-title": "Další čtení",
+ "page-what-is-ethereum-further-reading-wallets": "Co jsou peněženky?",
+ "page-what-is-ethereum-further-reading-eth": "Co je ether (ETH)?",
+ "page-what-is-ethereum-further-reading-web3": "Co je to web3?",
+ "page-what-is-ethereum-further-reading-networks": "Dozvědět se více o síti Ethereum",
+ "page-what-is-ethereum-toc-ethereum": "Co je to Ethereum?",
+ "page-what-is-ethereum-toc-network": "Co je to síť Ethereum?",
+ "page-what-is-ethereum-toc-ether": "Co je ether (ETH)?",
+ "page-what-is-ethereum-toc-how": "Jak Ethereum funguje?",
+ "page-what-is-ethereum-toc-what": "K čemu se používá Ethereum?",
+ "page-what-is-ethereum-toc-start": "Jak začít používat Ethereum",
+ "page-what-is-ethereum-toc-bitcoin": "Jaký je rozdíl mezi Ethereem a Bitcoinem?",
+ "page-what-is-ethereum-toc-when-who": "Kdy bylo Ethereum spuštěno, kdo ho založil a kdo ho provozuje nyní?",
+ "page-what-is-ethereum-toc-roadmap": "Jaký je plán Etherea na rok 2025?",
+ "page-what-is-ethereum-banner-networks-alt": "Ilustrace futuristického komunitního centra Etherea",
+ "page-what-is-ethereum-banner-ether-alt": "Otevřené ruce držící glyf etheru",
+ "page-what-is-ethereum-banner-how-alt": "Muž opravující počítač",
+ "page-what-is-ethereum-banner-contributing-alt": "Doge se usmívá na počítač",
+ "page-what-is-ethereum-banner-what-alt": "Čtyři futurističtí lidé a doge hledící do hranolu Etherea",
+ "page-what-is-ethereum-banner-start-alt": "Futuristické komunitní shromažďovací centrum",
+ "page-what-is-ethereum-banner-when-who-alt": "Dva lidé jdou a mluví"
}
diff --git a/src/intl/cs/page-what-is-the-ethereum-network.json b/src/intl/cs/page-what-is-the-ethereum-network.json
new file mode 100644
index 00000000000..9fa5ec99955
--- /dev/null
+++ b/src/intl/cs/page-what-is-the-ethereum-network.json
@@ -0,0 +1,89 @@
+{
+ "page-what-is-ethereum-network-meta-title": "Co je to síť Ethereum? | ethereum.org",
+ "page-what-is-ethereum-network-meta-description": "Pochopte, co je síť Ethereum, co je to stakování a zabezpečení, jaké jsou síťové poplatky (neboli gas), škálovací sítě druhé vrstvy a jak prozkoumat živá data sítě.",
+ "page-what-is-ethereum-network-twitter-meta-description": "Pochopte, co je síť Ethereum, co je to stakování a zabezpečení, jaké jsou síťové poplatky, škálovací sítě druhé vrstvy a jak prozkoumat živá data sítě.",
+ "page-what-is-ethereum-network-title": "Co je to síť Ethereum?",
+ "page-what-is-ethereum-network-description-1": "Síť Ethereum je fyzická a digitální infrastruktura, na které je Ethereum postaveno.",
+ "page-what-is-ethereum-network-description-2": "Zahrnuje uzly, které ukládají data, validátory, kteří zpracovávají transakce, software, který provádí chytré kontrakty, a sítě druhé vrstvy, které škálují Ethereum nad rámec hlavního řetězce.",
+ "page-what-is-ethereum-network-section-network-fees-title": "Co jsou poplatky v síti Ethereum (neboli poplatky za gas)?",
+ "page-what-is-ethereum-network-section-staking-title": "Co je to stakování a jak zabezpečuje síť?",
+ "page-what-is-ethereum-network-section-layer-2s-title": "Co jsou druhé vrstvy Etherea a jak škálují síť?",
+ "page-what-is-ethereum-network-section-live-network-data-title": "Jak prozkoumat živá data sítě Ethereum",
+ "page-what-is-ethereum-network-read-next-title": "Další čtení",
+ "page-what-is-ethereum-network-read-next-item-1": "Co jsou peněženky?",
+ "page-what-is-ethereum-network-read-next-item-2": "Co je ether (ETH)?",
+ "page-what-is-ethereum-network-read-next-item-3": "Co je to web3?",
+ "page-what-is-ethereum-network-read-next-item-4": "Dozvědět se více o síti Ethereum",
+ "page-what-is-ethereum-network-section-description-1": "Když lidé mluví o Ethereu, obvykle mají na mysli několik různých věcí. Je to ekosystém aplikací a digitálních aktiv, softwarová platforma s otevřeným zdrojovým kódem a nativní měna ether (ETH).",
+ "page-what-is-ethereum-network-section-description-2": "Pod tím vším se ale skrývá síť Ethereum; fyzický a digitální základ, který vše spojuje.",
+ "page-what-is-ethereum-network-section-description-3": "V jádru je síť Ethereum souborem tisíců nezávislých počítačů nazývaných uzly. Tyto uzly provozují lidé z celého světa. Spolupracují na ukládání dat, provádění chytrých kontraktů a zaznamenávání každé transakce do otevřené, veřejné účetní knihy.",
+ "page-what-is-ethereum-network-section-description-4": "Síť Ethereum má na starosti několik klíčových úkolů, jako například:",
+ "page-what-is-ethereum-network-section-description-5": "aktualizace uživatelských účtů a zůstatků",
+ "page-what-is-ethereum-network-section-description-6": "provádění chytrých kontraktů (programů, které spouštějí aplikace)",
+ "page-what-is-ethereum-network-section-description-7": "sledování vlastnictví digitálních aktiv (jako jsou stabilní kryptoměny a NFT)",
+ "page-what-is-ethereum-network-section-description-8": "zpracování všech transakcí, které každý den projdou sítí Ethereum",
+ "page-what-is-ethereum-network-section-description-9": "Naštěstí nemusíte rozumět tomu, jak síť funguje, abyste ji mohli používat.",
+ "page-what-is-ethereum-network-section-description-10": "Většina lidí používá síť jednoduše prostřednictvím digitální peněženky. Peněženka je obvykle webová nebo mobilní aplikace, která vám umožňuje odesílat a přijímat ETH, spravovat svá aktiva a používat aplikace.",
+ "page-what-is-ethereum-network-section-description-11": "Jiné typy uživatelů, jako jsou vývojáři a firmy stavějící na Ethereu, mohou používat rozhraní API, software pro uzly nebo nasazovat chytré kontrakty.",
+ "page-what-is-ethereum-network-section-description-12": "Síť Ethereum se od tradičních systémů liší svým návrhem. Kód a data Etherea jsou uloženy na decentralizovaných uzlech po celém světě, takže nikdo nemůže zablokovat váš přístup nebo vypnout vaši aplikaci.",
+ "page-what-is-ethereum-network-section-description-13": "A protože se může připojit kdokoli, otevírá to dveře globálnímu přístupu a inovacím.",
+ "page-what-is-ethereum-network-section-description-14": "Tyto vlastnosti umožňují věci, které dříve nebyly možné, jako například:",
+ "page-what-is-ethereum-network-section-description-15": "vlastnictví dat",
+ "page-what-is-ethereum-network-section-description-16": "sociální sítě bez deplatformace",
+ "page-what-is-ethereum-network-section-description-17": "otevřené a transparentní finanční systémy",
+ "page-what-is-ethereum-network-section-description-18": "Ve svém jádru je síť Ethereum základem pro digitální vlastnictví a otevřenou účast.",
+ "page-what-is-ethereum-network-section-description-19": "Možná uslyšíte, že lidé mluví o mainnetu Etherea. Je to tatáž síť Ethereum, kterou denně používají miliony lidí, kde se směňují skutečná aktiva a kde žijí skutečné aplikace. Ale výraz „mainnet“ pomáhá odlišit ji od sítí druhé vrstvy Etherea a testovacích sítí (testnetů), které vývojáři používají k vyzkoušení nových funkcí před jejich spuštěním.",
+ "page-what-is-ethereum-network-gas-section-description-1": "Každá transakce na Ethereu stojí malý poplatek nazývaný poplatek za gas. Ať už posíláte ETH, směňujete tokeny nebo používáte aplikaci, při každém zápisu dat do blockchainu zaplatíte malé množství gasu.",
+ "page-what-is-ethereum-network-gas-section-description-2": "Poplatky za gas udržují hladký chod Etherea. Bez nich by mohli záškodníci spamovat síť prázdnými transakcemi a znemožnit její používání kvůli velkému přetížení, protože by neexistoval způsob, jak upřednostnit transakce podle poplatku, který jsou uživatelé ochotni zaplatit.",
+ "page-what-is-ethereum-network-gas-section-description-3": "Poplatky za gas na Ethereu pokrývají náklady na mnoho různých zdrojů, které může transakce spotřebovat, jako je výpočetní výkon, šířka pásma nebo úložiště. To vše je pro uživatele abstrahováno do jediné hodnoty, ale rozsáhlý výzkum a vývoj se věnuje určení, kolik by měla každá operace stát v porovnání s ostatními.",
+ "page-what-is-ethereum-network-gas-section-description-4": "Co se tedy stane, když zaplatíte gas? Část je zaplacena validátorovi, který vaši transakci přidá do „bloku“ transakcí. Další část se „spálí“, čímž se odstraní z oběhu.",
+ "page-what-is-ethereum-network-gas-section-description-5": "To pomáhá vyrovnávat nabídku a poptávku, protože když je síť vytížená, poplatky rostou. Když je klidněji, poplatky klesají.",
+ "page-what-is-ethereum-network-gas-section-description-6": "Od srpna 2021, kdy síť zavedla pálení poplatků, byly spáleny miliony ETH. Nejnovější čísla si můžete prohlédnout pomocí síťových panelů a průzkumníků, které vytvořila komunita Etherea.",
+ "page-what-is-ethereum-network-gas-section-description-7": "Kolik tedy stojí transakce?",
+ "page-what-is-ethereum-network-gas-section-description-8": "No, poplatky se liší v závislosti na tom, co děláte. Pouhé odeslání ETH může stát méně než dolar. Směna tokenů na decentralizované burze (DEX) může stát několik dolarů i více, zejména pokud je síť vytížená. Čím je transakce složitější, tím více gasu stojí.",
+ "page-what-is-ethereum-network-gas-section-description-9": "Poplatky za gas jsou jednou z nejviditelnějších součástí používání Etherea, zejména pro nové uživatele, ale vše směřuje k tomu, aby byla síť spolehlivější a bezpečnější.",
+ "page-what-is-ethereum-network-gas-section-description-10": "Zjistěte více o poplatcích v síti Ethereum",
+ "page-what-is-ethereum-network-staking-section-description-1": "Síť Ethereum je zabezpečena systémem nazývaným stakování. Tímto způsobem Ethereum ověřuje transakce, přidává nové bloky a udržuje síť v bezpečí před útoky.",
+ "page-what-is-ethereum-network-staking-section-description-2": "Když Ethereum začínalo, používalo mechanismus konsenzu (způsob, jak se dohodnout, kdo co vlastní) nazvaný proof-of-work. Je to stejný mechanismus, jaký dnes používá Bitcoin.",
+ "page-what-is-ethereum-network-staking-section-description-3": "V září 2022 přešlo Ethereum na bezpečnější a energeticky účinnější mechanismus konsenzu proof-of-stake.",
+ "page-what-is-ethereum-network-staking-section-description-4": "Jak to tedy funguje?",
+ "page-what-is-ethereum-network-staking-section-description-5": "Zjednodušeně řečeno, lidé uzamknou nějaké ETH (vloží své ETH jako vklad), aby mohli pomoci zabezpečit síť. Těmto lidem se říká validátoři. Když stakujete ETH, váš validátor je vybrán ke kontrole a přidávání nových transakcí. Pokud to děláte poctivě, získáváte odměny. Pokud se pokusíte podvádět, přijdete o část svého vkladu.",
+ "page-what-is-ethereum-network-staking-section-description-6": "Stakování je způsob, jakým se Ethereum věrohodně zavazuje ke kvalitě svých služeb. Všechny tyto peníze v sázce mají nejlepší zájem na tom, aby Ethereum zůstalo bezpečné – vsadili byste si proti tomu?",
+ "page-what-is-ethereum-network-staking-section-description-7": "Pouhé dva roky po zavedení proof-of-stake přilákalo Ethereum přes milion validátorů, kteří stakují miliony ETH pro zabezpečení Etherea. Díky tomu je útok na Ethereum extrémně nákladný a obtížný. Je to proto, že k útoku na síť potřebuje útočník alespoň 1/3 všech stakovaných ETH, aby mohl útok zahájit. Dnes to představuje desítky miliard dolarů, a i tak by útok pravděpodobně selhal, protože více než 1/3 nesouhlasících se zbytkem sítě by zabránila finalizaci, ale řetězec by dále rostl s druhou verzí považovanou za zdroj pravdy. Více než 1/2 mění, která verze je považována za pravdivou, a více než 2/3 by umožnilo finalizovat něco, s čím ostatní nesouhlasí.",
+ "page-what-is-ethereum-network-staking-section-description-8": "To dává Ethereu „ekonomické zabezpečení“. Nejde jen o to mít správnou technologii. Jde o to, aby byly útoky příliš nákladné na to, aby se o ně vůbec někdo pokusil.",
+ "page-what-is-ethereum-network-staking-section-description-9": "Chcete-li pomoci zabezpečit síť Ethereum, můžete to udělat dvěma hlavními způsoby.",
+ "page-what-is-ethereum-network-staking-section-description-10": "Prvním způsobem je provozování uzlu. Uzly ukládají celou historii blockchainu, včetně všech transakcí a dat chytrých kontraktů. Synchronizací s ostatními uzly se mohou dohodnout na stavu sítě, čímž se zajistí, že transakce jsou legitimní a data chytrých kontraktů jsou dostupná.",
+ "page-what-is-ethereum-network-staking-section-description-11": "Druhým způsobem je stakování vašich ETH. Nejsnazší způsob je prostřednictvím poskytovatele stakování jako Lido nebo Rocketpool, ale pokud máte potřebné know-how, zkuste si doma spustit software pro validátory.",
+ "page-what-is-ethereum-network-staking-section-description-12": "Zjistěte více o stakování a o tom, jak na to",
+ "page-what-is-ethereum-network-staking-section-description-13": "Zjistěte, jak provozovat uzel",
+ "page-what-is-ethereum-network-layer-2s-section-description-1": "Jak se Ethereum stává populárnějším, síť je stále vytíženější. Když je poptávka vysoká, poplatky za gas rostou a transakce trvají déle. K vyřešení tohoto problému vývojáři vytvořili řadu doprovodných sítí nazývaných druhé vrstvy.",
+ "page-what-is-ethereum-network-layer-2s-section-description-2": "Druhé vrstvy, označované také jako L2, jsou další sítě, které běží nad Ethereem. Zpracovávají transakce odděleně a poté odesílají souhrn k uložení na Ethereum.",
+ "page-what-is-ethereum-network-layer-2s-section-description-3": "Můžete si je představit jako rychlé pruhy na dálnici. Místo toho, aby každá jednotlivá transakce procházela mainnetem Etherea, mnoho z nich používá tyto rychlejší a levnější cesty.",
+ "page-what-is-ethereum-network-layer-2s-section-description-4": "Mezi nejoblíbenější L2 patří Base, Arbitrum, Optimism, zkSync a Starknet. Každá z nich funguje trochu jinak, ale myšlenka je stejná – škálovat Ethereum bez kompromisů v oblasti bezpečnosti.",
+ "page-what-is-ethereum-network-layer-2s-section-description-5": "Jednoduchý převod ETH na Optimism nebo zkSync může stát pouhých 0,04 $ v porovnání s 0,3–1 $ na mainnetu Etherea. Jiné transakce, jako je směna tokenů, mohou stát pouhých 0,20 $. Pro uživatele to znamená rychlejší transakce za zlomek ceny.",
+ "page-what-is-ethereum-network-layer-2s-section-description-6": "Díky tomu L2 rychle rostou. Dohromady drží miliardy dolarů v digitálních aktivech.",
+ "page-what-is-ethereum-network-layer-2s-section-description-7": "Protože L2 těží z bezpečnosti Etherea, společnosti, které chtějí vytvářet globální platby a aplikace, začaly stavět na Ethereu.",
+ "page-what-is-ethereum-network-layer-2s-section-description-8": "Například Robinhood nedávno spustil vlastní L2, aby prozkoumal rychlejší vypořádání akcií. PayPal přesunul svou stabilní kryptoměnu PYUSD na L2 Arbitrum sítě Ethereum. Shopify nyní umožňuje obchodníkům přijímat stabilní kryptoměnu USDC na síti Base.",
+ "page-what-is-ethereum-network-layer-2s-section-description-9": "Pro uživatele je přesun aktiv mezi Ethereem a L2 jednoduchý. K přesunu ETH a dalších aktiv můžete použít přemostění, která vytvořily L2, jako je Superbridge od Optimismu nebo Portal od ZKsync. Můžete dokonce použít nástroje třetích stran, jako je Hop a Across, které jsou vytvořeny nezávislými týmy.",
+ "page-what-is-ethereum-network-layer-2s-section-description-10": "Zjistěte více o sítích druhé vrstvy Etherea",
+ "page-what-is-ethereum-network-live-network-data-section-description-1": "Ethereum je z principu transparentní. Každá akce v síti, od odeslání ETH po provoz validátora, je zaznamenána v otevřené, veřejné účetní knize, do které má kdokoli přístup.",
+ "page-what-is-ethereum-network-live-network-data-section-description-2": "To je v ostrém kontrastu s tím, jak dnes funguje většina systémů:",
+ "page-what-is-ethereum-network-live-network-data-section-description-3": "banky a instituce zveřejňují svá interní čísla",
+ "page-what-is-ethereum-network-live-network-data-section-description-4": "údaje o používání aplikací jsou technologickými společnostmi pečlivě střeženy",
+ "page-what-is-ethereum-network-live-network-data-section-description-5": "ekonomická data často přicházejí pozdě a později se revidují",
+ "page-what-is-ethereum-network-live-network-data-section-description-6": "S Ethereem nemusíte důvěřovat. Můžete si vše ověřit.",
+ "page-what-is-ethereum-network-live-network-data-section-description-7": "Abyste mohli Ethereum používat, nemusíte ničemu z toho rozumět. Ale pokud jste zvědaví, kolik transakcí bylo vypořádáno v roce 2024 nebo kolik nových adres Etherea bylo vytvořeno za posledních šest měsíců, existují nástroje, které umožňují komukoli prozkoumat síť v reálném čase.",
+ "page-what-is-ethereum-network-live-network-data-section-description-8": "Zde je několik nejužitečnějších zdrojů dat a k čemu je můžete použít:",
+ "page-what-is-ethereum-network-live-network-data-section-description-9": "Etherscan: Kontrola transakcí, aktivity peněženky a chytrých kontraktů",
+ "page-what-is-ethereum-network-live-network-data-section-description-10": "beaconcha.in: Zobrazení statistik validátorů, úrovní stakování a stavu sítě",
+ "page-what-is-ethereum-network-live-network-data-section-description-11": "ultrasound.money: Sledování nabídky ETH, vydávání a pálení v reálném čase",
+ "page-what-is-ethereum-network-live-network-data-section-description-12": "l2fees.info: Porovnání aktuálních transakčních nákladů na Ethereu a L2",
+ "page-what-is-ethereum-network-live-network-data-section-description-13": "L2Beat: Zobrazení zabezpečené hodnoty a bezpečnostních modelů napříč všemi hlavními L2",
+ "page-what-is-ethereum-network-live-network-data-section-description-14": "growthepie: Zobrazení veškeré aktivity a růstu na blockchainu Etherea",
+ "page-what-is-ethereum-network-live-network-data-section-description-15": "Dune: Prozkoumejte vlastní panely o všech digitálních aktivech v síti Ethereum",
+ "page-what-is-ethereum-network-live-network-data-section-description-16": "Token Terminal: Porovnání příjmů z dapp, jejich využití a výkonu protokolu",
+ "page-what-is-ethereum-network-live-network-data-section-description-17": "Nansen: Sledujte toky v peněženkách, pohyby stabilních kryptoměn a trendy chytrých peněz.",
+ "page-what-is-ethereum-network-live-network-data-section-description-18": "Všechny tyto nástroje jsou k dispozici, pokud je potřebujete.",
+ "page-what-is-ethereum-network-live-network-data-section-description-19": "Ať už jste vývojář, výzkumník, investor nebo jen někdo, kdo si chce zkontrolovat transakci, otevřená síť Etherea vám poskytne data – živá, bez oprávnění a ověřitelná.",
+ "page-what-is-ethereum-network-live-network-data-section-description-20": "Procházejte panely sítě Ethereum a prohlížeče bloků"
+}
\ No newline at end of file
diff --git a/src/intl/cs/table.json b/src/intl/cs/table.json
index 0e49e5c2dcc..386e5747779 100644
--- a/src/intl/cs/table.json
+++ b/src/intl/cs/table.json
@@ -1,7 +1,7 @@
{
"table-active": "aktivní",
"table-filters": "Filtry",
- "table-showing": "Zobrazeno ",
+ "table-showing": "Zobrazeno",
"table-reset-filters": "Resetovat",
"table-what-are-you-looking-for": "Co hledáte?"
}
\ No newline at end of file
diff --git a/src/intl/cs/template-usecase.json b/src/intl/cs/template-usecase.json
index f31330da0aa..fdf301786b9 100644
--- a/src/intl/cs/template-usecase.json
+++ b/src/intl/cs/template-usecase.json
@@ -1,14 +1,20 @@
{
+ "template-usecase-dropdown-ai-agents": "AI agenti",
"template-usecase-dropdown-defi": "Decentralizované finance (DeFi)",
"template-usecase-dropdown-nft": "Nezaměnitelné tokeny (NFT)",
"template-usecase-dropdown-dao": "Decentralizované autonomní organizace (DAO)",
+ "template-usecase-dropdown-apps": "Aplikace na Ethereu",
"template-usecase-dropdown-payments": "Ethereum platby",
+ "template-usecase-dropdown-prediction-markets": "Trhy s predikcemi",
"template-usecase-dropdown-social-networks": "Decentralizované sociální sítě",
+ "template-usecase-dropdown-restaking": "Opětovné uzamčení",
"template-usecase-dropdown-identity": "Decentralizovaná identita",
"template-usecase-dropdown-desci": "Decentralizovaná věda (DeSci)",
"template-usecase-dropdown-refi": "Regenerativní finance (ReFi)",
"template-usecase-dropdown": "Případy použití Etherea",
"template-usecase-banner": "Využití Etherea se vždy rozvíjí a vyvíjí. Přidej jakoukoli informaci, o které si myslíš, že udělá věci jasnější a aktuálnější.",
"template-usecase-edit-link": "Upravit stránku",
- "template-usecase-dropdown-aria": "Rozbalovací menu využití"
-}
\ No newline at end of file
+ "template-usecase-dropdown-aria": "Rozbalovací menu využití",
+ "template-usecase-dropdown-onchain-gaming": "Hraní na blockchainu",
+ "template-usecase-dropdown-rwa": "Fyzická aktiva (RWAs)"
+}
From edf24d8687d6123be94b8cb555e9a9934d39ce11 Mon Sep 17 00:00:00 2001
From: wackerow <54227730+wackerow@users.noreply.github.com>
Date: Thu, 5 Feb 2026 14:27:03 -0500
Subject: [PATCH 2/7] i18n(cs): JSX attribute translations
---
.../translations/cs/ai-agents/index.md | 6 ++--
.../translatathon/index.md | 12 +++----
.../translations/cs/ethereum-forks/index.md | 36 +++++++++----------
.../content/translations/cs/payments/index.md | 6 ++--
.../cs/prediction-markets/index.md | 6 ++--
.../cs/real-world-assets/index.md | 12 +++----
.../cs/roadmap/danksharding/index.md | 12 +++----
.../translations/cs/roadmap/merge/index.md | 24 ++++++-------
.../translations/cs/roadmap/pbs/index.md | 4 +--
.../cs/roadmap/single-slot-finality/index.md | 2 +-
.../cs/roadmap/statelessness/index.md | 2 +-
.../cs/roadmap/verkle-trees/index.md | 4 +--
.../translations/cs/staking/pools/index.md | 12 +++----
.../translations/cs/staking/saas/index.md | 14 ++++----
.../translations/cs/staking/solo/index.md | 32 ++++++++---------
.../cs/staking/withdrawals/index.md | 4 +--
.../translations/cs/what-are-apps/index.md | 12 +++----
.../translations/cs/wrapped-eth/index.md | 8 ++---
18 files changed, 104 insertions(+), 104 deletions(-)
diff --git a/public/content/translations/cs/ai-agents/index.md b/public/content/translations/cs/ai-agents/index.md
index 6ab4b10eaae..0fbeaa924df 100644
--- a/public/content/translations/cs/ai-agents/index.md
+++ b/public/content/translations/cs/ai-agents/index.md
@@ -40,9 +40,9 @@ Naproti tomu decentralizovaný ekosystém Etherea nabízí několik klíčových
Tyto faktory přeměňují AI agenty z jednoduchých botů na dynamické, sebezdokonalující se systémy, které nabízejí významnou hodnotu v mnoha odvětvích:
-
-
-
+
+
+
## Ověřitelná UI {#verifiable-ai}
diff --git a/public/content/translations/cs/contributing/translation-program/translatathon/index.md b/public/content/translations/cs/contributing/translation-program/translatathon/index.md
index aabb2a5b722..bee3ba4e5c5 100644
--- a/public/content/translations/cs/contributing/translation-program/translatathon/index.md
+++ b/public/content/translations/cs/contributing/translation-program/translatathon/index.md
@@ -7,18 +7,18 @@ template: translatathon
diff --git a/public/content/translations/cs/ethereum-forks/index.md b/public/content/translations/cs/ethereum-forks/index.md
index 0c51fdf4211..464e1cc9c09 100644
--- a/public/content/translations/cs/ethereum-forks/index.md
+++ b/public/content/translations/cs/ethereum-forks/index.md
@@ -9,7 +9,7 @@ sidebarDepth: 1
Časová osa všech hlavních milníků, větví a aktualizací blockchainu Etherea.
-
+
Větve se tvoří, když je třeba provést zásadní technické upgrady nebo změny sítě – obvykle vycházejí z [návrhů na zlepšení Etherea (EIP)](/eips/) a mění „pravidla“ protokolu.
@@ -19,7 +19,7 @@ Tyto změny pravidel mohou v síti způsobit dočasné rozdělení. Nové bloky
-
+
Software, na kterém Ethereum funguje, se skládá ze dvou polovin, známých jako [exekuční vrstva](/glossary/#execution-layer) a [konsensuální vrstva](/glossary/#consensus-layer).
@@ -89,7 +89,7 @@ Staking získal upgrade díky složeným účtům validátorů a vylepšenou kon
Další části upgradu se zaměřily na zlepšení zkušeností pro běžné uživatele. EIP-7702 přinesl možnost, aby běžný účet, který není chytrým kontraktem ([EOA](/glossary/#eoa)), spouštěl kód podobně jako chytrý kontrakt. Tím se odemkla neomezená nová funkcionalita pro tradiční účty Ethereum, jako je dávkování transakcí, sponzorování transakčních poplatků, alternativní ověřování, programovatelné kontroly výdajů, mechanismy obnovy účtu a další.
-
+
Lepší uživatelská zkušenost:
@@ -138,7 +138,7 @@ Upgrade Cancun obsahuje soubor vylepšení _exekuce_ v síti Ethereum, které ma
Zejména zahrnuje EIP-4844, známý jako **Proto-Danksharding**, který výrazně snižuje náklady na ukládání dat pro rollupy 2. vrstvy. Toho je dosaženo zavedením datových „blobů“, což umožňuje rollupům posílat data na Mainnet na krátkou dobu. To má za následek výrazně nižší transakční poplatky pro uživatele rollupů 2. vrstvy.
-
+
@@ -164,7 +164,7 @@ Předem vygenerované podepsané „dobrovolné zprávy o odchodu“ již nemaj
EIP-7514 zpřísňuje vydávání ETH tím, že omezuje „churn“ míru, s níž se validátoři mohou připojit k síti, na osm (8) za epochu. Protože je vydávání ETH úměrné celkovému stakovanému množství ETH, omezení počtu připojujících se validátorů omezuje _rychlost růstu_ nově vydávaných ETH a zároveň snižuje hardwarové nároky na provozovatele uzlů, což napomáhá decentralizaci.
-
+
@@ -191,7 +191,7 @@ EIP-7514 zpřísňuje vydávání ETH tím, že omezuje „churn“ míru, s ní
Upgrade Shanghai přinesl výběry ze stakingu na exekuční vrstvu. Spolu s upgradem Capella to umožnilo blokům přijímat operace výběru, což stakerům umožňuje vybrat své ETH z Beacon Chainu na exekuční vrstvu.
-
+
EIP-4345 – odkládá bombu obtížnosti do června 2022
@@ -340,7 +340,7 @@ Toto video vysvětluje EIP-1559 a výhody, které přináší: [Vysvětlení EIP
- [Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2021/07/15/london-mainnet-announcement/)
- [Přečtěte si vysvětlení od Ethereum Cat Herders](https://medium.com/ethereum-cat-herders/london-upgrade-overview-8eccb0041b41)
-
+
@@ -365,7 +365,7 @@ Upgrade Berlin optimalizoval cenu za transakční poplatek pro určité akce EVM
- [Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/)
- [Přečtěte si vysvětlení od Ethereum Cat Herders](https://medium.com/ethereum-cat-herders/the-berlin-upgrade-overview-2f7ad710eb80)
-
+
EIP-2565 – snižuje cenu za transakční poplatek u ModExp
@@ -423,7 +423,7 @@ Větev Muir Glacier způsobila zpoždění [bomby obtížnosti](/glossary/#diffi
- [Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2019/12/23/ethereum-muir-glacier-upgrade-announcement/)
- [Přečtěte si vysvětlení od Ethereum Cat Herders](https://medium.com/ethereum-cat-herders/ethereum-muir-glacier-upgrade-89b8cea5a210)
-
+
EIP-2384 – odkládá bombu obtížnosti o dalších 4 000 000 bloků, tj. o ~611 dní.
@@ -545,7 +545,7 @@ Větev Spurious Dragon byla druhou reakcí na útoky typu odepření služby (Do
[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/)
-
+
EIP-155 – zabraňuje tomu, aby transakce z jednoho řetězce Ethereum byly znovu vysílány na alternativním řetězci, například aby transakce z testnetu byla přehrána na hlavním řetězci Ethereum.
@@ -570,7 +570,7 @@ Větev Tangerine Whistle byla první reakcí na útoky typu odepření služby (
[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2016/10/18/faq-upcoming-ethereum-hard-fork/)
-
+
EIP-150 – zvyšuje náklady na transakční poplatky u operačních kódů, které lze použít při spamových útocích.
@@ -607,7 +607,7 @@ Větev Homestead se dívala do budoucnosti. Zahrnovala několik změn protokolu
[Přečtěte si oznámení nadace Ethereum](https://blog.ethereum.org/2016/02/29/homestead-release/)
-
+
EIP-2 – provádí úpravy v procesu vytváření kontraktů.
diff --git a/public/content/translations/cs/payments/index.md b/public/content/translations/cs/payments/index.md
index 17e1ceab484..a2d63f26c57 100644
--- a/public/content/translations/cs/payments/index.md
+++ b/public/content/translations/cs/payments/index.md
@@ -28,9 +28,9 @@ To není žádný vzdálený sen – děje se to dnes na Ethereu. Zatímco tradi
Pro miliony lidí pracujících v zahraničí je posílání peněz domů pravidelnou nutností. Tradiční remitenční služby jsou často spojeny s vysokými poplatky a pomalou dobou zpracování. Ethereum nabízí zajímavou alternativu.
-
-
-
+
+
+
## Přístup ke globálním měnám {#access-to-global-currencies}
diff --git a/public/content/translations/cs/prediction-markets/index.md b/public/content/translations/cs/prediction-markets/index.md
index d29a30a44f0..16178a10e1c 100644
--- a/public/content/translations/cs/prediction-markets/index.md
+++ b/public/content/translations/cs/prediction-markets/index.md
@@ -30,9 +30,9 @@ Teoreticky, protože sázející mohou ze správných odhadů profitovat, mohou
Na rozdíl od tradičního prognózování jsou predikční trhy založené na blockchainu:
-
-
-
+
+
+
I jako pozorovatel trhu můžete posoudit cenná data, která by jinak nebyla k dispozici. Představte si to takto:
diff --git a/public/content/translations/cs/real-world-assets/index.md b/public/content/translations/cs/real-world-assets/index.md
index ae6543cfd68..2875a4eaaff 100644
--- a/public/content/translations/cs/real-world-assets/index.md
+++ b/public/content/translations/cs/real-world-assets/index.md
@@ -28,12 +28,12 @@ Tokeny RWA nemají žádnou vnitřní hodnotu. Spíše odrážejí hodnotu před
## Jaké jsou výhody RWA? {#rwas-benefits}
-
-
-
-
-
-
+
+
+
+
+
+
## Jak RWA fungují? {#how-rwas-work}
diff --git a/public/content/translations/cs/roadmap/danksharding/index.md b/public/content/translations/cs/roadmap/danksharding/index.md
index fe6778483ab..16ef34885c0 100644
--- a/public/content/translations/cs/roadmap/danksharding/index.md
+++ b/public/content/translations/cs/roadmap/danksharding/index.md
@@ -19,13 +19,13 @@ Proto-Danksharding, známý také jako [EIP-4844](https://eips.ethereum.org/EIPS
Toto je drahé, protože CALLDATA jsou zpracovávána všemi uzly na Ethereu a zůstávají na blockchainu navždy, i když rollupy potřebují tato data jen po krátkou dobu. Proto-Danksharding zavádí datové bloby, které mohou být odeslány a připojeny k blokům. Data v těchto blobech nejsou přístupná pro EVM a jsou automaticky smazána po stanovené době (v době psaní tohoto článku to bylo 4 096 epoch, což je přibližně 18 dní). To znamená, že rollupy mohou odesílat svá data mnohem levněji a přenést úspory na koncové uživatele ve formě levnějších transakcí.
-
+
Rollupy jsou způsobem, jak škálovat Ethereum tím, že sdružují transakce mimo blockchain a poté zveřejňují výsledky na Ethereu. Rollup se v podstatě skládá ze dvou částí: dat a ověření provedení. Data jsou úplné sekvence transakcí, které jsou zpracovány rollupem k vytvoření změny stavu, jež je zveřejněna na Ethereu. Ověření provedení je opětovné provedení těchto transakcí nějakým poctivým aktérem (tzv. „schvalovatel“), aby bylo zajištěno, že navrhovaná změna stavu je správná. K provedení ověření musí být transakční data dostupná dostatečně dlouho na to, aby si je mohl kdokoliv stáhnout a zkontrolovat. To znamená, že jakékoliv nepoctivé chování sequencera rollupu může být identifikováno a napadnuto ověřovatelem. Nicméně není nutné, aby byla tato data dostupná navždy.
-
+
Rollupy zveřejňují závazky ke svým transakčním datům na blockchainu a také zpřístupňují skutečná data v datových blobech. To znamená, že ověřovatelé mohou verifikovat, že jsou závazky platné, nebo napadnout data, která považují za nesprávná. Na úrovni uzlů jsou tyto datové bloby uloženy v konsenzus klientech. Konsenzus klienti potvrzují, že data viděli a že byla rozšířena po celé síti. Pokud by se data uchovávala navždy, tito klienti by zůstali přetíženi, což by vedlo k velkým požadavkům na hardware pro provozování uzlů. Místo toho se data automaticky mažou z uzlu každých 18 dní. Atestace konsenzus klientů prokazují, že ověřovatelé měli dostatečnou příležitost data ověřit. Skutečná data mohou být uložena mimo blockchain provozovateli rollupu, uživateli nebo ostatními.
@@ -45,13 +45,13 @@ Ceremoniál KZG byla akce, při které se spousta lidí z celé Ethereum komunit
Ceremoniál KZG EIP-4844 byl veřejný a zúčastnily se ho desítky tisíc uživatelů, kteří přidali svou vlastní entropii (náhodnost). Celkem šlo o 140 000 příspěvků, což z něj činí největší ceremoniál svého druhu na světě. Aby byl ceremoniál znehodnocen, muselo by 100 % účastníků jednat nepoctivě. Z pohledu účastníků stačí vědět, že jen oni jednali poctivě, není třeba důvěřovat nikomu jinému, protože vědí, že ceremoniál zabezpečili (individuálně splnili požadavek, aby alespoň jeden účastník z N byl poctivý).
-
+
Když rollup zveřejní data v blobu, poskytne také „závazek“, který zveřejní na blockchainu. Tento závazek je výsledkem vyhodnocení polynomu přizpůsobeného datům v určitých bodech. Tyto body jsou definovány náhodnými čísly generovanými v ceremoniálu KZG. Ověřovatelé mohou poté vyhodnotit polynom ve stejných bodech, aby ověřili data – pokud dosáhnou stejných hodnot, jsou data správná.
-
+
Pokud někdo zná náhodné body použité pro vytvoření závazku, je pro něj snadné vytvořit nový polynom, který se bude shodovat v těchto konkrétních bodech (tj. "kolize"). To znamená, že by byl schopen přidat nebo odebrat data z blobu a stále poskytovat platný důkaz. Aby se tomu zabránilo, místo toho, aby ověřovatelé dostávali skutečné tajné body, obdrží body zabalené v kryptografické „černé skříňce“ pomocí eliptických křivek. Tyto body efektivně zamíchají hodnoty tak, aby původní hodnoty nemohly být zpětně rekonstruovány, ale s určitým chytrým algebraickým postupem mohou ověřovatelé stále vyhodnotit polynomy v bodech, které reprezentují.
@@ -67,13 +67,13 @@ Danksharding je úplná realizace škálování rollupů, které začalo s Proto
Funguje to tak, že se rozšíří počet blobů připojených k blokům ze šesti (6) v Proto-Danksharding na 64 v úplném Danksharding. Zbytek změn vyžaduje aktualizace způsobu, jakým konsenzus klienti fungují, aby byli schopni zpracovávat nové velké bloby. Některé z těchto změn jsou již součástí plánu pro jiné účely nezávisle na Danksharding. Např. Danksharding vyžaduje implementaci oddělení navrhovatelů a stavitelů bloků (proposer-builder separation). To je vylepšení, které rozděluje úkoly budování bloků a jejich navrhování mezi různé validátory. Podobně je pro Danksharding potřeba vzorkování dostupnosti dat, ale to je také nezbytné pro vývoj jednoduchých klientů, které neukládají velké množství historických dat („bezstavové klienty“).
-
+
Oddělení navrhovatelů a stavitelů bloků je nezbytné k tomu, aby jednotliví validátoři nemuseli generovat drahé závazky a důkazy pro 32 MB blobových dat. To by příliš zatěžovalo domácí validátory a vyžadovalo by to investice do výkonnějšího hardwaru, což by signifikantně snížilo decentralizaci. Místo toho převezmou zodpovědnost za tuto náročnou výpočetní práci specializovaní stavitelé bloků. Poté zpřístupní své bloky navrhovatelům bloků, aby je mohli šířit. Navrhovatel bloku jednoduše vybere blok, který je nejziskovější. Každý může levně a rychle ověřit bloby, což znamená, že jakýkoliv běžný validátor může zkontrolovat poctivost jednání stavitelů bloků. To umožňuje zpracování velkých blobů bez obětování decentralizace. Nepoctiví stavitelé bloků by mohli být jednoduše vyloučeni ze sítě a penalizováni a další by je nahradili, protože stavba bloků je výnosná činnost.
-
+
Vzorkování dostupnosti dat je nezbytné pro validátory k rychlému a efektivnímu ověřování blobových dat. Pomocí vzorkování dostupnosti dat si mohou být validátoři jistí, že byla blobová data dostupná a správně potvrzena. Každý validátor může náhodně vybrat jen několik datových bodů a vytvořit důkaz, což znamená, že žádný validátor nemusí kontrolovat celý blob. Pokud nějaká data chybí, budou rychle identifikována a blob bude zamítnut.
diff --git a/public/content/translations/cs/roadmap/merge/index.md b/public/content/translations/cs/roadmap/merge/index.md
index 9e9fbc42fde..ab9c9c31585 100644
--- a/public/content/translations/cs/roadmap/merge/index.md
+++ b/public/content/translations/cs/roadmap/merge/index.md
@@ -58,8 +58,8 @@ Navzdory přechodu z důkazu prací na důkaz podílem zůstala celá historie E
### Provozovatelé uzlů a vývojáři dapp {#node-operators-dapp-developers}
Klíčové akční položky zahrnují:
@@ -74,7 +74,7 @@ Pokud nenastavíte adresu pro „příjem odměn“, váš validátor bude stál
Před Sloučením byl exekuční klient (například Geth, Erigon, Besu nebo Nethermind) dostačující pro příjem, správné ověření a šíření bloků distribuovaných sítí. Platnost transakcí obsažených v exekuční zprávě _po Sloučení_ závisí i na platnosti „konsensuálního bloku“, ve kterém je obsažena.
@@ -120,7 +120,7 @@ Sloučení také připravilo půdu pro další vylepšení škálovatelnosti, kt
## Mylné představy o Sloučení {#misconceptions}
Existují dva typy síťových uzlů Etherea: Uzly, které mohou navrhovat bloky, a uzly, které nemohou.
@@ -138,8 +138,8 @@ Schopnost každého spustit svůj vlastní uzel je naprostým základem
+title="Mylná představa: „Sloučení snížilo poplatky za plyn.“"
+contentPreview="Nepravda. Sloučení bylo změnou mechanismu konsensu, nikoli rozšířením kapacity sítě, a nikdy nemělo za cíl snížit poplatky za plyn.">
Transakční poplatky jsou výsledkem poptávky na síti v poměru k její kapacitě. Sloučení zrušilo používání důkazu prací, došlo k přechodu na důkaz podílem z důvodu konsensu, ale nezměnilo významně žádné parametry, které přímo ovlivňují kapacitu nebo propustnost sítě.
@@ -148,8 +148,8 @@ S
+title="Mylná představa: „Sloučení podstatně zrychlilo transakce.“"
+contentPreview="Nepravda. Ačkoli existují drobné změny, rychlost transakcí na první vrstvě je většinou stejná jako před Sloučením.">
„Rychlost“ transakce lze měřit několika způsoby, včetně doby potřebné pro zařazení do bloku a doby do finalizace. Oba tyto aspekty se mírně změnily, ale ne tak, aby to uživatelé zaznamenali.
Historicky, na důkazu prací, bylo cílem mít nový blok přibližně každých 13,3 sekundy. Na důkazu podílem se sloty objevují přesně každých 12 sekund, z nichž každý je příležitostí pro validátora publikovat blok. Většina slotů obsahuje bloky, ale nutně ne všechny (např. když je validátor offline). V případě důkazu podílem se bloky produkují přibližně o 10 % častěji než v případě důkazu prací. Tento rozdíl je poměrně nevýznamný a je nepravděpodobné, že by byl uživateli zaznamenán.
@@ -159,8 +159,8 @@ Důkaz podílem zavedl koncept finalizace transakcí, který dříve neexistoval
+title="Mylná představa: „Sloučení umožnilo výběry stakovaných ETH.“"
+contentPreview="Nepravda, ale výběry stakovaných ETH byly od té doby povoleny prostřednictvím vylepšení Shanghai/Capella.">
Bezprostředně po Sloučení mohli uzamykatelé přistupovat pouze k odměnám za poplatky a MEV, které získali v důsledku navrhování bloků. Tyto odměny jsou připisovány na účet, který sám o sobě vkladový není a který ovládá validátor (známý jako příjemce poplatků), a jsou dostupné okamžitě. Tyto odměny jsou oddělené od protokolových odměn za vykonávání funkcí validátora.
@@ -171,8 +171,8 @@ Po vylepšení sítě Shanghai/Capella mohou nyní uzamykatelé určit adres
+title="Mylná představa: „Když je Sloučení dokončeno a výběry jsou povoleny, všichni stakeři mohou odejít najednou.“"
+contentPreview="Nepravda. Odchod validátorů je z bezpečnostních důvodů omezen.">
Od vylepšení Shanghai/Capella, které povolilo výběry, jsou validátoři motivováni k výběru svého zůstatku uzamčených prostředků nad 32 ETH, protože tyto prostředky nepřispívají k výnosu a jinak by ležely nevyužity. V závislosti na APR (určeném celkovým množstvím uzamčeného ETH) mohou být motivováni k vystoupení ze svých validátorů, aby si vymohli celý svůj zůstatek, nebo případně uzamknout ještě více pomocí svých odměn, aby získali větší výnos.
Důležité upozornění: Úplné vystoupení validátorů je omezeno protokolem, a pouze určité množství validátorů může vystoupit během jedné epochy (každých 6,4 minuty). Tento limit se mění v závislosti na počtu aktivních validátorů, ale vychází přibližně na 0,33 % celkového uzamčeného ETH, které může být vybráno ze sítě za jeden den.
diff --git a/public/content/translations/cs/roadmap/pbs/index.md b/public/content/translations/cs/roadmap/pbs/index.md
index 22885b92054..707597691ba 100644
--- a/public/content/translations/cs/roadmap/pbs/index.md
+++ b/public/content/translations/cs/roadmap/pbs/index.md
@@ -18,7 +18,7 @@ Např. lze zavést seznamy transakcí, které mají být zahrnuty, takže když
[Šifrované mempooly](https://www.youtube.com/watch?v=fHDjgFcha0M&list=PLpktWkixc1gUqkyc1-iE6TT0RWQTBJELe&index=3) by také mohly znemožnit sestavovatelům a navrhovatelům zjistit, které transakce zahrnují do bloku, dokud blok již nebyl rozšířen.
-
+
Mocné organizace mohou tlačit na validátory, aby cenzurovali transakce na určité adresy nebo z nich. Validátoři tomuto tlaku mohou vyhovět tím, že detekují adresy na černé listině ve svém poolu transakcí a vynechávají je z bloků, které navrhují. Po PBS to již nebude možné, protože navrhovatelé bloků nebudou vědět, jaké transakce ve svých blocích šíří. Pro některé jednotlivce nebo aplikace může být důležité dodržovat pravidla cenzury, např. když je to v jejich regionu uzákoněno. V těchto případech dochází k omezení na úrovni aplikace, zatímco protokol zůstává bez povolení a bez cenzury.
@@ -30,7 +30,7 @@ Mocné organizace mohou tlačit na validátory, aby cenzurovali transakce na ur
PBS řeší tento problém překonfigurováním ekonomiky MEV. Místo toho, aby navrhovatel bloku prováděl své vlastní výpočty MEV, jednoduše si vybere jeden blok z mnoha, které jim nabízejí sestavovatelé bloků. Sestavovatelé bloků možná provedli sofistikovanou extrakci MEV, ale odměna za ni půjde navrhovateli bloku. To znamená, že i když v extrakci MEV dominuje malá skupina specializovaných sestavovatelů bloků, odměnu by mohl dostat jakýkoliv validátor v síti, včetně jednotlivých domácích uzamykatelů.
-
+
Jednotlivci mohou být motivováni uzamykat spíše pomocí poolů než sami, a to z důvodu lepších odměn, které nabízejí sofistikované strategie MEV. Oddělení sestavení bloku od návrhu bloku znamená, že extrahované MEV bude distribuováno mezi více validátorů, spíše než centralizováno tím, kdo nejlépe spočítá MEV. Umožnění existence specializovaných sestavovatelů bloků zároveň pomůže jednotlivcům, kteří nebudou muset bloky vytvářet, a také jim zabrání v odejmutí MEV pro sebe a maximalizuje počet jednotlivých nezávislých validátorů, kteří mohou potvrdit poctivost bloků. Důležitým konceptem je „asymetrie ověřovatelů a dokazovatelů“, která odkazuje na myšlenku, že centralizovaná produkce bloků je v pořádku, pokud existuje robustní a maximálně decentralizovaná síť validátorů schopných dokázat, že jsou bloky poctivé. Decentralizace je prostředkem, nikoli konečným cílem – chceme poctivé bloky.
diff --git a/public/content/translations/cs/roadmap/single-slot-finality/index.md b/public/content/translations/cs/roadmap/single-slot-finality/index.md
index c98ac17467e..1ebf1922371 100644
--- a/public/content/translations/cs/roadmap/single-slot-finality/index.md
+++ b/public/content/translations/cs/roadmap/single-slot-finality/index.md
@@ -33,7 +33,7 @@ S aktuálním návrhem mechanismu je pro zkrácení času do finality nutné sn
## Cesty k SSF {#routes-to-ssf}
-
+
Současný mechanismus konsenzu kombinuje atestace od více validátorů, známých jako komise, aby se snížil počet zpráv, které každý validátor musí zpracovat k ověření bloku. Každý validátor má možnost atestovat blok v každé epoše (32 slotů), ale v každém slotu atestuje pouze podmnožina validátorů, známá jako „komise“. Tito validátoři se dělí do podsítí, kde je několik validátorů vybráno jako „agregátoři“. Ti kombinují všechny podpisy, které vidí od ostatních validátorů ve své podsíti, do jednoho agregovaného podpisu. Agregátor, který zahrne největší počet individuálních příspěvků, předá svůj agregovaný podpis navrhovateli bloku, který ho zahrne do bloku spolu s agregovaným podpisem od ostatních komisí.
diff --git a/public/content/translations/cs/roadmap/statelessness/index.md b/public/content/translations/cs/roadmap/statelessness/index.md
index f3c19a1102d..5c3bff37d54 100644
--- a/public/content/translations/cs/roadmap/statelessness/index.md
+++ b/public/content/translations/cs/roadmap/statelessness/index.md
@@ -68,7 +68,7 @@ Slabá bezstavovost zahrnuje změny ve způsobu, jakým uzly Etherea ověřují
Aby k tomu mohlo dojít, musí být v klientech Etherea již implementovány [Verkle trees](/roadmap/verkle-trees/). Verkle trees jsou nová datová struktura pro ukládání stavových dat Etherea, která umožňuje předávat mezi peery malé, stejně velké „svědky“ dat, jež mohou být použity k ověřování bloků namísto ověřování bloků proti místním databázím. Je také nutné [oddělení navrhovatelů a sestavovatelů bloků](/roadmap/pbs/), protože to umožňuje, aby sestavovatelé bloků byli specializované uzly s výkonnějším hardwarem, a to jsou ty, které vyžadují přístup k plným stavovým datům.
-
+
Bezstavovost spoléhá na to, že sestavovatelé bloků udržují kopii plných stavových dat, aby mohli generovat svědky, kteří mohou být použiti k ověření bloku. Ostatní síťové uzly nepotřebují přístup ke stavovým datům, všechny informace potřebné k ověření bloku jsou dostupné ve svědkovi. To vede k situaci, kdy je navrhování bloku nákladné, ale ověřování bloku je levné, což naznačuje, že méně operátorů bude provozovat uzly navrhující bloky. Decentralizace navrhovatelů bloků však není kritická, pokud si co nejvíce účastníků může nezávisle ověřit, že bloky, které navrhují, jsou platné.
diff --git a/public/content/translations/cs/roadmap/verkle-trees/index.md b/public/content/translations/cs/roadmap/verkle-trees/index.md
index 402286f5594..c97f6a8c425 100644
--- a/public/content/translations/cs/roadmap/verkle-trees/index.md
+++ b/public/content/translations/cs/roadmap/verkle-trees/index.md
@@ -15,7 +15,7 @@ Verkle trees (sloučenina termínů „Vector commitment“ a „Merkle Trees“
Verkle trees jsou klíčovým krokem na cestě k bezstavovým klientům na Ethereu. Bezstavové klienty jsou takové, které nemusí uchovávat celou stavovou databázi, aby mohly ověřovat příchozí bloky. Místo používání vlastní lokální kopie stavových dat Etherea používají bezstavové klienty k ověření bloků „svědka“ stavových dat, který je doručen společně s blokem. Svědek je soubor jednotlivých částí stavových dat, které jsou potřeba k provedení konkrétní sady transakcí, a kryptografický důkaz, že je svědek skutečně součástí úplných dat. Svědek je používán _místo_ stavové databáze. Svědci musí být dostatečně malí, aby mohli být bezpečně vysíláni po síti včas na zpracování validátory během 12sekundového slotu, jinak to nebude fungovat. Současná struktura stavových dat není vhodná, protože svědci jsou příliš velcí. Verkle trees tento problém řeší tím, že umožňují malé svědky, což odstraňuje jednu z hlavních překážek pro bezstavové klienty.
-
+
Klienty na Ethereu v současnosti používají pro ukládání stavových dat datovou strukturu známou jako Patricia Merkle Trie. Informace o jednotlivých účtech jsou uloženy jako listy v trie a páry listů jsou opakovaně hashovány, dokud nezůstane pouze jeden hash. Tento konečný hash je známý jako „kořen“. K ověření bloků provádějí klienty na Ethereu všechny transakce v bloku a aktualizují svůj lokální stavový trie. Blok je považován za platný, pokud je kořen lokálního stromu identický s tím, který poskytl navrhovatel bloku, protože jakékoli rozdíly ve výpočtu mezi navrhovatelem bloku a validačním uzlem by způsobily, že hash kořene by byl úplně jiný. Problém je v tom, že ověřování blockchainu vyžaduje, aby každý klient uchovával celý stavový trie pro hlavičkový blok a několik historických bloků (výchozí nastavení v Gethu je uchovávat stavová data pro 128 bloků za hlavičkou). To vyžaduje, aby klienty měly na disku velké množství místa, což je překážka pro spuštění plných uzlů na levném hardwaru s malým výkonem. Řešením je aktualizovat stavový trie na efektivnější strukturu (Verkle tree), která může být přiřazena pomocí malého „svědka“ k datům, která mohou být sdílena místo plných stavových dat. Přeformátování stavových dat do Verkle tree je krokem k přechodu na bezstavové klienty.
@@ -31,7 +31,7 @@ Struktura Merkle trie umožňuje nastavit velikost svědků velkou – až moc v
Podle polynomiálního závazkového schématu mají svědci spravovatelné velikosti, které lze snadno přenášet po peer-to-peer síti. To umožňuje klientům ověřovat změny stavu v každém bloku s minimálním množstvím dat.
-
+
Velikost svědka se liší v závislosti na počtu listů, které zahrnuje. Předpokládáme-li, že svědek pokrývá 1 000 listů, svědek pro Merkle trie by byl přibližně 3,5 MB (při předpokladu 7 úrovní v trie). Svědek pro stejná data ve Verkle tree (při předpokladu 4 úrovní ve stromě) by byl přibližně 150 kB – **přibližně 23x menší**. Tato redukce velikosti svědka umožňuje přijatelnou velikost svědků bezstavových klientů. Polynomiální svědci jsou velikosti 0,128–1 kB v závislosti na konkrétním polynomiálním závazku.
diff --git a/public/content/translations/cs/staking/pools/index.md b/public/content/translations/cs/staking/pools/index.md
index 973290d7d63..d5d5f480fcd 100644
--- a/public/content/translations/cs/staking/pools/index.md
+++ b/public/content/translations/cs/staking/pools/index.md
@@ -24,9 +24,9 @@ Některé fondy fungují pomocí chytrých kontraktů, kde lze vložit prostřed
Kromě výhod, které jsme nastínili v našem [úvodu do stakování](/staking/), přináší stakování v poolu řadu odlišných výhod.
-
-
-
+
+
+
@@ -59,18 +59,18 @@ Máte návrh na vkladový nástroj, který nám chyběl? Podívejte se na naše
## Často kladené dotazy {#faq}
-
+
Tokeny ERC-20 jsou obvykle vydávány vkladatelům a představují hodnotu jejich vložených ETH společně s odměnami. Mějte na paměti, že různé fondy rozdělují odměny za vklady svým uživatelům mírně odlišnými metodami, ale toto je společné téma.
-
+
Právě teď! K upgradu sítě Shanghai/Capella došlo v dubnu 2023 a zavedlo výběry vkladů. Účty validátorů, které podporují vkladové fondy, mají nyní možnost opustit a vybrat ETH na jejich určenou adresu pro výběr. To umožňuje možnost vykoupit část svého vkladu za základní ETH. Informujte se u svého poskytovatele, jak tuto funkci podporuje.
Případně fondy, které využívají token ERC-20 pro vkládání, umožňují uživatelům obchodovat s tímto tokenem na otevřeném trhu, což vám umožní prodat svou pozici pro vkládání a efektivně se „stáhnout“, aniž byste skutečně odstranili ETH ze smlouvy o vkládání.
Více o výběrech ze stakování
-
+
Existuje mnoho podobností mezi těmito možnostmi stakování v poolech a centralizovanými burzami, jako je možnost stakovat malá množství ETH a nechat je spojit dohromady pro aktivaci validátorů.
Na rozdíl od centralizovaných burz využívá mnoho dalších možností sdruženého vkládání chytré kontrakty a/nebo vkladové tokeny, což jsou obvykle tokeny ERC-20, které lze držet ve vlastní peněžence a kupovat nebo prodávat stejně jako jakýkoli jiný token. To nabízí vrstvu suverenity a zabezpečení tím, že vám dává kontrolu nad vašimi tokeny, ale stále vám nedává přímou kontrolu nad klientem validátoru, který osvědčuje vaším jménem na pozadí.
diff --git a/public/content/translations/cs/staking/saas/index.md b/public/content/translations/cs/staking/saas/index.md
index b732b66ce68..a1293c25bb6 100644
--- a/public/content/translations/cs/staking/saas/index.md
+++ b/public/content/translations/cs/staking/saas/index.md
@@ -22,9 +22,9 @@ Vklad jako služba („SaaS“) představuje kategorii služeb vkladů, kde vkl
Protokol Ethereum nativně nepodporuje delegování vkladu, takže tyto služby byly vytvořeny tak, aby naplnily tento požadavek. Pokud máte vložit 32 ETH, ale necítíte se na práci s hardwarem, služby SaaS vám umožní delegovat tu nejtěžší část, zatímco získáte nativní blokové odměny.
-
-
-
+
+
+
@@ -57,11 +57,11 @@ Máte návrh na poskytovatele vkladu jako služby, kterého jsme vynechali? Pod
## Často kladené dotazy {#faq}
-
+
Ujednání se budou u jednotlivých poskytovatelů lišit, ale obvykle vás provedeme nastavením všech potřebných podpisových klíčů (jeden na 32 ETH) a jejich nahráním poskytovateli, aby je mohl ověřit vaším jménem. Samotné podpisové klíče nedávají žádnou možnost vybrat, převést nebo utratit vaše prostředky. Poskytují však možnost odevzdat hlasy směrem ke konsenzu, což, pokud není provedeno správně, může mít za následek offline penalizaci nebo trest.
-
+
Ano. Každý účet zahrnuje podpisové klíče BLS i klíče pro výběr. Aby mohl validátor ověřovat stav řetězce, účastnit se synchronizačních výborů a navrhovat bloky, musí být podpisové klíče snadno dostupné pro klienta validátoru. Ty musí být nějakou formou připojeny k internetu, a jsou tedy neodmyslitelně považovány za „horké“ klávesy. Tento požadavek váš validátor potřebuje k potvrzení, a proto jsou klíče používané k převodu nebo výběru prostředků z bezpečnostních důvodů odděleny.
Výběrové klíče BLS se používají k podepsání jednorázové zprávy, která deklaruje, na kterou prováděcí vrstvu by odměny za vklady na účet a vyřazené prostředky měly jít. Jakmile je tato zpráva odvysílána, klíče pro výběr BLS již nejsou potřeba. Místo toho je kontrola nad vybranými prostředky trvale delegována na adresu, kterou jste uvedli. To vám umožňuje nastavit adresu pro výběr zabezpečenou prostřednictvím vašeho vlastního chladného úložiště, čímž se minimalizuje riziko pro vaše prostředky validátoru, i když někdo jiný ovládá vaše podpisové klíče validátoru.
@@ -72,14 +72,14 @@ Aktualizace přihlašovacích údajů pro výběr je nezbytným krokem k povolen
\*Stakeři, kteří poskytli adresu pro výběr při počátečním vkladu, toto nemusí nastavovat. Ověřte si u svého poskytovatele SaaS podporu ohledně přípravy validátoru.
-
+
Stakeři musí zadat adresu pro výběr (pokud není uvedena při počátečním vkladu) a výplaty odměn se začnou automaticky rozdělovat pravidelně každých několik dní.
Validátoři mohou také plně odejít jako validátor, který odemkne jejich zbývající ETH zůstatek pro výběr. Účty, které uvedly adresu pro provedení výběru a dokončily proces ukončení, obdrží celý zůstatek na adresu pro výběr uvedenou během příštího ověřovacího testu.
Více o výběrech ze stakování
-
+
Používáním poskytovatele SaaS svěřujete provoz svého uzlu někomu jinému. To přichází s rizikem špatného výkonu uzlu, který nemůžete ovlivnit. V případě, že je váš validátor potrestán, váš zůstatek validátoru bude penalizován a násilně odstraněn z fondu validátorů.
Po dokončení procesu trestání/opuštění budou tyto prostředky převedeny na adresu pro výběr přidělenou validátoru. To vyžaduje poskytnutí adresy pro výběr. To může být poskytnuto při počátečním vkladu. Pokud ne, bude nutné použít klíče pro výběr validátoru k podepsání zprávy deklarující adresu pro výběr. Pokud nebyla zadána žádná adresa pro výběr, prostředky zůstanou uzamčeny, dokud je nezadáte.
diff --git a/public/content/translations/cs/staking/solo/index.md b/public/content/translations/cs/staking/solo/index.md
index b0b3f2f5389..bfa7a4b3d40 100644
--- a/public/content/translations/cs/staking/solo/index.md
+++ b/public/content/translations/cs/staking/solo/index.md
@@ -30,9 +30,9 @@ Uzamykatel z domova dostává odměny přímo z protokolu za to, že jejich vali
Uzamčení z domova přináší větší odpovědnost, ale poskytuje vám maximální kontrolu nad vašimi prostředky a nastavením uzamčení.
-
-
-
+
+
+
## Co zvážit před uzamčením z domova {#considerations-before-staking-solo}
@@ -40,30 +40,30 @@ Uzamčení z domova přináší větší odpovědnost, ale poskytuje vám maxim
I když bychom si přáli, aby bylo uzamčení z domova dostupné a bez rizika pro každého, není to realita. Než se rozhodnete uzamknout své ETH z domova, je třeba mít na paměti několik praktických a závažných aspektů.
-
+
Při provozu vlastního uzlu byste měli strávit nějaký čas tím, že se naučíte používat software, který jste si vybrali. To zahrnuje čtení příslušné dokumentace a sledování komunikačních kanálů těchto vývojářských týmů.
Čím více budete rozumět softwaru, který používáte, a tomu, jak funguje proof-of-stake, tím méně riskantní to bude jako pro stakera a tím snazší bude opravit jakékoli problémy, které se mohou vyskytnout v průběhu provozu uzlu.
-
+
Nastavení uzlů vyžaduje přiměřenou úroveň pohodlí při práci s počítači, i když nové nástroje to postupem času usnadňují. Pochopení rozhraní příkazového řádku je užitečné, ale již není striktně vyžadováno.
Vyžaduje také velmi základní nastavení hardwaru a určité porozumění minimálním doporučeným specifikacím.
-
+
Stejně jako privátní klíče zajišťují vaši adresu Ethereum, budete muset vygenerovat klíče speciálně pro váš validátor. Musíte rozumět tomu, jak uchovat bezpečnostní fráze nebo soukromé klíče v bezpečí.{' '}
[Zabezpečení Etherea a prevence podvodů](/security/)
-
+
Hardware občas selže, dojde k chybě síťových připojení a klientský software občas potřebuje upgrade. Údržba uzlů je nevyhnutelná a občas bude vyžadovat vaši pozornost. Budete si chtít být jisti, že budete informováni o všech očekávaných upgradech sítě nebo jiných důležitých upgradech klientů.
-
+
Vaše odměny jsou úměrné době, kdy je váš validátor online a řádně provádí atestace. Za prostoje jsou penalizovány úměrně tomu, kolik dalších validátorů je současně offline, ale nevede to k trestu. Záleží také na šířce pásma, protože odměny se snižují za atestace, které nejsou obdrženy včas. Požadavky se budou lišit, ale doporučuje se minimálně 10 Mb/s pro odesílání i stahování.
-
+
Na rozdíl od penalizace za nečinnost za to, že jste offline, je trestání mnohem závažnějším trestem vyhrazeným za škodlivé přestupky. Spuštěním menšinového klienta s vašimi klíči načtenými pouze na jednom počítači je riziko potrestání minimalizováno. Jak již bylo řečeno, všichni stakeři si musí být vědomi rizik trestání.
Více o trestání a životním cyklu validátoru
@@ -122,13 +122,13 @@ Máte návrh na vkladový nástroj, který nám chyběl? Podívejte se na naše
Toto je několik nejčastějších otázek týkajících se vkládání, které stojí za to vědět.
-
+Validátor je virtuální entita, která žije na Ethereu a účastní se konsensu protokolu Ethereum. Validátory jsou reprezentovány zůstatkem, veřejným klíčem a dalšími vlastnostmi. Klient validátoru je software, který jedná jménem validátoru tím, že drží a používá jeho privátní klíč. Jeden klient validátoru může pojmout mnoho párů klíčů a ovládat mnoho validátorů.
-
+
Ano, moderní účty validátorů mohou pojmout až 2048 ETH. Další ETH nad 32 se budou sčítat postupně, přičemž se budou zvyšovat v celočíselných přírůstcích, jak se bude zvyšovat váš skutečný zůstatek. Toto je známé jako váš efektivní zůstatek.
Pro zvýšení efektivního zůstatku účtu a tím i zvýšení odměn musí být překročena rezerva 0,25 ETH nad jakoukoli plnou prahovou hodnotou ETH. Například účet se skutečným zůstatkem 32,9 a efektivním zůstatkem 32 by musel vydělat dalších 0,35 ETH, aby se jeho skutečný zůstatek dostal nad 33,25, než by se spustilo zvýšení efektivního zůstatku.
@@ -139,14 +139,14 @@ Každý pár klíčů spojený s validátorem vyžaduje k aktivaci alespoň 32 E
Pokud se vám zdá uzamčení z domova příliš náročné, zvažte použití poskytovatele [uzamčení jako služby](/staking/saas/), nebo pokud pracujete s méně než 32 ETH, podívejte se na [fondy uzamčení](/staking/pools/).
-
+
Přechod do režimu offline v době, kdy se síť správně finalizuje, NEBUDE mít za následek trestání. Malé pokuty za nečinnost jsou uvaleny, pokud váš validátor není k dispozici k atestaci pro danou epochu (každá o délce 6,4 minuty), ale to je velmi odlišné od trestání. Tyto sankce jsou o něco nižší než odměna, kterou byste získali, pokud by byl validátor k dispozici pro atestaci, a ztráty lze získat zpět s přibližně stejným množstvím času, kdy budete znovu online.
Všimněte si, že sankce za nečinnost jsou úměrné tomu, kolik validátorů je současně offline. V případech, kdy je velká část sítě offline najednou, budou postihy pro každý z těchto validátorů vyšší, než když je jeden validátor nedostupný.
V extrémních případech, pokud se síť přestane finalizovat v důsledku toho, že více než třetina validátorů je offline, tito uživatelé utrpí takzvaný kvadratický únik nečinnosti, což je exponenciální odliv ETH z účtů offline validátoru. To umožňuje, aby se síť časem samoopravila spálením ETH neaktivních validátorů, dokud jejich zůstatek nedosáhne 16 ETH, přičemž budou automaticky vyřazeni z fondu validátorů. Zbývající online validátoři budou nakonec opět tvořit více než 2/3 sítě, čímž uspokojí nadpoloviční většinu potřebnou k opětovné finalizaci řetězce.
-
+
Stručně řečeno, toto nelze nikdy plně zaručit, ale pokud jednáte v dobré víře, provozujete menšinového klienta a své podpisové klíče máte vždy jen na jednom počítači, riziko potrestání je téměř nulové.
Existuje jen několik konkrétních způsobů, které mohou vést k tomu, že validátor bude potrestán a vyřazen ze sítě. V době psaní tohoto dokumentu byly tresty, ke kterým došlo, výhradně produktem redundantních hardwarových nastavení, kde jsou podpisové klíče uloženy na dvou samostatných počítačích najednou. To může neúmyslně vést k dvojitému hlasování z vašich klíčů, za což můžete být potrestáni.
@@ -161,21 +161,21 @@ Ekvivalentní chyby v menšinovém klientu by se nikdy nedokončily, a
-
+
Jednotliví klienti se mohou mírně lišit, pokud jde o výkon a uživatelské rozhraní, protože každý je vyvíjen různými týmy pomocí různých programovacích jazyků. Jak již bylo řečeno, žádný z nich není „nejlepší“. Všechny produkční klienty jsou vynikající softwary, které všechny provádějí stejné základní funkce pro synchronizaci a interakci s blockchainem.
Protože všechny produkční klienty poskytují stejnou základní funkcionalitu, je ve skutečnosti velmi důležité, abyste si vybrali menšinového klienta, což znamená jakéhokoli klienta, kterého momentálně NEPOUŽÍVÁ většina validátorů v síti. Může to znít neintuitivně, ale provozování většinového nebo supervětšinového klienta vás vystavuje zvýšenému riziku trestání v případě chyby v tomto klientu. Provozování menšinového klienta tato rizika drasticky omezuje.
Další informace o tom, proč je rozmanitost klientů kritická
-
+
Ačkoli lze jako náhradu domácího hardwaru použít virtuální privátní server (VPS), na fyzickém přístupu a umístění vašeho klienta validátoru záleží. Centralizovaná cloudová řešení, jako jsou Amazon Web Services nebo Digital Ocean, umožňují pohodlí, kdy nemusíte získávat a provozovat hardware na úkor centralizace sítě.
Čím více klientů validátoru běží na jediném centralizovaném řešení cloudového úložiště, tím nebezpečnější se to pro tyto uživatele stává. Jakákoli událost, která odpojí tyto poskytovatele, ať už útokem, regulačními požadavky nebo jen výpadky napájení/internetu, bude mít za následek, že každý validační klient, který spoléhá na tento server, bude zároveň offline.
Offline sankce jsou úměrné tomu, kolik ostatních je současně offline. Používání VPS výrazně zvyšuje riziko, že offline sankce budou přísnější, a zvyšuje vaše riziko kvadratického úniku nebo trestání v případě, že je výpadek dostatečně velký. Pro minimalizaci vlastního rizika a rizika pro síť se uživatelům důrazně doporučuje, aby si pořídili a provozovali svůj vlastní hardware.
-
+
Výběry jakéhokoli druhu z Beacon Chain vyžadují nastavení přihlašovacích údajů k výběru.
diff --git a/public/content/translations/cs/staking/withdrawals/index.md b/public/content/translations/cs/staking/withdrawals/index.md
index 4bb91f93105..e6c2589461a 100644
--- a/public/content/translations/cs/staking/withdrawals/index.md
+++ b/public/content/translations/cs/staking/withdrawals/index.md
@@ -140,7 +140,7 @@ eventName="read more">
Ne, proces poskytnutí pověření k výběru je jednorázový a po odeslání jej nelze změnit.
@@ -151,7 +151,7 @@ Adresy pro výběr mohou být buď chytrý kontrakt (řízený svým kódem), ne
Jako alternativu ke změně adresy pro výběr u konkrétního validátoru se uživatelé mohou rozhodnout nastavit jako adresu pro výběr chytrý kontrakt, který zvládne rotaci klíčů, jako je Trezor. Uživatelé, kteří nastaví své prostředky na vlastní EOA, mohou provést úplný odchod, aby mohli vybrat všechny své vložené prostředky, a poté znovu vložit pomocí nových pověření.
diff --git a/public/content/translations/cs/what-are-apps/index.md b/public/content/translations/cs/what-are-apps/index.md
index 2f5da60c4d5..cf03f655df5 100644
--- a/public/content/translations/cs/what-are-apps/index.md
+++ b/public/content/translations/cs/what-are-apps/index.md
@@ -22,9 +22,9 @@ Jakmile je aplikace publikována na blockchainu Etherea, stává se nezastavitel
Aplikace na Ethereu mají svou logiku spuštěnou na blockchainu Etherea namísto na centralizovaných serverech. Proto se jim často říká decentralizované aplikace neboli zkráceně dappky.
-
-
-
+
+
+
## Proč je to důležité {#why-does-this-matter}
@@ -68,14 +68,14 @@ Když jsou aplikace postavené na Ethereu, jsou navzájem kompatibilní. Token z
## Často kladené dotazy {#faq}
-
+
Dappky znamená decentralizované aplikace. Jsou to aplikace postavené na blockchainových sítích, jako je Ethereum. Říká se jim decentralizované, protože samotná síť je decentralizovaná.
-
+
Některé aplikace vám umožňují obchodovat nebo nakupovat krypto tokeny, ale ne všechny aplikace slouží k tomuto účelu. Pokud si chcete koupit své první tokeny, navštivte stránku [Koupit ETH](/get-eth).
-
+
Krypto peněženka vám umožňuje držet tokeny a spravovat váš účet na Ethereu. Existuje mnoho skvělých peněženek, z nichž každá slouží jinému účelu. Abyste zjistili, která peněženka je pro vás nejlepší, navštivte náš [seznam peněženek](/wallets/find-wallet).
Zakladatelé, potřebujete pomoct s rozvojem svého podnikání? [Přejděte do sekce Podpora pro zakladatele](/founders/)
+
Zakladatelé, potřebujete pomoct s rozvojem svého podnikání? [Přejděte do sekce Podpora pro zakladatele](/founders/)
+
## Širší ekosystém Etherea {#broad-ethereum-ecosystem}
diff --git a/public/content/translations/cs/community/language-resources/index.md b/public/content/translations/cs/community/language-resources/index.md
index 3021866dbc7..d054a1fb7ba 100644
--- a/public/content/translations/cs/community/language-resources/index.md
+++ b/public/content/translations/cs/community/language-resources/index.md
@@ -1,6 +1,6 @@
---
-title: Jazykové zdroje
-description: Zdroje informací o Ethereu, které nejsou v angličtině
+title: "Jazykové zdroje"
+description: "Zdroje informací o Ethereu, které nejsou v angličtině"
lang: cs
---
diff --git a/public/content/translations/cs/community/online/index.md b/public/content/translations/cs/community/online/index.md
index 03f13651be6..5b808c8da6f 100644
--- a/public/content/translations/cs/community/online/index.md
+++ b/public/content/translations/cs/community/online/index.md
@@ -1,6 +1,6 @@
---
title: Online komunity
-description: Objevte online fóra, chatovací místnosti a komunity na sociálních sítích, kde se scházejí nadšenci Etherea, aby diskutovali a spolupracovali.
+description: "Objevte online fóra, chatovací místnosti a komunity na sociálních sítích, kde se scházejí nadšenci Etherea, aby diskutovali a spolupracovali."
lang: cs
---
@@ -51,5 +51,5 @@ Pokud si myslíte, že by na základě těchto pokynů měla být komunita přid
Více o DAO
-
+
diff --git a/public/content/translations/cs/community/research/index.md b/public/content/translations/cs/community/research/index.md
index f90da01a763..0497647d789 100644
--- a/public/content/translations/cs/community/research/index.md
+++ b/public/content/translations/cs/community/research/index.md
@@ -1,6 +1,6 @@
---
-title: Aktivní oblasti výzkumu Etherea
-description: Prozkoumejte různé oblasti výzkumu a zjistěte, jak se můžete zapojit.
+title: "Aktivní oblasti výzkumu Etherea"
+description: "Prozkoumejte různé oblasti výzkumu a zjistěte, jak se můžete zapojit."
lang: cs
---
@@ -324,7 +324,7 @@ Decentralizované finance (DeFi) jsou jednou z hlavních tříd aplikací postav
#### Nedávný výzkum {#recent-research-15}
-- [Decentralizované finance, centralizované vlastnictví?] (https://arxiv.org/pdf/2012.09306.pdf)
+- [Decentralizované finance, centralizované vlastnictví?](https://arxiv.org/pdf/2012.09306.pdf)
- [Optimism: Cesta k poddolarovým transakcím](https://medium.com/ethereum-optimism/the-road-to-sub-dollar-transactions-part-2-compression-edition-6bb2890e3e92)
### DAO {#daos}
diff --git a/public/content/translations/cs/community/support/index.md b/public/content/translations/cs/community/support/index.md
index 065264193c7..d7531ae7b5a 100644
--- a/public/content/translations/cs/community/support/index.md
+++ b/public/content/translations/cs/community/support/index.md
@@ -1,6 +1,6 @@
---
title: Podpora pro Ethereum
-description: Získejte podporu v ekosystému Etherea.
+description: "Získejte podporu v ekosystému Etherea."
lang: cs
---
diff --git a/public/content/translations/cs/contributing/adding-desci-projects/index.md b/public/content/translations/cs/contributing/adding-desci-projects/index.md
index dc5bf54cb8d..533c2940ec1 100644
--- a/public/content/translations/cs/contributing/adding-desci-projects/index.md
+++ b/public/content/translations/cs/contributing/adding-desci-projects/index.md
@@ -1,6 +1,6 @@
---
-title: Přidávání DeSci projektů
-description: Pravidla, která používáme při přidávání odkazů na projekty na stránku DeSci na ethereum.org
+title: "Přidávání DeSci projektů"
+description: "Pravidla, která používáme při přidávání odkazů na projekty na stránku DeSci na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/adding-developer-tools/index.md b/public/content/translations/cs/contributing/adding-developer-tools/index.md
index 176f75736c6..8d673514a73 100644
--- a/public/content/translations/cs/contributing/adding-developer-tools/index.md
+++ b/public/content/translations/cs/contributing/adding-developer-tools/index.md
@@ -1,7 +1,7 @@
---
-title: Přidávání vývojářských nástrojů
+title: "Přidávání vývojářských nástrojů"
lang: cs
-description: Naše kritéria pro přidávání vývojářských nástrojů na ethereum.org
+description: "Naše kritéria pro přidávání vývojářských nástrojů na ethereum.org"
---
# Přidávání vývojářských nástrojů {#contributing-to-ethereumorg-}
diff --git a/public/content/translations/cs/contributing/adding-exchanges/index.md b/public/content/translations/cs/contributing/adding-exchanges/index.md
index aef57aa5155..4d3283e6a35 100644
--- a/public/content/translations/cs/contributing/adding-exchanges/index.md
+++ b/public/content/translations/cs/contributing/adding-exchanges/index.md
@@ -1,6 +1,6 @@
---
-title: Přidávání burz
-description: Zásady, které používáme při přidávání burz na ethereum.org
+title: "Přidávání burz"
+description: "Zásady, které používáme při přidávání burz na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/adding-glossary-terms/index.md b/public/content/translations/cs/contributing/adding-glossary-terms/index.md
index 312b91144f4..8bdc542243c 100644
--- a/public/content/translations/cs/contributing/adding-glossary-terms/index.md
+++ b/public/content/translations/cs/contributing/adding-glossary-terms/index.md
@@ -1,7 +1,7 @@
---
-title: Přidávání termínů do glosáře
+title: "Přidávání termínů do glosáře"
lang: cs
-description: Naše kritéria pro přidávání nových termínů do glosáře ethereum.org
+description: "Naše kritéria pro přidávání nových termínů do glosáře ethereum.org"
---
# Přidávání termínů do glosáře {#contributing-to-ethereumorg-}
diff --git a/public/content/translations/cs/contributing/adding-layer-2s/index.md b/public/content/translations/cs/contributing/adding-layer-2s/index.md
index 6e824c54e9a..348c30da9fb 100644
--- a/public/content/translations/cs/contributing/adding-layer-2s/index.md
+++ b/public/content/translations/cs/contributing/adding-layer-2s/index.md
@@ -1,6 +1,6 @@
---
-title: Přidávání vrstev 2
-description: Zásady, které používáme při přidávání vrstev 2 na ethereum.org
+title: "Přidávání vrstev 2"
+description: "Zásady, které používáme při přidávání vrstev 2 na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/adding-products/index.md b/public/content/translations/cs/contributing/adding-products/index.md
index 3ed6d643a7d..e7d1a10cfa9 100644
--- a/public/content/translations/cs/contributing/adding-products/index.md
+++ b/public/content/translations/cs/contributing/adding-products/index.md
@@ -1,6 +1,6 @@
---
-title: Přidávání produktů
-description: Zásady, které používáme při přidávání produktů na ethereum.org
+title: "Přidávání produktů"
+description: "Zásady, které používáme při přidávání produktů na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/adding-resources/index.md b/public/content/translations/cs/contributing/adding-resources/index.md
index 96442fde168..70297e36768 100644
--- a/public/content/translations/cs/contributing/adding-resources/index.md
+++ b/public/content/translations/cs/contributing/adding-resources/index.md
@@ -1,6 +1,6 @@
---
-title: Přidávání zdrojů
-description: Zásady, které používáme při přidávání zdrojů na ethereum.org
+title: "Přidávání zdrojů"
+description: "Zásady, které používáme při přidávání zdrojů na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/adding-staking-products/index.md b/public/content/translations/cs/contributing/adding-staking-products/index.md
index 6daf5fd74c1..9a0c8fa4b90 100644
--- a/public/content/translations/cs/contributing/adding-staking-products/index.md
+++ b/public/content/translations/cs/contributing/adding-staking-products/index.md
@@ -1,6 +1,6 @@
---
-title: Přidávání produktů nebo služeb pro uzamčení
-description: Zásady, které používáme při přidávání produktů nebo služeb pro uzamčení na ethereum.org
+title: "Přidávání produktů nebo služeb pro uzamčení"
+description: "Zásady, které používáme při přidávání produktů nebo služeb pro uzamčení na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/adding-wallets/index.md b/public/content/translations/cs/contributing/adding-wallets/index.md
index bdf04ebc920..6be5f1d0451 100644
--- a/public/content/translations/cs/contributing/adding-wallets/index.md
+++ b/public/content/translations/cs/contributing/adding-wallets/index.md
@@ -1,6 +1,6 @@
---
-title: Přidávání peněženek
-description: Zásady, které používáme při přidávání peněženek na ethereum.org
+title: "Přidávání peněženek"
+description: "Zásady, které používáme při přidávání peněženek na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/content-resources/index.md b/public/content/translations/cs/contributing/content-resources/index.md
index 9936c47baa0..fb1a110ab58 100644
--- a/public/content/translations/cs/contributing/content-resources/index.md
+++ b/public/content/translations/cs/contributing/content-resources/index.md
@@ -1,7 +1,7 @@
---
-title: Přidávání zdrojů obsahu
+title: "Přidávání zdrojů obsahu"
lang: cs
-description: Naše kritéria pro přidávání zdrojů obsahu na ethereum.org
+description: "Naše kritéria pro přidávání zdrojů obsahu na ethereum.org"
---
# Přidávání zdrojů obsahu {#adding-content-resources}
diff --git a/public/content/translations/cs/contributing/design-principles/index.md b/public/content/translations/cs/contributing/design-principles/index.md
index c2f83af2b93..4ac8c9a0b32 100644
--- a/public/content/translations/cs/contributing/design-principles/index.md
+++ b/public/content/translations/cs/contributing/design-principles/index.md
@@ -1,7 +1,7 @@
---
title: Principy designu
lang: cs
-description: Principy, které stojí za designem a obsahem na ethereum.org
+description: "Principy, které stojí za designem a obsahem na ethereum.org"
---
# Naše principy designu {#contributing-to-ethereumorg-}
diff --git a/public/content/translations/cs/contributing/design/adding-design-resources/index.md b/public/content/translations/cs/contributing/design/adding-design-resources/index.md
index 604bc90bc96..48236b91f72 100644
--- a/public/content/translations/cs/contributing/design/adding-design-resources/index.md
+++ b/public/content/translations/cs/contributing/design/adding-design-resources/index.md
@@ -1,6 +1,6 @@
---
-title: Přidávání návrhových zdrojů
-description: Pokyny a požadavky pro zajištění kvality návrhových materiálů na ethereum.org
+title: "Přidávání návrhových zdrojů"
+description: "Pokyny a požadavky pro zajištění kvality návrhových materiálů na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/design/index.md b/public/content/translations/cs/contributing/design/index.md
index 6c40a44225f..bbbd988c63e 100644
--- a/public/content/translations/cs/contributing/design/index.md
+++ b/public/content/translations/cs/contributing/design/index.md
@@ -1,6 +1,6 @@
---
-title: Přispívání designem
-description: Přispívání designem na ethereum.org
+title: "Přispívání designem"
+description: "Přispívání designem na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/index.md b/public/content/translations/cs/contributing/index.md
index 70d68ec28cc..8a8ab3de386 100644
--- a/public/content/translations/cs/contributing/index.md
+++ b/public/content/translations/cs/contributing/index.md
@@ -1,6 +1,6 @@
---
-title: Příspěvky
-description: Přečtěte si o různých způsobech, jak můžete přispívat na ethereum.org
+title: "Příspěvky"
+description: "Přečtěte si o různých způsobech, jak můžete přispívat na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/quizzes/index.md b/public/content/translations/cs/contributing/quizzes/index.md
index 427625335ea..99a6ebf90ae 100644
--- a/public/content/translations/cs/contributing/quizzes/index.md
+++ b/public/content/translations/cs/contributing/quizzes/index.md
@@ -1,6 +1,6 @@
---
-title: Přidávání kvízu
-description: Zásady, které používáme při přidávání kvízů na ethereum.org
+title: "Přidávání kvízu"
+description: "Zásady, které používáme při přidávání kvízů na ethereum.org"
lang: cs
---
diff --git a/public/content/translations/cs/contributing/translation-program/faq/index.md b/public/content/translations/cs/contributing/translation-program/faq/index.md
index ec2b3b8f704..80f63a203ae 100644
--- a/public/content/translations/cs/contributing/translation-program/faq/index.md
+++ b/public/content/translations/cs/contributing/translation-program/faq/index.md
@@ -1,7 +1,7 @@
---
-title: Často kladené otázky (FAQ) o překladatelském programu
+title: "Často kladené otázky (FAQ) o překladatelském programu"
lang: cs
-description: Často kladené otázky týkající se překladatelského programu stránky ethereum.org
+description: "Často kladené otázky týkající se překladatelského programu stránky ethereum.org"
---
# Průvodce překladem ethereum.org {#translating-ethereum-guide}
diff --git a/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md b/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md
index ff9590b0470..703f64a64f3 100644
--- a/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md
+++ b/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md
@@ -1,7 +1,7 @@
---
-title: Jak překládat
+title: "Jak překládat"
lang: cs
-description: Instrukce pro používání Crowdinu pro překlad ethereum.org
+description: "Instrukce pro používání Crowdinu pro překlad ethereum.org"
---
# Jak překládat {#how-to-translate}
diff --git a/public/content/translations/cs/contributing/translation-program/index.md b/public/content/translations/cs/contributing/translation-program/index.md
index 207888c4c44..d7abb3023e0 100644
--- a/public/content/translations/cs/contributing/translation-program/index.md
+++ b/public/content/translations/cs/contributing/translation-program/index.md
@@ -1,7 +1,7 @@
---
-title: Překladatelský program
+title: "Překladatelský program"
lang: cs
-description: Informace o překladatelském programu ethereum.org
+description: "Informace o překladatelském programu ethereum.org"
---
# Překladatelský program {#translation-program}
diff --git a/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md b/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md
index 5be544dd4bf..e1ac8c07077 100644
--- a/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md
+++ b/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md
@@ -1,7 +1,7 @@
---
-title: Poslání a vize
+title: "Poslání a vize"
lang: cs
-description: Poslání a vize překladatelského programu ethereum.org
+description: "Poslání a vize překladatelského programu ethereum.org"
---
# Mise a vize {#mission-and-vision}
diff --git a/public/content/translations/cs/contributing/translation-program/playbook/index.md b/public/content/translations/cs/contributing/translation-program/playbook/index.md
index 43ebc639e6f..7cc6dcbb9fa 100644
--- a/public/content/translations/cs/contributing/translation-program/playbook/index.md
+++ b/public/content/translations/cs/contributing/translation-program/playbook/index.md
@@ -1,7 +1,7 @@
---
-title: Příručka překladatelského programu
+title: "Příručka překladatelského programu"
lang: cs
-description: Sbírka tipů a důležitých aspektů pro zřízení překladatelského programu
+description: "Sbírka tipů a důležitých aspektů pro zřízení překladatelského programu"
---
# Příručka překladatelského programu {#translation-program-playbook}
diff --git a/public/content/translations/cs/contributing/translation-program/resources/index.md b/public/content/translations/cs/contributing/translation-program/resources/index.md
index ce26fa4db94..1ecba7a3989 100644
--- a/public/content/translations/cs/contributing/translation-program/resources/index.md
+++ b/public/content/translations/cs/contributing/translation-program/resources/index.md
@@ -1,7 +1,7 @@
---
-title: Zdroje pro překladatele
+title: "Zdroje pro překladatele"
lang: cs
-description: Užitečné zdroje pro překladatele ethereum.org
+description: "Užitečné zdroje pro překladatele ethereum.org"
---
# Zdroje informací {#resources}
diff --git a/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md b/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md
index e4ea62249c0..093d6bb461f 100644
--- a/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md
+++ b/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md
@@ -1,7 +1,7 @@
---
title: Podrobnosti a pravidla
lang: cs
-template: překladaton
+template: "překladaton"
---

diff --git a/public/content/translations/cs/contributing/translation-program/translators-guide/index.md b/public/content/translations/cs/contributing/translation-program/translators-guide/index.md
index 800f87d256a..b16005e0dee 100644
--- a/public/content/translations/cs/contributing/translation-program/translators-guide/index.md
+++ b/public/content/translations/cs/contributing/translation-program/translators-guide/index.md
@@ -1,7 +1,7 @@
---
-title: Průvodce překladem
+title: "Průvodce překladem"
lang: cs
-description: Pokyny a tipy pro překladatele ethereum.org
+description: "Pokyny a tipy pro překladatele ethereum.org"
---
# Průvodce stylem překladu ethereum.org {#style-guide}
diff --git a/public/content/translations/cs/dao/index.md b/public/content/translations/cs/dao/index.md
index 6c4dfb77b90..d64ee5a3b2d 100644
--- a/public/content/translations/cs/dao/index.md
+++ b/public/content/translations/cs/dao/index.md
@@ -1,16 +1,16 @@
---
title: Co je DAO?
-metaTitle: Co je DAO? | Decentralizovaná autonomní organizace
-description: Přehled DAO na Ethereu
+metaTitle: "Co je DAO? | Decentralizovaná autonomní organizace"
+description: "Přehled DAO na Ethereu"
lang: cs
template: use-cases
emoji: ":handshake:"
sidebarDepth: 2
image: /images/use-cases/dao-2.png
-alt: Vyobrazení decentralizované autonomní organizace hlasující o návrhu.
-summaryPoint1: Členské komunity bez centralizovaného vedení.
-summaryPoint2: Bezpečný způsob, jak spolupracovat s lidmi na internetu.
-summaryPoint3: Bezpečné místo pro vložení prostředků na konkrétní věc.
+alt: "Vyobrazení decentralizované autonomní organizace hlasující o návrhu."
+summaryPoint1: "Členské komunity bez centralizovaného vedení."
+summaryPoint2: "Bezpečný způsob, jak spolupracovat s lidmi na internetu."
+summaryPoint3: "Bezpečné místo pro vložení prostředků na konkrétní věc."
---
## Co jsou DAO? {#what-are-daos}
diff --git a/public/content/translations/cs/decentralized-identity/index.md b/public/content/translations/cs/decentralized-identity/index.md
index 159efe3a9b0..7b8381fd7a8 100644
--- a/public/content/translations/cs/decentralized-identity/index.md
+++ b/public/content/translations/cs/decentralized-identity/index.md
@@ -1,14 +1,14 @@
---
-title: Decentralizovaná identita
-description: Co je decentralizovaná identita a proč na ní záleží?
+title: "Decentralizovaná identita"
+description: "Co je decentralizovaná identita a proč na ní záleží?"
lang: cs
template: use-cases
emoji: ":id:"
sidebarDepth: 2
image: /images/eth-gif-cat.png
-summaryPoint1: Tradiční systémy identity centralizovaly vydávání, údržbu a kontrolu vašich identifikátorů.
-summaryPoint2: Decentralizovaná identita odstraňuje závislost na centralizovaných třetích stranách.
-summaryPoint3: Díky kryptu mají nyní opět uživatelé nástroje k vydávání, držení a ovládání svých identifikátorů a osvědčení.
+summaryPoint1: "Tradiční systémy identity centralizovaly vydávání, údržbu a kontrolu vašich identifikátorů."
+summaryPoint2: "Decentralizovaná identita odstraňuje závislost na centralizovaných třetích stranách."
+summaryPoint3: "Díky kryptu mají nyní opět uživatelé nástroje k vydávání, držení a ovládání svých identifikátorů a osvědčení."
---
Identita podpírá prakticky každý aspekt vašeho života. Využívání online služeb, otevírání bankovního účtu, hlasování ve volbách, nákup majetku, zajištění zaměstnávání — to vše vyžaduje prokázání vaší totožnosti.
@@ -129,8 +129,7 @@ Blockchain slouží jako ověřitelný rejstřík dat: otevřený a decentralizo
Pokud někdo potřebuje potvrdit platnost decentralizovaného identifikátoru, může najít přidružený veřejný klíč na blockchainu. Toto je odlišné od tradičních identifikátorů, které vyžadují ověření od třetích stran.
-## Jak decentralizované identifikátory a atestace umožňují decentralizovanou identitu? Jak decentralizované identifikátory a atestace umožňují decentralizovanou identitu? {#how-decentralized-identifiers-and-attestations-enable-decentralized-identity}
-
+## Jak decentralizované identifikátory a atestace umožňují decentralizovanou identitu? {#how-decentralized-identifiers-and-attestations-enable-decentralized-identity}
Decentralizovaná identita je přesvědčení, že informace týkající se identity by měly být samostatně kontrolovány, soukromé a přenosné, přičemž základem toho všeho jsou decentralizované identifikátory a atestace.
V kontextu decentralizované identity jsou atestace (známé také jako [ověřitelná pověření](https://www.w3.org/TR/vc-data-model/)) kryptograficky ověřitelné nároky vydané vydavatelem, které jsou odolné proti neoprávněné manipulaci. Každá atestace nebo ověřitelný přihlašovací údaj, který entita (např.: organizace) uplatní je spojen s jejich decentralizovanými identifikátory (DID).
diff --git a/public/content/translations/cs/defi/index.md b/public/content/translations/cs/defi/index.md
index 957ef2ec4d5..cfc464771ea 100644
--- a/public/content/translations/cs/defi/index.md
+++ b/public/content/translations/cs/defi/index.md
@@ -1,16 +1,16 @@
---
-title: Decentralizované finance (DeFi)
-metaTitle: Co je to DeFi? | Výhody a využití decentralizovaných financí
-description: Přehled DeFi na platformě Ethereum
+title: "Decentralizované finance (DeFi)"
+metaTitle: "Co je to DeFi? | Výhody a využití decentralizovaných financí"
+description: "Přehled DeFi na platformě Ethereum"
lang: cs
template: use-cases
emoji: ":money_with_wings:"
image: /images/use-cases/defi.png
-alt: Logo Eth vyrobené z cihel lega.
+alt: "Logo Eth vyrobené z cihel lega."
sidebarDepth: 2
-summaryPoint1: Globální, otevřená alternativa ke stávající finanční soustavě.
-summaryPoint2: Produkty, které vám umožňují půjčovat, šetřit, investovat, obchodovat a více.
-summaryPoint3: Založeno na open-source technologiích, se kterými může programovat každý.
+summaryPoint1: "Globální, otevřená alternativa ke stávající finanční soustavě."
+summaryPoint2: "Produkty, které vám umožňují půjčovat, šetřit, investovat, obchodovat a více."
+summaryPoint3: "Založeno na open-source technologiích, se kterými může programovat každý."
---
DeFi je otevřený a globální finanční systém vytvořený pro internetový věk – jako alternativa ke stávajícímu systému, který je neprůhledný, přísně kontrolovaný a držený pohromadě pomocí infrastruktury a procesů starých desítky let. Dává vám přehled a kontrolu nad vašimi penězi. Dává vám možnost obchodovat na globálních trzích a je alternativou k místní měně a bankovnictví. Produkty DeFi otevírají finanční služby pro každého s připojením k internetu a tyto produkty jsou většinou vlastněny a udržovány jeho uživateli. Aplikacemi DeFi již protekly desítky miliard dolarů v kryptoměně a toto množství vzrůstá každým dnem.
@@ -67,7 +67,8 @@ To zní divně... „proč bych si chtěl/a programovat peníze“? Toto je vša
-
Prozkoumejte naše návrhy pro DeFi aplikace a vyzkoušet je, pokud jste v Ethereu noví.
+
Prozkoumejte naše návrhy pro DeFi aplikace a vyzkoušet je, pokud jste v Ethereu noví.
+
Objevte DeFi aplikace
diff --git a/public/content/translations/cs/desci/index.md b/public/content/translations/cs/desci/index.md
index b21fd631ad0..5ce7936cf05 100644
--- a/public/content/translations/cs/desci/index.md
+++ b/public/content/translations/cs/desci/index.md
@@ -1,15 +1,15 @@
---
-title: Decentralizovaná věda (DeSci)
-description: Přehled decentralizované vědy na Ethereu
+title: "Decentralizovaná věda (DeSci)"
+description: "Přehled decentralizované vědy na Ethereu"
lang: cs
template: use-cases
emoji: ":microscope:"
sidebarDepth: 2
image: /images/future_transparent.png
alt: ""
-summaryPoint1: Globální, otevřená alternativa ke stávajícímu vědeckému systému.
-summaryPoint2: Technologie, která vědcům umožňuje získávat financování, provádět experimenty, sdílet data, šířit poznatky a další.
-summaryPoint3: Vychází z hnutí otevřené vědy.
+summaryPoint1: "Globální, otevřená alternativa ke stávajícímu vědeckému systému."
+summaryPoint2: "Technologie, která vědcům umožňuje získávat financování, provádět experimenty, sdílet data, šířit poznatky a další."
+summaryPoint3: "Vychází z hnutí otevřené vědy."
---
## Co je decentralizovaná věda (DeSci)? {#what-is-desci}
diff --git a/public/content/translations/cs/developers/docs/accounts/index.md b/public/content/translations/cs/developers/docs/accounts/index.md
index 1ef386ebf87..47f49d4f9e9 100644
--- a/public/content/translations/cs/developers/docs/accounts/index.md
+++ b/public/content/translations/cs/developers/docs/accounts/index.md
@@ -1,6 +1,6 @@
---
-title: Účty na Ethereu
-description: Vysvětlení účtů na Ethereu – jejich datových struktur a jejich vztahu ke kryptografii páru klíčů.
+title: "Účty na Ethereu"
+description: "Vysvětlení účtů na Ethereu – jejich datových struktur a jejich vztahu ke kryptografii páru klíčů."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/apis/backend/index.md b/public/content/translations/cs/developers/docs/apis/backend/index.md
index 537a79a1732..8f9c272d29a 100644
--- a/public/content/translations/cs/developers/docs/apis/backend/index.md
+++ b/public/content/translations/cs/developers/docs/apis/backend/index.md
@@ -1,6 +1,6 @@
---
title: Backend API knihovny
-description: Úvod do klientských rozhraní API Etherea, která umožňují interakci s blockchainem z vaší aplikace.
+description: "Úvod do klientských rozhraní API Etherea, která umožňují interakci s blockchainem z vaší aplikace."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/apis/javascript/index.md b/public/content/translations/cs/developers/docs/apis/javascript/index.md
index 389f51c5580..1d45a5feac1 100644
--- a/public/content/translations/cs/developers/docs/apis/javascript/index.md
+++ b/public/content/translations/cs/developers/docs/apis/javascript/index.md
@@ -1,6 +1,6 @@
---
title: JavaScript API knihovny
-description: Úvod do JavaScriptových klientských knihoven, které umožňují interakci s blockchainem z vaší aplikace.
+description: "Úvod do JavaScriptových klientských knihoven, které umožňují interakci s blockchainem z vaší aplikace."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/apis/json-rpc/index.md b/public/content/translations/cs/developers/docs/apis/json-rpc/index.md
index 93b2a5344a1..c67b839807b 100644
--- a/public/content/translations/cs/developers/docs/apis/json-rpc/index.md
+++ b/public/content/translations/cs/developers/docs/apis/json-rpc/index.md
@@ -1,6 +1,6 @@
---
title: JSON-RPC API
-description: Bezstavový, lehký protokol pro vzdálené volání procedur (RPC) pro klienty na Ethereu.
+description: "Bezstavový, lehký protokol pro vzdálené volání procedur (RPC) pro klienty na Ethereu."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/blocks/index.md b/public/content/translations/cs/developers/docs/blocks/index.md
index 82d03cb3138..846753ec2cb 100644
--- a/public/content/translations/cs/developers/docs/blocks/index.md
+++ b/public/content/translations/cs/developers/docs/blocks/index.md
@@ -1,6 +1,6 @@
---
title: Bloky
-description: Přehled bloků na blockchainu Ethereum – jejich datová struktura, proč jsou potřeba a jak se vytvářejí.
+description: "Přehled bloků na blockchainu Ethereum – jejich datová struktura, proč jsou potřeba a jak se vytvářejí."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/bridges/index.md b/public/content/translations/cs/developers/docs/bridges/index.md
index 1d2f1e8672b..536b80f67b0 100644
--- a/public/content/translations/cs/developers/docs/bridges/index.md
+++ b/public/content/translations/cs/developers/docs/bridges/index.md
@@ -1,6 +1,6 @@
---
-title: Přemostění
-description: Přehled přemostění pro vývojáře
+title: "Přemostění"
+description: "Přehled přemostění pro vývojáře"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/index.md
index 5b7297f8787..dc56d41c063 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/index.md
@@ -1,6 +1,6 @@
---
title: Mechanismy konsenzu
-description: Vysvětlení konsensuálních protokolů v distribuovaných systémech a jejich role v Ethereu.
+description: "Vysvětlení konsensuálních protokolů v distribuovaných systémech a jejich role v Ethereu."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/poa/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/poa/index.md
index 844fc6f32d1..a7464ae2afa 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/poa/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/poa/index.md
@@ -1,6 +1,6 @@
---
title: Proof-of-authority (PoA)
-description: Vysvětlení konsenzuálního protokolu proof-of-authority a jeho role v ekosystému blockchainu.
+description: "Vysvětlení konsenzuálního protokolu proof-of-authority a jeho role v ekosystému blockchainu."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
index dcedf00c3d5..ee56598ac30 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
@@ -1,6 +1,6 @@
---
-title: Útok a obrana na ethereový důkaz podílem
-description: Zjistěte více o známých vektorech útoku na Ethereum s důkazem podílem a o tom, jaká je proti nim obrana.
+title: "Útok a obrana na ethereový důkaz podílem"
+description: "Zjistěte více o známých vektorech útoku na Ethereum s důkazem podílem a o tom, jaká je proti nim obrana."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attestations/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attestations/index.md
index 439dec46c58..971e0b98e02 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attestations/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/attestations/index.md
@@ -1,6 +1,6 @@
---
title: Atestace
-description: Popis atestací na Ethereu s důkazem podílem.
+description: "Popis atestací na Ethereu s důkazem podílem."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/block-proposal/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/block-proposal/index.md
index c43e21faad9..c429abf2a32 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/block-proposal/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/block-proposal/index.md
@@ -1,6 +1,6 @@
---
-title: Návrh bloku
-description: Vysvětlení, jak se navrhují bloky v síti Ethereum s mechanismem konsensu důkaz podílem.
+title: "Návrh bloku"
+description: "Vysvětlení, jak se navrhují bloky v síti Ethereum s mechanismem konsensu důkaz podílem."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/faqs/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/faqs/index.md
index f69c674d78e..b3c5a0666f8 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/faqs/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/faqs/index.md
@@ -1,6 +1,6 @@
---
-title: Často kladené otázky
-description: Často kladené otázky ohledně Etherea s důkazem podílem.
+title: "Často kladené otázky"
+description: "Často kladené otázky ohledně Etherea s důkazem podílem."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/gasper/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/gasper/index.md
index 4b842c922fc..4fa8c39b71a 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/gasper/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/gasper/index.md
@@ -1,6 +1,6 @@
---
title: Gasper
-description: Vysvětlení mechanismu důkazu podílem Gasper.
+description: "Vysvětlení mechanismu důkazu podílem Gasper."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/index.md
index 4584ca478cc..aa90c757c2c 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/index.md
@@ -1,6 +1,6 @@
---
title: Proof-of-stake (PoS)
-description: Vysvětlení konsensuálního protokolu důkaz podílem a jeho role v platformě Ethereum.
+description: "Vysvětlení konsensuálního protokolu důkaz podílem a jeho role v platformě Ethereum."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/keys/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/keys/index.md
index e49d8dffe95..fb02fd40bb2 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/keys/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/keys/index.md
@@ -1,6 +1,6 @@
---
-title: Klíče v proof-of-stake Ethereu
-description: Vysvětlení klíčů používaných v mechanismu konsensu proof-of-stake v Ethereu
+title: "Klíče v proof-of-stake Ethereu"
+description: "Vysvětlení klíčů používaných v mechanismu konsensu proof-of-stake v Ethereu"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md
index e48164dc4e2..0a76fb31791 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md
@@ -1,6 +1,6 @@
---
-title: Důkaz podílem vs. důkaz prací
-description: Srovnání mechanismu konsensu Etherea založeného na důkazu podílem a důkazu prací
+title: "Důkaz podílem vs. důkaz prací"
+description: "Srovnání mechanismu konsensu Etherea založeného na důkazu podílem a důkazu prací"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
index 1e89769ec04..ff583b9c406 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
@@ -1,6 +1,6 @@
---
-title: Odměny a tresty v mechanismu proof-of-stake
-description: Seznamte se s pobídkami v rámci protokolu v Ethereu s mechanismem proof-of-stake.
+title: "Odměny a tresty v mechanismu proof-of-stake"
+description: "Seznamte se s pobídkami v rámci protokolu v Ethereu s mechanismem proof-of-stake."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
index 600389bd4da..d4124d64f1c 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
@@ -1,6 +1,6 @@
---
-title: Slabá subjektivita
-description: Vysvětlení slabé subjektivity a její role v PoS Ethereu.
+title: "Slabá subjektivita"
+description: "Vysvětlení slabé subjektivity a její role v PoS Ethereu."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/withdrawal-credentials/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/withdrawal-credentials/index.md
index 79cb14f5a0f..eb8eb753cb2 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/withdrawal-credentials/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pos/withdrawal-credentials/index.md
@@ -1,6 +1,6 @@
---
-title: Pověření k výběru
-description: Vysvětlení typů pověření validátora k výběru (0x00, 0x01, 0x02) a jejich dopady na stakery Etherea.
+title: "Pověření k výběru"
+description: "Vysvětlení typů pověření validátora k výběru (0x00, 0x01, 0x02) a jejich dopady na stakery Etherea."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/index.md
index 50004f7c6e6..99b6142b9ff 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/index.md
@@ -1,6 +1,6 @@
---
title: Proof-of-work (PoW)
-description: Vysvětlení konsensuálního protokolu proof of work a jeho role v Ethereum síti.
+description: "Vysvětlení konsensuálního protokolu proof of work a jeho role v Ethereum síti."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md
index bfde7be97dd..95c857e3c31 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md
@@ -1,6 +1,6 @@
---
-title: Těžba
-description: Vysvětlení, jak fungovala těžba na Ethereu.
+title: "Těžba"
+description: "Vysvětlení, jak fungovala těžba na Ethereu."
lang: cs
---
@@ -17,8 +17,7 @@ Proof-of-work již není základním mechanismem konsensu Etherea, což znamená
Pro lepší pochopení této stránky doporučujeme si nejprve přečíst o [transakcích](/developers/docs/transactions/), [blocích](/developers/docs/blocks/) a [důkazu prací](/developers/docs/consensus-mechanisms/pow/).
-## Co je to těžba Etherea? Co je to těžba Etherea? {#what-is-ethereum-mining}
-
+## Co je to těžba Etherea? {#what-is-ethereum-mining}
Těžení je proces vytváření bloků transakcí, které byly přidávány do blockchainu Etherea v dříve používané architektuře proof-of-work.
Slovo „těžení“ pochází z analogie se zlatem v kontextu kryptoměn. Zlaté nebo cenné kovy jsou vzácné, stejně jako digitální tokeny, a jediným způsobem, jak zvýšit jejich celkový objem v systému proof-of-work, je těžení. Na proof-of-work Ethereu byl jediný způsob, jak vydávat nové ETH, právě těžba. Na rozdíl od zlata nebo cenných kovů však těžení Etherea také sloužilo k zabezpečení sítě tím, že vytvářelo, ověřovalo, publikovalo a šířilo bloky blockchainu.
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
index c2fd53e98c2..262a81c7f07 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
@@ -1,6 +1,6 @@
---
title: Dagger-Hashimoto
-description: Podrobný pohled na algoritmus Dagger-Hashimoto.
+description: "Podrobný pohled na algoritmus Dagger-Hashimoto."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
index 93e4f1fa923..ec0f21a36c1 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
@@ -1,6 +1,6 @@
---
title: Ethash
-description: Podrobný pohled na algoritmus Ethash.
+description: "Podrobný pohled na algoritmus Ethash."
lang: cs
---
@@ -8,7 +8,7 @@ lang: cs
- Ethash byl algoritmus Etherea pro těžbu s důkazem prací. Důkaz prací byl nyní **zcela vypnut** a Ethereum je místo toho zabezpečeno pomocí [důkazu podílem](/developers/docs/consensus-mechanisms/pos/). Přečtěte si více o [Sloučení](/roadmap/merge/), [důkazu podílem](/developers/docs/consensus-mechanisms/pos/) a [uzamčení](/staking/). Tato stránka má pouze historickou hodnotu!
+ Ethash byl algoritmus Etherea pro těžbu s důkazem prací. Důkaz prací byl nyní **zcela vypnut** a Ethereum je místo toho zabezpečeno pomocí [důkazu podílem](/developers/docs/consensus-mechanisms/pos/). Přečtěte si více o [Sloučení](/roadmap/merge/), [důkazu podílem](/developers/docs/consensus-mechanisms/pos/) a [uzamčení](/staking/). Tato stránka má pouze historickou hodnotu!
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
index 4b6dd5f98a1..707392b17b8 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
@@ -1,6 +1,6 @@
---
-title: Těžební algoritmy
-description: Podrobný pohled na algoritmy používané pro těžbu Etherea.
+title: "Těžební algoritmy"
+description: "Podrobný pohled na algoritmy používané pro těžbu Etherea."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/dapps/index.md b/public/content/translations/cs/developers/docs/dapps/index.md
index 45ae01d3237..6282fea3291 100644
--- a/public/content/translations/cs/developers/docs/dapps/index.md
+++ b/public/content/translations/cs/developers/docs/dapps/index.md
@@ -1,5 +1,5 @@
---
-title: Technický úvod do dapps
+title: "Technický úvod do dapps"
description:
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/data-and-analytics/block-explorers/index.md b/public/content/translations/cs/developers/docs/data-and-analytics/block-explorers/index.md
index 0582fb14bd9..4be9b14c9ae 100644
--- a/public/content/translations/cs/developers/docs/data-and-analytics/block-explorers/index.md
+++ b/public/content/translations/cs/developers/docs/data-and-analytics/block-explorers/index.md
@@ -1,6 +1,6 @@
---
-title: Průzkumníci bloků
-description: Úvod k průzkumníkům bloků, vašeho portálu do světa blockchainových dat, kde můžete vyhledávat informace o transakcích, účtech, kontraktech a dalších.
+title: "Průzkumníci bloků"
+description: "Úvod k průzkumníkům bloků, vašeho portálu do světa blockchainových dat, kde můžete vyhledávat informace o transakcích, účtech, kontraktech a dalších."
lang: cs
sidebarDepth: 3
---
diff --git a/public/content/translations/cs/developers/docs/data-and-analytics/index.md b/public/content/translations/cs/developers/docs/data-and-analytics/index.md
index b4d73e9b562..35b959ca3d2 100644
--- a/public/content/translations/cs/developers/docs/data-and-analytics/index.md
+++ b/public/content/translations/cs/developers/docs/data-and-analytics/index.md
@@ -1,6 +1,6 @@
---
title: Data a analytika
-description: Jak získat on-chainové analýzy a data pro použití ve vašich dapps
+description: "Jak získat on-chainové analýzy a data pro použití ve vašich dapps"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md b/public/content/translations/cs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
index 5b27f068a69..16f612b4b50 100644
--- a/public/content/translations/cs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
+++ b/public/content/translations/cs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
@@ -1,6 +1,6 @@
---
-title: Strategie ukládání dat na blockchainu
-description: Existuje několik způsobů, jak ukládat data pomocí blockchainu. Tento článek porovná různé strategie, jejich náklady a kompromisy, a také požadavky na jejich bezpečné používání.
+title: "Strategie ukládání dat na blockchainu"
+description: "Existuje několik způsobů, jak ukládat data pomocí blockchainu. Tento článek porovná různé strategie, jejich náklady a kompromisy, a také požadavky na jejich bezpečné používání."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/data-availability/index.md b/public/content/translations/cs/developers/docs/data-availability/index.md
index a778ae0c1d2..367fc9b779d 100644
--- a/public/content/translations/cs/developers/docs/data-availability/index.md
+++ b/public/content/translations/cs/developers/docs/data-availability/index.md
@@ -1,6 +1,6 @@
---
title: Dostupnost dat
-description: Přehled problémů a řešení souvisejících s dostupností dat na Ethereu
+description: "Přehled problémů a řešení souvisejících s dostupností dat na Ethereu"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/data-structures-and-encoding/index.md b/public/content/translations/cs/developers/docs/data-structures-and-encoding/index.md
index 5806737c42e..f5378fc1af6 100644
--- a/public/content/translations/cs/developers/docs/data-structures-and-encoding/index.md
+++ b/public/content/translations/cs/developers/docs/data-structures-and-encoding/index.md
@@ -1,6 +1,6 @@
---
-title: Datové struktury a kódování
-description: Přehled základních datových struktur Etherea.
+title: "Datové struktury a kódování"
+description: "Přehled základních datových struktur Etherea."
lang: cs
sidebarDepth: 2
---
diff --git a/public/content/translations/cs/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md b/public/content/translations/cs/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
index b1af27fb014..1671a39aa88 100644
--- a/public/content/translations/cs/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
+++ b/public/content/translations/cs/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
@@ -1,6 +1,6 @@
---
title: Merkle Patricia Trie
-description: Úvod do Merkle Patricia Trie.
+description: "Úvod do Merkle Patricia Trie."
lang: cs
sidebarDepth: 2
---
@@ -79,7 +79,7 @@ Radixové trie mají jednu zásadní nevýhodu: jsou neefektivní. Pokud chcete
Uzel v Merkle Patricia trie je jedním z následujících:
1. `NULL` (reprezentován jako prázdný řetězec)
-2. `branch` 17položkový uzel `[ v0 ...` v15, vt ]\`
+2. `branch` 17položkový uzel `[ v0 ...` v15, vt ]`
3. `leaf` 2položkový uzel `[ encodedPath, value ]`
4. `extension` 2položkový uzel `[ encodedPath, key ]`
diff --git a/public/content/translations/cs/developers/docs/data-structures-and-encoding/rlp/index.md b/public/content/translations/cs/developers/docs/data-structures-and-encoding/rlp/index.md
index 2b1d434d91c..230dbd9f3ea 100644
--- a/public/content/translations/cs/developers/docs/data-structures-and-encoding/rlp/index.md
+++ b/public/content/translations/cs/developers/docs/data-structures-and-encoding/rlp/index.md
@@ -1,6 +1,6 @@
---
-title: Serializace rekurzivního délkového prefixu (RLP)
-description: Definice kódování RLP v exekuční vrstvě Etherea.
+title: "Serializace rekurzivního délkového prefixu (RLP)"
+description: "Definice kódování RLP v exekuční vrstvě Etherea."
lang: cs
sidebarDepth: 2
---
diff --git a/public/content/translations/cs/developers/docs/data-structures-and-encoding/ssz/index.md b/public/content/translations/cs/developers/docs/data-structures-and-encoding/ssz/index.md
index 7d5784a39bd..f2011db0dcd 100644
--- a/public/content/translations/cs/developers/docs/data-structures-and-encoding/ssz/index.md
+++ b/public/content/translations/cs/developers/docs/data-structures-and-encoding/ssz/index.md
@@ -1,6 +1,6 @@
---
-title: Jednoduchá serializace
-description: Vysvětlení formátu SSZ Etherea.
+title: "Jednoduchá serializace"
+description: "Vysvětlení formátu SSZ Etherea."
lang: cs
sidebarDepth: 2
---
diff --git a/public/content/translations/cs/developers/docs/data-structures-and-encoding/web3-secret-storage/index.md b/public/content/translations/cs/developers/docs/data-structures-and-encoding/web3-secret-storage/index.md
index 01835a97a08..42df8413a93 100644
--- a/public/content/translations/cs/developers/docs/data-structures-and-encoding/web3-secret-storage/index.md
+++ b/public/content/translations/cs/developers/docs/data-structures-and-encoding/web3-secret-storage/index.md
@@ -1,6 +1,6 @@
---
-title: Definice tajného úložiště web3
-description: Formální definice pro tajné úložiště web3
+title: "Definice tajného úložiště web3"
+description: "Formální definice pro tajné úložiště web3"
lang: cs
sidebarDepth: 2
---
diff --git a/public/content/translations/cs/developers/docs/design-and-ux/dex-design-best-practice/index.md b/public/content/translations/cs/developers/docs/design-and-ux/dex-design-best-practice/index.md
index 8f9371277a5..c94cfec2cd8 100644
--- a/public/content/translations/cs/developers/docs/design-and-ux/dex-design-best-practice/index.md
+++ b/public/content/translations/cs/developers/docs/design-and-ux/dex-design-best-practice/index.md
@@ -1,6 +1,6 @@
---
-title: Osvědčené postupy návrhu decentralizovaných burz (DEX)
-description: Průvodce vysvětlující rozhodnutí o návrhu UX/UI pro směnu tokenů.
+title: "Osvědčené postupy návrhu decentralizovaných burz (DEX)"
+description: "Průvodce vysvětlující rozhodnutí o návrhu UX/UI pro směnu tokenů."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/design-and-ux/heuristics-for-web3/index.md b/public/content/translations/cs/developers/docs/design-and-ux/heuristics-for-web3/index.md
index 1fbd91d1f49..3c6b86124cf 100644
--- a/public/content/translations/cs/developers/docs/design-and-ux/heuristics-for-web3/index.md
+++ b/public/content/translations/cs/developers/docs/design-and-ux/heuristics-for-web3/index.md
@@ -1,6 +1,6 @@
---
-title: 7 heuristik pro návrh rozhraní Web3
-description: Principy pro zlepšení použitelnosti Web3
+title: "7 heuristik pro návrh rozhraní Web3"
+description: "Principy pro zlepšení použitelnosti Web3"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/design-and-ux/index.md b/public/content/translations/cs/developers/docs/design-and-ux/index.md
index 977a329af24..941351f36c8 100644
--- a/public/content/translations/cs/developers/docs/design-and-ux/index.md
+++ b/public/content/translations/cs/developers/docs/design-and-ux/index.md
@@ -1,6 +1,6 @@
---
title: Design a UX ve web3
-description: Úvod do UX designu a výzkumu ve web3 prostoru a v ekosystému Etherea
+description: "Úvod do UX designu a výzkumu ve web3 prostoru a v ekosystému Etherea"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/development-networks/index.md b/public/content/translations/cs/developers/docs/development-networks/index.md
index 6e437efb921..4be1a2a37d7 100644
--- a/public/content/translations/cs/developers/docs/development-networks/index.md
+++ b/public/content/translations/cs/developers/docs/development-networks/index.md
@@ -1,6 +1,6 @@
---
-title: Vývojové sítě
-description: Přehled vývojových sítí a dostupných nástrojů, nápomocných při vytváření aplikací pro Ethereum.
+title: "Vývojové sítě"
+description: "Přehled vývojových sítí a dostupných nástrojů, nápomocných při vytváření aplikací pro Ethereum."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/ethereum-stack/index.md b/public/content/translations/cs/developers/docs/ethereum-stack/index.md
index d17de489be9..2f50ff8387a 100644
--- a/public/content/translations/cs/developers/docs/ethereum-stack/index.md
+++ b/public/content/translations/cs/developers/docs/ethereum-stack/index.md
@@ -1,6 +1,6 @@
---
-title: Úvod do stacku Etherea
-description: Průvodce různými vrstvami Ethereum zásobníku a tím, jak do sebe zapadají.
+title: "Úvod do stacku Etherea"
+description: "Průvodce různými vrstvami Ethereum zásobníku a tím, jak do sebe zapadají."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/evm/index.md b/public/content/translations/cs/developers/docs/evm/index.md
index 2f3bb1d61ad..07b75a0fb7b 100644
--- a/public/content/translations/cs/developers/docs/evm/index.md
+++ b/public/content/translations/cs/developers/docs/evm/index.md
@@ -1,6 +1,6 @@
---
-title: Virtuální stroj Etherea (EVM)
-description: Úvod do virtuálního stroje Etherea a jeho vztah ke stavu, transakcím a chytrým kontraktům.
+title: "Virtuální stroj Etherea (EVM)"
+description: "Úvod do virtuálního stroje Etherea a jeho vztah ke stavu, transakcím a chytrým kontraktům."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/evm/opcodes/index.md b/public/content/translations/cs/developers/docs/evm/opcodes/index.md
index 7ce441bdd37..165085b5dc8 100644
--- a/public/content/translations/cs/developers/docs/evm/opcodes/index.md
+++ b/public/content/translations/cs/developers/docs/evm/opcodes/index.md
@@ -1,6 +1,6 @@
---
-title: Operační kódy pro EVM
-description: Seznam všech dostupných operačních kódů pro Virtuální stroj Etherea.
+title: "Operační kódy pro EVM"
+description: "Seznam všech dostupných operačních kódů pro Virtuální stroj Etherea."
lang: cs
---
@@ -84,7 +84,7 @@ Pro operace s dynamickými náklady na plyn viz [gas.md](https://github.com/wolf
| 54 | SLOAD | [A6](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a6-sload) | `key` | `storage[key]` | | přečíst slovo z úložiště | |
| 55 | SSTORE | [A7](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a7-sstore) | `key, val` | `.` | storage[key] := val | zapsat slovo do úložiště | |
| 56 | JUMP | 8 | `dst` | `.` | | `$pc := dst` označuje, že `pc` se přiřadí, pouze pokud je `dst` platný cíl skoku | |
-| 57 | JUMPI | 10 | `dst, condition` | `.` | | `$pc := condition ?` dst : $pc + 1\` | |
+| 57 | JUMPI | 10 | `dst, condition` | `.` | | `$pc := condition ?` dst : $pc + 1` | |
| 58 | PC | 2 | `.` | `$pc` | | čítač programu | |
| 59 | MSIZE | 2 | `.` | `len(mem)` | | velikost paměti v aktuálním kontextu provádění, v bajtech | |
| 5A | GAS | 2 | `.` | `gasRemaining` | | | |
diff --git a/public/content/translations/cs/developers/docs/frameworks/index.md b/public/content/translations/cs/developers/docs/frameworks/index.md
index d21d1e87822..cd02dfca5cd 100644
--- a/public/content/translations/cs/developers/docs/frameworks/index.md
+++ b/public/content/translations/cs/developers/docs/frameworks/index.md
@@ -1,6 +1,6 @@
---
-title: Frameworky pro vývoj dappek
-description: Prozkoumejte výhody frameworků a porovnejte dostupné možnosti.
+title: "Frameworky pro vývoj dappek"
+description: "Prozkoumejte výhody frameworků a porovnejte dostupné možnosti."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/gas/index.md b/public/content/translations/cs/developers/docs/gas/index.md
index 339b7110c97..c4c6e4c1c15 100644
--- a/public/content/translations/cs/developers/docs/gas/index.md
+++ b/public/content/translations/cs/developers/docs/gas/index.md
@@ -1,7 +1,7 @@
---
title: Palivo a poplatky
metaTitle: "Palivo a poplatky na Ethereu: technický přehled"
-description: Zjistěte více o poplatcích za palivo na Ethereu, jak se vypočítávají a jakou roli hrají v zabezpečení sítě a zpracování transakcí.
+description: "Zjistěte více o poplatcích za palivo na Ethereu, jak se vypočítávají a jakou roli hrají v zabezpečení sítě a zpracování transakcí."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/ides/index.md b/public/content/translations/cs/developers/docs/ides/index.md
index c29a8874b24..016ccc0ac00 100644
--- a/public/content/translations/cs/developers/docs/ides/index.md
+++ b/public/content/translations/cs/developers/docs/ides/index.md
@@ -1,6 +1,6 @@
---
-title: Integrovaná vývojová prostředí (IDE)
-description: Přečtěte si o webových a desktopových IDE pro vývoj na Ethereu, včetně Remixu, VS Code a oblíbených pluginů.
+title: "Integrovaná vývojová prostředí (IDE)"
+description: "Přečtěte si o webových a desktopových IDE pro vývoj na Ethereu, včetně Remixu, VS Code a oblíbených pluginů."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/index.md b/public/content/translations/cs/developers/docs/index.md
index 40a1a2be5f5..8d20727b83c 100644
--- a/public/content/translations/cs/developers/docs/index.md
+++ b/public/content/translations/cs/developers/docs/index.md
@@ -1,6 +1,6 @@
---
-title: Dokumentace pro vývoj na Ethereu
-description: Představení vývojářské dokumentace na ethereum.org.
+title: "Dokumentace pro vývoj na Ethereu"
+description: "Představení vývojářské dokumentace na ethereum.org."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/intro-to-ether/index.md b/public/content/translations/cs/developers/docs/intro-to-ether/index.md
index 4ee02655445..a5d26126305 100644
--- a/public/content/translations/cs/developers/docs/intro-to-ether/index.md
+++ b/public/content/translations/cs/developers/docs/intro-to-ether/index.md
@@ -1,6 +1,6 @@
---
-title: Technický úvod do etheru
-description: Úvod ke kryptoměně ether pro vývojáře.
+title: "Technický úvod do etheru"
+description: "Úvod ke kryptoměně ether pro vývojáře."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md b/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md
index 2adfe450ab7..aa567d42120 100644
--- a/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md
+++ b/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md
@@ -1,11 +1,10 @@
---
-title: Technický úvod do Etherea
-description: Úvod do základních konceptů Etherea pro vývojáře dappek.
+title: "Technický úvod do Etherea"
+description: "Úvod do základních konceptů Etherea pro vývojáře dappek."
lang: cs
---
-## Co je to blockchain? Co je to blockchain? {#what-is-a-blockchain}
-
+## Co je to blockchain? {#what-is-a-blockchain}
Blockchain je veřejná databáze, která je aktualizována a sdílena mnoha počítači v síti.
„Blok“ odkazuje na data a stavy účtů uložené v po sobě jdoucích skupinách známých jako „bloky“. Jestliže pošlete ETH někomu jinému, data transakce musí být přidána do bloku, aby byla úspěšně vykonána.
diff --git a/public/content/translations/cs/developers/docs/mev/index.md b/public/content/translations/cs/developers/docs/mev/index.md
index ef031367c41..2d9bfb56e5b 100644
--- a/public/content/translations/cs/developers/docs/mev/index.md
+++ b/public/content/translations/cs/developers/docs/mev/index.md
@@ -1,6 +1,6 @@
---
-title: Maximální extrahovatelná hodnota (MEV)
-description: Úvod do maximální extrahovatelné hodnoty (MEV)
+title: "Maximální extrahovatelná hodnota (MEV)"
+description: "Úvod do maximální extrahovatelné hodnoty (MEV)"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/networking-layer/index.md b/public/content/translations/cs/developers/docs/networking-layer/index.md
index 899dc8c3a71..3c7fb3c4da8 100644
--- a/public/content/translations/cs/developers/docs/networking-layer/index.md
+++ b/public/content/translations/cs/developers/docs/networking-layer/index.md
@@ -1,6 +1,6 @@
---
-title: Síťová vrstva
-description: Úvod do síťové vrstvy Etherea.
+title: "Síťová vrstva"
+description: "Úvod do síťové vrstvy Etherea."
lang: cs
sidebarDepth: 2
---
diff --git a/public/content/translations/cs/developers/docs/networking-layer/network-addresses/index.md b/public/content/translations/cs/developers/docs/networking-layer/network-addresses/index.md
index 71404bea61e..ca7d334d891 100644
--- a/public/content/translations/cs/developers/docs/networking-layer/network-addresses/index.md
+++ b/public/content/translations/cs/developers/docs/networking-layer/network-addresses/index.md
@@ -1,6 +1,6 @@
---
-title: Síťové adresy
-description: Úvod do síťových adres.
+title: "Síťové adresy"
+description: "Úvod do síťových adres."
lang: cs
sidebarDepth: 2
---
diff --git a/public/content/translations/cs/developers/docs/networking-layer/portal-network/index.md b/public/content/translations/cs/developers/docs/networking-layer/portal-network/index.md
index b6560a9f77f..7df3d36c484 100644
--- a/public/content/translations/cs/developers/docs/networking-layer/portal-network/index.md
+++ b/public/content/translations/cs/developers/docs/networking-layer/portal-network/index.md
@@ -1,6 +1,6 @@
---
title: The Portal Network
-description: Přehled sítě Portal Network - sítě ve vývoji, navržené pro podporu nízkozdrojových klientů.
+description: "Přehled sítě Portal Network - sítě ve vývoji, navržené pro podporu nízkozdrojových klientů."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/networks/index.md b/public/content/translations/cs/developers/docs/networks/index.md
index 3e1d415cf36..252cc599d2c 100644
--- a/public/content/translations/cs/developers/docs/networks/index.md
+++ b/public/content/translations/cs/developers/docs/networks/index.md
@@ -1,6 +1,6 @@
---
-title: Sítě
-description: Přehled sítí Etherea a návod, kde získat ether (ETH) testovací sítě pro testování vaší aplikace.
+title: "Sítě"
+description: "Přehled sítí Etherea a návod, kde získat ether (ETH) testovací sítě pro testování vaší aplikace."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/archive-nodes/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/archive-nodes/index.md
index bc74188d927..2f3b56f5a54 100644
--- a/public/content/translations/cs/developers/docs/nodes-and-clients/archive-nodes/index.md
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/archive-nodes/index.md
@@ -1,6 +1,6 @@
---
-title: Archivní uzel Etherea
-description: Přehled archivních uzlů
+title: "Archivní uzel Etherea"
+description: "Přehled archivních uzlů"
lang: cs
sidebarDepth: 2
---
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/bootnodes/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/bootnodes/index.md
index 43f16123ff5..9a933dd3818 100644
--- a/public/content/translations/cs/developers/docs/nodes-and-clients/bootnodes/index.md
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/bootnodes/index.md
@@ -1,6 +1,6 @@
---
-title: Úvod do Ethereum bootnodů
-description: Základní informace, které potřebujete k pochopení bootnodů
+title: "Úvod do Ethereum bootnodů"
+description: "Základní informace, které potřebujete k pochopení bootnodů"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/client-diversity/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/client-diversity/index.md
index b904212d18a..d9b537dbc1e 100644
--- a/public/content/translations/cs/developers/docs/nodes-and-clients/client-diversity/index.md
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/client-diversity/index.md
@@ -1,6 +1,6 @@
---
-title: Rozmanitost klientů
-description: Vysvětlení důležitosti diverzity klientů Etherea na vysoké úrovni.
+title: "Rozmanitost klientů"
+description: "Vysvětlení důležitosti diverzity klientů Etherea na vysoké úrovni."
lang: cs
sidebarDepth: 2
---
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/index.md
index 1852ba79206..5f143703cd5 100644
--- a/public/content/translations/cs/developers/docs/nodes-and-clients/index.md
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/index.md
@@ -1,6 +1,6 @@
---
title: " Uzly a klienty"
-description: Přehled uzlů a klientského softwaru Etherea, plus jak nastavit uzel a proč byste to měli dělat.
+description: "Přehled uzlů a klientského softwaru Etherea, plus jak nastavit uzel a proč byste to měli dělat."
lang: cs
sidebarDepth: 2
---
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/light-clients/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/light-clients/index.md
index 2f86bf458b1..53ac5c6fc97 100644
--- a/public/content/translations/cs/developers/docs/nodes-and-clients/light-clients/index.md
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/light-clients/index.md
@@ -1,6 +1,6 @@
---
-title: Jednoduché klienty
-description: Úvod do lehkých klientů Etherea.
+title: "Jednoduché klienty"
+description: "Úvod do lehkých klientů Etherea."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/node-architecture/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/node-architecture/index.md
index eef746119e3..26199ed95d3 100644
--- a/public/content/translations/cs/developers/docs/nodes-and-clients/node-architecture/index.md
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/node-architecture/index.md
@@ -1,6 +1,6 @@
---
-title: Architektura uzlů
-description: Úvod do organizace uzlů sítě Ethereum.
+title: "Architektura uzlů"
+description: "Úvod do organizace uzlů sítě Ethereum."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
index c0142c75fb4..423a9bbe6a4 100644
--- a/public/content/translations/cs/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
@@ -1,6 +1,6 @@
---
-title: Uzly jako služba
-description: Úvodní přehled služeb uzlů, jejich výhody a nevýhody a oblíbení poskytovatelé.
+title: "Uzly jako služba"
+description: "Úvodní přehled služeb uzlů, jejich výhody a nevýhody a oblíbení poskytovatelé."
lang: cs
sidebarDepth: 2
---
diff --git a/public/content/translations/cs/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/translations/cs/developers/docs/nodes-and-clients/run-a-node/index.md
index 87b16da06d9..89ec933a3db 100644
--- a/public/content/translations/cs/developers/docs/nodes-and-clients/run-a-node/index.md
+++ b/public/content/translations/cs/developers/docs/nodes-and-clients/run-a-node/index.md
@@ -1,6 +1,6 @@
---
-title: Spusťte si vlastní uzel Etherea
-description: Obecný úvod do spouštění vlastní instance klienta Etherea.
+title: "Spusťte si vlastní uzel Etherea"
+description: "Obecný úvod do spouštění vlastní instance klienta Etherea."
lang: cs
sidebarDepth: 2
---
@@ -236,7 +236,7 @@ Tato část vás provede spuštěním exekučních klientů. Slouží pouze jako
Mějte na paměti, že se jedná pouze o základní příklad, všechna ostatní nastavení budou nastavena na výchozí hodnoty. Věnujte pozornost dokumentaci každého klienta, abyste se dozvěděli o výchozích hodnotách, nastaveních a funkcích. Pro více funkcí, například pro provozování validátorů, monitorování atd., se prosím obraťte na dokumentaci konkrétního klienta.
-> Všimněte si, že zpětná lomítka `\` v příkladech slouží pouze pro účely formátování; konfigurační příznaky lze definovat na jednom řádku.
+> Všimněte si, že zpětná lomítka `` v příkladech slouží pouze pro účely formátování; konfigurační příznaky lze definovat na jednom řádku.
##### Spuštění Besu
diff --git a/public/content/translations/cs/developers/docs/oracles/index.md b/public/content/translations/cs/developers/docs/oracles/index.md
index b4c6ce0ea2d..974b3af2d04 100644
--- a/public/content/translations/cs/developers/docs/oracles/index.md
+++ b/public/content/translations/cs/developers/docs/oracles/index.md
@@ -1,6 +1,6 @@
---
title: Data oracle
-description: Orákula poskytují smart kontraktům na Ethereu přístup k reálným datům, čímž otevírají nové způsoby použití a přinášejí větší hodnotu pro uživatele.
+description: "Orákula poskytují smart kontraktům na Ethereu přístup k reálným datům, čímž otevírají nové způsoby použití a přinášejí větší hodnotu pro uživatele."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/dart/index.md b/public/content/translations/cs/developers/docs/programming-languages/dart/index.md
index 0b91fbc1824..77dbf4c1d3d 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/dart/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/dart/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum pro vývojáře v Dartu
-description: Naučte se vyvíjet na Ethereu v jazyce Dart
+title: "Ethereum pro vývojáře v Dartu"
+description: "Naučte se vyvíjet na Ethereu v jazyce Dart"
lang: cs
incomplete: true
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/delphi/index.md b/public/content/translations/cs/developers/docs/programming-languages/delphi/index.md
index 16c960d4b86..2a137b8ee9c 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/delphi/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/delphi/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum pro vývojáře v Delphi
-description: Naučte se vyvíjet pro Ethereum v programovacím jazyce Delphi
+title: "Ethereum pro vývojáře v Delphi"
+description: "Naučte se vyvíjet pro Ethereum v programovacím jazyce Delphi"
lang: cs
incomplete: true
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/dot-net/index.md b/public/content/translations/cs/developers/docs/programming-languages/dot-net/index.md
index a015a3f10cc..def42abb1e7 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/dot-net/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/dot-net/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum pro vývojáře v .NET
-description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na .NET
+title: "Ethereum pro vývojáře v .NET"
+description: "Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na .NET"
lang: cs
incomplete: true
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/elixir/index.md b/public/content/translations/cs/developers/docs/programming-languages/elixir/index.md
index d880f6e02a8..c804842aa3a 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/elixir/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/elixir/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum pro Elixir vývojáře
-description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Elixiru.
+title: "Ethereum pro Elixir vývojáře"
+description: "Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Elixiru."
lang: cs
incomplete: false
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/golang/index.md b/public/content/translations/cs/developers/docs/programming-languages/golang/index.md
index 879ce8219c2..1d1d8c40b9d 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/golang/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/golang/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum pro vývojáře v Go
-description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů v jazyce Go
+title: "Ethereum pro vývojáře v Go"
+description: "Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů v jazyce Go"
lang: cs
incomplete: true
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/index.md b/public/content/translations/cs/developers/docs/programming-languages/index.md
index f30074129f9..6d0e0e5cd9d 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/index.md
@@ -1,6 +1,6 @@
---
-title: Programovací jazyky
-description: Objevte vývojářské zdroje informací pro Ethereum v různých programovacích jazycích, včetně JavaScript, Python, Go, Rust a dalších.
+title: "Programovací jazyky"
+description: "Objevte vývojářské zdroje informací pro Ethereum v různých programovacích jazycích, včetně JavaScript, Python, Go, Rust a dalších."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/java/index.md b/public/content/translations/cs/developers/docs/programming-languages/java/index.md
index 6cfe5b0255b..b5327a8f724 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/java/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/java/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum pro vývojáře v Javě
-description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Javě
+title: "Ethereum pro vývojáře v Javě"
+description: "Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Javě"
lang: cs
incomplete: true
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/javascript/index.md b/public/content/translations/cs/developers/docs/programming-languages/javascript/index.md
index 503807f51ca..2e9c50ec513 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/javascript/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/javascript/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum pro vývojáře v JavaScriptu
-description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na JavaScriptu.
+title: "Ethereum pro vývojáře v JavaScriptu"
+description: "Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na JavaScriptu."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/python/index.md b/public/content/translations/cs/developers/docs/programming-languages/python/index.md
index 149709ef074..f6031c73d6f 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/python/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/python/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum pro vývojáře v Pythonu
-description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Pythonu
+title: "Ethereum pro vývojáře v Pythonu"
+description: "Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Pythonu"
lang: cs
incomplete: true
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/ruby/index.md b/public/content/translations/cs/developers/docs/programming-languages/ruby/index.md
index d58e3e33cf3..57c22138e57 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/ruby/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/ruby/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum pro vývojáře v Ruby
-description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Ruby.
+title: "Ethereum pro vývojáře v Ruby"
+description: "Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Ruby."
lang: cs
incomplete: false
---
diff --git a/public/content/translations/cs/developers/docs/programming-languages/rust/index.md b/public/content/translations/cs/developers/docs/programming-languages/rust/index.md
index 834df3907fa..8167a2d99c7 100644
--- a/public/content/translations/cs/developers/docs/programming-languages/rust/index.md
+++ b/public/content/translations/cs/developers/docs/programming-languages/rust/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum pro vývojáře v Rustu
-description: Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Rustu
+title: "Ethereum pro vývojáře v Rustu"
+description: "Naučte se vyvíjet pro Ethereum pomocí projektů a nástrojů založených na Rustu"
lang: cs
incomplete: true
---
diff --git a/public/content/translations/cs/developers/docs/scaling/index.md b/public/content/translations/cs/developers/docs/scaling/index.md
index 52bc73c85f1..1aef8c745b4 100644
--- a/public/content/translations/cs/developers/docs/scaling/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/index.md
@@ -1,6 +1,6 @@
---
-title: Škálování
-description: Úvod do různých škálovacích možností, které v současné době vyvíjí ethereovská komunita.
+title: "Škálování"
+description: "Úvod do různých škálovacích možností, které v současné době vyvíjí ethereovská komunita."
lang: cs
sidebarDepth: 3
---
diff --git a/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
index c1c14d39fc4..c42bb7a9961 100644
--- a/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
@@ -1,6 +1,6 @@
---
-title: Optimistické rollupy
-description: Úvod do optimistických rollapů – řešení pro škálování, které používá komunita Etherea.
+title: "Optimistické rollupy"
+description: "Úvod do optimistických rollapů – řešení pro škálování, které používá komunita Etherea."
lang: cs
---
@@ -12,8 +12,7 @@ Protože výpočty jsou pomalou a nákladnou součástí používání Etherea,
Měli byste mít přečteny naše stránky o [škálování Etherea](/developers/docs/scaling/) a [vrstvě 2](/layer-2/).
-## Co je to optimistický rollup? Co je to optimistický rollup? {#what-is-an-optimistic-rollup}
-
+## Co je to optimistický rollup? {#what-is-an-optimistic-rollup}
Optimistický rollup je přístup ke škálování Etherea, který zahrnuje přesun výpočtů a ukládání stavu mimo řetězec. Optimistické rollupy provádějí transakce mimo Ethereum, ale zveřejňují data transakcí na Mainnetu jako `calldata` nebo v [blobech](/roadmap/danksharding/).
Operátoři optimistických rollupů seskupují více transakcí mimo řetězec do velkých balíčků, které následně odesílají na Ethereum. Tento přístup umožňuje rozložit fixní náklady mezi více transakcí v každém balíčku, což snižuje poplatky pro koncové uživatele. Optimistické rollupy ke snížení množství dat zveřejňovaných na Ethereum využívají i kompresní techniky.
@@ -70,8 +69,7 @@ Další rolí Etherea v kontextu optimistických rollupů je role vyrovnávací
Ethereum Mainnet poskytuje centrum pro ověřování důkazů podvodu a řešení sporů na optimistických rollupech. Navíc jsou transakce provedené na rollupu považovány za finální až _poté_, co je blok rollupu přijat na Ethereum. Jakmile je transakce rollupu zapsána do základní vrstvy Etherea, nelze ji vrátit zpět (s výjimkou velmi nepravděpodobného případu reorganizace řetězce).
-## Jak fungují optimistické rollupy? Jak fungují optimistické rollupy? {#how-optimistic-rollups-work}
-
+## Jak fungují optimistické rollupy? {#how-optimistic-rollups-work}
### Provedení a agregace transakcí {#transaction-execution-and-aggregation}
Uživatelé odesílají transakce „operátorům“, což jsou síťové uzly odpovědné za zpracování transakcí na optimistickém rollupu. Operátor, také známý jako „validátor“ nebo „agregátor“, agreguje transakce, komprimuje podkladová data a zveřejňuje bloky na Ethereu.
diff --git a/public/content/translations/cs/developers/docs/scaling/plasma/index.md b/public/content/translations/cs/developers/docs/scaling/plasma/index.md
index c71925dd224..1e73944799d 100644
--- a/public/content/translations/cs/developers/docs/scaling/plasma/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/plasma/index.md
@@ -1,6 +1,6 @@
---
-title: Plazmové řetězce
-description: Úvod do plazmových řetězců jako škálovacího řešení, které v současnosti využívá komunita Etherea.
+title: "Plazmové řetězce"
+description: "Úvod do plazmových řetězců jako škálovacího řešení, které v současnosti využívá komunita Etherea."
lang: cs
incomplete: true
sidebarDepth: 3
diff --git a/public/content/translations/cs/developers/docs/scaling/sidechains/index.md b/public/content/translations/cs/developers/docs/scaling/sidechains/index.md
index 8d91fa4e5d3..20e14001380 100644
--- a/public/content/translations/cs/developers/docs/scaling/sidechains/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/sidechains/index.md
@@ -1,6 +1,6 @@
---
-title: Postranní řetězce
-description: Úvod do postranních řetězců jako škálovacího řešení, které v současnosti využívá komunita Etherea.
+title: "Postranní řetězce"
+description: "Úvod do postranních řetězců jako škálovacího řešení, které v současnosti využívá komunita Etherea."
lang: cs
sidebarDepth: 3
---
diff --git a/public/content/translations/cs/developers/docs/scaling/state-channels/index.md b/public/content/translations/cs/developers/docs/scaling/state-channels/index.md
index a3d986e0f02..69ce9d16023 100644
--- a/public/content/translations/cs/developers/docs/scaling/state-channels/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/state-channels/index.md
@@ -1,6 +1,6 @@
---
-title: Stavové kanály
-description: Úvod do stavových kanálů a platebních kanálů jako škálovacího řešení, které v současné době využívá komunita Etherea.
+title: "Stavové kanály"
+description: "Úvod do stavových kanálů a platebních kanálů jako škálovacího řešení, které v současné době využívá komunita Etherea."
lang: cs
sidebarDepth: 3
---
diff --git a/public/content/translations/cs/developers/docs/scaling/validium/index.md b/public/content/translations/cs/developers/docs/scaling/validium/index.md
index 1debd7bf945..f413e76b461 100644
--- a/public/content/translations/cs/developers/docs/scaling/validium/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/validium/index.md
@@ -1,6 +1,6 @@
---
title: Validium
-description: Úvod do Validia jako škálovacího řešení, které v současné době využívá komunita Etherea.
+description: "Úvod do Validia jako škálovacího řešení, které v současné době využívá komunita Etherea."
lang: cs
sidebarDepth: 3
---
@@ -43,8 +43,7 @@ Ethereum, které funguje jako vrstva sloužící k vypořádání, také zaruču
Pokud on-chain ověřovací kontrakt shledá důkaz neplatným, jsou transakce zamítnuty. To znamená, že operátoři musí splnit podmínky platnosti vynucené protokolem Etherea před aktualizací stavu validia.
-## Jak validium funguje? Jak validium funguje? {#how-does-validium-work}
-
+## Jak validium funguje? {#how-does-validium-work}
### Transakce {#transactions}
Uživatelé předkládají transakce operátorovi, což je síťový uzel zodpovědný za provádění transakcí na validiu. Některá validia mohou používat k exekuci řetězce jediného operátora nebo se pro rotaci operátorů spoléhat na mechanismus [důkazu podílem (PoS)](/developers/docs/consensus-mechanisms/pos/).
diff --git a/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md
index b6c42255c01..b8dca47c9bd 100644
--- a/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md
@@ -1,6 +1,6 @@
---
-title: Rollupy s nulovým přístupem
-description: Úvod do rollupů s nulovou znalostí – řešení pro škálování, které používá komunita Etherea.
+title: "Rollupy s nulovým přístupem"
+description: "Úvod do rollupů s nulovou znalostí – řešení pro škálování, které používá komunita Etherea."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md b/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md
index d6cd1d76a08..6049029c3d9 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md
@@ -1,6 +1,6 @@
---
-title: Anatomie chytrých kontraktů
-description: Podrobný pohled na anatomii chytrého kontaktu – funkce, údaje a proměnné.
+title: "Anatomie chytrých kontraktů"
+description: "Podrobný pohled na anatomii chytrého kontaktu – funkce, údaje a proměnné."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md b/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md
index 88efd6439fa..7669de7c1bf 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md
@@ -1,6 +1,6 @@
---
-title: Kompilace chytrých kontraktů
-description: Vysvětlení, proč je třeba kompilovat chytré kontrakty a co kompilace vlastně dělá.
+title: "Kompilace chytrých kontraktů"
+description: "Vysvětlení, proč je třeba kompilovat chytré kontrakty a co kompilace vlastně dělá."
lang: cs
incomplete: true
---
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md b/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
index 524f1ffbc44..95525a1ac2f 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
@@ -1,6 +1,6 @@
---
-title: Složitelnost chytrých kontraktů
-description: Zjistěte, jak lze chytré kontrakty kombinovat jako kostky Lega a vytvářet tak komplexní dapps s využitím existujících komponent.
+title: "Složitelnost chytrých kontraktů"
+description: "Zjistěte, jak lze chytré kontrakty kombinovat jako kostky Lega a vytvářet tak komplexní dapps s využitím existujících komponent."
lang: cs
incomplete: true
---
@@ -15,8 +15,7 @@ Složitelnost znamená kombinování různých komponent k vytvoření nových s
Na Ethereu je každý chytrý kontrakt jakousi kostkou Lego – můžete použít chytré kontrakty z jiných projektů jako stavební bloky pro váš projekt. To znamená, že nemusíte trávit čas znovuobjevováním kola nebo začínáním od nuly.
-## Jak funguje složitelnost? Jak funguje složitelnost? {#how-does-composability-work}
-
+## Jak funguje složitelnost? {#how-does-composability-work}
Chytré kontrakty na Ethereu jsou jako veřejná API, takže s nimi může kdokoli pracovat nebo je integrovat do své dappky za účelem přidání funkcionality. Složitelnost chytrých kontraktů obecně funguje na třech principech: modularita, autonomie a objevitelnost:
**1.** Modularita\*\*: Schopnost jednotlivých komponent vykonávat specifickou úlohu. Na Ethereu má každý chytrý kontrakt specifické použití (jak je ukázáno v příkladu Uniswapu).
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md b/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md
index 5ef742b7b2a..3ff55c93682 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md
@@ -1,6 +1,6 @@
---
-title: Nasazování chytrých kontraktů
-description: Naučte se, jak nasazovat chytré kontrakty do sítí Etherea, včetně předpokladů, nástrojů a kroků nasazení.
+title: "Nasazování chytrých kontraktů"
+description: "Naučte se, jak nasazovat chytré kontrakty do sítí Etherea, včetně předpokladů, nástrojů a kroků nasazení."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md b/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
index 5c1c503f2eb..07b610475f2 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
@@ -1,6 +1,6 @@
---
-title: Formální ověření chytrých kontraktů
-description: Přehled formálního ověření pro chytré kontrakty na Ethereu
+title: "Formální ověření chytrých kontraktů"
+description: "Přehled formálního ověření pro chytré kontrakty na Ethereu"
lang: cs
---
@@ -30,8 +30,7 @@ Naopak, jiné formální modely se zaměřují na chování chytrého kontraktu
Nízkoúrovňové modely jsou považovány za ideální, protože představují skutečné provedení chytrého kontraktu v exekučním prostředí Etherea (tj. v [EVM](/developers/docs/evm/)). Techniky modelování na nízké úrovni jsou zvláště užitečné při stanovování kritických bezpečnostních vlastností chytrých kontraktů a detekci potenciálních zranitelností.
-### Co je formální specifikace? Co je formální specifikace? {#what-is-a-formal-specification}
-
+### Co je formální specifikace? {#what-is-a-formal-specification}
Specifikace je jednoduše řečeno technický požadavek, který musí daný systém splňovat. V programování představují specifikace obecné představy o provádění programu (tj. co by měl program dělat).
V kontextu chytrých kontraktů se formální specifikace vztahují na _vlastnosti_ – formální popisy požadavků, které musí kontrakt splňovat. Takové vlastnosti se označují jako „invarianty“ a představují logická tvrzení o provádění kontraktu, která musí zůstat pravdivá za všech okolností, bez jakýchkoliv výjimek.
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/index.md b/public/content/translations/cs/developers/docs/smart-contracts/index.md
index 6459332d824..f7d419ed8c7 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/index.md
@@ -1,6 +1,6 @@
---
-title: Úvod do smart kontraktů
-description: Přehled smart kontraktů se zaměřením na jejich jedinečné vlastnosti a omezení.
+title: "Úvod do smart kontraktů"
+description: "Přehled smart kontraktů se zaměřením na jejich jedinečné vlastnosti a omezení."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md b/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
index aef355bdd2c..53ff43f1027 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
@@ -1,6 +1,6 @@
---
-title: Jazyk chytrých kontraktů
-description: Přehled a srovnání dvou hlavních programovacích jazyků pro smart kontrakty – Solidity a Vyper.
+title: "Jazyk chytrých kontraktů"
+description: "Přehled a srovnání dvou hlavních programovacích jazyků pro smart kontrakty – Solidity a Vyper."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md b/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md
index 50e11d3368a..a4a42525d31 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md
@@ -1,6 +1,6 @@
---
-title: Knihovny smart kontraktů
-description: Objevte znovupoužitelné knihovny chytrých kontraktů a stavební bloky, které urychlí vaše vývojové projekty na Ethereu.
+title: "Knihovny smart kontraktů"
+description: "Objevte znovupoužitelné knihovny chytrých kontraktů a stavební bloky, které urychlí vaše vývojové projekty na Ethereu."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/naming/index.md b/public/content/translations/cs/developers/docs/smart-contracts/naming/index.md
index 375df061284..df78ca7fc2a 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/naming/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/naming/index.md
@@ -1,6 +1,6 @@
---
-title: Pojmenování chytrých kontraktů
-description: Osvědčené postupy pro pojmenování chytrých kontraktů Ethereum pomocí ENS
+title: "Pojmenování chytrých kontraktů"
+description: "Osvědčené postupy pro pojmenování chytrých kontraktů Ethereum pomocí ENS"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/security/index.md b/public/content/translations/cs/developers/docs/smart-contracts/security/index.md
index 362945c0d4f..2908be80b07 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/security/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/security/index.md
@@ -1,6 +1,6 @@
---
-title: Bezpečnost chytrých kontraktů
-description: Přehled pokynů pro vytváření bezpečných smart kontraktů na Ethereu
+title: "Bezpečnost chytrých kontraktů"
+description: "Přehled pokynů pro vytváření bezpečných smart kontraktů na Ethereu"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md b/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md
index 490b11d8dd8..66b58840374 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md
@@ -1,6 +1,6 @@
---
-title: Testování chytrých kontraktů
-description: Přehled technik a úvah využívaných při testování chytrých kontraktů na Ethereu.
+title: "Testování chytrých kontraktů"
+description: "Přehled technik a úvah využívaných při testování chytrých kontraktů na Ethereu."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md b/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
index 3b52ee13854..aa6a3f9ca3d 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
@@ -1,6 +1,6 @@
---
-title: Vylepšení chytrých kontraktů
-description: Přehled vzorů vylepšení pro chytré kontrakty na Ethereu
+title: "Vylepšení chytrých kontraktů"
+description: "Přehled vzorů vylepšení pro chytré kontrakty na Ethereu"
lang: cs
---
@@ -14,8 +14,7 @@ Zvýšený výzkum v oblasti vylepšování chytrých kontraktů však vedl k za
Měli byste dobře rozumět [chytrým kontraktům](/developers/docs/smart-contracts/), [anatomii chytrých kontraktů](/developers/docs/smart-contracts/anatomy/) a [Virtuálnímu stroji Etherea (EVM)](/developers/docs/evm/). Tato příručka také předpokládá, že čtenáři mají znalosti o programování chytrých kontraktů.
-## Co je to vylepšení chytrého kontraktu? Co je to vylepšení chytrého kontraktu? {#what-is-a-smart-contract-upgrade}
-
+## Co je to vylepšení chytrého kontraktu? {#what-is-a-smart-contract-upgrade}
Vylepšení chytrého kontraktu zahrnuje změnu obchodní logiky chytrého kontraktu při zachování jeho stavu. Je důležité objasnit, že možnost vylepšit a měnit nejsou totéž, zejména v kontextu chytrých kontraktů.
Program nasazený na adresu v síti Etherea stále nelze změnit. Můžete však změnit kód, který se spustí při interakci uživatelů s chytrým kontraktem.
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md b/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md
index a2669f2ed6c..e4554cedc1d 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md
@@ -1,6 +1,6 @@
---
-title: Ověřování chytrých kontraktů
-description: Přehled ověřování zdrojového kódu pro chytré kontrakty na Ethereu
+title: "Ověřování chytrých kontraktů"
+description: "Přehled ověřování zdrojového kódu pro chytré kontrakty na Ethereu"
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/standards/index.md b/public/content/translations/cs/developers/docs/standards/index.md
index a0d4aaee624..4dd4bc404a7 100644
--- a/public/content/translations/cs/developers/docs/standards/index.md
+++ b/public/content/translations/cs/developers/docs/standards/index.md
@@ -1,6 +1,6 @@
---
-title: Vývojové standardy Etherea
-description: Seznamte se se standardy Etherea, včetně EIP, tokenových standardů jako ERC-20 a ERC-721 a vývojových konvencí.
+title: "Vývojové standardy Etherea"
+description: "Seznamte se se standardy Etherea, včetně EIP, tokenových standardů jako ERC-20 a ERC-721 a vývojových konvencí."
lang: cs
incomplete: true
---
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-1155/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-1155/index.md
index ed2b2eae3f7..67b748d6a4d 100644
--- a/public/content/translations/cs/developers/docs/standards/tokens/erc-1155/index.md
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-1155/index.md
@@ -1,6 +1,6 @@
---
-title: Multitokenový standard ERC-1155
-description: Seznamte se s ERC-1155, standardem pro více tokenů, který v jednom smart kontraktu kombinuje zastupitelné a nezastupitelné tokeny.
+title: "Multitokenový standard ERC-1155"
+description: "Seznamte se s ERC-1155, standardem pro více tokenů, který v jednom smart kontraktu kombinuje zastupitelné a nezastupitelné tokeny."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-1363/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-1363/index.md
index a2b481422bf..bc56cf341cb 100644
--- a/public/content/translations/cs/developers/docs/standards/tokens/erc-1363/index.md
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-1363/index.md
@@ -1,6 +1,6 @@
---
-title: Standard zaplatitelného tokenu ERC-1363
-description: ERC-1363 je rozšiřující rozhraní pro tokeny ERC-20, které podporuje provádění vlastní logiky na kontraktu příjemce po převodech nebo na kontraktu plátce po schváleních, a to vše v rámci jediné transakce.
+title: "Standard zaplatitelného tokenu ERC-1363"
+description: "ERC-1363 je rozšiřující rozhraní pro tokeny ERC-20, které podporuje provádění vlastní logiky na kontraktu příjemce po převodech nebo na kontraktu plátce po schváleních, a to vše v rámci jediné transakce."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-20/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-20/index.md
index a326b797f5a..9441a703852 100644
--- a/public/content/translations/cs/developers/docs/standards/tokens/erc-20/index.md
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-20/index.md
@@ -1,6 +1,6 @@
---
title: Standart tokenu ERC-20
-description: Seznamte se s ERC-20, standardem pro zaměnitelné tokeny na síti Ethereum, který umožňuje interoperabilní tokenové aplikace.
+description: "Seznamte se s ERC-20, standardem pro zaměnitelné tokeny na síti Ethereum, který umožňuje interoperabilní tokenové aplikace."
lang: cs
---
@@ -165,7 +165,7 @@ Když jsou ERC-20 tokeny poslány do smart kontraktu, který není k práci s ni
I když není možné tomuto problému s ERC-20 zcela zabránit, existují metody, které umožňují výrazně snížit možnost ztráty tokenů pro koncového uživatele:
- Nejčastějším problémem je, když uživatel pošle tokeny na adresu samotného kontraktu tokenu (např. USDT vložené na adresu kontraktu tokenu USDT). Doporučuje se omezit funkci `transfer(..)` tak, aby takové pokusy o převod vrátila zpět. Zvažte přidání kontroly `require(_to != address(this));` v rámci implementace funkce `transfer(..)`.
-- Funkce `transfer(..)` obecně není určena k vkládání tokenů do kontraktů. `approve(..) Vzor `& transferFrom(..)`se namísto toho používá k vkládání tokenů ERC-20 do kontraktů. Je možné omezit funkci převodu tak, aby se s ní zakázalo vkládání tokenů do jakýchkoli kontraktů, může to však narušit kompatibilitu s kontrakty, které předpokládají, že tokeny lze vkládat do kontraktů pomocí funkce`trasnfer(..)\` (např. u poolů likvidity Uniswap).
+- Funkce `transfer(..)` obecně není určena k vkládání tokenů do kontraktů. `approve(..) Vzor `& transferFrom(..)`se namísto toho používá k vkládání tokenů ERC-20 do kontraktů. Je možné omezit funkci převodu tak, aby se s ní zakázalo vkládání tokenů do jakýchkoli kontraktů, může to však narušit kompatibilitu s kontrakty, které předpokládají, že tokeny lze vkládat do kontraktů pomocí funkce`trasnfer(..)` (např. u poolů likvidity Uniswap).
- Vždy předpokládejte, že tokeny ERC-20 mohou skončit ve vašem kontraktu, i když váš kontrakt nemá nikdy žádné přijímat. Na straně příjemce neexistuje žádný způsob, jak zabránit náhodným vkladům nebo je odmítnout. Doporučuje se implementovat funkci, která by umožnila extrahovat náhodně vložené tokeny ERC-20.
- Zvažte použití alternativních standardů tokenů.
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-223/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-223/index.md
index 03b93cd3fdc..5ce7f65f591 100644
--- a/public/content/translations/cs/developers/docs/standards/tokens/erc-223/index.md
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-223/index.md
@@ -1,6 +1,6 @@
---
title: Standart tokenu ERC-223
-description: Přehled standardu zastupitelných tokenů ERC-223, jak funguje a srovnání s ERC-20.
+description: "Přehled standardu zastupitelných tokenů ERC-223, jak funguje a srovnání s ERC-20."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-4626/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-4626/index.md
index 363e6557173..b9e09390174 100644
--- a/public/content/translations/cs/developers/docs/standards/tokens/erc-4626/index.md
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-4626/index.md
@@ -1,6 +1,6 @@
---
-title: Standard tokenizovaného trezoru ERC-4626
-description: Standard pro výnosové trezory.
+title: "Standard tokenizovaného trezoru ERC-4626"
+description: "Standard pro výnosové trezory."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-721/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-721/index.md
index 79ddaccb692..130d670a50b 100644
--- a/public/content/translations/cs/developers/docs/standards/tokens/erc-721/index.md
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-721/index.md
@@ -1,6 +1,6 @@
---
-title: Standard nezaměnitelného tokenu ERC-721
-description: Zjistěte více o ERC-721, standardu pro nezaměnitelné tokeny (NFT), které představují jedinečná digitální aktiva na Ethereu.
+title: "Standard nezaměnitelného tokenu ERC-721"
+description: "Zjistěte více o ERC-721, standardu pro nezaměnitelné tokeny (NFT), které představují jedinečná digitální aktiva na Ethereu."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/erc-777/index.md b/public/content/translations/cs/developers/docs/standards/tokens/erc-777/index.md
index 092aadca9f2..55954ef3b52 100644
--- a/public/content/translations/cs/developers/docs/standards/tokens/erc-777/index.md
+++ b/public/content/translations/cs/developers/docs/standards/tokens/erc-777/index.md
@@ -1,6 +1,6 @@
---
title: Standart tokenu ERC-777
-description: Seznamte se s ERC-777, vylepšeným standardem zaměnitelných tokenů s háčky, ačkoli z bezpečnostních důvodů je doporučeno používat ERC-20.
+description: "Seznamte se s ERC-777, vylepšeným standardem zaměnitelných tokenů s háčky, ačkoli z bezpečnostních důvodů je doporučeno používat ERC-20."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/standards/tokens/index.md b/public/content/translations/cs/developers/docs/standards/tokens/index.md
index 6fa0d1799b7..bd58a82576d 100644
--- a/public/content/translations/cs/developers/docs/standards/tokens/index.md
+++ b/public/content/translations/cs/developers/docs/standards/tokens/index.md
@@ -1,6 +1,6 @@
---
title: Standardy pro tokeny
-description: Prozkoumejte tokenové standardy sítě Ethereum, včetně ERC-20, ERC-721 a ERC-1155, pro zaměnitelné a nezaměnitelné tokeny.
+description: "Prozkoumejte tokenové standardy sítě Ethereum, včetně ERC-20, ERC-721 a ERC-1155, pro zaměnitelné a nezaměnitelné tokeny."
lang: cs
incomplete: true
---
diff --git a/public/content/translations/cs/developers/docs/storage/index.md b/public/content/translations/cs/developers/docs/storage/index.md
index 492a53eff7f..196b6481526 100644
--- a/public/content/translations/cs/developers/docs/storage/index.md
+++ b/public/content/translations/cs/developers/docs/storage/index.md
@@ -1,6 +1,6 @@
---
-title: Decentralizovaná úložiště
-description: Přehled toho, co je decentralizované úložiště, a dostupné nástroje pro jeho integraci do dappek.
+title: "Decentralizovaná úložiště"
+description: "Přehled toho, co je decentralizované úložiště, a dostupné nástroje pro jeho integraci do dappek."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/transactions/index.md b/public/content/translations/cs/developers/docs/transactions/index.md
index 95a28804a6d..34a30e537da 100644
--- a/public/content/translations/cs/developers/docs/transactions/index.md
+++ b/public/content/translations/cs/developers/docs/transactions/index.md
@@ -1,6 +1,6 @@
---
title: Transakce
-description: Přehled transakcí v síti Ethereum – jak fungují, jaká je jejich datová struktura a jak je odeslat prostřednictvím aplikace.
+description: "Přehled transakcí v síti Ethereum – jak fungují, jaká je jejich datová struktura a jak je odeslat prostřednictvím aplikace."
lang: cs
---
diff --git a/public/content/translations/cs/developers/docs/web2-vs-web3/index.md b/public/content/translations/cs/developers/docs/web2-vs-web3/index.md
index 86cef8145f3..b175a7936fc 100644
--- a/public/content/translations/cs/developers/docs/web2-vs-web3/index.md
+++ b/public/content/translations/cs/developers/docs/web2-vs-web3/index.md
@@ -1,6 +1,6 @@
---
title: Web2 vs. Web3
-description: Porovnejte centralizované služby Web2 s decentralizovanými aplikacemi Web3 postavenými na technologii blockchainu Ethereum.
+description: "Porovnejte centralizované služby Web2 s decentralizovanými aplikacemi Web3 postavenými na technologii blockchainu Ethereum."
lang: cs
---
diff --git a/public/content/translations/cs/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md b/public/content/translations/cs/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
index a7a8720420a..526446edaf7 100644
--- a/public/content/translations/cs/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
+++ b/public/content/translations/cs/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
@@ -1,6 +1,6 @@
---
-title: Úvod do Etherea pro vývojáře v Pythonu, 1. část
-description: Úvod do vývoje na Ethereu, zvláště užitečný pro ty, kdo znají programovací jazyk Python.
+title: "Úvod do Etherea pro vývojáře v Pythonu, 1. část"
+description: "Úvod do vývoje na Ethereu, zvláště užitečný pro ty, kdo znají programovací jazyk Python."
author: Marc Garreau
lang: cs
tags: [ "python", "web3.py" ]
diff --git a/public/content/translations/cs/developers/tutorials/all-you-can-cache/index.md b/public/content/translations/cs/developers/tutorials/all-you-can-cache/index.md
index e75de37e753..c0c4ab5dede 100644
--- a/public/content/translations/cs/developers/tutorials/all-you-can-cache/index.md
+++ b/public/content/translations/cs/developers/tutorials/all-you-can-cache/index.md
@@ -1,6 +1,6 @@
---
title: "Vše, co můžete cachovat"
-description: Naučte se, jak vytvořit a používat cachovací kontrakt pro levnější rollupové transakce
+description: "Naučte se, jak vytvořit a používat cachovací kontrakt pro levnější rollupové transakce"
author: Ori Pomerantz
tags: [ "vrstva 2", "cachování", "úložiště" ]
skill: intermediate
@@ -717,7 +717,7 @@ Funkce čtení je `view`, takže nevyžaduje transakci a nestojí žádný gas.
worm.writeEntry(0xDEAD, 0xBEEF);
```
-[Tímto (`vm.expectRevert`)](https://book.getfoundry.sh/cheatcodes/expect-revert#expectrevert) v testu Foundry specifikujeme, že další volání by mělo selhat, a uvádíme důvod selhání. To platí, když používáme syntaxi `.`()` spíše než vytváření calldata a volání kontraktu pomocí nízkoúrovňového rozhraní (`.call()\` atd.).
+[Tímto (`vm.expectRevert`)](https://book.getfoundry.sh/cheatcodes/expect-revert#expectrevert) v testu Foundry specifikujeme, že další volání by mělo selhat, a uvádíme důvod selhání. To platí, když používáme syntaxi `.`()` spíše než vytváření calldata a volání kontraktu pomocí nízkoúrovňového rozhraní (`.call()` atd.).
```solidity
function testReadWriteCached() public {
diff --git a/public/content/translations/cs/developers/tutorials/app-plasma/index.md b/public/content/translations/cs/developers/tutorials/app-plasma/index.md
index 9950893116e..af794e4508d 100644
--- a/public/content/translations/cs/developers/tutorials/app-plasma/index.md
+++ b/public/content/translations/cs/developers/tutorials/app-plasma/index.md
@@ -1,6 +1,6 @@
---
-title: Napište plazmu specifickou pro aplikaci, která zachovává soukromí
-description: V tomto návodu vytvoříme polotajnou banku pro vklady. Banka je centralizovanou součástí; zná zůstatek každého uživatele. Tato informace se však neukládá na blockchainu. Místo toho banka zveřejňuje hash stavu. Pokaždé, když dojde k transakci, banka zveřejní nový hash spolu s důkazem s nulovou znalostí, že má podepsanou transakci, která mění stav hashe na nový. Po přečtení tohoto návodu nejenže pochopíte, jak používat důkazy s nulovou znalostí, ale také proč je používat a jak to dělat bezpečně.
+title: "Napište plazmu specifickou pro aplikaci, která zachovává soukromí"
+description: "V tomto návodu vytvoříme polotajnou banku pro vklady. Banka je centralizovanou součástí; zná zůstatek každého uživatele. Tato informace se však neukládá na blockchainu. Místo toho banka zveřejňuje hash stavu. Pokaždé, když dojde k transakci, banka zveřejní nový hash spolu s důkazem s nulovou znalostí, že má podepsanou transakci, která mění stav hashe na nový. Po přečtení tohoto návodu nejenže pochopíte, jak používat důkazy s nulovou znalostí, ale také proč je používat a jak to dělat bezpečně."
author: Ori Pomerantz
tags: [ "nulová znalost", "server", "offchain", "soukromí" ]
skill: advanced
diff --git a/public/content/translations/cs/developers/tutorials/calling-a-smart-contract-from-javascript/index.md b/public/content/translations/cs/developers/tutorials/calling-a-smart-contract-from-javascript/index.md
index a7e7aaf9836..3aaf6cbc2da 100644
--- a/public/content/translations/cs/developers/tutorials/calling-a-smart-contract-from-javascript/index.md
+++ b/public/content/translations/cs/developers/tutorials/calling-a-smart-contract-from-javascript/index.md
@@ -1,6 +1,6 @@
---
-title: Volání chytrého kontraktu z JavaScriptu
-description: Jak volat funkci chytrého kontraktu z JavaScriptu na příkladu tokenu Dai
+title: "Volání chytrého kontraktu z JavaScriptu"
+description: "Jak volat funkci chytrého kontraktu z JavaScriptu na příkladu tokenu Dai"
author: jdourlens
tags: [ "transakce", "frontend", "JavaScript", "web3.js" ]
skill: beginner
diff --git a/public/content/translations/cs/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md b/public/content/translations/cs/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md
index 8e46ed4d264..626b2703fbd 100644
--- a/public/content/translations/cs/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md
+++ b/public/content/translations/cs/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md
@@ -1,6 +1,6 @@
---
title: "Vytvoření uživatelského rozhraní pro váš kontrakt"
-description: Pomocí moderních komponent, jako jsou TypeScript, React, Vite a Wagmi, si projdeme moderní, ale minimální, uživatelské rozhraní a naučíme se, jak k němu připojit peněženku, jak volat chytrý kontrakt pro čtení informací, jak poslat transakci na chytrý kontrakt a jak sledovat události z chytrého kontraktu a identifikovat změny.
+description: "Pomocí moderních komponent, jako jsou TypeScript, React, Vite a Wagmi, si projdeme moderní, ale minimální, uživatelské rozhraní a naučíme se, jak k němu připojit peněženku, jak volat chytrý kontrakt pro čtení informací, jak poslat transakci na chytrý kontrakt a jak sledovat události z chytrého kontraktu a identifikovat změny."
author: Ori Pomerantz
tags: [ "typescript", "react", "vite", "wagmi", "frontend" ]
skill: beginner
@@ -158,7 +158,7 @@ Komponentu [`ConnectButton`](https://www.rainbowkit.com/docs/connect-button) zí
Když potřebujeme vložit skutečný JavaScript (nebo TypeScript, který bude zkompilován do JavaScriptu) do JSX, použijeme závorky (`{}`).
-Syntaxe `a && b` je zkratka pro [`a ?` b : a`](https://www.w3schools.com/react/react_es6_ternary.asp). To znamená, že pokud je `a`pravda, vyhodnotí se jako`b`a jinak se vyhodnotí jako`a`(což může být`false`, `0\` atd.). To je snadný způsob, jak sdělit Reactu, že se komponenta má zobrazit pouze v případě, že je splněna určitá podmínka.
+Syntaxe `a && b` je zkratka pro [`a ?` b : a`](https://www.w3schools.com/react/react_es6_ternary.asp). To znamená, že pokud je `a`pravda, vyhodnotí se jako`b`a jinak se vyhodnotí jako`a`(což může být`false`, `0` atd.). To je snadný způsob, jak sdělit Reactu, že se komponenta má zobrazit pouze v případě, že je splněna určitá podmínka.
V tomto případě chceme uživateli zobrazit `Greeter` pouze v případě, že je uživatel připojen k blockchainu.
diff --git a/public/content/translations/cs/developers/tutorials/deploying-your-first-smart-contract/index.md b/public/content/translations/cs/developers/tutorials/deploying-your-first-smart-contract/index.md
index e95f97bba79..98121a07c59 100644
--- a/public/content/translations/cs/developers/tutorials/deploying-your-first-smart-contract/index.md
+++ b/public/content/translations/cs/developers/tutorials/deploying-your-first-smart-contract/index.md
@@ -1,6 +1,6 @@
---
-title: Nasazení vašeho prvního chytrého kontraktu
-description: Úvod do nasazení vašeho prvního chytrého kontraktu v testovací síti Etherea
+title: "Nasazení vašeho prvního chytrého kontraktu"
+description: "Úvod do nasazení vašeho prvního chytrého kontraktu v testovací síti Etherea"
author: "jdourlens"
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md b/public/content/translations/cs/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md
index b1fd40a6c88..57653c2fdea 100644
--- a/public/content/translations/cs/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md
+++ b/public/content/translations/cs/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md
@@ -1,6 +1,6 @@
---
-title: Jak vyvíjet a testovat dApp na lokálním, multi-klientském testnetu
-description: Tento průvodce vás nejprve provede vytvořením instance a konfigurací lokálního Ethereum testnetu s více klienty a následně použitím testnetu k nasazení a testování dApp.
+title: "Jak vyvíjet a testovat dApp na lokálním, multi-klientském testnetu"
+description: "Tento průvodce vás nejprve provede vytvořením instance a konfigurací lokálního Ethereum testnetu s více klienty a následně použitím testnetu k nasazení a testování dApp."
author: "Tedi Mitiku"
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/index.md b/public/content/translations/cs/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/index.md
index 321ea67157d..307a81a9bd2 100644
--- a/public/content/translations/cs/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/index.md
+++ b/public/content/translations/cs/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/index.md
@@ -1,6 +1,6 @@
---
title: "Zmenšení kontraktů v boji proti limitu velikosti kontraktů"
-description: Co můžete udělat, abyste zabránili přílišnému zvětšení vašich chytrých kontraktů?
+description: "Co můžete udělat, abyste zabránili přílišnému zvětšení vašich chytrých kontraktů?"
author: Markus Waas
lang: cs
tags: [ "solidity", "smart kontrakt účty", "úložiště" ]
diff --git a/public/content/translations/cs/developers/tutorials/eip-1271-smart-contract-signatures/index.md b/public/content/translations/cs/developers/tutorials/eip-1271-smart-contract-signatures/index.md
index 8d68af20ebb..19ade3a6023 100644
--- a/public/content/translations/cs/developers/tutorials/eip-1271-smart-contract-signatures/index.md
+++ b/public/content/translations/cs/developers/tutorials/eip-1271-smart-contract-signatures/index.md
@@ -1,6 +1,6 @@
---
title: "EIP-1271: Podepisování a ověřování podpisů chytrých kontraktů"
-description: Přehled vytváření a ověřování podpisů chytrých kontraktů pomocí EIP-1271. Projdeme si také implementaci EIP-1271 použitou v Safe (dříve Gnosis Safe), abychom vývojářům chytrých kontraktů poskytli konkrétní příklad, na kterém mohou stavět.
+description: "Přehled vytváření a ověřování podpisů chytrých kontraktů pomocí EIP-1271. Projdeme si také implementaci EIP-1271 použitou v Safe (dříve Gnosis Safe), abychom vývojářům chytrých kontraktů poskytli konkrétní příklad, na kterém mohou stavět."
author: Nathan H. Leung
lang: cs
tags:
diff --git a/public/content/translations/cs/developers/tutorials/erc20-annotated-code/index.md b/public/content/translations/cs/developers/tutorials/erc20-annotated-code/index.md
index a6f21ec0cef..08b35a14376 100644
--- a/public/content/translations/cs/developers/tutorials/erc20-annotated-code/index.md
+++ b/public/content/translations/cs/developers/tutorials/erc20-annotated-code/index.md
@@ -1,6 +1,6 @@
---
title: "Podrobný průvodce kontraktem ERC-20"
-description: Co je v kontraktu OpenZeppelin ERC-20 a proč se tam nachází?
+description: "Co je v kontraktu OpenZeppelin ERC-20 a proč se tam nachází?"
author: Ori Pomerantz
lang: cs
tags: [ "solidity", "erc-20" ]
diff --git a/public/content/translations/cs/developers/tutorials/erc20-with-safety-rails/index.md b/public/content/translations/cs/developers/tutorials/erc20-with-safety-rails/index.md
index 409d83722c5..804b9ff7cc8 100644
--- a/public/content/translations/cs/developers/tutorials/erc20-with-safety-rails/index.md
+++ b/public/content/translations/cs/developers/tutorials/erc20-with-safety-rails/index.md
@@ -1,6 +1,6 @@
---
-title: ERC-20 s bezpečnostními pojistkami
-description: Jak pomoci lidem, aby se vyhnuli zbytečným chybám
+title: "ERC-20 s bezpečnostními pojistkami"
+description: "Jak pomoci lidem, aby se vyhnuli zbytečným chybám"
author: Ori Pomerantz
lang: cs
tags: [ "erc-20" ]
diff --git a/public/content/translations/cs/developers/tutorials/ethereum-for-web2-auth/index.md b/public/content/translations/cs/developers/tutorials/ethereum-for-web2-auth/index.md
index 5ac4c372ca5..3219c82719e 100644
--- a/public/content/translations/cs/developers/tutorials/ethereum-for-web2-auth/index.md
+++ b/public/content/translations/cs/developers/tutorials/ethereum-for-web2-auth/index.md
@@ -1,6 +1,6 @@
---
-title: Použití Etherea pro web2 autentizaci
-description: Po přečtení tohoto tutoriálu bude vývojář schopen integrovat přihlášení přes Ethereum (web3) s přihlášením SAML, což je standard používaný ve web2 k poskytování jednotného přihlášení a dalších souvisejících služeb. To umožňuje, aby byl přístup ke zdrojům web2 autentizován prostřednictvím podpisů Etherea, s uživatelskými atributy pocházejícími z atestací.
+title: "Použití Etherea pro web2 autentizaci"
+description: "Po přečtení tohoto tutoriálu bude vývojář schopen integrovat přihlášení přes Ethereum (web3) s přihlášením SAML, což je standard používaný ve web2 k poskytování jednotného přihlášení a dalších souvisejících služeb. To umožňuje, aby byl přístup ke zdrojům web2 autentizován prostřednictvím podpisů Etherea, s uživatelskými atributy pocházejícími z atestací."
author: Ori Pomerantz
tags: [ "web2", "ověření", "eas" ]
skill: beginner
diff --git a/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md b/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md
index f1d99e5b0cd..db883faf5f5 100644
--- a/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md
+++ b/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md
@@ -1,5 +1,5 @@
---
-title: Začínáme s vývojem pro Ethereum
+title: "Začínáme s vývojem pro Ethereum"
description: "Toto je příručka pro začátečníky, jak začít s vývojem pro Ethereum. Provedeme vás od vytvoření koncového bodu API přes vytvoření požadavku z příkazového řádku až po napsání vašeho prvního web3 skriptu! Nejsou nutné žádné zkušenosti s vývojem na blockchainu!"
author: "Elan Halpern"
tags:
@@ -13,7 +13,7 @@ tags:
skill: beginner
lang: cs
published: 2020-10-30
-source: Střední
+source: "Střední"
sourceUrl: https://medium.com/alchemy-api/getting-started-with-ethereum-development-using-alchemy-c3d6a45c567f
---
diff --git a/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md b/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md
index 234e9edc821..443b2d98cab 100644
--- a/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md
+++ b/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md
@@ -1,12 +1,12 @@
---
-title: Průvodce nástroji pro zabezpečení chytrých kontraktů
-description: Přehled tří různých technik testování a analýzy programů
+title: "Průvodce nástroji pro zabezpečení chytrých kontraktů"
+description: "Přehled tří různých technik testování a analýzy programů"
author: "Trailofbits"
lang: cs
tags: [ "solidity", "smart kontrakt účty", "bezpečnost" ]
skill: intermediate
published: 2020-09-07
-source: Tvorba bezpečných kontraktů
+source: "Tvorba bezpečných kontraktů"
sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis
---
diff --git a/public/content/translations/cs/developers/tutorials/hello-world-smart-contract-fullstack/index.md b/public/content/translations/cs/developers/tutorials/hello-world-smart-contract-fullstack/index.md
index f3c55599fe6..bd962fe9abd 100644
--- a/public/content/translations/cs/developers/tutorials/hello-world-smart-contract-fullstack/index.md
+++ b/public/content/translations/cs/developers/tutorials/hello-world-smart-contract-fullstack/index.md
@@ -1,6 +1,6 @@
---
-title: Chytrý kontrakt Hello World pro začátečníky – Fullstack
-description: Úvodní tutoriál k psaní a nasazení jednoduchého chytrého kontraktu na Ethereum.
+title: "Chytrý kontrakt Hello World pro začátečníky – Fullstack"
+description: "Úvodní tutoriál k psaní a nasazení jednoduchého chytrého kontraktu na Ethereum."
author: "nstrike2"
tags:
[
@@ -57,7 +57,7 @@ Potřebujete účet Ethereum pro odesílání a přijímání transakcí. Použi
Chcete-li nasadit chytrý kontrakt do testovací sítě, budete potřebovat nějaké falešné ETH. Chcete-li získat ETH v síti Goerli, přejděte na faucet Goerli a zadejte adresu svého účtu Goerli. Upozorňujeme, že faucety Goerli mohou být v poslední době trochu nespolehlivé – podívejte se na [stránku testovacích sítí](/developers/docs/networks/#goerli), kde najdete seznam možností k vyzkoušení:
_Poznámka: Kvůli přetížení sítě to může chvíli trvat._
-\`\`
+``
### Krok 5: Zkontrolujte si zůstatek {#step-5-check-your-balance}
@@ -833,8 +833,9 @@ return (
-
-
+
+
+
)
```
diff --git a/public/content/translations/cs/developers/tutorials/hello-world-smart-contract/index.md b/public/content/translations/cs/developers/tutorials/hello-world-smart-contract/index.md
index 9d3e43e6ceb..9a50e94a08e 100644
--- a/public/content/translations/cs/developers/tutorials/hello-world-smart-contract/index.md
+++ b/public/content/translations/cs/developers/tutorials/hello-world-smart-contract/index.md
@@ -1,6 +1,6 @@
---
-title: Chytrý kontrakt Hello World pro začátečníky
-description: Úvodní tutoriál k psaní a nasazení jednoduchého chytrého kontraktu na Ethereum.
+title: "Chytrý kontrakt Hello World pro začátečníky"
+description: "Úvodní tutoriál k psaní a nasazení jednoduchého chytrého kontraktu na Ethereum."
author: "elanh"
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/how-to-implement-an-erc721-market/index.md b/public/content/translations/cs/developers/tutorials/how-to-implement-an-erc721-market/index.md
index 041c3aa60b0..a8efe2104ef 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-implement-an-erc721-market/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-implement-an-erc721-market/index.md
@@ -1,6 +1,6 @@
---
title: Jak implementovat trh ERC-721
-description: Jak dát tokenizované položky k prodeji na decentralizovanou inzertní tabuli
+description: "Jak dát tokenizované položky k prodeji na decentralizovanou inzertní tabuli"
author: "Alberto Cuesta Cañada"
tags: [ "chytré kontrakty", "erc-721", "solidity", "tokeny" ]
skill: intermediate
diff --git a/public/content/translations/cs/developers/tutorials/how-to-mint-an-nft/index.md b/public/content/translations/cs/developers/tutorials/how-to-mint-an-nft/index.md
index 3dd435d0c96..23d3561cb4e 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-mint-an-nft/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-mint-an-nft/index.md
@@ -1,6 +1,6 @@
---
-title: Jak vyrazit NFT (část 2/3 série tutoriálů o NFT)
-description: Tento tutoriál popisuje, jak vyrazit NFT na blockchainu Etherea pomocí našeho chytrého kontraktu a Web3.
+title: "Jak vyrazit NFT (část 2/3 série tutoriálů o NFT)"
+description: "Tento tutoriál popisuje, jak vyrazit NFT na blockchainu Etherea pomocí našeho chytrého kontraktu a Web3."
author: "Sumi Mudgil"
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/how-to-mock-solidity-contracts-for-testing/index.md b/public/content/translations/cs/developers/tutorials/how-to-mock-solidity-contracts-for-testing/index.md
index 52e86dc43b7..3498c5c56fa 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-mock-solidity-contracts-for-testing/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-mock-solidity-contracts-for-testing/index.md
@@ -1,6 +1,6 @@
---
-title: Jak vytvořit maketu chytrých kontraktů Solidity pro testování
-description: Proč byste si při testování měli dělat legraci ze svých kontraktů
+title: "Jak vytvořit maketu chytrých kontraktů Solidity pro testování"
+description: "Proč byste si při testování měli dělat legraci ze svých kontraktů"
author: Markus Waas
lang: cs
tags:
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md
index 6e00cf1253e..a58c0fa0327 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md
@@ -1,6 +1,6 @@
---
-title: Jak používat Echidnu k testování chytrých kontraktů
-description: Jak používat Echidnu k automatickému testování chytrých kontraktů
+title: "Jak používat Echidnu k testování chytrých kontraktů"
+description: "Jak používat Echidnu k automatickému testování chytrých kontraktů"
author: "Trailofbits"
lang: cs
tags:
@@ -13,7 +13,7 @@ tags:
]
skill: advanced
published: 2020-04-10
-source: Tvorba bezpečných kontraktů
+source: "Tvorba bezpečných kontraktů"
sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/echidna
---
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md
index 015edf9ceca..d1e1ecb969a 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md
@@ -1,6 +1,6 @@
---
-title: Jak používat Manticore k vyhledávání chyb v chytrých kontraktech
-description: Jak používat Manticore k automatickému vyhledávání chyb v chytrých kontraktech
+title: "Jak používat Manticore k vyhledávání chyb v chytrých kontraktech"
+description: "Jak používat Manticore k automatickému vyhledávání chyb v chytrých kontraktech"
author: Trailofbits
lang: cs
tags:
@@ -13,7 +13,7 @@ tags:
]
skill: advanced
published: 2020-01-13
-source: Tvorba bezpečných kontraktů
+source: "Tvorba bezpečných kontraktů"
sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore
---
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
index 627a5602ddc..bab3a39a1ee 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
@@ -1,6 +1,6 @@
---
-title: Jak používat Slither k hledání chyb ve smart kontraktech
-description: Jak používat Slither k automatickému hledání chyb ve smart kontraktech
+title: "Jak používat Slither k hledání chyb ve smart kontraktech"
+description: "Jak používat Slither k automatickému hledání chyb ve smart kontraktech"
author: Trailofbits
lang: cs
tags:
@@ -12,7 +12,7 @@ tags:
]
skill: advanced
published: 2020-06-09
-source: Tvorba bezpečných kontraktů
+source: "Tvorba bezpečných kontraktů"
sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/slither
---
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md
index 4431f0150d2..3bc65e0dbd5 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md
@@ -1,6 +1,6 @@
---
-title: Jak nastavit Tellor jako vaše orákulum
-description: Průvodce, jak začít s integrací orákula Tellor do vašeho protokolu
+title: "Jak nastavit Tellor jako vaše orákulum"
+description: "Průvodce, jak začít s integrací orákula Tellor do vašeho protokolu"
author: "Tellor"
lang: cs
tags: [ "solidity", "smart kontrakt účty", "orákula" ]
diff --git a/public/content/translations/cs/developers/tutorials/how-to-view-nft-in-metamask/index.md b/public/content/translations/cs/developers/tutorials/how-to-view-nft-in-metamask/index.md
index 4a1dd40cc96..e16b0455822 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-view-nft-in-metamask/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-view-nft-in-metamask/index.md
@@ -1,6 +1,6 @@
---
-title: Jak si zobrazit své NFT ve své peněžence (3. část ze 3 v sérii návodů o NFT)
-description: Tento návod popisuje, jak si zobrazit stávající NFT v peněžence MetaMask!
+title: "Jak si zobrazit své NFT ve své peněžence (3. část ze 3 v sérii návodů o NFT)"
+description: "Tento návod popisuje, jak si zobrazit stávající NFT v peněžence MetaMask!"
author: "Sumi Mudgil"
tags: [ "ERC-721", "Alchemy", "Solidity" ]
skill: beginner
diff --git a/public/content/translations/cs/developers/tutorials/how-to-write-and-deploy-an-nft/index.md b/public/content/translations/cs/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
index e6efa375b9d..94320a7449a 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
@@ -1,6 +1,6 @@
---
-title: Jak napsat a nasadit NFT (část 1/3 ze série výukových programů o NFT)
-description: Tento výukový program je první částí série o NFT, která vás krok za krokem provede tím, jak napsat a nasadit chytrý kontrakt nefunkčního tokenu (token ERC-721) pomocí Etherea a systému souborů Inter Planetary File System (IPFS).
+title: "Jak napsat a nasadit NFT (část 1/3 ze série výukových programů o NFT)"
+description: "Tento výukový program je první částí série o NFT, která vás krok za krokem provede tím, jak napsat a nasadit chytrý kontrakt nefunkčního tokenu (token ERC-721) pomocí Etherea a systému souborů Inter Planetary File System (IPFS)."
author: "Sumi Mudgil"
tags: [ "ERC-721", "Alchemy", "Solidity", "chytré kontrakty" ]
skill: beginner
diff --git a/public/content/translations/cs/developers/tutorials/interact-with-other-contracts-from-solidity/index.md b/public/content/translations/cs/developers/tutorials/interact-with-other-contracts-from-solidity/index.md
index 3ff1600eae0..cb2447b0406 100644
--- a/public/content/translations/cs/developers/tutorials/interact-with-other-contracts-from-solidity/index.md
+++ b/public/content/translations/cs/developers/tutorials/interact-with-other-contracts-from-solidity/index.md
@@ -1,6 +1,6 @@
---
-title: Interakce s dalšími kontrakty ze Solidity
-description: Jak nasadit chytrý kontrakt z existujícího kontraktu a interagovat s ním
+title: "Interakce s dalšími kontrakty ze Solidity"
+description: "Jak nasadit chytrý kontrakt z existujícího kontraktu a interagovat s ním"
author: "jdourlens"
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/ipfs-decentralized-ui/index.md b/public/content/translations/cs/developers/tutorials/ipfs-decentralized-ui/index.md
index 1551046a66e..9d69479bc7b 100644
--- a/public/content/translations/cs/developers/tutorials/ipfs-decentralized-ui/index.md
+++ b/public/content/translations/cs/developers/tutorials/ipfs-decentralized-ui/index.md
@@ -1,6 +1,6 @@
---
-title: IPFS pro decentralizovaná uživatelská rozhraní
-description: Tento návod čtenáře naučí, jak pomocí IPFS uložit uživatelské rozhraní pro dapp. I když jsou data a obchodní logika aplikace decentralizované, bez uživatelského rozhraní odolného proti cenzuře by k němu uživatelé mohli stejně ztratit přístup.
+title: "IPFS pro decentralizovaná uživatelská rozhraní"
+description: "Tento návod čtenáře naučí, jak pomocí IPFS uložit uživatelské rozhraní pro dapp. I když jsou data a obchodní logika aplikace decentralizované, bez uživatelského rozhraní odolného proti cenzuře by k němu uživatelé mohli stejně ztratit přístup."
author: Ori Pomerantz
tags: [ "ipfs" ]
skill: beginner
diff --git a/public/content/translations/cs/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md b/public/content/translations/cs/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md
index d1a1061251d..1629ab7b6e4 100644
--- a/public/content/translations/cs/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md
+++ b/public/content/translations/cs/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md
@@ -1,6 +1,6 @@
---
-title: Nastartujte vývoj frontendu vaší dapp pomocí create-eth-app
-description: Přehled použití create-eth-app a jeho funkcí
+title: "Nastartujte vývoj frontendu vaší dapp pomocí create-eth-app"
+description: "Přehled použití create-eth-app a jeho funkcí"
author: "Markus Waas"
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md b/public/content/translations/cs/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md
index 58ed2e601c1..11177bfe302 100644
--- a/public/content/translations/cs/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md
+++ b/public/content/translations/cs/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md
@@ -1,6 +1,6 @@
---
-title: Naučte se základní témata Etherea pomocí SQL
-description: Tento tutoriál pomáhá čtenářům pochopit základní koncepty Etherea, včetně transakcí, bloků a paliva, a to pomocí dotazování na onchain data pomocí jazyka SQL (Structured Query Language).
+title: "Naučte se základní témata Etherea pomocí SQL"
+description: "Tento tutoriál pomáhá čtenářům pochopit základní koncepty Etherea, včetně transakcí, bloků a paliva, a to pomocí dotazování na onchain data pomocí jazyka SQL (Structured Query Language)."
author: "Paul Apivat"
tags: [ "SQL", "Dotazování", "Transakce" ]
skill: beginner
diff --git a/public/content/translations/cs/developers/tutorials/logging-events-smart-contracts/index.md b/public/content/translations/cs/developers/tutorials/logging-events-smart-contracts/index.md
index 861d48ebd8d..205e1b65218 100644
--- a/public/content/translations/cs/developers/tutorials/logging-events-smart-contracts/index.md
+++ b/public/content/translations/cs/developers/tutorials/logging-events-smart-contracts/index.md
@@ -1,6 +1,6 @@
---
-title: Zaznamenávání dat z chytrých kontraktů pomocí událostí
-description: Úvod do událostí chytrých kontraktů a jak je můžete použít k zaznamenávání dat.
+title: "Zaznamenávání dat z chytrých kontraktů pomocí událostí"
+description: "Úvod do událostí chytrých kontraktů a jak je můžete použít k zaznamenávání dat."
author: "jdourlens"
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md b/public/content/translations/cs/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md
index 9837634df30..0f097321ee4 100644
--- a/public/content/translations/cs/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md
+++ b/public/content/translations/cs/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md
@@ -1,6 +1,6 @@
---
-title: Merkleho důkazy pro integritu dat mimo blockchain
-description: Zajištění integrity dat na blockchainu pro data, která jsou většinou uložena mimo blockchain
+title: "Merkleho důkazy pro integritu dat mimo blockchain"
+description: "Zajištění integrity dat na blockchainu pro data, která jsou většinou uložena mimo blockchain"
author: Ori Pomerantz
tags: [ "úložiště" ]
skill: advanced
@@ -233,7 +233,7 @@ Tato funkce generuje párový haš. Je to jen překlad JavaScriptového kódu pr
} // MarkleProof
```
-V matematické notaci vypadá ověření Merkleho důkazu takto: `H(proof_n, H(proof_n-1, H(proof_n-2, ...` H(proof_1, H(proof_0, value))...)))\`. Tento kód to implementuje.
+V matematické notaci vypadá ověření Merkleho důkazu takto: `H(proof_n, H(proof_n-1, H(proof_n-2, ...` H(proof_1, H(proof_0, value))...)))`. Tento kód to implementuje.
## Merkleho důkazy a rollupy se nemíchají {#merkle-proofs-and-rollups}
diff --git a/public/content/translations/cs/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/index.md b/public/content/translations/cs/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/index.md
index bdeccdd97a2..30e02f29886 100644
--- a/public/content/translations/cs/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/index.md
+++ b/public/content/translations/cs/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/index.md
@@ -1,6 +1,6 @@
---
-title: Monitorování Gethu s InfluxDB a Grafanou
-description: Nastavte si monitorování pro svůj Geth uzel pomocí InfluxDB a Grafany, abyste mohli sledovat jeho výkon a identifikovat problémy.
+title: "Monitorování Gethu s InfluxDB a Grafanou"
+description: "Nastavte si monitorování pro svůj Geth uzel pomocí InfluxDB a Grafany, abyste mohli sledovat jeho výkon a identifikovat problémy."
author: "Mario Havel"
tags: [ "klienti", "uzly" ]
skill: intermediate
diff --git a/public/content/translations/cs/developers/tutorials/nft-minter/index.md b/public/content/translations/cs/developers/tutorials/nft-minter/index.md
index e4d036db2a6..687c0937d96 100644
--- a/public/content/translations/cs/developers/tutorials/nft-minter/index.md
+++ b/public/content/translations/cs/developers/tutorials/nft-minter/index.md
@@ -1,6 +1,6 @@
---
-title: Návod na minter pro NFT
-description: V tomto návodu si vytvoříte minter pro NFT a naučíte se, jak vytvořit full-stack dapp propojením svého chytrého kontraktu s React frontendem pomocí nástrojů MetaMask a Web3.
+title: "Návod na minter pro NFT"
+description: "V tomto návodu si vytvoříte minter pro NFT a naučíte se, jak vytvořit full-stack dapp propojením svého chytrého kontraktu s React frontendem pomocí nástrojů MetaMask a Web3."
author: "smudgil"
tags:
[
@@ -185,7 +185,7 @@ return (
Mintovat NFT
{status}
-
+
)
```
diff --git a/public/content/translations/cs/developers/tutorials/optimism-std-bridge-annotated-code/index.md b/public/content/translations/cs/developers/tutorials/optimism-std-bridge-annotated-code/index.md
index 75306dbbe12..401aa046396 100644
--- a/public/content/translations/cs/developers/tutorials/optimism-std-bridge-annotated-code/index.md
+++ b/public/content/translations/cs/developers/tutorials/optimism-std-bridge-annotated-code/index.md
@@ -1,6 +1,6 @@
---
title: "Procházení kontraktu standardního přemostění Optimism"
-description: Jak funguje standardní přemostění pro Optimism? Proč to funguje zrovna takhle?
+description: "Jak funguje standardní přemostění pro Optimism? Proč to funguje zrovna takhle?"
author: Ori Pomerantz
tags: [ "solidity", "přemostění", "vrstva 2" ]
skill: intermediate
diff --git a/public/content/translations/cs/developers/tutorials/reverse-engineering-a-contract/index.md b/public/content/translations/cs/developers/tutorials/reverse-engineering-a-contract/index.md
index 117c493bda1..c2005f1cdff 100644
--- a/public/content/translations/cs/developers/tutorials/reverse-engineering-a-contract/index.md
+++ b/public/content/translations/cs/developers/tutorials/reverse-engineering-a-contract/index.md
@@ -1,6 +1,6 @@
---
title: "Reverzní inženýrství kontraktu"
-description: Jak porozumět kontraktu, když nemáte zdrojový kód
+description: "Jak porozumět kontraktu, když nemáte zdrojový kód"
author: Ori Pomerantz
lang: cs
tags: [ "evm", "opkódy" ]
diff --git a/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md b/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md
index cb90eecd926..03f6320825f 100644
--- a/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md
+++ b/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md
@@ -1,6 +1,6 @@
---
-title: Spuštění uzlu Etherea na Raspberry Pi 4
-description: Flashněte své Raspberry Pi 4, zapojte ethernetový kabel, připojte disk SSD a zapněte zařízení, abyste z Raspberry Pi 4 udělali plnohodnotný uzel Etherea + validátor.
+title: "Spuštění uzlu Etherea na Raspberry Pi 4"
+description: "Flashněte své Raspberry Pi 4, zapojte ethernetový kabel, připojte disk SSD a zapněte zařízení, abyste z Raspberry Pi 4 udělali plnohodnotný uzel Etherea + validátor."
author: "EthereumOnArm"
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/scam-token-tricks/index.md b/public/content/translations/cs/developers/tutorials/scam-token-tricks/index.md
index e9981cef970..a9eebfe2536 100644
--- a/public/content/translations/cs/developers/tutorials/scam-token-tricks/index.md
+++ b/public/content/translations/cs/developers/tutorials/scam-token-tricks/index.md
@@ -1,6 +1,6 @@
---
title: "Některé triky používané podvodnými tokeny a jak je odhalit"
-description: V tomto tutoriálu rozebereme podvodný token, abychom se podívali na některé triky, které podvodníci používají, jak je implementují a jak je můžeme odhalit.
+description: "V tomto tutoriálu rozebereme podvodný token, abychom se podívali na některé triky, které podvodníci používají, jak je implementují a jak je můžeme odhalit."
author: Ori Pomerantz
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/secret-state/index.md b/public/content/translations/cs/developers/tutorials/secret-state/index.md
index f6fd0615078..1e18be82af1 100644
--- a/public/content/translations/cs/developers/tutorials/secret-state/index.md
+++ b/public/content/translations/cs/developers/tutorials/secret-state/index.md
@@ -1,6 +1,6 @@
---
-title: Použití nulové znalosti pro tajný stav
-description: Onchain hry jsou omezené, protože nemohou uchovávat žádné skryté informace. Po přečtení tohoto tutoriálu bude čtenář schopen kombinovat důkazy s nulovou znalostí a serverové komponenty k vytvoření ověřitelných her s tajnou stavovou offchain komponentou. Technika, jak toho dosáhnout, bude demonstrována vytvořením hry hledání min (minesweeper).
+title: "Použití nulové znalosti pro tajný stav"
+description: "Onchain hry jsou omezené, protože nemohou uchovávat žádné skryté informace. Po přečtení tohoto tutoriálu bude čtenář schopen kombinovat důkazy s nulovou znalostí a serverové komponenty k vytvoření ověřitelných her s tajnou stavovou offchain komponentou. Technika, jak toho dosáhnout, bude demonstrována vytvořením hry hledání min (minesweeper)."
author: Ori Pomerantz
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md b/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md
index fbb6576fab0..16d4fe2c864 100644
--- a/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md
+++ b/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md
@@ -1,12 +1,12 @@
---
-title: Kontrolní seznam zabezpečení chytrých kontraktů
-description: Doporučený pracovní postup pro psaní bezpečných chytrých kontraktů
+title: "Kontrolní seznam zabezpečení chytrých kontraktů"
+description: "Doporučený pracovní postup pro psaní bezpečných chytrých kontraktů"
author: "Trailofbits"
tags: [ "chytré kontrakty", "bezpečnost", "solidity" ]
skill: intermediate
lang: cs
published: 2020-09-07
-source: Tvorba bezpečných kontraktů
+source: "Tvorba bezpečných kontraktů"
sourceUrl: https://github.com/crytic/building-secure-contracts/blob/master/development-guidelines/workflow.md
---
diff --git a/public/content/translations/cs/developers/tutorials/send-token-ethersjs/index.md b/public/content/translations/cs/developers/tutorials/send-token-ethersjs/index.md
index 48e42321e11..f1b78af7326 100644
--- a/public/content/translations/cs/developers/tutorials/send-token-ethersjs/index.md
+++ b/public/content/translations/cs/developers/tutorials/send-token-ethersjs/index.md
@@ -1,6 +1,6 @@
---
-title: Posílání tokenů pomocí ethers.js
-description: Návod pro začátečníky k posílání tokenů pomocí ethers.js.
+title: "Posílání tokenů pomocí ethers.js"
+description: "Návod pro začátečníky k posílání tokenů pomocí ethers.js."
author: Kim YongJun
tags: [ "ETHERS.JS", "ERC-20", "TOKENY" ]
skill: beginner
diff --git a/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md b/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
index 67806b0836c..b20dbbe33d8 100644
--- a/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
+++ b/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
@@ -1,5 +1,5 @@
---
-title: Odesílání transakcí pomocí Web3
+title: "Odesílání transakcí pomocí Web3"
description: "Toto je průvodce pro začátečníky, jak odesílat transakce v síti Ethereum pomocí Web3. Existují tři hlavní kroky pro odeslání transakce do blockchainu Etherea: vytvoření, podepsání a vysílání. Všechny tři si projdeme."
author: "Elan Halpern"
tags: [ "transakce", "web3.js", "alchemy" ]
diff --git a/public/content/translations/cs/developers/tutorials/server-components/index.md b/public/content/translations/cs/developers/tutorials/server-components/index.md
index abc157f8061..4c182cdf0e5 100644
--- a/public/content/translations/cs/developers/tutorials/server-components/index.md
+++ b/public/content/translations/cs/developers/tutorials/server-components/index.md
@@ -1,6 +1,6 @@
---
title: "Serverové komponenty a agenti pro web3 aplikace"
-description: Po přečtení tohoto tutoriálu budete schopni psát TypeScript servery, které naslouchají událostem na blockchainu a odpovídajícím způsobem reagují vlastními transakcemi. To vám umožní psát centralizované aplikace (protože server je bodem selhání), které ale mohou interagovat s web3 entitami. Stejné techniky lze také použít k napsání agenta, který reaguje na události na blockchainu bez zásahu člověka.
+description: "Po přečtení tohoto tutoriálu budete schopni psát TypeScript servery, které naslouchají událostem na blockchainu a odpovídajícím způsobem reagují vlastními transakcemi. To vám umožní psát centralizované aplikace (protože server je bodem selhání), které ale mohou interagovat s web3 entitami. Stejné techniky lze také použít k napsání agenta, který reaguje na události na blockchainu bez zásahu člověka."
author: Ori Pomerantz
lang: cs
diff --git a/public/content/translations/cs/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/index.md b/public/content/translations/cs/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/index.md
index ce8e09f7495..0d7fdbcfe02 100644
--- a/public/content/translations/cs/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/index.md
+++ b/public/content/translations/cs/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/index.md
@@ -1,6 +1,6 @@
---
-title: Nastavení web3.js pro použití blockchainu Ethereum v JavaScriptu
-description: Naučte se, jak nastavit a nakonfigurovat knihovnu web3.js pro interakci s blockchainem Etherea z javascriptových aplikací.
+title: "Nastavení web3.js pro použití blockchainu Ethereum v JavaScriptu"
+description: "Naučte se, jak nastavit a nakonfigurovat knihovnu web3.js pro interakci s blockchainem Etherea z javascriptových aplikací."
author: "jdourlens"
tags: [ "web3.js", "javascript" ]
skill: beginner
diff --git a/public/content/translations/cs/developers/tutorials/short-abi/index.md b/public/content/translations/cs/developers/tutorials/short-abi/index.md
index 9cc681fd6d1..7fe50420748 100644
--- a/public/content/translations/cs/developers/tutorials/short-abi/index.md
+++ b/public/content/translations/cs/developers/tutorials/short-abi/index.md
@@ -1,6 +1,6 @@
---
title: "Zkrácené ABI pro optimalizaci calldata"
-description: Optimalizace chytrých kontraktů pro optimistické rollupy
+description: "Optimalizace chytrých kontraktů pro optimistické rollupy"
author: Ori Pomerantz
lang: cs
tags: [ "vrstva 2" ]
diff --git a/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md b/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md
index 992b766bc69..5dd31f2cae9 100644
--- a/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md
+++ b/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md
@@ -1,12 +1,12 @@
---
-title: Pokyny pro zabezpečení smart kontraktů
-description: Kontrolní seznam bezpečnostních pokynů, které je třeba zvážit při vytváření vaší dapp.
+title: "Pokyny pro zabezpečení smart kontraktů"
+description: "Kontrolní seznam bezpečnostních pokynů, které je třeba zvážit při vytváření vaší dapp."
author: "Trailofbits"
tags: [ "solidity", "chytré kontrakty", "bezpečnost" ]
skill: intermediate
lang: cs
published: 2020-09-06
-source: Tvorba bezpečných kontraktů
+source: "Tvorba bezpečných kontraktů"
sourceUrl: https://github.com/crytic/building-secure-contracts/blob/master/development-guidelines/guidelines.md
---
diff --git a/public/content/translations/cs/developers/tutorials/the-graph-fixing-web3-data-querying/index.md b/public/content/translations/cs/developers/tutorials/the-graph-fixing-web3-data-querying/index.md
index 881193fef6d..8a6bd8bf5c2 100644
--- a/public/content/translations/cs/developers/tutorials/the-graph-fixing-web3-data-querying/index.md
+++ b/public/content/translations/cs/developers/tutorials/the-graph-fixing-web3-data-querying/index.md
@@ -1,6 +1,6 @@
---
title: "The Graph: Oprava dotazování dat ve Web3"
-description: Blockchain je jako databáze, ale bez SQL. Všechna data tam jsou, ale neexistuje způsob, jak se k nim dostat. Ukážu vám, jak to opravit pomocí The Graph a GraphQL.
+description: "Blockchain je jako databáze, ale bez SQL. Všechna data tam jsou, ale neexistuje způsob, jak se k nim dostat. Ukážu vám, jak to opravit pomocí The Graph a GraphQL."
author: Markus Waas
lang: cs
tags:
diff --git a/public/content/translations/cs/developers/tutorials/token-integration-checklist/index.md b/public/content/translations/cs/developers/tutorials/token-integration-checklist/index.md
index 1ad832da0f9..70602cc6743 100644
--- a/public/content/translations/cs/developers/tutorials/token-integration-checklist/index.md
+++ b/public/content/translations/cs/developers/tutorials/token-integration-checklist/index.md
@@ -1,6 +1,6 @@
---
-title: Kontrolní seznam pro integraci tokenů
-description: Kontrolní seznam věcí, které je třeba zvážit při interakci s tokeny
+title: "Kontrolní seznam pro integraci tokenů"
+description: "Kontrolní seznam věcí, které je třeba zvážit při interakci s tokeny"
author: "Trailofbits"
lang: cs
tags:
@@ -12,7 +12,7 @@ tags:
]
skill: intermediate
published: 2020-08-13
-source: Tvorba bezpečných kontraktů
+source: "Tvorba bezpečných kontraktů"
sourceUrl: https://github.com/crytic/building-secure-contracts/blob/master/development-guidelines/token_integration.md
---
diff --git a/public/content/translations/cs/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/index.md b/public/content/translations/cs/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/index.md
index 2d9b04362e2..bca574b4efc 100644
--- a/public/content/translations/cs/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/index.md
+++ b/public/content/translations/cs/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/index.md
@@ -1,6 +1,6 @@
---
-title: Převody a schválení tokenů ERC-20 z chytrého kontraktu v Solidity
-description: Vytvořte chytrý kontrakt DEX, který spravuje převody a schválení tokenů ERC-20 pomocí Solidity.
+title: "Převody a schválení tokenů ERC-20 z chytrého kontraktu v Solidity"
+description: "Vytvořte chytrý kontrakt DEX, který spravuje převody a schválení tokenů ERC-20 pomocí Solidity."
author: "jdourlens"
tags: [ "smart kontrakt účty", "tokeny", "solidity", "erc-20" ]
skill: intermediate
diff --git a/public/content/translations/cs/developers/tutorials/understand-the-erc-20-token-smart-contract/index.md b/public/content/translations/cs/developers/tutorials/understand-the-erc-20-token-smart-contract/index.md
index 33b41808587..23eb16b817e 100644
--- a/public/content/translations/cs/developers/tutorials/understand-the-erc-20-token-smart-contract/index.md
+++ b/public/content/translations/cs/developers/tutorials/understand-the-erc-20-token-smart-contract/index.md
@@ -1,6 +1,6 @@
---
-title: Porozumění chytrému kontraktu tokenu ERC-20
-description: Naučte se implementovat tokenový standard ERC-20 s kompletním příkladem a vysvětlením chytrého kontraktu v Solidity.
+title: "Porozumění chytrému kontraktu tokenu ERC-20"
+description: "Naučte se implementovat tokenový standard ERC-20 s kompletním příkladem a vysvětlením chytrého kontraktu v Solidity."
author: "jdourlens"
tags: [ "smart kontrakt účty", "tokeny", "solidity", "erc-20" ]
skill: beginner
diff --git a/public/content/translations/cs/developers/tutorials/uniswap-v2-annotated-code/index.md b/public/content/translations/cs/developers/tutorials/uniswap-v2-annotated-code/index.md
index bd366615a3f..3e36b3e4b06 100644
--- a/public/content/translations/cs/developers/tutorials/uniswap-v2-annotated-code/index.md
+++ b/public/content/translations/cs/developers/tutorials/uniswap-v2-annotated-code/index.md
@@ -1,6 +1,6 @@
---
title: "Procházení kontraktu Uniswap v2"
-description: Jak funguje kontrakt Uniswap v2? Proč je napsán tak, jak je?
+description: "Jak funguje kontrakt Uniswap v2? Proč je napsán tak, jak je?"
author: Ori Pomerantz
tags: [ "solidity" ]
skill: intermediate
diff --git a/public/content/translations/cs/developers/tutorials/using-websockets/index.md b/public/content/translations/cs/developers/tutorials/using-websockets/index.md
index 02df5b107ff..c35115103ea 100644
--- a/public/content/translations/cs/developers/tutorials/using-websockets/index.md
+++ b/public/content/translations/cs/developers/tutorials/using-websockets/index.md
@@ -1,6 +1,6 @@
---
-title: Použití WebSocketů
-description: Průvodce používáním WebSocketů a Alchemy k provádění požadavků JSON-RPC a přihlašování k odběru událostí.
+title: "Použití WebSocketů"
+description: "Průvodce používáním WebSocketů a Alchemy k provádění požadavků JSON-RPC a přihlašování k odběru událostí."
author: "Elan Halpern"
lang: cs
tags: [ "alchemy", "websockety", "dotazování", "javascript" ]
diff --git a/public/content/translations/cs/developers/tutorials/waffle-dynamic-mocking-and-testing-calls/index.md b/public/content/translations/cs/developers/tutorials/waffle-dynamic-mocking-and-testing-calls/index.md
index 16e24f3bf76..406a3bbaecc 100644
--- a/public/content/translations/cs/developers/tutorials/waffle-dynamic-mocking-and-testing-calls/index.md
+++ b/public/content/translations/cs/developers/tutorials/waffle-dynamic-mocking-and-testing-calls/index.md
@@ -1,6 +1,6 @@
---
title: "Waffle: Dynamické mockování a testování volání kontraktů"
-description: Pokročilý tutoriál pro Waffle o použití dynamického mockování a testování volání kontraktů
+description: "Pokročilý tutoriál pro Waffle o použití dynamického mockování a testování volání kontraktů"
author: "Daniel Izdebski"
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/waffle-say-hello-world-with-hardhat-and-ethers/index.md b/public/content/translations/cs/developers/tutorials/waffle-say-hello-world-with-hardhat-and-ethers/index.md
index 3f1796fa72c..844937f21cf 100644
--- a/public/content/translations/cs/developers/tutorials/waffle-say-hello-world-with-hardhat-and-ethers/index.md
+++ b/public/content/translations/cs/developers/tutorials/waffle-say-hello-world-with-hardhat-and-ethers/index.md
@@ -1,6 +1,6 @@
---
title: "Návod na ukázkový Hello World s Waffle, hardhat a ethers"
-description: Vytvořte svůj první Waffle projekt s hardhat a ethers.js
+description: "Vytvořte svůj první Waffle projekt s hardhat a ethers.js"
author: "MiZiet"
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/waffle-test-simple-smart-contract/index.md b/public/content/translations/cs/developers/tutorials/waffle-test-simple-smart-contract/index.md
index 82859a235f7..c8379ef1b5b 100644
--- a/public/content/translations/cs/developers/tutorials/waffle-test-simple-smart-contract/index.md
+++ b/public/content/translations/cs/developers/tutorials/waffle-test-simple-smart-contract/index.md
@@ -1,6 +1,6 @@
---
-title: Testování jednoduchého chytrého kontraktu s knihovnou Waffle
-description: Návod pro začátečníky
+title: "Testování jednoduchého chytrého kontraktu s knihovnou Waffle"
+description: "Návod pro začátečníky"
author: Ewa Kowalska
tags:
[
diff --git a/public/content/translations/cs/developers/tutorials/yellow-paper-evm/index.md b/public/content/translations/cs/developers/tutorials/yellow-paper-evm/index.md
index 78c070a96ba..4d289735a60 100644
--- a/public/content/translations/cs/developers/tutorials/yellow-paper-evm/index.md
+++ b/public/content/translations/cs/developers/tutorials/yellow-paper-evm/index.md
@@ -1,6 +1,6 @@
---
-title: Pochopení specifikací EVM ze Yellow Paperu
-description: Pochopení části Yellow Paperu, formálních specifikací pro Ethereum, která vysvětluje Ethereum Virtual Machine (EVM).
+title: "Pochopení specifikací EVM ze Yellow Paperu"
+description: "Pochopení části Yellow Paperu, formálních specifikací pro Ethereum, která vysvětluje Ethereum Virtual Machine (EVM)."
author: "qbzzt"
tags: [ "evm" ]
skill: intermediate
diff --git a/public/content/translations/cs/eips/index.md b/public/content/translations/cs/eips/index.md
index 751d639fb50..41918530b34 100644
--- a/public/content/translations/cs/eips/index.md
+++ b/public/content/translations/cs/eips/index.md
@@ -1,6 +1,6 @@
---
-title: Návrhy na zlepšení platformy Ethereum (EIP)
-description: Základní informace, které potřebujete k pochopení EIP
+title: "Návrhy na zlepšení platformy Ethereum (EIP)"
+description: "Základní informace, které potřebujete k pochopení EIP"
lang: cs
---
diff --git a/public/content/translations/cs/energy-consumption/index.md b/public/content/translations/cs/energy-consumption/index.md
index 234616c3f19..6212c19b70d 100644
--- a/public/content/translations/cs/energy-consumption/index.md
+++ b/public/content/translations/cs/energy-consumption/index.md
@@ -1,6 +1,6 @@
---
-title: Spotřeba energie Etherea
-description: Základní informace k porozumění, kolik energie spotřebovává Ethereum.
+title: "Spotřeba energie Etherea"
+description: "Základní informace k porozumění, kolik energie spotřebovává Ethereum."
lang: cs
---
diff --git a/public/content/translations/cs/eth/supply/index.md b/public/content/translations/cs/eth/supply/index.md
index 4b9c40dcac0..558e0b264de 100644
--- a/public/content/translations/cs/eth/supply/index.md
+++ b/public/content/translations/cs/eth/supply/index.md
@@ -1,6 +1,6 @@
---
-title: Pochopení nabídky a emise ETH
-description: Uživatelsky přívětivý průvodce nabídkou a vydáváním ETH, pokrývající klíčové koncepty jako EIP, PoS a EIP-1559.
+title: "Pochopení nabídky a emise ETH"
+description: "Uživatelsky přívětivý průvodce nabídkou a vydáváním ETH, pokrývající klíčové koncepty jako EIP, PoS a EIP-1559."
lang: cs
---
diff --git a/public/content/translations/cs/ethereum-forks/index.md b/public/content/translations/cs/ethereum-forks/index.md
index 464e1cc9c09..e1dac2a4099 100644
--- a/public/content/translations/cs/ethereum-forks/index.md
+++ b/public/content/translations/cs/ethereum-forks/index.md
@@ -1,6 +1,6 @@
---
-title: Časová osa všech větví sítě Ethereum (2014 až současnost)
-description: Historie blockchainu Etherea zahrnující hlavní milníky, verze a větve.
+title: "Časová osa všech větví sítě Ethereum (2014 až současnost)"
+description: "Historie blockchainu Etherea zahrnující hlavní milníky, verze a větve."
lang: cs
sidebarDepth: 1
---
@@ -16,7 +16,6 @@ Větve se tvoří, když je třeba provést zásadní technické upgrady nebo zm
Když je potřeba upgradovat tradiční, centrálně řízený software, společnost pro koncové uživatele jednoduše vydá novou verzi. Blockchainy fungují jinak, protože neexistuje žádné centrální vlastnictví. [Klienti Etherea](/developers/docs/nodes-and-clients/) musí aktualizovat svůj software, aby implementovali nová pravidla větve. Navíc tvůrci bloků (těžaři ve světě důkazu prací, validátoři ve světě důkazu podílem) a uzly musí vytvářet bloky a ověřovat je podle nových pravidel. [Více o mechanismech konsensu](/developers/docs/consensus-mechanisms/)
Tyto změny pravidel mohou v síti způsobit dočasné rozdělení. Nové bloky by mohly být vytvářeny podle nových nebo starých pravidel. Větve jsou obvykle odsouhlaseny předem, aby klienti přijali změny jednotně a větev s upgrady se stala hlavním řetězcem. Ve vzácných případech však mohou neshody ohledně větví způsobit trvalé rozdělení sítě – nejznámějším příkladem je vytvoření sítě Ethereum Classic pomocí větve DAO.
-
@@ -62,7 +61,6 @@ Upgrady exekuční a konsensuální vrstvy byly zpočátku zaváděny v různou
| Cancun | Deneb | „Dencun“ |
| Prague | Electra | „Pectra“ |
| Osaka | Fulu | „Fusaka“ |
-
Přejít rovnou k informacím o některých obzvláště důležitých minulých upgradech: [Beacon Chain](/roadmap/beacon-chain/), [sloučení (The Merge)](/roadmap/merge/) a [EIP-1559](#london)
@@ -116,7 +114,6 @@ Zlepšení efektivity a zabezpečení protokolu:
EIP-2935 – ukládání historických hašů bloků ve stavu
-
- [Rollupy 2. vrstvy](/layer-2/)
@@ -173,7 +169,6 @@ EIP-7514 zpřísňuje vydávání ETH tím, že omezuje „churn“ míru, s ní
EIP-7045 – zvýšení maximálního slotu pro zařazení atestace
EIP-7514 – přidání maximálního limitu churnu za epochu
-
- [Přečtěte si specifikace upgradu Deneb](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/)
@@ -200,7 +195,6 @@ Upgrade Shanghai přinesl výběry ze stakingu na exekuční vrstvu. Spolu s upg
-
- [Přečtěte si specifikace upgradu Shanghai](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md)
@@ -236,7 +230,6 @@ Upgrade Paris byl spuštěn, když blockchain proof-of-work překročil [koncovo
EIP-2384 – odkládá bombu obtížnosti o dalších 4 000 000 bloků, tj. o ~611 dní.
-
@@ -461,7 +449,6 @@ Větev Istanbul:
EIP-2028 – snižuje náklady na CallData, aby se do bloků vešlo více dat – což je dobré pro [škálování 2. vrstvy](/developers/docs/scaling/#layer-2-scaling).
EIP-2200 – další změny cen za transakční poplatky u operačních kódů.
-
---
@@ -489,7 +476,6 @@ Větev Constantinople:
EIP-1052 – zavádí instrukci EXTCODEHASH pro získání haše kódu jiného kontraktu.
EIP-1234 – zajišťuje, aby blockchain nezamrzl před proof-of-stake, a snižuje odměnu za blok z 3 na 2 ETH.
EIP-649 – odkládá [bombu obtížnosti](/glossary/#difficulty-bomb) o 1 rok a snižuje odměnu za blok z 5 na 3 ETH.
-
@@ -553,7 +538,6 @@ Větev Spurious Dragon byla druhou reakcí na útoky typu odepření služby (Do
EIP-161 – umožňuje odstranění prázdných účtů přidaných prostřednictvím útoků DOS.
EIP-170 – mění maximální velikost kódu, kterou může mít kontrakt na blockchainu, na 24 576 bajtů.
-
---
@@ -576,7 +560,6 @@ Větev Tangerine Whistle byla první reakcí na útoky typu odepření služby (
EIP-150 – zvyšuje náklady na transakční poplatky u operačních kódů, které lze použít při spamových útocích.
EIP-158 – snižuje velikost stavu odstraněním velkého počtu prázdných účtů, které byly do stavu vloženy za velmi nízkou cenu kvůli chybám v dřívějších verzích protokolu Ethereum.
-
---
@@ -614,7 +597,6 @@ Větev Homestead se dívala do budoucnosti. Zahrnovala několik změn protokolu
EIP-8 – zavádí požadavky na dopřednou kompatibilitu devp2p
-
diff --git a/public/content/translations/cs/foundation/index.md b/public/content/translations/cs/foundation/index.md
index 6721c3b8e6e..f1cc48cef61 100644
--- a/public/content/translations/cs/foundation/index.md
+++ b/public/content/translations/cs/foundation/index.md
@@ -1,6 +1,6 @@
---
title: Nadace Ethereum
-description: Zjistěte více o Nadaci Ethereum (Ethereum Foundation, EF), neziskové organizaci, která se věnuje podpoře Etherea a souvisejících technologií.
+description: "Zjistěte více o Nadaci Ethereum (Ethereum Foundation, EF), neziskové organizaci, která se věnuje podpoře Etherea a souvisejících technologií."
hideEditButton: true
lang: cs
---
diff --git a/public/content/translations/cs/gaming/index.md b/public/content/translations/cs/gaming/index.md
index 3ebf0f5f8ef..d4edd3a2ca7 100644
--- a/public/content/translations/cs/gaming/index.md
+++ b/public/content/translations/cs/gaming/index.md
@@ -1,12 +1,12 @@
---
-title: Hraní na blockchainu
+title: "Hraní na blockchainu"
lang: cs
template: use-cases
image: /images/robot-help-bar.png
sidebarDepth: 2
-summaryPoint1: Pravidla a stav hry mohou být vynucována blockchainem, nikoli servery studia.
-summaryPoint2: Kdokoli může vytvářet módy, boty nebo zcela nové hry, které se připojují ke stejným onchain datům.
-summaryPoint3: Účelové L2, jako je Redstone, a frameworky jako MUD, snižují náklady natolik, aby podporovaly hraní v reálném čase.
+summaryPoint1: "Pravidla a stav hry mohou být vynucována blockchainem, nikoli servery studia."
+summaryPoint2: "Kdokoli může vytvářet módy, boty nebo zcela nové hry, které se připojují ke stejným onchain datům."
+summaryPoint3: "Účelové L2, jako je Redstone, a frameworky jako MUD, snižují náklady natolik, aby podporovaly hraní v reálném čase."
buttons:
- content: Další informace
toId: how-gaming-on-ethereum-works
diff --git a/public/content/translations/cs/glossary/index.md b/public/content/translations/cs/glossary/index.md
index d40d7eeb84e..d15be5abc48 100644
--- a/public/content/translations/cs/glossary/index.md
+++ b/public/content/translations/cs/glossary/index.md
@@ -1,6 +1,6 @@
---
-title: Slovník pojmů pro platformu Ethereum
-description: Neúplný slovník technických a netechnických pojmů souvisejících s Ethereem
+title: "Slovník pojmů pro platformu Ethereum"
+description: "Neúplný slovník technických a netechnických pojmů souvisejících s Ethereem"
lang: cs
---
diff --git a/public/content/translations/cs/governance/index.md b/public/content/translations/cs/governance/index.md
index d4034c829c1..b48dba5a553 100644
--- a/public/content/translations/cs/governance/index.md
+++ b/public/content/translations/cs/governance/index.md
@@ -1,6 +1,6 @@
---
-title: Kdo řídí Ethereum
-description: Úvod do rozhodování o Ethereu.
+title: "Kdo řídí Ethereum"
+description: "Úvod do rozhodování o Ethereu."
lang: cs
---
@@ -38,8 +38,7 @@ _Zatímco na úrovni protokolu je řízení Etherea mimo blockchain, velké mno
-## Kdo je zapojen? Kdo je zapojen? {#who-is-involved}
-
+## Kdo je zapojen? {#who-is-involved}
V [komunitě Etherea](/community/) jsou různé zúčastněné strany, z nichž každá hraje roli v procesu správy. Počínaje zainteresovanými stranami, které jsou nejvzdálenější od protokolu, se jedná o:
- **Držitelé etheru**: Tito lidé drží libovolné množství ETH. [Více o ETH](/what-is-ether/).
diff --git a/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md b/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md
index 17b2b02d19e..810e8c2f6b7 100644
--- a/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md
+++ b/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md
@@ -1,6 +1,6 @@
---
-title: Jak si „vytvořit“ Ethereum účet
-description: Průvodce vytvořením účtu na Ethereu pomocí peněženky krok za krokem.
+title: "Jak si „vytvořit“ Ethereum účet"
+description: "Průvodce vytvořením účtu na Ethereu pomocí peněženky krok za krokem."
lang: cs
---
@@ -42,7 +42,8 @@ Některé aplikace vás požádají, abyste si uložili tajnou "bezpečnostní f
-
Máte nainstalovanou peněženku? Naučte se ji používat.
+
Máte nainstalovanou peněženku? Naučte se ji používat.
+
Jak používat peněženku
diff --git a/public/content/translations/cs/guides/how-to-id-scam-tokens/index.md b/public/content/translations/cs/guides/how-to-id-scam-tokens/index.md
index 70981fadeaa..cc9cd7ea05c 100644
--- a/public/content/translations/cs/guides/how-to-id-scam-tokens/index.md
+++ b/public/content/translations/cs/guides/how-to-id-scam-tokens/index.md
@@ -1,6 +1,6 @@
---
-title: Jak rozpoznat podvodné tokeny
-description: Co jsou podvodné tokeny, jak se snaží vypadat legitimně a jak se jim vyhnout.
+title: "Jak rozpoznat podvodné tokeny"
+description: "Co jsou podvodné tokeny, jak se snaží vypadat legitimně a jak se jim vyhnout."
lang: cs
---
@@ -20,7 +20,6 @@ title="Co je ARB?"
contentPreview=''>
Arbitrum je organizace, která vyvíjí a spravuje [optimistické rollupy](/developers/docs/scaling/optimistic-rollups/). Zpočátku byla společnost Arbitrum organizována jako ziskový podnik, ale poté podnikla kroky k decentralizaci. V rámci tohoto procesu vydali obchodovatelný [správní token](/dao/#token-based-membership).
-
V Ethereu platí konvence, že pokud aktivum není kompatibilní s ERC-20, vytvoříme jeho "zabalenou" verzi s názvem začínajícím na "w". Takže máme například wBTC pro bitcoin a wETH pro ether.
Nemá smysl vytvářet zabalenou verzi tokenu ERC-20, který již na Ethereu je, ale podvodníci spoléhají spíše na zdání legitimity než na realitu.
-
## Jak fungují podvodné tokeny? {#how-do-scam-tokens-work}
@@ -42,7 +40,6 @@ title="Co jsou chytré kontrakty?"
contentPreview=''>
[Chytré kontrakty](/developers/docs/smart-contracts/) jsou programy, které běží na blockchainu Ethereum. Například, každý ERC-20 token je implementován jako chytrý kontrakt.
-
Konkrétně společnost Arbitrum nasadila kontrakt, který používá symbol `ARB`. To však nebrání ostatním lidem, aby také nasadili kontrakt, který používá stejný nebo podobný symbol. Ten, kdo kontrakt sepisuje, určuje, co bude kontrakt dělat.
diff --git a/public/content/translations/cs/guides/how-to-revoke-token-access/index.md b/public/content/translations/cs/guides/how-to-revoke-token-access/index.md
index 3c295c3a808..431561d7c13 100644
--- a/public/content/translations/cs/guides/how-to-revoke-token-access/index.md
+++ b/public/content/translations/cs/guides/how-to-revoke-token-access/index.md
@@ -1,6 +1,6 @@
---
-title: Jak zrušit přístup chytrého kontraktu k vašim krypto fondům
-description: Návod, jak odebrat přístup k vašim tokenům škodlivým smart kontraktům
+title: "Jak zrušit přístup chytrého kontraktu k vašim krypto fondům"
+description: "Návod, jak odebrat přístup k vašim tokenům škodlivým smart kontraktům"
lang: cs
---
@@ -49,7 +49,8 @@ Doporučujeme vám po několika minutách obnovit nástroj na zrušení přístu
-
Chcete se dozvědět více?
+
Chcete se dozvědět více?
+
Podívejte se na naše další návody
diff --git a/public/content/translations/cs/guides/how-to-swap-tokens/index.md b/public/content/translations/cs/guides/how-to-swap-tokens/index.md
index 43f3550e29b..0d4171803fb 100644
--- a/public/content/translations/cs/guides/how-to-swap-tokens/index.md
+++ b/public/content/translations/cs/guides/how-to-swap-tokens/index.md
@@ -1,6 +1,6 @@
---
title: Jak prohodit tokeny
-description: Návod na směnu tokenů na Ethereu.
+description: "Návod na směnu tokenů na Ethereu."
lang: cs
---
@@ -52,7 +52,8 @@ Směněné tokeny automaticky obdržíte do své peněženky, jakmile bude trans
-
Chcete se dozvědět více?
+
Chcete se dozvědět více?
+
Podívejte se na naše další návody
diff --git a/public/content/translations/cs/guides/how-to-use-a-bridge/index.md b/public/content/translations/cs/guides/how-to-use-a-bridge/index.md
index f7fc3949798..7fccdd36146 100644
--- a/public/content/translations/cs/guides/how-to-use-a-bridge/index.md
+++ b/public/content/translations/cs/guides/how-to-use-a-bridge/index.md
@@ -1,6 +1,6 @@
---
title: Jak propojit tokeny do 2. vrstvy
-description: Návod vysvětlující, jak přesunout tokeny z Etherea do 2. vrstvy pomocí mostu.
+description: "Návod vysvětlující, jak přesunout tokeny z Etherea do 2. vrstvy pomocí mostu."
lang: cs
---
@@ -54,7 +54,8 @@ Podrobnosti o síti RPC můžete zjistit pomocí [chainlist.org](http://chainlis
-
Chcete se dozvědět více?
+
Chcete se dozvědět více?
+
Podívejte se na naše další návody
diff --git a/public/content/translations/cs/guides/how-to-use-a-wallet/index.md b/public/content/translations/cs/guides/how-to-use-a-wallet/index.md
index 0df2f6cae41..01cf90cb27d 100644
--- a/public/content/translations/cs/guides/how-to-use-a-wallet/index.md
+++ b/public/content/translations/cs/guides/how-to-use-a-wallet/index.md
@@ -1,7 +1,7 @@
---
-title: Jak používat peněženku
-metaTitle: Jak používat Ethereum peněženky | Krok za krokem
-description: Návod vysvětlující, jak odesílat a přijímat tokeny a jak se připojovat k web3 projektům.
+title: "Jak používat peněženku"
+metaTitle: "Jak používat Ethereum peněženky | Krok za krokem"
+description: "Návod vysvětlující, jak odesílat a přijímat tokeny a jak se připojovat k web3 projektům."
lang: cs
---
@@ -65,7 +65,8 @@ Vaše adresa bude ve všech Ethereum projektech stejná. Na žádný projekt se
-
Chcete se dozvědět více?
+
Chcete se dozvědět více?
+
Podívejte se na naše další návody
diff --git a/public/content/translations/cs/guides/index.md b/public/content/translations/cs/guides/index.md
index a2ff6cc3b39..b1db95b5234 100644
--- a/public/content/translations/cs/guides/index.md
+++ b/public/content/translations/cs/guides/index.md
@@ -1,6 +1,6 @@
---
-title: Ethereum návody
-description: Sbírka praktických návodů vysvětlujících základy používání Etherea pro začátečníky.
+title: "Ethereum návody"
+description: "Sbírka praktických návodů vysvětlujících základy používání Etherea pro začátečníky."
lang: cs
---
diff --git a/public/content/translations/cs/nft/index.md b/public/content/translations/cs/nft/index.md
index 6fe1c65015f..811a8fae27f 100644
--- a/public/content/translations/cs/nft/index.md
+++ b/public/content/translations/cs/nft/index.md
@@ -1,16 +1,16 @@
---
-title: Nezaměnitelné tokeny (NFT)
-metaTitle: Co jsou NFTéčka? | Výhody a využití
-description: Přehled NFT na Ethereu
+title: "Nezaměnitelné tokeny (NFT)"
+metaTitle: "Co jsou NFTéčka? | Výhody a využití"
+description: "Přehled NFT na Ethereu"
lang: cs
template: use-cases
emoji: ":frame_with_picture:"
sidebarDepth: 2
image: /images/infrastructure_transparent.png
-alt: Logo Eth zobrazené prostřednictvím hologramu.
-summaryPoint1: Způsob, jak reprezentovat cokoliv unikátního jako majetek založený na Ethereu.
-summaryPoint2: NFT dávají tvůrcům obsahu větší moc než kdykoliv předtím.
-summaryPoint3: Běží na chytrých kontraktech na blockchainu Ethereum.
+alt: "Logo Eth zobrazené prostřednictvím hologramu."
+summaryPoint1: "Způsob, jak reprezentovat cokoliv unikátního jako majetek založený na Ethereu."
+summaryPoint2: "NFT dávají tvůrcům obsahu větší moc než kdykoliv předtím."
+summaryPoint3: "Běží na chytrých kontraktech na blockchainu Ethereum."
---
## Co jsou NFTéčka? {#what-are-nfts}
@@ -58,7 +58,8 @@ Možná jste umělec, který chce zveřejnit svou práci pomocí NFT, aniž by z
-
Prozkoumejte, kupte nebo si vytvořte vlastní NFT umění...
+
Prozkoumejte, kupte nebo si vytvořte vlastní NFT umění...
+
Prozkoumat NFT umění
diff --git a/public/content/translations/cs/payments/index.md b/public/content/translations/cs/payments/index.md
index a2d63f26c57..049691cf32d 100644
--- a/public/content/translations/cs/payments/index.md
+++ b/public/content/translations/cs/payments/index.md
@@ -1,16 +1,16 @@
---
title: Ethereum platby
metaTitle: Platby na Ethereu
-description: Přehled plateb na Ethereu
+description: "Přehled plateb na Ethereu"
lang: cs
template: use-cases
emoji: ":frame_with_picture:"
sidebarDepth: 2
image: /images/impact_transparent.png
-alt: Logo Eth zobrazené s podávajícíma si rukama.
-summaryPoint1: Svět, kde se peníze pohybují stejně volně jako informace
-summaryPoint2: Otevřené a globální, umožňující bezhraniční transakce pro všechny
-summaryPoint3: Platby přijaté do minuty
+alt: "Logo Eth zobrazené s podávajícíma si rukama."
+summaryPoint1: "Svět, kde se peníze pohybují stejně volně jako informace"
+summaryPoint2: "Otevřené a globální, umožňující bezhraniční transakce pro všechny"
+summaryPoint3: "Platby přijaté do minuty"
---
Každý den čelí miliony lidí stejné výzvě: přesouvání peněz přes hranice je pomalé, drahé a často frustrující. Nezávislý pracovník na Bali čeká dny na zúčtování platby od svého klienta z New Yorku. To se týká zejména lidí v regionech s omezenou bankovní infrastrukturou, což jim ztěžuje účastnit se globální ekonomiky.
@@ -20,7 +20,6 @@ To není žádný vzdálený sen – děje se to dnes na Ethereu. Zatímco tradi

-
## Remitence: levnější mezinárodní převody {#remittances}
@@ -61,7 +60,8 @@ V zemích, kde byly jejich platební prostředky odpojeny od zbytku světa, pře
-
Vytvořte si svůj účet Ethereum ještě dnes pomocí peněženkové aplikace.
+
Vytvořte si svůj účet Ethereum ještě dnes pomocí peněženkové aplikace.
+
Začněte
@@ -143,7 +143,6 @@ Podobně rychlé reakce byly i na tragédie, které se staly v Indii a na Ukraji

-
## Ethereum vs. fiat {#ethereum-vs-fiat}
@@ -190,7 +189,6 @@ S Ethereem může každý vidět, jak se peníze pohybují a jak jsou implemento

-
Zatímco fiat měny mají výhodu širokého přijetí a stability, Ethereum nabízí jedinečné výhody, které z něj činí atraktivní možnost pro určité typy transakcí.
@@ -200,7 +198,8 @@ Od usnadnění rychlé pomoci při katastrofách až po posílení postavení gl
-
Je čas si pořídit vlastní účet Ethereum.
+
Je čas si pořídit vlastní účet Ethereum.
+
Začněte!
diff --git a/public/content/translations/cs/prediction-markets/index.md b/public/content/translations/cs/prediction-markets/index.md
index 16178a10e1c..5af2fb41a2a 100644
--- a/public/content/translations/cs/prediction-markets/index.md
+++ b/public/content/translations/cs/prediction-markets/index.md
@@ -1,11 +1,11 @@
---
-title: Predikční trhy
+title: "Predikční trhy"
lang: cs
template: use-cases
image: /images/use-cases/prediction-markets.png
sidebarDepth: 2
-summaryPoint1: Získejte finanční pobídky za vytváření přesných předpovědí
-summaryPoint2: Vysoce kvalitní předpovědi budoucích událostí
+summaryPoint1: "Získejte finanční pobídky za vytváření přesných předpovědí"
+summaryPoint2: "Vysoce kvalitní předpovědi budoucích událostí"
buttons:
- content: Další informace
toId: how-prediction-markets-work
diff --git a/public/content/translations/cs/privacy/index.md b/public/content/translations/cs/privacy/index.md
index 9f07e2e7a76..4956388cbc2 100644
--- a/public/content/translations/cs/privacy/index.md
+++ b/public/content/translations/cs/privacy/index.md
@@ -1,6 +1,6 @@
---
-title: Soukromí na Ethereu
-description: Nástroje a techniky pro ochranu vašeho soukromí na Ethereu
+title: "Soukromí na Ethereu"
+description: "Nástroje a techniky pro ochranu vašeho soukromí na Ethereu"
lang: cs
---
diff --git a/public/content/translations/cs/real-world-assets/index.md b/public/content/translations/cs/real-world-assets/index.md
index 2875a4eaaff..b166b27af15 100644
--- a/public/content/translations/cs/real-world-assets/index.md
+++ b/public/content/translations/cs/real-world-assets/index.md
@@ -1,16 +1,16 @@
---
-title: Fyzická aktiva (RWAs)
-metaTitle: Co jsou fyzická aktiva (RWAs)? | Přínosy a využití fyzických aktiv
-description: Přehled fyzických aktiv na Ethereu
+title: "Fyzická aktiva (RWAs)"
+metaTitle: "Co jsou fyzická aktiva (RWAs)? | Přínosy a využití fyzických aktiv"
+description: "Přehled fyzických aktiv na Ethereu"
lang: cs
template: use-cases
emoji: ":house_buildings:"
image: /images/man-and-dog-playing.png
-alt: Muž a pes si hrají.
+alt: "Muž a pes si hrají."
sidebarDepth: 2
-summaryPoint1: Metoda, jak proměnit cenné komodity v digitální tokeny.
-summaryPoint2: Nyní můžete vlastnit podíly na skutečných objektech nebo aktivech, místo abyste museli kupovat celou nemovitost či předmět.
-summaryPoint3: Propojuje tradiční finance s blockchainovým ekosystémem.
+summaryPoint1: "Metoda, jak proměnit cenné komodity v digitální tokeny."
+summaryPoint2: "Nyní můžete vlastnit podíly na skutečných objektech nebo aktivech, místo abyste museli kupovat celou nemovitost či předmět."
+summaryPoint3: "Propojuje tradiční finance s blockchainovým ekosystémem."
---
Aktiva z reálného světa (RWA) jsou tokeny představující existující formy bohatství, jako jsou nemovitosti, zlato, akcie, umění, stroje nebo sběratelské předměty. Tokenizace těchto položek je převádí do digitální podoby, což umožňuje jejich rozdělení mezi více vlastníků a usnadňuje obchodování s nimi.
diff --git a/public/content/translations/cs/refi/index.md b/public/content/translations/cs/refi/index.md
index 3d3e4cb2d96..5c73c91a95b 100644
--- a/public/content/translations/cs/refi/index.md
+++ b/public/content/translations/cs/refi/index.md
@@ -1,15 +1,15 @@
---
-title: Regenerativní finance (ReFi)
-description: Přehled ReFi a aktuálních případů použití.
+title: "Regenerativní finance (ReFi)"
+description: "Přehled ReFi a aktuálních případů použití."
lang: cs
template: use-cases
emoji: ":recycle:"
sidebarDepth: 2
image: /images/future_transparent.png
alt: ""
-summaryPoint1: Alternativní ekonomický systém postavený na regenerativních principech
-summaryPoint2: Snaha využít Ethereum k řešení koordinačních krizí na globální úrovni, jako je změna klimatu
-summaryPoint3: Nástroj pro drastické škálování ekologických aktiv, jako jsou ověřené uhlíkové kredity.
+summaryPoint1: "Alternativní ekonomický systém postavený na regenerativních principech"
+summaryPoint2: "Snaha využít Ethereum k řešení koordinačních krizí na globální úrovni, jako je změna klimatu"
+summaryPoint3: "Nástroj pro drastické škálování ekologických aktiv, jako jsou ověřené uhlíkové kredity."
---
## Co je to ReFi? {#what-is-refi}
diff --git a/public/content/translations/cs/restaking/index.md b/public/content/translations/cs/restaking/index.md
index 84365417140..65dbed9ee17 100644
--- a/public/content/translations/cs/restaking/index.md
+++ b/public/content/translations/cs/restaking/index.md
@@ -1,14 +1,14 @@
---
-title: Opětovné uzamčení
-metaTitle: Co je to opětovné uzamčení? | Výhody a využití opětovného uzamčení
-description: Použijte uzamčené ETH k zabezpečení dalších decentralizovaných služeb a získejte další odměny.
+title: "Opětovné uzamčení"
+metaTitle: "Co je to opětovné uzamčení? | Výhody a využití opětovného uzamčení"
+description: "Použijte uzamčené ETH k zabezpečení dalších decentralizovaných služeb a získejte další odměny."
lang: cs
template: use-cases
emoji: ":recycle:"
image: /images/use-cases/restaking.png
-alt: Vizuální znázornění opětovného uzamčení na Ethereu.
+alt: "Vizuální znázornění opětovného uzamčení na Ethereu."
sidebarDepth: 2
-summaryPoint1: Použijte uzamčené ETH k zabezpečení dalších decentralizovaných služeb a získejte další odměny.
+summaryPoint1: "Použijte uzamčené ETH k zabezpečení dalších decentralizovaných služeb a získejte další odměny."
buttons:
- content: Co je to opětovné uzamčení?
toId: what-is-restaking
diff --git a/public/content/translations/cs/roadmap/account-abstraction/index.md b/public/content/translations/cs/roadmap/account-abstraction/index.md
index d8d61d1aa17..cc930b795c2 100644
--- a/public/content/translations/cs/roadmap/account-abstraction/index.md
+++ b/public/content/translations/cs/roadmap/account-abstraction/index.md
@@ -1,6 +1,6 @@
---
-title: Abstrakce účtů
-description: Přehled plánů Etherea na zjednodušení a větší zabezpečení uživatelských účtů
+title: "Abstrakce účtů"
+description: "Přehled plánů Etherea na zjednodušení a větší zabezpečení uživatelských účtů"
lang: cs
summaryPoints:
- Abstrakce účtů usnadňuje vytváření peněženek založených na chytrých kontraktech
diff --git a/public/content/translations/cs/roadmap/beacon-chain/index.md b/public/content/translations/cs/roadmap/beacon-chain/index.md
index bb0e80fa1ff..23763d77fdb 100644
--- a/public/content/translations/cs/roadmap/beacon-chain/index.md
+++ b/public/content/translations/cs/roadmap/beacon-chain/index.md
@@ -1,21 +1,20 @@
---
-title: Řetězová vazba
-description: Přečtěte si o Řetězové vazbě – vylepšení, které umožnilo důkaz podílem na Ethereu.
+title: "Řetězová vazba"
+description: "Přečtěte si o Řetězové vazbě – vylepšení, které umožnilo důkaz podílem na Ethereu."
lang: cs
template: upgrade
image: /images/upgrades/core.png
alt:
-summaryPoint1: Řetězová vazba zavedla důkaz podílem do ekosystému Etherea.
-summaryPoint2: V září 2022 byla sloučena s původním Ethereem založeným na důkazu prací.
-summaryPoint3: Řetězová vazba představila logiku konsensu a blokový komunikační protokol, který v současné době zabezpečuje Ethereum.
+summaryPoint1: "Řetězová vazba zavedla důkaz podílem do ekosystému Etherea."
+summaryPoint2: "V září 2022 byla sloučena s původním Ethereem založeným na důkazu prací."
+summaryPoint3: "Řetězová vazba představila logiku konsensu a blokový komunikační protokol, který v současné době zabezpečuje Ethereum."
---
Řetězová vazba byla spuštěna 1. prosince 2020 a formalizovala důkaz podílem jako mechanismus konsenzu Etherea s upgradem Sloučení dne 15. září 2022.
-## Co je Řetězová vazba? Co je Řetězová vazba? {#what-is-the-beacon-chain}
-
+## Co je Řetězová vazba? {#what-is-the-beacon-chain}
Řetězová vazba je název původního blockchainu založeného na důkazu podílem, který byl spuštěn v roce 2020. Byl vytvořen za účelem zajištění správnosti a udržitelnosti logiky konsensu důkazu podílem před nasazením na hlavní síť Ethereum. Proto běžel souběžně s původním Ethereem založeným na důkazu prací. Řetězová vazba byla řetězec „prázdných“ bloků, ale vypnutí důkazu prací a zapnutí důkazu podílem na Ethereu vyžadovalo instruovat Řetězovou vazbu, aby přijímala transakční data od exekučních klientů, sdružovala je do bloků a poté organizovala do blockchainu pomocí mechanismu konsenzu založeného na důkazu podílem. Ve stejnou chvíli původní klienti Etherea vypnuli těžbu, tvorbu bloků a logiku konsensu a převedli vše na Řetězovou vazbu. Tato událost byla známá jako [Sloučení](/roadmap/merge/). Jakmile došlo ke Sloučení, už neexistovaly dva blockchainy. Místo toho nyní existuje jen jedno Ethereum, které vyžaduje dva různé klienty na síťový uzel. Řetězová vazba je nyní konsensuální vrstva: Peer-to-peer síť konsenzuálních klientů, která zpracovává blokovou komunikaci a konsenzuální logiku, zatímco původní klienti tvoří exekuční vrstvu, která je zodpovědná za komunikaci a exekuci transakcí a správu stavu Etherea. Tyto dvě vrstvy spolu mohou komunikovat pomocí Engine API.
## Co Řetězová vazba dělá? Co dělá Řetězová vazba? {#what-does-the-beacon-chain-do}
diff --git a/public/content/translations/cs/roadmap/danksharding/index.md b/public/content/translations/cs/roadmap/danksharding/index.md
index 16ef34885c0..99c37ed055d 100644
--- a/public/content/translations/cs/roadmap/danksharding/index.md
+++ b/public/content/translations/cs/roadmap/danksharding/index.md
@@ -1,6 +1,6 @@
---
title: Danksharding
-description: Seznamte se s Proto-Dankshardingem a Dankshardingem - dvěma po sobě jdoucími vylepšeními pro škálování Etherea.
+description: "Seznamte se s Proto-Dankshardingem a Dankshardingem - dvěma po sobě jdoucími vylepšeními pro škálování Etherea."
lang: cs
summaryPoints:
- Danksharding je vícestupňové vylepšení, které má zlepšit škálovatelnost a kapacitu Etherea.
@@ -22,13 +22,11 @@ Toto je drahé, protože CALLDATA jsou zpracovávána všemi uzly na Ethereu a z
Rollupy jsou způsobem, jak škálovat Ethereum tím, že sdružují transakce mimo blockchain a poté zveřejňují výsledky na Ethereu. Rollup se v podstatě skládá ze dvou částí: dat a ověření provedení. Data jsou úplné sekvence transakcí, které jsou zpracovány rollupem k vytvoření změny stavu, jež je zveřejněna na Ethereu. Ověření provedení je opětovné provedení těchto transakcí nějakým poctivým aktérem (tzv. „schvalovatel“), aby bylo zajištěno, že navrhovaná změna stavu je správná. K provedení ověření musí být transakční data dostupná dostatečně dlouho na to, aby si je mohl kdokoliv stáhnout a zkontrolovat. To znamená, že jakékoliv nepoctivé chování sequencera rollupu může být identifikováno a napadnuto ověřovatelem. Nicméně není nutné, aby byla tato data dostupná navždy.
-
Rollupy zveřejňují závazky ke svým transakčním datům na blockchainu a také zpřístupňují skutečná data v datových blobech. To znamená, že ověřovatelé mohou verifikovat, že jsou závazky platné, nebo napadnout data, která považují za nesprávná. Na úrovni uzlů jsou tyto datové bloby uloženy v konsenzus klientech. Konsenzus klienti potvrzují, že data viděli a že byla rozšířena po celé síti. Pokud by se data uchovávala navždy, tito klienti by zůstali přetíženi, což by vedlo k velkým požadavkům na hardware pro provozování uzlů. Místo toho se data automaticky mažou z uzlu každých 18 dní. Atestace konsenzus klientů prokazují, že ověřovatelé měli dostatečnou příležitost data ověřit. Skutečná data mohou být uložena mimo blockchain provozovateli rollupu, uživateli nebo ostatními.
-
### Jak jsou data v blobech ověřována? {#how-are-blobs-verified}
@@ -48,13 +46,11 @@ Ceremoniál KZG EIP-4844 byl veřejný a zúčastnily se ho desítky tisíc uži
Když rollup zveřejní data v blobu, poskytne také „závazek“, který zveřejní na blockchainu. Tento závazek je výsledkem vyhodnocení polynomu přizpůsobeného datům v určitých bodech. Tyto body jsou definovány náhodnými čísly generovanými v ceremoniálu KZG. Ověřovatelé mohou poté vyhodnotit polynom ve stejných bodech, aby ověřili data – pokud dosáhnou stejných hodnot, jsou data správná.
-
Pokud někdo zná náhodné body použité pro vytvoření závazku, je pro něj snadné vytvořit nový polynom, který se bude shodovat v těchto konkrétních bodech (tj. "kolize"). To znamená, že by byl schopen přidat nebo odebrat data z blobu a stále poskytovat platný důkaz. Aby se tomu zabránilo, místo toho, aby ověřovatelé dostávali skutečné tajné body, obdrží body zabalené v kryptografické „černé skříňce“ pomocí eliptických křivek. Tyto body efektivně zamíchají hodnoty tak, aby původní hodnoty nemohly být zpětně rekonstruovány, ale s určitým chytrým algebraickým postupem mohou ověřovatelé stále vyhodnotit polynomy v bodech, které reprezentují.
-
@@ -70,13 +66,11 @@ Funguje to tak, že se rozšíří počet blobů připojených k blokům ze šes
Oddělení navrhovatelů a stavitelů bloků je nezbytné k tomu, aby jednotliví validátoři nemuseli generovat drahé závazky a důkazy pro 32 MB blobových dat. To by příliš zatěžovalo domácí validátory a vyžadovalo by to investice do výkonnějšího hardwaru, což by signifikantně snížilo decentralizaci. Místo toho převezmou zodpovědnost za tuto náročnou výpočetní práci specializovaní stavitelé bloků. Poté zpřístupní své bloky navrhovatelům bloků, aby je mohli šířit. Navrhovatel bloku jednoduše vybere blok, který je nejziskovější. Každý může levně a rychle ověřit bloby, což znamená, že jakýkoliv běžný validátor může zkontrolovat poctivost jednání stavitelů bloků. To umožňuje zpracování velkých blobů bez obětování decentralizace. Nepoctiví stavitelé bloků by mohli být jednoduše vyloučeni ze sítě a penalizováni a další by je nahradili, protože stavba bloků je výnosná činnost.
-
Vzorkování dostupnosti dat je nezbytné pro validátory k rychlému a efektivnímu ověřování blobových dat. Pomocí vzorkování dostupnosti dat si mohou být validátoři jistí, že byla blobová data dostupná a správně potvrzena. Každý validátor může náhodně vybrat jen několik datových bodů a vytvořit důkaz, což znamená, že žádný validátor nemusí kontrolovat celý blob. Pokud nějaká data chybí, budou rychle identifikována a blob bude zamítnut.
-
### Aktuální postup {#current-progress}
diff --git a/public/content/translations/cs/roadmap/dencun/index.md b/public/content/translations/cs/roadmap/dencun/index.md
index 881f2dc1882..490da2c7259 100644
--- a/public/content/translations/cs/roadmap/dencun/index.md
+++ b/public/content/translations/cs/roadmap/dencun/index.md
@@ -1,6 +1,6 @@
---
title: FAQ ke Cancun-Deneb (Dencun)
-description: Často kladené dotazy k vylepšení sítě s názvem Cancun-Deneb (Dencun)
+description: "Často kladené dotazy k vylepšení sítě s názvem Cancun-Deneb (Dencun)"
lang: cs
---
diff --git a/public/content/translations/cs/roadmap/fusaka/index.md b/public/content/translations/cs/roadmap/fusaka/index.md
index f154e9d0a24..f072b03dcb3 100644
--- a/public/content/translations/cs/roadmap/fusaka/index.md
+++ b/public/content/translations/cs/roadmap/fusaka/index.md
@@ -1,6 +1,6 @@
---
title: Fulu-Osaka (Fusaka)
-description: Zjistěte více o vylepšení protokolu Fusaka
+description: "Zjistěte více o vylepšení protokolu Fusaka"
lang: cs
---
diff --git a/public/content/translations/cs/roadmap/fusaka/peerdas/index.md b/public/content/translations/cs/roadmap/fusaka/peerdas/index.md
index ec482438f4c..ab081d42b4c 100644
--- a/public/content/translations/cs/roadmap/fusaka/peerdas/index.md
+++ b/public/content/translations/cs/roadmap/fusaka/peerdas/index.md
@@ -1,6 +1,6 @@
---
title: PeerDAS
-description: Seznamte se s PeerDAS jako součástí vylepšení protokolu Ethereum Fusaka
+description: "Seznamte se s PeerDAS jako součástí vylepšení protokolu Ethereum Fusaka"
lang: cs
---
diff --git a/public/content/translations/cs/roadmap/future-proofing/index.md b/public/content/translations/cs/roadmap/future-proofing/index.md
index ab10eb3ac49..b1bc5267272 100644
--- a/public/content/translations/cs/roadmap/future-proofing/index.md
+++ b/public/content/translations/cs/roadmap/future-proofing/index.md
@@ -1,6 +1,6 @@
---
-title: Příprava na budoucnost Etherea
-description: Neustávající práce na vylepšeních činí Ethereum odolnou, decentralizovanou základní vrstvou, bez ohledu na to, co nám budoucnost přinese.
+title: "Příprava na budoucnost Etherea"
+description: "Neustávající práce na vylepšeních činí Ethereum odolnou, decentralizovanou základní vrstvou, bez ohledu na to, co nám budoucnost přinese."
lang: cs
image: /images/roadmap/roadmap-future.png
alt: "Plán Etherea"
diff --git a/public/content/translations/cs/roadmap/merge/index.md b/public/content/translations/cs/roadmap/merge/index.md
index ab9c9c31585..a5ceea5d9cd 100644
--- a/public/content/translations/cs/roadmap/merge/index.md
+++ b/public/content/translations/cs/roadmap/merge/index.md
@@ -1,14 +1,14 @@
---
-title: Sloučení
-description: Zjistěte více o Sloučení – když hlavní síť Ethereum přešla na důkaz podílem.
+title: "Sloučení"
+description: "Zjistěte více o Sloučení – když hlavní síť Ethereum přešla na důkaz podílem."
lang: cs
template: upgrade
image: /images/upgrades/merge.png
alt:
-summaryPoint1: Hlavní síť Ethereum používá důkaz podílem, ale ne vždy tomu tak bylo.
-summaryPoint2: Upgrade z původního mechanismu důkazu prací na důkaz podílem se nazývá Sloučení.
-summaryPoint3: Sloučení označuje sloučení původní hlavní sítě Ethereum s odděleným blockchainem založeným na důkazu podílem nazývaným Řetězová vazba, které nyní existují jako jeden řetězec.
-summaryPoint4: Sloučení snížilo spotřebu energie potřebné k provozu Etherea přibližně o 99,95 %.
+summaryPoint1: "Hlavní síť Ethereum používá důkaz podílem, ale ne vždy tomu tak bylo."
+summaryPoint2: "Upgrade z původního mechanismu důkazu prací na důkaz podílem se nazývá Sloučení."
+summaryPoint3: "Sloučení označuje sloučení původní hlavní sítě Ethereum s odděleným blockchainem založeným na důkazu podílem nazývaným Řetězová vazba, které nyní existují jako jeden řetězec."
+summaryPoint4: "Sloučení snížilo spotřebu energie potřebné k provozu Etherea přibližně o 99,95 %."
---
@@ -70,7 +70,8 @@ Klíčové akční položky zahrnují:
Pokud neprovedete první dvě výše uvedené položky, vámi provozovaný síťový uzel uzel bude považován za „offline“, dokud nebudou obě vrstvy synchronizovány a autentizovány.
-Pokud nenastavíte adresu pro „příjem odměn“, váš validátor bude stále fungovat jako obvykle, ale poplatky a MEV, které byste jinak získali v blocích navržených vaším validátorem, budou spáleny.
+Pokud nenastavíte adresu pro „příjem odměn“, váš validátor bude stále fungovat jako obvykle, ale poplatky a MEV, které byste jinak získali v blocích navržených vaším validátorem, budou spáleny.
+
Více informací najdete v tomto příspěvku na blogu od Tima Beika o tom, jak Sloučení ovlivňuje aplikační vrstvu Etherea.
-
## Sloučení a spotřeba energie {#merge-and-energy}
@@ -134,7 +133,6 @@ Spuštění uzlu, který nenavrhuje bloky, je možné pro každého pod konsensu
Schopnost každého spustit svůj vlastní uzel je naprostým základem pro udržení decentralizace sítě Ethereum.
[Více o provozování vlastního uzlu](/run-a-node/)
-
plánem orientovaným na rollupy se úsilí zaměřuje na škálování uživatelské aktivity na [druhé vrstvě](/layer-2/), zatímco hlavní síť na první vrstvě funguje jako bezpečná decentralizovaná vypořádací vrstva optimalizovaná pro ukládání dat rollupů, což vede k exponenciálnímu snížení nákladů na transakce na rollupech. Přechod na důkaz podílem je klíčovým předpokladem pro realizaci tohoto cíle. [Více o palivu a poplatcích.](/developers/docs/gas/)
-
- Přesné vydávání za uzamčení kolísá v závislosti na celkovém množství uzamčených ETH
- **Od Sloučení zůstává pouze ~1 700 ETH/den, což snižuje celkové nové vydávání ETH o ~88 %**
- Pálení: Toto kolísá v závislosti na poptávce v síti. - Pokud je průměrná cena paliva alespoň 16 gwei za daný den, nastává efektivní kompenzace právě těch ~1 700 ETH, které jsou vydávány validátorům, a směruje čistou inflaci ETH v daný den k nule nebo níže.
-
## Před Sloučením (historicky) {#pre-merge}
@@ -56,11 +55,15 @@ Celková nabídka ETH: **~120 520 000 ETH** (v době Sloučení v září 2022)
-**Celková roční míra vydávání (před Sloučením): ~4,61 %** (4,09 % + 0,52 %)
+
+**Celková roční míra vydávání (před Sloučením): ~4,61 %** (4,09 % + 0,52 %)
**~88,7 %** vydávání šlo těžařům na exekuční vrstvě (4,09 / 4,61 \* 100)
-**~11,3 %** bylo vydáváno uzamykatelům na vrstvě konsenzu (0,52 / 4,61 \* 100)
+**~11,3 %** bylo vydáváno uzamykatelům na vrstvě konsenzu (0,52 / 4,61 \* 100)
+
+
+
## Po Sloučení (současnost) {#post-merge}
@@ -88,9 +91,13 @@ S tím, jak bude více validátorů vybírat, bude se maximální počet odcház
-Celková roční míra vydávání: **~0,52 %**
+
+Celková roční míra vydávání: **~0,52 %**
-Čisté snížení ročního vydávání ETH: **~88,7 %** ((4,61 % – 0,52 %) / 4,61 % \* 100)
+Čisté snížení ročního vydávání ETH: **~88,7 %** ((4,61 % – 0,52 %) / 4,61 % \* 100)
+
+
+
## Pálení {#the-burn}
@@ -100,7 +107,10 @@ Opakem vydávání ETH je stupeň, při které je ETH pálen. Aby byla transakce
-Pálení poplatků bylo spuštěno s [vylepšením London](/ethereum-forks/#london) v srpnu 2021 a od Sloučení zůstává nezměněno.
+Pálení poplatků bylo spuštěno s [vylepšením London](/ethereum-forks/#london) v srpnu 2021 a od Sloučení zůstává nezměněno.
+
+
+
Kromě pálení poplatků zavedeného s vylepšením London mohou validátoři také dostávat pokuty za to, že jsou offline, nebo hůře, mohou být „potrestáni“ za porušení specifických pravidel, které ohrožuje bezpečnost sítě. Tyto pokuty vedou k odečtení ETH od zůstatku validátora, aniž by byly převedeny jako odměna jinému účtu, čímž se efektivně pálí/odstraňují z oběhu.
diff --git a/public/content/translations/cs/roadmap/pbs/index.md b/public/content/translations/cs/roadmap/pbs/index.md
index 707597691ba..c3f0ac0f424 100644
--- a/public/content/translations/cs/roadmap/pbs/index.md
+++ b/public/content/translations/cs/roadmap/pbs/index.md
@@ -1,6 +1,6 @@
---
-title: Oddělení navrhovatelů od sestavovatelů
-description: Zjistěte, jak a proč validátoři Etherea dělí své povinnosti sestavovatelů a šiřitelů bloků.
+title: "Oddělení navrhovatelů od sestavovatelů"
+description: "Zjistěte, jak a proč validátoři Etherea dělí své povinnosti sestavovatelů a šiřitelů bloků."
lang: cs
---
@@ -21,7 +21,6 @@ Např. lze zavést seznamy transakcí, které mají být zahrnuty, takže když
Mocné organizace mohou tlačit na validátory, aby cenzurovali transakce na určité adresy nebo z nich. Validátoři tomuto tlaku mohou vyhovět tím, že detekují adresy na černé listině ve svém poolu transakcí a vynechávají je z bloků, které navrhují. Po PBS to již nebude možné, protože navrhovatelé bloků nebudou vědět, jaké transakce ve svých blocích šíří. Pro některé jednotlivce nebo aplikace může být důležité dodržovat pravidla cenzury, např. když je to v jejich regionu uzákoněno. V těchto případech dochází k omezení na úrovni aplikace, zatímco protokol zůstává bez povolení a bez cenzury.
-
## PBS a MEV {#pbs-and-mev}
@@ -32,7 +31,8 @@ PBS řeší tento problém překonfigurováním ekonomiky MEV. Místo toho, aby
-Jednotlivci mohou být motivováni uzamykat spíše pomocí poolů než sami, a to z důvodu lepších odměn, které nabízejí sofistikované strategie MEV. Oddělení sestavení bloku od návrhu bloku znamená, že extrahované MEV bude distribuováno mezi více validátorů, spíše než centralizováno tím, kdo nejlépe spočítá MEV. Umožnění existence specializovaných sestavovatelů bloků zároveň pomůže jednotlivcům, kteří nebudou muset bloky vytvářet, a také jim zabrání v odejmutí MEV pro sebe a maximalizuje počet jednotlivých nezávislých validátorů, kteří mohou potvrdit poctivost bloků. Důležitým konceptem je „asymetrie ověřovatelů a dokazovatelů“, která odkazuje na myšlenku, že centralizovaná produkce bloků je v pořádku, pokud existuje robustní a maximálně decentralizovaná síť validátorů schopných dokázat, že jsou bloky poctivé. Decentralizace je prostředkem, nikoli konečným cílem – chceme poctivé bloky.
+Jednotlivci mohou být motivováni uzamykat spíše pomocí poolů než sami, a to z důvodu lepších odměn, které nabízejí sofistikované strategie MEV. Oddělení sestavení bloku od návrhu bloku znamená, že extrahované MEV bude distribuováno mezi více validátorů, spíše než centralizováno tím, kdo nejlépe spočítá MEV. Umožnění existence specializovaných sestavovatelů bloků zároveň pomůže jednotlivcům, kteří nebudou muset bloky vytvářet, a také jim zabrání v odejmutí MEV pro sebe a maximalizuje počet jednotlivých nezávislých validátorů, kteří mohou potvrdit poctivost bloků. Důležitým konceptem je „asymetrie ověřovatelů a dokazovatelů“, která odkazuje na myšlenku, že centralizovaná produkce bloků je v pořádku, pokud existuje robustní a maximálně decentralizovaná síť validátorů schopných dokázat, že jsou bloky poctivé. Decentralizace je prostředkem, nikoli konečným cílem – chceme poctivé bloky.
+
## PBS a Danksharding {#pbs-and-danksharding}
diff --git a/public/content/translations/cs/roadmap/pectra/7702/index.md b/public/content/translations/cs/roadmap/pectra/7702/index.md
index 75943bd68d7..a7849d0b0e6 100644
--- a/public/content/translations/cs/roadmap/pectra/7702/index.md
+++ b/public/content/translations/cs/roadmap/pectra/7702/index.md
@@ -1,6 +1,6 @@
---
title: Pokyny pro Pectra 7702
-description: Zjistěte více o 7702 ve vydání Pectra
+description: "Zjistěte více o 7702 ve vydání Pectra"
lang: cs
---
diff --git a/public/content/translations/cs/roadmap/pectra/index.md b/public/content/translations/cs/roadmap/pectra/index.md
index ccca723dadf..a7882208bbb 100644
--- a/public/content/translations/cs/roadmap/pectra/index.md
+++ b/public/content/translations/cs/roadmap/pectra/index.md
@@ -1,6 +1,6 @@
---
title: Prague-Electra (Pectra)
-description: Zjistěte více o vylepšení protokolu Pectra
+description: "Zjistěte více o vylepšení protokolu Pectra"
lang: cs
---
diff --git a/public/content/translations/cs/roadmap/pectra/maxeb/index.md b/public/content/translations/cs/roadmap/pectra/maxeb/index.md
index a56948a1ce1..592a12c69d9 100644
--- a/public/content/translations/cs/roadmap/pectra/maxeb/index.md
+++ b/public/content/translations/cs/roadmap/pectra/maxeb/index.md
@@ -1,6 +1,6 @@
---
title: Pectra MaxEB
-description: Zjistěte více o MaxEB ve vydání Pectra
+description: "Zjistěte více o MaxEB ve vydání Pectra"
lang: cs
---
diff --git a/public/content/translations/cs/roadmap/scaling/index.md b/public/content/translations/cs/roadmap/scaling/index.md
index a256e9d5fb5..a86a5776c33 100644
--- a/public/content/translations/cs/roadmap/scaling/index.md
+++ b/public/content/translations/cs/roadmap/scaling/index.md
@@ -1,6 +1,6 @@
---
-title: Škálování Etherea
-description: Rollupy združují transakce mimo blockchain, čímž uživateli snižují náklady za transkaci. Současný způsob, jakým rollupy zpracovávají data, je však příliš drahý, což limituje, nakolik mohou transakce zlevnit. Tento problém řeší Proto-Danksharding.
+title: "Škálování Etherea"
+description: "Rollupy združují transakce mimo blockchain, čímž uživateli snižují náklady za transkaci. Současný způsob, jakým rollupy zpracovávají data, je však příliš drahý, což limituje, nakolik mohou transakce zlevnit. Tento problém řeší Proto-Danksharding."
lang: cs
image: /images/roadmap/roadmap-transactions.png
alt: "Plán Etherea"
diff --git a/public/content/translations/cs/roadmap/secret-leader-election/index.md b/public/content/translations/cs/roadmap/secret-leader-election/index.md
index 9066fa6b5df..4f5f0adcc88 100644
--- a/public/content/translations/cs/roadmap/secret-leader-election/index.md
+++ b/public/content/translations/cs/roadmap/secret-leader-election/index.md
@@ -1,6 +1,6 @@
---
-title: Tajná volba lídra
-description: Vysvětlení, jak tajná volba lídra může pomoci ochránit validátory před útoky
+title: "Tajná volba lídra"
+description: "Vysvětlení, jak tajná volba lídra může pomoci ochránit validátory před útoky"
lang: cs
summaryPoints:
- IP adresa navrhovatelů bloků může být známa předem, což je činí zranitelnými vůči útokům.
diff --git a/public/content/translations/cs/roadmap/security/index.md b/public/content/translations/cs/roadmap/security/index.md
index af3f2cb767b..fbb07a011a6 100644
--- a/public/content/translations/cs/roadmap/security/index.md
+++ b/public/content/translations/cs/roadmap/security/index.md
@@ -1,6 +1,6 @@
---
-title: Bezpečnější Ethereum
-description: Ethereum je nejbezpečnější a nejvíce decentralizovaná platforma pro chytré kontrakty, která existuje. Nicméně stále je možné ho vylepšit, aby zůstalo odolné vůči jakékoliv úrovni útoků i v daleké budoucnosti.
+title: "Bezpečnější Ethereum"
+description: "Ethereum je nejbezpečnější a nejvíce decentralizovaná platforma pro chytré kontrakty, která existuje. Nicméně stále je možné ho vylepšit, aby zůstalo odolné vůči jakékoliv úrovni útoků i v daleké budoucnosti."
lang: cs
image: /images/roadmap/roadmap-security.png
alt: "Plán Etherea"
diff --git a/public/content/translations/cs/roadmap/single-slot-finality/index.md b/public/content/translations/cs/roadmap/single-slot-finality/index.md
index 1ebf1922371..d42accfb94d 100644
--- a/public/content/translations/cs/roadmap/single-slot-finality/index.md
+++ b/public/content/translations/cs/roadmap/single-slot-finality/index.md
@@ -1,6 +1,6 @@
---
title: Finalita v jednom slotu
-description: Vysvětlení finality v jednom slotu
+description: "Vysvětlení finality v jednom slotu"
lang: cs
---
@@ -39,7 +39,8 @@ Současný mechanismus konsenzu kombinuje atestace od více validátorů, znám
Tento proces poskytuje dostatečnou kapacitu, aby mohl každý validátor hlasovat v každé epoše, protože „32 slotů \* 64 komisí \* 256 validátorů na komisi = 524 288 validátorů na epochu“. V době psaní tohoto textu (únor 2023) je aktivních přibližně 513 000 validátorů.
-V tomto schématu je možné, aby každý validátor hlasoval o bloku pouze rozdělením atestací napříč celou epochou. Existují však potenciální způsoby, jak tento mechanismus vylepšit, aby _měl každý validátor možnost atestovat každý slot_.
+V tomto schématu je možné, aby každý validátor hlasoval o bloku pouze rozdělením atestací napříč celou epochou. Existují však potenciální způsoby, jak tento mechanismus vylepšit, aby _měl každý validátor možnost atestovat každý slot_.
+
Od doby navržení mechanismu konsenzu Etherea se ukázalo, že schéma agregace podpisů (BLS) je mnohem škálovatelnější, než se původně zdálo, a že schopnost klientů zpracovávat a ověřovat podpisy se také zlepšila. Ukazuje se, že zpracování atestací od obrovského množství validátorů je ve skutečnosti možné v rámci jednoho slotu. Např. s jedním milionem validátorů, kteří každý hlasují dvakrát v každém slotu, a časem slotu nastaveným na 16 sekund, by uzly musely ověřovat podpisy rychlostí alespoň 125 000 agregací za sekundu, aby zpracovaly celý 1 milion atestací v rámci slotu. Ve skutečnosti trvá běžnému počítači přibližně 500 nanosekund ověřit jeden podpis, což znamená, že 125 000 podpisů může být ověřeno za ~62,5 ms, což je výrazně pod hranicí jedné sekundy.
diff --git a/public/content/translations/cs/roadmap/statelessness/index.md b/public/content/translations/cs/roadmap/statelessness/index.md
index 5c3bff37d54..5a53270ea42 100644
--- a/public/content/translations/cs/roadmap/statelessness/index.md
+++ b/public/content/translations/cs/roadmap/statelessness/index.md
@@ -1,6 +1,6 @@
---
title: Bezstavovost, expirace stavu a expirace historie
-description: Vysvětlení expirace historie a bezstavového Etherea
+description: "Vysvětlení expirace historie a bezstavového Etherea"
lang: cs
---
@@ -72,7 +72,8 @@ Aby k tomu mohlo dojít, musí být v klientech Etherea již implementovány [Ve
Bezstavovost spoléhá na to, že sestavovatelé bloků udržují kopii plných stavových dat, aby mohli generovat svědky, kteří mohou být použiti k ověření bloku. Ostatní síťové uzly nepotřebují přístup ke stavovým datům, všechny informace potřebné k ověření bloku jsou dostupné ve svědkovi. To vede k situaci, kdy je navrhování bloku nákladné, ale ověřování bloku je levné, což naznačuje, že méně operátorů bude provozovat uzly navrhující bloky. Decentralizace navrhovatelů bloků však není kritická, pokud si co nejvíce účastníků může nezávisle ověřit, že bloky, které navrhují, jsou platné.
-Další informace najdete v Dankradových poznámkách
+Další informace najdete v Dankradových poznámkách
+
Navrhovatelé bloků používají stavová data k vytvoření „svědků“ – minimální sady dat, která prokazuje hodnoty stavů, jež jsou transakcemi v bloku změněny. Ostatní validátoři stavová data neuchovávají, pouze ukládají kořen stavu (hash celého stavu). Dostanou blok a svědka a jejich pomocí aktualizují svůj kořen stavu. Díky tomu je ověřovací uzel tak lehký.
diff --git a/public/content/translations/cs/roadmap/user-experience/index.md b/public/content/translations/cs/roadmap/user-experience/index.md
index a7839914298..e7d38bfd932 100644
--- a/public/content/translations/cs/roadmap/user-experience/index.md
+++ b/public/content/translations/cs/roadmap/user-experience/index.md
@@ -1,6 +1,6 @@
---
-title: Zlepšování zkušeností uživatelů
-description: Používání Etherea je pro většinu lidí stále moc složité. Aby bylo možné přiblížit se k masovému přijetí, musí Ethereum zásadně snížit své bariéry pro vstup – uživatelé by měli mít výhody decentralizovaného, cenzuře odolného přístupu k Ethereu bez omezení, ale musí to být stejně bezproblémové, jako používání tradičních Web2 aplikací.
+title: "Zlepšování zkušeností uživatelů"
+description: "Používání Etherea je pro většinu lidí stále moc složité. Aby bylo možné přiblížit se k masovému přijetí, musí Ethereum zásadně snížit své bariéry pro vstup – uživatelé by měli mít výhody decentralizovaného, cenzuře odolného přístupu k Ethereu bez omezení, ale musí to být stejně bezproblémové, jako používání tradičních Web2 aplikací."
lang: cs
image: /images/roadmap/roadmap-ux.png
alt: "Plán Etherea"
diff --git a/public/content/translations/cs/roadmap/verkle-trees/index.md b/public/content/translations/cs/roadmap/verkle-trees/index.md
index c97f6a8c425..eff7147b7b6 100644
--- a/public/content/translations/cs/roadmap/verkle-trees/index.md
+++ b/public/content/translations/cs/roadmap/verkle-trees/index.md
@@ -1,6 +1,6 @@
---
title: Verkle stromy
-description: Vysoce úrovňový popis Verkle trees a jejich budoucí použití k vylepšení Ethereum
+description: "Vysoce úrovňový popis Verkle trees a jejich budoucí použití k vylepšení Ethereum"
lang: cs
summaryPoints:
- Zjistěte, co jsou Verkle trees
@@ -18,7 +18,6 @@ Verkle trees jsou klíčovým krokem na cestě k bezstavovým klientům na Ether
Klienty na Ethereu v současnosti používají pro ukládání stavových dat datovou strukturu známou jako Patricia Merkle Trie. Informace o jednotlivých účtech jsou uloženy jako listy v trie a páry listů jsou opakovaně hashovány, dokud nezůstane pouze jeden hash. Tento konečný hash je známý jako „kořen“. K ověření bloků provádějí klienty na Ethereu všechny transakce v bloku a aktualizují svůj lokální stavový trie. Blok je považován za platný, pokud je kořen lokálního stromu identický s tím, který poskytl navrhovatel bloku, protože jakékoli rozdíly ve výpočtu mezi navrhovatelem bloku a validačním uzlem by způsobily, že hash kořene by byl úplně jiný. Problém je v tom, že ověřování blockchainu vyžaduje, aby každý klient uchovával celý stavový trie pro hlavičkový blok a několik historických bloků (výchozí nastavení v Gethu je uchovávat stavová data pro 128 bloků za hlavičkou). To vyžaduje, aby klienty měly na disku velké množství místa, což je překážka pro spuštění plných uzlů na levném hardwaru s malým výkonem. Řešením je aktualizovat stavový trie na efektivnější strukturu (Verkle tree), která může být přiřazena pomocí malého „svědka“ k datům, která mohou být sdílena místo plných stavových dat. Přeformátování stavových dat do Verkle tree je krokem k přechodu na bezstavové klienty.
-
## Co je svědek a proč ho potřebujeme? {#what-is-a-witness}
@@ -34,7 +33,6 @@ Podle polynomiálního závazkového schématu mají svědci spravovatelné veli
Velikost svědka se liší v závislosti na počtu listů, které zahrnuje. Předpokládáme-li, že svědek pokrývá 1 000 listů, svědek pro Merkle trie by byl přibližně 3,5 MB (při předpokladu 7 úrovní v trie). Svědek pro stejná data ve Verkle tree (při předpokladu 4 úrovní ve stromě) by byl přibližně 150 kB – **přibližně 23x menší**. Tato redukce velikosti svědka umožňuje přijatelnou velikost svědků bezstavových klientů. Polynomiální svědci jsou velikosti 0,128–1 kB v závislosti na konkrétním polynomiálním závazku.
-
## Jaká je struktura Verkle tree? {#what-is-the-structure-of-a-verkle-tree}
diff --git a/public/content/translations/cs/security/index.md b/public/content/translations/cs/security/index.md
index 7806a94a18e..5461a64736c 100644
--- a/public/content/translations/cs/security/index.md
+++ b/public/content/translations/cs/security/index.md
@@ -1,6 +1,6 @@
---
-title: Bezpečnost a předcházení podvodům v Ethereu
-description: Jak zůstat v bezpečí na Ethereu
+title: "Bezpečnost a předcházení podvodům v Ethereu"
+description: "Jak zůstat v bezpečí na Ethereu"
lang: cs
---
diff --git a/public/content/translations/cs/smart-contracts/index.md b/public/content/translations/cs/smart-contracts/index.md
index 4b9e6a23793..12efea113f5 100644
--- a/public/content/translations/cs/smart-contracts/index.md
+++ b/public/content/translations/cs/smart-contracts/index.md
@@ -1,7 +1,7 @@
---
-title: Smart kontrakt účty
+title: "Smart kontrakt účty"
metaTitle: "Chytré kontrakty: Co to je a jaké mají výhody"
-description: Netechnický úvod do chytrých kontraktů
+description: "Netechnický úvod do chytrých kontraktů"
lang: cs
---
diff --git a/public/content/translations/cs/social-networks/index.md b/public/content/translations/cs/social-networks/index.md
index 670b8cf9e01..7e9028fdf20 100644
--- a/public/content/translations/cs/social-networks/index.md
+++ b/public/content/translations/cs/social-networks/index.md
@@ -1,14 +1,14 @@
---
-title: Decentralizované sociální sítě
-description: Přehled decentralizovaných sociálních sítí na Ethereu
+title: "Decentralizované sociální sítě"
+description: "Přehled decentralizovaných sociálních sítí na Ethereu"
lang: cs
template: use-cases
emoji: ":mega:"
sidebarDepth: 2
image: /images/ethereum-learn.png
-summaryPoint1: Platformy založené na blockchainu pro sociální interakci a tvorbu a distribuci obsahu.
-summaryPoint2: Decentralizované sociální sítě chrání soukromí uživatelů a zvyšují bezpečnost dat.
-summaryPoint3: Tokeny a NFT umožňují monetizovat obsah novým způsobem.
+summaryPoint1: "Platformy založené na blockchainu pro sociální interakci a tvorbu a distribuci obsahu."
+summaryPoint2: "Decentralizované sociální sítě chrání soukromí uživatelů a zvyšují bezpečnost dat."
+summaryPoint3: "Tokeny a NFT umožňují monetizovat obsah novým způsobem."
---
Sociální sítě hrají velkou roli v naší každodenní komunikaci a interakcích. Centralizovaná kontrola těchto platforem však způsobila spoustu problémů: úniky dat, výpadky serverů, mazání uživatelských účtů, cenzura a narušování soukromí jsou jen některými kroky, které sociální média dělají. Aby bojovali proti těmto problémům, budují vývojáři sociální sítě na Ethereu. Decentralizované sociální sítě mohou řešit mnoho problémů tradičních platforem sociálních médií a zlepšit celkovou uživatelskou zkušenost.
diff --git a/public/content/translations/cs/staking/dvt/index.md b/public/content/translations/cs/staking/dvt/index.md
index 2316f260d0c..53fdcc28636 100644
--- a/public/content/translations/cs/staking/dvt/index.md
+++ b/public/content/translations/cs/staking/dvt/index.md
@@ -1,6 +1,6 @@
---
-title: Technologie distribuovaných validátorů
-description: Technologie distribuovaných validátorů umožňuje distribuovaný provoz ethereovského validátoru více stranami.
+title: "Technologie distribuovaných validátorů"
+description: "Technologie distribuovaných validátorů umožňuje distribuovaný provoz ethereovského validátoru více stranami."
lang: cs
---
diff --git a/public/content/translations/cs/staking/pools/index.md b/public/content/translations/cs/staking/pools/index.md
index d5d5f480fcd..a3322ccf57e 100644
--- a/public/content/translations/cs/staking/pools/index.md
+++ b/public/content/translations/cs/staking/pools/index.md
@@ -1,11 +1,11 @@
---
-title: Sdružené uzamčení
-description: Zjistěte více o stakingových poolech
+title: "Sdružené uzamčení"
+description: "Zjistěte více o stakingových poolech"
lang: cs
template: staking
emoji: ":money_with_wings:"
image: /images/use-cases/defi.png
-alt: Nosorožec Leslie plave v bazénu.
+alt: "Nosorožec Leslie plave v bazénu."
sidebarDepth: 2
summaryPoints:
- Vložte a vydělávejte s jakýmkoliv množství ETH spojením sil s ostatními
@@ -68,14 +68,16 @@ Právě teď! K upgradu sítě Shanghai/Capella došlo v dubnu 2023 a zavedlo v
Případně fondy, které využívají token ERC-20 pro vkládání, umožňují uživatelům obchodovat s tímto tokenem na otevřeném trhu, což vám umožní prodat svou pozici pro vkládání a efektivně se „stáhnout“, aniž byste skutečně odstranili ETH ze smlouvy o vkládání.
-Více o výběrech ze stakování
+Více o výběrech ze stakování
+
Existuje mnoho podobností mezi těmito možnostmi stakování v poolech a centralizovanými burzami, jako je možnost stakovat malá množství ETH a nechat je spojit dohromady pro aktivaci validátorů.
Na rozdíl od centralizovaných burz využívá mnoho dalších možností sdruženého vkládání chytré kontrakty a/nebo vkladové tokeny, což jsou obvykle tokeny ERC-20, které lze držet ve vlastní peněžence a kupovat nebo prodávat stejně jako jakýkoli jiný token. To nabízí vrstvu suverenity a zabezpečení tím, že vám dává kontrolu nad vašimi tokeny, ale stále vám nedává přímou kontrolu nad klientem validátoru, který osvědčuje vaším jménem na pozadí.
-Některé možnosti sdružování jsou více decentralizované než jiné, pokud jde o uzly, které je podporují. Za účelem podpory zdraví a decentralizace sítě se vklady držitelé vždy doporučuje, aby si vybrali službu sdružování, která umožňuje decentralizovanou sadu operátorů uzlů bez povolení.
+Některé možnosti sdružování jsou více decentralizované než jiné, pokud jde o uzly, které je podporují. Za účelem podpory zdraví a decentralizace sítě se vklady držitelé vždy doporučuje, aby si vybrali službu sdružování, která umožňuje decentralizovanou sadu operátorů uzlů bez povolení.
+
## Další čtení {#further-reading}
diff --git a/public/content/translations/cs/staking/saas/index.md b/public/content/translations/cs/staking/saas/index.md
index a1293c25bb6..6075da29df4 100644
--- a/public/content/translations/cs/staking/saas/index.md
+++ b/public/content/translations/cs/staking/saas/index.md
@@ -1,11 +1,11 @@
---
-title: Uzamčení jako služba
-description: Informace o uzamčení jako službě
+title: "Uzamčení jako služba"
+description: "Informace o uzamčení jako službě"
lang: cs
template: staking
emoji: ":money_with_wings:"
image: /images/staking/leslie-saas.png
-alt: Nosorožec Leslie plovoucí v oblacích.
+alt: "Nosorožec Leslie plovoucí v oblacích."
sidebarDepth: 2
summaryPoints:
- Operátoři uzlů třetích stran zajišťují provoz vašeho klienta validátoru
@@ -70,21 +70,24 @@ Aktualizace přihlašovacích údajů pro výběr je nezbytným krokem k povolen
Ujistěte se, že si tuto bezpečnostní frázi bezpečně zálohujete, jinak nebudete moci vygenerovat své výběrové klíče, až přijde čas.
-\*Stakeři, kteří poskytli adresu pro výběr při počátečním vkladu, toto nemusí nastavovat. Ověřte si u svého poskytovatele SaaS podporu ohledně přípravy validátoru.
+\*Stakeři, kteří poskytli adresu pro výběr při počátečním vkladu, toto nemusí nastavovat. Ověřte si u svého poskytovatele SaaS podporu ohledně přípravy validátoru.
+
Stakeři musí zadat adresu pro výběr (pokud není uvedena při počátečním vkladu) a výplaty odměn se začnou automaticky rozdělovat pravidelně každých několik dní.
Validátoři mohou také plně odejít jako validátor, který odemkne jejich zbývající ETH zůstatek pro výběr. Účty, které uvedly adresu pro provedení výběru a dokončily proces ukončení, obdrží celý zůstatek na adresu pro výběr uvedenou během příštího ověřovacího testu.
-Více o výběrech ze stakování
+Více o výběrech ze stakování
+
Používáním poskytovatele SaaS svěřujete provoz svého uzlu někomu jinému. To přichází s rizikem špatného výkonu uzlu, který nemůžete ovlivnit. V případě, že je váš validátor potrestán, váš zůstatek validátoru bude penalizován a násilně odstraněn z fondu validátorů.
Po dokončení procesu trestání/opuštění budou tyto prostředky převedeny na adresu pro výběr přidělenou validátoru. To vyžaduje poskytnutí adresy pro výběr. To může být poskytnuto při počátečním vkladu. Pokud ne, bude nutné použít klíče pro výběr validátoru k podepsání zprávy deklarující adresu pro výběr. Pokud nebyla zadána žádná adresa pro výběr, prostředky zůstanou uzamčeny, dokud je nezadáte.
-Obraťte se na jednotlivého poskytovatele SaaS pro další podrobnosti o jakýchkoli zárukách nebo možnostech pojištění a pro pokyny, jak zadat adresu pro výběr. Pokud dáváte přednost plné kontrole nad nastavením svého validátoru, [zjistěte více o tom, jak samostatně stakovat svá ETH](/staking/solo/).
+Obraťte se na jednotlivého poskytovatele SaaS pro další podrobnosti o jakýchkoli zárukách nebo možnostech pojištění a pro pokyny, jak zadat adresu pro výběr. Pokud dáváte přednost plné kontrole nad nastavením svého validátoru, [zjistěte více o tom, jak samostatně stakovat svá ETH](/staking/solo/).
+
## Další čtení {#further-reading}
diff --git a/public/content/translations/cs/staking/solo/index.md b/public/content/translations/cs/staking/solo/index.md
index bfa7a4b3d40..845fda41204 100644
--- a/public/content/translations/cs/staking/solo/index.md
+++ b/public/content/translations/cs/staking/solo/index.md
@@ -1,11 +1,11 @@
---
-title: Uzamykejte své ETH z domova
-description: Přehled toho, jak začít uzamykat své ETH z domova
+title: "Uzamykejte své ETH z domova"
+description: "Přehled toho, jak začít uzamykat své ETH z domova"
lang: cs
template: staking
emoji: ":money_with_wings:"
image: /images/staking/leslie-saas.png
-alt: Nosorožec Leslie na svém vlastním počítačovém čipu.
+alt: "Nosorožec Leslie na svém vlastním počítačovém čipu."
sidebarDepth: 2
summaryPoints:
- Získejte maximální odměny přímo z protokolu za to, že váš validátor bude správně fungovat a bude online
@@ -43,17 +43,20 @@ I když bychom si přáli, aby bylo uzamčení z domova dostupné a bez rizika p
Při provozu vlastního uzlu byste měli strávit nějaký čas tím, že se naučíte používat software, který jste si vybrali. To zahrnuje čtení příslušné dokumentace a sledování komunikačních kanálů těchto vývojářských týmů.
-Čím více budete rozumět softwaru, který používáte, a tomu, jak funguje proof-of-stake, tím méně riskantní to bude jako pro stakera a tím snazší bude opravit jakékoli problémy, které se mohou vyskytnout v průběhu provozu uzlu.
+Čím více budete rozumět softwaru, který používáte, a tomu, jak funguje proof-of-stake, tím méně riskantní to bude jako pro stakera a tím snazší bude opravit jakékoli problémy, které se mohou vyskytnout v průběhu provozu uzlu.
+
Nastavení uzlů vyžaduje přiměřenou úroveň pohodlí při práci s počítači, i když nové nástroje to postupem času usnadňují. Pochopení rozhraní příkazového řádku je užitečné, ale již není striktně vyžadováno.
-Vyžaduje také velmi základní nastavení hardwaru a určité porozumění minimálním doporučeným specifikacím.
+Vyžaduje také velmi základní nastavení hardwaru a určité porozumění minimálním doporučeným specifikacím.
+
Stejně jako privátní klíče zajišťují vaši adresu Ethereum, budete muset vygenerovat klíče speciálně pro váš validátor. Musíte rozumět tomu, jak uchovat bezpečnostní fráze nebo soukromé klíče v bezpečí.{' '}
-[Zabezpečení Etherea a prevence podvodů](/security/)
+[Zabezpečení Etherea a prevence podvodů](/security/)
+
Hardware občas selže, dojde k chybě síťových připojení a klientský software občas potřebuje upgrade. Údržba uzlů je nevyhnutelná a občas bude vyžadovat vaši pozornost. Budete si chtít být jisti, že budete informováni o všech očekávaných upgradech sítě nebo jiných důležitých upgradech klientů.
@@ -66,7 +69,9 @@ Vaše odměny jsou úměrné době, kdy je váš validátor online a řádně pr
Na rozdíl od penalizace za nečinnost za to, že jste offline, je trestání mnohem závažnějším trestem vyhrazeným za škodlivé přestupky. Spuštěním menšinového klienta s vašimi klíči načtenými pouze na jednom počítači je riziko potrestání minimalizováno. Jak již bylo řečeno, všichni stakeři si musí být vědomi rizik trestání.
- Více o trestání a životním cyklu validátoru
+ Více o trestání a životním cyklu validátoru
+
+
@@ -125,7 +130,6 @@ Toto je několik nejčastějších otázek týkajících se vkládání, které
Validátor je virtuální entita, která žije na Ethereu a účastní se konsensu protokolu Ethereum. Validátory jsou reprezentovány zůstatkem, veřejným klíčem a dalšími vlastnostmi. Klient validátoru je software, který jedná jménem validátoru tím, že drží a používá jeho privátní klíč. Jeden klient validátoru může pojmout mnoho párů klíčů a ovládat mnoho validátorů.
-
@@ -137,14 +141,16 @@ Tato rezerva také zabraňuje poklesu efektivního zůstatku, dokud neklesne o 0
Každý pár klíčů spojený s validátorem vyžaduje k aktivaci alespoň 32 ETH. Jakýkoli zůstatek nad touto částkou může být kdykoli vybrán na přidruženou adresu pro výběr prostřednictvím transakce podepsané touto adresou. Jakékoli prostředky nad maximálním efektivním zůstatkem budou automaticky periodicky vybírány.
-Pokud se vám zdá uzamčení z domova příliš náročné, zvažte použití poskytovatele [uzamčení jako služby](/staking/saas/), nebo pokud pracujete s méně než 32 ETH, podívejte se na [fondy uzamčení](/staking/pools/).
+Pokud se vám zdá uzamčení z domova příliš náročné, zvažte použití poskytovatele [uzamčení jako služby](/staking/saas/), nebo pokud pracujete s méně než 32 ETH, podívejte se na [fondy uzamčení](/staking/pools/).
+
Přechod do režimu offline v době, kdy se síť správně finalizuje, NEBUDE mít za následek trestání. Malé pokuty za nečinnost jsou uvaleny, pokud váš validátor není k dispozici k atestaci pro danou epochu (každá o délce 6,4 minuty), ale to je velmi odlišné od trestání. Tyto sankce jsou o něco nižší než odměna, kterou byste získali, pokud by byl validátor k dispozici pro atestaci, a ztráty lze získat zpět s přibližně stejným množstvím času, kdy budete znovu online.
Všimněte si, že sankce za nečinnost jsou úměrné tomu, kolik validátorů je současně offline. V případech, kdy je velká část sítě offline najednou, budou postihy pro každý z těchto validátorů vyšší, než když je jeden validátor nedostupný.
-V extrémních případech, pokud se síť přestane finalizovat v důsledku toho, že více než třetina validátorů je offline, tito uživatelé utrpí takzvaný kvadratický únik nečinnosti, což je exponenciální odliv ETH z účtů offline validátoru. To umožňuje, aby se síť časem samoopravila spálením ETH neaktivních validátorů, dokud jejich zůstatek nedosáhne 16 ETH, přičemž budou automaticky vyřazeni z fondu validátorů. Zbývající online validátoři budou nakonec opět tvořit více než 2/3 sítě, čímž uspokojí nadpoloviční většinu potřebnou k opětovné finalizaci řetězce.
+V extrémních případech, pokud se síť přestane finalizovat v důsledku toho, že více než třetina validátorů je offline, tito uživatelé utrpí takzvaný kvadratický únik nečinnosti, což je exponenciální odliv ETH z účtů offline validátoru. To umožňuje, aby se síť časem samoopravila spálením ETH neaktivních validátorů, dokud jejich zůstatek nedosáhne 16 ETH, přičemž budou automaticky vyřazeni z fondu validátorů. Zbývající online validátoři budou nakonec opět tvořit více než 2/3 sítě, čímž uspokojí nadpoloviční většinu potřebnou k opětovné finalizaci řetězce.
+
Stručně řečeno, toto nelze nikdy plně zaručit, ale pokud jednáte v dobré víře, provozujete menšinového klienta a své podpisové klíče máte vždy jen na jednom počítači, riziko potrestání je téměř nulové.
@@ -166,14 +172,16 @@ Jednotliví klienti se mohou mírně lišit, pokud jde o výkon a uživatelské
Protože všechny produkční klienty poskytují stejnou základní funkcionalitu, je ve skutečnosti velmi důležité, abyste si vybrali menšinového klienta, což znamená jakéhokoli klienta, kterého momentálně NEPOUŽÍVÁ většina validátorů v síti. Může to znít neintuitivně, ale provozování většinového nebo supervětšinového klienta vás vystavuje zvýšenému riziku trestání v případě chyby v tomto klientu. Provozování menšinového klienta tato rizika drasticky omezuje.
-Další informace o tom, proč je rozmanitost klientů kritická
+Další informace o tom, proč je rozmanitost klientů kritická
+
Ačkoli lze jako náhradu domácího hardwaru použít virtuální privátní server (VPS), na fyzickém přístupu a umístění vašeho klienta validátoru záleží. Centralizovaná cloudová řešení, jako jsou Amazon Web Services nebo Digital Ocean, umožňují pohodlí, kdy nemusíte získávat a provozovat hardware na úkor centralizace sítě.
Čím více klientů validátoru běží na jediném centralizovaném řešení cloudového úložiště, tím nebezpečnější se to pro tyto uživatele stává. Jakákoli událost, která odpojí tyto poskytovatele, ať už útokem, regulačními požadavky nebo jen výpadky napájení/internetu, bude mít za následek, že každý validační klient, který spoléhá na tento server, bude zároveň offline.
-Offline sankce jsou úměrné tomu, kolik ostatních je současně offline. Používání VPS výrazně zvyšuje riziko, že offline sankce budou přísnější, a zvyšuje vaše riziko kvadratického úniku nebo trestání v případě, že je výpadek dostatečně velký. Pro minimalizaci vlastního rizika a rizika pro síť se uživatelům důrazně doporučuje, aby si pořídili a provozovali svůj vlastní hardware.
+Offline sankce jsou úměrné tomu, kolik ostatních je současně offline. Používání VPS výrazně zvyšuje riziko, že offline sankce budou přísnější, a zvyšuje vaše riziko kvadratického úniku nebo trestání v případě, že je výpadek dostatečně velký. Pro minimalizaci vlastního rizika a rizika pro síť se uživatelům důrazně doporučuje, aby si pořídili a provozovali svůj vlastní hardware.
+
@@ -185,7 +193,8 @@ Jakmile jsou přihlašovací údaje pro výběr nastaveny, platby odměn (nashro
Chcete-li odemknout a získat zpět celý zůstatek, musíte také dokončit proces opuštění validátoru.
-Více o výběrech ze stakování
+Více o výběrech ze stakování
+
## Další čtení {#further-reading}
diff --git a/public/content/translations/cs/staking/withdrawals/index.md b/public/content/translations/cs/staking/withdrawals/index.md
index e6c2589461a..45fe05391a8 100644
--- a/public/content/translations/cs/staking/withdrawals/index.md
+++ b/public/content/translations/cs/staking/withdrawals/index.md
@@ -1,10 +1,10 @@
---
-title: Uzamčení výběrů
-description: Stránka shrnující, co jsou výběry push, jak fungují a co musí stakeři udělat, aby získali své odměny
+title: "Uzamčení výběrů"
+description: "Stránka shrnující, co jsou výběry push, jak fungují a co musí stakeři udělat, aby získali své odměny"
lang: cs
template: staking
image: /images/staking/leslie-withdrawal.png
-alt: Nosorožec Leslie se svými vkladovými odměnami
+alt: "Nosorožec Leslie se svými vkladovými odměnami"
sidebarDepth: 2
summaryPoints:
- Upgrade Shanghai/Capella umožnil výběry sázek na Ethereum
@@ -23,8 +23,7 @@ Platby odměn se automaticky zpracovávají pro aktivní účty validátorů s m
Jakýkoli zůstatek nad 32 ETH získaný prostřednictvím odměn ve skutečnosti nepřispívá k jistině ani nezvyšuje váhu tohoto validátoru v síti, a je tak automaticky vybrán jako výplata odměny každých několik dní. Kromě jednorázového poskytnutí adresy pro výběr nevyžadují tyto odměny žádnou akci ze strany operátora validátoru. To vše je zahájeno na konsensuální vrstvě, takže v žádném kroku není vyžadováno žádné palivo (transakční poplatek).
-### Jak jsme se sem dostali? Jak jsme se sem dostali? {#how-did-we-get-here}
-
+### Jak jsme se sem dostali? {#how-did-we-get-here}
Během několika posledních let Ethereum prošlo několika upgrady sítě a přešlo na síť zabezpečenou samotným ETH namísto energeticky náročné těžby, jak tomu bylo dříve. Účast na konsensu o Ethereu je nyní známá jako „staking“, protože účastníci dobrovolně zablokovali ETH, čímž je „v sázce“ možnost zapojit se do sítě. Uživatelé, kteří dodržují pravidla, budou odměněni, zatímco pokusy o podvádění mohou být penalizovány.
Od zahájení smlouvy o vkladu v listopadu 2020 někteří stateční průkopníci Etherea dobrovolně uzamkli finanční prostředky, aby aktivovali „validátory“, speciální účty, které mají právo formálně potvrzovat a navrhovat bloky podle pravidel sítě.
@@ -42,7 +41,8 @@ Poskytnutí adresy pro výběr je povinným krokem pro jakýkoli účet validát
-Každému účtu validátora lze přiřadit pouze jednu adresu pro výběr, a to pouze jednou. Jakmile je adresa vybrána a odeslána na konsensuální vrstvu, nelze to vrátit zpět ani změnit. Před odesláním znovu zkontrolujte vlastnictví a správnost poskytnuté adresy.
+
+Každému účtu validátora lze přiřadit pouze jednu adresu pro výběr, a to pouze jednou. Jakmile je adresa vybrána a odeslána na konsensuální vrstvu, nelze to vrátit zpět ani změnit. Před odesláním znovu zkontrolujte vlastnictví a správnost poskytnuté adresy.
@@ -137,7 +137,8 @@ title="Když zadám adresu pro výběr, mohu ji změnit na jinou?"
eventCategory="FAQ"
eventAction="Once I have provided a withdrawal address, can I change it to an alternative withdrawal address?"
eventName="read more">
-Ne, proces poskytnutí pověření k výběru je jednorázový a po odeslání jej nelze změnit.
+Ne, proces poskytnutí pověření k výběru je jednorázový a po odeslání jej nelze změnit.
+
+Jako alternativu ke změně adresy pro výběr u konkrétního validátoru se uživatelé mohou rozhodnout nastavit jako adresu pro výběr chytrý kontrakt, který zvládne rotaci klíčů, jako je Trezor. Uživatelé, kteří nastaví své prostředky na vlastní EOA, mohou provést úplný odchod, aby mohli vybrat všechny své vložené prostředky, a poté znovu vložit pomocí nových pověření.
+
Pokud jste součástí [stakingového poolu](/staking/pools/) nebo držíte tokeny pro stakování, měli byste se u svého poskytovatele informovat, jakým způsobem jsou řešeny výběry ze stakování, protože každá služba funguje jinak.
Obecně by uživatelé měli mít možnost získat zpět své základní vložené ETH nebo změnit poskytovatele vkladů, kterého využívají. Pokud je konkrétní fond příliš velký, lze prostředky opustit, uplatnit a znovu vložit u menšího poskytovatele. Nebo, pokud jste nashromáždili dostatek ETH, můžete [stakovat z domova](/staking/solo/).
-
-Ano, pokud váš validátor poskytl adresu pro výběr. Ta musí být poskytnuta jednou, aby bylo možné zpočátku provádět jakékoli výběry, poté budou platby odměn automaticky spuštěny každých několik dní s každým validátorem.
+Ano, pokud váš validátor poskytl adresu pro výběr. Ta musí být poskytnuta jednou, aby bylo možné zpočátku provádět jakékoli výběry, poté budou platby odměn automaticky spuštěny každých několik dní s každým validátorem.
+
Ne, pokud je váš validátor stále aktivní v síti, k úplnému výběru nedojde automaticky. To vyžaduje ruční spuštění dobrovolného ukončení.
Jakmile validátor dokončí proces ukončení a za předpokladu, že účet má přihlašovací údaje k výběru, bude zbývající zůstatek pak vybrán během příští kontroly validátorem.
-
Výběry jsou navrženy tak, aby byly prováděny automaticky a převáděly jakékoli ETH, které aktivně nepřispívá ke stakování. To zahrnuje úplné zůstatky účtů, které dokončily proces ukončení.
-Není možné ručně vyžádat určité množství ETH k výběru.
+Není možné ručně vyžádat určité množství ETH k výběru.
+
Provozovatelům validátorů doporučujeme navštívit stránku Výběry z vkladového spouštěcího panelu, kde najdete další podrobnosti o přípravě validátoru na výběry, načasování událostí a další podrobnosti o fungování výběrů.
Chcete-li své nastavení nejprve vyzkoušet na testnetu, navštivte Hoodi Testnet Staking Launchpad a začněte.
-
-Ne. Jakmile validátor skončí a vybere se jeho celý zůstatek, veškeré dodatečné prostředky vložené na tomto validátoru budou automaticky převedeny na adresu pro výběr během příští kontroly validátoru. Chcete-li znovu vložit ETH, musí být aktivován nový validátor.
+Ne. Jakmile validátor skončí a vybere se jeho celý zůstatek, veškeré dodatečné prostředky vložené na tomto validátoru budou automaticky převedeny na adresu pro výběr během příští kontroly validátoru. Chcete-li znovu vložit ETH, musí být aktivován nový validátor.
+
## Další čtení {#further-reading}
diff --git a/public/content/translations/cs/web3/index.md b/public/content/translations/cs/web3/index.md
index 8ad6e91d97d..4d45f3ebadf 100644
--- a/public/content/translations/cs/web3/index.md
+++ b/public/content/translations/cs/web3/index.md
@@ -1,6 +1,6 @@
---
-title: Co je web3 a proč je důležitý?
-description: Úvod do Web3 – dalšího vývoje World Wide Web – a proč na tom záleží.
+title: "Co je web3 a proč je důležitý?"
+description: "Úvod do Web3 – dalšího vývoje World Wide Web – a proč na tom záleží."
lang: cs
---
@@ -69,7 +69,8 @@ Web3 umožňuje přímé vlastnictví prostřednictvím [nezaměnitelných token
-
Další informace o NFT
+
Další informace o NFT
+
Více o NFT
@@ -97,7 +98,8 @@ Lidé definují spoustu Web3 komunit jako DAO. Všechny tyto komunity mají růz
-
Více o DAO
+
Více o DAO
+
Více o DAO
diff --git a/public/content/translations/cs/what-are-apps/index.md b/public/content/translations/cs/what-are-apps/index.md
index cf03f655df5..f1a7a84749e 100644
--- a/public/content/translations/cs/what-are-apps/index.md
+++ b/public/content/translations/cs/what-are-apps/index.md
@@ -1,14 +1,14 @@
---
title: Aplikace na Ethereu
-metaTitle: Aplikace Etherea | Decentralizované aplikace na Ethereu
-description: Aplikace na Ethereu jsou volně dostupné, globální a využívají veřejný blockchain namísto serverů soukromých společností. To znamená, že můžete používat stejný účet ve všech projektech a zároveň si zachovat své soukromí.
+metaTitle: "Aplikace Etherea | Decentralizované aplikace na Ethereu"
+description: "Aplikace na Ethereu jsou volně dostupné, globální a využívají veřejný blockchain namísto serverů soukromých společností. To znamená, že můžete používat stejný účet ve všech projektech a zároveň si zachovat své soukromí."
lang: cs
template: use-cases
emoji: ":handshake:"
sidebarDepth: 2
showDropdown: false
image: /images/doge-computer.png
-summary: Aplikace na Ethereu jsou volně dostupné, globální a využívají veřejný blockchain namísto serverů soukromých společností. To znamená, že můžete používat stejný účet ve všech projektech a zároveň si zachovat své soukromí.
+summary: "Aplikace na Ethereu jsou volně dostupné, globální a využívají veřejný blockchain namísto serverů soukromých společností. To znamená, že můžete používat stejný účet ve všech projektech a zároveň si zachovat své soukromí."
---
## Aplikace s nadpřirozenými schopnostmi {#apps-with-superpowers}
@@ -51,7 +51,6 @@ Aplikace fungují díky chytrým kontraktům — úsekům kódu, které běží

-
## Ethereum aplikace jsou jako lego {#ethereum-apps-are-like-legos}
diff --git a/public/content/translations/cs/whitepaper/index.md b/public/content/translations/cs/whitepaper/index.md
index 00e30f7f928..f928edbca9b 100644
--- a/public/content/translations/cs/whitepaper/index.md
+++ b/public/content/translations/cs/whitepaper/index.md
@@ -1,6 +1,6 @@
---
-title: Bílá kniha Ethereum
-description: Úvodní dokument platformy Ethereum, který byl zveřejněn v roce 2013 před jeho spuštěním.
+title: "Bílá kniha Ethereum"
+description: "Úvodní dokument platformy Ethereum, který byl zveřejněn v roce 2013 před jeho spuštěním."
lang: cs
sidebarDepth: 2
hideEditButton: true
diff --git a/public/content/translations/cs/wrapped-eth/index.md b/public/content/translations/cs/wrapped-eth/index.md
index a1a257623d0..238a7968108 100644
--- a/public/content/translations/cs/wrapped-eth/index.md
+++ b/public/content/translations/cs/wrapped-eth/index.md
@@ -1,6 +1,6 @@
---
-title: Co je Zabalený ether (WETH)
-description: Úvod do Zabaleného etheru (WETH), ERC20-kompatibilního wrapperu pro ether (ETH).
+title: "Co je Zabalený ether (WETH)"
+description: "Úvod do Zabaleného etheru (WETH), ERC20-kompatibilního wrapperu pro ether (ETH)."
lang: cs
---
@@ -8,7 +8,8 @@ lang: cs
-
Připojte svou peněženku a zabalte nebo rozbalte ETH na jakémkoli řetězci na [WrapETH.com](https://www.wrapeth.com/)
+
Připojte svou peněženku a zabalte nebo rozbalte ETH na jakémkoli řetězci na [WrapETH.com](https://www.wrapeth.com/)
+
Ether (ETH) je hlavní měna Etherea. Používá se pro různé účely, jako je uzamčení, platby a placení poplatků za palivo potřebné pro výpočetní operace. **WETH je v podstatě vylepšená forma ETH s přidanými funkcemi, které vyžaduje řada aplikací a [ERC-20 tokeny(/glossary/#erc-20)**, což jsou další typy digitálních aktiv na Ethereu. Aby ETH mohlo pracovat s těmito tokeny, musí dodržovat stejná pravidla, která jsou stanovena standardem ERC-20.
@@ -40,19 +41,16 @@ Pomocí WETH chytrého kontraktu můžete WETH zpětně vyměnit za ETH. Pomocí
Platíte poplatky za palivo při balení nebo rozbalování ETH pomocí WETH kontraktu.
-
WETH je obecně považováno za bezpečné, protože je založeno na jednoduchém, osvědčeném chytrém kontraktu. WETH kontrakt byl také formálně ověřen, což je nejvyšší bezpečnostní standard pro chytré kontrakty na Ethereu.
-
Kromě [kanonické implementace WETH](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2) popsané na této stránce existují i jiné varianty. Tyto varianty mohou být tokeny, které vytvořili vývojáři aplikací pro vlastní účely, nebo verze vydané na jiných blockchainech a mohou se chovat odlišně nebo mít odlišné bezpečnostní vlastnosti. **Vždy si ověřte informace o tokenu, abyste věděli, s jakou implementací WETH pracujete.**
-
@@ -60,7 +58,6 @@ Kromě [kanonické implementace WETH](https://etherscan.io/token/0xc02aaa39b223f
- [Hlavní síť Ethereum](https://etherscan.io/token/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
- [Arbitrum](https://arbiscan.io/token/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)
- [Optimism](https://optimistic.etherscan.io/token/0x4200000000000000000000000000000000000006)
-
## Další čtení {#further-reading}
diff --git a/public/content/translations/cs/zero-knowledge-proofs/index.md b/public/content/translations/cs/zero-knowledge-proofs/index.md
index 22a3405b118..1f8aa70744e 100644
--- a/public/content/translations/cs/zero-knowledge-proofs/index.md
+++ b/public/content/translations/cs/zero-knowledge-proofs/index.md
@@ -1,6 +1,6 @@
---
-title: Důkazy s nulovou znalostí
-description: Netechnický úvod do důkazů s nulovou znalostí pro začátečníky.
+title: "Důkazy s nulovou znalostí"
+description: "Netechnický úvod do důkazů s nulovou znalostí pro začátečníky."
lang: cs
---
@@ -59,8 +59,8 @@ Důkazy s nulovou znalostí jsou obzvláště užitečné v kontextu [decentrali
-
-
+
+
### Důkaz lidství {#proof-of-humanity}
From 6765e3631983dffc827ded78fcd813a8a605fb4a Mon Sep 17 00:00:00 2001
From: Joshua <62268199+minimalsm@users.noreply.github.com>
Date: Fri, 13 Feb 2026 12:42:01 +0000
Subject: [PATCH 4/7] fix(i18n): run sanitizer on cs translations
---
.../cs/account-abstraction/index.md | 9 +-
.../translations/cs/ai-agents/index.md | 1 +
.../translations/cs/beacon-chain/index.md | 8 +-
.../translations/cs/code-of-conduct/index.md | 4 +-
.../translations/cs/community/grants/index.md | 3 +-
.../translations/cs/community/online/index.md | 25 +-
.../translatathon/details/index.md | 2 +-
.../translations/cs/danksharding/index.md | 8 +-
public/content/translations/cs/dao/index.md | 4 +-
.../cs/decentralized-identity/index.md | 1 +
public/content/translations/cs/defi/index.md | 3 +-
.../consensus-mechanisms/pow/mining/index.md | 1 +
.../docs/intro-to-ethereum/index.md | 1 +
.../docs/scaling/optimistic-rollups/index.md | 2 +
.../developers/docs/scaling/validium/index.md | 1 +
.../smart-contracts/composability/index.md | 1 +
.../formal-verification/index.md | 1 +
.../docs/smart-contracts/languages/index.md | 18 +
.../docs/smart-contracts/upgrading/index.md | 1 +
.../cs/developers/docs/wrapped-eth/index.md | 8 +-
.../erc-721-vyper-annotated-code/index.md | 1 +
.../index.md | 2 +-
.../index.md | 2 +-
.../index.md | 2 +-
.../index.md | 4 +-
.../index.md | 2 +-
.../tutorials/run-node-raspberry-pi/index.md | 2 +-
.../secure-development-workflow/index.md | 2 +-
.../index.md | 2 +-
.../index.md | 2 +-
.../token-integration-checklist/index.md | 2 +-
.../uniswap-v2-annotated-code/index.md | 3 +-
.../tutorials/using-websockets/index.md | 2 +-
public/content/translations/cs/dvt/index.md | 4 +-
.../translations/cs/future-proofing/index.md | 4 +-
.../translations/cs/governance/index.md | 1 +
.../index.md | 3 +-
.../how-to-revoke-token-access/index.md | 3 +-
.../cs/guides/how-to-swap-tokens/index.md | 3 +-
.../cs/guides/how-to-use-a-bridge/index.md | 3 +-
.../cs/guides/how-to-use-a-wallet/index.md | 3 +-
public/content/translations/cs/nft/index.md | 3 +-
.../content/translations/cs/payments/index.md | 8 +-
.../cs/prediction-markets/index.md | 2 +
.../cs/roadmap/beacon-chain/index.md | 1 +
.../cs/roadmap/merge/issuance/index.md | 6 +
.../content/translations/cs/scaling/index.md | 4 +-
.../translations/cs/staking/pools/index.md | 2 +-
.../translations/cs/staking/saas/index.md | 4 +-
.../translations/cs/staking/solo/index.md | 3 +-
.../cs/staking/withdrawals/index.md | 1 +
.../translations/cs/statelessness/index.md | 2 +-
.../content/translations/cs/support/index.md | 2 +-
.../translations/cs/user-experience/index.md | 4 +-
public/content/translations/cs/web3/index.md | 6 +-
.../translations/cs/withdrawals/index.md | 9 +-
.../translations/cs/wrapped-eth/index.md | 3 +-
src/scripts/i18n/post_import_sanitize.ts | 1437 -----------------
58 files changed, 122 insertions(+), 1529 deletions(-)
delete mode 100644 src/scripts/i18n/post_import_sanitize.ts
diff --git a/public/content/translations/cs/account-abstraction/index.md b/public/content/translations/cs/account-abstraction/index.md
index 9592a20a763..20034597512 100644
--- a/public/content/translations/cs/account-abstraction/index.md
+++ b/public/content/translations/cs/account-abstraction/index.md
@@ -1,6 +1,6 @@
---
-title: Abstrakce účtů
-description: Přehled plánů Etherea na zjednodušení a větší zabezpečení uživatelských účtů
+title: "Abstrakce účtů"
+description: "Přehled plánů Etherea na zjednodušení a větší zabezpečení uživatelských účtů"
lang: cs
summaryPoints:
- Abstrakce účtů usnadňuje vytváření peněženek založených na chytrých kontraktech
@@ -61,7 +61,6 @@ Správa poplatků za palivo je s abstrakcí účtu také výrazně lepší. Neje
Správa poplatků za palivo je jednou z hlavních nepříjemností pro uživatele Etherea, především proto, že ETH je jediné aktivum, které v současnosti mohou k platbě za transakce používat. Představte si, že máte peněženku se zůstatkem USDC, ale bez ETH. Nemůžete tyto USDC tokeny přesunout nebo směnit, protože nemáte jak zaplatit za palivo. Nemůžete také směnit USDC za ETH, protože to samo o sobě vyžaduje palivo. Abyste tento problém vyřešili, museli byste si poslat ETH na účet z burzy nebo jiné adresy. S peněženkami založenými na chytrých kontraktech můžete místo toho platit poplatky za palivov USDC, čímž svůj účet odblokujete. Už nemusíte udržovat zůstatek ETH ve všech svých účtech.
Abstrakce účtu také umožňuje vývojářům dappek určitou kreativitu v přístupu k řízení poplatků za palivo. Např. můžete začít platit své oblíbené decentralizované burze stálý poplatek každý měsíc za neomezené transakce. Platformy dappek by mohly nabídnout placení všech vašich poplatků za palivo za vás jako odměnu za používání jejich platformy nebo jako lákadlo pro nové uživatele. Pro vývojáře bude mnohem snadnější zavádět inovace v oblasti poplatků za palivo, když budou peněženky založené na chytrých kontraktech podporovány už na úrovni protokolu.
-
Důvěryhodné relace jsou také potenciálně transformační pro uživatelské možnosti, zejména pro aplikace, jako jsou hry, kde může velké množství malých transakcí vyžadovat rychlé schválení. Individuální schvalování každé transakce by narušilo herní zážitek, ale trvalý souhlas není bezpečný. Chytrá kontraktová peněženka by mohla schválit určité transakce na pevně stanovenou dobu, až do specifické hodnoty nebo pouze pro určité adresy.
@@ -77,7 +76,6 @@ Peněženky založené na chytrých kontraktech už existují, ale jejich implem
EIP-2771 zavádí koncept meta-transakcí, které umožňují třetím stranám platit náklady na palivo uživatelů, aniž by se měnil protokol Ethereum. Myšlenkou je, že transakce podepsané uživateli jsou odesílány do Přeposílacího kontraktu. Přeposílací kontrakt je důvěryhodný subjekt, který ověřuje platnost transakcí, než je pošle na relé paliva. Toto probíhá mimo blockchain, což eliminuje potřebu platit za palivo. Relé paliva pak přenáší transakci na Přijímací kontrakt, který platí potřebný poplatek, aby mohla být transakce vykonatelná na Ethereu. Transakce je provedena, pokud je Přeposílací kontrakt známý a důvěryhodný pro Přijímací kontrakt. Tento model usnadňuje vývojářům implementaci transakcí bez poplatků za palivo na straně uživatele.
-
@@ -87,7 +85,6 @@ EIP-4337 je prvním krokem směrem k nativní podpoře chytrých kontraktových
Způsob, jakým peněženky fungují, by se se zavedením EIP-4337 také změnil. Místo toho, aby každá peněženka znovu implementovala běžnou, ale složitou bezpečnostní logiku, by tyto funkce byly outsourcovány do globálního peněženkového kontraktu známého jako „vstupní bod“. Ten by spravoval operace, jako je platba poplatků a spuštění EVM kódu, takže vývojáři peněženek se mohou soustředit na poskytování vynikajících uživatelských funkcí.
Poznámka: Kontrakt vstupního bodu EIP-4337 byl nasazen na hlavní síť Etherea 1. března 2023. Můžete se na něj podívat na Etherscanu.
-
@@ -95,7 +92,6 @@ Způsob, jakým peněženky fungují, by se se zavedením EIP-4337 také změnil
EIP-2938 si klade za cíl vylepšit protokol Ethereum zavedením nového typu transakce, AA_TX_TYPE, který zahrnuje tři položky: nonce, target a data, kde nonce je čítač transakcí, target je cílová adresa kontraktu vstupního bodu a data je bytecode EVM. Za účelem vykonání těchto transakcí je třeba přidat do EVM dvě nové instrukce (známé jako opkódy): NONCE a PAYGAS. Opkód NONCE sleduje sekvenci transakcí a PAYGAS počítá a vybírá ze zůstatku kontraktu poplatek za palivo potřebný k vykonání transakce. Tyto nové funkce umožňují Ethereu podporovat chytré kontraktové peněženky nativně, protože potřebná infrastruktura je zabudována do protokolu Ethereum.
Připomínáme, že EIP-2938 v současné době není aktivní. Komunita aktuálně upřednostňuje EIP-4337, protože nevyžaduje změny protokolu.
-
@@ -103,7 +99,6 @@ Připomínáme, že EIP-2938 v současné době není aktivní. Komunita aktuál
EIP-3074 si klade za cíl aktualizovat externě vlastněné účty na Ethereu tím, že umožní delegování kontroly nad nimi na chytrý kontrakt. To znamená, že logika chytrého kontraktu by mohla schvalovat transakce pocházející z EOA (externě vlastněného účtu). To by umožnilo funkce jako sponzorování poplatků za palivo a sdružování transakcí. Aby to fungovalo, je třeba do EVM přidat dva nové opkódy: AUTH a AUTHCALL. S EIP-3074 jsou výhody chytrých kontraktových peněženek dostupné bez nutnosti kontraktu – místo toho zpracovává transakce specifický typ stateless, trustless, nevylepšitelného kontraktu známého jako "započínač".
Připomínáme, že EIP-3074 v současné době není aktivní. Komunita aktuálně upřednostňuje EIP-4337, protože nevyžaduje změny protokolu.
-
## Aktuální průběh {#current-progress}
diff --git a/public/content/translations/cs/ai-agents/index.md b/public/content/translations/cs/ai-agents/index.md
index 8fa69ad36af..99ef6f695a2 100644
--- a/public/content/translations/cs/ai-agents/index.md
+++ b/public/content/translations/cs/ai-agents/index.md
@@ -111,6 +111,7 @@ Během sociální kampaně Luny na síti X #LunaMuralChallenge Luna vybrala a od
Dobré vědět
AI agenti a související nástroje jsou stále v rané fázi vývoje a velmi experimentální – používejte je opatrně.
+
## Ovládejte svou peněženku pomocí příkazů v chatu {#control-your-wallet-using-chat-commands}
diff --git a/public/content/translations/cs/beacon-chain/index.md b/public/content/translations/cs/beacon-chain/index.md
index a93ca08bdb8..b6e21291eb5 100644
--- a/public/content/translations/cs/beacon-chain/index.md
+++ b/public/content/translations/cs/beacon-chain/index.md
@@ -1,13 +1,13 @@
---
title: Beacon chain
-description: Přečtěte si o Řetězové vazbě – vylepšení, které umožnilo důkaz podílem na Ethereu.
+description: "Přečtěte si o Řetězové vazbě – vylepšení, které umožnilo důkaz podílem na Ethereu."
lang: cs
template: upgrade
image: /images/upgrades/core.png
alt:
-summaryPoint1: Řetězová vazba zavedla důkaz podílem do ekosystému Etherea.
-summaryPoint2: V září 2022 byla sloučena s původním Ethereem založeným na důkazu prací.
-summaryPoint3: Řetězová vazba představila logiku konsensu a blokový komunikační protokol, který v současné době zabezpečuje Ethereum.
+summaryPoint1: "Řetězová vazba zavedla důkaz podílem do ekosystému Etherea."
+summaryPoint2: "V září 2022 byla sloučena s původním Ethereem založeným na důkazu prací."
+summaryPoint3: "Řetězová vazba představila logiku konsensu a blokový komunikační protokol, který v současné době zabezpečuje Ethereum."
---
diff --git a/public/content/translations/cs/code-of-conduct/index.md b/public/content/translations/cs/code-of-conduct/index.md
index 1f518679f6a..b69a17e3c45 100644
--- a/public/content/translations/cs/code-of-conduct/index.md
+++ b/public/content/translations/cs/code-of-conduct/index.md
@@ -1,6 +1,6 @@
---
-title: Etický kodex
-description: Základní standardy, o které se snažíme napříč ekosystémem ethereum.org.
+title: "Etický kodex"
+description: "Základní standardy, o které se snažíme napříč ekosystémem ethereum.org."
lang: cs
---
diff --git a/public/content/translations/cs/community/grants/index.md b/public/content/translations/cs/community/grants/index.md
index c808a7bd6f1..b001a9f6d21 100644
--- a/public/content/translations/cs/community/grants/index.md
+++ b/public/content/translations/cs/community/grants/index.md
@@ -12,8 +12,7 @@ Tento seznam je kurátorován naší komunitou. Pokud zde něco chybí nebo nen
-
Zakladatelé, potřebujete pomoct s rozvojem svého podnikání? [Přejděte do sekce Podpora pro zakladatele](/founders/)
-
+
Zakladatelé, potřebujete pomoct s rozvojem svého podnikání? [Přejděte do sekce Podpora pro zakladatele](/founders/)
## Širší ekosystém Etherea {#broad-ethereum-ecosystem}
diff --git a/public/content/translations/cs/community/online/index.md b/public/content/translations/cs/community/online/index.md
index 5b808c8da6f..9b907c3594b 100644
--- a/public/content/translations/cs/community/online/index.md
+++ b/public/content/translations/cs/community/online/index.md
@@ -34,15 +34,34 @@ Pokud si myslíte, že by na základě těchto pokynů měla být komunita přid
## Fóra {#forums}
-r/ethereum – vše o Ethereur/ethfinance – finanční stránka Etherea, včetně DeFir/ethdev – zaměřeno na vývoj Etherear/ethtrader – trendy a analýza trhur/ethstaker – pro všechny, kteří mají zájem o staking na EthereuFellowship of Ethereum Magicians – komunita zaměřená na technické standardy EthereaEthereum Stackexchange – diskuze a pomoc pro vývojáře EthereaEthereum Research – nejvlivnější diskuzní fórum pro kryptoekonomický výzkum
+r/ethereum – vše o Ethereu
+r/ethfinance – finanční stránka Etherea, včetně DeFi
+r/ethdev – zaměřeno na vývoj Etherea
+r/ethtrader – trendy a analýza trhu
+r/ethstaker – pro všechny, kteří mají zájem o staking na Ethereu
+Fellowship of Ethereum Magicians – komunita zaměřená na technické standardy Etherea
+Ethereum Stackexchange – diskuze a pomoc pro vývojáře Etherea
+Ethereum Research – nejvlivnější diskuzní fórum pro kryptoekonomický výzkum
## Chatovací místnosti {#chat-rooms}
-Ethereum Cat Herders – komunita zaměřená na podporu projektového řízení pro vývoj EthereaEthereum Hackers – chat na Discordu provozovaný ETHGlobal: online komunita pro hackery Etherea z celého světaCryptoDevs – komunita na Discordu zaměřená na vývoj EthereaEthStaker Discord – komunitou spravované poradenství, vzdělávání, podpora a zdroje pro stávající i potenciální stakerytým webu Ethereum.org – zastavte se a popovídejte si s týmem a lidmi z komunity o vývoji a designu webu ethereum.orgMatos Discord – komunita tvůrců web3, kde se scházejí tvůrci, osobnosti z oboru a nadšenci Etherea. Jsme nadšení do vývoje, designu a kultury web3. Pojďte s námi budovat.Solidity Gitter – chat o vývoji v Solidity (Gitter)Solidity Matrix – chat o vývoji v Solidity (Matrix)Ethereum Stack Exchange – fórum otázek a odpovědíPeera Community Forum – decentralizované fórum otázek a odpovědí
+Ethereum Cat Herders – komunita zaměřená na podporu projektového řízení pro vývoj Etherea
+Ethereum Hackers – chat na Discordu provozovaný ETHGlobal: online komunita pro hackery Etherea z celého světa
+CryptoDevs – komunita na Discordu zaměřená na vývoj Etherea
+EthStaker Discord – komunitou spravované poradenství, vzdělávání, podpora a zdroje pro stávající i potenciální stakery
+tým webu Ethereum.org – zastavte se a popovídejte si s týmem a lidmi z komunity o vývoji a designu webu ethereum.org
+Matos Discord – komunita tvůrců web3, kde se scházejí tvůrci, osobnosti z oboru a nadšenci Etherea. Jsme nadšení do vývoje, designu a kultury web3. Pojďte s námi budovat.
+Solidity Gitter – chat o vývoji v Solidity (Gitter)
+Solidity Matrix – chat o vývoji v Solidity (Matrix)
+Ethereum Stack Exchange – fórum otázek a odpovědí
+Peera Community Forum – decentralizované fórum otázek a odpovědí
## YouTube a X (dříve Twitter) {#youtube-and-twitter}
-Nadace Ethereum – Sledujte nejnovější zprávy od Nadace Ethereum@ethereum – Hlavní účet Etherea pro komunitu@ethereumfndn – Oficiální účet Nadace Ethereum@ethdotorg – Portál k Ethereu, vytvořený pro naši rostoucí globální komunitu
+Nadace Ethereum – Sledujte nejnovější zprávy od Nadace Ethereum
+@ethereum – Hlavní účet Etherea pro komunitu
+@ethereumfndn – Oficiální účet Nadace Ethereum
+@ethdotorg – Portál k Ethereu, vytvořený pro naši rostoucí globální komunitu
diff --git a/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md b/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md
index 093d6bb461f..9a373033eea 100644
--- a/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md
+++ b/public/content/translations/cs/contributing/translation-program/translatathon/details/index.md
@@ -1,7 +1,7 @@
---
title: Podrobnosti a pravidla
lang: cs
-template: "překladaton"
+template: translatathon
---

diff --git a/public/content/translations/cs/danksharding/index.md b/public/content/translations/cs/danksharding/index.md
index f7cff956fec..b8dfc645033 100644
--- a/public/content/translations/cs/danksharding/index.md
+++ b/public/content/translations/cs/danksharding/index.md
@@ -1,6 +1,6 @@
---
title: Danksharding
-description: Seznamte se s Proto-Dankshardingem a Dankshardingem - dvěma po sobě jdoucími vylepšeními pro škálování Etherea.
+description: "Seznamte se s Proto-Dankshardingem a Dankshardingem - dvěma po sobě jdoucími vylepšeními pro škálování Etherea."
lang: cs
summaryPoints:
- Danksharding je vícestupňové vylepšení, které má zlepšit škálovatelnost a kapacitu Etherea.
@@ -22,13 +22,11 @@ Toto je drahé, protože CALLDATA jsou zpracovávána všemi uzly na Ethereu a z
Rollupy jsou způsobem, jak škálovat Ethereum tím, že sdružují transakce mimo blockchain a poté zveřejňují výsledky na Ethereu. Rollup se v podstatě skládá ze dvou částí: dat a ověření provedení. Data jsou úplné sekvence transakcí, které jsou zpracovány rollupem k vytvoření změny stavu, jež je zveřejněna na Ethereu. Ověření provedení je opětovné provedení těchto transakcí nějakým poctivým aktérem (tzv. „schvalovatel“), aby bylo zajištěno, že navrhovaná změna stavu je správná. K provedení ověření musí být transakční data dostupná dostatečně dlouho na to, aby si je mohl kdokoliv stáhnout a zkontrolovat. To znamená, že jakékoliv nepoctivé chování sequencera rollupu může být identifikováno a napadnuto ověřovatelem. Nicméně není nutné, aby byla tato data dostupná navždy.
-
Rollupy zveřejňují závazky ke svým transakčním datům na blockchainu a také zpřístupňují skutečná data v datových blobech. To znamená, že ověřovatelé mohou verifikovat, že jsou závazky platné, nebo napadnout data, která považují za nesprávná. Na úrovni uzlů jsou tyto datové bloby uloženy v konsenzus klientech. Konsenzus klienti potvrzují, že data viděli a že byla rozšířena po celé síti. Pokud by se data uchovávala navždy, tito klienti by zůstali přetíženi, což by vedlo k velkým požadavkům na hardware pro provozování uzlů. Místo toho se data automaticky mažou z uzlu každých 18 dní. Atestace konsenzus klientů prokazují, že ověřovatelé měli dostatečnou příležitost data ověřit. Skutečná data mohou být uložena mimo blockchain provozovateli rollupu, uživateli nebo ostatními.
-
### Jak jsou data v blobech ověřována? {#how-are-blobs-verified}
@@ -48,13 +46,11 @@ Ceremoniál KZG EIP-4844 byl veřejný a zúčastnily se ho desítky tisíc uži
Když rollup zveřejní data v blobu, poskytne také „závazek“, který zveřejní na blockchainu. Tento závazek je výsledkem vyhodnocení polynomu přizpůsobeného datům v určitých bodech. Tyto body jsou definovány náhodnými čísly generovanými v ceremoniálu KZG. Ověřovatelé mohou poté vyhodnotit polynom ve stejných bodech, aby ověřili data – pokud dosáhnou stejných hodnot, jsou data správná.
-
Pokud někdo zná náhodné body použité pro vytvoření závazku, je pro něj snadné vytvořit nový polynom, který se bude shodovat v těchto konkrétních bodech (tj. „kolize“). To znamená, že by byl schopen přidat nebo odebrat data z blobu a stále poskytovat platný důkaz. Aby se tomu zabránilo, místo toho, aby ověřovatelé dostávali skutečné tajné body, obdrží body zabalené v kryptografické „černé skříňce“ pomocí eliptických křivek. Tyto body efektivně zamíchají hodnoty tak, aby původní hodnoty nemohly být zpětně rekonstruovány, ale s určitým chytrým algebraickým postupem mohou ověřovatelé stále vyhodnotit polynomy v bodech, které reprezentují.
-
@@ -70,13 +66,11 @@ Funguje to tak, že se rozšíří počet blobů připojených k blokům ze šes
Oddělení navrhovatelů a stavitelů bloků je nezbytné k tomu, aby jednotliví validátoři nemuseli generovat drahé závazky a důkazy pro 32 MB blobových dat. To by příliš zatěžovalo domácí validátory a vyžadovalo by to investice do výkonnějšího hardwaru, což by signifikantně snížilo decentralizaci. Místo toho převezmou zodpovědnost za tuto náročnou výpočetní práci specializovaní stavitelé bloků. Poté zpřístupní své bloky navrhovatelům bloků, aby je mohli šířit. Navrhovatel bloku jednoduše vybere blok, který je nejziskovější. Každý může levně a rychle ověřit bloby, což znamená, že jakýkoliv běžný validátor může zkontrolovat poctivost jednání stavitelů bloků. To umožňuje zpracování velkých blobů bez obětování decentralizace. Nepoctiví stavitelé bloků by mohli být jednoduše vyloučeni ze sítě a penalizováni a další by je nahradili, protože stavba bloků je výnosná činnost.
-
Vzorkování dostupnosti dat je nezbytné pro validátory k rychlému a efektivnímu ověřování blobových dat. Pomocí vzorkování dostupnosti dat si mohou být validátoři jistí, že byla blobová data dostupná a správně potvrzena. Každý validátor může náhodně vybrat jen několik datových bodů a vytvořit důkaz, což znamená, že žádný validátor nemusí kontrolovat celý blob. Pokud nějaká data chybí, budou rychle identifikována a blob bude zamítnut.
-
### Aktuální průběh {#current-progress}
diff --git a/public/content/translations/cs/dao/index.md b/public/content/translations/cs/dao/index.md
index d64ee5a3b2d..238b935c962 100644
--- a/public/content/translations/cs/dao/index.md
+++ b/public/content/translations/cs/dao/index.md
@@ -70,9 +70,7 @@ Při řízení DAO je třeba zvážit mnoho aspektů, například způsob hlasov
Delegování je něco jako DAO verze zastupitelské demokracie. Držitelé tokenu delegují hlasy uživatelům, kteří se nabídnou a slíbí, že budou spravovat protokol a zůstanou o něm informováni.
-#### Známý příklad {#governance-example}
-
-[ENS](https://claim.ens.domains/delegate-ranking) – Držitelé ENS mohou delegovat své hlasy angažovaným členům komunity, aby je zastupovali.
+#### Známý příklad {#governance-example}[ENS](https://claim.ens.domains/delegate-ranking) – Držitelé ENS mohou delegovat své hlasy angažovaným členům komunity, aby je zastupovali.
### Automatická správa transakcí {#governance-example}
diff --git a/public/content/translations/cs/decentralized-identity/index.md b/public/content/translations/cs/decentralized-identity/index.md
index 7b8381fd7a8..5ffeaa94b17 100644
--- a/public/content/translations/cs/decentralized-identity/index.md
+++ b/public/content/translations/cs/decentralized-identity/index.md
@@ -130,6 +130,7 @@ Blockchain slouží jako ověřitelný rejstřík dat: otevřený a decentralizo
Pokud někdo potřebuje potvrdit platnost decentralizovaného identifikátoru, může najít přidružený veřejný klíč na blockchainu. Toto je odlišné od tradičních identifikátorů, které vyžadují ověření od třetích stran.
## Jak decentralizované identifikátory a atestace umožňují decentralizovanou identitu? {#how-decentralized-identifiers-and-attestations-enable-decentralized-identity}
+
Decentralizovaná identita je přesvědčení, že informace týkající se identity by měly být samostatně kontrolovány, soukromé a přenosné, přičemž základem toho všeho jsou decentralizované identifikátory a atestace.
V kontextu decentralizované identity jsou atestace (známé také jako [ověřitelná pověření](https://www.w3.org/TR/vc-data-model/)) kryptograficky ověřitelné nároky vydané vydavatelem, které jsou odolné proti neoprávněné manipulaci. Každá atestace nebo ověřitelný přihlašovací údaj, který entita (např.: organizace) uplatní je spojen s jejich decentralizovanými identifikátory (DID).
diff --git a/public/content/translations/cs/defi/index.md b/public/content/translations/cs/defi/index.md
index cfc464771ea..793d7be6a95 100644
--- a/public/content/translations/cs/defi/index.md
+++ b/public/content/translations/cs/defi/index.md
@@ -67,8 +67,7 @@ To zní divně... „proč bych si chtěl/a programovat peníze“? Toto je vša
-
Prozkoumejte naše návrhy pro DeFi aplikace a vyzkoušet je, pokud jste v Ethereu noví.
-
+
Prozkoumejte naše návrhy pro DeFi aplikace a vyzkoušet je, pokud jste v Ethereu noví.
Objevte DeFi aplikace
diff --git a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md
index 95c857e3c31..ff073791510 100644
--- a/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md
+++ b/public/content/translations/cs/developers/docs/consensus-mechanisms/pow/mining/index.md
@@ -18,6 +18,7 @@ Proof-of-work již není základním mechanismem konsensu Etherea, což znamená
Pro lepší pochopení této stránky doporučujeme si nejprve přečíst o [transakcích](/developers/docs/transactions/), [blocích](/developers/docs/blocks/) a [důkazu prací](/developers/docs/consensus-mechanisms/pow/).
## Co je to těžba Etherea? {#what-is-ethereum-mining}
+
Těžení je proces vytváření bloků transakcí, které byly přidávány do blockchainu Etherea v dříve používané architektuře proof-of-work.
Slovo „těžení“ pochází z analogie se zlatem v kontextu kryptoměn. Zlaté nebo cenné kovy jsou vzácné, stejně jako digitální tokeny, a jediným způsobem, jak zvýšit jejich celkový objem v systému proof-of-work, je těžení. Na proof-of-work Ethereu byl jediný způsob, jak vydávat nové ETH, právě těžba. Na rozdíl od zlata nebo cenných kovů však těžení Etherea také sloužilo k zabezpečení sítě tím, že vytvářelo, ověřovalo, publikovalo a šířilo bloky blockchainu.
diff --git a/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md b/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md
index aa567d42120..a2888cb7189 100644
--- a/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md
+++ b/public/content/translations/cs/developers/docs/intro-to-ethereum/index.md
@@ -5,6 +5,7 @@ lang: cs
---
## Co je to blockchain? {#what-is-a-blockchain}
+
Blockchain je veřejná databáze, která je aktualizována a sdílena mnoha počítači v síti.
„Blok“ odkazuje na data a stavy účtů uložené v po sobě jdoucích skupinách známých jako „bloky“. Jestliže pošlete ETH někomu jinému, data transakce musí být přidána do bloku, aby byla úspěšně vykonána.
diff --git a/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
index c42bb7a9961..b8bc8f49c07 100644
--- a/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
@@ -13,6 +13,7 @@ Protože výpočty jsou pomalou a nákladnou součástí používání Etherea,
Měli byste mít přečteny naše stránky o [škálování Etherea](/developers/docs/scaling/) a [vrstvě 2](/layer-2/).
## Co je to optimistický rollup? {#what-is-an-optimistic-rollup}
+
Optimistický rollup je přístup ke škálování Etherea, který zahrnuje přesun výpočtů a ukládání stavu mimo řetězec. Optimistické rollupy provádějí transakce mimo Ethereum, ale zveřejňují data transakcí na Mainnetu jako `calldata` nebo v [blobech](/roadmap/danksharding/).
Operátoři optimistických rollupů seskupují více transakcí mimo řetězec do velkých balíčků, které následně odesílají na Ethereum. Tento přístup umožňuje rozložit fixní náklady mezi více transakcí v každém balíčku, což snižuje poplatky pro koncové uživatele. Optimistické rollupy ke snížení množství dat zveřejňovaných na Ethereum využívají i kompresní techniky.
@@ -70,6 +71,7 @@ Další rolí Etherea v kontextu optimistických rollupů je role vyrovnávací
Ethereum Mainnet poskytuje centrum pro ověřování důkazů podvodu a řešení sporů na optimistických rollupech. Navíc jsou transakce provedené na rollupu považovány za finální až _poté_, co je blok rollupu přijat na Ethereum. Jakmile je transakce rollupu zapsána do základní vrstvy Etherea, nelze ji vrátit zpět (s výjimkou velmi nepravděpodobného případu reorganizace řetězce).
## Jak fungují optimistické rollupy? {#how-optimistic-rollups-work}
+
### Provedení a agregace transakcí {#transaction-execution-and-aggregation}
Uživatelé odesílají transakce „operátorům“, což jsou síťové uzly odpovědné za zpracování transakcí na optimistickém rollupu. Operátor, také známý jako „validátor“ nebo „agregátor“, agreguje transakce, komprimuje podkladová data a zveřejňuje bloky na Ethereu.
diff --git a/public/content/translations/cs/developers/docs/scaling/validium/index.md b/public/content/translations/cs/developers/docs/scaling/validium/index.md
index f413e76b461..ee11448177a 100644
--- a/public/content/translations/cs/developers/docs/scaling/validium/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/validium/index.md
@@ -44,6 +44,7 @@ Ethereum, které funguje jako vrstva sloužící k vypořádání, také zaruču
Pokud on-chain ověřovací kontrakt shledá důkaz neplatným, jsou transakce zamítnuty. To znamená, že operátoři musí splnit podmínky platnosti vynucené protokolem Etherea před aktualizací stavu validia.
## Jak validium funguje? {#how-does-validium-work}
+
### Transakce {#transactions}
Uživatelé předkládají transakce operátorovi, což je síťový uzel zodpovědný za provádění transakcí na validiu. Některá validia mohou používat k exekuci řetězce jediného operátora nebo se pro rotaci operátorů spoléhat na mechanismus [důkazu podílem (PoS)](/developers/docs/consensus-mechanisms/pos/).
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md b/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
index 95525a1ac2f..c0bff0d53bb 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
@@ -16,6 +16,7 @@ Složitelnost znamená kombinování různých komponent k vytvoření nových s
Na Ethereu je každý chytrý kontrakt jakousi kostkou Lego – můžete použít chytré kontrakty z jiných projektů jako stavební bloky pro váš projekt. To znamená, že nemusíte trávit čas znovuobjevováním kola nebo začínáním od nuly.
## Jak funguje složitelnost? {#how-does-composability-work}
+
Chytré kontrakty na Ethereu jsou jako veřejná API, takže s nimi může kdokoli pracovat nebo je integrovat do své dappky za účelem přidání funkcionality. Složitelnost chytrých kontraktů obecně funguje na třech principech: modularita, autonomie a objevitelnost:
**1.** Modularita\*\*: Schopnost jednotlivých komponent vykonávat specifickou úlohu. Na Ethereu má každý chytrý kontrakt specifické použití (jak je ukázáno v příkladu Uniswapu).
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md b/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
index 07b610475f2..9f645a05e7f 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
@@ -31,6 +31,7 @@ Naopak, jiné formální modely se zaměřují na chování chytrého kontraktu
Nízkoúrovňové modely jsou považovány za ideální, protože představují skutečné provedení chytrého kontraktu v exekučním prostředí Etherea (tj. v [EVM](/developers/docs/evm/)). Techniky modelování na nízké úrovni jsou zvláště užitečné při stanovování kritických bezpečnostních vlastností chytrých kontraktů a detekci potenciálních zranitelností.
### Co je formální specifikace? {#what-is-a-formal-specification}
+
Specifikace je jednoduše řečeno technický požadavek, který musí daný systém splňovat. V programování představují specifikace obecné představy o provádění programu (tj. co by měl program dělat).
V kontextu chytrých kontraktů se formální specifikace vztahují na _vlastnosti_ – formální popisy požadavků, které musí kontrakt splňovat. Takové vlastnosti se označují jako „invarianty“ a představují logická tvrzení o provádění kontraktu, která musí zůstat pravdivá za všech okolností, bez jakýchkoliv výjimek.
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md b/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
index 53ff43f1027..3ad9629142b 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
@@ -123,24 +123,32 @@ Pro více informací si [přečtěte Vyper rationale](https://vyper.readthedocs.
# Otevřená aukce
# Parametry aukce
+
# Příjemce obdrží peníze od nejvyššího nabízejícího
+
beneficiary: public(address)
auctionStart: public(uint256)
auctionEnd: public(uint256)
# Aktuální stav aukce
+
highestBidder: public(address)
highestBid: public(uint256)
# Na konci se nastaví na true, zakáže jakoukoli změnu
+
ended: public(bool)
# Sledujeme vrácené nabídky, abychom mohli použít vzor výběru
+
pendingReturns: public(HashMap[address, uint256])
# Vytvoří jednoduchou aukci s `_bidding_time`
+
# sekundami pro přihazování jménem
+
# adresy příjemce `_beneficiary`.
+
@external
def __init__(_beneficiary: address, _bidding_time: uint256):
self.beneficiary = _beneficiary
@@ -148,9 +156,13 @@ def __init__(_beneficiary: address, _bidding_time: uint256):
self.auctionEnd = self.auctionStart + _bidding_time
# Přihodí do aukce s hodnotou zaslanou
+
# spolu s touto transakcí.
+
# Hodnota bude vrácena pouze v případě,
+
# že aukce nebude vyhrána.
+
@external
@payable
def bid():
@@ -165,9 +177,13 @@ def bid():
self.highestBid = msg.value
# Vybere dříve vrácenou nabídku. Vzor výběru (withdraw pattern) se
+
# zde používá k zamezení bezpečnostního problému. Pokud by byly refundace přímo
+
# odesílány jako součást bid(), mohl by škodlivý kontrakt blokovat
+
# tyto refundace a tím zabránit příchodu nových vyšších nabídek.
+
@external
def withdraw():
pending_amount: uint256 = self.pendingReturns[msg.sender]
@@ -175,7 +191,9 @@ def withdraw():
send(msg.sender, pending_amount)
# Ukončí aukci a pošle nejvyšší nabídku
+
# příjemci.
+
@external
def endAuction():
# Je dobrým zvykem strukturovat funkce, které interagují
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md b/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
index aa6a3f9ca3d..e816cc4f638 100644
--- a/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
+++ b/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
@@ -15,6 +15,7 @@ Zvýšený výzkum v oblasti vylepšování chytrých kontraktů však vedl k za
Měli byste dobře rozumět [chytrým kontraktům](/developers/docs/smart-contracts/), [anatomii chytrých kontraktů](/developers/docs/smart-contracts/anatomy/) a [Virtuálnímu stroji Etherea (EVM)](/developers/docs/evm/). Tato příručka také předpokládá, že čtenáři mají znalosti o programování chytrých kontraktů.
## Co je to vylepšení chytrého kontraktu? {#what-is-a-smart-contract-upgrade}
+
Vylepšení chytrého kontraktu zahrnuje změnu obchodní logiky chytrého kontraktu při zachování jeho stavu. Je důležité objasnit, že možnost vylepšit a měnit nejsou totéž, zejména v kontextu chytrých kontraktů.
Program nasazený na adresu v síti Etherea stále nelze změnit. Můžete však změnit kód, který se spustí při interakci uživatelů s chytrým kontraktem.
diff --git a/public/content/translations/cs/developers/docs/wrapped-eth/index.md b/public/content/translations/cs/developers/docs/wrapped-eth/index.md
index 85b8dd4debc..d654755e80b 100644
--- a/public/content/translations/cs/developers/docs/wrapped-eth/index.md
+++ b/public/content/translations/cs/developers/docs/wrapped-eth/index.md
@@ -1,6 +1,6 @@
---
-title: Co je Zabalený ether (WETH)
-description: Úvod do Zabaleného etheru (WETH), ERC20-kompatibilního wrapperu pro ether (ETH).
+title: "Co je Zabalený ether (WETH)"
+description: "Úvod do Zabaleného etheru (WETH), ERC20-kompatibilního wrapperu pro ether (ETH)."
lang: cs
---
@@ -35,19 +35,16 @@ Pomocí WETH chytrého kontraktu můžete WETH zpětně vyměnit za ETH. Pomocí
Platíte poplatky za palivo při balení nebo rozbalování ETH pomocí WETH kontraktu.
-
WETH je obecně považováno za bezpečné, protože je založeno na jednoduchém, osvědčeném chytrém kontraktu. WETH kontrakt byl také formálně ověřen, což je nejvyšší bezpečnostní standard pro chytré kontrakty na Ethereu.
-
Kromě [kanonické implementace WETH](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2) popsané na této stránce existují i jiné varianty. Tyto varianty mohou být tokeny, které vytvořili vývojáři aplikací pro vlastní účely, nebo verze vydané na jiných blockchainech a mohou se chovat odlišně nebo mít odlišné bezpečnostní vlastnosti. **Vždy si ověřte informace o tokenu, abyste věděli, s jakou implementací WETH pracujete.**
-
@@ -55,7 +52,6 @@ Kromě [kanonické implementace WETH](https://etherscan.io/token/0xc02aaa39b223f
- [Hlavní síť Ethereum](https://etherscan.io/token/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
- [Arbitrum](https://arbiscan.io/token/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)
- [Optimism](https://optimistic.etherscan.io/token/0x4200000000000000000000000000000000000006)
-
## Further reading {#further-reading}
diff --git a/public/content/translations/cs/developers/tutorials/erc-721-vyper-annotated-code/index.md b/public/content/translations/cs/developers/tutorials/erc-721-vyper-annotated-code/index.md
index dbe63668feb..9b0c11391de 100644
--- a/public/content/translations/cs/developers/tutorials/erc-721-vyper-annotated-code/index.md
+++ b/public/content/translations/cs/developers/tutorials/erc-721-vyper-annotated-code/index.md
@@ -293,6 +293,7 @@ Vrátí hodnotu z `self.supportedInterfaces` HashMap, která je nastavena v kons
```python
### FUNKCE VIEW ###
+
```
Toto jsou funkce view, které zpřístupňují informace o tokenech uživatelům a jiným kontraktům.
diff --git a/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md b/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md
index db883faf5f5..1ed5f892f7d 100644
--- a/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md
+++ b/public/content/translations/cs/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md
@@ -13,7 +13,7 @@ tags:
skill: beginner
lang: cs
published: 2020-10-30
-source: "Střední"
+source: Medium
sourceUrl: https://medium.com/alchemy-api/getting-started-with-ethereum-development-using-alchemy-c3d6a45c567f
---
diff --git a/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md b/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md
index 443b2d98cab..ec5da90b436 100644
--- a/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md
+++ b/public/content/translations/cs/developers/tutorials/guide-to-smart-contract-security-tools/index.md
@@ -6,7 +6,7 @@ lang: cs
tags: [ "solidity", "smart kontrakt účty", "bezpečnost" ]
skill: intermediate
published: 2020-09-07
-source: "Tvorba bezpečných kontraktů"
+source: Building secure contracts
sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis
---
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md
index a58c0fa0327..897996e6f7b 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md
@@ -13,7 +13,7 @@ tags:
]
skill: advanced
published: 2020-04-10
-source: "Tvorba bezpečných kontraktů"
+source: Building secure contracts
sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/echidna
---
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md
index d1e1ecb969a..77faef9a8d9 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md
@@ -13,7 +13,7 @@ tags:
]
skill: advanced
published: 2020-01-13
-source: "Tvorba bezpečných kontraktů"
+source: Building secure contracts
sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore
---
@@ -400,6 +400,7 @@ symbolic_var = m.make_symbolic_value()
contract_account.f(symbolic_var)
## Zkontrolujte, zda provádění končí s REVERT nebo INVALID
+
for state in m.terminated_states:
last_tx = state.platform.transactions[-1]
if last_tx.result in ['REVERT', 'INVALID']:
@@ -508,6 +509,7 @@ contract_account.f(symbolic_var)
no_bug_found = True
## Zkontrolujte, zda provádění končí s REVERT nebo INVALID
+
for state in m.terminated_states:
last_tx = state.platform.transactions[-1]
if last_tx.result in ['REVERT', 'INVALID']:
diff --git a/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md b/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
index bab3a39a1ee..90b373ffd89 100644
--- a/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
+++ b/public/content/translations/cs/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
@@ -12,7 +12,7 @@ tags:
]
skill: advanced
published: 2020-06-09
-source: "Tvorba bezpečných kontraktů"
+source: Building secure contracts
sourceUrl: https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/slither
---
diff --git a/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md b/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md
index 03f6320825f..549ab2e1220 100644
--- a/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md
+++ b/public/content/translations/cs/developers/tutorials/run-node-raspberry-pi/index.md
@@ -12,7 +12,7 @@ tags:
lang: cs
skill: intermediate
published: 2022-06-10
-source: Ethereum na ARM
+source: Ethereum on ARM
sourceUrl: https://ethereum-on-arm-documentation.readthedocs.io/en/latest/
---
diff --git a/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md b/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md
index 16d4fe2c864..181d7443b61 100644
--- a/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md
+++ b/public/content/translations/cs/developers/tutorials/secure-development-workflow/index.md
@@ -6,7 +6,7 @@ tags: [ "chytré kontrakty", "bezpečnost", "solidity" ]
skill: intermediate
lang: cs
published: 2020-09-07
-source: "Tvorba bezpečných kontraktů"
+source: Building secure contracts
sourceUrl: https://github.com/crytic/building-secure-contracts/blob/master/development-guidelines/workflow.md
---
diff --git a/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md b/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
index b20dbbe33d8..30b49b025d0 100644
--- a/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
+++ b/public/content/translations/cs/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
@@ -6,7 +6,7 @@ tags: [ "transakce", "web3.js", "alchemy" ]
skill: beginner
lang: cs
published: 2020-11-04
-source: dokumentace Alchemy
+source: Alchemy docs
sourceUrl: https://www.alchemy.com/docs/how-to-send-transactions-on-ethereum
---
diff --git a/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md b/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md
index 5dd31f2cae9..df8bce67979 100644
--- a/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md
+++ b/public/content/translations/cs/developers/tutorials/smart-contract-security-guidelines/index.md
@@ -6,7 +6,7 @@ tags: [ "solidity", "chytré kontrakty", "bezpečnost" ]
skill: intermediate
lang: cs
published: 2020-09-06
-source: "Tvorba bezpečných kontraktů"
+source: Building secure contracts
sourceUrl: https://github.com/crytic/building-secure-contracts/blob/master/development-guidelines/guidelines.md
---
diff --git a/public/content/translations/cs/developers/tutorials/token-integration-checklist/index.md b/public/content/translations/cs/developers/tutorials/token-integration-checklist/index.md
index 70602cc6743..e1d2b80cbd1 100644
--- a/public/content/translations/cs/developers/tutorials/token-integration-checklist/index.md
+++ b/public/content/translations/cs/developers/tutorials/token-integration-checklist/index.md
@@ -12,7 +12,7 @@ tags:
]
skill: intermediate
published: 2020-08-13
-source: "Tvorba bezpečných kontraktů"
+source: Building secure contracts
sourceUrl: https://github.com/crytic/building-secure-contracts/blob/master/development-guidelines/token_integration.md
---
diff --git a/public/content/translations/cs/developers/tutorials/uniswap-v2-annotated-code/index.md b/public/content/translations/cs/developers/tutorials/uniswap-v2-annotated-code/index.md
index 3e36b3e4b06..0647a3a8e58 100644
--- a/public/content/translations/cs/developers/tutorials/uniswap-v2-annotated-code/index.md
+++ b/public/content/translations/cs/developers/tutorials/uniswap-v2-annotated-code/index.md
@@ -56,9 +56,8 @@ Toto je nejběžnější tok, který používají obchodníci:
4. Iteruje přes cestu. Pro každou směnárnu po cestě odešle vstupní token a poté zavolá směnnou funkci `swap` směnárny.
Ve většině případů je cílová adresa pro tokeny další párovou směnárnou v cestě. V konečné směnárně se jedná o adresu poskytnutou obchodníkem.
-#### V hlavním kontraktu (UniswapV2Pair.sol) {#in-the-core-contract-uniswapv2pairsol-2}
+#### V hlavním kontraktu (UniswapV2Pair.sol) {#in-the-core-contract-uniswapv2pairsol-2}5. Ověřte, že hlavní kontrakt není podváděn a že si po směně dokáže udržet dostatečnou likviditu.
-5. Ověřte, že hlavní kontrakt není podváděn a že si po směně dokáže udržet dostatečnou likviditu.
6. Podívejte se, kolik dalších tokenů máme kromě známých rezerv. Tato částka je počet vstupních tokenů, které jsme obdrželi ke směně.
7. Odešlete výstupní tokeny do cíle.
8. Zavolejte `_update` pro aktualizaci výše rezerv
diff --git a/public/content/translations/cs/developers/tutorials/using-websockets/index.md b/public/content/translations/cs/developers/tutorials/using-websockets/index.md
index c35115103ea..4c3bc15ad53 100644
--- a/public/content/translations/cs/developers/tutorials/using-websockets/index.md
+++ b/public/content/translations/cs/developers/tutorials/using-websockets/index.md
@@ -5,7 +5,7 @@ author: "Elan Halpern"
lang: cs
tags: [ "alchemy", "websockety", "dotazování", "javascript" ]
skill: beginner
-source: dokumentace Alchemy
+source: Alchemy docs
sourceUrl: https://www.alchemy.com/docs/reference/best-practices-for-using-websockets-in-web3
published: 2020-12-01
---
diff --git a/public/content/translations/cs/dvt/index.md b/public/content/translations/cs/dvt/index.md
index 990f60b83d1..56e26d0b2df 100644
--- a/public/content/translations/cs/dvt/index.md
+++ b/public/content/translations/cs/dvt/index.md
@@ -1,6 +1,6 @@
---
-title: Technologie distribuovaných validátorů
-description: Technologie distribuovaných validátorů umožňuje distribuovaný provoz ethereovského validátoru více stranami.
+title: "Technologie distribuovaných validátorů"
+description: "Technologie distribuovaných validátorů umožňuje distribuovaný provoz ethereovského validátoru více stranami."
lang: cs
---
diff --git a/public/content/translations/cs/future-proofing/index.md b/public/content/translations/cs/future-proofing/index.md
index 1785e9d8bc4..de5661452ac 100644
--- a/public/content/translations/cs/future-proofing/index.md
+++ b/public/content/translations/cs/future-proofing/index.md
@@ -1,6 +1,6 @@
---
-title: Příprava na budoucnost Etherea
-description: Neustávající práce na vylepšeních činí Ethereum odolnou, decentralizovanou základní vrstvou, bez ohledu na to, co nám budoucnost přinese.
+title: "Příprava na budoucnost Etherea"
+description: "Neustávající práce na vylepšeních činí Ethereum odolnou, decentralizovanou základní vrstvou, bez ohledu na to, co nám budoucnost přinese."
lang: cs
image: /images/roadmap/roadmap-future.png
alt: "Plán Etherea"
diff --git a/public/content/translations/cs/governance/index.md b/public/content/translations/cs/governance/index.md
index b48dba5a553..db930bf8dcd 100644
--- a/public/content/translations/cs/governance/index.md
+++ b/public/content/translations/cs/governance/index.md
@@ -39,6 +39,7 @@ _Zatímco na úrovni protokolu je řízení Etherea mimo blockchain, velké mno
## Kdo je zapojen? {#who-is-involved}
+
V [komunitě Etherea](/community/) jsou různé zúčastněné strany, z nichž každá hraje roli v procesu správy. Počínaje zainteresovanými stranami, které jsou nejvzdálenější od protokolu, se jedná o:
- **Držitelé etheru**: Tito lidé drží libovolné množství ETH. [Více o ETH](/what-is-ether/).
diff --git a/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md b/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md
index 810e8c2f6b7..b74ec48e742 100644
--- a/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md
+++ b/public/content/translations/cs/guides/how-to-create-an-ethereum-account/index.md
@@ -42,8 +42,7 @@ Některé aplikace vás požádají, abyste si uložili tajnou "bezpečnostní f
-
Máte nainstalovanou peněženku? Naučte se ji používat.
-
+
Máte nainstalovanou peněženku? Naučte se ji používat.
Jak používat peněženku
diff --git a/public/content/translations/cs/guides/how-to-revoke-token-access/index.md b/public/content/translations/cs/guides/how-to-revoke-token-access/index.md
index 431561d7c13..7190cc3ad94 100644
--- a/public/content/translations/cs/guides/how-to-revoke-token-access/index.md
+++ b/public/content/translations/cs/guides/how-to-revoke-token-access/index.md
@@ -49,8 +49,7 @@ Doporučujeme vám po několika minutách obnovit nástroj na zrušení přístu
-
Chcete se dozvědět více?
-
+
Chcete se dozvědět více?
Podívejte se na naše další návody
diff --git a/public/content/translations/cs/guides/how-to-swap-tokens/index.md b/public/content/translations/cs/guides/how-to-swap-tokens/index.md
index 0d4171803fb..5e57257522e 100644
--- a/public/content/translations/cs/guides/how-to-swap-tokens/index.md
+++ b/public/content/translations/cs/guides/how-to-swap-tokens/index.md
@@ -52,8 +52,7 @@ Směněné tokeny automaticky obdržíte do své peněženky, jakmile bude trans
-
Chcete se dozvědět více?
-
+
Chcete se dozvědět více?
Podívejte se na naše další návody
diff --git a/public/content/translations/cs/guides/how-to-use-a-bridge/index.md b/public/content/translations/cs/guides/how-to-use-a-bridge/index.md
index 7fccdd36146..ef5d6813c3b 100644
--- a/public/content/translations/cs/guides/how-to-use-a-bridge/index.md
+++ b/public/content/translations/cs/guides/how-to-use-a-bridge/index.md
@@ -54,8 +54,7 @@ Podrobnosti o síti RPC můžete zjistit pomocí [chainlist.org](http://chainlis
-
Chcete se dozvědět více?
-
+
Chcete se dozvědět více?
Podívejte se na naše další návody
diff --git a/public/content/translations/cs/guides/how-to-use-a-wallet/index.md b/public/content/translations/cs/guides/how-to-use-a-wallet/index.md
index 01cf90cb27d..ff4ffde87bb 100644
--- a/public/content/translations/cs/guides/how-to-use-a-wallet/index.md
+++ b/public/content/translations/cs/guides/how-to-use-a-wallet/index.md
@@ -65,8 +65,7 @@ Vaše adresa bude ve všech Ethereum projektech stejná. Na žádný projekt se
-
Chcete se dozvědět více?
-
+
Chcete se dozvědět více?
Podívejte se na naše další návody
diff --git a/public/content/translations/cs/nft/index.md b/public/content/translations/cs/nft/index.md
index 811a8fae27f..26bd0e92434 100644
--- a/public/content/translations/cs/nft/index.md
+++ b/public/content/translations/cs/nft/index.md
@@ -58,8 +58,7 @@ Možná jste umělec, který chce zveřejnit svou práci pomocí NFT, aniž by z
-
Prozkoumejte, kupte nebo si vytvořte vlastní NFT umění...
-
+
Prozkoumejte, kupte nebo si vytvořte vlastní NFT umění...
Prozkoumat NFT umění
diff --git a/public/content/translations/cs/payments/index.md b/public/content/translations/cs/payments/index.md
index 049691cf32d..e350fcd3098 100644
--- a/public/content/translations/cs/payments/index.md
+++ b/public/content/translations/cs/payments/index.md
@@ -60,12 +60,12 @@ V zemích, kde byly jejich platební prostředky odpojeny od zbytku světa, pře
-
Vytvořte si svůj účet Ethereum ještě dnes pomocí peněženkové aplikace.
-
+
Vytvořte si svůj účet Ethereum ještě dnes pomocí peněženkové aplikace.
Začněte
+
## Plaťte pomocí self-custodial krypto karet {#pay-with-self-custodial-crypto-cards}
@@ -198,10 +198,10 @@ Od usnadnění rychlé pomoci při katastrofách až po posílení postavení gl
-
Je čas si pořídit vlastní účet Ethereum.
-
+
Je čas si pořídit vlastní účet Ethereum.
Začněte!
+
diff --git a/public/content/translations/cs/prediction-markets/index.md b/public/content/translations/cs/prediction-markets/index.md
index 5af2fb41a2a..b9c6c4f5b08 100644
--- a/public/content/translations/cs/prediction-markets/index.md
+++ b/public/content/translations/cs/prediction-markets/index.md
@@ -56,7 +56,9 @@ Existuje několik dostupných predikčních trhů založených na Ethereu. Toto
Mějte na paměti rizika
Sázejte pouze to, co si můžete dovolit, a buďte si vědomi možného návykového chování.
+
+
## Výzvy a rizika {#challenges-and-risks}
diff --git a/public/content/translations/cs/roadmap/beacon-chain/index.md b/public/content/translations/cs/roadmap/beacon-chain/index.md
index 23763d77fdb..c087d613588 100644
--- a/public/content/translations/cs/roadmap/beacon-chain/index.md
+++ b/public/content/translations/cs/roadmap/beacon-chain/index.md
@@ -15,6 +15,7 @@ summaryPoint3: "Řetězová vazba představila logiku konsensu a blokový komuni
## Co je Řetězová vazba? {#what-is-the-beacon-chain}
+
Řetězová vazba je název původního blockchainu založeného na důkazu podílem, který byl spuštěn v roce 2020. Byl vytvořen za účelem zajištění správnosti a udržitelnosti logiky konsensu důkazu podílem před nasazením na hlavní síť Ethereum. Proto běžel souběžně s původním Ethereem založeným na důkazu prací. Řetězová vazba byla řetězec „prázdných“ bloků, ale vypnutí důkazu prací a zapnutí důkazu podílem na Ethereu vyžadovalo instruovat Řetězovou vazbu, aby přijímala transakční data od exekučních klientů, sdružovala je do bloků a poté organizovala do blockchainu pomocí mechanismu konsenzu založeného na důkazu podílem. Ve stejnou chvíli původní klienti Etherea vypnuli těžbu, tvorbu bloků a logiku konsensu a převedli vše na Řetězovou vazbu. Tato událost byla známá jako [Sloučení](/roadmap/merge/). Jakmile došlo ke Sloučení, už neexistovaly dva blockchainy. Místo toho nyní existuje jen jedno Ethereum, které vyžaduje dva různé klienty na síťový uzel. Řetězová vazba je nyní konsensuální vrstva: Peer-to-peer síť konsenzuálních klientů, která zpracovává blokovou komunikaci a konsenzuální logiku, zatímco původní klienti tvoří exekuční vrstvu, která je zodpovědná za komunikaci a exekuci transakcí a správu stavu Etherea. Tyto dvě vrstvy spolu mohou komunikovat pomocí Engine API.
## Co Řetězová vazba dělá? Co dělá Řetězová vazba? {#what-does-the-beacon-chain-do}
diff --git a/public/content/translations/cs/roadmap/merge/issuance/index.md b/public/content/translations/cs/roadmap/merge/issuance/index.md
index d9e4696a555..47ddb86cee0 100644
--- a/public/content/translations/cs/roadmap/merge/issuance/index.md
+++ b/public/content/translations/cs/roadmap/merge/issuance/index.md
@@ -62,7 +62,9 @@ Celková nabídka ETH: **~120 520 000 ETH** (v době Sloučení v září 2022)
**~11,3 %** bylo vydáváno uzamykatelům na vrstvě konsenzu (0,52 / 4,61 \* 100)
+
+
## Po Sloučení (současnost) {#post-merge}
@@ -96,7 +98,9 @@ Celková roční míra vydávání: **~0,52 %**
Čisté snížení ročního vydávání ETH: **~88,7 %** ((4,61 % – 0,52 %) / 4,61 % \* 100)
+
+
## Pálení {#the-burn}
@@ -109,7 +113,9 @@ Opakem vydávání ETH je stupeň, při které je ETH pálen. Aby byla transakce
Pálení poplatků bylo spuštěno s [vylepšením London](/ethereum-forks/#london) v srpnu 2021 a od Sloučení zůstává nezměněno.
+
+
Kromě pálení poplatků zavedeného s vylepšením London mohou validátoři také dostávat pokuty za to, že jsou offline, nebo hůře, mohou být „potrestáni“ za porušení specifických pravidel, které ohrožuje bezpečnost sítě. Tyto pokuty vedou k odečtení ETH od zůstatku validátora, aniž by byly převedeny jako odměna jinému účtu, čímž se efektivně pálí/odstraňují z oběhu.
diff --git a/public/content/translations/cs/scaling/index.md b/public/content/translations/cs/scaling/index.md
index 047b95578d2..1df5baf0c65 100644
--- a/public/content/translations/cs/scaling/index.md
+++ b/public/content/translations/cs/scaling/index.md
@@ -1,6 +1,6 @@
---
-title: Škálování Etherea
-description: Rollupy združují transakce mimo blockchain, čímž uživateli snižují náklady za transkaci. Současný způsob, jakým rollupy zpracovávají data, je však příliš drahý, což limituje, nakolik mohou transakce zlevnit. Tento problém řeší Proto-Danksharding.
+title: "Škálování Etherea"
+description: "Rollupy združují transakce mimo blockchain, čímž uživateli snižují náklady za transkaci. Současný způsob, jakým rollupy zpracovávají data, je však příliš drahý, což limituje, nakolik mohou transakce zlevnit. Tento problém řeší Proto-Danksharding."
lang: cs
image: /images/roadmap/roadmap-transactions.png
alt: "Plán Etherea"
diff --git a/public/content/translations/cs/staking/pools/index.md b/public/content/translations/cs/staking/pools/index.md
index a3322ccf57e..fba8ee84b0d 100644
--- a/public/content/translations/cs/staking/pools/index.md
+++ b/public/content/translations/cs/staking/pools/index.md
@@ -4,7 +4,7 @@ description: "Zjistěte více o stakingových poolech"
lang: cs
template: staking
emoji: ":money_with_wings:"
-image: /images/use-cases/defi.png
+image: /images/staking/leslie-pool.png
alt: "Nosorožec Leslie plave v bazénu."
sidebarDepth: 2
summaryPoints:
diff --git a/public/content/translations/cs/staking/saas/index.md b/public/content/translations/cs/staking/saas/index.md
index 6075da29df4..a90a004c6d4 100644
--- a/public/content/translations/cs/staking/saas/index.md
+++ b/public/content/translations/cs/staking/saas/index.md
@@ -13,11 +13,11 @@ summaryPoints:
- Snižte důvěru a udržujte své výběrové klíče v úschově
---
-## Co je vklad jako služba? Co je uzamčení jako služba?{#what-is-staking-as-a-service}
+## Co je vklad jako služba? Co je uzamčení jako služba? {#what-is-staking-as-a-service}
Vklad jako služba („SaaS“) představuje kategorii služeb vkladů, kde vkládáte svých vlastních 32 ETH pro validátorství, ale operace uzlu delegujete na operátora třetí strany. Tento proces obvykle zahrnuje provedení úvodního nastavení, včetně vygenerování a uložení klíče, a poté nahrání vašich podpisových klíčů operátorovi. To službě umožňuje provozovat váš validátor vaším jménem, obvykle za měsíční poplatek.
-## Proč vklady se službou? Proč stakovat se službou?{#why-stake-with-a-service}
+## Proč vklady se službou? Proč stakovat se službou? {#why-stake-with-a-service}
Protokol Ethereum nativně nepodporuje delegování vkladu, takže tyto služby byly vytvořeny tak, aby naplnily tento požadavek. Pokud máte vložit 32 ETH, ale necítíte se na práci s hardwarem, služby SaaS vám umožní delegovat tu nejtěžší část, zatímco získáte nativní blokové odměny.
diff --git a/public/content/translations/cs/staking/solo/index.md b/public/content/translations/cs/staking/solo/index.md
index 845fda41204..d59a375b4f7 100644
--- a/public/content/translations/cs/staking/solo/index.md
+++ b/public/content/translations/cs/staking/solo/index.md
@@ -4,7 +4,7 @@ description: "Přehled toho, jak začít uzamykat své ETH z domova"
lang: cs
template: staking
emoji: ":money_with_wings:"
-image: /images/staking/leslie-saas.png
+image: /images/staking/leslie-solo.png
alt: "Nosorožec Leslie na svém vlastním počítačovém čipu."
sidebarDepth: 2
summaryPoints:
@@ -71,6 +71,7 @@ Na rozdíl od penalizace za nečinnost za to, že jste offline, je trestán
Více o trestání a životním cyklu validátoru
+
diff --git a/public/content/translations/cs/staking/withdrawals/index.md b/public/content/translations/cs/staking/withdrawals/index.md
index 45fe05391a8..a63c79bd42e 100644
--- a/public/content/translations/cs/staking/withdrawals/index.md
+++ b/public/content/translations/cs/staking/withdrawals/index.md
@@ -24,6 +24,7 @@ Platby odměn se automaticky zpracovávají pro aktivní účty validátorů s m
Jakýkoli zůstatek nad 32 ETH získaný prostřednictvím odměn ve skutečnosti nepřispívá k jistině ani nezvyšuje váhu tohoto validátoru v síti, a je tak automaticky vybrán jako výplata odměny každých několik dní. Kromě jednorázového poskytnutí adresy pro výběr nevyžadují tyto odměny žádnou akci ze strany operátora validátoru. To vše je zahájeno na konsensuální vrstvě, takže v žádném kroku není vyžadováno žádné palivo (transakční poplatek).
### Jak jsme se sem dostali? {#how-did-we-get-here}
+
Během několika posledních let Ethereum prošlo několika upgrady sítě a přešlo na síť zabezpečenou samotným ETH namísto energeticky náročné těžby, jak tomu bylo dříve. Účast na konsensu o Ethereu je nyní známá jako „staking“, protože účastníci dobrovolně zablokovali ETH, čímž je „v sázce“ možnost zapojit se do sítě. Uživatelé, kteří dodržují pravidla, budou odměněni, zatímco pokusy o podvádění mohou být penalizovány.
Od zahájení smlouvy o vkladu v listopadu 2020 někteří stateční průkopníci Etherea dobrovolně uzamkli finanční prostředky, aby aktivovali „validátory“, speciální účty, které mají právo formálně potvrzovat a navrhovat bloky podle pravidel sítě.
diff --git a/public/content/translations/cs/statelessness/index.md b/public/content/translations/cs/statelessness/index.md
index 7ab7f1ea8cb..163604407cf 100644
--- a/public/content/translations/cs/statelessness/index.md
+++ b/public/content/translations/cs/statelessness/index.md
@@ -1,6 +1,6 @@
---
title: Bezstavovost, expirace stavu a expirace historie
-description: Vysvětlení expirace historie a bezstavového Etherea
+description: "Vysvětlení expirace historie a bezstavového Etherea"
lang: cs
---
diff --git a/public/content/translations/cs/support/index.md b/public/content/translations/cs/support/index.md
index 7fea758932c..a409c8b3626 100644
--- a/public/content/translations/cs/support/index.md
+++ b/public/content/translations/cs/support/index.md
@@ -1,6 +1,6 @@
---
title: Ethereum podpora
-description: Získejte podporu v ekosystému Etherea.
+description: "Získejte podporu v ekosystému Etherea."
lang: cs
---
diff --git a/public/content/translations/cs/user-experience/index.md b/public/content/translations/cs/user-experience/index.md
index 4e75daad6dd..28c84a4f51e 100644
--- a/public/content/translations/cs/user-experience/index.md
+++ b/public/content/translations/cs/user-experience/index.md
@@ -1,6 +1,6 @@
---
-title: Zlepšování zkušeností uživatelů
-description: Používání Etherea je pro většinu lidí stále moc složité. Aby bylo možné přiblížit se k masovému přijetí, musí Ethereum zásadně snížit své bariéry pro vstup – uživatelé by měli mít výhody decentralizovaného, cenzuře odolného přístupu k Ethereu bez omezení, ale musí to být stejně bezproblémové, jako používání tradičních Web2 aplikací.
+title: "Zlepšování zkušeností uživatelů"
+description: "Používání Etherea je pro většinu lidí stále moc složité. Aby bylo možné přiblížit se k masovému přijetí, musí Ethereum zásadně snížit své bariéry pro vstup – uživatelé by měli mít výhody decentralizovaného, cenzuře odolného přístupu k Ethereu bez omezení, ale musí to být stejně bezproblémové, jako používání tradičních Web2 aplikací."
lang: cs
image: /images/roadmap/roadmap-ux.png
alt: "Plán Etherea"
diff --git a/public/content/translations/cs/web3/index.md b/public/content/translations/cs/web3/index.md
index 4d45f3ebadf..2fc675894ca 100644
--- a/public/content/translations/cs/web3/index.md
+++ b/public/content/translations/cs/web3/index.md
@@ -69,8 +69,7 @@ Web3 umožňuje přímé vlastnictví prostřednictvím [nezaměnitelných token
-
Další informace o NFT
-
+
Další informace o NFT
Více o NFT
@@ -98,8 +97,7 @@ Lidé definují spoustu Web3 komunit jako DAO. Všechny tyto komunity mají růz
-
Více o DAO
-
+
Více o DAO
Více o DAO
diff --git a/public/content/translations/cs/withdrawals/index.md b/public/content/translations/cs/withdrawals/index.md
index 6e1b3609e61..60fe398bbe0 100644
--- a/public/content/translations/cs/withdrawals/index.md
+++ b/public/content/translations/cs/withdrawals/index.md
@@ -1,10 +1,10 @@
---
-title: Uzamčení výběrů
-description: Stránka shrnující, co jsou výběry push, jak fungují a co musí stakeři udělat, aby získali své odměny
+title: "Uzamčení výběrů"
+description: "Stránka shrnující, co jsou výběry push, jak fungují a co musí stakeři udělat, aby získali své odměny"
lang: cs
template: staking
image: /images/staking/leslie-withdrawal.png
-alt: Nosorožec Leslie se svými vkladovými odměnami
+alt: "Nosorožec Leslie se svými vkladovými odměnami"
sidebarDepth: 2
summaryPoints:
- Upgrade Shanghai/Capella umožnil výběry sázek na Ethereum
@@ -166,7 +166,6 @@ eventName="read more">
Pokud jste součástí [vkladového fondu](/staking/pools/) nebo držíte vkladové tokeny, měli byste se u svého poskytovatele informovat o tom, jak se nakládá s výběry vkladů, protože každá služba funguje jinak.
Obecně by uživatelé měli mít možnost získat zpět své základní vložené ETH nebo změnit poskytovatele vkladů, kterého využívají. Pokud je konkrétní fond příliš velký, lze prostředky opustit, uplatnit a znovu vložit u menšího poskytovatele. Nebo, pokud jste nashromáždili dostatek ETH, můžete [vložit z domova](/staking/solo/).
-
Ne, pokud je váš validátor stále aktivní v síti, k úplnému výběru nedojde automaticky. To vyžaduje ruční spuštění dobrovolného ukončení.
Jakmile validátor dokončí proces ukončení a za předpokladu, že účet má přihlašovací údaje k výběru, bude zbývající zůstatek pak vybrán během příští kontroly validátorem.
-
Provozovatelům validátorů doporučujeme navštívit stránku Výběry z vkladového spouštěcího panelu, kde najdete další podrobnosti o přípravě validátoru na výběry, načasování událostí a další podrobnosti o fungování výběrů.
Chcete-li své nastavení nejprve vyzkoušet na testovací síti, navštivte Holesky Testnet Staking Launchpad a začněte.
-
-
Připojte svou peněženku a zabalte nebo rozbalte ETH na jakémkoli řetězci na [WrapETH.com](https://www.wrapeth.com/)
-
+
Připojte svou peněženku a zabalte nebo rozbalte ETH na jakémkoli řetězci na [WrapETH.com](https://www.wrapeth.com/)
Ether (ETH) je hlavní měna Etherea. Používá se pro různé účely, jako je uzamčení, platby a placení poplatků za palivo potřebné pro výpočetní operace. **WETH je v podstatě vylepšená forma ETH s přidanými funkcemi, které vyžaduje řada aplikací a [ERC-20 tokeny(/glossary/#erc-20)**, což jsou další typy digitálních aktiv na Ethereu. Aby ETH mohlo pracovat s těmito tokeny, musí dodržovat stejná pravidla, která jsou stanovena standardem ERC-20.
diff --git a/src/scripts/i18n/post_import_sanitize.ts b/src/scripts/i18n/post_import_sanitize.ts
deleted file mode 100644
index 75456a69d94..00000000000
--- a/src/scripts/i18n/post_import_sanitize.ts
+++ /dev/null
@@ -1,1437 +0,0 @@
-import * as fs from "fs"
-import * as path from "path"
-
-/**
- * Post-import sanitizer for Crowdin translations.
- *
- * - Synchronize custom Markdown header IDs `{#...}` with English source (ASCII-only)
- * - Normalize block HTML tag line breaks (opening and closing tags on their own lines)
- * - Protect known brand/team names from inadvertent translation
- * - Validate JSON files; report issues
- *
- * Usage:
- * npx ts-node -O '{"module":"commonjs"}' ./src/scripts/i18n/post_import_sanitize.ts
- *
- * Env:
- * TARGET_LANGUAGES (comma-separated, e.g. "es-EM") optional; defaults to scanning all `translations/*` folders
- */
-
-const ROOT = process.cwd()
-const CONTENT_ROOT = path.join(ROOT, "public", "content")
-
-const BLOCK_HTML_TAGS = [
- "section",
- "div",
- "article",
- "aside",
- "header",
- "footer",
-]
-
-/**
- * MDX block components that need opening/closing tags on separate lines.
- * ButtonLink is intentionally excluded - it's an inline component.
- */
-const BLOCK_MDX_COMPONENTS = [
- "Card",
- "ExpandableCard",
- "Alert",
- "AlertEmoji",
- "AlertContent",
- "AlertDescription",
- "CardGrid",
- "InfoGrid",
- "InfoBanner",
- "Tabs",
- "TabItem",
-]
-
-function listFiles(
- dir: string,
- predicate: (file: string) => boolean
-): string[] {
- const out: string[] = []
- const stack: string[] = [dir]
- while (stack.length) {
- const d = stack.pop()!
- const entries = fs.readdirSync(d, { withFileTypes: true })
- for (const e of entries) {
- const full = path.join(d, e.name)
- if (e.isDirectory()) stack.push(full)
- else if (predicate(full)) out.push(full)
- }
- }
- return out
-}
-
-function toAsciiId(id: string): string {
- // keep only ASCII letters, numbers, hyphens and underscores; strip accents
- const normalized = id.normalize("NFD").replace(/[\u0300-\u036f]/g, "")
- return normalized.replace(/[^A-Za-z0-9_-]/g, "-")
-}
-
-// Critical regex checks adapted from legacy markdownChecker
-const BROKEN_LINK_REGEX = /\[[^\]]+\]\([^)\s]+\s[^)]+\)/g
-const INVALID_LINK_REGEX =
- /(? 0) {
- // Brand is in English, check if it's preserved in translation
- const inTranslation = translatedContent.match(brandRegex)
- const englishCount = inEnglish.length
- const translationCount = inTranslation?.length ?? 0
-
- if (translationCount < englishCount) {
- warnings.push(
- `Protected brand "${brand}" appears ${englishCount}x in English but ${translationCount}x in translation - may have been mistranslated`
- )
- }
- }
- }
-
- return warnings
-}
-
-/**
- * Fix duplicated headings where the text is repeated.
- * Pattern: ## Text? Text? {#id} → ## Text? {#id}
- * This happens when translators accidentally duplicate question headings.
- */
-function fixDuplicatedHeadings(content: string): {
- content: string
- fixCount: number
-} {
- let result = content
- let fixCount = 0
-
- // Match headings where text is duplicated: ## Text Text {#id} or ## Text? Text? {#id}
- // Captures: (hashes) (text including punctuation) (same text) (custom id)
- const duplicatedHeadingRe =
- /^(#{1,6})\s+(.+?[?!.]?)\s+\2\s*(\{#[^}]+\})\s*$/gm
-
- result = result.replace(duplicatedHeadingRe, (_, hashes, text, id) => {
- fixCount++
- return `${hashes} ${text} ${id}`
- })
-
- return { content: result, fixCount }
-}
-
-/**
- * Fix broken markdown links where there's a space between ] and (.
- * Pattern: ] (https://... → ](https://...
- * This is a common translation artifact from Crowdin.
- */
-function fixBrokenMarkdownLinks(content: string): {
- content: string
- fixCount: number
-} {
- let fixCount = 0
-
- // Match ] followed by space(s) then ( - this breaks markdown links
- const result = content.replace(/\]\s+\(/g, () => {
- fixCount++
- return "]("
- })
-
- return { content: result, fixCount }
-}
-
-/**
- * Fix collapsed line breaks between consecutive MDX components.
- * Pattern: → \n
- * This happens when translators collapse multiple components onto one line.
- */
-function fixCollapsedComponentLineBreaks(
- translatedContent: string,
- englishContent: string
-): { content: string; fixCount: number } {
- let result = translatedContent
- let fixCount = 0
-
- // Find components that appear consecutively in English (on separate lines)
- // and restore line breaks in translation if they were collapsed
- const consecutiveComponentRe =
- /<\/([A-Z][A-Za-z]*)[^>]*>\s*<([A-Z][A-Za-z]*)/g
-
- // Check English for line break patterns between components
- const englishMatches = [...englishContent.matchAll(consecutiveComponentRe)]
- for (const match of englishMatches) {
- const fullMatch = match[0]
- // If English has a newline between these components
- if (fullMatch.includes("\n")) {
- // Find same pattern in translation (possibly without newline)
- const closingTag = match[1]
- const openingTag = match[2]
- const collapsedRe = new RegExp(
- `${closingTag}>[ \\t]+<${openingTag}`,
- "g"
- )
- const collapsedMatches = result.match(collapsedRe)
- if (collapsedMatches) {
- fixCount += collapsedMatches.length
- result = result.replace(collapsedRe, `${closingTag}>\n<${openingTag}`)
- }
- }
- }
-
- return { content: result, fixCount }
-}
-
-/**
- * Extract all href values from content (both markdown links and JSX/HTML attributes).
- */
-function extractHrefs(content: string): Set {
- const hrefs = new Set()
-
- // Markdown links: [text](href)
- const markdownLinkRe = /\[[^\]]*\]\(([^)]+)\)/g
- let match
- while ((match = markdownLinkRe.exec(content))) {
- hrefs.add(match[1])
- }
-
- // JSX/HTML href attributes: href="..." or href='...'
- const hrefAttrRe = /href=["']([^"']+)["']/g
- while ((match = hrefAttrRe.exec(content))) {
- hrefs.add(match[1])
- }
-
- return hrefs
-}
-
-/**
- * Extract hrefs from a single text block (paragraph/section).
- * Returns array to preserve duplicates within the block.
- */
-function extractHrefsFromBlock(block: string): string[] {
- const hrefs: string[] = []
-
- // Markdown links: [text](href)
- const markdownLinkRe = /\[[^\]]*\]\(([^)]+)\)/g
- let match
- while ((match = markdownLinkRe.exec(block))) {
- hrefs.push(match[1])
- }
-
- // JSX/HTML href attributes: href="..." or href='...'
- const hrefAttrRe = /href=["']([^"']+)["']/g
- while ((match = hrefAttrRe.exec(block))) {
- hrefs.push(match[1])
- }
-
- return hrefs
-}
-
-/**
- * Split markdown content into logical blocks (paragraphs/sections).
- * Blocks are separated by blank lines.
- */
-function splitIntoBlocks(content: string): string[] {
- // Split on one or more blank lines
- return content.split(/\n\s*\n/).filter((block) => block.trim().length > 0)
-}
-
-/**
- * Fix translated hrefs by comparing against English source.
- * Uses paragraph-scoped set comparison for robust matching across languages.
- *
- * Strategy:
- * 1. Split both documents into blocks (paragraphs separated by blank lines)
- * 2. For each block pair, compare internal href sets
- * 3. Within a block: if invalid href count equals missing href count, we can match
- * 4. This handles grammatical reordering within sentences (common in non-English)
- *
- * Only auto-fixes unambiguous cases; warns for complex mismatches.
- */
-function fixTranslatedHrefs(
- translatedContent: string,
- englishContent: string
-): { content: string; fixCount: number; fixes: string[]; warnings: string[] } {
- const englishBlocks = splitIntoBlocks(englishContent)
- const translatedBlocks = splitIntoBlocks(translatedContent)
-
- // Collect all English internal hrefs as the "valid" set
- const allEnglishHrefs = extractHrefs(englishContent)
-
- const allFixes: Array<[string, string]> = [] // [wrong, correct]
- const allWarnings: string[] = []
-
- // Process block by block
- const blockCount = Math.min(englishBlocks.length, translatedBlocks.length)
-
- for (let i = 0; i < blockCount; i++) {
- const engBlock = englishBlocks[i]
- const transBlock = translatedBlocks[i]
-
- const engHrefs = extractHrefsFromBlock(engBlock).filter(isInternalHref)
- const transHrefs = extractHrefsFromBlock(transBlock).filter(isInternalHref)
-
- // Skip blocks with no internal hrefs
- if (engHrefs.length === 0 && transHrefs.length === 0) continue
-
- // Find hrefs in translation that don't exist in English (invalid)
- const transHrefSet = new Set(transHrefs)
-
- const invalidInTrans: string[] = [] // In translation but not in any English href
- const missingFromTrans: string[] = [] // In English block but not in translation
-
- for (const href of transHrefs) {
- if (!allEnglishHrefs.has(href)) {
- invalidInTrans.push(href)
- }
- }
-
- for (const href of engHrefs) {
- if (!transHrefSet.has(href)) {
- missingFromTrans.push(href)
- }
- }
-
- // No issues in this block
- if (invalidInTrans.length === 0 && missingFromTrans.length === 0) continue
-
- // Deduplicate for set comparison
- const uniqueInvalid = [...new Set(invalidInTrans)]
- const uniqueMissing = [...new Set(missingFromTrans)]
-
- // Only auto-fix when there's exactly 1 invalid and 1 missing in block
- // Multiple mismatches within same block could be reordered - don't guess
- if (uniqueInvalid.length === 1 && uniqueMissing.length === 1) {
- allFixes.push([uniqueInvalid[0], uniqueMissing[0]])
- } else if (uniqueInvalid.length > 0 || uniqueMissing.length > 0) {
- // Count mismatch - can't safely fix, warn instead
- for (const href of uniqueInvalid) {
- allWarnings.push(
- `Block ${i + 1}: Invalid href "${href}" - not a valid English path`
- )
- }
- for (const href of uniqueMissing) {
- allWarnings.push(
- `Block ${i + 1}: Missing href "${href}" - present in English but not translation`
- )
- }
- }
- }
-
- // Warn about block count mismatch
- if (englishBlocks.length !== translatedBlocks.length) {
- allWarnings.push(
- `Block count mismatch: English has ${englishBlocks.length}, translation has ${translatedBlocks.length}`
- )
- }
-
- // Apply all fixes
- let result = translatedContent
- const appliedFixes: string[] = []
-
- for (const [wrong, correct] of allFixes) {
- // Replace in markdown links: [text](wrong) → [text](correct)
- const markdownRe = new RegExp(
- `(\\[[^\\]]*\\]\\()${escapeRegex(wrong)}(\\))`,
- "g"
- )
- const beforeMd = result
- result = result.replace(markdownRe, `$1${correct}$2`)
-
- // Replace in href attributes: href="wrong" → href="correct"
- const hrefRe = new RegExp(`(href=["'])${escapeRegex(wrong)}(["'])`, "g")
- const beforeAttr = result
- result = result.replace(hrefRe, `$1${correct}$2`)
-
- if (result !== beforeMd || result !== beforeAttr) {
- appliedFixes.push(`${wrong} → ${correct}`)
- }
- }
-
- return {
- content: result,
- fixCount: appliedFixes.length,
- fixes: appliedFixes,
- warnings: allWarnings,
- }
-}
-
-/**
- * Escape special regex characters in a string.
- */
-function escapeRegex(str: string): string {
- return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
-}
-
-/**
- * Check if href is an internal link (starts with / but not //).
- */
-function isInternalHref(href: string): boolean {
- return href.startsWith("/") && !href.startsWith("//")
-}
-
-function lineAt(file: string, index: number): string {
- const fileSubstring = file.substring(0, index)
- const lines = fileSubstring.split("\n")
- const linePosition = lines.length
- const charPosition = lines[lines.length - 1].length + 1
- const lineNumber = `${linePosition}:${charPosition}`
- return lineNumber
-}
-interface HeaderInfo {
- level: number // Number of # symbols
- text: string // Header text (translated or English)
- id: string // Custom ID from {#id}
- fullMatch: string // Full matched string for replacement
-}
-
-function extractHeaderStructure(md: string): HeaderInfo[] {
- const headers: HeaderInfo[] = []
- const headingRe = /^(#{1,6})\s+(.+?)\s*\{#([^}]+)\}\s*$/gm
- let m: RegExpExecArray | null
- while ((m = headingRe.exec(md))) {
- headers.push({
- level: m[1].length,
- text: m[2].trim(),
- id: m[3].trim(),
- fullMatch: m[0],
- })
- }
- return headers
-}
-
-function syncHeaderIdsWithEnglish(
- translatedMd: string,
- englishMd: string
-): string {
- // Extract header structure from both files
- const englishHeaders = extractHeaderStructure(englishMd)
- const translatedHeaders = extractHeaderStructure(translatedMd)
-
- // Match headers by position and level in the document structure
- // If structure matches, copy English IDs to translated headers
- if (englishHeaders.length !== translatedHeaders.length) {
- console.warn(
- `[WARN] Header count mismatch: English has ${englishHeaders.length}, translated has ${translatedHeaders.length}`
- )
- }
-
- let result = translatedMd
- // Match headers by index - same position = same semantic header
- for (let i = 0; i < translatedHeaders.length; i++) {
- const translatedHeader = translatedHeaders[i]
- const englishHeader = englishHeaders[i]
-
- if (!englishHeader) {
- // More headers in translation than English - skip
- continue
- }
-
- if (translatedHeader.level !== englishHeader.level) {
- console.warn(
- `[WARN] Header level mismatch at position ${i}: English H${englishHeader.level} vs translated H${translatedHeader.level}`
- )
- // Still try to sync the ID even if levels don't match
- }
-
- // Replace the translated header's ID with the English ID (ASCII-normalized)
- const asciiId = toAsciiId(englishHeader.id)
- const updatedHeader = `${"#".repeat(translatedHeader.level)} ${translatedHeader.text} {#${asciiId}}`
-
- // Use a more specific replacement to avoid affecting other occurrences
- result = result.replace(translatedHeader.fullMatch, updatedHeader)
- }
-
- return result
-}
-
-function normalizeBlockHtmlLines(md: string): string {
- for (const tag of BLOCK_HTML_TAGS) {
- const inlineCloseRe = new RegExp(`([^\\n])\\s*${tag}>`, "g")
- md = md.replace(inlineCloseRe, (_, before) => `${before}\n${tag}>`)
- }
- return md
-}
-
-/**
- * Restore blank lines after headers and block components by comparing
- * with English source structure. This preserves readability and formatting.
- */
-function restoreBlankLinesFromEnglish(
- translatedMd: string,
- englishMd: string
-): { content: string; fixCount: number } {
- const translatedLines = translatedMd.split("\n")
- const englishLines = englishMd.split("\n")
-
- let fixCount = 0
- const result: string[] = []
-
- // Patterns that should have blank lines after them
- const headerPattern = /^#{1,6}\s+/
- const blockComponentClosePattern = new RegExp(
- `(${BLOCK_MDX_COMPONENTS.join("|")})>`
- )
-
- for (let i = 0; i < translatedLines.length; i++) {
- const line = translatedLines[i]
- result.push(line)
-
- // Check if this line should be followed by a blank line
- const isHeader = headerPattern.test(line)
- const isBlockClose = blockComponentClosePattern.test(line)
-
- if (isHeader || isBlockClose) {
- const nextLine = translatedLines[i + 1]
- const hasBlankAfter = nextLine === ""
-
- // Find corresponding line in English by matching pattern
- let englishShouldHaveBlank = false
- for (let j = 0; j < englishLines.length; j++) {
- const englishLine = englishLines[j]
- if (isHeader && headerPattern.test(englishLine)) {
- // Headers should match by structure (level)
- const transLevel = (line.match(/^#+/) || [""])[0].length
- const engLevel = (englishLine.match(/^#+/) || [""])[0].length
- if (transLevel === engLevel) {
- englishShouldHaveBlank = englishLines[j + 1] === ""
- break
- }
- } else if (
- isBlockClose &&
- blockComponentClosePattern.test(englishLine)
- ) {
- englishShouldHaveBlank = englishLines[j + 1] === ""
- break
- }
- }
-
- // Add blank line if English has it but translation doesn't
- if (englishShouldHaveBlank && !hasBlankAfter && nextLine !== undefined) {
- result.push("")
- fixCount++
- }
- }
- }
-
- return { content: result.join("\n"), fixCount }
-}
-
-/**
- * Normalize inline component formatting to match English source.
- * If English has the component on one line, collapse translated version too.
- * This prevents MDX from wrapping multi-line content in
tags.
- */
-function normalizeInlineComponentsFromEnglish(
- translatedMd: string,
- englishMd: string
-): {
- content: string
- fixCount: number
-} {
- const inlineComponents = ["ButtonLink"]
-
- let content = translatedMd
- let fixCount = 0
-
- for (const component of inlineComponents) {
- // Extract English instances and check if they're single-line
- // Key by href attribute since that's preserved in translation
- const englishRe = new RegExp(
- `<${component}[^>]*href="([^"]*)"[^>]*>([\\s\\S]*?)${component}>`,
- "g"
- )
- const englishFormats = new Map() // href -> isOneLine
-
- let match
- while ((match = englishRe.exec(englishMd))) {
- const href = match[1]
- const innerContent = match[2]
- const isOneLine = !innerContent.includes("\n")
- englishFormats.set(href, isOneLine)
- }
-
- // For each translated instance, mirror English format
- const translatedRe = new RegExp(
- `(<${component}[^>]*href="([^"]*)"[^>]*>)([\\s\\S]*?)(${component}>)`,
- "g"
- )
- content = content.replace(
- translatedRe,
- (fullMatch, openTag, href, innerContent, closeTag) => {
- const englishIsOneLine = englishFormats.get(href)
- const translatedHasLineBreaks = innerContent.includes("\n")
-
- // If English is single-line but translated has line breaks, collapse it
- if (englishIsOneLine && translatedHasLineBreaks) {
- fixCount++
- return `${openTag}${innerContent.trim()}${closeTag}`
- }
- return fullMatch
- }
- )
- }
-
- return { content, fixCount }
-}
-
-function fixBlockComponentLineBreaks(md: string): {
- content: string
- fixCount: number
-} {
- let content = md
- let fixCount = 0
-
- for (const component of BLOCK_MDX_COMPONENTS) {
- // Fix inline closing tags: content
→ content\n
- const inlineCloseRe = new RegExp(`([^\\n])\\s*${component}>`, "g")
- content = content.replace(inlineCloseRe, (_, before) => {
- fixCount++
- return `${before}\n${component}>`
- })
-
- // Fix inline opening tags: content → \ncontent
- // Match any non-newline character after the tag (including other tags)
- const inlineOpenRe = new RegExp(`(<${component}[^>]*>)([^\\n])`, "g")
- content = content.replace(inlineOpenRe, (_, tag, after) => {
- fixCount++
- return `${tag}\n${after}`
- })
- }
-
- return { content, fixCount }
-}
-
-/**
- * Collapse inline HTML tags to single line when English source has them on one line.
- * Fixes MDX paragraph wrapping issues:
content\n
→
content
- */
-function collapseInlineHtmlFromEnglish(
- translatedMd: string,
- englishMd: string
-): { content: string; fixCount: number } {
- const inlineTags = ["div", "span", "p", "strong", "em"]
- let content = translatedMd
- let fixCount = 0
-
- // Build a set of lines in English where tag opens and closes on same line
- const englishLines = englishMd.split("\n")
-
- for (const tag of inlineTags) {
- // Find English lines that have ... all on one line
- // (content can include nested tags like , , etc.)
- const singleLinePattern = new RegExp(`<${tag}[^>]*>.*${tag}>`)
- const englishSingleLineSet = new Set()
-
- for (const line of englishLines) {
- if (singleLinePattern.test(line)) {
- // Extract just the opening tag to use as a key
- const openTagMatch = line.match(new RegExp(`<${tag}[^>]*>`))
- if (openTagMatch) {
- englishSingleLineSet.add(openTagMatch[0])
- }
- }
- }
-
- // In translated content, find cases where:
- // - Opening tag + content is on one line (content may include nested tags)
- // - Newline follows
- // - Closing tag is on the next line (possibly with leading whitespace)
- // Pattern: content-with-possible-nested-tags\n
- const translatedMultiLineRe = new RegExp(
- `(<${tag}[^>]*>)([^\\n]+)\\n(\\s*${tag}>)`,
- "g"
- )
-
- content = content.replace(
- translatedMultiLineRe,
- (fullMatch, openTag, innerContent, closeTagLine) => {
- // Check if this opening tag should be single-line per English
- if (englishSingleLineSet.has(openTag)) {
- fixCount++
- // Collapse: opening tag + trimmed content + closing tag (no newline)
- return `${openTag}${innerContent.trim()}${closeTagLine.trim()}`
- }
- return fullMatch
- }
- )
- }
-
- return { content, fixCount }
-}
-
-/**
- * Fix JSX component closing tags that are merged with content.
- * English format:
- *
- * Content
- *
- * Spanish (broken):
- *
- * Content
- * This function splits the closing tag to its own line when English has it that way.
- */
-function fixMergedClosingTags(
- translatedMd: string,
- englishMd: string
-): { content: string; fixCount: number } {
- const componentTags = ["ButtonLink", "Link"]
- let content = translatedMd
- let fixCount = 0
-
- for (const tag of componentTags) {
- // Find patterns in English where the closing tag is on its own line
- // Pattern: \n content\n or \n content\n
- const englishMultiLineRe = new RegExp(
- `<${tag}[^>]*>\\n[\\s\\S]*?\\n\\s*${tag}>`,
- "g"
- )
-
- // Check if English uses multi-line format for this component
- if (!englishMultiLineRe.test(englishMd)) continue
-
- // In translated content, find cases where closing tag is merged with content on same line
- // Pattern: \n content (content and closing tag on same line)
- const mergedPattern = new RegExp(
- `(<${tag}[^>]*>\\n)(\\s*)([^\\n]+)(${tag}>)`,
- "g"
- )
-
- content = content.replace(
- mergedPattern,
- (match, openTagLine, indent, innerContent, closeTag) => {
- // Only fix if the inner content doesn't end with just whitespace
- // and the closing tag is directly after content (not on its own line)
- const trimmedContent = innerContent.trimEnd()
- if (trimmedContent.length > 0 && !innerContent.includes("\n")) {
- fixCount++
- // Split: put closing tag on its own line with same indentation
- return `${openTagLine}${indent}${trimmedContent}\n${indent}${closeTag}`
- }
- return match
- }
- )
- }
-
- return { content, fixCount }
-}
-
-/**
- * Repair unclosed backticks by comparing with English source.
- * Detects lines with odd backtick counts containing < and attempts repair.
- */
-function repairUnclosedBackticks(
- translatedMd: string,
- englishMd: string
-): { content: string; fixCount: number } {
- const translatedLines = translatedMd.split("\n")
- const englishLines = englishMd.split("\n")
- let fixCount = 0
-
- for (let i = 0; i < translatedLines.length; i++) {
- const line = translatedLines[i]
- const backtickCount = (line.match(/`/g) || []).length
-
- // Odd number of backticks and contains < means potentially unclosed code with HTML-like content
- if (
- backtickCount % 2 === 1 &&
- line.includes("<") &&
- !line.includes("```")
- ) {
- // Try to find a matching English line with similar structure
- for (const engLine of englishLines) {
- // Look for English lines with balanced backticks containing similar patterns
- const engBackticks = (engLine.match(/`/g) || []).length
- if (
- engBackticks % 2 === 0 &&
- engBackticks > 0 &&
- engLine.includes("<")
- ) {
- // Extract inline code blocks from English
- const codeBlockRe = /`([^`]+)`/g
- let engMatch
- while ((engMatch = codeBlockRe.exec(engLine))) {
- const engCode = engMatch[1]
- // Check if the translated line contains this code pattern without closing backtick
- const unbalancedPattern = new RegExp(
- "`" +
- engCode
- .replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
- .replace(/\s+/g, "\\s*")
- )
- if (
- unbalancedPattern.test(line) &&
- !line.includes("`" + engCode + "`")
- ) {
- // Found a match - add the missing closing backtick
- translatedLines[i] = line.replace(
- new RegExp(
- "`" +
- engCode
- .replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
- .replace(/\s+/g, "\\s*")
- ),
- "`" + engCode + "`"
- )
- fixCount++
- break
- }
- }
- if (fixCount > 0) break
- }
- }
- }
- }
-
- return { content: translatedLines.join("\n"), fixCount }
-}
-
-/**
- * Normalize frontmatter dates from localized format (DD-MM-YYYY) back to ISO (YYYY-MM-DD).
- */
-function normalizeFrontmatterDates(content: string): {
- content: string
- fixCount: number
-} {
- let fixCount = 0
-
- // Match frontmatter block
- const frontmatterRe = /^---\n([\s\S]*?)\n---/
- const match = content.match(frontmatterRe)
- if (!match) return { content, fixCount }
-
- let frontmatter = match[1]
- const originalFrontmatter = frontmatter
-
- // Fix published: dates in DD-MM-YYYY or DD/MM/YYYY format
- frontmatter = frontmatter.replace(
- /^(published:\s*)(\d{1,2})[-/](\d{1,2})[-/](\d{4})$/gm,
- (_, prefix, day, month, year) => {
- fixCount++
- // Pad day and month with leading zeros if needed
- const paddedDay = day.padStart(2, "0")
- const paddedMonth = month.padStart(2, "0")
- return `${prefix}${year}-${paddedMonth}-${paddedDay}`
- }
- )
-
- if (frontmatter !== originalFrontmatter) {
- content = content.replace(frontmatterRe, `---\n${frontmatter}\n---`)
- }
-
- return { content, fixCount }
-}
-
-/**
- * Sync protected frontmatter fields from English source.
- * These fields should never be translated (e.g., template, sidebar).
- */
-function syncProtectedFrontmatterFields(
- translatedMd: string,
- englishMd: string
-): { content: string; fixCount: number } {
- // Fields that should never be translated - sync from English canonical
- // Note: 'buttons' array needs special handling (content translatable, toId/isSecondary not)
- // Note: 'lang' must NOT be protected - it must remain as target language code
- const protectedFields = [
- "template",
- "sidebar",
- "sidebarDepth",
- "published",
- "author",
- "source",
- "sourceUrl",
- "address",
- "emoji",
- "skill",
- "isOutdated",
- "incomplete",
- "hideEditButton",
- "showDropdown",
- "image",
- "blurDataURL",
- ]
- let fixCount = 0
-
- // Extract frontmatter from both
- const frontmatterRe = /^---\n([\s\S]*?)\n---/
- const transMatch = translatedMd.match(frontmatterRe)
- const engMatch = englishMd.match(frontmatterRe)
-
- if (!transMatch || !engMatch) return { content: translatedMd, fixCount }
-
- let transFrontmatter = transMatch[1]
- const engFrontmatter = engMatch[1]
-
- for (const field of protectedFields) {
- // Get English value
- const engFieldRe = new RegExp(`^${field}:\\s*(.+)$`, "m")
- const engFieldMatch = engFrontmatter.match(engFieldRe)
- if (!engFieldMatch) continue
-
- const englishValue = engFieldMatch[1].trim()
-
- // Check if translated value differs
- const transFieldRe = new RegExp(`^${field}:\\s*(.+)$`, "m")
- const transFieldMatch = transFrontmatter.match(transFieldRe)
-
- if (transFieldMatch) {
- const translatedValue = transFieldMatch[1].trim()
- // Remove quotes for comparison
- const cleanTranslated = translatedValue.replace(/^["']|["']$/g, "")
- const cleanEnglish = englishValue.replace(/^["']|["']$/g, "")
-
- if (cleanTranslated !== cleanEnglish) {
- // Replace with English value
- transFrontmatter = transFrontmatter.replace(
- transFieldRe,
- `${field}: ${englishValue}`
- )
- fixCount++
- }
- }
- }
-
- if (fixCount > 0) {
- return {
- content: translatedMd.replace(
- frontmatterRe,
- `---\n${transFrontmatter}\n---`
- ),
- fixCount,
- }
- }
-
- return { content: translatedMd, fixCount }
-}
-
-/**
- * Fix ASCII guillemets (<< and >>) to proper Unicode guillemets (« and »).
- * Prevents MDX parsing errors from malformed angle bracket sequences.
- * IMPORTANT: Skips code blocks where << and >> are valid bit-shift operators.
- */
-function fixAsciiGuillemets(content: string): {
- content: string
- fixCount: number
-} {
- let fixCount = 0
-
- // Split content to preserve code blocks (both fenced and inline)
- // Fenced: ```...``` or ~~~...~~~
- // Inline: `...`
- const codeBlockPattern = /(```[\s\S]*?```|~~~[\s\S]*?~~~|`[^`]+`)/g
- const parts = content.split(codeBlockPattern)
-
- for (let i = 0; i < parts.length; i++) {
- // Skip code blocks (odd indices after split with capturing group)
- if (i % 2 === 1) continue
-
- // Count and replace in non-code parts only
- const leftMatches = parts[i].match(/<>/g)
-
- if (leftMatches) {
- fixCount += leftMatches.length
- parts[i] = parts[i].replace(/<>/g, "»")
- }
- }
-
- return { content: parts.join(""), fixCount }
-}
-
-/**
- * Wrap frontmatter string values containing non-ASCII characters in double quotes.
- * Prevents YAML parsing issues with accented characters.
- */
-function quoteFrontmatterNonAscii(content: string): {
- content: string
- fixCount: number
-} {
- let fixCount = 0
-
- // Match frontmatter block
- const frontmatterRe = /^---\n([\s\S]*?)\n---/
- const match = content.match(frontmatterRe)
- if (!match) return { content, fixCount }
-
- let frontmatter = match[1]
- const originalFrontmatter = frontmatter
-
- // Find lines with unquoted values containing non-ASCII
- const lines = frontmatter.split("\n")
- for (let i = 0; i < lines.length; i++) {
- const line = lines[i]
- // Match key: value pattern
- const keyValueRe = /^(\s*\w+:\s*)(.+)$/
- const kvMatch = line.match(keyValueRe)
- if (kvMatch) {
- const [, prefix, value] = kvMatch
- const trimmedValue = value.trim()
-
- // Skip if already quoted (starts and ends with matching quotes)
- if (
- (trimmedValue.startsWith('"') && trimmedValue.endsWith('"')) ||
- (trimmedValue.startsWith("'") && trimmedValue.endsWith("'"))
- ) {
- continue
- }
-
- // Skip YAML arrays - they handle their own internal quoting
- // Inline arrays: tags: [ "value1", "value2" ]
- if (trimmedValue.startsWith("[") && trimmedValue.endsWith("]")) {
- continue
- }
- // Multi-line array items with - prefix won't match our key:value regex,
- // but check explicitly for robustness (e.g., `key: - value` edge case)
- if (trimmedValue.startsWith("-")) {
- continue
- }
-
- // Check if value contains non-ASCII characters
- // eslint-disable-next-line no-control-regex
- if (/[^\x00-\x7F]/.test(value)) {
- // Escape any existing double quotes in the value
- const escapedValue = trimmedValue.replace(/"/g, '\\"')
- lines[i] = `${prefix}"${escapedValue}"`
- fixCount++
- }
- }
- }
-
- frontmatter = lines.join("\n")
- if (frontmatter !== originalFrontmatter) {
- content = content.replace(frontmatterRe, `---\n${frontmatter}\n---`)
- }
-
- return { content, fixCount }
-}
-
-function processMarkdownFile(
- mdPath: string,
- providedContent?: string
-): {
- fixed: boolean
- issues: string[]
- content: string
-} {
- const issues: string[] = []
- let content = providedContent || fs.readFileSync(mdPath, "utf8")
-
- let englishMd: string | undefined
-
- // Map translated path to English path: remove `/translations//` segment
- const parts = mdPath.split(path.sep)
- const idx = parts.lastIndexOf("translations")
- if (idx === -1 || idx + 2 >= parts.length) {
- issues.push("No translations segment found; skipping formatting sync")
- } else {
- // Use path.resolve to preserve absolute paths (path.join loses leading /)
- const englishPath = path.resolve(
- path.sep,
- ...parts.slice(0, idx),
- ...parts.slice(idx + 2) // drop translations/
- )
- if (fs.existsSync(englishPath)) {
- englishMd = fs.readFileSync(englishPath, "utf8")
- content = syncHeaderIdsWithEnglish(content, englishMd)
- } else {
- issues.push(`English source missing: ${path.relative(ROOT, englishPath)}`)
- }
- }
-
- const before = content
-
- // Fix duplicated headings (e.g., ## Text? Text? {#id} → ## Text? {#id})
- const duplicatedResult = fixDuplicatedHeadings(content)
- content = duplicatedResult.content
- if (duplicatedResult.fixCount > 0) {
- issues.push(`Fixed ${duplicatedResult.fixCount} duplicated headings`)
- }
-
- // Fix broken markdown links (] (https:// → ](https://)
- const brokenLinksResult = fixBrokenMarkdownLinks(content)
- content = brokenLinksResult.content
- if (brokenLinksResult.fixCount > 0) {
- issues.push(`Fixed ${brokenLinksResult.fixCount} broken markdown links`)
- }
-
- // Fix frontmatter issues (don't need English source)
- const dateResult = normalizeFrontmatterDates(content)
- content = dateResult.content
- if (dateResult.fixCount > 0) {
- issues.push(
- `Normalized ${dateResult.fixCount} frontmatter dates to ISO format`
- )
- }
-
- const quoteResult = quoteFrontmatterNonAscii(content)
- content = quoteResult.content
- if (quoteResult.fixCount > 0) {
- issues.push(
- `Quoted ${quoteResult.fixCount} frontmatter values with non-ASCII chars`
- )
- }
-
- const guillemetResult = fixAsciiGuillemets(content)
- content = guillemetResult.content
- if (guillemetResult.fixCount > 0) {
- issues.push(
- `Fixed ${guillemetResult.fixCount} ASCII guillemets (<< >>) to Unicode (« »)`
- )
- }
-
- // Fix escaped backticks (\`) to regular backticks (`)
- // Crowdin sometimes escapes backticks unnecessarily
- const escapedBacktickCount = (content.match(/\\`/g) || []).length
- if (escapedBacktickCount > 0) {
- content = content.replace(/\\`/g, "`")
- issues.push(`Unescaped ${escapedBacktickCount} backslash-escaped backticks`)
- }
-
- // Fix block component line breaks (critical for MDX parser)
- const blockResult = fixBlockComponentLineBreaks(content)
- content = blockResult.content
- if (blockResult.fixCount > 0) {
- issues.push(`Fixed ${blockResult.fixCount} inline block component tags`)
- }
-
- content = normalizeBlockHtmlLines(content)
-
- // Normalize inline components and restore blank lines from English source
- if (englishMd) {
- // Sync protected frontmatter fields (template, sidebar, etc.)
- const protectedResult = syncProtectedFrontmatterFields(content, englishMd)
- content = protectedResult.content
- if (protectedResult.fixCount > 0) {
- issues.push(
- `Synced ${protectedResult.fixCount} protected frontmatter fields from English`
- )
- }
-
- // Collapse inline HTML tags to match English single-line format
- const inlineHtmlResult = collapseInlineHtmlFromEnglish(content, englishMd)
- content = inlineHtmlResult.content
- if (inlineHtmlResult.fixCount > 0) {
- issues.push(
- `Collapsed ${inlineHtmlResult.fixCount} inline HTML tags to match English`
- )
- }
-
- // Fix JSX component closing tags merged with content (split to own line)
- const mergedTagResult = fixMergedClosingTags(content, englishMd)
- content = mergedTagResult.content
- if (mergedTagResult.fixCount > 0) {
- issues.push(
- `Split ${mergedTagResult.fixCount} merged closing tags to own lines`
- )
- }
-
- // Collapse inline component line breaks to match English format
- const inlineResult = normalizeInlineComponentsFromEnglish(
- content,
- englishMd
- )
- content = inlineResult.content
- if (inlineResult.fixCount > 0) {
- issues.push(
- `Normalized ${inlineResult.fixCount} inline components to match English`
- )
- }
-
- // Repair unclosed backticks in inline code
- const backtickResult = repairUnclosedBackticks(content, englishMd)
- content = backtickResult.content
- if (backtickResult.fixCount > 0) {
- issues.push(`Repaired ${backtickResult.fixCount} unclosed backticks`)
- }
-
- const blankLineResult = restoreBlankLinesFromEnglish(content, englishMd)
- content = blankLineResult.content
- if (blankLineResult.fixCount > 0) {
- issues.push(
- `Restored ${blankLineResult.fixCount} blank lines from English`
- )
- }
-
- // Fix collapsed line breaks between consecutive components
- const collapsedResult = fixCollapsedComponentLineBreaks(content, englishMd)
- content = collapsedResult.content
- if (collapsedResult.fixCount > 0) {
- issues.push(
- `Fixed ${collapsedResult.fixCount} collapsed component line breaks`
- )
- }
-
- // Check for mistranslated brand names (report-only)
- const brandWarnings = checkProtectedBrandNames(content, englishMd)
- issues.push(...brandWarnings)
-
- // Fix translated hrefs using set comparison
- const hrefResult = fixTranslatedHrefs(content, englishMd)
- content = hrefResult.content
- if (hrefResult.fixCount > 0) {
- issues.push(
- `Fixed ${hrefResult.fixCount} translated hrefs: ${hrefResult.fixes.join(", ")}`
- )
- }
- issues.push(...hrefResult.warnings)
- }
-
- const fixed = before !== content
- // Only write to disk if no content was provided (legacy mode)
- if (fixed && !providedContent) {
- fs.writeFileSync(mdPath, content, "utf8")
- }
- // Run critical checks (report-only)
- let m: RegExpExecArray | null
- // Broken links containing spaces inside URL
- while ((m = BROKEN_LINK_REGEX.exec(content))) {
- issues.push(`Broken link format at ${mdPath}:${lineAt(content, m.index)}`)
- }
- // Invalid links (exclude images/internal/hash/http/mailto/pdf/<...>)
- while ((m = INVALID_LINK_REGEX.exec(content))) {
- issues.push(`Invalid link at ${mdPath}:${lineAt(content, m.index)}`)
- }
- // Empty link text
- while ((m = LINK_TEXT_MISSING_REGEX.exec(content))) {
- issues.push(`Link text missing at ${mdPath}:${lineAt(content, m.index)}`)
- }
- // Incorrect image path in translated markdown
- if (mdPath.includes(`${path.sep}translations${path.sep}`)) {
- while ((m = INCORRECT_PATH_IN_TRANSLATED_MARKDOWN.exec(content))) {
- issues.push(
- `Incorrect image path at ${mdPath}:${lineAt(content, m.index)}`
- )
- }
- }
- // Spelling mistakes (case-insensitive)
- for (const mistake of COMMON_SPELLING_MISTAKES) {
- const re = new RegExp(mistake, "gi")
- while ((m = re.exec(content))) {
- issues.push(
- `Spelling mistake "${mistake}" at ${mdPath}:${lineAt(content, m.index)}`
- )
- }
- }
- // Case-sensitive mistakes for brands
- for (const mistake of CASE_SENSITIVE_SPELLING_MISTAKES) {
- const re = new RegExp(mistake, "g")
- while ((m = re.exec(content))) {
- issues.push(
- `Brand capitalization issue "${mistake}" at ${mdPath}:${lineAt(content, m.index)}`
- )
- }
- }
- return { fixed, issues, content }
-}
-
-function processJsonFile(
- jsonPath: string,
- providedContent?: string
-): {
- fixed: boolean
- issues: string[]
- content: string
-} {
- const issues: string[] = []
- let content = providedContent || fs.readFileSync(jsonPath, "utf8")
- const before = content
-
- // Normalize BOM and smart quotes
- content = content
- .replace(/^\uFEFF/, "")
- .replace(/[""]/g, '"')
- .replace(/['']/g, "'")
-
- // Try parsing to validate JSON
- try {
- JSON.parse(content)
- } catch (e) {
- const error = e as Error
- issues.push(`JSON parse error: ${error.message}`)
- }
-
- const fixed = before !== content
- // Only write to disk if no content was provided (legacy mode)
- if (fixed && !providedContent) {
- fs.writeFileSync(jsonPath, content, "utf8")
- }
-
- return { fixed, issues, content }
-}
-
-function languagesFromEnv(): string[] | undefined {
- const env = process.env.TARGET_LANGUAGES?.trim()
- if (!env) return undefined
- return env
- .split(",")
- .map((s) => s.trim())
- .filter(Boolean)
-}
-
-export function runSanitizer(
- filesWithContent?: Array<{ path: string; content: string }>,
- langs?: string[]
-) {
- console.log("[SANITIZE] Starting post-import sanitizer")
-
- let mdFilesToProcess: Array<{ path: string; content: string }> = []
- let jsonFilesToProcess: Array<{ path: string; content: string }> = []
-
- if (filesWithContent && filesWithContent.length > 0) {
- // Process only the specific files provided with their in-memory content
- console.log(
- `[SANITIZE] Target: ${filesWithContent.length} specific file(s)`
- )
- mdFilesToProcess = filesWithContent.filter((f) => f.path.endsWith(".md"))
- jsonFilesToProcess = filesWithContent.filter((f) =>
- f.path.endsWith(".json")
- )
- } else {
- // Fallback to language-based scanning (reads from disk)
- const effectiveLangs = langs || languagesFromEnv()
- console.log(
- "[SANITIZE] Target languages:",
- effectiveLangs ?? "ALL detected in translations/"
- )
- const mdFilePaths = listFiles(CONTENT_ROOT, (f) => {
- if (!f.endsWith(".md")) return false
- if (!f.includes(`${path.sep}translations${path.sep}`)) return false
- if (effectiveLangs)
- return effectiveLangs.some((l) =>
- f.includes(`${path.sep}translations${path.sep}${l}${path.sep}`)
- )
- return true
- })
- const jsonFilePaths = listFiles(CONTENT_ROOT, (f) => {
- if (!f.endsWith(".json")) return false
- if (!f.includes(`${path.sep}translations${path.sep}`)) return false
- if (effectiveLangs)
- return effectiveLangs.some((l) =>
- f.includes(`${path.sep}translations${path.sep}${l}${path.sep}`)
- )
- return true
- })
- // Convert file paths to objects without content (will be read from disk)
- mdFilesToProcess = mdFilePaths.map((p) => ({ path: p, content: "" }))
- jsonFilesToProcess = jsonFilePaths.map((p) => ({ path: p, content: "" }))
- }
-
- let mdFixed = 0
- const mdIssues: Array<{ file: string; issues: string[] }> = []
- const mdChanged: Array<{ path: string; content: string }> = []
-
- for (const fileInfo of mdFilesToProcess) {
- const { fixed, issues, content } = processMarkdownFile(
- fileInfo.path,
- fileInfo.content
- )
- if (fixed) {
- mdFixed++
- mdChanged.push({ path: fileInfo.path, content })
- }
- if (issues.length)
- mdIssues.push({ file: path.relative(ROOT, fileInfo.path), issues })
- }
-
- let jsonFixed = 0
- const jsonIssues: Array<{ file: string; issues: string[] }> = []
- const jsonChanged: Array<{ path: string; content: string }> = []
-
- for (const fileInfo of jsonFilesToProcess) {
- const { fixed, issues, content } = processJsonFile(
- fileInfo.path,
- fileInfo.content
- )
- if (fixed) {
- jsonFixed++
- jsonChanged.push({ path: fileInfo.path, content })
- }
- if (issues.length)
- jsonIssues.push({ file: path.relative(ROOT, fileInfo.path), issues })
- }
-
- console.log(
- `\n[SANITIZE] Markdown files scanned: ${mdFilesToProcess.length}, fixed: ${mdFixed}`
- )
- console.log(
- `[SANITIZE] JSON files scanned: ${jsonFilesToProcess.length}, fixed: ${jsonFixed}`
- )
-
- if (mdIssues.length || jsonIssues.length) {
- console.log("\n[SANITIZE] Issues detected:")
- for (const i of mdIssues) {
- console.log(` - MD ${i.file}`)
- for (const msg of i.issues) console.log(` • ${msg}`)
- }
- for (const i of jsonIssues) {
- console.log(` - JSON ${i.file}`)
- for (const msg of i.issues) console.log(` • ${msg}`)
- }
- } else {
- console.log("\n[SANITIZE] No issues detected.")
- }
-
- const changedFiles = [...mdChanged, ...jsonChanged].map((f) => ({
- path: f.path,
- content: f.content,
- }))
- return {
- changedFiles,
- markdown: { scanned: mdFilesToProcess.length, fixed: mdFixed },
- json: { scanned: jsonFilesToProcess.length, fixed: jsonFixed },
- issues: { markdown: mdIssues, json: jsonIssues },
- }
-}
-
-if (require.main === module) {
- runSanitizer()
-}
From 38de7d0061f84fab9affae387f84159cc64591a8 Mon Sep 17 00:00:00 2001
From: Joshua <62268199+minimalsm@users.noreply.github.com>
Date: Fri, 13 Feb 2026 17:22:38 +0000
Subject: [PATCH 5/7] fix(i18n): add missing post_import_sanitize module
---
src/scripts/i18n/post_import_sanitize.ts | 1437 ++++++++++++++++++++++
1 file changed, 1437 insertions(+)
create mode 100644 src/scripts/i18n/post_import_sanitize.ts
diff --git a/src/scripts/i18n/post_import_sanitize.ts b/src/scripts/i18n/post_import_sanitize.ts
new file mode 100644
index 00000000000..75456a69d94
--- /dev/null
+++ b/src/scripts/i18n/post_import_sanitize.ts
@@ -0,0 +1,1437 @@
+import * as fs from "fs"
+import * as path from "path"
+
+/**
+ * Post-import sanitizer for Crowdin translations.
+ *
+ * - Synchronize custom Markdown header IDs `{#...}` with English source (ASCII-only)
+ * - Normalize block HTML tag line breaks (opening and closing tags on their own lines)
+ * - Protect known brand/team names from inadvertent translation
+ * - Validate JSON files; report issues
+ *
+ * Usage:
+ * npx ts-node -O '{"module":"commonjs"}' ./src/scripts/i18n/post_import_sanitize.ts
+ *
+ * Env:
+ * TARGET_LANGUAGES (comma-separated, e.g. "es-EM") optional; defaults to scanning all `translations/*` folders
+ */
+
+const ROOT = process.cwd()
+const CONTENT_ROOT = path.join(ROOT, "public", "content")
+
+const BLOCK_HTML_TAGS = [
+ "section",
+ "div",
+ "article",
+ "aside",
+ "header",
+ "footer",
+]
+
+/**
+ * MDX block components that need opening/closing tags on separate lines.
+ * ButtonLink is intentionally excluded - it's an inline component.
+ */
+const BLOCK_MDX_COMPONENTS = [
+ "Card",
+ "ExpandableCard",
+ "Alert",
+ "AlertEmoji",
+ "AlertContent",
+ "AlertDescription",
+ "CardGrid",
+ "InfoGrid",
+ "InfoBanner",
+ "Tabs",
+ "TabItem",
+]
+
+function listFiles(
+ dir: string,
+ predicate: (file: string) => boolean
+): string[] {
+ const out: string[] = []
+ const stack: string[] = [dir]
+ while (stack.length) {
+ const d = stack.pop()!
+ const entries = fs.readdirSync(d, { withFileTypes: true })
+ for (const e of entries) {
+ const full = path.join(d, e.name)
+ if (e.isDirectory()) stack.push(full)
+ else if (predicate(full)) out.push(full)
+ }
+ }
+ return out
+}
+
+function toAsciiId(id: string): string {
+ // keep only ASCII letters, numbers, hyphens and underscores; strip accents
+ const normalized = id.normalize("NFD").replace(/[\u0300-\u036f]/g, "")
+ return normalized.replace(/[^A-Za-z0-9_-]/g, "-")
+}
+
+// Critical regex checks adapted from legacy markdownChecker
+const BROKEN_LINK_REGEX = /\[[^\]]+\]\([^)\s]+\s[^)]+\)/g
+const INVALID_LINK_REGEX =
+ /(? 0) {
+ // Brand is in English, check if it's preserved in translation
+ const inTranslation = translatedContent.match(brandRegex)
+ const englishCount = inEnglish.length
+ const translationCount = inTranslation?.length ?? 0
+
+ if (translationCount < englishCount) {
+ warnings.push(
+ `Protected brand "${brand}" appears ${englishCount}x in English but ${translationCount}x in translation - may have been mistranslated`
+ )
+ }
+ }
+ }
+
+ return warnings
+}
+
+/**
+ * Fix duplicated headings where the text is repeated.
+ * Pattern: ## Text? Text? {#id} → ## Text? {#id}
+ * This happens when translators accidentally duplicate question headings.
+ */
+function fixDuplicatedHeadings(content: string): {
+ content: string
+ fixCount: number
+} {
+ let result = content
+ let fixCount = 0
+
+ // Match headings where text is duplicated: ## Text Text {#id} or ## Text? Text? {#id}
+ // Captures: (hashes) (text including punctuation) (same text) (custom id)
+ const duplicatedHeadingRe =
+ /^(#{1,6})\s+(.+?[?!.]?)\s+\2\s*(\{#[^}]+\})\s*$/gm
+
+ result = result.replace(duplicatedHeadingRe, (_, hashes, text, id) => {
+ fixCount++
+ return `${hashes} ${text} ${id}`
+ })
+
+ return { content: result, fixCount }
+}
+
+/**
+ * Fix broken markdown links where there's a space between ] and (.
+ * Pattern: ] (https://... → ](https://...
+ * This is a common translation artifact from Crowdin.
+ */
+function fixBrokenMarkdownLinks(content: string): {
+ content: string
+ fixCount: number
+} {
+ let fixCount = 0
+
+ // Match ] followed by space(s) then ( - this breaks markdown links
+ const result = content.replace(/\]\s+\(/g, () => {
+ fixCount++
+ return "]("
+ })
+
+ return { content: result, fixCount }
+}
+
+/**
+ * Fix collapsed line breaks between consecutive MDX components.
+ * Pattern: → \n
+ * This happens when translators collapse multiple components onto one line.
+ */
+function fixCollapsedComponentLineBreaks(
+ translatedContent: string,
+ englishContent: string
+): { content: string; fixCount: number } {
+ let result = translatedContent
+ let fixCount = 0
+
+ // Find components that appear consecutively in English (on separate lines)
+ // and restore line breaks in translation if they were collapsed
+ const consecutiveComponentRe =
+ /<\/([A-Z][A-Za-z]*)[^>]*>\s*<([A-Z][A-Za-z]*)/g
+
+ // Check English for line break patterns between components
+ const englishMatches = [...englishContent.matchAll(consecutiveComponentRe)]
+ for (const match of englishMatches) {
+ const fullMatch = match[0]
+ // If English has a newline between these components
+ if (fullMatch.includes("\n")) {
+ // Find same pattern in translation (possibly without newline)
+ const closingTag = match[1]
+ const openingTag = match[2]
+ const collapsedRe = new RegExp(
+ `${closingTag}>[ \\t]+<${openingTag}`,
+ "g"
+ )
+ const collapsedMatches = result.match(collapsedRe)
+ if (collapsedMatches) {
+ fixCount += collapsedMatches.length
+ result = result.replace(collapsedRe, `${closingTag}>\n<${openingTag}`)
+ }
+ }
+ }
+
+ return { content: result, fixCount }
+}
+
+/**
+ * Extract all href values from content (both markdown links and JSX/HTML attributes).
+ */
+function extractHrefs(content: string): Set {
+ const hrefs = new Set()
+
+ // Markdown links: [text](href)
+ const markdownLinkRe = /\[[^\]]*\]\(([^)]+)\)/g
+ let match
+ while ((match = markdownLinkRe.exec(content))) {
+ hrefs.add(match[1])
+ }
+
+ // JSX/HTML href attributes: href="..." or href='...'
+ const hrefAttrRe = /href=["']([^"']+)["']/g
+ while ((match = hrefAttrRe.exec(content))) {
+ hrefs.add(match[1])
+ }
+
+ return hrefs
+}
+
+/**
+ * Extract hrefs from a single text block (paragraph/section).
+ * Returns array to preserve duplicates within the block.
+ */
+function extractHrefsFromBlock(block: string): string[] {
+ const hrefs: string[] = []
+
+ // Markdown links: [text](href)
+ const markdownLinkRe = /\[[^\]]*\]\(([^)]+)\)/g
+ let match
+ while ((match = markdownLinkRe.exec(block))) {
+ hrefs.push(match[1])
+ }
+
+ // JSX/HTML href attributes: href="..." or href='...'
+ const hrefAttrRe = /href=["']([^"']+)["']/g
+ while ((match = hrefAttrRe.exec(block))) {
+ hrefs.push(match[1])
+ }
+
+ return hrefs
+}
+
+/**
+ * Split markdown content into logical blocks (paragraphs/sections).
+ * Blocks are separated by blank lines.
+ */
+function splitIntoBlocks(content: string): string[] {
+ // Split on one or more blank lines
+ return content.split(/\n\s*\n/).filter((block) => block.trim().length > 0)
+}
+
+/**
+ * Fix translated hrefs by comparing against English source.
+ * Uses paragraph-scoped set comparison for robust matching across languages.
+ *
+ * Strategy:
+ * 1. Split both documents into blocks (paragraphs separated by blank lines)
+ * 2. For each block pair, compare internal href sets
+ * 3. Within a block: if invalid href count equals missing href count, we can match
+ * 4. This handles grammatical reordering within sentences (common in non-English)
+ *
+ * Only auto-fixes unambiguous cases; warns for complex mismatches.
+ */
+function fixTranslatedHrefs(
+ translatedContent: string,
+ englishContent: string
+): { content: string; fixCount: number; fixes: string[]; warnings: string[] } {
+ const englishBlocks = splitIntoBlocks(englishContent)
+ const translatedBlocks = splitIntoBlocks(translatedContent)
+
+ // Collect all English internal hrefs as the "valid" set
+ const allEnglishHrefs = extractHrefs(englishContent)
+
+ const allFixes: Array<[string, string]> = [] // [wrong, correct]
+ const allWarnings: string[] = []
+
+ // Process block by block
+ const blockCount = Math.min(englishBlocks.length, translatedBlocks.length)
+
+ for (let i = 0; i < blockCount; i++) {
+ const engBlock = englishBlocks[i]
+ const transBlock = translatedBlocks[i]
+
+ const engHrefs = extractHrefsFromBlock(engBlock).filter(isInternalHref)
+ const transHrefs = extractHrefsFromBlock(transBlock).filter(isInternalHref)
+
+ // Skip blocks with no internal hrefs
+ if (engHrefs.length === 0 && transHrefs.length === 0) continue
+
+ // Find hrefs in translation that don't exist in English (invalid)
+ const transHrefSet = new Set(transHrefs)
+
+ const invalidInTrans: string[] = [] // In translation but not in any English href
+ const missingFromTrans: string[] = [] // In English block but not in translation
+
+ for (const href of transHrefs) {
+ if (!allEnglishHrefs.has(href)) {
+ invalidInTrans.push(href)
+ }
+ }
+
+ for (const href of engHrefs) {
+ if (!transHrefSet.has(href)) {
+ missingFromTrans.push(href)
+ }
+ }
+
+ // No issues in this block
+ if (invalidInTrans.length === 0 && missingFromTrans.length === 0) continue
+
+ // Deduplicate for set comparison
+ const uniqueInvalid = [...new Set(invalidInTrans)]
+ const uniqueMissing = [...new Set(missingFromTrans)]
+
+ // Only auto-fix when there's exactly 1 invalid and 1 missing in block
+ // Multiple mismatches within same block could be reordered - don't guess
+ if (uniqueInvalid.length === 1 && uniqueMissing.length === 1) {
+ allFixes.push([uniqueInvalid[0], uniqueMissing[0]])
+ } else if (uniqueInvalid.length > 0 || uniqueMissing.length > 0) {
+ // Count mismatch - can't safely fix, warn instead
+ for (const href of uniqueInvalid) {
+ allWarnings.push(
+ `Block ${i + 1}: Invalid href "${href}" - not a valid English path`
+ )
+ }
+ for (const href of uniqueMissing) {
+ allWarnings.push(
+ `Block ${i + 1}: Missing href "${href}" - present in English but not translation`
+ )
+ }
+ }
+ }
+
+ // Warn about block count mismatch
+ if (englishBlocks.length !== translatedBlocks.length) {
+ allWarnings.push(
+ `Block count mismatch: English has ${englishBlocks.length}, translation has ${translatedBlocks.length}`
+ )
+ }
+
+ // Apply all fixes
+ let result = translatedContent
+ const appliedFixes: string[] = []
+
+ for (const [wrong, correct] of allFixes) {
+ // Replace in markdown links: [text](wrong) → [text](correct)
+ const markdownRe = new RegExp(
+ `(\\[[^\\]]*\\]\\()${escapeRegex(wrong)}(\\))`,
+ "g"
+ )
+ const beforeMd = result
+ result = result.replace(markdownRe, `$1${correct}$2`)
+
+ // Replace in href attributes: href="wrong" → href="correct"
+ const hrefRe = new RegExp(`(href=["'])${escapeRegex(wrong)}(["'])`, "g")
+ const beforeAttr = result
+ result = result.replace(hrefRe, `$1${correct}$2`)
+
+ if (result !== beforeMd || result !== beforeAttr) {
+ appliedFixes.push(`${wrong} → ${correct}`)
+ }
+ }
+
+ return {
+ content: result,
+ fixCount: appliedFixes.length,
+ fixes: appliedFixes,
+ warnings: allWarnings,
+ }
+}
+
+/**
+ * Escape special regex characters in a string.
+ */
+function escapeRegex(str: string): string {
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
+}
+
+/**
+ * Check if href is an internal link (starts with / but not //).
+ */
+function isInternalHref(href: string): boolean {
+ return href.startsWith("/") && !href.startsWith("//")
+}
+
+function lineAt(file: string, index: number): string {
+ const fileSubstring = file.substring(0, index)
+ const lines = fileSubstring.split("\n")
+ const linePosition = lines.length
+ const charPosition = lines[lines.length - 1].length + 1
+ const lineNumber = `${linePosition}:${charPosition}`
+ return lineNumber
+}
+interface HeaderInfo {
+ level: number // Number of # symbols
+ text: string // Header text (translated or English)
+ id: string // Custom ID from {#id}
+ fullMatch: string // Full matched string for replacement
+}
+
+function extractHeaderStructure(md: string): HeaderInfo[] {
+ const headers: HeaderInfo[] = []
+ const headingRe = /^(#{1,6})\s+(.+?)\s*\{#([^}]+)\}\s*$/gm
+ let m: RegExpExecArray | null
+ while ((m = headingRe.exec(md))) {
+ headers.push({
+ level: m[1].length,
+ text: m[2].trim(),
+ id: m[3].trim(),
+ fullMatch: m[0],
+ })
+ }
+ return headers
+}
+
+function syncHeaderIdsWithEnglish(
+ translatedMd: string,
+ englishMd: string
+): string {
+ // Extract header structure from both files
+ const englishHeaders = extractHeaderStructure(englishMd)
+ const translatedHeaders = extractHeaderStructure(translatedMd)
+
+ // Match headers by position and level in the document structure
+ // If structure matches, copy English IDs to translated headers
+ if (englishHeaders.length !== translatedHeaders.length) {
+ console.warn(
+ `[WARN] Header count mismatch: English has ${englishHeaders.length}, translated has ${translatedHeaders.length}`
+ )
+ }
+
+ let result = translatedMd
+ // Match headers by index - same position = same semantic header
+ for (let i = 0; i < translatedHeaders.length; i++) {
+ const translatedHeader = translatedHeaders[i]
+ const englishHeader = englishHeaders[i]
+
+ if (!englishHeader) {
+ // More headers in translation than English - skip
+ continue
+ }
+
+ if (translatedHeader.level !== englishHeader.level) {
+ console.warn(
+ `[WARN] Header level mismatch at position ${i}: English H${englishHeader.level} vs translated H${translatedHeader.level}`
+ )
+ // Still try to sync the ID even if levels don't match
+ }
+
+ // Replace the translated header's ID with the English ID (ASCII-normalized)
+ const asciiId = toAsciiId(englishHeader.id)
+ const updatedHeader = `${"#".repeat(translatedHeader.level)} ${translatedHeader.text} {#${asciiId}}`
+
+ // Use a more specific replacement to avoid affecting other occurrences
+ result = result.replace(translatedHeader.fullMatch, updatedHeader)
+ }
+
+ return result
+}
+
+function normalizeBlockHtmlLines(md: string): string {
+ for (const tag of BLOCK_HTML_TAGS) {
+ const inlineCloseRe = new RegExp(`([^\\n])\\s*${tag}>`, "g")
+ md = md.replace(inlineCloseRe, (_, before) => `${before}\n${tag}>`)
+ }
+ return md
+}
+
+/**
+ * Restore blank lines after headers and block components by comparing
+ * with English source structure. This preserves readability and formatting.
+ */
+function restoreBlankLinesFromEnglish(
+ translatedMd: string,
+ englishMd: string
+): { content: string; fixCount: number } {
+ const translatedLines = translatedMd.split("\n")
+ const englishLines = englishMd.split("\n")
+
+ let fixCount = 0
+ const result: string[] = []
+
+ // Patterns that should have blank lines after them
+ const headerPattern = /^#{1,6}\s+/
+ const blockComponentClosePattern = new RegExp(
+ `(${BLOCK_MDX_COMPONENTS.join("|")})>`
+ )
+
+ for (let i = 0; i < translatedLines.length; i++) {
+ const line = translatedLines[i]
+ result.push(line)
+
+ // Check if this line should be followed by a blank line
+ const isHeader = headerPattern.test(line)
+ const isBlockClose = blockComponentClosePattern.test(line)
+
+ if (isHeader || isBlockClose) {
+ const nextLine = translatedLines[i + 1]
+ const hasBlankAfter = nextLine === ""
+
+ // Find corresponding line in English by matching pattern
+ let englishShouldHaveBlank = false
+ for (let j = 0; j < englishLines.length; j++) {
+ const englishLine = englishLines[j]
+ if (isHeader && headerPattern.test(englishLine)) {
+ // Headers should match by structure (level)
+ const transLevel = (line.match(/^#+/) || [""])[0].length
+ const engLevel = (englishLine.match(/^#+/) || [""])[0].length
+ if (transLevel === engLevel) {
+ englishShouldHaveBlank = englishLines[j + 1] === ""
+ break
+ }
+ } else if (
+ isBlockClose &&
+ blockComponentClosePattern.test(englishLine)
+ ) {
+ englishShouldHaveBlank = englishLines[j + 1] === ""
+ break
+ }
+ }
+
+ // Add blank line if English has it but translation doesn't
+ if (englishShouldHaveBlank && !hasBlankAfter && nextLine !== undefined) {
+ result.push("")
+ fixCount++
+ }
+ }
+ }
+
+ return { content: result.join("\n"), fixCount }
+}
+
+/**
+ * Normalize inline component formatting to match English source.
+ * If English has the component on one line, collapse translated version too.
+ * This prevents MDX from wrapping multi-line content in
tags.
+ */
+function normalizeInlineComponentsFromEnglish(
+ translatedMd: string,
+ englishMd: string
+): {
+ content: string
+ fixCount: number
+} {
+ const inlineComponents = ["ButtonLink"]
+
+ let content = translatedMd
+ let fixCount = 0
+
+ for (const component of inlineComponents) {
+ // Extract English instances and check if they're single-line
+ // Key by href attribute since that's preserved in translation
+ const englishRe = new RegExp(
+ `<${component}[^>]*href="([^"]*)"[^>]*>([\\s\\S]*?)${component}>`,
+ "g"
+ )
+ const englishFormats = new Map() // href -> isOneLine
+
+ let match
+ while ((match = englishRe.exec(englishMd))) {
+ const href = match[1]
+ const innerContent = match[2]
+ const isOneLine = !innerContent.includes("\n")
+ englishFormats.set(href, isOneLine)
+ }
+
+ // For each translated instance, mirror English format
+ const translatedRe = new RegExp(
+ `(<${component}[^>]*href="([^"]*)"[^>]*>)([\\s\\S]*?)(${component}>)`,
+ "g"
+ )
+ content = content.replace(
+ translatedRe,
+ (fullMatch, openTag, href, innerContent, closeTag) => {
+ const englishIsOneLine = englishFormats.get(href)
+ const translatedHasLineBreaks = innerContent.includes("\n")
+
+ // If English is single-line but translated has line breaks, collapse it
+ if (englishIsOneLine && translatedHasLineBreaks) {
+ fixCount++
+ return `${openTag}${innerContent.trim()}${closeTag}`
+ }
+ return fullMatch
+ }
+ )
+ }
+
+ return { content, fixCount }
+}
+
+function fixBlockComponentLineBreaks(md: string): {
+ content: string
+ fixCount: number
+} {
+ let content = md
+ let fixCount = 0
+
+ for (const component of BLOCK_MDX_COMPONENTS) {
+ // Fix inline closing tags: content
→ content\n
+ const inlineCloseRe = new RegExp(`([^\\n])\\s*${component}>`, "g")
+ content = content.replace(inlineCloseRe, (_, before) => {
+ fixCount++
+ return `${before}\n${component}>`
+ })
+
+ // Fix inline opening tags: content → \ncontent
+ // Match any non-newline character after the tag (including other tags)
+ const inlineOpenRe = new RegExp(`(<${component}[^>]*>)([^\\n])`, "g")
+ content = content.replace(inlineOpenRe, (_, tag, after) => {
+ fixCount++
+ return `${tag}\n${after}`
+ })
+ }
+
+ return { content, fixCount }
+}
+
+/**
+ * Collapse inline HTML tags to single line when English source has them on one line.
+ * Fixes MDX paragraph wrapping issues:
content\n
→
content
+ */
+function collapseInlineHtmlFromEnglish(
+ translatedMd: string,
+ englishMd: string
+): { content: string; fixCount: number } {
+ const inlineTags = ["div", "span", "p", "strong", "em"]
+ let content = translatedMd
+ let fixCount = 0
+
+ // Build a set of lines in English where tag opens and closes on same line
+ const englishLines = englishMd.split("\n")
+
+ for (const tag of inlineTags) {
+ // Find English lines that have ... all on one line
+ // (content can include nested tags like , , etc.)
+ const singleLinePattern = new RegExp(`<${tag}[^>]*>.*${tag}>`)
+ const englishSingleLineSet = new Set()
+
+ for (const line of englishLines) {
+ if (singleLinePattern.test(line)) {
+ // Extract just the opening tag to use as a key
+ const openTagMatch = line.match(new RegExp(`<${tag}[^>]*>`))
+ if (openTagMatch) {
+ englishSingleLineSet.add(openTagMatch[0])
+ }
+ }
+ }
+
+ // In translated content, find cases where:
+ // - Opening tag + content is on one line (content may include nested tags)
+ // - Newline follows
+ // - Closing tag is on the next line (possibly with leading whitespace)
+ // Pattern: content-with-possible-nested-tags\n
+ const translatedMultiLineRe = new RegExp(
+ `(<${tag}[^>]*>)([^\\n]+)\\n(\\s*${tag}>)`,
+ "g"
+ )
+
+ content = content.replace(
+ translatedMultiLineRe,
+ (fullMatch, openTag, innerContent, closeTagLine) => {
+ // Check if this opening tag should be single-line per English
+ if (englishSingleLineSet.has(openTag)) {
+ fixCount++
+ // Collapse: opening tag + trimmed content + closing tag (no newline)
+ return `${openTag}${innerContent.trim()}${closeTagLine.trim()}`
+ }
+ return fullMatch
+ }
+ )
+ }
+
+ return { content, fixCount }
+}
+
+/**
+ * Fix JSX component closing tags that are merged with content.
+ * English format:
+ *
+ * Content
+ *
+ * Spanish (broken):
+ *
+ * Content
+ * This function splits the closing tag to its own line when English has it that way.
+ */
+function fixMergedClosingTags(
+ translatedMd: string,
+ englishMd: string
+): { content: string; fixCount: number } {
+ const componentTags = ["ButtonLink", "Link"]
+ let content = translatedMd
+ let fixCount = 0
+
+ for (const tag of componentTags) {
+ // Find patterns in English where the closing tag is on its own line
+ // Pattern: \n content\n or \n content\n
+ const englishMultiLineRe = new RegExp(
+ `<${tag}[^>]*>\\n[\\s\\S]*?\\n\\s*${tag}>`,
+ "g"
+ )
+
+ // Check if English uses multi-line format for this component
+ if (!englishMultiLineRe.test(englishMd)) continue
+
+ // In translated content, find cases where closing tag is merged with content on same line
+ // Pattern: \n content (content and closing tag on same line)
+ const mergedPattern = new RegExp(
+ `(<${tag}[^>]*>\\n)(\\s*)([^\\n]+)(${tag}>)`,
+ "g"
+ )
+
+ content = content.replace(
+ mergedPattern,
+ (match, openTagLine, indent, innerContent, closeTag) => {
+ // Only fix if the inner content doesn't end with just whitespace
+ // and the closing tag is directly after content (not on its own line)
+ const trimmedContent = innerContent.trimEnd()
+ if (trimmedContent.length > 0 && !innerContent.includes("\n")) {
+ fixCount++
+ // Split: put closing tag on its own line with same indentation
+ return `${openTagLine}${indent}${trimmedContent}\n${indent}${closeTag}`
+ }
+ return match
+ }
+ )
+ }
+
+ return { content, fixCount }
+}
+
+/**
+ * Repair unclosed backticks by comparing with English source.
+ * Detects lines with odd backtick counts containing < and attempts repair.
+ */
+function repairUnclosedBackticks(
+ translatedMd: string,
+ englishMd: string
+): { content: string; fixCount: number } {
+ const translatedLines = translatedMd.split("\n")
+ const englishLines = englishMd.split("\n")
+ let fixCount = 0
+
+ for (let i = 0; i < translatedLines.length; i++) {
+ const line = translatedLines[i]
+ const backtickCount = (line.match(/`/g) || []).length
+
+ // Odd number of backticks and contains < means potentially unclosed code with HTML-like content
+ if (
+ backtickCount % 2 === 1 &&
+ line.includes("<") &&
+ !line.includes("```")
+ ) {
+ // Try to find a matching English line with similar structure
+ for (const engLine of englishLines) {
+ // Look for English lines with balanced backticks containing similar patterns
+ const engBackticks = (engLine.match(/`/g) || []).length
+ if (
+ engBackticks % 2 === 0 &&
+ engBackticks > 0 &&
+ engLine.includes("<")
+ ) {
+ // Extract inline code blocks from English
+ const codeBlockRe = /`([^`]+)`/g
+ let engMatch
+ while ((engMatch = codeBlockRe.exec(engLine))) {
+ const engCode = engMatch[1]
+ // Check if the translated line contains this code pattern without closing backtick
+ const unbalancedPattern = new RegExp(
+ "`" +
+ engCode
+ .replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
+ .replace(/\s+/g, "\\s*")
+ )
+ if (
+ unbalancedPattern.test(line) &&
+ !line.includes("`" + engCode + "`")
+ ) {
+ // Found a match - add the missing closing backtick
+ translatedLines[i] = line.replace(
+ new RegExp(
+ "`" +
+ engCode
+ .replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
+ .replace(/\s+/g, "\\s*")
+ ),
+ "`" + engCode + "`"
+ )
+ fixCount++
+ break
+ }
+ }
+ if (fixCount > 0) break
+ }
+ }
+ }
+ }
+
+ return { content: translatedLines.join("\n"), fixCount }
+}
+
+/**
+ * Normalize frontmatter dates from localized format (DD-MM-YYYY) back to ISO (YYYY-MM-DD).
+ */
+function normalizeFrontmatterDates(content: string): {
+ content: string
+ fixCount: number
+} {
+ let fixCount = 0
+
+ // Match frontmatter block
+ const frontmatterRe = /^---\n([\s\S]*?)\n---/
+ const match = content.match(frontmatterRe)
+ if (!match) return { content, fixCount }
+
+ let frontmatter = match[1]
+ const originalFrontmatter = frontmatter
+
+ // Fix published: dates in DD-MM-YYYY or DD/MM/YYYY format
+ frontmatter = frontmatter.replace(
+ /^(published:\s*)(\d{1,2})[-/](\d{1,2})[-/](\d{4})$/gm,
+ (_, prefix, day, month, year) => {
+ fixCount++
+ // Pad day and month with leading zeros if needed
+ const paddedDay = day.padStart(2, "0")
+ const paddedMonth = month.padStart(2, "0")
+ return `${prefix}${year}-${paddedMonth}-${paddedDay}`
+ }
+ )
+
+ if (frontmatter !== originalFrontmatter) {
+ content = content.replace(frontmatterRe, `---\n${frontmatter}\n---`)
+ }
+
+ return { content, fixCount }
+}
+
+/**
+ * Sync protected frontmatter fields from English source.
+ * These fields should never be translated (e.g., template, sidebar).
+ */
+function syncProtectedFrontmatterFields(
+ translatedMd: string,
+ englishMd: string
+): { content: string; fixCount: number } {
+ // Fields that should never be translated - sync from English canonical
+ // Note: 'buttons' array needs special handling (content translatable, toId/isSecondary not)
+ // Note: 'lang' must NOT be protected - it must remain as target language code
+ const protectedFields = [
+ "template",
+ "sidebar",
+ "sidebarDepth",
+ "published",
+ "author",
+ "source",
+ "sourceUrl",
+ "address",
+ "emoji",
+ "skill",
+ "isOutdated",
+ "incomplete",
+ "hideEditButton",
+ "showDropdown",
+ "image",
+ "blurDataURL",
+ ]
+ let fixCount = 0
+
+ // Extract frontmatter from both
+ const frontmatterRe = /^---\n([\s\S]*?)\n---/
+ const transMatch = translatedMd.match(frontmatterRe)
+ const engMatch = englishMd.match(frontmatterRe)
+
+ if (!transMatch || !engMatch) return { content: translatedMd, fixCount }
+
+ let transFrontmatter = transMatch[1]
+ const engFrontmatter = engMatch[1]
+
+ for (const field of protectedFields) {
+ // Get English value
+ const engFieldRe = new RegExp(`^${field}:\\s*(.+)$`, "m")
+ const engFieldMatch = engFrontmatter.match(engFieldRe)
+ if (!engFieldMatch) continue
+
+ const englishValue = engFieldMatch[1].trim()
+
+ // Check if translated value differs
+ const transFieldRe = new RegExp(`^${field}:\\s*(.+)$`, "m")
+ const transFieldMatch = transFrontmatter.match(transFieldRe)
+
+ if (transFieldMatch) {
+ const translatedValue = transFieldMatch[1].trim()
+ // Remove quotes for comparison
+ const cleanTranslated = translatedValue.replace(/^["']|["']$/g, "")
+ const cleanEnglish = englishValue.replace(/^["']|["']$/g, "")
+
+ if (cleanTranslated !== cleanEnglish) {
+ // Replace with English value
+ transFrontmatter = transFrontmatter.replace(
+ transFieldRe,
+ `${field}: ${englishValue}`
+ )
+ fixCount++
+ }
+ }
+ }
+
+ if (fixCount > 0) {
+ return {
+ content: translatedMd.replace(
+ frontmatterRe,
+ `---\n${transFrontmatter}\n---`
+ ),
+ fixCount,
+ }
+ }
+
+ return { content: translatedMd, fixCount }
+}
+
+/**
+ * Fix ASCII guillemets (<< and >>) to proper Unicode guillemets (« and »).
+ * Prevents MDX parsing errors from malformed angle bracket sequences.
+ * IMPORTANT: Skips code blocks where << and >> are valid bit-shift operators.
+ */
+function fixAsciiGuillemets(content: string): {
+ content: string
+ fixCount: number
+} {
+ let fixCount = 0
+
+ // Split content to preserve code blocks (both fenced and inline)
+ // Fenced: ```...``` or ~~~...~~~
+ // Inline: `...`
+ const codeBlockPattern = /(```[\s\S]*?```|~~~[\s\S]*?~~~|`[^`]+`)/g
+ const parts = content.split(codeBlockPattern)
+
+ for (let i = 0; i < parts.length; i++) {
+ // Skip code blocks (odd indices after split with capturing group)
+ if (i % 2 === 1) continue
+
+ // Count and replace in non-code parts only
+ const leftMatches = parts[i].match(/<>/g)
+
+ if (leftMatches) {
+ fixCount += leftMatches.length
+ parts[i] = parts[i].replace(/<>/g, "»")
+ }
+ }
+
+ return { content: parts.join(""), fixCount }
+}
+
+/**
+ * Wrap frontmatter string values containing non-ASCII characters in double quotes.
+ * Prevents YAML parsing issues with accented characters.
+ */
+function quoteFrontmatterNonAscii(content: string): {
+ content: string
+ fixCount: number
+} {
+ let fixCount = 0
+
+ // Match frontmatter block
+ const frontmatterRe = /^---\n([\s\S]*?)\n---/
+ const match = content.match(frontmatterRe)
+ if (!match) return { content, fixCount }
+
+ let frontmatter = match[1]
+ const originalFrontmatter = frontmatter
+
+ // Find lines with unquoted values containing non-ASCII
+ const lines = frontmatter.split("\n")
+ for (let i = 0; i < lines.length; i++) {
+ const line = lines[i]
+ // Match key: value pattern
+ const keyValueRe = /^(\s*\w+:\s*)(.+)$/
+ const kvMatch = line.match(keyValueRe)
+ if (kvMatch) {
+ const [, prefix, value] = kvMatch
+ const trimmedValue = value.trim()
+
+ // Skip if already quoted (starts and ends with matching quotes)
+ if (
+ (trimmedValue.startsWith('"') && trimmedValue.endsWith('"')) ||
+ (trimmedValue.startsWith("'") && trimmedValue.endsWith("'"))
+ ) {
+ continue
+ }
+
+ // Skip YAML arrays - they handle their own internal quoting
+ // Inline arrays: tags: [ "value1", "value2" ]
+ if (trimmedValue.startsWith("[") && trimmedValue.endsWith("]")) {
+ continue
+ }
+ // Multi-line array items with - prefix won't match our key:value regex,
+ // but check explicitly for robustness (e.g., `key: - value` edge case)
+ if (trimmedValue.startsWith("-")) {
+ continue
+ }
+
+ // Check if value contains non-ASCII characters
+ // eslint-disable-next-line no-control-regex
+ if (/[^\x00-\x7F]/.test(value)) {
+ // Escape any existing double quotes in the value
+ const escapedValue = trimmedValue.replace(/"/g, '\\"')
+ lines[i] = `${prefix}"${escapedValue}"`
+ fixCount++
+ }
+ }
+ }
+
+ frontmatter = lines.join("\n")
+ if (frontmatter !== originalFrontmatter) {
+ content = content.replace(frontmatterRe, `---\n${frontmatter}\n---`)
+ }
+
+ return { content, fixCount }
+}
+
+function processMarkdownFile(
+ mdPath: string,
+ providedContent?: string
+): {
+ fixed: boolean
+ issues: string[]
+ content: string
+} {
+ const issues: string[] = []
+ let content = providedContent || fs.readFileSync(mdPath, "utf8")
+
+ let englishMd: string | undefined
+
+ // Map translated path to English path: remove `/translations//` segment
+ const parts = mdPath.split(path.sep)
+ const idx = parts.lastIndexOf("translations")
+ if (idx === -1 || idx + 2 >= parts.length) {
+ issues.push("No translations segment found; skipping formatting sync")
+ } else {
+ // Use path.resolve to preserve absolute paths (path.join loses leading /)
+ const englishPath = path.resolve(
+ path.sep,
+ ...parts.slice(0, idx),
+ ...parts.slice(idx + 2) // drop translations/
+ )
+ if (fs.existsSync(englishPath)) {
+ englishMd = fs.readFileSync(englishPath, "utf8")
+ content = syncHeaderIdsWithEnglish(content, englishMd)
+ } else {
+ issues.push(`English source missing: ${path.relative(ROOT, englishPath)}`)
+ }
+ }
+
+ const before = content
+
+ // Fix duplicated headings (e.g., ## Text? Text? {#id} → ## Text? {#id})
+ const duplicatedResult = fixDuplicatedHeadings(content)
+ content = duplicatedResult.content
+ if (duplicatedResult.fixCount > 0) {
+ issues.push(`Fixed ${duplicatedResult.fixCount} duplicated headings`)
+ }
+
+ // Fix broken markdown links (] (https:// → ](https://)
+ const brokenLinksResult = fixBrokenMarkdownLinks(content)
+ content = brokenLinksResult.content
+ if (brokenLinksResult.fixCount > 0) {
+ issues.push(`Fixed ${brokenLinksResult.fixCount} broken markdown links`)
+ }
+
+ // Fix frontmatter issues (don't need English source)
+ const dateResult = normalizeFrontmatterDates(content)
+ content = dateResult.content
+ if (dateResult.fixCount > 0) {
+ issues.push(
+ `Normalized ${dateResult.fixCount} frontmatter dates to ISO format`
+ )
+ }
+
+ const quoteResult = quoteFrontmatterNonAscii(content)
+ content = quoteResult.content
+ if (quoteResult.fixCount > 0) {
+ issues.push(
+ `Quoted ${quoteResult.fixCount} frontmatter values with non-ASCII chars`
+ )
+ }
+
+ const guillemetResult = fixAsciiGuillemets(content)
+ content = guillemetResult.content
+ if (guillemetResult.fixCount > 0) {
+ issues.push(
+ `Fixed ${guillemetResult.fixCount} ASCII guillemets (<< >>) to Unicode (« »)`
+ )
+ }
+
+ // Fix escaped backticks (\`) to regular backticks (`)
+ // Crowdin sometimes escapes backticks unnecessarily
+ const escapedBacktickCount = (content.match(/\\`/g) || []).length
+ if (escapedBacktickCount > 0) {
+ content = content.replace(/\\`/g, "`")
+ issues.push(`Unescaped ${escapedBacktickCount} backslash-escaped backticks`)
+ }
+
+ // Fix block component line breaks (critical for MDX parser)
+ const blockResult = fixBlockComponentLineBreaks(content)
+ content = blockResult.content
+ if (blockResult.fixCount > 0) {
+ issues.push(`Fixed ${blockResult.fixCount} inline block component tags`)
+ }
+
+ content = normalizeBlockHtmlLines(content)
+
+ // Normalize inline components and restore blank lines from English source
+ if (englishMd) {
+ // Sync protected frontmatter fields (template, sidebar, etc.)
+ const protectedResult = syncProtectedFrontmatterFields(content, englishMd)
+ content = protectedResult.content
+ if (protectedResult.fixCount > 0) {
+ issues.push(
+ `Synced ${protectedResult.fixCount} protected frontmatter fields from English`
+ )
+ }
+
+ // Collapse inline HTML tags to match English single-line format
+ const inlineHtmlResult = collapseInlineHtmlFromEnglish(content, englishMd)
+ content = inlineHtmlResult.content
+ if (inlineHtmlResult.fixCount > 0) {
+ issues.push(
+ `Collapsed ${inlineHtmlResult.fixCount} inline HTML tags to match English`
+ )
+ }
+
+ // Fix JSX component closing tags merged with content (split to own line)
+ const mergedTagResult = fixMergedClosingTags(content, englishMd)
+ content = mergedTagResult.content
+ if (mergedTagResult.fixCount > 0) {
+ issues.push(
+ `Split ${mergedTagResult.fixCount} merged closing tags to own lines`
+ )
+ }
+
+ // Collapse inline component line breaks to match English format
+ const inlineResult = normalizeInlineComponentsFromEnglish(
+ content,
+ englishMd
+ )
+ content = inlineResult.content
+ if (inlineResult.fixCount > 0) {
+ issues.push(
+ `Normalized ${inlineResult.fixCount} inline components to match English`
+ )
+ }
+
+ // Repair unclosed backticks in inline code
+ const backtickResult = repairUnclosedBackticks(content, englishMd)
+ content = backtickResult.content
+ if (backtickResult.fixCount > 0) {
+ issues.push(`Repaired ${backtickResult.fixCount} unclosed backticks`)
+ }
+
+ const blankLineResult = restoreBlankLinesFromEnglish(content, englishMd)
+ content = blankLineResult.content
+ if (blankLineResult.fixCount > 0) {
+ issues.push(
+ `Restored ${blankLineResult.fixCount} blank lines from English`
+ )
+ }
+
+ // Fix collapsed line breaks between consecutive components
+ const collapsedResult = fixCollapsedComponentLineBreaks(content, englishMd)
+ content = collapsedResult.content
+ if (collapsedResult.fixCount > 0) {
+ issues.push(
+ `Fixed ${collapsedResult.fixCount} collapsed component line breaks`
+ )
+ }
+
+ // Check for mistranslated brand names (report-only)
+ const brandWarnings = checkProtectedBrandNames(content, englishMd)
+ issues.push(...brandWarnings)
+
+ // Fix translated hrefs using set comparison
+ const hrefResult = fixTranslatedHrefs(content, englishMd)
+ content = hrefResult.content
+ if (hrefResult.fixCount > 0) {
+ issues.push(
+ `Fixed ${hrefResult.fixCount} translated hrefs: ${hrefResult.fixes.join(", ")}`
+ )
+ }
+ issues.push(...hrefResult.warnings)
+ }
+
+ const fixed = before !== content
+ // Only write to disk if no content was provided (legacy mode)
+ if (fixed && !providedContent) {
+ fs.writeFileSync(mdPath, content, "utf8")
+ }
+ // Run critical checks (report-only)
+ let m: RegExpExecArray | null
+ // Broken links containing spaces inside URL
+ while ((m = BROKEN_LINK_REGEX.exec(content))) {
+ issues.push(`Broken link format at ${mdPath}:${lineAt(content, m.index)}`)
+ }
+ // Invalid links (exclude images/internal/hash/http/mailto/pdf/<...>)
+ while ((m = INVALID_LINK_REGEX.exec(content))) {
+ issues.push(`Invalid link at ${mdPath}:${lineAt(content, m.index)}`)
+ }
+ // Empty link text
+ while ((m = LINK_TEXT_MISSING_REGEX.exec(content))) {
+ issues.push(`Link text missing at ${mdPath}:${lineAt(content, m.index)}`)
+ }
+ // Incorrect image path in translated markdown
+ if (mdPath.includes(`${path.sep}translations${path.sep}`)) {
+ while ((m = INCORRECT_PATH_IN_TRANSLATED_MARKDOWN.exec(content))) {
+ issues.push(
+ `Incorrect image path at ${mdPath}:${lineAt(content, m.index)}`
+ )
+ }
+ }
+ // Spelling mistakes (case-insensitive)
+ for (const mistake of COMMON_SPELLING_MISTAKES) {
+ const re = new RegExp(mistake, "gi")
+ while ((m = re.exec(content))) {
+ issues.push(
+ `Spelling mistake "${mistake}" at ${mdPath}:${lineAt(content, m.index)}`
+ )
+ }
+ }
+ // Case-sensitive mistakes for brands
+ for (const mistake of CASE_SENSITIVE_SPELLING_MISTAKES) {
+ const re = new RegExp(mistake, "g")
+ while ((m = re.exec(content))) {
+ issues.push(
+ `Brand capitalization issue "${mistake}" at ${mdPath}:${lineAt(content, m.index)}`
+ )
+ }
+ }
+ return { fixed, issues, content }
+}
+
+function processJsonFile(
+ jsonPath: string,
+ providedContent?: string
+): {
+ fixed: boolean
+ issues: string[]
+ content: string
+} {
+ const issues: string[] = []
+ let content = providedContent || fs.readFileSync(jsonPath, "utf8")
+ const before = content
+
+ // Normalize BOM and smart quotes
+ content = content
+ .replace(/^\uFEFF/, "")
+ .replace(/[""]/g, '"')
+ .replace(/['']/g, "'")
+
+ // Try parsing to validate JSON
+ try {
+ JSON.parse(content)
+ } catch (e) {
+ const error = e as Error
+ issues.push(`JSON parse error: ${error.message}`)
+ }
+
+ const fixed = before !== content
+ // Only write to disk if no content was provided (legacy mode)
+ if (fixed && !providedContent) {
+ fs.writeFileSync(jsonPath, content, "utf8")
+ }
+
+ return { fixed, issues, content }
+}
+
+function languagesFromEnv(): string[] | undefined {
+ const env = process.env.TARGET_LANGUAGES?.trim()
+ if (!env) return undefined
+ return env
+ .split(",")
+ .map((s) => s.trim())
+ .filter(Boolean)
+}
+
+export function runSanitizer(
+ filesWithContent?: Array<{ path: string; content: string }>,
+ langs?: string[]
+) {
+ console.log("[SANITIZE] Starting post-import sanitizer")
+
+ let mdFilesToProcess: Array<{ path: string; content: string }> = []
+ let jsonFilesToProcess: Array<{ path: string; content: string }> = []
+
+ if (filesWithContent && filesWithContent.length > 0) {
+ // Process only the specific files provided with their in-memory content
+ console.log(
+ `[SANITIZE] Target: ${filesWithContent.length} specific file(s)`
+ )
+ mdFilesToProcess = filesWithContent.filter((f) => f.path.endsWith(".md"))
+ jsonFilesToProcess = filesWithContent.filter((f) =>
+ f.path.endsWith(".json")
+ )
+ } else {
+ // Fallback to language-based scanning (reads from disk)
+ const effectiveLangs = langs || languagesFromEnv()
+ console.log(
+ "[SANITIZE] Target languages:",
+ effectiveLangs ?? "ALL detected in translations/"
+ )
+ const mdFilePaths = listFiles(CONTENT_ROOT, (f) => {
+ if (!f.endsWith(".md")) return false
+ if (!f.includes(`${path.sep}translations${path.sep}`)) return false
+ if (effectiveLangs)
+ return effectiveLangs.some((l) =>
+ f.includes(`${path.sep}translations${path.sep}${l}${path.sep}`)
+ )
+ return true
+ })
+ const jsonFilePaths = listFiles(CONTENT_ROOT, (f) => {
+ if (!f.endsWith(".json")) return false
+ if (!f.includes(`${path.sep}translations${path.sep}`)) return false
+ if (effectiveLangs)
+ return effectiveLangs.some((l) =>
+ f.includes(`${path.sep}translations${path.sep}${l}${path.sep}`)
+ )
+ return true
+ })
+ // Convert file paths to objects without content (will be read from disk)
+ mdFilesToProcess = mdFilePaths.map((p) => ({ path: p, content: "" }))
+ jsonFilesToProcess = jsonFilePaths.map((p) => ({ path: p, content: "" }))
+ }
+
+ let mdFixed = 0
+ const mdIssues: Array<{ file: string; issues: string[] }> = []
+ const mdChanged: Array<{ path: string; content: string }> = []
+
+ for (const fileInfo of mdFilesToProcess) {
+ const { fixed, issues, content } = processMarkdownFile(
+ fileInfo.path,
+ fileInfo.content
+ )
+ if (fixed) {
+ mdFixed++
+ mdChanged.push({ path: fileInfo.path, content })
+ }
+ if (issues.length)
+ mdIssues.push({ file: path.relative(ROOT, fileInfo.path), issues })
+ }
+
+ let jsonFixed = 0
+ const jsonIssues: Array<{ file: string; issues: string[] }> = []
+ const jsonChanged: Array<{ path: string; content: string }> = []
+
+ for (const fileInfo of jsonFilesToProcess) {
+ const { fixed, issues, content } = processJsonFile(
+ fileInfo.path,
+ fileInfo.content
+ )
+ if (fixed) {
+ jsonFixed++
+ jsonChanged.push({ path: fileInfo.path, content })
+ }
+ if (issues.length)
+ jsonIssues.push({ file: path.relative(ROOT, fileInfo.path), issues })
+ }
+
+ console.log(
+ `\n[SANITIZE] Markdown files scanned: ${mdFilesToProcess.length}, fixed: ${mdFixed}`
+ )
+ console.log(
+ `[SANITIZE] JSON files scanned: ${jsonFilesToProcess.length}, fixed: ${jsonFixed}`
+ )
+
+ if (mdIssues.length || jsonIssues.length) {
+ console.log("\n[SANITIZE] Issues detected:")
+ for (const i of mdIssues) {
+ console.log(` - MD ${i.file}`)
+ for (const msg of i.issues) console.log(` • ${msg}`)
+ }
+ for (const i of jsonIssues) {
+ console.log(` - JSON ${i.file}`)
+ for (const msg of i.issues) console.log(` • ${msg}`)
+ }
+ } else {
+ console.log("\n[SANITIZE] No issues detected.")
+ }
+
+ const changedFiles = [...mdChanged, ...jsonChanged].map((f) => ({
+ path: f.path,
+ content: f.content,
+ }))
+ return {
+ changedFiles,
+ markdown: { scanned: mdFilesToProcess.length, fixed: mdFixed },
+ json: { scanned: jsonFilesToProcess.length, fixed: jsonFixed },
+ issues: { markdown: mdIssues, json: jsonIssues },
+ }
+}
+
+if (require.main === module) {
+ runSanitizer()
+}
From 539ac1fdfc73e4320fd8f7307f2af27784407e26 Mon Sep 17 00:00:00 2001
From: Joshua <62268199+minimalsm@users.noreply.github.com>
Date: Fri, 13 Feb 2026 19:47:19 +0000
Subject: [PATCH 6/7] chore: trigger rebuild
From 051058973ff099e8021f27ce904bd0aba7de5763 Mon Sep 17 00:00:00 2001
From: Joshua <62268199+minimalsm@users.noreply.github.com>
Date: Fri, 13 Feb 2026 22:20:48 +0000
Subject: [PATCH 7/7] chore: trigger rebuild