Coder Social home page Coder Social logo

bokkypoobah / magicalinternetmoney Goto Github PK

View Code? Open in Web Editor NEW
51.0 3.0 3.0 32.02 MB

Magical Internet Money - EVM chain crypto asset manager, with support for ERC-5564 Stealth Addresses and ERC-6538: Stealth Meta-Address Registry (WIP)

Home Page: https://bokkypoobah.github.io/MagicalInternetMoney/

Solidity 2.68% JavaScript 93.54% Shell 0.01% CSS 3.59% HTML 0.20%
erc-20 erc-721 stealth-addresses stealth-meta-addresses erc-5564 erc-6538 magical-internet-money stealth-registry ethereum nft

magicalinternetmoney's Introduction

Magical Internet Money

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 And Register New Stealth Meta-Address

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.



References



Deployments



Enjoy!

(c) BokkyPooBah / Bok Consulting Pty Ltd 2024. The MIT Licence.

magicalinternetmoney's People

Contributors

bokkypoobah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.