-
truffle-config.js 설정
위 항목에 주석처리를 제거하고 Ganache에 나오는 값으로 입력한다.
development: { host: "127.0.0.1", // Localhost (default: none) port: 7545, // Standard Ethereum port (default: none) network_id: "5777", // Any network (default: none) },
Solidity파일코딩
ex: contracts/Contract1.sol 파일을 만들고 아래 내용 입력
pragma solidity 0.6.0; contract Contract1 { struct Voter { uint power; } address master1; mapping(address=>Voter) voters; modifier onlyMaster1() { require(msg.sender == master1); _; } modifier validVoter() { require(voters[msg.sender].power > 0, "wrn voter"); _; } constructor (uint num) { } function register(address voter) public onlyMaster1 {} function vote(uint p) public validVoter {} function result1() public view returns(uint res1) {} }
Migrations정의
ex: migrations/deploy_contracts.js 파일을 만들고 아래 내용 입력
var Contract1 = artifacts.require("Contract1"); module.exports = function(deployer) { deployer.deploy(Contract1, 4); }
모든 컨트랙트 재배포
모든 컨트랙트를 재배포하는 명령
truffle migrate --reset
reset옵션이 없다면 이미 배포한 스마트컨트랙트들은 재배포하지 않는다.
컨트랙트 배포 결과
배포 명령어 실행 후 결과 Ex.
Summary ======= > Total deployments: 1 > Final cost: 0.0034604 ETH
스마트 컨트랙트 배포를 위해 약간의 ETH를 사용했다.
'Blockchain' 카테고리의 다른 글
Infura 개요 (0) 2022.12.04 Web3.js 개요 (0) 2022.12.04 Metamask 계정 관리 화면 열기 (0) 2022.12.03 Metamask 브라우저 기반 이더리움 지갑 (0) 2022.12.03 Truffle Project 생성 (0) 2022.11.30 Ganache 설치 (0) 2022.11.30 Truffle 설치 (0) 2022.11.30 Truffle 환경 (0) 2022.11.30