Bitcoin Stack Change is a query and reply web site for Bitcoin crypto-currency fans. It solely takes a minute to enroll.
Anyone can ask a query
Anyone can reply
The most effective solutions are voted up and rise to the highest
Requested
Considered
9 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 realized about different node addresses by way of 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, ceaselessly, till the node was shutdown.
When the shopper found an handle from IRC, it set the timestamp on the handle to the present time, however it used a “penalty” of 51 minutes, which suggests it regarded prefer it was really 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 shopper would hook up with the server, and be a part of the channel with a nickname that encodes the shopper’s IP handle. By means of that, it might obtain “JOIN” messages from different Bitcoin shoppers 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, because of it rising too huge. Each shopper 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), assist for the IRC seeding mechanism was utterly faraway from the codebase.