Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escape special characters +-&|!(){}[]^"~*?:\ - e.g. \+ \* \!
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Answered
LITE_SERVER_UNKNOWN: cannot compute block with specified transaction: lt not in db

Hi I'm just trying to get transactions for the address and getting this error from time to time (few times I got successfull response)

request:

 curl -X 'GET' 'https://toncenter.com/api/v2/getTransactions?address=EQBnvfmXYL_z7n4WriIEVrBNKVQBolTD5bx-syCe5B5EtqOy' -H 'accept: application/json'

error:

{"ok":false,"error":"LITE_SERVER_UNKNOWN: cannot compute block with specified transaction: lt not in db","code":500}
  1. Why I'm getting this error periodically?
  2. Do I need in my own Lite node to avoid this error? What is the reason to use own Lite node?

Thanks.

  
  
Posted 9 months ago
Votes Newest

Answers 2


You probably should add parameter "archival=true" to your transactions query.

  
  
Posted 3 months ago

I am in the same situation, it seems that the server does not store the complete block data.
In addition, there is related error handling in [email protected]/liteap/client.go 648 line, but I didn’t understand it. The approximate code is as follows:
txs, err := c.GetTransactions(ctx, uint32(transactionCount), a, lastLt, ton.Bits256(lastHash))
if err != nil {
if e, ok := err.(liteclient.LiteServerErrorC); ok && int32(e.Code) == -400 { // liteserver can store not full history. in that case it return error -400 for old transactions
break
}
return nil, err
}

  
  
Posted 6 months ago
Edited 6 months ago
11K Views
2 Answers
9 months ago
3 months ago
Tags