Install
- Skylake: Optimized for Intel Skylake and newer CPUs, as well as AMD Ryzen processors. Ideal for PCs manufactured from 2015 onward.
- Legacy (x86-64-v2): Designed for Intel Broadwell, Haswell, and older CPUs, along with their AMD counterparts. Suitable for systems built between 2009 and 2015 and for virtual environments that do not support Skylake instructions.
For the latest binaries and source code, please visit the Releases section on our GitHub.
A complete list of parameters and their functions can be obtained using the --help
option with both subspace-node
and subspace-farmer
.
Advanced CLI Installation Guide
To use this software, you'll need a Substrate wallet address. For help with creating a Substrate wallet, check out our guides for SubWallet (recommended) or Polkadot.js.
We’ll provide the files you need for your operating system:
- subspace-node: The node implementation for the Subspace protocol.
- subspace-farmer: Manages plotting, replotting, and farming rewards.
- 🐧 Ubuntu
- 🖼️ Windows
- 🍎 macOS
- 🤖 Linux Service (SystemD)
- 🐳 Docker
- 🛠️ Build from Source
Step 1: Download the Advanced CLI Executables
Step 2: Start the Advanced CLI Node
-
Open your terminal and navigate to the directory where you downloaded the binaries. For example, if you downloaded them to
~/Downloads
, use:cd ~/Downloads
-
Make the
farmer
andnode
executable:chmod +x subspace-farmer-ubuntu-x86_64-skylake-gemini-3h-2024-oct-10
chmod +x subspace-node-ubuntu-x86_64-skylake-gemini-3h-2024-oct-10 -
Start the node using the command below. Replace
<NODE_DATA_PATH>
with the path where you want to store the node database and<YOUR_NODE_NAME>
with a nickname of your choice. Ensure you copy the entire command:./subspace-node-ubuntu-x86_64-skylake-gemini-3h-2024-oct-10 \
run \
--chain gemini-3h \
--base-path "<NODE_DATA_PATH>" \
--name "<YOUR_NODE_NAME>" \
--farmer
Using run, setting --base-path and specifying --chain is mandatory.
You should see output similar to this in your terminal:
2024-09-04T06:42:56.744203Z INFO subspace_node::commands::run: Subspace
2024-09-04T06:42:56.744231Z INFO subspace_node::commands::run: ✌️ version 0.1.0-5c484f36890
2024-09-04T06:42:56.744235Z INFO subspace_node::commands::run: ❤️ by Subspace Labs <https://subspace.network>
2024-09-04T06:42:56.744238Z INFO subspace_node::commands::run: 📋 Chain specification: Subspace Gemini 3h
2024-09-04T06:42:56.744241Z INFO subspace_node::commands::run: 🏷 Node name: cool-farmer-name
2024-09-04T06:42:56.744243Z INFO subspace_node::commands::run: 💾 Node path: /opt/autonomys
2024-09-04T06:43:00.165801Z INFO Consensus: subspace_networking::constructor: DSN instance configured. allow_non_global_addresses_in_dht=false peer_id=12D3KooWB>
2024-09-04T06:43:00.166299Z INFO Consensus: libp2p_swarm: local_peer_id=12D3KooWB6VSys21gqsCGxVKkjYXk8kpoyTCkp5ogcncmMFFsaN1
2024-09-04T06:43:00.166467Z INFO Consensus: subspace_service: Subspace networking initialized: Node ID is 12D3KooWB6VSys21gqsCGxVKkjYXk8kpoyTCkp5ogcncmMFFsaN1
2024-09-04T06:43:00.167026Z INFO Consensus: block_relay: relay::consensus block server: starting
2024-09-04T06:43:00.167401Z INFO Consensus: sub-libp2p: 🏷 Local node identity is: 12D3KooWB6VSys21gqsCGxVKkjYXk8kpoyTCkp5ogcncmMFFsaN1
2024-09-04T06:43:00.167424Z INFO Consensus: sub-libp2p: Running libp2p network backend
2024-09-04T06:43:00.167447Z INFO Consensus: subspace_service: DSN listening on /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWB6VSys21gqsCGxVKkjYXk8kpoyTCkp5ogcncmMFFsaN1
2024-09-04T06:43:00.171109Z INFO Consensus: subspace: 🧑🌾 Starting Subspace Authorship worker
2024-09-04T06:43:00.174544Z INFO Consensus: sc_consensus_subspace::archiver: Resuming archiver from last archived block last_archived_block_number=3124818
2024-09-04T06:43:00.174699Z INFO Consensus: sc_consensus_subspace::archiver: Archiving already produced blocks 3124819..=3131493
2024-09-04T06:43:00.176495Z INFO Consensus: subspace_service: DSN listening on /ip4/192.168.0.101/tcp/30333/p2p/12D3KooWB6VSys21gqsCGxVKkjYXk8kpoyTCkp5ogcncmMFFsaN1
2024-09-04T06:43:00.190399Z INFO Consensus: subspace_service::task_spawner: 📦 Highest known block at #3131593
2024-09-04T06:43:00.191139Z INFO Consensus: sc_rpc_server: Running JSON-RPC server: addr=0.0.0.0:9944, allowed origins=["*"]
2024-09-04T06:43:00.192326Z INFO subspace_metrics: Metrics server started. endpoints=[0.0.0.0:9091]
2024-09-04T06:43:00.192353Z INFO actix_server::builder: starting 2 workers
2024-09-04T06:43:00.192448Z INFO actix_server::server: Tokio runtime found; starting in existing Tokio runtime
2024-09-04T06:43:00.658988Z INFO Consensus: sub-libp2p: 🔍 Discovered new external address for our node: /ip4/1.2.3.4/tcp/30333/p2p/12D3KooWB6VSys21gqsCGxVKkjYXk8kpoyTCkp5ogcncmMFFsaN1
2024-09-04T06:43:02.172777Z INFO Consensus: subspace_service::sync_from_dsn: Received notification to sync from DSN reason=WentOnlineSubstrate
2024-09-04T06:43:05.192676Z INFO Consensus: substrate: 💤 Idle (6 peers), best: #3131593 (0xb29f…c04e), finalized #3063319 (0x366a…fd89), ⬇ 13.7kiB/s ⬆ 5.2kiB/s
2024-09-04T06:43:10.193308Z INFO Consensus: substrate: 💤 Idle (10 peers), best: #3131593 (0xb29f…c04e), finalized #3063319 (0x366a…fd89), ⬇ 34.8kiB/s ⬆ 3.6kiB/s
2024-09-04T06:43:40.197094Z INFO Consensus: substrate: ⚙️ Preparing 0.0 bps, target=#3131599 (21 peers), best: #3131616 (0xb29f…c04e), finalized #3063319 (0x366a…fd89), ⬇ 53.9kiB/s ⬆ 10.5kiB/s
2024-09-04T06:43:45.197731Z INFO Consensus: substrate: ⚙️ Preparing 0.0 bps, target=#3131600 (22 peers), best: #3131616 (0xb29f…c04e), finalized #3063319 (0x366a…fd89), ⬇ 29.5kiB/s ⬆ 9.7kiB/s
2024-09-04T06:43:46.197731Z INFO Consensus: substrate: 🏆 Imported #3131616 (0xe5c6…c82e → 0x6bae…d56d)
2024-09-04T06:44:46.197731Z INFO Consensus: substrate: 💤 Idle (40 peers), best: #3131617 (0x4b91…1060), finalized #3063319 (0x366a…fd89), ⬇ 225.3kiB/s ⬆ 23.9kiB/s
Step 3: Start the Advanced CLI Farmer
If you choose to use the same drive for plots and the node database, make sure to leave at least 60 GiB of free space for node database growth. This helps ensure that you have enough space for both system operations and node functionality.
-
Open a new terminal and navigate to the directory where the Subspace farmer binary is located. Start the farmer with the following command:
# Replace <WALLET_ADDRESS> with your wallet address
# Replace <PATH_TO_FARM> with the directory where you want to store the plot
# Replace <PLOT_SIZE> with the size of the plot (e.g. 10GB, 2TiB)
./subspace-farmer-ubuntu-x86_64-skylake-gemini-3h-2024-oct-10 farm \
--reward-address <WALLET_ADDRESS> \
path=<PATH_TO_FARM>,size=<PLOT_SIZE>You should see output similar to this in your terminal:
2024-09-09T20:36:25.712636Z INFO subspace_farmer::commands::farm: Connecting to node RPC url=ws://192.168.0.101:9944
2024-09-09T20:36:25.716493Z INFO subspace_farmer::node_client::caching_proxy_node_client: Downloading all segment headers from node...
2024-09-09T20:36:25.724936Z INFO subspace_farmer::node_client::caching_proxy_node_client: Downloaded all segment headers from node successfully
2024-09-09T20:36:25.727059Z INFO subspace_networking::constructor: DSN instance configured. allow_non_global_addresses_in_dht=false peer_id=12D3KooWGHnvGGALKoN8GWKsRr8hemN2kkr6Q96Y4V4BXLerSS98 protocol_version=/subspace/2/0c121c75f4ef450f40619e1fca9d1e8e7fbabc42c895bc4790801e85d5a91c34
2024-09-09T20:36:25.727805Z INFO libp2p_swarm: local_peer_id=12D3KooWGHnvGGALKoN8GWKsRr8hemN2kkr6Q96Y4V4BXLerSS98
2024-09-09T20:36:28.661238Z INFO {farm_index=0}: subspace_farmer::single_disk_farm::plot_cache: Checking plot cache contents, this can take a while
2024-09-09T20:36:28.664650Z INFO {farm_index=0}: subspace_farmer::single_disk_farm::plot_cache: Finished checking plot cache contents
2024-09-09T20:36:28.671027Z INFO {farm_index=0}: subspace_farmer::commands::farm: Farm 0:
2024-09-09T20:36:28.671041Z INFO {farm_index=0}: subspace_farmer::commands::farm: ID: 01J76ZD8HXC742BQ40V5W22K3P
2024-09-09T20:36:28.671045Z INFO {farm_index=0}: subspace_farmer::commands::farm: Genesis hash: 0x0c121c75f4ef450f40619e1fca9d1e8e7fbabc42c895bc4790801e85d5a91c34
2024-09-09T20:36:28.671048Z INFO {farm_index=0}: subspace_farmer::commands::farm: Public key: 0xa082fac986cd03f70bdfa1d0c1885bdc384da1b8c09f43aa1687b1e00f74c014
2024-09-09T20:36:28.671054Z INFO {farm_index=0}: subspace_farmer::commands::farm: Allocated space: 14.0 TiB (15.4 TB)
2024-09-09T20:36:28.671057Z INFO {farm_index=0}: subspace_farmer::commands::farm: Directory: /mnt/plots/15013
2024-09-09T20:36:28.671072Z INFO subspace_farmer::commands::farm: Collecting already plotted pieces (this will take some time)...
2024-09-09T20:36:28.671161Z INFO subspace_farmer::farmer_cache: Initializing piece cache
2024-09-09T20:36:32.734041Z INFO subspace_farmer::commands::farm: Finished collecting already plotted pieces successfully
2024-09-09T20:36:32.734368Z INFO actix_server::builder: starting 2 workers
2024-09-09T20:36:32.734473Z INFO actix_server::server: Tokio runtime found; starting in existing Tokio runtime
2024-09-09T20:36:32.735137Z INFO {farm_index=0}: subspace_farmer::single_disk_farm::plotting: Subscribing to archived segments
2024-09-09T20:36:32.735211Z INFO {farm_index=0}: subspace_farmer::single_disk_farm::farming: Subscribing to slot info notifications
2024-09-09T20:36:32.735247Z INFO {farm_index=0}: subspace_farmer::single_disk_farm::reward_signing: Subscribing to reward signing notifications
2024-09-09T20:36:32.736239Z INFO subspace_farmer::commands::shared::network: DSN listening on /ip4/127.0.0.1/tcp/30433/p2p/12D3KooWGHnvGGALKoN8GWKsRr8hemN2kkr6Q96Y4V4BXLerSS98
2024-09-09T20:36:32.738336Z INFO subspace_farmer::commands::shared::network: DSN listening on /ip4/192.168.0.101/tcp/30433/p2p/12D3KooWGHnvGGALKoN8GWKsRr8hemN2kkr6Q96Y4V4BXLerSS98
2024-09-09T20:36:32.758708Z INFO subspace_farmer::commands::shared::network: DSN listening on /ip4/172.17.0.1/tcp/30433/p2p/12D3KooWGHnvGGALKoN8GWKsRr8hemN2kkr6Q96Y4V4BXLerSS98
2024-09-09T20:37:16.959290Z INFO subspace_farmer::farmer_cache: Synchronizing piece cache
2024-09-09T20:37:17.151681Z INFO {farm_index=0}:{sector_index=11800}: subspace_farmer::single_disk_farm::plotting: Plotting sector (82.04% complete)
2024-09-09T20:37:17.151929Z INFO {farm_index=0}:{sector_index=11801}: subspace_farmer::single_disk_farm::plotting: Plotting sector (82.04% complete)
2024-09-09T20:37:17.152064Z INFO {farm_index=0}:{sector_index=11802}: subspace_farmer::single_disk_farm::plotting: Plotting sector (82.05% complete)
2024-09-09T20:37:17.155181Z INFO subspace_farmer::farmer_cache: Finished piece cache synchronization
2024-09-09T20:37:32.155736Z INFO {farm_index=0}:{sector_index=11803}: subspace_farmer::single_disk_farm::plotting: Plotting sector (82.06% complete)
You Are Now Farming!
You're all set! After your node syncs, plotting will start, and each plotted sector will automatically begin farming and become eligible to earn rewards.
Windows Specific Warnings:
如果你遇到节点不输出任何内容并且没有给出错误代码的错误,则你可能只需要安装最新的 Visual C++ 可再发行组件包here。
Step 1: Download the Advanced CLI Executables
Step 2: Start Advanced CLI Node
A Windows Defender Firewall has blocked some features of this app
warning may appear.
This is because the application is trying to access the internet. This is expected as it is how the farmer talks to other farmers on the network, select Allow access
to continue setup.
- 打开
Powershell
(我们不建议使用命令提示,因为它的语法略有不同) - 在终端中,我们将使用以下命令
cd Downloads
切换到下载目录 - We will then start the node using the following command:
# 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-skylake-gemini-3h-2024-oct-10.exe `
run `
--chain gemini-3h `
--base-path NODE_DATA_PATH `
--farmer `
--name "INSERT_YOUR_ID"
Using run, setting --base-path and specifying --chain is mandatory.
- 你应该在终端中看到类似的内容:
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 <https://subspace.network>, 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
Step 3: Start Advanced CLI Farmer
- We will then open another terminal, change to the downloads directory as we did before, then start the farmer node with the following command:
# Replace `PATH_TO_FARM` with location where you want you store plot files
# Replace `WALLET_ADDRESS` below with your account address from Polkadot.js wallet
# Replace `PLOT_SIZE` with plot size in gigabytes or terabytes, for example 100G or 2T (but leave at least 60G of disk space for node and some for OS)
.\subspace-farmer-windows-x86_64-skylake-gemini-3h-2024-oct-10.exe farm --reward-address WALLET_ADDRESS path=PATH_TO_FARM,size=PLOT_SIZE
- 你应该在终端中看到类似的内容:
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
- You are now farming! 你现在在种田!只需等待你的节点完全同步,并等待你的农民完全绘制。
macOS Specific Warnings:
最低支持的 MacOS 版本是版本 12+
Step 1: Download Advanced CLI Executables
Step 2: Start Advanced CLI Node
When attempting to start the node, 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.
- 打开你喜爱的终端,并使用
cd Downloads
切换到下载目录 - 使农民节点可执行(&N):
chmod +x subspace-farmer-macos-aarch64-gemini-3h-2024-oct-10
chmod +x subspace-node-macos-aarch64-gemini-3h-2024-oct-10
- 然后,我们将使用以下命令启动节点
# 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-aarch64-gemini-3h-2024-oct-10 \
run \
--chain gemini-3h \
--base-path NODE_DATA_PATH \
--farmer \
--name "INSERT_YOUR_ID"
Using run, setting --base-path and specifying --chain is mandatory.
- 你应该在终端中看到类似的内容:
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 <https://subspace.network>, 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
Step 3: Start Advanced CLI Farmer
- 然后,我们将打开另一个终端,切换到 Downloads 目录,然后使用以下命令启动 Farmer 节点:
# Replace `PATH_TO_FARM` with location where you want you store plot files
# Replace `WALLET_ADDRESS` below with your account address from Polkadot.js wallet
# Replace `PLOT_SIZE` with plot size in gigabytes or terabytes, for example 100G or 2T (but leave at least 60G of disk space for node and some for OS)
./subspace-farmer-macos-aarch64-gemini-3h-2024-oct-10 farm --reward-address WALLET_ADDRESS path=PATH_TO_FARM,size=PLOT_SIZE
- 你应该在终端中看到类似的内容:
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
- You are now farming! 你现在在种田!只需等待你的节点完全同步,并等待你的农民完全绘制。
---
Create a New User for Autonomys:
Running a node as a root user carries significant risks for the system. It is recommended to create a separate user for this purpose.
sudo useradd -m -p ! -s /sbin/nologin -c "" subspace
You can also use an existing user, but having a separate user enhances the security of your server.
Switch to the Newly Created User:
sudo su subspace -s /bin/bash
Create a Directory for Executable Files:
mkdir -p ~/.local/bin
Download the Executable Files, using the appropriate commands:
x86_64 Ubuntu Executables
Version 2 - for older processors since ~2009 and some old VMs
Node:
wget -O ~/.local/bin/subspace-node https://github.com/autonomys/subspace/releases/download/gemini-3h-2024-oct-10/subspace-node-ubuntu-x86_64-v2-gemini-3h-2024-oct-10
Farmer:
wget -O ~/.local/bin/subspace-farmer https://github.com/autonomys/subspace/releases/download/gemini-3h-2024-oct-10/subspace-farmer-ubuntu-x86_64-v2-gemini-3h-2024-oct-10
Version skylake - For newer processors since ~2015
Node:
wget -O ~/.local/bin/subspace-node https://github.com/autonomys/subspace/releases/download/gemini-3h-2024-oct-10/subspace-node-ubuntu-x86_64-skylake-gemini-3h-2024-oct-10
Farmer:
wget -O ~/.local/bin/subspace-farmer https://github.com/autonomys/subspace/releases/download/gemini-3h-2024-oct-10/subspace-farmer-ubuntu-x86_64-skylake-gemini-3h-2024-oct-10
Aarch64/64-bit Raspberry Pi Executables
Node:
wget -O ~/.local/bin/subspace-node https://github.com/autonomys/subspace/releases/download/gemini-3h-2024-oct-10/subspace-node-ubuntu-aarch64-gemini-3h-2024-oct-10
Farmer:
wget -O ~/.local/bin/subspace-farmer https://github.com/autonomys/subspace/releases/download/gemini-3h-2024-oct-10/subspace-farmer-ubuntu-aarch64-gemini-3h-2024-oct-10
By default, these commands download the executable files to the ~/.local/bin
directory.
You can change the directory by modifying the respective string.
You can use the same commands to update the node.
Make the Files Executable:
chmod +x ~/.local/bin/subspace-node
chmod +x ~/.local/bin/subspace-farmer
Create a Directory for Node and Farmer Data:
mkdir -p ~/.local/share
Exit from the User:
exit
Generate Contents for the Service Files, replacing the relevant fields. Remember to change the username if setting up the node from a regular user:
Systemd Service File Generator
Open the Node Service File and Paste the Corresponding Generated Content:
EDITOR=nano sudo -e /etc/systemd/system/subspace-node.service
Open the Farmer Service File and Paste the Corresponding Generated Content:
EDITOR=nano sudo -e /etc/systemd/system/subspace-farmer.service
Enable and Start the Node and Farmer:
sudo systemctl enable --now subspace-{node,farmer}
Useful Commands
Start Node:
sudo systemctl start subspace-node
Start Farmer:
sudo systemctl start subspace-farmer
Stop Node:
sudo systemctl stop subspace-node
Stop Farmer:
sudo systemctl stop subspace-farmer
Enable Node (for automatic startup on system boot):
sudo systemctl enable subspace-node
Enable Farmer (for automatic startup on system boot):
sudo systemctl enable subspace-farmer
Disable Node (to prevent automatic startup on system boot):
sudo systemctl disable subspace-node
Disable Farmer (to prevent automatic startup on system boot):
sudo systemctl disable subspace-farmer
Check Node Service Status:
sudo systemctl status subspace-node
Check Farmer Service Status:
sudo systemctl status subspace-farmer
View Node Logs:
sudo journalctl -f -o cat -u subspace-node
View Farmer Logs:
sudo journalctl -f -o cat -u subspace-farmer
Count Farmer Rewards Received in the Last Hour:
sudo journalctl -o cat -u subspace-farmer --since="1 hour ago" | grep -i "Successfully signed reward hash" | wc -l
Upgrade
To upgrade a node and farmer, first, stop running services:
sudo systemctl stop subspace-{node,farmer}
After using the commands from the beginning of the manual, download the executable files of the new release. And if you installed under a regular user, you will need to switch to that user beforehand.
Now you can start the services:
sudo systemctl start subspace-{node,farmer}
Step 1: Prepare Values
- Input your parameters in the provided form and click
Generate
. Don't forget to specify your reward address instead of a default one!
Step 2: Fill in Generator
Docker Compose File Generator
Step 3: Execute Docker Compose
-
复制生成
docker-compose.yaml
的文件。 -
创建
subspace
目录并docker-compose.yaml
在其中创建文件, 将生成器的输出粘贴到文件中。 -
现在,转到目录
docker-compose.yaml
并键入docker compose up -d
以启动所有内容
你可以使用 docker compose logs --tail=1000 -f
读取日志,对于其余的读取Docker 合成 CLI 参考。
Build from source (Linux)
如果你运行的是不受支持的 Linux 发行版或 CPU 体系结构,你可以尝试自己从源代码构建二进制文件。
注意:这主要是针对精通技术的用户,除非你知道你在做什么,否则不推荐。在联系维护人员之前,请尝试在线查找问题的答案。 注意:这主要是针对精通技术的用户,除非你知道你在做什么,否则不推荐。在联系维护人员之前,请尝试在线查找问题的答案。 Please try to find answer to your question online before reaching out to maintainers.
You'll have to have Rust toolchain installed as well as LLVM, Clang and CMake in addition to usual developer tooling (Ubuntu example):
sudo apt-get install llvm clang cmake
The build with LLVM + Clang 16 ends with UnknownOpcode(192)
error due to breaking changes concerning WASM in LLVM 16. 您可以在 here阅读有关此问题的更多信息。 此时,解决方案是使用 LLVM + Clang 15 并将“-Z build-std”标志添加到“cargo build”命令中。
Now clone the source and build snapshot snapshot-2023-aug-18
(replace occurrences with the snapshot you want to build):
git clone https://github.com/autonomys/subspace.git
cd subspace
git checkout snapshot-2023-aug-18
cargo build \
--profile production \
--bin subspace-node \
--bin subspace-farmer
一旦成功,你将在目录下找到两个二进制文件 target/production
,之后请参考上面有关如何使用它们的说明。
Help us improve by sharing your feedback on our releases. We’re eager to hear from you and make things better!