Javascript SDK for MathWallet
https://medishares-cn.oss-cn-hangzhou.aliyuncs.com/demos/mathwallet-js-sdk/index.html
此链接用来演示如何使用math-js-sdk,您可以在麦子钱包DAPP浏览器中打开
This link is the demo of how to use the math-js-sdk. You can open it in the MathWallet DAPP Browser.
Install
npm install math-js-sdk
Require module
var mathwallet = require('math-js-sdk');
Drop the dist/mathwallet.min.js
bundle into your html project
<script src="path/to/mathwallet.min.js"></script>
Get instance
var mathwallet = window.mathwallet;
注意: 此SDK需要在麦子钱包的DAPP浏览器中使用
Note: The SDK needs to be used in the MathWallet DAPP Browser.
适用于麦子钱包DAPP浏览器的通用方法
Common method for MathWallet DAPP Browser
mathwallet.isMath();
Return
true
获取用户麦子钱包信息
Get user MathWallet info
mathwallet.getAppInfo().then(console.log);
Return
{
"name": "Math Wallet",
"client": "iOS",
"version": "1.9.3",
"build": "25",
"deviceId": "2FB1AD00-20C7-45FF-AE94-A2F30A02F8F6"
}
分享图片或链接到社交平台,如微信 Share to third app like Wechat.
// Image
mathwallet.shareTo(1,{
"imageURL": "https://medishares-cn.oss-cn-hangzhou.aliyuncs.com/dapp/263R1568603688.jpg",
// "text": "Share Text",
// Extra Data
// "activity": {
// "type": "event",
// "app": "app",
// "event": "share",
// "name": params.name,
// "data": params.data
// }
}
).then(console.log);
// Link
mathwallet.shareTo(2,{
"title": "Math",
"desc": "Math Wallet",
"link": "https://www.mathwallet.org",
"thumImage": "https://medishares-cn.oss-cn-hangzhou.aliyuncs.com/dapp/263R1568603688.jpg",
// Extra Data
// "activity": {
// "type": "event",
// "app": "app",
// "event": "share",
// "name": params.name,
// "data": params.data
// }
}
).then(console.log);
// Save to album
mathwallet.shareTo(3,{
"imageURL": "https://medishares-cn.oss-cn-hangzhou.aliyuncs.com/dapp/263R1568603688.jpg"
}
).then(console.log);
Return
{
"result": 1
}
打开一个新的浏览器窗口
Open a new webview tab
mathwallet.openUrl("http://www.mathwallet.org").then(console.log);
Return
{
"result": 1
}
打开第三方应用,如微信、KakaoTalk等
Open third app like Wechat, KakaoTalk.
mathwallet.openThirdApp("tel:110").then(console.log);
Return
{
"result": 1
}
关闭当前窗口
Close window
mathwallet.close().then(console.log);
Return
{
"result": 1
}
后退到上一页
Back to previous page
mathwallet.back().then(console.log);
Return
{
"result": 1
}
设置是否全屏
Set full screen
0 - normal screen
1 - full screen
mathwallet.fullScreen(1).then(console.log);
Return
{
"result": 1
}
设置屏幕方向
Set screen orientation
0 - portrait
1 - landscape
mathwallet.orientation(1).then(console.log);
Return
{
"result": 1
}
获取用户APP语言
Get user app language
mathwallet.getLanguage().then(console.log);
Return
"cn"
获取用户当前钱包类型
Get user current wallet type
mathwallet.geCurrentWalletType().then(console.log);
Return
"BTC"
获取用户当前钱包信息
Get user current wallet info
mathwallet.getCurrentWallet().then(console.log);
Return
{
"blockchain":"EOS",
"nickname":"medisharesbp",
"address":"medisharesbp",
"authority":"active"
}
钱包地址选取器(多地址弹框,由用户授权使用哪个账户)
Wallet Picker
// "BTC"、"ETH"、"EOS"、"TRX"、"POLKADOT"、"ONT"
mathwallet.walletPicker("ETH").then(console.log);
Return
{
"nickname":"medisharesbp",
"address":"medisharesbp"
}
获取用户某类型的钱包列表
Get user wallets of the type
// "BTC"、"ETH"、"EOS"、"TRX"、"POLKADOT"、"ONT"
mathwallet.getWalletList("EOS").then(console.log);
Return
[
{
"nickname":"medisharesbp",
"address":"medisharesbp"
},
{
"nickname":"medisharesbb",
"address":"medisharesbb"
}
]
发送其它自定义消息
For other custom action
mathwallet.postCustomMessage(method, payload);
麦子钱包DAPP浏览器中有关BTC钱包的方法
BTC wallet method for MathWallet DAPP Browser
发起BTC转账交易
Send BTC transaction
mathwallet.BTC.transfer(from, amount, to, memo).then(console.log);
OR
let transaction = {
from : from,
amount : amount,
to : to,
memo : memo
}
mathwallet.BTC.transfer(transaction).then(console.log);
Return
{
"result":"trxid" // transaction hash
}
麦子钱包DAPP浏览器中有关NEO钱包的方法
NEO wallet method for MathWallet DAPP Browser
发起NEO转账交易
Send NEO transaction
mathwallet.NEO.transfer(from, amount, to, memo).then(console.log);
OR
let transaction = {
from : from,
to : to,
amount : amount,
contract : contract,
precision : precision,
symbol : symbol,
memo : memo
}
mathwallet.NEO.transfer(transaction).then(console.log);
Return
{
"result":"trxid" // transaction hash
}
麦子钱包DAPP浏览器中有关EOS钱包的方法
EOS wallet method for MathWallet DAPP Browser
注意: 麦子钱包已兼容Scatter,有关EOS的DAPP开发可直接使用Scatter
Note: MathWallet is already compatible with Scatter. You can use Scatter to build your EOS DAPP
在使用EOS相关方法前需要初始化EOS节点信息
Please initialize BP information before using the other method
let config = {
"nodes":[
// 0: testnet-node
{
"jsonRpc":"https:\/\/eostestnet.medishares.net",
"chainID":"cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f"
},
// 1: testnet-node
{
"jsonRpc":"https:\/\/eosmainnet.medishares.net",
"chainID":"aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906"
}
]
};
mathwallet.EOS.init(config); //return true
获取当前钱包账户信息,在使用与账户相关方法前需要先使用getAccount()方法
Get current account info, must use getAccount() before using the other method.
mathwallet.EOS.getAccount().then(console.log);
获取区块信息
Get block info
mathwallet.EOS.get_info().then(console.log);
JSON信息转为二进制数据
JSON to Bin
mathwallet.EOS.abi_json_to_bin(data).then(console.log);
签名交易
Sign transaction
mathwallet.EOS.signTransaction(transaction).then(console.log);
发起交易
Push transaction
mathwallet.EOS.push_transaction(transaction,signatures,compression).then(console.log);
OR
mathwallet.EOS.push_transaction_all(data).then(console.log);
自定义签名提供者,用于类eos.js插件
Custom Sign Provider, for plugin like eos.js
// Eos.js
Eos({
httpEndpoint: "https://path/to/node",
chainId: "aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906",
signProvider: mathwallet.EOS.customSignProvider,
});
获取已经初始化节点信息及签名提供者后的Eos.js实例,使用前需要先引入Eos.js插件
Get Eos.js instance which node httpEndpoint and signProvider have been initialized. Please include the eos.js plugin first.
<script src="http://path/to/eos.js"></script>
<script>
var eos = mathwallet.EOS.getEos();
//do something with eos.js
eos.getBlock(1);
</script>
如果您希望将您开发的DAPP加入麦子钱包,请通过邮箱联系我们 hello@medishares.org
If you would like to list your DAPP in Math Wallet, please send your DAPP information to hello@medishares.org