错误码¶
普通请求错误码¶
普通请求指的是 非交易类
请求,一般用于查询链上数据。
请求返回示例¶
普通请求成功返回示例(RPC):
{
"result": {
"account_data": {
"Account": "zHb9CJAWyB4zj91VRWn96DkukG4bwdtyTh",
"Balance": "8728498",
"Flags": 0,
"LedgerEntryType": "AccountRoot",
"OwnerCount": 3,
"PreviousTxnID": "F8E2EB473CE0355B1823F767B7E7D41AE4D41E8448151DE4B8F39929179392C6",
"PreviousTxnLgrSeq": 4302033,
"Sequence": 78,
"index": "2B6AC232AA4C4BE41BF49D2459FA4A0347E1B543A4C92FCEE0821C0201E2E9A8"
},
"ledger_current_index": 4560272,
"queue_data": {
"txn_count": 0
},
"status": "success",
"validated": false
}
}
普通请求失败返回示例(RPC):
{
"result": {
"account": "zHePXbLNmrta6nf7imgQawrQVzM8svzhHu",
"error": "actNotFound",
"error_code": 19,
"error_message": "Account not found.",
"ledger_current_index": 4560257,
"request": {
"account": "zHePXbLNmrta6nf7imgQawrQVzM8svzhHu",
"command": "account_info",
"ledger_index": "current",
"queue": true,
"strict": true
},
"status": "error",
"validated": false
}
}
错误码列表:¶
错误码 |
描述 |
---|---|
actBitcoin |
Account is bitcoin address |
actExists |
Account already exists |
actMalformed |
Account malformed |
actNotFound |
Account not found |
actNotMatchPublic |
Account is not match with publicKey |
amendmentBlocked |
Amendment blocked, need upgrade |
deprecated |
Use the new API or specify a ledger range |
badBlob |
Blob must be a non-empty hex string |
badFeature |
Feature unknown or invalid |
badIssuer |
Issuer account malformed |
badMarket |
No such market |
badSecret |
Secret does not match account |
badSeed |
Disallowed seed |
badSyntax |
Syntax error |
channelMalformed |
Payment channel is malformed |
channelAmtMalformed |
Payment channel amount is malformed |
commandMissing |
Missing command entry |
dstActMalformed |
Destination account is malformed |
dstActMissing |
Destination account does not exist |
dstAmtMalformed |
Destination amount/currency/issuer is malformed |
dstIsrMalformed |
Destination issuer is malformed |
forbidden |
Bad credentials |
general |
Generic error reason |
getsActMalformed |
Gets account malformed |
getsAmtMalformed |
Gets amount malformed |
highFee |
Current transaction fee exceeds your limit |
hostIpMalformed |
Host IP is malformed |
insufFunds |
Insufficient funds |
internal |
Internal error |
NoDbConfig |
Get db connection error,maybe db not configured |
invalidParams |
Invalid parameters |
json_rpc |
JSON-RPC transport error |
lgrIdxsInvalid |
Ledger indexes invalid |
lgrIdxMalformed |
Ledger index malformed |
lgrNotFound |
Ledger not found |
lgrNotValidated |
Ledger not validated |
loadFailed |
Load failed); |
masterDisabled |
Master key is disabled |
notEnabled |
Not enabled in configuration |
notImpl |
Not implemented |
notReady |
Not ready to handle this request |
notStandAlone |
Operation valid in debug mode only |
notSupported |
Operation not supported |
noAccount |
No such account |
noClosed |
Closed ledger is unavailable |
noCurrent |
Current ledger is unavailable |
noEvents |
Current transport does not support events |
noNetwork |
Not synced to Chainsql network |
noPath |
Unable to find a ripple path |
noPermission |
You don’t have permission for this command |
noPathRequest |
No pathfinding request in progress |
passwdChanged |
Wrong key, password changed |
paysActMalformed |
Pays account malformed |
paysAmtMalformed |
Pays amount malformed |
portMalformed |
Port is malformed |
publicMalformed |
Public key is malformed |
qualityMalformed |
Quality malformed |
signForMalformed |
Signing for account is malformed |
slowDown |
You are placing too much load on the server |
srcActMalformed |
Source account is malformed |
srcActMissing |
Source account not provided |
srcActNotFound |
Source account not found |
srcAmtMalformed |
Source amount/currency/issuer is malformed |
srcCurMalformed |
Source currency is malformed |
srcIsrMalformed |
Source issuer is malformed |
srcMissing |
Source is missing |
srcUnclaimed |
Source account is not claimed |
malformedStream |
Stream malformed |
tooBusy |
The server is too busy to help you now |
txnNotFound |
Transaction not found |
unknownCmd |
Unknown method |
wrongSeed |
The regular key does not point as the master key |
sendMaxMalformed |
SendMax amount malformed |
txJsonParsedErr |
Tx Json parsed error |
disposeSqlErr |
Dispose SQL common error info |
sqlSelectOnly |
First word of SQL must be select |
dbTypeNotSupport |
Do not support this db type |
dbConnectFailed |
Database connection is failed |
tabNotExist |
Table does not exist |
tabUnauthorized |
The user is unauthorized to the table |
rawNotValidated |
Raw field is not validated |
dBNameNotMatchTabNam |
DBName is not matched with table name |
userSleTokenMissing |
Missing ‘Token’ field in sle of the corresponding user |
signDataNotMatch |
Signing data does not match tx_json |
signNotInHex |
Signature is not in hex |
getValueInvalid |
Get value invalid from syncTableState |
getLedgerFailed |
Get validated ledger failed |
dumpGeneralError |
General error when start dump |
dumpStopGeneralError |
General error when stop dump |
auditGeneralError |
General error when start audit |
auditStopGeneralError |
General error when stop audit |
fieldContentEmpty |
Field content is empty |
contractEVMexeError |
Contract execution exception |
contractEVMcallError |
Contract execution exception |
mulQueryNotSupport |
OperationRule Table not support multi_table sql_query |
交易类返回码¶
返回码分类¶
一个共识过的区块中,可能包含两种结果的交易:
tes: 成功(目前只有tesSUCCESS)
tec: 失败,但扣除交易费用(tecPATH_PARTIAL,tecPATH_DRY等)
返回码前缀 |
说明 |
最终结果 |
举例 |
---|---|---|---|
tef |
failed |
yes |
tefMAX_LEDGER,tefPAST_SEQ |
tem |
malformed |
yes |
temBAD_RAW, temBAD_AMOUNT |
tel |
local error |
yes |
telINSUF_FEE_P |
tec |
claim fee only |
no |
tecPATH_PARTIAL,tecPATH_DRY |
ter |
will retry |
no |
terQUEUED,terPRE_SEQ |
tes |
success |
no |
tesSUCCESS |
请求返回示例¶
交易请求成功返回格式(RPC):
{
"result": {
"engine_result": "tesSUCCESS",
"engine_result_code": 0,
"engine_result_message": "The transaction was applied. Only final in a validated ledger.",
"status": "success",
"tx_blob": "12000022800000002400000243201B0000B43D61400000012A05F20068400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100D6FD51CD1C07E5C5877AA2A6CB3279BD25D1E48C6A079A583E5BB650FEC81AFA02202FB542F31A16E23291365DB3C295367E0E284D6364609EEAD1B77D4AAE6A9A2A8114B5F762798A53D543A014CAF8B297CFF8F2F937E88314190FA18FFAEEE774D8B0B9E8A9242397A0EAE73E",
"tx_json": {
"Account": "zHb9CJAWyB4zj91VRWn96DkukG4bwdtyTh",
"Amount": "5000000000",
"Destination": "zxHWa1crijWU5qhSTGGemfFfMowaS63qJ5",
"Fee": "10",
"Flags": 2147483648,
"LastLedgerSequence": 46141,
"Sequence": 579,
"SigningPubKey": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020",
"TransactionType": "Payment",
"TxnSignature": "3045022100D6FD51CD1C07E5C5877AA2A6CB3279BD25D1E48C6A079A583E5BB650FEC81AFA02202FB542F31A16E23291365DB3C295367E0E284D6364609EEAD1B77D4AAE6A9A2A",
"hash": "8CE6EE15E23DA98064DEC224549BB7C6B9EA7034F78EC6CAF9965C3B7E9B8461"
}
}
}
交易请求错误返回格式(RPC):
{
"result": {
"engine_result": "tecNO_DST_INSUF_ZXC",
"engine_result_code": 125,
"engine_result_message": "Destination does not exist. Too little ZXC sent to create it.",
"status": "success",
"tx_blob": "12000022800000002400000244201B0000B93761400000000000138868400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100885DB315A21A00A043EC918DB59F1B80F542F094485E7B58FFEFE81DABD1313702205537F08AEBA89407903A2A51F61A18E1FCEAB8004484F9C483FD0AA68B5DDF568114B5F762798A53D543A014CAF8B297CFF8F2F937E88314276BBBD610BCD9BE9A7FA9DAEA49CE5B6C8D4BA4",
"tx_json": {
"Account": "zHb9CJAWyB4zj91VRWn96DkukG4bwdtyTh",
"Amount": "5000",
"Destination": "zhbSQsEK7xQswMgr6v6JSRpMjtnp3snc94",
"Fee": "10",
"Flags": 2147483648,
"LastLedgerSequence": 47415,
"Sequence": 580,
"SigningPubKey": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020",
"TransactionType": "Payment",
"TxnSignature": "3045022100885DB315A21A00A043EC918DB59F1B80F542F094485E7B58FFEFE81DABD1313702205537F08AEBA89407903A2A51F61A18E1FCEAB8004484F9C483FD0AA68B5DDF56",
"hash": "8B7ACBD85BC1B1AFD634A96CD2EA922B3462CC4F6152B1B980F93DEE0F434FE3"
}
}
}
返回码列表¶
错误码 |
描述 |
---|---|
tecCLAIM |
Fee claimed. Sequence used. No action. |
tecDIR_FULL |
Can not add entry to full directory. |
tecFAILED_PROCESSING |
Failed to correctly process transaction. |
tecINSUF_RESERVE_LINE |
Insufficient reserve to add trust line. |
tecINSUF_RESERVE_OFFER |
Insufficient reserve to create offer. |
tecNO_DST |
Destination does not exist. Send ZXC to create it. |
tecNO_DST_INSUF_ZXC |
Destination does not exist. Too little ZXC sent to create it. |
tecNO_LINE_INSUF_RESERVE |
No such line. Too little reserve to create it. |
tecNO_LINE_REDUNDANT |
Can’t set non-existent line to default. |
tecPATH_DRY |
Path could not send partial amount. |
tecPATH_PARTIAL |
Path could not send full amount. |
tecNO_ALTERNATIVE_KEY |
The operation would remove the ability to sign transactions with the account. |
tecNO_REGULAR_KEY |
Regular key is not set. |
tecOVERSIZE |
Object exceeded serialization limits. |
tecUNFUNDED |
One of _ADD, _OFFER, or _SEND. Deprecated. |
tecUNFUNDED_ADD |
Insufficient ZXC balance for WalletAdd. |
tecUNFUNDED_OFFER |
Insufficient balance to fund created offer. |
tecUNFUNDED_PAYMENT |
Insufficient ZXC balance to send. |
tecUNFUNDED_ESCROW |
Insufficient balance to create escrow. |
tecOWNERS |
Non-zero owner count. |
tecNO_ISSUER |
Issuer account does not exist. |
tecNO_AUTH |
Not authorized to hold asset. |
tecNO_LINE |
No such line. |
tecINSUFF_FEE |
Insufficient balance to pay fee. |
tecFROZEN |
Asset is frozen. |
tecNO_TARGET |
Target account does not exist. |
tecNO_PERMISSION |
No permission to perform requested operation. |
tecNO_ENTRY |
No matching entry found. |
tecINSUFFICIENT_RESERVE |
Insufficient reserve to complete requested operation. |
tefTABLE_GRANTFULL |
A table can only grant 500 uses. |
tefTABLE_COUNTFULL |
One account can own at most 100 tables,now you are creating the 101 one. |
tecNEED_MASTER_KEY |
The operation requires the use of the Master Key. |
tecDST_TAG_NEEDED |
A destination tag is required. } }, |
tecINTERNAL |
An internal error has occurred during processing. |
tecCRYPTOCONDITION_ERROR |
Malformed, invalid, or mismatched conditional or fulfillment. |
tecINVARIANT_FAILED |
One or more invariants for the transaction were not satisfied. |
tefALREADY |
The exact transaction was already in this ledger. |
tefBAD_ADD_AUTH |
Not authorized to add account. |
tefBAD_AUTH |
Transaction’s public key is not authorized. |
tefBAD_AUTH_EXIST |
Auth has been assigned } }, |
tefBAD_AUTH_NO |
Current user doesn’t have this auth } }, |
tefBAD_LEDGER |
Ledger in unexpected state. |
tefBAD_QUORUM |
Signatures provided do not meet the quorum. |
tefBAD_SIGNATURE |
A signature is provided for a non-signer. |
tefCREATED |
Can’t add an already created account. |
tefEXCEPTION |
Unexpected program state. |
tefFAILURE |
Failed to apply. |
tefINTERNAL |
Internal error. |
tefMASTER_DISABLED |
Master key is disabled. |
tefMAX_LEDGER |
Ledger sequence too high. |
tefNO_AUTH_REQUIRED |
Auth is not required. |
tefNOT_MULTI_SIGNING |
Account has no appropriate list of multi-signers. |
tefPAST_SEQ |
This sequence number has already past. |
tefWRONG_PRIOR |
This previous transaction does not match. |
tefBAD_AUTH_MASTER |
Auth for unclaimed account needs correct master key. |
tefGAS_INSUFFICIENT |
Gas insufficient. |
tefCONTRACT_EXEC_EXCEPTION |
Exception occurred while executing contract . |
tefCONTRACT_REVERT_INSTRUCTION |
Contract reverted,maybe ‘require’ condition not satisfied. |
tefCONTRACT_CANNOT_BEPAYED |
Contract address cannot be ‘Destination’ for ‘Payment’. |
tefCONTRACT_NOT_EXIST |
Contract does not exist,maybe destructed. |
telLOCAL_ERROR |
Local failure. |
telBAD_DOMAIN |
Domain too long. |
telBAD_PATH_COUNT |
Malformed: Too many paths. |
telBAD_PUBLIC_KEY |
Public key too long. |
telFAILED_PROCESSING |
Failed to correctly process transaction. |
telINSUF_FEE_P |
Fee insufficient. |
telNO_DST_PARTIAL |
Partial payment to create account not allowed. |
telCAN_NOT_QUEUE |
Can not queue at this time. |
telCAN_NOT_QUEUE_BALANCE |
Can not queue at this time: insufficient balance to pay all queued fees. |
telCAN_NOT_QUEUE_BLOCKS |
Can not queue at this time: would block later queued transaction(s). |
telCAN_NOT_QUEUE_BLOCKED |
Can not queue at this time: blocking transaction in queue. |
telCAN_NOT_QUEUE_FEE |
Can not queue at this time: fee insufficient to replace queued transaction. |
telCAN_NOT_QUEUE_FULL |
Can not queue at this time: queue is full. |
temMALFORMED |
Malformed transaction. |
temBAD_AMOUNT |
Can only send positive amounts. |
temBAD_CURRENCY |
Malformed: Bad currency. |
temBAD_EXPIRATION |
Malformed: Bad expiration. |
temBAD_FEE |
Invalid fee, negative or not ZXC. |
temBAD_ISSUER |
Malformed: Bad issuer. |
temBAD_LIMIT |
Limits must be non-negative. |
temBAD_OFFER |
Malformed: Bad offer. |
temBAD_PATH |
Malformed: Bad path. |
temBAD_PATH_LOOP |
Malformed: Loop in path. |
temBAD_QUORUM |
Malformed: Quorum is unreachable. |
temBAD_SEND_ZXC_LIMIT |
Malformed: Limit quality is not allowed for ZXC to ZXC. |
temBAD_SEND_ZXC_MAX |
Malformed: Send max is not allowed for ZXC to ZXC. |
temBAD_SEND_ZXC_NO_DIRECT |
Malformed: No Ripple direct is not allowed for ZXC to ZXC. |
temBAD_SEND_ZXC_PARTIAL |
Malformed: Partial payment is not allowed for ZXC to ZXC. |
temBAD_SEND_ZXC_PATHS |
Malformed: Paths are not allowed for ZXC to ZXC. |
temBAD_SEQUENCE |
Malformed: Sequence is not in the past. |
temBAD_SIGNATURE |
Malformed: Bad signature. |
temBAD_SIGNER |
Malformed: No signer may duplicate account or other signers. |
temBAD_SRC_ACCOUNT |
Malformed: Bad source account. |
temBAD_TRANSFER_RATE |
Malformed: Transfer rate must be >= 1.0 and <= 2.0. |
temBAD_TRANSFERFEE_BOTH |
Malformed: TransferFeeMin and TransferFeeMax can not be set individually. |
temBAD_TRANSFERFEE |
Malformed: TransferFeeMin or TransferMax invalid. |
temBAD_FEE_MISMATCH_TRANSFER_RATE |
Malformed: TransferRate mismatch with TransferFeeMin or TransferFeeMax. |
temBAD_WEIGHT |
Malformed: Weight must be a positive value. |
temDST_IS_SRC |
Destination may not be source. |
temDST_NEEDED |
Destination not specified. |
temINVALID |
The transaction is ill-formed. |
temINVALID_FLAG |
The transaction has an invalid flag. |
temREDUNDANT |
Sends same currency to self. |
temRIPPLE_EMPTY |
PathSet with no paths. |
temUNCERTAIN |
In process of determining result. Never returned. |
temUNKNOWN |
The transaction requires logic that is not implemented yet. |
temDISABLED |
The transaction requires logic that is currently disabled. |
temBAD_OWNER |
Malformed: Bad table owner. |
temBAD_TABLES |
Malformed: Bad table names. |
temBAD_TABLEFLAGS |
Malformed: Bad table authority. |
temBAD_RAW |
Malformed: Bad raw sql. |
temBAD_OPTYPE |
Malformed: Bad operator type. |
temBAD_OPTYPE_IN_TRANSACTION |
Malformed:create,drop,rename is not allowd in SqlTransaction. |
temBAD_BASETX |
Malformed: Bad base tx check hash. |
temBAD_PUT |
Malformed: Bad base tx format or check hash error |
temBAD_DBTX |
Malformed: Bad DBTx support. |
temBAD_STATEMENTS |
Malformed: Bad Statements field. |
temBAD_NEEDVERIFY |
Malformed: Bad NeedVerify field. |
temBAD_STRICTMODE |
Malformed: Bad StrictMode support. |
temBAD_LEDGER |
Malformed: Bad base ledger sequence. |
temBAD_TRANSFERORDER |
Malformed: Current tx is not the one we expected. |
temBAD_OPERATIONRULE |
Malformed: Operation Rule is not valid. |
temBAD_DELETERULE |
Malformed: Delete rule must contains ‘$account’ condition because of insert rule |
ttemBAD_UPDATERULE |
Malformed: Update rule is needed and ‘Fields’ is needed in update rule. |
temBAD_INSERTLIMIT |
Malformed: Deal with insert count limit error. |
temBAD_RULEANDTOKEN |
Malformed: OperationRule and Confidential are not supported in the mean time. |
temBAD_TICK_SIZE |
Malformed: Tick size out of range. |
temBAD_NEEDVERIFY_OPERRULE |
Malformed: NeedVerify must be 1 if there is table has OperatinRule. |
terRETRY |
Retry transaction. |
terFUNDS_SPENT |
Can’t set password, password set funds already spent. |
terINSUF_FEE_B |
Account balance can’t pay fee. |
terLAST |
Process last. |
terNO_RIPPLE |
Path does not permit rippling. |
terNO_ACCOUNT |
The source account does not exist. |
terNO_AUTH |
Not authorized to hold IOUs. |
terNO_LINE |
No such line. |
terPRE_SEQ |
Missing/inapplicable prior transaction. |
terOWNERS |
Non-zero owner count. |
terQUEUED |
Held until escalated fee drops. |
tefTABLE_SAMENAME |
Table name and table new name is same or create exist table. |
tefTABLE_NOTEXIST |
Table is not exist. |
tefTABLE_STATEERROR |
Table’s state is error. |
tefBAD_USER |
BAD User format. |
tefTABLE_EXISTANDNOTDEL |
Table exist and not deleted. |
tefTABLE_STORAGEERROR |
Table storage error. |
tefTABLE_STORAGENORMALERROR |
Table storage normal error. |
tefTABLE_TXDISPOSEERROR |
Tx Dispose error. |
tefTABLE_RULEDISSATISFIED |
Operation rule not satisfied. |
tefINSUFFICIENT_RESERVE |
Insufficient reserve to complete requested operation. |
tefINSU_RESERVE_TABLE |
Insufficient reserve to create a table. |
tefDBNOTCONFIGURED |
DB is not connected,please checkout ‘sync_db’in config file. |
tefBAD_DBNAME |
NameInDB does not match tableName. |
tefBAD_STATEMENT |
Statement is error. |
tesSUCCESS |
The transaction was applied. Only final in a validated ledger. |
表交易错误码¶
通过sdk的
submit
接口提交交易,validate_success
与db_success
为成功返回,除此之外的错误码如下:
字段
解释
validate_error
交易共识失败
validate_timeout
交易共识超时
db_error
入库语句执行失败
db_noTableExistInDB
要操作的表在数据库中不存在
db_noDbConfig
未配置数据库
db_noSyncConfig
加密表未配置解密私钥
db_noAutoSync
配置文件中auto_sync为0,无法建表
db_acctSecretError
加密表解密私钥错误
db_notInSync
表不在同步列表中
db_noSyncTable
sync_tales中没有找到此加密表相关配置