蚂蚁区块链第17课 错误码指导大全

1,摘要

本文介绍蚂蚁区块链的错误码按出错来源分为5类:平台校验错误码、虚拟机错误码、区块链错误码、客户端系统错误码、TEE 错误码,并给出了具体的错误码值和解释说明。

2,错误码大全

2.1 平台校验错误码

错误码错误码值错误消息描述
BAD_HASH100the hash is not correctly computed哈希计算错误
TX_IS_NULL101the tx pointer is nullptr交易指针为空指针
TX_PAYLOAD_INVALID102the data of tx does not satisfy type constraint交易的 data 字段不满足类型约束
TX_INVALID_SIGNATURE103the signature is not valid, used in PreResetPubKey/ResetPubKey/ActivateNode tx签名不可用
TX_INSUFFICIENT_BALANCE104the sender of tx doesn’t have enough money交易的发送账户余额不足
TX_INVALID_TIMESTAMP105the timestamp of tx is not in valid period交易的时间戳所在时间段无效,合约平台会对时间戳做检查,不在特定的时间范围内将被认为不可用
TX_INVALID_DEST_ACCOUNT106the dest account of tx doesn’t have valid contract hash交易的目标账户不包含可用的合约哈希
TX_DEST_ACCOUNT_IS_NULL107the dest account of tx is empty交易的目标账户为空
TX_CREATE_ACCOUNT_INVALID108the create account tx doesn’t satisfy requirement创建账户的交易不满足需求
TX_DEPLOY_CONTRACT_INVALID109the deploy contract tx doesn’t satisfy requirement部署合约的交易不满足需求
TX_TYPE_CONSTRAINT_INVALID110basic tx type requirement verify failed基本的交易类型需求校验失败
TX_TYPE_UNKNOWN111the type of tx is unknown交易类型未知
TX_RECOVER_TIME_INVALID112the recover time is invalid恢复时间未知
TX_REPLAY_ATTACK113the tx is replayed交易被重放
TX_PAYLOAD_TOO_BIG114the data of tx is too big, beyond system constraint交易的 data 字段太大,超过系统限制
TX_GAS_TOO_BIG115the gas if tx is too big, beyond system constraint交易消耗的 gas 太大,超过系统限制
TX_SOURCE_ACCOUNT_NOT_FOUND116the source account of tx doesn’t exists in blockchain交易的提交账户在区块链上不存在,提交账户是交易数据结构中的 from 字段
TX_SOURCE_ACCOUNT_IS_NULL117the source account of tx is empty交易的提交账户为空
TX_SOURCE_ACCOUNT_IS_FREEZE118the source account of tx is frozen交易的提交账户被冻结
TX_SOURCE_ACCOUNT_IS_RECOVERING119the source account of tx is recovering交易的提交账户正在恢复中
TX_DEST_ACCOUNT_NOT_FOUND120the dest account of tx doesn’t exit in blockchain交易的目标账户在区块链上不存在,目标账户是交易数据结构中的 to 字段
TX_DEST_ACCOUNT_IS_FREEZE121the dest account of tx is frozen交易的目标账户被冻结
TX_INVALID_PERMISSION122the weight of all signatures of tx is less than 100多签名的所有签名权重之和小于 100,合约平台要求必须等于 100
TX_DEST_ACCOUNT_ALREADY_EXIST123the dest account of tx already exist交易的目标账户已经存在
TX_INVALID_GROUP_ID132the group id of tx constraint is not satisfied不满足交易的 group id 约束要求
TX_INVALID_VERSION133tx version constraint is not satisfied不满足交易的版本约束要求

虚拟机错误码

