DEV Community

EgorMajj
EgorMajj

Posted on

Концепции APTOS | События

События генерируются во время выполнения транзакции. Каждый модуль Move может определять свои собственные события и выбирать, когда генерировать эти события при выполнении модуля. Например, во время перевода coin учетные записи отправителя и получателя будут выдавать SentEvent и ReceivedEvent соответственно. Эти данные хранятся в реестре и могут быть запрошены через функцию Get events by event handle интерфейса REST.

Если предположить, что учетная запись 0xc40f1c9b9fdc204cf77f68c9bb7029b0abbe8ad9e5561f7794964076a4fbdcfd отправила coins на другую учетную запись, можно сделать следующий запрос к REST-интерфейсу: https://fullnode.devnet.aptoslabs.com/accounts/c40f1c9b9fdc204cf77f68c9bb7029b0abbe8ad9e5561f7794964076a4fbdcfd/events/0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>/withdraw_events. В результате будут получены все WithdrawEvents средств, хранящиеся на этой учетной записи, это будет выглядеть следующим образом

[{
  "key":"0x0000000000000000caa60eb4a01756955ab9b2d1caca52ed",
  "sequence_number":"0",
  "type":"0x1::coin::WithdrawEvent",
  "data":{
    "amount":"1000"
  }
}]
Enter fullscreen mode Exit fullscreen mode

Каждое зарегистрированное событие имеет уникальный ключ. Ключ 0x0000000000000000c40f1c9b9fdc204cf77f68c9bb7029b0abbe8ad9e5561f7794964076a4fbdcfd отображает событие 0x1::coin::CoinStore<0x1: :aptos_coin::AptosCoin>/sent_events зарегистрированный на учетной записи 0xc40f1c9b9fdc204cf77f68c9bb7029b0abbe8ad9e5561f7794964076a4fbdcfd. Затем этот ключ можно использовать для прямого запроса событий, например, https://fullnode.devnet.aptoslabs.com/events/0000000000000000c40f1c9b9fdc204cf77f68c9bb7029b0abbe8ad9e5561f7794964076a4fbdcfd.

Они представляют собой потоки событий, или список событий, каждая запись которого содержит последовательно возрастающий номер sequence_number, начинающийся с 0, type и data. Каждое событие должно быть определено каким-либо type. Может быть несколько событий, определенных одним и тем же или похожими type, особенно при использовании generics. События имеют ассоциированные data. Общий принцип заключается в том, чтобы включать все data, необходимые для понимания изменений в базовых ресурсах до и после выполнения транзакции, которая изменила данные и вызвала событие.

Sentry blog image

How to reduce TTFB

In the past few years in the web dev world, we’ve seen a significant push towards rendering our websites on the server. Doing so is better for SEO and performs better on low-powered devices, but one thing we had to sacrifice is TTFB.

In this article, we’ll see how we can identify what makes our TTFB high so we can fix it.

Read more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay