Magical Internet Money
Status: Work In Progress
Magical Internet Money is here to help manage your crypto assets.
Features
- Multiple addresses
- EVM chain crypto assets:
- ETH and ERC-20 Fungible Tokens
- ERC-721 and ERC-1155 Non-Fungible Tokens
- ENS Names (ERC-721 and ERC-1155)
- Stealth Transfers of ETH, ERC-20 and ERC-721 tokens (testing on Sepolia Testnet)
- All data is stored in your local browser storage
- Execute simply from GitHub Pages
- No additional backend servers required
- On-chain data is used where possible, supplemented with public data sources
- Source code can be downloaded and run using e.g. anywhere in the
./docs
folder
Requirements
- Web3 browser, connected to Ethereum Mainnet or the Sepolia Testnet currently
URL
https://bokkypoobah.github.io/MagicalInternetMoney/
Notes
This project is currently heavily under development. Clear your browser's LocalStorage and IndexedDB if this dapp is not operating as expected as the configuration data may have a new format.
References
Screenshots
Feb 24 2024
Addresses
ERC-20 Fungible Tokens
ERC-721 and ERC-1155 Non-Fungible Tokens
Old Stuff
An implementation of ERC-5564: Stealth Addresses and ERC-6538: Stealth Meta-Address Registry (using address
instead of bytes
).
Test it at https://bokkypoobah.github.io/MagicalInternetMoney/ (WIP) connected to the Ethereum Sepolia testnet.
How The ERC-5564: Stealth Addresses Protocol Works
- Alice wants to pay Bob in ETH/ERC-20/ERC-721 tokens
- Bob generates a Stealth Meta-Address and provides this to Alice
- Alice uses Bob's Stealth Meta-Address to compute a random Stealth Address that can be accessed only by Bob
- Alice transfers the tokens to this address and announces the transfers in the ERC-5564: Stealth Address Announcer contract
- Bob can access the private keys to their computed Stealth Addresses, using information included in the announcements
- The ERC-6538: Stealth Meta-Address Registry allows any account to publish their associated Stealth Meta-Addresses
How This Dapp Works
This dapp:
- Allows Bob's web3 attached account to generate a unique Stealth Meta-Address for each unique associated phrase
- Allows Alice to compute a random Stealth Address using Bob's Stealth Meta-Address
- Allows Alice to then execute the transfer to Bob's Stealth Address and announce the transfer to the Announcer
- Retrieve all event logs published to the Announcer
- Retrieves all event logs published to the Registry
Sample Screens
Generate New Stealth Meta-Address - Initial Addresses
Click [+] from the Addresses menu to access the Stealth Meta-Address generation screen.
Generate New Stealth Meta-Address - Generate And Sign
Click [Generate] to generate a new Stealth Meta-Address, then sign the phrase with your web3 attached account.
Generate New Stealth Meta-Address - After Generation
Click [Add] to add your newly generated Stealth Meta-Address to your addresses.
Generate New Stealth Meta-Address - Add To Registry
Click [Add/Update] to add your newly generated Stealth Meta-Address to the Stealth Address Registry, then sign and send the web3 transaction.
Generate New Stealth Meta-Address - Addresses
Generate New Stealth Meta-Address - Sync
Click [Sync] to retrieve events from the blockchains.
Generate New Stealth Meta-Address - Registry
The newly registered Stealth Meta-Address.
Stealth Transfer
Stealth Transfer - To Stealth Meta-Address In Registry
Click on the [>] button to send ETH/ERC-20/ERC-721 tokens to that Stealth Meta-Address.
Stealth Transfer - Specify Transfer Amount
Stealth Transfer - Send Transaction
Stealth Transfer - Sync
Stealth Transfer - New Stealth Transfer
Stealth Transfer - New Stealth Transfer Details
Stealth Transfer - Sign Message To View Private Key
Stealth Transfer - Private Key Entered In Web3 Wallet
0.000012345 ETH
rounded to 0 in the web3 wallet.
Deployments
Enjoy!
(c) BokkyPooBah / Bok Consulting Pty Ltd 2024. The MIT Licence.