Transactions

In this section we can see the structure of transaction storage in the blockchain platform of Waves Enterprise. For some types of transactions, versioning is introduced.

Important

All transactions use the timestamp field containing a time stamp in the Unix Timestamp format in milliseconds.

Transaction types

Transaction type

Fee

Description

1

Genesis transaction

no fee

Initial binding of the balance to the addresses of nodes created at the start of the blockchain

3

Issue Transaction

1WEST

Tokens issue

4

Transfer Transaction

0.01WEST

Tokens transfer

5

Reissue Transaction

1WEST

Tokens reissue

6

Burn Transaction

0.05WEST

Tokens burn

8

Lease Transaction

0.01WEST

Tokens lease

9

Lease Cancel Transaction

0.01WEST

Cancel of the tokens lease

10

Create Alias Transaction

1WEST

Alias creation

11

MassTransfer Transaction

0.05WEST

Mass tokens transfer. Minimum commission is specified

12

Data Transaction

0.05WEST

Transaction with the data in the key-value pairs format. Minimum commission is specified

13

SetScript Transaction

0.5WEST

Transaction which is binding a script with a RIDE contract to an account

15

SetAssetScript

1WEST

Transaction which is binding a script with a RIDE contract to an asset

101

Genesis Permission Transaction

no fee

Assignment of the first network administrator for further distribution of rights

102

Permission Transaction

0.01WEST

Issuance/withdrawal of rights from the account

103

CreateContract Transaction

1WEST

Docker-contract creation

104

CallContract Transaction

0.1WEST

Docker-contract call

105

ExecutedContract Transaction

no fee

Docker-contract execution

106

DisableContract Transaction

0.1WEST

Docker-contract disable

107

UpdateContract Transaction

1WEST

Docker-contract update

110

GenesisRegisterNode Transaction

no fee

Node registration in the genesis block with the blockchain start

111

RegisterNode Transaction

0.01WEST

A new node registration

112

CreatePolicy Transaction

1WEST

Access group creation

113

UpdatePolicy Transaction

0.5WEST

Update the access group

114

PolicyDataHash Transaction

0.05WEST

A data hash sending to the net

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. Issue Transaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

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]

chainId

Byte

script

  • (opt)

Bytes

password

  • (opt)

String

height

JSON to 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. Transfer Transaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

version

Byte

recipient

ByteStr

assetId

  • (opt)

ByteStr

fee assetId

  • (opt)

Bytes

amount

Long

attachment

  • (opt)

Bytes

password

  • (opt)

String

height

JSON to 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. Reissue Transaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

version

Byte

chainId

Byte

assetId

ByteStr

quantity

Long

reissuable

Boolean

password

  • (opt)

String

height

JSON to 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. Burn Transaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

version

Byte

chainId

Byte

assetId

ByteStr

quantity

Long

amount

Long

password

  • (opt)

String

height

JSON to 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. Lease Transaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

version

Byte

amount

Long

recipient

ByteStr

status

password

  • (opt)

String

height

JSON to 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. Lease Cancel Transaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

version

Byte

chainId

Byte

leaseId

  • (txId)

Byte

leaseId

password

  • (opt)

String

height

JSON to 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. Create Alias Transaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

version

Byte

alias

Bytes

password

  • (opt)

String

height

JSON to 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. MassTransfer Transaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

version

Byte

assetId

  • (opt)

ByteStr

attachment

  • (opt)

number of transfers

List[Transfer]

transferCount

totalAmount

password

  • (opt)

String

height

JSON to sign

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

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
}

12. Data Transaction

Warning

The transaction has limits:

  1. "key":"value" pairs count no more than 100,

    "data": [
          {
           "key": "objectId",
           "type": "string",
           "value": "obj:123:1234"
          }, {...}
         ]
    
  2. The byte composition of the signed transaction should not exceed more than 150 KB.

Hint

You do not need to specify the senderPublicKey parameter if you are signing a transaction where the author and the sender are the same.

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

Size (Bytes)

type

Byte

1

id

Byte

1

sender

PublicKeyAccount

3264

sender’s public key

  • (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 to 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. SetScript Transaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

chainId

Byte

version

Byte

script

  • (opt)

Bytes

name

Array[Byte]

description

  • (opt)

Array[Byte]

password

  • (opt)

String

height

JSON to 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
}

15. SetAssetScriptTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

version

Byte

chainId

Byte

assetId

ByteStr

script

  • (opt)

Bytes

password

  • (opt)

String

height

JSON to 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. PermissionTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

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

JSON to sign

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

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

