작성
·
724
0
이미지 대량 민팅을 진행하려고 pinata와 연결하여 (1)웹 자바스크립트를 통한 민팅과 (2)리믹스를 통한 민팅으로 제작하려고 합니다. 그런데 pinata와 연결하여 리믹스에서 민팅하려고하면 웹에서 민팅이 진행되지 않고, 웹에서 진행하려고 하면 두 상황에서 같이 민팅 수 있는 코드를 어떻게 수정해야할지 감이 잘 안 잡힙니다.. 그리고 제가 잘 확인하지 못했는데 혹시 웹에서 이미지를 보기 위해 json 파일에 필수로 들어가야할 요소가 있을까요
밑에 글에 올라온 것처럼 파일을 선택 후 이미지를 업로드를 하면 infura 오류가 뜹니다
request.js:138 POST https://ipfs.infura.io:5001/api/v0/add?stream-channels=true 401 (Unauthorized)
댓글을 보면 개인 계정 설정 후 진행이 되는 분이 계셨는데 코드를 수정하고 개인 계정을 설정 후에도 오류가 걸리는 부분이 있어 curl나 개인 계정 설정에 대해 어떻게 진행하면 좋을지 여쭤보고 싶습니다 ㅠㅠㅠㅠ
답변 2
0
curl로 하시기전에
https://ipfs.tech/ 사이트 접속하셔서 ipfs 프로그램은 pc에 설치해보시면 좋을거같습니다.
개념을 조금 알고 하시면 더 이해가 잘 될거같네요..
우선 간단하게 설명한다면 서버에 ipfs 프로그램을 설치합니다. 그럼 서버와 ipfs 퍼블릭 네트워크와 동기화하여 자신의 서버도 ifps 게이트웨이서버가 됩니다. 이를 이용하여 curl 명령어 또는 자바스크립트명령어를 이용 ipfs에 파일을 업로드하시면 됩니다.
감사합니다.
0
json 파일의 경우 오픈씨에 업로드하실거면 아래 사이트를 참고하세요
https://docs.opensea.io/docs/metadata-standards
오픈씨 가 아니라면 erc721 에 맞게하시면됩니다.
https://eips.ethereum.org/EIPS/eip-721
대량으로 민팅하실거면 json파일을 미리 만들어서 폴더를 통째로 ipfs에 업로드하는 방법을 많이 사용합니다. 이렇게되면 폴더 이름은 ipfs의 해시값으로되고 파일이름은 그대로 사용이 가능합니다.
그리고 인퓨라 오류는 아래 내용으로 해보시면 될거같습니다.
최근 인퓨라에서 제공하던 API가 부분 유료화가 되면서 기존에 소스가 정상동작을 하지 않네요..
해결방법은 다음과 같습니다.
CREATE NEW KEY - 새로운 키 생성
신용카드 정보입력 5기 무료로 이용가능하다고 합니다. ( 사이트에 표시됨 )
api 사용 체크
소스 수정
//ipfs
var IPFS_URL = "https://ipfs.io/ipfs/";
var IPFS_API_URL = "ipfs.infura.io";
//var ipfs = window.IpfsApi(IPFS_API_URL, "5001", { protocol: "https" }); // Connect to IPFS
const projectId = '{인퓨라 프로젝트아이디}';
const projectSecret = '{인퓨라 시크릿키}';
const auth = "Basic " + btoa(projectId + ":" + projectSecret);
console.log("-> "+auth);
var ipfs = window.IpfsApi(IPFS_API_URL, "5001", { protocol: "https" , headers: { authorization: auth } } ); // Connect to IPFS
Infura에서 발급받은 키를 이용하여 5기가까지 무료로 이용하시면 될거같습니다.
만약에 카드번호 입력이 어려우시면 별도로 ipfs 게이트웨이를 구성하시면 쉽게 사용이 가능합니다. 참고해주세요
리액트로 하실분들은 아래 사이트 참고
https://www.becomebetterprogrammer.com/upload-files-using-react-ipfs-infura/
제가 했을땐 401 오류가 발생되지 않았는데..다시 잘 해보시는게 좋을듯하네요
그런데 개인적인 생각으론 무료이지만 유료처럼 써야하는 API라서요.
서버 세팅을 좀 잘 하시면 IPFS 게이트웨이를 서버에 세팅하고 하는 게 더 자유롭게 개발이 가능할 거 같습니다. 자유롭다는 의미는 IPFS를 여러 형태로 이용할 수 있다는 의미입니다.
감사합니다!! 이 방법으로도 꼭 시도해보겠습니다!!