Дані транзакцій – основа смарт-контрактів

by:ChiCryptoWhale1 тиждень тому
1.15K
Дані транзакцій – основа смарт-контрактів

Невідомий герой блокчейн-транзакцій

Коли ви надсилаєте 0 ETH до контракту токена і раптом передаєте OMG токени – це магія даних транзакцій. Як аналітик блокчейну, я розшифрую цей ключовий компонент.

Що таке вхідні дані?

Цей довгий рядок з 0x – це спосіб, яким ваш гаманець ‘спілкується’ зі смарт-контрактами. Приклад:

0xa9059cbb000...d36d6c74

Розбір:

  • a9059cbb: Ідентифікатор функції (transfer)
  • Наступні 64 символи: Адреса отримувача
  • Останні 64 символи: Сума у hex (0.19 OMG)

Структура даних

Чому Ethereum використовує hex

Hex ефективний:

  • 1 символ = 4 біти
  • 0x5C → двійкове 01011100 → десяткове 92

Порада: 0x на початку – це просто угода, як ‘це hex’ перед показом обчислень.

Як смарт-контракти розуміють нас

EVM читає дані через ABI:

  1. Перші 8 символів – функція (хеш SHA-3)
  2. Параметри займають по 32 байти
  3. Масиви/рядки обробляються окремо

Для ERC-20 Etherscan автоматично декодує дані – тому ви бачите ‘transfer(0x123…, 0.19)’ замість hex.

Вартість даних у gas

Кожен байт коштує:

  • Нульовий байт: 4 gas
  • Не нульовий: 68 gas

Зараз максимальний розмір даних: - 2MB (всі нулі) - 120KB (без нулів) Висока комісія? Складність має свою ціну.

Розшифровка даних

Спробуйте:

  1. Виділення функцій через web3.sha3()
  2. Читання Solidity документації
  3. Онлайн декодери ABI

ChiCryptoWhale

Лайки81.77K Підписники2.31K