How to Use EOSJS API (1)

Learning EOSJS through 5 frequently used APIs

Greetings, this is Dongjun Kwon from ITAM Network. In a previous post on ‘Getting Started with EOSJS,’ we went over how to use EOSJS. In this post, we will be going over the commonly used APIs on EOSJS and testing them.

Click here to see the list of APIs

Preparation

We will be making all codes available to use. In order to make useable, preparation is needed. The preparations are as follows:

Node.js EOSJS

Please install the above two and put the following at the top of the javascript file.

After you have done this, code the api examples below and run javascript with node.js to get the value.

Because each BP Endpoint has different speed and/or reliability, we recommend you use the BP that is most suitable for you.

getBlock(blockNumOrId)

Used to bring the information of an applicable block.

params

Code

Result

{ timestamp: '2018-06-08T08:08:08.500',

producer: '',

confirmed: 1,

previous:

'0000000000000000000000000000000000000000000000000000000000000000',

transaction_mroot:

'0000000000000000000000000000000000000000000000000000000000000000',

action_mroot:

'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906',

schedule_version: 0,

new_producers: null,

header_extensions: [],

producer_signature:

'SIG_K1_111111111111111111111111111111111111111111111111111111111111111116uk5ne',

transactions: [],

block_extensions: [],

id:

'00000001405147477ab2f5f51cda427b638191c66d2c59aa392d5c2c98076cb0',

block_num: 1,

ref_block_prefix: 4126519930 }

To see the activities that took place in the applicable block, look at the transactions. To view transactions, do the following:

If you look at the transactions by using the above value, there are actions. By looking at the actions, you can have a deeper look at the activities that took place.

getAccount(accountName)

Used to get an EOS account’s information.

Params

Code

Result

{ account_name: 'itamnetwork1',

head_block_num: 8516805,

head_block_time: '2018-07-30T07:34:52.500',

privileged: false,

last_code_update: '1970-01-01T00:00:00.000',

created: '2018-07-09T02:24:58.500',

core_liquid_balance: '12.6131 EOS',

ram_quota: 14976,

net_weight: 201000,

cpu_weight: 10401000,

net_limit: { used: 1679786, available: 11108657, max: 12788443 },

cpu_limit: { used: 7950353, available: 6356380, max: 14306733 },

ram_usage: 10934,

permissions:

[ { perm_name: 'active', parent: 'owner', required_auth: [Object] },

{ perm_name: 'owner', parent: '', required_auth: [Object] } ],

total_resources:

{ owner: 'itamnetwork1',

net_weight: '20.1000 EOS',

cpu_weight: '1040.1000 EOS',

ram_bytes: 14976 },

self_delegated_bandwidth:

{ from: 'itamnetwork1',

to: 'itamnetwork1',

net_weight: '0.1000 EOS',

cpu_weight: '0.1000 EOS' },

refund_request: null,

voter_info:

{ owner: 'itamnetwork1',

proxy: '',

producers: [],

staked: 4000,

last_vote_weight: '0.00000000000000000',

proxied_vote_weight: '0.00000000000000000',

is_proxy: 0 } }

I’ll explain some of the above result values.

account_name: as you all probably already know, it is the EOS account name. ram_quota: the amount of RAM I hold, measured in byte. net_limit: the total amount of net, useable net, and used net of an account, measured in byte. cpu_limit: the total amount of CPU, available CPU, and used CPU of an account, measured in us. ram_usage: amount of RAM used of an account, measured in byte. total_resources: the EOS of the resource allocated to me. self_delegated_bandwidth: the information I delegated to myself. voter_info: information regarding votes. Keep an eye on the ‘staked’ part, which shows the amount I staked. More specifically, it is the value that includes what I delegated to myself and what others delegated.

getKeyAccounts(publicKey)

Gets the accounts of a public key.

Params

Code

Result

{ account_names: [ 'itamnetwork1' ] }

It is possible to make many accounts with one EOS public key. This is why the value of account_name is an array in the form of a string.

getCurrencyBalance(code, account, symbol)

Gets the Token corresponding to the symbol of a code.

Params

Code

Result

[ '12.6131 EOS' ]

If you look at the result value, you can see an array in the form of a string. This is because there could be tokens with many different symbols in the account. On the EOS testnet, Jungle Net, if you search eosio.token excluding symbol, you can see 2 tokens.

getCurrencyStats(code, symbol)

Get the token information of the symbol.

Params

Code

Result

{ EOS:

{ supply: '1006148640.3388 EOS',

max_supply: '10000000000.0000 EOS',

issuer: 'eosio' } }

Below are the descriptions of the result values.

supply: the number of tokens supplied currently. max_supply: the total number of tokens. issuer: the issuer

Conclusion

We went over the 5 most frequently used EOSJS APIs. There are still numerous APIs that we have not covered, and I am planning to go over these in a later post. Thank you.