JS功能扩展
JSBridge为MYKEY应用中心内嵌的浏览器环境中默认支持的JS注入库,其支持Scatter协议,也支持web3协议。
为了方便控制MYKEY应用中心浏览器,MYKEY还增加了以下方法:
方法
描述
isMYKEY
检查当前钱包是否为MYKEY
关闭应用窗口回到MYKEY
打开全屏
关闭全屏
禁止物理返回按钮(Android专属)
允许物理返回按钮(Android专属)
获取MYKEY账户信息
获取客户端部分配置
发送交易
sign
申请MYKEY签名
setTitle
设置应用顶部标题
显示loading动画
取消loading动画
对方法进行序列化

检查当前钱包是否为MYKEY

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账户信息

获取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动画

显示loading动画
window.MyKey.Browser.showLoading

取消loading动画

取消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": "" //[序列化后的值]
}
Copy link
Outline
检查当前钱包是否为MYKEY
关闭窗口
打开全屏
关闭全屏
禁止物理返回
允许物理返回
获取MYKEY账户信息
获取客户端部分配置
发送交易
签名
获取交易进度
设置应用顶部标题
显示loading动画
取消loading动画
对方法进行序列化