# README
BlockIo
This Golang library is the official Block.IO low-level SDK. To use the functions provided by this SDK, you will need a REST client of your choice, the Bitcoin, Litecoin, or Dogecoin API key(s) from Block.io and, if required by your use case, your PIN or secret keys.
Installation
go get github.com/BlockIo/block_io-go
Usage
Example implementations
Method documentation
Signing
SignWithdrawRequestJson()
func SignWithdrawRequestJson(pin string, withdrawData string) (string, error)
Signs JSON encoded signature requests returned from the /api/v2/withdraw*
endpoints with a PIN-derived key and returns a JSON encoded string that can be
posted to /api/v2/sign_and_finalize_withdrawal
.
SignRequestJsonWithKey()
func SignRequestJsonWithKey(ecKey *ECKey, data string) (string, error)
Signs JSON encoded strings returned from the /api/v2/sweep*
and
/api/v2/withdraw_dtrust*/
endpoints with a local ECKey and returns a JSON
encoded string that can be posted to /api/v2/sign_and_finalize_*
endpoints.
SignRequestJsonWithKeys()
func SignRequestJsonWithKeys(ecKeys []*ECKey, data string) (string, error)
Signs JSON encoded strings returned from the /api/v2/withdraw_dtrust*/
endpoints with multiple local ECKeys and returns a JSON encoded string that can
be posted to /api/v2/sign_and_finalize_*
endpoints.
Key derivation
NewECKey()
func NewECKey (d [32]byte, compressed bool) *ECKey
Creates an ECKey from a byte slice.
FromWIF()
func FromWIF(strWif string) (*ECKey, error)
Creates an ECKey from a WIF-formatted string. Returns an error if the given string could not be
DeriveKeyFromHex()
func DeriveKeyFromHex(hexPass string) (*ECKey, error)
Derives an ECKey from a hexadecimal encoded string by hashing it with sha256 once.
DeriveKeyFromString()
func DeriveKeyFromString(pass string) *ECKey
Convenience function to derive an ECKey from a string seed by hashing it with sha256 once.
NOTE: Do not use this for deriving production keys!
Testing
go test -v