Skip to main content

Transactional JSON-RPC Methods


account_put_deploy

This is the only means by which users can send their compiled Wasm (as part of a Deploy) to a node on a Casper network. The request takes in the Deploy as a parameter, prior to sending it to a node on a network for execution.

ParameterTypeDescription
deployObjectA Deploy consists of an item containing a smart contract along with the requester's signature(s).

Note: You can find a list of trusted peers in the network's configuration file, config.toml. Here is an example config.toml. You may send deploys to one of the trusted nodes or use them to query other online nodes.

Example account_put_deploy request

{
"id": 1,
"jsonrpc": "2.0",
"method": "account_put_deploy",
"params": [
{
"approvals": [
{
"signer": "01f8b29f39c38600ecb3bbb082951e04ab63a4ad4f7c9048a5057e461a5a8d58a5",
"signature": "019d6ef5c62c80ad4e50df343fba6f0fced17dea4c65e7976f66335ffcfcde2a7f02e928c8507cef3c76c3151e0e9cc9c3f7838b9f7a99ac4be5522ca092841100"
}
],
"hash": "00a8677713222df88b6988926e0b14adeda6c663957f5075003395da4e5c6888",
"header": {
"account": "01f8b29f39c38600ecb3bbb082951e04ab63a4ad4f7c9048a5057e461a5a8d58a5",
"body_hash": "145ae09d6da5bc290051db8cb7132a41a30473d5900eaaf409d92b666325ca00",
"chain_name": "casper-net-1",
"dependencies": [
"0101010101010101010101010101010101010101010101010101010101010101"
],
"gas_price": 1,
"timestamp": "2023-09-26T14:07:10.024Z",
"ttl": "1h"
},
"payment": {
"StoredContractByName": {
"args": [
[
"amount",
{
"bytes": "0400f90295",
"cl_type": "U512"
}
]
],
"entry_point": "example-entry-point",
"name": "casper-example"
}
},
"session": {
"Transfer": {
"args": [
[
"amount",
{
"cl_type": "U512",
"bytes": "0400f90295"
}
],
[
"target",
{
"cl_type": "URef",
"bytes": "09480c3248ef76b603d386f3f4f8a5f87f597d4eaffd475433f861af187ab5db07"
}
]
]
}
}
}
]
}

account_put_deploy_result

The result contains the deploy_hash, which is the primary identifier of a Deploy within a Casper network.

ParameterTypeDescription
api_versionStringThe RPC API version.
deploy_hashStringA hex-encoded hash of the Deploy as sent.
Example account_put_deploy result

{
"id": 1,
"jsonrpc": "2.0",
"result": {
"api_version": "1.4.13",
"deploy_hash": "5c9b3b099c1378aa8e4a5f07f59ff1fcdc69a83179427c7e67ae0377d94d93fa"
}
}

speculative_exec

The speculative_exec endpoint provides a method to execute a Deploy without committing its execution effects to global state. By default, speculative_exec is disabled on a node. Sending a request to a node with the endpoint disabled will result in an error message. If enabled, speculative_exec operates on a separate port from the primary JSON-RPC, using 7778.

speculative_exec executes a Deploy at a specified block. In the case of this endpoint, the execution effects are not committed to global state. As such, it can be used for observing the execution effects of a Deploy without paying for the execution of the Deploy.

ParameterTypeDescription
block_identifierObjectThe block hash or height on top of which to execute the deploy. If not supplied,the most recent block will be used.
deployObjectA Deploy consists of an item containing a smart contract along with the requester's signature(s).
Example speculative_exec request

