Accounts
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
.
Addresses and Public Keys
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 theeth_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
Address formats for clients
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.
Derive Injective Account from a private key/mnemonic
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:
Last updated