안녕하세요 토큰을 발행하고 다른곳에서 mint가 되는 지를 call함수를 통해서 확인해보는데 정말 절대 안되길래… 이렇게 문의를 남깁니다.
contract A {
function mintNFT(string memory tokenURI,uint price) public onlyOwner returns (uint256) {
_tokenIds.increment();
uint256 newItemId = _tokenIds.current();
_mint(msg.sender, newItemId);
tokenPrice[newItemId] = price;
_setTokenURI(newItemId, tokenURI);
return newItemId;
}
}
contract B {
function mint(address _contract,address to,uint price)public virtual returns(bool){
(bool data, ) = address(_contract).call(abi.encodeWithSignature(“mintToken(address,uint)”,to,price));
return data;
}
}
이렇게 사용하는게 call방식으로 알고있는데 되지를 않습니다... 왜그럴까요??
그리고 사실 궁금한 부분이 서버중앙형으로 만들어서 모든것이 서버를 통해서 작동하게 만들 때 transferFrom의 대납계정이 msg.sender처리하는 부분으로인해 값이 바뀌는 것으로 알고 있습니다. 혹시 이부분을 해결 할 수 있는 방법을 알 고 있을까요?