Last active
August 30, 2017 17:07
-
-
Save junderw/70f6590f08daf7b091e39dc7d3a67454 to your computer and use it in GitHub Desktop.
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
// npm install git://github.com/bitcoinjs/bitcoinjs-lib.git#56dfb873d3f05817e19befa976592bc0f371a6d3 | |
// installing the above commit of bitcoinjslib will allow you to take the var redeemScript and | |
// create a bech32 raw segwit address with this function: | |
// var bech32address = bitcoin.address.fromOutputScript(redeemScript) | |
var bitcoin = require('bitcoinjs-lib') | |
var mnemonic = require('bip39') | |
// log output near bottom | |
function main() { | |
// mnemonic seed starts here | |
var seed = mnemonic.mnemonicToSeed('print common jewel hospital hip fish auction indicate depth ignore ship tissue') | |
var hdnodemaster = bitcoin.HDNode.fromSeedBuffer(seed) | |
// deriveHardened(49) is for BIP49 (Segwit derivation path | |
var lastHardKey = hdnodemaster.deriveHardened(49).deriveHardened(0).deriveHardened(0) | |
var xpubString = lastHardKey.neutered().toBase58() | |
console.log(xpubString) | |
// Trezor xpub starts here | |
// 'xpub6Cz3wBaX83YCqsiUx5vcbfRioTS9hEVSQv1BXzC8uecuqenCCwuQiF77SZ2MMZks6fkA57FUkWBDLevJadNWT53NNA8FBiF5fEvWiy5Ro2q' | |
var xpubObj = bitcoin.HDNode.fromBase58(xpubString) | |
var receiveAddressChain = xpubObj.derive(0) | |
var segwitP2SHAddresses = [] | |
for (var i = 0; i < 20; i++) { | |
var pubkey = receiveAddressChain.derive(i).getPublicKeyBuffer() | |
console.log(i + " pubkey: " + pubkey.toString('hex')) | |
var pubkeyHash = bitcoin.crypto.hash160(pubkey) | |
console.log(i + " pubkeyHash: " + pubkeyHash.toString('hex')) | |
var redeemScript = bitcoin.script.witnessPubKeyHash.output.encode(pubkeyHash) | |
console.log(i + " redeemScript: " + redeemScript.toString('hex')) | |
var redeemScriptHash = bitcoin.crypto.hash160(redeemScript) | |
console.log(i + " redeemScriptHash: " + redeemScriptHash.toString('hex')) | |
var scriptPubkey = bitcoin.script.scriptHash.output.encode(redeemScriptHash) | |
console.log(i + " scriptPubkey: " + scriptPubkey.toString('hex')) | |
var address = bitcoin.address.fromOutputScript(scriptPubkey) | |
console.log(i + " address: " + address) | |
console.log("") | |
segwitP2SHAddresses.push(address) | |
} | |
console.log("Final list of Addresses") | |
console.log(segwitP2SHAddresses.join("\n")) | |
} | |
main() | |
/* | |
0 pubkey: 0322d47420264e0b6825a84f9fb57852b111fac68ae06d9c34f5abba4fce365b47 | |
0 pubkeyHash: 95194eb41705dd74b97eff48d955b31817534485 | |
0 redeemScript: 001495194eb41705dd74b97eff48d955b31817534485 | |
0 redeemScriptHash: 76ef2ea52c3468d44bbd75478a546427a9ec0d3b | |
0 scriptPubkey: a91476ef2ea52c3468d44bbd75478a546427a9ec0d3b87 | |
0 address: 3CXtBrJeEHaFNdXvnu71oKKAvs1aZDjpJR | |
1 pubkey: 035f9b1f5fdc65b3b272a58560f85084a409fd630c87a803aa8e5c3b37f02c6765 | |
1 pubkeyHash: 04ff0013496d542948d6e6d7c1147b790b3b9e5b | |
1 redeemScript: 001404ff0013496d542948d6e6d7c1147b790b3b9e5b | |
1 redeemScriptHash: 84c86234fcc6a4cb6ffe1ac38ccf1db875810a1b | |
1 scriptPubkey: a91484c86234fcc6a4cb6ffe1ac38ccf1db875810a1b87 | |
1 address: 3Do7AmEUVdGot9Pei1YyRJyvs6L7UTBUFN | |
2 pubkey: 0290b858ae3f2ad44e1063c5015f17d26976f0e41e003862a7fdb5608c8aca27fa | |
2 pubkeyHash: d41e68a08b179040c184de6d1f6b82607243fdbc | |
2 redeemScript: 0014d41e68a08b179040c184de6d1f6b82607243fdbc | |
2 redeemScriptHash: e89ebb90e91855eaebaf7a626ed0cf56647fe975 | |
2 scriptPubkey: a914e89ebb90e91855eaebaf7a626ed0cf56647fe97587 | |
2 address: 3NtzqzH6rjJovouy3HfaPGEcGeCvpPZcXu | |
3 pubkey: 0265aff540cdb64123b5fccdcbcdbee5a7c0faad1c81e299ef581ba9762423e5dd | |
3 pubkeyHash: 54ddb20f76af9750e277b815d096ee5db998a88f | |
3 redeemScript: 001454ddb20f76af9750e277b815d096ee5db998a88f | |
3 redeemScriptHash: c692d961269795eead1c3ea2f068edac53552206 | |
3 scriptPubkey: a914c692d961269795eead1c3ea2f068edac5355220687 | |
3 address: 3KnydnNxUCZncd324PLQeCTJbwHQf3wYYj | |
4 pubkey: 036fc403295fab4495c72ff9771c1baf6b90af3da9ba65c24ceb7e6857a0a2676f | |
4 pubkeyHash: c55bcee7917c2d18522e5874dec6b600f210d812 | |
4 redeemScript: 0014c55bcee7917c2d18522e5874dec6b600f210d812 | |
4 redeemScriptHash: 00c5ffc861352a6ad0b9550aa008d075cb27a081 | |
4 scriptPubkey: a91400c5ffc861352a6ad0b9550aa008d075cb27a08187 | |
4 address: 31m77mNxvhCask7jBMp1HSRDa5Pi97uN6L | |
5 pubkey: 03f4a009a2937fb456fe21b4a9679696b38081687d1fbbba8f996ed820c0a96cbd | |
5 pubkeyHash: b835c700b8ea0dfd059c47a103a0a226300de935 | |
5 redeemScript: 0014b835c700b8ea0dfd059c47a103a0a226300de935 | |
5 redeemScriptHash: 420073267adb6946b8659e348c7445ac9bcd520d | |
5 scriptPubkey: a914420073267adb6946b8659e348c7445ac9bcd520d87 | |
5 address: 37i14TVhZAoPcAXKd6MS34dJjGnzKZFBGK | |
6 pubkey: 02099886b8339ae4d56b50d77ad003e20aead374470653bd4441bbc4148e87fc58 | |
6 pubkeyHash: bfc8c9c61ccdcf4a7671b85740ac6419e1e8856f | |
6 redeemScript: 0014bfc8c9c61ccdcf4a7671b85740ac6419e1e8856f | |
6 redeemScriptHash: 06c5b4214e7fa88e66c72e60c3599fa9d48dbb25 | |
6 scriptPubkey: a91406c5b4214e7fa88e66c72e60c3599fa9d48dbb2587 | |
6 address: 32JppPE1F9RWn76eNKyfNG7LhhFydytPsa | |
7 pubkey: 038de07a135695465d373063abfe460778c26a1972ec32a587f4a685834c58a5dd | |
7 pubkeyHash: 9d59e23ace4a6a3be6576b890a0e7d89535fe5cf | |
7 redeemScript: 00149d59e23ace4a6a3be6576b890a0e7d89535fe5cf | |
7 redeemScriptHash: f57e7b9e1109a399a6865e9446dbf527b57bd157 | |
7 scriptPubkey: a914f57e7b9e1109a399a6865e9446dbf527b57bd15787 | |
7 address: 3Q54zj7HHwoXquXVmmqdjUtNBWWmjr4JBR | |
8 pubkey: 0393c79787e3c44f7ff7079163822f170176bf0df00bdd811d99a290dd8a307f92 | |
8 pubkeyHash: 6fe3f84d096b5bc6aa552fea0a92e04edd3cfca7 | |
8 redeemScript: 00146fe3f84d096b5bc6aa552fea0a92e04edd3cfca7 | |
8 redeemScriptHash: e22cf50c4c62b644a2a0190983830591aa97d6a4 | |
8 scriptPubkey: a914e22cf50c4c62b644a2a0190983830591aa97d6a487 | |
8 address: 3NJvVaaZqT4YmzmBBLPkabMJM7jAz1HZjw | |
9 pubkey: 03bcf45bc72e25c3d64d746220b2235e3999cee5d6de5d19f923fc1b58ccf93e9c | |
9 pubkeyHash: 4032e1fd4c8530f6d35b4e3948462194e41dd784 | |
9 redeemScript: 00144032e1fd4c8530f6d35b4e3948462194e41dd784 | |
9 redeemScriptHash: ad5a5471b4e655f8184fe3ae489401bbb9557cba | |
9 scriptPubkey: a914ad5a5471b4e655f8184fe3ae489401bbb9557cba87 | |
9 address: 3HVd2xajcHmvkPZu2ZHZmjAYtN5CmVVaCD | |
10 pubkey: 0298bfd1cade50cd95fed321efcdbb85be6377273ef93015f7b46d76ddb2211db0 | |
10 pubkeyHash: 540b87aff9a1ff2df2294b8615abe0812e4cb9de | |
10 redeemScript: 0014540b87aff9a1ff2df2294b8615abe0812e4cb9de | |
10 redeemScriptHash: 2098e738dcaf2411175a51928a46df310514707a | |
10 scriptPubkey: a9142098e738dcaf2411175a51928a46df310514707a87 | |
10 address: 34fNiaoqR7GSZSy247LureVwhWEsjsNcUK | |
11 pubkey: 03d1d50bc59bc338ee068571669d129114f2c6ea014aad8894622aa7a6272f887c | |
11 pubkeyHash: b6b46bb41e3c2da1d43054de137491eaa470e7ec | |
11 redeemScript: 0014b6b46bb41e3c2da1d43054de137491eaa470e7ec | |
11 redeemScriptHash: 91bb50338f79c32c09c22c5fe91d807e767b5477 | |
11 scriptPubkey: a91491bb50338f79c32c09c22c5fe91d807e767b547787 | |
11 address: 3EyaJ7bQRnSauGQrx63Zs9PtED5jUdDFwZ | |
12 pubkey: 026121cf76382bbe8f1eb8d8bb467f2c5f8c2eec1c9c04d63fdba14bcec2410a68 | |
12 pubkeyHash: ebda27bd2ee8c4506605af638f5072d32e3ae55c | |
12 redeemScript: 0014ebda27bd2ee8c4506605af638f5072d32e3ae55c | |
12 redeemScriptHash: 851d5b5f38744c6e5a63c3abca40f67e4aaee109 | |
12 scriptPubkey: a914851d5b5f38744c6e5a63c3abca40f67e4aaee10987 | |
12 address: 3Dprxp3QvNzrEMmfSu5J1t45MkYrBSgNzK | |
13 pubkey: 033659494e628a6dbf661af7fdb0b3310cb7d83a1a44b9af95a0cd4d2f566ff18c | |
13 pubkeyHash: afb4388a5f97a6f01c9b482bb98d896a6fdf2d4f | |
13 redeemScript: 0014afb4388a5f97a6f01c9b482bb98d896a6fdf2d4f | |
13 redeemScriptHash: c18feda219bf4781feb632f45bd01d416904abff | |
13 scriptPubkey: a914c18feda219bf4781feb632f45bd01d416904abff87 | |
13 address: 3KLUksr6NXzFGPsG7MMLuin2YmHkxiwWXG | |
14 pubkey: 03f38c225d74d5259c5525d3d926f75e2328f53a0dc259953cf3a9601c8c74281f | |
14 pubkeyHash: c74e8c1280cde2499a6f4cffad953521d9014988 | |
14 redeemScript: 0014c74e8c1280cde2499a6f4cffad953521d9014988 | |
14 redeemScriptHash: dd518d9e2f0c9cbbed34538a9a3e67ca12bef2f8 | |
14 scriptPubkey: a914dd518d9e2f0c9cbbed34538a9a3e67ca12bef2f887 | |
14 address: 3MsExMTmHUwNz92dGLvHxSy1LD7hTXQVon | |
15 pubkey: 030336daaa7f78c2f70b9f8170e3b6f5829b25c6e8ace353d760ee1e0085781b4f | |
15 pubkeyHash: 19d25789d7ddaba37ccf138682b0c72f0f0dbefd | |
15 redeemScript: 001419d25789d7ddaba37ccf138682b0c72f0f0dbefd | |
15 redeemScriptHash: 1dca068da828ad4e7362469c58b80eafec7fa7f6 | |
15 scriptPubkey: a9141dca068da828ad4e7362469c58b80eafec7fa7f687 | |
15 address: 34QXY6GCFhXofx3ECTmCkhEf1pnnZGarS7 | |
16 pubkey: 035470920388b9c165e5a7eb29cd860da8342e5e8a8796cd1ea41552a5050e3959 | |
16 pubkeyHash: 775cd42e499e1f2c8fba44e19e9863d4055bf9f1 | |
16 redeemScript: 0014775cd42e499e1f2c8fba44e19e9863d4055bf9f1 | |
16 redeemScriptHash: bdcc31fe767407accba8dfbb90ad83719db477b8 | |
16 scriptPubkey: a914bdcc31fe767407accba8dfbb90ad83719db477b887 | |
16 address: 3JzaFY76xXRNGRpukufQtVbS75KmyVBbDU | |
17 pubkey: 033a2439a3993e705b8a5223562c4b754ac921926afa2c3913a03443f4dc4dd855 | |
17 pubkeyHash: 488db307dd35961da5b5b155df2ee95520ba96cf | |
17 redeemScript: 0014488db307dd35961da5b5b155df2ee95520ba96cf | |
17 redeemScriptHash: 710c7d159ca3d69997f06b20383341d72da500fd | |
17 scriptPubkey: a914710c7d159ca3d69997f06b20383341d72da500fd87 | |
17 address: 3BzmEwjYPnog9rkRwnhoxyPmiryzC7mbNe | |
18 pubkey: 031b1296d360b53f7d28a325e7667398eb620bc5f7044652b6f7f96cc049a1a7ca | |
18 pubkeyHash: bd40d2342c14ffcc1df1387fa853adbf19efd4dc | |
18 redeemScript: 0014bd40d2342c14ffcc1df1387fa853adbf19efd4dc | |
18 redeemScriptHash: e0e76413bf17aa55a9807b882632527814e31230 | |
18 scriptPubkey: a914e0e76413bf17aa55a9807b882632527814e3123087 | |
18 address: 3NCCUqWXvBueF1y3hD2g23AdSYR2QcBv5s | |
19 pubkey: 0276789eb0d68ee6454e9d09438a295043531e245ff2eacde7f269d8fb5cf9b2cd | |
19 pubkeyHash: 920779e3371cc476d0de3a01868e966a02c1d729 | |
19 redeemScript: 0014920779e3371cc476d0de3a01868e966a02c1d729 | |
19 redeemScriptHash: e7b2817b7076b13d41fc45dac663cf6b6c4518b3 | |
19 scriptPubkey: a914e7b2817b7076b13d41fc45dac663cf6b6c4518b387 | |
19 address: 3Np7rf21qcw4Un2bM5jaTdtcPUeaApuH5L | |
Final list of Addresses | |
3CXtBrJeEHaFNdXvnu71oKKAvs1aZDjpJR | |
3Do7AmEUVdGot9Pei1YyRJyvs6L7UTBUFN | |
3NtzqzH6rjJovouy3HfaPGEcGeCvpPZcXu | |
3KnydnNxUCZncd324PLQeCTJbwHQf3wYYj | |
31m77mNxvhCask7jBMp1HSRDa5Pi97uN6L | |
37i14TVhZAoPcAXKd6MS34dJjGnzKZFBGK | |
32JppPE1F9RWn76eNKyfNG7LhhFydytPsa | |
3Q54zj7HHwoXquXVmmqdjUtNBWWmjr4JBR | |
3NJvVaaZqT4YmzmBBLPkabMJM7jAz1HZjw | |
3HVd2xajcHmvkPZu2ZHZmjAYtN5CmVVaCD | |
34fNiaoqR7GSZSy247LureVwhWEsjsNcUK | |
3EyaJ7bQRnSauGQrx63Zs9PtED5jUdDFwZ | |
3Dprxp3QvNzrEMmfSu5J1t45MkYrBSgNzK | |
3KLUksr6NXzFGPsG7MMLuin2YmHkxiwWXG | |
3MsExMTmHUwNz92dGLvHxSy1LD7hTXQVon | |
34QXY6GCFhXofx3ECTmCkhEf1pnnZGarS7 | |
3JzaFY76xXRNGRpukufQtVbS75KmyVBbDU | |
3BzmEwjYPnog9rkRwnhoxyPmiryzC7mbNe | |
3NCCUqWXvBueF1y3hD2g23AdSYR2QcBv5s | |
3Np7rf21qcw4Un2bM5jaTdtcPUeaApuH5L | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment