diff --git a/.gitbook.yaml b/.gitbook.yaml deleted file mode 100644 index f9bb600960..0000000000 --- a/.gitbook.yaml +++ /dev/null @@ -1,18 +0,0 @@ -root: ./docs/src - -structure: - readme: introduction.md - summary: SUMMARY.md - -redirects: - wallet: ./wallet-guide/README.md - wallet/app-wallets: ./wallet-guide/apps.md - wallet/app-wallets/trust-wallet: ./wallet-guide/trust-wallet.md - wallet/app-wallets/ledger-live: ./wallet-guide/ledger-live.md - wallet/cli-wallets: ./wallet-guide/cli.md - wallet/cli-wallets/paper-wallet: ./paper-wallet/README.md - wallet/cli-wallets/paper-wallet/paper-wallet-usage: ./paper-wallet/paper-wallet-usage.md - wallet/cli-wallets/remote-wallet: ./hardware-wallets/README.md - wallet/cli-wallets/remote-wallet/ledger: ./hardware-wallets/ledger.md - wallet/cli-wallets/file-system-wallet: ./file-system-wallet/README.md - wallet/support: ./wallet-guide/support.md \ No newline at end of file diff --git a/docs/build.sh b/docs/build.sh index 2c66ca30d5..e3f74fa928 100755 --- a/docs/build.sh +++ b/docs/build.sh @@ -6,15 +6,6 @@ source ../ci/env.sh cd "$(dirname "$0")" -# md check -find src -name '*.md' -a \! -name SUMMARY.md | - while read -r file; do - if ! grep -q '('"${file#src/}"')' src/SUMMARY.md; then - echo "Error: $file missing from SUMMARY.md" - exit 1 - fi - done - : "${rust_stable_docker_image:=}" # Pacify shellcheck # shellcheck source=ci/rust-version.sh diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index a4bb124e9e..9557b9fa96 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -16,20 +16,17 @@ module.exports = { }, links: [ { - to: "docs/", - activeBasePath: "docs", + to: "introduction", label: "Docs", position: "left", }, { - to: "docs/apps/README", - activeBasePath: "docs2", + to: "apps/README", label: "Developers", position: "left", }, { - to: "docs/running-validator/README", - activeBasePath: "docs2", + to: "running-validator/README", label: "Validators", position: "left", }, @@ -54,11 +51,11 @@ module.exports = { items: [ { label: "Introduction", - to: "docs/introduction", + to: "introduction", }, { label: "Tour de SOL", - to: "docs/tour-de-sol/README", + to: "tour-de-sol/README", }, ], }, @@ -98,11 +95,8 @@ module.exports = { { docs: { path: "src", - // It is recommended to set document id as docs home page (`docs/` path). - homePageId: "introduction", + routeBasePath: "/", sidebarPath: require.resolve("./sidebars.js"), - // Please change this to your repo. - editUrl: "https://github.com/solana-labs/solana/edit/master/docs/", }, theme: { customCss: require.resolve("./src/css/custom.css"), diff --git a/docs/sidebars.js b/docs/sidebars.js index 6c72ff0cef..f855b824a4 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -1,8 +1,8 @@ module.exports = { docs: { - Introduction: ["introduction"], + "Introduction": ["introduction"], "Wallet Guide": [ - "wallet-guide/README", + "wallet-guide", { type: "category", label: "App Wallets", @@ -17,34 +17,34 @@ module.exports = { label: "Command-line Wallets", items: [ "wallet-guide/cli", - { - type: "category", - label: "Paper Wallets", - items: ["paper-wallet/README", "paper-wallet/paper-wallet-usage"], - }, + "wallet-guide/paper-wallet", { type: "category", label: "Hardware Wallets", - items: ["hardware-wallets/README", "hardware-wallets/ledger"], + items: ["wallet-guide/hardware-wallets", "wallet-guide/hardware-wallets/ledger"], }, - "file-system-wallet/README", + "wallet-guide/file-system-wallet", ], }, "wallet-guide/support", ], + "Staking Guide": [ + "staking", + "staking/stake-accounts", + ], "Command Line Guide": [ - "cli/README", + "cli", "cli/install-solana-cli-tools", "cli/conventions", "cli/choose-a-cluster", "cli/transfer-tokens", "cli/manage-stake-accounts", - "offline-signing/README", + "offline-signing", "offline-signing/durable-nonce", ], "Solana Clusters": ["clusters"], "Develop Applications": [ - "apps/README", + "apps", "apps/rent", "apps/webwallet", "apps/tictactoe", @@ -52,11 +52,11 @@ module.exports = { "transaction", "apps/jsonrpc-api", "apps/javascript-api", - "apps/builtins/README", + "apps/builtins", ], "Integration Guides": ["integrations/exchange"], "Run a Validator": [ - "running-validator/README", + "running-validator", "running-validator/validator-reqs", "running-validator/validator-start", "running-validator/validator-stake", @@ -65,8 +65,7 @@ module.exports = { "running-validator/validator-troubleshoot", ], "Tour de SOL": [ - "tour-de-sol/README", - "tour-de-sol/useful-links", + "tour-de-sol", { type: "category", label: "Registration", @@ -87,11 +86,12 @@ module.exports = { "tour-de-sol/participation/steps-to-create-a-validator", ], }, + "tour-de-sol/useful-links", "tour-de-sol/submitting-bugs", ], "Benchmark a Cluster": ["cluster/bench-tps", "cluster/performance-metrics"], "Solana's Architecture": [ - "cluster/README", + "cluster/overview", "cluster/synchronization", "cluster/leader-rotation", "cluster/fork-generation", @@ -101,7 +101,7 @@ module.exports = { "cluster/stake-delegation-and-rewards", ], "Anatomy of a Validator": [ - "validator/README", + "validator/anatomy", "validator/tpu", "validator/tvu", "validator/blockstore", @@ -115,12 +115,12 @@ module.exports = { type: "category", label: "Economic Design", items: [ - "implemented-proposals/ed_overview/README", + "implemented-proposals/ed_overview/ed_cluster_economics", { type: "category", label: "Validation Client Economics", items: [ - "implemented-proposals/ed_overview/ed_validation_client_economics/README", + "implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_overview", "implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards", "implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_transaction_fees", "implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_validation_stake_delegation", @@ -153,7 +153,7 @@ module.exports = { "implemented-proposals/abi-management", ], "Accepted Design Proposals": [ - "proposals/README", + "proposals/accepted_design_proposals", "proposals/ledger-replication-to-implement", "proposals/optimistic-confirmation-and-slashing", "proposals/vote-signing-to-implement", diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md deleted file mode 100644 index 3a81b2ff08..0000000000 --- a/docs/src/SUMMARY.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: Table of contents ---- - -* [Introduction](introduction.md) -* [Wallet Guide](wallet-guide/README.md) - * [App Wallets](wallet-guide/apps.md) - * [Trust Wallet](wallet-guide/trust-wallet.md) - * [Ledger Live](wallet-guide/ledger-live.md) - * [Command-line Wallets](wallet-guide/cli.md) - * [Paper Wallet](paper-wallet/README.md) - * [Paper Wallet Usage](paper-wallet/paper-wallet-usage.md) - * [Hardware Wallets](hardware-wallets/README.md) - * [Ledger Hardware Wallet](hardware-wallets/ledger.md) - * [File System Wallet](file-system-wallet/README.md) - * [Support / Troubleshooting](wallet-guide/support.md) -* [Staking Guide](staking/README.md) - * [Stake Account Details](staking/stake-accounts.md) -* [Command Line Guide](cli/README.md) - * [Install the Solana Command Line Tool Suite](cli/install-solana-cli-tools.md) - * [Command Line Conventions](cli/conventions.md) - * [Choose a Cluster](cli/choose-a-cluster.md) - * [Send and Receive Tokens](cli/transfer-tokens.md) - * [Delegate Stake](cli/delegate-stake.md) - * [Manage Stake Accounts](cli/manage-stake-accounts.md) - * [Offline Signing](offline-signing/README.md) - * [Durable Transaction Nonces](offline-signing/durable-nonce.md) - * [Command-line Reference](cli/usage.md) -* [Solana Clusters](clusters.md) -* [Develop Applications](apps/README.md) - * [Accounts and Rent](apps/rent.md) - * [Example: Web Wallet](apps/webwallet.md) - * [Example: Tic-Tac-Toe](apps/tictactoe.md) - * [Drones](apps/drones.md) - * [Anatomy of a Transaction](transaction.md) - * [JSON RPC API](apps/jsonrpc-api.md) - * [JavaScript API](apps/javascript-api.md) - * [Builtin Programs](apps/builtins/README.md) -* [Integration Guides](integrations/README.md) - * [Exchange](integrations/exchange.md) -* [Run a Validator](running-validator/README.md) - * [Validator Requirements](running-validator/validator-reqs.md) - * [Start a Validator](running-validator/validator-start.md) - * [Stake](running-validator/validator-stake.md) - * [Monitor a Validator](running-validator/validator-monitor.md) - * [Publish Validator Info](running-validator/validator-info.md) - * [Restart a Cluster](running-validator/restart-cluster.md) - * [Troubleshoot](running-validator/validator-troubleshoot.md) -* [Participate in Tour de SOL](tour-de-sol/README.md) - * [Useful Links & Discussion](tour-de-sol/useful-links.md) - * [Registration](tour-de-sol/registration/README.md) - * [How To Register](tour-de-sol/registration/how-to-register.md) - * [Terms of Participation](tour-de-sol/registration/terms-of-participation.md) - * [Rewards](tour-de-sol/registration/rewards.md) - * [Confidentiality](tour-de-sol/registration/confidentiality.md) - * [Registration FAQ](tour-de-sol/registration/validator-registration-and-rewards-faq.md) - * [Participation](tour-de-sol/participation/README.md) - * [Requirements to run a validator](tour-de-sol/participation/validator-technical-requirements.md) - * [Create a validator public key](tour-de-sol/participation/validator-public-key-registration.md) - * [Steps to create a validator](tour-de-sol/participation/steps-to-create-a-validator.md) - * [Submit Bug Reports](tour-de-sol/submitting-bugs.md) -* [Benchmark a Cluster](cluster/bench-tps.md) - * [Performance Metrics](cluster/performance-metrics.md) -* [Solana's Architecture](cluster/README.md) - * [Synchronization](cluster/synchronization.md) - * [Leader Rotation](cluster/leader-rotation.md) - * [Fork Generation](cluster/fork-generation.md) - * [Managing Forks](cluster/managing-forks.md) - * [Turbine Block Propagation](cluster/turbine-block-propagation.md) - * [Secure Vote Signing](cluster/vote-signing.md) - * [Stake Delegation and Rewards](cluster/stake-delegation-and-rewards.md) -* [Anatomy of a Validator](validator/README.md) - * [TPU](validator/tpu.md) - * [TVU](validator/tvu.md) - * [Blockstore](validator/blockstore.md) - * [Gossip Service](validator/gossip.md) - * [The Runtime](validator/runtime.md) -* [Terminology](terminology.md) -* [History](history.md) -* [Implemented Design Proposals](implemented-proposals/README.md) - * [Cluster Software Installation and Updates](implemented-proposals/installer.md) - * [Cluster Economics](implemented-proposals/ed_overview/README.md) - * [Validation-client Economics](implemented-proposals/ed_overview/ed_validation_client_economics/README.md) - * [State-validation Protocol-based Rewards](implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md) - * [State-validation Transaction Fees](implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_transaction_fees.md) - * [Validation Stake Delegation](implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_validation_stake_delegation.md) - * [Storage Rent Economics](implemented-proposals/ed_overview/ed_storage_rent_economics.md) - * [Economic Sustainability](implemented-proposals/ed_overview/ed_economic_sustainability.md) - * [Economic Design MVP](implemented-proposals/ed_overview/ed_mvp.md) - * [References](implemented-proposals/ed_overview/ed_references.md) - * [Deterministic Transaction Fees](implemented-proposals/transaction-fees.md) - * [Tower BFT](implemented-proposals/tower-bft.md) - * [Leader-to-Leader Transition](implemented-proposals/leader-leader-transition.md) - * [Leader-to-Validator Transition](implemented-proposals/leader-validator-transition.md) - * [Persistent Account Storage](implemented-proposals/persistent-account-storage.md) - * [Reliable Vote Transmission](implemented-proposals/reliable-vote-transmission.md) - * [Repair Service](implemented-proposals/repair-service.md) - * [Testing Programs](implemented-proposals/testing-programs.md) - * [Credit-only Accounts](implemented-proposals/readonly-accounts.md) - * [Embedding the Move Langauge](implemented-proposals/embedding-move.md) - * [Staking Rewards](implemented-proposals/staking-rewards.md) - * [Rent](implemented-proposals/rent.md) - * [Durable Transaction Nonces](implemented-proposals/durable-tx-nonces.md) - * [Validator Timestamp Oracle](implemented-proposals/validator-timestamp-oracle.md) - * [Commitment](implemented-proposals/commitment.md) - * [Snapshot Verification](implemented-proposals/snapshot-verification.md) - * [Cross-Program Invocation](implemented-proposals/cross-program-invocation.md) - * [Program Derived Addresses](implemented-proposals/program-derived-addresses.md) - * [ABI Management](implemented-proposals/abi-management.md) -* [Accepted Design Proposals](proposals/README.md) - * [Ledger Replication](proposals/ledger-replication-to-implement.md) - * [Optimistic Confirmation and Slashing](proposals/optimistic-confirmation-and-slashing.md) - * [Secure Vote Signing](proposals/vote-signing-to-implement.md) - * [Cluster Test Framework](proposals/cluster-test-framework.md) - * [Validator](proposals/validator-proposal.md) - * [Simple Payment and State Verification](proposals/simple-payment-and-state-verification.md) - * [Inter-chain Transaction Verification](proposals/interchain-transaction-verification.md) - * [Snapshot Verification](proposals/snapshot-verification.md) - * [Bankless Leader](proposals/bankless-leader.md) - * [Slashing](proposals/slashing.md) - * [Tick Verification](proposals/tick-verification.md) - * [Block Confirmation](proposals/block-confirmation.md) - * [Rust Clients](proposals/rust-clients.md) - * [Optimistic Confirmation](proposals/optimistic_confirmation.md) - * [Program Instruction Macro](proposals/program-instruction-macro.md) diff --git a/docs/src/apps/README.md b/docs/src/apps.md similarity index 97% rename from docs/src/apps/README.md rename to docs/src/apps.md index 977ee076da..38c26da1df 100644 --- a/docs/src/apps/README.md +++ b/docs/src/apps.md @@ -30,7 +30,7 @@ A program may be written in any programming language that can target the Berkley If the program needs to store state between transactions, it does so using _accounts_. Accounts are similar to files in operating systems such as Linux. Like a file, an account may hold arbitrary data and that data persists beyond the lifetime of a program. Also like a file, an account includes metadata that tells the runtime who is allowed to access the data and how. -Unlike a file, the account includes metadata for the lifetime of the file. That lifetime is expressed in "tokens", which is a number of fractional native tokens, called _lamports_. Accounts are held in validator memory and pay ["rent"](rent.md) to stay there. Each validator periodically scans all accounts and collects rent. Any account that drops to zero lamports is purged. +Unlike a file, the account includes metadata for the lifetime of the file. That lifetime is expressed in "tokens", which is a number of fractional native tokens, called _lamports_. Accounts are held in validator memory and pay ["rent"](apps/rent.md) to stay there. Each validator periodically scans all accounts and collects rent. Any account that drops to zero lamports is purged. In the same way that a Linux user uses a path to look up a file, a Solana client uses an _address_ to look up an account. The address is usually a 256-bit public key. To create an account with a public-key address, the client generates a _keypair_ and registers its public key using the `CreateAccount` instruction with preallocated fixed storage size in bytes. In fact, the account address can be an arbitrary 32 bytes, and there is a mechanism for advanced users to create derived addresses (`CreateAccountWithSeed`). Addresses are presented in Base58 encoding on user interfaces. diff --git a/docs/src/apps/builtins/README.md b/docs/src/apps/builtins.md similarity index 100% rename from docs/src/apps/builtins/README.md rename to docs/src/apps/builtins.md diff --git a/docs/src/cli/README.md b/docs/src/cli.md similarity index 76% rename from docs/src/cli/README.md rename to docs/src/cli.md index c420b5d4a8..a4461c6d76 100644 --- a/docs/src/cli/README.md +++ b/docs/src/cli.md @@ -16,7 +16,7 @@ secure access to your Solana accounts. To get started using the Solana Command Line (CLI) tools: -- [Install the Solana Tools](install-solana-cli-tools.md) -- [Choose a Cluster](choose-a-cluster.md) -- [Create a Wallet](../wallet-guide/cli.md) -- [Check out our CLI conventions](conventions.md) +- [Install the Solana Tools](cli/install-solana-cli-tools.md) +- [Choose a Cluster](cli/choose-a-cluster.md) +- [Create a Wallet](wallet-guide/cli.md) +- [Check out our CLI conventions](cli/conventions.md) diff --git a/docs/src/cli/conventions.md b/docs/src/cli/conventions.md index 0f5d5acc8d..590bbd3998 100644 --- a/docs/src/cli/conventions.md +++ b/docs/src/cli/conventions.md @@ -72,7 +72,7 @@ solana-keygen pubkey /home/solana/my_wallet.json #### Hardware Wallet If you chose a hardware wallet, use your -[keypair URL](../hardware-wallets/README.md#specify-a-hardware-wallet-key), +[keypair URL](../wallet-guide/hardware-wallets.md#specify-a-hardware-wallet-key), such as `usb://ledger?key=0`. ```bash diff --git a/docs/src/cli/transfer-tokens.md b/docs/src/cli/transfer-tokens.md index 5111de3b02..a6dabfaa91 100644 --- a/docs/src/cli/transfer-tokens.md +++ b/docs/src/cli/transfer-tokens.md @@ -3,9 +3,9 @@ title: Send and Receive Tokens --- This page decribes how to receive and send SOL tokens using the command line -tools with a command line wallet such as a [paper wallet](../paper-wallet/README.md), -a [file system wallet](../file-system-wallet/README.md), or a -[hardware wallet](../hardware-wallets/README.md). Before you begin, make sure +tools with a command line wallet such as a [paper wallet](../wallet-guide/paper-wallet.md), +a [file system wallet](../wallet-guide/file-system-wallet.md), or a +[hardware wallet](../wallet-guide/hardware-wallets.md). Before you begin, make sure you have created a wallet and have access to its address (pubkey) and the signing keypair. Check out our [conventions for entering keypairs for different wallet types](../cli/conventions.md#keypair-conventions). @@ -60,8 +60,8 @@ pubkey: GKvqsuNcnwWqPzzuhLmGi4rzzh55FhJtGizkhHaEJqiV You can also create a second (or more) wallet of any type: [paper](../paper-wallet/paper-wallet-usage.md#creating-multiple-paper-wallet-addresses), -[file system](../file-system-wallet/README.md#creating-multiple-file-system-wallet-addresses), -or [hardware](../hardware-wallets/README.md#multiple-addresses-on-a-single-hardware-wallet). +[file system](../wallet-guide/file-system-wallet.md#creating-multiple-file-system-wallet-addresses), +or [hardware](../wallet-guide/hardware-wallets.md#multiple-addresses-on-a-single-hardware-wallet). #### Transfer tokens from your first wallet to the second address diff --git a/docs/src/cluster/README.md b/docs/src/cluster/overview.md similarity index 100% rename from docs/src/cluster/README.md rename to docs/src/cluster/overview.md diff --git a/docs/src/clusters.md b/docs/src/clusters.md index 6d4f02d35a..5c913b7422 100644 --- a/docs/src/clusters.md +++ b/docs/src/clusters.md @@ -57,7 +57,7 @@ The `--trusted-validator`s is operated by Solana - Testnet is where we stress test recent release features on a live cluster, particularly focused on network performance, stability and validator behavior. -- [Tour de SOL](tour-de-sol/README.md) initiative runs on Testnet, where we +- [Tour de SOL](tour-de-sol.md) initiative runs on Testnet, where we encourage malicious behavior and attacks on the network to help us find and squash bugs or network vulnerabilities. - Testnet tokens are **not real** diff --git a/docs/src/implemented-proposals/README.md b/docs/src/implemented-proposals/README.md deleted file mode 100644 index 839697a6e7..0000000000 --- a/docs/src/implemented-proposals/README.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Implemented Design Proposals ---- - -The following design proposals are fully implemented. diff --git a/docs/src/implemented-proposals/ed_overview/README.md b/docs/src/implemented-proposals/ed_overview/ed_cluster_economics.md similarity index 71% rename from docs/src/implemented-proposals/ed_overview/README.md rename to docs/src/implemented-proposals/ed_overview/ed_cluster_economics.md index e94bfe0eaa..c41a91a139 100644 --- a/docs/src/implemented-proposals/ed_overview/README.md +++ b/docs/src/implemented-proposals/ed_overview/ed_cluster_economics.md @@ -12,7 +12,7 @@ These protocol-based rewards, to be distributed to participating validation clie Transaction fees are market-based participant-to-participant transfers, attached to network interactions as a necessary motivation and compensation for the inclusion and execution of a proposed transaction. A mechanism for long-term economic stability and forking protection through partial burning of each transaction fee is also discussed below. -A high-level schematic of Solana’s crypto-economic design is shown below in **Figure 1**. The specifics of validation-client economics are described in sections: [Validation-client Economics](ed_validation_client_economics/README.md), [State-validation Protocol-based Rewards](ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md), [State-validation Transaction Fees](ed_validation_client_economics/ed_vce_state_validation_transaction_fees.md). Also, the section titled [Validation Stake Delegation](ed_validation_client_economics/ed_vce_validation_stake_delegation.md) closes with a discussion of validator delegation opportunities and marketplace. Additionally, in [Storage Rent Economics](ed_storage_rent_economics.md), we describe an implementation of storage rent to account for the externality costs of maintaining the active state of the ledger. An outline of features for an MVP economic design is discussed in the [Economic Design MVP](ed_mvp.md) section. +A high-level schematic of Solana’s crypto-economic design is shown below in **Figure 1**. The specifics of validation-client economics are described in sections: [Validation-client Economics](ed_validation_client_economics/ed_vce_overview.md), [State-validation Protocol-based Rewards](ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md), [State-validation Transaction Fees](ed_validation_client_economics/ed_vce_state_validation_transaction_fees.md). Also, the section titled [Validation Stake Delegation](ed_validation_client_economics/ed_vce_validation_stake_delegation.md) closes with a discussion of validator delegation opportunities and marketplace. Additionally, in [Storage Rent Economics](ed_storage_rent_economics.md), we describe an implementation of storage rent to account for the externality costs of maintaining the active state of the ledger. An outline of features for an MVP economic design is discussed in the [Economic Design MVP](ed_mvp.md) section. ![](/img/economic_design_infl_230719.png) diff --git a/docs/src/implemented-proposals/ed_overview/ed_validation_client_economics/README.md b/docs/src/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_overview.md similarity index 100% rename from docs/src/implemented-proposals/ed_overview/ed_validation_client_economics/README.md rename to docs/src/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_overview.md diff --git a/docs/src/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md b/docs/src/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md index 72c233d132..ad809b1c94 100644 --- a/docs/src/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md +++ b/docs/src/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md @@ -13,7 +13,7 @@ Validator-client rewards for these services are to be distributed at the end of The effective protocol-based annual interest rate \(%\) per epoch received by validation-clients is to be a function of: -- the current global inflation rate, derived from the pre-determined dis-inflationary issuance schedule \(see [Validation-client Economics](README.md)\) +- the current global inflation rate, derived from the pre-determined dis-inflationary issuance schedule \(see [Validation-client Economics](ed_vce_overview.md)\) - the fraction of staked SOLs out of the current total circulating supply, - the up-time/participation \[% of available slots that validator had opportunity to vote on\] of a given validator over the previous epoch. diff --git a/docs/src/implemented-proposals/staking-rewards.md b/docs/src/implemented-proposals/staking-rewards.md index 7aae3d21fa..f9e4d456f3 100644 --- a/docs/src/implemented-proposals/staking-rewards.md +++ b/docs/src/implemented-proposals/staking-rewards.md @@ -52,6 +52,6 @@ Solana's trustless sense of time and ordering provided by its PoH data structure ## Penalties -As discussed in the [Economic Design](../implemented-proposals/ed_overview/README.md) section, annual validator interest rates are to be specified as a function of total percentage of circulating supply that has been staked. The cluster rewards validators who are online and actively participating in the validation process throughout the entirety of their _validation period_. For validators that go offline/fail to validate transactions during this period, their annual reward is effectively reduced. +As discussed in the [Economic Design](ed_overview/ed_cluster_economics.md) section, annual validator interest rates are to be specified as a function of total percentage of circulating supply that has been staked. The cluster rewards validators who are online and actively participating in the validation process throughout the entirety of their _validation period_. For validators that go offline/fail to validate transactions during this period, their annual reward is effectively reduced. Similarly, we may consider an algorithmic reduction in a validator's active amount staked amount in the case that they are offline. I.e. if a validator is inactive for some amount of time, either due to a partition or otherwise, the amount of their stake that is considered ‘active’ \(eligible to earn rewards\) may be reduced. This design would be structured to help long-lived partitions to eventually reach finality on their respective chains as the % of non-voting total stake is reduced over time until a supermajority can be achieved by the active validators in each partition. Similarly, upon re-engaging, the ‘active’ amount staked will come back online at some defined rate. Different rates of stake reduction may be considered depending on the size of the partition/active set. diff --git a/docs/src/integrations/README.md b/docs/src/integrations/README.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/src/integrations/exchange.md b/docs/src/integrations/exchange.md index 9a41339cdd..e9df6b2eb1 100644 --- a/docs/src/integrations/exchange.md +++ b/docs/src/integrations/exchange.md @@ -93,7 +93,7 @@ curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0","id":1,"m You may wish to keep the keys for one or more collection accounts offline for greater security. If so, you will need to move SOL to hot accounts using our -[offline methods](../offline-signing/README.md). +[offline methods](../offline-signing.md). ## Listening for Deposits diff --git a/docs/src/offline-signing/README.md b/docs/src/offline-signing.md similarity index 89% rename from docs/src/offline-signing/README.md rename to docs/src/offline-signing.md index 6f77ba2843..bc09263cb1 100644 --- a/docs/src/offline-signing/README.md +++ b/docs/src/offline-signing.md @@ -7,7 +7,7 @@ process, separated from transaction creation and network broadcast. Examples include: - Collecting signatures from geographically disparate signers in a - [multi-signature scheme](../cli/usage.md#multiple-witnesses) + [multi-signature scheme](cli/usage.md#multiple-witnesses) - Signing transactions using an [airgapped]() signing device @@ -18,14 +18,14 @@ transaction. At present, the following commands support offline signing: -- [`create-stake-account`](../cli/usage.md#solana-create-stake-account) -- [`deactivate-stake`](../cli/usage.md#solana-deactivate-stake) -- [`delegate-stake`](../cli/usage.md#solana-delegate-stake) -- [`split-stake`](../cli/usage.md#solana-split-stake) -- [`stake-authorize`](../cli/usage.md#solana-stake-authorize) -- [`stake-set-lockup`](../cli/usage.md#solana-stake-set-lockup) -- [`transfer`](../cli/usage.md#solana-transfer) -- [`withdraw-stake`](../cli/usage.md#solana-withdraw-stake) +- [`create-stake-account`](cli/usage.md#solana-create-stake-account) +- [`deactivate-stake`](cli/usage.md#solana-deactivate-stake) +- [`delegate-stake`](cli/usage.md#solana-delegate-stake) +- [`split-stake`](cli/usage.md#solana-split-stake) +- [`stake-authorize`](cli/usage.md#solana-stake-authorize) +- [`stake-set-lockup`](cli/usage.md#solana-stake-set-lockup) +- [`transfer`](cli/usage.md#solana-transfer) +- [`withdraw-stake`](cli/usage.md#solana-withdraw-stake) ## Signing Transactions Offline @@ -158,5 +158,5 @@ ohGKvpRC46jAduwU9NW8tP91JkCT5r8Mo67Ysnid4zc76tiiV1Ho6jv3BKFSbBcr2NcPPCarmfTLSkTH Typically a Solana transaction must be signed and accepted by the network within a number of slots from the blockhash in its `recent_blockhash` field (~2min at the time of this writing). If your signing procedure takes longer than this, a -[Durable Transaction Nonce](durable-nonce.md) can give you the extra time you +[Durable Transaction Nonce](offline-signing/durable-nonce.md) can give you the extra time you need. diff --git a/docs/src/offline-signing/durable-nonce.md b/docs/src/offline-signing/durable-nonce.md index b34a95bbe4..187cc0cfd6 100644 --- a/docs/src/offline-signing/durable-nonce.md +++ b/docs/src/offline-signing/durable-nonce.md @@ -48,7 +48,7 @@ solana create-nonce-account nonce-keypair.json 1 2SymGjGV4ksPdpbaqWFiDoBz8okvtiik4KE9cnMQgRHrRLySSdZ6jrEcpPifW4xUpp4z66XM9d9wM48sA7peG2XL ``` -> To keep the keypair entirely offline, use the [Paper Wallet](../paper-wallet/README.md) keypair generation [instructions](../paper-wallet/paper-wallet-usage.md#seed-phrase-generation.md) instead +> To keep the keypair entirely offline, use the [Paper Wallet](../wallet-guide/paper-wallet.md) keypair generation [instructions](../paper-wallet/paper-wallet-usage.md#seed-phrase-generation.md) instead > [Full usage documentation](../cli/usage.md#solana-create-nonce-account) diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js index 2438948728..2c97cd5b83 100644 --- a/docs/src/pages/index.js +++ b/docs/src/pages/index.js @@ -9,17 +9,17 @@ import styles from "./styles.module.css"; const features = [ { title: <>Run a Validator, - imageUrl: "docs/running-validator/README", + imageUrl: "running-validator", description: <>Learn how to start a validator on the Solana cluster., }, { title: <>Launch an Application, - imageUrl: "docs/apps/README", + imageUrl: "apps", description: <>Build superfast applications with one API., }, { title: <>Participate in Tour de SOL, - imageUrl: "docs/tour-de-sol/README", + imageUrl: "tour-de-sol", description: ( <> Participate in our incentivised testnet and earn rewards by finding @@ -29,7 +29,7 @@ const features = [ }, { title: <>Integrate the SOL token into your Exchange, - imageUrl: "docs/integrations/exchange", + imageUrl: "integrations/exchange", description: ( <> Follow our extensive integration guide to ensure a seamless user @@ -39,7 +39,7 @@ const features = [ }, { title: <>Create or Configure a Solana Wallet, - imageUrl: "docs/wallet-guide/README", + imageUrl: "wallet-guide", description: ( <> Whether you need to create a wallet, check the balance of your funds, or @@ -49,7 +49,7 @@ const features = [ }, { title: <>Learn About Solana's Architecture, - imageUrl: "docs/cluster/README", + imageUrl: "cluster/overview", description: ( <> Familiarize yourself with the high level architecture of a Solana @@ -59,7 +59,7 @@ const features = [ }, // // { // title: <>Understand Our Economic Design, - // imageUrl: "docs/implemented-proposals/ed_overview/README", + // imageUrl: "implemented-proposals/ed_overview/ed_cluster_economics", // description: ( // <> // Solana's Economic Design provides a scalable blueprint for long term diff --git a/docs/src/paper-wallet/README.md b/docs/src/paper-wallet/README.md deleted file mode 100644 index f26dd74d1c..0000000000 --- a/docs/src/paper-wallet/README.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Paper Wallet ---- - -This document describes how to create and use a paper wallet with the Solana CLI -tools. - -> We do not intend to advise on how to _securely_ create or manage paper wallets. Please research the security concerns carefully. - -## Overview - -Solana provides a key generation tool to derive keys from BIP39 compliant seed -phrases. Solana CLI commands for running a validator and staking tokens all -support keypair input via seed phrases. - -To learn more about the BIP39 standard, visit the Bitcoin BIPs Github repository -[here](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki). - -[Usage](paper-wallet-usage.md) diff --git a/docs/src/proposals/README.md b/docs/src/proposals/accepted_design_proposals.md similarity index 100% rename from docs/src/proposals/README.md rename to docs/src/proposals/accepted_design_proposals.md diff --git a/docs/src/running-validator/README.md b/docs/src/running-validator.md similarity index 70% rename from docs/src/running-validator/README.md rename to docs/src/running-validator.md index 358e681dc6..fd6699ca58 100644 --- a/docs/src/running-validator/README.md +++ b/docs/src/running-validator.md @@ -4,4 +4,4 @@ title: Running a Validator This section describes how run a Solana validator node. -There are several clusters available to connect to, see [choosing a Cluster](../cli/choose-a-cluster.md) for an overview of each. +There are several clusters available to connect to, see [choosing a Cluster](cli/choose-a-cluster.md) for an overview of each. diff --git a/docs/src/running-validator/validator-start.md b/docs/src/running-validator/validator-start.md index 8ff63d4c48..0038420e10 100644 --- a/docs/src/running-validator/validator-start.md +++ b/docs/src/running-validator/validator-start.md @@ -142,7 +142,7 @@ solana airdrop 10 ``` Note that airdrops are only available on Devnet. Testnet SOL can be obtained by -participating in the [Tour de SOL](../tour-de-sol/README.md) program. +participating in the [Tour de SOL](../tour-de-sol.md) program. To view your current balance: diff --git a/docs/src/staking/README.md b/docs/src/staking.md similarity index 95% rename from docs/src/staking/README.md rename to docs/src/staking.md index dfb3652a82..e01e9980a4 100644 --- a/docs/src/staking/README.md +++ b/docs/src/staking.md @@ -1,12 +1,14 @@ +--- +title: Staking on Solana +--- + *Note before reading: All references to increases in values are in absolute terms with regards to balance of SOL. This document makes no suggestion as to the monetary value of SOL at any time.* -# Staking on Solana - Staking your SOL tokens on Solana is the best way you can help secure the world's highest-performing blockchain network, and -[earn rewards](../implemented-proposals/staking-rewards.md) for doing so! +[earn rewards](implemented-proposals/staking-rewards.md) for doing so! Inflation and network rewards are *NOT* presently enabled on Solana's Mainnet Beta network, but may be enabled in the future. @@ -65,7 +67,7 @@ description is below. Currently, staking operation are only supported by wallets that can interact with the Solana command line tools, including Ledger Nano S and paper wallet. -[Staking commands using the Solana Command Line Tools](../cli/delegate-stake.md) +[Staking commands using the Solana Command Line Tools](cli/delegate-stake.md) #### Create a Stake Account A stake account is a different type of account from a wallet address @@ -108,4 +110,4 @@ account address. ## Stake Account Details For more information about the operations and permissions associated with a -stake account, please see [Stake Accounts](stake-accounts.md) +stake account, please see [Stake Accounts](staking/stake-accounts.md) diff --git a/docs/src/staking/stake-accounts.md b/docs/src/staking/stake-accounts.md index e7f4dc066a..997911e516 100644 --- a/docs/src/staking/stake-accounts.md +++ b/docs/src/staking/stake-accounts.md @@ -1,4 +1,7 @@ -## Stake Account Structure +--- +title: Stake Account Structure +--- + A stake account on Solana can be used to delegate tokens to validators on the network to potentially earn rewards for the owner of the stake account. Stake accounts are created and managed differently than a traditional wallet diff --git a/docs/src/tour-de-sol/README.md b/docs/src/tour-de-sol.md similarity index 100% rename from docs/src/tour-de-sol/README.md rename to docs/src/tour-de-sol.md diff --git a/docs/src/tour-de-sol/registration/how-to-register.md b/docs/src/tour-de-sol/registration/how-to-register.md index aa423f8a43..42d0fe89d6 100644 --- a/docs/src/tour-de-sol/registration/how-to-register.md +++ b/docs/src/tour-de-sol/registration/how-to-register.md @@ -22,7 +22,7 @@ communication channel: https://discord.gg/N3mqAfa ### Next Steps - Check out our documentation to start getting familiar with how to - [Run a Validator](../../running-validator/README.md) + [Run a Validator](../../running-validator.md) - After you've finished the registration and KYC, you will receive an email with instructions to finish your on-boarding process. diff --git a/docs/src/tour-de-sol/useful-links.md b/docs/src/tour-de-sol/useful-links.md index 66f443e5e8..f856c3b788 100644 --- a/docs/src/tour-de-sol/useful-links.md +++ b/docs/src/tour-de-sol/useful-links.md @@ -12,6 +12,4 @@ description: Where to go after you've read this guide - [Core software repo](https://github.com/solana-labs/solana) - [Submit bugs and feedback in this repo](https://github.com/solana-labs/solana/issues) -{% hint style="info" %} -Can't find what you're looking for? Send an email to ryan@solana.com or reach out to @rshea\#2622 on Discord. -{% endhint %} +> Can't find what you're looking for? Send an email to ryan@solana.com or reach out to @rshea\#2622 on Discord. diff --git a/docs/src/validator/README.md b/docs/src/validator/anatomy.md similarity index 100% rename from docs/src/validator/README.md rename to docs/src/validator/anatomy.md diff --git a/docs/src/wallet-guide/README.md b/docs/src/wallet-guide.md similarity index 97% rename from docs/src/wallet-guide/README.md rename to docs/src/wallet-guide.md index 243da37eec..953142dabb 100644 --- a/docs/src/wallet-guide/README.md +++ b/docs/src/wallet-guide.md @@ -56,11 +56,7 @@ For the majority of users, we recommend using one of the [app wallets](apps.md), which will provide a more familiar user experience rather than needing to learn command line tools. -{% page-ref page="apps.md" %} - For advanced users or developers, the [command-line wallets](cli.md) may be more appropriate, as new features on the Solana blockchain will always be supported on the command line first before being integrated into third-party solutions. - -{% page-ref page="cli.md" %} diff --git a/docs/src/wallet-guide/cli.md b/docs/src/wallet-guide/cli.md index b284794d91..498b207aea 100644 --- a/docs/src/wallet-guide/cli.md +++ b/docs/src/wallet-guide/cli.md @@ -44,12 +44,12 @@ 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/README.md). Custody services such as +[offline signing](../offline-signing.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. -[Paper Wallets](../paper-wallet/README.md) +[Paper Wallets](paper-wallet.md) ## Hardware Wallet diff --git a/docs/src/file-system-wallet/README.md b/docs/src/wallet-guide/file-system-wallet.md similarity index 100% rename from docs/src/file-system-wallet/README.md rename to docs/src/wallet-guide/file-system-wallet.md diff --git a/docs/src/hardware-wallets/README.md b/docs/src/wallet-guide/hardware-wallets.md similarity index 97% rename from docs/src/hardware-wallets/README.md rename to docs/src/wallet-guide/hardware-wallets.md index 94e3ef0e3d..b6652fde5c 100644 --- a/docs/src/hardware-wallets/README.md +++ b/docs/src/wallet-guide/hardware-wallets.md @@ -19,7 +19,7 @@ hardware wallet. The Solana CLI supports the following hardware wallets: -- [Ledger Nano S](ledger.md) +- [Ledger Nano S](hardware-wallets/ledger.md) ## Specify a Keypair URL diff --git a/docs/src/hardware-wallets/ledger.md b/docs/src/wallet-guide/hardware-wallets/ledger.md similarity index 95% rename from docs/src/hardware-wallets/ledger.md rename to docs/src/wallet-guide/hardware-wallets/ledger.md index b9124e93ae..7ba96e311f 100644 --- a/docs/src/hardware-wallets/ledger.md +++ b/docs/src/wallet-guide/hardware-wallets/ledger.md @@ -8,8 +8,8 @@ secure transaction signing. ## Before You Begin -- [Set up a Ledger Nano S with the Solana App](../wallet-guide/ledger-live.md) -- [Install the Solana command-line tools](../cli/install-solana-cli-tools.md) +- [Set up a Ledger Nano S with the Solana App](../ledger-live.md) +- [Install the Solana command-line tools](../../cli/install-solana-cli-tools.md) ## Use Ledger Nano S with Solana CLI @@ -40,7 +40,7 @@ using the wallet ID to use a specific Ledger, see Your Nano S supports an arbitrary number of valid wallet addresses and signers. To view any address, use the `solana-keygen pubkey` command, as shown below, -followed by a valid [keypair URL](README.md#specify-a-keypair-url). +followed by a valid [keypair URL](../hardware-wallets.md#specify-a-keypair-url). Multiple wallet addresses can be useful if you want to transfer tokens between your own accounts for different purposes, or use different keypairs on the @@ -264,9 +264,9 @@ solana-keygen pubkey usb://ledger\?key=0 ## Support -Check out our [Wallet Support Page](../wallet-guide/support.md) +Check out our [Wallet Support Page](../support.md) for ways to get help. -Read more about [sending and receiving tokens](../cli/transfer-tokens.md) and -[delegating stake](../cli/delegate-stake.md). You can use your Ledger keypair URL +Read more about [sending and receiving tokens](../../cli/transfer-tokens.md) and +[delegating stake](../../cli/delegate-stake.md). You can use your Ledger keypair URL anywhere you see an option or argument that accepts a ``. diff --git a/docs/src/wallet-guide/ledger-live.md b/docs/src/wallet-guide/ledger-live.md index c8279436c3..321d58dddc 100644 --- a/docs/src/wallet-guide/ledger-live.md +++ b/docs/src/wallet-guide/ledger-live.md @@ -13,7 +13,7 @@ Integration with Ledger Live to use Solana wallet accounts on Ledger Live will be available in the future.** Users may [use a Ledger Nano S with the Solana command -line tools](../hardware-wallets/ledger.md). +line tools](hardware-wallets/ledger.md). ## Set up a Ledger Nano S @@ -70,7 +70,7 @@ of the Solana App, please upgrade to version v0.2.2 by following these steps. - To interact with your Ledger wallet on our live network, please see our instructions on how to - [use a Ledger Nano S with the Solana command line tools](../hardware-wallets/ledger.md). + [use a Ledger Nano S with the Solana command line tools](hardware-wallets/ledger.md). ## Support diff --git a/docs/src/paper-wallet/paper-wallet-usage.md b/docs/src/wallet-guide/paper-wallet.md similarity index 87% rename from docs/src/paper-wallet/paper-wallet-usage.md rename to docs/src/wallet-guide/paper-wallet.md index 2406661827..d70c72308c 100644 --- a/docs/src/paper-wallet/paper-wallet-usage.md +++ b/docs/src/wallet-guide/paper-wallet.md @@ -1,7 +1,23 @@ --- -title: Paper Wallet Usage +title: Paper Wallet --- +This document describes how to create and use a paper wallet with the Solana CLI +tools. + +> We do not intend to advise on how to _securely_ create or manage paper wallets. Please research the security concerns carefully. + +## Overview + +Solana provides a key generation tool to derive keys from BIP39 compliant seed +phrases. Solana CLI commands for running a validator and staking tokens all +support keypair input via seed phrases. + +To learn more about the BIP39 standard, visit the Bitcoin BIPs Github repository +[here](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki). + +## Paper Wallet Usage + Solana commands can be run without ever saving a keypair to disk on a machine. If avoiding writing a private key to disk is a security concern of yours, you've come to the right place. @@ -45,7 +61,7 @@ have not made any errors. solana-keygen new --no-outfile ``` -> If the `--no-outfile` flag is **omitted**, the default behavior is to write the keypair to `~/.config/solana/id.json`, resulting in a [file system wallet](../file-system-wallet/README.md) +> If the `--no-outfile` flag is **omitted**, the default behavior is to write the keypair to `~/.config/solana/id.json`, resulting in a [file system wallet](file-system-wallet.md) The output of this command will display a line like this: @@ -150,4 +166,4 @@ your own accounts for different purposes. ## Support -Check out our [Wallet Support Page](../wallet-guide/support.md) for ways to get help. +Check out our [Wallet Support Page](support.md) for ways to get help. diff --git a/docs/src/wallet-guide/support.md b/docs/src/wallet-guide/support.md index 2a2b4f350f..04a664d0b8 100644 --- a/docs/src/wallet-guide/support.md +++ b/docs/src/wallet-guide/support.md @@ -4,7 +4,7 @@ title: Support / Troubleshooting If you have questions or are having trouble setting up or using your wallet of choice, please make sure you've read through all the relevant pages in our -[Wallet Guide](README.md). The Solana team is working hard to support new +[Wallet Guide](paper-wallet.md). The Solana team is working hard to support new features on popular wallets, and we do our best to keep our documents up to date with the latest available features. diff --git a/docs/static/img/economic_design_infl_230719.png b/docs/static/img/economic_design_infl_230719.png new file mode 100644 index 0000000000..2ce0958cc4 Binary files /dev/null and b/docs/static/img/economic_design_infl_230719.png differ diff --git a/docs/static/img/ledger-live-enable-developer-mode.png b/docs/static/img/ledger-live-enable-developer-mode.png new file mode 100644 index 0000000000..296fab7d21 Binary files /dev/null and b/docs/static/img/ledger-live-enable-developer-mode.png differ diff --git a/docs/static/img/ledger-live-install-solana-app.png b/docs/static/img/ledger-live-install-solana-app.png new file mode 100644 index 0000000000..46986a69e7 Binary files /dev/null and b/docs/static/img/ledger-live-install-solana-app.png differ diff --git a/docs/static/img/ledger-live-latest-version-installed.png b/docs/static/img/ledger-live-latest-version-installed.png new file mode 100644 index 0000000000..a2d94caa9a Binary files /dev/null and b/docs/static/img/ledger-live-latest-version-installed.png differ diff --git a/docs/static/img/ledger-live-update-available-v0.2.2.png b/docs/static/img/ledger-live-update-available-v0.2.2.png new file mode 100644 index 0000000000..5756dff878 Binary files /dev/null and b/docs/static/img/ledger-live-update-available-v0.2.2.png differ diff --git a/docs/static/img/p_ex_interest.png b/docs/static/img/p_ex_interest.png new file mode 100755 index 0000000000..3329fe04e5 Binary files /dev/null and b/docs/static/img/p_ex_interest.png differ diff --git a/docs/static/img/p_ex_schedule.png b/docs/static/img/p_ex_schedule.png new file mode 100644 index 0000000000..beb4c0cc5c Binary files /dev/null and b/docs/static/img/p_ex_schedule.png differ diff --git a/docs/static/img/p_ex_supply.png b/docs/static/img/p_ex_supply.png new file mode 100644 index 0000000000..3779849368 Binary files /dev/null and b/docs/static/img/p_ex_supply.png differ diff --git a/docs/static/img/porep_reward.png b/docs/static/img/porep_reward.png new file mode 100644 index 0000000000..501cf29e1d Binary files /dev/null and b/docs/static/img/porep_reward.png differ diff --git a/docs/static/img/ramp-tps-rounds.png b/docs/static/img/ramp-tps-rounds.png new file mode 100644 index 0000000000..6da4b959ed Binary files /dev/null and b/docs/static/img/ramp-tps-rounds.png differ