Documentation
¶
Index ¶
- Constants
- type ABCIResponses
- type AddressVersion
- type AllocItem
- type Allocation
- type BlockID
- type ChainInfo
- type Contract
- type ContractVersionList
- type CurrentNodeInfo
- type Header
- type Header_2_2
- type IBCContractInfo
- type KVPair
- type MessageIndex
- type Method
- type Packet
- type PartSetHeader
- type PktsProof
- type Precommit
- type QueueBlock
- type QueueChain
- type QueueRelay
- type Receipt
- type RelayController
- type Relayer
- type ResultABCIInfo
- type ResultABCIQuery
- type ResultBlock
- type ResultBlockResults
- type ResultBroadcastTxCommit
- type SignatureEd25519
- type State
Constants ¶
View Source
const ( AddressVersion1 = iota // 版本:主链ID + [侧链名称] + 地址编码 AddressVersion2 // 版本:主链ID + 地址编码 + "0" + base58.encode(侧链名称) )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ABCIResponses ¶
type ABCIResponses struct { DeliverTx []*abci.ResponseDeliverTx EndBlock *abci.ResponseEndBlock }
type AddressVersion ¶
type AddressVersion int32 // 侧链地址版本
type Allocation ¶
type Allocation []AllocItem
type BlockID ¶
type BlockID struct { Hash cmn.HexBytes `json:"hash"` PartsHeader PartSetHeader `json:"parts"` }
type ChainInfo ¶
type ChainInfo struct { SideChainName string `json:"sideChainName"` //侧链名称 ChainID string `json:"chainID"` //侧链ID NodeNames []string `json:"NodeNames"` //节点名称列表 OrgName string `json:"orgName"` //侧链所属组织名称 Owner string `json:"owner"` //侧链的所有者地址 Height int64 `json:"height"` //侧链创世时在主链上的高度 Status string `json:"status"` //侧链状态 GasPriceRatio string `json:"gasPriceRatio"` //燃料价格调整比例 AddrVersion AddressVersion `json:"addrVersion,omitempty"` //地址版本 }
type Contract ¶
type Contract struct { Address string `json:"address"` //合约地址 Account string `json:"account"` //合约的账户地址 Owner string `json:"owner"` //合约拥有者的账户地址 Name string `json:"name"` //合约名称 Version string `json:"version"` //合约版本 CodeHash cmn.HexBytes `json:"codeHash"` //合约代码的哈希 EffectHeight int64 `json:"effectHeight"` //合约生效的区块高度 LoseHeight int64 `json:"loseHeight"` //合约失效的区块高度 KeyPrefix string `json:"keyPrefix"` //合约在状态数据库中KEY值的前缀 Methods []Method `json:"methods"` //合约对外提供接口的方法列表 Interfaces []Method `json:"interfaces"` //合约提供的跨合约调用的方法列表 Mine []Method `json:"mine"` //合约提供的挖矿方法 IBCs []Method `json:"ibcs,omitempty"` //合约提供的执行跨链业务的方法列表 Token string `json:"token"` //合约代币地址 OrgID string `json:"orgID"` //组织ID ChainVersion int64 `json:"chainVersion"` //链版本 }
Contract contract detail information
type ContractVersionList ¶
type CurrentNodeInfo ¶
type Header ¶
type Header struct { ChainID string `json:"chain_id"` Height int64 `json:"height"` Time string `json:"time"` NumTxs int64 `json:"num_txs"` LastBlockID BlockID `json:"last_block_id"` TotalTxs int64 `json:"total_txs"` LastCommitHash cmn.HexBytes `json:"last_commit_hash"` DataHash cmn.HexBytes `json:"data_hash"` ValidatorsHash cmn.HexBytes `json:"validators_hash"` ConsensusHash cmn.HexBytes `json:"consensus_hash"` LastAppHash cmn.HexBytes `json:"last_app_hash"` LastResultsHash cmn.HexBytes `json:"last_results_hash"` EvidenceHash cmn.HexBytes `json:"evidence_hash"` LastFee uint64 `json:"last_fee,omitempty"` LastAllocation Allocation `json:"last_allocation,omitempty"` ProposerAddress string `json:"proposer_address,omitempty"` RewardAddress string `json:"reward_address,omitempty"` RandomOfBlock cmn.HexBytes `json:"random_of_block,omitempty"` LastMining *int64 `json:"last_mining,omitempty"` Version *string `json:"version,omitempty"` ChainVersion *int64 `json:"chain_version,omitempty"` LastQueueChains *QueueChain `json:"last_queue_chains,omitempty"` Relayer *Relayer `json:"relayer,omitempty"` }
type Header_2_2 ¶
type IBCContractInfo ¶
type KVPair ¶
type KVPair struct { Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` }
KVPair define key value pair
type MessageIndex ¶
type Method ¶
type Method struct { MethodID string `json:"methodId"` //方法ID Gas int64 `json:"gas"` //方法需要消耗的燃料 ProtoType string `json:"prototype"` //方法原型 }
Method method information
type Packet ¶
type Packet struct { FromChainID string `json:"fromChainID"` // 发起链的链ID(A) ToChainID string `json:"toChainID"` // 目标链的链ID(B) QueueID string `json:"queueID"` // 跨链通讯队列(A->B) Seq uint64 `json:"seq"` // (A->B)这个队列上跨链通讯包序号,从0开始累加+1 OrgID string `json:"orgID"` // 组织ID ContractName string `json:"contractName"` // 合约名称 IbcHash cmn.HexBytes `json:"ibcHash"` // 跨链事务哈希,通过此哈希从区块链上确认最终执行结果 Type string `json:"type"` // 跨链通讯类型:"tcctx", "notify" State State `json:"state"` // 状态 Receipts []KVPair `json:"receipts"` // 当前状态下需要传递到另一侧的应用层数据 }
type PartSetHeader ¶
type PktsProof ¶
type PktsProof struct { Packets []Packet `json:"packets"` // 跨链数据包列表 //Header Header `json:"header"` // 跨链数据包所在区块的区块头 Precommits []Precommit `json:"precommits"` // 每个验证者节点针对这个区块的投票及签名列表 }
PktsProof ibc proof and packet
type Precommit ¶
type Precommit struct { Round int `json:"round"` // 投票轮次 Timestamp string `json:"timestamp"` VoteType byte `json:"type"` // 投票类型 BlockID BlockID `json:"block_id"` ValidatorAddress string `json:"validator_address"` // 验证者节点地址 ValidatorIndex int `json:"validator_index"` // 验证者节点索引号 Signature SignatureEd25519 `json:"signature"` // 签名数据 }
Precommit
type QueueBlock ¶
type QueueChain ¶
type QueueChain struct {
QueueBlocks []QueueBlock `json:"ibc_queue_blocks"`
}
type QueueRelay ¶
type Receipt ¶
type Receipt struct { Name string `json:"name"` // 收据名称:标准名称(trnsfer,...) 非标准名称(...) ContractAddr string `json:"contractAddress"` // 合约地址 Bytes []byte `json:"receiptBytes"` Hash cmn.HexBytes `json:"receiptHash"` }
Receipt receipt information
type RelayController ¶
type RelayController struct { LocalURL string // local url ChainIDToURLs sync.Map // chainID => openURLs ChainIDToAddrVer sync.Map // chainID => addressVersion QueueIDToQueueRelay map[string]*QueueRelay // queueID => QueueRelay // contains filtered or unexported fields }
func GetRelayController ¶
func GetRelayController() *RelayController
GetRelayController get instance
func (*RelayController) SetNewHeader ¶
func (rc *RelayController) SetNewHeader(header *types.Header)
SetNewHeader determines whether to start or stop a relay by header
func (*RelayController) UpdateOpenURL ¶
func (rc *RelayController) UpdateOpenURL(chainID string, urls []string, addrVer int32)
UpdateOpenURL update relay controller.ChainIDToURLS, overwrite existing data.
type ResultABCIInfo ¶
type ResultABCIInfo struct {
Response abci.ResponseInfo `json:"response"`
}
Info abci msg
type ResultABCIQuery ¶
type ResultABCIQuery struct {
Response abci.ResponseQuery `json:"response"`
}
type ResultBlock ¶
type ResultBlockResults ¶
type ResultBlockResults struct { Height int64 `json:"height"` Results *ABCIResponses `json:"results"` }
type ResultBroadcastTxCommit ¶
type ResultBroadcastTxCommit struct { CheckTx abci.ResponseCheckTx `json:"check_tx,omitempt"` DeliverTx abci.ResponseDeliverTx `json:"deliver_tx,omitempt"` Hash cmn.HexBytes `json:"hash,omitempt"` Height int64 `json:"height,omitempt"` }
type SignatureEd25519 ¶
type SignatureEd25519 [64]byte
Click to show internal directories.
Click to hide internal directories.