Closed Jack-0 closed 1 year ago
However, the challenge I face is I want to get a pools info when only knowing it's ticker.
One thing to note here is that the pool ticker is not a unique identifier for a pool so I think this method is not ideal, although querying one ticker shared by multiple pools could be made to return all the results.
But you are right in that some pools (like the ones you listed) return null
ticker from /pool_list
, even though they return a valid ticker from /pool_info
or pool_updates
. The /pool_list
endpoint uses only the pool_info_cache
table so this problem can be tackled either by correcting (optimising) that caching, or by adding logic for the endpoint not to rely solely on that table.
One thing to note here is that the pool ticker is not a unique identifier for a pool so I think this method is not ideal, although querying one ticker shared by multiple pools could be made to return all the results.
I understand this. This is more for UX (Cardano needs more usability focused design imo).
But you are right in that some pools (like the ones you listed) return
null
ticker from/pool_list
, even though they return a valid ticker from/pool_info
orpool_updates
. The/pool_list
endpoint uses only thepool_info_cache
table so this problem can be tackled either by correcting (optimising) that caching, or by adding logic for the endpoint not to rely solely on that table.
Hopefully this could be fixed with optimizing the cache as mentioned here.
route
api/tickers
json input (list of tickers)
{"tickers":["9000","MAPLE","hIgH"]}
returns
[{
"ticker":"<pool_ticker>"
"poolId":"<poolBech32Id>"
}]
The outcome seen here is a result of 2 different issues, while in addition (continuing from previous thread) - the consideration is for 3 issues:
pod.json IS NOT NULL
filter). Doing a fallback for all pools might not be the best way ahead from performance point of view, but could be an interim solution if done for public pools.
Expected Resolution: The SQL queries to be optimised where possibleAs regards the endpoint for JSON list of tickers, that's an easy addition - but it'd be equivalent of https://api.koios.rest/api/v0/pool_list?ticker=in.("MAPLE","HIGH","TCATL","ZEBRA")
, we can look at it once issue # 2 is fixed. Note that some pools could still fail due to point # 1, and in future # 3.
We'll be able to confirm some of the details with a forked dbsync version that contains the fix upstream, and is being run by @reqlez (still ~40 epochs to go)
The above mentioned tests from Boris' fork (cherry picked dbsync commits) look promising, the fixes made upstream to dbsync are now showing all the mentioned pools - awaiting a release (or even a dedicated tag/branch on IO repo) on dbsync now
Update - still waiting to hear back on marking next tag/release on dbsync
Update - still waiting to hear back on marking next tag/release on dbsync
I have not seen any additional commits into that branch 13-0-6 branch, i'm assuming they are getting some obscure release manager on it lol
Reference https://github.com/cardano-community/guild-operators/issues/1465
There is still an issue here. I've been writing an API that checks pools unfortunately some of the data is null for certain tickers. Including that same ticker mentioned above...
Reproduce
Is this expect behavior for Koios?
Context
I know it maybe possible to find this data from pool history using the pool bech32. However, the challenge I face is I want to get a pools info when only knowing it's ticker. If some tickers are null this is not achievable as far as I am aware with Koios.
This could be classed as a feature if this is the expected behavior of Koios. However, other sites/api's still display the pools tickers the only issue I found was with [high] on Cardanoscan.io
If you don't classify this as a bug could this be turned into a feature request. I'm opening this ticket on this issue again for context.
Originally posted by @Jack-0 in https://github.com/cardano-community/guild-operators/issues/1465#issuecomment-1272616685