반응형
* Baobab 네트워크에서 배포합니다.
- 트러플(Truffle)
솔리디티로 작성된 스마트 컨트랙트를 트러플을 통해 컴파일하고 배포할 수 있다.
- 트러플 설치
$ npm i -g truffle
- 클레이 받기
배포를 위해서는 klay가 필요하기 때문에 카이카스 지갑에 klay를 받는다.
2023.02.03 - [blockchain] - [Klaytn] Baobab환경-Klay 받기
[Klaytn] Baobab환경-Klay 받기
- Baobab Klaytn Wallet 사이트 접속 https://baobab.wallet.klaytn.foundation/faucet Klaytn Wallet baobab.wallet.klaytn.foundation - Faucet 실행 계정 주소를 입력하면 KLAY 잔액을 확인할 수 있다. Run Faucet 버튼을 클릭하면 150 KL
chandlerbong.tistory.com
- 프로젝트 디렉터리 생성
$ mkdir klay
$ cd klay
- 트러플 초기화
컨트랙트 배포를 위해 트러플을 초기화한다.
$ truffle init
- 솔리디티 스마트 컨트랙트 작성
$ cd contracts
$ touch test1.sol
$ vi test1.sol
test1.sol에 컨트랙트 코드를 작성한다.
pragma solidity 0.5.6;
contract CONTRACT_NAME {
...
}
- 마이그레이션 스크립트 작성
$ cd migrations
$ vi 1_initial_migration.js
- 1_initial_migration.js
const Test = artifacts.require('./test.sol')
module.exports = function (deployer) {
deployer.deploy(Test)
};
- .env 파일 생성
$ npm i dotenv
클레이튼 계정의 개인키를 저장한다.
PRIVATE_KEY=''
- HDWallet-Provider 설치
$ npm install truffle-hdwallet-provider-klaytn
- 스마트 컨트랙트 배포
- truffle-config.js
require('dotenv').config();
const HDWalletProvider = require("truffle-hdwallet-provider-klaytn")
const NETWORK_ID = '1001'
const URL = 'https://api.baobab.klaytn.net:8651'
const GASLIMIT = '8500000'
const PRIVATE_KEY = process.env.PRIVATE_KEY; //환경변수
module.exports = {
networks: {
baobab: { //네트워크
provider: () => new HDWalletProvider(PRIVATE_KEY, URL),
network_id: NETWORK_ID,
gas: GASLIMIT,
gasPrice: null,
},
},
// 컴파일러 버전
compilers: {
solc: {
version: '0.5.6',
},
},
}
$ truffle deploy --network baobab
--network : 배포할 네트워크
--reset : 덮어쓰기
반응형
'blockchain' 카테고리의 다른 글
remix - Deploy & At Address (0) | 2023.03.18 |
---|---|
IPFS (0) | 2023.03.03 |
[Klaytn] 스마트 컨트랙트 배포 (0) | 2023.02.09 |
[Klaytn] EN (0) | 2023.02.09 |
[Klaytn] CountBApp (0) | 2023.02.05 |