Steem Blockchain Seed Nodes

in #seed-nodes6 years ago (edited)

Purpose of Seed Nodes

Seed nodes are crucial for the reliability of the Steem blockchain.

  • They provide a way for other Steem blockchain nodes to "sync", and download the latest blockchain data.
  • They also help to provide reliability/structure to the "peer to peer" (p2p) network that all of the blockchain nodes use to communicate, and distribute the latest blocks.

Providing Seed Nodes

There is no economic incentive to run a seed node. It costs money to run the server, and it doesn't earn the operator any money for doing it.

For this reason, the witnesses (who are paid by the blockchain for their services as a witness) are expected to run seed nodes if they are financially able to do so.

Some non-witnesses (such as developers) may also chose to run public or private seed nodes to help provide reliability to other nodes that they are operating.

Configuring Seed Nodes

Every node operator is responsible for configuring a list of seed nodes in their node's configuration file.

Some node operators will connect to private seed nodes (ones that only they control and can access) but the majority of node operators will use publicly available seed nodes.

Low Latency is Desired

Having reliable seed nodes with low latency near your node helps your node to stay up to date with the latest blockchain data at a pace that is fast enough to keep up with the three second block times.

When node operators are configuring their seed nodes, it is recommended to ping all of the available seed nodes to determine the latency times from your node. (Which nodes will have low vs. high latency for your specific node will vary based on the location of your node compared to the seed nodes.)

Once you know the latency from your node to all of the available seed nodes, it is recommended to configure the seed nodes with the lowest latency near the top of the config file.

Lists of Public Seed Nodes

There are currently two places that a list of public seed nodes is available:

Maintenance of the Lists

Sometimes witnesses submit pull requests to add their nodes to the list(s), but the maintenance of is primarily done by @gtg based on updates that are provided in the seed-nodes channel of steem.chat. @gtg monitors the list of seed nodes that have been provided, and adds them to the lists after they have been deemed "stable".

Updates Needed

Over the years, the lists have become outdated in various ways:

  • Nodes have been added to one list, but not the other.
  • New nodes have come online, but nobody informed the seed-nodes channel or submitted a PR to add them to both lists.
  • Node operators have taken nodes offline, but never notified anyone to remove them from the lists.

Planned Updates

I am planning to submit pull requests to both repositories to update the lists:

  • Remove nodes that are no longer active from both lists.
  • Add all of the nodes from the "official list" to the "seed status" website.
  • Add all of the stable nodes from the "seed status" to the "official list".

Here is a summary of the changes I plan to make:

Add to the "official list"

steemseed-fin.privex.io:2001 @privex
seed.jamzed.pl:2001 @jamzed
seed.steem.prcolaco.com:2001 @prc
seed1.cryptobot.news:2001 @libertyranger
seed.thecryptodrive.com:2001 @thecryptodrive

Add to the "seed status" website

seed-east.steemit.com:2001 @steemit
seed-central.steemit.com:2001 @steemit
seed-west.steemit.com:2001 @steemit
seed.xeldal.com:12150 @xeldal

Add to both the "official list" and "seed status" website

seed.brandonfrye.us:2001 @brandonfrye
seed.firepower.ltd:2001 @firepower

Update seed node

94.23.33.61:2001 to seed.timcliff.com:2001 @timcliff
seed.blackrift.net:2001 to seed.steemian.info:2001 @drakos
node.mahdiyari.info:2001 @mahdi.yari to @mahdiyari

Removal from the "official list"

Removal from the "seed status" website

Removal from both the "official list" and "seed status" website

Here is a final list of seed nodes that will be included in both lists:

