Bitcoin Stack Alternate is a query and reply website for Bitcoin crypto-currency lovers. It solely takes a minute to enroll.
Anyone can ask a query
Anyone can reply
The perfect solutions are voted up and rise to the highest
Requested
Considered
11 instances
These days there are DNS seeds and hardcoded IP addresses, however again within the day when Satoshi launched Bitcoin v0.1, how did new nodes hook up with the remainder of the community? My preliminary thought was that the primary launch would have Satoshi’s IP handle hardcoded, however I could not discover something of the kind within the supply code.
Quoting from the wiki:
Along with studying and sharing its personal handle, the node discovered about different node addresses through an IRC channel. See irc.cpp.
After studying its personal handle, a node encoded its personal handle right into a string for use as a nickname. Then, it randomly joined an IRC channel named between #bitcoin00 and #bitcoin99. Then it issued a WHO command. The thread learn the strains as they appeared within the channel and decoded the IP addresses of different nodes within the channel. It did this in a loop, perpetually, till the node was shutdown.
When the consumer found an handle from IRC, it set the timestamp on the handle to the present time, but it surely used a “penalty” of 51 minutes, which suggests it seemed prefer it was truly seen nearly an hour earlier.
- The primary seed mechanism was IRC-based. There was a hardcoded IRC server and IRC channel (
#bitcoin
on Freenode), and the Bitcoin consumer would hook up with the server, and be a part of the channel with a nickname that encodes the consumer’s IP handle. By way of that, it will obtain “JOIN” messages from different Bitcoin purchasers becoming a member of the channel, which might get inserted into its IP handle database. - In model 0.2.12 (June 2010), hardcoded seed IPs had been added, as a fallback for when IRC seeding failed.
- In model 0.3.0 (June 2010), the IRC server was modified from Freenode to LFnet.
- In model 0.3.21 (April 2011), the DNS seeding mechanism was launched (however off by default).
- In model 0.3.22 (June 2011), the IRC seeding mechanism was prolonged to 100 channels as an alternative of 1, attributable to it rising too large. Each consumer would randomly be a part of one of many channels.
- In model 0.3.24 (July 2011), DNS seeding was enabled by default.
- In model 0.6.0 (March 2012), the IRC seeding mechanism was turned off by default.
- In model 0.9.0 (March 2014), help for the IRC seeding mechanism was utterly faraway from the codebase.