$ cd contracts
$ touch MEVerseGreeter.sol
$ vi MEVerseGreeter.sol
MEVerseGreeter.sol에 다음 코드를 작성하세요.
// SPDX-License-Identifier: MIT
pragma solidity ^0.5.6;
contract Mortal {
/* 주소 타입의 소유자(owner) 변수 정의 */
address payable owner;
/* 이 함수는 초기화 시점에 실행되어 컨트랙트 소유자를 설정합니다 */
constructor () public { owner = msg.sender; }
/* 컨트랙트에서 자금을 회수하는 함수 */
function kill() public payable { if (msg.sender == owner) selfdestruct(owner); }
}
contract MEVerseGreeter is Mortal {
/* 문자열 타입의 변수 greeting 정의 */
string greeting;
/* 이 함수는 컨트랙트가 실행될 때 작동합니다 */
constructor (string memory _greeting) public {
greeting = _greeting;
}
/* 주(Main) 함수 */
function greet() public view returns (string memory) {
return greeting;
}
}
마이그레이션(Migration) 스크립트 수정
hdwallet-provider를 활용하여 컨트랙트를 배포합니다. 배포를 하기 위해 library를 설치합니다.
$ npm install @truffle/hdwallet-provider
truffle의 Dashboard를 활용하여 작성한 컨트랙트도 배포가 가능합니다. Dashboard의 자세한 내용은 하기 사이트를 참고하세요.