Распаковать smart-updown.tar.gz: исходники по-человечески, архив удалён
This commit is contained in:
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Развёртывание smart-updown на localnet (solana-test-validator).
|
||||
# Использование: ./deploy-localnet.sh
|
||||
#
|
||||
# Требования: Solana CLI (solana-test-validator, solana program deploy).
|
||||
# Если нужно пересобрать программу из исходников, см. README (опционально).
|
||||
set -euo pipefail
|
||||
|
||||
HERE="$(cd "$(dirname "$0")" && pwd)"
|
||||
PROGRAM_SO="$HERE/deploy/smart_updown.so"
|
||||
PROGRAM_KEYPAIR="$HERE/deploy/smart_updown-keypair.json"
|
||||
PROGRAM_ID="E7Hg55ywRDKRZJ35rDMJGC3YFThQbh6nAK9GDayG4sr3"
|
||||
RPC_URL="http://127.0.0.1:8899"
|
||||
|
||||
# 1. Настройка CLI на localhost
|
||||
solana config set --url "$RPC_URL"
|
||||
solana-keygen pubkey "$PROGRAM_KEYPAIR" >/dev/null 2>&1 || {
|
||||
echo "Ошибка: нет deploy/smart_updown-keypair.json"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 2. Запуск валидатора с предзагруженной программой (если ещё не запущен)
|
||||
if ! solana cluster-version >/dev/null 2>&1; then
|
||||
echo ">>> Стартую solana-test-validator с программой $PROGRAM_ID"
|
||||
solana-test-validator --reset \
|
||||
--bpf-program "$PROGRAM_ID" "$PROGRAM_SO" \
|
||||
>test-ledger.log 2>&1 &
|
||||
sleep 6
|
||||
fi
|
||||
solana cluster-version
|
||||
|
||||
# 3. Убеждаемся, что программа на месте
|
||||
if ! solana program show "$PROGRAM_ID" >/dev/null 2>&1; then
|
||||
echo ">>> Деплою программу"
|
||||
solana program deploy --program-id "$PROGRAM_KEYPAIR" "$PROGRAM_SO"
|
||||
else
|
||||
echo ">>> Программа уже задеплоена: $PROGRAM_ID"
|
||||
fi
|
||||
solana program show "$PROGRAM_ID" | head -12
|
||||
|
||||
echo
|
||||
echo "Готово. Vault/Global инициализируется первым запуском relayer: npm run init"
|
||||
echo "Дальше: npm run loop (непрерывно) или npm run run (один прогон)."
|
||||
echo
|
||||
Reference in New Issue
Block a user