시작하기 앞서
개발하기 앞서 프로젝트 설정을 시작하려한다. 그 이후 ERC20, ERC721, ERC1155, 그리고 Upgradeable Proxy를 간단하게 예시로 만들어 보려고 한다. 2년전에 해봤지만 복기하면서 현재 버전에 맞춰 진행해 보도록 하겠다. 우선 로컬부터 테스트넷 deploy까지 차근차근 진행해 보겠다.
프로젝트 설정
우선 nodejs와 truffle 설치가 필요하다.
https://trufflesuite.com/docs/truffle/how-to/install/
위 문서를 보고 nodejs와 truffle을 설치해주자.
설치가 완료되었으면 프로젝트 폴더부터 생성하겠다. 나는 ethtest라고 폴더를 만들었다.
mkdir ethtest
cd ethtest
해당 폴더에서 커맨드 명령어 npm init을 하자.
npm init
패키지 이름이라던지 버전이라던지 각자 진행하고나면 폴더 하위에 package.json 파일이 생길 것이다.
그 다음 truffle init을 진행하자.
truffle init
성공적으로 진행이 되었다면 현재 프로젝트 폴더 하위에는
- contracts
- migrations
- test
3개의 폴더가 있을 것이고 package.json파일과 truffle-config.js 파일이 있을 것이다.
여기서 중요한 것은 truffle-config.js 파일이다. 일단은 development로 로컬에서만 진행을 해보겠다.
// require('dotenv').config();
// const { MNEMONIC, PROJECT_ID } = process.env;
// const HDWalletProvider = require('@truffle/hdwallet-provider');
module.exports = {
networks: {
development: {
host: "127.0.0.1", // Localhost (default: none)
port: 7545, // Standard Ethereum port (default: none)
network_id: "5777" // Any network (default: none)
}
},
compilers: {
solc: {
version: "0.8.19"
}
}
};
그 다음 Ganache라는 것을 설치해주고 실행하자.
https://trufflesuite.com/ganache/
QuickStart로 ethereum을 선택하면 된다.
여기까지 진행을 했다면 RPC server 127.0.0.1과 포트번호 그리고 네트워크 id가 보일 것이다.
해당 정보를 위 truffle-config.js에 development에 설정해주면 된다.
다음 글에는..
간단하다.
여기까지 되었다면 이제 컨트랙트를 만들고 migration 설정을하고 배포만한다면 내 로컬에서 내가 만든 컨트랙트를 테스트해볼 수 있다. 다음에는 ERC20 컨트랙트를 간단하게 개발해보고 로컬에 배포를 진행해 보겠다.
https://developer-jp.tistory.com/102
'BlockChain' 카테고리의 다른 글
Etherscan 컨트랙트 인증하기 (Verify and Publish) [4] (0) | 2023.08.27 |
---|---|
ERC20 스마트 컨트랙트 (SmartContract) 테스트넷에 배포해보자 [3] (0) | 2023.08.26 |
ERC20 스마트 컨트랙트 (SmartContract) 개발 및 배포해보자 [2] (0) | 2023.08.25 |
[Ethereum] 테스트 넷의 종류, 메인넷이란 (0) | 2023.08.23 |
[Ethereum] ERC20, ERC721, ERC1155 차이점 (0) | 2023.08.22 |