Documentation
¶
Index ¶
- Constants
- func CreateID(nonce []byte) (string, error)
- func GenerateID() (string, error)
- func VerifyID(id string) bool
- type Account
- type AccountData
- type AccountMetadata
- type Client
- type ClientImpl
- func (this *ClientImpl) ChangePassword(address string, oldPasswd, newPasswd []byte) error
- func (this *ClientImpl) ChangeSigScheme(address string, sigScheme s.SignatureScheme) error
- func (this *ClientImpl) DeleteAccount(address string, passwd []byte) (*Account, error)
- func (this *ClientImpl) GetAccountByAddress(address string, passwd []byte) (*Account, error)
- func (this *ClientImpl) GetAccountByIndex(index int, passwd []byte) (*Account, error)
- func (this *ClientImpl) GetAccountByLabel(label string, passwd []byte) (*Account, error)
- func (this *ClientImpl) GetAccountMetadataByAddress(address string) *AccountMetadata
- func (this *ClientImpl) GetAccountMetadataByIndex(index int) *AccountMetadata
- func (this *ClientImpl) GetAccountMetadataByLabel(label string) *AccountMetadata
- func (this *ClientImpl) GetAccountNum() int
- func (this *ClientImpl) GetDefaultAccount(passwd []byte) (*Account, error)
- func (this *ClientImpl) GetDefaultAccountMetadata() *AccountMetadata
- func (this *ClientImpl) GetUnlockAccount(address string) *Account
- func (this *ClientImpl) GetWalletData() *WalletData
- func (this *ClientImpl) ImportAccount(accMeta *AccountMetadata) error
- func (this *ClientImpl) LockAccount(address string)
- func (this *ClientImpl) NewAccount(label string, typeCode keypair.KeyType, curveCode byte, ...) (*Account, error)
- func (this *ClientImpl) SetDefaultAccount(address string) error
- func (this *ClientImpl) SetLabel(address, label string) error
- func (this *ClientImpl) UnLockAccount(address string, expiredAt int, passwd []byte) error
- type ClientStore
- type Controller
- type Identity
- type WalletData
- func (this *WalletData) AddAccount(acc *AccountData)
- func (this *WalletData) AddIdentity(id *Identity)
- func (this *WalletData) Clone() *WalletData
- func (this *WalletData) DelAccount(address string)
- func (this *WalletData) GetAccountByAddress(address string) (*AccountData, int)
- func (this *WalletData) GetAccountByIndex(index int) *AccountData
- func (this *WalletData) Load(path string) error
- func (this *WalletData) Save(path string) error
- func (this *WalletData) ToDefaultSecurity(passwords [][]byte) error
- func (this *WalletData) ToLowSecurity(passwords [][]byte) error
Constants ¶
View Source
const ( SCHEME = "did" METHOD = "dna" VER = 0x41 )
Variables ¶
This section is empty.
Functions ¶
func GenerateID ¶
Types ¶
type Account ¶
type Account struct {
PrivateKey keypair.PrivateKey
PublicKey keypair.PublicKey
Address common.Address
SigScheme s.SignatureScheme
}
crypto object
func NewAccount ¶
func (*Account) PrivKey ¶
func (this *Account) PrivKey() keypair.PrivateKey
func (*Account) Scheme ¶
func (this *Account) Scheme() s.SignatureScheme
type AccountData ¶
type AccountData struct {
keypair.ProtectedKey
Label string `json:"label"`
PubKey string `json:"publicKey"`
SigSch string `json:"signatureScheme"`
IsDefault bool `json:"isDefault"`
Lock bool `json:"lock"`
}
* AccountData - for wallet read and save, no crypto object included *
func (*AccountData) GetKeyPair ¶
func (this *AccountData) GetKeyPair() *keypair.ProtectedKey
func (*AccountData) SetKeyPair ¶
func (this *AccountData) SetKeyPair(keyinfo *keypair.ProtectedKey)
func (*AccountData) SetLabel ¶
func (this *AccountData) SetLabel(label string)
type AccountMetadata ¶
type AccountMetadata struct {
IsDefault bool //Is default account
Label string //Lable of account
KeyType string //KeyType ECDSA,SM2 or EDDSA
Curve string //Curve of key type
Address string //Address(base58) of account
PubKey string //Public key
SigSch string //Signature scheme
Salt []byte //Salt
Key []byte //PrivateKey in encrypted
EncAlg string //Encrypt alg of private key
Hash string //Hash alg
}
AccountMetadata all account info without private key
type Client ¶
type Client interface {
//NewAccount create a new account.
NewAccount(label string, typeCode keypair.KeyType, curveCode byte, sigScheme s.SignatureScheme, passwd []byte) (*Account, error)
//ImportAccount import a already exist account to wallet
ImportAccount(accMeta *AccountMetadata) error
//GetAccountByAddress return account object by address
GetAccountByAddress(address string, passwd []byte) (*Account, error)
//GetAccountByLabel return account object by label
GetAccountByLabel(label string, passwd []byte) (*Account, error)
//GetAccountByIndex return account object by index. Index start from 1
GetAccountByIndex(index int, passwd []byte) (*Account, error)
//GetDefaultAccount return default account
GetDefaultAccount(passwd []byte) (*Account, error)
//GetAccountMetadataByIndex return account Metadata info by address
GetAccountMetadataByAddress(address string) *AccountMetadata
//GetAccountMetadataByLabel return account Metadata info by label
GetAccountMetadataByLabel(label string) *AccountMetadata
//GetAccountMetadataByIndex return account Metadata info by index. Index start from 1
GetAccountMetadataByIndex(index int) *AccountMetadata
//GetDefaultAccountMetadata return default account Metadata info
GetDefaultAccountMetadata() *AccountMetadata
//GetAccountNum return total account number
GetAccountNum() int
//DeleteAccount delete account
DeleteAccount(address string, passwd []byte) (*Account, error)
//UnLockAccount can get account without password in expire time
UnLockAccount(address string, expiredAt int, passwd []byte) error
//LockAccount lock unlock account
LockAccount(address string)
//GetUnlockAccount return account which was unlock and in expired time
GetUnlockAccount(address string) *Account
//Set a new account to default account
SetDefaultAccount(address string) error
//Set a new label to accont
SetLabel(address, label string) error
//Change pasword to account
ChangePassword(address string, oldPasswd, newPasswd []byte) error
//Change sig scheme to account
ChangeSigScheme(address string, sigScheme s.SignatureScheme) error
//Get the underlying wallet data
GetWalletData() *WalletData
}
Client of wallet
type ClientImpl ¶
type ClientImpl struct {
// contains filtered or unexported fields
}
func NewClientImpl ¶
func NewClientImpl(path string) (*ClientImpl, error)
func (*ClientImpl) ChangePassword ¶
func (this *ClientImpl) ChangePassword(address string, oldPasswd, newPasswd []byte) error
func (*ClientImpl) ChangeSigScheme ¶
func (this *ClientImpl) ChangeSigScheme(address string, sigScheme s.SignatureScheme) error
func (*ClientImpl) DeleteAccount ¶
func (this *ClientImpl) DeleteAccount(address string, passwd []byte) (*Account, error)
func (*ClientImpl) GetAccountByAddress ¶
func (this *ClientImpl) GetAccountByAddress(address string, passwd []byte) (*Account, error)
func (*ClientImpl) GetAccountByIndex ¶
func (this *ClientImpl) GetAccountByIndex(index int, passwd []byte) (*Account, error)
Index start from 1
func (*ClientImpl) GetAccountByLabel ¶
func (this *ClientImpl) GetAccountByLabel(label string, passwd []byte) (*Account, error)
func (*ClientImpl) GetAccountMetadataByAddress ¶
func (this *ClientImpl) GetAccountMetadataByAddress(address string) *AccountMetadata
func (*ClientImpl) GetAccountMetadataByIndex ¶
func (this *ClientImpl) GetAccountMetadataByIndex(index int) *AccountMetadata
Index start from 1
func (*ClientImpl) GetAccountMetadataByLabel ¶
func (this *ClientImpl) GetAccountMetadataByLabel(label string) *AccountMetadata
func (*ClientImpl) GetAccountNum ¶
func (this *ClientImpl) GetAccountNum() int
func (*ClientImpl) GetDefaultAccount ¶
func (this *ClientImpl) GetDefaultAccount(passwd []byte) (*Account, error)
func (*ClientImpl) GetDefaultAccountMetadata ¶
func (this *ClientImpl) GetDefaultAccountMetadata() *AccountMetadata
func (*ClientImpl) GetUnlockAccount ¶
func (this *ClientImpl) GetUnlockAccount(address string) *Account
func (*ClientImpl) GetWalletData ¶
func (this *ClientImpl) GetWalletData() *WalletData
func (*ClientImpl) ImportAccount ¶
func (this *ClientImpl) ImportAccount(accMeta *AccountMetadata) error
func (*ClientImpl) LockAccount ¶
func (this *ClientImpl) LockAccount(address string)
func (*ClientImpl) NewAccount ¶
func (this *ClientImpl) NewAccount(label string, typeCode keypair.KeyType, curveCode byte, sigScheme s.SignatureScheme, passwd []byte) (*Account, error)
func (*ClientImpl) SetDefaultAccount ¶
func (this *ClientImpl) SetDefaultAccount(address string) error
func (*ClientImpl) SetLabel ¶
func (this *ClientImpl) SetLabel(address, label string) error
func (*ClientImpl) UnLockAccount ¶
func (this *ClientImpl) UnLockAccount(address string, expiredAt int, passwd []byte) error
type ClientStore ¶
type Controller ¶
type Controller struct {
ID string `json:"id"`
Public string `json:"publicKey,omitempty"`
keypair.ProtectedKey
}
type Identity ¶
type Identity struct {
ID string `json:"did"`
Label string `json:"label,omitempty"`
Lock bool `json:"lock"`
Control []Controller `json:"controls,omitempty"`
Extra interface{} `json:"extra,omitempty"`
}
type WalletData ¶
type WalletData struct {
Name string `json:"name"`
Version string `json:"version"`
Scrypt *keypair.ScryptParam `json:"scrypt"`
Identities []Identity `json:"identities,omitempty"`
Accounts []*AccountData `json:"accounts,omitempty"`
Extra string `json:"extra,omitempty"`
}
func NewWalletData ¶
func NewWalletData() *WalletData
func (*WalletData) AddAccount ¶
func (this *WalletData) AddAccount(acc *AccountData)
func (*WalletData) AddIdentity ¶
func (this *WalletData) AddIdentity(id *Identity)
func (*WalletData) Clone ¶
func (this *WalletData) Clone() *WalletData
func (*WalletData) DelAccount ¶
func (this *WalletData) DelAccount(address string)
func (*WalletData) GetAccountByAddress ¶
func (this *WalletData) GetAccountByAddress(address string) (*AccountData, int)
func (*WalletData) GetAccountByIndex ¶
func (this *WalletData) GetAccountByIndex(index int) *AccountData
func (*WalletData) Load ¶
func (this *WalletData) Load(path string) error
func (*WalletData) Save ¶
func (this *WalletData) Save(path string) error
func (*WalletData) ToDefaultSecurity ¶
func (this *WalletData) ToDefaultSecurity(passwords [][]byte) error
func (*WalletData) ToLowSecurity ¶
func (this *WalletData) ToLowSecurity(passwords [][]byte) error
Click to show internal directories.
Click to hide internal directories.