В официальной инструкции по запуску коллатора предлагается собрать свой бинарный файл ноды Робономики или использовать опубликованный в последнем релизе. Использование Docker образа не предлагается, т. к. последнее обновление на Docker Hub было полгода назад. Это связано с проблемой сборки образа в CI, о которой уже сообщено в Issue #232. Однако довольно просто самостоятельно повторить шаги которые делает CI чтобы сделать свой Docker образ.

tl;dr

Вы можете использовать собранный мной образ Docker контейнера с нодой Робономики, тогда не нужно собирать его самостоятельно. Нужно только сделать директорию для данных блокчейна и задать имя ноды и адрес для чаевых коллатора.

mkdir data
export NODE_NAME="NewNode"
export ACCOUNT_ADDRESS="YourAccountAddress"
docker run -d \
  --name "robonomics" \
  -v $(pwd)/data:/data \
  khassanov/robonomics:v1.4.0 /usr/local/bin/robonomics \
  --parachain-id=2048 \
  --name="$NODE_NAME" \
  --validator \
  --lighthouse-account="$ACCOUNT_ADDRESS" \
  --telemetry-url="wss://telemetry.parachain.robonomics.network/submit/ 0" \
  -- \
  --database=RocksDb \
  --unsafe-pruning \
  --pruning=1000

Самостоятельная сборка образа

Установите Rust: https://www.rust-lang.org/tools/install.

Далее добавьте целевую архитектуру “wasm32-unknown-unknown” и тулчейн “nightly-2021-11-02”.

rustup target add wasm32-unknown-unknown
rustup toolchain install nightly-2021-11-02

Скопируйте исходный код последней версии ноды Робономики.

git clone -b v1.4.0 https://github.com/airalab/robonomics.git

Запустите сборку. Она может занять довольно много времени.

cd robonomics
cargo build -j 4 --locked --release

Теперь можно собрать образ контейнера для Docker, благо Dockerfile уже написан разработчиками.

cd scripts/docker # переходим в директорию с Dockerfile
cp ../../target/release/robonomics . # копируем собранный бинарный файл ноды
docker build -f ./Dockerfile --build-arg RUSTC_WRAPPER= --build-arg PROFILE=release -t myrobonomics/robonomics:v1.4.0 .

Готово! Теперь можно запустить ноду в докер-контейнере. Нужно только подготовить директорию для данных блокчейна и задать имя ноды и адрес коллатора на который будут поступать чаевые коллатора.

mkdir data
export NODE_NAME="NewNode"
export ACCOUNT_ADDRESS="YourAccountAddress"
docker run -d \
  --name "robonomics" \
  -v $(pwd)/data:/data \
  myrobonomics/robonomics:v1.4.0 /usr/local/bin/robonomics \
  --parachain-id=2048 \
  --name="$NODE_NAME" \
  --validator \
  --lighthouse-account="$ACCOUNT_ADDRESS" \
  --telemetry-url="wss://telemetry.parachain.robonomics.network/submit/ 0" \
  -- \
  --database=RocksDb \
  --unsafe-pruning \
  --pruning=1000

Если Вы хотите ускорить синхронизацию, в директорию data можно положить распакованный снапшот релейчейна. Подробнее об этом в конце официальной инструкции. Только в нашем случае распаковать архив нужно будет не в /home/robonomics/.local/share/robonomics/polkadot/chains/ksmcc3, а в data/polkadot/chains/ksmcc3.