dcorelib

0.1.2 • Public • Published

dcorejs

javascript lib for DECENT blockchain

Setup

This library can be obtained through npm:

# npm install dcorelib

Usage

dcorelib package contain class DCore:

const DCore = require("dcorelib")

DCore contains static methods for work with public API, and dynamic methods for work with private API.

Initialization

You can connect:

DCore.connect("ws://testnet.dcore.io:8090")

DCore.connect() return Promise, resolve it when connection consists.

You may to subscribe to connection event:

DCore.subscribe('connected',functionToCall)

Public API

After connection, you may call public api methods. For example DCore.db return wrapper for database API:

DCore.db.get_objects(["1.3.0"])
DCore.db.list_assets("dct",100)

DCore.history is wrapper for history API:

DCore.history.get_account_history("<account_id>", "1.11.0", 10, "1.11.0")

Private API

If you want access to private API, you need create object from DCore class:

let account = new DCore("accountName","privateActiveKey")

or

let account = DCore.login("accountName","password")

account have transfer method:

await account.transfer(toName, assetSymbol, amount, memo)

Some examples:

const DCore = require('dcorelib')
KEY = 'privateActiveKey'
 
DCore.node = "ws://testnet.dcore.io:8090"
DCore.subscribe('connected', startAfterConnected)
 
async function startAfterConnected() {
  let bot = new DCore('test-acc',KEY)
 
  let iam = await DCore.accounts['test-acc'];
  let info = await DCore.db.get_full_accounts([iam.id],false);
  
  console.log(info)
}

DCore in REPL

If you install dcorelib-package in global storage, you may start dcore exec script:

$ dcore
>|

This command try autoconnect to mainnet DCore. If you want to connect on testnet, try this:

$ dcore --testnet
>|

It is nodejs REPL with several variables:

  • DCore, main class DCore package
  • login, function to create object of class DCore
  • generateKeys, to generateKeys from login and password
  • accounts, is analog DCore.accounts
  • assets, is analog DCore.assets
  • db, is analog DCore.db
  • history, is analog DCore.hostory
  • network, is analog DCore.network
  • fees, is analog DCore.fees

For example

$ dcore
> assets["dct"].then(console.log)

Shot request

If need call only one request, you may use --account, --asset, --block, --object, --history, --balance or --transfer keys in command-line:

$ dcore --account <'name' or 'id' or 'last number in id'>
{
  "id": "1.2.5992",
  "membership_expiration_date": "1970-01-01T00:00:00",
  "registrar": "1.2.37",
  "referrer": "1.2.21",
  ...
}
 
$ dcore --asset <'symbol' or 'id' or 'last number in id'>
{
  "id": "1.3.0",
  "symbol": "KRM",
  "precision": 5,
  ...
}
 
$ dcore --block [<number>]
block_num: 4636380
{
  "previous": "0046bedba1317d146dd6afbccff94412d76bf094",
  "timestamp": "2018-10-01T13:09:40",
  "witness": "1.6.41",
  ...
}
 
$ dcore --object 1.2.3
{
  "id": "1.2.3",
  "membership_expiration_date": "1969-12-31T23:59:59",
  "registrar": "1.2.3",
  "referrer": "1.2.3",
  ...
}
 
$ dcore --history <account> [<limit>] [<start>] [<stop>]
[
  {
    "id": "1.11.98179",
    "op": [
      0,
  ...
}]
 
$ dcore --balance <account or accounts> [<asset or assets>]
account
KRM: 1234.567
 
$ dcore --transfer <from> <to> <amount> <asset> [--key]
Transfered <amount> <asset> from '<from>' to '<to>' with memo '<memo>'

Contributing

Bug reports and pull requests are welcome on GitHub.

License

The package is available as open source under the terms of the MIT License.

Readme

Keywords

none

Package Sidebar

Install

npm i dcorelib

Weekly Downloads

4

Version

0.1.2

License

MIT

Unpacked Size

75.4 kB

Total Files

13

Last publish

Collaborators

  • scientistnik