Have ideas to improve npm?Join in the discussion! »

    stealthjs-lib

    0.5.1 • Public • Published

    Stealth (ticker symbol XST) Javascript SDK

    This is a Javascript SDK library for querying Stealth RPC daemon.

    Install:

    npm install --save stealthjs-lib

    Stealth features:

    • 5 second block
    • Fee-less transactions
    • Cryptographic private transactions
    • Massive blockchain scalability
    • On-Chain governance
    • Supports smart contracts, Blockchain Oracles and side chains

    Learn more about Stealth, the fastest private digital currency at the official website https://stealth.org/

    Usage

    const Stealth = require('stealthjs-lib');
    
    const client = new Stealth({
      host: "localhost", // Host for the RPC daemon
      port: 46502, // Port for the RPC daemon
      username: "rpcclientusername", // Username for RPC daemon
      password: "rpcclientpassword", // Password for RPC daemon
      jsonRpc: "2.0", // JSON rpc version
      debug: false, // Turns on logging of the request and response
    });
    
    await client.help();

    API definition

    request(method, params) ⇒ Promise.<object>

    Make request to any of the RPC functions directly

    Param Type
    method string
    params Array.<any>

    addmultisigaddress(nRequired, keys, [account]) ⇒ Promise.<Object>

    Add a n-required-to-sign multi-signature address to the wallet each key is an XST address or hex-encoded public key If [account] is specified, assign address to [account].

    Param Type Default
    nRequired number
    keys Array.<string>
    [account] string ""

    backupwallet(destination) ⇒ Promise.<Object>

    Safely copies wallet.dat to destination, which can be a directory or a path with filename.

    Param Type
    destination string

    checkwallet() ⇒ Promise.<Object>

    Check wallet for integrity.

    claimqposbalance(txId, vOut, amount) ⇒ Promise.<Object>

    claimqposbalance is the transaction ID of the input is the prevout index of the input is the amount to claim Amount is real and rounded to the nearest 0.000001. Claim plus change is returned to claimant hashed pubkey

    Param Type
    txId string
    vOut number
    amount number

    clearwallettransactions() ⇒ Promise.<Object>

    delete all transactions from wallet - reload with scanforalltxns Warning: Backup your wallet first!

    createrawtransaction(transactions, addresses) ⇒ Promise.<Object>

    createrawtransaction [{"txid":txid,"vout":n},...] {address:amount,...} Create a transaction spending given inputs (array of objects containing transaction id and output number), sending to given address(es). Returns hex-encoded raw transaction. Note that the transaction's inputs are not signed, and it is not stored in the wallet or transmitted to the network.

    Param Type Description
    transactions Array.<object> [{"txid":txid,"vOut":n},...]
    addresses object {address:amount,...}

    decoderawtransaction(hex) ⇒ Promise.<Object>

    Return a JSON object representing the serialized, hex-encoded transaction.

    Param Type
    hex string

    disablestaker(txId, vOut, alias) ⇒ Promise.<Object>

    Kind: global function

    Param Type Description
    txId string transaction ID of the input
    vOut number prevout index of the input
    alias alias non-case sensitive staker alias

    dumpprivkey(XSTAddress) ⇒ Promise.<Object>

    Reveals the private key corresponding to .

    Param Type
    XSTAddress string

    enablestaker(txId, vOut, alias) ⇒ Promise.<Object>

    enablestaker is the transaction ID of the input is the prevout index of the input is a non-case sensitive staker alias

    Param Type
    txId string
    vOut number
    alias string

    encryptwallet(passphrase) ⇒ Promise.<Object>

    Encrypts the wallet with

    Param Type
    passphrase string

    exitreplay() ⇒ Promise.<Object>

    Manually exits registry replay (testnet only).

    getaccount(XSTAddress) ⇒ Promise.<Object>

    Returns the account associated with the given address.

    Param Type
    XSTAddress string

    getaccountaddress(account) ⇒ Promise.<Object>

    Returns the current XST address for receiving payments to this account.

    Param Type
    account string

    getaddressbalance(address) ⇒ Promise.<Object>

    Returns the balance of

    .
    Param Type
    address string

    getaddressesbyaccount(account) ⇒ Promise.<Object>

    Returns the list of addresses for the given account.

    Param Type
    account string

    getaddressinfo(address) ⇒ Promise.<Object>

    Returns info about

    .
    Param Type
    address string

    getaddressinouts(address, [start], [max]) ⇒ Promise.<Object>

    Returns [max] inputs + outputs of

    beginning with [start] For example, if [start]=101 and [max]=100 means to return the second 100 in-outs (if possible). [start] is the nth in-out (default: 1) [max] is the max in-outs to return (default: 100)
    Param Type Default
    address string
    [start] number 1
    [max] number 100

    getaddressinputs(address, [start], [max]) ⇒ Promise.<Object>

    Returns [max] inputs of

    beginning with [start] For example, if [start]=101 and [max]=100 means to return the second 100 inputs (if possible).
    Param Type Default
    address string
    [start] number 1
    [max] number 100

    getaddressoutputs(address, [start], [max]) ⇒ Promise.<Object>

    Returns [max] outputs of

    beginning with [start] For example, if [start]=101 and [max]=100 means to return the second 100 outputs (if possible).
    Param Type Default
    address string
    [start] number 1
    [max] number 100

    getadjustedtime() ⇒ Promise.<Object>

    Returns the Stealth network adjusted time.

    getbalance(account, [minConf]) ⇒ Promise.<Object>

    If [account] is not specified, returns the server's total available balance. If [account] is specified, returns the balance in the account.

    Param Type Default
    account string
    [minConf] number 1

    getbestblockhash() ⇒ Promise.<Object>

    Returns the hash of the best block in the longest block chain.

    getblock(hash, [txInfo]) ⇒ Promise.<Object>

    Returns data needed to construct a block to work on:

    • "version" : block version
    • "previousblockhash" : hash of current highest block
    • "transactions" : contents of non-coinbase transactions that should be included in the next block
    • "coinbaseaux" : data that should be included in coinbase
    • "coinbasevalue" : maximum allowable input to coinbase transaction, including the generation award and transaction fees
    • "target" : hash target
    • "mintime" : minimum timestamp appropriate for next block
    • "curtime" : current timestamp
    • "mutable" : list of ways the block template may be changed
    • "noncerange" : range of valid nonces
    • "sigoplimit" : limit of sigops in blocks
    • "sizelimit" : limit of block size
    • "bits" : compressed target of next block
    • "height" : height of the next block

    See https://en.bitcoin.it/wiki/BIP_0022 for full specification.

    Param Type Default
    hash string
    [txInfo] boolean false

    getblockbynumber(number, [txInfo]) ⇒ Promise.<Object>

    Returns details of a block with given block-number.

    Param Type Default
    number string
    [txInfo] boolean false

    getblockcount() ⇒ Promise.<Object>

    Returns the number of blocks in the longest block chain

    getblockhash(index) ⇒ Promise.<Object>

    Returns hash of block in best-block-chain at .

    Param Type
    index number

    getblockinterval(period, windowSize, windowSpacing) ⇒ Promise.<Object>

    Total block interval for the window in seconds

    Param Type
    period number
    windowSize number
    windowSpacing number

    getblockintervalmean(period, windowSize, windowSpacing) ⇒ Promise.<Object>

    RMSD of the block intervals for the window in seconds

    Param Type
    period string
    windowSize string
    windowSpacing string

    getblockintervalrmsd(period, windowSize, windowSpacing) ⇒ Promise.<Object>

    RMSD of the block intervals for the window in seconds

    Param Type
    period string
    windowSize string
    windowSpacing string

    getblockschedule(blocks) ⇒ Promise.<Object>

    Returns details of Stealthnodes in the block schedule

    Param Type
    blocks string

    getcheckpoint() ⇒ Promise.<Object>

    Show info of synchronized checkpoint.

    getchildkey(extendedKey, child, [networkByte]) ⇒ Promise.<Object>

    Returns key and address information about the child.

    Param Type
    extendedKey string
    child number
    [networkByte] string

    getconnectioncount() ⇒ Promise.<Object>

    Returns the number of connections to other nodes.

    getdifficulty() ⇒ Promise.<Object>

    Returns the difficulty as a multiple of the minimum difficulty.

    gethashespersec() ⇒ Promise.<Object>

    Returns a recent hashes per second performance measurement while generating.

    gethdaccount(extendedKey) ⇒ Promise.<Object>

    Returns all transactions for the hdaccount.

    Param Type
    extendedKey string

    gethourlymissed(hours) ⇒ Promise.<Object>

    Returns an object with an array of numbers that represent number of missed blocks in the last .

    Param Type
    hours number

    getinfo() ⇒ Promise.<Object>

    Returns an object containing various state info.

    getmininginfo() ⇒ Promise.<Object>

    Returns an object containing mining-related information.

    getnewaddress([account]) ⇒ Promise.<Object>

    Returns a new XST address for receiving payments. If [account] is specified (recommended), it is added to the address book so payments received with the address will be credited to [account].

    Param Type
    [account] string

    getnewestblockbeforetime(time) ⇒ Promise.<Object>

    Returns the hash of the newest block that has a time stamp earlier than is a unix epoch (seconds)

    Param Type
    time number

    getnewpubkey([account]) ⇒ Promise.<Object>

    Returns new public key for coinbase generation.

    Param Type
    [account] string

    getnewstealthaddress([label]) ⇒ Promise.<Object>

    Returns a new StealthAddress for receiving payments anonymously.

    Param Type
    [label] string

    getpeerinfo() ⇒ Promise.<Object>

    Returns data about each connected network node.

    getpicopowermean(period, windowSize, windowSpacing) ⇒ Promise.<Object>

    Returns an object with attributes: window_start: starting time of each window, number_blocks: number of blocks in each window, pico_power_mean: mean expressed in units of 1e-12 power".

    Param Type
    period number
    windowSize number
    windowSpacing number

    getqposbalance(pubKey) ⇒ Promise.<Object>

    Returns qPoS balance owned by

    Param Type
    pubKey string

    getqposinfo([height]) ⇒ Promise.<Object>

    Returns exhaustive qPoS information Optional [height] will get info as of that height (expensive)

    Param Type
    [height] number

    getrawmempool() ⇒ Promise.<Object>

    Returns all transaction ids in memory pool.

    getrawtransaction(txId, [verbose]) ⇒ Promise.<Object>

    If verbose=0, returns a string that is serialized, hex-encoded data for . If verbose is non-zero, returns an Object with information about .

    Param Type Default
    txId string
    [verbose] number 0

    getreceivedbyaccount(account, [minConf]) ⇒ Promise.<Object>

    Returns the total amount received by addresses with in transactions with at least [minconf] confirmations.

    Param Type Default
    account string
    [minConf] number 1

    getreceivedbyaddress(XSTAddress, [minConf]) ⇒ Promise.<Object>

    Returns the total amount received by in transactions with at least [minconf] confirmations.

    Param Type Default
    XSTAddress string
    [minConf] number 1

    getrecentqueue(blocks) ⇒ Promise.<Object>

    is the number of blocks to look back. Returns a 1, 0 array, where 1 is hit and 0 is miss. The array is ordered chronologically.

    Param Type Default
    blocks number

    getrichlist([start], [max]) ⇒ Promise.<Object>

    Returns the number of addresses with balances greater than [minimum].

    Param Type Default
    [start] number 0
    [max] number 10

    getrichlistsize([minimum]) ⇒ Promise.<Object>

    Returns the number of addresses with balances greater than [minimum].

    Param Type Default
    [minimum] number 0

    getstakersbyid([disqualified]) ⇒ Promise.<Object>

    Returns details of StealthNodes by ascending id. Optional [disqualified=false] includes disqualified stakers if true.

    Param Type Default
    [disqualified] bool false

    getstakerid(alias) ⇒ Promise.<Object>

    Returns the id of the staker registered with .

    Param Type
    alias string

    getstakerinfo(alias) ⇒ Promise.<Object>

    Returns exhaustive information about the qPoS registry. is a non-case sensitive staker alias.

    Param Type
    alias string

    getstakerprice() ⇒ Promise.<Object>

    Returns the current staker price.

    getstakerpriceinfo() ⇒ Promise.<Object>

    Returns staker price history and ROI information. is the number of stakers for which to calculate prices.

    Param Type
    stakers number

    getstakersbyweight() ⇒ Promise.<Object>

    Returns details of Stealthnodes in descending weight.

    getstakersummary() ⇒ Promise.<Object>

    Returns a summary of the state and activity of Stealthnodes.

    getsubsidy([nTarget]) ⇒ Promise.<Object>

    Returns proof-of-work subsidy value for the specified value of target.

    Param Type
    [nTarget] string

    gettransaction(txId) ⇒ Promise.<Object>

    Get detailed information about

    Param Type
    txId string

    gettxvolume(period, windowSize, windowSpacing) ⇒ Promise.<Object>

    Number of transactions in each window

    Param Type
    period number
    windowSize number
    windowSpacing number

    getxstvolume(period, windowSize, windowSpacing) ⇒ Promise.<Object>

    Amount of xst transferred in each window

    Param Type
    period number
    windowSize number
    windowSpacing number

    help(command) ⇒ Promise.<Object>

    List commands, or get help for a command.

    Param Type
    command string

    importprivkey(XSTPrivateKey, [label]) ⇒ Promise.<Object>

    Adds a private key (as returned by dumpprivkey) to your wallet.

    Param Type
    XSTPrivateKey string
    [label] string

    importstealthaddress(scanSecret, spendSecret, [label]) ⇒ Promise.<Object>

    Import an owned StealthAddresses.

    Param Type
    scanSecret string
    spendSecret string
    [label] string

    keypoolrefill([newSize]) ⇒ Promise.<Object>

    Fills the keypool.

    Param Type
    [newSize] string

    listaccounts([minConf]) ⇒ Promise.<Object>

    Returns Object that has account names as keys, account balances as values.

    Param Type Default
    [minConf] number 1

    listaddressgroupings() ⇒ Promise.<Object>

    Lists groups of addresses which have had their common ownership made public by common use as inputs or as the resulting change in past transactions

    listreceivedbyaccount([minConf], [includeEmpty]) ⇒ Promise.<Object>

    Returns an array of objects containing:

    • "account" : the account of the receiving addresses
    • "amount" : total amount received by addresses with this account
    • "confirmations" : number of confirmations of the most recent transaction included
    Param Type Default Description
    [minConf] number 1 minimum number of confirmations before payments are included
    [includeEmpty] boolean false whether to include addresses that haven't received any payments

    listreceivedbyaddress([minConf], [includeEmpty]) ⇒ Promise.<Object>

    Returns an array of objects containing:

    • "address" : receiving address
    • "account" : the account of the receiving address
    • "amount" : total amount received by the address
    • "confirmations" : number of confirmations of the most recent transaction included
    Param Type Default Description
    [minConf] number 1 minimum number of confirmations before payments are included
    [includeEmpty] boolean false whether to include addresses that haven't received any payments

    listsinceblock([blockHash], [targetConfirmations]) ⇒ Promise.<Object>

    Get all transactions in blocks since block [blockHash], or all transactions if omitted

    Param Type Default
    [blockHash] string
    [targetConfirmations] number 0

    liststealthaddresses(showSecrets) ⇒ Promise.<Object>

    List owned StealthAddresses.

    Param Type
    showSecrets string

    listtransactions(account, count, from) ⇒ Promise.<Object>

    Returns up to [count] most recent transactions skipping the first [from] transactions for account [account].

    Param Type Default
    account string
    count number 10
    from number 0

    listunspent([minConf], [maxConf], [txOuts]) ⇒ Promise.<Object>

    Returns array of unspent transaction outputs with between minConf and maxConf (inclusive) confirmations. Optionally filtered to only include txOuts paid to specified addresses. Results are an array of Objects, each of which has: {txId, vOut, scriptPubKey, amount, confirmations}

    Param Type Default Description
    [minConf] number 1
    [maxConf] number 9999999
    [txOuts] Array.<string> ["address",...]

    makekeypair([prefix]) ⇒ Promise.<Object>

    Make a public/private key pair. [prefix] is optional preferred prefix for the public key.

    Param Type
    [prefix] string

    move(fromAccount, toAccount, amount, [minConf], [comment]) ⇒ Promise.<Object>

    Move from one account in your wallet to another.

    Param Type Default
    fromAccount string
    toAccount string
    amount number
    [minConf] number 1
    [comment] string ""

    purchasestaker(txId, vOut, alias, owner, [amount], [delegate], [controller], [payout]) ⇒ Promise.<Object>

    Kind: global function

    Param Type Description
    txId string
    vOut number
    alias string
    owner string
    [amount] number is is the amount to pay If the amount is not specified it will be calculated automatically
    [delegate] string and [controller] are compressed pubkeys If delegate and controller are not specified then they are taken from owner.
    [controller] string
    [payout] number is in percentage, and is rounded to the nearest thousandths of a percent Either just the owner key or all 3 keys plus the payout must be specified.

    repairwallet() ⇒ Promise.<Object>

    Repair wallet if checkwallet reports any problem.

    resendtx() ⇒ Promise.<Object>

    Re-send unconfirmed transactions.

    reservebalance([reserve], [amount]) ⇒ Promise.<Object>

    Set reserve amount not participating in network protection. If no parameters provided current setting is printed.

    Param Type Default
    [reserve] boolean
    [amount] number 0

    scanforalltxns([fromHeight]) ⇒ Promise.<Object>

    Scan blockchain for owned transactions.

    Param Type Default
    [fromHeight] number 0

    scanforstealthtxns([fromHeight]) ⇒ Promise.<Object>

    Scan blockchain for owned stealth transactions.

    Param Type Default
    [fromHeight] number 0

    sendalert(message, privateKey, minVer, maxVer, priority, id, [cancelUpTo]) ⇒ Promise.<Object>

    Kind: global function

    Param Type Description
    message string alert text message
    privateKey string hex string of alert master private key
    minVer string minimum applicable internal client version
    maxVer string maximum applicable internal client version
    priority string integer priority number
    id string alert id (id=0 canels all alerts except id=1 alerts)
    [cancelUpTo] string cancels all alert id's up to this number

    sendfrom(fromAccount, toXSTAddress, amount, [minConf], [comment], [commentTo]) ⇒ Promise.<Object>

    Kind: global function

    Param Type Default Description
    fromAccount string
    toXSTAddress string
    amount number real and is rounded to the nearest 0.000001
    [minConf] number 1
    [comment] string ""
    [commentTo] string ""

    sendmany(fromAccount, addressAmount, [minConf], [comment]) ⇒ Promise.<Object>

    Kind: global function

    Param Type Default Description
    fromAccount string
    addressAmount object {address: amount,...} amounts are double-precision floating point numbers
    [minConf] number 1
    [comment] string ""

    sendrawtransaction(hex) ⇒ Promise.<Object>

    Submits raw transaction (serialized, hex-encoded) to local node and network.

    Param Type
    hex string

    sendtoaddress(XSTAddress, amount, [comment], [commentTo]) ⇒ Promise.<Object>

    Kind: global function

    Param Type Default Description
    XSTAddress string
    amount number real and is rounded to the nearest 0.000001
    [comment] string ""
    [commentTo] string ""

    sendtostealthaddress(address, amount, [narration], [comment], [commentTo]) ⇒ Promise.<Object>

    Kind: global function

    Param Type Default Description
    address string
    amount number real and is rounded to the nearest 0.000001
    [narration] string ""
    [comment] string ""
    [commentTo] string ""

    setaccount(XSTAddress, account) ⇒ Promise.<Object>

    Sets the account associated with the given address.

    Param Type
    XSTAddress string
    account string

    setstakercontroller(txId, vOut, alias, controller) ⇒ Promise.<Object>

    Kind: global function

    Param Type Description
    txId string transaction ID of the input
    vOut number prevout index of the input
    alias string non-case sensitive staker alias
    controller string compressed pubkey

    setstakerdelegate(txId, vOut, alias, delegate, payout) ⇒ Promise.<Object>

    Kind: global function

    Param Type Description
    txId string transaction ID of the input
    vOut number prevout index of the input
    alias string on-case sensitive staker alias
    delegate string compressed pubkey
    payout string fraction of block rewards to pay to the delegate in millipercent

    setstakermeta(txId, vOut, alias, key, value) ⇒ Promise.<Object>

    Kind: global function

    Param Type Description
    txId string transaction ID of the input
    vOut number prevout index of the input
    alias string on-case sensitive staker alias
    key string metadata key
    value number metadata value

    setstakerowner(txId, vOut, alias, owner) ⇒ Promise.<Object>

    Kind: global function

    Param Type Description
    txId string transaction ID of the input
    vOut number prevout index of the input
    alias string on-case sensitive staker alias
    owner string owners compressed pubkey

    settxfee(amount) ⇒ Promise.<Object>

    Kind: global function

    Param Type Description
    amount number is a real and is rounded to the nearest 0.01

    signmessage(XSTAddress, message) ⇒ Promise.<Object>

    Sign a message with the private key of an address

    Param Type
    XSTAddress string
    message string

    signrawtransaction(hex, transactions, privateKeys, [signHashTypes]) ⇒ Promise.<Object>

    Sign inputs for raw transaction (serialized, hex-encoded).

    Param Type Default
    hex string
    transactions Array.<object>
    privateKeys Array.<string>
    [signHashTypes] string "&quot;ALL&quot;"

    stop(detach) ⇒ Promise.<Object>

    Stop StalthCoin server (and possibly override the detachdb config value).

    Param Type
    detach boolean

    validateaddress(XSTAddress) ⇒ Promise.<Object>

    Return information about .

    Param Type
    XSTAddress string

    validatepubkey(XSTPubKey) ⇒ Promise.<Object>

    Return information about .

    Param Type
    XSTPubKey string

    verifymessage(XSTAddress, signature, message) ⇒ Promise.<Object>

    Verify a signed message

    Param Type
    XSTAddress string
    signature string
    message string

    getcharacterspg(page, perPage, ordering) ⇒ Promise.<Object>

    Verify a signed message

    Param Type
    page nubmer
    perPage nubmer
    ordering boolean

    Install

    npm i stealthjs-lib

    DownloadsWeekly Downloads

    4

    Version

    0.5.1

    License

    MIT

    Unpacked Size

    83.4 kB

    Total Files

    10

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar