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
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",
   "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",
    "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",
    "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",
    "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",
    "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",
    "alias": "hodler"
}

Broadcasted JSON

{
    "type": 10,
    "id": "DJTaiMpb7eLuPW5GcE4ndeE8jWsWPjx8gPYmbZPJjpag",
    "sender": "3N65yEf31ojBZUvpu4LCo7n8D73juFtheUJ",
    "senderPublicKey": "C1ADP1tNGuSLTiQrfNRPhgXx59nCrwrZFRV4AHpfKBpZ",
    "fee": 0,
    "timestamp": 1549290335781,
    "signature": "2qYepod9DhpxVad1yQDbv1QzU4KLKcbjjdtGY7De2272K76nbQfaXsRnyd31hUE8bhvLjjpHRdtoLVzbBDzRZYEY",
    "proofs": [ "2qYepod9DhpxVad1yQDbv1QzU4KLKcbjjdtGY7De2272K76nbQfaXsRnyd31hUE8bhvLjjpHRdtoLVzbBDzRZYEY" ],
    "version": 1,
    "alias": "chuvaknoimer4",
    "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",
    "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.

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
authorPublicKey  
PublicKeyAccount 3264
author
    3264
data
  3264
password
  • (opt)
    String 32767
height  
    8

JSON to sign

{
    "type": 12,
    "version": 1,
    "sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
    "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",
    "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",
    "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",
   "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.

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

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

JSON to sign

{
    "contractId": "2sqPS2VAKmK77FoNakw1VtDTCbDSa7nqh5wTXvJeYGo2",
    "fee": 10,
    "sender": "3PKyW5FSn4fmdrLcUnDMRHVyoDBxybRgP58",
    "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
   

Broadcasted JSON

{
    "type": 105,
    "id": "38GmSVC5s8Sjeybzfe9RQ6p1Mb6ajb8LYJDcep8G8Umj",
    "sender": "3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
    "senderPublicKey": "3kW7vy6nPC59BXM67n5N56rhhAv38Dws5skqDsjMVT2M",
    "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  
   

JSON to sign

{
    "sender":"3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
    "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
}

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  
   

JSON to sign

{
"type": 111,
"opType": "add",
"sender":"3HYW75PpAeVukmbYo9PQ3mzSHdKUgEytUUz",
"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":"[email protected]#$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":"[email protected]#$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