Nft 민팅 함수 구현시 질문이 있습니다

mintint contract을 올려서 테스트 중인데, 대부분의 경우 mintNFT 예제가 아래와 같더라구요.
그런데, 실제로 webbrowser에서 해당 함수를 이용해 mint를 해보면 "Can not send value to non-payable contract method or constructor"가 발생한걸 확인했습니다. 그렇다면 아래 함수를 단순히 payable로 변경하면 되는건가요? 아니면 이 함수에 mint를 시도한 계정에서 klay를 받는 로직까지 구현해 주어야 하는지요?

function mintNFT(string memory tokenURI)
public
onlyOwner
returns (uint256)
{
uint256 supply = totalSupply();
_tokenIds.increment();

    uint256 newItemId = _tokenIds.current();
    _mint(msg.sender, newItemId);
    _setTokenURI(newItemId, tokenURI);

    return newItemId;
}

안녕하세요

해당 오류를보니 value를 못보내는 함수에 보내신것같습니다.

그냥 실행해보시겠습니까?

또는 payable로 바꾸신뒤 msg.value로 보낸 값을 확인할 수 있습니다.

답변 감사드립니다. payable로 바꿔서 해결했습니다.