Установка
- Skylake: Оптимизирована для процессоров Intel Skylake и более новых моделей, а также для процессоров AMD Ryzen. Идеально подходит для П К, выпущенных начиная с 2015 года.
- Legacy (x86-64-v2): Предназначен для процессоров Intel Broadwell, Haswell и более старых моделей, а также их аналогов от AMD. Подходит для систем, созданных в период с 2009 по 2015 год, и для виртуальных сред, не поддерживающих инструкции Skylake.
Для получения свежих бинарных файлов и исходного кода, пожалуйста, посетите раздел Releases в нашем разделе GitHub:::
Полный список параметров и их функций может быть получен с помощью опции --help
как для subspace-node
, так и для subspace-farmer
.
Руководство по установке CLI
Чтобы использовать это программное обеспечение, нужен адрес кошелька Substrate. Чтобы получить помощь в создании кошелька Substrate, обратитесь к нашим руководствам для ✨ SubWallet или Polkadot.js.
Если у Вас есть предыдущий адрес кошелька, начинающийся с st
, можно использовать его или преобразовать его в новый с префиксом su
. Вы можете преобразовать существующий адрес кошелька с помощью инструмента, доступного на сайте ss58.org. Ранее наши тестовые сети использовали префикс 2254
, а тестовая сеть Taurus и ос новная сеть Autonomys - префикс 6094
.
Мы предоставим файлы, необходимые для Вашей операционной системы:
- subspace-node: Реализация ноды для протокола Subspace.
- Subspace-farmer: Отвечает за плоттинг, реплоттинг и награды за фарминг.
- 🐧 Ubuntu
- 🖼️ Windows
- 🍎 macOS
Шаг 1: Загрузка исполняемых файлов Advanced CLI
Шаг 2: Запуск ноды Advanced CLI
-
Откройте терминал и перейдите в каталог, в который вы скачали бинарные файлы. Например, ес ли вы скачали их в
~/Downloads
, используйте следующее:cd ~/Downloads
-
Сделайте файлы фармера и ноды исполняемыми:
chmod +x subspace-farmer-ubuntu-x86_64-skylake-mainnet-2025-jan-14
chmod +x subspace-node-ubuntu-x86_64-skylake-mainnet-2025-jan-14 -
Запустите узел с помощью команды ниже. Замените
<NODE_DATA_PATH>
путем, где вы хотите сохранить базу данных узлов и<YOUR_NODE_NAME>
именем на Ваш выбор (например никнейм). Убедитесь, что вы скопировали всю команду:./subspace-node-ubuntu-x86_64-skylake-mainnet-2025-jan-14 \
run \
--chain mainnet \
--base-path "<NODE_DATA_PATH>" \
--name "<YOUR_NODE_NAME>" \
--farmer
:::Использование run, указание --base-path и --chain является обязательным :::
В терминале должен появиться вывод, похожий на этот:
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: Autonomys Mainnet 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
Шаг 3: Запуск фармера Advanced CLI
Если вы решите использовать один и тот же диск для секторов и базы данных узлов, не забудьте оставить не менее 60 Гб свободного места для роста базы данных узлов. Это помогает убедиться, что у вас достаточно места для работы системы и функциональности узла.
-
Откройте новый терминал и перейдите в каталог, где находится бинарный файл фермера. Запустите фермер со следующей командой:
# 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-mainnet-2025-jan-14 farm \
--reward-address <WALLET_ADDRESS> \
path=<PATH_TO_FARM>,size=<PLOT_SIZE>Вы должны видеть вывод похожий на это в Вашем терминале:
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)
Теперь Вы фармите!
Все готово! После того как Ваша нода синхронизируется, начнется плоттинг, и каждый заплоченный сектор автоматически начнет фарминг и получит право на вознаграждения.