인프런 커뮤니티 질문&답변

dummyman님의 프로필 이미지
dummyman

작성한 질문수

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

컨트랙 소유자 설정

app.owner.call 명령 실행시 에러가 납니다.

작성

·

241

0

truffle(ganache)> app.owner.call()

TypeError: Cannot read property 'call' of undefined

앞부분부터 강의를 하나씩 따라왔는데 어떤것이 잘못되었는지 잘 모르겠네요..

답변 6

0

SEJONG IT EDU님의 프로필 이미지
SEJONG IT EDU
지식공유자

파워쉘에서 geth 실행중인거 ctrl + d or ctrl + c 누르시고 끄시면 됩니다. :)

포트 번호 바꾸시는 것도 방법 중 하나이구요.

0

geth 노드가 백그라운드에서 실행중인것을 어떻게 확인하나요?

저같은 경우는

netstat -ano 를 통해서 백그라운드 프로세스를 확인 후 해당 포트를 사용중인 PID를 찾아서 종료하려고했는데요

geth가 PID를 찾아서 가보았을때 geth가 아닌 chrome이 8545포트를 쓰고있더라구요.

그래서 해당 포트를 사용중인 크롬을 강제종료 해보았는데도, 실행되고 있던 크롬창 중에서는 아무 변화가없었고

다시 확인해보면 chrome이 계속 쓰고 있는것으로 보입니다.

혹시 이게.. 메타마스크 연동부분에서 연관이 있는건지.. 일단 포트번호를 바꿔서 진행해보려고합니다.

0

SEJONG IT EDU님의 프로필 이미지
SEJONG IT EDU
지식공유자

안녕하세요. 일단 백그라운드에 혹시 Geth 노드가 실행되고 있다면 꺼주시구요.

트러플 프로젝트의 build/contracts 폴더를 지우시고 가나슈도 포트 바꿔서 리스타트하고

truffle migrate --compile-all --reset --network ganache

실행해보세요.

0

포트번호를 바꾸고 실행해봤는데요 그럼 저런 error가 떠요ㅠㅠ 어떻게 해결해야 하나요..

PS C:UsersdkfkfBlockchainreal-estate> truffle migrate --network ganache

Using network 'ganache'.

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

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

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

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

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

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

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

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

at IncomingMessage. (C:UsersdkfkfAppDataRoamingnpmnode_modulestrufflebuildwebpack:~xhr2libxhr2.js:469:1)

at IncomingMessage.emit (events.js:202:15)

at endReadableNT (_stream_readable.js:1129:12)

at processTicksAndRejections (internal/process/next_tick.js:76:17)

0

SEJONG IT EDU님의 프로필 이미지
SEJONG IT EDU
지식공유자

해결하셨다니 다행이네요 :) 포트 문제로 가끔 막힐 때가 있어요.

1. 동일포트에 다른 노드가 또 실행되어 있음 (geth가 포트 8545에서 실행중) 

2. 이미 8545포트를 다른 프로그램에서 쓰고 있음

여러가지 이유가 있겠네요. 그럴 때 마다 방금하신 것 처럼 포트 변경해주시면 됩니다. ^^

0

dummyman님의 프로필 이미지
dummyman
질문자

truffle.js 파일에서 포트부분을 바꾸고 가나슈 설정창에서 같은 포트번호로 맞췄는데 되네요;;

그런데 이상한것은 처음에도 8545로 둘다 동일한 포트로 설정되어있었는데 안됐었다는 점입니다.

module.exports = {

// See http://truffleframework.com/docs/advanced/configuration

// to customize your Truffle configuration!

networks: {

ganache: {

host: "localhost",

port: 8546, //<-- 이부분 8545에서 8546으로 바꿈

network_id: "*" // Match any network id

}

}

};

dummyman님의 프로필 이미지
dummyman

작성한 질문수

질문하기