Ви коли-небудь замислювалися, як насправді розмовляють смарт-контракти з зовнішнім світом? На BSC та інших EVM-ланцюгах відповідь — події. Уявіть їх як мегафон вашого контракту — транслюючи важливі дії назад у блокчейн.
Давайте розберемося, як вони працюють. Візьмемо стандарт ERC-20 і подію Transfer: коли токени переміщуються з однієї адреси на іншу, контракт викликає цю подію з трьома ключовими даними — відправником, отримувачем і сумою. Зверніть увагу на ключові слова "indexed"? Вони дуже важливі. Індексовані параметри зберігаються у спеціальній структурі журналу, що робить їх пошуковими та фільтрувальними, саме те, що потрібно зовнішнім додаткам для прослуховування цих транзакцій.
Дотримання найкращих практик означає ретельно обирати, які параметри індексувати (зазвичай адреси та важливі ідентифікатори), залишаючи неіндексовані дані для значень, які не потрібно шукати. Цей баланс робить ваші контракти ефективними, зберігаючи при цьому повну прозорість. Події можна викликати безкоштовно, але за збереження їх у мережі потрібно платити газом, тому вони ідеально підходять як міст між тим, що відбувається всередині вашого смарт-контракту, і тим, що потрібно знати зовнішньому світу.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
9 лайків
Нагородити
9
6
Репост
Поділіться
Прокоментувати
0/400
HalfPositionRunner
· 12-15 22:03
Події — це по суті система поширення контрактів, але здається, що справжніх досвідчених розробників, які добре її використовують, не так багато.
Параметр indexed дійсно легко заплутатися, якщо вибрати неправильний, тоді всі запити будуть дуже повільними.
Переглянути оригіналвідповісти на0
tx_pending_forever
· 12-15 21:57
Написав стільки про Indexed, я хочу поставити одне питання — чи дійсно хтось цікавиться цими журналами? Більшість людей все ще цікавляться лише тим, що приносить гроші, ха-ха
Переглянути оригіналвідповісти на0
BrokenRugs
· 12-15 21:55
Параметр indexed дійсно дуже важливий, багато проектів через неправильне індексування швидко витрачають газ, що є невигідним.
Переглянути оригіналвідповісти на0
GasFeeBarbecue
· 12-15 21:50
哈哈events — це великий гучномовець для смарт-контрактів, ця частина була просто відмінною
параметр indexed дійсно є ключовим, інакше як фільтрувати транзакції
проте питання з gas все ще трохи дратує, зберігання в блокчейні дійсно коштує грошей
щодня розбираючись у цих речах, голова вже лусне, брате
добре обраний indexed — і ефективність миттєво злітає, погано — просто марна трата gas, важко
free emit, але зберігання в блокчейні коштує грошей, це життя, брате
Переглянути оригіналвідповісти на0
WalletAnxietyPatient
· 12-15 21:42
events这东西说白了就是 контрактний гучномовець, щодня кричить інформацію, має своєрідний характер
indexed параметр — дійсно розумний, економить газ і водночас дозволяє слухати, можна сказати, маленький хитрий хід
Переглянути оригіналвідповісти на0
SchrodingerGas
· 12-15 21:35
події ця концепція фактично є рівновагою у грі, безкоштовне emit, але зберігання на ланцюгу коштує газу, розробники змушені ретельно обирати індексовані параметри... справді геніально
Ви коли-небудь замислювалися, як насправді розмовляють смарт-контракти з зовнішнім світом? На BSC та інших EVM-ланцюгах відповідь — події. Уявіть їх як мегафон вашого контракту — транслюючи важливі дії назад у блокчейн.
Давайте розберемося, як вони працюють. Візьмемо стандарт ERC-20 і подію Transfer: коли токени переміщуються з однієї адреси на іншу, контракт викликає цю подію з трьома ключовими даними — відправником, отримувачем і сумою. Зверніть увагу на ключові слова "indexed"? Вони дуже важливі. Індексовані параметри зберігаються у спеціальній структурі журналу, що робить їх пошуковими та фільтрувальними, саме те, що потрібно зовнішнім додаткам для прослуховування цих транзакцій.
Дотримання найкращих практик означає ретельно обирати, які параметри індексувати (зазвичай адреси та важливі ідентифікатори), залишаючи неіндексовані дані для значень, які не потрібно шукати. Цей баланс робить ваші контракти ефективними, зберігаючи при цьому повну прозорість. Події можна викликати безкоштовно, але за збереження їх у мережі потрібно платити газом, тому вони ідеально підходять як міст між тим, що відбувається всередині вашого смарт-контракту, і тим, що потрібно знати зовнішньому світу.