Skip to content

Repository files navigation

Hyperpay Wallet HardWallet

HardWallet is committed to build a straightforward and easy-to-use library. The open source framework displays all functions and methods related to the hardware wallet. Contains related mnemonics, private keys, addresses and related signed transactions. And use a ble middleware to simulate the relevant data compression and transmission under Bluetooth communication.

Environment Setup

  • Go Installation
  • git clone https://github.com/hyperpayorg/hardwallet
  • About the missing librarys, use go get xxx .. to install them
  • cd hardwallet

How To Use

For ease of use and understanding, some tests that can be tested directly are written. This can help to quickly understand the relationship between the various components.

Generate Wallet

Private key, public key and address can be generated by GenerateMnWallet func. Language supports: englishkoreanchinese_simplified ,etc. Mnemonics supports: 12 words24 words,etc. Password supported.

ceateAccount:=&clientwallet.CreateAccount{
Language: "english",
Length: 12,
Password: "123456",
}
fmt.Println(ceateAccount)
isCreated:=clientwallet.GenerateMnWallet(ceateAccount)
fmt.Println(isCreated)

Wallet SignRawTransation

SignRawTransation can be generated by func SignRawTransaction(signIn *SignInput) func.

signIn:=&clientwallet.SignInput{
Coin: "btc",
Symbol: "btc",
Amount: 10000,
Change: 25000000-10000-10000,
Fee: 10000,
SrcAddr: "",
DestAddr: "",
Net: "testnet",
Password: "123456",
Inputs: jsonInputs,
}
signResult:=clientwallet.SignRawTransaction(signIn)
fmt.Println(signResult)

Data structure returned as follow:

typeWalletAccountstruct {
ResCodeint// 0 fail 1 SuccessAddressstringPublicKeystringPrivateKeystringSeedstring// root seedCoinstringErrMsgstring// fail messagesErrCodeint// err codeParams []byte// reserved fields
}

Wallet EnKeystore

Key information storage supports pwd & udid.

Key:="L1oh9KNH4XpJgqDodxhjPgaEVS1qwXToWvPf2Zyn6bcm7xxxxxxx"pwd:="11111"udid:="AOIJF-QWEQR-VDFBET-YTAWWE"// EncodeenResult:=EnKeystore(Key, pwd, udid)
fmt.Println("Keystore : \n", enResult.Result)

Wallet KeyStore File Decrypt

The keystore file is decrypted using the KeyStore json, udid and the password.

To decrypt keystore file, use the following methods:

funcDeKeystore(json, password, udidstring)

Description: JSON is the KeyStore JSON file

Data structure returned as KeystoreResult

Wallet DeKeystore

enResult:="xxxxxxx"pwd:="11111"udid:="AOIJF-QWEQR-VDFBET-YTAWWE"// DecodedeResult:=DeKeystore(enResult, pwd, udid)
fmt.Println("PrivateKey : ", deResult.Result)

About

Hyperpay hardwallet

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages