Hello everyone, everything good?
I'm in need of some help...
I'm developing this NFT dapp from this Video:
and Github repository:
This Dapp works perfectly, I can create erc721 token and sell it...
However I'm wanting to implement the possibility of selling the nft that were purchased.
I think to transfer nft back to the market to sell, you need to transfer the tokenId to the Marketplace contract..
But when I run the sell button I get an error that was not approved or I'm not an owrner.
This is the code I'm reproducing to try to sell nft that were bought
async function SellNFT(nft) {
const web3Modal = new Web3Modal()
const connection = await web3Modal.connect()
const provider = new ethers.providers.Web3Provider(connection)
const signer = provider.getSigner()
/* next, create the item */
let contract = new ethers.Contract(nftaddress, NFT.abi, signer)
const price = ethers.utils.parseUnits(nft.price, 'ether')
/* then list the item for sale on the marketplace */
contract = new ethers.Contract(nftmarketaddress, Market.abi, signer)
let listingPrice = await contract.getListingPrice()
listingPrice = listingPrice.toString()
const transaction = await contract.createMarketItem(nftaddress, nft.tokenId, price, { value: listingPrice })
await transaction.wait()
router.push('/')
}
How can I approve the transaction for the contract using erc721?
and how can i call on web3..
Any help would be very welcome.