Documentation
¶
Index ¶
- Constants
- Variables
- func APIAddrFromRepoPath(repoPath string) (string, error)
- func APITokenFromRepoPath(repoPath string) (string, error)
- func Exists(repoPath string) (bool, error)
- func InitFSRepo(targetPath string, version uint, cfg *config.Config) error
- func InitFSRepoDirect(targetPath string, version uint, cfg *config.Config) error
- func LoadConfig(p string) (*config.Config, error)
- func MakeRepoDirName(prefix string, ts time.Time, version uint, uniqueifier uint) string
- func ReadVersion(repoPath string) (uint, error)
- func RequireMakeTempDir(t *testing.T, dirname string) string
- func RequireOpenTempFile(t *testing.T, suffix string) (*os.File, string)
- func RequireReadLink(t *testing.T, path string) string
- func WriteVersion(p string, version uint) error
- type Datastore
- type FSRepo
- func (r *FSRepo) APIAddr() (string, error)
- func (r *FSRepo) APIToken() (string, error)
- func (r *FSRepo) ChainDatastore() Datastore
- func (r *FSRepo) Close() error
- func (r *FSRepo) Config() *config.Config
- func (r *FSRepo) Datastore() blockstoreutil.Blockstore
- func (r *FSRepo) JournalPath() string
- func (r *FSRepo) Keystore() fskeystore.Keystore
- func (r *FSRepo) MetaDatastore() Datastore
- func (r *FSRepo) Path() (string, error)
- func (r *FSRepo) PaychDatastore() Datastore
- func (r *FSRepo) ReplaceConfig(cfg *config.Config) error
- func (r *FSRepo) Repo() Repo
- func (r *FSRepo) SetAPIAddr(maddr string) error
- func (r *FSRepo) SetAPIToken(token []byte) error
- func (r *FSRepo) SqlitePath() (string, error)
- func (r *FSRepo) Version() uint
- func (r *FSRepo) WalletDatastore() Datastore
- type MemRepo
- func (mr *MemRepo) APIAddr() (string, error)
- func (mr *MemRepo) APIToken() (string, error)
- func (mr *MemRepo) ChainDatastore() Datastore
- func (mr *MemRepo) Close() error
- func (mr *MemRepo) Config() *config.Config
- func (mr *MemRepo) Datastore() blockstoreutil.Blockstore
- func (mr *MemRepo) JournalPath() string
- func (mr *MemRepo) Keystore() fskeystore.Keystore
- func (mr *MemRepo) MetaDatastore() Datastore
- func (mr *MemRepo) Path() (string, error)
- func (mr *MemRepo) PaychDatastore() Datastore
- func (mr *MemRepo) ReplaceConfig(cfg *config.Config) error
- func (mr *MemRepo) Repo() Repo
- func (mr *MemRepo) SetAPIAddr(addr string) error
- func (mr *MemRepo) SetAPIToken(token []byte) error
- func (mr *MemRepo) SqlitePath() (string, error)
- func (mr *MemRepo) Version() uint
- func (mr *MemRepo) WalletDatastore() Datastore
- type Repo
Constants ¶
const LatestVersion uint = 13
Version is the version of repo schema that this code understands.
Variables ¶
var Config = config.NewDefaultConfig()
Config is the config object for the repo.
Functions ¶
func APIAddrFromRepoPath ¶
APIAddrFromRepoPath returns the api addr from the filecoin repo
func APITokenFromRepoPath ¶ added in v0.9.7
APITokenFromRepoPath returns the token from the filecoin repo
func InitFSRepo ¶
InitFSRepo initializes a new repo at the target path with the provided configuration. The successful result creates a symlink at targetPath pointing to a sibling directory named with a timestamp and repo version number. The link path must be empty prior. If the computed actual directory exists, it must be empty.
func InitFSRepoDirect ¶
InitFSRepoDirect initializes a new repo at a target path, establishing a provided configuration. The target path must not exist, or must reference an empty, read/writable directory.
func MakeRepoDirName ¶
MakeRepoDirName constructs a name for a concrete repo directory, which includes its version number and a timestamp. The name will begin with prefix and, if uniqueifier is non-zero, end with that (intended as an ordinal for finding a free name). E.g. ".filecoin-20190102-140425-012-1 This is exported for use by migrations.
func ReadVersion ¶
ReadVersion returns the unparsed (string) version from the version file in the specified repo.
func RequireMakeTempDir ¶
RequireMakeTempDir ensures that a temporary directory is created
func RequireOpenTempFile ¶
RequireOpenTempFile is a shortcut for opening a given temp file with a given suffix, then returning both a filename and a file pointer.
func RequireReadLink ¶
RequireReadLink reads a symlink that is expected to resolve successfully.
func WriteVersion ¶
WriteVersion writes the given version to the repo version file.
Types ¶
type Datastore ¶
type Datastore datastore.Batching
Datastore is the datastore interface provided by the repo
type FSRepo ¶
type FSRepo struct {
// contains filtered or unexported fields
}
FSRepo is a repo implementation backed by a filesystem.
func OpenFSRepo ¶
OpenFSRepo opens an initialized fsrepo, expecting a specific version. The provided path may be to a directory, or a symbolic link pointing at a directory, which will be resolved just once at open.
func (*FSRepo) ChainDatastore ¶
ChainDatastore returns the chain datastore.
func (*FSRepo) Datastore ¶
func (r *FSRepo) Datastore() blockstoreutil.Blockstore
Datastore returns the datastore.
func (*FSRepo) JournalPath ¶
JournalPath returns the path the journal is at.
func (*FSRepo) Keystore ¶
func (r *FSRepo) Keystore() fskeystore.Keystore
Keystore returns the keystore
func (*FSRepo) MetaDatastore ¶
func (*FSRepo) PaychDatastore ¶ added in v0.9.1
func (*FSRepo) ReplaceConfig ¶
ReplaceConfig replaces the current config with the newly passed in one.
func (*FSRepo) SetAPIAddr ¶
SetAPIAddr writes the address to the API file. SetAPIAddr expects parameter `port` to be of the form `:<port>`.
func (*FSRepo) SetAPIToken ¶
func (*FSRepo) SqlitePath ¶ added in v1.10.0
func (*FSRepo) WalletDatastore ¶
WalletDatastore returns the wallet datastore.
type MemRepo ¶
type MemRepo struct {
D blockstoreutil.Blockstore
Ks fskeystore.Keystore
W Datastore
Chain Datastore
Meta Datastore
Paych Datastore
// contains filtered or unexported fields
}
MemRepo is an in-memory implementation of the repo interface.
func NewInMemoryRepo ¶
func NewInMemoryRepo() *MemRepo
NewInMemoryRepo makes a new instance of MemRepo
func (*MemRepo) ChainDatastore ¶
ChainDatastore returns the chain datastore.
func (*MemRepo) Close ¶
Close deletes the temporary directories which hold staged piece data and sealed sectors.
func (*MemRepo) Datastore ¶
func (mr *MemRepo) Datastore() blockstoreutil.Blockstore
Datastore returns the datastore.
func (*MemRepo) JournalPath ¶
JournalPath returns a string to satisfy the repo interface.
func (*MemRepo) Keystore ¶
func (mr *MemRepo) Keystore() fskeystore.Keystore
Keystore returns the keystore.
func (*MemRepo) MetaDatastore ¶
MetaDatastore returns the meta datastore.
func (*MemRepo) PaychDatastore ¶ added in v0.9.1
PaychDatastore returns the paych datastore.
func (*MemRepo) ReplaceConfig ¶
ReplaceConfig replaces the current config with the newly passed in one.
func (*MemRepo) SetAPIAddr ¶
SetAPIAddr writes the address of the running API to memory.
func (*MemRepo) SetAPIToken ¶
func (*MemRepo) SqlitePath ¶ added in v1.10.0
SqlitePath returns In-Memory Databases
func (*MemRepo) WalletDatastore ¶
WalletDatastore returns the wallet datastore.
type Repo ¶
type Repo interface {
Config() *config.Config
// ReplaceConfig replaces the current config, with the newly passed in one.
ReplaceConfig(cfg *config.Config) error
// Datastore is a general storage solution for things like blocks.
Datastore() blockstoreutil.Blockstore
Keystore() fskeystore.Keystore
// WalletDatastore is a specific storage solution, only used to store sensitive wallet information.
WalletDatastore() Datastore
// ChainDatastore is a specific storage solution, only used to store already validated chain data.
ChainDatastore() Datastore
// MetaDatastore is a specific storage solution, only used to store mpool data.
MetaDatastore() Datastore
PaychDatastore() Datastore
// SetAPIAddr sets the address of the running jsonrpc API.
SetAPIAddr(maddr string) error
// APIAddr returns the address of the running API.
APIAddr() (string, error)
// SetAPIToken set api token
SetAPIToken(token []byte) error
// APIToken get api token
APIToken() (string, error)
// Version returns the current repo version.
Version() uint
// Path returns the repo path.
Path() (string, error)
// JournalPath returns the journal path.
JournalPath() string
// SqlitePath returns the path for the Sqlite database
SqlitePath() (string, error)
// Close shuts down the repo.
Close() error
// repo return the repo
Repo() Repo
}
repo is a representation of all persistent data in a filecoin node.