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 type |
Fee |
Description |
---|---|---|---|
1 |
no fee |
Initial binding of the balance to the addresses of nodes created at the start of the blockchain |
|
3 |
1WEST |
Tokens issue |
|
4 |
0.01WEST |
Tokens transfer |
|
5 |
1WEST |
Tokens reissue |
|
6 |
0.05WEST |
Tokens burn |
|
8 |
0.01WEST |
Tokens lease |
|
9 |
0.01WEST |
Cancel of the tokens lease |
|
10 |
1WEST |
Alias creation |
|
11 |
0.05WEST |
Mass tokens transfer. Minimum commission is specified |
|
12 |
0.05WEST |
Transaction with the data in the key-value pairs format. Minimum commission is specified |
|
13 |
0.5WEST |
Transaction which is binding a script with a RIDE contract to an account |
|
15 |
1WEST |
Transaction which is binding a script with a RIDE contract to an asset |
|
101 |
no fee |
Assignment of the first network administrator for further distribution of rights |
|
102 |
0.01WEST |
Issuance/withdrawal of rights from the account |
|
103 |
1WEST |
Docker-contract creation |
|
104 |
0.1WEST |
Docker-contract call |
|
105 |
no fee |
Docker-contract execution |
|
106 |
0.1WEST |
Docker-contract disable |
|
107 |
1WEST |
Docker-contract update |
|
110 |
no fee |
Node registration in the genesis block with the blockchain start |
|
111 |
0.01WEST |
A new node registration |
|
112 |
1WEST |
Access group creation |
|
113 |
0.5WEST |
Update the access group |
|
114 |
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
assetId |
ByteStr |
|||
name |
Array[Byte] |
|||
quantity |
Long |
|||
reissuable |
Boolean |
|||
decimals |
Byte |
|||
description |
Array[Byte] |
|||
chainId |
Byte |
|||
script |
|
Bytes |
||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
recipient |
ByteStr |
|||
assetId |
|
ByteStr |
||
fee assetId |
|
Bytes |
||
amount |
Long |
|||
attachment |
|
Bytes |
||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
chainId |
Byte |
|||
assetId |
ByteStr |
|||
quantity |
Long |
|||
reissuable |
Boolean |
|||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
chainId |
Byte |
|||
assetId |
ByteStr |
|||
quantity |
Long |
|||
amount |
Long |
|||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
amount |
Long |
|||
recipient |
ByteStr |
|||
status |
||||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
chainId |
Byte |
|||
leaseId |
|
Byte |
||
leaseId |
||||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
alias |
Bytes |
|||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
assetId |
|
ByteStr |
||
attachment |
|
|||
number of transfers |
List[Transfer] |
|||
transferCount |
||||
totalAmount |
||||
password |
|
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:
"key":"value"
pairs count no more than 100,"data": [ { "key": "objectId", "type": "string", "value": "obj:123:1234" }, {...} ]
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 |
|
Long |
8 |
||
proofs |
List[ByteStr] |
32767 |
|||
version |
Byte |
1 |
|||
authorPublicKey |
PublicKeyAccount |
3264 |
|||
author |
3264 |
||||
data |
3264 |
||||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
chainId |
Byte |
|||
version |
Byte |
|||
script |
|
Bytes |
||
name |
Array[Byte] |
|||
description |
|
Array[Byte] |
||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
chainId |
Byte |
|||
assetId |
ByteStr |
|||
script |
|
Bytes |
||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
target |
ByteStr |
|||
PermissionOp |
PermissionOp |
|||
opType |
String |
|||
role |
String |
|||
dueTimestamp |
|
Option[Long] |
||
password |
|
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.
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 |
|
String |
32767 |
||
fee |
Long |
8 |
|||
timestamp |
|
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 |
|
Long |
8 |
||
proofs |
List[ByteStr] |
32767 |
|||
version |
Byte |
1 |
|||
contractId |
ByteStr |
32767 |
|||
params |
List[DataEntry[_]] |
32767 |
|||
height |
8 |
||||
password |
|
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 |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
contractId |
ByteStr |
|||
height |
||||
password |
|
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 |
|
String |
32767 |
JSON to sign
{
"senderPublicKey" : "5qBRDm74WKR5xK7LPs8vCy9QjzzqK4KCb8PL36fm55S3kEi2XZETHFgMgp3D13AwgE8bBkYrzvEvQZuabMfEyJwW",
"image" : "localhost:32977/stateful-increment-contract-updated-1af6b28c",
"sender" : "3HfRBedCpWi3vEzFSKEZDFXkyNWbWLWQmmG",
"password": "",
"proofs" : [ "3tNsTyteeZrxEbVSv5zPT6dr247nXsVWR5v7Khx8spypgZQUdorCQZV2guTomutUTcyxhJUjNkQW4VmSgbCtgm1Z" ],
"fee" : 0,
"contractId" : "4Zx8KLLSKKhXBHRCgoau1nUAU2q3bfzH54BWAs254tmB",
"id" : "HdZdhXVveMT1vYzGTviCoGQU3aH6ZS3YtFpYujWeGCH6",
"imageHash" : "17d72ca20bf9393eb4f4496fa2b8aa002e851908b77af1d5db6abc9b8eae0217",
"type" : 107,
"version" : 1,
"timestamp" : 1572355661572,
"height" : 10
}
Broadcasted JSON
{
"senderPublicKey":"5qBRDm74WKR5xK7LPs8vCy9QjzzqK4KCb8PL36fm55S3kEi2XZETHFgMgp3D13AwgE8bBkYrzvEvQZuabMfEyJwW",
"tx":
{
"senderPublicKey":"5qBRDm74WKR5xK7LPs8vCy9QjzzqK4KCb8PL36fm55S3kEi2XZETHFgMgp3D13AwgE8bBkYrzvEvQZuabMfEyJwW",
"image":"localhost:32977/stateful-increment-contract-updated-1af6b28c",
"sender":"3HfRBedCpWi3vEzFSKEZDFXkyNWbWLWQmmG",
"proofs":["3tNsTyteeZrxEbVSv5zPT6dr247nXsVWR5v7Khx8spypgZQUdorCQZV2guTomutUTcyxhJUjNkQW4VmSgbCtgm1Z"],
"fee":0,
"contractId":"4Zx8KLLSKKhXBHRCgoau1nUAU2q3bfzH54BWAs254tmB",
"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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
targetPubKey |
PublicKeyAccount |
|||
nodeName |
String |
|||
opType |
||||
height |
||||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
height |
Long |
|||
description |
String |
|||
password |
|
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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
height |
Long |
|||
opType |
||||
description |
String |
|||
password |
|
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 |