Truffle
Last updated
$ cd contracts
$ touch MEVerseGreeter.sol
$ vi 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;
}
}$ npm install @truffle/hdwallet-provider// truffle-config.js
const HDWalletProvider = require("@truffle/hdwallet-provider");
...
networks: {
MEVerseTestnet: {
provider: () =>
new HDWalletProvider({
privateKeys: [
"adf...583a9", // 컨트랙트를 배포할 계정 private key
],
providerOrUrl: "https://rpc.meversetestnet.io",
}),
network_id: 4759, // MEVerse testnet chain id
}
}$ truffle migrate --network MEVerseTestnet
Compiling your contracts...
===========================
> Compiling ./contracts/MEVerseGreeter.sol
> Artifacts written to /truffle_sample/build/contracts
> Compiled successfully using:
- solc: 0.5.16+commit.9c3226ce.Emscripten.clang
Starting migrations...
======================
> Network name: 'MEVerseTestnet'
> Network id: 4759
> Block gas limit: 30000000 (0x1c9c380)
1_initial_migration.js
======================
Deploying 'MEVerseGreeter'
--------------------------
> transaction hash: 0xe1f6fad3f5121cb1448750113f25e20228c4b9e800d0a7cda8ca04ff464257f2
> Blocks: 0 Seconds: 0
> contract address: 0xeb7A1483E3408Af19231262643672719CcFc6E17
> block number: 27778152
> block timestamp: 1668760128889501
> account: 0x19368fCd2F0EE8d2C788b754F6504FD49de449E7
> balance: 191907.1
> gas used: 223381 (0x36895)
> gas price: 1000 gwei
> value sent: 0 ETH
> total cost: 0.223381 ETH
> Saving migration to chain.
> Saving artifacts
-------------------------------------
> Total cost: 0.414624 ETH
Summary
=======
> Total deployments: 1
> Final cost: 0.414624 ETH$ truffle networks
Network: MEVerseTestnet (id: 4759)
MEVerseGreeter: 0xeb7A1483E3408Af19231262643672719CcFc6E17$ truffle console --network MEVerseTestnet
truffle(MEVerseTestnet)> truffle(development)> let mev = await MEVerseGreeter.deployed()
undefined
truffle(MEVerseTestnet)> mev.greet()
'Hello, MEVerse'
truffle(MEVerseTestnet)>