Cosmos (ATOM) è una criptovaluta.
Maggiori informazioni possono essere trovate su https://cosmos.network/.
# | 1h | 24h | 7g | 24h Vol | Price | |
---|---|---|---|---|---|---|
26 |
|
-0,84 | -2,66 | -10,01 | 468,38M | 6,76 EUR |
State Machine Breaking
x/distribution
genesis state
now includes params
instead of individual parameters.x/genaccounts
module has been
deprecated and all components removed except the legacy/
package. This requires changes to the
genesis state. Namely, accounts
now exist under app_state.auth.accounts
. The corresponding migration
logic has been implemented for v0.38 target version. Applications can migrate via:
$ {appd} migrate v0.38 genesis.json
.ABCIEvidenceTypeDuplicateVote
during BeginBlock
along with the corresponding parameters (MaxEvidenceAge
) have moved from the
x/slashing
module to the x/evidence
module.x/distribution
parameters. Instead, follow the module spec in getting parameters, setting new value(s) and finally calling SetParams
.(Must)Bech32ify*
and (Must)Get*KeyBech32
functions in favor of (Must)Bech32ifyPubKey
and (Must)GetPubKeyFromBech32
respectively, both of which take a Bech32PubKeyType
(string).DecCoins#Add
parameter changed from DecCoins
to ...DecCoin
, Coins#Add
parameter changed from Coins
to ...Coin
.Error
interface (types/errors.go
)
has been removed in favor of the concrete type defined in types/errors/
which implements the standard error
interface.
Handler
and Querier
implementations now return a standard error
.
Within BaseApp
, runTx
now returns a (GasInfo, *Result, error)
tuple and runMsgs
returns a
(*Result, error)
tuple. A reference to a Result
is now used to indicate success whereas an error
signals an invalid message or failed message execution. As a result, the fields Code
, Codespace
,
GasWanted
, and GasUsed
have been removed the Result
type. The latter two fields are now found
in the GasInfo
type which is always returned regardless of execution outcome.error
, the types/errors/
package contains all the relevant and pre-registered errors that you typically work with. A typical
error returned will look like sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "...")
. You can retrieve
relevant ABCI information from the error via ABCIInfo
.CommitMultiStore
interface
now requires a SetInterBlockCache
method. Applications that do not wish to support this can simply
have this method perform a no-op.x/gov
module structure and dev-UX:
x/genaccounts
module has been deprecated and all components removed except the legacy/
package.x/auth
module and now live under x/auth/vesting
. Applications wishing to use vesting account types must be sure to register types via RegisterCodec
under the new vesting package.NewBaseVestingAccount
constructor returns an error
if the provided arguments are invalid.AnteHandler
via composable decorators:
AnteHandler
interface now returns (newCtx Context, err error)
instead of (newCtx Context, result sdk.Result, abort bool)
NewAnteHandler
function returns an AnteHandler
function that returns the new AnteHandler
interface and has been moved into the auth/ante
directory.ValidateSigCount
, ValidateMemo
, ProcessPubKey
, EnsureSufficientMempoolFee
, and GetSignBytes
have all been removed as public functions.InvalidPubKey
instead of Unauthorized
error, since the transaction
will first hit SetPubKeyDecorator
before the SigVerificationDecorator
runs.StdTx#GetSignatures
will return an array of just signature byte slices [][]byte
instead of
returning an array of StdSignature
structs. To replicate the old behavior, use the public field
StdTx.Signatures
to get back the array of StdSignatures []StdSignature
.HandleDoubleSign
along with params MaxEvidenceAge
and DoubleSignJailEndTime
have moved from the x/slashing
module to the x/evidence
module.NewKeyBaseFromDir
and NewInMemory
now accept optional parameters of type KeybaseOption
. These
optional parameters are also added on the keys sub-commands functions, which are now public, and allows
these options to be set on the commands or ignored to default to previous behavior.NewKeyBaseFromHomeFlag
constructor has been removed.keybase
package to make it more suitable for use with different key formats and algorithms:
WithKeygenFunc
function added as a KeybaseOption
which allows a custom bytes to key
implementation to be defined when keys are created.WithDeriveFunc
function added as a KeybaseOption
allows custom logic for deriving a key
from a mnemonic, bip39 password, and HD Path.keybase.CreateAccount()
. It is however the default when using
the client/keys
add command.SupportedAlgos
and SupportedAlgosLedger
functions return a slice of SigningAlgo
s that are
supported by the keybase and the ledger integration respectively.helpers.GenTx()
now accepts a gas argument.sdk.Context
is now passed into the router.Route()
function.AnteHandler
has
increased significantly due to modular AnteHandler
support. Increase GasLimit accordingly.MsgEditValidator
uses description
instead of Description
as a JSON key.keys migrate
command for more info.decode-tx
command from x/auth/client/cli, duplicate of the decode
command.x/evidence
module.q gov proposals
command now supports pagination.rootmulti.Store.LoadLatestVersionAndUpgrade
method in
Baseapp
supports StoreLoader
to enable various upgrade strategies. It no
longer panics if the store to load contains substores that we didn't explicitly mount.TxResponse
with a corresponding code
and tx hash will be returned for specific Tendermint errors:
CodeTxInMempoolCache
CodeMempoolIsFull
CodeTxTooLarge
go-keychain
library. If
you encounter this issue, you must upgrade your xcode command line tools to version >= 10.2
. You can
upgrade via: sudo rm -rf /Library/Developer/CommandLineTools; xcode-select --install
. Verify the
correct version via: pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
.--keyring-backend
option through which users can specify which backend should be used
by the new key store:
os
: use OS default credentials storage (default).file
: use encrypted file-based store.kwallet
: use KDE Wallet service.pass
: use the pass command line password manager.test
: use password-less key store. For testing purposes only. Use it at your own risk.keys migrate
command to assist users migrate their keys
to the new keyring.keys list
now accepts a --list-names
option to list key names only, whilst the keys delete
command can delete multiple keys by passing their names as arguments. The aforementioned commands can then be piped together, e.g.
appcli keys list -n | xargs appcli keys delete
PeriodicVestingAccount
vesting account type
that allows for arbitrary vesting periods.runTxModeReCheck
to allow applications to skip expensive and unnecessary re-checking of transactions.IsRecheckTx() bool
and WithIsReCheckTx(bool) Context
methods to to be used in the AnteHandler
.ctx.IsReCheckTx() == true
AnteHandler
via composable decorators:
AnteDecorator
interface has been introduced to allow users to implement modular AnteHandler
functionality that can be composed together to create a single AnteHandler
rather than implementing
a custom AnteHandler
completely from scratch, where each AnteDecorator
allows for custom behavior in
tightly defined and logically isolated manner. These custom AnteDecorator
can then be chained together
with default AnteDecorator
or third-party AnteDecorator
to create a modularized AnteHandler
which will run each AnteDecorator
in the order specified in ChainAnteDecorators
. For details
on the new architecture, refer to the ADR.ChainAnteDecorators
function has been introduced to take in a list of AnteDecorators
and chain
them in sequence and return a single AnteHandler
:
SetUpContextDecorator
: Sets GasMeter
in context and creates defer clause to recover from any
OutOfGas
panics in future AnteDecorators and return OutOfGas
error to BaseApp
. It MUST be the
first AnteDecorator
in the chain for any application that uses gas (or another one that sets the gas meter).ValidateBasicDecorator
: Calls tx.ValidateBasic and returns any non-nil error.ValidateMemoDecorator
: Validates tx memo with application parameters and returns any non-nil error.ConsumeGasTxSizeDecorator
: Consumes gas proportional to the tx size based on application parameters.MempoolFeeDecorator
: Checks if fee is above local mempool minFee
parameter during CheckTx
.DeductFeeDecorator
: Deducts the FeeAmount
from first signer of the transaction.SetPubKeyDecorator
: Sets pubkey of account in any account that does not already have pubkey saved in state machine.SigGasConsumeDecorator
: Consume parameter-defined amount of gas for each signature.SigVerificationDecorator
: Verify each signature is valid, return if there is an error.ValidateSigCountDecorator
: Validate the number of signatures in tx based on app-parameters.IncrementSequenceDecorator
: Increments the account sequence for each signer to prevent replay attacks.HistoricalEntries
which allows applications to determine how many recent historical info entries they want to persist in store. Default value is 0.keys add
cli command.--algo
and --hd-path
are added to
keys add
command in order to make use of keybase modularized. By default, it uses (0, 0) bip44
HD path and secp256k1 keys, so is non-breaking.ApproxRoot
function to sdk.Decimal type in order to get the nth root for a decimal number, where n is a positive integer.
ApproxSqrt
function was also added for convenience around the common case of n=2.--pruning
flag
has been moved to the configuration file, to allow easier node configuration.CLIContext
now supports multiple verifiers
when connecting to multiple chains. The connecting chain's CLIContext
will have to have the correct
chain ID and node URI or client set. To use a CLIContext
with a verifier for another chain:
// main or parent chain (chain as if you're running without IBC)
mainCtx := context.NewCLIContext()
// connecting IBC chain
sideCtx := context.NewCLIContext().
WithChainID(sideChainID).
WithNodeURI(sideChainNodeURI) // or .WithClient(...)
sideCtx = sideCtx.WithVerifier(
context.CreateVerifier(sideCtx, context.DefaultVerifierCacheSize),
)
x/auth
package now supports
generalized genesis accounts through the GenesisAccount
interface.x/auth
to match module spec.DiffKVStores
to return an array of KVPairs
that are then compared to check for inconsistencies.x/slashing
to match the new module specx/genaccounts
to match module specPrintAllInvariants
flag will print all failed invariantsInitialBlockHeight
flag to resume a simulation from a given block
SimApp
and simulation refactors:
SimulationManager
for executing modules' simulation functionalities in a modularized wayRegisterStoreDecoders
to the SimulationManager
for decoding each module's typesGenerateGenesisStates
to the SimulationManager
to generate a randomized GenState
for each moduleRandomizedParams
to the SimulationManager
that registers each modules' parameters in order to
simulate ParamChangeProposal
s' Content
sWeightedOperations
to the SimulationManager
that define simulation operations (modules' Msg
s) with their
respective weights (i.e chance of being simulated).ProposalContents
to the SimulationManager
to register each module's governance proposal Content
s.SimApp
keepers to be public and add getter functions for keys and codecConfig
struct that wraps simulation flagsABCI
application without bypassing BaseApp
semanticsApp
interface for general SDK-based app's methods.CommitKVStoreCacheManager
. Any application wishing to utilize an inter-block cache
must set it in their app via a BaseApp
option. The BaseApp
docs have been drastically improved
to detail this new feature and how state transitions occur.baseapp
, server
, store
s, context
and more.keeper
, handler
, messages
, queries
,...).Mod
(modulo) method and RelativePow
(exponentation) function for Uint
.x/distribution
s use of parameters. There
now exists a single Params
type with a getter and setter along with a getter for each individual parameter.x/distribution
endpoints to properly return height in the response.DefaultGenesis
returns valid and non-nil default genesis state.--min-self-delegation
for staking EditValidator
/gov/proposals
handler.24h | 24h Vol | Price | |
|
+5,72 | 48.502,67M | 28.268,03 EUR |
|
+7,91 | 35.270,27M | 1.175,17 EUR |
|
-0,91 | 80.406,77M | 0,83 EUR |
|
+0,21 | 2.522,49M | 14,70 EUR |
|
+0,45 | 2.448,33M | 0,23 EUR |
|
+1,17 | 1.967,81M | 0,30 EUR |
|
+0,03 | 3.033,22M | 19,87 EUR |
|
+3,47 | 5.132,59M | 118,85 EUR |
|
+4,55 | 3.957,49M | 376,64 EUR |
|
+3,15 | 406,41M | 35,34 EUR |
aggiornato 0 minuti fa da coinmarketcap.com |
Reward | Block | Difficulty | |
|
6 | 667573 | 20.823.531M |
|
2 | 11723564 | 4.316.592.170M |
|
6 | 671886 | 255.936M |
|
0 | 1331510 | 368.211M |
|
12 | 1989040 | 10M |
|
2 | 2282062 | 223.469M |
|
1 | 1410895 | 240M |
|
2 | 1124069 | 61M |
|
3 | 870443 | 29M |
|
3 | 12055366 | 109.954.107M |
aggiornato 8 ore fa da coinwarz.com |
S03E02 - Il blocco di Satana Bitcoin Italia Podcast - 4 days ago
S03E01 - Il ritorno Bitcoin Italia Podcast - 2 weeks ago