Преимущества создания индекса блокчейна своими руками
При работе над криптокошельками возникают неочевидные проблемы. Важно понимать, что для получения списка транзакций, связанных с конкретным адресом, необходим специальный инструмент.
Например, Bitcoin и другие криптовалюты ведут учет транзакций, но Ethereum сконцентрирован на балансах, сохраняя информацию о транзакциях с трудом. Для Bitcoin невозможно получить список транзакций, связанных с адресом, только входы. Ethereum еще более запутанный — Geth (go-ethereum) не предоставляет информацию о транзакциях. В этом случае blockchain хранит только балансы.
Создатели приложения должны следить за операциями, сканировать блоки и сохранять данные для доступа. При использовании токенов ERC20 появляется дополнительная сложность — нужно отслеживать вызовы смарт-контрактов.
Некоторые криптокошельки предлагают импортировать ключи для доступа к адресам из других программ. Метод Exodus предлагает «сгребание» средств с импортированного адреса. Metamask, например, использует концепцию blockexplorer для отображения транзакций импортированных адресов.
Чтобы извлечь информацию, приложение обращается к провайдеру через API, например к infura.io и alchemy.com. Все эти сервисы помогают обеспечить доступ к данным. Однако использование сторонних сервисов может быть небезопасным и неэффективным.
Решая проблемы конфиденциальности и уязвимости, важно оценивать риски использования внешних сервисов. Например, сервис может собирать персональные данные для сомнительных целей. С другой стороны, изменения в условиях эксплуатации API могут повлиять на работу криптокошелька и доступ к средствам пользователей.
Рекомендуется создать собственный индекс блокчейна для надежного доступа к данным и независимости от сторонних сервисов. В следующей статье подробнее остановимся на этом вопросе.