diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3f4918fd7f..4a64afe79e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -250,20 +250,12 @@ confused with 3-letter acronyms. ## Design Proposals -Solana's architecture is described by docs generated from markdown files in -the `docs/src/` directory, maintained by an *editor* (currently @garious). To -add a design proposal, you'll need to include it in the -[Accepted Design Proposals](https://docs.solana.com/proposals/accepted-design-proposals) -section of the Solana docs. Here's the full process: +Solana's architecture is described by docs generated from markdown files in the `docs/src/` +directory and viewable on the official [Solana Documentation](https://docs.solana.com) website. -1. Propose a design by creating a PR that adds a markdown document to the - `docs/src/proposals` directory and references it from the [table of - contents](docs/src/SUMMARY.md). Add any relevant *maintainers* to the PR - review. -2. The PR being merged indicates your proposed change was accepted and that the - maintainers support your plan of attack. -3. Submit PRs that implement the proposal. When the implementation reveals the - need for tweaks to the proposal, be sure to update the proposal and have that - change reviewed by the same people as in step 1. -4. Once the implementation is complete, submit a PR that moves the link from - the Accepted Proposals to the Implemented Proposals section. +Current design proposals may be viewed on the docs site: + +1. [Accepted Proposals](https://docs.solana.com/proposals/accepted-design-proposals.md). +2. [Implemented Proposals](https://docs.solana.com/implemented-proposals/implemented-proposals.md) + +New design proposals should follow this guide on [how to submit a design proposal](./docs/src/proposals.md#submit-a-design-proposal). \ No newline at end of file diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 0735f62839..fd7bdac977 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -53,42 +53,62 @@ module.exports = { }, items: [ { - href: "https://spl.solana.com", - label: "Program Library »", - position: "left", - }, - { - to: "developing/programming-model/overview", - label: "Develop", - position: "left", - }, - { - to: "running-validator", - label: "Validate", - position: "left", - }, - { - to: "integrations/exchange", - label: "Integrate", + to: "introduction", + label: "Learn", position: "left", }, { to: "cluster/overview", - label: "Learn", + label: "Architecture", position: "left", }, + { + to: "cli", + label: "CLI", + position: "left", + }, + { + to: "developing/programming-model/overview", + label: "Developers", + position: "left", + }, + { + to: "running-validator", + label: "Validators", + position: "left", + }, + { + label: "More", + position: "left", + items: [ + { label: "Terminology", to: "terminology" }, + { label: "Staking", to: "staking" }, + { label: "Integrations", to: "integrations/exchange" }, + { label: "Economics", to: "economics_overview" }, + { label: "Proposals", to: "proposals" }, + { + href: "https://spl.solana.com", + label: "Solana Program Library »", + position: "left", + }, + ], + }, { type: "localeDropdown", position: "right", }, { href: "https://discordapp.com/invite/pquxPsq", - label: "Chat", + // label: "Discord", + className: "header-link-icon header-discord-link", + "aria-label": "Solana Discord", position: "right", }, { href: "https://github.com/solana-labs/solana", - label: "GitHub", + // label: "GitHub", + className: "header-link-icon header-github-link", + "aria-label": "GitHub repository", position: "right", }, ], @@ -103,37 +123,69 @@ module.exports = { style: "dark", links: [ { - title: "Docs", + title: "Documentation", items: [ { - label: "Introduction", + label: "Learn", to: "introduction", }, + { + label: "Developers", + to: "developing/programming-model/overview", + }, + { + label: "Validators", + to: "running-validator", + }, + { + label: "Command Line", + to: "cli", + }, + { + label: "Architecture", + to: "cluster/overview", + }, ], }, { title: "Community", items: [ { - label: "Discord", + label: "Stack Exchange »", + href: "https://solana.stackexchange.com/", + }, + { + label: "GitHub »", + href: "https://github.com/solana-labs/solana", + }, + { + label: "Discord »", href: "https://discordapp.com/invite/pquxPsq", }, { - label: "Twitter", + label: "Twitter »", href: "https://twitter.com/solana", }, { - label: "Forums", + label: "Forums »", href: "https://forums.solana.com", }, ], }, { - title: "More", + title: "Resources", items: [ { - label: "GitHub", - href: "https://github.com/solana-labs/solana", + label: "Proposals", + to: "proposals", + }, + { + label: "Integrations", + to: "integrations/exchange", + }, + { + href: "https://spl.solana.com", + label: "Solana Program Library »", }, ], }, diff --git a/docs/sidebars.js b/docs/sidebars.js index 904bcb8f15..190db55d9c 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -1,203 +1,307 @@ module.exports = { - docs: { - About: ["introduction", "terminology", "history"], - Wallets: [ - "wallet-guide", - { - type: "category", - label: "Command-line Wallets", - items: [ - "wallet-guide/cli", - "wallet-guide/paper-wallet", - { - type: "category", - label: "Hardware Wallets", - items: [ - "wallet-guide/hardware-wallets", - "wallet-guide/hardware-wallets/ledger", - ], - }, - "wallet-guide/file-system-wallet", - ], - }, - "wallet-guide/support", - ], - Staking: ["staking", "staking/stake-accounts"], - "Command Line": [ - "cli", - "cli/install-solana-cli-tools", - "cli/conventions", - "cli/choose-a-cluster", - "cli/transfer-tokens", - "cli/delegate-stake", - "cli/deploy-a-program", - "offline-signing", - "offline-signing/durable-nonce", - "cli/usage", - ], - Developing: [ - { - type: "category", - label: "Programming Model", - items: [ - "developing/programming-model/overview", - "developing/programming-model/transactions", - "developing/programming-model/accounts", - "developing/programming-model/runtime", - "developing/programming-model/calling-between-programs", - ], - }, - { - type: "category", - label: "Clients", - items: [ - "developing/clients/jsonrpc-api", - "developing/clients/javascript-api", - "developing/clients/javascript-reference", - "developing/clients/rust-api", - ], - }, - { - type: "category", - label: "Runtime Facilities", - items: [ - "developing/runtime-facilities/programs", - "developing/runtime-facilities/sysvars", - ], - }, - { - type: "category", - label: "On-chain Programs", - items: [ - "developing/on-chain-programs/overview", - "developing/on-chain-programs/developing-rust", - "developing/on-chain-programs/developing-c", - "developing/on-chain-programs/deploying", - "developing/on-chain-programs/debugging", - "developing/on-chain-programs/examples", - "developing/on-chain-programs/faq", - ], - }, - "developing/test-validator", - "developing/backwards-compatibility", - "developing/plugins/geyser-plugins", - ], - Integrating: [ - "integrations/exchange", - "integrations/retrying-transactions", - ], - Validating: [ - "running-validator", - "running-validator/validator-reqs", - "running-validator/validator-start", - "running-validator/vote-accounts", - "running-validator/validator-stake", - "running-validator/validator-monitor", - "running-validator/validator-info", - "running-validator/validator-failover", - "running-validator/validator-troubleshoot", - ], - Clusters: [ - "clusters", - "cluster/rpc-endpoints", - "cluster/bench-tps", - "cluster/performance-metrics", - ], - Architecture: [ - { - type: "category", - label: "Cluster", - items: [ - "cluster/overview", - "cluster/synchronization", - "cluster/leader-rotation", - "cluster/fork-generation", - "cluster/managing-forks", - "cluster/turbine-block-propagation", - "cluster/vote-signing", - "cluster/stake-delegation-and-rewards", - ], - }, - { - type: "category", - label: "Validator", - items: [ - "validator/anatomy", - "validator/tpu", - "validator/tvu", - "validator/blockstore", - "validator/gossip", - "validator/runtime", - ], - }, - ], - Economics: [ - "economics_overview", - { - type: "category", - label: "Inflation Design", - items: [ - "inflation/terminology", - "inflation/inflation_schedule", - "inflation/adjusted_staking_yield", - ], - }, - "transaction_fees", - "storage_rent_economics", - ], - "Design Proposals": [ - { - type: "category", - label: "Implemented", - items: [ - "implemented-proposals/implemented-proposals", - "implemented-proposals/abi-management", - "implemented-proposals/bank-timestamp-correction", - "implemented-proposals/commitment", - "implemented-proposals/durable-tx-nonces", - "implemented-proposals/installer", - "implemented-proposals/instruction_introspection", - "implemented-proposals/leader-leader-transition", - "implemented-proposals/leader-validator-transition", - "implemented-proposals/persistent-account-storage", - "implemented-proposals/readonly-accounts", - "implemented-proposals/reliable-vote-transmission", - "implemented-proposals/rent", - "implemented-proposals/repair-service", - "implemented-proposals/rpc-transaction-history", - "implemented-proposals/snapshot-verification", - "implemented-proposals/staking-rewards", - "implemented-proposals/testing-programs", - "implemented-proposals/tower-bft", - "implemented-proposals/transaction-fees", - "implemented-proposals/validator-timestamp-oracle", - ], - }, - { - type: "category", - label: "Accepted", - items: [ - "proposals/accepted-design-proposals", - "proposals/bankless-leader", - "proposals/block-confirmation", - "proposals/cluster-test-framework", - "proposals/embedding-move", - "proposals/handle-duplicate-block", - "proposals/interchain-transaction-verification", - "proposals/ledger-replication-to-implement", - "proposals/optimistic-confirmation-and-slashing", - "proposals/optimistic_confirmation", - "proposals/rip-curl", - "proposals/rust-clients", - "proposals/simple-payment-and-state-verification", - "proposals/slashing", - "proposals/snapshot-verification", - "proposals/tick-verification", - "proposals/transactions-v2", - "proposals/validator-proposal", - "proposals/vote-signing-to-implement", - ], - }, - ], - }, + introdutionSidebar: [ + { + type: "category", + collapsed: false, + label: "Introduction to Solana", + items: [ + { + type: "doc", + id: "introduction", + label: "What is Solana?", + }, + // This will be the future home for the economics overview page + // { + // type: "doc", + // id: "economics_overview", + // label: "How do the economics work?", + // }, + { + type: "doc", + id: "history", + label: "History of Solana", + }, + ], + }, + { + type: "category", + collapsed: false, + label: "Getting started with Solana", + items: [ + { + type: "doc", + id: "wallet-guide", + label: "Wallets", + }, + // This will be the future home of the `staking` page, with the introductory info on what staking on Solana looks like + // { + // type: "doc", + // id: "staking", + // label: "Staking", + // }, + ], + }, + { + type: "category", + collapsed: false, + label: "Dive into Solana", + items: [ + "terminology", + { + type: "ref", + label: "Developers", + id: "developing/programming-model/overview", + }, + { + type: "ref", + label: "Validators", + id: "running-validator", + }, + { + type: "ref", + label: "Command Line", + id: "cli", + }, + { + type: "ref", + label: "Economics", + id: "economics_overview", + }, + { + type: "ref", + label: "Proposals", + id: "proposals", + }, + ], + }, + ], + developingSidebar: [ + { + type: "doc", + id: "developing/programming-model/overview", + label: "Overview", + }, + { + type: "category", + label: "Core Concepts", + // collapsed: false, + items: [ + "developing/programming-model/transactions", + "developing/programming-model/accounts", + "developing/programming-model/calling-between-programs", + "developing/programming-model/runtime", + ], + }, + { + type: "category", + label: "Clients", + items: [ + "developing/clients/jsonrpc-api", + "developing/clients/javascript-api", + "developing/clients/javascript-reference", + "developing/clients/rust-api", + ], + }, + { + type: "category", + label: "Writing Programs", + items: [ + "developing/on-chain-programs/overview", + "developing/on-chain-programs/developing-rust", + "developing/on-chain-programs/developing-c", + { + type: "doc", + label: "Deploying", + id: "developing/on-chain-programs/deploying", + }, + { + type: "doc", + label: "Debugging", + id: "developing/on-chain-programs/debugging", + }, + "developing/on-chain-programs/examples", + "developing/on-chain-programs/faq", + ], + }, + { + type: "category", + label: "Native Programs", + items: [ + { + type: "doc", + label: "Overview", + id: "developing/runtime-facilities/programs", + }, + "developing/runtime-facilities/sysvars", + ], + }, + { + type: "category", + label: "Local Development", + collapsed: false, + items: ["developing/test-validator"], + }, + "developing/backwards-compatibility", + ], + validatorsSidebar: [ + "running-validator", + { + type: "category", + label: "Getting Started", + collapsed: false, + items: ["running-validator/validator-reqs"], + }, + { + type: "category", + label: "Voting Setup", + collapsed: false, + items: [ + "running-validator/validator-start", + "running-validator/vote-accounts", + "running-validator/validator-stake", + "running-validator/validator-monitor", + "running-validator/validator-info", + "running-validator/validator-failover", + "running-validator/validator-troubleshoot", + ], + }, + { + type: "category", + label: "Geyser", + collapsed: false, + items: ["developing/plugins/geyser-plugins"], + }, + ], + cliSidebar: [ + "cli", + "cli/install-solana-cli-tools", + "cli/install-solana-cli-tools", + { + type: "category", + label: "Command-line Wallets", + items: [ + "wallet-guide/cli", + "wallet-guide/paper-wallet", + { + type: "category", + label: "Hardware Wallets", + items: [ + "wallet-guide/hardware-wallets", + "wallet-guide/hardware-wallets/ledger", + ], + }, + "wallet-guide/file-system-wallet", + "wallet-guide/support", + ], + }, + "cli/conventions", + "cli/choose-a-cluster", + "cli/transfer-tokens", + "cli/delegate-stake", + "cli/deploy-a-program", + "offline-signing", + "offline-signing/durable-nonce", + "cli/usage", + ], + architectureSidebar: [ + { + type: "doc", + label: "What is a Solana Cluster?", + id: "cluster/overview", + }, + { + type: "category", + label: "Clusters", + collapsed: false, + items: [ + "clusters", + { + type: "doc", + label: "RPC Endpoints", + id: "cluster/rpc-endpoints", + }, + "cluster/bench-tps", + "cluster/performance-metrics", + ], + }, + { + type: "category", + label: "Consensus", + collapsed: false, + items: [ + "cluster/synchronization", + "cluster/leader-rotation", + "cluster/fork-generation", + "cluster/managing-forks", + "cluster/turbine-block-propagation", + "cluster/vote-signing", + "cluster/stake-delegation-and-rewards", + ], + }, + { + type: "category", + label: "Validators", + collapsed: false, + items: [ + { + type: "doc", + label: "Overview", + id: "validator/anatomy", + }, + "validator/tpu", + "validator/tvu", + "validator/blockstore", + "validator/gossip", + "validator/runtime", + ], + }, + ], + "Design Proposals": [ + "proposals", + { + type: "category", + label: "Accepted Proposals", + collapsed: true, + items: [ + { + type: "autogenerated", + dirName: "proposals", + }, + ], + }, + { + type: "category", + label: "Implemented Proposals", + collapsed: true, + items: [ + { + type: "autogenerated", + dirName: "implemented-proposals", + }, + ], + }, + ], + stakingSidebar: ["staking", "staking/stake-accounts"], + integratingSidebar: [ + "integrations/exchange", + "integrations/retrying-transactions", + ], + economicsSidebar: [ + { + type: "doc", + id: "economics_overview", + // label: "How do the economics work?", + }, + { + type: "category", + label: "Inflation Design", + items: [ + "inflation/terminology", + "inflation/inflation_schedule", + "inflation/adjusted_staking_yield", + ], + }, + "transaction_fees", + "storage_rent_economics", + ], }; diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index 39cf391344..4a3ff08fd4 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -7,7 +7,7 @@ /* You can override the default Infima variables here. */ -@import url('https://fonts.googleapis.com/css2?family=Roboto'); +@import url("https://fonts.googleapis.com/css2?family=Roboto"); :root { --ifm-color-primary: #25c2a0; @@ -19,15 +19,18 @@ --ifm-color-primary-lightest: #abd5c6; --ifm-code-font-size: 95%; --ifm-spacing-horizontal: 1em; - --ifm-font-family-base: "Roboto", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + --ifm-font-family-base: "Roboto", system-ui, -apple-system, Segoe UI, Roboto, + Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", + "Segoe UI Symbol"; --ifm-footer-background-color: #232323; } - - - @keyframes fadeInUp { - 0% { opacity: 0; transform: translateY(1.5rem); } + 0% { + opacity: 0; + transform: translateY(1.5rem); + } } main { @@ -48,10 +51,9 @@ main { animation-delay: 150ms; transition-property: all; transition-duration: 200ms; - box-shadow: 0 8px 28px 4px rgba(86,91,115,0.15); + box-shadow: 0 8px 28px 4px rgba(86, 91, 115, 0.15); } - .card a { text-decoration: none; } @@ -69,5 +71,32 @@ footer .text--center { } .card__header h3 { - color: #1DD79B; -} \ No newline at end of file + color: #1dd79b; +} + +.header-link-icon:before { + content: ""; + display: flex; + height: 24px; + width: 24px; + background-position: center center; +} +.header-link-icon { + padding: 0.4em !important; +} +[data-theme="dark"] .header-github-link:before { + background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") + no-repeat; +} +.header-github-link:before { + background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") + no-repeat; +} +[data-theme="dark"] .header-discord-link:before { + background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 640 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z'/%3E%3C/svg%3E") + no-repeat center; +} +.header-discord-link:before { + background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 640 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z'/%3E%3C/svg%3E") + no-repeat center; +} diff --git a/docs/src/developing/on-chain-programs/debugging.md b/docs/src/developing/on-chain-programs/debugging.md index a9ded2bd31..d673ab23a3 100644 --- a/docs/src/developing/on-chain-programs/debugging.md +++ b/docs/src/developing/on-chain-programs/debugging.md @@ -1,5 +1,5 @@ --- -title: "Debugging" +title: "Debugging Programs" --- Solana programs run on-chain, so debugging them in the wild can be challenging. diff --git a/docs/src/developing/on-chain-programs/deploying.md b/docs/src/developing/on-chain-programs/deploying.md index 767d6d114b..852e8a195f 100644 --- a/docs/src/developing/on-chain-programs/deploying.md +++ b/docs/src/developing/on-chain-programs/deploying.md @@ -1,5 +1,5 @@ --- -title: "Deploying" +title: "Deploying Programs" --- ![SDK tools](/img/sdk-tools.svg) @@ -11,7 +11,7 @@ clients via a _program ID_. The program ID is an _address_ specified when deploying and is used to reference the program in subsequent transactions. Upon a successful deployment the account that holds the program is marked -executable. If the program is marked "final", its account data become permanently +executable. If the program is marked "final", its account data become permanently immutable. If any changes are required to the finalized program (features, patches, etc...) the new program must be deployed to a new program ID. diff --git a/docs/src/developing/on-chain-programs/examples.md b/docs/src/developing/on-chain-programs/examples.md index d1d6adb4b0..ef07c7b8b4 100644 --- a/docs/src/developing/on-chain-programs/examples.md +++ b/docs/src/developing/on-chain-programs/examples.md @@ -1,5 +1,5 @@ --- -title: "Examples" +title: "Program Examples" --- ## Helloworld diff --git a/docs/src/implemented-proposals/implemented-proposals.md b/docs/src/implemented-proposals/implemented-proposals.md index 52ecd71ee3..5dd1bc16fe 100644 --- a/docs/src/implemented-proposals/implemented-proposals.md +++ b/docs/src/implemented-proposals/implemented-proposals.md @@ -1,9 +1,15 @@ --- title: Implemented Design Proposals +sidebar_position: 1 +sidebar_label: Overview --- -The following architectural proposals have been accepted and implemented -by the Solana team. Any designs that may be subject to future change are noted -in the specific proposal page. -Design proposals that have been accepted but not yet implemented are found in -[Accepted Proposals](../proposals/accepted-design-proposals.md). +These architectural proposals have been accepted and implemented by the Solana maintainers. Any designs that may be subject to future change are noted in the specific proposal page. + +## Not Yet Implemented + +Design proposals that have been accepted but not yet implemented are found in [Accepted Proposals](../proposals/accepted-design-proposals.md). + +## Submit a New Proposal + +To submit a new design proposal, consult this guide on [how to submit a design proposal](../proposals.md#submit-a-design-proposal). diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js index ebf7b60a7a..4c6d4b98f8 100644 --- a/docs/src/pages/index.js +++ b/docs/src/pages/index.js @@ -26,7 +26,7 @@ function Home() {