From 37007fae7c81e4e4ff4a80e4623499b4a74bffd7 Mon Sep 17 00:00:00 2001 From: Moxiegirl Date: Fri, 21 Dec 2018 10:19:15 -0800 Subject: [PATCH] Adding in the new wallet Fixes #69, Fixes #68, Fixes #70 (#76) Adding in the review commentary Fixes #75 adding security reference Removing Coinlist as a bTC holder Signed-off-by: Mary Anthony --- _browser/secureref.md | 7 +++ _data/navigation_org.yml | 3 ++ _data/navigation_usenew.yml | 1 + _includes/keyphrase.md | 86 +++++++++++++++++++++++++++++++++ _org/images/private.png | Bin 0 -> 38943 bytes _org/images/qr-code.png | Bin 0 -> 5038 bytes _org/secureref.md | 7 +++ _org/wallet-install.md | 30 +++++++++--- _org/wallet-intro.md | 14 +++++- _org/wallet-use.md | 94 ++++++++++++++++++------------------ 10 files changed, 189 insertions(+), 53 deletions(-) create mode 100644 _browser/secureref.md create mode 100644 _includes/keyphrase.md create mode 100644 _org/images/private.png create mode 100644 _org/images/qr-code.png create mode 100644 _org/secureref.md diff --git a/_browser/secureref.md b/_browser/secureref.md new file mode 100644 index 00000000..5ae30418 --- /dev/null +++ b/_browser/secureref.md @@ -0,0 +1,7 @@ +--- +layout: usenew +permalink: /:collection/:path.html +--- +# Phrase and Key Security + +{% include keyphrase.md %} diff --git a/_data/navigation_org.yml b/_data/navigation_org.yml index 3cf4d03a..dfbabcc7 100644 --- a/_data/navigation_org.yml +++ b/_data/navigation_org.yml @@ -6,6 +6,8 @@ - title: Manage Stacks docs: - org/wallet-intro + - org/wallet-install + - org/wallet-use - org/tokenholders - org/voucherholder - title: Whitepapers @@ -14,5 +16,6 @@ - org/whitepaper-token - title: Reference docs: + - org/secureref - org/faq - org/terms diff --git a/_data/navigation_usenew.yml b/_data/navigation_usenew.yml index 963c2ad7..e9ad5817 100644 --- a/_data/navigation_usenew.yml +++ b/_data/navigation_usenew.yml @@ -10,4 +10,5 @@ - title: Reference - docs: + - browser/secureref - browser/faq_general diff --git a/_includes/keyphrase.md b/_includes/keyphrase.md new file mode 100644 index 00000000..9102aaf5 --- /dev/null +++ b/_includes/keyphrase.md @@ -0,0 +1,86 @@ +Use the following table to answer questions about keys/phrases/values you can share with others (`SHAREABLE`) and ones you should _never_ share but instead keep in a secure place (`PROTECT`). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Phrase/Key/ValueSecurityDescription
+

Secret Recovery Key

+

12 word seed phrase

+

24 word seed phrase

+

PROTECT

+

A 12 or 24 sequence of words for example:

+

applied binge crisp pictorial fiery +

dancing agreeable frogs light finish ping apple

+
+

Identity

+

Blockstack identity

+

Blockstack ID

+

SHAREABLE

+

A username, Both moxiegirl.id.blockstack or chad.id are examples of IDs.

+
Magic Recovery Code

PROTECT

An long encrypted string, for example:

+

36mWivFdy0YPH2z31EflpQz/Y0UMrOrJ++lH=0EI7c3mop2JuRBm5WXxSTazJsUjOA...

+

Do not share the QR code that accompanied your code either. This is a QR code:

+ +
Blockstack Owner Address

SHAREABLE

Looks like a bitcoin address but starts with ID for example:

+

ID-1J3PUxY5uDShUnHRrMyU6yKtoHEUPhKULs

+
Bitcoin address + BTC Address +

SHAREABLE

A string of letters and numbers.

+

3E53XjqK4Cxt71BGeP2VhpcotM8LZ853C8

+

Sharing this address allows anyone to send Bitcoin to the address.

+

Stacks Address

+

Stacks Wallet Address

+

STX address

+

SHAREABLE

A string of letters and numbers starting with an SP or SM

+ SM3KJBA4RZ7Z20KD2HBXNSXVPCR1D3CRAV6Q05MKT +

Sharing this allows anyone to send Stacks to the address, view the address balances, and view the address allocations.

+
public key

SHAREABLE

