Deploy represents a request from a user to perform computation on casper platform. It has the following information:
- Deploy hash: the blake2b256 hash of the Header
- Header: containing
- the identity key of the account the deploy will run in
- the timestamp when the deploy was created
- a time to live, after which the deploy is expired and cannot be included in a block
- the blake2b256 hash of the body
- Body: containing payment code and session code
- Approvals: the set of signatures which have signed the deploy hash, these are used in the account permissions model
Each deploy is an atomic piece of computation in the sense that, whatever effects a deploy would have on the global state must be entirely included in a block or the entire deploy must not be included in a block.
getHash(): arrayReturns a deploy hash byte array
getHeader(): DeployHeaderReturns DeployHeader object
getPayment(): DeployExecutableReturns DeployExecutable object that representing a deploy payment
isStandardPayment(): boolReturns true if deploy payment is standard payment
getSession(): DeployExecutableReturns DeployExecutable object that representing a deploy session
isTransfer(): boolReturns true if a deploy session is transfer
getApprovals(): arrayReturn a list of DeployApproval objects
pushApproval(DeployApproval $approval): selfPush DeployApproval to deploy and returns self object
| Name | Type | Description | Required |
|---|---|---|---|
$approval |
DeployApproval |
DeployApproval object | Yes |
Below is an example of a deploy JSON returned by node RPC API
{
"hash": "c1234567894c930b5d181d7ad3ebb07ecd38d732d10c90ceef44de16d3ac8e1f",
"header": {
"account": "01112123456789880b663120990bada942107b8dd0f179a0d665310d4e527117a1",
"timestamp": "2021-01-01T00:00:00.000Z",
"ttl": "30m",
"gas_price": 1,
"body_hash": "cf3f31234567899c732a76dc7c519d474d42d80cbdbb7bef6d501fa2d80f9c95",
"dependencies": [],
"chain_name": "casper"
},
"payment": {
"ModuleBytes": {
"module_bytes": "",
"args": [
[
"amount",
{
"cl_type": "U512",
"bytes": "021027",
"parsed": "10000"
}
]
]
}
},
"session": {
"Transfer": {
"args": [
[
"amount",
{
"cl_type": "U512",
"bytes": "06f08096ef582d",
"parsed": "49859999990000"
}
],
[
"target",
{
"cl_type": {
"ByteArray": 32
},
"bytes": "c62a112345678934b388cd3070a2039b315390ebe77fbf3b12e30c61470a17b9",
"parsed": "c62a1908e528c734b388cd3070a2039123456789e77fbf3b12e30c61470a17b9"
}
],
[
"id",
{
"cl_type": {
"Option": "U64"
},
"bytes": "010100000000000000",
"parsed": 1
}
]
]
}
},
"approvals": [
{
"signer": "011125a8ec21234567893120990bada942107b8dd0f179a0d665310d4e527117a1",
"signature": "01041ccca62700ce75b55f123456789301444893c0a2f379950a8a942d91ec0ee14f00d0bcb38703a4908adcb3076757b5f88f6c54d491c9caa4a96f310f8b1408"
}
]
}