개발여행

Solidity) Could not connect to your Ethereum client with the following parameters: 본문

BlockChain

Solidity) Could not connect to your Ethereum client with the following parameters:

Titan. 2021. 8. 18. 03:02

https://kimsfamily.kr/327?category=903691 

 

2. 솔리디티 개발환경 구성

1. 스마트 계약의 시작, 리믹스 도구 사용해보기 2. 솔리디티 개발환경 구성 3. 스마트컨트랙트 작성 후 배포하기 4. openzeppelin 사용하여 ERC20 토큰 만들기 5. Ropsten 테스트넷에 ERC20토큰 배포하기 6.

kimsfamily.kr

다른 블로그 강의를 참조하여 솔리디티를 배워가고 있었는데 처음 테스트부터 난관에 부딪혔다.

cmd창에서 npm을 이용하여 가니쉬와 트러플을 설치하고 deploy를 실행하였는데 아래와 같이 주어진 파라미터로는 이더리움 클라이언트에 연결할 수 없다고 뜬다.

 

Could not connect to your Ethereum client with the following parameters:
- host > 127.0.0.1
- port > 7545
- network_id > 5777

해당 글의 댓글에도 똑같은 증상을 나타내는 사람이 있어 답글을 봤더니 가니쉬 설정을 다시 해보란다.

그냥 콘솔창에 "ganache-cli 127.0.0.1:7545" 를 입력하면 될까 했더니 실행이 되질 않는다.

귀찮으니 그냥 cmd로 작동하는게 아닌 UI를 가진 가니쉬 프로그램을 설치하기로 했다.

 

가니쉬는 다음 주소에서 설치할 수 있다.

https://www.trufflesuite.com/ganache

 

Ganache | Truffle Suite

Deploy contracts, develop your decentralized applications (dapps), and run tests on smart contracts. Available as a desktop application & command-line tool.

www.trufflesuite.com

 

가니쉬 설치법은 크게 어렵지 않다. 위 링크에서 설치파일을 다운 받은뒤 Quick Start 버튼을 누르면 콘솔에서 "ganache-cli" 명령어를 실행한 것과 같이 가상 네트워크를 생성하고 이더리움 지갑들이 생성된다.

 

기본적으로 10개의 지갑들이 생성되지만 나는 5개로 줄여놨다.

오른쪽 상단의 톱니버튼을 누르면 여러가지 설정을 할 수 있다.

 

설정 창에서 서버탭을 누르면 포트를 설정할 수 있다. 포트를 7545로 설정해주어야 정상적으로 작동한다.

 

하나 이해가 안가는 점은 truffle-config.js 파일에서 설정한 port는 상관없이 무조건 7545로 연결이 되어 서버도 7545포트를 사용하여 열어주어야 한다는 것이다.

트러플이 어떻게 작동하는지 좀 더 알아봐야 할 것 같다.