错误码错误码值错误消息描述
VM_GENERIC_FAILED10000vm general failure虚拟机一般故障
VM_INVALID_INSTRUCTION10001for bad instruction错误指令
VM_STACK_OVERFLOW10002vm stack over flow虚拟机堆栈溢出
VM_STACK_UNDERFLOW10003vm stack under flow虚拟机空栈取项出错
VM_MEMORY_ERROR10004vm memory error虚拟机内存错误
VM_EMPTY_CODE10005the empty code error代码为空
VM_CONFIG_OVER_GAS_LIMIT10100vm execute over the gas limit虚拟机消耗超出限制
VM_CREATE_FAILED10101vm create failure虚拟机创建失败
VM_PARAMETER_CODE_EMPTY_FAILED10102vm parameter code empty虚拟机参数代码为空
VM_PARAMETER_INPUT_DATA_EMPTY_FAILED10103vm parameter input data empty虚拟机参数输入数据为空
VM_OUT_OF_GAS10200out of gas燃料不足
VM_REVERT10201caused by revert instruction由 revert 指令触发的错误
VM_OUT_OF_LIMIT10202caused by touint64 method由 touint64 方法触发的错误
VM_DISALLOWED_STATE_CHANGE10203caused by static_call module由 static_call 模块触发的错误
VM_GET_BALANCE_FAILED10300vm get balance fail获取余额失败
VM_SET_STORAGE_FAILED10301vm set storage fail虚拟机设置存储失败
VM_GET_STORAGE_FAILED10302vm get storage fail虚拟机获取存储失败
VM_TRANSFER_BALANCE_FAILED10303vm transfer balance fail虚拟机转账失败
VM_GET_CODE_FAILED10304vm get code fail虚拟机获取代码失败
VM_GET_BLOCKHASH_FAILED10305vm get block hash fail虚拟机获取块哈希失败
VM_GET_CODEHASH_FAILED10306vm get code fail虚拟机获取代码哈希失败
VM_GET_GASLIMIT_FAILED10307vm get gas limit fail虚拟机受燃料限制
VM_INTERNAL_ERROR10500vm internal error虚拟内部错误

2.2 区块链错误码

错误码错误码值错误消息描述
SERVICE_PLUGIN_NOT_EXISTS400plugin not exists插件不存在
SERVICE_MSG_CONVERT_FAILED401msg convert failed消息转换失败
SERVICE_RUN_LOCAL_TX_FAILED402execute local transaction failed本地交易执行失败
SERVICE_PUSH_CACHE_FAILED403push transaction into cache queue failed无法将交易推送至缓存队列
SERVICE_QUERY_NO_RESULT404no 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
查询无结果,可能的原因有:
1. 交易验证失败;
2. 交易尚未在区块中执行;
3. 无法获取最后一个块;
4. 查询块或块头时,参数出错
5. 查询账户时,参数出错
SERVICE_NOT_SUPPORT405service not supportpossible reasons:
1) incorrect service configure, complete configure is [transaction, query, event, admin] now
2) invalid message type
业务不支持,可能的原因有:
1. 业务配置有误,完整的配置应为 [transaction, query, event, admin];
2. 消息类型无效
SERVICE_EVENT_NOT_EXISTS406event not existspossible reasons:
1) the event has not been registered
2) the event timeout in pull mode
事件不存在,可能的原因有:
1. 事件未注册;
2. 在拉取模式下,事件超时
SERVICE_LOG_INSTANCE_NOT_EXISTS407log instance not exists日志实例不存在
SERVICE_TX_VERIFY_FAILED408transaction verify failed交易验证失败
SERVICE_FORWARD_NO_NODEID409no node to forward request无节点可转发请求
SERVICE_FORWARD_TIMEOUT410forward request timeout请求转发超时
SERVICE_FORWARD_RESPONSE_ERROR411forward response error响应转发超时
SERVICE_ADD_GROUP_CHAIN_FAILED412add group chain failed添加群链失败
SERVICE_TX_WAITING_VERIFY413tx is pending to be verified交易尚未验证
SERVICE_TX_WAITING_EXECUTE414tx is verified, waiting to be executed交易已验证,等待执行
WS_NO_DATABASE_FAILED1000ws database is not Initialized世界状态(WS)数据库未初始化
WS_NO_CODE_HASH_FAILED1001ws failed to find the code hash for the contract世界状态中找不到合约的代码哈希
WS_NO_OBJECT_FAILED1002the state object is not found from the world state世界状态中未找到该状态对象
WS_OBJECT_EXIST_FAILED1003the state object (id) is occupied状态对象(ID)被占用
WS_OBJECT_DELETED_FAILED1004the given state object (id) has been deleted指定的状态对象(ID)已删除
WS_NO_ENOUGH_BALANCE_FAILED1005the given state object doesn’t have enough balance指定的状态对象余额不足
WS_TRANSFER_FAILED1006failed to transfer balance转账失败
WS_AUTH_NO_PUB_KEY_FAILED1007the given public key doesn’t exist from auth map指定的公钥不存在
WS_BALANCE_OVERFLOW_FAILED1008balance overflow余额溢出
WS_UNKNOWN_FAILED1009unknown failure from未知故障
WS_INVALID_AUTH_MAP_FAILED1010the given auth map is invalid指定的权重值无效
CHAIN_TX_GAS_INVALID2000the transaction runner can’t get enough gas from the tx交易执行无法从交易获取足够的燃料
CHAIN_TX_IDENTITY_INVALID2001the transaction runner can’t locate the identity from the chain交易执行无法在区块链中定位到标识
CHAIN_TX_AUTH_MAP_INVALID2002the auth map in the payload is invalid负载中的权重值无效
CHAIN_TX_PAYLOAD_INVALID2003the payload of transaction is invalid交易负载无效
CHAIN_TX_RECOVER_INVALID2004invalid recover time恢复时间无效
CHAIN_TX_INSIDE_ERROR2005unknown error from transaction runner交易执行出现未知错误

