Documentation
¶
Index ¶
- type AIValidator
- func (v *AIValidator) AddTransaction(tx types.Tx) error
- func (v *AIValidator) EstimateGasSavings(txs types.Txs) (float64, error)
- func (v *AIValidator) GetAIMetrics() map[string]float64
- func (v *AIValidator) GetBatchQueueSize() int
- func (v *AIValidator) GetConfig() *AIValidatorConfig
- func (v *AIValidator) GetMetrics() *ValidatorMetrics
- func (v *AIValidator) GetVersionInfo() map[string]string
- func (v *AIValidator) IsInitialized() bool
- func (v *AIValidator) PredictOptimalBatch(txs types.Txs) (types.Txs, error)
- func (v *AIValidator) ProcessBlock(block *types.Block) error
- func (v *AIValidator) ResetMetrics()
- func (v *AIValidator) StartBatchProcessor(ctx context.Context)
- func (v *AIValidator) UpdateConfig(config *AIValidatorConfig) error
- func (v *AIValidator) ValidateTransaction(tx types.Tx) (bool, error)
- type AIValidatorConfig
- type Block
- type DefaultSigner
- type HybridSignature
- type HybridSigner
- func (hs *HybridSigner) DisableQuantum()
- func (hs *HybridSigner) EnableQuantum()
- func (hs *HybridSigner) GetInfo() map[string]interface{}
- func (hs *HybridSigner) GetPerformanceMetrics() map[string]float64
- func (hs *HybridSigner) GetStats() *HybridSignerStats
- func (hs *HybridSigner) IsQuantumEnabled() bool
- func (hs *HybridSigner) ResetStats()
- func (hs *HybridSigner) Sign(privateKey []byte, message []byte) (*HybridSignature, error)
- func (hs *HybridSigner) SignAsync(ctx context.Context, privateKey []byte, message []byte) (*HybridSignature, error)
- func (hs *HybridSigner) Verify(publicKey []byte, message []byte, signature *HybridSignature) (bool, error)
- func (hs *HybridSigner) VerifyAsync(ctx context.Context, publicKey []byte, message []byte, ...) (bool, error)
- type HybridSignerStats
- type TxAdapter
- type Validator
- func (v *Validator) GetLastBlockInfo() map[string]interface{}
- func (v *Validator) GetPublicKey() []byte
- func (v *Validator) GetPublicKeyHex() string
- func (v *Validator) GetSignerInfo() map[string]interface{}
- func (v *Validator) ResetLastBlockInfo()
- func (v *Validator) SignBlock(block *Block) error
- func (v *Validator) SignBlockAsync(ctx context.Context, block *Block) error
- func (v *Validator) SwitchToClassical()
- func (v *Validator) SwitchToQuantum() error
- func (v *Validator) VerifyBlock(block *Block) (bool, error)
- func (v *Validator) VerifyBlockAsync(ctx context.Context, block *Block) (bool, error)
- type ValidatorMetrics
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AIValidator ¶
type AIValidator struct {
// contains filtered or unexported fields
}
AIValidator integrates QMoE consensus into Fluentum validator nodes
func NewAIValidator ¶
func NewAIValidator(config *AIValidatorConfig) (*AIValidator, error)
NewAIValidator creates a new AI-powered validator
func (*AIValidator) AddTransaction ¶
func (v *AIValidator) AddTransaction(tx types.Tx) error
AddTransaction adds a transaction to the batch queue
func (*AIValidator) EstimateGasSavings ¶
func (v *AIValidator) EstimateGasSavings(txs types.Txs) (float64, error)
EstimateGasSavings estimates gas savings for a batch of transactions
func (*AIValidator) GetAIMetrics ¶
func (v *AIValidator) GetAIMetrics() map[string]float64
GetAIMetrics returns AI-specific metrics
func (*AIValidator) GetBatchQueueSize ¶
func (v *AIValidator) GetBatchQueueSize() int
GetBatchQueueSize returns the current size of the batch queue
func (*AIValidator) GetConfig ¶
func (v *AIValidator) GetConfig() *AIValidatorConfig
GetConfig returns the current configuration
func (*AIValidator) GetMetrics ¶
func (v *AIValidator) GetMetrics() *ValidatorMetrics
GetMetrics returns current validator metrics
func (*AIValidator) GetVersionInfo ¶
func (v *AIValidator) GetVersionInfo() map[string]string
GetVersionInfo returns version information
func (*AIValidator) IsInitialized ¶
func (v *AIValidator) IsInitialized() bool
IsInitialized returns whether the validator is initialized
func (*AIValidator) PredictOptimalBatch ¶
PredictOptimalBatch predicts the optimal batch composition for given transactions
func (*AIValidator) ProcessBlock ¶
func (v *AIValidator) ProcessBlock(block *types.Block) error
ProcessBlock processes a block using AI prediction and quantum signing
func (*AIValidator) ResetMetrics ¶
func (v *AIValidator) ResetMetrics()
ResetMetrics resets all metrics to zero
func (*AIValidator) StartBatchProcessor ¶
func (v *AIValidator) StartBatchProcessor(ctx context.Context)
StartBatchProcessor starts the batch processing goroutine
func (*AIValidator) UpdateConfig ¶
func (v *AIValidator) UpdateConfig(config *AIValidatorConfig) error
UpdateConfig updates the validator configuration
func (*AIValidator) ValidateTransaction ¶
func (v *AIValidator) ValidateTransaction(tx types.Tx) (bool, error)
ValidateTransaction validates a single transaction using AI
type AIValidatorConfig ¶
type AIValidatorConfig struct {
EnableAIPrediction bool `json:"enable_ai_prediction"`
EnableQuantumSigning bool `json:"enable_quantum_signing"`
BatchSize int `json:"batch_size"`
MaxWaitTime time.Duration `json:"max_wait_time"`
ConfidenceThreshold float64 `json:"confidence_threshold"`
GasSavingsThreshold float64 `json:"gas_savings_threshold"`
PluginPath string `json:"plugin_path"`
QuantumPluginPath string `json:"quantum_plugin_path"`
ModelConfig map[string]interface{} `json:"model_config"`
}
AIValidatorConfig contains configuration for AI validator
func (*AIValidatorConfig) MinBatchSize ¶
func (c *AIValidatorConfig) MinBatchSize() int
MinBatchSize returns the minimum batch size for processing
type Block ¶
type Block struct {
Height int64 `json:"height"`
Timestamp time.Time `json:"timestamp"`
Data []byte `json:"data"`
ValidatorID string `json:"validator_id"`
ValidatorPubKey []byte `json:"validator_pub_key"`
Signature []byte `json:"signature"`
PreviousHash []byte `json:"previous_hash"`
Hash []byte `json:"hash"`
QuantumSignature []byte `json:"quantum_signature,omitempty"`
}
Block represents a blockchain block
type DefaultSigner ¶
type DefaultSigner struct {
// contains filtered or unexported fields
}
DefaultSigner provides fallback Ed25519 signing
func NewDefaultSigner ¶
func NewDefaultSigner() (*DefaultSigner, error)
NewDefaultSigner creates a new Ed25519 signer
type HybridSignature ¶
type HybridSignature struct {
ClassicSignature []byte `json:"classic_signature"`
QuantumSignature []byte `json:"quantum_signature"`
Timestamp time.Time `json:"timestamp"`
Mode string `json:"mode"` // "dual", "classic", "quantum"
}
HybridSignature contains both classical and quantum signatures
type HybridSigner ¶
type HybridSigner struct {
// contains filtered or unexported fields
}
HybridSigner provides dual classical and quantum signing capabilities
func NewHybridSigner ¶
func NewHybridSigner() (*HybridSigner, error)
NewHybridSigner creates a new hybrid signer
func (*HybridSigner) DisableQuantum ¶
func (hs *HybridSigner) DisableQuantum()
DisableQuantum disables quantum signing
func (*HybridSigner) EnableQuantum ¶
func (hs *HybridSigner) EnableQuantum()
EnableQuantum enables quantum signing
func (*HybridSigner) GetInfo ¶
func (hs *HybridSigner) GetInfo() map[string]interface{}
GetInfo returns information about the hybrid signer
func (*HybridSigner) GetPerformanceMetrics ¶
func (hs *HybridSigner) GetPerformanceMetrics() map[string]float64
GetPerformanceMetrics returns detailed performance metrics
func (*HybridSigner) GetStats ¶
func (hs *HybridSigner) GetStats() *HybridSignerStats
GetStats returns the current statistics
func (*HybridSigner) IsQuantumEnabled ¶
func (hs *HybridSigner) IsQuantumEnabled() bool
IsQuantumEnabled returns whether quantum signing is enabled
func (*HybridSigner) ResetStats ¶
func (hs *HybridSigner) ResetStats()
ResetStats resets all statistics
func (*HybridSigner) Sign ¶
func (hs *HybridSigner) Sign(privateKey []byte, message []byte) (*HybridSignature, error)
Sign creates a hybrid signature
func (*HybridSigner) SignAsync ¶
func (hs *HybridSigner) SignAsync(ctx context.Context, privateKey []byte, message []byte) (*HybridSignature, error)
SignAsync creates a hybrid signature asynchronously
func (*HybridSigner) Verify ¶
func (hs *HybridSigner) Verify(publicKey []byte, message []byte, signature *HybridSignature) (bool, error)
Verify verifies a hybrid signature
func (*HybridSigner) VerifyAsync ¶
func (hs *HybridSigner) VerifyAsync(ctx context.Context, publicKey []byte, message []byte, signature *HybridSignature) (bool, error)
VerifyAsync verifies a hybrid signature asynchronously
type HybridSignerStats ¶
type HybridSignerStats struct {
ClassicSignCount int64 `json:"classic_sign_count"`
QuantumSignCount int64 `json:"quantum_sign_count"`
ClassicVerifyCount int64 `json:"classic_verify_count"`
QuantumVerifyCount int64 `json:"quantum_verify_count"`
TotalClassicTime time.Duration `json:"total_classic_time"`
TotalQuantumTime time.Duration `json:"total_quantum_time"`
LastReset time.Time `json:"last_reset"`
}
HybridSignerStats tracks performance metrics for hybrid signing
type TxAdapter ¶
type TxAdapter struct {
// contains filtered or unexported fields
}
TxAdapter adapts types.Tx to plugin.Transaction interface
type Validator ¶
type Validator struct {
ID string
PublicKey []byte
PrivateKey []byte
SignerPlugin plugin.SignerPlugin
FallbackSigner *DefaultSigner
UseQuantum bool
// contains filtered or unexported fields
}
Validator represents a validator node that can sign and verify blocks
func NewValidator ¶
NewValidator creates a new validator with quantum signing capability
func (*Validator) GetLastBlockInfo ¶
GetLastBlockInfo returns information about the last signed block
func (*Validator) GetPublicKey ¶
GetPublicKey returns the validator's public key
func (*Validator) GetPublicKeyHex ¶
GetPublicKeyHex returns the validator's public key as a hex string
func (*Validator) GetSignerInfo ¶
GetSignerInfo returns information about the current signer
func (*Validator) ResetLastBlockInfo ¶
func (v *Validator) ResetLastBlockInfo()
ResetLastBlockInfo resets the last block information
func (*Validator) SignBlockAsync ¶
SignBlockAsync signs a block asynchronously
func (*Validator) SwitchToClassical ¶
func (v *Validator) SwitchToClassical()
SwitchToClassical switches the validator to use classical signing
func (*Validator) SwitchToQuantum ¶
SwitchToQuantum switches the validator to use quantum signing
func (*Validator) VerifyBlock ¶
VerifyBlock verifies a block signature
type ValidatorMetrics ¶
type ValidatorMetrics struct {
BlocksProcessed int64 `json:"blocks_processed"`
TransactionsProcessed int64 `json:"transactions_processed"`
AvgBlockTime time.Duration `json:"avg_block_time"`
TotalGasSaved uint64 `json:"total_gas_saved"`
AvgGasSavings float64 `json:"avg_gas_savings"`
PredictionAccuracy float64 `json:"prediction_accuracy"`
LastUpdate time.Time `json:"last_update"`
// AI-specific metrics
AIPredictions int64 `json:"ai_predictions"`
AvgPredictionTime time.Duration `json:"avg_prediction_time"`
ModelConfidence float64 `json:"model_confidence"`
BatchEfficiency float64 `json:"batch_efficiency"`
}
ValidatorMetrics tracks validator performance metrics