Accounts
Last updated
Last updated
This section describes the built-in accounts system of Injective.
This document describes the built-in accounts system of Injective.
Pre-requisite Readings:
Injective defines its custom Account
type that uses Ethereum's ECDSA secp256k1 curve for keys. This satisfies the EIP84 for full BIP44 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.
Address bech32 Prefix | Pubkey bech32 Prefix | Curve | Address byte length | Pubkey byte length | |
---|---|---|---|---|---|
EthAccount
s can be represented in both Bech32 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
Address (EIP55 Hex): 0xAF79152AC5dF276D9A8e1E2E22822f9713474902
Compressed Public Key: {"@type":"/injective.crypto.v1beta1.ethsecp256k1.PubKey","key":"ApNNebT58zlZxO2yjHiRTJ7a7ufjIzeq5HhLrbmtg9Y/"}
You can query an account address using the Cosmos CLI or REST clients:
See the Swagger API reference for the full docs on the accounts API.
The Cosmos SDK Keyring output (i.e injectived keys
) only supports addresses in Bech32 format.
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:
Accounts
inj
injpub
eth_secp256k1
20
33
(compressed)
Validator Operator
injvaloper
injvaloperpub
eth_secp256k1
20
33
(compressed)
Consensus Nodes
injvalcons
injvalconspub
ed25519
20
32