Steem Blockchain Seed Nodes
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:
- There is the "official list" in the Steem GitHub repository: p2p_default_seeds.hpp
- There is a "seed status" website created by @wackou :https://status.steemnodes.com/
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"
192.99.4.226:2001
@dele-puppy
Removal from the "seed status" website
134.255.253.142:2001
@maxlxl104.236.82.250:2001
@svksteem.kushed.com:2001
@kushedseed.steemed.net:2001
@steemedseed.steemfeeder.com:2001
@au1nethyb1steem-id.altexplorer.xyz:2001
@steem-id46.252.27.1:1337
@jabbasteemseed.cubeconnex.com:2001
@bitcube104.40.230.35:2001
@aizensou45.55.54.83:2001
@tdv.witness178.63.82.69:2001
@theprophet0seed.bitcoiner.me:2001
@bitcoiner89.36.26.82:2001
@dragosroua78.46.95.157:2001
@pcste45.76.13.167:2001
@chitty85.10.227.254:2001
@christoff522145.76.140.222:2001
@chillbillseed.teamsteem.me:2001
@teamsteemsteem-seed.crypto.fans:2001
@sc-steemit / crypto.fans85.10.196.211:2001
@puncakbukitsteemseed.dele-puppy.com:2001
@puppiessteem.clawmap.com:2001
@steemptyseed.zapto.org:2001
@geoffreysteem.imcoins.org:2001
@dr20735.9.200.119:2001
@cloh76steemd.steemkr.com:2001
@ludorum
Removal from both the "official list" and "seed status" website
seed.bhuz.info:2001
@bhuzseed.windforce.farm:2001
@windforce
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.
@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:
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.
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:
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
Done
\it was a new purposes I guess!
Great article @timcliff. It's great to see the Steem blockchain looking so decentralised. 👍