2.3 客户端系统错误码

错误码错误码值错误消息描述
SDK_INTERNAL_ERROR20000sdk interval errorSDK 内部错误
SDK_ADDRESS_FAMILY_NOT_SUPPORTED20001ipc/network argument errors: address family not supported by protocol familyIPC/网络参数错误:协议族不支持的地址族
SDK_ADDRESS_IN_USE20002ipc/network argument errors: address already in useIPC/网络参数错误:该地址已被使用
SDK_ADDRESS_NOT_AVAILABLE20003ipc/network argument errors: can’t assign requested addressIPC/网络参数错误:无法分配请求的地址
SDK_ALREADY_CONNECTED20004ipc/network operational errors: socket is already connectedIPC/网络运行出错:套接口已连接
SDK_ARGUMENT_LIST_TOO_LONG20005argument list too long参数列表太长
SDK_ARGUMENT_OUT_OF_DOMAIN20006math: numerical argument out of domain数值参数不在域内
SDK_BAD_ADDRESS20007bad address地址不详
SDK_BAD_FILE_DESCRIPTOR20008bad file descriptor文件描述符不详
SDK_BAD_MESSAGE20009program loading errors: bad message程序加载错误:消息不详
SDK_BROKEN_PIPE20010broken pipe管道破损
SDK_CONNECTION_ABORTED20011ipc/network operational errors: software caused connection abortIPC/网络运行出错:软件问题导致连接中断
SDK_CONNECTION_ALREADY_IN_PROGRESS20012non-blocking and interrupt i/o: operation already in progress非阻塞和中断 I/O:操作进行中
SDK_CONNECTION_REFUSED20013ipc/network operational errors: connection refusedIPC/网络运行出错:连接被拒绝
SDK_CONNECTION_RESET20014connection reset by peer连接被对方重设
SDK_CROSS_DEVICE_LINK20015cross-device link跨设备链接
SDK_DESTINATION_ADDRESS_REQUIRED20016ipc/network argument errors: destination address requiredIPC/网络参数错误:目标地址不得为空
SDK_DEVICE_OR_RESOURCE_BUSY20017device / Resource busy设备或资源忙
SDK_DIRECTORY_NOT_EMPTY20018should be rearranged: directory not empty目录不为空,需重新安排
SDK_EXECUTABLE_FORMAT_ERROR20019exec format error执行格式错误
SDK_FILE_EXISTS20020file exists文件已存在
SDK_FILE_TOO_LARGE20021file too large文件太大
SDK_FILENAME_TOO_LONG20022ipc/network operational errors: file name too longIPC/网络运行出错:文件名太长
SDK_FUNCTION_NOT_SUPPORTED20023network file system: function not implemented网络文件系统:功能未实现
SDK_HOST_UNREACHABLE20024should be rearranged: no route to host无主机路由,需重新安排
SDK_IDENTIFIER_REMOVED20025program loading errors: identifier removed程序加载错误:标识已被删除
SDK_ILLEGAL_BYTE_SEQUENCE20026program loading errors: illegal byte sequence程序加载错误:非法字节序列
SDK_INAPPROPRIATE_IO_CONTROL_OPERATION20027inappropriate ioctl for deviceioctl 不适合设备
SDK_INTERRUPTED20028interrupted system call系统调用中断
SDK_INVALID_ARGUMENT20029invalid argument参数无效
SDK_INVALID_SEEK20030illegal seek非法寻求
SDK_IO_ERROR20031input/output error输入/输出错误
SDK_IS_A_DIRECTORY20032is a directory此为目录
SDK_MESSAGE_SIZE20033ipc/network argument errors: message too longIPC/网络参数错误:消息太长
SDK_NETWORK_DOWN20034ipc/network operational errors: network is downIPC/网络运行出错:网络故障
SDK_NETWORK_RESET20035ipc/network operational errors: network dropped connection on resetIPC/网络运行出错:重置时网络断开连接
SDK_NETWORK_UNREACHABLE20036ipc/network operational errors: network is unreachableIPC/网络运行出错:网络无法访问
SDK_NO_BUFFER_SPACE20037ipc/network operational errors: no buffer space availableIPC/网络运行出错:无缓冲空间
SDK_NO_CHILD_PROCESS20038no child processes无子程序
SDK_NO_LINK20039program loading errors: reserved程序加载错误:已保留
SDK_NO_LOCK_AVAILABLE20040network file system: no locks available网络文件系统,无锁可用
SDK_NO_MESSAGE_AVAILABLE20041program loading errors: no message available on stream程序加载错误:消息流上无消息
SDK_NO_MESSAGE20042program loading errors: no message of desired type程序加载错误:无预期类型的消息
SDK_NO_PROTOCOL_OPTION20043ipc/network argument errors: protocol not availableIPC/网络参数错误:协议不可用
SDK_NO_SPACE_ON_DEVICE20044no space left on device设备空间不足
SDK_NO_STREAM_RESOURCES20045program loading errors: no stream resources程序加载错误:无流资源
SDK_NO_SUCH_DEVICE_OR_ADDRESS20046device not configured设备未配置
SDK_NO_SUCH_DEVICE20047operation not supported by device设备不支持该操作
SDK_NO_SUCH_FILE_OR_DIRECTORY20048no such file or directory该文件或目录不存在
SDK_NO_SUCH_PROCESS20049no such process该程序不存在
SDK_NOT_A_DIRECTORY20050not a directory非目录
SDK_NOT_A_SOCKET20051ipc/network argument errors: socket operation on non-socketIPC/网络参数错误:未在套接口上执行套接口操作
SDK_NOT_A_STREAM20052program loading errors: not a stream程序加载错误:非流
SDK_NOT_CONNECTED20053ipc/network operational errors: socket is not connectedIPC/网络运行出错:套接口未连接
SDK_NOT_ENOUGH_MEMORY20054cannot allocate memory无法分配内存
SDK_NOT_SUPPORTED20055ipc/network argument errors: operation not supportedIPC/网络参数错误:不支持该操作
SDK_OPERATION_CANCELED20056program loading errors: operation canceled程序加载错误:操作已取消
SDK_OPERATION_IN_PROGRESS20057non-blocking and interrupt i/o: operation now in progress非阻塞和中断 I/O:操作进行中
SDK_OPERATION_NOT_PERMITTED20058operation not permitted操作不允许
SDK_OPERATION_NOT_SUPPORTED20059this value is only discrete when compiling __DARWIN_UNIX03, or KERNE: operation not supported on socket仅当编译 __DARWIN_UNIX03 时该值为离散值,或 KERNE:套接口不支持该操作
SDK_OPERATION_WOULD_BLOCK20060non-blocking and interrupt i/o: operation would block非阻塞和中断 I/O:操作将阻塞
SDK_OWNER_DEAD20061program loading errors: previous owner died程序加载错误:之前的 Owner 已去世
SDK_PERMISSION_DENIED20062permission denied权限不足
SDK_PROTOCOL_ERROR20063program loading errors: protocol error程序加载错误:协议错误
SDK_PROTOCOL_NOT_SUPPORTED20064ipc/network argument errors: protocol not supportedIPC/网络参数错误:不支持该协议
SDK_READ_ONLY_FILE_SYSTEM20065read-only file system只读文件系统
SDK_RESOURCE_DEADLOCK_WOULD_OCCUR20066resource deadlock avoided避免资源死锁
SDK_RESOURCE_UNAVAILABLE_TRY_AGAIN20067non-blocking and interrupt i/o: resource temporarily unavailable非阻塞和中断 I/O:资源暂时不可用
SDK_RESULT_OUT_OF_RANGE20068math: result too large结果太大
SDK_STATE_NOT_RECOVERABLE20069program loading errors: state not recoverable程序加载错误:状态不可恢复
SDK_STREAM_TIMEOUT20070program loading errors: stream ioctl timeout程序加载错误:流 ioctl 超时
SDK_TEXT_FILE_BUSY20071text file busy文本文件忙
SDK_TIMED_OUT20072ipc/network operational errors: operation timed outIPC/网络运行出错:运行超时
SDK_TOO_MANY_FILES_OPEN_IN_SYSTEM20073too many open files in system系统打开的文件太多
SDK_TOO_MANY_FILES_OPEN20074too many open files打开的文件太多
SDK_TOO_MANY_LINKS20075too many links太多链接
SDK_TOO_MANY_SYMBOLIC_LINK_LEVELS20076ipc/network operational errors: too many levels of symbolic linksIPC/网络运行出错:符号链接级别太多
SDK_VALUE_TOO_LARGE20077intelligent device errors: value too large to be stored in data type智能设备错误:值太大导致无法存储在数据类型中
SDK_WRONG_PROTOCOL_TYPE20078ipc/network argument errors: protocol wrong type for socketIPC/网络参数错误:套接口协议类型错误
SDK_INVALID_PARAMETER30000sdk parameter is invalidSDK 参数无效
SDK_INVALID_PRIVATE_KEY30001sdk invalid private keySDK 私钥无效
SDK_SIGN_TOOL_VERIFY_ERROR30002sdk sign tool verify errorSDK 签名工具验证出错
SDK_UNSUPPORT_ENCODING_FAILED30003sdk unsupport encoding errorSDK 不支持编码
SDK_GET_FILE_INPUT_STREAM_FAILED30004sdk get file input stream failedSDK 获取文件输入流失败
SDK_FIND_THREAD_FAILED30005sdk find thread failedSDK 查找线程失败
SDK_BYTES_OPERATE_FAILED30006sdk bytes operate failedSDK 字节操作失败
SDK_CONVERT_PUBLIC_KEY_FAILED30007sdk convert public key failedSDK 转换公钥失败
SDK_MESSAGE_ENCODING_FAILED30008sdk message encoding failedSDK 消息编码失败
SDK_READ_CONFIG_FAILED30009sdk read client config failedSDK 读取客户端配置失败
SDK_INIT_FAILED30010sdk init failedSDK 初始化失败
SDK_CONNECT_NETWORK_FAILED30011sdk connect to network failedSDK 连接网络失败
SDK_DECODE_ERROR30012sdk decode errorSDK 解码出错
SDK_UNSUPPORT_MESSAGE_TYPE_ERROR30013sdk unsupport message type errorSDK 不支持该消息类型
SDK_HAND_SHAKE_ERROR30014did not handshake未做握手
SDK_INIT_SSL_CONTEXT_FAILED30015init ssl context failed初始化 SSL 上下文失败

