This is a implementation of Rings Extension, which support login rings network with metamask and other wallets.
- Nodejs >= v16.13.0
- pnpm >= v8
src- main source.contentScript- scripts and components to be injected ascontent_scriptbackground- scripts for background.components- auto-imported React components that shared in popup and options page.styles- styles shared in popup and options pagemanifest.ts- manifest for the extension.
extension- extension package root.assets- static assets.dist- built files, also serve stub entry for Vite on development.
scripts- development and bundling helper scripts.
pnpm devThen load extension in browser with the extension/ folder.
For Firefox developers, you can run the following command instead:
pnpm start:firefoxweb-ext auto reload the extension when extension/ files changed.
While Vite handles HMR automatically in the most of the case, Extensions Reloader is still recommanded for cleaner hard reloading.
In released version, dependencity of rings-node is included via released tgz file, such as:
"@ringsnetwork/rings-node": "https://github.com/RingsNetwork/rings-node/releases/download/v0.3.5/rings-v0.3.5-wasm32-unknown-unknown.tgz",if you wanna modifiy node's implementation at same time, you can modifiy rings-node dependencies in package.json to local git path, like:
"@ringsnetwork/rings-node": "git+file:../rings-node#master",Note: this local git syntax is only supported by yarn.
To build the extension, run
pnpm buildAnd then pack files under extension, you can upload extension.crx or extension.xpi to appropriate extension store.
To load the extension from source:
- Chrome:
https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked
- Firefox
In Firefox: Open the about:debugging page, click the This Firefox option, click the Load Temporary Add-on button, then select any file in your extension's directory.
ref: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension

