{"id":51831384,"url":"https://github.com/ionic-typing/samurai-pepe","last_synced_at":"2026-07-22T15:34:11.999Z","repository":{"id":348474154,"uuid":"965005892","full_name":"ionic-typing/samurai-pepe","owner":"ionic-typing","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-16T07:57:58.000Z","size":12199,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-01T10:37:27.567Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://samurai-pepe-eta.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ionic-typing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-12T07:46:40.000Z","updated_at":"2025-06-11T12:33:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ionic-typing/samurai-pepe","commit_stats":null,"previous_names":["ionic-typing/samurai-pepe"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ionic-typing/samurai-pepe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ionic-typing%2Fsamurai-pepe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ionic-typing%2Fsamurai-pepe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ionic-typing%2Fsamurai-pepe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ionic-typing%2Fsamurai-pepe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ionic-typing","download_url":"https://codeload.github.com/ionic-typing/samurai-pepe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ionic-typing%2Fsamurai-pepe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35768236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-22T15:34:10.309Z","updated_at":"2026-07-22T15:34:11.973Z","avatar_url":"https://github.com/ionic-typing.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Samurai Pepe - NFT Mint проект на Solana Blockchain\n\n## 1. Общее описание проекта\n\nSamurai Pepe - это веб-приложение для создания (минта) NFT на блокчейне Solana с интеграцией социальных сетей. Проект позволяет пользователям подключать кошельки Solana, минтить NFT разной редкости, выполнять квесты через авторизацию в социальных сетях (Twitter, Discord, Telegram) и отслеживать свои NFT.\n\nОсновные функции:\n- Подключение кошельков Solana (Phantom, Solflare)\n- Минт NFT разной редкости (Common, Rare, Legendary)\n- Система квестов с авторизацией в социальных сетях\n- Визуализация и отслеживание коллекции NFT\n- Поддержка нескольких сетей Solana (devnet, mainnet-beta)\n\n## 2. Требования для запуска\n\n### Для всех платформ (Windows и macOS)\n\n#### Node.js (версия 16 или выше)\n- **Что это**: Среда выполнения JavaScript, необходимая для запуска проекта\n- **Где скачать**: [https://nodejs.org/](https://nodejs.org/)\n- **Проверка установки**: `node --version` в терминале\n- **Зачем нужен**: Для запуска веб-приложения и скриптов проекта\n\n#### Solana CLI\n- **Что это**: Интерфейс командной строки для взаимодействия с блокчейном Solana\n- **Где скачать**: \n  - macOS: `sh -c \"$(curl -sSfL https://release.solana.com/v1.17.0/install)\"`\n  - Windows: Загрузите установщик с [GitHub Solana](https://github.com/solana-labs/solana/releases)\n- **Проверка установки**: `solana --version` в терминале\n- **Зачем нужен**: Для деплоя смарт-контрактов и взаимодействия с блокчейном Solana\n\n#### Rust\n- **Что это**: Язык программирования для разработки Solana смарт-контрактов\n- **Где скачать**: [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install)\n- **Проверка установки**: `rustc --version` в терминале\n- **Зачем нужен**: Для компиляции Solana смарт-контрактов\n\n#### Anchor Framework\n- **Что это**: Фреймворк для разработки Solana смарт-контрактов\n- **Установка**: `npm install -g @coral-xyz/anchor`\n- **Проверка установки**: `anchor --version` в терминале\n- **Зачем нужен**: Для сборки и деплоя смарт-контрактов на Solana\n\n#### Yarn (опционально)\n- **Что это**: Менеджер пакетов, альтернатива npm\n- **Где скачать**: [https://yarnpkg.com/getting-started/install](https://yarnpkg.com/getting-started/install)\n- **Проверка установки**: `yarn --version` в терминале\n- **Зачем нужен**: Для управления зависимостями проекта\n\n### Дополнительно для Windows\n\n- **Git Bash**: Для выполнения Unix-команд в Windows\n- **Где скачать**: [https://git-scm.com/downloads](https://git-scm.com/downloads)\n\n## 3. Установка зависимостей\n\n### Шаг 1: Клонирование репозитория\n```bash\ngit clone https://github.com/your-username/samurai-pepe.git\ncd samurai-pepe\n```\n\n### Шаг 2: Установка зависимостей для веб-приложения (frontend)\n```bash\ncd frontend\nnpm install\n# или если используете yarn\nyarn install\n```\n\n### Шаг 3: Установка зависимостей для смарт-контракта (nft-part)\n```bash\ncd ../nft-part\nnpm install\n# или если используете yarn\nyarn install\n```\n\n### Шаг 4: Проверка установки зависимостей\nУбедитесь, что в обеих директориях (`frontend` и `nft-part`) появились папки `node_modules`. Отсутствие ошибок при выполнении команд `npm install` также говорит об успешной установке.\n\n## 4. Настройка окружения\n\n### Шаг 1: Настройка переменных окружения для frontend\n\nСоздайте файл `.env.local` в директории `frontend` и заполните его следующим содержимым:\n\n```\n# Solana RPC Endpoint\nNEXT_PUBLIC_SOLANA_RPC_ENDPOINT=\"https://api.devnet.solana.com\"\n\n# Solana Network (devnet, testnet, mainnet-beta)\nNEXT_PUBLIC_SOLANA_NETWORK=\"devnet\"\n\n# База данных\nDATABASE_URL=\"file:./samurai_pepe.db\"\n\n# Ключ шифрования для Next.js\nNEXT_SERVER_ACTIONS_ENCRYPTION_KEY=\"создайте_свой_секретный_ключ\"\nSERVER_REFERENCE_MANIFEST_ENCRYPTION_KEY=\"создайте_свой_секретный_ключ\"\n\n# Адрес программы NFT на Solana\nNEXT_PUBLIC_NFT_PROGRAM_ID=\"G37UyZuJkHdnF9ko2p8FLUtyPYZSYQ1ihjic9G1RCQRf\"\n\n# Адрес владельца коллекции NFT\nNEXT_PUBLIC_COLLECTION_AUTHORITY=\"адрес_вашего_кошелька_solana\"\n\n# Адрес данных о коллекции NFT (PDA)\nNEXT_PUBLIC_COLLECTION_DATA_PDA=\"адрес_данных_коллекции\"\n\n# OAuth для социальных сетей\nDISCORD_CLIENT_ID=\"ваш_discord_client_id\"\nDISCORD_CLIENT_SECRET=\"ваш_discord_client_secret\"\nDISCORD_REDIRECT_URI=\"http://localhost:3000/api/auth/discord/callback\"\nDISCORD_OAUTH_URL=\"https://discord.com/api/oauth2/authorize\"\n\nTWITTER_CLIENT_ID=\"ваш_twitter_client_id\"\nTWITTER_CLIENT_SECRET=\"ваш_twitter_client_secret\"\nTWITTER_REDIRECT_URI=\"http://localhost:3000/api/auth/twitter/callback\"\nTWITTER_OAUTH_URL=\"https://twitter.com/i/oauth2/authorize\"\n\nTELEGRAM_BOT_TOKEN=\"ваш_telegram_bot_token\"\nNEXT_PUBLIC_TELEGRAM_BOT_USERNAME=\"имя_вашего_бота_без_@\"\n\n# URL приложения\nNEXT_PUBLIC_APP_URL=\"http://localhost:3000\"\n```\n\n### Шаг 2: Настройка Anchor для смарт-контракта\n\nПроверьте и отредактируйте файл `nft-part/Anchor.toml`:\n\n```toml\n[toolchain]\nanchor_version = \"0.29.0\"\n\n[features]\nseeds = false\nskip-lint = false\n\n[programs.devnet]\nnft_program = \"9uJ8yGTieFKj2f3XixAfuBAdFmavEoVNgCZgkcK56KrJ\"\n\n[registry]\nurl = \"https://api.apr.dev\"\n\n[provider]\ncluster = \"Devnet\"\nwallet = \"/путь/к/вашему/solana/кошельку.json\"\n\n[scripts]\nclient = \"yarn run ts-node client/*.ts\"\ntest = \"yarn run ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.ts\"\n```\n\n## 5. Переключение между сетями Solana\n\n### Что такое сети Solana\n- **devnet**: Тестовая сеть с бесплатными тестовыми SOL \n- **testnet**: Тестовая сеть для более масштабного тестирования\n- **mainnet-beta**: Основная сеть Solana, где транзакции имеют реальную стоимость\n\n### Настройка сети через Solana CLI\n\n#### Переключение на devnet\n```bash\nsolana config set --url https://api.devnet.solana.com\n```\n\n#### Переключение на mainnet-beta\n```bash\nsolana config set --url https://api.mainnet-beta.solana.com\n```\n\n#### Проверка текущей сети\n```bash\nsolana config get\n```\n\n### Изменение сети в проекте\n1. Измените значение `NEXT_PUBLIC_SOLANA_NETWORK` и `NEXT_PUBLIC_SOLANA_RPC_ENDPOINT` в файле `.env.local`\n2. Обновите параметр `cluster` в файле `nft-part/Anchor.toml`\n\n## 6. Сборка и деплой смарт-контракта на Solana\n\n### Шаг 1: Создание кошелька для деплоя (если у вас его нет)\n```bash\nsolana-keygen new -o keypair.json\n```\n\n### Шаг 2: Получение тестовых SOL (для devnet)\n```bash\nsolana airdrop 2 --url devnet\n```\n\n### Шаг 3: Сборка смарт-контракта\n```bash\ncd nft-part\nanchor build\n```\n\n### Шаг 4: Получение адреса программы\n```bash\nsolana address -k target/deploy/nft_program-keypair.json\n```\n\n### Шаг 5: Обновление ID программы в Anchor.toml\nЗамените ID программы в `nft-part/Anchor.toml` на полученный адрес:\n```toml\n[programs.devnet]\nnft_program = \"полученный_адрес_программы\"\n```\n\n### Шаг 6: Деплой программы\n```bash\nanchor deploy\n```\n\n### Шаг 7: Проверка успешного деплоя\n```bash\nsolana program show полученный_адрес_программы\n```\n\n### Шаг 8: Обновление .env.local\nОбновите значение `NEXT_PUBLIC_NFT_PROGRAM_ID` в файле `frontend/.env.local` на адрес вашей программы.\n\n## 7. Настройка OAuth для социальных сетей\n\n### Discord OAuth\n\n#### Шаг 1: Создание приложения Discord\n1. Перейдите на [Discord Developer Portal](https://discord.com/developers/applications)\n2. Нажмите \"New Application\" и создайте новое приложение\n3. Перейдите в раздел \"OAuth2\" в меню слева\n4. Добавьте редирект URI: `http://localhost:3000/api/auth/discord/callback`\n5. Сохраните Client ID и Client Secret\n\n#### Шаг 2: Обновление .env.local\n```\nDISCORD_CLIENT_ID=\"ваш_discord_client_id\"\nDISCORD_CLIENT_SECRET=\"ваш_discord_client_secret\"\nDISCORD_REDIRECT_URI=\"http://localhost:3000/api/auth/discord/callback\"\n```\n\n### Twitter OAuth\n\n#### Шаг 1: Создание приложения Twitter\n1. Перейдите на [Twitter Developer Portal](https://developer.twitter.com/en/portal/dashboard)\n2. Создайте новый проект и приложение\n3. В настройках приложения добавьте редирект URI: `http://localhost:3000/api/auth/twitter/callback`\n4. Получите API Key (Client ID) и API Secret (Client Secret)\n\n#### Шаг 2: Обновление .env.local\n```\nTWITTER_CLIENT_ID=\"ваш_twitter_client_id\"\nTWITTER_CLIENT_SECRET=\"ваш_twitter_client_secret\"\nTWITTER_REDIRECT_URI=\"http://localhost:3000/api/auth/twitter/callback\"\n```\n\n### Telegram Bot\n\n#### Шаг 1: Создание бота в Telegram\n1. Откройте чат с [@BotFather](https://t.me/BotFather) в Telegram\n2. Отправьте команду `/newbot`\n3. Следуйте инструкциям для создания бота\n4. Сохраните полученный токен бота (API token)\n\n#### Шаг 2: Настройка доменного имени для бота\n1. Установите и запустите ngrok для создания туннеля:\n   ```bash\n   cd frontend\n   npm run ngrok\n   # или\n   yarn ngrok\n   ```\n2. Скопируйте полученный URL (например, `https://xxxx-xxx-xx-xx-xx.ngrok.io`)\n3. Отправьте команду `/setdomain` в чате с @BotFather\n4. Выберите вашего бота и укажите URL от ngrok\n\n#### Шаг 3: Обновление .env.local\n```\nTELEGRAM_BOT_TOKEN=\"ваш_telegram_bot_token\"\nNEXT_PUBLIC_TELEGRAM_BOT_USERNAME=\"имя_вашего_бота_без_@\"\n```\n\n## 8. Запуск проекта\n\n### Шаг 1: Запуск веб-приложения\n```bash\ncd frontend\nnpm run dev\n# или\nyarn dev\n```\n\n### Шаг 2: Проверка работы приложения\nОткройте браузер и перейдите по адресу: `http://localhost:3000`\n\nВы увидите главную страницу проекта Samurai Pepe с возможностью подключения кошелька Solana.\n\n### Шаг 3: Подключение кошелька\n1. Установите расширение Phantom или Solflare для вашего браузера\n2. Создайте новый кошелек или импортируйте существующий\n3. Нажмите кнопку \"Connect Wallet\" на сайте\n\n### Шаг 4: Минт NFT\nПосле подключения кошелька вы сможете минтить NFT, выбрав желаемый тип (Common, Rare, Legendary)\n\n## 9. Дополнительные советы\n\n### Отладка смарт-контракта\n- Используйте `anchor test` для запуска тестов смарт-контракта\n- Логи Solana можно просмотреть с помощью `solana logs`\n- При разработке контракта используйте `anchor test --skip-local-validator` для тестов без запуска локального валидатора\n\n### Работа с Solana Explorer\n- Для проверки транзакций используйте [Solana Explorer](https://explorer.solana.com/?cluster=devnet)\n- Выберите правильную сеть (devnet/mainnet) в верхнем правом углу\n\n### Полезные ресурсы\n- [Документация Solana](https://docs.solana.com/)\n- [Документация Anchor](https://www.anchor-lang.com/)\n- [Discord Solana](https://discord.com/invite/solana)\n- [Next.js документация](https://nextjs.org/docs)\n\n## 10. Решение проблем\n\n### Проблемы с установкой Rust\n- **Windows**: Убедитесь, что у вас установлен Microsoft Visual Studio C++ build tools\n- **macOS**: Установите Xcode Command Line Tools: `xcode-select --install`\n\n### Ошибки при деплое контракта\n- **Insufficient funds**: Получите больше SOL через airdrop: `solana airdrop 2`\n- **Program already exists**: Используйте новый keypair для программы или обновите существующую\n\n### Проблемы с OAuth\n- Убедитесь, что URI редиректа точно соответствует указанному в настройках приложения\n- Проверьте, что ваш ngrok туннель активен для Telegram OAuth\n\n### Ошибки при запуске frontend\n- **Port already in use**: Закройте программы, использующие порт 3000, или измените порт: `npm run dev -- -p 3001`\n- **Module not found**: Проверьте, что все зависимости установлены: `npm install`\n\n### Не удается подключить кошелек Solana\n- Убедитесь, что расширение кошелька установлено и разблокировано\n- Проверьте, что выбрана правильная сеть в кошельке (devnet/mainnet)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fionic-typing%2Fsamurai-pepe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fionic-typing%2Fsamurai-pepe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fionic-typing%2Fsamurai-pepe/lists"}