Documentation ¶
Index ¶
- type Account
- type Approver
- type Authority
- type Builder
- func (b *Builder) Build(stater *state.Stater) (blk *block.Block, events tx.Events, transfers tx.Transfers, err error)
- func (b *Builder) Call(clause *tx.Clause, caller luckyshare.Address) *Builder
- func (b *Builder) ComputeID() (luckyshare.Bytes32, error)
- func (b *Builder) ExtraData(data [28]byte) *Builder
- func (b *Builder) GasLimit(limit uint64) *Builder
- func (b *Builder) State(proc func(state *state.State) error) *Builder
- func (b *Builder) Timestamp(t uint64) *Builder
- type CustomGenesis
- type DevAccount
- type Executor
- type Genesis
- type Params
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct { Address luckyshare.Address `json:"address"` Balance *hexOrDecimal256 `json:"balance"` Energy *hexOrDecimal256 `json:"energy"` Code string `json:"code"` Storage map[string]luckyshare.Bytes32 `json:"storage"` }
Account is the account will set to the genesis block
type Approver ¶
type Approver struct { Address luckyshare.Address `json:"address"` Identity luckyshare.Bytes32 `json:"identity"` }
Approver is the approver info for executor contract
type Authority ¶
type Authority struct { MasterAddress luckyshare.Address `json:"masterAddress"` EndorsorAddress luckyshare.Address `json:"endorsorAddress"` Identity luckyshare.Bytes32 `json:"identity"` }
Authority is the authority node info
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
Builder helper to build genesis block.
func (*Builder) Build ¶
func (b *Builder) Build(stater *state.Stater) (blk *block.Block, events tx.Events, transfers tx.Transfers, err error)
Build build genesis block according to presets.
func (*Builder) ComputeID ¶
func (b *Builder) ComputeID() (luckyshare.Bytes32, error)
ComputeID compute genesis ID.
func (*Builder) ExtraData ¶
ExtraData set extra data, which will be put into last 28 bytes of genesis parent id.
type CustomGenesis ¶
type CustomGenesis struct { LaunchTime uint64 `json:"launchTime"` GasLimit uint64 `json:"gaslimit"` ExtraData string `json:"extraData"` Accounts []Account `json:"accounts"` Authority []Authority `json:"authority"` Params Params `json:"params"` Executor Executor `json:"executor"` ForkConfig *luckyshare.ForkConfig `json:"forkConfig"` }
CustomGenesis is user customized genesis
type DevAccount ¶
type DevAccount struct { Address luckyshare.Address PrivateKey *ecdsa.PrivateKey }
DevAccount account for development.
func DevAccounts ¶
func DevAccounts() []DevAccount
DevAccounts returns pre-alloced accounts for solo mode.
type Executor ¶
type Executor struct {
Approvers []Approver `json:"approvers"`
}
Executor is the params for executor info
type Genesis ¶
type Genesis struct {
// contains filtered or unexported fields
}
Genesis to build genesis block.
func NewCustomNet ¶
func NewCustomNet(gen *CustomGenesis) (*Genesis, error)
NewCustomNet create custom network genesis.
type Params ¶
type Params struct { RewardRatio *hexOrDecimal256 `json:"rewardRatio"` BaseGasPrice *hexOrDecimal256 `json:"baseGasPrice"` ProposerEndorsement *hexOrDecimal256 `json:"proposerEndorsement"` ExecutorAddress *luckyshare.Address `json:"executorAddress"` }
Params means the chain params for params contract