Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>[NEM] PrivateKey -> PublicKey, Address Converter</title>
  <style>
  h1 {
    font-size: 0.95rem;
  }
  p {
    font-size: 0.90rem; 
  }
  label {
    display: block;
    margin: 1rem auto;
  }
  label > span {
    font-size: 0.9rem;
  }
  input[type="text"] {
    width: 100%;
    padding: 0.5rem; 
    border-radius: 4px;
    border: 1px solid #ccc;
    font-family: mono-space;
  }
  input[readonly] {
    background-color: #f6f6f6; 
  }
  </style>
</head>
<body>
  <h1>[NEM] PrivateKey -> PublicKey, Address Converter</h1>
  <label>
    <span>Testnet?</span>
    <input id="testnet" type="checkbox" checked>
  </label>
  <label>
    <span>PrivateKey</span><br>
    <input id="privateKey" type="text" placeholder="privateKey">
  </label>
  <p><strong>Be careful your back when you input *PrivateKey*.</strong></p>
  <hr>
  <label>
    <span>PublicKey</span><br>
    <input id="publicKey" type="text" readonly>
  </label>
  <label>
    <span>Address</span><br>
    <input id="address" type="text" readonly>
  </label>
  <label>
    <span>Message</span><br>
    <input id="message" type="text" readonly>
  </label>
</body>
<script src="https://rawgit.com/QuantumMechanics/NEM-sdk/master/dist/nem-sdk.js"></script>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded' ,function() {
  var nem = require("nem-sdk").default;
  var isTestnet = document.getElementById('testnet');
  var privateKey = document.getElementById('privateKey');
  var publicKey = document.getElementById('publicKey');
  var address = document.getElementById('address');
  var message = document.getElementById('message');
  privateKey.addEventListener('change', function(ev){
    try {
      var kp = nem.crypto.keyPair.create(ev.target.value);
      var network = isTestnet.checked ? -104 : 104; // Testnet: -104, Mainnet: 104
      publicKey.value = kp.publicKey.toString();
      address.value = nem.model.address.toAddress(kp.publicKey.toString(), network);
      message.value = 'Success!';
    } catch (err) {
      publicKey.value = '';
      address.value = '';
      message.value = err;
    }
  }, false);
});
</script>
</html>
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
44ukpro
0viewers