본문 바로가기

Lecture

Lottery DApp 만들기 에러모음

DApp만들기를 실습하면서 생겼던 오류들을 정리했다.

react를 이용해서 화면을 구성했고 truffle과 ganache를 이용해서 스마트 컨트랙트를 구성했다.

 

 

참고 영상

 

 

Returned values aren't valid, did it run Out of Gas? You might also see this error if you are not using the 

correct ABI for the contract you are retrieving data from, requesting data from a block number that does 

not exist, or querying a node which is not fully synced.

 

 

보내는 단위 오타 문제도 있었고 build/contracts 파일들을 삭제하지 않고 솔리디티 컴파일하거나 migrate를 reset안하고 하거나 migrate하기전 abi를 복사해서 붙히면 일어나는 오류다.

주로 ABI관련된 오류들 이었다.

 

 


 

 

MetaMask - RPC Error: [ethjs-query] while formatting outputs from RPC

 

메타 마스크 연결 오류.

이유는 모르겠음 아마 새로 컴파일하면서 원래 연결되어있던 가나슈하고의 연결이 끊긴듯함.

 

해결방법 :

 

metamask설정 > 고급 > 계정 재설정

을 누르면 연결이 되었음

 

 

 

 


 

버전 문제도 발생했었다.

내가 따라하던 동영상이 2년 전 영상이라 버전이 다른데 그로인해 문법들이 달라진 것들이 있었다.

 

  • byte말고 bytes1을 사용했다. (solidity 버전을 선언할때 강제로 다운그레이드 시키는 방법도 있다.)
  • msg.sender의 default 값이 더 이상 payable이 아니어서 payable(msg.sender)로 변환해줬다. 이 과정에서 내가 가진 트러플 버전이 낮아 위와 같은 문법을 사용할 수 없었다. 해결방법으로 truffle-config.js 파일에서 compilers부분의 버전을 0.6.0으로 올려서 사용해 주었다.

 

 

다른 오류들도 있었지만 대부분 오타나 문법 문제였고 여기서는 수정하는데 가장 오래 걸렸던 오류들만 확인해 봤다.

 

 

내가 클론한 코드