mirror of
https://github.com/hanzo-labs/arcadia.git
synced 2026-10-30 18:55:41 +00:00
417 lines
18 KiB
HTML
417 lines
18 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" ng-app="mewApp">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>MyEtherWallet: Open Source JavaScript Client-Side Ether Wallet</title>
|
|
<link rel="canonical" href="https://www.myetherwallet.com" />
|
|
<meta name="description" content="Ether Wallet: Open Source JavaScript Client-Side Ether Wallet">
|
|
<meta name="author" content="">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="stylesheet" href="css/etherwallet-master.min.css">
|
|
<script type="text/javascript" src="js/etherwallet-static.min.js"></script>
|
|
<script type="text/javascript" src="js/etherwallet-master.js"></script>
|
|
<link rel="apple-touch-icon" sizes="60x60" href="images/fav/apple-touch-icon-60x60.png">
|
|
<link rel="apple-touch-icon" sizes="76x76" href="images/fav/apple-touch-icon-76x76.png">
|
|
<link rel="apple-touch-icon" sizes="120x120" href="images/fav/apple-touch-icon-120x120.png">
|
|
<link rel="apple-touch-icon" sizes="152x152" href="images/fav/apple-touch-icon-152x152.png">
|
|
<link rel="apple-touch-icon" sizes="180x180" href="images/fav/apple-touch-icon-180x180.png">
|
|
<link rel="icon" type="image/png" href="images/fav/favicon-32x32.png" sizes="32x32">
|
|
<link rel="icon" type="image/png" href="images/fav/favicon-194x194.png" sizes="194x194">
|
|
<link rel="icon" type="image/png" href="images/fav/favicon-96x96.png" sizes="96x96">
|
|
<link rel="icon" type="image/png" href="images/fav/android-chrome-192x192.png" sizes="192x192">
|
|
<link rel="icon" type="image/png" href="images/fav/favicon-16x16.png" sizes="16x16">
|
|
<link rel="manifest" href="images/fav/manifest.json">
|
|
<link rel="shortcut icon" href="images/favicon.ico">
|
|
<meta name="msapplication-TileColor" content="#2e4868">
|
|
<meta name="msapplication-TileImage" content="images/fav/mstile-144x144.png">
|
|
<meta name="msapplication-config" content="images/fav/browserconfig.xml">
|
|
<meta name="theme-color" content="#2e4868">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<header class="bg-gradient text-white">
|
|
<section class="container text-center">
|
|
<a href="https://www.myetherwallet.com/"><img src="images/logo-myetherwallet.svg" height="50px" width="auto" alt="Ether Wallet" class="embedded-logo" /></a>
|
|
</section>
|
|
</header>
|
|
|
|
|
|
<section class="container" style="min-height: 50%" ng-controller='viewCtrl'>
|
|
|
|
<!-- tab panes -->
|
|
|
|
<div class="tab-content" >
|
|
|
|
<main class="tab-pane block--container active" ng-if="globalService.currentTab==globalService.tabs.generateWallet.id" ng-controller='walletGenCtrl' role="main" ng-cloak>
|
|
|
|
<article class="block__wrap gen__1" ng-show="!wallet && !showGetAddress">
|
|
|
|
<section class="block__main gen__1--inner">
|
|
<br />
|
|
<h1 translate="NAV_GenerateWallet" aria-live="polite"> Create New Wallet</h1>
|
|
<h4 translate="GEN_Label_1"> Enter password </h4>
|
|
<div class="input-group">
|
|
<input name="password"
|
|
class="form-control"
|
|
type="{{showPass && 'password' || 'text'}}"
|
|
placeholder="{{'GEN_Placeholder_1' | translate }}"
|
|
ng-model="password"
|
|
ng-class="isStrongPass() ? 'is-valid' : 'is-invalid'"
|
|
aria-label="{{'GEN_Label_1' |translate}}"/>
|
|
<span tabindex="0" aria-label="make password visible" role="button" class="input-group-addon eye" ng-click="showPass=!showPass"></span>
|
|
</div>
|
|
<a tabindex="0" role="button" class="btn btn-primary" func="generateSingleWallet" ng-click="genNewWallet()" translate="NAV_GenerateWallet">Generate Wallet</a>
|
|
<p> This password <em>encrypts</em> your private key. This does not act as a seed to generate your keys. <br /> <strong>You will need this password + your private key to unlock your wallet.</strong></p>
|
|
<br>
|
|
</section>
|
|
|
|
<section class="block__help">
|
|
<h2>Ledger or TREZOR?</h2>
|
|
<ul><li>Use your <a ng-click="globalService.currentTab=globalService.tabs.sendTransaction.id">Ledger or TREZOR</a> to access your account. Your device <em>is</em> your wallet. </li></ul>
|
|
|
|
<h2>Jaxx / Metamask</h2>
|
|
<ul><li>Use your <a ng-click="globalService.currentTab=globalService.tabs.sendTransaction.id">Mnemonic Phrase</a> to access your account.</li></ul>
|
|
|
|
<h2>Mist / Geth / Parity?</h2>
|
|
<ul><li>Use your <a ng-click="globalService.currentTab=globalService.tabs.sendTransaction.id">Keystore File (UTC / JSON)</a> to access your account.</li></ul>
|
|
|
|
<h2>Guides & FAQ</h2>
|
|
<ul>
|
|
<li><strong><a href="https://myetherwallet.groovehq.com/knowledge_base/topics/how-do-i-create-a-new-wallet" target="_blank" rel="noopener">How to Create a Wallet</a></strong></li>
|
|
<li><strong><a href="https://myetherwallet.groovehq.com/knowledge_base/categories/getting-started-443" target="_blank" rel="noopener">Getting Started</a></strong></li>
|
|
</ul>
|
|
</section>
|
|
|
|
</article>
|
|
|
|
|
|
<article role="main" class="block__wrap gen__2" ng-show="wallet && !showPaperWallet" > <!-- -->
|
|
|
|
<section class="block__main gen__2--inner">
|
|
<br />
|
|
<h1 translate="GEN_Label_2">Save your <span translate="x_Keystore2"> Keystore File (UTC / JSON) </span></h1>
|
|
|
|
<a tabindex="0" role="button"
|
|
class="btn btn-primary"
|
|
href="{{blobEnc}}"
|
|
download="{{encFileName}}"
|
|
aria-label="{{'x_Download'|translate}} {{'x_Keystore'|translate}}"
|
|
aria-describedby="x_KeystoreDesc"
|
|
ng-click="downloaded()"
|
|
target="_blank" rel="noopener">
|
|
<span translate="x_Download"> DOWNLOAD </span> <span translate="x_Keystore2"> Keystore File (UTC / JSON) </span>
|
|
</a>
|
|
|
|
<div class="warn">
|
|
<p translate="ERROR_28"></p>
|
|
<p><strong>Keep it safe · Make a backup · Don't share it with anyone · Don't lose it · It cannot be recovered if you lose it.</strong></p>
|
|
<p>
|
|
<a tabindex="0" role="button" class="btn btn-danger" ng-class="fileDownloaded ? '' : 'disabled' " ng-click="continueToPaper()">
|
|
I understand. Continue.
|
|
</a>
|
|
</p>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<section class="block__help">
|
|
<h2> Not Downloading a File? </h2>
|
|
<ul>
|
|
<li> Try using Google Chrome </li>
|
|
<li> Right click & Save file as... w/ filename:</li>
|
|
<li><small><small><code> {{encFileName}} </code></small></small></li>
|
|
</ul>
|
|
|
|
<h2>Don't open this file on your computer</h2>
|
|
<ul><li>Use it to access your wallet via MyEtherWallet (or Mist, Geth, Parity & other wallet clients.)</li></ul>
|
|
|
|
<h2>Guides & FAQ</h2>
|
|
<ul>
|
|
<li><a href="https://myetherwallet.groovehq.com/knowledge_base/topics/how-do-i-save-slash-backup-my-wallet" target="_blank" rel="noopener"><strong>How to Back Up Your Keystore File</strong></a></li>
|
|
<li><a href="https://myetherwallet.groovehq.com/knowledge_base/topics/what-are-the-different-formats-of-a-private-key" target="_blank" rel="noopener"><strong>What are these Different Formats?</a></strong></li>
|
|
</ul>
|
|
|
|
</section>
|
|
|
|
</article>
|
|
|
|
|
|
<article role="main" class="block__wrap gen__3" ng-show="showPaperWallet">
|
|
|
|
<section class="block__main gen__3--inner">
|
|
|
|
<br />
|
|
|
|
<h1> Save your <code translate="x_PrivKey">Private Key (unencrypted)</code></h1>
|
|
<input aria-label="{{'x_PrivKey'|translate}}" aria-describedby="x_PrivKeyDesc"
|
|
value="{{wallet.getPrivateKeyString()}}"
|
|
class="form-control"
|
|
type="text"
|
|
readonly="readonly"
|
|
style="max-width: 50rem;margin: auto;"/>
|
|
|
|
<br />
|
|
|
|
<h1 translate="x_Print">Print Paper Wallet:</h1>
|
|
<a tabindex="0" aria-label="{{'x_Print'|translate}}" aria-describedby="x_PrintDesc" role="button" class="btn btn-primary" ng-click="printQRCode()" translate="x_PrintShort">PRINT</a>
|
|
|
|
<br /><br />
|
|
|
|
<a class="btn btn-default btn-sm" ng-click="getAddress()"> Next: Save your Address </a>
|
|
|
|
</section>
|
|
|
|
<section class="block__help">
|
|
<h2>Guides & FAQ</h2>
|
|
<ul>
|
|
<li><strong><a href="https://myetherwallet.groovehq.com/knowledge_base/topics/how-do-i-save-slash-backup-my-wallet" target="_blank" rel="noopener"><strong>How to Save & Backup Your Wallet.</strong></a></li>
|
|
<li><strong><a href="https://myetherwallet.groovehq.com/knowledge_base/topics/protecting-yourself-and-your-funds" target="_blank" rel="noopener"><strong>Preventing loss & theft of your funds.</strong></a></li>
|
|
<li><strong><a href="https://myetherwallet.groovehq.com/knowledge_base/topics/what-are-the-different-formats-of-a-private-key" target="_blank" rel="noopener">What are these Different Formats?</a></strong></li>
|
|
</ul>
|
|
|
|
<h2> Why Should I? </h2>
|
|
<ul>
|
|
<li> To have a secondary backup. </li>
|
|
<li> In case you ever forget your password. </li>
|
|
<li> <a href="https://myetherwallet.groovehq.com/knowledge_base/topics/how-do-i-safely-slash-offline-slash-cold-storage-with-myetherwallet" target="_blank" rel="noopener">Cold Storage</a> </li>
|
|
</ul>
|
|
|
|
<h2> Pro-Tip </h2>
|
|
<ul><li translate="x_PrintDesc"></li></ul>
|
|
|
|
</section>
|
|
|
|
</article>
|
|
|
|
<article class="text-left" ng-show="showGetAddress">
|
|
<div class="clearfix collapse-container">
|
|
<div ng-click="wd = !wd">
|
|
<a class="collapse-button"><span ng-show="wd">+</span><span ng-show="!wd">-</span></a>
|
|
<h1 traslate="SWAP_unlock">Unlock your wallet to see your address</h1>
|
|
<p translate="x_AddessDesc"></p>
|
|
</div>
|
|
<div ng-show="!wd">
|
|
<wallet-decrypt-drtv></wallet-decrypt-drtv>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row" ng-show="wallet!=null" ng-controller='viewWalletCtrl'>
|
|
|
|
|
|
<article class="col-sm-8 view-wallet-content">
|
|
|
|
<section class="block">
|
|
<div class="col-xs-11">
|
|
<div class="account-help-icon">
|
|
<img src="images/icon-help.svg" class="help-icon" />
|
|
<p class="account-help-text" translate="x_AddessDesc">You may know this as your "Account #" or your "Public Key". It's what you send people so they can send you ETH. That icon is an easy way to recognize your address.</p>
|
|
<h5 translate="x_Address">Your Address:</h5>
|
|
</div>
|
|
<input class="form-control" type="text" ng-value="wallet.getChecksumAddressString()" readonly="readonly">
|
|
</div>
|
|
|
|
<div class="col-xs-1 address-identicon-container">
|
|
<div class="addressIdenticon" title="Address Indenticon" blockie-address="{{wallet.getAddressString()}}" watch-var="wallet"></div>
|
|
</div>
|
|
|
|
<div class="col-xs-12" ng-show='showEnc'>
|
|
<div class="account-help-icon">
|
|
<img src="images/icon-help.svg" class="help-icon" />
|
|
<p class="account-help-text" translate="x_KeystoreDesc">This Keystore / JSON file matches the format used by Mist & Geth so you can easily import it in the future. It is the recommended file to download and back up.</p>
|
|
<h5 translate="x_Keystore">Keystore/JSON File (Recommended • Encrypted • Mist/Geth Format)</h5>
|
|
</div>
|
|
<a class="btn btn-info btn-block" href="{{blobEnc}}" download="{{encFileName}}" translate="x_Download"> DOWNLOAD </a>
|
|
</div>
|
|
|
|
<div class="col-xs-12" ng-show="wallet.type=='default'">
|
|
<div class="account-help-icon">
|
|
<img src="images/icon-help.svg" class="help-icon" />
|
|
<p class="account-help-text" translate="x_PrivKeyDesc">This is the unencrypted text version of your private key, meaning no password is necessary. If someone were to find your unencrypted private key, they could access your wallet without a password. For this reason, encrypted versions are typically recommended.</p>
|
|
<h5>
|
|
<span translate="x_PrivKey">Private Key (unencrypted)</span>
|
|
</h5>
|
|
</div>
|
|
<div class="input-group">
|
|
<input class="form-control no-animate" type="{{pkeyVisible ? 'text' : 'password'}}" ng-value="wallet.getPrivateKeyString()" readonly="readonly">
|
|
<span tabindex="0" aria-label="make private key visible" role="button" class="input-group-addon eye" ng-click="showHidePkey()"></span>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="col-xs-12" ng-show="wallet.type=='default'">
|
|
<div class="account-help-icon">
|
|
<img src="images/icon-help.svg" class="help-icon" />
|
|
<p class="account-help-text" translate="x_PrintDesc">ProTip: Click print and save this as a PDF, even if you do not own a printer!</p>
|
|
<h5 translate="x_Print">Print Paper Wallet:</h5>
|
|
</div>
|
|
<a class="btn btn-info btn-block" ng-click="printQRCode()" translate="x_Print">Print Paper Wallet</a>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="block">
|
|
<div class="col-xs-6">
|
|
<h5 translate="x_Address">Your Address:</h5>
|
|
<div class="qr-code" qr-code="{{wallet.getChecksumAddressString()}}" watch-var="wallet" width="100%"></div>
|
|
</div>
|
|
<div class="col-xs-6">
|
|
<h5 ng-show="wallet.type=='default'">
|
|
<span translate="x_PrivKey">Private Key (unencrypted)</span>
|
|
</h5>
|
|
<div class="qr-pkey-container" ng-show="wallet.type=='default'">
|
|
<div class="qr-overlay" ng-show="!pkeyVisible"></div>
|
|
<div class="qr-code" qr-code="{{wallet.getPrivateKeyString()}}" watch-var="wallet" width="100%"></div>
|
|
<div class="input-group">
|
|
<input class="form-control no-animate" type="{{pkeyVisible ? 'text' : 'password'}}" ng-value="wallet.getPrivateKeyString()" readonly="readonly" style="display:none;width:0;height:0;padding:0">
|
|
<span tabindex="0" aria-label="make private key visible" role="button" class="input-group-addon eye" ng-click="showHidePkey()"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="block" ng-show="wallet.type=='default'">
|
|
|
|
|
|
<main class="tab-pane active" ng-show="wallet!=null" ng-controller='signMsgCtrl' >
|
|
<!-- Sign Message Panel -->
|
|
<h2>
|
|
<a translate="NAV_SignMsg" ng-class="{ 'isActive': visibility=='signView'}" ng-click="setVisibility('signView')"> Sign Message </a>
|
|
or
|
|
<a translate="MSG_verify" ng-class="{ 'isActive': visibility=='verifyView'}" ng-click="setVisibility('verifyView')"> Verify Message </a>
|
|
</h2>
|
|
|
|
<article class="col-xs-12 clearfix" ng-switch on="visibility">
|
|
|
|
<!-- Sign Message Stuff -->
|
|
<section ng-switch-when="signView">
|
|
|
|
<!-- Message -->
|
|
<div class="account-help-icon">
|
|
<img src="images/icon-help.svg" class="help-icon" />
|
|
<ul class="account-help-text">
|
|
<li translate="MSG_info2">Include your nickname and where you use the nickname so someone else cannot use it.</li>
|
|
<li translate="MSG_info3">Include a specific reason for the message so it cannot be reused for a different purpose.</li>
|
|
</ul>
|
|
<h5 translate="MSG_message"> Message </h5>
|
|
</div>
|
|
|
|
|
|
<textarea class="form-control" ng-model="signMsg.message" placeholder="This is user kvhnuke on reddit. The purpose of this message is to prove that 0x7cB57B5A97eAbe94205C07890BE4c1aD31E486A8 is my address." rows="5"></textarea>
|
|
|
|
<!-- Date -->
|
|
<div class="account-help-icon">
|
|
<img src="images/icon-help.svg" class="help-icon" />
|
|
<p class="account-help-text" translate="MSG_info1">Include the current date so the signature cannot be reused on a different date.</p>
|
|
<h5 translate="MSG_date"> Date </h5>
|
|
</div>
|
|
<input class="form-control" ng-model="signMsg.dateTime" type="text" placeholder="1 JAN 2016 14:15" />
|
|
|
|
<!-- Sign Message Button -->
|
|
<a class="btn btn-info btn-block" ng-click="generateSignedMsg()" translate="NAV_SignMsg" ng-show="wallet!=null"> Sign Message </a>
|
|
|
|
|
|
<!-- Signed Message -->
|
|
<div ng-show="signMsg.signedMsg">
|
|
<h5 translate="MSG_signature"> Signature </h5>
|
|
<textarea class="form-control" rows="4" readonly title="Signature">{{signMsg.signedMsg }}</textarea>
|
|
</div>
|
|
</section>
|
|
<!-- / Sign Message Stuff -->
|
|
|
|
|
|
|
|
<!-- Verify Message Stuff -->
|
|
<section ng-switch-when="verifyView">
|
|
<!-- Signature -->
|
|
<h5 translate="MSG_signature"> Signature </h5>
|
|
<textarea class="form-control" ng-model="verifyMsg.signedMsg" rows="6" placeholder='{ "address":"0xA7DeFf12461661212734dB35AdE9aE7d987D648c","msg":"This message was signed by kvhnuke | 28 NOV 2016 1:38AM","sig":"0x2190fdf0a011863fed22050372088d08404eb7cae020b73f24cfeca967773b3867f53f1ec96baffbdc6ec9dd3ca7c2ba4eed19a500f65cb3c343e24091b0c4f21b"}'></textarea>
|
|
|
|
<!-- Verify Signature Message Button -->
|
|
<a class="btn btn-info btn-block" ng-click="verifySignedMessage()" translate="MSG_verify" ng-show="verifyMsg.signedMsg!=''"> Verify Message </a>
|
|
|
|
|
|
|
|
</section>
|
|
<!-- / Verify Message Stuff -->
|
|
|
|
</article>
|
|
<!-- / Sign Message Panel -->
|
|
|
|
</main>
|
|
|
|
</section>
|
|
|
|
</article>
|
|
|
|
<article class="col-sm-4">
|
|
<wallet-balance-drtv></wallet-balance-drtv>
|
|
</article>
|
|
|
|
|
|
</div>
|
|
</article>
|
|
|
|
</main>
|
|
|
|
|
|
</div>
|
|
|
|
<!-- /tab panes -->
|
|
|
|
<div data-ng-repeat="alert in notifier.alerts">
|
|
<div class="alert popup alert-{{alert.type}} animated-show-hide"
|
|
style="bottom: {{55*$index}}px; z-index: {{999-$index}};">
|
|
<div class="container">
|
|
<div class='alert-message' ng-bind-html="alert.message"></div>
|
|
</div>
|
|
<i class="icon-close" ng-click="alert.close()"></i>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
<footer>
|
|
<div class="container">
|
|
<p>
|
|
<a href="https://www.myetherwallet.com" target="_blank" rel="noopener">MyEtherWallet.com</a>:
|
|
|
|
Free, open-source, client-side tool for easily & securely interacting with the Ethereum network.
|
|
|
|
Created by
|
|
<a aria-label="kvhnuke's github" href="https://github.com/kvhnuke" target="_blank" rel="noopener">kvhnuke</a>
|
|
&
|
|
<a aria-label="tayvano's github" href="https://github.com/tayvano" target="_blank" rel="noopener">tayvano</a>
|
|
·
|
|
<a href="https://www.MyEtherWallet.com" target="_blank" rel="noopener" aria-label="my ether wallet.com">
|
|
MyEtherWallet.com
|
|
</a>
|
|
·
|
|
<a href="https://github.com/kvhnuke/etherwallet" target="_blank" rel="noopener" aria-label="my ether wallet github">
|
|
Github
|
|
</a>
|
|
·
|
|
<a href="https://myetherwallet.herokuapp.com/" target="_blank" rel="noopener" aria-label="join our slack">
|
|
Slack
|
|
</a>
|
|
·
|
|
<a href="https://twitter.com/myetherwallet" target="_blank" rel="noopener" aria-label="twitter">
|
|
Twitter
|
|
</a>
|
|
·
|
|
<a href="https://www.facebook.com/MyEtherWallet/" target="_blank" rel="noopener" aria-label="facebook">
|
|
Facebook
|
|
</a>
|
|
·
|
|
<a href="mailto:[email protected]" target="_blank" rel="noopener" aria-label="email support at myetherwallet.com">
|
|
Email
|
|
</a>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|
|
|