Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: NotATether on October 17, 2020, 08:35:54 PM



Title: [0.20.1] How to make my full node advertise domain name?
Post by: NotATether on October 17, 2020, 08:35:54 PM
I am running Bitcoin Core 0.20.1 using the bitcoin-qt binary, and currently my node connects to other peers with its own IP address. I have a domain with an A record pointing to the IP address running bitcoin core, that's running other ports just fine.

Here in this part of the debug logs is where it binds the IP address:

Code:
2020-10-17T20:27:56Z AddLocal(<redacted>:8333,1)
2020-10-17T20:27:56Z Discover: IPv4 eno0: <redacted>
2020-10-17T20:27:56Z Bound to [::]:8333
2020-10-17T20:27:56Z Bound to 0.0.0.0:8333

I'm wondering how to make Bitcoin Core "discover" my domain name instead of just the IP address, and how to verify that it really is advertising my domain name to other nodes, instead of the IP address.


Title: Re: [0.20.1] How to make my full node advertise domain name?
Post by: bitmover on October 17, 2020, 09:17:55 PM
I didnt know you had a full node.
It is very interesting to make your node connected to your domain name.

Would it be possible to make your blockchain data (from your node) available via API to another users?
I know it is possible to do but I dont know how

For example: could I get your mempool datafrom your api?
Or get  address balances?


Title: Re: [0.20.1] How to make my full node advertise domain name?
Post by: NotATether on October 17, 2020, 09:32:23 PM
I didnt know you had a full node.
It is very interesting to make your node connected to your domain name.

That's because I created it yesterday  :)  If you check this list https://en.bitcoin.it/wiki/Fallback_Nodes#Nodes_list, you can see that some of the historic nodes had hostnames set.

For what it's worth, my hostname is different from the domain name I want to use, I wonder if that has something to do with the problem.

Would it be possible to make your blockchain data (from your node) available via API to another users?
I know it is possible to do but I dont know how

For example: could I get your mempool datafrom your api?
Or get  address balances?

Do you mean making stats of my wallet available over an API, or stats about the bitcoin network in general? Blockchair hosts some bitcoin network stats (https://blockchair.com/dumps), but download speed is extremely slow. If this is what you're interested in I could collect some of them, I just need to request for an API key to download them at reasonable speeds.

But for now I'm focused on getting my hostname set up for bitcoin core.


Title: Re: [0.20.1] How to make my full node advertise domain name?
Post by: A-Bolt on October 17, 2020, 10:04:54 PM
I'm wondering how to make Bitcoin Core "discover" my domain name instead of just the IP address, and how to verify that it really is advertising my domain name to other nodes, instead of the IP address.

You can put
Code:
externalip=my.domain.name
in your bitcoin.conf.

But anyway your node will advertise your IP resolved from domain name.


Title: Re: [0.20.1] How to make my full node advertise domain name?
Post by: pooya87 on October 18, 2020, 04:52:14 AM
under the hood the only thing that your node sends others and involves your address are
- a version message that contains your IPV6 or IPV4 mapped to v6 in it which could usually just be 0s
- an addr message that contains your IP address the same as before.
both of these are stream of bytes and represent and interpreted as an IP address not a domain name.


Title: Re: [0.20.1] How to make my full node advertise domain name?
Post by: bitmover on October 18, 2020, 10:07:59 AM

Do you mean making stats of my wallet available over an API, or stats about the bitcoin network in general? Blockchair hosts some bitcoin network stats (https://blockchair.com/dumps), but download speed is extremely slow. If this is what you're interested in I could collect some of them, I just need to request for an API key to download them at reasonable speeds.

But for now I'm focused on getting my hostname set up for bitcoin core.
I was thinking about using your full node data instead of block chair's
It depends on server capabilities as well.

It is just an idea and probably I will try to make it one day.

I could use that data o something.

Not only blockchain data, but mempool data as well


Title: Re: [0.20.1] How to make my full node advertise domain name?
Post by: NotATether on October 18, 2020, 10:29:09 AM
under the hood the only thing that your node sends others and involves your address are
- a version message that contains your IPV6 or IPV4 mapped to v6 in it which could usually just be 0s
- an addr message that contains your IP address the same as before.
both of these are stream of bytes and represent and interpreted as an IP address not a domain name.

OK that makes sense. I saw domain names on the bitcoin.it wiki page so they must have put the domains of the IPs in there as extra information.

I was thinking about using your full node data instead of block chair's
It depends on server capabilities as well.

It is just an idea and probably I will try to make it one day.

I could use that data o something.

Not only blockchain data, but mempool data as well

My server has 100TB network traffic cap/month so that shouldn't be a problem, I can reserve a few hundred gigabytes of disk space for this. But for now it's not a priority and I'm trying to finish debugging bip39validator first which I haven't been working on the last few days as I'm preparing to travel.


Title: Re: [0.20.1] How to make my full node advertise domain name?
Post by: Jet Cash on October 19, 2020, 07:41:20 AM
Domain names are human readable references to an internet location. All communications between computers need to be made via the IP address ( the location). Should Bitcoin core provide a facility to link via domain names, it would need to resolve this first via your name servers. This would increase complexity for little benefit in my opinion. Unstoppable domains seems to be trying to provide this service. I bought a name from them, but I haven't applied myself to getting this working yet.

If you want to simplify payments to your address, then you could set up a web page for your customers. I've started to do this with Bitcoin Patron (http://BitcoinPatrol.com), and I hope to pick up some payments for content production via this site.