为方便使用,JS SDK 提供一些辅助工具类方法,如 getHash
、toDecimal
、toUtf8
、getKeyInfo
、decryptAESWithPassword
。可直接通过 Chain 全局对象或 Chain 初始化的环境实例 chain 来使用辅助工具类方法。
Chain.utils.getHash('Tester001') //通过账户 name,计算得到账户的 identity
getHash
对给定字符串计算 hash,通常用来得到 identity。
请求参数
参数 |
必选 |
类型 |
说明 |
msg |
true |
string |
目标字符串,作为计算 hash 的输入。 |
not0x |
false |
bool |
返回结果的 16 进制表示是否以“0x”为前缀,true:不以“0x”为前缀;false 或不指定:以“0x”为前缀。 |
返回值
返回字段 |
字段类型 |
说明 |
result |
string |
16 进制的字符串表示,根据参数的限定确定是否以“0x”为前缀。 |
示例
const accountId = Chain.utils.getHash('Tester001')
toDecimal
将十六进制转换成十进制,可传入 BigNumber
对象。
请求参数
参数 |
必选 |
类型 |
说明 |
value |
true |
string/BigNumber |
目标参数 |
返回值
返回字段 |
字段类型 |
说明 |
result |
number |
十进制数字 |
示例
const num = Chain.utils.toDecimal('0x64')
toUtf8
将十六进制字符串转换成 utf8 字符串。
请求参数
参数 |
必选 |
类型 |
说明 |
value |
true |
string |
16 进制字符串 |
返回值
返回字段 |
字段类型 |
说明 |
result |
string |
utf8 字符串 |
示例
const str = Chain.utils.toUtf8('0xe89a82e89a81e58cbae59d97e993be')
getKeyInfo
获取账户信息。
请求参数
参数 |
必选 |
类型 |
说明 |
value |
true |
string |
账户文件(user.pem ,参考 准备合约链的账户)读取内容,或者 16 进制(以“0x”为 前缀)私钥字符串 |
passphrase |
false |
string |
账户文件(user.pem )的密码,如果 value 参数使用的是 16 进制私钥字符串,则不需要配置此密码。 |
返回值
返回字段 |
字段类型 |
说明 |
result |
object |
密钥对象 |
result.privateKey |
Buffer |
私钥 Buffer |
result.publicKey |
Buffer |
公钥 Buffer |
示例
const result = Chain.utils.getKeyInfo('0x2768d0e80eb904560aa0a3ff4fc96b2f4d1e5d1fe293cc69c07808765ab20c29')