Documentation ¶
Index ¶
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 ¶
type Client interface { CreateUser(context.Context, api.UserPass, ...rpc.Option) (bool, 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) (bool, error) // Delete the given user DeleteUser(context.Context, api.UserPass, ...rpc.Option) (bool, error) }
Client interface for Coinflect Keystore API Endpoint
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 ¶
CreateTestKeystore returns a new keystore that can be utilized for testing
type ListUsersReply ¶
type ListUsersReply struct {
Users []string `json:"users"`
}
Source Files ¶
Click to show internal directories.
Click to hide internal directories.