Transactions¶
In this section you can see the structure of transaction storage in the blockchain platform of Waves Enterprise. For some types of transactions, versioning is introduced.
Data format in transactions¶
All transactions use the timestamp
field containing a time stamp in the Unix Timestamp format in milliseconds.
The 3, 13, 14 and 112 transactions use the description
text field, while 4 and 6 transactions - the attachment
text field. Messages to be sent in this transaction fields should be converted into the base58 format prior to sending.
The key-value fields of the data
section in the 12 transaction, as well as those of the params
section in the 104 transaction support 4 data types: string, integer, boolean, binary.
The proto files defining the reply format of the node are available on our GitHub page.
Storage format of the transactions¶
The values of json requests for signing and sending transactions to the blockchain are samples. Before sending a request to sign a transaction, check whether the request parameters match the current data. For example, if you are sending a transaction to Mainnet, you need to make sure that you have specified the correct transaction fee. Otherwise, the transaction will not pass validation, and the node will return the 105 InvalidFee
error.
For more information about transaction comissions, see Commissions on the network “Waves Enterprise Mainnet”
№ |
Transaction type |
Description |
---|---|---|
1 |
Initial binding of the balance to the addresses of nodes |
|
3 |
Tokens issue |
|
4 |
Tokens transfer |
|
5 |
Tokens reissue |
|
6 |
Tokens burn |
|
8 |
Tokens lease |
|
9 |
Cancel of the tokens lease |
|
10 |
Alias creation |
|
11 |
Mass tokens transfer. Minimum commission is specified |
|
12 |
Transaction with the data in the key-value pairs format. |
|
13 |
Transaction which is binding a script with a RIDE contract to an account |
|
14 |
Transaction which is signing a sponsorship asset |
|
15 |
Transaction which is binding a script with a RIDE contract to an asset |
|
101 |
Assignment of the first network administrator for further distribution of rights |
|
102 |
Issuance/withdrawal of rights from the account |
|
103 |
Docker-contract creation |
|
104 |
Docker-contract call |
|
105 |
Docker-contract execution |
|
106 |
Docker-contract disable |
|
107 |
Docker-contract update |
|
110 |
Node registration in the genesis block with the blockchain start |
|
111 |
A new node registration |
|
112 |
Access group creation |
|
113 |
Update the access group |
|
114 |
A data hash sending to the net |
|
120 |
Packaging multiple transactions into one for atomic execution |
Important
The 101 transaction is also designed for enabling of the sender role. This role can be granted to participants with the use of the transactions 101 and 102. However, if at least one member has not been assigned as `sender’ using the 101 transaction, it will not be possible to assign that role using the 102 transaction.
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] (base58) |
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 (base58) |
password |
+ (opt) |
String |
||
height |
+ |
|||
atomicBadge |
+ |
+ |
+ |
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) |
+ |
+ |
(base58) |
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 }
]
}
Broadcasted JSON
{
"senderPublicKey": "Fbt5fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUopa6H3",
"fee": 2000000,
"type": 11,
"transferCount": 2,
"version": 1,
"totalAmount": 200000,
"attachment": "",
"sender": "3N9vL3apA4j2L5PojHW8TYmfHx9Lo2ZaKPB",
"proofs": [ "2gWpMWdgZCjbygCX5US3aAFftKtGPRSK3aWGJ6RDnWJf9hend5sBFAgY6u3Mp4jN8cqwaJ5o8qrKNedGN5CPN1GZ" ],
"assetId": null,
"transfers":
[
{
"recipient": "3MtHszoTn399NfsH3v5foeEXRRrchEVtTRB",
"amount": 100000
},
{
"recipient": "3N7BA6J9VUBfBRutuMyjF4yKTUEtrRFfHMc",
"amount": 100000
}
],
"id": "D9jUSHHcJqVAvkFMiRfDBhQbUzoSfQqd9cjaunMmtjdu",
"timestamp": 1551450279637,
"height": 1190
}
12. 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 |
+ (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] (base58) |
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
}
14. SponsorshipTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
+ |
+ |
+ |
Byte |
id |
+ |
Byte |
||
sender |
+ |
+ |
PublicKeyAccount |
|
sender’s public key |
+ |
+ |
PublicKeyAccount |
|
assetId |
+ (opt) |
+ |
+ |
ByteStr |
fee |
+ |
+ |
+ |
Long |
isEnabled |
+ |
+ |
+ |
Boolean |
timestamp |
+ (opt) |
+ |
+ |
Long |
proofs |
+ |
+ |
List[ByteStr] |
|
chainId |
+ |
+ |
Byte |
|
version |
+ |
+ |
+ |
Byte |
script |
+ (opt) |
+ |
+ |
Bytes |
name |
+ |
+ |
+ |
Array[Byte] |
description |
+ (opt) |
+ |
+ |
Array[Byte] (base58) |
password |
+ (opt) |
String |
||
height |
+ |
JSON to sign
{
"sender": "3JWDUsqyJEkVa1aivNPP8VCAa5zGuxiwD9t",
"assetId": "G16FvJk9vabwxjQswh9CQAhbZzn3QrwqWjwnZB3qNVox",
"fee": 100000000,
"isEnabled": false,
"type": 14,
"password": "1234",
"version": 1
}
Broadcasted JSON
{
"type": 14,
"id": "Ht6kpnQJHJskN8kwszF8rck3E5tQiuiM1fEN42wGfdk7",
"sender": "3JWDUsqyJEkVa1aivNPP8VCAa5zGuxiwD9t",
"senderPublicKey": "Gt55fKHesnQG2CXmsKf4TC8v9oB7bsy2AY56CUophy89",
"fee": 100000000,
"assetId": "G16FvJk9vabwxjQswh9CQAhbZzn3QrwqWjwnZB3qNVox",
"timestamp": 1545986757233,
"proofs": [ "5TfgYS2dqh8QyN7Vu2tAYaioX5WM6rTSDPGbt4zrWS7QKTzojmR2kjppvGNj4tDPsYPbcDunqBaqhaudLyMeGFh7" ],
"chainId": 84,
"version": 1,
"isEnabled": false,
"height": 3865
}
15. SetAssetScriptTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
+ |
+ |
+ |
Byte |
id |
+ |
Byte |
||
sender |
+ |
+ |
PublicKeyAccount |
|
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 |
+ |
|||
atomicBadge |
+ |
+ |
+ |
JSON to sign
{
"type": 102,
"sender": "3GLWx8yUFcNSL3DER8kZyE4TpyAyNiEYsKG",
"password": "",
"senderPublicKey": "4WnvQPit2Di1iYXDgDcXnJZ5yroKW54vauNoxdNeMi2g",
"fee": 0,
"target": "3GPtj5osoYqHpyfmsFv7BMiyKsVzbG1ykfL",
"opType": "add",
"role": "contract_developer",
"dueTimestamp": null,
"version": 1,
}
Broadcasted JSON
{
"senderPublicKey": "4WnvQPit2Di1iYXDgDcXnJZ5yroKW54vauNoxdNeMi2g",
"role": "contract_developer",
"sender": "3GLWx8yUFcNSL3DER8kZyE4TpyAyNiEYsKG",
"proofs": [
"5ABJCRTKGo6jmDZCRWcLQc257CCeczmcjmtfJmbBE7TP3KsVkwvisH9kEkfYPckVCzEMKZTCd3LKAPcN8o4Git3j"
],
"fee": 0,
"opType": "add",
"id": "8zVUH7nsDCcpwyfxiq8DCTgqL7Q23FW1KWepB9EZcFG6",
"type": 102,
"dueTimestamp": null,
"timestamp": 1559048837487,
"target": "3GPtj5osoYqHpyfmsFv7BMiyKsVzbG1ykfL"
}
103. CreateContractTransaction¶
Warning
The byte composition of the signed transaction should not exceed more than 150 KB.
The feeAssetId
field is optional and used only for gRPC contracts (the field value version = 2
).
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 |
fee assetId |
+ (opt) |
Byte |
1 |
||
image |
+ |
+ |
+ |
Array[Bytes] |
32767 |
imageHash |
+ |
+ |
+ |
Array[Bytes] |
32767 |
contractName |
+ |
+ |
+ |
Array[Bytes] |
32767 |
params |
+ |
+ |
+ |
List[DataEntry[_]] |
32767 |
height |
+ |
8 |
|||
atomicBadge |
+ |
+ |
+ |
32767 |
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.
The contractVersion
field specifies the contract version, the 1
value is for the new contract, and the 2
value is for the updated contract. This field is only available for the second version of the transaction - "version": 2,
. 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 |
|
fee |
+ |
+ |
+ |
Long |
8 |
timestamp |
+ (opt) |
+ |
+ |
Long |
8 |
proofs |
+ |
+ |
List[ByteStr] |
32767 |
|
version |
+ |
+ |
+ |
Byte |
1 |
contractVersion |
+ |
+ |
+ |
Byte |
1 |
contractId |
+ |
+ |
+ |
ByteStr |
32767 |
params |
+ |
+ |
+ |
List[DataEntry[_]] |
32767 |
height |
+ |
8 |
|||
password |
+ (opt) |
String |
32767 |
||
atomicBadge |
+ |
+ |
+ |
32767 |
JSON 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": 2,
"contractVersion": 1
}
Broadcasted JSON
{
"type": 104,
"id": "9fBrL2n5TN473g1gNfoZqaAqAsAJCuHRHYxZpLexL3VP",
"sender": "3PKyW5FSn4fmdrLcUnDMRHVyoDBxybRgP58",
"senderPublicKey": "2YvzcVLrqLCqouVrFZynjfotEuPNV9GrdauNpgdWXLsq",
"fee": 10,
"timestamp": 1549365736923,
"proofs": [ "2q4cTBhDkEDkFxr7iYaHPAv1dzaKo5rDaTxPF5VHryyYTXxTPvN9Wb3YrsDYixKiUPXBnAyXzEcnKPFRCW9xVp4v" ],
"version": 2,
"contractVersion": 1,
"contractId": "2sqPS2VAKmK77FoNakw1VtDTCbDSa7nqh5wTXvJeYGo2",
"params":
[
{
"key": "a",
"type": "integer",
"value": 1
},
{
"key": "b",
"type": "integer",
"value": 100
}
]
}
105. ExecutedContractTransaction¶
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 |
|
atomicBadge |
+ |
+ |
Broadcasted JSON
{
"type": 105,
"id": "38GmSVC5s8Sjeybzfe9RQ6p1Mb6ajb8LYJDcep8G8Umj",
"sender": "3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
"senderPublicKey": "3kW7vy6nPC59BXM67n5N56rhhAv38Dws5skqDsjMVT2M",
"password": "",
"fee": 500000,
"timestamp": 1550591780234,
"proofs": [ "5whBipAWQgFvm3myNZe6GDd9Ky8199C9qNxLBHqDNmVAUJW9gLf7t9LBQDi68CKT57dzmnPJpJkrwKh2HBSwUer6" ],
"version": 1,
"tx":
{
"type": 103,
"id": "ULcq9R7PvUB2yPMrmBdxoTi3bcRmQPT3JDLLLZVj4Ky",
"sender": "3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
"senderPublicKey": "3kW7vy6nPC59BXM67n5N56rhhAv38Dws5skqDsjMVT2M",
"fee": 500000,
"timestamp": 1550591678479,
"proofs": [ "yecRFZm9iBLyDy93bDVaNo1PR5Qkkic7196GAgUt9TNH1cnQphq4yGQQ8Fxj4BYA4TaqYVw5qxtWzGMPQyVeKYv" ],
"version": 1,
"image": "stateful-increment-contract:latest",
"imageHash": "7d3b915c82930dd79591aab040657338f64e5d8b842abe2d73d5c8f828584b65",
"contractName": "stateful-increment-contract",
"params": [],
"height": 1619
},
"results": [],
"height": 1619
}
106. DisableContractTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
+ |
+ |
+ |
Byte |
id |
+ |
Byte |
||
sender |
+ |
+ |
PublicKeyAccount |
|
sender’s public key |
+ |
+ |
PublicKeyAccount |
|
fee |
+ |
+ |
+ |
Long |
timestamp |
+ (opt) |
+ |
+ |
Long |
proofs |
+ |
+ |
List[ByteStr] |
|
version |
+ |
+ |
+ |
Byte |
contractId |
+ |
+ |
+ |
ByteStr |
height |
+ |
|||
password |
+ (opt) |
String |
||
atomicBadge |
+ |
+ |
+ |
JSON to sign
{
"sender": "3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
"password": "",
"contractId": "Fz3wqAWWcPMT4M1q6H7crLKtToFJvbeLSvqjaU4ZwMpg",
"fee": 500000,
"type": 106,
"version": 1,
}
Broadcasted JSON
{
"type": 106,
"id": "8Nw34YbosEVhCx18pd81HqYac4C2pGjyLKck8NhSoGYH",
"sender": "3N3YTj1tNwn8XUJ8ptGKbPuEFNa9GFnhqew",
"senderPublicKey": "3kW7vy6nPC59BXM67n5N56rhhAv38Dws5skqDsjMVT2M",
"fee": 500000,
"proofs": [ "5GqPQkuRvG6LPXgPoCr9FogAdmhAaMbyFb5UfjQPUKdSc6BLuQSz75LAWix1ok2Z6PC5ezPpjqzqnr15i3RQmaEc" ],
"version": 1,
"contractId": "Fz3wqAWWcPMT4M1q6H7crLKtToFJvbeLSvqjaU4ZwMpg",
"height": 1632
}
107. UpdateContractTransaction¶
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 |
+ (opt) |
+ |
+ |
Long |
8 |
proofs |
+ |
+ |
List[ByteStr] |
32767 |
|
version |
+ |
+ |
+ |
Byte |
1 |
contractId |
+ |
+ |
+ |
ByteStr |
32767 |
height |
+ |
8 |
|||
password |
+ (opt) |
String |
32767 |
||
atomicBadge |
+ |
+ |
+ |
32767 |
JSON to sign
{
"image" : "registry.wvservices.com/we-sc/tdm-increment3:1028.1",
"sender" : "3Mxxz9pBYS5fJMARJNQmzYUHxiWAtvMzSRT",
"password": "",
"fee" : 100000000,
"contractId" : "EnsihTUHSNAB9RcWXJbiWT98X3hYtCw3SBzK8nHQRCWA",
"imageHash" : "0e5d280b9acf6efd8000184ad008757bb967b5266e9ebf476031fad1488c86a3",
"type" : 107,
"version" : 1
}
Broadcasted JSON
{
"senderPublicKey":"5qBRDm74WKR5xK7LPs8vCy9QjzzqK4KCb8PL36fm55S3kEi2XZETHFgMgp3D13AwgE8bBkYrzvEvQZuabMfEyJwW",
"tx":
{
"senderPublicKey":"5qBRDm74WKR5xK7LPs8vCy9QjzzqK4KCb8PL36fm55S3kEi2XZETHFgMgp3D13AwgE8bBkYrzvEvQZuabMfEyJwW",
"image":"registry.wvservices.com/we-sc/tdm-increment3:1028.1",
"sender":"3Mxxz9pBYS5fJMARJNQmzYUHxiWAtvMzSRT",
"proofs":["3tNsTyteeZrxEbVSv5zPT6dr247nXsVWR5v7Khx8spypgZQUdorCQZV2guTomutUTcyxhJUjNkQW4VmSgbCtgm1Z"],
"fee":0,
"contractId":"EnsihTUHSNAB9RcWXJbiWT98X3hYtCw3SBzK8nHQRCWA",
"id":"HdZdhXVveMT1vYzGTviCoGQU3aH6ZS3YtFpYujWeGCH6",
"imageHash":"17d72ca20bf9393eb4f4496fa2b8aa002e851908b77af1d5db6abc9b8eae0217",
"type":107,"version":1,"timestamp":1572355661572},
"sender":"3HfRBedCpWi3vEzFSKEZDFXkyNWbWLWQmmG",
"proofs":["28ADV8miUVN5EFjhqeFj6MADSXYjbxA3TsxSwFVs18jXAsHVaBczvnyoUSaYJsjRNmaWgXbpbduccRxpKGTs6tro"],
"fee":0,"id":"7niVY8mjzeKqLBePvhTxFRfLu7BmcwVfqaqtbWAN8AA2",
"type":105,
"version":1,
"results":[],
"timestamp":1572355666866
}
}
110. GenesisRegisterNodeTransaction¶
Field |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|
type |
+ |
+ |
Byte |
id |
+ |
Byte |
|
fee |
+ |
Long |
|
timestamp |
+ |
+ |
Long |
signature |
+ |
Bytes |
|
version |
+ |
Byte |
|
targetPubKey |
+ |
+ |
|
height |
+ |
111. RegisterNodeTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
+ |
+ |
+ |
Byte |
id |
+ |
Byte |
||
sender |
+ |
+ |
PublicKeyAccount |
|
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,
}
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 (base58) |
password |
+ (opt) |
String |
||
version |
+ |
+ |
+ |
Byte |
atomicBadge |
+ |
+ |
+ |
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,
"version": 1,
}
113. UpdatePolicyTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
+ |
+ |
+ |
Byte |
id |
+ |
+ |
Byte |
|
sender |
+ |
+ |
+ |
PublicKeyAccount |
sender’s public key |
+ |
+ |
PublicKeyAccount |
|
policyId |
+ |
+ |
+ |
String |
recipients |
+ |
+ |
+ |
Array[Byte] |
owners |
+ |
+ |
+ |
Array[Byte] |
fee |
+ |
+ |
+ |
Long |
timestamp |
+ |
+ |
Long |
|
proofs |
+ |
+ |
List[ByteStr] |
|
height |
+ |
Long |
||
opType |
+ |
+ |
+ |
|
description |
+ |
+ |
+ |
String (base58) |
password |
+ |
String |
||
version |
+ |
+ |
+ |
Byte |
atomicBadge |
+ |
+ |
+ |
JSON to sign
{
"policyId": "7wphGbhqbmUgzuN5wzgqwqtViTiMdFezSa11fxRV58Lm",
"password":"[email protected]#$fsdf()*%",
"sender": "3NkZd8Xd4KsuPiNVsuphRNCZE3SqJycqv8d",
"recipients": [
"3NkZd8Xd4KsuPiNVsuphRNCZE3SqJycqv8d",
"3NotQaBygbSvYZW4ftJ2ZwLXex4rTHY1Qzn",
"3Nm84ERiJqKfuqSYxzMAhaJXdj2ugA7Ve7T",
"3NtNJV44wyxRXv2jyW3yXLxjJxvY1vR88TF",
"3NxAooHUoLsAQvxBSqjE91WK3LwWGjiiCxx",
"3NwJfjG5RpaDfxEhkwXgwD7oX21NMFCxJHL"
],
"fee": 15000000,
"opType": "add",
"owners": [
"3NkZd8Xd4KsuPiNVsuphRNCZE3SqJycqv8d",
"3NotQaBygbSvYZW4ftJ2ZwLXex4rTHY1Qzn",
"3Nm84ERiJqKfuqSYxzMAhaJXdj2ugA7Ve7T"
],
"type": 113,
"version": 1,
}
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 |
|
version |
+ |
+ |
Byte |
atomicBadge |
+ |
+ |
120. AtomicTransaction¶
The transaction places other transaction into a container for their atomic execution. This transaction supports following transactions for containerization:
4 Assets transfer, version 3
102 Adding / removing permissions, version 2
103 Contract creation, version 3
104 Contract calling, version 4
105 Contract execution, versions 1 and 2
106 Contract disabling, version 3
107 Contract updating, version 3
112 Privacy group creation, version 3
113 Privacy group updating, version 3
114 Privacy data edding, version 3
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] |
|
height |
+ |
Long |
||
transactions |
+ |
+ |
+ |
|
miner |
+ |
+ |
String |
|
password |
+ |
String |
||
version |
+ |
+ |
Byte |
JSON to sign
{
"sender": sender_0,
"transactions": [
signed_transfer_tx,
signed_transfer_tx2
],
"type": 120,
"version": 1,
"password":"lskjbJJk$%^#298",
"fee": 0,
}
Request sample
{'sender': '3MufokZsFzaf7heTV1yreUtm1uoJXPoFzdP',
'transactions': [
{'senderPublicKey': '5nGi8XoiGjjyjbPmjLNy1k2bus4yXLaeuA3Hb7BikwD9tboFwFXJYUmto5Joox76c3pp2Mr1LjgodUJuxryCJofQ', 'amount': 10, 'fee': 10000000, 'type': 4, 'version': 3, 'atomicBadge': {'trustedSender': '3MufokZsFzaf7heTV1yreUtm1uoJXPoFzdP'}, 'attachment': '', 'sender': '3Mv79dyPX2cvLtRXn1MDDWiCZMBrkw9d97c', 'feeAssetId': None, 'proofs': ['XQ7iAqkarmm14AATc2Y9cR3Z9WnirsH4kH6RUL4QdT82rEwsmWBbBfWrADLE9o4cp2VR39W6b3vdrwFgg1dX7m3'], 'assetId': None, 'recipient': '3MufokZsFzaf7heTV1yreUtm1uoJXPoFzdP', 'id': 'FZ59wAZnkFUqXjn61vvyj59fRa3cuS6nzuW3vqoRMsM5', 'timestamp': 1602857131666}, {'senderPublicKey': '56rV5kcR9SBsxQ9LtNrmp6V72S4BDkZUJaA6ujZswDneDmCTmeSG6UE2FQP1rPXdfpWQNunRw4aijGXxoK3o4puj', 'amount': 20, 'fee': 10000000, 'type': 4, 'version': 3, 'atomicBadge': {'trustedSender': '3MufokZsFzaf7heTV1yreUtm1uoJXPoFzdP'}, 'attachment': '', 'sender': '3MufokZsFzaf7heTV1yreUtm1uoJXPoFzdP', 'feeAssetId': None, 'proofs': ['5KaXUFan2JD6VsJeGNyBCXEwqCjUF1nASAzxjnPZzBydXA5RJyXQGaL6N9MQ8GDNori1nXw5FsDLBqc3CPM3ezsk'], 'assetId': None, 'recipient': '3Mv79dyPX2cvLtRXn1MDDWiCZMBrkw9d97c', 'id': '8GTqE1cc6zTVxYgQxgHJWJitVsDFRc6GmU5FJcnp5gu2', 'timestamp': 1602857132314}
],
'type': 120,
'version': 1}