ethersphere / swarm

Swarm: Censorship resistant storage and communication infrastructure for a truly sovereign digital society
https://swarm.ethereum.org/
GNU Lesser General Public License v3.0
490 stars 112 forks source link

Add bootnodes to Swarm #782

Closed cobordism closed 6 years ago

cobordism commented 6 years ago

There have been multiple reports of new swarm users not finding peers in the network. I have experienced these difficulties myself.

I suggest we include some bootnodes in the code.

here are the nodes on our cluster: https://gist.github.com/homotopycolimit/db446fa3269a199762e67b2ca037dbeb

perhaps we can reach out to mainframe and include some of theirs too?

cayblood commented 6 years ago

Yes, we would love to add ours to the mix. We are putting the finishing touches on our deployment and will let you know the addresses as soon as they are live, hopefully tomorrow or Monday.

cobordism commented 6 years ago

I can also add the nodes to https://swarm-gateways.net/bzz:/swarm-gateways.eth/ as described in this video: https://swarm-gateways.net/bzz:/dd8ca20d1e55ebcf4bfab0cf0d0b20b5ee60590250e0d6a694be21dbf857bed4/

camronlevanger commented 6 years ago

@homotopycolimit Mainframe Swarm nodes:

enode://1a31ee63d9dc6c164cede650669372ac29eb063a57a7213a83beada1b639d477378a23a2210a517190d20f9b43ad840ae1f6bd309a0456cd7122531c8e3fecda@54.202.244.43:30399

enode://c48f3a20080e1e5753be3198d02502c98189da48ae85a42a20860d3c9726e73e2cd097ed85d76acddc5467904ef0bc7e00ed8ccb3c122cfe04f87d1408c6e1f6@54.233.103.94:30399

enode://88dcb44a83f6f11b9eff4a7e522ac4579b4b27851e3673f488fe55494bab6515d12f9402178951e02c508821b1e851dc7356f483dd77d4b9446350accc9b4858@18.218.214.220:30399

enode://b071055ac70b383bdad39e2bafaf583ff57ae4389b8d1878fe23f08ebeb4398ceca0516007e735797859b0990e04b1fd2f0117fcecc23409a7985195e3730091@52.79.60.4:30399

enode://a1097549a732330c1d7a53d8324442907ec619b2c7652a8e50a561affe2fee64b3ae05df121755e036194667daa3feb62c5f967aaf591c897694a9f39c068180@13.232.33.142:30399

enode://b5ebba35eca5e1139f5978ff9873649b4210f78599e070354607b1efc4efee197f8ee44a83155524ff0d4e3ea0630d368ef9d5581a86263290b6f2788771756e@34.242.121.239:30399
cayblood commented 6 years ago

By the way @homotopycolimit and @nonsense, it may be nice to know that these nodes are geographically distributed in Oregon, Ohio, São Paulo, Seoul, Mumbai and Ireland, so they should provide a high level of availability.

cobordism commented 6 years ago

that's amazing :D

camronlevanger commented 6 years ago

@homotopycolimit after a little poking around yesterday I realized that I built these nodes from swarm-network-rewrite on accident. I'll be switching them to latest stable today.

cobordism commented 6 years ago

hey take them from the last geth release tag (1.8.12) for the moment because the latest master is incompatible with the deployed cluster. We are cleaning up our release process this week and then hopefully we'll always have a clear "latest stable" release to build the cluster from. thanks, a.

camronlevanger commented 6 years ago

@homotopycolimit sounds good

camronlevanger commented 6 years ago

@homotopycolimit new v1.8.12 nodes on network 3.

enode://ee9a5a571ea6c8a59f9a8bb2c569c865e922b41c91d09b942e8c1d4dd2e1725bd2c26149da14de1f6321a2c6fdf1e07c503c3e093fb61696daebf74d6acd916b@54.186.219.160:30399

enode://a03f0562ecb8a992ad5242345535e73483cdc18ab934d36bf24b567d43447c2cea68f89f1d51d504dd13acc30f24ebce5a150bea2ccb1b722122ce4271dc199d@52.67.248.147:30399

enode://e2cbf9eafd85903d3b1c56743035284320695e0072bc8d7396e0542aa5e1c321b236f67eab66b79c2f15d4447fa4bbe74dd67d0467da23e7eb829f60ec8a812b@13.58.169.1:30399

enode://8b8c6bda6047f1cad9fab2db4d3d02b7aa26279902c32879f7bcd4a7d189fee77fdc36ee151ce6b84279b4792e72578fd529d2274d014132465758fbfee51cee@13.209.13.15:30399

enode://63f6a8818927e429585287cf2ca0cb9b11fa990b7b9b331c2962cdc6f21807a2473b26e8256225c26caff70d7218e59586d704d49061452c6852e382c885d03c@35.154.106.174:30399

enode://ed4bd3b794ed73f18e6dcc70c6624dfec63b5654f6ab54e8f40b16eff8afbd342d4230e099ddea40e84423f81b2d2ea79799dc345257b1fec6f6c422c9d008f7@52.213.20.99:30399

Still geographically distributed in the same manner.

d14na commented 6 years ago

@homotopycolimit Getting started with Swarm (specifically PSS) as the communications layer for a new project, however, can't get anything to work regarding PSS. Recently setup a geth (1.8.12) node with --testnet --ws --wsport=8546 --wsorigins="*" --cache=512 --rpc --rpcapi="personal,eth,network" --rpcport=8545 --fast. But how do we enable PSS so that we can make WebSocket calls like pss.getPublicKey()? Searched the code, but didn't match anything to --pss flags.

The end goal is to be able to connect via Web3 and send "broadcast" messages like a decentralized API server. So, 2nd question, would that be possible using one of the nodes from the Foundation's swarm https://gist.github.com/homotopycolimit/db446fa3269a199762e67b2ca037dbeb? How would you specify an enode as a websocket provider?

Please forgive, but there is practically nothing regarding PSS over on ETH SE, so I hope its not too inappropriate to ask here.

Any support is much appreciated.

Cheers! d14na

cobordism commented 6 years ago

@d14na

Please forgive ...

This is not the right place to ask this question, but you are forgiven.

May I suggest you ask in https://gitter.im/ethersphere/orange-lounge ? You will find PSS devs hanging out there. When you ask your question on the orange lounge, please specify the exact version of Swarm you are using (command swarm version) as PSS is under active development.

The EF Swarm gateway nodes do not expose a ws endpoint.

d14na commented 6 years ago

@homotopycolimit Thanks for the tip, I'll check out gitter.

cobordism commented 6 years ago

Suggestion: we add the mainframe and foundation swarm nodes as default bootnodes in the swarm client such that every client, on first launch attempts to connect to one or two of these at random and then bootstrap a peers list from there.

cobordism commented 6 years ago

@camronlevanger we are adding your nodes as bootnodes along with the EF cluster.

Please always update to the latest release version when it comes out. Next is 0.3.2 - (to be released along with geth 1.8.14). Please also continue to use the same datadir and private key for the swarm nodes. When the key changes, so does the enode address and if that happens we must update the code.

c.f. here: https://github.com/ethereum/go-ethereum/pull/17414

nonsense commented 6 years ago

Please also continue to use the same datadir and private key for the swarm nodes. When the key changes, so does the enode address and if that happens we must update the code. This is indeed very important. The private key is what matters in case you decide that you want to remove the content of your Swarm nodes.