Documentation ¶
Index ¶
- Constants
- Variables
- func CloseLog()
- func ConvertToToken(value int64) float64
- func ConvertToValue(token float64) int64
- func CreateWallet(numKeys int, statusCb WalletCallback) error
- func GetBalance(cb GetBalanceCallback) error
- func GetLockConfig(cb GetInfoCallback) error
- func GetLockedTokens(cb GetInfoCallback) error
- func Init(c string) error
- func InitZCNSDK(miners []string, sharders []string, signscheme string) error
- func IsMnemonicValid(mnemonic string) bool
- func RecoverWallet(mnemonic string, numKeys int, statusCb WalletCallback) error
- func RegisterToMiners(wallet *zcncrypto.Wallet, statusCb WalletCallback) error
- func SetLogFile(logFile string, verbose bool)
- func SetLogLevel(lvl int)
- func SetWalletInfo(w string) error
- type ChainConfig
- type GetBalanceCallback
- type GetInfoCallback
- type Transaction
- func (t *Transaction) ExecuteFaucetSC(methodName string, input []byte) error
- func (t *Transaction) GetTransactionError() string
- func (t *Transaction) GetTransactionHash() string
- func (t *Transaction) GetVerifyError() string
- func (t *Transaction) GetVerifyOutput() string
- func (t *Transaction) LockTokens(val int64, durationHr int64, durationMin int) error
- func (t *Transaction) Send(toClientID string, val int64, desc string) error
- func (t *Transaction) SendWithSignature(toClientID string, val int64, desc string, sig string) error
- func (t *Transaction) SetTransactionCallback(cb TransactionCallback) error
- func (t *Transaction) SetTransactionHash(hash string) error
- func (t *Transaction) StoreData(data string) error
- func (t *Transaction) UnlockTokens(poolID string) error
- func (t *Transaction) Verify() error
- type TransactionCallback
- type TransactionScheme
- type WalletCallback
Constants ¶
const ( StatusSuccess int = 0 StatusNetworkError int = 1 // TODO: Change to specific error StatusError int = 2 StatusUnknown int = -1 )
const ( OpGetTokenLockConfig int = 0 OpGetLockedTokens int = 1 )
const FaucetSmartContractAddress = `6dba10422e368813802877a85039d3985d96760ed844092319743fb3a76712d3`
const InterestPoolSmartContractAddress = `6dba10422e368813802877a85039d3985d96760ed844092319743fb3a76712d9`
const StorageSmartContractAddress = `6dba10422e368813802877a85039d3985d96760ed844092319743fb3a76712d7`
const TOKEN_UNIT = int64(10000000000)
Variables ¶
var GET_BALANCE = `/v1/client/get/balance?client_id=`
var GET_LOCKED_TOKENS = `/v1/screst/` + InterestPoolSmartContractAddress + `/getPoolsStats?client_id=`
var GET_LOCK_CONFIG = `/v1/scstate/get?sc_address=`
var Logger logger.Logger
var PUT_TRANSACTION = `/v1/transaction/put`
var REGISTER_CLIENT = `/v1/client/put`
var TXN_VERIFY_URL = `/v1/transaction/get/confirmation?hash=`
Functions ¶
func ConvertToToken ¶
ConvertToToken converts the value to ZCN tokens
func ConvertToValue ¶
ConvertToValue converts ZCN tokens to value
func CreateWallet ¶
func CreateWallet(numKeys int, statusCb WalletCallback) error
CreateWallet creates the a wallet for the configure signature scheme. It also registers the wallet again to block chain.
func GetBalance ¶
func GetBalance(cb GetBalanceCallback) error
GetBalance retreives wallet balance from sharders
func GetLockConfig ¶
func GetLockConfig(cb GetInfoCallback) error
GetLockConfig returns the lock token configuration information such as interest rate from blockchain
func GetLockedTokens ¶
func GetLockedTokens(cb GetInfoCallback) error
GetLockedTokens returns the ealier locked token pool stats
func Init ¶
Init inializes the SDK with miner, sharder and signature scheme provided in configuration provided in JSON format
func InitZCNSDK ¶
InitZCNSDK initializes the SDK with miner, sharder and signature scheme provided.
func IsMnemonicValid ¶
IsMnemonicValid is an utility function to check the mnemonic valid
func RecoverWallet ¶
func RecoverWallet(mnemonic string, numKeys int, statusCb WalletCallback) error
RecoverWallet recovers the previously generated wallet using the mnemonic. It also registers the wallet again to block chain.
func RegisterToMiners ¶
func RegisterToMiners(wallet *zcncrypto.Wallet, statusCb WalletCallback) error
RegisterToMiners can be used to register the wallet.
func SetLogFile ¶
SetLogFile - sets file path to write log verbose - true - console output; false - no console output
func SetLogLevel ¶
func SetLogLevel(lvl int)
SetLogLevel set the log level. lvl - 0 disabled; higher number (upto 4) more verbosity
func SetWalletInfo ¶
SetWalletInfo should be set before any transaction or GetBalance APIs
Types ¶
type ChainConfig ¶
type GetBalanceCallback ¶
GetBalanceCallback needs to be implemented by the caller of GetBalance() to get the status
type GetInfoCallback ¶
type GetInfoCallback interface { // OnInfoAvailable will be called when GetLockTokenConfig is complete // if status == StatusSuccess then info is valid // is status != StatusSuccess then err will give the reason OnInfoAvailable(op int, status int, info string, err string) }
GetInfoCallback needs to be implemented by the caller of GetLockTokenConfig() and GetLockedTokens()
type Transaction ¶
type Transaction struct {
// contains filtered or unexported fields
}
func NewTransaction ¶
func NewTransaction(cb TransactionCallback) (*Transaction, error)
NewTransaction allocation new generic transaction object for any operation
func (*Transaction) ExecuteFaucetSC ¶ added in v1.0.3
func (t *Transaction) ExecuteFaucetSC(methodName string, input []byte) error
func (*Transaction) GetTransactionError ¶
func (t *Transaction) GetTransactionError() string
func (*Transaction) GetTransactionHash ¶
func (t *Transaction) GetTransactionHash() string
func (*Transaction) GetVerifyError ¶
func (t *Transaction) GetVerifyError() string
func (*Transaction) GetVerifyOutput ¶
func (t *Transaction) GetVerifyOutput() string
func (*Transaction) LockTokens ¶
func (t *Transaction) LockTokens(val int64, durationHr int64, durationMin int) error
func (*Transaction) Send ¶
func (t *Transaction) Send(toClientID string, val int64, desc string) error
func (*Transaction) SendWithSignature ¶ added in v1.0.3
func (*Transaction) SetTransactionCallback ¶
func (t *Transaction) SetTransactionCallback(cb TransactionCallback) error
func (*Transaction) SetTransactionHash ¶
func (t *Transaction) SetTransactionHash(hash string) error
func (*Transaction) StoreData ¶
func (t *Transaction) StoreData(data string) error
func (*Transaction) UnlockTokens ¶
func (t *Transaction) UnlockTokens(poolID string) error
func (*Transaction) Verify ¶
func (t *Transaction) Verify() error
type TransactionCallback ¶
type TransactionCallback interface { OnTransactionComplete(t *Transaction, status int) OnVerifyComplete(t *Transaction, status int) }
TransactionCallback needs to be implemented by the caller for transaction related APIs
type TransactionScheme ¶
type TransactionScheme interface { // SetTransactionCallback implements storing the callback // used to call after the transaction or verification is completed SetTransactionCallback(cb TransactionCallback) error // Send implements sending token to a given clientid Send(toClientID string, val int64, desc string) error // SendWithSignature implements sending token. // signature will be passed by application where multi signature is involved. SendWithSignature(toClientID string, val int64, desc string, sig string) error // StoreData implements store the data to blockchain StoreData(data string) error // ExecuteFaucetSC impements the Faucet Smart contract ExecuteFaucetSC(methodName string, input []byte) error // GetTransactionHash implements retrieval of hash of the submitted transaction GetTransactionHash() string // LockTokens implements the lock token. LockTokens(val int64, durationHr int64, durationMin int) error // UnlockTokens implements unlocking of earlier locked tokens. UnlockTokens(poolID string) error // SetTransactionHash implements verify a previous transation status SetTransactionHash(hash string) error // Verify implements verify the transaction Verify() error // GetVerifyOutput implements the verifcation output from sharders GetVerifyOutput() string // GetTransactionError implements error string incase of transaction failure GetTransactionError() string // GetVerifyError implements error string incase of verify failure error GetVerifyError() string }
TransactionScheme implements few methods for block chain
type WalletCallback ¶
WalletCallback needs to be implmented for wallet creation.