|
|
@ -8,8 +8,12 @@ This guide provides instructions for upgrading to specific versions of Tendermin |
|
|
|
This release is not compatible with previous blockchains due to changes to |
|
|
|
the encoding format (see "Protocol Buffers," below) and the block header (see "Blockchain Protocol"). |
|
|
|
|
|
|
|
Note also that Tendermint 0.34 also requires Go 1.15 or higher. |
|
|
|
|
|
|
|
### ABCI Changes |
|
|
|
|
|
|
|
* The `ABCIVersion` is now `0.17.0`. |
|
|
|
|
|
|
|
* New ABCI methods (`ListSnapshots`, `LoadSnapshotChunk`, `OfferSnapshot`, and `ApplySnapshotChunk`) |
|
|
|
were added to support the new State Sync feature. |
|
|
|
Previously, syncing a new node to a preexisting network could take days; but with State Sync, |
|
|
@ -62,7 +66,7 @@ directory. For more, see "Protobuf," below. |
|
|
|
|
|
|
|
Tendermint now relies on the application to tell it which transactions to index. This means that |
|
|
|
in the `config.toml`, generated by Tendermint, there is no longer a way to specify which |
|
|
|
transactions to index. `tx.height` & `tx.hash` will always be indexed when using the `kv` indexer. |
|
|
|
transactions to index. `tx.height` and `tx.hash` will always be indexed when using the `kv` indexer. |
|
|
|
|
|
|
|
Applications must now choose to either a) enable indexing for all transactions, or |
|
|
|
b) allow node operators to decide which transactions to index. |
|
|
@ -108,7 +112,7 @@ Tendermint 0.34 includes new and updated consensus parameters. |
|
|
|
|
|
|
|
#### Evidence Parameters |
|
|
|
|
|
|
|
* `MaxNum`, which caps the total amount of evidence by a absolute number. The default is 50. |
|
|
|
* `MaxBytes`, which caps the total amount of evidence. The default is 1048576 (1 MB). |
|
|
|
|
|
|
|
### Crypto |
|
|
|
|
|
|
@ -168,16 +172,31 @@ Other user-relevant changes include: |
|
|
|
### `privval` Package |
|
|
|
|
|
|
|
All requests are now accompanied by the chain ID from the network. |
|
|
|
This is a optional field and can be ignored by key management systems. |
|
|
|
It is recommended to check the chain ID if using the same key management system for multiple chains. |
|
|
|
This is a optional field and can be ignored by key management systems; |
|
|
|
however, if you are using the same key management system for multiple different |
|
|
|
blockchains, we recommend that you check the chain ID. |
|
|
|
|
|
|
|
|
|
|
|
### RPC |
|
|
|
|
|
|
|
`/unsafe_start_cpu_profiler`, `/unsafe_stop_cpu_profiler` and |
|
|
|
`/unsafe_write_heap_profile` were removed. |
|
|
|
For profiling, please use the pprof server, which can |
|
|
|
be enabled through `--rpc.pprof_laddr=X` flag or `pprof_laddr=X` config setting |
|
|
|
in the rpc section. |
|
|
|
* `/unsafe_start_cpu_profiler`, `/unsafe_stop_cpu_profiler` and |
|
|
|
`/unsafe_write_heap_profile` were removed. |
|
|
|
For profiling, please use the pprof server, which can |
|
|
|
be enabled through `--rpc.pprof_laddr=X` flag or `pprof_laddr=X` config setting |
|
|
|
in the rpc section. |
|
|
|
* The `Content-Type` header returned on RPC calls is now (correctly) set as `application/json`. |
|
|
|
|
|
|
|
### Version |
|
|
|
|
|
|
|
Version is now set through Go linker flags `ld_flags`. Applications that are using tendermint as a library should set this at compile time. |
|
|
|
|
|
|
|
Example: |
|
|
|
|
|
|
|
```sh |
|
|
|
go install -mod=readonly -ldflags "-X github.com/tendermint/tendermint/version.TMCoreSemVer=$(go list -m github.com/tendermint/tendermint | sed 's/ /\@/g') -s -w " -trimpath ./cmd |
|
|
|
``` |
|
|
|
|
|
|
|
Additionally, the exported constant `version.Version` is now `version.TMCoreSemVer`. |
|
|
|
|
|
|
|
## v0.33.4 |
|
|
|
|
|
|
|