# 🦊 MetaMask RPC Changer v2.0 **Автоматизована система для зміни RPC провайдерів у MetaMask** Повністю автоматизоване рішення для додавання та зміни мереж у MetaMask через посилання або QR-коди. Жодних ручних налаштувань - просто відскануйте QR-код або відкрийте лінк! --- ## 🚀 Нові можливості v2.0 ### ✨ Повна автоматизація - **Готові лінки**: Згенеруйте лінк один раз - використовуйте скрізь - **QR-коди**: Миттєве додавання мережі через сканування - **Автоматичне виконання**: Відкрийте лінк - мережа додається автоматично - **Підтримка мобільних**: Працює в MetaMask Mobile через deep links ### 📱 Підтримка всіх платформ - Desktop (браузерне розширення MetaMask) - Mobile (MetaMask Mobile для iOS/Android) - Автоматичне визначення платформи та перенаправлення ### 🎨 Нові сторінки 1. **Генератор лінків** (`generator.html`) - створення власних автоматичних лінків 2. **Автоматичне виконання** (`auto.html`) - додавання мережі з URL параметрів 3. **Галерея QR-кодів** (`gallery.html`) - готові QR-коди популярних мереж --- ## 📂 Структура проекту ``` metamask_rpc_changer/ ├── index.html # Головна сторінка (ручне додавання) ├── generator.html # 🔥 Генератор автоматичних лінків ├── auto.html # 🔥 Сторінка автоматичного виконання ├── gallery.html # 🔥 Галерея готових QR-кодів ├── mobile.html # Мобільна версія (deep links) ├── script.js # Логіка головної сторінки ├── generator-script.js # 🔥 Логіка генератора ├── auto-script.js # 🔥 Логіка автоматичного виконання ├── gallery-script.js # 🔥 Логіка галереї ├── mobile-script.js # Логіка мобільної версії ├── styles.css # Загальні стилі (оновлено) └── README.md # Ця документація ``` --- ## 🎯 Швидкий старт ### Варіант 1: Використати готові QR-коди 1. Відкрийте `gallery.html` 2. Виберіть потрібну мережу 3. **Десктоп**: Натисніть "Тестувати" 4. **Мобільний**: Скануйте QR-код камерою телефону 5. Підтвердіть у MetaMask ### Варіант 2: Створити власний лінк 1. Відкрийте `generator.html` 2. Введіть параметри мережі 3. Натисніть "Згенерувати лінк" 4. Скопіюйте лінк або завантажте QR-код 5. Поділіться з іншими користувачами! ### Варіант 3: Ручне додавання 1. Відкрийте `index.html` 2. Заповніть форму параметрами мережі 3. Натисніть "Додати/Оновити мережу" 4. Підтвердіть у MetaMask --- ## 📖 Детальна інструкція ### 🔗 Генератор лінків (`generator.html`) **Призначення**: Створення автоматичних лінків та QR-кодів для швидкого додавання мереж. #### Як використовувати: 1. **Заповніть параметри мережі**: - Chain ID (наприклад: 1, 56, 137) - RPC URL (наприклад: https://rpc.example.com) - Назва мережі - Символ валюти (опціонально) - Block Explorer URL (опціонально) 2. **Натисніть "Згенерувати лінк"** 3. **Отримайте результат**: - **Десктоп лінк**: Для використання в браузері з MetaMask - **Мобільний лінк**: Deep link для MetaMask Mobile - **2 QR-коди**: Окремо для десктопу та мобільного 4. **Використайте згенеровані матеріали**: - **Копіювати**: Скопіюйте лінк для пошірення - **Тестувати**: Перевірте, як працює лінк - **Завантажити QR**: Збережіть QR-код як зображення #### Приклади готових шаблонів: У генераторі є готові шаблони популярних мереж: - Ethereum Mainnet (LlamaRPC, Ankr) - BNB Smart Chain (Binance, Ankr) - Polygon (офіційний, Ankr) - Arbitrum One - Optimism - Avalanche C-Chain - Fantom Opera Просто натисніть "Використати" біля потрібного шаблону! --- ### ⚡ Автоматичне виконання (`auto.html`) **Призначення**: Сторінка, яка автоматично додає мережу на основі параметрів у URL. #### Формат URL: ``` auto.html?chainId=1&rpcUrl=https://eth.llamarpc.com&chainName=Ethereum&symbol=ETH&explorerUrl=https://etherscan.io ``` #### Параметри URL: | Параметр | Обов'язковий | Опис | Приклад | |----------|-------------|------|---------| | `chainId` | ✅ Так | ID мережі | `1`, `56`, `137` | | `rpcUrl` | ✅ Так | URL RPC провайдера | `https://rpc.example.com` | | `chainName` | ✅ Так | Назва мережі | `Ethereum Mainnet` | | `symbol` | ❌ Ні | Символ нативної валюти | `ETH`, `BNB`, `MATIC` | | `explorerUrl` | ❌ Ні | URL блок-експлорера | `https://etherscan.io` | #### Як це працює: 1. Користувач відкриває лінк (через браузер або QR-код) 2. Сторінка автоматично зчитує параметри з URL 3. Показує деталі мережі для перевірки 4. Автоматично викликає MetaMask API 5. Користувач підтверджує у MetaMask 6. Мережа додана! ✅ #### Підтримка платформ: - **Desktop**: Якщо встановлено MetaMask - одразу додає мережу - **Mobile**: Якщо MetaMask не знайдено - перенаправляє на MetaMask Mobile - **Автоматичне визначення**: Система сама розуміє, на якій платформі запущена --- ### 🖼️ Галерея QR-кодів (`gallery.html`) **Призначення**: Готова колекція QR-кодів для популярних мереж з різними RPC провайдерами. #### Доступні мережі: **Ethereum** (3 варіанти RPC): - LlamaRPC - рекомендовано для більшості - Ankr - глобальна інфраструктура - Cloudflare - швидкість та безпека **BNB Smart Chain** (3 варіанти): - Binance (офіційний) - найкраща швидкість - Ankr - альтернативний надійний - NodeReal - високопродуктивний **Polygon** (3 варіанти): - Офіційний - швидко та дешево - Ankr - стабільний доступ - Alchemy - преміум з розширеними можливостями **Layer 2 мережі**: - Arbitrum One - низькі комісії - Optimism - швидкі транзакції - Base - від Coinbase **Інші мережі**: - Avalanche C-Chain - Fantom Opera - zkSync Era #### Функції кожної картки: - **Тестувати**: Відразу додати мережу в MetaMask - **Завантажити QR**: Зберегти QR-код як зображення - **Копіювати лінк**: Скопіювати лінк для пошірення #### Фільтри: Використовуйте фільтри для швидкого пошуку: - Усі мережі - Ethereum - BSC - Polygon - Layer 2 - Інші --- ## 🔧 Технічні деталі ### Формат автоматичного лінку **Desktop лінк**: ``` https://yourdomain.com/auto.html?chainId=56&rpcUrl=https://bsc-dataseed.binance.org/&chainName=BNB%20Smart%20Chain&symbol=BNB&explorerUrl=https://bscscan.com ``` **Mobile Deep Link**: ``` https://metamask.app.link/dapp/yourdomain.com/auto.html?chainId=56&... ``` ### API MetaMask Проект використовує MetaMask Ethereum Provider API: ```javascript await window.ethereum.request({ method: 'wallet_addEthereumChain', params: [{ chainId: '0x38', // Hex формат chainName: 'BNB Smart Chain', rpcUrls: ['https://bsc-dataseed.binance.org/'], nativeCurrency: { name: 'BNB', symbol: 'BNB', decimals: 18 }, blockExplorerUrls: ['https://bscscan.com'] }] }); ``` ### Підтримка мобільних платформ **Визначення платформи**: ```javascript const userAgent = navigator.userAgent; const isAndroid = /android/i.test(userAgent); const isIOS = /iPad|iPhone|iPod/.test(userAgent); ``` **Deep Link формат**: - Android/iOS: `https://metamask.app.link/dapp/[your-url]` - Альтернативний: `metamask://[action]?[params]` --- ## 📱 Мобільна версія ### Для користувачів MetaMask Mobile: 1. **Через QR-код**: - Відкрийте камеру телефону - Скануйте QR-код з галереї - Підтвердіть у MetaMask Mobile 2. **Через браузер MetaMask**: - Відкрийте вбудований браузер у MetaMask Mobile - Перейдіть на `gallery.html` або `generator.html` - Натисніть "Тестувати" 3. **Через звичайний браузер**: - Відкрийте лінк у Safari/Chrome - Система автоматично перенаправить на MetaMask Mobile ### Deep Links для мобільного: Формат URL для прямого відкриття в MetaMask Mobile: ``` https://metamask.app.link/dapp/[your-domain]/auto.html?chainId=... ``` --- ## 🌐 Популярні мережі та RPC ### Ethereum Mainnet (Chain ID: 1) | Провайдер | RPC URL | Примітки | |-----------|---------|----------| | LlamaRPC | `https://eth.llamarpc.com` | Рекомендовано | | Ankr | `https://rpc.ankr.com/eth` | Надійний | | Cloudflare | `https://cloudflare-eth.com` | Швидкий | ### BNB Smart Chain (Chain ID: 56) | Провайдер | RPC URL | Примітки | |-----------|---------|----------| | Binance | `https://bsc-dataseed.binance.org/` | Офіційний | | Ankr | `https://rpc.ankr.com/bsc` | Альтернативний | | NodeReal | `https://bsc-mainnet.nodereal.io/v1/...` | Високопродуктивний | ### Polygon (Chain ID: 137) | Провайдер | RPC URL | Примітки | |-----------|---------|----------| | Polygon | `https://polygon-rpc.com` | Офіційний | | Ankr | `https://rpc.ankr.com/polygon` | Стабільний | | Alchemy | `https://polygon-mainnet.g.alchemy.com/v2/demo` | Преміум | ### Layer 2 мережі | Мережа | Chain ID | RPC URL | |--------|----------|---------| | Arbitrum One | 42161 | `https://arb1.arbitrum.io/rpc` | | Optimism | 10 | `https://mainnet.optimism.io` | | Base | 8453 | `https://mainnet.base.org` | ### Інші популярні мережі | Мережа | Chain ID | RPC URL | Символ | |--------|----------|---------|--------| | Avalanche | 43114 | `https://api.avax.network/ext/bc/C/rpc` | AVAX | | Fantom | 250 | `https://rpc.ftm.tools/` | FTM | | zkSync Era | 324 | `https://mainnet.era.zksync.io` | ETH | --- ## 💡 Приклади використання ### Приклад 1: Додати Ethereum з LlamaRPC **Лінк**: ``` auto.html?chainId=1&rpcUrl=https://eth.llamarpc.com&chainName=Ethereum%20Mainnet&symbol=ETH&explorerUrl=https://etherscan.io ``` **Використання**: 1. Скопіюйте лінк 2. Відкрийте у браузері з MetaMask 3. Підтвердіть додавання 4. Готово! ✅ ### Приклад 2: QR-код для BSC 1. Відкрийте `generator.html` 2. Виберіть шаблон "BNB Smart Chain (Binance)" 3. Натисніть "Згенерувати лінк" 4. Завантажте "Мобільний QR" 5. Надрукуйте або поділіться з іншими! ### Приклад 3: Корпоративне використання **Сценарій**: Додати приватну мережу для всіх співробітників 1. **Створіть лінк**: - Відкрийте `generator.html` - Введіть параметри вашої приватної мережі - Згенеруйте лінк 2. **Розповсюдьте**: - Відправте лінк електронною поштою - Або згенеруйте QR-код для офісу - Опублікуйте в корпоративній вікі 3. **Співробітники**: - Відкривають лінк - Підтверджують у MetaMask - Готово - всі використовують однакові налаштування! ### Приклад 4: Для DApp розробників **Інтеграція у ваш DApp**: ```html ``` --- ## 🔒 Безпека ### Що потрібно знати: 1. **MetaMask завжди запитує підтвердження** - Користувач повинен схвалити додавання мережі - Неможливо додати мережу без згоди користувача 2. **Перевіряйте параметри** - Завжди перевіряйте RPC URL перед підтвердженням - Переконайтеся, що Chain ID відповідає мережі 3. **Використовуйте надійні RPC** - Офіційні провайдери (Binance, Polygon) - Перевірені сервіси (Ankr, Alchemy, Infura) - Уникайте невідомих RPC провайдерів 4. **Обмеження MetaMask** - Не можна змінити RPC для вже існуючих популярних мереж через MetaMask UI - Можна додати кастомні мережі або оновити існуючі параметри ### Рекомендації: - ✅ Використовуйте HTTPS для RPC URL - ✅ Перевіряйте Chain ID на офіційних сайтах - ✅ Використовуйте відомі Block Explorer - ❌ Не використовуйте HTTP (незахищений) - ❌ Не довіряйте невідомим RPC провайдерам --- ## 🚀 Розгортання ### Локальний запуск: 1. Клонуйте репозиторій або завантажте файли 2. Відкрийте `index.html` у браузері 3. Або використовуйте локальний сервер: ```bash # Python 3 python -m http.server 8000 # Node.js (npx) npx serve # PHP php -S localhost:8000 ``` 4. Відкрийте `http://localhost:8000` ### Публічне розгортання: #### GitHub Pages: 1. Завантажте всі файли у GitHub репозиторій 2. Перейдіть у Settings → Pages 3. Виберіть гілку для публікації 4. Збережіть налаштування 5. Готово! Ваш сайт доступний за адресою: `https://username.github.io/repository-name/` #### Netlify: 1. Перетягніть папку проекту на Netlify 2. Або підключіть GitHub репозиторій 3. Netlify автоматично розгорне проект 4. Отримаєте URL виду: `https://your-site.netlify.app` #### Vercel: ```bash # Встановіть Vercel CLI npm i -g vercel # Розгорніть проект cd metamask_rpc_changer vercel ``` --- ## 🛠️ Налаштування та кастомізація ### Додати власні мережі в галерею: Відредагуйте `gallery-script.js`: ```javascript const networks = [ // ... існуючі мережі { category: 'other', // ethereum, bsc, polygon, layer2, other name: 'Ваша мережа', description: 'Опис вашої мережі українською', chainId: 12345, rpcUrl: 'https://your-rpc.com', symbol: 'YRN', explorerUrl: 'https://explorer.your-network.com' } ]; ``` ### Змінити стилі: Відредагуйте `styles.css`: ```css :root { --primary-color: #f6851b; /* Основний колір */ --secondary-color: #037dd6; /* Додатковий колір */ --success-color: #27ae60; /* Успіх */ --error-color: #e74c3c; /* Помилка */ } ``` ### Додати логотип: ```html
Logo

