repo

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2021 License: GPL-3.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// key name
	KeyName = "key.json"
	// API name
	APIName = "api"
)
View Source
const StorageABI = "" /* 797-byte string literal not displayed */

StorageABI is the input ABI used to generate the binding from.

Variables

View Source
var StorageBin = "" /* 894-byte string literal not displayed */

StorageBin is the compiled bytecode used for deploying new contracts.

View Source
var StorageFuncSigs = map[string]string{
	"2e64cec1": "retrieve()",
	"131a0680": "store(string)",
	"6057361d": "store(uint256)",
}

StorageFuncSigs maps the 4-byte function signature to its string representation.

Functions

func GetAPI

func GetAPI(repoRoot string) (string, error)

func GetKeyPath

func GetKeyPath(repoRoot string) string

func GetPidFromPrivFile added in v1.0.1

func GetPidFromPrivFile(privPath string) (string, error)

GetPidFromPrivFile gets pid from libp2p node priv file

func GetStoragePath

func GetStoragePath(repoRoot string, subPath ...string) string

func Initialize

func Initialize(repoRoot string) error

func Initialized

func Initialized(repoRoot string) bool

func PathRoot

func PathRoot() (string, error)

func PathRootWithDefault

func PathRootWithDefault(path string) (string, error)

func ReadConfig

func ReadConfig(path, configType string, config interface{}) error

func RewriteNetworkConfig added in v1.4.0

func RewriteNetworkConfig(repoRoot string, infos map[uint64]*pb.VpInfo, isNew bool) error

Types

type Admin added in v1.6.0

type Admin struct {
	Address string `json:"address" toml:"address"`
	Weight  uint64 `json:"weight" toml:"weight"`
}

type Cert

type Cert struct {
	Verify         bool   `toml:"verify" json:"verify"`
	NodeCertPath   string `mapstructure:"node_cert_path" json:"node_cert_path"`
	AgencyCertPath string `mapstructure:"agency_cert_path" json:"agency_cert_path"`
	CACertPath     string `mapstructure:"ca_cert_path" json:"ca_cert_path"`
}

type Config

type Config struct {
	RepoRoot string `json:"repo_root"`
	Title    string `json:"title"`
	Solo     bool   `json:"solo"`
	Port     `json:"port"`
	PProf    `json:"pprof"`
	Monitor  `json:"monitor"`
	Limiter  `json:"limiter"`
	Gateway  `json:"gateway"`
	Ping     `json:"ping"`
	Log      `json:"log"`
	Cert     `json:"cert"`
	Txpool   `json:"txpool"`
	Order    `json:"order"`
	Executor `json:"executor"`
	Ledger   `json:"ledger"`
	Genesis  `json:"genesis"`
	Security Security `toml:"security" json:"security"`
}

func DefaultConfig

func DefaultConfig() (*Config, error)

func UnmarshalConfig

func UnmarshalConfig(repoRoot string) (*Config, error)

func (*Config) Bytes

func (c *Config) Bytes() ([]byte, error)

type Executor added in v1.0.1

type Executor struct {
	Type string `toml:"type" json:"type"`
}

type Gateway

type Gateway struct {
	AllowedOrigins []string `mapstructure:"allowed_origins"`
}

type Genesis

type Genesis struct {
	ChainID  uint64            `json:"chainid" toml:"chainid"`
	GasLimit uint64            `mapstructure:"gas_limit" json:"gas_limit" toml:"gas_limit"`
	Admins   []*Admin          `json:"admins" toml:"admins"`
	Strategy map[string]string `json:"strategy" toml:"strategy"`
	Dider    string            `json:"dider" toml:"dider"`
}

type Key

type Key struct {
	Address       string             `json:"address"`
	PrivKey       crypto2.PrivateKey `json:"priv_key"`
	Libp2pPrivKey crypto.PrivKey
}

func LoadKey

func LoadKey(path string) (*Key, error)

type Ledger added in v1.9.0

type Ledger struct {
	Type string `toml:"type" json:"type"`
}

