작성
·
144
0
리팩토링 1 강의 13:25초에 setSaleNft(contract_address) 를 실행시켜야 getAnimalTokens() 함수를 사용한다고 하셨는데 왜 실행시켜야 하는지 모르겠습니다..!
import 해오고
SaleAnimalToken public saleAnimalToken;
시점에 사용 할 수있는게 아닌건가요?
saleAnimalToken.sol deploy 할 때도 이미 contract_address 가 등록된 줄 알았는데
setSaleNft(contract_address); 를 한번 실행시켜야 한다는게 잘 이해가 되지 않습니다ㅠ
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
네, 님의 질문에 답변드리겠습니다.
리팩토링하는 과정에서 setSaleNft(contract_address)
를 호출하는 이유는 해당 함수가 스마트 컨트랙트 간의 연결을 설정하는 역할을 하기 때문입니다. SaleAnimalToken
컨트랙트의 인스턴스를 사용하기 위해서는 먼저 컨트랙트의 주소를 설정해야 합니다.
import
구문은 스마트 컨트랙트 코드를 가져오는 것입니다. 실제 컨트랙트의 인스턴스와 소통하기 위해서는 컨트랙트가 배포된 주소를 이용하여 해당 인스턴스를 지정하는 과정이 필요합니다. 이 때 setSaleNft
함수는 contract_address
를 인자로 받아 SaleAnimalToken
컨트랙트와의 연결 주소를 설정하는 역할을 합니다.
즉, import
로 코드를 가져왔다고 하더라도, 우리가 실제로 배포된 SaleAnimalToken.sol
컨트랙트와 상호 작용하려면 주소를 통해 연결해주어야 하고, 이는 setSaleNft(contract_address)
로 실행됩니다. 다시 말해, 스마트 컨트랙트 주소를 연결해주는 단계가 필요하며, 이를 통해 해당 주소에 배포된 컨트랙트의 함수들을 사용할 수 있게 되는 것입니다.
이해가 되셨기를 바라며, 추가적인 질문이 있으시면 문의해 주시기 바랍니다.