728x90
1. 트러플 초기설정
npx truffle init
truffle-config.js
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 8545, // 가나쉬 포트
network_id: "*",
},
},
compilers: {
solc: {
version: "0.8.17",
},
},
};
2. 스마트 컨트랙트
/contracts/Token.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
contract Token{
mapping(address=>uint256) public balances;
string public name = "tetedoToken"; // 토큰의 이름
string public symbol = "STK"; // 토큰의 단위
uint8 public decimals = 18; // 소수점 단위
uint256 public totalSupply = 100000000 * 10 ** decimals; // 발행량
constructor(){
balances[msg.sender] = totalSupply; // 배포한 사람의 EOA에 총 발행량 지급
}
function balanceOf(address owner)public view returns(uint256 balance){
return balances[owner];
}
function transfer(address to, uint256 value) public returns(bool success){
require(balances[msg.sender] >= value);
balances[msg.sender] -= value;
balances[to] += value;
return true;
}
}
3. 배포
npx ganache-cli
(1) /migrations/2_deploy_Token.js
const Token = artifacts.require("Token");
module.exports = function (deployer) {
deployer.deploy(Token);
};
(2) 메타마스크 토큰추가
네트워크 설정 후 build된 json객체에서 CA값 받아온 후 메타마스크에 토큰추가 -> CA값 입력
728x90
'개발 > BlockChain' 카테고리의 다른 글
[BlockChain] 사과 판매 앱 만들기 (0) | 2022.12.06 |
---|---|
[BlockChain] 스마트컨트랙트로 투표 Dapp 만들기 (0) | 2022.12.06 |
[BlockChain] ganache, react, express로 메타마스크 연결하기 (0) | 2022.12.05 |
[BlockChain] truffle로 스마트컨트랙트 배포하기 (0) | 2022.12.05 |
[BlockChain] 스마트 컨트랙트 배포 (0) | 2022.12.05 |