Транзакции¶
В этом разделе приведена структура хранения транзакций в блокчейн-платформе Waves Enterprise. Для некоторых типов транзакций введено версионирование.
Важно
Все транзакции используют поле timestamp
, содержащее временную метку в формате Unix Timestamp в миллисекундах.
№ |
Тип транзакции |
Комиссия |
Описание |
---|---|---|---|
1 |
отсутствует |
Первоначальная привязка баланса к адресам создаваемых при старте блокчейна нод |
|
3 |
1WEST |
Выпуск токенов |
|
4 |
0.01WEST |
Перевод токенов |
|
5 |
1WEST |
Перевыпуск токенов |
|
6 |
0.05WEST |
Сжигание токенов |
|
8 |
0.01WEST |
Передача токенов в аренду |
|
9 |
0.01WEST |
Отмена аренды токенов |
|
10 |
1WEST |
Создание псевдонима |
|
11 |
0.05WEST |
Массовый перевод токенов. Указана минимальная комиссия |
|
12 |
0.05WEST |
Транзакция с данными в виде полей с парой ключ-значение. Указана минимальная комиссия |
|
13 |
0.5WEST |
Транзакция, привязывающая скрипт с RIDE-контрактом к аккаунту |
|
15 |
1WEST |
Транзакция, привязывающая скрипт с RIDE-контрактом к ассету |
|
101 |
отсутствует |
Назначение первого администратора сети для дальнейшей раздачи прав |
|
102 |
0.01WEST |
Выдача/отзыв прав у аккаунта |
|
103 |
1WEST |
Создание Docker-контракта |
|
104 |
0.1WEST |
Вызов Docker-контракта |
|
105 |
отсутствует |
Выполнение Docker-контракта |
|
106 |
0.1WEST |
Отключение Docker-контракта |
|
107 |
1WEST |
Обновление Docker-контракта |
|
110 |
отсутствует |
Регистрация ноды в генезис-блоке при старте блокчейна |
|
111 |
0.01WEST |
Регистрация новой ноды в сети |
|
112 |
1WEST |
Создание группы доступа к конфиденциальным данным |
|
113 |
0.5WEST |
Изменение группы доступа |
|
114 |
0.05WEST |
Отправка в сеть хеша данных |
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. issueTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
Byte |
|||
id |
Byte |
|||
sender |
PublicKeyAccount |
|||
senderPublicKey |
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 для вызова метода 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. TransferTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
Byte |
|||
id |
Byte |
|||
sender |
PublicKeyAccount |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
recipient |
ByteStr |
|||
assetId |
|
ByteStr |
||
feeAssetId |
|
Bytes |
||
amount |
Long |
|||
attachment |
|
Bytes |
||
password |
|
String |
||
height |
JSON для вызова метода 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. ReissueTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
Byte |
|||
id |
Byte |
|||
sender |
PublicKeyAccount |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
chainId |
Byte |
|||
assetId |
ByteStr |
|||
quantity |
Long |
|||
reissuable |
Boolean |
|||
password |
|
String |
||
height |
JSON для вызова метода 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. BurnTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
Byte |
|||
id |
Byte |
|||
sender |
PublicKeyAccount |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
chainId |
Byte |
|||
assetId |
ByteStr |
|||
quantity |
Long |
|||
amount |
Long |
|||
password |
|
String |
||
height |
JSON для вызова метода 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. LeaseTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
Byte |
|||
id |
Byte |
|||
sender |
PublicKeyAccount |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
amount |
Long |
|||
recipient |
ByteStr |
|||
status |
||||
password |
|
String |
||
height |
JSON для вызова метода 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. LeaseCancelTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
Byte |
|||
id |
Byte |
|||
sender |
PublicKeyAccount |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
chainId |
Byte |
|||
leaseId |
|
Byte |
||
lease |
||||
password |
|
String |
||
height |
JSON для вызова метода 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. CreateAliasTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
Byte |
|||
id |
Byte |
|||
sender |
PublicKeyAccount |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
alias |
Bytes |
|||
password |
|
String |
||
height |
JSON для вызова метода 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. MassTransferTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
Byte |
|||
id |
Byte |
|||
sender |
PublicKeyAccount |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
assetId |
|
ByteStr |
||
attachment |
|
|||
transfers |
List[Transfer] |
|||
transferCount |
||||
totalAmount |
||||
password |
|
String |
||
height |
JSON для вызова метода 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. DataTransaction¶
Предупреждение
Транзакция имеет ограничения:
Количество данных в секции «data» передаваемого JSON должно быть не более 100 пар
"key":"value"
,"data": [ { "key": "objectId", "type": "string", "value": "obj:123:1234" }, {...} ]
Байтовое представление транзакции после подписания не должно превышать размер в 150 КБ.
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
Size (Bytes) |
---|---|---|---|---|---|
type |
Byte |
1 |
|||
id |
Byte |
1 |
|||
sender |
PublicKeyAccount |
3264 |
|||
senderPublicKey |
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 для вызова метода 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. SetScriptTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
Byte |
|||
id |
Byte |
|||
sender |
PublicKeyAccount |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
chainId |
Byte |
|||
version |
Byte |
|||
script |
|
Bytes |
||
name |
Array[Byte] |
|||
description |
|
Array[Byte] |
||
password |
|
String |
||
height |
JSON для вызова метода 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 |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
chainId |
Byte |
|||
assetId |
ByteStr |
|||
script |
|
Bytes |
||
password |
|
String |
||
height |
JSON для вызова метода 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. PermitTransaction¶
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|---|
type |
Byte |
|||
id |
Byte |
|||
sender |
PublicKeyAccount |
|||
senderPublicKey |
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 для вызова метода 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¶
Предупреждение
Байтовое представление транзакции после подписания не должно превышать размер в 150 КБ.
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
Size(Bytes) |
---|---|---|---|---|---|
type |
Byte |
1 |
|||
id |
Byte |
1 |
|||
sender |
PublicKeyAccount |
3264 |
|||
senderPublicKey |
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 для вызова метода 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¶
Предупреждение
Байтовое представление транзакции после подписания не должно превышать размер в 150 КБ.
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
Size(Bytes) |
---|---|---|---|---|---|
type |
Byte |
1 |
|||
id |
Byte |
1 |
|||
sender |
PublicKeyAccount |
3264 |
|||
senderPublicKey |
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 для вызова метода 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¶
Предупреждение
Байтовое представление транзакции после подписания не должно превышать размер в 150 КБ.
Field |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|
type |
Byte |
||
id |
Byte |
||
sender |
PublicKeyAccount |
||
senderPublicKey |
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 |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
contractId |
ByteStr |
|||
height |
||||
password |
|
String |
JSON для вызова метода 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¶
Предупреждение
Байтовое представление транзакции после подписания не должно превышать размер в 150 КБ.
Field |
JSON to sign |
Broadcasted JSON |
Blockchain state |
Type |
Size(Bytes) |
---|---|---|---|---|---|
type |
Byte |
1 |
|||
id |
Byte |
1 |
|||
sender |
PublicKeyAccount |
3264 |
|||
senderPublicKey |
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 для вызова метода 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 |
|||
senderPublicKey |
PublicKeyAccount |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
version |
Byte |
|||
targetPubKey |
PublicKeyAccount |
|||
nodeName |
String |
|||
opType |
||||
height |
||||
password |
|
String |
JSON для вызова метода 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 |
|||
senderPublicKey |
PublicKeyAccount |
|||
policyName |
String |
|||
recipients |
Array[Byte] |
|||
owners |
Array[Byte] |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
height |
Long |
|||
description |
String |
|||
password |
|
String |
JSON для вызова метода 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 |
|||
senderPublicKey |
PublicKeyAccount |
|||
policyName |
String |
|||
recipients |
Array[Byte] |
|||
owners |
Array[Byte] |
|||
fee |
Long |
|||
timestamp |
|
Long |
||
proofs |
List[ByteStr] |
|||
height |
Long |
|||
opType |
||||
description |
String |
|||
password |
|
String |
JSON для вызова метода 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¶
Когда пользователь отправляет конфиденциальные данные в сеть при помощи POST /privacy/sendData, нода автоматически формирует транзакцию 114.
Field |
Broadcasted JSON |
Blockchain state |
Type |
---|---|---|---|
type |
Byte |
||
id |
Byte |
||
sender |
PublicKeyAccount |
||
senderPublicKey |
PublicKeyAccount |
||
policyId |
String |
||
dataHash |
String |
||
fee |
Long |
||
timestamp |
Long |
||
proofs |
List[ByteStr] |
||
height |
Long |