Транзакции

В этом разделе приведено описание формата данных в транзакциях, а также структура хранения транзакций в блокчейн-платформе Waves Enterprise. Для некоторых типов транзакций введено версионирование.

Формат данных в транзакциях

Все транзакции используют поле timestamp, содержащее временную метку в формате Unix Timestamp в миллисекундах.

Транзакции 3, 13, 14 и 112 используют текстовое поле description, а транзакции 4 и 6 - текстовое поле attachment. Сообщения, отправляемые в этих полях транзакций, перед отправкой необходимо перевести в формат base58.

Поля «ключ-значение» секции data транзакции 12 и секции params транзакции 104 поддерживают 4 типа данных: string, integer, boolean, binary.

На странице проекта в GitHub доступны proto-файлы, определяющие формат ответа, возвращаемого нодой.

Структура хранения транзакций

Значения в json-запросах для подписания и отправки транзакций в блокчейн являются примерными. Перед отправкой запроса на подписание транзакции проверьте соответствие параметров запроса актуальным данным. Например, если вы отправляете транзакцию в Mainnet, необходимо убедиться, что вы указали правильный размер комиссии за транзакцию. В противном случае транзакция не пройдет валидацию, и нода вернет ошибку 105 InvalidFee.

Дополнительная информация о комиссиях за транзакции приведена в разделе Комиссии в сети «Waves Enterprise Mainnet»

Типы транзакций

Тип транзакции

Описание

1

Genesis transaction

Первоначальная привязка баланса к адресам, создаваемым
при старте блокчейна нод

3

Issue Transaction

Выпуск токенов

4

Transfer Transaction

Перевод токенов

5

Reissue Transaction

Перевыпуск токенов

6

Burn Transaction

Сжигание токенов

8

Lease Transaction

Передача токенов в аренду

9

Lease Cancel Transaction

Отмена аренды токенов

10

Create Alias Transaction

Создание псевдонима

11

MassTransfer Transaction

Массовый перевод токенов. Указана минимальная комиссия

12

Data Transaction

Транзакция с данными в виде полей с парой ключ-значение.
Указана минимальная комиссия

13

SetScript Transaction

Транзакция, привязывающая скрипт с RIDE-контрактом к аккаунту

14

Sponsorship Transaction

Транзакция, подписывающая спонсорский ассет

15

SetAssetScript

Транзакция, привязывающая скрипт с RIDE-контрактом к ассету

101

Genesis Permission Transaction

Назначение первого администратора сети для дальнейшей раздачи прав

102

Permission Transaction

Выдача/отзыв прав у аккаунта

103

CreateContract Transaction

Создание Docker-контракта

104

CallContract Transaction

Вызов Docker-контракта

105

ExecutedContract Transaction

Выполнение Docker-контракта

106

DisableContract Transaction

Отключение Docker-контракта

107

UpdateContract Transaction

Обновление Docker-контракта

110

GenesisRegisterNode Transaction

Регистрация ноды в генезис-блоке при старте блокчейна

111

RegisterNode Transaction

Регистрация новой ноды в сети

112

CreatePolicy Transaction

Создание группы доступа к конфиденциальным данным

113

UpdatePolicy Transaction

Изменение группы доступа

114

PolicyDataHash Transaction

Отправка в сеть хеша данных

120

AtomicTransaction Transaction

Упаковывание нескольких транзакций в одну для атомарного выполнения

Важно

Транзакция 101 также предназначена для включения роли sender. Эта роль может быть выдана участникам как при помощи 101, так и 102 транзакции. Однако если хотя бы один участник не был назначен sender при помощи 101 транзакции, выдать эту роль при помощи 102 транзакции будет невозможно.

1. Genesis transaction

Field

Broadcasted JSON

Blockchain state

Type

type

+

+

Byte

id

+

Byte

fee

+

Long

timestamp

+

+

Long

signature

+

ByteStr

recipient

+

+

ByteStr

amount

+

+

Long

height

+

3. issueTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

+

Byte

assetId

+

ByteStr

name

+

+

+

Array[Byte]

quantity

+

+

+

Long

reissuable

+

+

+

Boolean

decimals

+

+

+

Byte

description

+

+

+

Array[Byte] (base58)

chainId

+

+

Byte

script

+ (opt)

+

+

Bytes

password

+ (opt)

String

height

+

JSON для вызова метода sign

{
   "type": 3,
   "version":2,
   "name": "Test Asset 1",
   "quantity": 100000000000,
   "description": "Some description",
   "sender": "3FSCKyfFo3566zwiJjSFLBwKvd826KXUaqR",
   "password": "",
   "decimals": 8,
   "reissuable": true,
   "fee": 100000000
}

Broadcasted JSON

{
    "type": 3,
    "id": "DnK5Xfi2wXUJx9BjK9X6ZpFdTLdq2GtWH9pWrcxcmrhB",
    "sender": "3N65yEf31ojBZUvpu4LCo7n8D73juFtheUJ",
    "senderPublicKey": "C1ADP1tNGuSLTiQrfNRPhgXx59nCrwrZFRV4AHpfKBpZ",
    "fee": 100000000,
    "timestamp": 1549378509516,
    "proofs": [ "NqZGcbcQ82FZrPh6aCEjuo9nNnkPTvyhrNq329YWydaYcZTywXUwDxFAknTMEGuFrEndCjXBtrueLWaqbJhpeiG" ],
    "version": 2,
    "assetId": "DnK5Xfi2wXUJx9BjK9X6ZpFdTLdq2GtWH9pWrcxcmrhB",
    "name": "Token Name",
    "quantity": 10000,
    "reissuable": true,
    "decimals": 2,
    "description": "SmarToken",
    "chainId": 84,
    "script": "base64:AQa3b8tH",
    "height": 60719
},

4. TransferTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

+

Byte

recipient

+

+

+

ByteStr

assetId

+ (opt)

+

+

ByteStr

feeAssetId

+ (opt)

+

+

Bytes

amount

+

+

+

Long

attachment

+ (opt)

+

+

Bytes (base58)

password

+ (opt)

String

height

+

atomicBadge

+

+

+

JSON для вызова метода sign

{
  "type": 4,
  "version": 2,
  "sender": "3M6dRZXaJY9oMA3fJKhMALyYKt13D1aimZX",
  "password": "",
  "recipient": "3M6dRZXaJY9oMA3fJKhMALyYKt13D1aimZX",
  "amount": 40000000000,
  "fee": 100000
}

Broadcasted JSON

{
    "senderPublicKey": "4WnvQPit2Di1iYXDgDcXnJZ5yroKW54vauNoxdNeMi2g",
    "amount": 200000000,
    "fee": 100000,
    "type": 4,
    "version": 2,
    "attachment": "3uaRTtZ3taQtRSmquqeC1DniK3Dv",
    "sender": "3GLWx8yUFcNSL3DER8kZyE4TpyAyNiEYsKG",
    "feeAssetId": null,
    "proofs": [
    "2hRxJ2876CdJ498UCpErNfDSYdt2mTK4XUnmZNgZiq63RupJs5WTrAqR46c4rLQdq4toBZk2tSYCeAQWEQyi72U6"
    ],
    "assetId": null,
    "recipient": "3GPtj5osoYqHpyfmsFv7BMiyKsVzbG1ykfL",
    "id": "757aQzJiQZRfVRuJNnP3L1d369H2oTjUEazwtYxGngCd",
    "timestamp": 1558952680800
}

5. ReissueTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

+

Byte

chainId

+

+

Byte

assetId

+

+

+

ByteStr

quantity

+

+

+

Long

reissuable

+

+

+

Boolean

password

+ (opt)

String

height

JSON для вызова метода sign

{
    "type": 5,
    "version":2,
    "quantity": 10000,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "password": "",
    "assetId": "7bE3JPwZC3QcN9edctFrLAKYysjfMEk1SDjZx5gitSGg",
    "reissuable": true,
    "fee": 100000001
}

Broadcasted JSON

{
    "senderPublicKey": "Fbt5fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUopa6H3",
    "quantity": 10000,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "chainId": 84,
    "proofs": [ "3gmgGM6rYpxuuR5QvJkugPsERG7yWYF7JN6QzpUGJwT8Lw6SUHkzzk8R22A7cGQz7TQQ5NifKxvAQzwPyDQbwmBg" ],
    "assetId": "7bE3JPwZC3QcN9edctFrLAKYysjfMEk1SDjZx5gitSGg",
    "fee": 100000001,
    "id": "GsNvk15Vu4kqtRmMSpYW21WzgJpZrLBwjCREHWuwnvh5",
    "type": 5,
    "version": 2,
    "reissuable": true,
    "timestamp": 1551447859299,
    "height": 1190
}

6. BurnTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

+

Byte

chainId

+

+

Byte

assetId

+

+

+

ByteStr

quantity

+

+

Long

amount

+

Long

password

+ (opt)

String

height

JSON для вызова метода sign

{
    "type": 6,
    "version": 2,
    "sender": "3MtrNP7AkTRuBhX4CBti6iT21pQpEnmHtyw",
    "password": "",
    "assetId": "7bE3JPwZC3QcN9edctFrLAKYysjfMEk1SDjZx5gitSGg",
    "quantity": 1000,
    "fee": 100000,
    "attachment": "string"
}

Broadcasted JSON

{
    "senderPublicKey": "Fbt5fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUopa6H3",
    "amount": 1000,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "chainId": 84,
    "proofs": [ "kzTwsNXjJkzk6dpFFZZXyeimYo6iLTVbCnCXBD4xBtyrNjysPqZfGKk9NdJUTP3xeAPhtEgU9hsdwzRVo1hKMgS" ],
    "assetId": "7bE3JPwZC3QcN9edctFrLAKYysjfMEk1SDjZx5gitSGg",
    "fee": 100000,
    "id": "3yd2HZq7sgun7GakisLH88UeKcpYMUEL4sy57aprAN5E",
    "type": 6,
    "version": 2,
    "timestamp": 1551448489758,
    "height": 1190
}

8. LeaseTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

+

Byte

amount

+

+

+

Long

recipient

+

+

+

ByteStr

status

+

password

+ (opt)

String

height

+

JSON для вызова метода sign

{
    "type": 8,
    "version": 2,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "password": "",
    "recipient": "3N1ksBqc6uSksdiYjCzMtvEpiHhS1JjkbPh",
    "amount": 1000,
    "fee": 100000
}

Broadcasted JSON

{
    "senderPublicKey": "Fbt5fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUopa6H3",
    "amount": 1000,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "proofs": [ "5jvmWKmU89HnxXFXNAd9X41zmiB5fSGoXMirsaJ9tNeyiCAJmjm7MR48g789VucckQw2UExaVXfhsdEBuUrchvrq" ],
    "fee": 100000,
    "recipient": "3N1ksBqc6uSksdiYjCzMtvEpiHhS1JjkbPh",
    "id": "6Tn7ir9MycHW6Gq2F2dGok2stokSwXJadPh4hW8eZ8Sp",
    "type": 8,
    "version": 2,
    "timestamp": 1551449299545,
    "height": 1190
}

9. LeaseCancelTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

+

Byte

chainId

+

+

Byte

leaseId

+ (txId)

+

+

Byte

lease

+

password

+ (opt)

String

height

+

JSON для вызова метода sign

{
    "type": 9,
    "version": 2,
    "fee": 100000,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "password": "",
    "txId": "6Tn7ir9MycHW6Gq2F2dGok2stokSwXJadPh4hW8eZ8Sp"
}

Broadcasted JSON

{
   "senderPublicKey": "Fbt5fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUopa6H3",
    "leaseId": "6Tn7ir9MycHW6Gq2F2dGok2stokSwXJadPh4hW8eZ8Sp",
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "chainId": 84,
    "proofs": [ "2Gns72hraH5yay3eiWeyHQEA1wTqiiAztaLjHinEYX91FEv62HFW38Hq89GnsEJFHUvo9KHYtBBrb8hgTA9wN7DM" ],
    "fee": 100000,
    "id": "9vhxB2ZDQcqiumhQbCPnAoPBLuir727qgJhFeBNmPwmu",
    "type": 9,
    "version": 2,
    "timestamp": 1551449835205,
    "height": 1190
}

10. CreateAliasTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

+

Byte

alias

+

+

+

Bytes

password

+ (opt)

String

height

+

JSON для вызова метода sign

{
    "type": 10,
    "version": 2,
    "fee": 100000,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "password": "",
    "alias": "hodler"
}

Broadcasted JSON

{
    "type": 10,
    "id": "DJTaiMpb7eLuPW5GcE4ndeE8jWsWPjx8gPYmbZPJjpag",
    "sender": "3N65yEf31ojBZUvpu4LCo7n8D73juFtheUJ",
    "senderPublicKey": "C1ADP1tNGuSLTiQrfNRPhgXx59nCrwrZFRV4AHpfKBpZ",
    "fee": 0,
    "timestamp": 1549290335781,
    "signature": "2qYepod9DhpxVad1yQDbv1QzU4KLKcbjjdtGY7De2272K76nbQfaXsRnyd31hUE8bhvLjjpHRdtoLVzbBDzRZYEY",
    "proofs": [ "2qYepod9DhpxVad1yQDbv1QzU4KLKcbjjdtGY7De2272K76nbQfaXsRnyd31hUE8bhvLjjpHRdtoLVzbBDzRZYEY" ],
    "version": 1,
    "alias": "testperson4",
    "height": 59245
}

11. MassTransferTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

+

Byte

assetId

+ (opt)

+

+

ByteStr

attachment

+ (opt)

+

+

(base58)

transfers

+

+

+

List[Transfer]

transferCount

+

+

totalAmount

+

password

+ (opt)

String

height

+

JSON для вызова метода sign

{
    "type": 11,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "password": "",
    "fee": 2000000,
    "version": 1,
    "transfers":
    [
        { "recipient": "3MtHszoTn399NfsH3v5foeEXRRrchEVtTRB", "amount": 100000 },
        { "recipient": "3N7BA6J9VUBfBRutuMyjF4yKTUEtrRFfHMc", "amount": 100000 }
    ]
}

Broadcasted JSON

{
    "senderPublicKey": "Fbt5fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUopa6H3",
    "fee": 2000000,
    "type": 11,
    "transferCount": 2,
    "version": 1,
    "totalAmount": 200000,
    "attachment": "",
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "proofs": [ "2gWpMWdgZCjbygCX5US3aAFftKtGPRSK3aWGJ6RDnWJf9hend5sBFAgY6u3Mp4jN8cqwaJ5o8qrKNedGN5CPN1GZ" ],
    "assetId": null,
    "transfers":
    [
        {
            "recipient": "3MtHszoTn399NfsH3v5foeEXRRrchEVtTRB",
            "amount": 100000
        },
        {
            "recipient": "3N7BA6J9VUBfBRutuMyjF4yKTUEtrRFfHMc",
            "amount": 100000
        }
    ],
    "id": "D9jUSHHcJqVAvkFMiRfDBhQbUzoSfQqd9cjaunMmtjdu",
    "timestamp": 1551450279637,
    "height": 1190
}

12. DataTransaction

Предупреждение

Транзакция имеет ограничения:

  1. Количество данных в секции «data» передаваемого JSON должно быть не более 100 пар "key":"value",

    "data": [
          {
           "key": "objectId",
           "type": "string",
           "value": "obj:123:1234"
          }, {...}
         ]
    
  2. Байтовое представление транзакции после подписания не должно превышать размер в 150 КБ.

Подсказка

Параметр senderPublicKey не требуется указывать, если подписывается транзакция, в которой автор и отправитель совпадают.

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

Size (Bytes)

type

+

+

+

Byte

1

id

+

Byte

1

sender

+

+

PublicKeyAccount

3264

senderPublicKey

+ (opt)

+

+

PublicKeyAccount

3264

fee

+

+

+

Long

8

timestamp

+ (opt)

+

+

Long

8

proofs

+

+

List[ByteStr]

32767

version

+

+

Byte

1

authorPublicKey

+

+

PublicKeyAccount

3264

author

+

+

3264

data

+

+

+

3264

password

+ (opt)

