inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

블록체인 이더리움 부동산 댑(Dapp) 만들기 - 기본편

컨트랙 매물구입함수 연결

안녕하세요. 매물구입함수 실행 에러 문의드립니다.

494

한상윤 Han

작성한 질문수 1

0

우선 현재까지 가르쳐주신 내용을 잘 따라왔습니다. 하지만 현재 단계인 매물구입함수를 구현하고 실행하는 과정에서 다음과 같은 2가지 에러가 발생했습니다.

  1. 작성해 주신 소스를 실행시켰을 때,
    initWeb3: function() {
    if(typeof web3 !== 'undefined'){
    App.web3Provider = web3.currentProvider;
    web3 = new Web3(web3.currentProvider);
    } else {
    App.web3Provider = new web3.providers.HttpProvider('http://localhost:8545');
    web3 = new Web3(App.web3Provider);
    }
    return App.initContract();
    이 부분에서 invalid address 라는 에러가 발생합니다. 혹시 해결하신 경험이 있으시면 조언 부탁드립니다.
    그리고 이 부분을 단순하게 else로 실행하도록 했을 때에는 (typeof web3 == undefined 로 설정했을 때.) 아래와 같은 에러들이 발생합니다.
  2. 교육 내용을 따라 바로 진행했을 때, 처음에는 메타마스크의 작동은 정상이었으며, 단 한번 매입하는 데에 두번의 매입 트랜잭션이 발생해서 지정된 이더의 2배가 차감, 차입 되는 현상이 있었습니다.
  3. 저러한 이상현상을 해결하고자, build 폴더를 삭제하고, metamask의 설치도 다시 진행한 후, 재 migration을 진행하였습니다만, 현재는 metamask에서 transaction 발생하는 화면 조차 나타나지 않으며, truffle console로 해당 함수를 실행했을 시truffle(ganache)> app.buyRealEstate(9, web3.toHex('사용자이름'), 35, {from:'0x2DcCa9B61E50D79A90a813fcD6a42c3A3Ac52e6f', value:1.23 });

Error: sender doesn't have enough funds to send tx. The upfront cost is: 1188468692540441322405034084557662891273515906800840149300 and the sender's account only has: 100000000000000000000

와 같은 에러가 발생합니다.

  1. 그리고 truffle console로 instance를 생성하여 테스트를 진행해 봤을 때에도,

truffle(ganache)> app.getBuyerInfo(0);

Error: Attempting to run transaction which calls a contract function, but recipient address 0x0b4b148c6ab76335899a1294c22f48964cb04869 is not a contract address

at XMLHttpRequest._onHttpResponseEnd (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~xhr2libxhr2.js:509:1)

at XMLHttpRequest._setReadyState (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~xhr2libxhr2.js:354:1)

at XMLHttpRequestEventTarget.dispatchEvent (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~xhr2libxhr2.js:64:1)

at XMLHttpRequest.request.onreadystatechange (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~web3libweb3httpprovider.js:128:1)

at C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:packagestruffle-providerwrapper.js:134:1

at C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~web3libweb3requestmanager.js:86:1

at Object.InvalidResponse (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~web3libweb3errors.js:38:1)

truffle(ganache)> app.buyRealEstate(0, 'syhan01', 36);

Error: Attempting to run transaction which calls a contract function, but recipient address 0x0b4b148c6ab76335899a1294c22f48964cb04869 is not a contract address

at XMLHttpRequest._onHttpResponseEnd (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~xhr2libxhr2.js:509:1)

at XMLHttpRequest._setReadyState (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~xhr2libxhr2.js:354:1)

at XMLHttpRequestEventTarget.dispatchEvent (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~xhr2libxhr2.js:64:1)

at XMLHttpRequest.request.onreadystatechange (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~web3libweb3httpprovider.js:128:1)

at C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:packagestruffle-providerwrapper.js:134:1

at C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~web3libweb3requestmanager.js:86:1

at Object.InvalidResponse (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~web3libweb3errors.js:38:1)

truffle(ganache)> app.getAllBuyers();

Error: Attempting to run transaction which calls a contract function, but recipient address 0x0b4b148c6ab76335899a1294c22f48964cb04869 is not a contract address

at XMLHttpRequest._onHttpResponseEnd (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~xhr2libxhr2.js:509:1)

at XMLHttpRequest._setReadyState (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~xhr2libxhr2.js:354:1)

at XMLHttpRequestEventTarget.dispatchEvent (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~xhr2libxhr2.js:64:1)

at XMLHttpRequest.request.onreadystatechange (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~web3libweb3httpprovider.js:128:1)

at C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:packagestruffle-providerwrapper.js:134:1

at C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~web3libweb3requestmanager.js:86:1

at Object.InvalidResponse (C:UsersmicroAppDataRoamingnpmnode_modulestrufflebuildwebpack:~web3libweb3errors.js:38:1)

와 같은 주소값 에러가 발생합니다.

혹시 위와 같은 에러를 해결해 보신 경험이 있으시다면 조언 부탁드리며, 단위테스트나 디버딩을 해 보고 싶은데, 로그를 어디에 남겨야 하는지에 대한 지식이 전무하다보니 이 부분도 조언 부탁드립니다.

긴글 읽어 주셔서 감사합니다.

dapp Ethereum blockchain

답변 6

0

lyy5825

다시 migrate하니까 되네..

0

lyy5825

메타마스크 2번 뜨는거 어떻게 해결하셨나요 ㅠㅠ

0

한상윤 Han

두번 결제 되는 것은 제가 코드를 테스트 하면서 찍어본다는 것이 결제하는걸 찍어보는 어처구니 없는 짓을 해서 두번 결제가 되었던 것이구요. 그 부분 삭제하니까 정상 결제 되었습니다. 단순하지만 크리티컬한 제 실수였어요.

0

SEJONG IT EDU

@한상윤
안녕하세요. 좋은 발견 해주셔서 감사합니다. 공지해야겠네요.

https://github.com/MetaMask/metamask-extension/issues/1676 

링크 주신걸로 무슨 이슈인지 확인은 했습니다. 메타마스크의 버튼을 빨리 눌렀을 때 발생하는 이슈인데 똑같은 이슈 맞나요? 이미 해결된걸로 보아서는 그 부분은 아닌거같고.. 만약 고쳤다하고 안고쳐졌으면 메타마스크의 문제긴하네요. ㄱ-

0

성백민

진짜 감사합니다. 저도 같은 에러였는데 도저히 방법을 못찾았었거든요..정말로 감사드려요

0

한상윤 Han

우선 invalid address 에러가 발생한 이유는 metamask의 정책 변경 때문이었습니다.
관련 내용은 https://medium.com/metamask/introducing-privacy-mode-42549d4870fa
에 잘 나와 있습니다. 2018년 11월 2번째 주부터 metamask를 업데이트 하면서 일괄 적용한 것으로 보입니다.
임시해결방안은 metamask를 실행한 후, settings에 들어가서 Security & Privacy 의 Privacy mode를 해제하면
강사님의 코드로 매물거래가 가능합니다.
하지만 아직 까지 왜 매물 거래가 2번 연속으로 발생해야 하는지, 이 문제를 어떻게 해결해야 할 지는 진행중입니다.

[긴급] 전체 소스코드 파일 있었던거 같은데 어디서 받나요?

0

240

2

블록체인 강의

0

175

2

강의내용 질문입니다 메타마스크

0

277

1

truffle develop 명령 오류

0

414

0

메타마스크 창이 안뜨네요 ㅜ

0

463

2

전제 소스 코드

1

275

0

miner.stop() 오류

0

298

0

매입 실행 시 메타마스크와 연동이 안되고 창이 안뜨고 있네요

0

654

2

코드가 다운받아지지 않습니다.

0

256

1

git에 올리신 자료 관련

0

329

2

geth rpc 에러입니다.

0

548

2

수업 자료

1

283

1

truffle 버전

2

248

0

Geth의 버전이 업데이트 되면서 실행되지 않았습니다. 의 해결법 (nodestart)

1

386

1

TypeError: Contracts.compile is not a function / powershell에 migrate 시 오류발생

0

367

1

./nodestrart.cmd

0

273

1

truffle migrate 실행 시 오류

0

254

0

nodestart.cmd 파일 실행시 오류

0

758

1

필드 초기화 질문

0

217

0

truffle 이렇다는데,, 업데이트 하게되면 강의를 들을수 있나요..?

0

212

0

puppeth 명령어 실행이 안됩니다.

0

436

1

truffle init 시 에러

0

208

0

nodestart 질문

0

487

1

메타마스크 질문

0

175

0