<p><em>Memory Paper Wallet</em> has the ability to generate bc1 addresses from a brain wallet phrase.</p>

<p><a href="https://www.xcubicle.com/memory-paper-wallet-bitcoin-ethereum-monero-ardor-litecoin" rel="nofollow noreferrer">https://www.xcubicle.com/memory-paper-wallet-bitcoin-ethereum-monero-ardor-litecoin</a></p>

CC BY-SA 4.0
2018-05-20T19:47:07.167Z
2018-05-20T19:47:07.167Z
Patoshi パトシ
<p>Here's an example with bitcoinjs-lib:</p>

<pre><code>let bitcoin = require('bitcoinjs-lib');
let assert = require('assert')
let bigi = require('bigi')


let NETWORK = bitcoin.networks.bitcoin;
let brainwallet = "This is my brain wallet and it is less secure than a CSPRNG source";
let hash = bitcoin.crypto.sha256(brainwallet);
let d = bigi.fromBuffer(hash);
let nkeyp = new bitcoin.ECPair(d);
let wif = nkeyp.toWIF();
let pubKey = nkeyp.getPublicKeyBuffer();
let scriptPubKey = bitcoin.script.witnessPubKeyHash.output.encode(bitcoin.crypto.hash160(pubKey))
let address = bitcoin.address.fromOutputScript(scriptPubKey);
console.log(address);
console.log(wif);
</code></pre>

CC BY-SA 4.0
2017-11-08T04:31:31.300Z
2018-05-20T01:29:17.300Z
2018-05-20T01:29:17.300Z
m1xolyd1an
<p>You could try brain2bip.com</p>

<p>Checkmark "Advanced wallet recovery," then select the BIP84 tab to see a list of segwit addresses and their private keys.</p>

CC BY-SA 4.0
2019-02-22T00:10:04.823Z
2019-02-22T00:10:04.823Z
John C.
<p>Are there any brain wallet generators that can generate segwit (bc1) addresses yet?</p>

CC BY-SA 3.0
2017-11-06T21:02:04.967Z
You can do it with the bitcoinjs library. https://github.com/bitcoinjs/bitcoinjs-lib/blob/master/README.md
m1xolyd1an
CC BY-SA 3.0
2017-11-06T21:27:33.833Z
But is there an example code of how to generate this address using bech?
Patoshi パトシ
CC BY-SA 3.0
2017-11-06T22:39:40.373Z
isnt brain wallet unsafe to use? https://bitcoin.stackexchange.com/questions/8449/how-safe-is-a-brain-wallet
rny
CC BY-SA 3.0
2017-11-08T05:11:11.713Z
renlord, not all brain wallets are created equal.... warp wallets are more secure than traditional brain wallets.
Patoshi パトシ
CC BY-SA 4.0
2018-05-20T01:24:56.287Z
A Brainwallet with sufficient entropy, generated by a computer or other device with real randomness (**not** by a human) can be secure. However, they're still a terrible trade-off between risk of theft and risk of loss. Memory can be much more flaky than people believe it to be.
Pieter Wuille
<brain-wallet><segregated-witness>
Generating a segwit (bc1) address from a brain wallet?
Patoshi パトシ
# Generating a segwit (bc1) address from a brain wallet?

(Asked by: username_0 on 2017-11-06)

Are there any brain wallet generators that can generate segwit (bc1) addresses yet?

**Tags:** brain-wallet, segregated-witness

> **Comments:**
> **username_1**: You can do it with the bitcoinjs library. https://github.com/bitcoinjs/bitcoinjs-lib/blob/master/README.md  
> **username_0**: But is there an example code of how to generate this address using bech?  
> **username_2**: isnt brain wallet unsafe to use? https://bitcoin.stackexchange.com/questions/8449/how-safe-is-a-brain-wallet  
> **username_0**: renlord, not all brain wallets are created equal.... warp wallets are more secure than traditional brain wallets.  
> **username_3**: A Brainwallet with sufficient entropy, generated by a computer or other device with real randomness (**not** by a human) can be secure. However, they're still a terrible trade-off between risk of theft and risk of loss. Memory can be much more flaky than people believe it to be.  

---

## 3 answers

### Answer by username_0 on 2018-05-20. Score: 1 | Accepted answer

*Memory Paper Wallet* has the ability to generate bc1 addresses from a brain wallet phrase.

<https://www.xcubicle.com/memory-paper-wallet-bitcoin-ethereum-monero-ardor-litecoin>


---

### Answer by username_1 on 2017-11-08. Score: 1

Here's an example with bitcoinjs-lib:
let bitcoin = require('bitcoinjs-lib');
let assert = require('assert')
let bigi = require('bigi')


let NETWORK = bitcoin.networks.bitcoin;
let brainwallet = "This is my brain wallet and it is less secure than a CSPRNG source";
let hash = bitcoin.crypto.sha256(brainwallet);
let d = bigi.fromBuffer(hash);
let nkeyp = new bitcoin.ECPair(d);
let wif = nkeyp.toWIF();
let pubKey = nkeyp.getPublicKeyBuffer();
let scriptPubKey = bitcoin.script.witnessPubKeyHash.output.encode(bitcoin.crypto.hash160(pubKey))
let address = bitcoin.address.fromOutputScript(scriptPubKey);
console.log(address);
console.log(wif);


---

### Answer by username_4 on 2019-02-22. Score: 0

You could try brain2bip.com

Checkmark "Advanced wallet recovery," then select the BIP84 tab to see a list of segwit addresses and their private keys.


---

