Documentation ¶
Index ¶
Constants ¶
View Source
const ( BlockType_ChatAttach = "ChatAttach" BlockType_Collection = "Collection" BlockType_P2pChat = "P2pChat" BlockType_GroupFile = "GroupFile" BlockType_Channel = "Channel" BlockType_ChannelArticle = "ChannelArticle" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChainMessageLog ¶
type ChainMessageLog struct { entity.StatusEntity `xorm:"extends"` UUID string `xorm:"varchar(255)" json:"uuid,omitempty"` MessageType string `xorm:"varchar(255)" json:"messageType,omitempty"` Action string `xorm:"varchar(255)" json:"action,omitempty"` // 消息发送的源地址 SrcPeerId string `xorm:"varchar(255)" json:"srcPeerId,omitempty"` // 消息发送的目标地址 TargetPeerId string `xorm:"varchar(255)" json:"targetPeerId,omitempty"` // 消息发送的源地址 SrcAddress string `xorm:"varchar(255)" json:"srcAddress,omitempty"` // 消息发送的目标地址 TargetAddress string `xorm:"varchar(255)" json:"targetAddress,omitempty"` Payload string `xorm:"varchar(10485760)" json:"payload,omitempty"` /** * 定义消息的负载的类型 * * 可以是定义消息类型对应的负载的实体类型,比如PeerEndpointEO * * 也可以是列表List * * 其取值来源于消息构造时的设置,如果没有设置,默认为消息类型的实体类型 * */ PayloadClass string `xorm:"varchar(255)" json:"payloadClass,omitempty"` // 请求的时间戳 CreateTimestamp time.Time `json:"createTimestamp,omitempty"` // 返回消息 ResponseType string `xorm:"varchar(255)" json:"responseType,omitempty"` ResponseCode string `xorm:"varchar(255)" json:"responseCode,omitempty"` ResponseMessage string `xorm:"varchar(10485760)" json:"responseMessage,omitempty"` ResponsePayload string `xorm:"varchar(10485760)" json:"responsePayload,omitempty"` }
func (ChainMessageLog) IdName ¶
func (ChainMessageLog) IdName() string
func (ChainMessageLog) TableName ¶
func (ChainMessageLog) TableName() string
type ConsensusLog ¶
type ConsensusLog struct { entity.StatusEntity `xorm:"extends"` // 主节点 PrimaryPeerId string `xorm:"varchar(255)" json:"primaryPeerId,omitempty"` // 请求的排好序的序号 PrimarySequenceId uint64 `json:"primarySequenceId,omitempty"` // 主节点的地址 PrimaryAddress string `xorm:"varchar(255)" json:"primaryAddress,omitempty"` PrimaryPublicKey string `xorm:"varchar(1024)" json:"primaryPublicKey,omitempty"` /** * 发起协议的源节点peerClient */ ClientPeerId string `xorm:"varchar(255)" json:"clientPeerId,omitempty"` ClientPublicKey string `xorm:"varchar(1024)" json:"clientPublicKey,omitempty"` ClientAddress string `xorm:"varchar(255)" json:"clientAddress,omitempty"` // 消息源节点的序号 PeerId string `xorm:"varchar(255)" json:"peerId,omitempty"` Address string `xorm:"varchar(255)" json:"address,omitempty"` PublicKey string `xorm:"varchar(1024)" json:"publicKey,omitempty"` BlockId string `xorm:"varchar(255)" json:"blockId,omitempty"` BlockType BlockType `xorm:"varchar(255)" json:"blockType,omitempty"` SliceNumber uint64 `json:"sliceNumber,omitempty"` // 交易请求的payloadhash PayloadHash string `xorm:"varchar(255)" json:"payloadHash,omitempty"` // 请求的结果状态 ResponseStatus string `xorm:"varchar(255)" json:"responseStatus,omitempty"` TransactionAmount float64 `json:"transactionAmount,omitempty"` PeerIds string `xorm:"varchar(2048)" json:"peerIds,omitempty"` }
func (ConsensusLog) IdName ¶
func (ConsensusLog) IdName() string
func (ConsensusLog) TableName ¶
func (ConsensusLog) TableName() string
type DataBlock ¶
type DataBlock struct { //entity.StatusEntity `xorm:"extends"` Id uint64 `xorm:"pk" json:"-"` CreateDate *time.Time `xorm:"created" json:"createDate,omitempty"` UpdateDate *time.Time `xorm:"updated" json:"updateDate,omitempty"` EntityId string `xorm:"-" json:"entityId,omitempty"` State string `xorm:"-" json:"state$,omitempty"` /** * 当在一个事务中的一批交易开始执行的时候,首先保存交易,状态是Draft, * * 交易在共识后真正执行完毕状态变为effective,生成blockId * * 交易被取消,状态变成Ineffective */ Status string `xorm:"varchar(16)" json:"status,omitempty"` StatusReason string `xorm:"varchar(255)" json:"statusReason,omitempty"` StatusDate *time.Time `json:"statusDate,omitempty"` BlockId string `xorm:"varchar(255) notnull" json:"blockId,omitempty"` ParentBusinessNumber string `xorm:"varchar(255)" json:"parentBusinessNumber,omitempty"` BusinessNumber string `xorm:"varchar(255)" json:"businessNumber,omitempty"` BlockType BlockType `xorm:"varchar(255)" json:"blockType,omitempty"` /** * 双方的公钥不能被加密传输,因为需要根据公钥决定配对的是哪一个版本的私钥 * * 对方的公钥有可能不存在,这时候数据没有加密,对称密钥也不存在 * * 自己的公钥始终存在,因此签名始终可以验证 */ PeerId string `xorm:"varchar(255)" json:"peerId,omitempty"` PublicKey string `xorm:"varchar(1024)" json:"publicKey,omitempty"` Address string `xorm:"varchar(255)" json:"address,omitempty"` SecurityContext string `xorm:"varchar(255)" json:"securityContext,omitempty"` /** * 经过源peer的公钥加密过的对称秘钥,这个对称秘钥是随机生成,每次不同,用于加密payload * * 如果本字段不为空,表示负载被加密了,至少是只有源peer能够解密 * * 这样处理的好处是判断是否加密只需datablock,而且如果只是源peer的收藏,则transactionkey为空 */ PayloadKey string `xorm:"varchar(1024)" json:"payloadKey,omitempty"` /** * chainTransactions的寄送格式 */ TransportPayload string `xorm:"varchar(10485760)" json:"transportPayload,omitempty"` /** * 块负载的hash,是负载的decode64 hash,然后encode64 */ PayloadHash string `xorm:"varchar(255)" json:"payloadHash,omitempty"` /** * 负载源peer的签名 */ Signature string `xorm:"varchar(1024)" json:"signature,omitempty"` /** * transactionKeys的寄送格式,每个交易的第一个分片有数据,保证每个交易可以单独被查看 */ TransportKey string `xorm:"varchar(32768)" json:"transportKey,omitempty"` /** * 是负载的decode64 signature,然后encode64 */ TransactionKeySignature string `xorm:"varchar(1024)" json:"transactionKeySignature,omitempty"` /** * 本数据块的负载被拆成分片的总数,在没有分片前是1,分片后>=1,同一交易负载的交易号相同 */ SliceSize uint64 `xorm:"notnull" json:"sliceSize,omitempty"` /** * 数据块的本条分片是交易负载的第几个分片,在没有分片前是0,分片后>=0,但是<sliceSize */ SliceNumber uint64 `xorm:"notnull" json:"sliceNumber"` /** * 分片hash汇总到交易,交易汇总到块hash */ StateHash string `xorm:"varchar(255)" json:"stateHash,omitempty"` TransactionKeys []*TransactionKey `xorm:"-" json:"transactionKeys,omitempty"` // 共识可能会引入的一些可选的元数据 Metadata string `xorm:"varchar(32768)" json:"metadata,omitempty"` Thumbnail string `xorm:"varchar(32768)" json:"thumbnail,omitempty"` Name string `xorm:"varchar(255)" json:"name,omitempty"` Description string `xorm:"varchar(255)" json:"description,omitempty"` MimeType string `xorm:"varchar(255)" json:"mimeType,omitempty"` // 由区块提议者填充的时间戳 CreateTimestamp uint64 `json:"createTimestamp,omitempty"` ExpireDate int64 `json:"expireDate,omitempty"` TransactionAmount float64 `json:"transactionAmount"` // 请求的排好序的序号 PrimarySequenceId uint64 `json:"primarySequenceId,omitempty"` PreviousBlockId string `xorm:"varchar(255)" json:"previousBlockId,omitempty"` // 前一个区块的全局hash,也就是0:0的stateHash PreviousBlockHash string `xorm:"varchar(255)" json:"previousBlockHash,omitempty"` /** * chainApp */ ChainAppPeerId string `xorm:"varchar(255)" json:"chainAppPeerId,omitempty"` ChainAppPublicKey string `xorm:"varchar(1024)" json:"chainAppPublicKey,omitempty"` ChainAppAddress string `xorm:"varchar(255)" json:"chainAppAddress,omitempty"` /** * primary peer */ PrimaryPeerId string `xorm:"varchar(255)" json:"primaryPeerId,omitempty"` PrimaryPublicKey string `xorm:"varchar(1024)" json:"primaryPublicKey,omitempty"` PrimaryAddress string `xorm:"varchar(255)" json:"primaryAddress,omitempty"` PeerIds string `xorm:"varchar(2048)" json:"peerIds,omitempty"` }
type PeerTransaction ¶
type PeerTransaction struct { entity.StatusEntity `xorm:"extends"` TransactionType string `xorm:"varchar(255)" json:"transactionType,omitempty"` SrcPeerId string `xorm:"varchar(255)" json:"srcPeerId,omitempty"` SrcPeerType string `xorm:"varchar(255)" json:"srcPeerType,omitempty"` PrimaryPeerId string `xorm:"varchar(255)" json:"primaryPeerId,omitempty"` TargetPeerId string `xorm:"varchar(255)" json:"targetPeerId,omitempty"` TargetPeerType string `xorm:"varchar(255)" json:"targetPeerType,omitempty"` BlockId string `xorm:"varchar(255) notnull" json:"blockId,omitempty"` Amount float64 `json:"amount,omitempty"` Currency string `xorm:"varchar(32)" json:"currency,omitempty"` TransactionTime *time.Time `json:"transactionTime,omitempty"` SrcPeerBeginBalance float64 `json:"srcPeerBeginBalance,omitempty"` SrcPeerEndBalance float64 `json:"srcPeerEndBalance,omitempty"` TargetPeerBeginBalance float64 `json:"targetPeerBeginBalance,omitempty"` TargetPeerEndBalance float64 `json:"targetPeerEndBalance,omitempty"` ParentBusinessNumber string `xorm:"varchar(255)" json:"parentBusinessNumber,omitempty"` BusinessNumber string `xorm:"varchar(255)" json:"businessNumber,omitempty"` SliceNumber uint64 `xorm:"notnull" json:"sliceNumber"` CreateTimestamp uint64 `json:"createTimestamp,omitempty"` Metadata string `xorm:"varchar(32768)" json:"metadata,omitempty"` Thumbnail string `xorm:"varchar(32768)" json:"thumbnail,omitempty"` Name string `xorm:"varchar(255)" json:"name,omitempty"` Description string `xorm:"varchar(255)" json:"description,omitempty"` }
func (PeerTransaction) IdName ¶
func (PeerTransaction) IdName() string
func (PeerTransaction) KeyName ¶
func (PeerTransaction) KeyName() string
func (PeerTransaction) TableName ¶
func (PeerTransaction) TableName() string
type TransactionKey ¶
type TransactionKey struct { entity.BaseEntity `xorm:"extends"` BlockId string `xorm:"varchar(255) notnull" json:"blockId,omitempty"` PeerId string `xorm:"varchar(255) notnull" json:"peerId,omitempty"` /** * 经过目标peer的公钥加密过的对称秘钥,这个对称秘钥是随机生成,每次不同,用于加密payload */ PayloadKey string `xorm:"varchar(1024)" json:"payloadKey,omitempty"` PublicKey string `xorm:"varchar(1024)" json:"publicKey,omitempty"` Address string `xorm:"varchar(255)" json:"address,omitempty"` PeerType string `xorm:"varchar(255)" json:"peerType,omitempty"` /** Key是BlockId:PeerId,用于Key检索和存储 */ Key string `xorm:"varchar(255)" json:"key,omitempty"` }
func (TransactionKey) IdName ¶
func (TransactionKey) IdName() string
func (TransactionKey) KeyName ¶
func (TransactionKey) KeyName() string
func (TransactionKey) TableName ¶
func (TransactionKey) TableName() string
Click to show internal directories.
Click to hide internal directories.