본문 바로가기

BlockChain Developer/Public Blockchain

[IPFS] Nodejs에서 사용하기

1. ipfs-api 다운로드

npm install ipfs-api@18.1.1 --save

 

2.  코드 작성

const IpfsApi = require('ipfs-api');
const ipfs = IpfsApi("ipfs.infura.io", "5001", { protocol: "https" });

const ipfsUpload = (req, res) => {
    const file = req.files.file.data;

    //IPFS UPLOAD & HASH GET
    //접속 : https://ipfs.io/ipfs/{해시값}
    ipfs.files.add(file)
        .then(result => {
            console.log(result[0].hash);
            res.redirect(`https://ipfs.io/ipfs/${result[0].hash}`);
        });
};

 

**참고로 파일은 React에서 받아온 파일이며, data내에는 Buffer만 들어있다.

 

즉 , 위에서 집중해야 할 부분은 ipfs.files.add(파일버퍼) 를 통해 파일을 업로드 할 수 있다는 것이며, 리턴값은 배열 형태로 리턴된다.

 

리턴된 값 중에, hash값을 통해 내가 올린 IPFS 파일을 볼 수 있다. 주소는 다음과 같다.

 

https://ipfs.io/ipfs/{해시값}