shunkakinoki / iron

A web developer's wallet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Iron Wallet

A developer's crypto wallet. Check out the announcement blog post.

Features / Roadmap

  • Metamask drop-in replacement
    • "Connect with MetaMask"
    • base EIP-1193 support
    • submit transactions, sign messages without intrusive popups
  • anvil-aware
    • track transaction history
    • track deployed smart contracts (via traces, so internal deploys are also detected)
    • automatically track chain restarts / reverts / nonce updates
    • track local foundry projects, sync ABIs and deploys (ethui#166)
  • connection list
    • fork & simulate mainnet transactions locally. for debugging & security (prototype at ETHGlobal Lisbon)
    • impersonate / prank on any dApp (prototype at ETHGlobal Lisbon)
    • fine-grained control over account and network selection (i.e. different selections per tab, or per domain)
  • UI
    • etherscan-like contract read/write UI for all local contracts (ethui#166)
    • quick command bar (ethui#182)
    • Dark mode

Security

Right now there is none. Our "go to market strategy" is to help developers looking to speed up their feedback loop. This means:

  • mnemonic defaults to test test test ... junk
  • no encryption, no passwords to input all the time. just a plain HD Wallet
  • no annoying popups for confirmations, gas estimates, etc (they'll come, but opt-in)
  • no need to "Reset your Account" to reset the nonce

This will change very very soon thought, but more future work will include:

  • other 3rd party encryption software (e.g.: GPG)
  • Hardware wallets
  • WalletConnect

Installing

  1. Check the latest release
  2. Download the appropriate binary for your architecture, and set it up in your $PATH
  3. Download extension.zip and manually install it in your browser (currently tested on Google Chrome, more to come soon): 3.1. Extract the zip file 3.2. go to chrome://extensions 3.3. enable Developer mode (upper right corner) 3.4. Load unpacked -> choose the directory you extracted from the ZIP file
  4. Run iron.

Contributing

Check out the Contribution Guide

Building from source

Requirements

Iron is a [Tauri application]. Tauri's requirements are all that should be needed to build the wallet. You'll also need Google Chrome, running a profile without MetaMask or other wallet installed, to be solved once EIP-6963 is widely adopted)

You may also like to use optional justfile, if you prefer that over yarn.

Get started

1. Clone the repo and install dependencies:

git clone git@github.com:subvisual/iron && cd iron

2. Run the initial build, which will install dependencies and build the extension dist:

yarn setup

3. Install the extension

  1. Open Google Chrome
  2. go to chrome://extensions
  3. enable Developer mode (upper right corner)
  4. Load unpacked -> choose the iron/extension/dist directory
  5. Iron should now be running

4. Start the app in development mode

yarn app:dev

Note: If you change the extension' code, you may also need to use yarn extension:dev, and to manually reload it on chrome://extensions. Live code reloading is tricky with these.

About

A web developer's wallet

License:MIT License


Languages

Language:TypeScript 54.2%Language:Rust 44.1%Language:JavaScript 0.8%Language:HTML 0.6%Language:Just 0.3%