Technology, Tutorials

리믹스에서 클레이튼 플러그인 사용하기

클레이튼은 이더리움과의 높은 툴링 호환성을 보장하고자 하는 EVM-기반 블록체인입니다. 이러한 방향성에 맞게 클레이튼의 공식 데브툴 파트너 Ozys의 주도로 Remix IDE에 클레이튼 플러그인이 추가되었습니다.

리믹스에서 클레이튼 플러그인을 사용함으로써 클레이튼 블록체인에서 스마트 컨트랙트를 작성, 배포, 호출할 수 있으며 다양한 클레이튼의 트랜잭션을 실행할 수도 있습니다. 아래에서는 클레이튼에 스마트 컨트랙트를 배포하는 방법, 클레이튼의 대납 기능 및 카이카스 연결 방법을 살펴보겠습니다.

컨트랙트 배포하기

  1. 클레이튼 리믹스 플러그인

PLUGIN MANAGER에서 클레이튼 플러그인을 활성화해주세요.

또는 아래 주소로 바로 들어가면 됩니다.

<https://remix.ethereum.org/?#activate=klaytn-remix-plugin,fileManager>

2. Greeter.sol 추가

FILE EXPLORERS 패널에서 짧은 인사말을 출력하는 간단한 그리터 컨트랙트를 추가해보겠습니다. Solidity로 쓰여졌기 때문에 .sol 확장자를 사용합니다.

pragma solidity 0.5.6;
contract Mortal {
/* Define variable owner of the type address */
address payable owner;
/* This function is executed at initialization and sets the owner of the contract */
constructor () public { owner = msg.sender; }
/* Function to recover the funds on the contract */
function kill() public { if (msg.sender == owner) selfdestruct(owner); }
}
contract KlaytnGreeter is Mortal {
/* Define variable greeting of the type string */
string greeting;
/* This runs once when the contract is created */
constructor (string memory _greeting) public {
greeting = _greeting;
}
/* Main function */
function greet() public view returns (string memory) {
return greeting;
}
}

3. 컨트랙트 컴파일 하기

이제 SOLIDITY COMPILER 패널로 가서 버전을 설정한 후에 Compile greeter.sol을 클릭해주세요.

4. 컨트랙트 배포하기

이 예시에서는 클레이튼의 테스트넷인 Baobab을 사용하고 있습니다. ACCOUNT를 추가한 뒤 클레이튼 Faucet에서 꼭 테스트 KLAY를 받아 주세요.

이제 컨트랙트가 배포된 것을 볼 수 있습니다. 이제 greet 함수를 한번 호출해볼까요?

터미널에서 인사말을 잘 확인할 수 있습니다.

수수료 대납 사용하기

수수료 대납을 사용해 봅시다. 수수료 대납은 다른 계정이 수수료를 대신 낼 수 있게 해주는 클레이튼의 기능입니다.

  1. Fee Payer 지정하기

수수료를 대납할 계정을 FEE PAYER 필드에 추가해주세요. 옆의 박스에서는 ACCOUNT를 대신해서 부담할 수수료의 비율을 설정할 수 있습니다. 예를 들어 100을 설정하면 FEE PAYER(수수료를 대신 내줄 계정)가 수수료의 100%를 부담한다는 뜻입니다.

2. 컨트랙트 배포하기

이제 Deploy를 클릭하면 KlaytnGreeter 컨트랙트가 터미널에 생성됩니다. Klaytnscope 링크를 클릭해서 트랜잭션 세부사항을 확인하세요.

카이카스 연결하기

클레이튼 리믹스 플러그인은 카이카스 연결 또한 지원합니다.

  1. Injected Caver 선택하기

카이카스에 연결하기 위해서는 ENVIRONMENT 메뉴에서 “Injected Caver”를 선택합니다.

2. 접근 허용하기

카이카스를 연동하기 위해 여러분의 계정에 대한 접근을 요청하는 팝업창이 나타날 것입니다.

3. 컨트랙트 배포하기

앞서 배포했던 KlaytnGreeter 컨트랙트를 다시 배포해보겠습니다.

4. 트랜잭션 확인하기

트랜잭션 확인을 위한 팝업창이 나타날 것입니다.

“Confirm”을 클릭하면 터미널에서 결과를 볼 수 있습니다.

“Confirm”을 클릭하면 터미널에서 결과를 볼 수 있습니다.

메타마스크 연결하기

클레이튼 플러그인으로 메타마스크를 사용할 수도 있습니다. 메타마스크 연결하기 전에 여기의 안내를 따라 Klaytn Network를 추가해주세요. 이 예시에서는 Baobab 테스트넷에 연결했습니다.

  1. Injected Web3 선택하기

ENVIRONMENT에서 Injected Web3를 선택합니다.

확인을 요청하는 팝업창이 생성될 것입니다.

계속 진행을 하게 되면 계정이 자동으로 카이카스에 연동된 것을 확인할 수 있습니다.

2. 컨트랙트 배포하기

이제 컨트랙트를 배포해 보겠습니다. 간단한 인사말을 추가하고 주황색 버튼을 눌러주세요.

3. 가스비 확인

클레이튼은 고정 가스비를 사용하기 때문에, 트랜잭션을 실행하기 전에 250 GWEI에 고정되어 있음을 확인해야 합니다. 컨트랙트 배포를 누르면 저절로 뜨는 팝업창에서 “Advanced > Edit”을 클릭해주세요.

Max base fee와 Priority Fee 값이 250 GWEI라는 것을 확인해주세요.

4. 트랜잭션 확인하기

이제 전 화면으로 돌아와 트랜잭션 “Confirm”을 클릭합니다.

아래와 같이 터미널에 결과를 볼 수 있습니다.

이번 튜토리얼에서는 간단한 예시를 통해 리믹스에서 클레이튼 플러그인을 사용하는 법을 알아 보았습니다.

앞으로도 클레이튼의 공식 데브툴 파트너 Ozys는 caver-js 기능 및 추가적인 Provider들을 제공해 나갈 예정입니다.

앞으로도 많은 관심 부탁드립니다!