Accounts
Last updated
Last updated
This section describes the built-in accounts system of Injective.
Injective defines its custom Account
type that uses Ethereum's ECDSA secp256k1 curve for keys. This satisfies the for full paths. The root HD path for Injective-based accounts is m/44'/60'/0'/0
.
There are 3 main types of Addresses
/PubKeys
available by default on Injective:
Addresses and Keys for accounts, that identify users (i.e., the sender of a message
). They are derived using the eth_secp256k1
curve.
Addresses and Keys for validator operators, which identify the operators of validators. They are derived using the eth_secp256k1
curve.
Addresses and Keys for consensus nodes, which identify the validator nodes participating in consensus. They are derived using the ed25519
curve.
Accounts
inj
injpub
eth_secp256k1
20
33
(compressed)
Validator Operator
injvaloper
injvaloperpub
eth_secp256k1
20
33
(compressed)
Consensus Nodes
injvalcons
injvalconspub
ed25519
20
32
EthAccount
s can be represented in both and hex format for Ethereum's Web3 tooling compatibility.
The Bech32 format is the default format for Cosmos-SDK queries and transactions through CLI and REST clients. The hex format is the Ethereum common.Address
representation of a Cosmos sdk.AccAddress
.
Address (Bech32): inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku
Compressed Public Key: {"@type":"/injective.crypto.v1beta1.ethsecp256k1.PubKey","key":"ApNNebT58zlZxO2yjHiRTJ7a7ufjIzeq5HhLrbmtg9Y/"}
You can query an account address using the Cosmos CLI or REST clients:
Below is an example of how to derive an Injective Account from a private key and/or a mnemonic phrase:
Below is an example of how to derive a public key from a private key:
Address ( Hex): 0xAF79152AC5dF276D9A8e1E2E22822f9713474902
See the reference for the full docs on the accounts API.