2.4 TEE 错误码

错误码错误码值错误消息描述
TEE_CONFIDENTIAL_TX_DECRYPTION_FAILURE60001Failed to decrypt confidential transaction加密交易解密失败
TEE_NESTED_CONFIDENTIAL_TX60002Confidential transaction detected insides a confidential transaction加密交易中内嵌的不是明文交易
TEE_UNEXPECPTED_PLAIN_TX60003Got a plain transaction while expecting a confidential one待处理的交易非加密交易
TEE_NATIVE_CONTRACT_NOT_SUPPORTED60004Native Contract is not supported in TEE environmentTEE 中不支持 native 类型的合约
TEE_CONFIDENTIAL_TX_DESERIALIZATION_FAILURE60005Failed to deserialize confidential transaction加密交易反序列化失败
TEE_CONFIDENTIAL_STATE_DESERIALIZATION_FAILURE60006Failed to deserialize account state合约账户的状态反序列化失败
TEE_ILLEGAL_ACCESSING_CONFIDENTIAL_STORAGE60007Illegally accessing confidential account storage非法访问加密的账户数据
TEE_TX_TYPE_NOT_SUPPORTED60008Type of transaction is not supported in TEE environmentTEE 内不支持的交易类型
TEE_CONFIDENTIAL_TX_ENCRYPT_LOG_FAILURE60009Failed to encrypt confidential transaction’s log加密回执中的 log 信息失败
TEE_ACCESS_CONFIDENTIAL_CODE_DENIED60010Illegally accessing confidential contract’s code非法访问加密的合约代码
TEE_HASH_TIMESTAMP_NOT_MATCH60011Confidential Transaction’s hash (and/or timestamp) is not in consistent with what is embeded inside the encrypted payload加密交易的 hash 和时间戳不合法
TEE_RECEIPT_OVERFLOW60012Confidential Transaction’s receipt is too large (> 408600 bytes)交易回执过大
TEE_INTERNAL_ERROR60013Internal errorTEE 内部错误
TEE_CODE_ENCRYPTION_FAILURE60014Failed to encrypt contract’s code合约代码加密失败
TEE_CODE_DECRYPTION_FAILURE60015Failed to decrypt contract’s code合约代码解密失败
TEE_STORAGE_ENCRYPTION_FAILURE60016Failed to encrypt contract’s state合约状态加密失败
TEE_STORAGE_DECRYPTION_FAILURE60017Failed to decrypt contract’s state合约状态解密失败
TEE_STATE_UNMARSHAL_FAILURE60018Failed to unmarshal contract’s state合约状态反序列化失败
TEE_STATE_MARSHAL_FAILURE60019Failed to marshal contract’s state合约状态序列化失败
TEE_PAYLOAD_DECRYPTION_FAILURE60020Failed to decrypt contract’s primitive information合约账户基本信息解密失败
TEE_PAYLOAD_ENCRYPTION_FAILURE60021Failed to encrypt contract’s primitive information合约账户基本信息加密失败
TEE_EXEC_PLAIN_CONTRACT_NOT_ALLOWED60022Executing plain contract in TEE environment is not allowedTEE 中不允许执行明文合约
TEE_UPDATE_PLAIN_CONTRACT_NOT_ALLOWED60023Updating plain contract in TEE encvironment is not allowedTEE 中不允许更新明文合约

3,参考

(1)错误码
https://tech.antfin.com/docs/2/101803
(2)事件和日志
https://tech.antfin.com/docs/2/102014

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笔名辉哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值