Git Product home page Git Product logo

rpc-bitcoin's Introduction

rpc-bitcoin Build Status Known Vulnerabilities NPM license npm downloads GitHub top language

A TypeScript library to make RPC and HTTP REST requests to Bitcoin Core.

Installation

npm install rpc-bitcoin
const { RPCClient } = require("rpc-bitcoin");
const url = "http://192.168.0.10";
const user = "rpcuser";
const pass = "rpcpassword";
const port = 18832;
const timeout = 10000;
const client = new RPCClient({ url, port, timeout, user, pass });
  • batch
const response = await client.batch([
  { method: "getbestblockhash", id: 1 },
  { method: "help", params: { command: "help" }, id: "custom-id" },
  { method: "getzmqnotifications", params: {}, id: 2 },
]);

Blockchain

const hex = await client.getbestblockhash();
const blockhash =
  "000000004182034f427d463b92162d35d0accef9ea0c5354a87e870ca1815b4c";
const verbosity = 2;
const block = await client.getblock({ blockhash, verbosity });
const info = await client.getblockchaininfo();
const count = await client.getblockcount();
const blockhash =
  "00000000000000dfffa1954693ba3f79813909dbcdedfe05eccb9829e828c141";
const filtertype = "basic";
const result = await client.getblockfilter({ blockhash, filtertype });
const height = 1583782;
const hash = await client.getblockhash({ height });
const blockhash =
  "000000004182034f427d463b92162d35d0accef9ea0c5354a87e870ca1815b4c";
const verbose = false;
const header = await client.getblockheader({ blockhash, verbose });
const hash_or_height =
  "000000004182034f427d463b92162d35d0accef9ea0c5354a87e870ca1815b4c";
const stats = ["txs", "time"];
const info = await client.getblockstats({ hash_or_height, stats });
const tips = await client.getchaintips();
const nblocks = 2016;
const blockhash =
  "000000004182034f427d463b92162d35d0accef9ea0c5354a87e870ca1815b4c";
const result = await client.getchaintxstats({ nblocks, blockhash });
const difficulty = await client.getdifficulty();
const verbose = true;
const txid = "3e128c38f35520d4121d582f15998b7f74b44f17aa650b4d60decf975e642b9a";
const result = await client.getmempoolancestors({ txid, verbose });
const verbose = true;
const txid = "ff758ffd73729be8afae0d683547f7840bdaee75ad5e5c464fb621b2509c366b";
const result = await client.getmempooldescendants({ txid, verbose });
const txid = "0629e01f05088728b089715f247de82a160428c06d6c85484adab2aa66574ace";
const result = await client.getmempoolentry({ txid });
const info = await client.getmempoolinfo();
const verbose = true;
const result = await client.getrawmempool({ verbose });
const txid = "d2f6b1d1844e483ce350a4a22fbaef36c31ebe88730415b7408c1f34b834fab5";
const n = 1;
const include_mempool = true;
const result = await client.gettxout({ txid, n, include_mempool });
const txids = [
  "42e75d074cf5b836170d20fc09593245c65a3f07283a497c3350c4d109b38bb6",
];
const blockhash =
  "000000000000000000055bc30b762904ab996430603cafe846cc6adc82c4af1e";
const result = await client.gettxoutproof({ txids, blockhash });
const info = await client.gettxoutsetinfo();
const blockhash =
  "00000000000000261a35cf378bf8fa1bf6ac87800d798ce2a11f581f562e92ba";
const result = await client.preciousblock({ blockhash });
const height = 1000;
const result = await client.pruneblockchain({ height });
const result = await client.savemempool();
const action = "start";
const scanobjects = [
  "addr(mxosQ4CvQR8ipfWdRktyB3u16tauEdamGc)",
  {
    desc:
      "wpkh([d34db33f/84'/0'/0']tpubD6NzVbkrYhZ4YTN7usjEzYmfu4JKqnfp9RCbDmdKH78vTyuwgQat8vRw5cX1YaZZvFfQrkHrM2XsyfA8cZE1thA3guTBfTkKqbhCDpcKFLG/0/*)#8gfuh6ex",
    range: [1, 3],
  },
];
const result = await client.scantxoutset({ action, scanobjects });
const checklevel = 1;
const nblocks = 10;
const result = await client.verifychain({ checklevel, nblocks });
const proof =
  "00000020ed07b12f0398e45fd403db11dbe894dc3301ce1a7725424e0b5e460c0000000066fca14db436f305aea37b3ae0f8b188cbf112dff3854c3d419f3ff3ebbc821f6c0c975dffff001d8fd5a7d2eb00000009e7acd3f605d1b957d684d9eeca9c472d803d90c0d17e29e5606f9b080b177a4abcd854622ad3900b5bc1ae71e99699a05eb972d46bd439c08eb7fbd20bba6494542222b2d1388f52c6d23ac12b32245ca47b02fc2f0a283a88aabca1f4db43ca8a4da8ffd7d9ae403b0c34ccbf14d2318c34fabb713c48f6d6490c6095250b6f08f26f020275d448dfb9967c62bedefaf29260021671a191f620f7783252788549b1e033dc815e2cd36ff204b398046f834643859f881a4d93b3fc5b91413a009c5069be274e1dcc675183ea2a989ef598422c0ed02e407aade8eaa6ef7ec1120ca4ffdef21b5fd26c4525a27c78cc38026b257f9d23f0d796603b1d3cbf539bdf87ccf9e81954f58e072d67eff2891339f203cbdec68bbbabbbbc0c070cceea03bf0a00";
