consensus/common/chainedbft/smr/smr.go
(开头部分) 19KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
package smr
import (
"bytes"
"context"
"crypto/ecdsa"
"encoding/hex"
"errors"
"sync"
"github.com/golang/protobuf/proto"
log "github.com/xuperchain/log15"
cons_base "github.com/xuperchain/xuperunion/consensus/base"
"github.com/xuperchain/xuperunion/consensus/common/chainedbft/config"
"github.com/xuperchain/xuperunion/consensus/common/chainedbft/external"
"github.com/xuperchain/xuperunion/consensus/common/chainedbft/utils"
crypto_base "github.com/xuperchain/xuperunion/crypto/client/base"
"github.com/xuperchain/xuperunion/p2pv2"
p2p_pb "github.com/xuperchain/xuperunion/p2pv2/pb"
pb "github.com/xuperchain/xuperunion/pb"
)
var (
// ErrNewViewNum used to return error new view number
ErrNewViewNum = errors.New("new view number error")
// ErrSafeProposal check new proposal error
ErrSafeProposal = errors.New("check new proposal error")
// ErrGetVotes get votes error
ErrGetVotes = errors.New("get votes error")
// ErrPropsViewNum return proposal view number error
ErrPropsViewNum = errors.New("proposal view number error")
// ErrJustifySignNotEnough return justify sign not enough error
ErrJustifySignNotEnough = errors.New("proposal justify sign not enough error")
// ErrVerifyVoteSign return verify vote sign error
ErrVerifyVoteSign = errors.New("verify justify sign error")
// ErrInValidateSets return in validate sets error
ErrInValidateSets = errors.New("in validate sets error")
// ErrCheckDataSum return check data sum error
ErrCheckDataSum = errors.New("check data sum error")
// ErrParams return params error
ErrParams = errors.New("params error")
// ErrCallPreQcStatus return call pre qc status error
ErrCallPreQcStatus = errors.New("call pre qc status error")
// ErrGetLocalProposalQC return LocalProposalQC error
ErrGetLocalProposalQC = errors.New("get local proposalQC error")
)
// NewSmr return smr instance
func NewSmr(
slog log.Logger,
cfg *config.Config,
bcname string,
address string,
publicKey string,
privateKey *ecdsa.PrivateKey,
validates []*cons_base.CandidateInfo,
externalCons external.ExternalInterface,
cryptoClient crypto_base.CryptoClient,
p2p p2pv2.P2PServer,
proposalQC,
后面还有 544 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
