Testrpc를 사용할 때에 tx가 옳지 않은 nonce 값을 가지고 있다고 에러가 납니다.

조회수 1013회

저는 최근에 truffle에 대해 공부중이며 다음의 듀토리얼을 진행중입니다 : http://truffleframework.com/tutorials/pet-shop

transaction을 일으키려고 할 때마다 아래의 오류가 뜹니다.

Error: Error: the tx doesn't have the correct nonce. account has nonce of: 14 tx has nonce of: 0

이 에러를 해결하기 위해 온라인 상에서 많이 검색하고 많은 글들을 읽었지만 이 에러에 대한 답변은 얻을 수 없었습니다.

  • Truffle v3.4.7
  • Solidity v0.4.13
  • Npm v5.3.0
  • TestRPC v4.0.1
  • Metamask v3.9.5

제가 여태까지 찾아본 바로는 새로운 transaction이 일어 날 때에 이전의 transaction 해시값을 찾을 수 없어서 나는 오류같습니다.

출처: https://stackoverflow.com/questions/45585735/testrpc-the-tx-doesnt-have-the-correct-nonce 이 질문은 저작자표시-동일조건변경허락(https://creativecommons.org/licenses/by-sa/3.0/deed.ko) 라이센스로 이용할 수 있습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

  • Metamask에서 TestRPC네트워크로 재접속 해보세요.

    1. Main Ethereum Network를 클릭하세요(혹은 Localhost 8545 이외의 다른것중 아무거나 클릭하셔도 됩니다).
    2. Localhost 8545를 다시 클릭해보세요.

    저도 같은 문제가 있었는데 새로운 TestRPC 노드로 재접속을 하면서 우연히 문제가 해결되었습니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • 메타마스크 3.14.1 버전에서는 계정 초기화가 가능합니다. Setting 을 클릭하시고 Reset Account 버튼을 클릭하시면 됩니다. 이 버튼을 누르시면 이전의 거래 내역이 전부 사라집니다. 이미지 보통 유저들은 이 기능을 쓸 일이 없을 것입니다. 이 기능은 주로 네트워크는 초기화 하고 계정은 그대로 사용함으로써 메타마스크의 네트워크 아이디를 깨끗하게 초기화된 상태로 만드려는 개발자들이 사용합니다. 참고 : http://metamask.helpscoutdocs.com/article/36-resetting-an-account([Tim Wu]2님 감사합니다)


    과거의 글에 대한 첨삭: 위의 답변은 맞는 답변입니다. 하지만 Truffle4와 Truffle develop을 함께 사용하고 계신 분이라면 Truffle Develop을 실행할 때마다 Metamask를 제거한 후 다시 설치하셔야합니다.

    이 오류는 깃헙에 3개 올라와 있습니다 : https://github.com/trufflesuite/truffle/issues/681, https://github.com/trufflesuite/ganache/issues/112, https://github.com/MetaMask/metamask-extension/issues/1999

    요약하자면 개발자들이 오류를 고치는 동안에는 계속 재설치를 하셔야합니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)