클레이튼은 이더리움과 달리 고정 가스비 모델을 채택하고 있습니다. 따라서 개발자가 트랜잭션을 생성할 때 이더리움과 달리 가스를 고정적으로 설정해줘야합니다.
이 저장소에서는 Hardhat과 ethers.js를 사용하여 klaytn의 스마트컨트랙트를 작성 및 컴파일, 배포, 테스트를 하는 방법을 안내합니다.
- 저장소 Clone:
git clone https://github.com/thyoondev/klaytn_Hardhat_Example.git
- NPM 패키지 설치:
cd Hardhat_Klaytn_Example
yarn
- Hardhat Config 설정:
const config: HardhatUserConfig = {
solidity: "0.8.9",
networks: {
klaytn: {
url: process.env.KLAYTN_URL || "",
gasPrice: 250000000000,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
},
gasReporter: {
enabled: process.env.REPORT_GAS !== undefined,
currency: "USD",
},
etherscan: {
apiKey: process.env.ETHERSCAN_API_KEY,
},
};
- .env 파일 생성:
KLAYTN_URL='https://api.baobab.klaytn.net:8651'
PRIVATE_KEY=카이카스 지갑의 개인키를 넣어주세요.
- 컨트랙트 컴파일:
yarn hardhat compile
- Hardhat Node 실행:
yarn hardhat node
- 배포 실행:
yarn hardhat run scripts/deploy.ts --network localhost
- 테스트 실행:
yarn hardhat test test/index.ts --network localhost