https://www.MyEtherWallet.com - Content of MyEtherWallet.com is served directly from github.
MyEtherWallet is an open source, javascript, client-side tool for generating Ether wallets. It was created and is maintained by kvhnuke and tayvano aka insomniasexx.
- Official (w/ SSL): https://www.MyEtherWallet.com
- Github Direct Link: http://kvhnuke.github.io/etherwallet/
- Import client wallet files and presale wallet files.
- Generate wallets completely client side and provide raw private keys, Keystore (Mist/geth), and paper version of the account.
- Bulk generate wallets
- Generate Transactions and Broadcast Signed Transactions
- Send Tokens based on EIP20.
- Give users an easy way to safely send "Only ETH" or "Only ETC" to ensure they are not victim of replay attacks.
- Generate and send offline transactions, ensuring your private keys never leave your computer.
- Empower the people: Everyone should be able to safely store their ETH in a wallet that they (and only they) have the keys to. Don't let exchanges lose your funds!
- Make it easy & free: Everyone should be able to create a wallet and send / receive ETH & Tokens without fees and without the need to run a full node.
- People are the Priority: You are the most important. Always. If monetization leads to a worse user experience, we don't do it. (ie: ads)
- A learning experience, too: We want to educate about safely storing private keys and what public/private keys are. We don't want to hide behind usernames, passwords, or mnenmonics. That can come later.
- If it can be hacked, it will be hacked: Never save, store, or transmit any private key anywhere at any time.
- Offline / Client-Side: User should be able to run locally and offline without issue.
- Private: No tracking!!! No emails. No ads. No demographics. We don't even know how many wallets have been generated or transactions have been sent, let alone who / what / where you are.
- Open source & audit-able
I recommend you check out our help page @ https://www.myetherwallet.com/#help for any questions.
You can run MyEtherWallet.com on your computer instead of from the GitHub servers. You can generate a wallet completely offline and send transactions from the "Offline Transaction" page.
- Go to our github: https://github.com/kvhnuke/etherwallet/tree/gh-pages.
- Click download zip in the upper right.
- Move zip to an airgapped computer.
- Unzip it.
- Double-Click index.html.
- MyEtherWallet.com is now running entirely on your computer.
In case you are not familiar, you need to keep the entire folder in order to run the website, not just index.html. Don't touch or move anything around in the folder. If you are storing a backup of the MyEtherWallet repo for the future, we recommend just storing the ZIP so you can be sure the folder contents stay intact.
As we are constantly updating MyEtherWallet.com, we recommend you periodically update your saved version of the repo.
If you want to help contribute, here's what you need to know to get it up and running and compiling.
- Both the Chrome Extension and the MyEtherWallet.com are compiling from the same codebase. This code is found in the
app
folder. Don't touch thedist
orchrome-extension
folders. - We use angular and bootstrap. We used to use jQuery and Bootstrap until it was converted in April 2016. If you wonder why some things are set up funky, that's why.
- The mercury branch is currently the active development branch. We then push the dist folder live to gh-pages, which then gets served to MyEtherWallet.com.
- We use npm / gulp for compiling. There is a lot of stuff happening in the compliation.
- Our node currently runs using the json relay found in
json_relay_node
. This is written in node.js. - Our node used to run on the json relay found in
json_relay_php
which was written in php. - All final Chrome Extension packages are zipped and stored in
chrome-extension-releases
. We remove the favicon folder as the Chrome Store gets confused when there are 2 manifest.json files. We also remove the index.html before zipping. - Start by running
npm install
. I currently have node v4.2.6 & npm v3.7.2 so check to see if you need to update those is something isn't working. - You may need to install
browserify
andangular
globally? - Gulp will compile everything and then watch for changes to the HTML, JS, or CSS.
The app folder (where you will be working):
fonts
andimages
get moved into their respective folders. This isn't watched via gulp so if you add an image or font, you need to rungulp
again.includes
are the pieces of the pages / the pages themselves. These are pretty self explanatory and where you will make most frontend changes.layouts
are the pages themselves.index.html
is for MyEtherWallet.com. cx-wallet.html is the main page for the Chrome Extension.embedded.html
is forhttps://www.myetherwallet.com/embedded.html
. These basically take all the pieces of the pages and compile into one massive page. (It's not ideal and worked better when there were only 3 tabs.) The navigation is also found here...sort of.- You can control what shows up on MyEtherWallet.com vs the Chrome Extension by using:
@@if (site === 'cx' ) { ... }
and@@if (site === 'mew' ) { ... }
. Check outsendTransaction.tpl
to see it in action. The former will only compile to the Chrome Extension. The latter only to MyEtherWallet.com. - embedded.html is for embedding the wallet generation into third-party sites. Read more about it and how to listen for the address generated here.
- The wallet decrypt directives are at
scripts/directives/walletDecryptDrtv.js
&scripts/directives/cxWalletDecryptDrtv.js
. These show up on a lot of pages. - The navigation is in
scripts/services/globalServices.js
. Again, we control which navigation items show up in which version of the site in this single file. - As of September 2016, almost all the copy in the .tpl files are only there as placeholders. It all gets replaced via angular-translate. If you want to change some copy you need to do so in
scripts/translations/en.js
folder. You should also make a note about what you changed so that we can make sure it gets translated if necessary. You can note in the Pull Request for now. I'm not sure how we are going to maintain the different translations moving forward. styles
is all the less. It's a couple custom folders and bootstrap. We try to keep the LESS/CSS and small as possible so writing a couple of custom lines of CSS instead of uncommenting an entire bootstrap file is recommended. This, in general, needs to be further cleaned up.- Remember when I said don't touch the dist/chrome-extension folder. I lied a little bit. You need to access the Chrome Extension windows (the guys that pop down when you click the extension icon) via
chrome-extension/browser_action
.browser_action.html
is the main one andcx-quicksend.html
is when you click the "Quicksend" button. I would love to have these moved from the app folder too.
TODO
If you can think of any other features or run into bugs, let us know. You can fork, open a PR, open an issue, message kvhnuke on reddit, email tayvano or in any of these ways.
See our Trello Board.
- 08/12/15: Launch Post: Ether Wallet Generator (for now). Never forget where you came from.
- 08/19/15: ETHER WALLET- Ready for the second round?. We the domain name & SSL.
- 08/24/15: Lets purchase Augur rep, the easy way!
- 02/08/16: MyEtherWallet Chrome Extension: The Beta has Arrived
- 03/03/16: We’ve heard you loud and clear so tonight…we've launch offline / advanced transactions for MyEtherWallet.com
- 03/05/16: [Small Announcement] We updated the "Generate Wallet" Page & "Help" Page on MyEtherWallet.com to be more noob-friendly. Hit us with your feedback, please.
- 04/18/16: MyEtherWallet.com v2.0 (aka Mewtwo) has arrived!
- 04/28/16: Embeddable MyEtherWallet: Super Simple Wallet Generation w/ ability to get the address generated
- 04/30/16: How to participate in “The DAO” creation via MyEtherWallet (yes...right NOW!)
- 05/30/16: MyEtherWallet Update: Send DAO Tokens, Vote on Proposals, and the Chrome Extension finally gets updated!!
- 06/07/16: ⚠ BEWARE: MYETHERWALLET >>.INFO<< IS A PHISHING SCAM AND WILL TAKE ALL YOUR FUNDS. myEtherWallet is MyEtherWallet.com
- 07/28/16: MyEtherWallet now Supports Sending Any Ethereum Token (ERC-20) — also learn about our future plans
- 07/28/16: MyEtherWallet, Preventing Replays, and Ethereum Classic (ETC)
- 08/14/16: ⚠ Malicious Phisher is running Google Ads for MyEtherWallet.com ⚠ It does NOT go to MyEtherWallet.com. Always check the URL before accessing or creating a new wallet! Use your bookmarks bar!