Socket
Book a DemoInstallSign in
Socket

karmachain

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

karmachain

Package for work with Karma blockchain

0.5.4
latest
Source
npmnpm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

karmachain

Package for work with Karma blockchain

Setup

This library can be obtained through npm:

# npm install karmachain

Usage

karmachain package contain class Karma:

const Karma = require("karmachain")

Kamra contains static methods for work with public API, and dynamic methods for work with wallet API.

Initialization

Example initialization:

Karma.init('wss://node.karma.red')

After initialization, you can connect:

Karma.connect()

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

You may to subscribe to connection event:

Karma.subscribe('connected',functionToCall)

Public API

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

Karma.db.get_objects(["1.3.0"])
Kamra.db.list_assets("krm",100)

Karma.history is wrapper for history API:

Karma.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 Karma class:

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

or

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

account have transfer method:

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

Some examples:

const Karma = require('karmachain')
KEY = 'privateActiveKey'

Karma.init('wss://node.karma.red')
Karma.subscribe('connected', startAfterConnected)

async function startAfterConnected() {
  let bot = new Karma('test-acc',KEY)

  let iam = await Karma.accounts['test-acc'];
  let info = await Karma.db.get_full_accounts([iam.id],false);
  
  console.log(info)
}

Karma in REPL

If you install karmachan-package in global storage, you may start karma exec script:

$ karma
>|

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

$ karma --testnet
>|

It is nodejs REPL with several variables:

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

For example

$ karma
> assets["krm"].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:

$ karma --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",
  ...
}

$ karma --asset <'symbol' or 'id' or 'last number in id'>
{
  "id": "1.3.0",
  "symbol": "KRM",
  "precision": 5,
  ...
}

$ karma --block [<number>]
block_num: 4636380
{
  "previous": "0046bedba1317d146dd6afbccff94412d76bf094",
  "timestamp": "2018-10-01T13:09:40",
  "witness": "1.6.41",
  ...
}

$ karma --object 1.2.3
{
  "id": "1.2.3",
  "membership_expiration_date": "1969-12-31T23:59:59",
  "registrar": "1.2.3",
  "referrer": "1.2.3",
  ...
}

$ karma --history <account> [<limit>] [<start>] [<stop>]
[
  {
    "id": "1.11.98179",
    "op": [
      0,
  ...
}]

$ karma --balance <account or accounts> [<asset or assets>]
account
KRM: 1234.567

$ karma --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.

FAQs

Package last updated on 05 Jun 2019

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.