Iron Wallet
A developer's crypto wallet. Check out the announcement blog post.
Status
The project is ready for development purposes. We do not recommend usage for ongoing mainnet activity, unless you really know what you're doing.
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 (iron-wallet#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 (iron-wallet#166)
- quick command bar (iron-wallet#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
- Check the latest release
- Download the appropriate binary for your architecture, and set it up in your
$PATH
- 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 tochrome://extensions
3.3. enableDeveloper mode
(upper right corner) 3.4. Load unpacked -> choose the directory you extracted from the ZIP file - Run
iron
.
Contributing
Check out the Contribution Guide
Building from source
Requirements
- Tauri's requirements;
- libsodium (macos, Arch, Ubuntu)
- Google Chrome, running a profile without MetaMask or other wallet installed, to be solved once EIP-6963 is widely adopted
- (optional) justfile
Get started
1. Clone the repo and install dependencies:
git clone git@github.com:iron-wallet/iron && cd iron
2. Run the initial build, which will install dependencies and build the extension dist
:
yarn setup
3. Install the extension
- Open Google Chrome
- go to
chrome://extensions
- enable
Developer mode
(upper right corner) - Load unpacked -> choose the
iron/extension/dist
directory - 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.