{
"jsonrpc": "2.0",
"method": "speculative_exec",
"params": {
"block_identifier": null,
"deploy": {
"hash": "b6aa46333fb858deee7f259a5bca581251c6200a5d902aeb1244c3a7169b5971",
"header": {
"account": "01a2905e4680aa49e0b44100d9dfc861b9605bb35f9956b1e99eb43863363d80aa",
"timestamp": "2023-05-23T13:32:45.554Z",
"ttl": "30m",
"gas_price": 1,
"body_hash": "74db109805bb20de43ef89a5b084544a858908b236601519d5827cd9b7fbb925",
"dependencies": [],
"chain_name": "integration-test"
},
"payment": {
"ModuleBytes": {
"module_bytes": "",
"args": [
[
"amount",
{
"cl_type": "U512",
"bytes": "0400e1f505",
"parsed": "100000000"
}
]
]
}
},
"session": {
"Transfer": {
"args": [
[
"amount",
{
"cl_type": "U512",
"bytes": "0400f90295",
"parsed": "2500000000"
}
],
[
"target",
{
"cl_type": "PublicKey",
"bytes": "01265ea737411b349ad3d0fc724c2c588acd2765c057e5c690cd5e3dade401782b",
"parsed": "01265ea737411b349ad3d0fc724c2c588acd2765c057e5c690cd5e3dade401782b"
}
],
[
"id",
{
"cl_type": {
"Option": "U64"
},
"bytes": "010000000000000000",
"parsed": 0
}
]
]
}
},
"approvals": [
{
"signer": "01a2905e4680aa49e0b44100d9dfc861b9605bb35f9956b1e99eb43863363d80aa",
"signature": "01c94d517d5bbc8d5c74e0e68b8cb308561ff979a1c91907b56d427cc90156c437726c0b736d17f7303f2db66e405c7e5c8175b8b863703938eff1659766dff808"
}
]
}
},
"id": 6889533540839698701
}

speculative_exec_result

The result contains the hash of the targeted block and the results of the execution.

ParameterTypeDescription
api_versionStringThe RPC API version.
block_hashObjectThe Block hash on top of which the deploy was executed.
execution_resultsObjectThe map of Block hash to execution result.
Example speculative_exec result

