js-ipfs 명령 서버 만들기
개시하다
브라우저에서도 IPFS를 이동할 수 있으며 js-ipfs이지만 브라우저에서는 TCP와 UDT를 사용할 수 없기 때문에 WebRTC를 이용하여 P2P 통신을 해야 한다.
WebRTC를 사용할 때, 명령 서버 (회합 서버) 가 필요하기 때문에 js-ipfs는 현재 완전한 분산형 체계 구조가 아니다.
공식적으로 프레젠테이션용 몇 개의 신호 서버를 공개했다.
https://wrtc-star1.par.dwebops.pub/
https://wrtc-star2.sjc.dwebops.pub/
그러나 이것들은 실천적인 시범과 실험에 쓰일 뿐 제작에 쓰일 수 없다.실제로는 가끔 떨어진다.따라서 자신의 웹 응용 프로그램에서 IPFS를 사용하려면 스스로 명령 서버를 만들어야 한다.
로컬 명령 서버 만들기
명령 서버는https가어야 하지만 예외로 로컬 호스트의 명령 서버도 허용되기 때문에 개발용으로 쉽게 사용할 수 있습니다.
libp2p-webrtc-star
의npm 패키지를 사용하면 로컬에서 명령 서버를 구축할 수 있습니다.npx
명령을 사용하면 다음 1개의 명령을 사용할 수 있습니다.(기본값: 9090, host:'0.0.0')$ npx -p libp2p-webrtc-star star-signal --port=13579 --host=127.0.0.1
브라우저 측면에서 사용할 때,create 시 옵션
'/ip4/127.0.0.1/tcp/13579/wss/p2p-webrtc-star'
을 SwarmAddress에 건네주면 사용할 수 있습니다.// 実装例
const ipfsConfig: IPFSConfig = {
Addresses: {
Swarm: [
// '/dns4/wrtc-star1.par.dwebops.pub/tcp/443/wss/p2p-webrtc-star',
// '/dns4/wrtc-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star',
'/ip4/127.0.0.1/tcp/13579/wss/p2p-webrtc-star',
],
},
Discovery: {
MDNS: { Enabled: true, Interval: 10 },
webRTCStar: { Enabled: true },
},
};
await ipfs.create({
config: ipfsConfig,
});
브라우저에서 시작하여 콘솔을 보니 로그가 표시되어 서버에 연결할 수 있습니다.명령 서버 만들기
서버에 설정하려면 다음과 같은 절차가 필요합니다.아직 자세한 내용을 쓰지 않았기 때문에 다음은 요약판이다.
docker
및 docker-compose
를 VPS생성
docker-compose.yml
및 실행VPS 준비
운영 체제에 문제가 있습니다.10을 선택했기 때문에 여기를 참고하여 한번 설정했습니다.
주의점이라고 할 정도는 아니지만 방화벽 설정에서 80(HTTP)과 443(HTTPS)는 비워야 한다.대체로 클라우드 서비스 측면에서 설정할 수 있기 때문에 그쪽에서 설정했습니다.
명령 서버의 영역을 얻습니다
유료로 받을 수 있지만 이번에는 freenom 서비스를 사용했다.
각양각색의 주의점이 있기 때문에, 그곳에서 다른 기사를 많이 볼 수 있었으면 좋겠다고 생각합니다.
무료 도메인 이름은 12개월의 업데이트가 필요하지만 잊어버린 것 같습니다.나는 다른 도메인을 찾을 때 그 하위 영역으로 옮기고 싶다.
VPS에 docker 및 docker-compose 추가
이 거리.
docker-compose.생성 및 실행
그냥 이쪽에서 하는 대로.
주의점은 영역이 침투하지 않으면 오류로 인해 멈출 수 있으므로 시간을 조금 비우는 것이 좋다.
(시작 스크립트에 추가)
안 해도 되는데 미리 하는 일로 의외의 사태로 VPS가 다시 시작되었을 때 바로 신호 송신 서버가 바뀌었어요.
참고로 설정했습니다.https://techgrump.com/create-a-custom-startup-script-in-ubuntu-20-04/
자신의 환경이라면
ExecStart
의 값에 bash
를 더하지 않으면 실행할 수 없기 때문custom-startup.service
은 다음과 같다.[Unit]
Description=Custom Startup
[Service]
ExecStart=bash /home/hogehoge/scrypts/startup.sh
[Install]
WantedBy=multi-user.target
완성
시간이 많이 걸렸지만 정리해 보니 소감이 없다.차라리 그렇다고https의 서버가 세운 일에 감동했다.
서버 설정 주위에 신경을 많이 썼기 때문에 그 결과가 가장 오래 걸렸다.
그게 다야.
Reference
이 문제에 관하여(js-ipfs 명령 서버 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ocknamo/articles/8ae5104fdd1926텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)