account

package
v0.10.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2019 License: ISC Imports: 8 Imported by: 2

Documentation

Overview

types and functions for converting Bitmark accounts (the public key) and their signatures

Index

Constants

View Source
const (
	// list of valid algorithms
	Nothing = iota // zero keytype **Just for Testing**
	ED25519 = iota
)

enumeration of supported key algorithms

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	AccountInterface
}

base type for accounts

func AccountFromBase58

func AccountFromBase58(accountBase58Encoded string) (*Account, error)

this converts a Base58 encoded string and returns an account

one of the specific account types are returned using the base "AccountInterface" interface type to allow individual methods to be called.

func AccountFromBytes

func AccountFromBytes(accountBytes []byte) (*Account, error)

this converts a byte encoded buffer and returns an account

one of the specific account types are returned using the base "AccountInterface" interface type to allow individual methods to be called.

func (*Account) UnmarshalText

func (account *Account) UnmarshalText(s []byte) error

type AccountInterface

type AccountInterface interface {
	KeyType() int
	PublicKeyBytes() []byte
	CheckSignature(message []byte, signature Signature) error
	Bytes() []byte
	String() string
	MarshalText() ([]byte, error)
	IsTesting() bool
	IsZero() bool
}

type ED25519Account

type ED25519Account struct {
	Test      bool
	PublicKey []byte
}

for ed25519 signatures

func (*ED25519Account) Bytes

func (account *ED25519Account) Bytes() []byte

byte slice for encoded key

func (*ED25519Account) CheckSignature

func (account *ED25519Account) CheckSignature(message []byte, signature Signature) error

check the signature of a message

func (ED25519Account) IsTesting added in v0.4.9

func (account ED25519Account) IsTesting() bool

return whether the public key is in test mode or not

func (ED25519Account) IsZero added in v0.8.1

func (account ED25519Account) IsZero() bool

return whether the public key is all zero or not

func (*ED25519Account) KeyType

func (account *ED25519Account) KeyType() int

key type code (see enumeration above)

func (ED25519Account) MarshalText

func (account ED25519Account) MarshalText() ([]byte, error)

convert an account to its Base58 JSON form

func (*ED25519Account) PublicKeyBytes

func (account *ED25519Account) PublicKeyBytes() []byte

fetch the public key as byte slice

func (*ED25519Account) String

func (account *ED25519Account) String() string

base58 encoding of encoded key

type ED25519PrivateKey added in v0.3.22

type ED25519PrivateKey struct {
	Test       bool
	PrivateKey []byte
}

for ed25519 keys

func (*ED25519PrivateKey) Account added in v0.3.22

func (privateKey *ED25519PrivateKey) Account() *Account

return the corresponding account

func (*ED25519PrivateKey) Bytes added in v0.3.22

func (privateKey *ED25519PrivateKey) Bytes() []byte

byte slice for encoded key

func (*ED25519PrivateKey) IsTesting added in v0.4.9

func (privateKey *ED25519PrivateKey) IsTesting() bool

return whether the private key is in test mode or not

func (*ED25519PrivateKey) KeyType added in v0.3.22

func (privateKey *ED25519PrivateKey) KeyType() int

key type code (see enumeration in account.go)

func (ED25519PrivateKey) MarshalText added in v0.3.22

func (privateKey ED25519PrivateKey) MarshalText() ([]byte, error)

convert an privateKey to its Base58 JSON form

func (*ED25519PrivateKey) PrivateKeyBytes added in v0.3.22

func (privateKey *ED25519PrivateKey) PrivateKeyBytes() []byte

fetch the private key as byte slice

func (*ED25519PrivateKey) String added in v0.3.22

func (privateKey *ED25519PrivateKey) String() string

base58 encoding of encoded key

type NothingAccount

type NothingAccount struct {
	Test      bool
	PublicKey []byte
}

just for debugging

func (*NothingAccount) Bytes

func (account *NothingAccount) Bytes() []byte

byte slice for encoded key

func (*NothingAccount) CheckSignature

func (account *NothingAccount) CheckSignature(message []byte, signature Signature) error

check the signature of a message

func (NothingAccount) IsTesting added in v0.4.9

