Многие панели поиска криптовалют предлагают плохой пользовательский опыт, поскольку принимают только контрактные адреса. Пользователи ожидают поиска по названию или символу монеты или токена (например, «WIF» или «PEPE»), а не по сложному адресу контракта, который им приходится искать где-то еще.
В этом руководстве мы покажем вам, как использовать API CoinGecko для создания комплексной системы поиска токенов. Это решение обеспечивает самый широкий охват, запрашивая более 17 миллионов криптоактивов в более чем 250 цепочках, что устраняет трение и обеспечивает удобство работы с пользователем.
Предварительные условия
-
Ключ API CoinGecko
-
Node.js + НПМ
Как создать лучшую поисковую систему токенов?
Чтобы создать лучшую систему поиска токенов, используйте такое решение, как конечные точки поиска монет и токенов CoinGecko API. Такой подход дает несколько ключевых преимуществ:
-
Широкий охват токенов: Получите доступ к обширному набору данных существующих криптовалют (через /search) и миллионам токенов с длинным хвостом в более чем 250 цепочках (через /onchain/search/pools). Этот подход с двумя конечными точками дает пользователям доступ практически к любому токену, который они ищут.
-
Превосходный пользовательский опыт: разрешить пользователям интуитивно понятный поиск по имени токена или символу (например, WIF или PEPE), а не только по сложным адресам контрактов. API обрабатывает опечатки и ранжирует результаты по релевантности, повторяя удобство работы с CoinGecko.com.
-
Встроенное доверие и безопасность: Сохраняйте результаты актуальными и безопасными. Используйте функции внутренней безопасности CoinGecko, такие как проверки приманок и оценки доверия, чтобы отфильтровать потенциальное мошенничество и вредоносные активы.
-
Масштабируемость и экономическая эффективность: Избегайте огромных сложностей и затрат на создание и поддержание собственной инфраструктуры межсетевого поиска. API CoinGecko предлагает масштабируемое и экономичное решение, позволяющее вам сосредоточиться на создании основных функций вашего приложения.
Как искать существующие монеты и токены?
Для поиска существующих криптовалют, бирж, NFT и категорий, перечисленных на CoinGecko, используйте конечную точку /search.
Вот минимальный рабочий пример:
Ниже приведен пример ответа при поиске монеты с именем «опоссум»:
Как искать токены и пулы DEX в цепочке?
Для поиска токенов с длинным хвостом и пулов ликвидности, перечисленных на GeckoTerminal, используйте конечную точку /onchain/search/pools:
Ниже приведен пример ответа на тот же запрос «опоссум»:
Создание единой поисковой системы токенов
Объединив две вышеупомянутые конечные точки, вы можете создать мощную, интуитивно понятную панель поиска, которая обеспечивает превосходное взаимодействие с пользователем и позволяет быстро создавать современное веб-приложение.
Чтобы продемонстрировать это, мы создадим практический визуальный пример с использованием SvelteKit, но вы можете использовать любую платформу интерфейса, которую предпочитаете.
Создайте новый проект SvelteKit с помощью npx sv создать. Для быстрого старта используйте TypeScript и TailwindCSS и скопируйте приведенные ниже настройки:

Для нашей библиотеки компонентов мы будем использовать Flowbite-svelte. Он поставляется со многими полезными компонентами для нашей системы поиска токенов, включая настраиваемую панель поиска: npm i -D flowbite-svelte flowbite && npm i -D flowbite-svelte-icons.
Объединение вызовов API CoinGecko
Создайте класс Coingecko под src/providers/CoinGecko.ts
Этот класс объединяет два приведенных выше примера вызова API. Однако на этот раз мы не будем вставлять ключ API CoinGecko в виде обычного текста в приложение.
Вместо этого мы собираемся сохранить его в .env файл в корне нашего проекта, вот так:
COINGECKO_API_KEY = «CG-API-KEY»
Далее нам нужно безопасно загрузить ключ API, не раскрывая его клиенту. Внутри источник/маршруты каталог, создайте новый файл с именем +page.server.ts. Этот файл должен находиться на том же уровне, что и ваш +page.svelteгде мы будем создавать пользовательский интерфейс для нашей панели поиска.
Этот файл работает исключительно на сервере. Он обрабатывает всю связь с клиентской стороной, обрабатывает поисковые запросы и запросы в цепочке и отправляет результаты обратно пользователю.
Определение ответов поиска и цепочки
Под источник/типы создайте файл с именем search.ts. Это определит ответ от конечной точки поиска.
Далее, давайте определим ответ в цепочке в onchain.ts:
Мы определяем эти типы, чтобы обеспечить безопасность типов, улучшить ясность кода и упростить работу с ответами API.
Создание пользовательского интерфейса
Пользовательский интерфейс состоит из трех основных компонентов: один для отображения ответа на поиск, другой для отображения ответа в цепочке и последний компонент, который объединяет их в единый интерфейс с современной панелью поиска.
src/lib/CoinList.svelte
src/lib/OnchainPoolList.svelte
src/routes/+page.svelte
Этот файл служит основной точкой входа для нашего пользовательского интерфейса. Если он уже существует в вашем проекте, вы можете заменить его содержимое приведенным ниже кодом.
Теперь вы сможете запускать свое приложение локально с помощью npm run dev и переход к в вашем браузере.
Введите что-нибудь в строку поиска, и результат должен начать автоматически заполняться. Нажмите на токен, чтобы просмотреть его в соответствующем обозревателе цепочки.

Как отфильтровать мошенничество или вредоносные токены?
Вы можете отфильтровать мошенничество или вредоносные токены, используя конечную точку CoinGecko API /networks/{network}/pools/{pool_address}/info. Эта конечная точка предоставляет важные данные о безопасности токенов в цепочке, которые вы можете оценить, используя следующие поля:
-
gt_score: Оценка доверия GeckoTerminal (0–100), основанная на ликвидности, объеме, возрасте и сигналах сообщества.
-
is_honeypot: мгновенно помечает токены, которые ловят пользователей (например, налог на продажу в размере 99%).
Вот простая функция, которая применяет фильтр для оценки доверия GeckoTerminal (gt_score) и флага is_honeypot, чтобы проверить, безопасен ли пул:
Ваше приложение можно легко расширить, включив в него эту проверку безопасности, добавив этот метод в класс CoinGecko и вызвав его перед отображением результатов поиска.

Заключение
Удобство использования панелей поиска криптовалют возможно при использовании правильных инструментов, а поиск по имени должен быть стандартом, а не исключением. Используя API CoinGecko и комбинируя /поиск и /ончейн/поиск/пулы конечных точек, разработчики могут создать ведущую в отрасли функцию поиска токенов, которая будет мощной, безопасной и удобной для пользователя без затрат и накладных расходов на создание собственной инфраструктуры данных с нуля.
Когда вы будете готовы запустить в своем приложении готовую к использованию функцию поиска, рассмотрите возможность подписки на платный план API CoinGecko. Это откроет более высокие лимиты скорости и эксклюзивные конечные точки, необходимые для проектов промышленного масштаба.
