address에서 send, transfer를 호출할 수 없는 이슈
2022. 4. 1. 14:30ㆍ개발 잡부/블록체인
728x90
개요
solidity 0.5버전 이하에서
address 변수에서 send나 transfer를 호출하려 하면 다음의 에러가 발생한다.
"send" and "transfer" are only available for objects of type "address payable", not "address".
address payable
0.4 버전까지는 address만 있었지만,
0.5버전 이상부터는 address payable이 생겼다.
일반 address에서는 더이상 send와 transfer를 할 수 없다.
아마 잠재적으로 결제나 송금이 될 내용을 알 수 있게 한 것 같다.
// 선언
address payable owner;
// 형변환
address a;
owner = payable(a);
// 생성자에서 초기화
constructor() {
owner = payable(msg.sender);
}
참고 자료
'개발 잡부 > 블록체인' 카테고리의 다른 글
나만의 후원사이트 만들기 (cheers-coffee) 1 (0) | 2022.04.01 |
---|---|
OpenZeppelin에서 msg.sender를 사용하지 않는 이유 (0) | 2022.04.01 |
SPDX-License-Identifier 이슈 (0) | 2022.04.01 |
크립토 좀비 1-6. 앱 프론트엔드 & Web3.js (0) | 2022.03.31 |
크립토 좀비 1-5. ERC721 & 크립토 수집품 (0) | 2022.03.31 |