seed-east.steemit.com:2001 @steemit
seed-central.steemit.com:2001 @steemit
seed-west.steemit.com:2001 @steemit
steem-seed1.abit-more.com:2001 @abit
52.74.152.79:2001 @smooth.witness
seed.steemd.com:34191 @roadscape
anyx.co:2001 @anyx
seed.xeldal.com:12150 @xeldal
seed.steemnodes.com:2001 @wackou
seed.liondani.com:2016 @liondani
gtg.steem.house:2001 @gtg
seed.jesta.us:2001 @jesta
steemd.pharesim.me:2001 @pharesim
5.9.18.213:2001 @pfunk
seed.rossco99.com:2001 @rossco99
steem-seed.altcap.io:40696 @ihashfury
seed.roelandp.nl:2001 @roelandp
steem.global:2001 @klye
seed.esteem.ws:2001 @good-karma
seed.steemviz.com:2001 @ausbitbank
steem-seed.lukestokes.info:2001 @lukestokes
seed.steemian.info:2001 @drakos
seed.followbtcnews.com:2001 @followbtcnews
node.mahdiyari.info:2001 @mahdiyari
seed.jerrybanfield.com:2001 @jerrybanfield
seed.curiesteem.com:2001 @curie
seed.riversteem.com:2001 @riverhead
148.251.237.104:2001 @steem-bounty
seed1.blockbrothers.io:2001 @blockbrothers
seed.timcliff.com:2001 @timcliff
seed.brandonfrye.us:2001 @brandonfrye
steemseed-fin.privex.io:2001 @privex
seed.jamzed.pl:2001 @jamzed
seed.steem.prcolaco.com:2001 @prc
seed1.cryptobot.news:2001 @libertyranger
seed.thecryptodrive.com:2001 @thecryptodrive
lafonasteem.com:2001 @lafona
104.199.118.92:2001 @clayop
steem-seed.furion.me:2001 @furion
seed.minnowshares.net:2001 @reggaemuffin
seed.firepower.ltd:2001 @firepower

Locations

Also, I thought it would be interesting to see where the seed nodes we have are dispersed geographically. Below is a map showing all of the seed nodes across the world.
(Note, a few of the dots have overlap and represent multiple nodes.)

Seed node operators may want to consider setting up nodes in some of the "underserved" locations.


(Tools used: https://mxtoolbox.com/BulkLookup.aspx and https://app.ipapi.co/bulk/)

Updates Requested

If you are a seed node operator and you have a seed node that is not in the final list, please drop by the seed-nodes channel in steem.chat and let us know, or reply here with the information about your seed node.

Sort:  

@timcliff, is there any useful material I can read on how to create a seed node? I want to run nodes for Steemit (if I can).

The steps for setting up a seed node are pretty much the same as setting up a witness node. Instructions for that are here: https://steemit.com/witness-category/@timcliff/steps-for-setting-up-a-witness-node-the-manual-way

The main differences with a seed node are:

  • You don't configure the witness name
  • You don't configure the private key
  • You enable p2p-endpoint = 0.0.0.0:2001

If/when you setup a node, be sure to come to the #steed-nodes channel in steem.chat to let us know.

Ok. Thanks a lot. You've been most helpful.

Thank you for promoting my seed node to the official list ;-)

That's a great service to Steem and in my opinion, all witness providing seed needs on top get my votes. With @apasia.tech we are also considering deploying some in Asia and would be open to work with other witness on doing so, or even provide/manage for them.

There is no economic incentive to run a seed node. It costs money to run the server, and it doesn't earn the operator any money for doing it.

The fact that people are willing to do this, with no financial incentive, says a lot about the dedication and willingness to help the STEEM blockchain. Amazing. @ironshield

So even though you and @pfunk both run seed nodes neither of them is actually local? Do you think it would be beneficial to have one here? We're obviously not underserved in the sense that Brazil is (or Korea, yikes) but it might be nice.

I chose the location of my node because even though there were a lot of nodes in Europe, the specific location of my node (Finland) seemed under-served. I have considered setting up nodes in some other locations as well, but right now I have my hands full :)

Hello @timcliff.

Do a seed node needs the same specifications as a witness node?

Pretty much. They are the same, except on a seed node:

  • You don't configure the witness name
  • You don't configure the private key
  • You enable p2p-endpoint = 0.0.0.0:2001

Good to know about the Seed Nodes because i am not aware of technical details so always it's good to hear what is the Important aspects which gives strength to Steem Blockchain. And yes, whenever we see updates, we want to see some new features and development which expand the efficiency.

Really appreciated for this update and keep doing the amazing work.

Wishing you an great day and stay blessed. 🙂

Please change that @mahdi.yari to the @mahdiyari (already made a PR)
Thanks

\it was a new purposes I guess!

Great article @timcliff. It's great to see the Steem blockchain looking so decentralised. 👍

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.029
BTC 57610.17
ETH 3118.28
USDT 1.00
SBD 2.39