- TokenPocket 已经兼容 Scatter,直接在钱包内 Dapp浏览器 内输入URL即可使用。
- TokenPocket is already compatible with Scatter. You can input your URL in the Dapp browser inside the TP Wallet.
Javascript SDK for TokenPocket Dapp.
基于 EOS 或 ENU 底层的 DApp 请使用: If your Dapp is build for EOS or ENU, please use this:
体积更小,支持browser 直接引入 With smaller size and browser supported.
npm install tp-js-sdk请在TokenPocket中使用该SDK。 请在发现 -> DApp浏览器中 开发调试
Open your site in TokenPocket as a Dapp. Develope and test in Discover -> DappBrowser.
var tp = require('tp-js-sdk')
console.log(tp.isConnected());tp.eosTokenTransfer(params)params- Object:
from:Stringto:Stringamount:String|NumbertokenName:Stringprecision:Number|Stringcontract:Stringmemo:String- (optional),address:String- public key for current account
Object:
-
result:Boolean -
data:ObjecttransactionId:Stirng
tp.eosTokenTransfer({
from: 'abcabcabcabc',
to: 'itokenpocket',
amount: '0.0100',
tokenName: 'EOS',
precision: 4,
contract: 'eosio.token',
memo: 'test',
address: 'EOS7ds9A9FGDsKrdymQ4ynKbMgbCVaaaaaaaaaaa'
}).then(console.log)
> {
result: true,
data: {transactionId: 'b428357c7xxxxxxxxxxxxxx'}
}tp.pushEosAction(params)params- Object:
actions:Array- Standard eos actionsaccount:String- current accountaddress:String- public key for current account
Object:
result:Booleandata:ObjecttransactionId:Stirng
tp.pushEosAction({
actions: [
{
account: 'eosio.token',
name: 'transfer',
authorization: [{
actor: 'aaaabbbbcccc',
permission: 'active'
}],
data: {
from: 'aaaabbbbcccc',
to: 'itokenpocket',
quantity: '1.3000 EOS',
memo: 'something to say'
}
},
{
account: "eosio",
name: "delegatebw",
authorization: [
{
actor: 'aaaabbbbcccc',
permission: "active"
}
],
data: {
from: 'aaaabbbbcccc',
receiver: 'itokenpocket',
stake_net_quantity: "0.0100 EOS",
stake_cpu_quantity: "0.0100 EOS",
transfer: 0
}
}
],
address: 'EOS7ds9A9FGDsKrdymQ4ynKbMgbCVaaaaaaaaaaa',
account: 'aaaabbbbcccc'
}).then(console.log)
> {
result: true,
data: {transactionId: 'b428357c7xxxxxxxxxxxxxx'}
}tp.getEosBalance(params)params- Object:
account:Stringcontract:Stringsymbol:String
Object:
result:Booleandata:Objectsymbol:Stringbalance:Stringcontract:Stringaccount:String
msg:String
tp.getEosBalance({
account: 'itokenpocket',
contract: 'eosio.token',
tokenName: 'EOS'
}).then(console.log)
> {
result: true,
data:{"symbol":"EOS","balance":"["142.2648 EOS"]","contract":"eosio.token","account":"itokenpocket"},
msg: 'success'
}获取合约内table数据
tp.getEosTableRows(params)params- Object:
json:Booleancode:Stringscope:Stringtable:Stringtable_key:Stirnglower_bound:Stringupper_bound:Stringlimit:Number
Object:
result:Booleandata:Objectrows:Array
msg:String
tp.getTableRows({
json: true,
code: 'abcabcabcabc',
scope: 'abcabcabcabc',
table: 'table1',
lower_bound: '10',
limit: 20
}).then(console.log)
> {
result: true,
data:{rows: [{a: 1, b: 'name' }, ...]},
msg: 'success'
}tp.getEosAccountInfo(params)params- Object:
account:String
Object:
result:Booleandata:Object- Standard account objectmsg:String
tp.getEosAccountInfo({
account: 'itokenpocket'
}).then(console.log)
> {
result: true,
data:{"account_name":"itokenpocket",..., "is_proxy":0},
msg: 'success'
}tp.getEosTransactionRecord(params)params- Object:
account:Stringstart:Number- default: 0count:Number- default: 10sort:String- 'desc | asc' default: desctoken:String- optionalcontract:String- optional
Object:
result:Booleandata:Object- Standard account objectmsg:String
tp.getEosTransactionRecord({
start: 10,
count: 20,
account: 'itokenpocket',
token: 'EOS',
sort: 'desc',
contract: 'eosio.token'
}).then(console.log)
> {
result: true,
data: [{
"title": "",
"comment": "",
"hid": "4bd63a191a1e3e00f13fe6df55d0c08803800a5e7cd0d0b15c92d52b3c42285e",
"producer": "bp4",
"timestamp": 1531578890,
"action_index": 2,
"account": "eosio",
"name": "delegatebw",
"from": "tokenpocket1",
"to": "clementtes43",
"blockNum": 4390980,
"quantity": "0.2000000000 EOS",
"count": "0.2000000000",
"symbol": "EOS",
"memo": "",
"maximum_upply": "",
"ram_price": "",
"bytes": "",
"status": 1,
"data": "",
real_value:"0.2000000000"
}, ...],
msg: 'success'
}tp.moacTokenTransfer(params)params- Object:
from:Stringto:Stringamount:String|NumbergasLimit:String|NumbertokenName:Stringdecimal:String|Numbercontract:String
Object:
result:Booleandata:ObjecttransactionId:Stirng
tp.moacTokenTransfer({
from: '0xaaaaaaa',
to: '0xaaaaaab',
amount: '100',
gasLimit: 60000,
tokenName: 'MOAC',
decimal: 18,
contract: ''
}).then(console.log)
> {
result: true,
data: {transactionId: 'b428357c7xxxxxxxxxxxxxx'}
}tp.makeTransaction(params)params- Object:
from:Stringto:Stringvalue:String|NumbergasPrice:String|Numbertype:String|Number-1|'eth'for ETH,3|'moac'for MOACcontractAddress:String
Object:
result:Booleandata:String- txhash
tp.makeTransaction({
from: '0xaaaaaaa',
to: '0xaaaaaab',
value: '1000000000000000',
gasPrice: 1234000,
type: 'eth',
contractAddress: '0xssssssssss'
}).then(console.log)
> {
result: true,
data: '0xe1063e225d4365b79c30132077e82777c0966844f545ddecc017965c0b551f7e'
}tp.signTransaction(params)params- Object:
from:Stringto:StringgasPrice:String|NumbergasLimit:Stirng|Numbertype:String|Number-1|'eth'for ETH,3|'moac'for MOACdata:String
Object:
result:Booleandata:String- rawTransaction
tp.signTransaction({
from: '0xaaaaaaa',
to: '0xaaaaaab',
gasPrice: 100000000,
gasLimit: 60000,
type: 'eth',
data: '0xaawefwefwefwefwefef'
}).then(console.log)
> {
result: true,
data: '0xe1063e225d4365b79c30132077e82777c0966844f545ddecc017965c0b551f7e'
}tp.pushMoacTransaction(params)params- Object:
from:Stringto:StringgasPrice:String|NumbergasLimit:String|Numberdata:Stringvalue:String|Number- (optional)chainId:Number- (optional)via:String- (optional)shardingFlag:Number- (optional)
Object:
result:Booleandata:String- txhash
tp.pushMoacTransaction({
from: '0xaaaaaaa',
to: '0xaaaaaab',
gasPrice: 100000000,
gasLimit: 60000,
data: '0xaawefwefwefwefwefef',
value: '0.002',
chainId: 99,
via: '',
shardingFlag: 0,
}).then(console.log)
> {
result: true,
data: '0xe1063e225d4365b79c30132077e82777c0966844f545ddecc017965c0b551f7e'
}tp.getAppInfo()Object:
result:Booleandata:Objectname:Stringsystem:Stringversion:Stringsys_version:String
msg:String
tp.getAppInfo().then(console.log)
> {
result: true,
data: {
name: 'TokenPocket',
system: 'android',
version: '0.3.4',
sys_version: '26'
},
msg: 'success'
}tp.getWalletList(params)params- String|Number - eth|1 for ETH, jingtum|2 for Jingtum, moac|3 for MOAC, eos|4 for EOS , enu|5 for ENU
Object:
wallets:Objecteos|eth|moac|jingtum:Array- Wallet info
tp.getWalletList('eth').then(console.log)
> {
wallets: {
'eth': [{
name: 'pk-1',
address: '0xaaaaaaa',
tokens: {'eth': 1000},
...
},
...
]
}
}tp.getDeviceId()Object:
device_id:String
tp.getDeviceId().then(console.log)
> {
device_id: 'dexa23333'
}tp.shareNewsToSNS(params)params- Object:
title:Stringdesc:Stringurl:StringpreviewImage:String
tp.shareNewsToSNS({
title: 'TokenPocket',
desc: 'Your Universal Wallet',
url: 'https://www.mytokenpocket.vip/',
previewImage: 'https://www.mytokenpocket.vip/images/index/logo.png'
})tp.invokeQRScanner()String
tp.invokeQRScanner().then(console.log)
> "abcdefg"获取用户当前钱包
1 for ETH, 2 for Jingtum, 3 for MOAC, 4 for EOS , 5 for ENU
tp.getCurrentWallet()Object:
result:Booleandata:Objectname:Stringaddress:Stringblockchain_id:Number
msg:String
tp.getCurrentWallet().then(console.log)
> {
result: true,
data: {
name: 'itokenpocket',
address: 'EOSaaaaaaaaabbbbbbbb',
blockchain_id: 4
},
msg: 'success'
}获取用户钱包列表
1 for ETH, 2 for Jingtum, 3 for MOAC, 4 for EOS , 5 for ENU
tp.getWallets()Object:
result:Booleandata:Arrayaddress:Stringname:Stringblockchain_id:Number
msg:String
tp.getWallets().then(console.log)
> {
result: true,
data: [
{
name: 'itokenpocket',
address: 'EOSaaaaaaaaabbbbbbbb',
blockchain_id: 4
},
{
name: 'ethwallet11',
address: '0x40e5A542087FA4b966209707177b103d158Fd3A4',
blockchain_id: 1
}
],
msg: 'success'
}tp.sign(params)params- Object:
appid:String
Object:
result:Booleandata:ObjectdeviceId:Stirngappid:Stringtimestamp:Numbersign:String
msg:String
tp.sign({
appid: 'swEmwEQ666'
}).then(console.log)
> {
result: true,
data: {
deviceId: 'EBEFWA-AFEBEf-eeee-aaaaa-eeeeea23d',
appid: 'swEmwEQ666',
timestamp: 1534735280,
sign: '713efewwfegwohvnqooyge38h4n421ll3fwzib9e3q00'
},
msg: 'success'
}tp.back()tp.back()tp.close()tp.close()tp.fullScreen(params)params- Object:
fullScreen:Number1 - fullScreen, 0 - cancel
tp.fullScreen({
fullScreen: 0
})tp.enuTokenTransfer(params)params- Object:
from:Stringto:Stringamount:String|NumbertokenName:Stringprecision:Number|Stringcontract:Stringmemo:String- (optional),address:String- public key for current account
Object:
-
result:Boolean -
data:ObjecttransactionId:Stirng
tp.enuTokenTransfer({
from: 'abcabcabcabc',
to: 'itokenpocket',
amount: '0.0100',
tokenName: 'ENU',
precision: 4,
contract: 'enu.token',
memo: 'test',
address: 'E7ds9A9FGDsKrdymQ4ynKbMgbCVaaaaaaaaaaa'
}).then(console.log)
> {
result: true,
data: {transactionId: 'b428357c7xxxxxxxxxxxxxx'}
}tp.pushEnuAction(params)params- Object:
actions:Array- Standard enu actionsaccount:String- current accountaddress:String- public key for current account
Object:
result:Booleandata:ObjecttransactionId:Stirng
tp.pushEnuAction({
actions: [
{
account: 'enu.token',
name: 'transfer',
authorization: [{
actor: 'aaaabbbbcccc',
permission: 'active'
}],
data: {
from: 'aaaabbbbcccc',
to: 'itokenpocket',
quantity: '1.3000 ENU',
memo: 'something to say'
}
},
{
account: "enumivo",
name: "delegatebw",
authorization: [
{
actor: 'aaaabbbbcccc',
permission: "active"
}
],
data: {
from: 'aaaabbbbcccc',
receiver: 'itokenpocket',
stake_net_quantity: "0.0100 ENU",
stake_cpu_quantity: "0.0100 ENU",
transfer: 0
}
}
],
address: 'E7ds9A9FGDsKrdymQ4ynKbMgbCVaaaaaaaaaaa',
account: 'aaaabbbbcccc'
}).then(console.log)
> {
result: true,
data: {transactionId: 'b428357c7xxxxxxxxxxxxxx'}
}tp.getEnuBalance(params)params- Object:
account:Stringcontract:Stringsymbol:String
Object:
result:Booleandata:Objectsymbol:Stringbalance:Stringcontract:Stringaccount:String
msg:String
tp.getEnuBalance({
account: 'itokenpocket',
contract: 'enu.token',
tokenName: 'ENU'
}).then(console.log)
> {
result: true,
data:{"symbol":"ENU","balance":"["142.2648 ENU"]","contract":"enu.token","account":"itokenpocket"},
msg: 'success'
}获取合约内table数据
tp.getEnuTableRows(params)params- Object:
json:Booleancode:Stringscope:Stringtable:Stringtable_key:Stirnglower_bound:Stringupper_bound:Stringlimit:Number
Object:
result:Booleandata:Objectrows:Array
msg:String
tp.getTableRows({
json: true,
code: 'abcabcabcabc',
scope: 'abcabcabcabc',
table: 'table1',
lower_bound: '10',
limit: 20
}).then(console.log)
> {
result: true,
data:{rows: [{a: 1, b: 'name' }, ...]},
msg: 'success'
}tp.getEnuAccountInfo(params)params- Object:
account:String
Object:
result:Booleandata:Object- Standard account objectmsg:String
tp.getEnuAccountInfo({
account: 'itokenpocket'
}).then(console.log)
> {
result: true,
data:{"account_name":"itokenpocket",..., "is_proxy":0}},
msg: 'success'
}tp.getEnuTransactionRecord(params)params- Object:
account:Stringstart:Number- default: 0count:Number- default: 10sort:String- 'desc | asc' default: desctoken:String- optionalcontract:String- optional
Object:
result:Booleandata:Object- Standard account objectmsg:String
tp.getEnuTransactionRecord({
start: 10,
count: 20,
account: 'itokenpocket',
token: 'ENU',
sort: 'desc',
contract: 'enu.token'
}).then(console.log)
> {
result: true,
data: [{
"title": "",
"comment": "",
"hid": "4bd63a191a1e3e00f13fe6df55d0c08803800a5e7cd0d0b15c92d52b3c42285e",
"producer": "bp4",
"timestamp": 1531578890,
"action_index": 2,
"account": "enumivo",
"name": "delegatebw",
"from": "tokenpocket1",
"to": "clementtes43",
"blockNum": 4390980,
"quantity": "0.2000000000 ENU",
"count": "0.2000000000",
"symbol": "ENU",
"memo": "",
"maximum_upply": "",
"ram_price": "",
"bytes": "",
"status": 1,
"data": "",
real_value:"0.2000000000"
}, ...],
msg: 'success'
}