Injective | Documentation
InjectiveGithub
Injective | 中文文档
Injective | 中文文档
  • 关于 Injective
  • 快速入门
    • 钱包
      • 创建钱包
      • 账户
      • 质押
      • 治理
      • 拍卖
    • 代币标准
      • INJ 代币
      • Token Factory
      • CW20 标准
    • 交易
      • Gas 和 Fees
  • 指南
    • 创建钱包
    • 桥接
      • From Ethereum
      • Using Wormhole
      • Using IBC
      • From Solana
    • 发布代币
    • 发布市场
    • Denom 元数据
    • 获取INJ
  • 工具包
    • injectived
      • 安装 injectived
      • 使用 injectived
      • 指令
    • Injective TS SDK
    • Injective Go SDK
    • Injective Python SDK
    • Injective CW SDK
    • The Graph
  • 参考
  • 术语表
  • 开发者
    • 快速入门
      • 指南
        • 测试网提案
        • 转换地址
        • 计算
          • 最低价格刻度
          • 最低数量刻度
    • 交易所开发者
      • 构建 DEX
      • 预言机提供方
    • Cosmwasm 开发者
      • 您的首个智能合约
      • 指南
        • 本地开发
        • 主网开发
        • 给部署地址白名单
        • 创建您的 Swap 合约
        • 创建 UIs
      • CW20 适配器
      • Injective Test Tube
    • 模块
      • Injective
        • 拍卖(Auction)
          • State
          • 消息
          • EndBlock
          • 事件
          • 参数
        • 交易所(Exchange)
          • 衍生品市场概念
          • 现货市场概念
          • 二元期权市场概念
          • 其他概念
          • 状态
          • 状态转换
          • 消息
          • 提案
          • BeginBlock
          • EndBlock
          • 事件
          • 参数
          • MsgPrivilegedExecuteContract
        • 保险(Insurance)
          • 状态
          • 状态转换
          • 消息
          • EndBlock
          • 事件
          • 参数
          • 改进
        • OCR
          • 概念
          • 状态
          • 消息
          • 提案
          • BeginBlock
          • 钩子(Hooks)
          • 事件
          • 参数
        • 预言机(Oracle)
          • 状态
          • Keeper
          • 消息
          • 提案
          • 事件
          • 改进
        • Peggy
          • 定义
          • 工作流
          • 状态
          • 消息
          • 处罚
          • EndBlock
          • 事件
          • 参数
          • 中继语义
          • 改进
        • 权限(Permissions)
          • 概念
          • 状态
          • 状态转换
        • 代币工厂(TokenFactory)
          • 概念
          • 状态
          • 消息
          • 事件
          • 参数
        • WasmX
          • 概念
          • 数据
          • 提案
          • 消息
          • 参数
      • 核心
        • Auth
        • AuthZ
        • 银行(Bank)
        • 共识(Consensus)
        • 危机(Crisis)
        • 分发(Distribution)
        • 证据(Evidence)
        • 费用授权(Feegrant)
        • 治理(Gov)
        • 群组(Group)
        • 铸造(Mint)
        • NFT
        • 参数(Params)
        • 惩罚(Slashing)
        • 质押(Staking)
        • 升级(Upgrade)
        • Circuit
        • Genutils
    • dApps 开发文档
  • 节点
    • 快速入门
      • 和节点交互
      • 运行节点
        • 设置密钥环
        • 加入网络
        • Cosmovisor
        • 升级您的节点
    • 验证者
      • 主网
        • Peggo
        • 规范链升级
          • Upgrade to 10002-rc1
          • Upgrade to 10002-rc2
          • Upgrade to 10003-rc1
          • Upgrade to 10004-rc1
          • Upgrade to 10004-rc1-patch
          • Upgrade to 10005-rc1
          • Upgrade to 10006-rc1
          • Upgrade to 10007-rc1
          • Upgrade to 10008 - Camelot
          • Upgrade to 10009
          • Upgrade to v1.10
          • Upgrade to v1.11
          • Upgrade to v1.12.0 - Volan
          • Upgrade to v1.12.1
          • Upgrade to v1.13.0 - Altaris
          • Upgrade to v1.13.2
          • Upgrade to v1.13.3
          • Upgrade to v1.14.0
          • Upgrade to v1.14.1
      • 测试网
        • 测试网 Peggo
    • 公共端点
    • 高级端点
    • Injective 索引器设置
  • 交易员
    • 快速入门
    • 文档
    • API 参考
  • 常用链接
    • Injective 101
    • Injective Hub
    • Injective 浏览器
    • Chain API Reference
    • Indexer API Reference
    • 测试网水龙头
