Documentation
¶
Index ¶
- func CopyTxStd(dst *TxStd, src *TxStd)
- func Extends2Byte(ext []tcommon.KVPair) (ret []byte)
- func RegisterCodec(cdc *go_amino.Codec)
- func Sig2Byte(sgn Signature) []byte
- type ITx
- type QcpTxResult
- func (tx *QcpTxResult) CalcGas() types.BigInt
- func (tx *QcpTxResult) Exec(ctx context.Context) (result types.Result, crossTxQcps *TxQcp)
- func (tx *QcpTxResult) GetGasPayer() types.Address
- func (tx *QcpTxResult) GetSignData() []byte
- func (tx *QcpTxResult) GetSigner() []types.Address
- func (tx *QcpTxResult) ValidateData() bool
- type Signature
- type TxQcp
- type TxStd
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Extends2Byte ¶
功能:将common.KVPair转化成[]byte todo: test(amino序列化及反序列化的正确性)
func RegisterCodec ¶
Types ¶
type ITx ¶
type ITx interface {
ValidateData() bool //检测
Exec(ctx context.Context) (result types.Result, crossTxQcps *TxQcp) //执行, crossTxQcps: 需要跨链处理的TxQcp
GetSigner() []types.Address //签名者
CalcGas() types.BigInt //计算gas
GetGasPayer() types.Address //gas付费人
GetSignData() []byte //获取签名字段
}
功能:抽象具体的Tx结构体
type QcpTxResult ¶
type QcpTxResult struct {
Code int64 `json:"code"` //执行结果
Extends []tcommon.KVPair `json:"extends"` //结果附加值
GasUsed types.BigInt `json:"gasused"` //gas消耗值
QcpOriginalSequence int64 `json:"qcporiginalsequence"` //此结果对应的TxQcp.Sequence
Info string `json:"info"` //结果信息
}
qos端对TxQcp的执行结果
func NewQcpTxResult ¶
func NewQcpTxResult(code int64, ext []tcommon.KVPair, seq int64, gasusd types.BigInt, info string) (rTx *QcpTxResult)
功能:构建 QcpTxReasult 结构体
func (*QcpTxResult) CalcGas ¶
func (tx *QcpTxResult) CalcGas() types.BigInt
功能:计算gas 备注:暂返回0,后期可根据实际情况调整
func (*QcpTxResult) GetGasPayer ¶
func (tx *QcpTxResult) GetGasPayer() types.Address
功能:获取gas付费人 备注:返回空(因暂时gas为0,无人需要付gas)
func (*QcpTxResult) GetSigner ¶
func (tx *QcpTxResult) GetSigner() []types.Address
功能:获取签名者 备注:qos对QcpTxResult不做签名,故返回空
func (*QcpTxResult) ValidateData ¶
func (tx *QcpTxResult) ValidateData() bool
功能:检测结构体字段的合法性 todo:QcpOriginalSequence 加入检测
type Signature ¶
type Signature struct {
Pubkey crypto.PubKey `json:"pubkey"` //可选
Signature []byte `json:"signature"` //签名内容
Nonce int64 `json:"nonce"` //nonce的值
}
签名结构体
type TxQcp ¶
type TxQcp struct {
Payload TxStd `json:"payload"` //TxStd结构
From string `json:"from"` //qscName
To string `json:"to"` //qosName
Sequence int64 `json:"sequence"` //发送Sequence
Sig Signature `json:"sig"` //签名
BlockHeight int64 `json:"blockheight"` //Tx所在block高度
TxIndx int64 `json:"txindx"` //Tx在block的位置
IsResult bool `json:"isresult"` //是否为Result
}
功能:
Click to show internal directories.
Click to hide internal directories.