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