# Бинарный формат транзакции установки скрипта
Узнать больше о транзакции установки скрипта.
# Версия 2
Бинарный формат версии 2 соответствует protobuf-схеме transaction.proto. Описание полей, общих для всех типов транзакций, представлено в разделе Бинарный формат транзакции.
Версия 2 появилась с момента активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions”.
message SetScriptTransactionData {
bytes script = 1;
};
Поле | Размер | Описание |
---|---|---|
script | До 163 840 байт (до активации фичи № 17 — не более 32 768 байт | Скрипт аккаунта или dApp-скрипт |
# Версия 1
№ | Название поля | Название JSON-поля | Тип поля | Размер поля в байтах | Комментарий |
---|---|---|---|---|---|
1 | Флаг версии | Byte | 1 | Указывает что версия транзакции является второй или выше. Значение должно быть равно 0 | |
2 | ID типа транзакции | type | Byte | 1 | Значение должно быть равно 15 |
3 | Версия транзакции | version | Byte | 1 | Значение должно быть равно 1 |
4 | Байт сети | chainId | Byte | 1 | 87 — для Mainnet 84 — для Testnet 83 — для Stagenet |
5 | Открытый ключ аккаунта отправителя транзакции | senderPublicKey | Array[Byte] | 32 | |
6.1 | Флаг наличия скрипта | Byte | 1 | 0 — скрипт не установлен 1 — скрипт установлен | |
6.2 | Длина скрипта | Short | S | S = 0, если значение поля 6.1 равно 0.S = 2, если значение поля 6.1 равно 1 | |
6.3 | Скрипт | script | Array[Byte] | S | S = 0, если значение поля 6.1 равно 0.1 <= S <= 32 768 (после активации фичи № 17: 1 <= S <= 163 840 байт), если значение поля 6.1 равно 1 |
7 | Комиссия за транзакцию | fee | Long | 8 | |
8 | Временная метка транзакции | timestamp | Long | 8 | |
9 | Подтверждения транзакции | proofs | См. раздел Бинарный формат подтверждений | S | Если массив пустой, то S = 3. Если массив не пустой, то S = 3 + 2 × N + 64 × N , где N — количество подтверждений в массиве.Максимальное количество подтверждений в массиве — 8. Размер каждого подтверждения — 64 байта |
Поля, номера которых выделены жирным шрифтом, составляют байты тела транзакции.
# JSON-представление транзакции
Смотрите пример в Node API.