const result = await client.verifytxoutproof({ proof });

Control

const mode = "mallocinfo";
const result = await client.getmemoryinfo({ mode });
const result = await client.getrpcinfo();
const command = "getzmqnotifications";
const result = await client.help({ command });
const include = ["net", "rpc"];
const exclude = ["mempoolrej", "estimatefee"];
const result = await client.logging({ include, exclude });
const result = await client.stop();
const result = await client.uptime();

Generating

const nblocks = 1;
const maxtries = 10000;
const address = "1HLoD9E4SDFFPDiYfNYnkBLQ85Y51J3Zb1";
const wallet = "bitcoin-core-wallet.dat";
const result = await client.generatetoaddress(
  { nblocks, address, maxtries },
  wallet
);

Mining

const rules = ["segwit"];
const mode = "template";
const capabilities = ["serverlist", "proposal"];
const template_request = { rules, mode, capabilities };
const result = await client.getblocktemplate({ template_request });
const result = await client.getmininginfo();
const nblocks = 100;
const height = 100;
const result = await client.getnetworkhashps({ nblocks, height });
const txid = "9b0fc92260312ce44e74ef369f5c66bbb85848f2eddd5a7a1cde251e54ccfdd5";
const fee_delta = 1000;
const result = await client.prioritisetransaction({ txid, fee_delta });
const hexdata = "hexEncodedBlock";
const result = await client.submitblock({ hexdata });
const hexdata = "hexEncodedBlockHeaderData";
const result = await client.submitheader({ hexdata });

Network

const node = "192.168.0.6:8333";
const command = "onetry";
const result = await client.addnode({ node, command });
const result = await client.clearbanned();
const address = "192.168.1.123:18333";
let result = await client.disconnectnode({ address });
// or by a `nodeid`
const nodeid = 3;
result = await client.disconnectnode({ nodeid });
const node = "192.168.0.201";
const result = await client.getaddednodeinfo({ node });
const result = await client.getconnectioncount();
const result = await client.getnettotals();
const result = await client.getnetworkinfo();
const count = 8;
const result = await client.getnodeaddresses({ count });
const result = await client.getpeerinfo();
const result = await client.listbanned();
const result = await client.ping();
const subnet = "192.168.0.6";
const command = "add";
const bantime = 1581599503;
const absolute = true;
const result = await client.setban({ subnet, command, bantime, absolute });
const state = false;
const result = await client.setnetworkactive({ state });

Rawtransactions

const psbt =
  "cHNidP8BAJoCAAAAAtVSFGEYzcJX2qwhy8iJGI1Y/zeIqBQtH/OBC9WJ4mx7AQAAAAD9////azacULIhtk9GXF6tde7aC4T3RzVoDa6v6Jtyc/2Pdf8AAAAAAP3///8C2EcDAAAAAAAWABRvcJGDvHZHgYiyMl8u5pLowEPLj6CGAQAAAAAAFgAUtxN9/tGP/jlvvgsWeGCM691FsesBAAAAAAAAAAA=";
const result = await client.analyzepsbt({ psbt });
const txs = [
  "cHNidP8BAHsCAAAAAn+RFbuIDPiBkN5ua0vnUVZwwvbnnDZ8Ca4Z6y3vQyqnAAAAAAD9////KUVYeBVxQc4IZCvsc2WohVhZanD54jy11Gxxn4YRtpYBAAAAAP3///8BYII7AAAAAAAWABSANbyZwTJ0B7qPqpWSolEEKYbIFQEAAAAAAQEfIAMAAAAAAAAWABRCHnul3Lf2vUn4GUU9mrnGLnTHsQEIawJHMEQCIAenBxHwiJAo9Mt/0B0gsflruKfe90W0OUaW/gMqT13hAiBrcsvglEZvxDWKKhMLArU52ndMb6cAangC/u6mowwjGAEhAoNFASSjynZOTTIf6bOnANXURu5zQ9eGpUAcB1x569/qAAAA",
  "cHNidP8BAHsCAAAAAn+RFbuIDPiBkN5ua0vnUVZwwvbnnDZ8Ca4Z6y3vQyqnAAAAAAD9////KUVYeBVxQc4IZCvsc2WohVhZanD54jy11Gxxn4YRtpYBAAAAAP3///8BYII7AAAAAAAWABSANbyZwTJ0B7qPqpWSolEEKYbIFQEAAAAAAQEfIAMAAAAAAAAWABRCHnul3Lf2vUn4GUU9mrnGLnTHsQABAR/HgTsAAAAAABYAFDNBVvuJV65T//o2rr6AhKSwDPt9AQhrAkcwRAIgWyFL8FdWh0kB8CbKL2GsVPQU2Wgb9E4YvOwJ9KLseMgCIHBdaP/zuYg7Y4cL5B+gjsOUB4PFss6+dnACpn/+U9UjASEDTi3KTyZW9vKWtxYxflo5B7l1PHSqn0GUlf8AsXkGfvQAAA==",
];
const result = await client.combinepsbt({ txs });
const txs = [
  "020000000001029a2b645e97cfde604d0b65aa174fb4747f8b99152f581d12d42055f3388c123e0000000000fdffffff9a2b645e97cfde604d0b65aa174fb4747f8b99152f581d12d42055f3388c123e0100000000fdffffff0180250000000000001600143d366a85a8c07a44b5eed0a622197d6784c07e69000247304402201596d19c0eec785d301dad21ecc8bad1d808d4bd15615df1a5a1b9e930404066022038126c82743ccf5bc225b61a38ddd7ae651f12d27a730817de79279df8fd0ab88121028cc283639d0254c3f3091659d66f7681189de1ade326d36eefa50217956b057b00000000",
  "020000000001029a2b645e97cfde604d0b65aa174fb4747f8b99152f581d12d42055f3388c123e0000000000fdffffff9a2b645e97cfde604d0b65aa174fb4747f8b99152f581d12d42055f3388c123e0100000000fdffffff0180250000000000001600143d366a85a8c07a44b5eed0a622197d6784c07e69024730440220451546bae0bc61270eec966f1ca0a5cb16a93c5f88a800094240e61fb3f6fdd7022021a0065ec25e06f9e0b3a4d87b06d13adc2bd620dd8f2ecf7a40366ceaa93e998121039a3d49d8d6a2ca7ff2ea6657d3c8c19ba20ab67f529edb522030928b5f4894d20000000000",
];
const result = await client.combinerawtransaction({ txs });
const hexstring =
  "020000000122647b4fc186385b15a01cc6cd6d7864399b4ff536f370f86ecc5e2f4281d7d50000000000ffffffff017b000000000000001976a914394e47d5a2d723e34b38b05e257c6ab69be3b59988ac00000000";
