Truffle에 goerli folder 생성
truffle create contract ABC
truffle init
npm install dotenv
sudo npm i @truffle/hdwallet-provider@next
ABC.sol file 생성
contract ABC {
uint public A;
function setA(uint _a) public {
A = _a;
}
function getA() public view returns(uint) {
return A;
}
function cal(uint _a, uint _b) public pure returns(uint, uint) {
return (_a+_b, _a*_b);
}
}
truffle compile
폴더 안에 1_ABC.js file 생성
const abc = artifacts.require("ABC")
module.exports = function (deployer) {
deployer.deploy(abc);
MNEMONIC = 각자 메타마스크 복구 문구
PROJECT_ID = 각자 infura api key
추가
44번줄 require 3줄 주석해제
require('dotenv').config();
const { MNEMONIC, PROJECT_ID } = process.env;
const HDWalletProvider = require('@truffle/hdwallet-provider');
85번줄 goerli 3줄 주석해제
goerli: {
provider: () =>
new HDWalletProvider(
MNEMONIC,
`https://goerli.infura.io/v3/${PROJECT_ID}`
),
network_id: 5, // Goerli's id
confirmations: 2, // # of confirmations to wait between deployments. (default: 0)
timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50)
skipDryRun: true, // Skip dry run before migrations? (default: false for public nets )
},
goerli는 network_id가 5
체인 아이디가 각자 다 다름(ex : sepolia, optimism)
truffle compile
truffle migrate --network goerli
contract address 복사해서 Contract creation 됐는지 확인
truffle console --network goerli
let abc = await ABC.deployed()
abc.methods
abc.cal(1, 5) -> 돈이 안 드니까 이거 먼저 하고 그 다음에 setA
abc.getA()
abc.setA(1)
npm install web3
node
var {Web3} = require('web3')
var web3 = new Web3('https://goerli.infura.io/v3/apikey')
//주석
await
web3.eth.getStorageAt('0xf89fa7b50c07cb55d505c89d4bfa1b8b484db0b2','0')
# 팔로업 해야되는 부분
오른쪽 터미널에 web3 설정 완료’
?
변수 바뀐 것 확인
?
이후 ethers.js로 확인