# Eth-google sheets на API **Published by:** [Thor Lab](https://paragraph.com/@th0masi/) **Published on:** 2023-03-26 **URL:** https://paragraph.com/@th0masi/eth-google-sheets-api ## Content Как уже только я не предлагал использовать таблицы, писал множество формул, но все они имели один огромный недостаток - ограничение. У гугла стоит стоит ограничение на ~20 запросов в минуту и ~200 запросов в час. Это очень сильно бесило, когда у тебя, к примеру, 100 аккаунтов, а гугл не может загрузить и посчитать балансы всех. Но я нашел выход, я написал свои формулы при помощи Etherscan API, в чем преимущество:Количество запросов ~15/сек, 300 000/деньБольше данных для импортаБесплатное APIНа текущий момент написал только для блокчейна Ethereum, надеюсь мне будет не лень написать для большинства других блокчейнов и я сделаю это в ближайшее время, следите за анонсами в TG: Thor Lab Начнем..Ключи APIДля начала нам нужно получить ключи API (опять же они бесплатные). Для этого нужно зарегистрироваться на etherscan.После регистрации и авторизации идем сюдаНажимаем на +Add, придумываем названия и генерируем себе 3 ключаТаблицаТеперь переходим в таблицуДумаю что к чему понятно: Wallets - столбец кошельков, вставляем с A2 BAL $ETH - баланс эфира to USD - баланс эфира в $ (курс автоматически подтягивается в ячейку L7) Count txns - количество транзакций в сети эфира Last txn - когда последний раз была транзакция на кошельке BAL $USDT - баланс USDT BAL $USDC - баланс USDC $CUSTOM - вы можете вставить любой адрес контракта в R9 (Custom $contract) и получить столбец с балансами этого токена. Столбец L суммирует все балансы. Custom $contract - сюда можно поместить любой токен-контракт, чтобы посмотреть балансы токенов Etherscan API - сюда суем 3 API ключа Для того чтобы скопировать к себе таблицу нужно нажать на Файл -> Создать копиюМожем поменять название, файлы Apps Script нужно оставить прикрепленными, для того чтобы кастомные формулы работали! После копирования, таблица сохранится у вас на диске и доступ к ней будете иметь только вы! После копирования вставьте список API ключей и список кошельков, загрузка всех данных займет до несколько минут. Я так же добавил параметр нулевого значения, функция не будет обращается к API, если кошелька в B-столбце нету, если же он есть функция будет обновлять данные примерно каждые ~3 секунды. Кому интересны формулы подробнее о них: =getEthBalance(ячейка; apiKey) - получает баланс эфира, округляет до 4 знаков после запятой =getEthTxCount(ячейка; apiKey) - считает количество транзакций на кошельке =getLastTransactionTime(ячейка; apiKey) - проверяет время последней транзакций, считает от текущего (выводит минуты/часы/дни в зависимости от того сколько прошло времени) =getTokenBalance(токенКонтракт;ячейка; apiKey) - получает балансы токенов, единицы измерения подходящей для стейблов (10^6) =getCustomTokenBalance(токенКонтракт;ячейка; apiKey) - получает балансы токенов, единицы измерения подходящей для большинства токенов ERC-20 (10^18) =customSum(первая_ячейка:последняя_ячейка) - суммирует большинство ячеек, это кастомная формула, т.к. родная SUM не умеет нормально интерпретировать вывод цифр. =EthBalance(колво_eth;цена_eth) - считает оценочную стоимость эфира по актуальному прайсу в google.ЗаключениеНе все формулы идеальные, будет желание и время возможно буду оптимизировать, в течение недели возможно напишу под другие блокчейны, под какой написать в первую очередь пишите в комментах крч. Любые вопросы можно задавать в чате Thor Chat (торчат) Подписывайтесь на Thor Lab (основной канал), может будет полезно, часто пытаюсь придумать интересные вещи. ## Publication Information - [Thor Lab](https://paragraph.com/@th0masi/): Publication homepage - [All Posts](https://paragraph.com/@th0masi/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@th0masi): Subscribe to updates