String

32767

height

+

8

JSON для вызова метода sign

{
    "type": 12,
    "version": 1,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "password": "",
    "senderPublicKey": "Fbt5fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUopa6H3",
    "author": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "data": [
        {
        "key": "objectId",
        "type": "string",
        "value": "obj:123:1234"
        }
    ],
    "fee": 100000
}

Broadcasted JSON

{
"senderPublicKey": "Fbt5fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUopa6H3",
"authorPublicKey": "Fbt5fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUopa6H3",
"data":
[
    {
        "type": "string",
        "value": "obj:123:1234",
        "key": "objectId"
    }
],
"sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
"proofs": [ "2T7WQm5XW8cFHfiFkdDEic9oNiT7aFiH3TyKkARERopr1VJvzRKqHAVnQ3eiYZ3uYN8uQnPopQEH4XV8z5SgSwsf" ],
"author": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
"fee": 100000,
"id": "7dMMCQNTusahZ7DWtNGjCwAhRYpjaH1hsepRMbpn2BkD",
"type": 12,
"version": 1,
"timestamp": 1551680510183
}

13. SetScriptTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

chainId

+

+

Byte

version

+

+

+

Byte

script

+ (opt)

+

+

Bytes

name

+

+

+

Array[Byte]

description

+ (opt)

+

+

Array[Byte] (base58)

password

+ (opt)

String

height

+

JSON для вызова метода sign

{
    "type": 13,
    "version": 1,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "password": "",
    "fee": 1000000,
    "name": "faucet",
    "script": "base64:AQQAAAAHJG1hdGNoMAUAAAACdHgG+RXSzQ=="
}

Broadcasted JSON

{
    "type": 13,
    "id": "HPDypnQJHJskN8kwszF8rck3E5tQiuiM1fEN42w6PLmt",
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "senderPublicKey": "Fbt5fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUopa6H3",
    "fee": 1000000,
    "timestamp": 1545986757233,
    "proofs": [ "2QiGYS2dqh8QyN7Vu2tAYaioX5WM6rTSDPGbt4zrWS7QKTzojmR2kjppvGNj4tDPsYPbcDunqBaqhaudLyMeGFgG" ],
    "chainId": 84,
    "version": 1,
    "script": "base64:AQQAAAAHJG1hdGNoMAUAAAACdHgG+RXSzQ==",
    "name": "faucet",
    "description": "",
    "height": 3805
}

14. SponsorshipTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

assetId

+ (opt)

+

+

ByteStr

fee

+

+

+

Long

isEnabled

+

+

+

Boolean

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

chainId

+

+

Byte

version

+

+

+

Byte

script

+ (opt)

+

+

Bytes

name

+

+

+

Array[Byte]

description

+ (opt)

+

+

Array[Byte] (base58)

password

+ (opt)

String

height

+

JSON для вызова метода sign

{
    "sender": "3JWDUsqyJEkVa1aivNPP8VCAa5zGuxiwD9t",
    "assetId": "G16FvJk9vabwxjQswh9CQAhbZzn3QrwqWjwnZB3qNVox",
    "fee": 100000000,
    "isEnabled": false,
    "type": 14,
    "password": "1234",
    "version": 1
}

Broadcasted JSON

{
    "type": 14,
    "id": "Ht6kpnQJHJskN8kwszF8rck3E5tQiuiM1fEN42wGfdk7",
    "sender": "3JWDUsqyJEkVa1aivNPP8VCAa5zGuxiwD9t",
    "senderPublicKey": "Gt55fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUophy89",
    "fee": 100000000,
    "assetId": "G16FvJk9vabwxjQswh9CQAhbZzn3QrwqWjwnZB3qNVox",
    "timestamp": 1545986757233,
    "proofs": [ "5TfgYS2dqh8QyN7Vu2tAYaioX5WM6rTSDPGbt4zrWS7QKTzojmR2kjppvGNj4tDPsYPbcDunqBaqhaudLyMeGFh7" ],
    "chainId": 84,
    "version": 1,
    "isEnabled": false,
    "height": 3865
}

15. SetAssetScriptTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

+

Byte

chainId

+

+

Byte

assetId

+

+

+

ByteStr

script

+ (opt)

+

+

Bytes

password

+ (opt)

String

height

+

JSON для вызова метода sign

{
    "type": 15,
    "version": 1,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "password": "",
    "fee": 100000000,
    "script": "base64:AQQAAAAHJG1hdGNoMAUAAAACdHgG+RXSzQ==",
    "assetId": "7bE3JPwZC3QcN9edctFrLAKYysjfMEk1SDjZx5gitSGg"
}

Broadcasted JSON

{
    "type": 15,
    "id": "CQpEM9AEDvgxKfgWLH2HxE82iAzpXrtqsDDcgZGPAF9J",
    "sender": "3N65yEf31ojBZUvpu4LCo7n8D73juFtheUJ",
    "senderPublicKey": "C1ADP1tNGuSLTiQrfNRPhgXx59nCrwrZFRV4AHpfKBpZ",
    "fee": 100000000,
    "timestamp": 1549448710502,
    "proofs": [ "64eodpuXQjaKQQ4GJBaBrqiBtmkjSxseKC97gn6EwB5kZtMr18mAUHPRkZaHJeJxaDyLzGEZKqhYoUknWfNhXnkf" ],
    "version": 1,
    "chainId": 84,
    "assetId": "DnK5Xfi2wXUJx9BjK9X6ZpFdTLdq2GtWH9pWrcxcmrhB",
    "script": "base64:AQQAAAAHJG1hdGNoMAUAAAACdHgG+RXSzQ==",
    "height": 61895
}

101. GenesisPermitTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

Byte

id

+

Byte

fee

+

Long

timestamp

+

+

Long

signature

+

ByteStr

target

+

+

ByteStr

role

+

+

String

height

102. PermitTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

Byte

target

+

+

+

ByteStr

PermissionOp

+

PermissionOp

opType

+

+

String

role

+

+

String

dueTimestamp

+ (opt)

+

Option[Long]

password

+ (opt)

String

height

+

atomicBadge

+

+

+

JSON для вызова метода sign

{
   "type": 102,
   "sender": "3GLWx8yUFcNSL3DER8kZyE4TpyAyNiEYsKG",
   "password": "",
   "senderPublicKey": "4WnvQPit2Di1iYXDgDcXnJZ5yroKW54vauNoxdNeMi2g",
   "fee": 0,
   "target": "3GPtj5osoYqHpyfmsFv7BMiyKsVzbG1ykfL",
   "opType": "add",
   "role": "contract_developer",
   "dueTimestamp": null,
   "version": 1,
 }

Broadcasted JSON

{
  "senderPublicKey": "4WnvQPit2Di1iYXDgDcXnJZ5yroKW54vauNoxdNeMi2g",
  "role": "contract_developer",
  "sender": "3GLWx8yUFcNSL3DER8kZyE4TpyAyNiEYsKG",
  "proofs": [
    "5ABJCRTKGo6jmDZCRWcLQc257CCeczmcjmtfJmbBE7TP3KsVkwvisH9kEkfYPckVCzEMKZTCd3LKAPcN8o4Git3j"
  ],
  "fee": 0,
  "opType": "add",
  "id": "8zVUH7nsDCcpwyfxiq8DCTgqL7Q23FW1KWepB9EZcFG6",
  "type": 102,
  "dueTimestamp": null,
  "timestamp": 1559048837487,
  "target": "3GPtj5osoYqHpyfmsFv7BMiyKsVzbG1ykfL"
}

103. CreateContractTransaction

Предупреждение

Байтовое представление транзакции после подписания не должно превышать размер в 150 КБ.

Поле feeAssetId опционально и используется только для gRPC контрактов (значение поля version = 2).

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

Size(Bytes)

type

+

+

+

Byte

1

id

+

Byte

1

sender

+

+

PublicKeyAccount

3264

senderPublicKey

+

+

PublicKeyAccount

3264

password

+ (opt)

String

32767

fee

+

+

+

Long

8

timestamp

+ (opt)

+

+

Long

8

proofs

+

+

List[ByteStr]

32767

version

+

+

+

Byte

1

feeAssetId

+ (opt)

Byte

1

image

+

+

+

Array[Bytes]

32767

imageHash

+

+

+

Array[Bytes]

32767

contractName

+

+

+

Array[Bytes]

32767

params

+

+

+

List[DataEntry[_]]

32767

height

+

8

atomicBadge

+

+

+

32767

JSON для вызова метода sign

{
  "fee": 100000000,
  "image": "stateful-increment-contract:latest",
  "imageHash": "7d3b915c82930dd79591aab040657338f64e5d8b842abe2d73d5c8f828584b65",
  "contractName": "stateful-increment-contract",
  "sender": "3PudkbvjV1nPj1TkuuRahh4sGdgfr4YAUV2",
  "password": "",
  "params": [],
  "type": 103,
  "version": 1,
 }

Broadcasted JSON

{
    "type": 103,
    "id": "ULcq9R7PvUB2yPMrmBdxoTi3bcRmQPT3JDLLLZVj4Ky",
    "sender": "3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
    "senderPublicKey": "3kW7vy6nPC59BXM67n5N56rhhAv38Dws5skqDsjMVT2M",
    "fee": 500000,
    "timestamp": 1550591678479,
    "proofs": [ "yecRFZm9iBLyDy93bDVaNo1PR5Qkkic7196GAgUt9TNH1cnQphq4yGQQ8Fxj4BYA4TaqYVw5qxtWzGMPQyVeKYv" ],
    "version": 1,
    "image": "stateful-increment-contract:latest",
    "imageHash": "7d3b915c82930dd79591aab040657338f64e5d8b842abe2d73d5c8f828584b65",
    "contractName": "stateful-increment-contract",
    "params": [],
    "height": 1619
}

104. CallContractTransaction

Предупреждение

Байтовое представление транзакции после подписания не должно превышать размер в 150 КБ.

В поле contractVersion указывается версия контракта, значение 1 - для нового контракта, значение 2 - для обновленного контракта. Данное поле доступно только для второй версии транзакции - "version": 2,. Контракт обновляется при помощи 107 транзакции. При создании контракта автоматически создается транзакция 104, вызывающая контракт для его проверки. Если контракт не выполнился или выполнился с ошибкой, то транзакции 103 и 104 отбрасываются и не попадают в блок.

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

Size(Bytes)

type

+

+

+

Byte

1

id

+

Byte

1

sender

+

+

PublicKeyAccount

3264

senderPublicKey

+

+

PublicKeyAccount

3264

fee

+

+

+

Long

8

timestamp

+ (opt)

+

+

Long

8

proofs

+

+

List[ByteStr]

32767

version

+

+

+

Byte

1

contractVersion

+

+

+

Byte

1

contractId

+

+

+

ByteStr

32767

params

+

+

+

List[DataEntry[_]]

32767

height

+

8

password

+ (opt)

String

32767

atomicBadge

+

+

+

32767

JSON для вызова метода sign

{
    "contractId": "2sqPS2VAKmK77FoNakw1VtDTCbDSa7nqh5wTXvJeYGo2",
    "fee": 10,
    "sender": "3PKyW5FSn4fmdrLcUnDMRHVyoDBxybRgP58",
    "password": "",
    "type": 104,
    "params":
    [
        {
           "type": "integer",
           "key": "a",
           "value": 1
        },
        {
           "type": "integer",
           "key": "b",
           "value": 100

        }
    ],
    "version": 2,
    "contractVersion": 1
}

Broadcasted JSON

{
    "type": 104,
    "id": "9fBrL2n5TN473g1gNfoZqaAqAsAJCuHRHYxZpLexL3VP",
    "sender": "3PKyW5FSn4fmdrLcUnDMRHVyoDBxybRgP58",
    "senderPublicKey": "2YvzcVLrqLCqouVrFZynjfotEuPNV9GrdauNpgdWXLsq",
    "fee": 10,
    "timestamp": 1549365736923,
    "proofs": [ "2q4cTBhDkEDkFxr7iYaHPAv1dzaKo5rDaTxPF5VHryyYTXxTPvN9Wb3YrsDYixKiUPXBnAyXzEcnKPFRCW9xVp4v" ],
    "version": 2,
    "contractVersion": 1,
    "contractId": "2sqPS2VAKmK77FoNakw1VtDTCbDSa7nqh5wTXvJeYGo2",
    "params":
    [
        {
        "key": "a",
        "type": "integer",
        "value": 1
        },
        {
        "key": "b",
        "type": "integer",
        "value": 100
        }
    ]
}

105. ExecutedContractTransaction

Предупреждение

Байтовое представление транзакции после подписания не должно превышать размер в 150 КБ.

Field

Broadcasted JSON

Blockchain state

Type

type

+

+

Byte

id

+

Byte

sender

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

Long

timestamp

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

Byte

tx

+

+

ExecutableTransaction

results

+

+

List[DataEntry[_]]

height

+

password

+ (opt)

String

atomicBadge

+

+

Broadcasted JSON

{
    "type": 105,
    "id": "38GmSVC5s8Sjeybzfe9RQ6p1Mb6ajb8LYJDcep8G8Umj",
    "sender": "3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
    "senderPublicKey": "3kW7vy6nPC59BXM67n5N56rhhAv38Dws5skqDsjMVT2M",
    "password": "",
    "fee": 500000,
    "timestamp": 1550591780234,
    "proofs": [ "5whBipAWQgFvm3myNZe6GDd9Ky8199C9qNxLBHqDNmVAUJW9gLf7t9LBQDi68CKT57dzmnPJpJkrwKh2HBSwUer6" ],
    "version": 1,
    "tx":
         {
            "type": 103,
            "id": "ULcq9R7PvUB2yPMrmBdxoTi3bcRmQPT3JDLLLZVj4Ky",
            "sender": "3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
            "senderPublicKey": "3kW7vy6nPC59BXM67n5N56rhhAv38Dws5skqDsjMVT2M",
            "fee": 500000,
            "timestamp": 1550591678479,
            "proofs": [ "yecRFZm9iBLyDy93bDVaNo1PR5Qkkic7196GAgUt9TNH1cnQphq4yGQQ8Fxj4BYA4TaqYVw5qxtWzGMPQyVeKYv" ],
            "version": 1,
            "image": "stateful-increment-contract:latest",
            "imageHash": "7d3b915c82930dd79591aab040657338f64e5d8b842abe2d73d5c8f828584b65",
            "contractName": "stateful-increment-contract",
            "params": [],
            "height": 1619
          },
    "results": [],
    "height": 1619
}

106. DisableContractTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

+

+

Byte

contractId

+

+

+

ByteStr

height

+

password

+ (opt)

String

atomicBadge

+

+

+

JSON для вызова метода sign

{
    "sender": "3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
    "password": "",
    "contractId": "Fz3wqAWWcPMT4M1q6H7crLKtToFJvbeLSvqjaU4ZwMpg",
    "fee": 500000,
    "type": 106,
    "version": 1,
}

Broadcasted JSON

{
"type": 106,
"id": "8Nw34YbosEVhCx18pd81HqYac4C2pGjyLKck8NhSoGYH",
"sender": "3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
"senderPublicKey": "3kW7vy6nPC59BXM67n5N56rhhAv38Dws5skqDsjMVT2M",
"fee": 500000,
"proofs": [ "5GqPQkuRvG6LPXgPoCr9FogAdmhAaMbyFb5UfjQPUKdSc6BLuQSz75LAWix1ok2Z6PC5ezPpjqzqnr15i3RQmaEc" ],
"version": 1,
"contractId": "Fz3wqAWWcPMT4M1q6H7crLKtToFJvbeLSvqjaU4ZwMpg",
"height": 1632
}

107. UpdateContractTransaction

Предупреждение

Байтовое представление транзакции после подписания не должно превышать размер в 150 КБ.

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

Size(Bytes)

type

+

+

+

Byte

1

id

+

Byte

1

sender

+

+

PublicKeyAccount

3264

senderPublicKey

+

+

PublicKeyAccount

3264

image

+

+

+

Array[Bytes]

32767

imageHash

+

+

+

Array[Bytes]

32767

fee

