Documentation ¶
Index ¶
- Constants
- func SignWith(ctx context.Context, signer Signer, addr address.Address, signable ...Signable) error
- type ActiveSync
- type ActorState
- type BlockMessages
- type BlockTemplate
- type ChainSectorInfo
- type ChannelInfo
- type CommPRet
- type Common
- type ComputeStateOutput
- type DealInfo
- type Fault
- type FileRef
- type FullNode
- type HeadChange
- type Import
- type InvocResult
- type IpldObject
- type MarketBalance
- type MarketDeal
- type Message
- type MethodCall
- type MinerInfo
- type MinerPower
- type MinerSectors
- type MiningBaseInfo
- type MpoolChange
- type MpoolUpdate
- type MsgLookup
- type MsigProposeResponse
- type MultiaddrSlice
- type ObjStat
- type PCHDir
- type PaychStatus
- type PaymentInfo
- type PubsubScore
- type QueryOffer
- type RetrievalOrder
- type SealRes
- type SealSeed
- type SealTicket
- type SealedRef
- type SealedRefs
- type SectorInfo
- type SectorLog
- type SectorState
- type SignFunc
- type Signable
- type Signer
- type StartDealParams
- type StorageMiner
- type SyncState
- type SyncStateStage
- type Version
- type VoucherSpec
- type WorkerAPI
Constants ¶
View Source
const ( StageIdle = SyncStateStage(iota) StageHeaders StagePersistHeaders StageMessages StageSyncComplete StageSyncErrored )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ActiveSync ¶
type ActorState ¶
type BlockMessages ¶
type BlockMessages struct { BlsMessages []*types.Message SecpkMessages []*types.SignedMessage Cids []cid.Cid }
type BlockTemplate ¶ added in v0.3.0
type BlockTemplate struct { Miner address.Address Parents types.TipSetKey Ticket *types.Ticket Eproof *types.ElectionProof BeaconValues []types.BeaconEntry Messages []*types.SignedMessage Epoch abi.ChainEpoch Timestamp uint64 WinningPoStProof []abi.PoStProof }
type ChainSectorInfo ¶
type ChainSectorInfo struct { Info miner.SectorOnChainInfo ID abi.SectorNumber }
type ChannelInfo ¶
type ChannelInfo struct { Channel address.Address ChannelMessage cid.Cid }
type CommPRet ¶ added in v0.3.0
type CommPRet struct { Root cid.Cid Size abi.UnpaddedPieceSize }
type Common ¶
type Common interface { AuthVerify(ctx context.Context, token string) ([]auth.Permission, error) AuthNew(ctx context.Context, perms []auth.Permission) ([]byte, error) NetConnectedness(context.Context, peer.ID) (network.Connectedness, error) NetPeers(context.Context) ([]peer.AddrInfo, error) NetConnect(context.Context, peer.AddrInfo) error NetAddrsListen(context.Context) (peer.AddrInfo, error) NetDisconnect(context.Context, peer.ID) error NetFindPeer(context.Context, peer.ID) (peer.AddrInfo, error) NetPubsubScores(context.Context) ([]PubsubScore, error) // ID returns peerID of libp2p node backing this API ID(context.Context) (peer.ID, error) // Version provides information about API provider Version(context.Context) (Version, error) LogList(context.Context) ([]string, error) LogSetLevel(context.Context, string, string) error // trigger graceful shutdown Shutdown(context.Context) error Closing(context.Context) (<-chan struct{}, error) }
type ComputeStateOutput ¶ added in v0.3.0
type ComputeStateOutput struct { Root cid.Cid Trace []*InvocResult }
type DealInfo ¶
type DealInfo struct { ProposalCid cid.Cid State storagemarket.StorageDealStatus Message string // more information about deal state, particularly errors Provider address.Address PieceCID cid.Cid Size uint64 PricePerEpoch types.BigInt Duration uint64 DealID abi.DealID }
type Fault ¶ added in v0.3.1
type Fault struct { Miner address.Address Epoch abi.ChainEpoch }
type FullNode ¶
type FullNode interface { Common // ChainNotify returns channel with chain head updates // First message is guaranteed to be of len == 1, and type == 'current' ChainNotify(context.Context) (<-chan []*HeadChange, error) // ChainHead returns the current head of the chain ChainHead(context.Context) (*types.TipSet, error) // ChainGetRandomness is used to sample the chain for randomness ChainGetRandomness(ctx context.Context, tsk types.TipSetKey, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte) (abi.Randomness, error) // ChainGetBlock returns the block specified by the given CID ChainGetBlock(context.Context, cid.Cid) (*types.BlockHeader, error) ChainGetTipSet(context.Context, types.TipSetKey) (*types.TipSet, error) // ChainGetBlockMessages returns messages stored in the specified block ChainGetBlockMessages(ctx context.Context, blockCid cid.Cid) (*BlockMessages, error) // ChainGetParentReceipts returns receipts for messages in parent tipset of // the specified block ChainGetParentReceipts(ctx context.Context, blockCid cid.Cid) ([]*types.MessageReceipt, error) // ChainGetParentReceipts returns messages stored in parent tipset of the // specified block ChainGetParentMessages(ctx context.Context, blockCid cid.Cid) ([]Message, error) // ChainGetTipSetByHeight looks back for a tipset at the specified epoch. // If there are no blocks at the specified epoch, a tipset at higher epoch // will be returned ChainGetTipSetByHeight(context.Context, abi.ChainEpoch, types.TipSetKey) (*types.TipSet, error) // ChainReadObj reads ipld nodes referenced by the specified CID from chain // blockstore and returns raw bytes ChainReadObj(context.Context, cid.Cid) ([]byte, error) // ChainHasObj checks if a given CID exists in the chain blockstore ChainHasObj(context.Context, cid.Cid) (bool, error) ChainStatObj(context.Context, cid.Cid, cid.Cid) (ObjStat, error) // ChainSetHead forcefully sets current chain head. Use with caution ChainSetHead(context.Context, types.TipSetKey) error // ChainGetGenesis returns the genesis tipset ChainGetGenesis(context.Context) (*types.TipSet, error) // ChainTipSetWeight computes weight for the specified tipset ChainTipSetWeight(context.Context, types.TipSetKey) (types.BigInt, error) ChainGetNode(ctx context.Context, p string) (*IpldObject, error) // ChainGetMessage reads a message referenced by the specified CID from the // chain blockstore ChainGetMessage(context.Context, cid.Cid) (*types.Message, error) // ChainGetPath returns a set of revert/apply operations needed to get from // one tipset to another, for example: //“` // to // ^ // from tAA // ^ ^ // tBA tAB // ^---*--^ // ^ // tRR //“` // Would return `[revert(tBA), apply(tAB), apply(tAA)]` ChainGetPath(ctx context.Context, from types.TipSetKey, to types.TipSetKey) ([]*HeadChange, error) // ChainExport returns a stream of bytes with CAR dump of chain data ChainExport(context.Context, types.TipSetKey) (<-chan []byte, error) // SyncState returns the current status of the lotus sync system SyncState(context.Context) (*SyncState, error) // SyncSubmitBlock can be used to submit a newly created block to the // network through this node SyncSubmitBlock(ctx context.Context, blk *types.BlockMsg) error // SyncIncomingBlocks returns a channel streaming incoming, potentially not // yet synced block headers. SyncIncomingBlocks(ctx context.Context) (<-chan *types.BlockHeader, error) // SyncMarkBad marks a blocks as bad, meaning that it won't ever by synced. // Use with extreme caution SyncMarkBad(ctx context.Context, bcid cid.Cid) error // SyncCheckBad checks if a block was marked as bad, and if it was, returns // the reason SyncCheckBad(ctx context.Context, bcid cid.Cid) (string, error) // MpoolPending returns pending mempool messages MpoolPending(context.Context, types.TipSetKey) ([]*types.SignedMessage, error) // MpoolPush pushes a signed message to mempool MpoolPush(context.Context, *types.SignedMessage) (cid.Cid, error) // MpoolPushMessage atomically assigns a nonce, signs, and pushes a message // to mempool MpoolPushMessage(context.Context, *types.Message) (*types.SignedMessage, error) // MpoolGetNonce gets next nonce for the specified sender. // Note that this method may not be atomic. Use MpoolPushMessage instead MpoolGetNonce(context.Context, address.Address) (uint64, error) MpoolSub(context.Context) (<-chan MpoolUpdate, error) // MpoolEstimateGasPrice estimates what gas price should be used for a // message to have high likelihood of inclusion in `nblocksincl` epochs MpoolEstimateGasPrice(ctx context.Context, nblocksincl uint64, sender address.Address, gaslimit int64, tsk types.TipSetKey) (types.BigInt, error) MinerGetBaseInfo(context.Context, address.Address, abi.ChainEpoch, types.TipSetKey) (*MiningBaseInfo, error) MinerCreateBlock(context.Context, *BlockTemplate) (*types.BlockMsg, error) WalletNew(context.Context, crypto.SigType) (address.Address, error) WalletHas(context.Context, address.Address) (bool, error) WalletList(context.Context) ([]address.Address, error) WalletBalance(context.Context, address.Address) (types.BigInt, error) WalletSign(context.Context, address.Address, []byte) (*crypto.Signature, error) WalletSignMessage(context.Context, address.Address, *types.Message) (*types.SignedMessage, error) WalletVerify(context.Context, address.Address, []byte, *crypto.Signature) bool WalletDefaultAddress(context.Context) (address.Address, error) WalletSetDefault(context.Context, address.Address) error WalletExport(context.Context, address.Address) (*types.KeyInfo, error) WalletImport(context.Context, *types.KeyInfo) (address.Address, error) WalletDelete(context.Context, address.Address) error // ClientImport imports file under the specified path into filestore ClientImport(ctx context.Context, ref FileRef) (cid.Cid, error) // ClientStartDeal proposes a deal with a miner ClientStartDeal(ctx context.Context, params *StartDealParams) (*cid.Cid, error) // ClientGetDeal info returns the latest information about a given deal ClientGetDealInfo(context.Context, cid.Cid) (*DealInfo, error) ClientListDeals(ctx context.Context) ([]DealInfo, error) ClientHasLocal(ctx context.Context, root cid.Cid) (bool, error) ClientFindData(ctx context.Context, root cid.Cid) ([]QueryOffer, error) ClientMinerQueryOffer(ctx context.Context, root cid.Cid, miner address.Address) (QueryOffer, error) ClientRetrieve(ctx context.Context, order RetrievalOrder, ref *FileRef) error ClientQueryAsk(ctx context.Context, p peer.ID, miner address.Address) (*storagemarket.SignedStorageAsk, error) ClientCalcCommP(ctx context.Context, inpath string, miner address.Address) (*CommPRet, error) ClientGenCar(ctx context.Context, ref FileRef, outpath string) error // ClientListImports lists imported files and their root CIDs ClientListImports(ctx context.Context) ([]Import, error) // if tipset is nil, we'll use heaviest StateCall(context.Context, *types.Message, types.TipSetKey) (*InvocResult, error) StateReplay(context.Context, types.TipSetKey, cid.Cid) (*InvocResult, error) StateGetActor(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*types.Actor, error) StateReadState(ctx context.Context, act *types.Actor, tsk types.TipSetKey) (*ActorState, error) StateListMessages(ctx context.Context, match *types.Message, tsk types.TipSetKey, toht abi.ChainEpoch) ([]cid.Cid, error) StateNetworkName(context.Context) (dtypes.NetworkName, error) StateMinerSectors(context.Context, address.Address, *abi.BitField, bool, types.TipSetKey) ([]*ChainSectorInfo, error) StateMinerProvingSet(context.Context, address.Address, types.TipSetKey) ([]*ChainSectorInfo, error) StateMinerProvingDeadline(context.Context, address.Address, types.TipSetKey) (*miner.DeadlineInfo, error) StateMinerPower(context.Context, address.Address, types.TipSetKey) (*MinerPower, error) StateMinerInfo(context.Context, address.Address, types.TipSetKey) (MinerInfo, error) StateMinerDeadlines(context.Context, address.Address, types.TipSetKey) (*miner.Deadlines, error) StateMinerFaults(context.Context, address.Address, types.TipSetKey) (*abi.BitField, error) // Returns all non-expired Faults that occur within lookback epochs of the given tipset StateAllMinerFaults(ctx context.Context, lookback abi.ChainEpoch, ts types.TipSetKey) ([]*Fault, error) StateMinerRecoveries(context.Context, address.Address, types.TipSetKey) (*abi.BitField, error) StateMinerInitialPledgeCollateral(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (types.BigInt, error) StateMinerAvailableBalance(context.Context, address.Address, types.TipSetKey) (types.BigInt, error) StateSectorPreCommitInfo(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (miner.SectorPreCommitOnChainInfo, error) StateSectorGetInfo(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (*miner.SectorOnChainInfo, error) StatePledgeCollateral(context.Context, types.TipSetKey) (types.BigInt, error) StateWaitMsg(ctx context.Context, cid cid.Cid, confidence uint64) (*MsgLookup, error) StateSearchMsg(context.Context, cid.Cid) (*MsgLookup, error) StateListMiners(context.Context, types.TipSetKey) ([]address.Address, error) StateListActors(context.Context, types.TipSetKey) ([]address.Address, error) StateMarketBalance(context.Context, address.Address, types.TipSetKey) (MarketBalance, error) StateMarketParticipants(context.Context, types.TipSetKey) (map[string]MarketBalance, error) StateMarketDeals(context.Context, types.TipSetKey) (map[string]MarketDeal, error) StateMarketStorageDeal(context.Context, abi.DealID, types.TipSetKey) (*MarketDeal, error) StateLookupID(context.Context, address.Address, types.TipSetKey) (address.Address, error) StateAccountKey(context.Context, address.Address, types.TipSetKey) (address.Address, error) StateChangedActors(context.Context, cid.Cid, cid.Cid) (map[string]types.Actor, error) StateGetReceipt(context.Context, cid.Cid, types.TipSetKey) (*types.MessageReceipt, error) StateMinerSectorCount(context.Context, address.Address, types.TipSetKey) (MinerSectors, error) StateCompute(context.Context, abi.ChainEpoch, []*types.Message, types.TipSetKey) (*ComputeStateOutput, error) MsigGetAvailableBalance(context.Context, address.Address, types.TipSetKey) (types.BigInt, error) MsigCreate(context.Context, int64, []address.Address, types.BigInt, address.Address, types.BigInt) (cid.Cid, error) MsigPropose(context.Context, address.Address, address.Address, types.BigInt, address.Address, uint64, []byte) (cid.Cid, error) MsigApprove(context.Context, address.Address, uint64, address.Address, address.Address, types.BigInt, address.Address, uint64, []byte) (cid.Cid, error) MsigCancel(context.Context, address.Address, uint64, address.Address, address.Address, types.BigInt, address.Address, uint64, []byte) (cid.Cid, error) MarketEnsureAvailable(context.Context, address.Address, address.Address, types.BigInt) (cid.Cid, error) PaychGet(ctx context.Context, from, to address.Address, ensureFunds types.BigInt) (*ChannelInfo, error) PaychList(context.Context) ([]address.Address, error) PaychStatus(context.Context, address.Address) (*PaychStatus, error) PaychClose(context.Context, address.Address) (cid.Cid, error) PaychAllocateLane(ctx context.Context, ch address.Address) (uint64, error) PaychNewPayment(ctx context.Context, from, to address.Address, vouchers []VoucherSpec) (*PaymentInfo, error) PaychVoucherCheckValid(context.Context, address.Address, *paych.SignedVoucher) error PaychVoucherCheckSpendable(context.Context, address.Address, *paych.SignedVoucher, []byte, []byte) (bool, error) PaychVoucherCreate(context.Context, address.Address, types.BigInt, uint64) (*paych.SignedVoucher, error) PaychVoucherAdd(context.Context, address.Address, *paych.SignedVoucher, []byte, types.BigInt) (types.BigInt, error) PaychVoucherList(context.Context, address.Address) ([]*paych.SignedVoucher, error) PaychVoucherSubmit(context.Context, address.Address, *paych.SignedVoucher) (cid.Cid, error) }
FullNode API is a low-level interface to the Filecoin network full node
type HeadChange ¶ added in v0.3.0
type InvocResult ¶ added in v0.3.0
type InvocResult struct { Msg *types.Message MsgRct *types.MessageReceipt ExecutionTrace types.ExecutionTrace Error string Duration time.Duration }
type IpldObject ¶ added in v0.3.0
type IpldObject struct { Cid cid.Cid Obj interface{} }
type MarketDeal ¶ added in v0.3.0
type MarketDeal struct { Proposal market.DealProposal State market.DealState }
type MethodCall ¶ added in v0.2.6
type MethodCall struct { types.MessageReceipt Error string }
type MinerInfo ¶ added in v0.4.0
type MinerInfo struct { Owner address.Address // Must be an ID-address. Worker address.Address // Must be an ID-address. NewWorker address.Address // Must be an ID-address. WorkerChangeEpoch abi.ChainEpoch PeerId peer.ID Multiaddrs []abi.Multiaddrs SealProofType abi.RegisteredSealProof SectorSize abi.SectorSize WindowPoStPartitionSectors uint64 }
func NewApiMinerInfo ¶ added in v0.4.0
type MinerSectors ¶ added in v0.1.5
type MiningBaseInfo ¶ added in v0.3.0
type MiningBaseInfo struct { MinerPower types.BigInt NetworkPower types.BigInt Sectors []abi.SectorInfo WorkerKey address.Address SectorSize abi.SectorSize PrevBeaconEntry types.BeaconEntry BeaconEntries []types.BeaconEntry }
type MpoolUpdate ¶
type MpoolUpdate struct { Type MpoolChange Message *types.SignedMessage }
type MsgLookup ¶ added in v0.3.0
type MsgLookup struct { Receipt types.MessageReceipt TipSet *types.TipSet }
type MsigProposeResponse ¶ added in v0.3.0
type MsigProposeResponse int
const ( MsigApprove MsigProposeResponse = iota MsigCancel )
type MultiaddrSlice ¶
func (*MultiaddrSlice) UnmarshalJSON ¶
func (m *MultiaddrSlice) UnmarshalJSON(raw []byte) (err error)
type PaychStatus ¶
type PaychStatus struct { ControlAddr address.Address Direction PCHDir }
type PaymentInfo ¶
type PaymentInfo struct { Channel address.Address ChannelMessage *cid.Cid Vouchers []*paych.SignedVoucher }
func (*PaymentInfo) MarshalCBOR ¶
func (t *PaymentInfo) MarshalCBOR(w io.Writer) error
func (*PaymentInfo) UnmarshalCBOR ¶
func (t *PaymentInfo) UnmarshalCBOR(r io.Reader) error
type PubsubScore ¶ added in v0.3.1
type QueryOffer ¶
type QueryOffer struct { Err string Root cid.Cid Size uint64 MinPrice types.BigInt PaymentInterval uint64 PaymentIntervalIncrease uint64 Miner address.Address MinerPeerID peer.ID }
func (*QueryOffer) Order ¶
func (o *QueryOffer) Order(client address.Address) RetrievalOrder
type RetrievalOrder ¶
type SealSeed ¶ added in v0.3.0
type SealSeed struct { Value abi.InteractiveSealRandomness Epoch abi.ChainEpoch }
type SealTicket ¶ added in v0.3.0
type SealTicket struct { Value abi.SealRandomness Epoch abi.ChainEpoch }
func (*SealTicket) Equals ¶ added in v0.3.0
func (st *SealTicket) Equals(ost *SealTicket) bool
func (*SealTicket) MarshalCBOR ¶ added in v0.3.0
func (t *SealTicket) MarshalCBOR(w io.Writer) error
func (*SealTicket) UnmarshalCBOR ¶ added in v0.3.0
func (t *SealTicket) UnmarshalCBOR(r io.Reader) error
type SealedRef ¶
type SealedRef struct { SectorID abi.SectorNumber Offset uint64 Size abi.UnpaddedPieceSize }
type SealedRefs ¶
type SealedRefs struct {
Refs []SealedRef
}
func (*SealedRefs) MarshalCBOR ¶
func (t *SealedRefs) MarshalCBOR(w io.Writer) error
func (*SealedRefs) UnmarshalCBOR ¶
func (t *SealedRefs) UnmarshalCBOR(r io.Reader) error
type SectorInfo ¶
type SectorInfo struct { SectorID abi.SectorNumber State SectorState CommD *cid.Cid CommR *cid.Cid Proof []byte Deals []abi.DealID Ticket SealTicket Seed SealSeed Retries uint64 LastErr string Log []SectorLog }
type SectorState ¶
type SectorState string
type StartDealParams ¶ added in v0.3.0
type StartDealParams struct { Data *storagemarket.DataRef Wallet address.Address Miner address.Address EpochPrice types.BigInt MinBlocksDuration uint64 DealStartEpoch abi.ChainEpoch }
type StorageMiner ¶
type StorageMiner interface { Common ActorAddress(context.Context) (address.Address, error) ActorSectorSize(context.Context, address.Address) (abi.SectorSize, error) MiningBase(context.Context) (*types.TipSet, error) // Temp api for testing PledgeSector(context.Context) error // Get the status of a given sector by ID SectorsStatus(context.Context, abi.SectorNumber) (SectorInfo, error) // List all staged sectors SectorsList(context.Context) ([]abi.SectorNumber, error) SectorsRefs(context.Context) (map[string][]SealedRef, error) SectorsUpdate(context.Context, abi.SectorNumber, SectorState) error StorageList(ctx context.Context) (map[stores.ID][]stores.Decl, error) StorageLocal(ctx context.Context) (map[stores.ID]string, error) StorageStat(ctx context.Context, id stores.ID) (stores.FsStat, error) // WorkerConnect tells the node to connect to workers RPC WorkerConnect(context.Context, string) error WorkerStats(context.Context) (map[uint64]storiface.WorkerStats, error) stores.SectorIndex MarketImportDealData(ctx context.Context, propcid cid.Cid, path string) error MarketListDeals(ctx context.Context) ([]storagemarket.StorageDeal, error) MarketListIncompleteDeals(ctx context.Context) ([]storagemarket.MinerDeal, error) MarketSetAsk(ctx context.Context, price types.BigInt, duration abi.ChainEpoch, minPieceSize abi.PaddedPieceSize, maxPieceSize abi.PaddedPieceSize) error MarketGetAsk(ctx context.Context) (*storagemarket.SignedStorageAsk, error) DealsImportData(ctx context.Context, dealPropCid cid.Cid, file string) error DealsList(ctx context.Context) ([]storagemarket.StorageDeal, error) DealsSetAcceptingStorageDeals(context.Context, bool) error StorageAddLocal(ctx context.Context, path string) error }
StorageMiner is a low-level interface to the Filecoin network storage miner node
type SyncState ¶
type SyncState struct {
ActiveSyncs []ActiveSync
}
type SyncStateStage ¶
type SyncStateStage int
type Version ¶
type Version struct { Version string // APIVersion is a binary encoded semver version of the remote implementing // this api // // See APIVersion in build/version.go APIVersion build.Version // Seconds BlockDelay uint64 }
Version provides various build-time information
type VoucherSpec ¶
type VoucherSpec struct { Amount types.BigInt TimeLockMin abi.ChainEpoch TimeLockMax abi.ChainEpoch MinSettle abi.ChainEpoch Extra *paych.ModVerifyParams }
type WorkerAPI ¶ added in v0.3.1
type WorkerAPI interface { Version(context.Context) (build.Version, error) TaskTypes(context.Context) (map[sealtasks.TaskType]struct{}, error) // TaskType -> Weight Paths(context.Context) ([]stores.StoragePath, error) Info(context.Context) (storiface.WorkerInfo, error) storage.Sealer MoveStorage(ctx context.Context, sector abi.SectorID) error UnsealPiece(context.Context, abi.SectorID, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize, abi.SealRandomness, cid.Cid) error ReadPiece(context.Context, io.Writer, abi.SectorID, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize) error Fetch(context.Context, abi.SectorID, stores.SectorFileType, stores.PathType, stores.AcquireMode) error Closing(context.Context) (<-chan struct{}, error) }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.