Warning

The byte composition of the signed transaction should not exceed more than 150 KB.

The contractVersion field specifies the contract version, the 1 value is for the new contract, and the 2 value is for the updated contract. The contract is updated by using the 107 transaction. When you create a contract, the 104 transaction is automatically created, this transaction is calling the contract to validate it. If the contract fails or runs with error, transactions 103 and 104 will be discarded and will not fall into the block.

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

Size(Bytes)

type

Byte

1

id

Byte

1

sender

PublicKeyAccount

3264

sender’s public key

PublicKeyAccount

3264

password

  • (opt)

String

32767

fee

Long

8

timestamp

  • (opt)

Long

8

proofs

List[ByteStr]

32767

version

Byte

1

contractVersion

Byte

1

image

Array[Bytes]

32767

imageHash

Array[Bytes]

32767

contractName

Array[Bytes]

32767

params

List[DataEntry[_]]

32767

height

8

JSON to sign

{
  "fee": 100000000,
  "image": "stateful-increment-contract:latest",
  "imageHash": "7d3b915c82930dd79591aab040657338f64e5d8b842abe2d73d5c8f828584b65",
  "contractName": "stateful-increment-contract",
  "sender": "3PudkbvjV1nPj1TkuuRahh4sGdgfr4YAUV2",
  "password": "",
  "params": [],
  "type": 103,
  "version": 1
  "contractVersion": 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

Warning

The byte composition of the signed transaction should not exceed more than 150 KB.

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

Size(Bytes)

type

Byte

1

id

Byte

1

sender

PublicKeyAccount

3264

sender’s public key

PublicKeyAccount

3264

fee

Long

8

timestamp

  • (opt)

Long

8

proofs

List[ByteStr]

32767

version

Byte

1

contractId

ByteStr

32767

params

List[DataEntry[_]]

32767

height

8

password

  • (opt)

String

32767

JSON to sign

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

        }
    ],
    "version": 1
}

Broadcasted JSON

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

105. ExecutedContractTransaction

Warning

The byte composition of the signed transaction should not exceed more than 150 KB.

Field

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

fee

Long

timestamp

Long

proofs

List[ByteStr]

version

Byte

tx

ExecutableTransaction

results

List[DataEntry[_]]

height

password

  • (opt)

String

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

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

version

Byte

contractId

ByteStr

height

password

  • (opt)

String

JSON to sign

{
    "sender":"3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
    "password": "",
    "contractId":"Fz3wqAWWcPMT4M1q6H7crLKtToFJvbeLSvqjaU4ZwMpg",
    "fee":500000,
    "timestamp":1549474811381,
    "type":106
}

Broadcasted JSON

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

107. UpdateContractTransaction

Warning

  • The byte composition of the signed transaction should not exceed more than 150 KB.

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

Size(Bytes)

type

Byte

1

id

Byte

1

sender

PublicKeyAccount

3264

sender’s public key

PublicKeyAccount

3264

image

Array[Bytes]

32767

imageHash

Array[Bytes]

32767

fee

Long

8

timestamp

Long

8

proofs

List[ByteStr]

32767

version

Byte

1

contractId

ByteStr

32767

height

8

password

  • (opt)

String

32767

JSON to sign

{
  "image" : "registry.wvservices.com/we-sc/tdm-increment3:1028.1",
  "sender" : "3Mxxz9pBYS5fJMARJNQmzYUHxiWAtvMzSRT",
  "password": "keyPass",
  "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

sender’s public key

PublicKeyAccount

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

version

Byte

targetPubKey

PublicKeyAccount

nodeName

String

opType

height

password

  • (opt)

String

JSON to sign

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

112. CreatePolicyTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

policyName

String

recipients

Array[Byte]

owners

Array[Byte]

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

height

Long

description

String

password

  • (opt)

String

JSON to 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
}

113. UpdatePolicyTransaction

Field

JSON to sign

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

policyName

String

recipients

Array[Byte]

owners

Array[Byte]

fee

Long

timestamp

  • (opt)

Long

proofs

List[ByteStr]

height

Long

opType

description

String

password

  • (opt)

String

JSON to sign

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

114. PolicyDataHashTransaction

When the user sends confidential data to the network using POST /privacy/sendData, the node automatically will create the 114 transaction.

Field

Broadcasted JSON

Blockchain state

Type

type

Byte

id

Byte

sender

PublicKeyAccount

sender’s public key

PublicKeyAccount

policyId

String

dataHash

String

fee

Long

timestamp

Long

proofs

List[ByteStr]

height

Long