Skip to content

Latest commit

 

History

History
178 lines (132 loc) · 3.19 KB

README.md

File metadata and controls

178 lines (132 loc) · 3.19 KB

moneyro

Node.js library for interacting with Monero API.

npm version dependencies Status

Library not tested in production environment yet.

Table of contents

Installation

yarn add moneyro

Prerequisites

Wallet needs a running monero-wallet-rpc, while Daemon connects to monerod.

Head to https://getmonero.org/downloads/ and download Command-Line tools for your platform.

Running monero-wallet-rpc

  1. Start your daemon:
./monerod --testnet
  1. Start wallet RPC client
./monero-wallet-rpc \
  --testnet --rpc-bind-port 18082 \
  --wallet-dir <folder-for-your-wallets> \
  --disable-rpc-login \
  --log-level 4

And that's it, you're ready to use moneyro.

Usage

Wallet

import { Wallet } from 'moneyro';

const wallet = new Wallet();

(async () => {
  try {
    await wallet.create('test-wallet', 'strongpassword');
    const response = await wallet.getAddress();
    console.log(response); // { address: '...', addresses: [ ... ] }
  } catch (err) {
    console.error(err);
  }
})();

Daemon

import { Daemon } from 'moneyro';

const daemon = new Daemon({
  hostname: 'testnet.xmrchain.net',
});

(async () => {
  try {
    const response = await daemon.getBlockCount();
    console.log(response); // { count: 1098883, status: 'OK' }
  } catch (err) {
    console.error(err);
  }
})();

API

Wallet

constructor([options])

options

Type: Object

hostname

Type: string
Default: '127.0.0.1'

port

Type: int
Default: 18082

username

Type: string

password

Type: string

create(filename, password, [language])

Creates a new wallet. You need to have set the argument "–wallet-dir" when launching monero-wallet-rpc to make this work.

filename

Type: string

password

Type: string

language

Type: string
Default: 'English'

open(filename, password)

Opens a wallet. You need to have set the argument "–wallet-dir" when launching monero-wallet-rpc to make this work.

filename

Type: string

password

Type: string

getBalance()

Returns Promise:
balance

Type: uint

unlockedBalance

Type: uint

transfer(options)

Transfers monero to specified recipient(s).

options

Type: Object

destinations

Type: array<{ amount: uint, address: string }>

mixin

Type: uint

Number of outpouts from the blockchain to mix with (0 means no mixing).

unlockTime

Type: uint

Number of blocks before the monero can be spent (0 to not add a lock).

priority

Type: uint
Options:

  • 0
  • 1
  • 2
  • 3
getTxHex

Type: boolean

paymentId

Type: string
Default: ''

Random 32-byte/64-character hex string to identify a transaction.

getTxKey

Type: boolean
Default: false

doNotRelay

Type: boolean
Default: false

Daemon