{"id":18245001,"url":"https://github.com/edgeapp/edge-currency-accountbased","last_synced_at":"2025-04-05T13:02:12.380Z","repository":{"id":37692491,"uuid":"149372352","full_name":"EdgeApp/edge-currency-accountbased","owner":"EdgeApp","description":"Currency plugins for accounts based blockchains such as Ethereum, Xrp, and EOS","archived":false,"fork":false,"pushed_at":"2024-10-29T19:59:08.000Z","size":40699,"stargazers_count":17,"open_issues_count":32,"forks_count":36,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-10-29T21:45:50.931Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EdgeApp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-19T01:10:00.000Z","updated_at":"2024-10-29T19:59:12.000Z","dependencies_parsed_at":"2023-10-23T22:22:36.199Z","dependency_job_id":"3bbe590f-41c1-42f4-b816-a655feee3ef2","html_url":"https://github.com/EdgeApp/edge-currency-accountbased","commit_stats":{"total_commits":1737,"total_committers":34,"mean_commits":"51.088235294117645","dds":0.6119746689694876,"last_synced_commit":"7cad0940f21a309f43740dd2e045a3316e5065fc"},"previous_names":[],"tags_count":431,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdgeApp%2Fedge-currency-accountbased","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdgeApp%2Fedge-currency-accountbased/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdgeApp%2Fedge-currency-accountbased/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdgeApp%2Fedge-currency-accountbased/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EdgeApp","download_url":"https://codeload.github.com/EdgeApp/edge-currency-accountbased/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247339147,"owners_count":20923013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T09:18:34.630Z","updated_at":"2025-04-05T13:02:12.340Z","avatar_url":"https://github.com/EdgeApp.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Edge Currency Plugin for Account-Based currencies\n\n[![Build Status](https://app.travis-ci.com/EdgeApp/edge-currency-accountbased.svg?branch=master)](https://app.travis-ci.com/EdgeApp/edge-currency-accountbased)\n\nPlugins for [edge-core-js](https://github.com/EdgeApp/edge-core-js), handling many networks not derived from Bitcoin.\n\nThese are compatible with edge-core-js v0.21.2 or later.\n\n## Installing\n\nFirst, add this library to your project:\n\n```sh\nnpm i -s edge-currency-accountbased\n```\n\n### Node.js\n\nFor Node.js, you should call `addEdgeCorePlugins` to register these plugins with edge-core-js:\n\n```js\nconst { addEdgeCorePlugins, lockEdgeCorePlugins } = require('edge-core-js')\nconst plugins = require('edge-currency-accountbased')\n\naddEdgeCorePlugins(plugins)\n\n// Once you are done adding plugins, call this:\nlockEdgeCorePlugins()\n```\n\nYou can also add plugins individually if you want to be more picky:\n\n```js\naddEdgeCorePlugins({\n  ethereum: plugins.ethereum\n})\n```\n\n### Browser\n\nThe 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:\n\n```html\n\u003cscript src='https://example.com/app/dist/edge-currency-accountbased.js'\u003e\n```\n\nIf you want to debug this project, run `yarn start` to start a Webpack server,\nand then adjust your script URL to http://localhost:8082/edge-currency-accountbased.js.\n\n### React Native\n\nThe `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:\n\n```jsx\nimport { pluginUri, makePluginIo } from 'edge-currency-accountbased/rn'\n\n\u003cMakeEdgeContext\n  nativeIo={{\n    'edge-currency-accountbased': makePluginIo()\n  }}\n  pluginUris={[pluginUri]}\n  // Plus other props as required...\n/\u003e\n```\n\nTo debug this project, run `yarn start` to start a Webpack server, and then use `debugUri` instead of `pluginUri`.\n\nNotice the `/rn` suffix on the `import` statement. If you leave this off (which is deprecated), react-native-piratechain and react-native-zcash will both be mandatory, and the instructions below won't apply.\n\n#### Zcash / Piratechain\n\nThese chains only work on React Native. To use them, first install the following packages using the instructions in their repos:\n\n- [react-native-piratechain](https://www.npmjs.com/package/react-native-piratechain)\n- [react-native-zcash](https://www.npmjs.com/package/react-native-zcash)\n\nThen, add the correct IO objects to the core:\n\n```jsx\nimport { pluginUri, makePluginIo } from 'edge-currency-accountbased/rn'\nimport { makePiratechainIo } from 'edge-currency-accountbased/rn-piratechain'\nimport { makeZcashIo } from 'edge-currency-accountbased/rn-zcash'\n\n\u003cMakeEdgeContext\n  nativeIo={{\n    'edge-currency-accountbased': makePluginIo()\n    piratechain: makePiratechainIo(),\n    zcash: makeZcashIo(),\n  }}\n  pluginUris={[pluginUri]}\n  // Plus other props as required...\n/\u003e\n```\n\n## Contributing\n\nYou'll need to install Yarn 1.3.2 globally on your machine\n\nTo set up this project, just do:\n\n```sh\ngit clone git@github.com:EdgeApp/edge-currency-accountbased.git`\ncd edge-currency-accountbased\nyarn\nyarn prepare\n```\n\nRun `yarn test` to run the unit tests.\n\nTo 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.\n\nYou 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.\n\n## Adding a New Blockchain / Currency\n\nPlease 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:\n\n- Rebase of your branch upon this repo's `master` branch. For more info:\n  https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request\n\n### Naming Convention\n\nPlugins 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.\n\nThe same principle applies to all the plugins in this repository, with a few unfortunate exceptions.\n\n## License\n\nBSD 3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgeapp%2Fedge-currency-accountbased","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedgeapp%2Fedge-currency-accountbased","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgeapp%2Fedge-currency-accountbased/lists"}