Documentation
¶
Index ¶
Constants ¶
View Source
const (
CodecVersion = 0
)
Variables ¶
View Source
var Codec codec.Manager
Functions ¶
This section is empty.
Types ¶
type BlockchainKeystore ¶
type BlockchainKeystore interface {
// Get a database that is able to read and write unencrypted values from the
// underlying database.
GetDatabase(username, password string) (*encdb.Database, error)
// Get the underlying database that is able to read and write encrypted
// values. This Database will not perform any encrypting or decrypting of
// values and is not recommended to be used when implementing a VM.
GetRawDatabase(username, password string) (database.Database, error)
}
type Client
deprecated
added in
v1.0.6
type Client interface {
CreateUser(context.Context, api.UserPass, ...rpc.Option) error
// Returns the usernames of all keystore users
ListUsers(context.Context, ...rpc.Option) ([]string, error)
// Returns the byte representation of the given user
ExportUser(context.Context, api.UserPass, ...rpc.Option) ([]byte, error)
// Import [exportedUser] to [importTo]
ImportUser(ctx context.Context, importTo api.UserPass, exportedUser []byte, options ...rpc.Option) error
// Delete the given user
DeleteUser(context.Context, api.UserPass, ...rpc.Option) error
}
Client interface for Avalanche Keystore API Endpoint
Deprecated: The Keystore API is deprecated. Dedicated wallets should be used instead.
type ExportUserArgs ¶
type ExportUserArgs struct {
// The username and password
api.UserPass
// The encoding for the exported user ("hex")
Encoding formatting.Encoding `json:"encoding"`
}
type ExportUserReply ¶
type ExportUserReply struct {
// String representation of the user
User string `json:"user"`
// The encoding for the exported user ("hex")
Encoding formatting.Encoding `json:"encoding"`
}
type ImportUserArgs ¶
type ImportUserArgs struct {
// The username and password of the user being imported
api.UserPass
// The string representation of the user
User string `json:"user"`
// The encoding of [User] ("hex")
Encoding formatting.Encoding `json:"encoding"`
}
type Keystore ¶
type Keystore interface {
// Create the API endpoint for this keystore.
CreateHandler() (http.Handler, error)
// NewBlockchainKeyStore returns this keystore limiting the functionality to
// a single blockchain database.
NewBlockchainKeyStore(blockchainID ids.ID) BlockchainKeystore
// Get a database that is able to read and write unencrypted values from the
// underlying database.
GetDatabase(bID ids.ID, username, password string) (*encdb.Database, error)
// Get the underlying database that is able to read and write encrypted
// values. This Database will not perform any encrypting or decrypting of
// values and is not recommended to be used when implementing a VM.
GetRawDatabase(bID ids.ID, username, password string) (database.Database, error)
// CreateUser attempts to register this username and password as a new user
// of the keystore.
CreateUser(username, pw string) error
// DeleteUser attempts to remove the provided username and all of its data
// from the keystore.
DeleteUser(username, pw string) error
// ListUsers returns all the users that currently exist in this keystore.
ListUsers() ([]string, error)
// ImportUser imports a serialized encoding of a user's information complete
// with encrypted database values. The password is integrity checked.
ImportUser(username, pw string, user []byte) error
// ExportUser exports a serialized encoding of a user's information complete
// with encrypted database values.
ExportUser(username, pw string) ([]byte, error)
// contains filtered or unexported methods
}
type ListUsersReply ¶
type ListUsersReply struct {
Users []string `json:"users"`
}
Click to show internal directories.
Click to hide internal directories.