From 05606ba7c460fce71f9a8d87e7e08b72c24ba484 Mon Sep 17 00:00:00 2001 From: Milan Mulji <98309852+mmulji-ic@users.noreply.github.com> Date: Tue, 20 Jun 2023 14:00:28 +0200 Subject: [PATCH] docs: Update docs for Comet BFT (#2493) * initial pass-thru replace of tendermint for cometbft * Updated comet links * Updated vuepress-theme package * Updated based on comments * Update docs/zh/validators/security.md Co-authored-by: yaruwangway <69694322+yaruwangway@users.noreply.github.com> * Updated CometBFT reference * Updated CometBFT references --------- Co-authored-by: yaruwangway <69694322+yaruwangway@users.noreply.github.com> --- CHANGELOG.md | 3 + Makefile | 2 + RELEASING.md | 182 ++++++++++++++++++ .../testnets/test_platform/templates/app.toml | 14 +- docs/.vuepress/config.js | 27 +-- docs/DOCS_README.md | 5 - docs/es/gaia-tutorials/installation.md | 2 +- docs/es/gaia-tutorials/join-mainnet.md | 3 +- docs/hub-tutorials/gaiad.md | 2 +- docs/hub-tutorials/join-mainnet.md | 4 +- docs/hub-tutorials/join-testnet.md | 4 +- docs/ko/gaia-tutorials/join-mainnet.md | 2 +- docs/ko/gaia-tutorials/join-testnet.md | 2 +- docs/ko/keys.md | 4 +- docs/ko/launch/blog-2-kr.md | 4 +- docs/package-lock.json | 14 +- docs/package.json | 2 +- docs/validators/overview.md | 2 +- docs/validators/security.md | 4 +- docs/validators/validator-faq.md | 14 +- docs/validators/validator-setup.md | 2 +- docs/zh/delegator/delegator-guide-cli.md | 2 +- docs/zh/gaia-tutorials/join-mainnet.md | 2 +- docs/zh/resources/gaiad.md | 4 +- docs/zh/resources/genesis.md | 2 +- docs/zh/validators/overview.md | 4 +- docs/zh/validators/security.md | 4 +- docs/zh/validators/validator-faq.md | 8 +- 28 files changed, 248 insertions(+), 76 deletions(-) create mode 100644 RELEASING.md diff --git a/CHANGELOG.md b/CHANGELOG.md index f11f62a344d..546e05ab6da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -93,6 +93,9 @@ To fix this problem, we have re-blocked the FeePoolAddress and created a new add Note: The fee of 10 Atoms was originally intended to be a parameter that could be changed by governance (10 Atoms might cost too much in the future). However, we ran into some problems creating a new parameter as part of an emergency upgrade. After consulting with the Cosmos-SDK team, we learned that creating new parameters is only supported as part of a scheduled upgrade. So in the current code, the number of Atoms is hardcoded. It will turn into a parameter in the next scheduled upgrade. +### Docs +* (docs) [#2425](https://github.com/cosmos/gaia/pull/2425) Update docs to include references to CometBFT + ## [v9.0.3] - 2023-04-19 * (deps) [#2399](https://github.com/cosmos/gaia/pull/2399) Bump [cosmos-sdk](https://github.com/cosmos/cosmos-sdk) to [v0.45.15-ics](https://github.com/cosmos/cosmos sdk/releases/tag/v0.45.15-ics) and migrate to [CometBFT](https://github.com/cometbft/cometbft). diff --git a/Makefile b/Makefile index 152e591ab0f..45beabd3f94 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,7 @@ endif PACKAGES_SIMTEST=$(shell go list ./... | grep '/simulation') LEDGER_ENABLED ?= true SDK_PACK := $(shell go list -m github.com/cosmos/cosmos-sdk | sed 's/ /\@/g') +TM_VERSION := $(shell go list -m github.com/cometbft/cometbft | sed 's:.* ::') # grab everything after the space in "github.com/cometbft/cometbft v0.34.7" DOCKER := $(shell which docker) BUILDDIR ?= $(CURDIR)/build TEST_DOCKER_REPO=cosmos/contrib-gaiatest @@ -68,6 +69,7 @@ ldflags = -X github.com/cosmos/cosmos-sdk/version.Name=gaia \ -X github.com/cosmos/cosmos-sdk/version.Version=$(VERSION) \ -X github.com/cosmos/cosmos-sdk/version.Commit=$(COMMIT) \ -X "github.com/cosmos/cosmos-sdk/version.BuildTags=$(build_tags_comma_sep)" \ + -X github.com/cometbft/cometbft/version.TMCoreSemVer=$(TM_VERSION) ifeq (cleveldb,$(findstring cleveldb,$(GAIA_BUILD_OPTIONS))) ldflags += -X github.com/cosmos/cosmos-sdk/types.DBBackend=cleveldb diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 00000000000..091c31504f2 --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,182 @@ +# Releasing + +This document outlines the release process for . We use [Long-Lived Version Branch Approach](x) on a `main` branch and a `release` branch. + +We follow [Semver](https://semver.org/) in that any patch releases are non-breaking changes. It's important to note, that breaking changes in a Blockchain context include non-determinism. So if a code change is backwards compatible, it may still impact the amount of gas needed to execute an action, which means the change is in fact breaking as it results in a different apphash after the code is executed. It's important for non-breaking changes to be possible to be used on the live network prior to the release. + +Each major release will have a release branch and patch releases will be tagged on this branch. No patched release has its own branch. (This branch strategy only applies to `v7` and later releases.) + +## Long-Lived Version Branch Approach + +In the Gaia repo, there are two categories of long-lived branches: + +### Branch: `main` + +The `main` branch should be targeted for PRs that contain a bug-fix/feature/improvement that will be included for the next release. + +### Branch: `release` + +There are multiple long-lived branches with the `release/` prefix. Each release series follows the format `release/vn.0.x`, e.g. `release/v7.0.x`. The branch `release/vn.0.x` should point to the most updated `vn` release, e.g. `release/v5.0.x` should be the same as `release/v5.0.8` if that's the latest `v5.0` release. + +## Other Branches + +### branches for the next release + +Other feature/fix branches targeting at `main` contain commits preparing for the next release. When the `release-prepare-branch` is ready for next release, add label `A:backport/vn.0.x` to the PR of `release-prepare-branch` against `main`, then the mergifybot will create a new PR of `mergify/bp/release/vn.0.x` against `Release/vn.0.x`. + +### branches for the backport release + +If the feature/fix branches are for a backport release, `main` branch already contains the commits for the next major release `vn`, the feature/fix branch's PR should target at `Release/vn-1` rather than `main`. + +## Release Procedure + +### Checks and tests + +Before merge and release, the following tests checks need to be conducted: + +- check the `replace` line in `go.mod`, check all the versions in `go.mod` are correct. +- run tests and simulations by `make run-tests`. +- test version compatibilities for minor releases. + +### Major and minor Release + +For a new major release `n`, checkout `release/vn.0.x` from `main`. Merge or use mergify to merge the commits to `release/vn.0.x`, and tag the version. +For minor release. Merge or use mergify to merge the commits to `release/vn.0.x`, and tag the version. + +Usually the first release on the `release/vn.0.x` is a release candidate. + +#### example of releasing `v8.0.0-rc0` + +1. checkout `release/v8.0.x` off `main` +1. get the `v8-prepare-branch` ready including CHANGELOG.md, create a PR to merge `v8-prepare-branch` to `main`, label this PR `A:backport/v8.0.x`. +1. after merge `v8-prepare-branch` to `main`, mergifybot will create a new PR of `mergify/bp/release/v8.0.x` to `release/v8.0.x`. Check the PR, and merge this PR. +1. checkout `release/v8.0.x` and tag `v8.0.0-rc0`. + +#### example of releasing `v8.0.0` + +1. get the `v800-prepare-branch` ready including CHANGELOG.md, create a PR to merge `v800-prepare-branch` to `main`, label this PR `A:backport/v8.0.x`. +1. after merge `v800-prepare-branch` to `main`, mergifybot will create a new PR of `mergify/bp/release/v8.0.x` to `release/v8.0.x`. Check the PR, and merge this PR. +1. checkout `release/v8.0.x` and tag `v8.0.0`. + +#### example of releasing `v8.0.1` + +1. get the `v801-prepare-branch`(off `main`) ready including CHANGELOG.md, create a PR to merge `v801-prepare-branch` to `main`, label this PR `A:backport/v8.0.x`. +1. after merge `v801-prepare-branch` to `main`, mergifybot will create a new PR of `mergify/bp/release/v8.0.x` to `release/v8.0.x`. Check the PR, and merge this PR. +1. checkout `release/v8.0.x` and tag `v8.0.1`. + +### backport release + +For a backport release, checkout a new branch from the right release branch, for example, `release/vn-1.0.x`. Commits to this new branch and merge into `release/vn-1.0.x`, tag the backport version from `release/vn-1.0.x`. + +#### example of backport release `v7.0.5` + +assume main branch is at `v8`. + +1. checkout `v705-prepare-branch` off `release/v7.0.x`, get the backport changes ready including CHANGELOG.md on `v705-prepare-branch`. +1. create a PR to merge `v705-prepare-branch` to `release/v7.0.x`, and merge. +1. checkout `release/v7.0.x` tag `v7.0.5`. + +### Test building artifacts + +Before tagging the version, please test the building releasing artifacts by + +```bash +make distclean build-reproducible +``` + +The above command will generate a directory +`gaia/artifacts` with different os and architecture binaries. If the above command runs sucessfully, delete the directory `rm -r gaia/artifacts`. + +### Tagging + +The following steps are the default for tagging a specific branch commit (usually on a branch labeled `release/vX.X.X`): + +1. Ensure you have checked out the commit you wish to tag +1. `git pull --tags --dry-run` +1. `git pull --tags` +1. `git tag -s v3.0.1 -m 'Release v3.0.1'` + 1. optional, add the `-s` tag to create a signed commit using your PGP key (which should be added to github beforehand) +1. `git push --tags --dry-run` +1. `git push --tags` + +To re-create a tag: + +1. `git tag -d v4.0.0` to delete a tag locally +1. `git push --delete origin v4.0.0`, to push the deletion to the remote +1. Proceed with the above steps to create a tag + +To tag and build without a public release (e.g., as part of a timed security release): + +1. Follow the steps above for tagging locally, but do not push the tags to the repository. +1. After adding the tag locally, you can build the binary, e.g., `make build-reproducible`. +1. To finalize the release, push the local tags, create a release based off the newly pushed tag, and attach the binaries. + +### Release notes + +Ensure you run the reproducible build in order to generate sha256 hashes and platform binaries; +these artifacts should be included in the release. + +```bash +make distclean build-reproducible +``` + +This runs the docker image [tendermintdev/rbuilder](https://hub.docker.com/r/tendermintdev/rbuilder) with a copy of the [rbuilder](https://github.com/tendermint/images/tree/master/rbuilder) docker file. + +Then use the following release text template: + +```markdown +# Gaia v4.0.0 Release Notes + +Note, that this specific release will be updated with a newer changelog, and the below hashes and binaries will also be updated. + +This release includes bug fixes for prop29, as well as additional support for IBC and Ledger signing. + +As there is a breaking change from Gaia v3, the Gaia module has been incremented to v4. + +See the [Cosmos SDK v0.41.0 Release](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.41.0) for details. + +```bash +$ make distclean build-reproducible +App: gaiad +Version: 4.0.0 +Commit: 2bb04266266586468271c4ab322367acbf41188f +Files: + 2e801c7424ef67e6d9fc092c2b75c2d3 gaiad-4.0.0-darwin-amd64 + dc21eb861480e0f55af876f271b512fe gaiad-4.0.0-linux-amd64 + bda165f91bc065afb8a445e72be9a868 gaiad-4.0.0-linux-arm64 + c7203d53bd596679b39b6a94d1dbe0dc gaiad-4.0.0-windows-amd64.exe + 81299b602e1760078e03c97813edda60 gaiad-4.0.0.tar.gz +Checksums-Sha256: + de764e52acc31dd98fa49d8d0eef851f3b7b53e4f1d4fbfda2c07b1a8b115b91 gaiad-4.0.0-darwin-amd64 + e5244ccd98a05479cc35753da1bb5b6bd873f6d8ebe6f8c5d112cf4d9e2761b4 gaiad-4.0.0-linux-amd64 + 7b7c4ea3e2de5f228436dcbb177455906239603b11eca1fb1015f33973d7b567 gaiad-4.0.0-linux-arm64 + b418c5f296ee6f946f44da8497af594c6ad0ece2b1da09a93a45d7d1b1457f27 gaiad-4.0.0-windows-amd64.exe + 3895518436b74be8b042d7d0b868a60d03e1656e2556b12132be0f25bcb061ef gaiad-4.0.0.tar.gz +``` + +# Major Release Maintenance + +Major Release series continue to receive bug fixes (released as a Patch Release) until they reach End Of Life. Major Release series are maintained in compliance with the Stable Release Policy as described in this document. Note: not every Major Release is denoted as a stable release. + +Only the following major release series have a stable release status: + +v7 Theta is supported until v9 Lambda. A fairly strict **bugfix-only** rule applies to pull requests that are requested to be included into a stable point-release. + +v6 Vega is supported until v8 Rho. A fairly strict **bugfix-only** rule applies to pull requests that are requested to be included into a stable point-release. + +v5 Delta is supported until v7 Theta. A fairly strict **bugfix-only** rule applies to pull requests that are requested to be included into a stable point-release. + +After two releases, a supported version will be transitioned to unsupported and will be deemed EOL with no further updates. + +# Stable Release Policy + +The intention of the Stable Release Policy is to ensure that all major release series that are not EOL, are maintained with the following categories of fixes: + +- Tooling improvements (including code formatting, linting, static analysis and updates to testing frameworks) +- Performance enhancements for running archival and synching nodes +- Test and benchmarking suites, ensuring that fixes are sound and there are no performance regressions +- Library updates including point releases for core libraries such as IBC-Go, Cosmos SDK, CometBFT and other dependencies +- General maintenance improvements, that are deemed necessary by the stewarding team, that help align different releases and reduce the workload on the stewarding team +- Security fixes + +Issues that are likely excluded, are any issues that impact operating a block producing network. diff --git a/contrib/testnets/test_platform/templates/app.toml b/contrib/testnets/test_platform/templates/app.toml index 5537acf0530..3005afa73c3 100644 --- a/contrib/testnets/test_platform/templates/app.toml +++ b/contrib/testnets/test_platform/templates/app.toml @@ -36,15 +36,15 @@ halt-time = 0 # MinRetainBlocks defines the minimum block height offset from the current # block being committed, such that all blocks past this offset are pruned -# from Tendermint. It is used as part of the process of determining the +# from CometBFT. It is used as part of the process of determining the # ResponseCommit.RetainHeight value during ABCI Commit. A value of 0 indicates # that no blocks should be pruned. # -# This configuration value is only responsible for pruning Tendermint blocks. +# This configuration value is only responsible for pruning CometBFT blocks. # It has no bearing on application state pruning which is determined by the # "pruning-*" configurations. # -# Note: Tendermint block pruning is dependant on this parameter in conunction +# Note: CometBFT block pruning is dependant on this parameter in conunction # with the unbonding (safety threshold) period, state pruning and state sync # snapshot parameters to determine the correct minimum value of # ResponseCommit.RetainHeight. @@ -54,7 +54,7 @@ min-retain-blocks = 0 inter-block-cache = true # IndexEvents defines the set of events in the form {eventType}.{attributeKey}, -# which informs Tendermint what to index. If empty, all events will be indexed. +# which informs CometBFT what to index. If empty, all events will be indexed. # # Example: # ["message.sender", "message.recipient"] @@ -113,13 +113,13 @@ address = ":" # MaxOpenConnections defines the number of maximum open connections. max-open-connections = 1000 -# RPCReadTimeout defines the Tendermint RPC read timeout (in seconds). +# RPCReadTimeout defines the CometBFT RPC read timeout (in seconds). rpc-read-timeout = 10 -# RPCWriteTimeout defines the Tendermint RPC write timeout (in seconds). +# RPCWriteTimeout defines the CometBFT RPC write timeout (in seconds). rpc-write-timeout = 0 -# RPCMaxBodyBytes defines the Tendermint maximum response body (in bytes). +# RPCMaxBodyBytes defines the CometBFT maximum response body (in bytes). rpc-max-body-bytes = 1000000 # EnableUnsafeCORS defines if CORS should be enabled (unsafe - use it at your own risk). diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 5024eedc2a9..7dd794516eb 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -52,9 +52,13 @@ module.exports = { { title: "REST API Spec", path: "https://cosmos.network/rpc/" - } + }, + { + title: "REST API Spec ABC", + path: "https://cosmos.network/rpc/" + } ] - } + } ] }, gutter: { @@ -78,10 +82,6 @@ module.exports = { service: "twitter", url: "https://twitter.com/cosmos" }, - { - service: "linkedin", - url: "https://www.linkedin.com/company/tendermint/" - }, { service: "github", url: "https://github.com/cosmos/gaia" @@ -100,23 +100,12 @@ module.exports = { } ], smallprint: - "This website is maintained by Tendermint Inc. The contents and opinions of this website are those of Tendermint Inc.", + "This website is maintained by Interchain Foundation/Informal Systems. The contents and opinions of this website are those of Interchain Foundation/Informal Systems.", links: [ { title: "Documentation", children: [ - { - title: "Cosmos SDK", - url: "https://docs.cosmos.network" - }, - { - title: "Cosmos Hub", - url: "https://hub.cosmos.network/" - }, - { - title: "Tendermint Core", - url: "https://docs.tendermint.com/" - } + ] }, { diff --git a/docs/DOCS_README.md b/docs/DOCS_README.md index 6bc18257882..ef54dc1de82 100644 --- a/docs/DOCS_README.md +++ b/docs/DOCS_README.md @@ -94,11 +94,6 @@ To build documentation as a static website run `npm run build`. You will find th We are using [Algolia](https://www.algolia.com) to power full-text search. This uses a public API search-only key in the `config.js` as well as a [cosmos_network.json](https://github.com/algolia/docsearch-configs/blob/master/configs/cosmos_network.json) configuration file that we can update with PRs. -## Consistency - -Because the build processes are identical (as is the information contained herein), this file should be kept in sync as -much as possible with its [counterpart in the Tendermint Core repo](https://github.com/tendermint/tendermint/blob/master/docs/DOCS_README.md). - ### Update and Build the RPC docs 1. Execute the following command at the root directory to install the swagger-ui generate tool. diff --git a/docs/es/gaia-tutorials/installation.md b/docs/es/gaia-tutorials/installation.md index bf9246f3605..6cc0a5019a0 100644 --- a/docs/es/gaia-tutorials/installation.md +++ b/docs/es/gaia-tutorials/installation.md @@ -83,7 +83,7 @@ Las etiquetas (_tags_) para la construcción indican opciones especiales que deb ## Workflow para el desarrollador -Para probar cualquier cambio hecho en el SDK o Tendermint, se debe agregar una cláusula de `replace` en `go.mod` proporcionando la ruta de entrada correcta. +Para probar cualquier cambio hecho en el SDK o CometBFT, se debe agregar una cláusula de `replace` en `go.mod` proporcionando la ruta de entrada correcta. - Realice los cambios apropiados - Añada `replace github.com/cosmos/cosmos-sdk => /ruta/a/clon/cosmos-sdk` en `go.mod` diff --git a/docs/es/gaia-tutorials/join-mainnet.md b/docs/es/gaia-tutorials/join-mainnet.md index af65e00a3dd..a39324561c9 100644 --- a/docs/es/gaia-tutorials/join-mainnet.md +++ b/docs/es/gaia-tutorials/join-mainnet.md @@ -82,7 +82,8 @@ Si estas semillas no funcionan, puedes encontrar más _seeds_ y _peers_ persiste También puedes preguntar por _peers_ en el [canal de Validadores de Riot](https://riot.im/app/#/room/#cosmos-validators:matrix.org) -Para más información acerca de seeds y peers, puede leer [este enlace](https://docs.tendermint.com/master/spec/p2p/peer.html) +Para más información acerca de seeds y peers, puede leer [este enlace](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/peer.md) + ## Nota sobre el Fee y el Gas diff --git a/docs/hub-tutorials/gaiad.md b/docs/hub-tutorials/gaiad.md index 3012ab3b7c1..13e3cf945da 100644 --- a/docs/hub-tutorials/gaiad.md +++ b/docs/hub-tutorials/gaiad.md @@ -124,7 +124,7 @@ gaiad tendermint show-validator Note that this is the Tendermint signing key, _not_ the operator key you will use in delegation transactions. ::: danger Warning -We strongly recommend _NOT_ using the same passphrase for multiple keys. The Tendermint team and the Interchain Foundation will not be responsible for the loss of funds. +We strongly recommend _NOT_ using the same passphrase for multiple keys. The CometBFT team and the Interchain Foundation will not be responsible for the loss of funds. ::: #### Generate Multisig Public Keys diff --git a/docs/hub-tutorials/join-mainnet.md b/docs/hub-tutorials/join-mainnet.md index 4e016288d09..5fdefcfba5f 100644 --- a/docs/hub-tutorials/join-mainnet.md +++ b/docs/hub-tutorials/join-mainnet.md @@ -258,7 +258,7 @@ Make sure to consult the [hardware](#Hardware) section for guidance on the best ### Blocksync -Blocksync is faster than traditional consensus and syncs the chain from genesis by downloading blocks and verifying against the merkle tree of validators. For more information see [Tendermint's Fastsync Docs](https://docs.tendermint.com/v0.34/tendermint-core/fast-sync.html) +Blocksync is faster than traditional consensus and syncs the chain from genesis by downloading blocks and verifying against the merkle tree of validators. For more information see [CometBFT's Fastsync Docs](https://docs.cometbft.com/v0.34/core/fast-sync) When syncing via Blocksync, node operators will either need to manually upgrade the chain or set up [Cosmovisor](#Cosmovisor) to upgrade automatically. @@ -289,7 +289,7 @@ The node will begin rebuilding state until it hits the first upgrade height at b ### State Sync -State Sync is an efficient and fast way to bootstrap a new node, and it works by replaying larger chunks of application state directly rather than replaying individual blocks or consensus rounds. For more information, see [Tendermint's State Sync docs](https://github.com/tendermint/tendermint/blob/v0.34.x/spec/p2p/messages/state-sync.md). +State Sync is an efficient and fast way to bootstrap a new node, and it works by replaying larger chunks of application state directly rather than replaying individual blocks or consensus rounds. For more information, see [CometBFT's State Sync docs](https://docs.cometbft.com/v0.34/core/state-sync). To enable state sync, visit an explorer to get a recent block height and corresponding hash. A node operator can choose any height/hash in the current bonding period, but as the recommended snapshot period is `1000` blocks, it is advised to choose something close to `current height - 1000`. diff --git a/docs/hub-tutorials/join-testnet.md b/docs/hub-tutorials/join-testnet.md index 3cc21471fdd..5d96075c215 100644 --- a/docs/hub-tutorials/join-testnet.md +++ b/docs/hub-tutorials/join-testnet.md @@ -46,8 +46,8 @@ We recommend running public testnet nodes on machines with at least 8 cores, 16G There are two ways to sync a testnet node, Fastsync and State Sync. -* [Fast Sync](https://docs.tendermint.com/v0.34/tendermint-core/fast-sync.html) syncs the chain from genesis by downloading blocks in parallel and then verifying them. -* [State Sync](https://docs.tendermint.com/v0.34/tendermint-core/state-sync.html) will look for snapshots from peers at a trusted height and then verifying a minimal set of snapshot chunks against the network. +* [Fast Sync](https://docs.cometbft.com/v0.34/core/fast-sync) syncs the chain from genesis by downloading blocks in parallel and then verifying them. +* [State Sync](https://docs.cometbft.com/v0.34/core/state-sync) will look for snapshots from peers at a trusted height and then verifying a minimal set of snapshot chunks against the network. State Sync is far faster and more efficient than Fast Sync, but Fast Sync offers higher data integrity and more robust history. For those who are concerned about storage and costs, State Sync can be the better option as it minimizes storage usage when rebuilding initial state. diff --git a/docs/ko/gaia-tutorials/join-mainnet.md b/docs/ko/gaia-tutorials/join-mainnet.md index 1c0ebf5ee65..7d65f3ea788 100644 --- a/docs/ko/gaia-tutorials/join-mainnet.md +++ b/docs/ko/gaia-tutorials/join-mainnet.md @@ -78,7 +78,7 @@ gaiad start 이 외에도 [밸리데이터 라이엇 채팅방](https://riot.im/app/#/room/#cosmos-validators:matrix.org)을 통해서 피어 요청을 할 수 있습니다. -시드와 피어에 대한 더 많은 정보를 원하시면 [여기](https://github.com/tendermint/tendermint/blob/develop/docs/tendermint-core/using-tendermint.md#peers)를 확인하세요. +시드와 피어에 대한 더 많은 정보를 원하시면 [여기](https://github.com/cometbft/cometbft/blob/main/docs/core/using-cometbft.md#peers)를 확인하세요. ### 가스와 수수료에 대해서 diff --git a/docs/ko/gaia-tutorials/join-testnet.md b/docs/ko/gaia-tutorials/join-testnet.md index 0cfcb442723..92425ba4e00 100755 --- a/docs/ko/gaia-tutorials/join-testnet.md +++ b/docs/ko/gaia-tutorials/join-testnet.md @@ -111,7 +111,7 @@ gaiad start 이 외에도 [밸리데이터 라이엇 채팅방](https://riot.im/app/#/room/#cosmos-validators:matrix.org)을 통해서 피어 요청을 할 수 있습니다. -시드와 피어에 대한 더 많은 정보를 원하시면 [여기](https://github.com/tendermint/tendermint/blob/develop/docs/tendermint-core/using-tendermint.md#peers)를 확인하세요. +시드와 피어에 대한 더 많은 정보를 원하시면 [여기](https://github.com/cometbft/cometbft/blob/main/docs/core/using-cometbft.md#peers)를 확인하세요. ## 풀노드 운영하기 diff --git a/docs/ko/keys.md b/docs/ko/keys.md index df4bd47d69b..5125d4aee6d 100755 --- a/docs/ko/keys.md +++ b/docs/ko/keys.md @@ -1,7 +1,7 @@ # 키 -키 관리에 대해서는 [텐더민트 스펙](https://github.com/tendermint/tendermint/blob/master/docs/spec/blockchain/encoding.md#public-key-cryptography)을 확인하세요. +키 관리에 대해서는 [CometBFT](https://docs.cometbft.com/v0.34/spec/core/encoding)을 확인하세요. `gaiad keys --help` 명령어를 통해 추가 정보를 얻으실 수 있습니다. @@ -9,4 +9,4 @@ 참고: 이 문서는 현재 작업중에 있습니다. - \ No newline at end of file + diff --git a/docs/ko/launch/blog-2-kr.md b/docs/ko/launch/blog-2-kr.md index 1a6d62e5b28..d15a4ee168a 100644 --- a/docs/ko/launch/blog-2-kr.md +++ b/docs/ko/launch/blog-2-kr.md @@ -31,7 +31,7 @@ 하지만 토큰 전송이 활성화된 뒤라면 블록체인 롤백을 정당화하는 것은 상당히 어렵게 됩니다. -**개발자 참고 사항**: 코스모스 메인넷 런칭은 펀드레이저 참가자들이 협동하여 코스모스 허브 소프트웨어를 운영하는 첫 단계입니다. 생태계 내 대다수의 탈중앙화 애플리케이션 개발자는 [코스모스 SDK](https://cosmos.network/docs/) 또는 [텐더민트 코어](https://tendermint.com/docs/)를 사용하고 있는 것으로 예상됩니다. 각 코스모스 SDK/텐더민트 기반 애플리케이션의 개발 진행은 코스모스 허브와 별도로 진행되어도 무관합니다. 다만, [IBC](https://blog.cosmos.network/developer-deep-dive-cosmos-ibc-5855aaf183fe)(Inter-Blockchain Communication)을 사용하기 위해서는 메인넷 3단계까지 기다리거나 IBC 테스트넷에서 시범운영을 하실 수 있습니다. +**개발자 참고 사항**: 코스모스 메인넷 런칭은 펀드레이저 참가자들이 협동하여 코스모스 허브 소프트웨어를 운영하는 첫 단계입니다. 생태계 내 대다수의 탈중앙화 애플리케이션 개발자는 [코스모스 SDK](https://cosmos.network/docs/) 또는 [Comet BFT](https://github.com/cometbft/cometbft/tree/main/docs)를 사용하고 있는 것으로 예상됩니다. 각 코스모스 SDK/Comet BFT 기반 애플리케이션의 개발 진행은 코스모스 허브와 별도로 진행되어도 무관합니다. 다만, [IBC](https://blog.cosmos.network/developer-deep-dive-cosmos-ibc-5855aaf183fe)(Inter-Blockchain Communication)을 사용하기 위해서는 메인넷 3단계까지 기다리거나 IBC 테스트넷에서 시범운영을 하실 수 있습니다. **유저 참고 사항**: 메인넷 최초 단계에서는 코스모스 아톰을 거래하지 **않는** 것을 강력하게 권고합니다 (예, 법적 계약을 통한 거래). 1단계에서는 제네시스 블록까지 긴급 롤백이 진행될 수 있으므로 트랜잭션이 번복될 수 있는 위험이 존재합니다. @@ -75,4 +75,4 @@ CLI 위임 투토리얼 (영어): [https://www.youtube.com/watch?v=ydZw6o6Mzy0]( 달에 도착하는 그 날까지… 🚀 - \ No newline at end of file + diff --git a/docs/package-lock.json b/docs/package-lock.json index 84023d52d00..dac336b11ff 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -14,7 +14,7 @@ "vue-tabs-component": "^1.5.0", "vue-template-compiler": "^2.6.11", "vuepress-plugin-tabs": "^0.3.0", - "vuepress-theme-cosmos": "^1.0.183" + "vuepress-theme-cosmos": "^1.0.184" }, "devDependencies": { "picocolors": "^1.0.0" @@ -13684,9 +13684,9 @@ "integrity": "sha512-jooDlcMdBqhXgIaF1awFSaOTM56mleP6bbCiGxyQxTZexfvCfDvZhNLGpyXqMQA50ZmNGmvLrK82YYb63k1jfA==" }, "node_modules/vuepress-theme-cosmos": { - "version": "1.0.183", - "resolved": "https://registry.npmjs.org/vuepress-theme-cosmos/-/vuepress-theme-cosmos-1.0.183.tgz", - "integrity": "sha512-nLSL0YF6ar2yhZkDvp6o313xBSu/Zc3O3OxRsgLMZcKyWanNqyyh0jFrUqMZcjz7vylRRDth6C2/E0YeisFCbw==", + "version": "1.0.184", + "resolved": "https://registry.npmjs.org/vuepress-theme-cosmos/-/vuepress-theme-cosmos-1.0.184.tgz", + "integrity": "sha512-BitOXaVTZgx82oGeQomNvbwWOORB95VEJjTPdrj6yAWXwshlaIxK4VPFtljw3PsGnLoNxL5YKfYoDmqtgMmnTg==", "dependencies": { "@cosmos-ui/vue": "^0.35.0", "@vuepress/plugin-google-analytics": "1.8.2", @@ -25322,9 +25322,9 @@ "integrity": "sha512-jooDlcMdBqhXgIaF1awFSaOTM56mleP6bbCiGxyQxTZexfvCfDvZhNLGpyXqMQA50ZmNGmvLrK82YYb63k1jfA==" }, "vuepress-theme-cosmos": { - "version": "1.0.183", - "resolved": "https://registry.npmjs.org/vuepress-theme-cosmos/-/vuepress-theme-cosmos-1.0.183.tgz", - "integrity": "sha512-nLSL0YF6ar2yhZkDvp6o313xBSu/Zc3O3OxRsgLMZcKyWanNqyyh0jFrUqMZcjz7vylRRDth6C2/E0YeisFCbw==", + "version": "1.0.184", + "resolved": "https://registry.npmjs.org/vuepress-theme-cosmos/-/vuepress-theme-cosmos-1.0.184.tgz", + "integrity": "sha512-BitOXaVTZgx82oGeQomNvbwWOORB95VEJjTPdrj6yAWXwshlaIxK4VPFtljw3PsGnLoNxL5YKfYoDmqtgMmnTg==", "requires": { "@cosmos-ui/vue": "^0.35.0", "@vuepress/plugin-google-analytics": "1.8.2", diff --git a/docs/package.json b/docs/package.json index 055e1b744d8..71b8e790572 100644 --- a/docs/package.json +++ b/docs/package.json @@ -9,7 +9,7 @@ "vue-tabs-component": "^1.5.0", "vue-template-compiler": "^2.6.11", "vuepress-plugin-tabs": "^0.3.0", - "vuepress-theme-cosmos": "^1.0.183" + "vuepress-theme-cosmos": "^1.0.184" }, "scripts": { "serve": "trap 'exit 0' SIGINT; vuepress dev --no-cache", diff --git a/docs/validators/overview.md b/docs/validators/overview.md index d1060df9b27..f945891337f 100644 --- a/docs/validators/overview.md +++ b/docs/validators/overview.md @@ -7,7 +7,7 @@ title: Overview ## Introduction -The [Cosmos Hub](../README.md) is based on [Tendermint](https://github.com/tendermint/tendermint/tree/master/docs/introduction) that relies on a set of validators that are responsible for committing new blocks in the blockchain. These validators participate in the consensus protocol by broadcasting votes that contain cryptographic signatures signed by each validator's private key. +The [Cosmos Hub](../README.md) is based on [CometBFT](https://docs.cometbft.com/v0.34/introduction/what-is-cometbft) that relies on a set of validators that are responsible for committing new blocks in the blockchain. These validators participate in the consensus protocol by broadcasting votes that contain cryptographic signatures signed by each validator's private key. Validator candidates can bond their own ATOM and have ATOM ["delegated"](../delegators/delegator-guide-cli.md), or staked, to them by token holders. The Cosmos Hub has [180 validators](https://www.mintscan.io/cosmos/proposals/66), but over time the number of validators can be increased with governance proposals. The validators are determined by the total number of ATOM tokens delegated to them — the top 180 validator candidates with the most voting power are the current Cosmos validators. diff --git a/docs/validators/security.md b/docs/validators/security.md index d1143f96ef1..05b62889bcc 100644 --- a/docs/validators/security.md +++ b/docs/validators/security.md @@ -13,7 +13,7 @@ It is mission critical that an attacker cannot steal a validator's key. If this HSM modules must support `ed25519` signatures for the hub. The YubiHSM2 supports `ed25519` and [this yubikey library is available](https://github.com/iqlusioninc/yubihsm.rs). The YubiHSM can protect a private key but cannot ensure in a secure setting that it won't sign the same block twice. -The Tendermint team is also working on extending our Ledger Nano S application to support validator signing. This app can store recent blocks and mitigate double signing attacks. +The CometBFT team is also working on extending our Ledger Nano S application to support validator signing. This app can store recent blocks and mitigate double signing attacks. We will update this page when more key storage solutions become available. @@ -54,7 +54,7 @@ private_peer_ids = "node_ids_of_private_peers" By default, uppercase environment variables with the following prefixes will replace lowercase command-line flags: - `GA` (for Gaia flags) -- `TM` (for Tendermint flags) +- `TM` (for Tendermint/CometBFT flags) - `BC` (for democli or basecli flags) For example, the environment variable `GA_CHAIN_ID` will map to the command line flag `--chain-id`. Note that while explicit command-line flags will take precedence over environment variables, environment variables will take precedence over any of your configuration files. For this reason, it's imperative that you lock down your environment such that any critical parameters are defined as flags on the CLI or prevent modification of any environment variables. diff --git a/docs/validators/validator-faq.md b/docs/validators/validator-faq.md index 7096d0a14ca..8ab1c4cdc63 100644 --- a/docs/validators/validator-faq.md +++ b/docs/validators/validator-faq.md @@ -13,7 +13,7 @@ This is work in progress. Mechanisms and values are susceptible to change. ### What is a Cosmos validator? -The [Cosmos Hub](../getting-started/what-is-gaia.md) is based on [Tendermint](https://docs.tendermint.com/v0.34/introduction/what-is-tendermint.html) that relies on a set of validators to secure the network. The role of validators is to run a full node and participate in consensus by broadcasting votes that contain cryptographic signatures signed by the validator's private key. Validators commit new blocks in the blockchain and receive revenue in exchange for their work. Validators must also participate in governance by voting on proposals. Validators are weighted according to their total stake. +The [Cosmos Hub](../getting-started/what-is-gaia.md) is based on [CometBFT](https://docs.cometbft.com/v0.34/introduction/what-is-cometbft) that relies on a set of validators to secure the network. The role of validators is to run a full node and participate in consensus by broadcasting votes that contain cryptographic signatures signed by the validator's private key. Validators commit new blocks in the blockchain and receive revenue in exchange for their work. Validators must also participate in governance by voting on proposals. Validators are weighted according to their total stake. ### What is staking? @@ -45,7 +45,7 @@ Delegators play a critical role in the system, as they are responsible for choos Any participant in the network can signal that they want to become a validator by sending a `create-validator` transaction, where they must fill out the following parameters: -- **Validator's `PubKey`:** The private key associated with this Tendermint `PubKey` is used to sign _prevotes_ and _precommits_. +- **Validator's `PubKey`:** The private key associated with this Tendermint/CometBFT `PubKey` is used to sign _prevotes_ and _precommits_. - **Validator's Address:** Application level address that is used to publicly identify your validator. The private key associated with this address is used to delegate, unbond, claim rewards, and participate in governance. - **Validator's name (moniker)** - **Validator's website (Optional)** @@ -73,12 +73,12 @@ Testnet participation is a great way to signal to the community that you are rea There are two types of keys: -- **Tendermint key**: A unique key that is used to sign consensus votes. +- **Tendermint/CometBFT key**: A unique key that is used to sign consensus votes. - It is associated with a public key `cosmosvalconspub` (To get this value, run `gaiad tendermint show-validator`) - It is generated when the node is created with `gaiad init`. - **Application key**: This key is created from the `gaiad` binary and is used to sign transactions. Application keys are associated with a public key that is prefixed by `cosmospub` and an address that is prefixed by `cosmos`. -The Tendermint key and the application key are derived from account keys that are generated by the `gaiad keys add` command. +The Tendermint/CometBFT key and the application key are derived from account keys that are generated by the `gaiad keys add` command. **Note:** A validator's operator key is directly tied to an application key and uses the `cosmosvaloper` and `cosmosvaloperpub` prefixes that are reserved solely for this purpose. @@ -112,7 +112,7 @@ Delegators are free to choose validators according to their own subjective crite - **Track record:** Delegators review the track record of the validators they plan to delegate to. This track record includes past votes on proposals and historical average uptime. - **Community contributions:** Another (more subjective) criteria is the work that validators have contributed to the community, such as educational content, participation in the community channels, contributions to open source software, etc. -Apart from these criteria, validators send a `create-validator` transaction to signal a website address to complete their resume. Validators must build reputation one way or another to attract delegators. For example, a good practice for validators is to have a third party audit their setup. Note though, that the Tendermint team does not approve or conduct any audits themselves. For more information on due diligence, see the [A Delegator’s Guide to Staking](https://medium.com/@interchain_io/3d0faf10ce6f) blog post. +Apart from these criteria, validators send a `create-validator` transaction to signal a website address to complete their resume. Validators must build reputation one way or another to attract delegators. For example, a good practice for validators is to have a third party audit their setup. Note though, that the CometBFT team does not approve or conduct any audits themselves. For more information on due diligence, see the [A Delegator’s Guide to Staking](https://medium.com/@interchain_io/3d0faf10ce6f) blog post. ## Responsibilities @@ -249,7 +249,7 @@ The community is expected to behave in a smart and self-preserving way. When a m A modest level of hardware specifications is initially required and rises as network use increases. Participating in the testnet is the best way to learn more. You can find the current hardware recommendations in the [Joining Mainnet documentation](../hub-tutorials/join-mainnet.md). -Validators are recommended to set up [sentry nodes](https://docs.tendermint.com/v0.34/tendermint-core/validators.html) to protect your validator node from DDoS attacks. +Validators are recommended to set up [sentry nodes](https://docs.cometbft.com/v0.34/core/validators) to protect your validator node from DDoS attacks. ### What are software requirements? @@ -296,4 +296,4 @@ Validator nodes are expected to connect only to full nodes they trust because th Sentry nodes can be quickly spun up or change their IP addresses. Because the links to the sentry nodes are in private IP space, an internet-based attack cannot disturb them directly. This strategy ensures that validator block proposals and votes have a much higher chance to make it to the rest of the network. -For more sentry node details, see the [Tendermint Documentation](https://docs.tendermint.com/v0.34/tendermint-core/validators.html) or the [Sentry Node Architecture Overview](https://forum.cosmos.network/t/sentry-node-architecture-overview/454) on the forum. +For more sentry node details, see the [CometBFT Documentation](https://docs.cometbft.com/v0.34/core/validators) or the [Sentry Node Architecture Overview](https://forum.cosmos.network/t/sentry-node-architecture-overview/454) on the forum. diff --git a/docs/validators/validator-setup.md b/docs/validators/validator-setup.md index bdd0abaa651..548829568a1 100644 --- a/docs/validators/validator-setup.md +++ b/docs/validators/validator-setup.md @@ -138,7 +138,7 @@ the block. ## Advanced configuration -You can find more advanced information about running a node or a validator on the [Tendermint Core documentation](https://docs.tendermint.com/v0.34/tendermint-core/validators.html). +You can find more advanced information about running a node or a validator on the [CometBFT Core documentation](https://docs.cometbft.com/v0.34/core/validators). ## Common Problems diff --git a/docs/zh/delegator/delegator-guide-cli.md b/docs/zh/delegator/delegator-guide-cli.md index 998153a2fa9..9db6d827c02 100644 --- a/docs/zh/delegator/delegator-guide-cli.md +++ b/docs/zh/delegator/delegator-guide-cli.md @@ -9,7 +9,7 @@ **重要提示**:请务必按照下面的操作步骤谨慎操作,过程中发生任何错误都有可能导致您永远失去所拥有的通证。因此,请在开始操作之前先仔细阅读全文,如果有任何问题可以联系我们获得支持。 -另请注意,您即将要与Cosmos Hub进行交互,Cosmos Hub仍然是一个试验型的区块链技术软件。虽然Cosmos Hub区块链是应用现有最新技术开发并经过审核的,但我们仍然可能会在运行时遇到问题,需要不断更新和修复漏洞。此外,使用区块链技术仍然要求有很高的技术能力,并且有可能遇到我们无法预知和控制的风险。使用Cosmos Hub前,您需要充分了解与加密软件相关的潜在风险(请参考[Cosmos跨链贡献条款](https://github.com/cosmos/cosmos/blob/master/fundraiser/Interchain%20Cosmos%20Contribution%20Terms%20-%20FINAL.pdf)中关于风险的部分条款),并且我们跨链基金会和(或)Tendermint团队对于因为使用本产品而可能产生的损失不承担任何责任。使用Cosmos Hub需要遵守Apache 2.0开源软件授权条款,用户需要自己承担所有责任,所使用的软件按“现状”提供且不提供任何形式的保障或条件。 +另请注意,您即将要与Cosmos Hub进行交互,Cosmos Hub仍然是一个试验型的区块链技术软件。虽然Cosmos Hub区块链是应用现有最新技术开发并经过审核的,但我们仍然可能会在运行时遇到问题,需要不断更新和修复漏洞。此外,使用区块链技术仍然要求有很高的技术能力,并且有可能遇到我们无法预知和控制的风险。使用Cosmos Hub前,您需要充分了解与加密软件相关的潜在风险(请参考[Cosmos跨链贡献条款](https://github.com/cosmos/cosmos/blob/master/fundraiser/Interchain%20Cosmos%20Contribution%20Terms%20-%20FINAL.pdf)中关于风险的部分条款),并且我们跨链基金会和(或)Tendermint/CometBFT团队对于因为使用本产品而可能产生的损失不承担任何责任。使用Cosmos Hub需要遵守Apache 2.0开源软件授权条款,用户需要自己承担所有责任,所使用的软件按“现状”提供且不提供任何形式的保障或条件。 ::: 请务必谨慎行事! diff --git a/docs/zh/gaia-tutorials/join-mainnet.md b/docs/zh/gaia-tutorials/join-mainnet.md index 1d81627ab97..5769f1071e1 100644 --- a/docs/zh/gaia-tutorials/join-mainnet.md +++ b/docs/zh/gaia-tutorials/join-mainnet.md @@ -78,7 +78,7 @@ gaiad start 你还可以到[验证人Riot聊天室](https://riot.im/app/#/room/#cosmos-validators:matrix.org)里询问可用节点。 -你可以阅读[这里](https://github.com/tendermint/tendermint/blob/develop/docs/tendermint-core/using-tendermint.md#peers)了解更多伙伴节点和种子节点的信息。 +你可以阅读[这里](https://github.com/cometbft/cometbft/blob/main/docs/core/using-cometbft.md#peers)了解更多伙伴节点和种子节点的信息。 ::: 警告 在Cosmos Hub主网中,可接受的币种是`uatom`,`1atom = 1.000.000uatom` diff --git a/docs/zh/resources/gaiad.md b/docs/zh/resources/gaiad.md index f23a1861334..a8e8289ab75 100644 --- a/docs/zh/resources/gaiad.md +++ b/docs/zh/resources/gaiad.md @@ -93,10 +93,10 @@ gaiad keys list gaiad tendermint show-validator ``` -请注意,这是Tendermint的签名密钥,而不是你在委托交易中使用的操作员密钥。 +请注意,这是CometBFT的签名密钥,而不是你在委托交易中使用的操作员密钥。 ::: danger Warning -我们强烈建议不要对多个密钥使用相同的密码。Tendermint 团队和 Interchain Foundation 将不承担资金损失的责任。 +我们强烈建议不要对多个密钥使用相同的密码。CometBFT 团队和 Interchain Foundation 将不承担资金损失的责任。 ::: #### 生成多签公钥 diff --git a/docs/zh/resources/genesis.md b/docs/zh/resources/genesis.md index 76a84d85bb2..e02167ad437 100644 --- a/docs/zh/resources/genesis.md +++ b/docs/zh/resources/genesis.md @@ -33,7 +33,7 @@ genesis 文件中定义的状态包含所有必要的信息,如初始令牌分 ## 共识参数 -接下来,创世文件定义共识参数。 共识参数覆盖与共识层相关的所有参数,`gaia` 的共识层是 `Tendermint`。 我们来看看这些参数: +接下来,创世文件定义共识参数。 共识参数覆盖与共识层相关的所有参数,`gaia` 的共识层是 `CometBFT`。 我们来看看这些参数: - `block` - `max_bytes`: 每个块的最大字节数。 diff --git a/docs/zh/validators/overview.md b/docs/zh/validators/overview.md index 1655e51c38f..c80f9ff1e4b 100644 --- a/docs/zh/validators/overview.md +++ b/docs/zh/validators/overview.md @@ -3,11 +3,11 @@ ## 介绍 -Cosmos Hub基于Tendermint,它依赖于一组负责在区块链中提交新区块的验证人。这些验证人通过广播投票来参与共识协议,投票包含由每个验证人的私钥签名的加密签名。 +Cosmos Hub基于CometBFT,它依赖于一组负责在区块链中提交新区块的验证人。这些验证人通过广播投票来参与共识协议,投票包含由每个验证人的私钥签名的加密签名。 验证人候选者可以绑定他们自己的Atoms=,还能让token持有者将Atoms=“委托”或“抵押”给他们。Cosmos Hub将有100个验证人,但随着时间的推移,将根据预定义的时间表增加到300个验证人。验证人根据谁拥有最多的投票权来确定——拥有最多股权的前100名验证人候选者将成为Cosmos的验证人。 -验证人及其委托人能通过执行Tendermint共识协议赚取Atom作为区块增发奖励和作为交易手续费的其他token。最初,交易费用将以Atom支付,但在将来,Cosmos生态中的任何token如果通过治理加入到白名单中,就能作为有效的交易手续费。请注意,验证人可以设置从他们的委托人身上收取的佣金作为额外奖励。 +验证人及其委托人能通过执行CometBFT共识协议赚取Atom作为区块增发奖励和作为交易手续费的其他token。最初,交易费用将以Atom支付,但在将来,Cosmos生态中的任何token如果通过治理加入到白名单中,就能作为有效的交易手续费。请注意,验证人可以设置从他们的委托人身上收取的佣金作为额外奖励。 如果验证人双签,频繁下线或不参与治理,则可以削减其抵押的Atom(包括那些用户委托给他们的Atom)。处罚取决于违规的严重程度。 diff --git a/docs/zh/validators/security.md b/docs/zh/validators/security.md index d2a0aee75d9..bdeb6f07b08 100644 --- a/docs/zh/validators/security.md +++ b/docs/zh/validators/security.md @@ -9,7 +9,7 @@ 为了支持Cosmos Hub,HSM模块必须要支持`ed25519`签名。YubiHSM2支持了`ed25519`,我们期望在2017年12月时,能有一个可以使用的库。YubiHSM可以保护私钥但是不能确保它不会去重复签署一个区块。 -Tendermint团队也在为拓展Ledger Nano S应用以支持验证人签名做贡献。这个应用将会储存最近的区块,并能降低双重签名攻击的风险。 +CometBFT团队也在为拓展Ledger Nano S应用以支持验证人签名做贡献。这个应用将会储存最近的区块,并能降低双重签名攻击的风险。 我们会在有更多关于密钥保存安全的可行的解决方案出现时更新这个文档。 @@ -48,7 +48,7 @@ private_peer_ids = "ipaddress of validator nodes" 默认情况下,具有以下前缀的大写环境变量将替换小写命令行标志: + `GA`(对应Gaia的标识) -+ `TM`(对应Tendermint的标识) ++ `TM`(对应Tendermint, 现在 CometBFT的标识) + `BC`(对应democli或basecli的标识) 例如,环境变量`GA_CHAIN_ID`将映射到命令行标识`--chain-id`。注意,虽然显式命令行标识优先于环境变量,但环境变量优先于任何配置文件。因此,必须锁定环境,以便在CLI上将任何关键参数定义为标识或防止修改任何环境变量。 diff --git a/docs/zh/validators/validator-faq.md b/docs/zh/validators/validator-faq.md index 96f9544aef1..492d6c2a80c 100644 --- a/docs/zh/validators/validator-faq.md +++ b/docs/zh/validators/validator-faq.md @@ -9,7 +9,7 @@ ### 什么是验证人? -[Cosmos Hub](../what-is-gaia.md)基于[Tendermint](https://tendermint.com/docs/introduction/what-is-tendermint.html),它依靠一组验证人来保障网络的安全。验证人的作用是通过广播包含由验证人的私钥签名的加密签名的投票来运行全节点并参与共识。验证人在区块链中提交新的区块并获得收益作为报酬。他们还必须通过对提案进行投票来参与治理。验证人根据他们的总抵押股权来排位。 +[Cosmos Hub](../what-is-gaia.md)基于[CometBFT](https://docs.cometbft.com/v0.34/introduction/what-is-cometbft),它依靠一组验证人来保障网络的安全。验证人的作用是通过广播包含由验证人的私钥签名的加密签名的投票来运行全节点并参与共识。验证人在区块链中提交新的区块并获得收益作为报酬。他们还必须通过对提案进行投票来参与治理。验证人根据他们的总抵押股权来排位。 ### 什么是'抵押'? @@ -78,7 +78,7 @@ Cosmos Hub是一个权益证明(PoS)区块链,意味着验证人的权重 简而言之有两种密钥: -+ **Tendermint Key** :这是用于对区块哈希进行签名的唯一密钥。它与一个公钥`cosmosvalconspub`相关联。 ++ **CometBFT/Tendermint Key** :这是用于对区块哈希进行签名的唯一密钥。它与一个公钥`cosmosvalconspub`相关联。 + 使用`gaiad init`创建节点时生成。 + 使用`gaiad tendermint show-validator`查看,如`cosmosvalconspub1zcjduc3qcyj09qc03elte23zwshdx92jm6ce88fgc90rtqhjx8v0608qh5ssp0w94c`。 + **Application keys** :这些密钥是由应用程序创建的,用于签名交易。作为验证人,你可能会使用一个密钥来签名与抵押相关的交易,另一个密钥用于签署与治理相关的交易。应用程序私钥和公钥`cosmospub`及地址`cosmos`相关联。两者都来自`gaiad keys add`生成的帐户私钥。 @@ -113,7 +113,7 @@ Cosmos Hub是一个权益证明(PoS)区块链,意味着验证人的权重 + **佣金比率**: 在把奖励分散给委托人之前抽成一部分佣金来奖励验证人。 + **跟踪记录**:委托人很可能去查看他们计划去委托的验证人的行为记录。包括资历,过去对提议的投票,历史的平均运行时长和验证人节点掉线的频率。 -除去这些会展示在Cosmos Voyager上的评判标准,验证人还可能向公众展示一个网站来完善他们的简历。验证人需要通过多种方式去树立良好的声誉来吸引委托人。比如,验证人让第三方来审计他们的设置就是一个很好的实践。注意,Tendermint团队将不会批准和引导任何对自身的审计。有关尽职调查的更多信息,请参阅此[博客](https://medium.com/@interchain_io/3d0faf10ce6f) +除去这些会展示在Cosmos Voyager上的评判标准,验证人还可能向公众展示一个网站来完善他们的简历。验证人需要通过多种方式去树立良好的声誉来吸引委托人。比如,验证人让第三方来审计他们的设置就是一个很好的实践。注意,CometBFT团队将不会批准和引导任何对自身的审计。有关尽职调查的更多信息,请参阅此[博客](https://medium.com/@interchain_io/3d0faf10ce6f) ## 责任 @@ -278,7 +278,7 @@ Cosmos Hub中的验证人员和委托人可以就改变运行参数(例如区 + Ledger BOLOS SGX enclave + Thales nShield support -Tendermint团队不会推荐上面的其中之一。鼓励社区最好加强改进HSM和密钥管理的安全性。 +CometBFT团队不会推荐上面的其中之一。鼓励社区最好加强改进HSM和密钥管理的安全性。 ### 在操作上我们期望验证人可以做到哪些?