New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

bitcore-wallet-client

Package Overview
Dependencies
Maintainers
2
Versions
282
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bitcore-wallet-client

Client for bitcore-wallet-service

  • 0.0.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
463
decreased by-35.61%
Maintainers
2
Weekly downloads
 
Created
Source

bitcore-wallet-client

NPM Package Build Status Coverage Status

The official client library for [bitcore-wallet-service] (https://github.com/bitpay/bitcore-wallet-service).

Description

This package communicated to BWS Bitcore wallet service using its REST API. All REST endpoints are wrapped on simple async call. All relevant responses from BWS are checked independently by the peers, thus the importance of using this library with talking with a third party BWS instance.

See [Bitcore-wallet] (https://github.com/bitpay/bitcore-wallet) for a simple CLI wallet implementation that relays on BWS and uses bitcore-wallet-client.

Get Started

To get going with bitcore-wallet-client you can use one of the following ways:

  • via Bower: by running bower install bitcore-wallet-client from your console
  • or via NPM: by running npm install bitcore-wallet-client from your console.

Example

Start your own local Bitcore wallet service instance. In this example we suppose that you have bitcore-wallet-service running on your localhost:3001.

Then create two files one.js and two.js with the follow contents:

one.js

var Client = require('bitcore-wallet-client');
var fs = require('fs');
var BWS_INSTANCE_URL = 'http://localhost:3001/copay/api'
var WALLET = 'oneWallet.dat';

var client = new Client({
  baseUrl: BWS_INSTANCE_URL,
  verbose: false,
});

client.createWallet("My Wallet", "Irene", 2, 2, 'testnet', function(err, secret) {
  // Handle err
  console.log(' Wallet Created. Share this secret with your copayers: ' + secret);
  fs.writeFileSync(WALLET, client.export());
});

two.js

var Client = require('bitcore-wallet-client');
var fs = require('fs');
var BWS_INSTANCE_URL = 'http://localhost:3001/copay/api'
var WALLET = 'twoWallet.dat';
var secret = process.argv[2];

var client = new Client({
  baseUrl: BWS_INSTANCE_URL,
  verbose: false,
});

client.joinWallet(secret,  "Thomas", function(err, wallet) {
  // Handle err
  console.log('Wallet Joined!');
  fs.writeFileSync(WALLET, client.export());
});

Install bitcore-wallet-client before start:

npm i bitcore-wallet-client

Create a new wallet with the first script:

$ node one.js
info Generating new keys 
 Wallet Created. Share this secret with your copayers: JbTDjtUkvWS4c3mgAtJf4zKyRGzdQzZacfx2S7gRqPLcbeAWaSDEnazFJF6mKbzBvY1ZRwZCbvT

Join to this wallet with generated secret:

$ node two.js JbTDjtUkvWS4c3mgAtJf4zKyRGzdQzZacfx2S7gRqPLcbeAWaSDEnazFJF6mKbzBvY1ZRwZCbvT
Wallet Joined!

Note that the scripts created two files named oneWallet.dat and twoWallet.dat. With these files you can get status, generate addresses, to send transactions, etc.

API Client

###new API(opts) ClientAPI constructor.

Params

  • opts Object

###API.seedFromExtendedPrivateKey(xPrivKey) Seed from extended private key

Params

  • xPrivKey String

###API.seedFromRandom(xPrivKey) Seed from random

Params

  • network String

###API.export(opts) Export wallet

Params

  • opts Object
    • compressed Boolean
    • password String

###API.import(opts) Import wallet

Params

  • opts Object
    • compressed Boolean
    • password String

###API.toString() Return a serialized object with credentials

###API.fromString(str) Get credentials from an object

Params

  • str Object

###API._doRequest(method, url, args, cb) Do a request

Params

  • method Object
  • url String
  • args Object
  • cb Callback

###API._doPostRequest(url, args, cb) Post a request

Params

  • url String
  • args Object
  • cb Callback

###API._doGetRequest(url, cb) Get a request

Params

  • url String
  • cb Callback

###API._doDeleteRequest(url, cb) Delete a request

Params

  • url String
  • cb Callback

###API._doJoinWallet(walletId, walletPrivKey, xPubKey, copayerName, cb) Join

Params

  • walletId String
  • walletPrivKey String
  • xPubKey String
  • copayerName String
  • cb Callback

###API.isComplete() Return if wallet is complete

###API.openWallet(cb) Opens a wallet and tries to complete the public key ring.

Params

  • cb Callback

Returns: Callback - cb - Returns an error and a flag indicating that the wallet has just been completed and needs to be persisted
###API.createWallet(walletName, copayerName, m, n, network, cb) Create a wallet.

Params

  • walletName String
  • copayerName String
  • m Number
  • n Number
  • network String - 'livenet' or 'testnet'
  • cb Callback

Returns: Callback - cb - Returns the wallet
###API.joinWallet(secret, copayerName, cb) Join to an existent wallet

Params

  • secret String
  • copayerName String
  • cb Callback

Returns: Callback - cb - Returns the wallet
###API.getStatus(cb) Get status of the wallet

Params

  • cb Callback

Returns: Callback - cb - Returns error or an object with status information
###API.sendTxProposal(opts) Send a transaction proposal

Params

  • opts Object
    • toAddress String
    • amount Number
    • message String

Returns: Callback - cb - Return error or the transaction proposal
###API.createAddress(cb) Create a new address

Params

  • cb Callback

Returns: Callback - cb - Return error or the address
###API.getMainAddresses(opts, cb) Get your main addresses

Params

  • opts Object
    • doNotVerify Boolean
  • cb Callback

Returns: Callback - cb - Return error or the array of addresses
###API.getBalance(cb) Update wallet balance

Params

  • cb Callback

##API.getTxProposals(opts) Get list of transactions proposals

Params

  • opts Object
    • doNotVerify Boolean
    • forAirGapped Boolean

Returns: Callback - cb - Return error or array of transactions proposals
###API.getSignatures(opts) Get list of transactions proposals

Params

  • opts Object
    • doNotVerify Boolean
    • forAirGapped Boolean

Returns: Callback - cb - Return error or array of transactions proposals
###API.signTxProposal(txp, cb) Sign a transaction proposal

Params

  • txp Object
  • cb Callback

Returns: Callback - cb - Return error or object
###API.rejectTxProposal(txp, reason, cb) Reject a transaction proposal

Params

  • txp Object
  • reason String
  • cb Callback

Returns: Callback - cb - Return error or object
###API.broadcastTxProposal(txp, cb) Broadcast a transaction proposal

Params

  • txp Object
  • cb Callback

Returns: Callback - cb - Return error or object
###API.removeTxProposal(txp, cb) Remove a transaction proposal

Params

  • txp Object
  • cb Callback

Returns: Callback - cb - Return error or empty
###API.getTxHistory(opts, cb) Get transaction history

Params

  • opts Object
  • cb Callback

Returns: Callback - cb - Return error or array of transactions

Keywords

FAQs

Package last updated on 05 Mar 2015

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

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc