La propia página en algunas peticiones lo te dice "This endpoint is deprecated", pero obtener el orderbook si es posible por ejemplo
Lo puedes conseguir todo, pero hay que meterse en la web del dapp ( en bonfida, por ejemplo), pulsar F12 en el navegador, filtrar las conexiones de red por XHR en el botoncejo que hay para eso y ver cómo saca la lista.
Yo lo he hecho y la REST resulta ser
https://wallet-api.bonfida.com/cached/market-table
Es decir, no tienen API oficial, pero sí que usan internamente eso en su dapp, que se correspondería con lo que hace la función de la API que ahora te devuelve lo de 'deprecated'.
El resultado es:
Con esos address, que son los del market, sí que luego por otra consulta puedes ver los libros de órdenes.
Pues lo que te decía antes en otros posts es que esta forma de listar cambia de bonfida a dexlab, es diferente, además de que dexlab en la misma consulta te da también los mint de las dos monedas y bonfida eso lo omite (necesita otra consulta adicional).
Dada una moneda, puedes tener todos los mercados en los que está y todos sus pares, pero antes de tener eso, has de conectar las tablas.
Voy a intentar ésto:
Dos nuevas tablas, tradedexs y tradepairs.
En la tabla tradedexs meteré los dapps (bonfida, dexlabs, etc..). Como se comportan diferente en cuanto a la manera de funcionar, tendré que usar una clase abstracta para el procesado (controller) y el nombre de su implementación la guardaré como 'classControllerName'.
Voy a usar otra tabla, tradepairs, donde se metan los pares de ese dapp, pero de manera que se una a la otra tabla, Tradecoins, debido a su mintado ('address' es el mintado en la tabla Tradecoins). Tendré una FK para la moneda base (basemint) y otra para la moneda que se tradea (quotemint).
Al hacer esto, podré generar una consulta tal que, a partir de un objeto Tradecoin (moneda), tengamos:
'contains' => [ 'Pairmints', 'Pairmints.Tradedexs', 'Pairquotes', 'Pairquotes.Tradedexs'] ,
'conditions'=>['address' => $moneda->address],
donde Pairmints es la asociación de la tabla Tradecoins con el FK basemint y Pairquotes lo es con la FK quotemint.
Esta consulta con esas asociaciones darían toda la estructura de mercado para una moneda. De forma automática, encontraríamos todos los mercados y todas las monedas implicadas.
Con esto creo que se resolvería el tema de seguir las monedas en los diferentes markets, pero necesita el trabajo previo de ir por los dapps uno a uno para recabar primero la info de qué markets contiene y luego sacar sus pares debidamente relacionados con la tabla donde tenemos todas las coins. Es un proceso de construccióon inversa.