1. ipfs swarm key 생성 (host 1 에서만 실행합니다)
swarm key는 private network 를 구성할 peer들 사이에 공유되어야 하는 private key 를 의미합니다. 똑같은 swarm key를 가짐으로써 팀을 이루게 되는거죠!
그래서 한 개의 host만 이 swarm key를 생성하면 됩니다.
#swarm-key-gen 다운로드 |
$ git clone https://github.com/Kubuxu/go-ipfs-swarm-key-gen.git |
$ cd go-ipfs-swarm-key-gen |
$ go build ipfs-swarm-key-gen/main.go |
#Swarm key 생성함 |
$ ./main > ~/.ipfs/swarm.key |
$ cat ~/.ipfs/swarm.key |
cat 명령어를 통해 swarm.key를 확인할 수 있습니다. 이 때 출력된 swarm key를 꼭 복사해놓습니다! 나중에 host2,3,4~~ 에 복사해야 하니까요!
2. Swarm key 복사 (host2 에서만 실행합니다)
host1 의 swarm key를 복사하여 붙입니다. 동일한 swarm key를 가지고 있어야 private network를 만들기 때문이죠..
#swarm key 복사 |
$ vi ~/.ipfs/swarm.key |
1번에서 복사해놓았던 swarm key를 ctrl+v 합니다. (esc + :wq 해서 저장하고 나가기~)
3. IPFS Daemon 재실행 (host1과 host2 모두)
# ipfs 재실행 (변경사항이 있을 때 다시 실행해줍니다.) |
$ ipfs shutdown |
$ ipfs daemon > ipfs.log & |
4. 현재 연결된 peer 삭제하기 (host1과 host2 모두)
#연결된 peer 확인 |
$ ipfs bootstrap list |
# 현재 public network에 연결되어 있는 피어들의 목록이므로 삭제하기 |
$ ipfs bootstrap rm --all |
5. config 파일 수정하기 (host1과 host2 모두)
1) IPFS 구성 파일 확인 |
$ ipfs config show |
2) config 파일 수정 |
$ ipfs config Addresses.API /ip4/<ipv4주소 넣어줍니다>/tcp/5001 |
$ ipfs config Addresses.Gateway /ip4/<위와 동일 주소>/tcp/8080 |
Lipp2p는 개인 네트워크와 같은 연결 보호를 지원한다. 환경변수 LIBP2P_FORCE_PNET=1 을 설정하여 네트워크 보호를 강화한다.
3) 환경변수 설정 |
$ export LIBP2P_FORCE_PNET=1 |
ipfs daemon 실행 중인 것을 중지하고 다시 시작한다.
4) IPFS 재부팅 |
$ ipfs shutdown |
$ ipfs daemon > ipfs.log & |
6. Peer 연결하기 (HOST1 에서 실행)
1) IP 주소 확인 |
$ ifconfig |
2) ID 확인 |
$ ipfs id |
7. IPFS에 bootstrap peer 추가 (HOST2 에서 실행)
IPFS bootstrap peer list 에 HOST1을 추가한다.
$ ipfs bootstrap add /ip4/<HOST1의 IP주소>/tcp/4001/ipfs/<HOST1의 id> |
Peer 연결 확인 (HOST1, HOST2)
8. 파일 공유하기 (HOST 1)
test.txt 파일 업로드하기 |
$echo "test file" > test.txt |
$cat test.txt |
파일 추가하기 |
$ipfs add test.txt |
9. 파일 확인하기 (HOST 2)
파일 확인 |
$ipfs cat <ipfs file id> |
'AWS, Docker > IPFS' 카테고리의 다른 글
[IPFS] IPFS가 무엇일까 (1) | 2021.05.28 |
---|---|
go-ipfs 시작하기 <1.go-ipfs 설치> (1) | 2020.06.28 |