본문 바로가기
728x90

스마트컨트랙트2

[Solidity] 컨트랙트에 입금된 이더리움 출금하기 NFT 스마트 컨트랙트를 만들어 판매가 시작되면, 구매자들의 이더리움이 내 스마트 컨트랙트에 저장됩니다. 이 돈은 아직 내 지갑에 들어온 돈이 아니기에, 출금 신청을 해야만 합니다. 따라서 Solidity 코드 안에 출금 기능을 넣어봅시다. 아래 코드처럼 함수를 만들어주면 됩니다. contract MyContract is ERC721URIStorage, Ownable { function withdraw() external payable onlyOwner() { payable(owner()).transfer(address(this).balance); } } 예시에선 두 개의 클래스를 상속받고 있는데요, 이 중 필요한 클래스는 Ownable입니다. 컨트랙트 주인의 계좌에 송금하는 코드이므로 계좌 주인만 사용.. 2022. 2. 20.
Hardhat으로 Rinkeby 테스트넷에 스마트 컨트랙트 업로드하기 스마트 컨트랙트 개발이 완료됐다면, 이더리움 메인넷에 업로드하기 전, 먼저 제대로 작동하는지 테스트를 해볼겁니다. 기존처럼 단순히 로컬 hardhat 네트워크에서 테스트하는게 아니라, 실제 내 지갑과 연결하고 스마트 컨트랙트가 작동하는 모습을 확인하고 싶다면, Rinkeby라는 테스트넷을 사용해야 합니다. Rinkeby외에도 여러 테스트넷이 있지만, 개인적으로 가장 편리하다고 생각하는 네트워크기 때문에, 이를 기준으로 설명해보겠습니다. Rinkeby 계정 만들기 이 포스트를 보시는 분들은 모두 Solidity 개발을 해보신 분들일테니, 아마 Metamask 계정은 이미 있으실겁니다. Metamask를 켜면 아래처럼 내 계좌가 뜨는데요, 맨 위에 'Rinkeby 테스트 네트워크'라고 뜨는게 보이시나요? 지.. 2022. 1. 14.
728x90