A browser extension wallet for IronFish blockchain.
There are 4 types wallet for privacy blockchain like IronFish on my side.
- Type1: Cex wallet, fully-custodial wallet.
- Type2: PrivateKey is safely saved locally while viewkey is uploaded to a backend server for better experience. Transactions are signed locally while transaction decryption and utxos-indexing rely on customsized remote server.
- Type3: Both transaction decryption and creation are performed locally while transaction fetching/broadcasting rely on a public remote rpc like metamask.
- Type4: A wallet embedded with a full node, syncs blocks/transactions with P2P network directly.
OreoWallet aims to build an easy-to-use Type2 extension wallet for Ironfish blockchain.
- To build an extension wallet, wasm sdk is needed.
- The sdk should support account creation and transaction creation to support type2 wallet.
- The sdk should support all wallet functionalities to support type3/type4 wallet.
- Account creation, import, export (compatible with current Iron Fish wallet).
- Support IRON native token transfer.
- Support user created asset transfer.
- Support native mint/burn transaction.
- Support Orescriptions NFT display and transfer.
- Transaction decryption locally.
- A fully no-custodial type3 wallet.
- Prover, transaction proof generation
- DecryptionWorker, transaction decryption
- Encryption mechanism, design a mechanism to encrypt messages between server and user
- 3 articles about Ironfish and OreoWallet
- 3 activities with IFLabs to get more users
- 5k OreoWallet users
- 100k IRON in OreoWallet
- Privay wallet on routing level and transaction level.
- Local merkle tree storage optimization if we can.
- Transaction decryption/creation optimization with webgpu if we can.
- Support bridges if we have in Ironfish.
- Continuous version iterative development.
- Ongoing maintenance updates with long term support.
Feature | Status |
---|---|
Account creation/import | ✅ |
IRON native token | ✅ |
User created asset | ✅ |
Orescriptions NFT | ✅ |
Dapp provider | ✅ |
Local data provider | ✅ |
Local prover | ✅ |
Privacy on routing layer | ✅ |
Quick scan | ✅ |
... | ... |
There is a README in each package, as well as comments in the source code.
oreowallet ├── oreowallet-extension: OreoWallet frontend ui ├── ironfish-optimize: Optimized version of ironfish-rust for wasm env ├── ironfish-wasm: Core wasm sdk of OreoWallet ├── server: Backend for necessary api service and task scheduling ├── prover: Prover to genereate proof for OreoWallet transactions
Check out provider.md for details on how to integrate OreoWallet into your dapps.
If you find a bug or have a feature request, please open an issue.
Check out CONTRIBUTING.md for details on how to contribute.
Reach out to the community on Twitter to get help.