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.
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 |
|
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.
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 |
|
String |
32767 |
||
fee |
Long |
8 |
|||
timestamp |
|
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 |
|
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
{
"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 |
|
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":"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 |
|
Long |
||
proofs |
List[ByteStr] |
|||
height |
Long |
|||
opType |
||||
description |
String |
|||
password |
|
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 |