728x90
이번엔 Hardhat에서 테스트할 때, 내 월렛에서 컨트랙트로 이더리움을 보내는 방법을 알려드리겠습니다.
보내는 방법은 엄청 간단한데, 바로 코드부터 보시죠
const {ethers} = require("hardhat");
const mc = await ethers.getContractFactory("MyContract");
newContract = await mc.deploy();
const create1 = await newContract.doSomething({value: ethers.utils.parseEther("0.06")});
먼저 Solidity로 만든 MyContract를 불러와 deploy합니다.
이렇게 만든 컨트랙트를 newContract라 부르도록 하겠습니다.
그 다음, myContract를 만들때 구현했던 함수(예를 들어, doSomething())를 호출합니다.
(참고로, 함수가 이더리움을 받기 위해선, Solidity에서 함수에 payable을 붙여줘야 합니다)
doSomething()을 호출할 때, {value: ethers.utils.parseEther("0.06")} 처럼 파라미터를 입력해줍니다.
이렇게 하면, 함수에게 0.06 이더리움을 전송할 수 있게 됩니다.
728x90
'프로그래밍 > Solidity' 카테고리의 다른 글
[Solidity] 컨트랙트에 입금된 이더리움 출금하기 (0) | 2022.02.20 |
---|---|
Hardhat으로 Rinkeby 테스트넷에 스마트 컨트랙트 업로드하기 (0) | 2022.01.14 |
Hashlips_art_engine 사용해 NFT metadata 만들기 (6) | 2022.01.05 |
Hardhat에서 테스트용 월렛 정보 받아오기 (0) | 2021.12.23 |
VSCode에서 Hardhat 사용 시 초기 세팅 (0) | 2021.11.21 |
댓글