Public and private key pair comprise of two uniquely related cryptographic keys. It looks like a long random string of letters and numbers:

+

3048 0241 00C9 18FA CF8D EB2D EFD5 FD37 89B9 E069 EA97 FC20 …

+

The exact format of the public and private key depend on the software you use to create them.

+
private key

Private keys matches a corresponding public key. A public key also looks like a string of letters and numbers:

+ +

The exact format of the public and private key depend on the software you use to create them.

+
diff --git a/_org/images/private.png b/_org/images/private.png new file mode 100644 index 0000000000000000000000000000000000000000..0ebbd2e4183775f56d9a46861a3a580b942e0dbe GIT binary patch literal 38943 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 U(P?y&ig&xT)%71&sXD;_2Tt=~+yDRo literal 0 HcmV?d00001 diff --git a/_org/images/qr-code.png b/_org/images/qr-code.png new file mode 100644 index 0000000000000000000000000000000000000000..4024d08e07ba1557398b4464c0b0ebb9fa60e30d GIT binary patch literal 5038 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 literal 0 HcmV?d00001 diff --git a/_org/secureref.md b/_org/secureref.md new file mode 100644 index 00000000..89a8bd56 --- /dev/null +++ b/_org/secureref.md @@ -0,0 +1,7 @@ +--- +layout: org +permalink: /:collection/:path.html +--- +# Phrase and Key Security + +{% include keyphrase.md %} diff --git a/_org/wallet-install.md b/_org/wallet-install.md index 7b4382d1..caed6fef 100644 --- a/_org/wallet-install.md +++ b/_org/wallet-install.md @@ -87,11 +87,29 @@ by Blockstack PBC." %} 5. Verify that the resulting hash (a string of letters and numbers) is the same as the latest hash published on on this page. +## Additional software requirements -## Before you start using the Stacks Wallet software +If you wish to use the Stacks Wallet software to send and receive Stacks, you +need to ensure you also have a hardware wallet and a Bitcoin account. -You fuel your wallet transactions with Bitcoin via a Coinlist or other account. -Before you begin, make sure that you have [an account with -CoinList](https://coinlist.co/register). You must create this account yourself. -You use this account to load very small fractions of Bitcoin to fuel your wallet -transactions. +### Hardware wallet + +If you have a paper wallet or a custodial wallet, you should setup. You can use +any of these hardware wallets with the Stacks wallet: + +* Trezor One +* Trezor Model T +* Ledger Nano S +* Ledger Bluea hardware wallet. + +For information on setting up a hardware wallet, refer to the vendor's +documentation. We cannot help you set up your hardware wallet. + + +### Bitcoin account for fuel + +You fuel your Stacks wallet transactions with very small fractions of Bitcoin. +For example, .00025 Bitcoin can fuel several transactions. You can acquire this +Bitcoin and send it to the Stacks Wallet via a Coinbase or other Bitcoin +account. Before you begin, make sure that you have such an account. You must +create this account yourself. diff --git a/_org/wallet-intro.md b/_org/wallet-intro.md index 7ddecc3d..bb833080 100644 --- a/_org/wallet-intro.md +++ b/_org/wallet-intro.md @@ -81,6 +81,18 @@ hardware offers another level of security that software wallets don’t have. Blockstack suggests that you use a hardware wallet such as [Trezor](https://trezor.io/) or [Ledger](https://www.ledger.com/). +## Multiple wallets + Of course, you need not use a software or hardware wallet exclusively, you can use multiple wallets choosing whichever works best for you at a specific time. -You'll just need to transform tokens to whichever wallet you want to move. + +For example, the Stacks Wallet is a software wallet. It operates with and +without a link to a hardware wallet. With a link to a hardware wallet, you can +use the Stacks wallet to send and receive Stacks. When used without a hardware +wallet link, the Stacks wallet is in _watch-only_ mode. This means the wallet +cannot send or receive Stacks. You can view only balances and transaction +history. + +In some cases, you may need to transfer Stacks to or reference token address in whichever +wallet you want to move. Consult the documentation for your wallets for more +information. diff --git a/_org/wallet-use.md b/_org/wallet-use.md index 88d201c7..0a921a07 100644 --- a/_org/wallet-use.md +++ b/_org/wallet-use.md @@ -154,42 +154,48 @@ transaction is recorded in the blockchain. When the transaction is complete, you can see a receipt for the transaction in Software Wallet in watch-only mode or connected to a hardware wallet. +## Top up Bitcoin gas -## Reset the wallet +You require very small fractiosn of Bitcoin (.00001) to send Stacks with the wallet. -Resetting a wallet clears all your data from the Stacks wallet and returns the -wallet to its original state. +{% include warning.html content="Very small amounts of Bitcoin are all you need +to fuel transactions. Never send an entire coin to your Stacks Wallet. Amounts +such as .0002 BTC are plenty." %} -* If you entered a Stacks address, resetting clears the address from the Stacks wallet. -* If you connected to a hardware wallet, resetting removes the connection to the hardware wallet. +The Stacks Software wallet uses very small amounts of Bitcoin to pay fees for +transactions. You can only receive Bitcoin with the wallet, you cannot send it +from the Stacks Wallet. You need an account with Coinbase or similar exchange to +buy Bitcoin or send Bitcoin. -Reseting the wallet does nothing to your addresses or their associated balances. -They are maintained. +If you attempt to send Stacks with your wallet and you do not have enough +Bitcoin to fuel the transaction, you see this dialog: -Once you reset the wallet, you have to start over from the *Terms of Use*. If -you do not restart the wallet, you can simple close it. +![](images/not-enough.png) + To increase your Bitcoin for transactions, do the following: -1. Click the - (settings icon) in the upper right corner of the wallet. + 1. Click the + (settings icon) in the upper right corner of the wallet. - The system opens the **Settings** dialog. + The system opens the **Settings** dialog. - ![](images/settings.png) + ![](images/settings.png) - The **Top Up** button is only visible when you have connected the Stacks - Wallet to a hardware wallet. + This dialog shows you how much BTC you currently have in your account. -2. Select **Reset Wallet**. +2. Select **Top up**. - System asks for confirmation. If, for some reason, you want to stop the reset - you would press (right corner) or **Close**. + The systems displays the **Top Up** dialog with a Bitcoin address. -3. Select **Are you sure?** to complete the reset. +3. Record the address. - The wallet displays the **Terms of Use**. You can accept to enter the wallet - again or choose **Quit**. +4. Go to your Coinbase or similar account. +5. Send Bitcoin to the address presented by the Stacks Wallet. + + ![](images/gas-up-cb.gif) +Review your Stacks Wallet settings to see the increase in your balance. Your +transaction history also shows any Bitcoin sent to your wallet. ## Send stacks @@ -243,43 +249,39 @@ transactions. Select **Refresh** if you don't immediately see the transaction in your history. -## Top up Bitcoin gas -{% include warning.html content="Very small amounts of Bitcoin are all you need -to fuel transactions. Never send an entire coin to your Stacks Wallet. Amounts -such as .0002 BTC are plenty." %} -The Stacks Software wallet uses very small amounts of Bitcoin to pay fees for -transactions. You can only receive Bitcoin with the wallet, you cannot send it -from the Stacks Wallet. You need an account with Coinbase or similar exchange to -buy Bitcoin or send it. +## Reset the wallet -If you attempt to send Stacks with your wallet and you do not have enough -Bitcoin to fuel the transaction, you see this dialog: +Resetting a wallet clears all your data from the Stacks wallet and returns the +wallet to its original state. -![](images/not-enough.png) +* If you entered a Stacks address, resetting clears the address from the Stacks wallet. +* If you connected to a hardware wallet, resetting removes the connection to the hardware wallet. - To increase your Bitcoin for transactions, do the following: +Reseting the wallet does nothing to your addresses or their associated balances. +They are maintained. - 1. Click the - (settings icon) in the upper right corner of the wallet. +Once you reset the wallet, you have to start over from the *Terms of Use*. If +you do not restart the wallet, you can simple close it. - The system opens the **Settings** dialog. - ![](images/settings.png) +1. Click the + (settings icon) in the upper right corner of the wallet. - This dialog shows you how much BTC you currently have in your account. + The system opens the **Settings** dialog. -2. Select **Top up**. + ![](images/settings.png) - The systems displays the **Top Up** dialog with a Bitcoin address. + The **Top Up** button is only visible when you have connected the Stacks + Wallet to a hardware wallet. -3. Record the address. +2. Select **Reset Wallet**. -4. Go to your Coinbase or similar account. -5. Send Bitcoin to the address presented by the Stacks Wallet. + System asks for confirmation. If, for some reason, you want to stop the reset + you would press (right corner) or **Close**. - ![](images/gas-up-cb.gif) +3. Select **Are you sure?** to complete the reset. -Review your Stacks Wallet settings to see the increase in your balance. Your -transaction history also shows any Bitcoin sent to your wallet. + The wallet displays the **Terms of Use**. You can accept to enter the wallet + again or choose **Quit**.