This topic lists the error codes for the contract platform. The error codes are grouped into five categories by source:
You may encounter the error codes in this topic during contract chain development.
Platform validation error codes
Error code | Error code value | Error message | Description |
BAD_HASH | 100 | the hash is not correctly computed | Hash computation error. |
TX_IS_NULL | 101 | the tx pointer is nullptr | The transaction pointer is a null pointer. |
TX_PAYLOAD_INVALID | 102 | the data of tx does not satisfy type constraint | The data field of the transaction does not meet the type constraint. |
TX_INVALID_SIGNATURE | 103 | the signature is not valid, used in PreResetPubKey/ResetPubKey/ActivateNode tx | The signature is unavailable. |
TX_INSUFFICIENT_BALANCE | 104 | the sender of tx doesn’t have enough money | The transaction sender's account has an insufficient balance. |
TX_INVALID_TIMESTAMP | 105 | the timestamp of tx is not in valid period | The transaction timestamp is invalid. The contract platform validates the timestamp and rejects it if it falls outside the allowed time range. |
TX_INVALID_DEST_ACCOUNT | 106 | the dest account of tx doesn’t have valid contract hash | The destination account of the transaction does not contain a valid contract hash. |
TX_DEST_ACCOUNT_IS_NULL | 107 | the dest account of tx is empty | The destination account of the transaction is empty. |
TX_CREATE_ACCOUNT_INVALID | 108 | the create account tx doesn’t satisfy requirement | The transaction to create an account does not meet the requirements. |
TX_DEPLOY_CONTRACT_INVALID | 109 | the deploy contract tx doesn’t satisfy requirement | The transaction to deploy a contract does not meet the requirements. |
TX_TYPE_CONSTRAINT_INVALID | 110 | basic tx type requirement verify failed | Basic transaction type requirement validation failed. |
TX_TYPE_UNKNOWN | 111 | the type of tx is unknown | The transaction type is unknown. |
TX_RECOVER_TIME_INVALID | 112 | the recover time is invalid | The estimated recovery time is not available. |
TX_REPLAY_ATTACK | 113 | the tx is replayed | The transaction was replayed. |
TX_PAYLOAD_TOO_BIG | 114 | the data of tx is too big, beyond system constraint | The data field of the transaction is too large and exceeds the system limit. |
TX_GAS_TOO_BIG | 115 | the gas if tx is too big, beyond system constraint | The gas consumed by the transaction is too high and exceeds the system limit. |
TX_SOURCE_ACCOUNT_NOT_FOUND | 116 | the source account of tx doesn’t exists in blockchain | The transaction's source account does not exist on the blockchain. The source account is specified in the 'from' field of the transaction data structure. |
TX_SOURCE_ACCOUNT_IS_NULL | 117 | the source account of tx is empty | The transaction's source account is empty. |
TX_SOURCE_ACCOUNT_IS_FREEZE | 118 | the source account of tx is frozen | The transaction's source account is frozen. |
TX_SOURCE_ACCOUNT_IS_RECOVERING | 119 | the source account of tx is recovering | The transaction's source account is being recovered. |
TX_DEST_ACCOUNT_NOT_FOUND | 120 | the dest account of tx doesn’t exit in blockchain | The transaction's destination account does not exist on the blockchain. The destination account is specified in the 'to' field of the transaction data structure. |
TX_DEST_ACCOUNT_IS_FREEZE | 121 | the dest account of tx is frozen | The transaction's destination account is frozen. |
TX_INVALID_PERMISSION | 122 | the weight of all signatures of tx is less than 100 | The sum of all signature weights for the multi-signature transaction is less than 100. The contract platform requires the sum to be exactly 100. |
TX_DEST_ACCOUNT_ALREADY_EXIST | 123 | the dest account of tx already exist | The destination account of the transaction already exists. |
TX_INVALID_GROUP_ID | 132 | the group id of tx constraint is not satisfied | The transaction does not meet the group ID constraint. |
TX_INVALID_VERSION | 133 | tx version constraint is not satisfied | The transaction does not meet the version constraint. |
Virtual machine error codes
Error code | Error code value | Error message | Description |
VM_GENERIC_FAILED | 10000 | vm general failure | General virtual machine failure. |
VM_INVALID_INSTRUCTION | 10001 | for bad instruction | Invalid instruction. |
VM_STACK_OVERFLOW | 10002 | vm stack over flow | Virtual machine stack overflow. |
VM_STACK_UNDERFLOW | 10003 | vm stack under flow | Virtual machine stack underflow. |
VM_MEMORY_ERROR | 10004 | vm memory error | Virtual machine memory error. |
VM_EMPTY_CODE | 10005 | the empty code error | The code is empty. |
VM_CONFIG_OVER_GAS_LIMIT | 10100 | vm execute over the gas limit | The virtual machine quota has been exceeded. |
VM_CREATE_FAILED | 10101 | vm create failure | Virtual machine creation failed. |
VM_PARAMETER_CODE_EMPTY_FAILED | 10102 | vm parameter code empty | The virtual machine parameter code is empty. |
VM_PARAMETER_INPUT_DATA_EMPTY_FAILED | 10103 | vm parameter input data empty | The virtual machine parameter input data is empty. |
VM_OUT_OF_GAS | 10200 | out of gas | Out of gas. |
VM_REVERT | 10201 | caused by revert instruction | An error triggered by the |
VM_OUT_OF_LIMIT | 10202 | caused by touint64 method | An error triggered by the |
VM_DISALLOWED_STATE_CHANGE | 10203 | caused by static_call module | An error triggered by the |
VM_GET_BALANCE_FAILED | 10300 | vm get balance fail | Failed to get the balance. |
VM_SET_STORAGE_FAILED | 10301 | vm set storage fail | The virtual machine failed to set the storage. |
VM_GET_STORAGE_FAILED | 10302 | vm get storage fail | The virtual machine failed to get the storage. |
VM_TRANSFER_BALANCE_FAILED | 10303 | vm transfer balance fail | The virtual machine failed to transfer the balance. |
VM_GET_CODE_FAILED | 10304 | vm get code fail | The virtual machine failed to get the code. |
VM_GET_BLOCKHASH_FAILED | 10305 | vm get block hash fail | The virtual machine failed to get the block hash. |
VM_GET_CODEHASH_FAILED | 10306 | vm get code fail | The virtual machine failed to get the code hash. |
VM_GET_GASLIMIT_FAILED | 10307 | vm get gas limit fail | The virtual machine is limited by gas. |
VM_INTERNAL_ERROR | 10500 | vm internal error | Virtual machine internal error. |
Blockchain error codes
Error code | Error code value | Error message | Description |
SERVICE_PLUGIN_NOT_EXISTS | 400 | plugin not exists | The plugin does not exist. |
SERVICE_MSG_CONVERT_FAILED | 401 | msg convert failed | Message transformation failed. |
SERVICE_RUN_LOCAL_TX_FAILED | 402 | execute local transaction failed | Local transaction execution failed. |
SERVICE_PUSH_CACHE_FAILED | 403 | push transaction into cache queue failed | Failed to push the transaction to the cache queue. |
SERVICE_QUERY_NO_RESULT | 404 | no result when querypossible reasons: 1) transaction verify failed 2) transaction has not been executed in block 3) get last block failed 4) wrong parameters when query block or block header 5) wrong parameters when query account | The query returned no results. Possible reasons include the following: 1. The transaction validation failed. 2. The transaction has not been executed in a block. 3. Failed to get the last block. 4. Incorrect parameters were used to query a block or block header. 5. Incorrect parameters were used to query an account. |
SERVICE_NOT_SUPPORT | 405 | service not supportpossible reasons: 1) incorrect service configure, complete configure is [transaction, query, event, admin] now 2) invalid message type | The service is not supported. Possible reasons include the following: 1. The service is configured incorrectly. A complete configuration is [transaction, query, event, admin]. 2. The message type is invalid. |
SERVICE_EVENT_NOT_EXISTS | 406 | event not existspossible reasons: 1) the event has not been registered 2) the event timeout in pull mode | The event does not exist. Possible reasons include the following: 1. The event has not been registered. 2. The event timed out in pull mode. |
SERVICE_LOG_INSTANCE_NOT_EXISTS | 407 | log instance not exists | The log instance does not exist. |
SERVICE_TX_VERIFY_FAILED | 408 | transaction verify failed | Transaction validation failed. |
SERVICE_FORWARD_NO_NODEID | 409 | no node to forward request | No node is available to forward the request. |
SERVICE_FORWARD_TIMEOUT | 410 | forward request timeout | Request forwarding timed out. |
SERVICE_FORWARD_RESPONSE_ERROR | 411 | forward response error | Response forwarding timed out. |
SERVICE_ADD_GROUP_CHAIN_FAILED | 412 | add group chain failed | Failed to add the group chain. |
SERVICE_TX_WAITING_VERIFY | 413 | tx is pending to be verified | The transaction is pending verification. |
SERVICE_TX_WAITING_EXECUTE | 414 | tx is verified, waiting to be executed | The transaction is verified and waiting for execution. |
WS_NO_DATABASE_FAILED | 1000 | ws database is not Initialized | The world state (WS) database is not initialized. |
WS_NO_CODE_HASH_FAILED | 1001 | ws failed to find the code hash for the contract | The code hash for the contract was not found in the world state. |
WS_NO_OBJECT_FAILED | 1002 | the state object is not found from the world state | The state object was not found in the world state. |
WS_OBJECT_EXIST_FAILED | 1003 | the state object (id) is occupied | The state object (ID) is occupied. |
WS_OBJECT_DELETED_FAILED | 1004 | the given state object (id) has been deleted | The specified state object (ID) has been deleted. |
WS_NO_ENOUGH_BALANCE_FAILED | 1005 | the given state object doesn’t have enough balance | The specified state object has an insufficient balance. |
WS_TRANSFER_FAILED | 1006 | failed to transfer balance | Failed to transfer the balance. |
WS_AUTH_NO_PUB_KEY_FAILED | 1007 | the given public key doesn’t exist from auth map | The specified public key does not exist. |
WS_BALANCE_OVERFLOW_FAILED | 1008 | balance overflow | Balance overflow. |
WS_UNKNOWN_FAILED | 1009 | unknown failure from | Unknown failure. |
WS_INVALID_AUTH_MAP_FAILED | 1010 | the given auth map is invalid | The specified weight value is invalid. |
CHAIN_TX_GAS_INVALID | 2000 | the transaction runner can’t get enough gas from the tx | The transaction runner could not get enough gas from the transaction. |
CHAIN_TX_IDENTITY_INVALID | 2001 | the transaction runner can’t locate the identity from the chain | The transaction runner could not locate the identity in the blockchain. |
CHAIN_TX_AUTH_MAP_INVALID | 2002 | the auth map in the payload is invalid | The weight value in the payload is invalid. |
CHAIN_TX_PAYLOAD_INVALID | 2003 | the payload of transaction is invalid | The transaction payload is invalid. |
CHAIN_TX_RECOVER_INVALID | 2004 | invalid recover time | Invalid recovery time. |
CHAIN_TX_INSIDE_ERROR | 2005 | unknown error from transaction runner | The transaction failed due to an unknown error. |
Client system error codes
Error code | Error code value | Error message | Description |
SDK_INTERNAL_ERROR | 20000 | sdk interval error | SDK internal error. |
SDK_ADDRESS_FAMILY_NOT_SUPPORTED | 20001 | ipc/network argument errors: address family not supported by protocol family | IPC/network argument error: The address family is not supported by the protocol family. |
SDK_ADDRESS_IN_USE | 20002 | ipc/network argument errors: address already in use | IPC/network argument error: The address is already in use. |
SDK_ADDRESS_NOT_AVAILABLE | 20003 | ipc/network argument errors: can’t assign requested address | IPC/network argument error: Cannot assign the requested address. |
SDK_ALREADY_CONNECTED | 20004 | ipc/network operational errors: socket is already connected | IPC/network operation error: The socket is already connected. |
SDK_ARGUMENT_LIST_TOO_LONG | 20005 | argument list too long | The argument list is too long. |
SDK_ARGUMENT_OUT_OF_DOMAIN | 20006 | math: numerical argument out of domain | The numerical argument is out of the domain. |
SDK_BAD_ADDRESS | 20007 | bad address | Unknown address |
SDK_BAD_FILE_DESCRIPTOR | 20008 | bad file descriptor | Unknown file descriptor |
SDK_BAD_MESSAGE | 20009 | program loading errors: bad message | Program loading error: Bad message. |
SDK_BROKEN_PIPE | 20010 | broken pipe | Broken pipe. |
SDK_CONNECTION_ABORTED | 20011 | ipc/network operational errors: software caused connection abort | IPC/network operation error: The software caused a connection abort. |
SDK_CONNECTION_ALREADY_IN_PROGRESS | 20012 | non-blocking and interrupt i/o: operation already in progress | Non-blocking and interrupt I/O: The operation is already in progress. |
SDK_CONNECTION_REFUSED | 20013 | ipc/network operational errors: connection refused | IPC/network operation error: The connection was refused. |
SDK_CONNECTION_RESET | 20014 | connection reset by peer | The connection was reset by the peer. |
SDK_CROSS_DEVICE_LINK | 20015 | cross-device link | Cross-device link. |
SDK_DESTINATION_ADDRESS_REQUIRED | 20016 | ipc/network argument errors: destination address required | IPC/network argument error: A destination address is required. |
SDK_DEVICE_OR_RESOURCE_BUSY | 20017 | device / Resource busy | Device or resource is busy. |
SDK_DIRECTORY_NOT_EMPTY | 20018 | should be rearranged: directory not empty | The folder must be reorganized because it is not empty. |
SDK_EXECUTABLE_FORMAT_ERROR | 20019 | exec format error | Execution format error. |
SDK_FILE_EXISTS | 20020 | file exists | The file exists. |
SDK_FILE_TOO_LARGE | 20021 | file too large | The file is too large. |
SDK_FILENAME_TOO_LONG | 20022 | ipc/network operational errors: file name too long | IPC/network operation error: The file name is too long. |
SDK_FUNCTION_NOT_SUPPORTED | 20023 | network file system: function not implemented | Network file system: The function is not implemented. |
SDK_HOST_UNREACHABLE | 20024 | should be rearranged: no route to host | No host route was found. Rescheduling is required. |
SDK_IDENTIFIER_REMOVED | 20025 | program loading errors: identifier removed | Program loading error: The identifier has been removed. |
SDK_ILLEGAL_BYTE_SEQUENCE | 20026 | program loading errors: illegal byte sequence | Program loading error: Illegal byte sequence. |
SDK_INAPPROPRIATE_IO_CONTROL_OPERATION | 20027 | inappropriate ioctl for device | The ioctl is not appropriate for the device. |
SDK_INTERRUPTED | 20028 | interrupted system call | The system call was interrupted. |
SDK_INVALID_ARGUMENT | 20029 | invalid argument | Invalid argument. |
SDK_INVALID_SEEK | 20030 | illegal seek | Illegal seek. |
SDK_IO_ERROR | 20031 | input/output error | Input/output error. |
SDK_IS_A_DIRECTORY | 20032 | is a directory | This is a directory. |
SDK_MESSAGE_SIZE | 20033 | ipc/network argument errors: message too long | IPC/network argument error: The message is too long. |
SDK_NETWORK_DOWN | 20034 | ipc/network operational errors: network is down | IPC/network operation error: The network is down. |
SDK_NETWORK_RESET | 20035 | ipc/network operational errors: network dropped connection on reset | IPC/network operation error: The network connection was dropped on reset. |
SDK_NETWORK_UNREACHABLE | 20036 | ipc/network operational errors: network is unreachable | IPC/network operation error: The network is unreachable. |
SDK_NO_BUFFER_SPACE | 20037 | ipc/network operational errors: no buffer space available | IPC/network operation error: No buffer space is available. |
SDK_NO_CHILD_PROCESS | 20038 | no child processes | No child processes. |
SDK_NO_LINK | 20039 | program loading errors: reserved | Program loading error: Reserved. |
SDK_NO_LOCK_AVAILABLE | 20040 | network file system: no locks available | Network file system: No locks are available. |
SDK_NO_MESSAGE_AVAILABLE | 20041 | program loading errors: no message available on stream | Program loading error: No message is available on the stream. |
SDK_NO_MESSAGE | 20042 | program loading errors: no message of desired type | Program loading error: No message of the desired type. |
SDK_NO_PROTOCOL_OPTION | 20043 | ipc/network argument errors: protocol not available | IPC/network argument error: The protocol is not available. |
SDK_NO_SPACE_ON_DEVICE | 20044 | no space left on device | No space is left on the device. |
SDK_NO_STREAM_RESOURCES | 20045 | program loading errors: no stream resources | Program loading error: No stream resources. |
SDK_NO_SUCH_DEVICE_OR_ADDRESS | 20046 | device not configured | The device is not configured. |
SDK_NO_SUCH_DEVICE | 20047 | operation not supported by device | The device does not support the operation. |
SDK_NO_SUCH_FILE_OR_DIRECTORY | 20048 | no such file or directory | The file or directory does not exist. |
SDK_NO_SUCH_PROCESS | 20049 | no such process | The program cannot be found. |
SDK_NOT_A_DIRECTORY | 20050 | not a directory | Not a directory. |
SDK_NOT_A_SOCKET | 20051 | ipc/network argument errors: socket operation on non-socket | IPC/network argument error: A socket operation was performed on a non-socket. |
SDK_NOT_A_STREAM | 20052 | program loading errors: not a stream | Program loading error: Not a stream. |
SDK_NOT_CONNECTED | 20053 | ipc/network operational errors: socket is not connected | IPC/network operation error: The socket is not connected. |
SDK_NOT_ENOUGH_MEMORY | 20054 | cannot allocate memory | Cannot allocate memory. |
SDK_NOT_SUPPORTED | 20055 | ipc/network argument errors: operation not supported | IPC/network argument error: The operation is not supported. |
SDK_OPERATION_CANCELED | 20056 | program loading errors: operation canceled | Program loading error: The operation was canceled. |
SDK_OPERATION_IN_PROGRESS | 20057 | non-blocking and interrupt i/o: operation now in progress | Non-blocking and interrupt I/O: The operation is now in progress. |
SDK_OPERATION_NOT_PERMITTED | 20058 | operation not permitted | Operation not permitted. |
SDK_OPERATION_NOT_SUPPORTED | 20059 | this value is only discrete when compiling __DARWIN_UNIX03, or KERNE: operation not supported on socket | This value is discrete only when compiling __DARWIN_UNIX03, or KERNE: The operation is not supported on the socket. |
SDK_OPERATION_WOULD_BLOCK | 20060 | non-blocking and interrupt i/o: operation would block | Non-blocking and interrupt I/O: This operation is blocking. |
SDK_OWNER_DEAD | 20061 | program loading errors: previous owner died | Program loading error: The previous owner died. |
SDK_PERMISSION_DENIED | 20062 | permission denied | Permission denied. |
SDK_PROTOCOL_ERROR | 20063 | program loading errors: protocol error | Program loading error: Protocol error. |
SDK_PROTOCOL_NOT_SUPPORTED | 20064 | ipc/network argument errors: protocol not supported | IPC/network argument error: The protocol is not supported. |
SDK_READ_ONLY_FILE_SYSTEM | 20065 | read-only file system | Read-only file system. |
SDK_RESOURCE_DEADLOCK_WOULD_OCCUR | 20066 | resource deadlock avoided | Resource deadlock avoided. |
SDK_RESOURCE_UNAVAILABLE_TRY_AGAIN | 20067 | non-blocking and interrupt i/o: resource temporarily unavailable | Non-blocking and interrupt I/O: The resource is temporarily unavailable. |
SDK_RESULT_OUT_OF_RANGE | 20068 | math: result too large | The result is too large. |
SDK_STATE_NOT_RECOVERABLE | 20069 | program loading errors: state not recoverable | Program loading error: The state is not recoverable. |
SDK_STREAM_TIMEOUT | 20070 | program loading errors: stream ioctl timeout | Program loading error: Stream ioctl timeout. |
SDK_TEXT_FILE_BUSY | 20071 | text file busy | Text file is busy. |
SDK_TIMED_OUT | 20072 | ipc/network operational errors: operation timed out | IPC/network operation error: The operation timed out. |
SDK_TOO_MANY_FILES_OPEN_IN_SYSTEM | 20073 | too many open files in system | Too many files are open in the system. |
SDK_TOO_MANY_FILES_OPEN | 20074 | too many open files | Too many files are open. |
SDK_TOO_MANY_LINKS | 20075 | too many links | Too many links. |
SDK_TOO_MANY_SYMBOLIC_LINK_LEVELS | 20076 | ipc/network operational errors: too many levels of symbolic links | IPC/network operation error: Too many levels of symbolic links. |
SDK_VALUE_TOO_LARGE | 20077 | intelligent device errors: value too large to be stored in data type | Intelligent device error: The value is too large to be stored in the data type. |
SDK_WRONG_PROTOCOL_TYPE | 20078 | ipc/network argument errors: protocol wrong type for socket | IPC/network argument error: The protocol type is wrong for the socket. |
SDK_INVALID_PARAMETER | 30000 | sdk parameter is invalid | The SDK parameter is invalid. |
SDK_INVALID_PRIVATE_KEY | 30001 | sdk invalid private key | The SDK private key is invalid. |
SDK_SIGN_TOOL_VERIFY_ERROR | 30002 | sdk sign tool verify error | SDK signing tool verification error. |
SDK_UNSUPPORT_ENCODING_FAILED | 30003 | sdk unsupport encoding error | The SDK does not support the encoding. |
SDK_GET_FILE_INPUT_STREAM_FAILED | 30004 | sdk get file input stream failed | The SDK failed to get the file input stream. |
SDK_FIND_THREAD_FAILED | 30005 | sdk find thread failed | The SDK failed to find the thread. |
SDK_BYTES_OPERATE_FAILED | 30006 | sdk bytes operate failed | SDK byte operation failed. |
SDK_CONVERT_PUBLIC_KEY_FAILED | 30007 | sdk convert public key failed | The SDK failed to convert the public key. |
SDK_MESSAGE_ENCODING_FAILED | 30008 | sdk message encoding failed | SDK message encoding failed. |
SDK_READ_CONFIG_FAILED | 30009 | sdk read client config failed | The SDK failed to read the client configuration. |
SDK_INIT_FAILED | 30010 | sdk init failed | SDK initialization failed. |
SDK_CONNECT_NETWORK_FAILED | 30011 | sdk connect to network failed | The SDK failed to connect to the network. |
SDK_DECODE_ERROR | 30012 | sdk decode error | SDK decoding error. |
SDK_UNSUPPORT_MESSAGE_TYPE_ERROR | 30013 | sdk unsupport message type error | The SDK does not support this message type. |
SDK_HAND_SHAKE_ERROR | 30014 | did not handshake | No handshake was performed. |
SDK_INIT_SSL_CONTEXT_FAILED | 30015 | init ssl context failed | Failed to initialize the SSL context. |
Solidity contract JSON/XML parsing error codes
Error code | Error code value | Error message | Description |
PROPERTY_ARGS_FORMAT | 10900 | the format of arguments is wrong | The argument format is incorrect. |
PROPERTY_PATH_NOT_EXIST | 10901 | the target path does not exist | The destination path in the JSON/XML does not exist. |
PROPERTY_HANDLER_NOT_EXIST | 10902 | the handler parameter does not exist, please check whether property_parse succeed | The handler parameter does not exist. Check if |
PROPERTY_NODE_TYPE_NOT_MATCH | 10903 | the target data type does not match the function which is using now | Data type mismatch. The current method cannot get data of the target type. |
REST service error codes
Error code | Error code value | Error message | Description |
ACCESS_TOKEN_INVALID | 202 | invalid access token misuse access token access token timeout | The access token is invalid, incorrect, or has timed out. |