{
"jsonrpc": "2.0",
"id": -8801853076373554652,
"result": {
"api_version": "1.5.0",
"block_hash": "ff862326b08702a5089d64e32100537b7ff984cac4c0ba6d1c561f7c47125f76",
"execution_result": {
"Success": {
"effect": {
"operations": [],
"transforms": [
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "account-hash-f466e7f5f9240fb577d1d4c650c4063752553406dff7aa24b4822ba2b72e5b65",
"transform": "Identity"
},
{
"key": "account-hash-f466e7f5f9240fb577d1d4c650c4063752553406dff7aa24b4822ba2b72e5b65",
"transform": "Identity"
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "hash-0a300922655180354a9ee92b808c7b45b08e5b01d9da0bac9a9b3415bcebbf8d",
"transform": "Identity"
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "hash-59c6451dd58463708fa0b122e97114f07fa5f609229c9d67ac9426935416fbeb",
"transform": "Identity"
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "balance-7c25ef9382fcae902b922866434f7111a1b34534323e93ff5bf22f1a401c2678",
"transform": "Identity"
},
{
"key": "balance-ea3c9bdcbe57f067a29609d397981b2d0fb39853a0a9f06e444b06404eadcb1a",
"transform": "Identity"
},
{
"key": "balance-7c25ef9382fcae902b922866434f7111a1b34534323e93ff5bf22f1a401c2678",
"transform": {
"WriteCLValue": {
"cl_type": "U512",
"bytes": "05f0e630ed87",
"parsed": "583799990000"
}
}
},
{
"key": "balance-ea3c9bdcbe57f067a29609d397981b2d0fb39853a0a9f06e444b06404eadcb1a",
"transform": {
"AddUInt512": "100000000"
}
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "account-hash-f466e7f5f9240fb577d1d4c650c4063752553406dff7aa24b4822ba2b72e5b65",
"transform": "Identity"
},
{
"key": "account-hash-f466e7f5f9240fb577d1d4c650c4063752553406dff7aa24b4822ba2b72e5b65",
"transform": "Identity"
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "hash-0a300922655180354a9ee92b808c7b45b08e5b01d9da0bac9a9b3415bcebbf8d",
"transform": "Identity"
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "hash-59c6451dd58463708fa0b122e97114f07fa5f609229c9d67ac9426935416fbeb",
"transform": "Identity"
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "balance-7c25ef9382fcae902b922866434f7111a1b34534323e93ff5bf22f1a401c2678",
"transform": "Identity"
},
{
"key": "balance-ea3c9bdcbe57f067a29609d397981b2d0fb39853a0a9f06e444b06404eadcb1a",
"transform": "Identity"
},
{
"key": "balance-7c25ef9382fcae902b922866434f7111a1b34534323e93ff5bf22f1a401c2678",
"transform": {
"WriteCLValue": {
"cl_type": "U512",
"bytes": "05f0e630ed87",
"parsed": "583799990000"
}
}
},
{
"key": "balance-ea3c9bdcbe57f067a29609d397981b2d0fb39853a0a9f06e444b06404eadcb1a",
"transform": {
"AddUInt512": "100000000"
}
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "hash-59c6451dd58463708fa0b122e97114f07fa5f609229c9d67ac9426935416fbeb",
"transform": "Identity"
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "balance-7c25ef9382fcae902b922866434f7111a1b34534323e93ff5bf22f1a401c2678",
"transform": "Identity"
},
{
"key": "balance-92ec6dfbdf151e20b55c89e0a327959cf6e5b091c5f2b39201c1858e2943f3bd",
"transform": "Identity"
},
{
"key": "balance-7c25ef9382fcae902b922866434f7111a1b34534323e93ff5bf22f1a401c2678",
"transform": {
"WriteCLValue": {
"cl_type": "U512",
"bytes": "05f0ed2d5887",
"parsed": "581299990000"
}
}
},
{
"key": "balance-92ec6dfbdf151e20b55c89e0a327959cf6e5b091c5f2b39201c1858e2943f3bd",
"transform": {
"AddUInt512": "2500000000"
}
},
{
"key": "transfer-97426c848475dae98446f2c2fd00ec7901cd8ddfe250171ff4ed25d78412a612",
"transform": {
"WriteTransfer": {
"deploy_hash": "d898910011b1f2f8797a442740e69cd5de41b9f796e658e962a24663e6199e5a",
"from": "account-hash-0a9b33af5108c5a6e1067b0ddec6853ce1745d591375d767ac5db680d21845e7",
"to": "account-hash-f466e7f5f9240fb577d1d4c650c4063752553406dff7aa24b4822ba2b72e5b65",
"source": "uref-7c25ef9382fcae902b922866434f7111a1b34534323e93ff5bf22f1a401c2678-007",
"target": "uref-92ec6dfbdf151e20b55c89e0a327959cf6e5b091c5f2b39201c1858e2943f3bd-004",
"amount": "2500000000",
"gas": "0",
"id": 0
}
}
},
{
"key": "deploy-d898910011b1f2f8797a442740e69cd5de41b9f796e658e962a24663e6199e5a",
"transform": {
"WriteDeployInfo": {
"deploy_hash": "d898910011b1f2f8797a442740e69cd5de41b9f796e658e962a24663e6199e5a",
"transfers": [
"transfer-97426c848475dae98446f2c2fd00ec7901cd8ddfe250171ff4ed25d78412a612"
],
"from": "account-hash-0a9b33af5108c5a6e1067b0ddec6853ce1745d591375d767ac5db680d21845e7",
"source": "uref-7c25ef9382fcae902b922866434f7111a1b34534323e93ff5bf22f1a401c2678-007",
"gas": "100000000"
}
}
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "hash-0a300922655180354a9ee92b808c7b45b08e5b01d9da0bac9a9b3415bcebbf8d",
"transform": "Identity"
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "balance-ea3c9bdcbe57f067a29609d397981b2d0fb39853a0a9f06e444b06404eadcb1a",
"transform": "Identity"
},
{
"key": "hash-d2dfc9409965993f9e186db762b585274dcafe439fa1321cfca08017262c8e46",
"transform": "Identity"
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "hash-59c6451dd58463708fa0b122e97114f07fa5f609229c9d67ac9426935416fbeb",
"transform": "Identity"
},
{
"key": "hash-f8df015ba26860a7ec8cab4ee99f079325b0bbb9ef0e7810b63d85df39da95fe",
"transform": "Identity"
},
{
"key": "balance-ea3c9bdcbe57f067a29609d397981b2d0fb39853a0a9f06e444b06404eadcb1a",
"transform": "Identity"
},
{
"key": "balance-ecc530e74cf2185936a334aa1e0f07539aa3b33c4b547e71fc4109151755652f",
"transform": "Identity"
},
{
"key": "balance-ea3c9bdcbe57f067a29609d397981b2d0fb39853a0a9f06e444b06404eadcb1a",
"transform": {
"WriteCLValue": {
"cl_type": "U512",
"bytes": "00",
"parsed": "0"
}
}
},
{
"key": "balance-ecc530e74cf2185936a334aa1e0f07539aa3b33c4b547e71fc4109151755652f",
"transform": {
"AddUInt512": "100000000"
}
}
]
},
"transfers": [
"transfer-97426c848475dae98446f2c2fd00ec7901cd8ddfe250171ff4ed25d78412a612"
],
"cost": "100000000"
}
}
}
}