basic

package
v0.2.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2024 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TRANSACTION         = "TRANSACTION"
	TRANSACTIONSTART    = "TRANSACTIONSTART"
	SIGN_PROPOSAL       = "SIGN_PROPOSAL"
	ENDORSEMENT         = "ENDORSEMENT"
	ENDORSEMENT_AT_PEER = "ENDORSEMENT_AT_PEER"
	COLLECT_ENDORSEMENT = "COLLECT_ENDORSEMENT"
	SIGN_ENVELOP        = "SIGN_ENVELOP"
	BROADCAST           = "BROADCAST"
	CONSESUS            = "CONSESUS"
	COMMIT_AT_NETWORK   = "COMMIT_AT_NETWORK"
	COMMIT_AT_PEER      = "COMMIT_AT_PEER"
	COMMIT_AT_ALL_PEERS = "COMMIT_AT_ALL_PEERS"
)

Variables

View Source
var ProcessMod int

Functions

func CreateBroadcastClient

func CreateBroadcastClient(ctx context.Context, node Node, logger *log.Logger) (orderer.AtomicBroadcast_BroadcastClient, error)

func CreateDeliverClient

func CreateDeliverClient(node Node) (orderer.AtomicBroadcast_DeliverClient, error)

func CreateDeliverFilteredClient

func CreateDeliverFilteredClient(ctx context.Context, node Node, logger *log.Logger) (peer.Deliver_DeliverFilteredClient, error)

func CreateEndorserClient

func CreateEndorserClient(node Node, logger *log.Logger) (peer.EndorserClient, error)

func CreateGRPCClient

func CreateGRPCClient(node Node) (*comm.GRPCClient, error)

func DialConnection

func DialConnection(node Node, logger *log.Logger) (*grpc.ClientConn, error)

TODO: use a global get logger function instead inject a logger

func GetCertificate

func GetCertificate(f string) (*x509.Certificate, []byte, error)

func GetMod

func GetMod() int

func GetPrivateKey

func GetPrivateKey(f string) (*ecdsa.PrivateKey, error)

func GetTLSCACerts

func GetTLSCACerts(file string) ([]byte, error)

func Init

func Init(service string) (opentracing.Tracer, io.Closer)

Init returns an instance of Jaeger Tracer that samples 100% of traces and logs all spans to stdout.

func LogEvent

func LogEvent(logger *log.Logger, txid, event string)

func SetMod

func SetMod(mod int)

Types

type Config

type Config struct {
	Endorsers       []Node `yaml:"endorsers"`
	Committers      []Node `yaml:"committers"`
	CommitThreshold int    `yaml:"commitThreshold"`
	Orderer         Node   `yaml:"orderer"`
	PolicyFile      string `yaml:"policyFile"`
	Rule            string
	Channel         string   `yaml:"channel"`
	Chaincode       string   `yaml:"chaincode"`
	Version         string   `yaml:"version"`
	Args            []string `yaml:"args"`
	MSPID           string   `yaml:"mspid"`
	PrivateKey      string   `yaml:"private_key"`
	SignCert        string   `yaml:"sign_cert"`
	NumOfConn       int      `yaml:"num_of_conn"`
	ClientPerConn   int      `yaml:"client_per_conn"`
}

func LoadConfig

func LoadConfig(f string) (Config, error)

func (Config) LoadCrypto

func (c Config) LoadCrypto() (*CryptoImpl, error)

type CryptoConfig

type CryptoConfig struct {
	MSPID      string
	PrivKey    string
	SignCert   string
	TLSCACerts []string
}

type CryptoImpl

type CryptoImpl struct {
	Creator  []byte
	PrivKey  *ecdsa.PrivateKey
	SignCert *x509.Certificate
}

func (*CryptoImpl) NewSignatureHeader

func (s *CryptoImpl) NewSignatureHeader() (*common.SignatureHeader, error)

func (*CryptoImpl) Serialize

func (s *CryptoImpl) Serialize() ([]byte, error)

func (*CryptoImpl) Sign

func (s *CryptoImpl) Sign(msg []byte) ([]byte, error)

type ECDSASignature

type ECDSASignature struct {
	R, S *big.Int
}

type Elements

type Elements struct {
	TxId            string
	Span            opentracing.Span
	EndorsementSpan opentracing.Span
	SignedProp      *peer.SignedProposal
	Responses       []*peer.ProposalResponse
	Orgs            []string
	Processed       bool
	Lock            sync.Mutex
}

type LatencyMap added in v0.2.3

type LatencyMap struct {
	Map                             map[string]time.Time
	Lock                            sync.Mutex
	Mod                             int
	Transactionlatency, Readlatency *prometheus.SummaryVec
	Enable                          bool
}
var LatencyM *LatencyMap

func GetLatencyMap added in v0.2.3

func GetLatencyMap() *LatencyMap

func InitLatencyMap added in v0.2.3

func InitLatencyMap(Transactionlatency, Readlatency *prometheus.SummaryVec, Mod int, Enable bool) *LatencyMap

func (*LatencyMap) ReportReadLatency added in v0.2.3

func (LM *LatencyMap) ReportReadLatency(txid, label string)

func (*LatencyMap) StartTracing added in v0.2.3

func (LM *LatencyMap) StartTracing(txid string)

func (*LatencyMap) TransactionLatency added in v0.2.3

func (LM *LatencyMap) TransactionLatency(txid string)

type Node

type Node struct {
	Addr                  string `yaml:"addr"`
	SslTargetNameOverride string `yaml:"ssl_target_name_override"`
	TLSCACert             string `yaml:"tls_ca_cert"`
	Org                   string `yaml:"org"`
	TLSCAKey              string `yaml:"tls_ca_key"`
	TLSCARoot             string `yaml:"tls_ca_root"`
	TLSCACertByte         []byte
	TLSCAKeyByte          []byte
	TLSCARootByte         []byte
}

func (*Node) LoadConfig

func (n *Node) LoadConfig() error

type TracingEnvelope

type TracingEnvelope struct {
	Env  *common.Envelope
	TxId string
	Span opentracing.Span
}

type TracingProposal

type TracingProposal struct {
	*peer.Proposal
	TxId string
	Span opentracing.Span
}

type TracingSpans

type TracingSpans struct {
	Spans map[string]opentracing.Span
	Lock  sync.Mutex
}
var TapeSpan *TracingSpans

func GetGlobalSpan

func GetGlobalSpan() *TracingSpans

func (*TracingSpans) FinishWithMap

func (TS *TracingSpans) FinishWithMap(txid, address, event string)

func (*TracingSpans) GetSpan

func (TS *TracingSpans) GetSpan(txid, address, event string) opentracing.Span

func (*TracingSpans) MakeSpan

func (TS *TracingSpans) MakeSpan(txid, address, event string, parent opentracing.Span) opentracing.Span

func (*TracingSpans) SpanIntoMap

func (TS *TracingSpans) SpanIntoMap(txid, address, event string, parent opentracing.Span) opentracing.Span

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL