# Example KMS configuration file # # This is just an example for reference. You can now use the following command # to generate a customizable configuration based on your preferences: # # $ tmkms init [-n cosmoshub,irishub,...] /path/to/tmkms/homedir # Information about Tendermint blockchain networks this KMS services # # - id: The chain ID for this chain # - key_format: How this chain handles serialization. Type may be "bech32", "cosmos-json" or "hex" # - state_file (optional): path to where the state of the last signing operation is persisted # - state_hook (optional): user-specified command to run on startup to obtain the current height # of this chain. The command should output JSON which looks like the following: # {"latest_block_height": "347290"} [[chain]] id = "cosmoshub-3" key_format = { type = "bech32", account_key_prefix = "cosmospub", consensus_key_prefix = "cosmosvalconspub" } sign_extensions = false # Should vote extensions for this chain be signed? (default: false) # state_file = "/path/to/cosmoshub_priv_validator_state.json" # state_hook = { cmd = ["/path/to/block/height_script", "--example-arg", "cosmoshub"] } [[chain]] id = "irishub" key_format = { type = "bech32", account_key_prefix = "iap", consensus_key_prefix = "icp" } # state_file = "/path/to/irishub_priv_validator_state.json" [[chain]] id = "agoricdev-4" key_format = { type = "cosmos-json" } # state_file = "/path/to/agoricdev_priv_validator_state.json" ## Validator configuration [[validator]] addr = "tcp://f88883b673fc69d7869cab098de3bafc2ff76eb8@example1.example.com:26658" # or addr = "unix:///path/to/socket" chain_id = "cosmoshub-3" reconnect = true # true is the default secret_key = "path/to/secret_connection.key" # max_height = "500000" protocol_version = "v0.34" # or "v0.33" (i.e. Tendermint version) ## Signing provider configuration # enable the `yubihsm` feature to use this backend [[providers.yubihsm]] adapter = { type = "usb" } auth = { key = 1, password_file = "/path/to/password" } # or pass raw password as `password` keys = [ { chain_ids = ["cosmoshub-3"], key = 1, type = "consensus" } # { chain_ids = ["irishub"], key = 2, type = "account" } ] #serial_number = "0123456789" # identify serial number of a specific YubiHSM to connect to #connector_server = { laddr = "tcp://127.0.0.1:12345", cli = { auth_key = 2 } } # run yubihsm-connector compatible server # enable the `ledger` feature to use this backend #[[providers.ledgertm]] #chain_ids = ["cosmoshub-3"] # enable the `softsign` feature to use this backend # note: the `yubihsm` or `ledger` backends are preferred over this one [[providers.softsign]] chain_ids = ["cosmoshub-3"] key_type = "consensus" path = "path/to/consensus-ed25519.key" # generate using `tmkms softsign keygen -t consensus consensus-ed25519.key` # the `softsign` backend also supports account keys #[[providers.softsign]] #chain_ids = ["irishub"] #key_type = "account" #path = "path/to/account-secp256k1.key" # generate using `tmkms softsign keygen -t account account-secp256k1.key` ## (Optional) Transaction signer configuration # example transaction signer: sign StdTx-strucutred transactions with a KMS-managed key # [[tx_signer]] # chain_id = "irishub" # schema = "iris_tx_schema.toml" # See example TERRA_SCHEMA at https://docs.rs/stdtx#usage # account_number = 101072 # account_address = "iap1qqqsyqcyq5rqwzqfpg9scrgwpugpzysnfxh53h" # must be in the keyring for this chain # acl = { msg_type = ["oracle/MsgExchangeRatePrevote", "oracle/MsgExchangeRateVote"] } # poll_interval = { blocks = 5 } # source = { protocol = "jsonrpc", uri = "http://127.0.0.1:23456" } # rpc = { addr = "tcp://127.0.0.1:26657" } # seq_file = "irishub-account-seq.json"