const permitsigdata = true;
const iswitness = true;
const result = await client.converttopsbt({
  hexstring,
  permitsigdata,
  iswitness,
});
const inputs = [
  {
    txid: "7b6ce289d50b81f31f2d14a88837ff588d1889c8cb21acda57c2cd18611452d5",
    vout: 1,
  },
  {
    txid: "ff758ffd73729be8afae0d683547f7840bdaee75ad5e5c464fb621b2509c366b",
    vout: 0,
  },
];
const outputs = [
  {
    tb1qdacfrqauwercrz9jxf0jae5jarqy8ju0ywt8su: 0.00215,
  },
  {
    tb1qkufhmlk33llrjma7pvt8scyva0w5tv0tvuy6zs: 0.001,
  },
];
const locktime = 1;
const replaceable = true;
const result = await client.createpsbt({
  inputs,
  outputs,
  locktime,
  replaceable,
});
const inputs = [
  {
    txid: "7b6ce289d50b81f31f2d14a88837ff588d1889c8cb21acda57c2cd18611452d5",
    vout: 1,
  },
  {
    txid: "ff758ffd73729be8afae0d683547f7840bdaee75ad5e5c464fb621b2509c366b",
    vout: 0,
  },
];
const outputs = [
  {
    tb1qdacfrqauwercrz9jxf0jae5jarqy8ju0ywt8su: 0.00215,
  },
  {
    tb1qkufhmlk33llrjma7pvt8scyva0w5tv0tvuy6zs: 0.001,
  },
];
const locktime = 1;
const replaceable = true;
const result = await client.createrawtransaction({
  inputs,
  outputs,
  locktime,
  replaceable,
});
const psbt =
  "cHNidP8BAJoCAAAAAtVSFGEYzcJX2qwhy8iJGI1Y/zeIqBQtH/OBC9WJ4mx7AQAAAAD9////azacULIhtk9GXF6tde7aC4T3RzVoDa6v6Jtyc/2Pdf8AAAAAAP3///8C2EcDAAAAAAAWABRvcJGDvHZHgYiyMl8u5pLowEPLj6CGAQAAAAAAFgAUtxN9/tGP/jlvvgsWeGCM691FsesBAAAAAAAAAAA=";
const result = await client.decodepsbt({ psbt });
const hexstring =
  "0200000002d552146118cdc257daac21cbc889188d58ff3788a8142d1ff3810bd589e26c7b0100000000fdffffff6b369c50b221b64f465c5ead75eeda0b84f74735680daeafe89b7273fd8f75ff0000000000fdffffff02d8470300000000001600146f709183bc76478188b2325f2ee692e8c043cb8fa086010000000000160014b7137dfed18ffe396fbe0b1678608cebdd45b1eb01000000";
const iswitness = true;
const result = await client.decoderawtransaction({ hexstring, iswitness });
const hexstring =
  "5221031e925dbe43ca87bce874f4fb77ac0d6bb2dc1a9db93868fa27611b687775bd0b2102ffb8b66ba266797f1e33e5d177a6f9c72839992ccf11e97837054a8d3a8284bc21025bf696347321a5276aad08dfefff19dd09d3717bfc2ce521060f4247d31c37b553ae";
