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

          # Транзакция данных

          Транзакция данных добавляет, удаляет или изменяет записи в хранилище данных аккаунта отправителя.

          Удаление записи возможно с момента активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions”.

          Ограничения:

          • Количество записей — не более 100.
          • Для транзакции версии 2 максимальный размер данных (ключи + значения) — 165 890 байт.
          • Для транзакции версии 1 максимальный размер транзакции (исключая подтверждения) — 153 600 байт.

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

          Минимальная комиссия за транзакцию данных — 0,001 WAVES за килобайт, размер округляется вверх до целого количества килобайт.

          Подробнее
          • Для транзакции версии 2 минимальная комиссия рассчитывается от размера данных (ключи + значения), то есть сериализованного значения поля data_transaction в protobuf-представлении).
          • Для транзакции версии 1 с момента активации фичи № 4 “Smart Accounts” минимальная комиссия рассчитывается от размера байтов тела транзакции, то есть всех полей транзакции, исключая подтверждения.
          • Для транзакции версии 1 до активации фичи № 4 минимальная комиссия рассчитывается от размера всей транзакции, включая подтверждения.

          Если отправитель транзакции — dApp или смарт-аккаунт, а сложность скрипта аккаунта или функции-верификатора dApp-скрипта больше порога сложности отправителя, минимальная комиссия увеличивается на 0,004 WAVES. (До активации фичи № 16 “Ride V5, dApp-to-dApp invocations” дополнительная комиссия 0,004 WAVES требовалась независимо от сложности скрипта аккаунта или наличия и сложности функции-верификатора скрипта dApp.)

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

          {
            "senderPublicKey": "38bYRUxFCaoa9h822nMnsoTX1qfczqtHJLgouNcNnd8h",
            "data": [
              {
                "type": "boolean",
                "value": true,
                "key": "bool"
              },
              {
                "type": "binary",
                "value": "base64:SGVsbG8gV2F2ZXM=",
                "key": "bin"
              },
              {
                "type": "integer",
                "value": 1234567,
                "key": "int"
              },
              {
                "type": "string",
                "value": "some text",
                "key": "str"
              }
            ],
            "sender": "3N4iKL6ikwxiL7yNvWQmw7rg3wGna8uL6LU",
            "feeAssetId": null,
            "proofs": [
              "kE1hjN1yW68j8DsYGNB7Gg1ydC4hqRmt3wBaFQUPkftnbiM7QfJCn1gTHgveJ7pCLXvvqffhKBmiF8qS1Uqk6SR"
            ],
            "fee": 100000,
            "id": "3EPJuvQiJYiu9Y5g6mYDQgHVu8GFUfnZurHrVwwF1ViH",
            "type": 12,
            "version": 2,
            "timestamp": 1591351545000,
            "height": 1029815
          }
          
          Поле Описание
          data.key Ключ записи. Строка, до 400 байт для версии 2, до 100 символов для версии 1
          data.type Тип данных:
          - binary
          - boolean
          - integer
          - string
          null — удаление записи
          data.value Значение записи. До 32 767 байт. Бинарное значение должно быть в кодировке base64.
          null — удаление записи

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

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

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

          # Структура Ride

          Для операций с транзакцией в смарт-контрактах используется структура DataTransaction.

          Генезис
          Довыпуск
          Генезис
          Довыпуск