Documentation
¶
Index ¶
- Variables
- func DefaultDataDir() string
- type Config
- func (c *Config) DataDirPathAbs() error
- func (c *Config) GetPrivateKey() ed25519.PrivateKey
- func (c *Config) HTTPEndpoint() string
- func (c *Config) IPCEndpoint() string
- func (c *Config) RunErrorLogHandler() log15.Handler
- func (c *Config) RunLogDir() string
- func (c *Config) RunLogHandler() log15.Handler
- func (c *Config) SetPrivateKey(privateKey string)
- func (c *Config) WSEndpoint() string
- type Node
- func (node *Node) Attach() (*rpc.Client, error)
- func (node *Node) Config() *Config
- func (node *Node) Prepare() (err error)
- func (node *Node) Start() error
- func (node *Node) Stop() error
- func (node *Node) Vite() *vite.Vite
- func (node *Node) ViteConfig() *config.Config
- func (node *Node) ViteServer() *vite.Vite
- func (node *Node) Wait()
- func (node *Node) WalletManager() *wallet.Manager
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrDataDirUsed = errors.New("dataDir already used by another process") ErrNodeStopped = errors.New("node not started") ErrNodeRunning = errors.New("node already running") ErrWalletConfigNil = errors.New("wallet config is nil") )
View Source
var DefaultNodeConfig = Config{ IPCPath: "gvite.ipc", DataDir: DefaultDataDir(), KeyStoreDir: DefaultDataDir(), HttpPort: common.DefaultHTTPPort, WSPort: common.DefaultWSPort, LogLevel: "info", HTTPCors: []string{"*"}, WSOrigins: []string{"*"}, WSExposeAll: true, HttpExposeAll: true, Single: config.DefaultSingle, Identity: config.DefaultNodeName, NetID: config.DefaultNetID, ListenInterface: config.DefaultListenInterface, Port: config.DefaultPort, FilePort: config.DefaultFilePort, Discover: config.DefaultDiscover, MaxPeers: config.DefaultMaxPeers, MaxInboundRatio: config.DefaultMaxInboundRatio, MinPeers: config.DefaultMinPeers, MaxPendingPeers: config.DefaultMaxPendingPeers, ForwardStrategy: config.DefaultForwardStrategy, AccessControl: config.DefaultAccessControl, }
Functions ¶
Types ¶
type Config ¶
type Config struct {
NetSelect string
DataDir string `json:"DataDir"`
KeyStoreDir string `json:"KeyStoreDir"`
// chain
LedgerGcRetain uint64 `json:"LedgerGcRetain"`
LedgerGc *bool `json:"LedgerGc"`
OpenPlugins *bool `json:"OpenPlugins"`
VmLogWhiteList []types.Address `json:"vmLogWhiteList"` // contract address white list which save VM logs
VmLogAll *bool `json:"vmLogAll"` // save all VM logs, it will cost more disk space
// genesis
GenesisFile string `json:"GenesisFile"`
// net
Single bool
ListenInterface string
Port int
FilePort int
PublicAddress string
FilePublicAddress string
Identity string
NetID int
PeerKey string `json:"PrivateKey"`
Discover bool
MaxPeers int
MinPeers int
MaxInboundRatio int
MaxPendingPeers int
BootNodes []string
BootSeeds []string
StaticNodes []string
AccessControl string
AccessAllowKeys []string
AccessDenyKeys []string
BlackBlockHashList []string // from high to low, like: "xxxxxx-11111"
WhiteBlockList []string // from high to low, like: "xxxxxx-10001"
ForwardStrategy string
//producer
EntropyStorePath string `json:"EntropyStorePath"`
EntropyStorePassword string `json:"EntropyStorePassword"`
CoinBase string `json:"CoinBase"`
MinerEnabled bool `json:"Miner"`
MinerInterval int `json:"MinerInterval"`
//rpc
RPCEnabled bool `json:"RPCEnabled"`
IPCEnabled bool `json:"IPCEnabled"`
WSEnabled bool `json:"WSEnabled"`
TxDexEnable *bool `json:"TxDexEnable"`
IPCPath string `json:"IPCPath"`
HttpHost string `json:"HttpHost"`
HttpPort int `json:"HttpPort"`
HttpVirtualHosts []string `json:"HttpVirtualHosts"`
WSHost string `json:"WSHost"`
WSPort int `json:"WSPort"`
HTTPCors []string `json:"HTTPCors"`
WSOrigins []string `json:"WSOrigins"`
PublicModules []string `json:"PublicModules"`
WSExposeAll bool `json:"WSExposeAll"`
HttpExposeAll bool `json:"HttpExposeAll"`
TestTokenHexPrivKey string `json:"TestTokenHexPrivKey"`
TestTokenTti string `json:"TestTokenTti"`
PowServerUrl string `json:"PowServerUrl"`
//Log level
LogLevel string `json:"LogLevel"`
ErrorLogDir string `json:"ErrorLogDir"`
//VM
VMTestEnabled bool `json:"VMTestEnabled"`
VMTestParamEnabled bool `json:"VMTestParamEnabled"`
QuotaTestParamEnabled bool `json:"QuotaTestParamEnabled"`
VMDebug bool `json:"VMDebug"`
// subscribe
SubscribeEnabled bool `json:"SubscribeEnabled"`
// dashboard
DashboardTargetURL string
// reward
RewardAddr string `json:"RewardAddr"`
//metrics
MetricsEnable *bool `json:"MetricsEnable"`
InfluxDBEnable *bool `json:"InfluxDBEnable"`
InfluxDBEndpoint *string `json:"InfluxDBEndpoint"`
InfluxDBDatabase *string `json:"InfluxDBDatabase"`
InfluxDBUsername *string `json:"InfluxDBUsername"`
InfluxDBPassword *string `json:"InfluxDBPassword"`
InfluxDBHostTag *string `json:"InfluxDBHostTag"`
}
func (*Config) DataDirPathAbs ¶
resolve the dataDir so future changes to the current working directory don't affect the node
func (*Config) GetPrivateKey ¶
func (c *Config) GetPrivateKey() ed25519.PrivateKey
type Node ¶
type Node struct {
// contains filtered or unexported fields
}
Node is chain container that manages p2p、rpc、vite modules
Source Files
¶
- config.go
- defaults.go
- errors.go
- node.go
- rpc.go
Click to show internal directories.
Click to hide internal directories.