Интегрируйте GENY в базу.
Практическая поверхность для приложений, которым необходимо считывать балансы GENY, готовить переводы, проверять сеть и направлять пользователей при подключении кошелька.
Производственные константы
| Сеть | Base Mainnet |
|---|---|
| Идентификатор цепочки | 8453 · 0x2105 |
| Родной газовый токен | ETH |
| Символ токена | GENY |
| десятичные дроби | 18 |
| Договор | 0x2a3d6f8c1fc4AcDcf3A75d19b445bae02F03676B |
Получение цен BTC, ETH и GENY
Genyleap предоставляет защищённый ценовой эндпоинт, который возвращает BTC, ETH и GENY вместе. Доступ персональный и привязан к вашей идентичности OpenProof.
Перед созданием Bearer-токена администратор должен включить доступ разработчика к API для вашей учётной записи Genyleap. После одобрения откройте Аккаунт → API чтобы создать или ротировать токен. Если доступ не включён, свяжитесь с [email protected] и опишите, что вы создаёте, какой API вам нужен и какой объём запросов ожидается.
| Эндпоинт | GET https://api.genyleap.com/v1/prices |
|---|---|
| Аутентификация | Authorization: Bearer <YOUR_TOKEN> |
| Активы | BTC · ETH · GENY |
| Источник | Пары Base через Dexscreener |
| Сопоставление | Сопоставляйте по символу токена, а не по позиции в массиве ответа |
curl -H "Authorization: Bearer <YOUR_TOKEN>" \ https://api.genyleap.com/v1/prices
const response = await fetch("https://api.genyleap.com/v1/prices", {
headers: {
Authorization: `Bearer ${process.env.GENYLEAP_API_TOKEN}`
}
});
if (!response.ok) {
throw new Error(`Genyleap API returned ${response.status}`);
}
const prices = await response.json();
console.log(prices.GENY.usd);{
"BTC": { "usd": 85703.46, "change24h": 0.38 },
"ETH": { "usd": 2707.72, "change24h": 0.28 },
"GENY": { "usd": 0.001266, "change24h": -0.42 },
"meta": {
"source": "dexscreener",
"chain": "base",
"fetchedAt": "2026-10-06T14:30:00+00:00"
}
}Храните Bearer-токены на сервере или в другой доверенной среде выполнения. Не встраивайте персональный токен в публичный клиентский JavaScript, закоммиченный исходный код, скриншоты или логи. Если токен мог быть раскрыт, ротируйте его в разделе Аккаунт → API.
Прочитать баланс
GENY использует стандартную балансировочную поверхность ERC-20. Всегда привязывайте запрос к базовой сети и форматируйте возвращаемое целое число, используя 18 десятичных знаков.
import { JsonRpcProvider, Contract, formatUnits } from "ethers";
const provider = new JsonRpcProvider("https://mainnet.base.org");
const token = new Contract(
"0x2a3d6f8c1fc4AcDcf3A75d19b445bae02F03676B",
["function balanceOf(address) view returns (uint256)"],
provider
);
const raw = await token.balanceOf(userAddress);
const balance = formatUnits(raw, 18);Подготовить трансфер
Перевод — это транзакция ERC-20, авторизованная кошельком. Не запрашивайте и не обрабатывайте фразу восстановления или закрытый ключ пользователя.
import { BrowserProvider, Contract, parseUnits } from "ethers";
const provider = new BrowserProvider(window.ethereum);
const signer = await provider.getSigner();
const token = new Contract(
"0x2a3d6f8c1fc4AcDcf3A75d19b445bae02F03676B",
["function transfer(address,uint256) returns (bool)"],
signer
);
const tx = await token.transfer(recipient, parseUnits("12.5", 18));
await tx.wait();Прежде чем включать действие записи, убедитесь, что подключенная цепочка является базовой основной сетью (8453) и показать пользователю полный адрес назначения.
Подключение кошелька
Обнаружение внедренного кошелька или кошелька EIP-6963
Предпочитайте существующий кошелек пользователя и выбор поставщика вместо того, чтобы молча выбирать его.
Запросить базовую сеть Mainnet
Использовать wallet_switchEthereumChain with 0x2105. Только вернуться к wallet_addEthereumChain когда кошелек сообщает, что цепочка неизвестна.
Предложить импорт токенов
wallet_watchAsset может предложить GENY совместимым кошелькам, но путь к адресу контракта, указанный вручную, всегда должен оставаться доступным.
Проверить самостоятельно
Свяжите пользователей с BaseScan и поощряйте проверку адреса контракта перед любыми действиями по увеличению стоимости.
Правила интеграции
- Считайте адрес контракта основным идентификатором токена; имена, символы и логотипы являются метаданными отображения.
- Никогда не запрашивайте начальную фразу или закрытый ключ.
- Перед подписанием укажите активную цепочку и пункт назначения.
- Ожидайте поступления транзакций, когда состояние приложения зависит от подтверждения.
- Не делайте выводы о балансе на основе кэшированного состояния пользовательского интерфейса; читать из цепочки или доверенного индексатора.