Build A NFT Whale Watcher - Helping Each Other

Awesome. I think I pinpointed the problem. It seems to have to do with how i’m calling the Moralis API.

For some reason the API keeps returning the same block for each unique timestamp.

On swagger i’m able to get the correct block utilizing the time/date but not in vscode.

What’s the issue in how i’m calling the API?

You’re not passing in date into the Moralis API from your options. E.g.

const blockoptionsThirty = {
    chain: 'Eth',
    dateThirty: dateThirty,
};

That should be:

const blockoptionsThirty = {
    chain: 'Eth',
    date: dateThirty,
};

That worked. thanks for the correction!

Hey, i’m having trouble getting the Moonbirds “Longest Avg Hold” “Largest Bag” and “Highest Avg Buy In” to display the correct numbers. Currently they are displaying “NaN”. I’m at 49:19 in the video.

I added some console.logs to hopefully help debug. would love some insight into where the error is.

async function getCol() {
      const res = await axios.get("http://localhost:4000/", {
        params: {slug: collection},
      });


      const data = res.data;
      console.log("data",data);

console.log(“data”,data);
this prints: data Welcome to the server

const dataArray = Object.values(data);
      console.log("dataArray",dataArray);

console.log(“dataArray”,dataArray);
this prints:
0: “W”
1: “e”
2: “l”
3: “c”
4: “o”
5: “m”
6: “e”

etc. prints welcome to the server.

So I guess, it doesn’t look like it’s retrieving the correct information from the correct page. I tried manually plugging in the slug etc. into the axios get request but the request gets caught in a promise. Been trying to figure this out for 3 days.

Anyone have insights into how to fix this?

Based on the final repo, it should be http://localhost:4000/collection.

So when I change it to include /collection I get

TypeError: Cannot read properties of undefined (reading ‘owners’)

and

Uncaught (in promise)
AxiosError
code: “ERR_BAD_RESPONSE”
message: “Request failed with status code 500”
In the headers object it says something like “cannot read properties of undefined” looks like it mentions “owners” as well.


I’m not seeing any use of owners in Collection.js where the getCol function is meant to be, can you post your current code.

If you are making your own changes, then more info is needed.

I updated some variable names for specificity (so I can understand them later), and added additional functionality to the stats.js (but that doesn’t appear to be throwing the error).

Here is a link to the main files in github.

That owners error is happening on that collection?slug=0x235.. page? Make sure that address matches that collections address in index.js.

It’s acting relatively inconsistently. Now i’m just getting the below error

Which page is this on now? You only posted fragments of the project so I can only make assumptions. Try restarting your server if the errors are intermittent.

Sorry about that. I actually just uploaded the full project to github. that’s my fault. I restarted the server multiple times, the errors are persistent.

The issue is in your collectionsFile.js - you need to use the exact address set in the server:

slug: "0x23581767a106ae21c074b2276D25e5C3e136a68b"

to:

slug: "0x23581767a106ae21c074b2276d25e5c3e136a68b"

did that solve the issue for you? I’m still getting the error and I added the comma.

The comma wasn’t the issue - have a close look at the differences between the two addresses. Copy exactly what you use in your Express index.js into your collectionsFile.js.

But yes, all working on my side after correcting this.

wow. humbling experience. didn’t know the slug was case sensitive. thank you for the help! you are an expert!!

Hey in some cases my code is showing brackets instead of a number which is making my code return undefined and is ultimately cause issues in my dashboard. Am I doing something wrong? Is there any other way to address this other than filtering !== undefined, not sure if that will mess up my data?

Need more info - which changes have you made since the previous issue? Which file or code is this error coming from? Is this issue Moralis related?

showing brackets instead of a number

What do you mean by this? If it only happens in some cases, then which cases are these or is it random? You can do some debugging.

Sorry about that. Basically I restarted the whole project and decided to follow the project build exactly with the video. So the github repo should be basically exactly like the youtube video (aside from a few // notes that i’ve written to myself).

I believe the error is happening in collection.js

I completed the video and here is my final repo. This “undefined” issue seems to be the only issue i’m having, i believe it’s trickling down to causing problems in the “sort” feature as it crashes when I click to sort in descending etc.

Would love any insights you may have! :slight_smile:

It is an issue with your dataArray variable in your Collection component - some of the array items do not have an avgHold property. So try to find out why this is - the data is initially coming from the fetch request to the Express server.

const dataArray = Object.values(data);
console.log("dataArray", dataArray);