Go-Ethereum

如何啟動 swarm 以便其他機器可以使用 api?

  • March 18, 2021

我正在執行這個: 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” 應該可以解決這個問題。

引用自:https://ethereum.stackexchange.com/questions/63799