With this smart contract you will provide the token_uri as an argument to the createToken
function that then mints a NFT. So essentially, deploy the contract then paste your ipfs metadata link as an argument to the createToken
function and youre NFT will mint, with metadata stored in ipfs, when you run the functoin
I was able to mint the tokens but the images are not showing on opensea.
However, the old ones I bulk-minted still have their images showing up on opensea
Yes i understand i can load images manually but i want the images to get pulled from opensea as well to be displayed
Thanks for the reply, I have created the sync event on the Moralis server. It appears to detect something when I attempt to list an NFT by adding data instances to classes such as PolygonTransactions. I am just finding that no instances of CreatedMarketItems are created.
However, I saw that the columns of the CreatedMarketItems class do not match the ones in the tutorial video. This is because these column names (as shown below) do not show the column names entered into the sync event details. Would this be a likely cause to why it is not working?
I got everything right and I can navigate the marketplace, but cannot buy anything.
I think because I’ve missed the last part. What exactly I have to do here?
Sync the
MarketItemCreated
event/src/contracts/marketplaceBoilerplate.sol
contract with your Moralis Server, making the tableNameMarketItems
Hi, My collection in ethereum-nft-marketplace-boilerplate doesn’t display… its saying this… "No Smart Contract Details Provided. Please deploy smart contract and provide address + ABI in the MoralisDappProvider.js file " How can i fix it? Thank you
Hi,
Thank you for the great work
I couldn’t deploy the smartcontract, I couldn’t find the /src/contracts/marketplaceBoilerplate.sol file, will appreciate your help
Seatea
Hi @ZeusExMachina,
If the CreatedMarketItems
class does not auto-populate even after you successfully complete a transaction to list an item using the smart contract, there is most likely something off in your sync event. I would carefully make sure that all the details “selected chain”, “ABI”, “address” and “topic” are correct
I know it is a bit tedious, but I suggest just executing the list function on Remix and tweaking the sync event until you manage to get the CreatedMarketItems
to populate!
@gymvideo, @Tellem1111, @Seatea,
Hey peeps,
Seems like you are all stuck in a similar place, you can find the marketplace contract from the repo, here is a link to it:
Then you can deploy this contract for example using Remix and note down your contract address and contract ABI of this newly deployed contract (these will go in the MoralisDappProvider.js
file).
Then to sync this contract with your Moralis server follow the steps outlined in the yt tutorial (timestamps 46:30 - 51:50).
Hope this notes lead you in the right direction
Where does the address come from at 48:08?
How can I get the authenticate button to work in the final code version?
I am following the tutorial video, done everything up to the explore page and it is not working showing me
How do I fix it
Thank you for this solution, so this part will go to the contract then how to add cancel button in the App.jsx
Can you please provide some code, thanks
It works. Thanks a bunch chief
Hello All,
there is one suggest that to cancel the sale of nft, in case the seller wants to get his nft back
this is the solidity code:
function cancelSale(uint itemId) public nonReentrant{
require(msg.sender == idToMarketItem[itemId].seller, “You not are the owner of this item”);
require(idToMarketItem[itemId].sold == false,“The item has been sold”);
IERC721(idToMarketItem[itemId].nftContract).transferFrom(address(this), msg.sender, idToMarketItem[itemId].tokenId);
delete idToMarketItem[itemId];
}
then any suggestion how to implement the cancel button in the App.jsx (any sample code please to add in App)
POST https://ic5roflio13a.usemoralis.com:2053/server/functions/getNFTs 400
And none of the NFTs in my wallet are displayed. But if I reload this a bunch of times they are displayed.
Hi, I am following youtube video. For creating market item, I have minted test nfts on opensea testnet for mumbai. When I try to list the nft from my collection I get the error: “TypeError: Cannot read properties of undefined (reading ‘call’)”. Do you have any ideas what could be the problem or how i can debug it?
Hey @DorianFive
Please share your server details and a readable screenshot of network request and response (you can find it in the “network” tab in the dev tools.
Probably the getNFTs
endpoint is called before the user address is defined(check your code)
Thank you very much for your reply!
const { chainId, marketAddress, contractABI } = useMoralisDapp();
const contractProcessor = useWeb3ExecuteFunction();
const contractABIJson = JSON.parse(contractABI);
const listItemFunction = "createMarketItem";
async function list(nft, listPrice) {
const p = listPrice * ("1e" + 18);
const ops = {
contractAddress: marketAddress,
functionName: listItemFunction,
abi: contractABIJson,
params: {
nftContract: nft.token_address,
tokenId: nft.token_id,
price: String(p),
},
};
await contractProcessor.fetch({
params: ops,
onSuccess: () => {
alert("success");
},
onError: (error) => {
alert(error); //This is where it catches the error.
},
});
}
This is the content of ops:
{“contractAddress”:“0xd9145CCE52D386f254917e481eB44e9943F39138”,“functionName”:“createMarketItem”,“abi”:{“anonymous”:false,“inputs”:[{“indexed”:true,“internalType”:“uint256”,“name”:“itemId”,“type”:“uint256”},{“indexed”:true,“internalType”:“address”,“name”:“nftContract”,“type”:“address”},{“indexed”:true,“internalType”:“uint256”,“name”:“tokenId”,“type”:“uint256”},{“indexed”:false,“internalType”:“address”,“name”:“seller”,“type”:“address”},{“indexed”:false,“internalType”:“address”,“name”:“owner”,“type”:“address”},{“indexed”:false,“internalType”:“uint256”,“name”:“price”,“type”:“uint256”},{“indexed”:false,“internalType”:“bool”,“name”:“sold”,“type”:“bool”}],“name”:“MarketItemCreated”,“type”:“event”},“params”:{“nftContract”:“0x2953399124f0cbb46d2cbacd8a89cf0599974963”,“tokenId”:“55358504606728883414416172844900236974609612473440771357521124647570157600774”,“price”:“1000000000000000000”}}