type Limiter added in v1.6.0

type Limiter struct {
	Interval time.Duration `toml:"interval" json:"interval"`
	Quantum  int64         `toml:"quantum" json:"quantum"`
	Capacity int64         `toml:"capacity" json:"capacity"`
}

type Log

type Log struct {
	Level        string    `toml:"level" json:"level"`
	Dir          string    `toml:"dir" json:"dir"`
	Filename     string    `toml:"filename" json:"filename"`
	ReportCaller bool      `mapstructure:"report_caller" json:"report_caller"`
	Module       LogModule `toml:"module" json:"module"`
}

type LogModule

type LogModule struct {
	P2P       string `toml:"p2p" json:"p2p"`
	Consensus string `toml:"consensus" json:"consensus"`
	Executor  string `toml:"executor" json:"executor"`
	Router    string `toml:"router" json:"router"`
	API       string `toml:"api" json:"api"`
	CoreAPI   string `mapstructure:"coreapi" toml:"coreapi" json:"coreapi"`
	Storage   string `toml:"storage" json:"storage"`
}

type Monitor

type Monitor struct {
	Enable bool
}

type NetworkConfig

type NetworkConfig struct {
	ID        uint64          `toml:"id" json:"id"`
	N         uint64          `toml:"n" json:"n"`
	New       bool            `toml:"new" json:"new"`
	LocalAddr string          `toml:"local_addr, omitempty" json:"local_addr"`
	Nodes     []*NetworkNodes `toml:"nodes" json:"nodes"`
	Genesis   Genesis         `toml:"genesis, omitempty" json:"genesis"`
}

func (*NetworkConfig) GetNetworkPeers added in v1.4.0

func (config *NetworkConfig) GetNetworkPeers() (map[uint64]*peer.AddrInfo, error)

GetNetworkPeers gets all peers from network config

func (*NetworkConfig) GetVpAccount added in v1.4.0

func (config *NetworkConfig) GetVpAccount() map[uint64]types.Address

GetVpAccount gets genesis address from network config

func (*NetworkConfig) GetVpGenesisAccount added in v1.4.0

func (config *NetworkConfig) GetVpGenesisAccount() map[uint64]types.Address

GetVpGenesisAccount gets genesis address from network config

func (*NetworkConfig) GetVpInfos added in v1.4.0

func (config *NetworkConfig) GetVpInfos() map[uint64]*pb.VpInfo

GetVpInfos gets vp info from network config

type NetworkNodes

type NetworkNodes struct {
	ID      uint64   `toml:"id" json:"id"`
	Pid     string   `toml:"pid" json:"pid"`
	Hosts   []string `toml:"hosts" json:"hosts"`
	Account string   `toml:"account" json:"account"`
}

type Order

type Order struct {
	Plugin string `toml:"plugin" json:"plugin"`
}

type PProf

type PProf struct {
	Enable   bool          `toml:"enbale" json:"enable"`
	PType    string        `toml:"ptype" json:"ptype"`
	Mode     string        `toml:"mode" json:"mode"`
	Duration time.Duration `toml:"duration" json:"duration"`
}

type Ping added in v1.4.0

type Ping struct {
	Enable   bool          `toml:"enable" json:"enable"`
	Duration time.Duration `toml:"duration" json:"duration"`
}

type Port

type Port struct {
	JsonRpc int64 `toml:"jsonrpc" json:"jsonrpc"`
	Grpc    int64 `toml:"grpc" json:"grpc"`
	Gateway int64 `toml:"gateway" json:"gateway"`
	PProf   int64 `toml:"pprof" json:"pprof"`
	Monitor int64 `toml:"monitor" json:"monitor"`
}

type Repo

type Repo struct {
	Config        *Config
	NetworkConfig *NetworkConfig
	Key           *Key
	Certs         *libp2pcert.Certs
}

func Load

func Load(repoRoot string) (*Repo, error)

type Security added in v1.0.1

