본문 바로가기
개발자 💻/Blockchain

[Ethereum] Remix IDE 에서 로컬 파일 이용하기

by 블루로봇 2025. 1. 20.

개요

Remix IDE 는 Ethereum 스마트 컨트랙트의 구현 및 배포를 수행할 수 있는 웹 브라우저 기반 컴파일러 + IDE 입니다.

 

아래 글을 통해서 Remix IDE 를 사용하는 간단한 방법에 대해서 소개하였었습니다.

 

[Ethereum] Remix를 이용하여 스마트 컨트랙트 배포하기

Remix 만약 이더리움 블록체인에 대해서도 잘 알지도 못하는데 스마트 컨트랙트를 구현해서 배포해야 하는 상황이 왔다면 적잖이 당황할 것입니다. 제가 그랬습니다. 인터넷에서 자료를 검색하

ts01.tistory.com

 

본격적으로 Remix IDE 기반의 스마트 컨트랙트를 구현하려고 하니 파일 백업/관리에 대한 고민이 들었습니다. 예를 들어, Remix IDE 에서 열심히 스마트 컨트랙트 코드를 작성했는데, 모르고 웹 브라우저 데이터를 날려버려서 코드가 모두 날아간다던가, 가끔 알 수 없는 오류로 브라우저 또는 컴퓨터가 셧다운 되었을 때 복구가 되지 않는다면? 하는 생각이 들었습니다.

 

그래서 찾아보니 나의 로컬 환경에 존재하는 파일을 Remix IDE 에서 불러올 수 있도록 연동할 수 있습니다! 따로 잦은 파일 백업을 수행할 수도 있겠지만 로컬 파일과의 연동을 통해 더 편리하게 파일을 관리할 수 있습니다.

 

Remix IDE 설정

좌측에 있는 File Explorer 메뉴를 들어가서 "WORKSPACES" 좌측에 있는 햄버거 메뉴를 누르면 아래 메뉴들을 확인할 수 있습니다.

File Explorer 메뉴

 

여기서 "Connect to Local Filesystem" 을 누르면 아래와 같은 팝업이 나옵니다.

File System Connection Popup

 

내용을 보면 NPM 패키지에서 다운로드한 패키지의 `remixd` 명령어를 이용하여 로컬 환경의 파일 시스템을 연결할 수 있다고 나옵니다.

 

"Connect" 버튼을 누르기 이전, 해당 설정을 진행하기 위해 `remixd` 를 실행해야 합니다. 그리고 위에서 이야기한 것처럼 NPM 패키지를 다운로드 받아야 해당 명령어를 이용할 수 있습니다.

터미널에서 `remixd` 명령어를 사용하기 위해 패키지를 설치합니다.

npm install -g @remix-project/remixd

 

설치가 완료되었으면, 로컬에 조성한 작업 환경을 연결하도록 합니다.

# To see your current path
pwd

# Connect local file system with Remix IDE
remixd -s $YOUR_LOCAL_DIRECTORY --remix-ide https://remix.ethereum.org

본인의 로컬 작업환경에 대한 "절대경로주소"를 해당 `$YOUR_LOCAL_DIRECTORY` 값에 대치하면 됩니다.

 

명령어를 실행하면, 아래와 같이 Remix IDE 와 연결할 수 있는 서버가 실행됩니다.

remixd 실행 결과

 

위 상태에서 이제 다시 브라우저의 Remix IDE 로 돌아가서 위에서 보았던 팝업의 "Connect" 를 진행합니다.

localhost workspace 연결 성공

 

그러면 `localhost` 이름의 WORKSPACES 가 연결되고, 로컬에서 생성한 파일들이 연결되어 보이게 됩니다.

예시로, 제가 미리 생성해둔, 위의 test.sol 파일을 아래와 같이 수정해 봅니다.

test.sol 파일 수정

 

그러면 아래와 같이 로컬 환경의 파일이 변경된 것을 확인할 수 있습니다. (VS Code 로 작업 환경을 Open 하였습니다.)

VS Code 에서의 test.sol 파일

 

그럼 반대로 VS Code 와 같은 별도 IDE 에서 파일을 수정하면 어떻게 될까요?

VS Code 에서 파일 수정

 

수정을 완료하고 저장을 하자마자, Remix IDE 에서 다음과 같은 팝업이 나왔습니다.

Remix IDE 에서 수정을 감지

 

이를 통해, Remix IDE 와 로컬 환경 파일이 실시간적으로 공유되고 있음을 확인할 수 있습니다.

 

결론적으로, 약간의 조치를 통해 브라우저 기반으로 실행되는 Remix IDE 에 대한 파일 관리를 좀더 능동적으로 할 수 있게 되었습니다.