getapplicationlog method

Returns the contract event information based on the specified txid. The contract event information is stored under the ApplicationLogs directory.

Parameter Description

  • txid: Transaction ID

  • trigger type: Optional. It has the following options:

    • OnPersist

    • PostPersist

    • Application

    • Verification

    • System: OnPersist | PostPersist

    • All: OnPersist | PostPersist | Verification | Application

    It defaults to All. You can specify a trigger type.

Example

Request body:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getapplicationlog",
  "params": [
    "0x7da6ae7ff9d0b7af3d32f3a2feb2aa96c2a27ef8b651f9a132cfaad6ef20724c"
  ]
}

This transaction transfers 100 GAS from NgaiKFjurmNmiRzDRQGs44yzByXuSkdGPF to NikhQp1aAD1YFCiwknhM5LQQebj4464bCJ.

Response body 1:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "txid": "0x7da6ae7ff9d0b7af3d32f3a2feb2aa96c2a27ef8b651f9a132cfaad6ef20724c",
        "executions": [
            {
                "trigger": "Application",
                "vmstate": "HALT",
                "exception": null,
                "gasconsumed": "9999540",
                "stack": [],
                "notifications": [
                    {
                        "contract": "0x70e2301955bf1e74cbb31d18c2f96972abadb328",
                        "eventname": "Transfer",
                        "state": {
                            "type": "Array",
                            "value": [
                                {
                                    "type": "ByteString",
                                    "value": "4rZTInKT6ZxPKQbVNVOrtKZy34Y="
                                },
                                {
                                    "type": "ByteString",
                                    "value": "+on7LBTfD1nd3wT25WUX8rNKrus="
                                },
                                {
                                    "type": "Integer",
                                    "value": "10000000000"
                                }
                            ]
                        }
                    }
                ]
            }
        ]
    }
}

Response description:

  • txid: Transaction ID.

  • trigger: Triggers.

  • vmstate: VM execution state. HALT represents success, and FAULT represents failure.

  • gasconsumed: The transaction fee, which means the GAS consumed in the transaction execution.

  • notifications: The notification sent by the smart contract. If no notifications is returned it indicates the transfer is not successful. See the Note below.

  • contract: The contract sending the notification. Here is GasToken.

  • eventname: Event name of the notification.

  • state: Notification content, where ByteString is Base64-encoded wallet address and can be converted at https://neo.org/converter/index.

[!Note]

This example shows the log of a successful token transfer, however, in case of a failed transfer or NeoVM exception, the outcomes can be:

  • Failed transfer: no Transfer notification event is returned, execution ends in a HALT state with a stack value of False.

  • NeoVM exception: a Transfer notification event may or may not be returned, but execution ends in a FAULT state.