Injective 定义了自定义的
Account 类型,使用 Ethereum 的 ECDSA secp256k1 曲线作为密钥。这满足了 EIP84 对完整 BIP44 路径的要求。Injective 账户的根 HD 路径是 m/44'/60'/0'/0。
地址和公钥
Injective 默认有 3 种主要类型的Addresses/PubKeys:
- 账户的地址和密钥,用于识别用户(即
message的发送者)。它们使用eth_secp256k1曲线派生。 - 验证者操作员的地址和密钥,用于识别验证者的操作员。它们使用
eth_secp256k1曲线派生。 - 共识节点的地址和密钥,用于识别参与共识的验证者节点。它们使用
ed25519曲线派生。
客户端的地址格式
EthAccount 可以用 Bech32 和十六进制格式表示,以兼容 Ethereum 的 Web3 工具。
Bech32 格式是通过 CLI 和 REST 客户端进行 Cosmos-SDK 查询和交易的默认格式。十六进制格式是 Cosmos sdk.AccAddress 的 Ethereum common.Address 表示。
- 地址 (Bech32):
inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku - 地址 (EIP55 十六进制):
0xAF79152AC5dF276D9A8e1E2E22822f9713474902 - 压缩公钥:
{"@type":"/injective.crypto.v1beta1.ethsecp256k1.PubKey","key":"ApNNebT58zlZxO2yjHiRTJ7a7ufjIzeq5HhLrbmtg9Y/"}
Cosmos SDK Keyring 输出(即
injectived keys)仅支持 Bech32 格式的地址。从私钥/助记词派生 Injective 账户
以下是如何从私钥和/或助记词派生 Injective 账户的示例:子账户
Injective 子账户允许单个主钱包地址管理多个独立的交易账户。这对于高级用户,特别是专业交易者和做市商非常有用。主要功能和说明
- 程序化访问:此功能旨在通过 Injective 的原生 API 为程序化交易提供高度可访问性,服务于金融应用开发者。
- 高级账户管理:子账户功能提供复杂的账户管理能力,使用户(如机构或算法交易者)能够在单个主 Injective 地址内隔离资金和交易策略。
- 隔离和组织:一个子账户中的资金和订单与其他子账户隔离,这对于管理风险、运行不同的交易机器人或同时应用不同策略而不相互干扰至关重要。
- 无缝转账:用户可以使用 Injective 网络上的特定消息,轻松在主账户余额和各个子账户之间,以及不同子账户之间转移资产。
- 与 exchange 模块集成:子账户功能是 Injective 核心 exchange 模块的一部分,该模块包括用于现货、永续、期货和期权市场的链上订单簿和撮合引擎。