type Security struct {
	EnableTLS     bool   `mapstructure:"enable_tls"`
	PemFilePath   string `mapstructure:"pem_file_path" json:"pem_file_path"`
	ServerKeyPath string `mapstructure:"server_key_path" json:"server_key_path"`
}

Security are files used to setup connection with tls

type Storage added in v1.8.0

type Storage struct {
	StorageCaller     // Read-only binding to the contract
	StorageTransactor // Write-only binding to the contract
	StorageFilterer   // Log filterer for contract events
}

Storage is an auto generated Go binding around an Ethereum contract.

func DeployStorage added in v1.8.0

func DeployStorage(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Storage, error)

DeployStorage deploys a new Ethereum contract, binding an instance of Storage to it.

func NewStorage added in v1.8.0

func NewStorage(address common.Address, backend bind.ContractBackend) (*Storage, error)

NewStorage creates a new instance of Storage, bound to a specific deployed contract.

type StorageCaller added in v1.8.0

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

StorageCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewStorageCaller added in v1.8.0

func NewStorageCaller(address common.Address, caller bind.ContractCaller) (*StorageCaller, error)

NewStorageCaller creates a new read-only instance of Storage, bound to a specific deployed contract.

func (*StorageCaller) Retrieve added in v1.8.0

func (_Storage *StorageCaller) Retrieve(opts *bind.CallOpts) (*big.Int, error)

Retrieve is a free data retrieval call binding the contract method 0x2e64cec1.

Solidity: function retrieve() view returns(uint256)

type StorageCallerRaw added in v1.8.0

type StorageCallerRaw struct {
	Contract *StorageCaller // Generic read-only contract binding to access the raw methods on
}

StorageCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*StorageCallerRaw) Call added in v1.8.0

func (_Storage *StorageCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type StorageCallerSession added in v1.8.0

type StorageCallerSession struct {
	Contract *StorageCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts  // Call options to use throughout this session
}

StorageCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*StorageCallerSession) Retrieve added in v1.8.0

func (_Storage *StorageCallerSession) Retrieve() (*big.Int, error)

Retrieve is a free data retrieval call binding the contract method 0x2e64cec1.

Solidity: function retrieve() view returns(uint256)

type StorageFilterer added in v1.8.0

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

StorageFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewStorageFilterer added in v1.8.0

func NewStorageFilterer(address common.Address, filterer bind.ContractFilterer) (*StorageFilterer, error)

NewStorageFilterer creates a new log filterer instance of Storage, bound to a specific deployed contract.

func (*StorageFilterer) FilterStoreNumber added in v1.8.0

func (_Storage *StorageFilterer) FilterStoreNumber(opts *bind.FilterOpts) (*StorageStoreNumberIterator, error)

FilterStoreNumber is a free log retrieval operation binding the contract event 0xb6339418f01686c6855f277c90d2fad82f81ee01e71a4924f21a7ea075bc90d9.

Solidity: event storeNumber(uint256 number)

func (*StorageFilterer) ParseStoreNumber added in v1.8.0

func (_Storage *StorageFilterer) ParseStoreNumber(log types.Log) (*StorageStoreNumber, error)

ParseStoreNumber is a log parse operation binding the contract event 0xb6339418f01686c6855f277c90d2fad82f81ee01e71a4924f21a7ea075bc90d9.

Solidity: event storeNumber(uint256 number)

func (*StorageFilterer) WatchStoreNumber added in v1.8.0

func (_Storage *StorageFilterer) WatchStoreNumber(opts *bind.WatchOpts, sink chan<- *StorageStoreNumber) (event.Subscription, error)

WatchStoreNumber is a free log subscription operation binding the contract event 0xb6339418f01686c6855f277c90d2fad82f81ee01e71a4924f21a7ea075bc90d9.

Solidity: event storeNumber(uint256 number)

type StorageRaw added in v1.8.0

type StorageRaw struct {
	Contract *Storage // Generic contract binding to access the raw methods on
}

StorageRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*StorageRaw) Call added in v1.8.0

func (_Storage *StorageRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*StorageRaw) Transact added in v1.8.0

