genesis

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2021 License: Apache-2.0, MIT Imports: 56 Imported by: 1

Documentation

Index

Constants

View Source
const AccountStart = 100
View Source
const MaxAccounts = MinerStart - AccountStart
View Source
const MinerStart = 1000

Variables

View Source
var RootVerifierID address.Address

Functions

func MakeInitialStateTree

func MakeInitialStateTree(ctx context.Context, bs bstore.Blockstore, template Template) (*state.State, map[address.Address]address.Address, error)

func MinerAddress

func MinerAddress(genesisIndex uint64) address.Address

func SetupCronActor

func SetupCronActor(bs bstore.Blockstore) (*types.Actor, error)

func SetupInitActor

func SetupInitActor(bs bstore.Blockstore, netname string, initialActors []Actor, rootVerifier Actor) (int64, *types.Actor, map[address.Address]address.Address, error)

func SetupRewardActor

func SetupRewardActor(bs bstore.Blockstore, qaPower big.Int) (*types.Actor, error)

func SetupStorageMarketActor

func SetupStorageMarketActor(bs bstore.Blockstore) (*types.Actor, error)

func SetupStorageMiners

func SetupStorageMiners(ctx context.Context, cs *chain.Store, sroot cid.Cid, miners []Miner, para *config.ForkUpgradeConfig) (cid.Cid, error)

func SetupStoragePowerActor

func SetupStoragePowerActor(bs bstore.Blockstore) (*types.Actor, error)

func SetupSystemActor

func SetupSystemActor(bs bstore.Blockstore) (*types.Actor, error)

func SetupVerifiedRegistryActor

func SetupVerifiedRegistryActor(bs bstore.Blockstore) (*types.Actor, error)

func VerifyPreSealedData

func VerifyPreSealedData(ctx context.Context, cs *chain.Store, stateroot cid.Cid, template Template, keyIDs map[address.Address]address.Address, para *config.ForkUpgradeConfig) (cid.Cid, error)

Types

type AccountMeta

type AccountMeta struct {
	Owner address.Address // bls / secpk
}

func (*AccountMeta) ActorMeta

func (am *AccountMeta) ActorMeta() json.RawMessage

type Actor

type Actor struct {
	Type    ActorType
	Balance abi.TokenAmount

	Meta json.RawMessage
}

type ActorType

type ActorType string
const (
	TAccount  ActorType = "account"
	TMultisig ActorType = "multisig"
)

type GenesisBootstrap

type GenesisBootstrap struct {
	Genesis *block.Block
}

func MakeGenesisBlock

func MakeGenesisBlock(ctx context.Context, rep repo.Repo, bs blockstore.Blockstore, template Template, para *config.ForkUpgradeConfig) (*GenesisBootstrap, error)

type Miner

type Miner struct {
	ID     address.Address
	Owner  address.Address
	Worker address.Address
	PeerId peer.ID //nolint:golint

	MarketBalance abi.TokenAmount
	PowerBalance  abi.TokenAmount

	SectorSize abi.SectorSize

	Sectors []*PreSeal
}

type MultisigMeta

type MultisigMeta struct {
	Signers         []address.Address
	Threshold       int
	VestingDuration int
	VestingStart    int
}

func (*MultisigMeta) ActorMeta

func (mm *MultisigMeta) ActorMeta() json.RawMessage

type PreSeal

type PreSeal struct {
	CommR     cid.Cid
	CommD     cid.Cid
	SectorID  abi.SectorNumber
	Deal      market2.DealProposal
	ProofType abi.RegisteredSealProof
}

type Template

type Template struct {
	Accounts []Actor
	Miners   []Miner

	NetworkName string
	Timestamp   uint64 `json:",omitempty"`

	VerifregRootKey  Actor
	RemainderAccount Actor
}

Jump to

Keyboard shortcuts

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