Бинарный формат транзакции вызова скрипта

Узнать больше о транзакции вызова скрипта

Транзакция версии 1

Порядковый номер поля Поле Название JSON-поля Тип поля Размер поля в байтах Комментарий
1 Флаг версии Byte 1 Указывает, что версия транзакции является второй или выше.
Значение должно быть равно 0
2 ID типа транзакции type Byte 1 Значение должно быть равно 16
3 Версия транзакции version Byte 1 Значение должно быть равно 1
4 Байт сети Byte 1 84 для тестовой сети, 87 для основной сети
5 Открытый ключ аккаунта отправителя транзакции senderPublicKey Array[Byte] 32
6 Адрес или псевдоним dApp Array[Byte] 26 Адрес или псевдоним dApp, скрипт которого должен быть вызван
7 Флаг адреса или псевдонима Byte 1 1 — для идентификации отправителя используется адрес.
2 — для идентификации отправителя используется псевдоним.
8 Байт сети Byte 1 Дублирует указанный выше байт сети
9 Хеш адреса Array[Byte] 20
10 Контрольная сумма адреса Array[Byte] 4
11 Длина псевдонима Short 2
12 Имя псевдонима Array[Byte] От 4 до 30 байтов
13.1 Флаг наличия функции Byte 1 0 — в dApp должна быть вызвана функция по умолчанию.
1 — в dApp должна быть вызвана функция из текущей транзакции.
13.2 Идентификатор вызова функции Byte 1 Константа. Значение должно быть равно 9
13.3 Идентификатор типа функции Byte 1 Константа. Значение должно быть равно 1
13.4 Имя функции function String До 255
13.5.1 Количество аргументов функции Integer 4
13.5.2 ID типа аргумента 1 type Byte 1 0 — типом аргумента является длинное целое.
1 — типом аргумента является массив байтов.
2 — типом аргумента является строка.
6 — типом аргумента является логическое значение True.
7 — типом аргумента является логическое значение False
13.5.3 Аргумент 1 value - Long
- Array[Byte]
- String
- логическое значение True
- логическое значение False
S S = 8, если типом является длинное целое.
Eсли типом является массив байтов или строка, то ограничение на размер поля отсутствует. Объем хранимых в поле данных не должен превышать 5 Килобайт.
S = 1, если типом является логическое значение True или False
13.5.4 ID типа аргумента 2 type Byte 1 0 — типом аргумента является длинное целое.
1 — типом аргумента является массив байтов.
2 — типом аргумента является строка.
6 — типом аргумента является логическое значение True.
7 — типом аргумента является логическое значение False
13.5.5 Аргумент 2 value - Long
- Array[Byte]
- String
- логическое значение True
- логическое значение False
S S = 8, если типом является длинное целое.
Eсли типом является массив байтов или строка, то ограничение на размер поля отсутствует. Объем хранимых в поле данных не должен превышать 5 Килобайт.
S = 1, если типом является логическое значение True или False
... ... ... ... ... ...
13.5.[2 × N] ID типа аргумента N type Byte 1 0 — типом аргумента является длинное целое.
1 — типом аргумента является массив байтов.
2 — типом аргумента является строка.
6 — типом аргумента является логическое значение True.
7 — типом аргумента является логическое значение False
13.5.[2 × N + 1] Аргумент N value - Long
- Array[Byte]
- String
- логическое значение True
- логическое значение False
S S = 8, если типом является длинное целое.
Eсли типом является массив байтов или строка, то ограничение на размер поля отсутствует. Объем хранимых в поле данных не должен превышать 5 Килобайт.
S = 1, если типом является логическое значение True или False
14.1 Количество платежей Long 8
14.2 Количество токена в платеже 1 amount Long 8
14.3 ID токена платежа 1 assetId Array[Byte] 32
14.4 Флаг токена платежа 1 Byte 1 0 — WAVES.
1 — другой токен
14.5 ID токена платежа 1 Array[Byte] 32 Поле применимо, если токен не является WAVES
14.6 Количество токена в платеже 2 amount Long 8
14.7 ID токена платежа 2 assetId Array[Byte] 32
14.8 Флаг токена платежа 2 Byte 1 0 — WAVES.
1 — другой токен
14.9 ID токена платежа 2 Array[Byte] 32 Поле применимо, если токен не является WAVES
... ... ... ... ... ...
14.[4 × N + 2] Количество токена в платеже N amount Long 8
14.[4 × N + 3] ID токена платежа N assetId Array[Byte] 32
14.[4 × N + 4] Флаг токена платежа N Byte 1 0 — WAVES.
1 — другой токен
14.[4 × N + 5] ID токена платежа N Array[Byte] 32 Поле применимо, если токен не является WAVES
15 Комиссия за транзакцию fee Long 8
16 ID ассета комиссии feeAssetId Array[Byte] S S = 0, если токеном является WAVES.
S = 32, если это другой токен
17 Временная метка транзакции timestamp Long 8
18 Подтверждения транзакции proofs Подтверждения S Если массив пустой, то S = 3.
Если массив не пустой, то S = 3 + 2 × N + (P1 + P2 + ... + Pn),
где
N — количество подтверждений в массиве,
Pn — размер N-го подтверждения в байтах. Максимальное количество подтверждений в массиве — 8. Максимальный размер каждого подтверждения — 64 байта

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

Смотрите пример в Node API.

results matching ""

    No results matching ""