const result = await client.decodescript({ hexstring });
const psbt =
  "cHNidP8BAHsCAAAAAn+RFbuIDPiBkN5ua0vnUVZwwvbnnDZ8Ca4Z6y3vQyqnAAAAAAD9////KUVYeBVxQc4IZCvsc2WohVhZanD54jy11Gxxn4YRtpYBAAAAAP3///8BYII7AAAAAAAWABSANbyZwTJ0B7qPqpWSolEEKYbIFQEAAAAAAQEfIAMAAAAAAAAWABRCHnul3Lf2vUn4GUU9mrnGLnTHsQEIawJHMEQCIAenBxHwiJAo9Mt/0B0gsflruKfe90W0OUaW/gMqT13hAiBrcsvglEZvxDWKKhMLArU52ndMb6cAangC/u6mowwjGAEhAoNFASSjynZOTTIf6bOnANXURu5zQ9eGpUAcB1x569/qAAEBH8eBOwAAAAAAFgAUM0FW+4lXrlP/+jauvoCEpLAM+30BCGsCRzBEAiBbIUvwV1aHSQHwJsovYaxU9BTZaBv0Thi87An0oux4yAIgcF1o//O5iDtjhwvkH6COw5QHg8Wyzr52cAKmf/5T1SMBIQNOLcpPJlb28pa3FjF+WjkHuXU8dKqfQZSV/wCxeQZ+9AAA";
const extract = true;
const result = await client.finalizepsbt({ psbt, extract });
const hexstring =
  "020000000129455878157141ce08642bec7365a88558596a70f9e23cb5d46c719f8611b6960000000000fdffffff0140420f00000000001600148470e04e616ab6552d72e8284a32a293ff8a959b00000000";
const includeWatching = true;
const feeRate = 0.0002;
const replaceable = true;
const changeAddress = "tb1q80h3kvp98fgkz293we3p75hs0aq4cecz3qtgkg";
const wallet = "bitcoin-core-wallet.dat";
const options = { includeWatching, feeRate, replaceable, changeAddress };
const iswitness = true;
const result = await client.fundrawtransaction(
  {
    hexstring,
    options,
    iswitness,
  },
  wallet
);
const txid = "a32ddaed3387a2bc0bb9a4f90bc6e84e5589335b97142848ad144efd38420eb2";
const verbose = true;
const blockhash =
  "00000000480351c0fc7047af37756bbae30996a018e94d9ca8156dccea032018";
const result = await client.getrawtransaction({ txid, verbose, blockhash });
const txs = [
  "cHNidP8BAFICAAAAAdVSFGEYzcJX2qwhy8iJGI1Y/zeIqBQtH/OBC9WJ4mx7AQAAAAD9////AdhHAwAAAAAAFgAUb3CRg7x2R4GIsjJfLuaS6MBDy48BAAAAAAAA",
  "cHNidP8BAFICAAAAAWs2nFCyIbZPRlxerXXu2guE90c1aA2ur+ibcnP9j3X/AAAAAAD9////AaCGAQAAAAAAFgAUtxN9/tGP/jlvvgsWeGCM691FsesBAAAAAAAA",
];
const result = await client.joinpsbts({ txs });
const hexstring =
  "020000000001027f9115bb880cf88190de6e6b4be7515670c2f6e79c367c09ae19eb2def432aa70000000000fdffffff29455878157141ce08642bec7365a88558596a70f9e23cb5d46c719f8611b6960100000000fdffffff0160823b00000000001600148035bc99c1327407ba8faa9592a251042986c81502473044022007a70711f0889028f4cb7fd01d20b1f96bb8a7def745b4394696fe032a4f5de102206b72cbe094466fc4358a2a130b02b539da774c6fa7006a7802feeea6a30c231801210283450124a3ca764e4d321fe9b3a700d5d446ee7343d786a5401c075c79ebdfea0247304402205b214bf05756874901f026ca2f61ac54f414d9681bf44e18bcec09f4a2ec78c80220705d68fff3b9883b63870be41fa08ec3940783c5b2cebe767002a67ffe53d5230121034e2dca4f2656f6f296b716317e5a3907b9753c74aa9f419495ff00b179067ef401000000";
const allowhighfees = true;
const result = await client.sendrawtransaction({ hexstring, allowhighfees });
const hexstring =
  "0200000002d552146118cdc257daac21cbc889188d58ff3788a8142d1ff3810bd589e26c7b0000000000fdffffff6dd6a088fda2de4c1f25912f5c6f53fdafd54abf6557d888af5ceac704a26d050100000000fdffffff0200093d0000000000160014fc8e119e52776678cc05cab6b024eb77cea2f11620cc0400000000001600141ca68ece7a876e66d377c0a1bc5d45251513c20800000000";
const privkeys = ["privkey1", "privkey2"];
const prevtxs = [
  {
    txid: "cc21b8cb612f7b451e4283f08b3fa96ccdc141441697c499366f42514b3bdd15",
    vout: 0,
    scriptPubKey: "00141ca68ece7a876e66d377c0a1bc5d45251513c208",
    amount: 0.001,
  },
];
const sighashtype = "ALL|ANYONECANPAY";
const result = await client.signrawtransactionwithkey({
  hexstring,
  privkeys,
  prevtxs,
  sighashtype,
});
const rawtxs = [
  "020000000001027f9115bb880cf88190de6e6b4be7515670c2f6e79c367c09ae19eb2def432aa70000000000fdffffff29455878157141ce08642bec7365a88558596a70f9e23cb5d46c719f8611b6960100000000fdffffff0160823b00000000001600148035bc99c1327407ba8faa9592a251042986c81502473044022007a70711f0889028f4cb7fd01d20b1f96bb8a7def745b4394696fe032a4f5de102206b72cbe094466fc4358a2a130b02b539da774c6fa7006a7802feeea6a30c231801210283450124a3ca764e4d321fe9b3a700d5d446ee7343d786a5401c075c79ebdfea0247304402205b214bf05756874901f026ca2f61ac54f414d9681bf44e18bcec09f4a2ec78c80220705d68fff3b9883b63870be41fa08ec3940783c5b2cebe767002a67ffe53d5230121034e2dca4f2656f6f296b716317e5a3907b9753c74aa9f419495ff00b179067ef401000000",
];
const allowhighfees = true;
const result = await client.testmempoolaccept({ rawtxs, allowhighfees });
const psbt =
  "cHNidP8BAHsCAAAAAn+RFbuIDPiBkN5ua0vnUVZwwvbnnDZ8Ca4Z6y3vQyqnAAAAAAD9////KUVYeBVxQc4IZCvsc2WohVhZanD54jy11Gxxn4YRtpYBAAAAAP3///8BYII7AAAAAAAWABSANbyZwTJ0B7qPqpWSolEEKYbIFQEAAAAAAQEfIAMAAAAAAAAWABRCHnul3Lf2vUn4GUU9mrnGLnTHsQEIawJHMEQCIAenBxHwiJAo9Mt/0B0gsflruKfe90W0OUaW/gMqT13hAiBrcsvglEZvxDWKKhMLArU52ndMb6cAangC/u6mowwjGAEhAoNFASSjynZOTTIf6bOnANXURu5zQ9eGpUAcB1x569/qAAAA";
const result = await client.utxoupdatepsbt({ psbt });

Util

const nrequired = 2;
const keys = [
  "03789ed0bb717d88f7d321a368d905e7430207ebbd82bd342cf11ae157a7ace5fd",
  "03dbc6764b8884a92e871274b87583e6d5c2a58819473e17e107ef3f6aa5a61626",
];
const address_type = "bech32";
const result = await client.createmultisig({ nrequired, keys, address_type });
const descriptor =
  "wpkh([d34db33f/84'/0'/0']tpubD6NzVbkrYhZ4YTN7usjEzYmfu4JKqnfp9RCbDmdKH78vTyuwgQat8vRw5cX1YaZZvFfQrkHrM2XsyfA8cZE1thA3guTBfTkKqbhCDpcKFLG/0/*)#8gfuh6ex";
const range = [0, 2];
const result = await client.deriveaddresses({ descriptor, range });
const conf_target = 2;
const estimate_mode = "ECONOMICAL";
const result = await client.estimatesmartfee({ conf_target, estimate_mode });
const descriptor =
  "wpkh([d34db33f/84h/0h/0h]0279be667ef9dcbbac55a06295Ce870b07029Bfcdb2dce28d959f2815b16f81798)";
const result = await client.getdescriptorinfo({ descriptor });
const privkey = "yourPrivateKey";
const message = "Hello World";
const result = await client.signmessagewithprivkey({ privkey, message });
const address = "1HLoD9E4SDFFPDiYfNYnkBLQ85Y51J3Zb1";
const result = await client.validateaddress({ address });
const address = "myv3xs1BBBhaDVU62LFNBho2zSp4KLBkgK";
const message = "Hello World";
const signature =
  "H14/QyrMj8e63GyEXBDDWnWrplXK3OORnMc3B+fEOOisbNFEAQuNB9myAH9qs7h1VNJb1xq1ytPQqiLcmSwwPv8=";
const result = await client.verifymessage({ address, message, signature });

Wallet

