edge-currency-bitcoin
edge-currency-bitcoin copied to clipboard
Implements Bitcoin support following the Edge currency plugin API
Edge Bitcoin Currency Plugin
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