Skip to content

EdgeApp/edge-currency-bitcoin

Repository files navigation

Edge Bitcoin Currency Plugin

Build Status NPM version Dependency Status

js-standard-style

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

Installing

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]>,
  earnComFeeInfoServer: String
  mempoolSpaceFeeInfoServer: 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]. earnComFeeInfoServer should be the fee server, should have the same API as https://bitcoinfees.21.co/api/v1/fees/list. mempoolSpaceFeeInfoServer should be the fee server, should have the same API as https://mempool.space/api/v1/fees/recommended.

Contributing

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 [email protected]:Airbitz/edge-currency-bitcoin.git`
cd edge-currency-bitcoin
yarn

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.

License

BSD 3

About

Implements Bitcoin support following the Edge currency plugin API

Resources

License

Stars

Watchers

Forks

Packages

No packages published