chain

package
v1.0.18 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2022 License: ISC Imports: 66 Imported by: 0

Documentation

Overview

It is called by go generate and used to automatically generate pre-computed Copyright 2017-2022 The qitmeer developers This file is auto generate by : go run mkalloc.go

Index

Constants

View Source
const BLOCK_GASLIMIT = 0x10000000000000
View Source
const MainAllocHash = "204bb2f79e29453543b74b620533c854ddd327603fdcadb5c938b4e29e2cbd0b"
View Source
const MixAllocHash = "e380c81b956194ce4e38c218f9b99300ef725f58b7ec13963fea763c8379446f"
View Source
const PrivAllocHash = "e380c81b956194ce4e38c218f9b99300ef725f58b7ec13963fea763c8379446f"
View Source
const QngJs = `` /* 6399-byte string literal not displayed */
View Source
const TestAllocHash = "e380c81b956194ce4e38c218f9b99300ef725f58b7ec13963fea763c8379446f"

Variables

View Source
var (
	// ClientIdentifier is a hard coded identifier to report into the network.
	ClientIdentifier = "meereth"

	MeerethChainID int64    = 223
	Args           []string = []string{ClientIdentifier}

	NodeFlags = []cli.Flag{
		utils.IdentityFlag,
		utils.UnlockedAccountFlag,
		utils.PasswordFileFlag,
		utils.BootnodesFlag,
		utils.DataDirFlag,
		utils.AncientFlag,
		utils.MinFreeDiskSpaceFlag,
		utils.KeyStoreDirFlag,
		utils.ExternalSignerFlag,
		utils.NoUSBFlag,
		utils.USBFlag,
		utils.SmartCardDaemonPathFlag,
		utils.EthashCacheDirFlag,
		utils.EthashCachesInMemoryFlag,
		utils.EthashCachesOnDiskFlag,
		utils.EthashCachesLockMmapFlag,
		utils.EthashDatasetDirFlag,
		utils.EthashDatasetsInMemoryFlag,
		utils.EthashDatasetsOnDiskFlag,
		utils.EthashDatasetsLockMmapFlag,
		utils.TxPoolJournalFlag,
		utils.TxPoolRejournalFlag,
		utils.TxPoolPriceLimitFlag,
		utils.TxPoolPriceBumpFlag,
		utils.TxPoolAccountSlotsFlag,
		utils.TxPoolGlobalSlotsFlag,
		utils.TxPoolAccountQueueFlag,
		utils.TxPoolGlobalQueueFlag,
		utils.TxPoolLifetimeFlag,
		utils.SyncModeFlag,
		utils.ExitWhenSyncedFlag,
		utils.GCModeFlag,
		utils.SnapshotFlag,
		utils.TxLookupLimitFlag,
		utils.LightServeFlag,
		utils.LightIngressFlag,
		utils.LightEgressFlag,
		utils.LightMaxPeersFlag,
		utils.LightNoPruneFlag,
		utils.LightKDFFlag,
		utils.UltraLightServersFlag,
		utils.UltraLightFractionFlag,
		utils.UltraLightOnlyAnnounceFlag,
		utils.LightNoSyncServeFlag,
		utils.BloomFilterSizeFlag,
		utils.CacheFlag,
		utils.CacheDatabaseFlag,
		utils.CacheTrieFlag,
		utils.CacheTrieJournalFlag,
		utils.CacheTrieRejournalFlag,
		utils.CacheGCFlag,
		utils.CacheSnapshotFlag,
		utils.CacheNoPrefetchFlag,
		utils.CachePreimagesFlag,
		utils.ListenPortFlag,
		utils.MaxPeersFlag,
		utils.MaxPendingPeersFlag,
		utils.LegacyMinerGasTargetFlag,
		utils.MinerGasLimitFlag,
		utils.MinerGasPriceFlag,
		utils.MinerExtraDataFlag,
		utils.MinerRecommitIntervalFlag,
		utils.MinerNoVerifyFlag,
		utils.NodeKeyFileFlag,
		utils.NodeKeyHexFlag,
		utils.MainnetFlag,
		utils.RopstenFlag,
		utils.RinkebyFlag,
		utils.GoerliFlag,
		utils.VMEnableDebugFlag,
		utils.NetworkIdFlag,
		utils.EthStatsURLFlag,
		utils.FakePoWFlag,
		utils.NoCompactionFlag,
		utils.GpoBlocksFlag,
		utils.GpoPercentileFlag,
		utils.GpoMaxGasPriceFlag,
		utils.GpoIgnoreGasPriceFlag,
		utils.MinerNotifyFullFlag,
	}

	RpcFlags = []cli.Flag{
		utils.HTTPEnabledFlag,
		utils.HTTPListenAddrFlag,
		utils.HTTPPortFlag,
		utils.HTTPCORSDomainFlag,
		utils.AuthListenFlag,
		utils.AuthPortFlag,
		utils.AuthVirtualHostsFlag,
		utils.JWTSecretFlag,
		utils.HTTPVirtualHostsFlag,
		utils.GraphQLEnabledFlag,
		utils.GraphQLCORSDomainFlag,
		utils.GraphQLVirtualHostsFlag,
		utils.HTTPApiFlag,
		utils.HTTPPathPrefixFlag,
		utils.WSEnabledFlag,
		utils.WSListenAddrFlag,
		utils.WSPortFlag,
		utils.WSApiFlag,
		utils.WSAllowedOriginsFlag,
		utils.WSPathPrefixFlag,
		utils.IPCDisabledFlag,
		utils.IPCPathFlag,
		utils.InsecureUnlockAllowedFlag,
		utils.RPCGlobalGasCapFlag,
		utils.RPCGlobalTxFeeCapFlag,
		utils.AllowUnprotectedTxs,
	}

	MetricsFlags = []cli.Flag{
		utils.MetricsEnabledFlag,
		utils.MetricsEnabledExpensiveFlag,
		utils.MetricsHTTPFlag,
		utils.MetricsPortFlag,
		utils.MetricsEnableInfluxDBFlag,
		utils.MetricsInfluxDBEndpointFlag,
		utils.MetricsInfluxDBDatabaseFlag,
		utils.MetricsInfluxDBUsernameFlag,
		utils.MetricsInfluxDBPasswordFlag,
		utils.MetricsInfluxDBTagsFlag,
		utils.MetricsEnableInfluxDBV2Flag,
		utils.MetricsInfluxDBTokenFlag,
		utils.MetricsInfluxDBBucketFlag,
		utils.MetricsInfluxDBOrganizationFlag,
	}

	ChainConfig = &params.ChainConfig{
		ChainID:             big.NewInt(MeerethChainID),
		HomesteadBlock:      big.NewInt(0),
		DAOForkBlock:        big.NewInt(0),
		DAOForkSupport:      false,
		EIP150Block:         big.NewInt(0),
		EIP150Hash:          common.HexToHash("0x2086799aeebeae135c246c65021c82b4e15a2c451340993aacfd2751886514f0"),
		EIP155Block:         big.NewInt(0),
		EIP158Block:         big.NewInt(0),
		ByzantiumBlock:      big.NewInt(0),
		ConstantinopleBlock: big.NewInt(0),
		PetersburgBlock:     big.NewInt(0),
		IstanbulBlock:       big.NewInt(0),
		MuirGlacierBlock:    big.NewInt(0),
		BerlinBlock:         big.NewInt(0),
		LondonBlock:         nil,
		Ethash:              new(params.EthashConfig),
	}
)
View Source
var (
	ConfigFileFlag = cli.StringFlag{
		Name:  "config",
		Usage: "TOML configuration file",
	}
)
View Source
var (
	SysContractDeployerAddress = common.Address{}
)

Functions

func AsMessage

func AsMessage(tx *GenTransaction, baseFee *big.Int) (types.Message, error)

func BuildGenesisHash

func BuildGenesisHash(network string) string

func CreateConsensusEngine

func CreateConsensusEngine(stack *node.Node, chainConfig *params.ChainConfig, config *ethash.Config, notify []string, noverify bool, db ethdb.Database) consensus.Engine

func DBHasLegacyReceipts

func DBHasLegacyReceipts(db ethdb.Database, firstIdx uint64) (bool, uint64, error)

func DecodePrealloc

func DecodePrealloc(data string) core.GenesisAlloc

func DefaultGenesisBlock

func DefaultGenesisBlock(cfg *params.ChainConfig) *core.Genesis

func DeleteBlockNumber

func DeleteBlockNumber(db ethdb.KeyValueWriter, hash common.Hash)

func InitEnv

func InitEnv(env string)

func LoadConfig

func LoadConfig(file string, cfg *MeerethConfig) error

func MakePreState

func MakePreState(db ethdb.Database, accounts core.GenesisAlloc) *state.StateDB

func NewTransactorWithChainID

func NewTransactorWithChainID(addr common.Address, chainID *big.Int) (*bind.TransactOpts, error)

func ReadBlockNumber

func ReadBlockNumber(db ethdb.KeyValueReader, hash common.Hash) *uint64

func UnlockAccount

func UnlockAccount(ks *keystore.KeyStore, address string, i int, passwords []string) (accounts.Account, string)

func UpdateAlloc

func UpdateAlloc(genesis *core.Genesis, contracts []Contract) error

func UseLogger

func UseLogger(logger l.Logger)

UseLogger uses a specified Logger to output package logging info.

func WriteBlockNumber

func WriteBlockNumber(db ethdb.KeyValueWriter, hash common.Hash, number uint64)

Types

type Alloc

func Apply

func Apply(genesis *core.Genesis, txs []*GenTransaction) (Alloc, error)

func (Alloc) OnAccount

func (g Alloc) OnAccount(addr common.Address, dumpAccount state.DumpAccount)

func (Alloc) OnRoot

func (g Alloc) OnRoot(common.Hash)

type Backend

type Backend interface {
	BlockChain() *core.BlockChain
	TxPool() *core.TxPool
}

type Contract

type Contract struct {
	ABI   string `json:"abi"`
	BIN   string `json:"bin"`
	Input string `json:"input"`
}

type ETHChain

type ETHChain struct {
	// contains filtered or unexported fields
}

func NewETHChain

func NewETHChain(datadir string) (*ETHChain, error)

func NewETHChainByCfg

func NewETHChainByCfg(config *MeerethConfig) (*ETHChain, error)

func (*ETHChain) Backend

func (ec *ETHChain) Backend() *eth.EthAPIBackend

func (*ETHChain) Config

func (ec *ETHChain) Config() *MeerethConfig

func (*ETHChain) Ether

func (ec *ETHChain) Ether() *eth.Ethereum

func (*ETHChain) IsShutdown

func (ec *ETHChain) IsShutdown() bool

func (*ETHChain) IsStarted

func (ec *ETHChain) IsStarted() bool

func (*ETHChain) Node

func (ec *ETHChain) Node() *node.Node

func (*ETHChain) Start

func (ec *ETHChain) Start() error

func (*ETHChain) Stop

func (ec *ETHChain) Stop() error

func (*ETHChain) Wait

func (ec *ETHChain) Wait()

type GenTransaction

type GenTransaction struct {
	*types.Transaction
	From common.Address
}

type GenesisData

type GenesisData struct {
	Genesis   core.Genesis `json:"genesis"`
	Contracts []Contract   `json:"contracts"`
}

type MeerChain

type MeerChain struct {
	// contains filtered or unexported fields
}

func NewMeerChain

func NewMeerChain(chain *ETHChain, ctx qconsensus.Context) *MeerChain

func (*MeerChain) CheckConnectBlock

func (b *MeerChain) CheckConnectBlock(block qconsensus.Block) error

func (*MeerChain) ConnectBlock

func (b *MeerChain) ConnectBlock(block qconsensus.Block) error

