waves_logo Docs
  • Почему Waves
    Почему Waves
  • Основные понятия
    Основные понятия
  • Аккаунт
    • Создание аккаунта
      Создание аккаунта
    • Адрес
      Адрес
    • Баланс аккаунта
      Баланс аккаунта
    • Хранилище данных аккаунта
      Хранилище данных аккаунта
    • Псевдоним
      Псевдоним
    • dApp и смарт-аккаунт
      dApp и смарт-аккаунт
    Аккаунт
  • Токен (ассет)
    • NFT: невзаимозаменяемый токен
      NFT: невзаимозаменяемый токен
    • Смарт-ассет
      Смарт-ассет
    • ID токена
      ID токена
    • WAVES
      WAVES
    Токен (ассет)
  • Транзакция
    • Комиссия за транзакцию
      • Спонсирование комиссии
        Спонсирование комиссии
      Комиссия за транзакцию
    • Подпись и подтверждения
      Подпись и подтверждения
    • Типы транзакций
      • Вызов скрипта
        Вызов скрипта
      • Выпуск
        Выпуск
      • Генезис
        Генезис
      • Данные
        Данные
      • Довыпуск
        Довыпуск
      • Закрытие лизинга
        Закрытие лизинга
      • Лизинг
        Лизинг
      • Массовый перевод
        Массовый перевод
      • Обмен
        • Ордер
          Ордер
        Обмен
      • Обновление информации ассета
        Обновление информации ассета
      • Перевод
        Перевод
      • Сжигание токена
        Сжигание токена
      • Cоздание псевдонима
        Cоздание псевдонима
      • Спонсирование
        Спонсирование
      • Установка скрипта
        Установка скрипта
      • Установка скрипта ассета
        Установка скрипта ассета
      • Ethereum-like транзакция
        Ethereum-like транзакция
      Типы транзакций
    • Валидация транзакции
      Валидация транзакции
    Транзакция
  • Блок
    • Корневой хеш транзакций
      Корневой хеш транзакций
    • Блок генезиса
      Блок генезиса
    Блок
  • Нода
    • Лизинг
      Лизинг
    • Доход генератора блока
      Доход генератора блока
    • Монетарная политика
      Монетарная политика
    Нода
  • Mainnet, Testnet, Stagenet
    Mainnet, Testnet, Stagenet
  • Unit Zero
    Unit Zero
  • Оракул
    Оракул
  • Протоколы и форматы данных
    • [en] Cryptographic practical details
      [en] Cryptographic practical details
    • Leased Proof of Stake
      Leased Proof of Stake
    • [en] Waves-NG solution
      [en] Waves-NG solution
    • Протокол Waves-NG
      Протокол Waves-NG
    • Waves 1.5
      Waves 1.5
    • Типы данных блокчейна
      Типы данных блокчейна
    • Бинарные форматы
      • Бинарный формат адреса
        Бинарный формат адреса
      • Бинарный формат псевдонима
        Бинарный формат псевдонима
      • Бинарный формат блока
        Бинарный формат блока
      • [en] Network message binary format
        • [en] Block message binary format
          [en] Block message binary format
        • [en] Checkpoint message binary format
          [en] Checkpoint message binary format
        • [en] Get block message binary format
          [en] Get block message binary format
        • [en] Get peers message binary format
          [en] Get peers message binary format
        • [en] Get signatures message binary format
          [en] Get signatures message binary format
        • [en] Handshake message binary format
          [en] Handshake message binary format
        • [en] Peers message binary format
          [en] Peers message binary format
        • [en] Score message binary format
          [en] Score message binary format
        • [en] Signatures message binary format
          [en] Signatures message binary format
        • [en] Transaction message binary format
          [en] Transaction message binary format
        [en] Network message binary format
      • Бинарный формат ордера
        Бинарный формат ордера
      • Бинарный формат транзакции
        • Вызов скрипта
          Вызов скрипта
        • Выпуск
          Выпуск
        • Генезис
          Генезис
        • Данные
          Данные
        • Довыпуск
          Довыпуск
        • Лизинг
          Лизинг
        • Массовый перевод
          Массовый перевод
        • Обмен
          Обмен
        • Обновление информации ассета
          Обновление информации ассета
        • Отмена лизинга
          Отмена лизинга
        • Сжигание токена
          Сжигание токена
        • Cоздание псевдонима
          Cоздание псевдонима
        • Спонсирование
          Спонсирование
        • Перевод
          Перевод
        • Установка скрипта
          Установка скрипта
        • Установка скрипта ассета
          Установка скрипта ассета
        • Ethereum-like
          Ethereum-like
        Бинарный формат транзакции
      • Бинарный формат подтверждений
        Бинарный формат подтверждений
      Бинарные форматы
    • [en] Validation rules
      [en] Validation rules
    Протоколы и форматы данных
  • Термины
    Термины
      • English
      • Русский
      On this page
        • Комиссия за транзакцию
        • JSON-представление
        • Бинарный формат
        • Структура Ride
      waves_logo Docs

          # Ethereum-like транзакция

          Пользователь MetaMask, у которого выбрана сеть Waves, может подписать и отправить транзакцию, которая выполняет вызов dApp-скрипта или перевод токена. Бинарный формат такой транзакции аналогичен используемому на блокчейне Ethereum, но транзакция выполняется на блокчейне Waves. Подробнее о поддержке MetaMask

          Ethereum-like транзакции поддерживаются с момента активации фичи № 17 “Ride V6, MetaMask support”.

          # Комиссия за транзакцию

          Если Ethereum-like транзакция выполняет вызов dApp-скрипта, минимальная комиссия рассчитывается как для транзакции вызова скрипта.

          Если Ethereum-like транзакция выполняет перевод токена, минимальная комиссия рассчитывается как для транзакции перевода.

          Ethereum-like транзакция не может быть отправлена со смарт-аккаунта или dApp.

          # JSON-представление

          JSON-представление транзакции зависит от ее содержания.

          В случае вызова скрипта:

          {
            "type": 18,
            "id": "2Y67uLthNfzEBpEJFyrP7MKqPYTFYjM5nz2NnETZVUYU",
            "fee": 500000,
            "feeAssetId": null,
            "timestamp": 1634881836984,
            "version": 1,
            "chainId": 83,
            "bytes": "0xf9011186017ca68d17b88502540be4008307a120940ea8e14f313237aac31995f9c19a7e0f78c1cc2b80b8a409abf90e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000064672696461790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081caa0ecb7124f915bd366186a6451aabdde3fbf0db94caa78a6b8d6115bb5ce6407d8a077ab1e756d343b9927c3c4add5c797915aef2de112576213d6a30ce5e040ba3c",
            "sender": "3MRejoFLZ6FsXRjVEzBpnQ27s61FDLLDGxh",
            "senderPublicKey": "3nFhfAYDSRS4UrU22HaAuFT4YHZD5Et3vy7fBTcTxefuAVXs8pHRR4pvpAzvMbmskwjWB7PxFKqPNsioRVZ9mxaa",
            "height": 1042032,
            "applicationStatus": "succeeded",
            "payload": {
              "type": "invocation",
              "dApp": "3MRuzZVauiiX2DGwNyP8Tv7idDGUy1VG5bJ",
              "call": {
                "function": "saveString",
                "args": [
                  {
                    "type": "string",
                    "value": "Friday"
                  }
                ]
              },
              "payment": [],
              "stateChanges": {
                "data": [
                  {
                    "key": "str_1042032",
                    "type": "string",
                    "value": "Friday"
                  }
                ],
                "transfers": [],
                "issues": [],
                "reissues": [],
                "burns": [],
                "sponsorFees": [],
                "leases": [],
                "leaseCancels": [],
                "invokes": []
              }
            }
          }
          

          В случае перевода токена:

          {
            "type": 18,
            "id": "C4Fwdsygb6uL6iZ2dd6dHCdnw5FB2oZNCdpQ1F5kQ7Q9",
            "fee": 210000,
            "feeAssetId": null,
            "timestamp": 1634807137059,
            "version": 1,
            "chainId": 83,
            "bytes": "0xf87486017ca21943238502540be4008303345094ae50afd342b8f397bcd1c2af3fd658d5080674058806f05b59d3b200008081caa0e87f0e273e8ad894ab196198747a0363b66c5bd056f1e09bb6f8b18f6c11dbafa07dd6b2ac30d2d1ac1196a34a8db5adbd8f69b8f349b15f45c6bbf4040de7519d",
            "sender": "3MTPx4QwYZg78QwAw4Pdm3feBpwe9qMzL5X",
            "senderPublicKey": "2ZWaWoMYAdkKfUUYwKng29Dgq1ggBPYtbsrvKBxxKcP3SkpXy1USEJiPPL6U7H7ECD3bD3QcZy2mmtN9EzsK2SHV",
            "height": 1040780,
            "applicationStatus": "succeeded",
            "payload": {
              "type": "transfer",
              "recipient": "3MgUB2QfTH8jMLYwuNrYq2SSUJdGcjvBk6n",
              "asset": null,
              "amount": 50000000
            }
          }
          

          Описание полей, общих для всех типов транзакций, представлено в разделе JSON-представление транзакции.

          Особенности JSON-представления Ethereum-like транзакции:

          • поле sender содержит адрес в представлении Waves в кодировке base58,
          • поле senderPublicKey размером 64 байта в кодировке base58,
          • поле bytes содержит байты Ethereum-like транзакции целиком, включая подпись ECDSA, в кодировке HEX.
          • массив proofs отсутствует.

          # Бинарный формат

          См. раздел Бинарный формат Ethereum-like транзакции.

          # Структура Ride

          В случае верификации скриптом ассета Ethereum-like транзакция интерпретируется как структура TransferTransaction или InvokeScriptTransaction. Подробнее в разделе Поддержка в Ride.

          Установка скрипта ассета
          Валидация транзакции
          Установка скрипта ассета
          Валидация транзакции