Powered by GitBook
On this page
  • Module Params
  • Validator Info
  • Valset
  • SlashedValsetNonce
  • ValsetNonce
  • Valset Confirmation
  • Batch Confirmation
  • OutgoingTransferTx
  • LastTXPoolID
  • OutgoingTxBatch
  • LastOutgoingBatchID
  • SlashedBlockHeight
  • LastUnbondingBlockHeight
  • TokenContract & Denom
  • LastObservedValset
  • LastEventNonce
  • LastObservedEthereumHeight
  • LastEventByValidator
  • Attestation
  • PastEthSignatureCheckpoint
  • EthereumBlacklist
Export as PDF
  1. 开发者
  2. 模块
  3. Injective
  4. Peggy

状态

Previous工作流Next消息

Last updated 2 months ago

该文档列出了Peggy模块读取/写入其状态的所有数据,以键值对(KV对)的形式。

Module Params

Params是一个模块范围的配置结构,存储参数并定义Peggy模块的整体功能。每个参数的详细规范可以在找到。

键
值
类型
编码

[]byte{0x4}

Module params

types.Params

Protobuf encoded

Validator Info

Ethereum Address by Validator

存储由验证者账户地址索引的委托以太坊地址。

键
值
类型
编码

[]byte{0x1} + []byte(validatorAddr)

Ethereum address

common.Address

Protobuf encoded

Validator by Ethereum Address

存储由委托以太坊地址索引的验证者账户地址。

键
值
类型
编码

[]byte{0xfb} + []byte(ethAddress)

Validator address

sdk.ValAddress

Protobuf encoded

OrchestratorValidator

当验证者希望将其投票权委托给另一个密钥时,值使用协调器地址作为键进行存储。

键
值
类型
编码

[]byte{0xe8} + []byte(AccAddress)

Orchestrator address assigned by a validator

[]byte

Protobuf encoded

Valset

这是桥接的验证者集合。由Peggy模块在EndBlocker期间自动创建。 以两种方式存储,第一种是带高度,第二种是没有高度(不安全)。没有高度的方式用于测试以及状态的导出和导入。

type Valset struct {
	Nonce        uint64                               
	Members      []*BridgeValidator                   
	Height       uint64                               
	RewardAmount math.Int 
	RewardToken string
}
键
值
类型
编码

[]byte{0x2} + nonce (big endian encoded)

Validator set

types.Valset

Protobuf encoded

SlashedValsetNonce

最新的验证者集合处罚计数器。用于跟踪需要被处罚的验证者集合以及已经被处罚的验证者集合。

键
值
类型
编码

[]byte{0xf5}

Nonce

uint64

encoded via big endian

ValsetNonce

最新验证者集合的计数器。每次新的验证者集合更新时,都会更新该计数器。

键
值
类型
编码

[]byte{0xf6}

Nonce

uint64

encoded via big endian

Valset Confirmation

键
值
类型
编码

[]byte{0x3} + (nonce + []byte(AccAddress)

Validator Confirmation

types.MsgValsetConfirm

Protobuf encoded

Batch Confirmation

键
值
类型
编码

[]byte{0xe1} + []byte(tokenContract) + nonce + []byte(AccAddress)

Validator Batch Confirmation

types.MsgConfirmBatch

Protobuf encoded

OutgoingTransferTx

用户的提取请求被汇集到Peggy交易池中,准备由批次创建者稍后批量处理。 每个提取请求都通过一个唯一的计数器进行索引,该计数器由Peggy模块在接收到提取请求时设置。

type OutgoingTransferTx struct {
	Id          uint64     
	Sender      string     
	DestAddress string     
	Erc20Token  *ERC20Token 
	Erc20Fee    *ERC20Token 
}
键
值
类型
编码

[]byte{0x7} + []byte("lastTxPoolId")

nonce of outgoing withdrawal

uint64

Big endian encoded

LastTXPoolID

每个由Injective接收到的提取请求的单调递增值。

键
值
类型
编码

[]byte{0x6} + []byte("lastTxPoolId")

Last used withdrawal ID

uint64

Big endian encoded

OutgoingTxBatch

type OutgoingTxBatch struct {
	BatchNonce    uint64               
	BatchTimeout  uint64               
	Transactions  []*OutgoingTransferTx 
	TokenContract string                
	Block         uint64               
}
键
值
类型
编码

[]byte{0xa} + []byte(tokenContract) + nonce (big endian encoded)

A batch of outgoing transactions

types.OutgoingTxBatch

Protobuf encoded

[]byte{0xb} + block (big endian encoded)

A batch of outgoing transactions

types.OutgoingTxBatch

Protobuf encoded

LastOutgoingBatchID

每个由批次创建者在Injective上创建的批次的单调递增值。

键
值
类型
编码

[]byte{0x7} + []byte("lastBatchId")

Last used batch ID

uint64

Big endian encoded

SlashedBlockHeight

表示最新的处罚区块高度。始终只存储一个值。

键
值
类型
编码

[]byte{0xf7}

Latest height a batch slashing occurred

uint64

Big endian encoded

LastUnbondingBlockHeight

表示验证者开始从验证者集合中解除绑定的最新区块高度。用于确定处罚条件。

键
值
类型
编码

[]byte{0xf8}

Latest height at which a Validator started unbonding

uint64

Big endian encoded

TokenContract & Denom

一个来自计数链的代币标识符将来自一个合约。代币合约和代币标识符以两种方式存储。 首先,代币标识符作为键,值为代币合约。 其次,合约作为键,值为代币合约所代表的代币标识符。

键
值
类型
编码

[]byte{0xf3} + []byte(denom)

Token contract address

[]byte

stored in byte format

[]byte{0xf4} + []byte(tokenContract)

Token denom

[]byte

stored in byte format

LastObservedValset

此条目表示最后一次成功中继到以太坊的验证者集合(Valset)。在ValsetUpdatedEvent的确认在Injective上处理后进行更新。

键
值
类型
编码

[]byte{0xfa}

Last observed Valset on Ethereum

types.Valset

Protobuf encoded

LastEventNonce

这是在以太坊上最后一次观察到的事件的计数器。当调用TryAttestation()时设置此值。此存储中始终只持有一个值。

键
值
类型
编码

[]byte{0xf2}

Last observed event nonce

uint64

Big endian encoded

LastObservedEthereumHeight

这是在以太坊上最后一次观察到的事件的区块高度。此存储中始终只会存储一个值。

键
值
类型
编码

[]byte{0xf9}

Last observed Ethereum Height

uint64

Protobuf encoded

LastEventByValidator

这是来自特定验证者的最后一个观察到的以太坊事件。每次关联的协调器发送事件声明时都会更新。

type LastClaimEvent struct {
    EthereumEventNonce  uint64 
    EthereumEventHeight uint64 
}
键
值
类型
编码

[]byte{0xf1} + []byte(validator address)

Last observed event by some Validator

types.LastClaimEvent

Protobuf encoded

Attestation

确认是多个声明的汇总,随着更多的投票(声明)到来,最终被所有协调器观察到。一旦被观察到,该声明的特定逻辑将被执行。 每个确认都绑定到一个唯一的事件计数器(由Peggy合约生成),并且必须按顺序处理。这是一个正确性问题,如果事务顺序被打乱,则可能会发生交易重放攻击。

type Attestation struct {
	Observed bool       
	Votes    []string   
	Height   uint64     
	Claim    *types.Any 
}
键
值
类型
编码

[]byte{0x5} + event nonce (big endian encoded) + []byte(claimHash)

Attestation of occurred events/claims

types.Attestation

Protobuf encoded

PastEthSignatureCheckpoint

一个计算出的哈希值,表明某个验证者集合/代币批次在Injective上确实存在。此检查点也存在于Peggy合约中。在每次新的验证者集合更新和代币批次创建时都会更新。

键
值
类型
编码

[]byte{0x1b}

Last created checkpoint hash on Injective

gethcommon.Hash

store in byte format

EthereumBlacklist

已知的恶意以太坊地址列表,这些地址被禁止使用桥接。

键
值
类型
编码

[]byte{0x1c} + []byte(ethereum address)

Empty []byte slice

gethcommon.Hash

stored in byte format]

特定验证者集合的签名者确认。请参阅。

特定代币批次的签名者确认。请参阅。

OutgoingTxBatch表示同一代币类型的提取请求集合。在每次成功的MsgRequestBatch后创建。 以两种方式存储,第一种是带高度,第二种是没有高度(不安全)。没有高度的方式用于测试以及状态的导出和导入。目前, 被硬编码为只接受单一代币类型的批次,并且仅以该代币类型支付奖励。

Parameters部分
Oracle消息
Oracle消息
Peggy.sol