Last active
June 5, 2017 07:09
-
-
Save 44uk/9e8321a26a6acc0aaa183d95cd2cf1ba to your computer and use it in GitHub Desktop.
[NEM] PrivateKey -> PublicKey, Address Converter // source https://jsbin.com/zifipel
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!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> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment