Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- wget
- 솔리디티
- 리액트
- 블록체인
- 우분투
- 자바스크립트
- npm
- 라우터
- 쉘스크립트
- Docker
- 설치
- 리액트를 다루는 기술
- Sequelize
- immer
- 머클트리
- wsl
- 노드
- 리눅스
- 일반유저
- 벨로포터
- 환경변수
- node.js 교과서 따라하기
- 머클루트
- MariaDB
- 이더리움
- 전역설치
- 변수
- centos
- 깃허브
- 시퀄라이즈
Archives
- Today
- Total
코드코코
[솔리티디] ropsten testnet에 스마트 컨트랙트 배포하기 본문
1. 회원가입 후 로그인
2. create new project 버튼 클릭
3. product 는 이더리움으로 선택하고 이름을 기입
3. endpoint를 ropsten으로 선택
4. truffle-config.js 파일 수정
- 상단에 아래 코드 추가
- infuraKey 값을 위의 주소에서 v3/ 뒤의 값으로 변경
const HDWalletProvider = require('truffle-hdwallet-provider');
const infuraKey = "19fee616dd234a588542c166dc4f3f07";
const fs = require('fs');
const mnemonic = fs.readFileSync(".secret").toString().trim();
- networks 설정 부분에 아래 코드 추가
ropsten: {
provider: () => new HDWalletProvider(mnemonic, `https://ropsten.infura.io/v3/${infuraKey}`),
network_id: 3, // Ropsten's id
gas: 5500000, // Ropsten has a lower block limit than mainnet
confirmations: 2, // # of confs 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 )
},
전체코드
모듈을 못읽어서 경로 지정해줌
const HDWalletProvider = require('./client/node_modules/@truffle/hdwallet-provider');
const path = require("path");
const HDWalletProvider = require('truffle-hdwallet-provider');
const infuraKey = "19fee616dd234a588542c166dc4f3f07";
const fs = require('fs');
const mnemonic = fs.readFileSync(".secret").toString().trim();
module.exports = {
// See <http://truffleframework.com/docs/advanced/configuration>
// to customize your Truffle configuration!
contracts_build_directory: path.join(__dirname, "client/src/contracts"),
networks: {
development: {
host: '127.0.0.1',
port: 7545,
network_id: "*"
},
ropsten: {
provider: () => new HDWalletProvider(mnemonic, `https://ropsten.infura.io/v3/${infuraKey}`),
network_id: 3, // Ropsten's id
gas: 5500000, // Ropsten has a lower block limit than mainnet
confirmations: 2, // # of confs 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 )
},
},
compilers: {
solc: {
version: "0.8.11",
optimizer: {
enabled: true,
runs: 200,
}
}
}
};
5. 모듈 설치
- 루트 경로에 설치
npm i @truffle/hdwallet-provider
6. .secret 파일 생성
- 루트 경로에 생성하고 복구키를 입력
- 가나슈에서 썻던 테스트용 복구키를 입력함
7. 컴파일 및 배포
truffle compile
truffle migrate --network ropsten
8. https://ropsten.etherscan.io/ 에서 컨트랙트 조회
9. 컨트랙트 주소 일치 확인, 트랜잭션 주소 눌러서 상세주소 확인
기타 상세 사항 모두 일치함을 확인할 수 있음.
10. 배포한 컨트랙트 페이지를 열고, ropsten 테스트넷으로 연결 후 트랜잭션을 발생시켜 봄.
- 발생 시킨 2건 모두 처리되었음을 확인 .
상세정보를 이더스캔에서 확인 할 수 있음
또한, 다시한번 컨트랙트 주소를 조회해보면 발생 시킨 2건이 추가되었음을 확인 할 수 있음
'블록체인 > 솔리디티' 카테고리의 다른 글
[솔리디티] MEW 를 통해 스마트 컨트랙트 테스트하기 (0) | 2022.02.28 |
---|---|
[솔리디티] truffle 로 react client 연결하기 (0) | 2022.02.20 |
[솔리디티][REMIX-IDE] 간단한 코드로 REMIX-IDE 사용해보기 (0) | 2022.02.17 |
[솔리디티] web3와 스마트컨트랙트 연결하여 가나슈로 테스트 하기 (0) | 2022.02.17 |
[솔리디티][디앱] lottery - Lottery Distribute 테스트 (0) | 2022.02.16 |