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

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

Массив данных транзакции

Максимальный размер массива данных транзакции — 140 килобайт.

Максимальное количество элементов в массиве — 100.

Каждый элемент массива представляет собой объект, у которого есть 3 поля — key, type, value.

Поле key

Значение поля key — строка в кодировке UTF-8, длиной от 0 до 100 символов включительно.

Поле type

Значение поля type — короткое целое, определяющее тип значения, хранимого в поле value:

  • 0 — целое число
  • 1 — логическое значение
  • 2 — массив байтов
  • 3 — строка

Поле value

Поле value может хранить целое число, логическое значение, массив байтов или строку.

Размер данных поля может составлять от 0 до 32767 байт.

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

Порядковый номер поля Название поля Название JSON-поля Тип поля Размер поля в байтах Описание поля
1 Флаг версии Байт 1 Указывает что структура данных транзакции имеет версию 2 или выше. Значение должно быть равно 0
2 Тип транзакции type Байт 1 ID типа транзакции. Значение должно быть равно 12
3 Версия version Байт 1 Номер версии структуры данных транзакции. Значение должно быть равно 1
4 Публичный ключ отправителя senderPublicKey Массив байтов 32 Публичный ключ аккаунта отправителя
5 Количество элементов в массиве данных Короткое целое 2
6.1 Длина ключа 1-го элемента Короткое целое 2
6.2 Ключ 1-го элемента key Строка 4 × L L — длина ключа
6.3 Тип данных 1-го элемента type Байт 1
6.4 Данные 1-го элемента value Такой же, как у типа данных Зависит от размера данных
6.5 Длина ключа 2-го элемента Короткое целое 2
6.6 Ключ 2-го элемента key Строка 4 × L L — длина ключа
6.7 Тип данных 2-го элемента type Байт 1
6.8 Данные 2-го элемента value Такой же, как у типа данных Зависит от размера данных
... ... ... ... ... ...
... ... ... ... ... ...
... ... ... ... ... ...
... ... ... ... ... ...
6.[4 × N - 3] Длина ключа N-го элемента Короткое целое 2
6.[4 × N - 2] Ключ N-го элемента key Строка 4 × L L — длина ключа
6.[4 × N - 1] Тип данных N-го элемента type Байт 1
6.[4 × N] Данные N-го элемента value Такой же, как у типа данных Зависит от размера данных
7 Временная метка timestamp Длинное целое 8 Unix-время отправки транзакции в блокчейн
8 Комиссия fee Длинное целое 8 Комиссия за транзакцию в WAVELET
9 Подтверждения proofs Массив подтверждений транзакции S Если массив пустой, то S= 3.
Если массив не пустой, то S= 3 + 2 × N + (P1 + P2 + ... + Pn),
где
N — количество подтверждений в массиве,
Pn — размер N-го подтверждения в байтах.
Максимальное количество подтверждений в массиве — 8. Максимальный размер каждого подтверждения — 64 байта

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

{ 
   "type":12,
   "version":1,
   "senderPublicKey":"5AzfA9UfpWVYiwFwvdr77k6LWupSTGLb14b24oVdEpMM",
   "data":[ 
      { 
         "key":"int",
         "type":"integer",
         "value":24
      },
      { 
         "key":"isWeekend",
         "value":true,
         "type":"boolean"
      },
      { 
         "key":"blob",
         "value":"base64:BzWHaQU",
         "type":"binary"
      },
      { 
         "key":"My poem",
         "value":"Oh Waves!",
         "type":"string"
      }
   ],
   "timestamp":1520945679531,
   "fee":100000,
   "proofs":[ 
      "4huvVwtbALH9W2RQSF5h1XG6PFYLA6nvcAEgv79nVLW7myCysWST6t4wsCqhLCSGoc5zeLxG6MEHpcnB6DPy3XWr"
   ],
   "id":"CwHecsEjYemKR7wqRkgkZxGrb5UEfD8yvZpFF5wXm2Su",
   "sender":"3FjTpAg1VbmxSH39YWnfFukAUhxMqmKqTEZ",
   "height":303
}

results matching ""

    No results matching ""