+

+

+

Long

8

timestamp

+ (opt)

+

+

Long

8

proofs

+

+

List[ByteStr]

32767

version

+

+

+

Byte

1

contractId

+

+

+

ByteStr

32767

height

+

8

password

+ (opt)

String

32767

atomicBadge

+

+

+

32767

JSON для вызова метода sign

{
  "image" : "registry.wvservices.com/we-sc/tdm-increment3:1028.1",
  "sender" : "3Mxxz9pBYS5fJMARJNQmzYUHxiWAtvMzSRT",
  "password": "",
  "fee" : 100000000,
  "contractId" : "EnsihTUHSNAB9RcWXJbiWT98X3hYtCw3SBzK8nHQRCWA",
  "imageHash" : "0e5d280b9acf6efd8000184ad008757bb967b5266e9ebf476031fad1488c86a3",
  "type" : 107,
  "version" : 1
 }

Broadcasted JSON

{
 "senderPublicKey":"5qBRDm74WKR5xK7LPs8vCy9QjzzqK4KCb8PL36fm55S3kEi2XZETHFgMgp3D13AwgE8bBkYrzvEvQZuabMfEyJwW",
 "tx":
 {
 "senderPublicKey":"5qBRDm74WKR5xK7LPs8vCy9QjzzqK4KCb8PL36fm55S3kEi2XZETHFgMgp3D13AwgE8bBkYrzvEvQZuabMfEyJwW",
 "image":"registry.wvservices.com/we-sc/tdm-increment3:1028.1",
 "sender":"3Mxxz9pBYS5fJMARJNQmzYUHxiWAtvMzSRT",
 "proofs":["3tNsTyteeZrxEbVSv5zPT6dr247nXsVWR5v7Khx8spypgZQUdorCQZV2guTomutUTcyxhJUjNkQW4VmSgbCtgm1Z"],
 "fee":0,
 "contractId":"EnsihTUHSNAB9RcWXJbiWT98X3hYtCw3SBzK8nHQRCWA",
 "id":"HdZdhXVveMT1vYzGTviCoGQU3aH6ZS3YtFpYujWeGCH6",
 "imageHash":"17d72ca20bf9393eb4f4496fa2b8aa002e851908b77af1d5db6abc9b8eae0217",
 "type":107,"version":1,"timestamp":1572355661572},
 "sender":"3HfRBedCpWi3vEzFSKEZDFXkyNWbWLWQmmG",
 "proofs":["28ADV8miUVN5EFjhqeFj6MADSXYjbxA3TsxSwFVs18jXAsHVaBczvnyoUSaYJsjRNmaWgXbpbduccRxpKGTs6tro"],
 "fee":0,"id":"7niVY8mjzeKqLBePvhTxFRfLu7BmcwVfqaqtbWAN8AA2",
 "type":105,
 "version":1,
 "results":[],
 "timestamp":1572355666866
 }
}

110. GenesisRegisterNodeTransaction

Field

Broadcasted JSON

Blockchain state

Type

type

+

+

Byte

id

+

Byte

fee

+

Long

timestamp

+

+

Long

signature

+

Bytes

version

+

Byte

targetPubKey

+

+

height

+

111. RegisterNodeTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

version

+

Byte

targetPubKey

+

+

+

PublicKeyAccount

nodeName

+

+

+

String

opType

+

+

+

height

+

password

+ (opt)

String

JSON для вызова метода sign

{
"type": 111,
"opType": "add",
"sender":"3HYW75PpAeVukmbYo9PQ3mzSHdKUgEytUUz",
"password": "",
"targetPubKey": "apgJP9atQccdBPAgJPwH3NBVqYXrapgJP9atQccdBPAgJPwHapgJP9atQccdBPAgJPwHDKkh6A8",
"nodeName": "Node #1",
"fee": 500000,
}

112. CreatePolicyTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

+

Byte

sender

+

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

policyName

+

+

+

String

recipients

+

+

+

Array[Byte]

owners

+

+

+

Array[Byte]

fee

+

+

+

Long

timestamp

+ (opt)

+

+

Long

proofs

+

+

List[ByteStr]

height

+

Long

description

+

+

+

String (base58)

password

+ (opt)

String

version

+

+

+

Byte

atomicBadge

+

+

+

JSON для вызова метода sign

 {
  "sender": "3NkZd8Xd4KsuPiNVsuphRNCZE3SqJycqv8d",
  "policyName": "Policy# 7777",
  "password":"sfgKYBFCF@#$fsdf()*%",
  "recipients": [
    "3NkZd8Xd4KsuPiNVsuphRNCZE3SqJycqv8d",
    "3NotQaBygbSvYZW4ftJ2ZwLXex4rTHY1Qzn",
    "3Nm84ERiJqKfuqSYxzMAhaJXdj2ugA7Ve7T",
        "3NtNJV44wyxRXv2jyW3yXLxjJxvY1vR88TF",
        "3NxAooHUoLsAQvxBSqjE91WK3LwWGjiiCxx"
  ],
  "fee": 15000000,
  "description": "Buy bitcoin by 1c",
  "owners": [
    "3NkZd8Xd4KsuPiNVsuphRNCZE3SqJycqv8d",
    "3NotQaBygbSvYZW4ftJ2ZwLXex4rTHY1Qzn",
    "3Nm84ERiJqKfuqSYxzMAhaJXdj2ugA7Ve7T"
  ],
  "type": 112,
  "version": 1,
}

113. UpdatePolicyTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

+

