moneyro
Node.js library for interacting with Monero API.
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.
monero-wallet-rpc
Running - Start your daemon:
./monerod --testnet
- 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()
Promise
:
Returns 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