Cloning OpenSea NFT Boilerplate Questions

This can also be used on the entire collection display pageā€¦maybe we can add this to there in the repo?

This boilerplate isnā€™t receiving updates anymore, but there is an Ethereum Boilerplate v2 coming out, so there may be another OpenSea or marketplace version of it based on it as well.

as it appears there is no rhyme or reason as to how they are displayed (all out of order by tokenID)

Yes the results may not be in order. This is an example if you wanted to save all of the NFT data for your collection to your server (so you can just query it however you want e.g. sorted by tokenId).

any guidance there as far as adding ENV Variables etc?

You will need to follow the Vercel docs on how to add environment variables; each provider e.g. Netlify, Vercel, Amazon have their own way of handling secrets.

Make sure your app works locally first (serving your build folder from npm run build or yarn build with a local webserver).

1 Like

Do you see your collection show up on the Explore page in general (when your wallet is on the right chain where the contract is)?

Make sure the collection is defined in helpers\collections.js.

1 Like

Thanks, never thought about defining collections! Good night and thanks for the fast reply <3

yes added environment variables to vercel. but still getting this error

react-jsx-runtime.production.min.js:216 NoMoralisContextProviderError: Make sure to only call useMoralis within a

react-jsx-runtime.production.min.js:260 Uncaught NoMoralisContextProviderError: Make sure to only call useMoralis within a

2022-07-28 (1)|690x388

Try hardcoding the serverUrl and appId in your <MoralisProvider> component just to make sure this is an issue to do with the environment variables.

Hi ser,

Everything was working fine. And today, itā€™s impossible to connect to the marketplaceā€¦ each time you authenticate, it asks you to re-authenticate, so no balance etcā€¦ However, I did not touch anything

Is your server awake? If it is, try restarting it. Check your browser console for any errors.

Ok work well nowā€¦ Thanks

Hey guys,
I am trying to create an event sync in Moralis but I am unable to select the topic and hence, unable to proceed. Please help.

Are you using the admin UI? Make sure you copy in the whole ABI of your contract to get a list of the topics available.

The error resolved. Thanks!

I listed my NFT successfully but cannot see it the ā€œbuy nowā€ option. I checked on etherscan and I see the create market Item by the contract.

Also I have the contract address and ABI in MoralisDappProvider.js

I am hosting my own server (parse server)

Do you have the market item in your MarketItems class / table? This is the buy now code that depends on it.

no itā€™s not thereā€¦ is this database still valid with my own server?

You need to sync the MarketItemCreated event to your server. You will need to do this with the Streams API now for your self-hosted server.

ok, abit confused on how this works though, should I just add these 2 lines to my .env in the parse server project?

USE_STREAMS = ā€˜trueā€™

STREAMS_WEBHOOK_URL = ā€˜/streams-webhookā€™

You can check out this demo.

You can find out more about the Streams API.

There is a new tutorial here which may be easier to follow.

ok I created a stream on Moralis.io by following the tutorial, but not sure how to link it to the boilerplate code. it should be connected to my MongoDB now

should I add the USE_STREAMS in .env after setting up the stream ? I have it setup on MOralis

Looks like you donā€™t have to worry about USE_STREAMS, it isnā€™t being used in the Parse server demo.

ok I created a stream on Moralis.io by following the tutorial, but not sure how to link it to the boilerplate code

The boilerplate queries your databaseā€™s MarketItems table by default. So if you set up a stream for the MarketItemCreated events and save them to this table in the same way (like with hosted servers), it should work.

What you can do is test first by manually creating the event record/object for one of your NFTs that is for sale to make sure the boilerplate app works with it first.