Restructure wallet docs to prep for app wallet content (#9088)
automerge
This commit is contained in:
@@ -1,65 +0,0 @@
|
||||
# Choose a Wallet
|
||||
|
||||
Keypairs are stored in *wallets* and wallets come in many forms. A wallet might
|
||||
be a directory in your computer's file system, a piece of paper, or a
|
||||
specialized device called a *hardware wallet*. Some wallets are easier to use
|
||||
than others. Some are more secure than others. In this section, we will compare
|
||||
and contrast different types of wallets and help you choose the wallet that
|
||||
best fits your needs.
|
||||
|
||||
## File System Wallet
|
||||
|
||||
A *file system wallet*, aka an FS wallet, is a directory in your computer's
|
||||
file system. Each file in the directory holds a keypair.
|
||||
|
||||
### FS Wallet Security
|
||||
|
||||
An FS wallet is the most convenient and least secure form of wallet. It is
|
||||
convenient because the keypair is stored in a simple file. You can generate as
|
||||
many keys as you would like and trivially back them up by copying the files. It
|
||||
is insecure because the keypair files are **unencrypted**. If you are the only
|
||||
user of your computer and you are confident it is free of malware, an FS wallet
|
||||
is a fine solution for small amounts of cryptocurrency. If, however, your
|
||||
computer contains malware and is connected to the Internet, that malware may
|
||||
upload your keys and use them to take your tokens. Likewise, because the
|
||||
keypairs are stored on your computer as files, a skilled hacker with physical
|
||||
access to your computer may be able to access it. Using an encrypted hard
|
||||
drive, such as FileVault on MacOS, minimizes that risk.
|
||||
|
||||
## Paper Wallet
|
||||
|
||||
A *paper wallet* is a collection of *seed phrases* written on paper. A seed
|
||||
phrase is some number of words (typically 12 or 24) that can be used to
|
||||
regenerate a keypair on demand.
|
||||
|
||||
### Paper Wallet Security
|
||||
|
||||
In terms of convenience versus security, a paper wallet sits at the opposite
|
||||
side of the spectrum from an FS wallet. It is terribly inconvenient to use, but
|
||||
offers excellent security. That high security is further amplified when paper
|
||||
wallets are used in conjunction with
|
||||
[offline signing](../offline-signing/index.md). Custody services such as
|
||||
[Coinbase Custody](https://custody.coinbase.com/) use this combination. Paper wallets
|
||||
and custody services are an excellent way to secure a large number of tokens
|
||||
for a long period of time.
|
||||
|
||||
## Hardware Wallet
|
||||
|
||||
A hardware wallet is a small handheld device that stores keypairs and provides
|
||||
some interface for signing transactions.
|
||||
|
||||
### Hardware Wallet Security
|
||||
|
||||
A hardware wallet, such as the
|
||||
[Ledger hardware wallet](https://www.ledger.com/), offers a great blend of
|
||||
security and convenience for cryptocurrencies. It effectively automates the
|
||||
process of offline signing while retaining nearly all the convenience of an FS
|
||||
wallet.
|
||||
|
||||
## Which Wallet is Best?
|
||||
|
||||
Different people will have different needs, but if you are still unsure what
|
||||
is best for you after reading the comparisons above, go with a
|
||||
[Ledger Nano S](https://shop.ledger.com/products/ledger-nano-s). The
|
||||
[Nano S is well-integrated into Solana's tool suite](../remote-wallet/ledger.md)
|
||||
and offers an outstanding blend of security and convenience.
|
@@ -4,8 +4,8 @@ In this section, we will generate a keypair, query it for its public key,
|
||||
and verify you control its private key. Before you begin, you will need
|
||||
to:
|
||||
|
||||
* [Install the Solana Tool Suite](../install-solana.md)
|
||||
* [Choose a wallet](choose-a-wallet.md)
|
||||
* [Install the Solana Tool Suite](install-solana-cli-tools.md)
|
||||
* [Choose a wallet](cli-wallets.md)
|
||||
|
||||
## Generate an FS Wallet Keypair
|
||||
|
||||
|
131
docs/src/cli/install-solana-cli-tools.md
Normal file
131
docs/src/cli/install-solana-cli-tools.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# Install the Solana Tool Suite
|
||||
|
||||
Install the Solana release
|
||||
[LATEST_SOLANA_RELEASE_VERSION](https://github.com/solana-labs/solana/releases/tag/LATEST_SOLANA_RELEASE_VERSION) on your
|
||||
machine by running:
|
||||
|
||||
```bash
|
||||
curl -sSf https://raw.githubusercontent.com/solana-labs/solana/LATEST_SOLANA_RELEASE_VERSION/install/solana-install-init.sh | sh -s - LATEST_SOLANA_RELEASE_VERSION
|
||||
```
|
||||
|
||||
If you are connecting to a different testnet, you can replace `LATEST_SOLANA_RELEASE_VERSION` with the
|
||||
release tag matching the software version of your desired testnet, or replace it
|
||||
with the named channel `stable`, `beta`, or `edge`.
|
||||
|
||||
The following output indicates a successful update:
|
||||
|
||||
```text
|
||||
looking for latest release
|
||||
downloading LATEST_SOLANA_RELEASE_VERSION installer
|
||||
Configuration: /home/solana/.config/solana/install/config.yml
|
||||
Active release directory: /home/solana/.local/share/solana/install/active_release
|
||||
* Release version: LATEST_SOLANA_RELEASE_VERSION
|
||||
* Release URL: https://github.com/solana-labs/solana/releases/download/LATEST_SOLANA_RELEASE_VERSION/solana-release-x86_64-unknown-linux-gnu.tar.bz2
|
||||
Update successful
|
||||
```
|
||||
|
||||
After a successful install, `solana-install update` may be used to easily update
|
||||
the cluster software to a newer version at any time.
|
||||
|
||||
## Download Prebuilt Binaries
|
||||
|
||||
If you would rather not use `solana-install` to manage the install, you can
|
||||
manually download and install the binaries.
|
||||
|
||||
### Linux
|
||||
|
||||
Download the binaries by navigating to
|
||||
[https://github.com/solana-labs/solana/releases/latest](https://github.com/solana-labs/solana/releases/latest),
|
||||
download **solana-release-x86\_64-unknown-linux-gnu.tar.bz2**, then extract the
|
||||
archive:
|
||||
|
||||
```bash
|
||||
tar jxf solana-release-x86_64-unknown-linux-gnu.tar.bz2
|
||||
cd solana-release/
|
||||
export PATH=$PWD/bin:$PATH
|
||||
```
|
||||
|
||||
### macOS
|
||||
|
||||
Download the binaries by navigating to
|
||||
[https://github.com/solana-labs/solana/releases/latest](https://github.com/solana-labs/solana/releases/latest),
|
||||
download **solana-release-x86\_64-apple-darwin.tar.bz2**, then extract the
|
||||
archive:
|
||||
|
||||
```bash
|
||||
tar jxf solana-release-x86_64-apple-darwin.tar.bz2
|
||||
cd solana-release/
|
||||
export PATH=$PWD/bin:$PATH
|
||||
```
|
||||
|
||||
## Build From Source
|
||||
|
||||
If you are unable to use the prebuilt binaries or prefer to build it yourself
|
||||
from source, navigate to
|
||||
[https://github.com/solana-labs/solana/releases/latest](https://github.com/solana-labs/solana/releases/latest),
|
||||
and download the **Source Code** archive. Extract the code and build the
|
||||
binaries with:
|
||||
|
||||
```bash
|
||||
./scripts/cargo-install-all.sh .
|
||||
export PATH=$PWD/bin:$PATH
|
||||
```
|
||||
|
||||
You can then run the following command to obtain the same result as with
|
||||
prebuilt binaries:
|
||||
|
||||
```bash
|
||||
solana-install init
|
||||
```
|
||||
|
||||
# Choosing a Cluster
|
||||
|
||||
Solana maintains several clusters, each featuring a Solana-owned validator
|
||||
that serves as an entrypoint to the cluster.
|
||||
|
||||
Current cluster entrypoints:
|
||||
|
||||
* Devnet: devnet.solana.com
|
||||
* Tour de SOL: tds.solana.com
|
||||
|
||||
Application developers should target Devnet. Key differences
|
||||
between Devnet and what will be Mainnet:
|
||||
|
||||
* Devnet tokens are not real
|
||||
* Devnet includes a token faucet for application testing
|
||||
* Devnet may be subject to ledger resets
|
||||
* Devnet typically runs a newer software version than mainnet
|
||||
* Devnet may be maintained by different validators than mainnet
|
||||
|
||||
## Configure the Command-line
|
||||
|
||||
You can check what cluster the Solana CLI is currently targeting by
|
||||
running the following command:
|
||||
|
||||
```bash
|
||||
solana config get
|
||||
```
|
||||
|
||||
Use the `solana config set` command to target a different cluster.
|
||||
For example, for Devnet, use:
|
||||
|
||||
```bash
|
||||
solana config set --url http://devnet.solana.com
|
||||
```
|
||||
|
||||
## Ensure Versions Match
|
||||
|
||||
Though not strictly necessary, the CLI will generally work best when its version
|
||||
matches the software version running on the cluster. To get the CLI version, run:
|
||||
|
||||
```bash
|
||||
solana --version
|
||||
```
|
||||
|
||||
To get the cluster version, run:
|
||||
|
||||
```bash
|
||||
solana cluster-version
|
||||
```
|
||||
|
||||
Ensure the CLI version is greater than or equal to the cluster version.
|
@@ -6,7 +6,7 @@ To receive tokens, you will need an address for others to send tokens to. In
|
||||
Solana, an address is the public key of a keypair. There are a variety
|
||||
of techniques for generating keypairs. The method you choose will depend on how
|
||||
you choose to store keypairs. Keypairs are stored in wallets. Before receiving
|
||||
tokens, you will need to [choose a wallet](choose-a-wallet.md) and
|
||||
tokens, you will need to [choose a wallet](cli-wallets.md) and
|
||||
[generate keys](generate-keys.md). Once completed, you should have a public key
|
||||
for each keypair you generated. The public key is a long string of base58
|
||||
characters. Its length varies from 32 to 44 characters.
|
||||
|
Reference in New Issue
Block a user