Klaytn에서는 솔리디티로 작성된 스마트 컨트랙트를 트러플을 통해 컴파일하고 배포할 수 있습니다. 현재 Klaytn은 트러플 최신 버전인 v5.0.26까지 지원합니다. 트러플에 대한 자세한 내용은 아래 웹 사이트를 참고해주세요.
트러플 개요
다음과 같이 트러플을 설치할 수 있습니다.
$ sudo npm install -g truffle
로컬 EN을 실행 중인 경우 트러플 프레임워크를 사용하여 직접 컨트랙트를 배포할 수 있습니다. 자세한 내용은 링크를 참고해주세요.
원격 EN 노드로 배포하려면 truffle-hdwallet-provider-klaytn을 사용해야 합니다.
truffle-hdwallet-provider-klaytn은 truffle-hdwallet-provider에서 파생된 자바스크립트 HD 지갑 제공자입니다.
다음과 같이 설치하세요.
$ npm install truffle-hdwallet-provider-klaytn
아래와 같이 truffle-config.js
를 설정하세요.
const HDWalletProvider = require("truffle-hdwallet-provider-klaytn");const mnemonic = "mountains supernatural bird ...";module.exports = {networks: {development: {host: "localhost",port: 8545,network_id: "*" // Match any network id},testnet: {provider: () => new HDWalletProvider(mnemonic, "https://your.baobab.en.url.:8651"),network_id: '1001', //Klaytn baobab testnet's network idgas: '8500000',gasPrice: null},mainnet: {provider: () => new HDWalletProvider(mnemonic, "https://your.cypress.en.url:8651"),network_id: '8217', //Klaytn mainnet's network idgas: '8500000',gasPrice: null}}};
const HDWalletProvider = require("truffle-hdwallet-provider-klaytn");const privateKey = "0x123 ...";module.exports = {networks: {development: {host: "localhost",port: 8545,network_id: "*" // Match any network id},testnet: {provider: () => new HDWalletProvider(privateKey, "https://your.baobab.en.url:8651"),network_id: '1001', //Klaytn baobab testnet's network idgas: '8500000',gasPrice: null},mainnet: {provider: () => new HDWalletProvider(privateKey, "https://your.cypress.en.url:8651"),network_id: '8217', //Klaytn mainnet's network idgas: '8500000',gasPrice: null}}};
경고: 니모닉 및 개인키가 노출되지 않도록 주의하세요.
Klaytn 테스트넷에 배포
$ truffle deploy --network testnet
Klaytn 메인넷에 배포
$ truffle deploy --network mainnet