lemo-utils v1.1.10
Lemo-utils
A collection of utility functions for Lemochain
address
- pubKeyToAddress
- privateKeyToAddress
- verifyAddress
- isLemoAddress
- isTempAddress
- isContractAddress
- createTempAddress
- encodeAddress
- decodeAddress
- generateAccount
amount
buffer
crypto
hex
rlp
base64
address
pubKeyToAddress
pubKeyToAddress(pubKey)公钥生成地址
Parameters
Buffer- Buffer类型的公钥
Returns
string - 生成Lemo地址
privateKeyToAddress
privateKeyToAddress(privKey)通过私钥得到公钥,然后用公钥生成地址
Parameters
string|Buffer- 私钥
Returns
string - 生成Lemo地址
verifyAddress
verifyAddress(address)校验生成的地址
Parameters
string- 地址
Returns
string - 如果地址正确返回空值,反之返回错误信息
isLemoAddress
isLemoAddress(addr)用来校验是否是lemochain上面的地址,通常是以Lemo为地址的头四位
Parameters
string- 地址
Returns
Boolean - 返回Boolean
isTempAddress
isTempAddress(address)判断当前账户是否为临时账户
Parameters
string- 地址
Returns
Boolean - 返回Boolean
isContractAddress
isContractAddress(address)判断当前账户是否为合约账户
Parameters
string- 地址
Returns
Boolean - 返回Boolean
createTempAddress
createTempAddress(from, userId)创建临时账户
Parameters
string- 需要创建临时账户的地址ustring- 用户设置的id
Returns
string - 临时账户的地址
encodeAddress
encodeAddress(data)将十六进制的地址转换为Lemo开头的地址
Parameters
string|Buffer- 需要转换的十六进制地址
Returns
string - 以Lemo开头的地址
decodeAddress
decodeAddress(address)将Lemo开头的地址转换为十六进制的地址
Parameters
string-Lemo开头的地址
Returns
string - 十六进制的地址
generateAccount
generateAccount()创建账户
Parameters
无
Returns
object - 带有账户和私钥的地址,包括:
- privKey 私钥
- address 以Lemo开头的地址
amount
formatLEMO
formatLEMO(mo)规范LEMO的单位
Parameters
string- 金额,单位mo
Returns
string - 返回计算之后的结果
moToLemo
moToLemo(mo)将单位从mo转换为LEMO的金额
Parameters
number|string- 金额,单位为mo
Returns
BigNumber - 返回计算之后的金额
lemoToMo
lemoToMo(ether)将单位从LEMO的金额转换为mo
Parameters
string- 金额,单位为LEMO
Returns
BigNumber - 返回计算之后的金额
Buffer
toBuffer
toBuffer(v)将不同数据类型的数据转换成Buffer类型的二进制字节流
Parameters
string|Array|object|number|bigNumber|Buffer- 需要转换的数据
Returns
Buffer - 得到的Buffer类型的数据
isBuffer
isBuffer(v)检测传入的值是否是Buffer类型
Parameters
*- 需要检测的数据
Returns
bool - 是否是Buffer类型的数据
hexStringToBuffer
hexStringToBuffer(hex)将十六进制的字符串转换成Buffer类型的二进制字节流
Parameters
string- 需要转换的十六进制字符串
Returns
Buffer - 得到的Buffer类型的数据
bufferTrimLeft
bufferTrimLeft(buffer)删去Buffer类型的二进制字节流左边连续的0
Parameters
Buffer- 需要转换的数据
Returns
Buffer - 整理后的Buffer类型的数据
setBufferLength
setBufferLength(buffer, length, right)将buffer设置为固定的长度
Parameters
Buffer- Buffer类型的数据string- 长度boolean- 如果传入的buffer长度不足,是否从右边补0
Returns
Buffer - 整理后的Buffer类型的数据
crypto
sign
sign(privateKey, hash)对hash进行签名
Parameters
Buffer- Buffer类型的私钥数据Buffer- Buffer类型的交易hash值
Returns
Buffer - Buffer类型的签名值
recover
recover(hash, sig)通过hash和签名恢复公钥
Parameters
Buffer- Buffer类型的私钥数据Buffer- Buffer类型的交易hash值
Returns
Buffer|null - 如果成功得到的Buffer类型的公钥,反之为null
sha3
function sha3(data)hash算法
Parameters
Buffer- buffer数据
Returns
Buffer - 加密之后的buffer
privateToPublicKey
privateToPublicKey(privKey)通过私钥得到公钥
Parameters
string|Buffer- 私钥
Returns
Buffer - 得到的公钥的buffer值
hex
has0xPrefix
has0xPrefix(str)检验一个十六进制字符串是否以0x开头
Parameters
string- 十六进制字符串
Returns
Boolean - 返回Boolean值
decodeUtf8Hex
decodeUtf8Hex(hex)将一个十六进制字符串以utf格式进行解码
Parameters
string- 十六进制字符串
Returns
string - 解析出的数据
toHexStr
toHexStr(data)将字符串或者buffer数据转换成十六进制字符串
Parameters
string|Buffer- 需要转换的数据
Returns
string - 十六进制字符串
rlp
rlpEncode
rlpEncode(input)使用rlp算法进行编码
Parameters
string|Buffer|Array|number- 需要编码的数据
Returns
Buffer - 编码后的Buffer数据对象
rlpDecode
rlpDecode(input, stream)使用rlp算法进行解码
Parameters
string|Buffer|Array|number- 需要解码的数据bool-stream是否是一个流,这种情况下input末尾会存在一些无法解析的数据
Returns
Array - 解码出的数据
getLength
getLength(input)获取长度,输入需要获取长度的数据,然后返回此数据的长度
base64
base64Encode
base64Encode(input, uriSafe, isHex)使用base64算法进行编码
Parameters
string- 需要编码的字符串uriSafe- 是否需要编码为uri安全的字符串isHex-input是否是一个十六进制字符串
Returns
string - 编码后的字符串
base64Decode
base64Decode(input, isHex)使用base64算法进行解码
Parameters
string- 需要解码的字符串isHex- 解码后是否是一个十六进制字符串
Returns
string - 解码后的字符串