Пост
Поделитесь своими знаниями.
How to query Swap_Event without specifying phantom types?
I'm trying to query all Swap_Event instances without specifying phantom types for the struct like Swap_Event<phantom Ty0, phantom Ty1>
. What are some alternative methods to achieve this? Also, if I upgrade the contract, how does it affect my queries? Additionally, is there a rate limit on public GraphQL queries?
- Move CLI
- Move
Ответы
3Вы можете использовать API QueryEvents с фильтром, предназначенным для следующегоMoveEventModule
:
"params": [
{
"MoveEventModule": {
"package": "<PACKAGE_ID>",
"module": "<MODULE_NAME>",
"event": "Swap_Event"
}
}
]
Однако имейте в виду, что это относится ко всем событиям модуля, а не толькоSwap_Event
. Для фильтрации определенных имен событий, если фантомные типы не указаны, вы можете использовать такой запрос GraphQL, как:
https://sui-<devnet|testnet|mainnet>.mystenlabs.com/
{
events(
filter: {
eventType: "<PACKAGE_ID>::<MODULE_NAME>::Swap_Event"
}
) {
edges {
node {
timestamp
type {
repr
}
data
json
}
}
}
}
Этот метод позволяет осуществлять более детальный контроль.
Что касается обновлений контрактов, ваши запросы будут работать с любой версией пакета. Хотя новый пакет рекомендуется использовать для новых запросов, старый пакет все же можно использовать для поиска исторических данных.
Ограничение скорости публичных запросов GraphQL ограничено для любого источника, выполняющего более 2000 запросов в 10-секундном окне.
Знаете ответ?
Пожалуйста, войдите в систему и поделитесь им.
Move is an executable bytecode language used to implement custom transactions and smart contracts.