Edge Bitcoin currency plugin

npm install edge-currency-bitcoin@4.9.14


Edge Bitcoin Currency Plugin

Build Status NPM version Dependency Status


Implements Bitcoin send/receive functionality per the spec for currency plugins for edge-core-js


npm i edge-currency-bitcoin -s
import { bitcoinCurrencyPluginFactory, bitcoincashCurrencyPluginFactory } from `edge-currency-bitcoin`

Now you can pass bitcoinCurrencyPluginFactory to edge-core-js.

const context = makeEdgeContext({
  apiKey: YOUR_API_KEY,
  plugins: [ bitcoinCurrencyPluginFactory, bitcoincashCurrencyPluginFactory ]

This plugin exposes the following otherSettings which can be set using abcAccount.updateSettings()

  enableOverrideServers: boolean,
  electrumServers: Array<Array[String, String]>,
  feeInfoServer: String

enableOverrideServers = true will force the plugin to ONLY use the electrum servers specified in electrumServers. electrumServers should be in the format [[DNS name], [port]]. ie [h.1209k.com, 50001]. feeInfoServer should be the fee server, should have the same API as https://bitcoinfees.21.co/api/v1/fees/list.


You'll need to install Yarn 1.3.2 globally on your machine

To run a local version of this repo inside the full Edge Wallet app, clone this repo at the same level as edge-react-gui

git clone git@github.com:Airbitz/edge-currency-bitcoin.git`
cd edge-currency-bitcoin

Run npm run test to run the unit tests.

To use the local cloned version of this repo, cd edge-react-gui and run

npm run updot edge-currency-bitcoin
npm run postinstall

This will copy the necessary files from edge-currency-bitcoin into the edge-react-gui/node_modules/edge-currency-bitcoin replacing the npm installed version. This needs to be done after any modifications to edge-currency-bitcoin

All sources are in the JavaScript Standard Style + Prettier. We check files prior to each commit, so if you have formatting issues, you can run npm run format to fix them automatically.

If you use Visual Studio Code, consider installing the prettier-vscode extension. You'll want to enable the prettier.eslintIntegration configuration option for this to work seamlessly with Standard.

If you use Atom, you can use prettier-atom. You'll want to check the "ESLint Integration" setting for this to work seamlessly with Standard.