diff --git a/package.json b/package.json index 6c64ce5a1d1..4474c3f0a9c 100644 --- a/package.json +++ b/package.json @@ -14,11 +14,11 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "^2.0.1", - "@docusaurus/plugin-content-docs": "^2.0.1", - "@docusaurus/plugin-google-gtag": "^2.0.1", - "@docusaurus/plugin-sitemap": "^2.0.1", - "@docusaurus/preset-classic": "^2.0.1", + "@docusaurus/core": "^2.1.0", + "@docusaurus/plugin-content-docs": "^2.1.0", + "@docusaurus/plugin-google-gtag": "^2.1.0", + "@docusaurus/plugin-sitemap": "^2.1.0", + "@docusaurus/preset-classic": "^2.1.0", "@mdx-js/react": "^1.6.21", "clsx": "^1.1.1", "docusaurus-plugin-remote-content": "^3.0.0", diff --git a/protocol/farm/farming.mdx b/protocol/farm/farming.mdx index 2de9f2cd6b3..cbd94c07f07 100644 --- a/protocol/farm/farming.mdx +++ b/protocol/farm/farming.mdx @@ -16,18 +16,6 @@ import TabItem from '@theme/TabItem'; import Link from '@docusaurus/Link'; import styles from '@site/src/pages/index.module.css'; -:::caution -### Update from earlier versions of Gemini 1b -There were some issues in initial Gemini 1b release `gemini-1b-2022-june-02` fixed by later releases. - -If you see any of these errors: -- `Node is running on non-canonical fork, full node and farmer reset is required` -- `Attempt to switch to a different fork beyond archiving depth, can't do it...` - -That means your node is affected, and you need to follow "Switching to a new snapshot" section below to reset your node and farmer. - -::: - ## I. Pre-requisites --- @@ -58,28 +46,9 @@ The address of your account will be necessary at the last step. For help refer to our forum post [How to setup Subwallet & a Polkadot.js Wallet](https://forum.subspace.network/t/subspace-wallet/61) - *make sure to follow the Bonus section of the bottom of the post above.* -### C. Archival or Full Node? -:::danger Please see [GitHub Issue #555](https://github.com/subspace/subspace/issues/555) -There is was a bug in prior versions. If you were running a version prior, and would like to switch to a Full Node, you will need to follow the [wipe & purge](#wipe--purge) instructions. -::: - -Before starting your node you will want to decide if you are going to run an Archival or Full node. - -**Full Node:** This will only keep the last 1024 blocks. As a result the node will take up significantly less space, leaving more space for farming plot. -**Archival Node:** This will keep the full history of the network on your device. As a result the node will take up more space and continue to grow. - - Running an archival node will significantly help new users trying to sync the network. - - Archival nodes are also helpful if you want to run your node as an RPC node for historical queries etc. - -The default instructions below will assume you would like to be a full node. If you would like to run an Archival node remove the following parameters from your node command. -- `--pruning 1024` -- `--keep-blocks 1024` - -And instead add this: -- `--pruning archive` - -> NOTE: You can't switch between full and archival node without wiping it, so if you need that, follow steps in the [Wipe & Purge](#wipe--purge) section. ### D. Required ports + Currently, TCP port `30333` needs to be exposed for node to work properly. If you have a server with no firewall, there is nothing to be done, but otherwise make sure to open TCP port `30333` for incoming connections. @@ -128,7 +97,7 @@ We will be downloading two files for your respective operating system. services: node: # For running on Aarch64 add `-aarch64` after `DATE` - image: ghcr.io/subspace/node:gemini-2a-2022-sep-10 + image: ghcr.io/subspace/node:gemini-2a-2022-oct-06 volumes: # Instead of specifying volume (which will store data in `/var/lib/docker`), you can # alternatively specify path to the directory where files will be stored, just make @@ -164,7 +133,7 @@ We will be downloading two files for your respective operating system. node: condition: service_healthy # For running on Aarch64 add `-aarch64` after `DATE` - image: ghcr.io/subspace/farmer:gemini-2a-2022-sep-10 + image: ghcr.io/subspace/farmer:gemini-2a-2022-oct-06 volumes: # Instead of specifying volume (which will store data in `/var/lib/docker`), you can # alternatively specify path to the directory where files will be stored, just make @@ -213,17 +182,17 @@ We will be downloading two files for your respective operating system.
+ to="https://github.com/subspace/subspace/releases/download/gemini-2a-2022-oct-06/subspace-node-windows-x86_64-gemini-2a-2022-oct-06.exe"> Download Node Executable + to="https://github.com/subspace/subspace/releases/download/gemini-2a-2022-oct-06/subspace-farmer-windows-x86_64-gemini-2a-2022-oct-06.exe"> Download Farmer Executable + to="https://github.com/subspace/subspace/releases/download/gemini-2a-2022-oct-06/subspace-farmer-opencl-windows-x86_64-gemini-2a-2022-oct-06.exe"> Download Farmer Executable (OpenCL)
@@ -244,7 +213,7 @@ We will be downloading two files for your respective operating system. ```PowerShell # Replace `INSERT_YOUR_ID` with a nickname you choose # Copy all of the lines below, they are all part of the same command - .\subspace-node-windows-x86_64-gemini-2a-2022-sep-10.exe ` + .\subspace-node-windows-x86_64-gemini-2a-2022-oct-06.exe ` --chain gemini-2a ` --execution wasm ` --state-pruning archive ` @@ -275,10 +244,10 @@ We will be downloading two files for your respective operating system. ``` 5. After running this command, Windows may ask you for permissions related to firewall, select `allow` in this case. 6. We will then open another terminal, change to the downloads directory, then start the farmer node with the following command: - *Change command to feature `subspace-farmer-opencl-windows-x86_64-gemini-2a-2022-sep-10.exe` if using Open CL version.* + *Change command to feature `subspace-farmer-opencl-windows-x86_64-gemini-2a-2022-oct-06.exe` if using Open CL version.* ```PowerShell # Replace `WALLET_ADDRESS` below with your account address from Polkadot.js wallet - .\subspace-farmer-windows-x86_64-gemini-2a-2022-sep-10.exe farm ` + .\subspace-farmer-windows-x86_64-gemini-2a-2022-oct-06.exe farm ` --reward-address WALLET_ADDRESS ` --plot-size 100G ``` @@ -308,12 +277,12 @@ We will be downloading two files for your respective operating system.
+ to="https://github.com/subspace/subspace/releases/download/gemini-2a-2022-oct-06/subspace-node-macos-x86_64-gemini-2a-2022-oct-06.zip"> Download Node Executable + to="https://github.com/subspace/subspace/releases/download/gemini-2a-2022-oct-06/subspace-farmer-macos-x86_64-gemini-2a-2022-oct-06.zip"> Download Farmer Executable
@@ -328,8 +297,8 @@ We will be downloading two files for your respective operating system. 1. Open your favorite terminal, and change to the Downloads directory using `cd Downloads` 2. Make the farmer & node executable: - - `chmod +x subspace-farmer-macos-x86_64-gemini-2a-2022-sep-10` - - `chmod +x subspace-node-macos-x86_64-gemini-2a-2022-sep-10` + - `chmod +x subspace-farmer-macos-x86_64-gemini-2a-2022-oct-06` + - `chmod +x subspace-node-macos-x86_64-gemini-2a-2022-oct-06` 3. We will then start the node using the following command > *Note, when attempting to run this command you may be prompted:* Click on `cancel` instead of moving it to trash. @@ -339,7 +308,7 @@ We will be downloading two files for your respective operating system. ```bash # Replace `INSERT_YOUR_ID` with a nickname you choose # Copy all of the lines below, they are all part of the same command - ./subspace-node-macos-x86_64-gemini-2a-2022-sep-10 \ + ./subspace-node-macos-x86_64-gemini-2a-2022-oct-06 \ --chain gemini-2a \ --execution wasm \ --state-pruning archive \ @@ -371,7 +340,7 @@ We will be downloading two files for your respective operating system. 5. We will then open another terminal, change to the downloads directory, then start the farmer node with the following command: ```bash # Replace `WALLET_ADDRESS` below with your account address from Polkadot.js wallet - ./subspace-farmer-macos-x86_64-gemini-2a-2022-sep-10 farm \ + ./subspace-farmer-macos-x86_64-gemini-2a-2022-oct-06 farm \ --reward-address WALLET_ADDRESS \ --plot-size 100G ``` @@ -403,17 +372,17 @@ We will be downloading two files for your respective operating system.
+ to="https://github.com/subspace/subspace/releases/download/gemini-2a-2022-oct-06/subspace-node-ubuntu-x86_64-gemini-2a-2022-oct-06"> Download Node Executable + to="https://github.com/subspace/subspace/releases/download/gemini-2a-2022-oct-06/subspace-farmer-ubuntu-x86_64-gemini-2a-2022-oct-06"> Download Farmer Executable + to="https://github.com/subspace/subspace/releases/download/gemini-2a-2022-oct-06/subspace-farmer-opencl-ubuntu-x86_64-gemini-2a-2022-oct-06"> Download Farmer Executable (OpenCL)
@@ -430,12 +399,12 @@ We will be downloading two files for your respective operating system.
+ to="https://github.com/subspace/subspace/releases/download/gemini-2a-2022-oct-06/subspace-node-ubuntu-aarch64-gemini-2a-2022-oct-06"> 1. Download Node Executable + to="https://github.com/subspace/subspace/releases/download/gemini-2a-2022-oct-06/subspace-farmer-ubuntu-aarch64-gemini-2a-2022-oct-06"> 2. Download Farmer Executable
@@ -463,15 +432,15 @@ We will be downloading two files for your respective operating system. --- 1. Open your favorite terminal, and change to the Downloads directory using `cd Downloads` 2. Make the farmer & node executable - - `chmod +x subspace-farmer-ubuntu-x86_64-gemini-2a-2022-sep-10` - - `chmod +x subspace-node-ubuntu-x86_64-gemini-2a-2022-sep-10` + - `chmod +x subspace-farmer-ubuntu-x86_64-gemini-2a-2022-oct-06` + - `chmod +x subspace-node-ubuntu-x86_64-gemini-2a-2022-oct-06` 3. We will then start the node using the following command ```bash # Replace `NODE_FILE_NAME` with the name of the node file you downloaded from releases # Replace `INSERT_YOUR_ID` with a nickname you choose # Copy all of the lines below, they are all part of the same command - ./subspace-node-ubuntu-x86_64-gemini-2a-2022-sep-10 \ + ./subspace-node-ubuntu-x86_64-gemini-2a-2022-oct-06 \ --chain gemini-2a \ --execution wasm \ --state-pruning archive \ @@ -501,11 +470,11 @@ We will be downloading two files for your respective operating system. 2022-02-03 10:52:29 ⚙️ Syncing, target=#215883 (2 peers), best: #55 (0xafc7…bccf), finalized #0 (0x6ada…0d38), ⬇ 850.1kiB/s ⬆ 1.5kiB/s ``` 5. We will then open another terminal, change to the downloads directory, then start the farmer node with the following command: - *Change command to feature `subspace-farmer-opencl-ubuntu-x86_64-gemini-2a-2022-sep-10` if using openCL.* + *Change command to feature `subspace-farmer-opencl-ubuntu-x86_64-gemini-2a-2022-oct-06` if using openCL.* ```bash # Replace `FARMER_FILE_NAME` with the name of the farmer file you downloaded from releases # Replace `WALLET_ADDRESS` below with your account address from Polkadot.js wallet - ./subspace-farmer-ubuntu-x86_64-gemini-2a-2022-sep-10 farm \ + ./subspace-farmer-ubuntu-x86_64-gemini-2a-2022-oct-06 farm \ --reward-address WALLET_ADDRESS \ --plot-size 100G ``` @@ -554,7 +523,7 @@ To set your node to use a custom path all you will need to do is add the `--base **Example:** ``` -.\subspace-node-ubuntu-x86_64-gemini-2a-2022-sep-10 --chain gemini-1 --base-path /path/to/directory/here --execution wasm --pruning 1024 --keep-blocks 1024 --validator --name INSERT_YOUR_ID +.\subspace-node-ubuntu-x86_64-gemini-2a-2022-oct-06 --chain gemini-1 --base-path /path/to/directory/here --execution wasm --state-pruning archive --validator --name INSERT_YOUR_ID ``` @@ -564,7 +533,7 @@ To set your node to use a custom path all you will need to do is add the `--base **Example:** ``` -.\subspace-farmer-ubuntu-x86_64-gemini-2a-2022-sep-10 --base-path /path/to/directory/here farm --reward-address WALLET_ADDRESS --plot-size PLOT_SIZE +.\subspace-farmer-ubuntu-x86_64-gemini-2a-2022-oct-06 --base-path /path/to/directory/here farm --reward-address WALLET_ADDRESS --plot-size PLOT_SIZE ``` diff --git a/protocol_versioned_docs/version-gemini-2a-2022-oct-06/development.md b/protocol_versioned_docs/version-gemini-2a-2022-oct-06/development.md new file mode 100644 index 00000000000..7013e6fc8ff --- /dev/null +++ b/protocol_versioned_docs/version-gemini-2a-2022-oct-06/development.md @@ -0,0 +1,53 @@ +--- +title: Core Protocol Development +sidebar_position: 99 +description: A basic guide on how to develop on the core subspace protocol utilizing substrate +displayed_sidebar: masterSidebar +draft: true # Meaning this will NOT be shown in Production +keywords: + - Getting Started + - Learn + - Core Protocol + - Development +--- + +## Pre-requisites + +In addition to Rust toolchain, LLVM and Clang are needed for build to succeed, can be installed on Ubuntu like this: +```bash +sudo apt-get install llvm clang +``` + +## To Farm By Yourself (Offline) + +1. Download the executables for your operating system +2. Open your favourite terminal, and go to the folder where you download the executables + +**Linux/MacOS:** +1. Make them executable: `chmod +x subspace-farmer-x86_64-*-snapshot subspace-node-x86_64-*-snapshot` +2. Run the node: `./subspace-node-x86_64-*-snapshot --dev --tmp` +3. In macOS, it may prompt that this app is not verified. Click on `cancel` instead of moving it to trash. + To allow execution, go to `System Preferences -> Security & Privacy -> General`, and click on `allow`. + After this, simply repeat step 4. This time, there will be `Open` button in the prompt, click it to run node. +4. Run the farmer (do this in another terminal): `./subspace-farmer-x86_64-*-snapshot farm` +5. In macOS, it may prompt that this app is not verified. Click on `cancel` instead of moving it to trash. + To allow execution, go to `System Preferences -> Security & Privacy -> General`, and click on `allow`. + After this, simply repeat step 4. This time, there will be `Open` button in the prompt, click it to run node. + +**Windows** +1. Run the node: `subspace-node-x86_64-*-snapshot --dev --tmp` +2. After running this command, Windows may ask you for permissions related to firewall, select `allow` in this case. +3. Run the farmer (do this in another terminal): `subspace-farmer-x86_64-*-snapshot farm` + +## To Run From The Source (primarily for developers) + +This is a monorepo with multiple binaries and the workflow is typical for Rust projects: + +- `cargo run --release --bin subspace-node -- --dev --tmp` to run [a node](/crates/subspace-node) +- `cargo run --release --bin subspace-farmer farm` to [start farming](/crates/subspace-farmer) + +NOTE 1: You need to have `nightly` version of Rust toolchain with `wasm32-unknown-unknown` target available or else you'll get a compilation error. +NOTE 2: Following the commands above, you will be farming in an offline setting (by yourself). +NOTE 3: To farm in online setting, you can modify the command accordingly. + +You can find readme files in corresponding crates for requirements, multi-node setup and other details. \ No newline at end of file diff --git a/protocol_versioned_docs/version-gemini-2a-2022-oct-06/farm/_category_.json b/protocol_versioned_docs/version-gemini-2a-2022-oct-06/farm/_category_.json new file mode 100644 index 00000000000..9a63ad1482c --- /dev/null +++ b/protocol_versioned_docs/version-gemini-2a-2022-oct-06/farm/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Farm with CLI", + "position": 2 +} \ No newline at end of file diff --git a/protocol_versioned_docs/version-gemini-2a-2022-oct-06/farm/farming.mdx b/protocol_versioned_docs/version-gemini-2a-2022-oct-06/farm/farming.mdx new file mode 100644 index 00000000000..6075dbb8895 --- /dev/null +++ b/protocol_versioned_docs/version-gemini-2a-2022-oct-06/farm/farming.mdx @@ -0,0 +1,646 @@ +--- +title: Farming with the CLI +sidebar_position: 1 +description: How to run a Subspace Network Farmer with the CLI or Docker +displayed_sidebar: masterSidebar +keywords: + - Farmer + - Farming + - CLI + - Binaries + - Docker +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import Link from '@docusaurus/Link'; +import styles from '@site/src/pages/index.module.css'; + +## I. Pre-requisites + +--- + +### A. System Requirements + +:::note Network Warning +You will also want to ensure you have a stable Network connection. It is also important to note that plotting can be network intensive and may impact network usage if you have a hard data limit. +::: + + +|Hardware|Specs| +|-|-| +|CPU|2 Core+| +|RAM|4GB+ (Rec. 8GB)| +|Storage|150GB| + + +### B. Crypto Wallet + +Before running anything you need to have a wallet where you'll receive testnet coins. There are currently two wallets we suggest using, SubWallet being the preferred route. +- [SubWallet](https://subwallet.app/) +- [PolkadotJS](https://polkadot.js.org/extension/) + +Install one of the two wallets above into your browser and create a new account there. +The address of your account will be necessary at the last step. + +For help refer to our forum post [How to setup Subwallet & a Polkadot.js Wallet](https://forum.subspace.network/t/subspace-wallet/61) +- *make sure to follow the Bonus section of the bottom of the post above.* + + +### D. Required ports + +Currently, TCP port `30333` needs to be exposed for node to work properly. + +If you have a server with no firewall, there is nothing to be done, but otherwise make sure to open TCP port `30333` for incoming connections. + +On the desktop side if you have a router in front of your computer, you'll need to forward TCP port `30333` to the machine on which your node is running (how this is done varied from router to router, but there is always a feature like this, refer to [How to Forward Ports](port-forwarding.md) for a more in-depth tutorial). +If you're connected directly without any router, then again nothing needs to be done in such case. + + + + +## II. Installation + +--- + +:::tip Looking for all Releases? +You can always find these executables in the [Releases](https://github.com/subspace/subspace/releases) section on our GitHub +::: + +:::caution OpenCL support +If you use farmer executable starting with `subspace-farmer-opencl-` and see this error: +``` +The code execution cannot proceed because OpenCL.dll was not found. Reinstalling the program may fix this problem. +``` +Or farmer exits in CLI without any messages, it means you don't have OpenCL-capable GPU or drivers installed. +Installing OpenCL GPU drivers or using farmer executable without `opencl` in file name will fix the issue. + + +::: + +We will be downloading two files for your respective operating system. +1. `Subspace-Node` - This is the executable that actually makes the connection with the Subspace Network +2. `Subspace-Farmer` - This is the executable that will actually farm for rewards on your allocated storage plot. + +- *There is also an OpenCL option in case you have OpenCL-capable AMD, Intel or Nvidia GPU* +- *Those using Docker will not have to download anything, just configure the `docker-compose.yml`* + + + + + + + 1. Create `subspace` directory and `docker-compose.yml` in it with following contents: + + ```yml + version: "3.7" + services: + node: + # For running on Aarch64 add `-aarch64` after `DATE` + image: ghcr.io/subspace/node:gemini-2a-2022-oct-06 + volumes: + # Instead of specifying volume (which will store data in `/var/lib/docker`), you can + # alternatively specify path to the directory where files will be stored, just make + # sure everyone is allowed to write there + - node-data:/var/subspace:rw + # - /path/to/subspace-node:/var/subspace:rw + ports: + # If port 30333 is already occupied by another Substrate-based node, replace all + # occurrences of `30333` in this file with another value + - "0.0.0.0:30333:30333" + restart: unless-stopped + command: [ + "--chain", "gemini-2a", + "--base-path", "/var/subspace", + "--execution", "wasm", + "--state-pruning", "archive", + "--port", "30333", + "--rpc-cors", "all", + "--rpc-methods", "safe", + "--unsafe-ws-external", + "--validator", + # Replace `INSERT_YOUR_ID` with your node ID (will be shown in telemetry) + "--name", "INSERT_YOUR_ID" + ] + healthcheck: + timeout: 5s + # If node setup takes longer then expected, you want to increase `interval` and `retries` number. + interval: 30s + retries: 5 + + farmer: + depends_on: + node: + condition: service_healthy + # For running on Aarch64 add `-aarch64` after `DATE` + image: ghcr.io/subspace/farmer:gemini-2a-2022-oct-06 + volumes: + # Instead of specifying volume (which will store data in `/var/lib/docker`), you can + # alternatively specify path to the directory where files will be stored, just make + # sure everyone is allowed to write there + - farmer-data:/var/subspace:rw + # - /path/to/subspace-farmer:/var/subspace:rw + ports: + # Un-comment following line to unlock farmer's RPC + # - "127.0.0.1:9955:9955" + # If port 40333 is already occupied by something else, replace all + # occurrences of `40333` in this file with another value + - "0.0.0.0:40333:40333" + restart: unless-stopped + command: [ + "--base-path", "/var/subspace", + "farm", + "--node-rpc-url", "ws://node:9944", + "--ws-server-listen-addr", "0.0.0.0:9955", + "--listen-on", "/ip4/0.0.0.0/tcp/40333", + # Replace `WALLET_ADDRESS` with your Polkadot.js wallet address + "--reward-address", "WALLET_ADDRESS", + "--plot-size", "100G" + ] + volumes: + node-data: + farmer-data: + ``` + + 2. Now edit created file: + + a. Replace `INSERT_YOUR_ID` with desired name that will be shown in telemetry (doesn't impact anything else) + + b. Replace `WALLET_ADDRESS` with your wallet address + + c. Replace `PLOT_SIZE` with plot size in gigabytes or terabytes, for instance 100G or 2T (but leave at least 10G of disk space for node) + + *If you want to store files on a separate disk or customize port, read comments in the file.* + + 3. Now go to directory with `docker-compose.yml` and type `docker-compose up -d` to start everything + + You can read logs with `docker-compose logs --tail=1000 -f`, for the rest read [Docker Compose CLI reference](https://docs.docker.com/compose/reference/). + + + + +
+ + Download Node Executable + + + Download Farmer Executable + + + Download Farmer Executable (OpenCL) + +
+ + --- + +:::caution Windows No Output Bug + + If you face an error where the node outputs nothing and no error code is given it is likely you just need to install the latest Visual C++ Redistributable package [here](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170) + +::: + + 1. Open `Powershell` (we do not recommend using Command Prompt as it's syntax is slightly different) + 2. In the terminal we will change to the Downloads directory using this command `cd Downloads` + 3. We will then start the node using the following command + > You may get a popup asking for firewall permission, make sure to click `Allow` + + ```PowerShell + # Replace `INSERT_YOUR_ID` with a nickname you choose + # Copy all of the lines below, they are all part of the same command + .\subspace-node-windows-x86_64-gemini-2a-2022-oct-06.exe ` + --chain gemini-2a ` + --execution wasm ` + --state-pruning archive ` + --validator ` + --name INSERT_YOUR_ID + ``` + 4. You should see something similar in the terminal: + ``` + 2022-02-03 10:52:23 Subspace + 2022-02-03 10:52:23 ✌️ version 0.1.0-35cf6f5-x86_64-windows + 2022-02-03 10:52:23 ❤️ by Subspace Labs , 2021-2022 + 2022-02-03 10:52:23 📋 Chain specification: Subspace Gemini 1 + 2022-02-03 10:52:23 🏷 Node name: YOUR_FANCY_NAME + 2022-02-03 10:52:23 👤 Role: AUTHORITY + 2022-02-03 10:52:23 💾 Database: RocksDb at C:\Users\X\AppData\Local\subspace-node-windows-x86_64-snapshot-2022-jan-05.exe\data\chains\subspace_test\db\full + 2022-02-03 10:52:23 ⛓ Native runtime: subspace-100 (subspace-1.tx1.au1) + 2022-02-03 10:52:23 🔨 Initializing Genesis block/state (state: 0x22a5…17ea, header-hash: 0x6ada…0d38) + 2022-02-03 10:52:24 ⏱ Loaded block-time = 1s from block 0x6ada0792ea62bf3501abc87d92e1ce0e78ddefba66f02973de54144d12ed0d38 + 2022-02-03 10:52:24 Starting archiving from genesis + 2022-02-03 10:52:24 Archiving already produced blocks 0..=0 + 2022-02-03 10:52:24 🏷 Local node identity is: 12D3KooWBgKtea7MVvraeNyxdPF935pToq1x9VjR1rDeNH1qecXu + 2022-02-03 10:52:24 🧑‍🌾 Starting Subspace Authorship worker + 2022-02-03 10:52:24 📦 Highest known block at #0 + 2022-02-03 10:52:24 〽️ Prometheus exporter started at 127.0.0.1:9615 + 2022-02-03 10:52:24 Listening for new connections on 0.0.0.0:9944. + 2022-02-03 10:52:26 🔍 Discovered new external address for our node: /ip4/176.233.17.199/tcp/30333/p2p/12D3KooWBgKtea7MVvraeNyxdPF935pToq1x9VjR1rDeNH1qecXu + 2022-02-03 10:52:29 ⚙️ Syncing, target=#215883 (2 peers), best: #55 (0xafc7…bccf), finalized #0 (0x6ada…0d38), ⬇ 850.1kiB/s ⬆ 1.5kiB/s + ``` + 5. After running this command, Windows may ask you for permissions related to firewall, select `allow` in this case. + 6. We will then open another terminal, change to the downloads directory, then start the farmer node with the following command: + *Change command to feature `subspace-farmer-opencl-windows-x86_64-gemini-2a-2022-oct-06.exe` if using Open CL version.* + ```PowerShell + # Replace `WALLET_ADDRESS` below with your account address from Polkadot.js wallet + .\subspace-farmer-windows-x86_64-gemini-2a-2022-oct-06.exe farm ` + --reward-address WALLET_ADDRESS ` + --plot-size 100G + ``` + 7. You should see something similar in the terminal: + ``` + 2022-06-02T00:02:04.552120Z INFO subspace_farmer::commands::farm: Connecting to node at ws://127.0.0.1:9944 + 2022-06-02T00:02:04.557220Z INFO jsonrpsee_client_transport::ws: Connection established to target: Target { sockaddrs: [], host: "127.0.0.1", host_header: "127.0.0.1:9944", _mode: Plain, path_and_query: "/" } + 2022-06-02T00:02:04.575669Z INFO subspace_farmer::commands::farm: Opening object mapping + 2022-06-02T00:02:04.617553Z INFO subspace_farmer::multi_farming: Opening plot + 2022-06-02T00:02:04.645422Z INFO subspace_farmer::multi_farming: Opening commitments + 2022-06-02T00:02:04.666925Z INFO subspace_farmer::farming: Subscribing to slot info notifications + 2022-06-02T00:02:04.688218Z INFO subspace_farmer::archiving: Subscribing to archived segments + 2022-06-02T00:02:04.689129Z INFO subspace_farmer::commands::farm: WS RPC server listening on 127.0.0.1:9955 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=0 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=1 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=2 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=3 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=4 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=5 + ``` + + 8. You are now Farming! Just wait for your node to fully sync, and for your farmer to fully plot. + +
+ + +
+ + Download Node Executable + + + Download Farmer Executable + +
+ +--- + +:::caution Minimum macOS Version + + The minimum support macOS version is version 12+ + +::: + + 1. Open your favorite terminal, and change to the Downloads directory using `cd Downloads` + 2. Make the farmer & node executable: + - `chmod +x subspace-farmer-macos-x86_64-gemini-2a-2022-oct-06` + - `chmod +x subspace-node-macos-x86_64-gemini-2a-2022-oct-06` + 3. We will then start the node using the following command + + > *Note, when attempting to run this command you may be prompted:* Click on `cancel` instead of moving it to trash. + To allow execution, go to `System Preferences -> Security & Privacy -> General`, and click on `allow`. + After this, simply repeat the step you prompted for (step 4 or 6). This time, click the `Open` button when prompted. + + ```bash + # Replace `INSERT_YOUR_ID` with a nickname you choose + # Copy all of the lines below, they are all part of the same command + ./subspace-node-macos-x86_64-gemini-2a-2022-oct-06 \ + --chain gemini-2a \ + --execution wasm \ + --state-pruning archive \ + --validator \ + --name INSERT_YOUR_ID + ``` + 4. You should see something similar in the terminal: + ``` + 2022-02-03 10:52:23 Subspace + 2022-02-03 10:52:23 ✌️ version 0.1.0-35cf6f5-x86_64-macos + 2022-02-03 10:52:23 ❤️ by Subspace Labs , 2021-2022 + 2022-02-03 10:52:23 📋 Chain specification: Subspace Gemini 1 + 2022-02-03 10:52:23 🏷 Node name: YOUR_FANCY_NAME + 2022-02-03 10:52:23 👤 Role: AUTHORITY + 2022-02-03 10:52:23 💾 Database: RocksDb at /Users/X/Library/Application Support/subspace-node-x86_64-macos-11-snapshot-2022-jan-05/chains/subspace_test/db/full + 2022-02-03 10:52:23 ⛓ Native runtime: subspace-100 (subspace-1.tx1.au1) + 2022-02-03 10:52:23 🔨 Initializing Genesis block/state (state: 0x22a5…17ea, header-hash: 0x6ada…0d38) + 2022-02-03 10:52:24 ⏱ Loaded block-time = 1s from block 0x6ada0792ea62bf3501abc87d92e1ce0e78ddefba66f02973de54144d12ed0d38 + 2022-02-03 10:52:24 Starting archiving from genesis + 2022-02-03 10:52:24 Archiving already produced blocks 0..=0 + 2022-02-03 10:52:24 🏷 Local node identity is: 12D3KooWBgKtea7MVvraeNyxdPF935pToq1x9VjR1rDeNH1qecXu + 2022-02-03 10:52:24 🧑‍🌾 Starting Subspace Authorship worker + 2022-02-03 10:52:24 📦 Highest known block at #0 + 2022-02-03 10:52:24 〽️ Prometheus exporter started at 127.0.0.1:9615 + 2022-02-03 10:52:24 Listening for new connections on 0.0.0.0:9944. + 2022-02-03 10:52:26 🔍 Discovered new external address for our node: /ip4/176.233.17.199/tcp/30333/p2p/12D3KooWBgKtea7MVvraeNyxdPF935pToq1x9VjR1rDeNH1qecXu + 2022-02-03 10:52:29 ⚙️ Syncing, target=#215883 (2 peers), best: #55 (0xafc7…bccf), finalized #0 (0x6ada…0d38), ⬇ 850.1kiB/s ⬆ 1.5kiB/s + ``` + 5. We will then open another terminal, change to the downloads directory, then start the farmer node with the following command: + ```bash + # Replace `WALLET_ADDRESS` below with your account address from Polkadot.js wallet + ./subspace-farmer-macos-x86_64-gemini-2a-2022-oct-06 farm \ + --reward-address WALLET_ADDRESS \ + --plot-size 100G + ``` + 6. It may prompt again in here. Refer to the note on step 4. + + 7. You should see something similar in the terminal: + ``` + 2022-06-02T00:02:04.552120Z INFO subspace_farmer::commands::farm: Connecting to node at ws://127.0.0.1:9944 + 2022-06-02T00:02:04.557220Z INFO jsonrpsee_client_transport::ws: Connection established to target: Target { sockaddrs: [], host: "127.0.0.1", host_header: "127.0.0.1:9944", _mode: Plain, path_and_query: "/" } + 2022-06-02T00:02:04.575669Z INFO subspace_farmer::commands::farm: Opening object mapping + 2022-06-02T00:02:04.617553Z INFO subspace_farmer::multi_farming: Opening plot + 2022-06-02T00:02:04.645422Z INFO subspace_farmer::multi_farming: Opening commitments + 2022-06-02T00:02:04.666925Z INFO subspace_farmer::farming: Subscribing to slot info notifications + 2022-06-02T00:02:04.688218Z INFO subspace_farmer::archiving: Subscribing to archived segments + 2022-06-02T00:02:04.689129Z INFO subspace_farmer::commands::farm: WS RPC server listening on 127.0.0.1:9955 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=0 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=1 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=2 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=3 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=4 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=5 + ``` + + 8. You are now Farming! Just wait for your node to fully sync, and for your farmer to fully plot. + +
+ + +
+ + Download Node Executable + + + Download Farmer Executable + + + Download Farmer Executable (OpenCL) + +
+

+ + +

+ + +
+ + Expand for Aarch64/64-bit Raspberry Pi Executables + +
+ + 1. Download Node Executable + + + 2. Download Farmer Executable + +
+
+ + ### Required dependencies + There are two packages that are typically already installed, but might be missing on your machine. + + If you see this error: + > error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory + + Make sure to install `ocl-icd-libopencl1` library with `sudo apt-get install ocl-icd-libopencl1`. + + If you see this error: + > error while loading shared libraries: libgomp.so.1: cannot open shared object file: No such file or directory + + Make sure to install `libgomp1` library with `sudo apt-get install libgomp1`. + + ### OpenCL support + Please read following documentation to make sure OpenCL support is enabled and working properly: + + OpenCL support is used for GPU acceleration (AMD, Intel, Nvidia) of initial plotting. + GPU is not required generally for farmer to work and is not used at all after initial plotting. + + --- + 1. Open your favorite terminal, and change to the Downloads directory using `cd Downloads` + 2. Make the farmer & node executable + - `chmod +x subspace-farmer-ubuntu-x86_64-gemini-2a-2022-oct-06` + - `chmod +x subspace-node-ubuntu-x86_64-gemini-2a-2022-oct-06` + 3. We will then start the node using the following command + + ```bash + # Replace `NODE_FILE_NAME` with the name of the node file you downloaded from releases + # Replace `INSERT_YOUR_ID` with a nickname you choose + # Copy all of the lines below, they are all part of the same command + ./subspace-node-ubuntu-x86_64-gemini-2a-2022-oct-06 \ + --chain gemini-2a \ + --execution wasm \ + --state-pruning archive \ + --validator \ + --name INSERT_YOUR_ID + ``` + 4. You should see something similar in the terminal: + ``` + 2022-02-03 10:52:23 Subspace + 2022-02-03 10:52:23 ✌️ version 0.1.0-35cf6f5-x86_64-ubuntu + 2022-02-03 10:52:23 ❤️ by Subspace Labs , 2021-2022 + 2022-02-03 10:52:23 📋 Chain specification: Subspace Gemini 1 + 2022-02-03 10:52:23 🏷 Node name: YOUR_FANCY_NAME + 2022-02-03 10:52:23 👤 Role: AUTHORITY + 2022-02-03 10:52:23 💾 Database: RocksDb at /home/X/.local/share/subspace-node-x86_64-ubuntu-20.04-snapshot-2022-jan-05/chains/subspace_test/db/full + 2022-02-03 10:52:23 ⛓ Native runtime: subspace-100 (subspace-1.tx1.au1) + 2022-02-03 10:52:23 🔨 Initializing Genesis block/state (state: 0x22a5…17ea, header-hash: 0x6ada…0d38) + 2022-02-03 10:52:24 ⏱ Loaded block-time = 1s from block 0x6ada0792ea62bf3501abc87d92e1ce0e78ddefba66f02973de54144d12ed0d38 + 2022-02-03 10:52:24 Starting archiving from genesis + 2022-02-03 10:52:24 Archiving already produced blocks 0..=0 + 2022-02-03 10:52:24 🏷 Local node identity is: 12D3KooWBgKtea7MVvraeNyxdPF935pToq1x9VjR1rDeNH1qecXu + 2022-02-03 10:52:24 🧑‍🌾 Starting Subspace Authorship worker + 2022-02-03 10:52:24 📦 Highest known block at #0 + 2022-02-03 10:52:24 〽️ Prometheus exporter started at 127.0.0.1:9615 + 2022-02-03 10:52:24 Listening for new connections on 0.0.0.0:9944. + 2022-02-03 10:52:26 🔍 Discovered new external address for our node: /ip4/176.233.17.199/tcp/30333/p2p/12D3KooWBgKtea7MVvraeNyxdPF935pToq1x9VjR1rDeNH1qecXu + 2022-02-03 10:52:29 ⚙️ Syncing, target=#215883 (2 peers), best: #55 (0xafc7…bccf), finalized #0 (0x6ada…0d38), ⬇ 850.1kiB/s ⬆ 1.5kiB/s + ``` + 5. We will then open another terminal, change to the downloads directory, then start the farmer node with the following command: + *Change command to feature `subspace-farmer-opencl-ubuntu-x86_64-gemini-2a-2022-oct-06` if using openCL.* + ```bash + # Replace `FARMER_FILE_NAME` with the name of the farmer file you downloaded from releases + # Replace `WALLET_ADDRESS` below with your account address from Polkadot.js wallet + ./subspace-farmer-ubuntu-x86_64-gemini-2a-2022-oct-06 farm \ + --reward-address WALLET_ADDRESS \ + --plot-size 100G + ``` + 6. You should see something similar in the terminal: + ``` + 2022-06-02T00:02:04.552120Z INFO subspace_farmer::commands::farm: Connecting to node at ws://127.0.0.1:9944 + 2022-06-02T00:02:04.557220Z INFO jsonrpsee_client_transport::ws: Connection established to target: Target sockaddrs: , host: "127.0.0.1", host_header: "127.0.0.1:9944", _mode: Plain, path_and_query: "/" + 2022-06-02T00:02:04.575669Z INFO subspace_farmer::commands::farm: Opening object mapping + 2022-06-02T00:02:04.617553Z INFO subspace_farmer::multi_farming: Opening plot + 2022-06-02T00:02:04.645422Z INFO subspace_farmer::multi_farming: Opening commitments + 2022-06-02T00:02:04.666925Z INFO subspace_farmer::farming: Subscribing to slot info notifications + 2022-06-02T00:02:04.688218Z INFO subspace_farmer::archiving: Subscribing to archived segments + 2022-06-02T00:02:04.689129Z INFO subspace_farmer::commands::farm: WS RPC server listening on 127.0.0.1:9955 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=0 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=1 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=2 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=3 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=4 + 2022-06-02T00:02:09.492868Z INFO subspace_farmer::archiving: Plotted segment segment_index=5 + ``` + + 7. You are now Farming! Just wait for your node to fully sync, and for your farmer to fully plot. + +
+
+ +## III. Post Node & Farmer Install Care + +--- + +Now that your Node & Farmer have been started you will wait for the node to sync and the farmer to complete the initial plotting. While this is occuring you can check out some of the helpful resources below. + +**- [Telemetry Server](https://telemetry.subspace.network/#/0x43d10ffd50990380ffe6c9392145431d630ae67e89dbc9c014cac2a417759101)** + +**- [Subspace Block Explorer](https://subspace.subscan.io/)** + +**- [Block Explorer](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Feu-1.gemini-2a.subspace.network%2Fws#/explorer)** + + +### Using a Custom Path +You can set a custom path for your node & farmer to use if you want to use an external hard drive, or set a custom path from the default. You can set the node and farmer to different directories if you would like. + + + + +#### Set Node Custom Path. +To set your node to use a custom path all you will need to do is add the `--base-path` parameter after the `--chain` parameter. + +**Example:** +``` +.\subspace-node-ubuntu-x86_64-gemini-2a-2022-oct-06 --chain gemini-2a --base-path /path/to/directory/here --execution wasm --state-pruning archive --validator --name INSERT_YOUR_ID +``` + + + +#### Set Farmer Custom Path. +To set your node to use a custom path all you will need to do is add the `--base-path` parameter after the `--chain` parameter. + +**Example:** +``` +.\subspace-farmer-ubuntu-x86_64-gemini-2a-2022-oct-06 --base-path /path/to/directory/here farm --reward-address WALLET_ADDRESS --plot-size PLOT_SIZE +``` + + + +### Switching to a new snapshot + +:::info +Unless specifically mentioned by the Development team you should **NOT** have to wipe & purge your configuration on new releases. +::: + +In general you should be able to download the latest release, and re-start the Node & Farmer with the same commands as you started to prior version with no errors. + +There are some cases where version updates will cause issue with your Node & Farmer and you may have to wipe & purge your node, typically when errors occur. If you have any issues you can always check our [Forums](https://forums.subspace.network) and hop in our [Discord](https://discord.gg/subspace-network) Server to ask for help. + +#### Wipe & Purge + +If you were running a node previously, and want to switch to a new snapshot, please perform these steps and then follow the guideline again: +``` +# Replace `FARMER_FILE_NAME` with the name of the node file you downloaded from releases +./FARMER_FILE_NAME wipe +# Replace `NODE_FILE_NAME` with the name of the node file you downloaded from releases +./NODE_FILE_NAME purge-chain --chain gemini-2a +``` +Does not matter if the node/farmer executable is the previous one or from the new snapshot, both will work :) +The reason we require this is, with every snapshot change, the network might get partitioned, and you may be on a different genesis than the current one. +In plain English, these commands are like a `reset` button for snapshot changes. + +Now follow installation guide. + +#### Docker Wipe & Purge + +In case of Docker setup run `docker-compose down -v` (and manually delete custom directories if you have specified them). + +Now follow installation guide. + +### Help + +There are extra commands and parameters you can use on farmer or node, use the `--help` after any other command to display additional options. + +Below are some helpful samples: + +- `./FARMER_FILE_NAME --base-path /path/to/data farm ...` : will store data in `/path/to/data` instead of default location +- `./FARMER_FILE_NAME --base-path /path/to/data wipe` : erases everything related to farmer if data were stored in `/path/to/data` +- `./NODE_FILE_NAME --base-path /path/to/data --chain gemini-2a ...` : start node and store data in `/path/to/data` instead of default location +- `./NODE_FILE_NAME purge-chain --base-path /path/to/data --chain gemini-2a` : erases data related to the node if data were stored in `/path/to/data` + +Examples: +```bash +# Replace `FARMER_FILE_NAME` with the name of the node file you downloaded from releases +./FARMER_FILE_NAME farm --help +./FARMER_FILE_NAME wipe +``` + +## IV. Advanced + +--- + +### Storing Data on the Subspace Network + +We are still early in our development but would love to see people start to build on subspace. refer to you npm package [subspace.js](../../../subspacejs/) + +### Running an archival node + +Instructions above will get you full node (doesn't store the history and state of the whole blockchain, only last 1024 +blocks). If you want to opt in to storing the whole history (archival node), remove following parameters (lines) from +above instructions before starting your node: +* `--pruning 1024` +* `--keep-blocks 1024` + +And instead add this: +* `--pruning archive` + +Archival node is useful if you run an RPC node and want to support querying older blockchain history. + +NOTE: You can't switch between full and archival node without wiping it, so if you need that, follow steps in +[Switching to a new snapshot](#switching-to-a-new-snapshot) section above. + +### Build from source (Linux) + +If you're running unsupported Linux distribution or CPU architecture, you may try to build binaries yourself from source. + +NOTE: This is primarily targeted at tech-savvy users and not recommended unless you know what you're doing. +Please try to find answer to your question online before reaching out to maintainers. + +You'll have to have [Rust toolchain](https://rustup.rs/) installed as well as LLVM and Clang in addition to usual developer tooling (Ubuntu example): +```bash +sudo apt-get install llvm clang +``` + +Now clone the source and build snapshot `snapshot-2022-apr-29` (replace occurrences with the snapshot you want to build): +```bash +git clone https://github.com/subspace/subspace.git +cd subspace +git checkout snapshot-2022-apr-29 +cargo build \ + --profile production \ + --bin subspace-node \ + --bin subspace-farmer +``` + +You'll find two binaries under `target/production` directory once it succeeds, after which refer to instructions above on how to use them. + +## V. Having Trouble? + +If you are having some issues with running the node or the farmer for the subspace network, feel free to join our Discord or even better you can take a look at our Forums and review and existing questions or post a new one if needed! + +### - [Forums](https://forums.subspace.network) +### - [Discord](https://discord.gg/subspace-network) \ No newline at end of file diff --git a/protocol_versioned_docs/version-gemini-2a-2022-oct-06/index.md b/protocol_versioned_docs/version-gemini-2a-2022-oct-06/index.md new file mode 100644 index 00000000000..3cdbf04b3c8 --- /dev/null +++ b/protocol_versioned_docs/version-gemini-2a-2022-oct-06/index.md @@ -0,0 +1,38 @@ +--- +title: Getting Started +sidebar_position: 1 +description: A Getting Started guide for the Subspace Network +displayed_sidebar: masterSidebar +keywords: + - Getting Started + - Learn + - Farming + - Development +--- + +# 👋Welcome +The Subspace Network is an ambitious layer zero protocol which is the first scalable, secure, & decentralized infrastructure layer for the Web3 ecosystems. + +## ❓ Learn About the Subspace Network +--- +- [What is the Subspace Network](https://subspace.network/technology) +- [Frequently Asked Questions](https://subspace.network/faq) +- [Whitepaper - *Summarized*](https://subspace.network/news/subspace-network-whitepaper) +- [Whitepaper - *Full Length*](https://assets.website-files.com/61526a2af87a54e565b0ae92/617759c00edd0e3bd279aa29_Subspace_%20A%20solution%20to%20the%20farmer%27s%20dilemma.pdf) + +## 🤝 Participate on the Network +--- +Our goal is to bring an extremely low barrier to entry for participating on consensus, As long as you meet the simple requirements below you can get started below. + + +### - [Start Farming with CLI or Docker](farm/farming) +### - [Start Farming with Subspace Desktop Application](../../subspace-desktop) + +## 📖 Develop on Subspace Network +--- + +The Subspace Network aims to provide an amazing developer experience to anyone who wishes to build on top of the protocol. As such we have started working on a variety of tools to help with development within our network. + +### - [Core Protocol Development](development) + +### - [Store data with Subspace.js](../../subspacejs) diff --git a/protocol_versioned_docs/version-gemini-2a-2022-oct-06/port-forwarding.md b/protocol_versioned_docs/version-gemini-2a-2022-oct-06/port-forwarding.md new file mode 100644 index 00000000000..3f529fe13c6 --- /dev/null +++ b/protocol_versioned_docs/version-gemini-2a-2022-oct-06/port-forwarding.md @@ -0,0 +1,86 @@ +--- +title: How to Forward Ports +sidebar_position: 3 +description: How to forward TCP port 30333 for the Subspace Farmer +displayed_sidebar: masterSidebar +keywords: + - Farmer + - Farming + - CLI + - Binaries + - Port Forwarding + - Subspace Desktop +--- + +:::caution +If you are using Linux and enabled `ufw` (firewall), make sure you have opened up your firewall for TCP traffic on port 30333 with the following command `sudo ufw allow 30333/tcp` +::: + +First before forwarding ports it is important to understand what that actually means. We would highly suggest reading some information on the topic, here is a guide we find helpful https://www.geeksforgeeks.org/port-forwarding-on-router-and-why-do-we-need-it/ + +Forwarding ports on your router will open up one specific lane on your router to allow external traffic to flow in or out. This is usually automatically done for most applications such as port 80 for File Transfer Protocol, in our case we will need to do this manually. + +It is important to note that forwarding ports is going to be different for most routers, but we have included some general instructions, as well as some links for some major brands. + + +# How to Port Forward +--- +## Additional Resources + +[How to Forward Ports on Your Router](https://www.lifewire.com/how-to-port-forward-4163829) + +[How to Port Forward - General Guide to Multiple Router Brands - Support | No-IP Knowledge Base](https://www.noip.com/support/knowledgebase/general-port-forwarding-guide/) + +[Port Forwarding in Your Router](https://portforward.com/how-to-port-forward/) + +## Step 1. *Finding Default Gateway Address* +--- +Find your local router IP Address & Computer internal IP address. + +Router IP address is only necessary to open router settings, if you know how to open router settings - do that instead. + +### Find router IP Address on Linux +1. Open up a terminal and type `ip route` or `ip r` . + 1. This will display the IP Address of your home router at the top +2. The top of the terminal will show the IP address typically `192.168.0.1` we will want to record this IP Address +3. We will then type `hostname -I | awk '{print $1}'` which will return your computers internal IP address typically something like `192.168.0.25` ensure to record this IP address as well. + +### Find router IP Address on Windows +1. Open up PowerShell and type `ipconfig` + 1. This will display the IP Address of your home router as `Default Gateway:` +2. This command will also display your computers internal IP address named as `IPv4 Address` typically something like `192.168.0.25` ensure to record this IP address as well. + +### Find router IP Address on OSX +1. Open up a terminal and type `netstat -nr|grep default` + 1. This will display the IP Address of your home router +2. The top of the terminal will show the IP address typically `192.168.0.1` we will want to record this IP Address + 3. We will then type `ipconfig getifaddr en1` for wireless, or `ipconfig getifaddr en0` for ethernet. which will return your computers internal IP address typically something like `192.168.0.25` ensure to record this IP address as well. + +## Step 2. *Connecting to your router* +--- +Now we will input the router IP Address into an Internet browser (Firefox, Chrome, Edge, etc), this will take you to some kind of login page. At this point we will need to find the default admin login information. There are typically 3 ways to locate this information. + +1. It will usually be physically located on the router, in the detailed information area where you may find a barcode, or serial number. + * It may also be in the user manual of the router as well +2. Sometimes it may also be given to you on an information card from your Internet technician when you first setup your internet. +3. Some ISP's have it configured to your ISP Portal account login information. +4. You may also attempt to google the default information, provided you have the serial number and model. Below is a website which may help in looking this information up. (Often times its set to some generic default like `Admin` & `Password` as the credentials. + + [All Default Router IP Address, Username and Passwords List | Find it Here!](https://routerslogin.com/all/default-router-list) + +## Step 3. *Forwarding your ports* +--- +The actual forwarding process will vary based on your router, below is the general process and crucial information you will need along the way. + +1. Login to your router at the login page we located in the prior steps. +2. Advanced Settings > Port Forwarding +3. Within the port forwarding screen we will see the following fields, all fields have been filled accordingly to our defaults, except for the Computer IP Address, this you will replace with the computer IP address you received in the first steps. + 1. **Computer IP Address:** `192.168.0.25` + 2. **Protocol:** `TCP` + 3. **Starting Port:** `30333` + 4. **Ending Port:** `30333` + * Note, that if you change from the default `30333` port on your node configuration you will need to forward the respective port used. +4. Once you have entered the needed information click save/apply. (Note: You may have to reboot your router/router depending on the model.) +5. You can then verify if your port has been forwarded via the following website. + 1. [https://www.whatismyip.com/port-scanner/](https://www.whatismyip.com/port-scanner/) + The testing website can give false negatives, try running the farmer/node as well to test. diff --git a/protocol_versioned_sidebars/version-gemini-2a-2022-oct-06-sidebars.json b/protocol_versioned_sidebars/version-gemini-2a-2022-oct-06-sidebars.json new file mode 100644 index 00000000000..74a49b0869d --- /dev/null +++ b/protocol_versioned_sidebars/version-gemini-2a-2022-oct-06-sidebars.json @@ -0,0 +1,94 @@ +{ + "masterSidebar": [ + { + "type": "category", + "label": "Learn", + "items": [ + { + "type": "link", + "label": "Basics", + "href": "https://subspace.network/technology" + }, + { + "type": "link", + "label": "Whitepaper", + "href": "https://subspace.network/news/subspace-network-whitepaper" + }, + { + "type": "link", + "label": "Additional Content", + "href": "https://subspace.network/learn" + } + ] + }, + { + "type": "category", + "label": "Getting Started Farming", + "items": [ + { + "type": "link", + "label": "Farm with CLI/Docker", + "href": "/protocol/farm/farming" + }, + { + "type": "link", + "label": "How to Forward Ports", + "href": "/protocol/port-forwarding" + }, + { + "type": "link", + "label": "Having Trouble?", + "href": "https://forum.subspace.network/" + } + ] + }, + { + "type": "category", + "label": "Network Resources", + "items": [ + { + "type": "link", + "label": "Subspace Block Explorer", + "href": "https://subspace.subscan.io/" + }, + { + "type": "link", + "label": "PolkadotJS Portal", + "href": "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Feu-1.gemini-2a.subspace.network%2Fws#/explorer" + }, + { + "type": "link", + "label": "Subspace Telemetry", + "href": "https://telemetry.subspace.network/" + } + ] + }, + { + "type": "category", + "label": "Subspace SDK", + "items": [ + { + "type": "link", + "label": "Subspace.js", + "href": "/subspacejs/" + } + ] + }, + { + "type": "category", + "label": "Community", + "items": [ + { + "type": "link", + "label": "Contribution Guide", + "href": "../../community/contribute" + }, + { + "type": "link", + "label": "Community Resources", + "href": "../../community/" + } + ] + } + ] +} diff --git a/protocol_versions.json b/protocol_versions.json index 887c76a2e65..278104ed51a 100644 --- a/protocol_versions.json +++ b/protocol_versions.json @@ -1,4 +1,5 @@ [ + "gemini-2a-2022-oct-06", "gemini-2a-2022-sep-26", "gemini-2a-2022-sep-10", "gemini-2a-2022-sep-06", diff --git a/yarn.lock b/yarn.lock index 8a92806b094..e5f2516d292 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1197,10 +1197,10 @@ "@docsearch/css" "3.2.1" algoliasearch "^4.0.0" -"@docusaurus/core@2.0.1", "@docusaurus/core@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.0.1.tgz#a2b0d653e8f18eacddda4778a46b638dd1f0f45c" - integrity sha512-Prd46TtZdiixlTl8a+h9bI5HegkfREjSNkrX2rVEwJZeziSz4ya+l7QDnbnCB2XbxEG8cveFo/F9q5lixolDtQ== +"@docusaurus/core@2.1.0", "@docusaurus/core@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.1.0.tgz#4aedc306f4c4cd2e0491b641bf78941d4b480ab6" + integrity sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q== dependencies: "@babel/core" "^7.18.6" "@babel/generator" "^7.18.7" @@ -1212,13 +1212,13 @@ "@babel/runtime" "^7.18.6" "@babel/runtime-corejs3" "^7.18.6" "@babel/traverse" "^7.18.8" - "@docusaurus/cssnano-preset" "2.0.1" - "@docusaurus/logger" "2.0.1" - "@docusaurus/mdx-loader" "2.0.1" + "@docusaurus/cssnano-preset" "2.1.0" + "@docusaurus/logger" "2.1.0" + "@docusaurus/mdx-loader" "2.1.0" "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/utils" "2.0.1" - "@docusaurus/utils-common" "2.0.1" - "@docusaurus/utils-validation" "2.0.1" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-common" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" "@slorber/static-site-generator-webpack-plugin" "^4.0.7" "@svgr/webpack" "^6.2.1" autoprefixer "^10.4.7" @@ -1274,33 +1274,33 @@ webpack-merge "^5.8.0" webpackbar "^5.0.2" -"@docusaurus/cssnano-preset@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.1.tgz#4d0c49338cf3aa88c5bd7cffbf77654db8e1e3b2" - integrity sha512-MCJ6rRmlqLmlCsZIoIxOxDb0rYzIPEm9PYpsBW+CGNnbk+x8xK+11hnrxzvXHqDRNpxrq3Kq2jYUmg/DkqE6vg== +"@docusaurus/cssnano-preset@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz#5b42107769b7cbc61655496090bc262d7788d6ab" + integrity sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ== dependencies: cssnano-preset-advanced "^5.3.8" postcss "^8.4.14" postcss-sort-media-queries "^4.2.1" tslib "^2.4.0" -"@docusaurus/logger@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.0.1.tgz#78a940a333d2f654fd9dea24db2c962034d4b1ff" - integrity sha512-wIWseCKko1w/WARcDjO3N/XoJ0q/VE42AthP0eNAfEazDjJ94NXbaI6wuUsuY/bMg6hTKGVIpphjj2LoX3g6dA== +"@docusaurus/logger@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.1.0.tgz#86c97e948f578814d3e61fc2b2ad283043cbe87a" + integrity sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q== dependencies: chalk "^4.1.2" tslib "^2.4.0" -"@docusaurus/mdx-loader@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.0.1.tgz#cc73690ca5d356687d9e75740560b4159cd5cdb5" - integrity sha512-tdNeljdilXCmhbaEND3SAgsqaw/oh7v9onT5yrIrL26OSk2AFwd+MIi4R8jt8vq33M0R4rz2wpknm0fQIkDdvQ== +"@docusaurus/mdx-loader@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz#3fca9576cc73a22f8e7d9941985590b9e47a8526" + integrity sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg== dependencies: "@babel/parser" "^7.18.8" "@babel/traverse" "^7.18.8" - "@docusaurus/logger" "2.0.1" - "@docusaurus/utils" "2.0.1" + "@docusaurus/logger" "2.1.0" + "@docusaurus/utils" "2.1.0" "@mdx-js/mdx" "^1.6.22" escape-html "^1.0.3" file-loader "^6.2.0" @@ -1315,13 +1315,13 @@ url-loader "^4.1.1" webpack "^5.73.0" -"@docusaurus/module-type-aliases@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.0.1.tgz#44d7132297bedae0890695b0e7ebbe14a73e26d1" - integrity sha512-f888ylnxHAM/3T8p1lx08+lTc6/g7AweSRfRuZvrVhHXj3Tz/nTTxaP6gPTGkJK7WLqTagpar/IGP6/74IBbkg== +"@docusaurus/module-type-aliases@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz#322f8fd5b436af2154c0dddfa173435730e66261" + integrity sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ== dependencies: "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/types" "2.0.1" + "@docusaurus/types" "2.1.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1329,18 +1329,18 @@ react-helmet-async "*" react-loadable "npm:@docusaurus/react-loadable@5.5.2" -"@docusaurus/plugin-content-blog@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.1.tgz#a37065e18ffd26e022ffb16a21ff28199140729e" - integrity sha512-/4ua3iFYcpwgpeYgHnhVGROB/ybnauLH2+rICb4vz/+Gn1hjAmGXVYq1fk8g49zGs3uxx5nc0H5bL9P0g977IQ== - dependencies: - "@docusaurus/core" "2.0.1" - "@docusaurus/logger" "2.0.1" - "@docusaurus/mdx-loader" "2.0.1" - "@docusaurus/types" "2.0.1" - "@docusaurus/utils" "2.0.1" - "@docusaurus/utils-common" "2.0.1" - "@docusaurus/utils-validation" "2.0.1" +"@docusaurus/plugin-content-blog@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz#32b1a7cd4b0026f4a76fce4edc5cfdd0edb1ec42" + integrity sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/logger" "2.1.0" + "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-common" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" cheerio "^1.0.0-rc.12" feed "^4.2.2" fs-extra "^10.1.0" @@ -1351,18 +1351,18 @@ utility-types "^3.10.0" webpack "^5.73.0" -"@docusaurus/plugin-content-docs@2.0.1", "@docusaurus/plugin-content-docs@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.1.tgz#4059591b4bff617e744e856ca680674b27c0b98a" - integrity sha512-2qeBWRy1EjgnXdwAO6/csDIS1UVNmhmtk/bQ2s9jqjpwM8YVgZ8QVdkxFAMWXgZWDQdwWwdP1rnmoEelE4HknQ== - dependencies: - "@docusaurus/core" "2.0.1" - "@docusaurus/logger" "2.0.1" - "@docusaurus/mdx-loader" "2.0.1" - "@docusaurus/module-type-aliases" "2.0.1" - "@docusaurus/types" "2.0.1" - "@docusaurus/utils" "2.0.1" - "@docusaurus/utils-validation" "2.0.1" +"@docusaurus/plugin-content-docs@2.1.0", "@docusaurus/plugin-content-docs@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz#3fcdf258c13dde27268ce7108a102b74ca4c279b" + integrity sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/logger" "2.1.0" + "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/module-type-aliases" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" "@types/react-router-config" "^5.0.6" combine-promises "^1.1.0" fs-extra "^10.1.0" @@ -1373,84 +1373,84 @@ utility-types "^3.10.0" webpack "^5.73.0" -"@docusaurus/plugin-content-pages@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.1.tgz#013f2e66f80d19b5c95a2d941d67c7cdb67b7191" - integrity sha512-6apSVeJENnNecAH5cm5VnRqR103M6qSI6IuiP7tVfD5H4AWrfDNkvJQV2+R2PIq3bGrwmX4fcXl1x4g0oo7iwA== - dependencies: - "@docusaurus/core" "2.0.1" - "@docusaurus/mdx-loader" "2.0.1" - "@docusaurus/types" "2.0.1" - "@docusaurus/utils" "2.0.1" - "@docusaurus/utils-validation" "2.0.1" +"@docusaurus/plugin-content-pages@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz#714d24f71d49dbfed888f50c15e975c2154c3ce8" + integrity sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" fs-extra "^10.1.0" tslib "^2.4.0" webpack "^5.73.0" -"@docusaurus/plugin-debug@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.0.1.tgz#2b2a473f8e01fd356e32236f753665b48209bcd4" - integrity sha512-jpZBT5HK7SWx1LRQyv9d14i44vSsKXGZsSPA2ndth5HykHJsiAj9Fwl1AtzmtGYuBmI+iXQyOd4MAMHd4ZZ1tg== +"@docusaurus/plugin-debug@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz#b3145affb40e25cf342174638952a5928ddaf7dc" + integrity sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw== dependencies: - "@docusaurus/core" "2.0.1" - "@docusaurus/types" "2.0.1" - "@docusaurus/utils" "2.0.1" + "@docusaurus/core" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" fs-extra "^10.1.0" react-json-view "^1.21.3" tslib "^2.4.0" -"@docusaurus/plugin-google-analytics@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.1.tgz#e3b84237aad2e94dcd1cf1810c1c9bc3d94f186d" - integrity sha512-d5qb+ZeQcg1Czoxc+RacETjLdp2sN/TAd7PGN/GrvtijCdgNmvVAtZ9QgajBTG0YbJFVPTeZ39ad2bpoOexX0w== +"@docusaurus/plugin-google-analytics@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz#c9a7269817b38e43484d38fad9996e39aac4196c" + integrity sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg== dependencies: - "@docusaurus/core" "2.0.1" - "@docusaurus/types" "2.0.1" - "@docusaurus/utils-validation" "2.0.1" + "@docusaurus/core" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" tslib "^2.4.0" -"@docusaurus/plugin-google-gtag@2.0.1", "@docusaurus/plugin-google-gtag@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.1.tgz#4cbcf9d520f7ec8124679fbe00867f2299a2f6bb" - integrity sha512-qiRufJe2FvIyzICbkjm4VbVCI1hyEju/CebfDKkKh2ZtV4q6DM1WZG7D6VoQSXL8MrMFB895gipOM4BwdM8VsQ== +"@docusaurus/plugin-google-gtag@2.1.0", "@docusaurus/plugin-google-gtag@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz#e4f351dcd98b933538d55bb742650a2a36ca9a32" + integrity sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA== dependencies: - "@docusaurus/core" "2.0.1" - "@docusaurus/types" "2.0.1" - "@docusaurus/utils-validation" "2.0.1" + "@docusaurus/core" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" tslib "^2.4.0" -"@docusaurus/plugin-sitemap@2.0.1", "@docusaurus/plugin-sitemap@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.1.tgz#6f8edb82b745b040d6b1495e2798396f63e50289" - integrity sha512-KcYuIUIp2JPzUf+Xa7W2BSsjLgN1/0h+VAz7D/C3RYjAgC5ApPX8wO+TECmGfunl/m7WKGUmLabfOon/as64kQ== - dependencies: - "@docusaurus/core" "2.0.1" - "@docusaurus/logger" "2.0.1" - "@docusaurus/types" "2.0.1" - "@docusaurus/utils" "2.0.1" - "@docusaurus/utils-common" "2.0.1" - "@docusaurus/utils-validation" "2.0.1" +"@docusaurus/plugin-sitemap@2.1.0", "@docusaurus/plugin-sitemap@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz#b316bb9a42a1717845e26bd4e2d3071748a54b47" + integrity sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/logger" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-common" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" fs-extra "^10.1.0" sitemap "^7.1.1" tslib "^2.4.0" -"@docusaurus/preset-classic@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.0.1.tgz#21a806e16b61026d2a0efa6ca97e17397065d894" - integrity sha512-nOoniTg46My1qdDlLWeFs55uEmxOJ+9WMF8KKG8KMCu5LAvpemMi7rQd4x8Tw+xiPHZ/sQzH9JmPTMPRE4QGPw== - dependencies: - "@docusaurus/core" "2.0.1" - "@docusaurus/plugin-content-blog" "2.0.1" - "@docusaurus/plugin-content-docs" "2.0.1" - "@docusaurus/plugin-content-pages" "2.0.1" - "@docusaurus/plugin-debug" "2.0.1" - "@docusaurus/plugin-google-analytics" "2.0.1" - "@docusaurus/plugin-google-gtag" "2.0.1" - "@docusaurus/plugin-sitemap" "2.0.1" - "@docusaurus/theme-classic" "2.0.1" - "@docusaurus/theme-common" "2.0.1" - "@docusaurus/theme-search-algolia" "2.0.1" - "@docusaurus/types" "2.0.1" +"@docusaurus/preset-classic@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz#45b23c8ec10c96ded9ece128fac3a39b10bcbc56" + integrity sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/plugin-content-blog" "2.1.0" + "@docusaurus/plugin-content-docs" "2.1.0" + "@docusaurus/plugin-content-pages" "2.1.0" + "@docusaurus/plugin-debug" "2.1.0" + "@docusaurus/plugin-google-analytics" "2.1.0" + "@docusaurus/plugin-google-gtag" "2.1.0" + "@docusaurus/plugin-sitemap" "2.1.0" + "@docusaurus/theme-classic" "2.1.0" + "@docusaurus/theme-common" "2.1.0" + "@docusaurus/theme-search-algolia" "2.1.0" + "@docusaurus/types" "2.1.0" "@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": version "5.5.2" @@ -1460,23 +1460,23 @@ "@types/react" "*" prop-types "^15.6.2" -"@docusaurus/theme-classic@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.0.1.tgz#043b6fcd2ecb2aecd134419b198c9f519029d5e7" - integrity sha512-0jfigiqkUwIuKOw7Me5tqUM9BBvoQX7qqeevx7v4tkYQexPhk3VYSZo7aRuoJ9oyW5makCTPX551PMJzmq7+sw== - dependencies: - "@docusaurus/core" "2.0.1" - "@docusaurus/mdx-loader" "2.0.1" - "@docusaurus/module-type-aliases" "2.0.1" - "@docusaurus/plugin-content-blog" "2.0.1" - "@docusaurus/plugin-content-docs" "2.0.1" - "@docusaurus/plugin-content-pages" "2.0.1" - "@docusaurus/theme-common" "2.0.1" - "@docusaurus/theme-translations" "2.0.1" - "@docusaurus/types" "2.0.1" - "@docusaurus/utils" "2.0.1" - "@docusaurus/utils-common" "2.0.1" - "@docusaurus/utils-validation" "2.0.1" +"@docusaurus/theme-classic@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz#d957a907ea8dd035c1cf911d0fbe91d8f24aef3f" + integrity sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/module-type-aliases" "2.1.0" + "@docusaurus/plugin-content-blog" "2.1.0" + "@docusaurus/plugin-content-docs" "2.1.0" + "@docusaurus/plugin-content-pages" "2.1.0" + "@docusaurus/theme-common" "2.1.0" + "@docusaurus/theme-translations" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-common" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" "@mdx-js/react" "^1.6.22" clsx "^1.2.1" copy-text-to-clipboard "^3.0.1" @@ -1491,17 +1491,17 @@ tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-common@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.0.1.tgz#9594d58fbef11fe480967b5ce4cdbb3cd78d9ca3" - integrity sha512-I3b6e/ryiTQMsbES40cP0DRGnfr0E2qghVq+XecyMKjBPejISoSFEDn0MsnbW8Q26k1Dh/0qDH8QKDqaZZgLhA== - dependencies: - "@docusaurus/mdx-loader" "2.0.1" - "@docusaurus/module-type-aliases" "2.0.1" - "@docusaurus/plugin-content-blog" "2.0.1" - "@docusaurus/plugin-content-docs" "2.0.1" - "@docusaurus/plugin-content-pages" "2.0.1" - "@docusaurus/utils" "2.0.1" +"@docusaurus/theme-common@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.1.0.tgz#dff4d5d1e29efc06125dc06f7b259f689bb3f24d" + integrity sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag== + dependencies: + "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/module-type-aliases" "2.1.0" + "@docusaurus/plugin-content-blog" "2.1.0" + "@docusaurus/plugin-content-docs" "2.1.0" + "@docusaurus/plugin-content-pages" "2.1.0" + "@docusaurus/utils" "2.1.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1511,19 +1511,19 @@ tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-search-algolia@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.1.tgz#0aab8407b2163f67eb4c48f1de33944e1695fa74" - integrity sha512-cw3NaOSKbYlsY6uNj4PgO+5mwyQ3aEWre5RlmvjStaz2cbD15Nr69VG8Rd/F6Q5VsCT8BvSdkPDdDG5d/ACexg== +"@docusaurus/theme-search-algolia@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz#e7cdf64b6f7a15b07c6dcf652fd308cfdaabb0ee" + integrity sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg== dependencies: "@docsearch/react" "^3.1.1" - "@docusaurus/core" "2.0.1" - "@docusaurus/logger" "2.0.1" - "@docusaurus/plugin-content-docs" "2.0.1" - "@docusaurus/theme-common" "2.0.1" - "@docusaurus/theme-translations" "2.0.1" - "@docusaurus/utils" "2.0.1" - "@docusaurus/utils-validation" "2.0.1" + "@docusaurus/core" "2.1.0" + "@docusaurus/logger" "2.1.0" + "@docusaurus/plugin-content-docs" "2.1.0" + "@docusaurus/theme-common" "2.1.0" + "@docusaurus/theme-translations" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" algoliasearch "^4.13.1" algoliasearch-helper "^3.10.0" clsx "^1.2.1" @@ -1533,18 +1533,18 @@ tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.0.1.tgz#955a687c974265a811bfc743d98ef3eab0379100" - integrity sha512-v1MYYlbsdX+rtKnXFcIAn9ar0Z6K0yjqnCYS0p/KLCLrfJwfJ8A3oRJw2HiaIb8jQfk1WMY2h5Qi1p4vHOekQw== +"@docusaurus/theme-translations@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz#ce9a2955afd49bff364cfdfd4492b226f6dd3b6e" + integrity sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg== dependencies: fs-extra "^10.1.0" tslib "^2.4.0" -"@docusaurus/types@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.1.tgz#8696a70e85c4b9be80b38ac592d520f6fe72618b" - integrity sha512-o+4hAFWkj3sBszVnRTAnNqtAIuIW0bNaYyDwQhQ6bdz3RAPEq9cDKZxMpajsj4z2nRty8XjzhyufAAjxFTyrfg== +"@docusaurus/types@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.1.0.tgz#01e13cd9adb268fffe87b49eb90302d5dc3edd6b" + integrity sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ== dependencies: "@types/history" "^4.7.11" "@types/react" "*" @@ -1555,30 +1555,30 @@ webpack "^5.73.0" webpack-merge "^5.8.0" -"@docusaurus/utils-common@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.0.1.tgz#b6f2b029547f739e1431ec84abd16974edf495e0" - integrity sha512-kajCCDCXRd1HFH5EUW31MPaQcsyNlGakpkDoTBtBvpa4EIPvWaSKy7TIqYKHrZjX4tnJ0YbEJvaXfjjgdq5xSg== +"@docusaurus/utils-common@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.1.0.tgz#248434751096f8c6c644ed65eed2a5a070a227f8" + integrity sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg== dependencies: tslib "^2.4.0" -"@docusaurus/utils-validation@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.0.1.tgz#69f7d4944288d71f00fdba6dde10f05008f04308" - integrity sha512-f14AnwFBy4/1A19zWthK+Ii80YDz+4qt8oPpK3julywXsheSxPBqgsND3LVBBvB2p3rJHvbo2m3HyB9Tco1JRw== +"@docusaurus/utils-validation@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz#c8cf1d8454d924d9a564fefa86436268f43308e3" + integrity sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ== dependencies: - "@docusaurus/logger" "2.0.1" - "@docusaurus/utils" "2.0.1" + "@docusaurus/logger" "2.1.0" + "@docusaurus/utils" "2.1.0" joi "^17.6.0" js-yaml "^4.1.0" tslib "^2.4.0" -"@docusaurus/utils@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.0.1.tgz#37b4b42e29175e5d2d811fcbf9f93bffeca7c353" - integrity sha512-u2Vdl/eoVwMfUjDCkg7FjxoiwFs/XhVVtNxQEw8cvB+qaw6QWyT73m96VZzWtUb1fDOefHoZ+bZ0ObFeKk9lMQ== +"@docusaurus/utils@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.1.0.tgz#b77b45b22e61eb6c2dcad8a7e96f6db0409b655f" + integrity sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A== dependencies: - "@docusaurus/logger" "2.0.1" + "@docusaurus/logger" "2.1.0" "@svgr/webpack" "^6.2.1" file-loader "^6.2.0" fs-extra "^10.1.0"