CreateTransaction


Create a new Transaction object and send it to the network to be process.
See Quick Start in Javascript-SDK for an example of how to construct a Transaction object.

Example Request

curl -d '{
"id": "1",
"jsonrpc": "2.0",
"method": "CreateTransaction",
"params": [{
"version": 65537,
"nonce": 1,
"toAddr": "0x4BAF5faDA8e5Db92C3d3242618c5B47133AE003C",
"amount": "1000000000000",
"pubKey": "0205273e54f262f8717a687250591dcfb5755b8ce4e3bd340c7abefd0de1276574",
"gasPrice": "1000000000",
"gasLimit": "1",
"code": "",
"data": "",
"signature": "29ad673848dcd7f5168f205f7a9fcd1e8109408e6c4d7d03e4e869317b9067e636b216a32314dd37176c35d51f9d4c24e0e519ba80e66206457c83c9029a490d",
"priority": false
}]
}' -H "Content-Type: application/json" -X POST "https://api.zilliqa.com/"

Example Response

{
"id": "1",
"jsonrpc": "2.0",
"result": {
"Info": "Non-contract txn, sent to shard",
/*
Other possible Info:
Contract Creation txn, sent to shard
Contract Txn, Shards Match of the sender and reciever
Contract Txn, Sent To Ds
*/
"TranID": "2d1eea871d8845472e98dbe9b7a7d788fbcce226f52e4216612592167b89042c"
}
}

HTTP Request

Chain(s)URL(s)
Zilliqa mainnethttps://api.zilliqa.com/
Developer testnethttps://dev-api.zilliqa.com/
Local testnethttp://localhost:4201/
Isolated serverhttp://localhost:5555/

Arguments

ParameterTypeRequiredDescription
idstringRequired"1"
jsonrpcstringRequired"2.0"
methodstringRequired"CreateTransaction"
paramsN/ARequiredSee table below for the Transaction parameters required:

Transaction Parameters

ParameterTypeRequiredDescription
versionnumberRequiredThe decimal conversion of the bitwise concatenation of CHAIN_ID and MSG_VERSION parameters.

- For mainnet, it is 65537.
- For Developer testnet, it is 21823489.
noncenumberRequiredA transaction counter in each account. This prevents replay attacks where a transaction sending eg. 20 coins from A to B can be replayed by B over and over to continually drain A's balance.

It's value should be Current account nonce + 1.
toAddrstringRequiredRecipient's account address. This is represented as a String.

NOTE: This address has to be checksummed for every 6th bit, but the "0x" prefix is optional.

For deploying new contracts, set this to "0000000000000000000000000000000000000000".
amountstringRequiredTransaction amount to be sent to the recipent's address. This is measured in the smallest price unit Qa (or 10^-12 Zil) in Zilliqa.
pubKeystringRequiredSender's public key of 33 bytes.
gasPricestringRequiredAn amount that a sender is willing to pay per unit of gas for processing this transaction. This is measured in the smallest price unit Qa (or 10^-12 Zil) in Zilliqa.
gasLimitstringRequiredThe amount of gas units that is needed to be process this transaction.

- For regular transaction, please use "1".
- For smart contract transaction, please consult the gas documentation.
codestringOptionalThe smart contract source code. This is present only when deploying a new contract.
datastringOptionalString-ified JSON object specifying the transition parameters to be passed to a specified smart contract.

- When creating a contract, this JSON object contains the init parameters.
- When calling a contract, this JSON object contains the msg parameters.

For more information on the Scilla interpreter, please visit the documentation.
signaturestringRequiredAn EC-Schnorr signature of 64 bytes of the entire Transaction object as stipulated above.
prioritybooleanOptionalA flag for this transaction to be processed by the DS committee.

This is only required for Category III transactions.