Byte

sender

+

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

policyId

+

+

+

String

recipients

+

+

+

Array[Byte]

owners

+

+

+

Array[Byte]

fee

+

+

+

Long

timestamp

+

+

Long

proofs

+

+

List[ByteStr]

height

+

Long

opType

+

+

+

description

+

+

+

String (base58)

password

+

String

version

+

+

+

Byte

atomicBadge

+

+

+

JSON для вызова метода sign

{
  "policyId": "7wphGbhqbmUgzuN5wzgqwqtViTiMdFezSa11fxRV58Lm",
  "password":"sfgKYBFCF@#$fsdf()*%",
  "sender": "3NkZd8Xd4KsuPiNVsuphRNCZE3SqJycqv8d",
  "recipients": [
  "3NkZd8Xd4KsuPiNVsuphRNCZE3SqJycqv8d",
  "3NotQaBygbSvYZW4ftJ2ZwLXex4rTHY1Qzn",
  "3Nm84ERiJqKfuqSYxzMAhaJXdj2ugA7Ve7T",
      "3NtNJV44wyxRXv2jyW3yXLxjJxvY1vR88TF",
      "3NxAooHUoLsAQvxBSqjE91WK3LwWGjiiCxx",
      "3NwJfjG5RpaDfxEhkwXgwD7oX21NMFCxJHL"
   ],
   "fee": 15000000,
   "opType": "add",
  "owners": [
    "3NkZd8Xd4KsuPiNVsuphRNCZE3SqJycqv8d",
    "3NotQaBygbSvYZW4ftJ2ZwLXex4rTHY1Qzn",
    "3Nm84ERiJqKfuqSYxzMAhaJXdj2ugA7Ve7T"
  ],
  "type": 113,
  "version": 1,
 }

114. PolicyDataHashTransaction

Когда пользователь отправляет конфиденциальные данные в сеть при помощи POST /privacy/sendData, нода автоматически формирует транзакцию 114.

Field

Broadcasted JSON

Blockchain state

Type

type

+

+

Byte

id

+

+

Byte

sender

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

policyId

+

+

String

dataHash

+

+

String

fee

+

+

Long

timestamp

+

+

Long

proofs

+

+

List[ByteStr]

height

+

Long

version

+

+

Byte

atomicBadge

+

+

120. AtomicTransaction

Транзакция помещает в контейнер другие транзакции для их атомарного выполнения. Транзакция поддерживает следующие типы транзакций:

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

+

+

+

Byte

id

+

+

Byte

sender

+

+

+

PublicKeyAccount

senderPublicKey

+

+

PublicKeyAccount

fee

+

+

+

Long

timestamp

+

+

Long

proofs

+

+

List[ByteStr]

height

+

Long

transactions

+

+

+

miner

+

+

String

password

+

String

version

+

+

Byte

JSON для вызова метода sign

{
    "sender": sender_0,
    "transactions": [
        signed_transfer_tx,
        signed_transfer_tx2
    ],
    "type": 120,
    "version": 1,
    "password":"lskjbJJk$%^#298",
    "fee": 0,
}

Пример запроса

{'sender': '3MufokZsFzaf7heTV1yreUtm1uoJXPoFzdP',
'transactions': [
    {'senderPublicKey': '5nGi8XoiGjjyjbPmjLNy1k2bus4yXLaeuA3Hb7BikwD9tboFwFXJYUmto5Joox76c3pp2Mr1LjgodUJuxryCJofQ', 'amount': 10, 'fee':    10000000, 'type': 4, 'version': 3, 'atomicBadge': {'trustedSender': '3MufokZsFzaf7heTV1yreUtm1uoJXPoFzdP'}, 'attachment': '', 'sender':    '3Mv79dyPX2cvLtRXn1MDDWiCZMBrkw9d97c', 'feeAssetId': None, 'proofs':   ['XQ7iAqkarmm14AATc2Y9cR3Z9WnirsH4kH6RUL4QdT82rEwsmWBbBfWrADLE9o4cp2VR39W6b3vdrwFgg1dX7m3'], 'assetId': None, 'recipient':    '3MufokZsFzaf7heTV1yreUtm1uoJXPoFzdP', 'id': 'FZ59wAZnkFUqXjn61vvyj59fRa3cuS6nzuW3vqoRMsM5', 'timestamp': 1602857131666},  {'senderPublicKey': '56rV5kcR9SBsxQ9LtNrmp6V72S4BDkZUJaA6ujZswDneDmCTmeSG6UE2FQP1rPXdfpWQNunRw4aijGXxoK3o4puj', 'amount': 20, 'fee':     10000000, 'type': 4, 'version': 3, 'atomicBadge': {'trustedSender': '3MufokZsFzaf7heTV1yreUtm1uoJXPoFzdP'}, 'attachment': '', 'sender':     '3MufokZsFzaf7heTV1yreUtm1uoJXPoFzdP', 'feeAssetId': None, 'proofs':    ['5KaXUFan2JD6VsJeGNyBCXEwqCjUF1nASAzxjnPZzBydXA5RJyXQGaL6N9MQ8GDNori1nXw5FsDLBqc3CPM3ezsk'], 'assetId': None, 'recipient':    '3Mv79dyPX2cvLtRXn1MDDWiCZMBrkw9d97c', 'id': '8GTqE1cc6zTVxYgQxgHJWJitVsDFRc6GmU5FJcnp5gu2', 'timestamp': 1602857132314}
    ],
'type': 120,
'version': 1}