App.web3Provider = new web3.providers.HttpProvider('http://localhost:8545'); 감이 안옵니다.
372
작성한 질문수 12
강의를 듣는 도중 감이 오시나요? 라고 하셨는데 감이 안옵니다.
예를 들어 현재 Roposten 서버에 컨트랙트를 배포 되어 있고 어떤 이유에 의해서 web3 인스턴스를 생성 못했다면 else 이 실행 되는데 localhost:8545 는 전혀 다른 서버인데? 감이 안옵니다.
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);
}
답변 4
0
개인서버보다는 보통 인퓨라에 연결해서 해결합니다.
App.web3Provider = new web3.providers.HttpProvider('https://ropsten.infura.io/v3/api-key');
0
좋은 질문 감사합니다. 화가 나신건 아니겠지요 :)
어떤 이유에 의해서 web3 인스턴스를 생성못해 else문으로 가는게 아닙니다.
if (typeof web3 !== ‘undefined’) {브라우저에 web3 인스턴스가 미리 주입되어 있지 않았을 때 else문으로 가는겁니다. 강좌에서 설명했듯이 댑을 딱 실행했는데 내 Chrome에는 메타마스크 설치가 안되어있으면 else문으로 가는거에요.
더 간단히 말씀드려서 저 라인을 통해 너 지금 메타마스크 쓰고있어 안쓰고있어를 체크하는겁니다.
왜 체크하나? 이유는 web3를 인스턴스화할 때 provider 즉 공급자를 필요로 하기 때문입니다. 메타마스크가 설치되어있으면 메타마스크를 web3 공급자로 사용하는거구요.
만약 메타마스크 설치가 안되어있다면 else문으로가서 web3를 인스턴스화할 때 필요한 공급자를 내 로컬 노드로 (예: geth) 대신 쓰는겁니다. 메타마스크가 설치되어있다면 간편하게 끝낼 수 있는데 설치가 안되어있으면 어쨌거나 web3를 인스턴스화할 노드를 찾아야되서 else문을 저렇게 로컬 노드를 통해 정의해준겁니다.
Ropsten에 컨트랙 배포한거와는 관련이 없어요 :)
[긴급] 전체 소스코드 파일 있었던거 같은데 어디서 받나요?
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





