Plugins for edge-core-js, handling many networks not derived from Bitcoin.
These are compatible with edge-core-js v0.21.2 or later.
First, add this library to your project:
npm i -s edge-currency-accountbased
For Node.js, you should call addEdgeCorePlugins
to register these plugins with edge-core-js:
const { addEdgeCorePlugins, lockEdgeCorePlugins } = require('edge-core-js')
const plugins = require('edge-currency-accountbased')
addEdgeCorePlugins(plugins)
// Once you are done adding plugins, call this:
lockEdgeCorePlugins()
You can also add plugins individually if you want to be more picky:
addEdgeCorePlugins({
ethereum: plugins.ethereum
})
The bundle located in dist/edge-currency-accountbased.js
will automatically register itself with edge-core-js. Just serve the entire dist
directory along with your app, and then load the script:
<script src='https://example.com/app/dist/edge-currency-accountbased.js'>
If you want to debug this project, run yarn start
to start a Webpack server,
and then adjust your script URL to http://localhost:8082/edge-currency-accountbased.js.
In addition to installing edge-currency-accountbased
, you must also install
Zcash and Pirate Chain React Native libraries as peer dependencies
Follow the instructions in the Zcash React Native and Pirate Chain React Native packages to install the required native dependencies.
The edge-currency-accountbased
package will automatically install itself using React Native autolinking.
To integrate the plugins with edge-core-js, add its URI to the context component:
import { pluginUri, makePluginIo } from 'edge-currency-accountbased'
<MakeEdgeContext
nativeIo={{
'edge-currency-accountbased': makePluginIo()
}}
pluginUris={[pluginUri]}
// Plus other props as required...
/>
To debug this project, run yarn start
to start a Webpack server, and then use debugUri
instead of pluginUri
.
You'll need to install Yarn 1.3.2 globally on your machine
To set up this project, just do:
git clone [email protected]:EdgeApp/edge-currency-accountbased.git`
cd edge-currency-accountbased
yarn
yarn prepare
Run yarn test
to run the unit tests.
To test your changes in the full Edge wallet app, run yarn start
to start a web server, and then set DEBUG_ACCOUNTBASED
in your env.json to use the web server instead of the bundled library.
You can also do updot edge-currency-accountbased
from within edge-react-gui
to copy your edits in to node_modules
. Re-build and re-launch the app to use the updated plugins.
Please note that our team considers (but does not guarantee) PR's to add new currencies / blockchains to this repo's master branch (included into production version of Edge Wallet). Among other requirements the code must satisfy the following guidelines:
- Rebase of your branch upon this repo's
master
branch. For more info: https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request
Plugins take their names from the network, not the currency. For instance, the "ripple" plugin supports the Ripple network. There are many currencies on the Ripple network, including XRP, tokens, and bank-backed currencies, so naming the Ripple plugin "xrp" would be too narrow.
The same principle applies to all the plugins in this repository, with a few unfortunate exceptions.
BSD 3