Допис
Діліться своїми знаннями.
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.