반응형
ipfs add 명령을 사용해 파일을 업로드하면 로컬 노드에 파일이 저장됩니다.
저장된 파일은 ipfs 네트워크에 분산 저장되어 다른 노드에서도 검색 가능합니다.
ipfs에 add를 한다고 해당 파일이 ipfs에 계속 유지되는 것을 보장하지는 않는다.
why? ipfs는 사용자가 원하는 파일을 캐시하고 새로운 파일을 받으면 이전 파일을 삭제할 수 있다.
또한 파일의 레플리카를 자동으로 유지하지 않기 때문에, 파일이 한 노드에서만 저장되고 있다면 해당 노드가 종료되거나 문제가 생길경우 파일 유실 될 수 있다.
이를 해결하기 위해 해당 파일의 CID 값을 pinning 하여 영구적으로 보전 해주어야한다.
Terminal
ipfs add example.jpg
ipfs pin add <CID>
ipfs pin rm <CID> # unpinning
JS
const IPFS = require('ipfs-http-client');
const ipfs = new IPFS({host: 'localhost', port: '5001', protocol: 'http'});
// Pinning 작업 수행
ipfs.pin.add('QmXHvYV2NUuP6ZcV7Hf8phvLd7gTYYzsbT35yDj9TtA9Tb')
.then((result) => {
console.log(result);
})
.catch((error) => {
console.error(error);
});
// Unpinning 작업 수행
ipfs.pin.rm('QmXHvYV2NUuP6ZcV7Hf8phvLd7gTYYzsbT35yDj9TtA9Tb')
.then((result) => {
console.log(result);
})
.catch((error) => {
console.error(error);
});
반응형
'IPFS' 카테고리의 다른 글
IPFS기반 NFT거래소 구축 (0) | 2023.07.11 |
---|---|
IPFS 폴더 업로드 (1) | 2023.03.29 |
ElasticSearch를 이용한 IPFS 검색 속도 개선 (0) | 2023.03.27 |
NFT marketplace와 IPFS, 응답 지연 해결 방법 (0) | 2023.03.27 |
ipfs 파일접근 : public gateway vs local node access (0) | 2023.03.27 |