
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
eosplayer is the glue layer of eosjs, which is packaged based on eosjs and provides better usability for the application layer. It can be used on browsers already installed scatter or in Dapp wallets.
Eosplayer is a bonding layer of eosjs, which is based on eosjs and provides better usability for the application layer. It can be used on both the node.js server and in a browser or Dapp wallet that already has Scatter installed.
frontd releases : https://github.com/bagaking/eosplayer/releases
LICENSE : Apache 2.0
npm run build or yarn run build
npm i -g hservehserve playhttp://localhost:3000 by defaultor using the online play ground: https://play.eosplayer.pro
Doc site:
doc.eosplayer.pro
or
Docs in playground
you can using
helpcommond to show api documents on chrome console
there are 4 levels of log
in the initial situation, the level verbose is closed, and info|warning|error are opened.
if you would like to disable all level, set the level filter to
'-'.when enable called, origin setting will be override (not append).
localStorage.debug = 'warning:*,info:*'localStorage.debug = '*'then, refresh the broswer
DEBUG=error:* node test.jsset DEBUG=error:* & node app.js$env:DEBUG = "error:*"const debug = require('debug');
debug.enable('error:*,warning:*,info:*');
(temporary in beta.11) these code should be placed after the require operation of eosplayer.
you can use call methods of eosplayer.chain by cli
install: npm i -g eosplayer
use: eosplayer --help
ERR_TRANSCAL_FAILED
ERR_TRANSFER_FAILED
ERR_TRANSEND_FAILED
{String} get help // get help info of usage
{String} get version // get the version info
{Chain} get chain // get the chain
{Void} eosplayer.event.setEvent(event, fnCallback, context) //listen to a event
{Eos} get eosplayer.eosClient // get eos instance
{Identity} async eosplayer.getIdentity() // get identity
{AccountInfo} async eosplayer.getAccountInfo(account_name = identity.name)
// get account info for any user
{String} async eosplayer.getBalance(account_name = undefined, code = "eosio.token", symbolName = undefined)
// get balance string of a account. ex. "1.0000 EOS", null means that the account dosen't have any token,
{String} async eosplayer.getBalances(account_name = undefined, code = "eosio.token")
// get balances array of a account. ex. ["1.0000 CT"]
{String} async eosplayer.getBalanceAsset(account_name = undefined, code = "eosio.token")
// get balance structure of a account. ex. {val:1, sym:"EOS", decimal:4}
{Tx} async eosplayer.transfer(target, quantity, memo = "")
// transfer tokens to target
{Tx} async eosplayer.transcal(code, quantity, func, ...args)
// send a action of transcal to contract
{Tx} async eosplayer.transget(code, symbol, func, ...args)
// send a action of trancal (quantity value = 0.0001) to contract
{Contract} async eosplayer.contract(code)
// get contract object
{Tx} async eosplayer.call(code, func, jsonData)
// send a action to contract
{Tx} async eosplayer.newAccount (name, activeKey, ownerKey)
// create a account with public key
{Object} async getInfo() // get info of the chain connected
{Object} async getBlock(blockNumOrId) // get specific block of the chain
{Contract} async getContract(code) // get contract
{Object} async getAbi(code) // get abi of contract
{Object} async getTableAbi(code, tableName) // get table abi of contract
{Object} async abiJsonToBin(code, action, args)
{Object} async getAccountInfo(account_name) // get account info of any user
{string} async getPubKey(account_name, authority = "active") // get the first public key of an account
{Array} async getPubKeys(account_name, authority = "active") // get public keys of an account
{string} async recoverSign(signature, message) // recover sign and to the public key
{string} async validateSign (signature, message, account, authority = 'active', accountsPermisionPlugins)
// validate if signed data is signed by a account. it returns the matched public key
{Number} async getActionCount(account_name) // get a account's action count
{Number} async getActionMaxSeq(account_name) // get a account's max action seq
{Array} async getRecentActions(account_name) // get recent actions
{Array} async getActions(account_name, startPos = 0, offset = 0) // get all actions of an account
{Array} async getAllActionsBatch (account_name, cbReceive, startPos = 0, count = 100, concurrent = 10) // get all actions in bulk
{String} async getBalance(account_name, code = "eosio.token", symbolName = undefined) // get balance of specific account
{Array.<String>} async getBalances(account_name, code = "eosio.token") // get all balance of specific account
{Tx} async transfer(account, target, quantity, memo = "", cbError) // the format of account should be {name, authority}
{Tx} async waitTx(txID, maxRound = 12, timeSpanMS = 1009) // check a transaction info, retry once per sec until success
{Tx} async call(code, func, jsonData, ...authorization) // send action to a contract
{Array} async getTable(code, tableName, scope, lower, upper, ...hint) // get all items in a table
{Array} async checkTable(code, tableName, scope, limit = 10, lower_bound = 0, upper_bound = -1, index_position = 1) // check a table
{Array} async checkTableMore(code, tableName, scope, primaryKey, limit = 9999999, lower_bound = 0, upper_bound = -1, index_position = 1)
{Array} async checkTableRange(code, tableName, scope, from, length = 1, index_position = 1) // check range in table
{Object} async checkTableItem(code, tableName, scope, key = 0) // check a item in a table
{Object} async updateAuth(account, permission, parent, threshold, keys, accounts, waits) // update auth
ERR_GET_SCATTER_FAILED
ERR_GET_IDENTITY_FAILED
ERR_LOGOUT_FAILED
{void} eosplayer.switchNetwork(val) // switch network
{void} eosplayer.setNetConf(network_name, conf) // add a network config at runtime
get {Scatter} eosplayer.scatter // get scatter instance
get {Scatter} async getScatterAsync(maxTry = 100) // get scatter instance
get {string} eosplayer.netName // get current network name
get {string} eosplayer.netConf // get current network config
async {Identity} eosplayer.login() // let user allow you using identity
async {void} eosplayer.logout() // return back the identity
async sign(message) // sign a message with current identity
window.eosjs = Eos; /** the eosjs lib @see {@url https://www.npmjs.com/package/eosjs} */
window.eosjs_ecc = Ecc; /** the eosjs-ecc lib @see {@url https://www.npmjs.com/package/eosjs-ecc} */
window.BigNumber = BigNumber; /** big number library @see {@url https://www.npmjs.com/package/bignumber.js} */
window.env = env; /** {isPc} */
window.idb = idb; /** idb lib for browser storage @see {@url https://www.npmjs.com/package/idb } */
window.eosplayer = new ScatterPlayer(networks);
npm i eosplayer --save or yarn add eosplayerimport * from 'eosplayer' or const Player = require('eosplayer')import Player from 'eosplayer'
import Eos from 'eosjs'
class MyPlayer extends Player {
get eosClient() {
if (!this._eosClient) {
this._eosClient = new Eos(myAwsomeConf);
}
return this._eosClient;
}
async getIdentity() {
return { name: "myawsomename", authority: "active" }
}
}
import { signPlayer } from 'eosplayer'
import { readingPlayer } from 'eosplayer'
in this version, scatter are split from the Player.
email : kinghand@tonarts.org
issue : https://github.com/bagaking/eosplayer/issues
FAQs
eosplayer is the glue layer of eosjs, which is packaged based on eosjs and provides better usability for the application layer. It can be used on browsers already installed scatter or in Dapp wallets.
We found that eosplayer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.