해결된 질문
작성
·
367
·
수정됨
0
token 을 transfer 할 때,
address(this) 와 owner() 의 개념이 혼란스럽습니다.
buyer 가 amount 를 지불 할 때 owner() 를 쓴 것은 이해가 됩니다만,
snowmenToken.safeTransferFrom(buyer, owner(), amount);
아래처럼 snowmenGame 에서 token 을 transfer 할 때는 address(this) 를 사용하는 이유는 무엇인가요?
snowmenGame.safeTransferFrom(address(this), buyer, tokenId, quantity, "");
owner() 와 address(this) 가 각각 주소값이 다른데,
snowmenGame.safeTransferFrom 을 할 때, address(this) 대신에 owner() 를 하면 안되는 걸까요?
답변 2
1
1
안녕하세요 :) address(this)
는 snowmenSales 스마트 컨트랙이 배포된 "주소"입니다. 그래서 address(this)
즉 snowmenSales 컨트랙이 소유하고 있는 erc1155 토큰을 buyer
계정으로 전송하는 과정이에요.
우리가 snowmenGame 컨트랙에서 민팅할 때 snowmenSales 컨트랙으로 전송했기 때문에 토큰의 소유자가 컨트랙이므로address(this)
를 쓰는겁니다.