일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ethers typescript
- 스마트컨트렉트테스트
- 체인의정석
- Vue.js
- SBT표준
- 계정추상화
- 러스트기초
- 오블완
- 스마트컨트렉트 함수이름 중복 호출
- 러스트 기초
- ambiguous function description
- erc4337 contract
- ethers websocket
- 스마트 컨트렉트 함수이름 중복
- chainlink 설명
- Vue
- 컨트렉트 동일한 함수이름 호출
- 머신러닝기초
- git rebase
- 스마트컨트렉트 예약어 함수이름 중복
- rust 기초
- vue기초
- 티스토리챌린지
- 컨트렉트 배포 자동화
- ethers
- multicall
- erc4337
- ethers v6
- ethers type
- 러스트 기초 학습
- Today
- Total
체인의정석
direnv 사용하여 다중 체인 관리하기 본문
브릿지를 구현하다보니 체인별로 정말 다양한 환경의 환경변수 세팅이 필요해졌다.
이에 따라 기존의 env 대신에 direnv를 사용하여서 관리하기로 하였다.
먼저 이 작업을 하기 전에 선행으로 체인별로 경로에 대한 구조를 설계하고 나누어서 디렉토리에 대한 세팅을 먼저 진행하였다.
이후 direnv를 사용하여서 디렉토리별로 체인에 대한 변수를 설정해서 실행할 예정이다. 찾아본 결과 아래 블로그가 가장 설명이 잘 되어 있었다.
https://www.44bits.io/ko/post/direnv_for_managing_directory_environment
direnv를 사용한 디렉토리(프로젝트) 별 개발환경 구축: 루비, 파이썬, 노드 개발 환경 구축
direnv는 디렉터리 별로 셸 환경을 구축할 수 있게 해주는 도구입니다. 디렉터리 별 환경 변수 설정 법, 루비(Ruby), 파이썬(Python), 노드(Node) 등 프로그래밍 언어 프로젝트를 셋업하는 법을 소개합니
www.44bits.io
먼저 설치의 경우 mac 환경이라면 아래 처럼
brew install direnv
(base) lambda256@ethan % direnv version
2.31.0
## ZSH -> ~/.zshrc에 아래 내용 추가
eval "$(direnv hook zsh)"
을 실행한다.
그 다음으로 환경 설정이 필요한 디렉터리 아래 .envrc 파일을 만들면 된다고 한다.
파일을 수정한 후에 아래 명령어를 내려주면
direnv allow
해당 경로에 들어올때마다 env파일을 알아서 로드해준다.
그럼 지금 약 15개에 해당하는 디렉토리에다가 각각 .envrc 폴더를 만들고
값을 고정적으로 넣어준 후에 실행을 하면? 바로 실행이 된다.
나머지는 direnv에 대한 내용보다는 환경 변수를 어떻게 묶어서 처리할지의 고민이므로 다음에 시간이 나면 기록하도록 하겠다.