func (*MeerChain) DisconnectBlock

func (b *MeerChain) DisconnectBlock(block qconsensus.Block) error

func (*MeerChain) MeerPool

func (b *MeerChain) MeerPool() *MeerPool

func (*MeerChain) RegisterAPIs

func (b *MeerChain) RegisterAPIs(apis []api.API)

func (*MeerChain) Start

func (b *MeerChain) Start()

func (*MeerChain) Stop

func (b *MeerChain) Stop()

type MeerPool

type MeerPool struct {
	// contains filtered or unexported fields
}

func (*MeerPool) AddTx

func (m *MeerPool) AddTx(tx *qtypes.Transaction, local bool) (int64, error)

func (*MeerPool) AnnounceNewTransactions

func (m *MeerPool) AnnounceNewTransactions(txs []*types.Transaction) error

func (*MeerPool) Close

func (m *MeerPool) Close()

func (*MeerPool) DisablePreseal

func (m *MeerPool) DisablePreseal()

func (*MeerPool) EnablePreseal

func (m *MeerPool) EnablePreseal()

func (*MeerPool) GetSealingBlockAsync

func (m *MeerPool) GetSealingBlockAsync(parent common.Hash, timestamp uint64, coinbase common.Address, random common.Hash, noTxs bool) (chan *types.Block, error)

func (*MeerPool) GetSealingBlockSync

func (m *MeerPool) GetSealingBlockSync(parent common.Hash, timestamp uint64, coinbase common.Address, random common.Hash, noTxs bool) (*types.Block, error)

func (*MeerPool) GetSize

func (m *MeerPool) GetSize() int64

func (*MeerPool) GetTxs

func (m *MeerPool) GetTxs() ([]*qtypes.Transaction, error)

func (*MeerPool) Hashrate

func (m *MeerPool) Hashrate() uint64

func (*MeerPool) Mining

func (m *MeerPool) Mining() bool

func (*MeerPool) Pending

func (m *MeerPool) Pending() (*types.Block, *state.StateDB)

func (*MeerPool) PendingBlock

func (m *MeerPool) PendingBlock() *types.Block

func (*MeerPool) PendingBlockAndReceipts

func (m *MeerPool) PendingBlockAndReceipts() (*types.Block, types.Receipts)

func (*MeerPool) RemoveTx

func (m *MeerPool) RemoveTx(tx *qtypes.Transaction) error

func (*MeerPool) ResetTemplate

func (m *MeerPool) ResetTemplate() error

func (*MeerPool) SetEtherbase

func (m *MeerPool) SetEtherbase(addr common.Address)

func (*MeerPool) SetExtra

func (m *MeerPool) SetExtra(extra []byte) error

func (*MeerPool) SetGasCeil

func (m *MeerPool) SetGasCeil(ceil uint64)

func (*MeerPool) SetRecommitInterval

func (m *MeerPool) SetRecommitInterval(interval time.Duration)

func (*MeerPool) Start

func (m *MeerPool) Start(coinbase common.Address)

func (*MeerPool) Stop

func (m *MeerPool) Stop()

func (*MeerPool) SubscribePendingLogs

func (m *MeerPool) SubscribePendingLogs(ch chan<- []*types.Log) event.Subscription

type MeerethConfig

type MeerethConfig struct {
	Eth      ethconfig.Config
	Node     node.Config
	Ethstats MeerethstatsConfig
	Metrics  metrics.Config
}

func MakeMeerethConfig

func MakeMeerethConfig(datadir string) (*MeerethConfig, error)

func MakeMeerethConfigNode

func MakeMeerethConfigNode(ctx *cli.Context, datadir string) (*node.Node, *MeerethConfig)

type MeerethstatsConfig

type MeerethstatsConfig struct {
	URL string `toml:",omitempty"`
}

type NetGenesisData

type NetGenesisData struct {
	Network string      `json:"network"`
	Data    GenesisData `json:"data"`
}

Jump to

Keyboard shortcuts

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