Documentation
¶
Index ¶
- type BlockchainKeystore
- type Client
- func (c *Client) CreateUser(user api.UserPass) (bool, error)
- func (c *Client) DeleteUser(user api.UserPass) (bool, error)
- func (c *Client) ExportUser(user api.UserPass) ([]byte, error)
- func (c *Client) ImportUser(user api.UserPass, account []byte) (bool, error)
- func (c *Client) ListUsers() ([]string, error)
- type ExportUserArgs
- type ExportUserReply
- type ImportUserArgs
- type Keystore
- type ListUsersReply
Constants ¶
This section is empty.
Variables ¶
This section is empty.
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 ¶ added in v1.0.6
type Client struct {
// contains filtered or unexported fields
}
func (*Client) CreateUser ¶ added in v1.0.6
func (*Client) DeleteUser ¶ added in v1.0.6
DeleteUser removes [user] from the node's keystore users
func (*Client) ExportUser ¶ added in v1.0.6
ExportUser returns the byte representation of the requested [user]
func (*Client) ImportUser ¶ added in v1.0.6
ImportUser imports the keystore user in [account] under [user]
type ExportUserArgs ¶
type ExportUserArgs struct {
// The username and password
api.UserPass
// The encoding for the exported user ("hex" or "cb58")
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" or "cb58")
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" or "cb58")
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
}
func CreateTestKeystore ¶ added in v0.8.0
CreateTestKeystore returns a new keystore that can be utilized for testing
type ListUsersReply ¶
type ListUsersReply struct {
Users []string `json:"users"`
}
Click to show internal directories.
Click to hide internal directories.