JS功能扩展
JSBridge为MYKEY应用中心内嵌的浏览器环境中默认支持的JS注入库,其支持Scatter协议,也支持web3协议。
为了方便控制MYKEY应用中心浏览器,MYKEY还增加了以下方法:
方法 | 描述 |
检查当前钱包是否为MYKEY | |
关闭应用窗口回到MYKEY | |
打开全屏 | |
关闭全屏 | |
禁止物理返回按钮(Android专属) | |
允许物理返回按钮(Android专属) | |
获取MYKEY账户信息 | |
获取客户端部分配置 | |
发送交易 | |
申请MYKEY签名 | |
设置应用顶部标题 | |
显示loading动画 | |
取消loading动画 | |
对方法进行序列化 |
window.ethereum.isMYKEY
关闭应用窗口回到MYKEY。
window.MyKey.Browser.closeWindow
打开全屏。
window.MyKey.Browser.openFullScreen
参数名 | 类型 | 描述 |
isLandscape | boolean | true(横屏) fasle(竖屏) |
关闭全屏。
window.MyKey.Browser.closeFullScreen
禁止物理返回按钮,限Android
window.MyKey.Browser.forbidPhysicalBack
允许物理返回按钮,限Android
window.MyKey.Browser.allowPhysicalBack
获取MYKEY账户信息
window.MyKey.Browser.getAccountInfo
参数名 | 类型 | 描述 |
openChain | string | true|fasle true: 如果没有链会打开创建页面 |
返回格式:Promise
{
"data": {
"accountName": "", //MYKEY内设置的昵称
"chainInfoList": ["account": "", "chain": ""],
"id": "", //MYKEY唯一ID
"operationKeys": ["","",""], //三把操作权限的公钥
"xpubOperationKeys": ["","",""] //三把操作秘钥公钥Xpub形式
},
"errorCode": 0
}
获取客户端部分配置
window.MyKey.Browser.getClientConfig
返回方式:Promise
{
"data": {
"currency": "CNY",
"locale": "zh-CN",
"maxKycBindAccount": 1,
"regioin": "CN",
"userAgent": "", //包含 channel:MYKEY
"recaptchaUserKey":"" //MYKEY红包用到
},
"errorCode": 0
}
发送交易
window.MyKey.Browser.sendTransaction(transaction)
参数名 | 类型 | 描述 |
transaction | string | 指定链以及交易的actions |
返回方式:Promise
result: {
"errorCode": 0,
"errorMsg": "",
"data": {
"transactionId": "",
"signature": ""
}
}
EOS链上购买内存。
window.MyKey.Browser.sendTransaction('{"actions":[{"account":"eosio","name":"buyram","data":{"payer":"","receiver":"","quant":"1.0000 EOS"}}],"chain":"EOS","extra":{"key":"value"}}')
新增的extra字段,生效版本为:Android:2.5.0,IOS:2.5.0
申请MYKEY签名
window.MyKey.Browser.sign(message)
参数名 | 类型 | 描述 |
message | string | 待签名的数据 |
返回格式:Promise
result: {
"errorCode": 0,
"errorMsg": "",
"data": {
"signature": ""
}
}
window.MyKey.Browser.getTransactionProgress
参数名 | 类型 | 描述 |
chain | string | EOS|ETH |
transactionId | string | |
blockNum | int | 当前交易的blockNum,非必填 |
返回格式:Promise
result: {
"errorCode": 0,
"errorMsg": "",
"data": {
"percent": , //[0 - 100]
"blockNum": //[当前交易的blockNum]
}
}
生效版本:Android:2.5.0,iOS:2.5.0
设置应用顶部标题
window.MyKey.Browser.setTitle(title)
参数名 | 类型 | 描述 |
title | string | 标题内容 |
显示loading动画
window.MyKey.Browser.showLoading
取消loading动画
window.MyKey.Browser.hiddenLoading
对方法进行序列化
window.MyKey.Browser.encodeFunctionCall(abi, method, param)
参数名 | 类型 | 描述 |
abi | string | 该方法的abi描述,字符串类型,eg:"[{\"constant\":false,\"inputs\":[ {\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false, \"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" |
method | string | 方法名, 字符串类型,eg:transfer。 |
param | string | 参数,eg:{_to:"0xc4ED1B3f31acadbE3c14B20fA766B6C4B1FAB208", _value:"20000000000000000000"} |
返回方式:Promise
result: {
"errorCode": 0,
"errorMsg": "",
"data": "" //[序列化后的值]
}
Last modified 2yr ago