Error codes related to the contract platform are divided into the following five categories based on the error source:
- Platform verification error codes
- Virtual machine error codes
- Blockchain error codes
- Client system error codes
- JSON- or XML-formatted data parse error codes for Solidity contracts
Note: Error codes listed in this topic may occur during the development of contract blockchains.
Platform verification error codes
Error code | Error code value | Error description |
---|---|---|
BAD_HASH | 100 | The hash value is incorrectly calculated. |
TX_IS_NULL | 101 | The value of the transaction pointer is NULL. |
TX_PAYLOAD_INVALID | 102 | The data field of the transaction does not satisfy the type constraints. |
TX_INVALID_SIGNATURE | 103 | The signature is invalid. |
TX_INSUFFICIENT_BALANCE | 104 | The account of the transaction sender does not have enough balance. |
TX_INVALID_TIMESTAMP | 105 | The timestamp of the transaction is not in a valid period. When checking the timestamp of a transaction, the contract platform considers the timestamp to be unavailable if it is not in a valid period. |
TX_INVALID_DEST_ACCOUNT | 106 | The destination account of the transaction does not contain an available contract hash. |
TX_DEST_ACCOUNT_IS_NULL | 107 | The destination account of the transaction is empty. |
TX_CREATE_ACCOUNT_INVALID | 108 | The transaction for creating an account does not meet requirements. |
TX_DEPLOY_CONTRACT_INVALID | 109 | The transaction for deploying a contract does not meet requirements. |
TX_TYPE_CONSTRAINT_INVALID | 110 | The basic transaction type requirement failed to be verified. |
TX_TYPE_UNKNOWN | 111 | The transaction type is invalid. |
TX_RECOVER_TIME_INVALID | 112 | The recovery time is invalid. |
TX_REPLAY_ATTACK | 113 | The transaction is replayed. |
TX_PAYLOAD_TOO_BIG | 114 | The data field of the transaction has exceeded the limit. |
TX_GAS_TOO_BIG | 115 | The gas value of the transaction has exceeded the limit. |
TX_SOURCE_ACCOUNT_NOT_FOUND | 116 | The source account of the transaction does not exist on the blockchain. The source account is indicated by the from field in the transaction data structure. |
TX_SOURCE_ACCOUNT_IS_NULL | 117 | The source account of the transaction is empty. |
TX_SOURCE_ACCOUNT_IS_FREEZE | 118 | The source account of the transaction is frozen. |
TX_SOURCE_ACCOUNT_IS_RECOVERING | 119 | The source account of the transaction is recovering. |
TX_DEST_ACCOUNT_NOT_FOUND | 120 | The destination account of the transaction does not exist on the blockchain. The destination account is indicated by the ‘to’ field in the transaction data structure. |
TX_DEST_ACCOUNT_IS_FREEZE | 121 | The destination account of the transaction is frozen. |
TX_INVALID_PERMISSION | 122 | The sum of signature weights is less than 100. The contract platform requires that the sum of all signature weights be equal to 100. |
TX_DEST_ACCOUNT_ALREADY_EXIST | 123 | The destination account of the transaction already exists. |
TX_INVALID_GROUP_ID | 132 | The specified group ID is invalid. |
TX_INVALID_VERSION | 133 | The version of the transaction is invalid. |
Virtual machine error codes
Error code | Error code value | Error description |
---|---|---|
VM_GENERIC_FAILED | 10000 | A generic error occurred to the virtual machine. |
VM_INVALID_INSTRUCTION | 10001 | The instruction is invalid. |
VM_STACK_OVERFLOW | 10002 | A stack overflow occurred to the virtual machine. |
VM_STACK_UNDERFLOW | 10003 | A stack underflow occurred to the virtual machine. |
VM_MEMORY_ERROR | 10004 | A memory error occurred to the virtual machine. |
VM_EMPTY_CODE | 10005 | The code is empty. |
VM_CONFIG_OVER_GAS_LIMIT | 10100 | The amount of gas consumed by the virtual machine has exceeded the upper limit. |
VM_CREATE_FAILED | 10101 | The virtual machine failed to be created. |
VM_PARAMETER_CODE_EMPTY_FAILED | 10102 | The parameter code of the virtual machine is empty. |
VM_PARAMETER_INPUT_DATA_EMPTY_FAILED | 10103 | The input parameters of the virtual machine is empty. |
VM_OUT_OF_GAS | 10200 | Gas is insufficient. |
VM_REVERT | 10201 | The revert instruction has triggered an error. |
VM_OUT_OF_LIMIT | 10202 | The touint64 method has triggered an error. |
VM_DISALLOWED_STATE_CHANGE | 10203 | The static_call module has triggered an error. |
VM_GET_BALANCE_FAILED | 10300 | The balance failed to be obtained. |
VM_SET_STORAGE_FAILED | 10301 | The virtual machine failed to set storage. |
VM_GET_STORAGE_FAILED | 10302 | The virtual machine failed to obtain storage. |
VM_TRANSFER_BALANCE_FAILED | 10303 | The virtual machine failed to transfer the balance. |
VM_GET_CODE_FAILED | 10304 | The virtual machine failed to obtain the code. |
VM_GET_BLOCKHASH_FAILED | 10305 | The virtual machine failed to obtain the block hash. |
VM_GET_CODEHASH_FAILED | 10306 | The virtual machine failed to obtain the code hash. |
VM_GET_GASLIMIT_FAILED | 10307 | The gas supply for the virtual machine is limited. |
VM_INTERNAL_ERROR | 10500 | An internal error occurred to the virtual machine. |
Blockchain error codes
Error code | Error code value | Error description |
---|---|---|
SERVICE_PLUGIN_NOT_EXISTS | 400 | The plug-in does not exist. |
SERVICE_MSG_CONVERT_FAILED | 401 | The message conversion failed. |
SERVICE_RUN_LOCAL_TX_FAILED | 402 | The local transaction execution failed. |
SERVICE_PUSH_CACHE_FAILED | 403 | The transaction failed to be pushed to the cache queue. |
SERVICE_QUERY_NO_RESULT | 404 | No results are found. Possible causes: 1. The transaction verification failed. 2. The transaction has not been executed in the block. 3. The last block cannot be obtained. 4. A parameter error occurred when the block or the block header is queried. 5. A parameter error occurred when the account is queried. |
SERVICE_NOT_SUPPORT | 405 | The service is not supported. Possible causes: 1. The service configuration is incorrect. The complete configuration is [transaction, query, event, admin]. 2. The message type is invalid. |
SERVICE_EVENT_NOT_EXISTS | 406 | The event does not exist. Possible causes: 1. The event is not registered. 2. The event has timed out in pull mode. |
SERVICE_LOG_INSTANCE_NOT_EXISTS | 407 | The log instance does not exist. |
SERVICE_TX_VERIFY_FAILED | 408 | The transaction verification failed. |
SERVICE_FORWARD_NO_NODEID | 409 | No node is available for forwarding the request. |
SERVICE_FORWARD_TIMEOUT | 410 | Request forwarding timed out. |
SERVICE_FORWARD_RESPONSE_ERROR | 411 | Response forwarding timed out. |
SERVICE_ADD_GROUP_CHAIN_FAILED | 412 | The group chain failed to be added. |
SERVICE_TX_WAITING_VERIFY | 413 | The transaction has not been verified. |
SERVICE_TX_WAITING_EXECUTE | 414 | The transaction has been verified and is waiting for execution. |
WS_NO_DATABASE_FAILED | 1000 | The database is not initialized in the world state. |
WS_NO_CODE_HASH_FAILED | 1001 | The code hash of the contract is not found in the world state. |
WS_NO_OBJECT_FAILED | 1002 | The state object is not found in the world state. |
WS_OBJECT_EXIST_FAILED | 1003 | The specified state object is already in use. |
WS_OBJECT_DELETED_FAILED | 1004 | The specified state object has been deleted. |
WS_NO_ENOUGH_BALANCE_FAILED | 1005 | The specified state object does not have enough balance. |
WS_TRANSFER_FAILED | 1006 | Balance transfer failed. |
WS_AUTH_NO_PUB_KEY_FAILED | 1007 | The specified public key does not exist. |
WS_BALANCE_OVERFLOW_FAILED | 1008 | Balance overflow occurred. |
WS_UNKNOWN_FAILED | 1009 | An unknown error occurred. |
WS_INVALID_AUTH_MAP_FAILED | 1010 | The specified authmap is invalid. |
CHAIN_TX_GAS_INVALID | 2000 | The transaction executor failed to obtain enough gas from the transaction. |
CHAIN_TX_IDENTITY_INVALID | 2001 | The transaction executor failed to locate the identifier on the blockchain. |
CHAIN_TX_AUTH_MAP_INVALID | 2002 | The authmap in the payload is invalid. |
CHAIN_TX_PAYLOAD_INVALID | 2003 | The payload of the transaction is invalid. |
CHAIN_TX_RECOVER_INVALID | 2004 | The recovery time is invalid. |
CHAIN_TX_INSIDE_ERROR | 2005 | An unknown error occurred to the transaction executor. |
Client system error codes
Error code | Error code value | Error description |
---|---|---|
SDK_INTERNAL_ERROR | 20000 | An internal SDK error occurred. |
SDK_ADDRESS_FAMILY_NOT_SUPPORTED | 20001 | An IPC or network argument error occurred. The protocol family does not support the address family. |
SDK_ADDRESS_IN_USE | 20002 | An IPC or network argument error occurred. The address is in use. |
SDK_ADDRESS_NOT_AVAILABLE | 20003 | An IPC or network argument error occurred. The requested address cannot be assigned. |
SDK_ALREADY_CONNECTED | 20004 | An IPC or network operating error occurred. The socket has been connected. |
SDK_ARGUMENT_LIST_TOO_LONG | 20005 | The argument list is excessively long. |
SDK_ARGUMENT_OUT_OF_DOMAIN | 20006 | The numerical argument is out of range. |
SDK_BAD_ADDRESS | 20007 | The address is invalid. |
SDK_BAD_FILE_DESCRIPTOR | 20008 | The file descriptor is invalid. |
SDK_BAD_MESSAGE | 20009 | A program loading error occurred. The message is invalid. |
SDK_BROKEN_PIPE | 20010 | The pipeline is damaged. |
SDK_CONNECTION_ABORTED | 20011 | An IPC or network operating error occurred. The connection is interrupted due to software problems. |
SDK_CONNECTION_ALREADY_IN_PROGRESS | 20012 | An error occurred in non-blocking and interrupt I/O. The operation is in progress. |
SDK_CONNECTION_REFUSED | 20013 | An IPC or network operating error occurred. The connection is refused. |
SDK_CONNECTION_RESET | 20014 | The peer resets the connection. |
SDK_CROSS_DEVICE_LINK | 20015 | A cross-device link error occurred. |
SDK_DESTINATION_ADDRESS_REQUIRED | 20016 | An IPC or network argument error occurred. The destination address is not specified. |
SDK_DEVICE_OR_RESOURCE_BUSY | 20017 | The device or resource is unavailable. |
SDK_DIRECTORY_NOT_EMPTY | 20018 | The directory is not empty. Arrange another directory. |
SDK_EXECUTABLE_FORMAT_ERROR | 20019 | The execution format is incorrect. |
SDK_FILE_EXISTS | 20020 | The file already exists. |
SDK_FILE_TOO_LARGE | 20021 | The file is excessively large. |
SDK_FILENAME_TOO_LONG | 20022 | An IPC or network operating error occurred. The file name is excessively long. |
SDK_FUNCTION_NOT_SUPPORTED | 20023 | An error occurred in the network file system. The feature has not been implemented. |
SDK_HOST_UNREACHABLE | 20024 | No host routes are available. Arrange a host route. |
SDK_IDENTIFIER_REMOVED | 20025 | A program loading error occurred. The identifier has been deleted. |
SDK_ILLEGAL_BYTE_SEQUENCE | 20026 | A program loading error occurred. The byte sequence is invalid. |
SDK_INAPPROPRIATE_IO_CONTROL_OPERATION | 20027 | ioctl is not suitable for the device. |
SDK_INTERRUPTED | 20028 | The system call is interrupted. |
SDK_INVALID_ARGUMENT | 20029 | The argument is invalid. |
SDK_INVALID_SEEK | 20030 | Illegal seek. |
SDK_IO_ERROR | 20031 | An input or output error occurred. |
SDK_IS_A_DIRECTORY | 20032 | The input is a directory. |
SDK_MESSAGE_SIZE | 20033 | An IPC or network argument error occurred. The message is excessively long. |
SDK_NETWORK_DOWN | 20034 | An IPC or network operating error occurred. The network is down. |
SDK_NETWORK_RESET | 20035 | An IPC or network operating error occurred. The network connection is interrupted during the reset. |
SDK_NETWORK_UNREACHABLE | 20036 | An IPC or network operating error occurred. The network is unreachable. |
SDK_NO_BUFFER_SPACE | 20037 | An IPC or network operating error occurred. No buffer space is available. |
SDK_NO_CHILD_PROCESS | 20038 | No child processes are available. |
SDK_NO_LINK | 20039 | A program loading error (Reserved) occurred. |
SDK_NO_LOCK_AVAILABLE | 20040 | An error occurred to the network file system. No locks are available. |
SDK_NO_MESSAGE_AVAILABLE | 20041 | A program loading error occurred. No messages are transmitted over the stream. |
SDK_NO_MESSAGE | 20042 | A program loading error occurred. No messages are of the desired type. |
SDK_NO_PROTOCOL_OPTION | 20043 | An IPC or network argument error occurred. The protocol is unavailable. |
SDK_NO_SPACE_ON_DEVICE | 20044 | The device storage space is insufficient. |
SDK_NO_STREAM_RESOURCES | 20045 | A program loading error occurred. No stream resources are available. |
SDK_NO_SUCH_DEVICE_OR_ADDRESS | 20046 | The device is not configured. |
SDK_NO_SUCH_DEVICE | 20047 | The device does not support this operation. |
SDK_NO_SUCH_FILE_OR_DIRECTORY | 20048 | The file or directory does not exist. |
SDK_NO_SUCH_PROCESS | 20049 | The process does not exist. |
SDK_NOT_A_DIRECTORY | 20050 | The input is not a directory. |
SDK_NOT_A_SOCKET | 20051 | An IPC or network argument error occurred. The operation is not performed on a socket. |
SDK_NOT_A_STREAM | 20052 | A program loading error occurred. The given resource is not a stream. |
SDK_NOT_CONNECTED | 20053 | An IPC or network operating error occurred. The socket is not connected. |
SDK_NOT_ENOUGH_MEMORY | 20054 | The memory cannot be allocated. |
SDK_NOT_SUPPORTED | 20055 | An IPC or network argument error occurred. The operation is not supported. |
SDK_OPERATION_CANCELED | 20056 | A program loading error occurred. The operation has been canceled. |
SDK_OPERATION_IN_PROGRESS | 20057 | An error occurred in non-blocking and interrupt I/O. The operation is in progress. |
SDK_OPERATION_NOT_PERMITTED | 20058 | The operation is not allowed. |
SDK_OPERATION_NOT_SUPPORTED | 20059 | The value is discrete only when DARWIN_UNIX03 is compiled, or an KERNE error (this operation is not supported on the socket) occurred. |
SDK_OPERATION_WOULD_BLOCK | 20060 | An error occurred in non-blocking and interrupt I/O. The operation will be blocked. |
SDK_OWNER_DEAD | 20061 | A program loading error occurred. The previous owner has passed away. |
SDK_PERMISSION_DENIED | 20062 | You are not authorized to perform this operation. |
SDK_PROTOCOL_ERROR | 20063 | A program loading error occurred. The protocol is incorrect. |
SDK_PROTOCOL_NOT_SUPPORTED | 20064 | An IPC or network argument error occurred. The protocol is not supported. |
SDK_READ_ONLY_FILE_SYSTEM | 20065 | The file system is read-only. |
SDK_RESOURCE_DEADLOCK_WOULD_OCCUR | 20066 | The resource deadlock has been avoided. |
SDK_RESOURCE_UNAVAILABLE_TRY_AGAIN | 20067 | An error occurred in non-blocking and interrupt I/O. The resource is temporarily unavailable. |
SDK_RESULT_OUT_OF_RANGE | 20068 | The result is excessively large. |
SDK_STATE_NOT_RECOVERABLE | 20069 | A program loading error occurred. The state cannot be restored. |
SDK_STREAM_TIMEOUT | 20070 | A program loading error occurred. The stream ioctl timed out. |
SDK_TEXT_FILE_BUSY | 20071 | The text file is in use. |
SDK_TIMED_OUT | 20072 | An IPC or network operating error occurred. The operation timed out. |
SDK_TOO_MANY_FILES_OPEN_IN_SYSTEM | 20073 | There are too many files opened in the system. |
SDK_TOO_MANY_FILES_OPEN | 20074 | There are too many files opened. |
SDK_TOO_MANY_LINKS | 20075 | There are too many links. |
SDK_TOO_MANY_SYMBOLIC_LINK_LEVELS | 20076 | An IPC or network operating error occurred. There are too many levels of symbolic links in a path. |
SDK_VALUE_TOO_LARGE | 20077 | An intelligent device error occurred. The value is excessively large and cannot be stored in the specified data type. |
SDK_WRONG_PROTOCOL_TYPE | 20078 | An IPC or network argument error occurred. The protocol type for the socket is incorrect. |
SDK_INVALID_PARAMETER | 30000 | The SDK parameter is invalid. |
SDK_INVALID_PRIVATE_KEY | 30001 | The SDK private key is invalid. |
SDK_SIGN_TOOL_VERIFY_ERROR | 30002 | Verification by SDK SignTool failed. |
SDK_UNSUPPORT_ENCODING_FAILED | 30003 | The SDK does not support encoding. |
SDK_GET_FILE_INPUT_STREAM_FAILED | 30004 | The SDK failed to obtain the file input stream. |
SDK_FIND_THREAD_FAILED | 30005 | The SDK failed to find the thread. |
SDK_BYTES_OPERATE_FAILED | 30006 | The SDK failed to perform a bytes operation. |
SDK_CONVERT_PUBLIC_KEY_FAILED | 30007 | The SDK failed to convert the public key. |
SDK_MESSAGE_ENCODING_FAILED | 30008 | The SDK failed to encode the message. |
SDK_READ_CONFIG_FAILED | 30009 | The SDK failed to read client configurations. |
SDK_INIT_FAILED | 30010 | SDK initialization failed. |
SDK_CONNECT_NETWORK_FAILED | 30011 | The SDK failed to connect to the network. |
SDK_DECODE_ERROR | 30012 | A decoding error occurred to the SDK. |
SDK_UNSUPPORT_MESSAGE_TYPE_ERROR | 30013 | The SDK does not support the message type. |
SDK_HAND_SHAKE_ERROR | 30014 | A handshake is not performed. |
SDK_INIT_SSL_CONTEXT_FAILED | 30015 | SSL context initialization failed. |
JSON- or XML-formatted data parse error codes for Solidity contracts
Error code | Error code value | Error description |
---|---|---|
PROPERTY_ARGS_FORMAT | 10900 | The argument format is invalid. |
PROPERTY_PATH_NOT_EXIST | 10901 | The target path for JSON- or XML-formatted data does not exist. |
PROPERTY_HANDLER_NOT_EXIST | 10902 | The handler parameter does not exist. Check whether property_parse is executed without any errors. |
PROPERTY_NODE_TYPE_NOT_MATCH | 10903 | The target data type does not match the function in use. The function cannot obtain data of the target type. |