func (account NothingAccount) IsTesting() bool

return whether the public key is in test mode or not

func (NothingAccount) IsZero added in v0.8.1

func (account NothingAccount) IsZero() bool

return whether the public key is all zero or not

func (*NothingAccount) KeyType

func (account *NothingAccount) KeyType() int

key type code (see enumeration above)

func (NothingAccount) MarshalText

func (account NothingAccount) MarshalText() ([]byte, error)

convert an account to its Base58 JSON form

func (*NothingAccount) PublicKeyBytes

func (account *NothingAccount) PublicKeyBytes() []byte

fetch the public key as byte slice

func (*NothingAccount) String

func (account *NothingAccount) String() string

base58 encoding of encoded key

type NothingPrivateKey added in v0.3.22

type NothingPrivateKey struct {
	Test       bool
	PrivateKey []byte
}

just for debugging

func (*NothingPrivateKey) Account added in v0.3.22

func (privateKey *NothingPrivateKey) Account() *Account

return the corresponding account

func (*NothingPrivateKey) Bytes added in v0.3.22

func (privateKey *NothingPrivateKey) Bytes() []byte

byte slice for encoded key

func (*NothingPrivateKey) IsTesting added in v0.4.9

func (privateKey *NothingPrivateKey) IsTesting() bool

return whether the private key is in test mode or not

func (*NothingPrivateKey) KeyType added in v0.3.22

func (privateKey *NothingPrivateKey) KeyType() int

key type code (see enumeration in account.go)

func (NothingPrivateKey) MarshalText added in v0.3.22

func (privateKey NothingPrivateKey) MarshalText() ([]byte, error)

convert an privateKey to its Base58 JSON form

func (*NothingPrivateKey) PrivateKeyBytes added in v0.3.22

func (privateKey *NothingPrivateKey) PrivateKeyBytes() []byte

fetch the private key as byte slice

func (*NothingPrivateKey) String added in v0.3.22

func (privateKey *NothingPrivateKey) String() string

base58 encoding of encoded key

type PrivateKey added in v0.3.22

type PrivateKey struct {
	PrivateKeyInterface
}

base type for PrivateKey

func PrivateKeyFromBase58 added in v0.3.22

func PrivateKeyFromBase58(privateKeyBase58Encoded string) (*PrivateKey, error)

this converts a Base58 encoded string and returns an private key

one of the specific private key types are returned using the base "PrivateKeyInterface" interface type to allow individual methods to be called.

func PrivateKeyFromBase58Seed added in v0.3.22

func PrivateKeyFromBase58Seed(seedBase58Encoded string) (*PrivateKey, error)

this converts a Base58 encoded seed string and returns a private key

one of the specific private key types are returned using the base "PrivateKeyInterface" interface type to allow individual methods to be called.

func PrivateKeyFromBytes added in v0.3.22

func PrivateKeyFromBytes(privateKeyBytes []byte) (*PrivateKey, error)

this converts a byte encoded buffer and returns an private key

one of the specific private key types are returned using the base "PrivateKeyInterface" interface type to allow individual methods to be called.

func (*PrivateKey) UnmarshalText added in v0.3.22

func (privateKey *PrivateKey) UnmarshalText(s []byte) error

type PrivateKeyInterface added in v0.3.22

type PrivateKeyInterface interface {
	Account() *Account
	KeyType() int
	PrivateKeyBytes() []byte
	Bytes() []byte
	String() string
	IsTesting() bool
	MarshalText() ([]byte, error)
}

type Signature

type Signature []byte

the type for a signature

func (Signature) GoString

func (signature Signature) GoString() string

convert a binary signature to hex string for use by the fmt package (for %#v)

func (Signature) MarshalText

func (signature Signature) MarshalText() ([]byte, error)

convert signature to text

func (*Signature) Scan

func (signature *Signature) Scan(state fmt.ScanState, verb rune) error

convert a text representation to a signature for use by the format package scan routines

func (Signature) String

func (signature Signature) String() string

convert a binary signature to hex string for use by the fmt package (for %s)

func (*Signature) UnmarshalText

func (signature *Signature) UnmarshalText(s []byte) error

convert text into a signature

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL