TransactionExec()
Summary
| Route | Type | Example |
|---|---|---|
| /Transaction/Execute | POST | http://apinode.credits.com/api/Transaction/Execute |
Description
Sends a transaction to the network.
Request
Request Structure
x
{// parameters common for all requests "MethodApi" : "string_value", // API method name to form and process a transaction "PublicKey":"string_value", // Sender public key in Base58 "ReceiverPublicKey":"string_value", // Recipient public key in Base58 “Amount”:decimal, // Transaction amount "Fee":decimal, // Maximum fee approved by the user “Method”:”string_value” // Invoked smart contract method "SmartContractSource":"String_value", //Source code of smart contract “Args”:”string_value” // Arguments for the execution of a smart contract method “UserData”:”string_value” // If needed extra information can be stored inside UserData “TransactionSignature”:”string_value” // Signature in base58 retrieved with TransactionPack()}Request Parameters
MethodApi: string value - it’s vital to specify the API method to pack the transaction: "TransferToken", "TransferCs", "Delegation", "SmartDeploy", "SmartMethodExecute";
PublicKey: string_value - sender public key in base58
ReceiverPublicKey: string_value - recipient public key in base58
Amount: decimal - transaction amount as a decimal or integer number
Fee: decimal - maximum fee approved by the user as a decimal or integer number
UserData: string_value - data the user sent with the transaction including the data about deployment and initiation of a smart contract
TransactionSignature: string_value - transaction signature in base58
Response
Response Structure
{ "transactionInnerId":Double_Value, // Inner Transaction value }, "transactionId":"String_Value", // Transaction ID in the blockchain String_Value "success":Bool, // Bool if Transaction was a succes "message":"String_Value" // Message why the Transaction was failed}Example Code
import requestsimport ed25519import jsonimport base58def Transaction_Exec(): package = bytes(Transaction_Pack(), 'utf-8') #Function TransactionPack called signing_key = ed25519.SigningKey(base58.b58decode("31LtZKYoMPvnajWXG2GBJxgqzmUdZjEnvw7w92aMVvFjD4xY92XFuup7dZ3PsNqkMrcKLg9V2HqTFRmotJ7oajnc")) sign = signing_key.sign(base58.b58decode(package)) sign = str(base58.b58encode(sign)).strip('b').strip("'") url = 'http://apinode.credits.com/api/Transaction/Execute' headers = { 'Content-type': 'application/json' , 'Accept': 'application/json' , 'Content-Encoding': 'utf-8' } data = { "NetworkAlias":"Testnet" , "MethodApi" : "TransferCs" , "PublicKey":"EnrT42AkUpe32xw1tXE4e3siGMExpRe7uvsgNj36RzLc" , "ReceiverPublicKey":"4SFfA1S2xfA3BdgkTn2tK14yDhLuD11RVz78kqx35jct" , "Amount":0.1 , "Fee":1 , "UserData":"" , "TransactionSignature":sign } answer = requests.post(url, data=json.dumps(data), headers=headers) if answer.status_code == 200: response = answer.text return responseprint(Transaction_Exec())