728x90
안녕하세요. 오늘은 IPFS에 이미지를 등록하고 해당 이미지가 잘 저장되었는지 확인해 보겠습니다.
우선 IPFS에 대해 간단하게 설명드리면 분산 파일 시스템으로, 전통적인 중앙 집중식 파일 시스템과는 대조적으로 분산 환경에서 작동합니다. IPFS는 중복되는 데이터를 최소화하고 빠른 속도와 안정성을 제공하며, 파일을 유일한 해시 값으로 참조하는 방식으로 동작합니다.
우선 npm을 통해 fs, ipfs-http-client, buffer를 설치해주고 아래 코드를 입력해주세요.
ProjectID와 Secret키는 ipfs.infura.io에 가입하시고 발급받아주세요.
import fs from 'fs';
import {create} from 'ipfs-http-client'
import {Buffer} from 'buffer'
const projectId = 'projectId';
const projectSecret = 'Secret';
const auth = 'Basic ' + Buffer.from(projectId + ':' + projectSecret).toString('base64');
const client = create({
host: 'ipfs.infura.io',
port: 5001,
protocol: 'https',
headers: {
authorization: auth,
},
});
async function UploadIPFS(){
console.log("이미지 생성 중");
const pathToSaveImage = '이미지 파일 경로';
console.log(pathToSaveImage)
const readFile = fs.readFileSync(pathToSaveImage); // ipfs에 올릴 사진
const uploadResult = await client.add(readFile)
console.log(uploadResult.path)
}
UploadIPFS();
위 코드를 다 작성하셨으면 실행해주세요. 로그로 해시값이 나올것입니다.
위 링크를 통해 업로드한 이미지를 확인할 수 있을겁니다! 감사합니다.
'Nodejs' 카테고리의 다른 글
[Nodejs]bcryptjs 활용하기 (0) | 2024.08.09 |
---|---|
[Nodejs]pug 활용하기 (0) | 2024.08.02 |
[Nodejs] Nodemon으로 오류 기록하고 자동 재시작하기 (0) | 2024.01.18 |
[Nodejs] node-cron 사용해서 설정한 주기 마다 작업 실행하기 (0) | 2023.12.28 |
[Nodejs] express에서 mongoose 사용해보기 (0) | 2023.12.19 |