작성
·
870
·
수정됨
0
문제 : ipfs.infura.io를 사용할 경우 post timeout이 발생함
다른것도 ipfs.io 로 갈아 끼워서 해봐도 안됨 빠른포기
해결방법 :
1. 검색
2. infura.io 공용 오픈api? 가 만료된것을 알아냄
3. 회원가입한다
4. 개인 ipfs용 apikey를 생성한다.
5. API key 값과 API Key Secret 값을 확인한다.
6. 아래의 코드가 infura api 사용하는 방식이다
강의에 나온것에서 headers 부분만 추가해주면 된다
그리고 그곳에 auth 값이 필요한것이다.
const projectId = 'API key';
const projectSecret = 'API Key Secret ';
const auth =
'Basic' + Buffer.from(projectId + ':' + projectSecret).toString('base64');
const client = ipfsClient.create({
host: 'ipfs.infura.io',
port: 5001,
protocol: 'https',
headers: {
authorization: auth,
},
});
해당 강의에서는 node에서 작업을 하기때문에 node_modules에 포함되어있는 Buffer 함수가 정상 동작 하지만 일반 비 node 로컬 환경에서 개발할경우 별도로 노드 js 파일을 만들어서 auth 값만 뽑아낸다음에 하드코딩으로 갈겨넣어도 정상동작한다.
그렇게 넣고나서 강의를 따라 실행하고 infura 사이트에 로그인한뒤 자신의 ipfs 목록을 보면 alert 창에 적힌 저 Qm..............어쩌고저쩌고의 값이 잘 올라와있는것을 확인할수 있을것이다.
예전에 삽질한 흔적들이 남아있는 커뮤니티다 . 해결책은 안적었지만 공식 커뮤니티이니 돌아다니다보면 또 주워 얻는게 있는듯하다.
https://community.infura.io/t/how-can-i-get-ipfs-url-image-by-dedicated-gateway/5759
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
ipfs.infura.io를 사용할 때 발생하는 post timeout 문제에 대해 해결 방법을 공유해주셔서 감사합니다. 특히 infura.io 공용 오픈 API가 만료된 것을 회원가입하고 개인 ipfs용 apikey를 생성하여 해결할 수 있다는 것을 알려주셨습니다.
그리고 강의에서 나온 코드에서 headers 부분에 auth 값이 필요하다고 알려주셨는데, 일반 비 node 로컬 환경에서 개발할 경우 node_modules에 포함되어 있는 Buffer 함수가 정상 동작하지 않기 때문에 노드 js 파일을 만들어서 auth 값만 뽑아내고 하드코딩으로 갈아넣어도 정상동작한다고 하셨습니다.
다시 한번 답변드리는 것처럼, 강의에서 나온 코드에서 headers 부분에 auth값을 추가하여 infura api를 사용할 수 있다는 것을 알려주셨고 일반 비 node 로컬 환경에서 개발할 경우 노드 js 파일을 만들어서 auth 값만 뽑아내 노드 js 파일을 수정해야 정상적으로 동작한다는 것을 알려주셨습니다.
추가적으로, 문제해결을 위해 많은 노력을 기울여주셨다는 것을 다시 한번 감사히 생각합니다. 더 궁금한 사항이 있으시면 언제든 문의해주세요. 감사합니다.