🦊 MetaMask RPC Changer

``` --- ## 📊 Сумісність ### Браузери: - ✅ Chrome/Brave (з MetaMask розширенням) - ✅ Firefox (з MetaMask розширенням) - ✅ Edge (з MetaMask розширенням) - ✅ Safari Mobile (перенаправлення на MetaMask Mobile) - ✅ Chrome Mobile (перенаправлення на MetaMask Mobile) ### Пристрої: - ✅ Desktop (Windows, macOS, Linux) - ✅ Mobile (iOS, Android) - ✅ Tablet (iOS, Android) ### MetaMask версії: - ✅ MetaMask Browser Extension (всі актуальні версії) - ✅ MetaMask Mobile (iOS/Android) --- ## 🤝 Внесок та розробка ### Для розробників: Структура проекту дозволяє легко розширювати функціонал: 1. **Додати нові мережі**: Редагуйте масиви `networks` у відповідних скриптах 2. **Нові функції**: Створіть нові HTML/JS файли та підключіть стилі 3. **Покращення UI**: Модифікуйте `styles.css` ### Як зробити внесок: 1. Fork репозиторію 2. Створіть нову гілку (`git checkout -b feature/AmazingFeature`) 3. Зробіть зміни та commit (`git commit -m 'Add AmazingFeature'`) 4. Push у гілку (`git push origin feature/AmazingFeature`) 5. Створіть Pull Request --- ## 📞 Підтримка ### Часті питання: **Q: Чому MetaMask не відкривається автоматично?** A: Переконайтеся, що MetaMask встановлено. Для мобільних пристроїв встановіть MetaMask Mobile. **Q: Можна змінити RPC для Ethereum Mainnet?** A: MetaMask не дозволяє змінювати RPC через API для деяких популярних мереж. Зміни можна зробити вручну в налаштуваннях MetaMask. **Q: QR-код не працює на мобільному** A: Переконайтеся, що у вас встановлено MetaMask Mobile. Деякі камери потребують дозволу для відкриття посилань. **Q: Як видалити додану мережу?** A: Відкрийте MetaMask → Networks → Виберіть мережу → Delete/Remove **Q: Безпечно використовувати сторонні RPC?** A: Використовуйте тільки перевірені RPC провайдери (Ankr, Alchemy, Infura, офіційні). --- ## 📜 Ліцензія MIT License - використовуйте вільно у власних проектах! --- ## 🎉 Подяки - MetaMask за чудовий wallet та API - Спільноті Web3 за підтримку - Всім RPC провайдерам за безкоштовні сервіси --- ## 📈 Версії ### v2.0.0 (Поточна) - Повна автоматизація - ✨ Генератор автоматичних лінків - ✨ Автоматичне виконання з URL параметрів - ✨ Галерея готових QR-кодів - ✨ Підтримка мобільних deep links - ✨ Автоматичне визначення платформи - 📱 Покращена мобільна підтримка - 🎨 Оновлений дизайн та UX ### v1.0.0 - Базовий функціонал - Ручне додавання мереж - Готові шаблони популярних мереж - Базова мобільна версія - QR-коди для мобільних --- ## 🔮 Майбутні плани - [ ] Підтримка інших wallet (Coinbase Wallet, Trust Wallet) - [ ] Експорт/імпорт конфігурацій мереж - [ ] API для інтеграції в DApps - [ ] Багатомовна підтримка (EN, ES, FR) - [ ] Темна тема - [ ] Аналітика використання мереж --- **Створено з ❤️ для спільноти Web3** 🌐 [GitHub](https://github.com) | 🐦 [Twitter](https://twitter.com) | 💬 [Discord](https://discord.com)