func (_Storage *StorageRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*StorageRaw) Transfer added in v1.8.0

func (_Storage *StorageRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type StorageSession added in v1.8.0

type StorageSession struct {
	Contract     *Storage          // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

StorageSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*StorageSession) Retrieve added in v1.8.0

func (_Storage *StorageSession) Retrieve() (*big.Int, error)

Retrieve is a free data retrieval call binding the contract method 0x2e64cec1.

Solidity: function retrieve() view returns(uint256)

func (*StorageSession) Store added in v1.8.0

func (_Storage *StorageSession) Store(num string) (*types.Transaction, error)

Store is a paid mutator transaction binding the contract method 0x131a0680.

Solidity: function store(string num) returns()

func (*StorageSession) Store0 added in v1.8.0

func (_Storage *StorageSession) Store0(num *big.Int) (*types.Transaction, error)

Store0 is a paid mutator transaction binding the contract method 0x6057361d.

Solidity: function store(uint256 num) returns()

type StorageStoreNumber added in v1.8.0

type StorageStoreNumber struct {
	Number *big.Int
	Raw    types.Log // Blockchain specific contextual infos
}

StorageStoreNumber represents a StoreNumber event raised by the Storage contract.

type StorageStoreNumberIterator added in v1.8.0

type StorageStoreNumberIterator struct {
	Event *StorageStoreNumber // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

StorageStoreNumberIterator is returned from FilterStoreNumber and is used to iterate over the raw logs and unpacked data for StoreNumber events raised by the Storage contract.

func (*StorageStoreNumberIterator) Close added in v1.8.0

func (it *StorageStoreNumberIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*StorageStoreNumberIterator) Error added in v1.8.0

func (it *StorageStoreNumberIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*StorageStoreNumberIterator) Next added in v1.8.0

func (it *StorageStoreNumberIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type StorageTransactor added in v1.8.0

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

StorageTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewStorageTransactor added in v1.8.0

func NewStorageTransactor(address common.Address, transactor bind.ContractTransactor) (*StorageTransactor, error)

NewStorageTransactor creates a new write-only instance of Storage, bound to a specific deployed contract.

func (*StorageTransactor) Store added in v1.8.0

func (_Storage *StorageTransactor) Store(opts *bind.TransactOpts, num string) (*types.Transaction, error)

Store is a paid mutator transaction binding the contract method 0x131a0680.

Solidity: function store(string num) returns()

func (*StorageTransactor) Store0 added in v1.8.0

func (_Storage *StorageTransactor) Store0(opts *bind.TransactOpts, num *big.Int) (*types.Transaction, error)

Store0 is a paid mutator transaction binding the contract method 0x6057361d.

Solidity: function store(uint256 num) returns()

type StorageTransactorRaw added in v1.8.0

type StorageTransactorRaw struct {
	Contract *StorageTransactor // Generic write-only contract binding to access the raw methods on
}

StorageTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*StorageTransactorRaw) Transact added in v1.8.0

func (_Storage *StorageTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*StorageTransactorRaw) Transfer added in v1.8.0

func (_Storage *StorageTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type StorageTransactorSession added in v1.8.0

type StorageTransactorSession struct {
	Contract     *StorageTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
}

StorageTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*StorageTransactorSession) Store added in v1.8.0

func (_Storage *StorageTransactorSession) Store(num string) (*types.Transaction, error)

Store is a paid mutator transaction binding the contract method 0x131a0680.

Solidity: function store(string num) returns()

func (*StorageTransactorSession) Store0 added in v1.8.0

func (_Storage *StorageTransactorSession) Store0(num *big.Int) (*types.Transaction, error)

Store0 is a paid mutator transaction binding the contract method 0x6057361d.

Solidity: function store(uint256 num) returns()

type Txpool

type Txpool struct {
	BatchSize    int           `mapstructure:"batch_size" json:"batch_size"`
	BatchTimeout time.Duration `mapstructure:"batch_timeout" json:"batch_timeout"`
}

Jump to

Keyboard shortcuts

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