일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 스마트컨트렉트프록시
- 스마트컨트렉트테스트
- 컨트렉트 배포 자동화
- 컨트렉트 동일한 함수이름 호출
- ethers type
- Vue.js
- nest.js설명
- 러스트 기초 학습
- chainlink 설명
- ethers v6
- ambiguous function description
- 러스트 기초
- 스마트컨트렉트 함수이름 중복 호출
- nestjs 튜토리얼
- Vue
- 머신러닝기초
- ethers websocket
- multicall
- 스마트컨트렉트 예약어 함수이름 중복
- ethers
- ethers typescript
- 러스트기초
- 프록시배포구조
- git rebase
- SBT표준
- 스마트 컨트렉트 함수이름 중복
- vue기초
- 깃허브명령어
- 체인의정석
- rust 기초
Archives
- Today
- Total
체인의정석
스마트컨트렉트 자동화 배포/설정 스크립트 짜는법 본문
728x90
반응형
스마트컨트렉트에 있어서 자동으로 배포해주고 설정해주는 스크립트를 짜는 것은 중요하다.
이번 프로젝트에서는 여러 상황에 따라 여러 종류의 스크립트를 사용하였는데
1. env 파일을 사용하는방법
.env 파일을 만든 후에 process.env.환경변수 를 이용하여서 스크립트를 사용한다.
나중에 리눅스 커멘드로 운영할때도 편리한 방법이다.
다만 계속해서 변수가 바뀔 경우 환경변수로 하기에는 복잡한 한계가 존재한다.
2. 변수를 모듈로 빼서 정의 후 사용하는 방법
export const를 사용하여 따로 하나의 변수 파일에 정의한 후
import 해와서 해당 변수를 파악한다.
ethers.js를 사용하면 둘 다 쉽게 쓸 수 있지만 현재 상황은 여러 체인의 여러 환경 (dev,prd,test) 등을 같이 관리해야 했기 때문에
1. 같은 경로에서 모두 관리 (환경변수 설정 파일만 다르게 관리)
2. 서로 다른 경로에서 모두관리
2가지를 모두 해보았다.
각각 장단점이 있었는데 같은 경로에서 관리하는 경우 관리는 편했지만 실수할 확률이 더 컸던거 같고 서로 다른 경로의 경우에는 창을 여러개 띄워야 하거나 경로를 잘못 들어가는 실수를 할 확률이 있었던거 같다.
또한 단위테스트가 끝난 값들에 대하여서는 굳이 들어가서 값을 체크하지 않는 식으로 진행을 하지만 실제 배포의 경우 확실하게 하기위해 조회까지 해오기로 결정하고 테스트를 진행하였다.
728x90
반응형
'블록체인 > Ethers & web3' 카테고리의 다른 글
클레이튼에서 hardhat을 쓸 수 있는가? (0) | 2022.04.18 |
---|---|
멀티체인 환경의 스마트컨트렉트 테스트 시 체크리스트 (0) | 2022.04.15 |
배포시 회사에 이더리움 요청을 위한 gasPrice 계산하기 (0) | 2022.04.08 |
솔리디티 개발 점검 사항) Hardhat 테스트코드 커버리지 + 오픈 소스 넣기 (0) | 2022.04.08 |
테스트 코드 작성에 문제가 없는데 에러가 날 경우? (예외 처리를 마무리 하지 않고 테스트할 경우 오류 발생가능) (0) | 2022.04.07 |
Comments