Skip to content

Instantly share code, notes, and snippets.

@Radishoux
Last active October 20, 2021 10:23
Show Gist options
  • Select an option

  • Save Radishoux/7d2ab1c3e26540a0541d23604c3efaf8 to your computer and use it in GitHub Desktop.

Select an option

Save Radishoux/7d2ab1c3e26540a0541d23604c3efaf8 to your computer and use it in GitHub Desktop.
an algo to scrap zoo api and find best set to buy
function scrapZooGame(zooprice, zooper100hashrate, alreadygot) {
fetch('https://api.zoogame.finance/api/zoo/market?nftName=&team=&rarity=&page=1&perPage=10000&type=1&currentPage=1').then(function(response) {
return response.json();
}).then(function(r) {
var multi = [];
var solo = [];
for (let i = 0; i < r.data.length; i++) {
if (r.data[i].nfts.length > 1)
multi.push(r.data[i]);
else
solo.push(r.data[i]);
}
solo = solo.filter(z => alreadygot.indexOf(z.team) == -1);
var fams = {}
var epics = [];
for (let i = 0; i < solo.length; i++) {
if (fams.hasOwnProperty(solo[i].team) == false) fams[solo[i].team] = {};
if (fams[solo[i].team].hasOwnProperty(solo[i].rarity) == false) fams[solo[i].team][solo[i].rarity] = [];
if (solo[i].rarity == "Epic") epics.push(solo[i]);
solo[i].price /= 1000000000000000000;
fams[solo[i].team][solo[i].rarity].push(solo[i])
}
for (const f in fams) {
if (fams[f].hasOwnProperty("Junk") == false || fams[f].hasOwnProperty("Normal") == false || fams[f].hasOwnProperty("Rare") == false || fams[f].hasOwnProperty("Epic") == false) {
delete fams[f];
} else {
for (const q in fams[f]) {
fams[f][q].sort((a, b) => {
if (a.price > b.price)
return 1;
if (a.price < b.price)
return -1;
return 0;
})
}
}
}
for (let i = 0; i < epics.length; i++) {
if (fams.hasOwnProperty(epics[i].team) == false) {
epics.splice(i, 1);
i--;
} else {
epics[i].fullprice = epics[i].price + fams[epics[i].team].Junk[0].price + fams[epics[i].team].Normal[0].price + fams[epics[i].team].Rare[0].price;
epics[i].fullpower = epics[i].power + 57;
epics[i].worth = epics[i].fullpower / epics[i].fullprice;
epics[i].journa = (((epics[i].fullpower / 100) * zooper100hashrate) * zooprice)
epics[i].renta = epics[i].fullprice / epics[i].journa
}
}
epics.sort((a, b) => {
if (a.worth > b.worth)
return -1;
if (a.worth < b.worth)
return 1;
return 0;
})
console.log(epics);
})
}
@Radishoux
Copy link
Author

Radishoux commented Aug 31, 2021

it's javascript
f12 on zoo website
paste in console
then call it with actual values
scrapzoogame(0.56, 5.70, ["Pelicans", "Nuggets"]);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment