Set Script
Transaction to create a smart account
Smart accounts have a custom script that defines how transactions should be validated. The script needs to be compiled by the node before it's broadcasted as a transaction.
Scripts are written in the Ride programming language.
{
"type": 13,
"version": 3,
"id": "BGUEn2TERW4nnAQuXYgJ3z6qp28ivk3kykb724wV7MZz",
"sender": "3MtHYnCkd3oFZr21yb2vEdngcSGXvuNNCq2",
"senderKeyType": "ed25519",
"senderPublicKey": "4EcSxUkMxqxBEBUBL2oKz3ARVsbyRJTivWpNrYQGdguz",
"script": "base64:AQkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmmsz2x",
"timestamp": 1519862400,
"fee": 500000000,
"proofs": [
"jxW9T2iUSQ68yv41Wj8JKb8HykwzKzbuHLBG6eySLaXk45rNbDo3zr2AS9bGMggrBZUUJQTFjKHeiD1q69pPUxY"
],
"height": 1248629
}Examples
Restrict account
The "Restrict Account" script disables transfers from the account, it also disables modifying the script. This means that any funds on the account can only be used for staking/leasing and paying transaction fees.
Binary schema
The binary data structure of the unsigned transaction.
1
Transaction type
Byte (constant, value=4)
1
2
Version
Byte (constant, value=3)
1
3
Network id
Byte
1
4
Timestamp
Long
8
5
Sender's key type
KeyType (Byte)
1
6
Sender's public key
PublicKey (Array[Byte])
32 | 33
7
Fee
Long
8
8
Script length (N)
Short
2
9
Script
Array[Byte]
N
1
Transaction type
Byte (constant, value=4)
1
2
Version
Byte (constant, value=1)
1
3
Network id
Byte
1
4
Sender's public key
PublicKey (Array[Byte])
32
5
Includes script
Boolean (Byte)
1
6
Script length (N)
Short
2
7
Script
Array[Byte]
N
8
Fee
Long
8
9
Timestamp
Long
8
If the transaction doesn't include a script, the script length and script should be omitted from the binary data.
Last updated