Начните работу с Solana Pay, установив JavaScript SDK и настроив окружение для разработки. SDK не привязан к конкретному фреймворку и работает в любой JavaScript-среде.
Системные требования
- Node.js: версия 20 или выше (требуется для поддержки
crypto.subtle) - Менеджер пакетов: pnpm, npm или yarn
- TypeScript: версия 5+ (рекомендуется, но не обязательно)
Установка Solana Pay SDK
Выберите предпочитаемый менеджер пакетов:
# Using pnpm (recommended)pnpm add @solana/pay@beta @solana/kit# Using npmnpm install @solana/pay@beta @solana/kit# Using yarnyarn add @solana/pay@beta @solana/kit
Одноранговые зависимости
Следующие пакеты являются одноранговыми зависимостями @solana/pay и должны
быть установлены вместе с ним:
| Пакет | Версия |
|---|---|
@solana/kit | ^6.5.0 |
Опциональные зависимости
Для создания и проверки переводов (переводы SOL и SPL-токенов) также установите:
pnpm add @solana-program/system @solana-program/token @solana-program/token-2022 @solana-program/memo
Для клиентских фабрик (createMerchantClient, createWalletClient) также
установите плагины комплекта:
pnpm add @solana/kit-plugin-rpc @solana/kit-plugin-payer @solana/kit-plugin-instruction-plan
Настройка TypeScript
При использовании TypeScript убедитесь, что ваш tsconfig.json содержит:
{"compilerOptions": {"module": "ESNext","target": "ES2022","lib": ["ES2022", "DOM", "DOM.Iterable"],"moduleResolution": "bundler","resolveJsonModule": true,"esModuleInterop": true,"skipLibCheck": true}}
Настройка окружения
Окружение для разработки
Настройте переменные окружения для разработки:
# .env.localSOLANA_RPC_URL=https://api.devnet.solana.comSOLANA_NETWORK=devnet
Производственное окружение
Для продакшена используйте эндпоинты основной сети:
# .env.productionSOLANA_RPC_URL=https://api.mainnet-beta.solana.comSOLANA_NETWORK=mainnet-beta
Проверка установки
Создайте простой тест, чтобы убедиться, что все работает:
// test-installation.tsimport { address } from "@solana/kit";import { encodeURL } from "@solana/pay";// Test creating a payment URLconst recipient = address("FvJ8k8HhXp4a3zQyFMZd4FvEqcYdYE7gSZWxrEBRfBsB");const url = encodeURL({recipient,amount: 0.01,label: "Test Store",message: "Test payment"});console.log("Solana Pay URL:", url.toString());// Output: solana:FvJ8k8Hh...?amount=0.01&label=Test%20Store&message=Test%20payment
Запустите тест:
npx tsx test-installation.ts
В консоли должен отобразиться корректный URL-адрес Solana Pay.
Распространенные проблемы и решения
Ошибки разрешения модулей
Если вы видите ошибки типа "Cannot resolve module '@solana/pay'":
-
Очистите кеш менеджера пакетов:
# pnpmpnpm store prune# npmnpm cache clean --force# yarnyarn cache clean -
Удалите
node_modulesи переустановите зависимости:rm -rf node_modulespnpm install
Ошибки TypeScript
Если возникают ошибки TypeScript:
- Обновите TypeScript до последней версии (5+)
- Убедитесь, что параметр
moduleResolutionустановлен в значение"bundler"или"nodenext"в вашем файлеtsconfig.json
Дальнейшие шаги
Теперь, когда Solana Pay установлен, выберите путь интеграции:
- Запросы на перевод - Простые платежные URL для базовых переводов
- Запросы транзакций - Интерактивные платежные потоки
- Интеграция QR-кодов - Создание QR-кодов для мобильных платежей
Инструменты разработки
Рассмотрите возможность установки следующих полезных инструментов разработки:
# Solana CLI (for testing and key generation)sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"# Local validator for testingsolana-test-validator
Ресурсы
- Репозиторий на GitHub - Исходный код и примеры
- Solana Cookbook - Рецепты разработки на Solana
Is this page helpful?