const txid = "d1514757030c26d54e90b242c696f46f539bb55e92fb105505d9ee43e61657a9";
const wallet = "bitcoin-core-wallet.dat";
const result = await client.abandontransaction({ txid }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const result = await client.abortrescan(wallet);
const wallet = "bitcoin-core-wallet.dat";
const nrequired = 2;
const keys = [
  "030b0f444121f91cf323ad599ee8ced39dcbb136905e8ac42f9bdb4756142c716f",
  "02ea2e2847de9386b704cacb5c730c272c4f3e7b14a586ca6122cdacff5dea59e9",
];
const label = "NewMultiSigAddress";
const address_type = "bech32";
const result = await client.addmultisigaddress(
  { nrequired, keys, label, address_type },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const destination = "D:/Crypto/wallets/myWalletBackup.dat";
const result = await client.backupwallet({ destination }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const txid = "txid";
const totalFee = 0.00000839;
const replaceable = true;
const estimate_mode = "CONSERVATIVE";
const options = { totalFee, replaceable, estimate_mode };
const result = await client.bumpfee({ txid, options }, wallet);
const wallet_name = "bitcoin-core-wallet.dat";
const disable_private_keys = true;
const blank = true;
const result = await client.createwallet({
  wallet_name,
  disable_private_keys,
  blank,
});
const wallet = "bitcoin-core-wallet.dat";
const address = "tb1qkdvjgyk7y5fmekzs2sk6zep4rdcl7yell9drxm";
const result = await client.dumpprivkey({ address }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const filename = "myWalletDump.dat";
const result = await client.dumpwallet({ filename }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const passphrase = "VerySecretPassphraseDoNotTellAnyone";
const result = await client.encryptwallet({ passphrase }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const label = "SomeLabel";
const result = await client.getaddressesbylabel({ label }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const address = "tb1qds5qv262690uvsh6wytp0aq8xey29jfuegv4pj";
const result = await client.getaddressinfo({ address }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const minconf = 6;
const include_watchonly = true;
const result = await client.getbalance({ minconf, include_watchonly }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const result = await client.getbalances(wallet);
const wallet = "bitcoin-core-wallet.dat";
const label = "SomeLabel";
const address_type = "bech32";
const result = await client.getnewaddress({ label, address_type }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const address_type = "bech32";
const result = await client.getrawchangeaddress({ address_type }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const address =
  "tb1qg9nfs5ll5h3xl3h8xqhw8wg4sj6j6g6666cstmeg7v2q4ty0ccsqg5du3n";
const minconf = 6;
const result = await client.getreceivedbyaddress({ address, minconf }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const label = "SomeLabel";
const minconf = 6;
const result = await client.getreceivedbylabel({ label, minconf }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const txid = "2c06449191f86594ceb059363da55e6587963fc8d801fdecf73f9a42d64dfe95";
const include_watchonly = true;
const result = await client.gettransaction({ txid, include_watchonly }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const result = await client.getunconfirmedbalance(wallet);
const wallet = "bitcoin-core-wallet.dat";
const result = await client.getwalletinfo(wallet);
const wallet = "bitcoin-core-wallet.dat";
const address = "tb1qk57dcv7rs2ap6k82xu58957qz6zherj4vm54lw";
const label = "ImportedAddress";
const rescan = false;
const p2sh = false;
const result = await client.importaddress(
  { address, label, rescan, p2sh },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const requests = [
  {
    desc:
      "wpkh(tpubD6NzVbkrYhZ4Wk5MMULiQd4XkBe3KeG6GCUNrWcXu27PJwqFfHF7geuTPfPZcViUpV7ny6MHVnbvxdCSfkooFb7bBJiQgKXCVM58XZiVyHu/0/*)#9tk43hcd",
    range: [2, 5],
    internal: true,
    watchonly: true,
    timestamp: 0,
  },
  {
    scriptPubKey: { address: "tb1q0pjl9cy0t38uvyfs75t7av7ujrhs65xx0nfjmf" },
    timestamp: "now",
  },
  {
    scriptPubKey: { address: "tb1qxqt28qy3uvj8qeucm60dnrzty3cccx88hp9car" },
    keys: ["cQfkAynVm54Je8mXYH6zkKKjug7ehheUeMx5jnWTvy94M73X2Vdj"],
    timestamp: "now",
  },
];
const options = { rescan: false };
const result = await client.importmulti({ requests, options }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const privkey = "cQnahvawMKvZXLWCdrBvXdvDoTHm4xeQq9iWqLC2JzmicFVd5Mdz";
const label = "Imported";
const rescan = false;
const result = await client.importprivkey({ privkey, label, rescan }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const rawtransaction =
  "0200000000010422647b4fc186385b15a01cc6cd6d7864399b4ff536f370f86ecc5e2f4281d7d50000000017160014013b2e1e130cd463f3be9fce311cfbf6f862d224fdffffffc61430e9a56a5ebba761828078c9a5f03571da6fbf40f4f87f7d72cbcbaf6f5e0000000000fdffffffe399e3ebf69237d36ba6f5d7ccb8f2d79923e19733fb4b7fc58f11b789f89653000000006a47304402204ea849bac52e0f76b7df9b196cad692cc8e253778c999d67627f2a9c487067e00220245e9446863037949dac77cb34f532376749507e6d499418fe51144c6e950725012103bb1add1e1e6093caa59f127ff3d477f8ac210f2ca1f8c81ff8c1602d9a5bacd0fdffffffd37c62273bfaeffee551ccaa1e06a6daa1e9d32248798821e33c6623ea17b9910000000000fdffffff022785400000000000160014740535b933895ac1caf3ba92976993f7fd9d2e99a086010000000000160014000243d945554d568a6858f5f243d9510258d75c0247304402207400692ba5ecfeda204468905b138c0f7e6cf2d02be119094864db1c48c21f7c022008ccad54fb2cdc107a96c8a56b3e80867e4cfa8c904e9a78f27f10fc8071fb430121026c9b6d74350725506d14613cabade7f447fb67eb416c8ef34323da77f7299c2302473044022024d43ee736fe458b739f32866c35a6dfe7ca352acd7b76a25472c4a8246a5ead022073db04ee5a894a6eb949ab56046416fd5090f44f65fe3a6ab68b4a5b540bb6b20121028ff8402568eea88e93d30b4b2e6c7125bdb894cbf27c87a2101e35e0b1f5ff2e000247304402205e9b129b0a0c2c0fb458c1f397d462fd4db46cf7fffd19dc9189e421f1f61fac0220424e8cbfa9a01160033cae4955bc44c6f958d3afc7ccc67aef0a23c5f95bf37e012102228f0d709aacaa24fb4712c8fca4b10c9f4cfb60dcaa4d34b58660080a8bd8435e1e1800";
const txoutproof =
  "000040205853c9a97816b63b9bb539f7b4cfb8c8a36ee0d9b6e1c59df102000000000000ab93331e4cae84da202131b6418e61e30095a81108edb09376ad7d02768d72c348ff9a5d74c4031a712e7b5614000000040cce7e642af08fd68ddcf0b7630ad88c4110c91fcdb7f792f6253bef56181bf201d52b2f5696dd23973b09dd34c2447aadeeb31ada2ff4b1d88d238c8cb2081a0a6331dd8ded7863f79cd3574812d032d5bc7c96df137ddb0d3b794ac2a26f199b66a00a8b8376f3bd0b1c7f9827b403242976d1dc16ed8bc6ec7e11c1f028bf02dd00";
const result = await client.importprunedfunds(
  { rawtransaction, txoutproof },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const pubkey =
  "023ef8f5fa2a18c07d714d942e4aa933827df7d5fba43a513be22581fc0ce83207";
const label = "SomeAddress";
const rescan = false;
const result = await client.importpubkey({ pubkey, label, rescan }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const filename = "myWalletDump.dat";
const result = await client.importwallet({ filename }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const newsize = 123;
const result = await client.keypoolrefill({ newsize }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const result = await client.listaddressgroupings(wallet);
const wallet = "bitcoin-core-wallet.dat";
const purpose = "receive";
const result = await client.listlabels({ purpose }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const result = await client.listlockunspent(wallet);
const wallet = "bitcoin-core-wallet.dat";
const minconf = 6;
const include_empty = false;
const include_watchonly = false;
const address_filter = "tb1qyferlkpvr7v3r5ne7jh2avjuvnxkf08lqhpqe9";
const result = await client.listreceivedbyaddress(
  { minconf, include_empty, include_watchonly, address_filter },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const minconf = 6;
const include_empty = true;
const include_watchonly = true;
const result = await client.listreceivedbylabel(
  { minconf, include_empty, include_watchonly },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const blockhash =
  "00000000001ad9877c5a839c65371a18e1392a2be83378915e01342a368caaef";
const target_confirmations = 6;
const include_watchonly = true;
const include_removed = false;
const result = await client.listsinceblock(
  { blockhash, target_confirmations, include_watchonly, include_removed },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const label = "SomeLabel";
const count = 5;
const skip = 4;
const include_watchonly = true;
const result = await client.listtransactions(
  { label, count, skip, include_watchonly },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const minconf = 1;
const maxconf = 100;
const addresses = [
  "tb1qg9nfs5ll5h3xl3h8xqhw8wg4sj6j6g6666cstmeg7v2q4ty0ccsqg5du3n",
  "tb1q8vd7hh77afe2aans7vywyt8txvz84r3pwkmny4",
];
const include_unsafe = false;
const query_options = {
  minimumAmount: 0.0001,
  maximumAmount: 0.01,
  maximumCount: 2,
  minimumSumAmount: 10,
};
const result = await client.listunspent(
  { minconf, maxconf, addresses, include_unsafe, query_options },
  wallet
);
const result = await client.listwalletdir();
const result = await client.listwallets();
const filename = "myWallet.dat";
const result = await client.loadwallet({ filename });
const wallet = "bitcoin-core-wallet.dat";
const unlock = true;
const transactions = [
  {
    txid: "7b6ce289d50b81f31f2d14a88837ff588d1889c8cb21acda57c2cd18611452d5",
    vout: 1,
  },
  {
    txid: "3e128c38f35520d4121d582f15998b7f74b44f17aa650b4d60decf975e642b9a",
    vout: 0,
  },
];
const result = await client.lockunspent({ unlock, transactions }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const txid = "196fa2c24a793b0ddb7d13df967cbcd532d0124857d39cf76378ed8ddd31630a";
const result = await client.removeprunedfunds({ txid }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const start_height = 1566870;
const stop_height = 1566970;
const result = await client.rescanblockchain(
  { start_height, stop_height },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const amounts = {
  tb1qh4v0nuuglwfvzjhhjwn2mm8xa5n9mmg6azq237: 0.00002,
  tb1qm0m54hj4hmgw4ncufh7g6gx8lp7294rgjr8vz3: "0.00003",
};
const minconf = 6;
const comment = "SomeComment";
const subtractfeefrom = ["tb1qh4v0nuuglwfvzjhhjwn2mm8xa5n9mmg6azq237"];
const replaceable = true;
const conf_target = 20;
const estimate_mode = "ECONOMICAL";
const result = await client.sendmany(
  {
    amounts,
    minconf,
    comment,
    subtractfeefrom,
    replaceable,
    conf_target,
    estimate_mode,
  },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const address = "tb1qzvfvg6hfyf9kuzhmr2prtrnmxeqrt2pgapv89f";
const amount = 0.0001;
const comment = "SomePayment";
const comment_to = "Someone";
const subtractfeefromamount = true;
const replaceable = true;
const conf_target = 20;
const estimate_mode = "CONSERVATIVE";
const result = await client.sendtoaddress(
  {
    address,
    amount,
    comment,
    comment_to,
    subtractfeefromamount,
    replaceable,
    conf_target,
    estimate_mode,
  },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const newkeypool = true;
const seed = "cUFvQRAsGvyTVBPX5vowrghWmYXTvNw7nQvkKPtiACsdzRKWZM2P";
const result = await client.sethdseed({ newkeypool, seed }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const address = "tb1qcay50erzz8gaagge3jqeau0m8yav0kjgy8sxkp";
const label = "SomeLabel";
const result = await client.setlabel({ address, label }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const amount = 0.00002;
const result = await client.settxfee({ amount }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const flag = "avoid_reuse";
const value = false;
const result = await client.setwalletflag({ flag, value }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const address = "muQN4LGGwtD9bqPeCexKGpksvygnRAnTA3";
const message = "Hello World!";
const result = await client.signmessage({ address, message }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const hexstring =
  "02000000011e6de9ecf189d7101655489338d8b6437366a2694f3536080507143b06073c7a0000000000fdffffff0118a66900000000001600141b5eaac3aca51241ffa5a10cfd85b38c0035e7b100000000";
const prevtxs = [
  {
    txid: "7a3c07063b1407050836354f69a2667343b6d8389348551610d789f1ece96d1e",
    vout: 0,
    scriptPubKey: "0014c92776d7c9e5c7d74f9c8093335de1928862e8ac",
    amount: 0.06924013,
  },
];
const sighashtype = "ALL|ANYONECANPAY";
const result = await client.signrawtransactionwithwallet(
  { hexstring, prevtxs, sighashtype },
  wallet
);
const wallet_name = "bitcoin-core-wallet.dat";
const result = await client.unloadwallet({ wallet_name });
const wallet = "bitcoin-core-wallet.dat";
const inputs = [
  {
    txid: "5396f889b7118fc57f4bfb3397e12399d7f2b8ccd7f5a66bd33792f6ebe399e3",
    vout: 0,
  },
];
const outputs = [
  {
    tb1qu7jphg0km5mrl7kx8txy3xuky9tlpvmxmehz8m: 0.001466,
  },
];
const locktime = 1;
const options = {
  changeAddress: "tb1qc0vz2vryuadyvcux09pswnl7ng2r9fzzd3cwnf",
  changePosition: 1,
  includeWatching: false,
  lockUnspents: false,
  subtractFeeFromOutputs: [],
  replaceable: true,
  conf_target: 20,
  estimate_mode: "ECONOMICAL",
};
const bip32derivs = true;
const result = await client.walletcreatefundedpsbt(
  { inputs, outputs, locktime, options, bip32derivs },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const result = await client.walletlock(wallet);
const wallet = "bitcoin-core-wallet.dat";
const passphrase = "VerySecretPassphraseDoNotTellAnyone";
const timeout = 600;
const result = await client.walletpassphrase({ passphrase, timeout }, wallet);
const wallet = "bitcoin-core-wallet.dat";
const oldpassphrase = "SecretPassphraseDoNotTellAnyone";
const newpassphrase = "VerySecretPassphraseDoNotTellAnyone";
const result = await client.walletpassphrasechange(
  { oldpassphrase, newpassphrase },
  wallet
);
const wallet = "bitcoin-core-wallet.dat";
const psbt =
  "cHNidP8BAFICAAAAAesycXqP/ZnHQ42fCokY4ws3HyKokiDXfsosfWt2t83wAAAAAAD9////ASBFQAAAAAAAFgAUYN55MzrCRphAffpgyBh5daiXrAcBAAAAAAAA";
const sign = true;
const sighashtype = "ALL|ANYONECANPAY";
const bip32derivs = true;
const result = await client.walletprocesspsbt(
  { psbt, sign, sighashtype, bip32derivs },
  wallet
);

ZMQ

const result = await client.getzmqnotifications();
const { RESTClient } = require("rpc-bitcoin");
const url = "http://192.168.0.101";
const port = 17230;
const timeout = 20000;
const restClient = new RESTClient({ url, port, timeout });
const hash = "00000000099de420b319c7804c4bfee5357d3f5ddbfd3c71c15b3625347792bf";
const format = "hex";
await restClient.getBlock({ hash, format });
const hash = "00000000099de420b319c7804c4bfee5357d3f5ddbfd3c71c15b3625347792bf";
const format = "hex";
await restClient.getBlockNoTxDetails({ hash, format });
const height = 1;
const format = "hex";
await restClient.getBlockHashByHeight({ height, format });
await restClient.getChainInfo();
const checkmempool = true;
const outpoints = [
  {
    txid: "e346be6c1ef4d24f3a26ea8e1b45a2645d339fbee9da8b9dc03aeef1c4179716",
    n: 0,
  },
  {
    txid: "e346be6c1ef4d24f3a26ea8e1b45a2645d339fbee9da8b9dc03aeef1c4179716",
    n: 1,
  },
];
const format = "hex";
await restClient.getUtxos({ checkmempool, outpoints, format });
const count = 5;
const hash = "00000000000001f0be142e57e99d3528212e1204157209c6c10bd11326cc5b35";
const format = "hex";
await restClient.getHeaders({ count, hash, format });
await restClient.getMemPoolContents();
await restClient.getMemPoolInfo();
const txid = "93520a51cc6c694e79913f1daf0288cb10e0d7946723c06b4e7b6c2e5b057933";
const format = "hex";
await restClient.getTx({ txid, format });

rpc-bitcoin's People

Contributors

dependabot[bot] avatar snyk-bot avatar vansergen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

rpc-bitcoin's Issues

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet.
We recommend using:

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.