Skip to content

Zond Wallet, A browser extension, for creating accounts, signing transactions and sending transactions over the zond blockchain.

License

Notifications You must be signed in to change notification settings

theQRL/zond-web3-wallet

Repository files navigation

Zond Web3 Wallet Preview Cover

Zond Web3 Wallet

A wallet for creating accounts, importing accounts and sending transactions over the zond blockchain. This is an extension for web browsers(like Google Chrome), for performing operations on the Zond blockchain.

⌨️ Build and run locally

  • Run git clone https://github.com/theQRL/zond-web3-wallet.git for cloning this repo to your machine.
  • Run npm install for installing all dependencies of this project.
  • Run npm run build to generate a production build of the extension to the Extension folder.
  • The production build output folder is named Extension (not dist) and this folder alone is enough to run the extension.
  • Load the Extension folder as an extension package from the settings page of the browser.
  • See install_instructions.pdf for further details.

🧬 Features list

Feature Description Related files Status
Extension manifest Browser extensions should always have this file in the project root directory, inorder to be considered an extension. Manifest file can be found at the root level of project, and will be copied to the output Extension directory during build. manifest.json 🟢
Theming Based on the system theme, extension will be displayed in light or dark theme. index.css tailwind.config.js 🟢
Blockchain selection The user can connect the wallet to a local zond node, zond testnet or zond mainnet. Mainnet can be used for real transactions, and the other two can be used for testing and demo. ConnectionBadge.tsx 🟢
Create account The user can create a new account just with the click of a button. The newly created account address along with its secret recovery phrases will be presented to the user for download. CreateAccount.tsx 🟢
Import account If the user has recovery phrases of an account created in the past, that account can be imported to the wallet. ImportAccount.tsx 🟢
Account list List of accounts created or imported are stored locally, and displayed to the user. The user can switch to a different account in the wallet. AccountList.tsx 🟢
User Password Ideally, the user entered password should be used to encrypt the account recovery phrases, so that the user can use their password for transactions each time. This needs to be first implemented in the zond web3.js library. AccountUnlock.tsx 🔴
Transaction The user can send ZND to other addresses. The receiver's account address, the amount and the user's secret mnemonic phrases(user's password will be used in the future) are required to make the transaction. TokenTransfer.tsx 🟢
Gas Fee Before making a transaction, the user can see an estimated gas fee amount. GasFeeNotice.tsx 🟢
Wallet connect Online dapps presents the user with a Connect button. To connect the wallet with the dapps, multiwallet support based on EIP-6963 is implemented. DAppRequest.tsx middlewares inPageScript.ts 🟢
ZRC-20 Tokens The wallet supports ZRC-20 tokens. The users can import and send the ZRC-20 tokens from the wallet. ImportToken.tsx TokensCardContent.tsx 🟢

🛠️ Built with

The QRL, Vite, React, Typescript, Jest, MobX, Shadcn, React hook form, TailwindCSS

About

Zond Wallet, A browser extension, for creating accounts, signing transactions and sending transactions over the zond blockchain.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages