js-ipfs 명령 서버 만들기

4908 단어 WebRTCIPFSjsipfstech

개시하다


https://github.com/ipfs/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가어야 하지만 예외로 로컬 호스트의 명령 서버도 허용되기 때문에 개발용으로 쉽게 사용할 수 있습니다.
https://github.com/libp2p/js-libp2p-webrtc-star#rendezvous-server-aka-signaling-server 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,
});
브라우저에서 시작하여 콘솔을 보니 로그가 표시되어 서버에 연결할 수 있습니다.

명령 서버 만들기


서버에 설정하려면 다음과 같은 절차가 필요합니다.아직 자세한 내용을 쓰지 않았기 때문에 다음은 요약판이다.
  • VPS 준비
  • 명령 서버를 가져오는 영역
  • 도메인의 A 레코드에 VPS IP 설정
  • dockerdocker-compose를 VPS
  • 에 배치

  • 생성docker-compose.yml 및 실행
  • (시작 스크립트에 추가)
  • VPS 준비


    운영 체제에 문제가 있습니다.10을 선택했기 때문에 여기를 참고하여 한번 설정했습니다.
    https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04-ja
    주의점이라고 할 정도는 아니지만 방화벽 설정에서 80(HTTP)과 443(HTTPS)는 비워야 한다.대체로 클라우드 서비스 측면에서 설정할 수 있기 때문에 그쪽에서 설정했습니다.

    명령 서버의 영역을 얻습니다


    유료로 받을 수 있지만 이번에는 freenom 서비스를 사용했다.
    http://www.freenom.com/ja/index.html
    각양각색의 주의점이 있기 때문에, 그곳에서 다른 기사를 많이 볼 수 있었으면 좋겠다고 생각합니다.
    무료 도메인 이름은 12개월의 업데이트가 필요하지만 잊어버린 것 같습니다.나는 다른 도메인을 찾을 때 그 하위 영역으로 옮기고 싶다.

    VPS에 docker 및 docker-compose 추가


    이 거리.
  • docker https://docs.docker.com/engine/install/ubuntu/
  • docker-compose https://docs.docker.com/compose/install/
  • docker-compose.생성 및 실행


    그냥 이쪽에서 하는 대로.
    https://github.com/libp2p/js-libp2p-webrtc-star/blob/master/DEPLOYMENT.md#ssl--localhost-development
    주의점은 영역이 침투하지 않으면 오류로 인해 멈출 수 있으므로 시간을 조금 비우는 것이 좋다.

    (시작 스크립트에 추가)


    안 해도 되는데 미리 하는 일로 의외의 사태로 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의 서버가 세운 일에 감동했다.
    서버 설정 주위에 신경을 많이 썼기 때문에 그 결과가 가장 오래 걸렸다.
    그게 다야.

    좋은 웹페이지 즐겨찾기