如何啟動 swarm 以便其他機器可以使用 api?
我正在執行這個:
swarm \ --bzzaccount $ACCOUNT \ --password .ethereum/.password \ --bzzapi "http://0.0.0.0:8500" \ --lightnode
當我從 localhost 捲曲時,我得到一個響應:
$ curl http://localhost:8500 Code: 200 Message: Swarm: Please request a valid ENS or swarm hash with the appropriate bzz scheme Timestamp: Sat, 08 Dec 2018 01:31:05 UTC
但是當我在外部捲曲時:
$ curl http://otherhost:8500 curl: (7) Failed to connect to localhost port 8500: Connection refused
執行 lsof 揭示了有關埠的資訊:
$ lsof -i TCP | grep 8500 swarm 9 root 30u IPv4 140650 0t0 TCP localhost:8500 (LISTEN)
我很確定它應該
0.0.0.0
代替,localhost
但我不確定這是否真的是一個問題。我已經確認主機上執行的其他應用程序可以公開埠,我可以毫無問題地連接到它們。它的特別群。
誰能給我一個他們正在執行以使 swarm 正常工作的命令的範例?我的目標是讓它在專用網路中執行,並讓網路中的其他機器控制並與之通信,所以我不需要它有受保護的埠。
編輯:最小的最終形式
swarm \ --bzzaccount $ACCOUNT \ --password .ethereum/.password \ --httpaddr "0.0.0.0" \ --lightnode
在命令行中添加 –httpaddr 以指定網路介面。–httpaddr “0.0.0.0” 應該可以解決這個問題。