DNSChain IPv6 Support

okTurtles Forums DNSChain DNSChain IPv6 Support

This topic contains 10 replies, has 2 voices, and was last updated by  greg 3 years, 5 months ago.

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #704

    Hi,

    I'm working on a project which will include DNSChain, and will be a major part of it. More info here: https://nxtforum.org/general-discussion/all-in-one-nxt-supernet-freemarket-meshnet-raspberry-pi-device/

    My Github address: https://github.com/satindergrewal

    I want to know if there's any progress towards IPv6 support in DNSChain. I'm still new to CoffeeScript, but trying to understand it as much to my ability. Where do I look for the code which handles A record queries. It must be the similar code to implement AAAA, with the conditions to check if the IP is IPv6 or not. Could there be any other complications in implementing IPv6 in DNSChain? Has it been tried to implement before in DNSChain? If so, what were the issues?

    Cheers,
    Satinder

    #883

    greg
    Keymaster

    Hi,

    I'm working on a project which will include DNSChain, and will be a major part of it. More info here: https://nxtforum.org/general-discussion/all-in-one-nxt-supernet-freemarket-meshnet-raspberry-pi-device/

    Wow, that looks very cool! 🙂

    My Github address: https://github.com/satindergrewal

    I want to know if there's any progress towards IPv6 support in DNSChain. I'm still new to CoffeeScript, but trying to understand it as much to my ability. Where do I look for the code which handles A record queries. It must be the similar code to implement AAAA, with the conditions to check if the IP is IPv6 or not. Could there be any other complications in implementing IPv6 in DNSChain? Has it been tried to implement before in DNSChain? If so, what were the issues?

    We haven't tried implementing IPv6 in DNSChain.

    As far as where to look, there are a few places I would recommend:

    • src/lib/blockchain.coffee — this is the template that's used when adding support for a new datastore (like NXT, Namecoin, etc.). Search for a comment with “IPv6” in there.
    • src/lib/dns.coffee — although no IPv6 comments here, it's a very important file as it's the high level file responsible for most DNS stuff (the other being the dnsHandler key in blockchain.coffee.

    The low-level DNS stuff is handled by the native-dns (AKA node-dns) module. That module actually relies on another module called native-dns-packet.

    Hope that helps! Let us know if you have any other questions.

    #884

    Hi,

    I'm working on a project which will include DNSChain, and will be a major part of it. More info here: https://nxtforum.org/general-discussion/all-in-one-nxt-supernet-freemarket-meshnet-raspberry-pi-device/

    Wow, that looks very cool! 🙂

    My Github address: https://github.com/satindergrewal

    I want to know if there's any progress towards IPv6 support in DNSChain. I'm still new to CoffeeScript, but trying to understand it as much to my ability. Where do I look for the code which handles A record queries. It must be the similar code to implement AAAA, with the conditions to check if the IP is IPv6 or not. Could there be any other complications in implementing IPv6 in DNSChain? Has it been tried to implement before in DNSChain? If so, what were the issues?

    We haven't tried implementing IPv6 in DNSChain.

    As far as where to look, there are a few places I would recommend:

    • src/lib/blockchain.coffee — this is the template that's used when adding support for a new datastore (like NXT, Namecoin, etc.). Search for a comment with “IPv6” in there.
    • src/lib/dns.coffee — although no IPv6 comments here, it's a very important file as it's the high level file responsible for most DNS stuff (the other being the dnsHandler key in blockchain.coffee.

    The low-level DNS stuff is handled by the native-dns (AKA node-dns) module. That module actually relies on another module called native-dns-packet.

    Hope that helps! Let us know if you have any other questions.

    Thanks for your reply Greg.

    Will look into these files.

    Cheers,
    Satinder

    #885

    Hi Greg,

    The low-level DNS stuff is handled by the native-dns (AKA node-dns) module. That module actually relies on another module called native-dns-packet.

    So, does that mean the IPv6 stuff is available in these libraries, but only part that needs to be done is in DNSChain? Or these two also might need some update?

    #886

    greg
    Keymaster

    The low-level DNS stuff is handled by the native-dns (AKA node-dns) module. That module actually relies on another module called native-dns-packet.

    So, does that mean the IPv6 stuff is available in these libraries, but only part that needs to be done is in DNSChain? Or these two also might need some update?

    I honestly don't know whether they need updating or not. They do support the AAAA record I believe, so give it a try.

    #887

    Hi,

    Just finished coding, troubleshooting and testing of IPv6 support in DNSChain. To my tests it seems to be working fine.
    Uv3RVZp.png

    But, I still doubt if at some point there are any errors or bugs. There shouldn't be, but still it's good if people could test and leave some feedback. Replace this file in your DNSChain installation to enable IPv6 support in DNChain:
    https://github.com/satindergrewal/dnschain/blob/master/src/lib/blockchain.coffee

    Add this file along with nxt.coffee to enable .hype DNS:
    https://github.com/satindergrewal/dnschain/blob/master/src/lib/blockchains/hype.coffee

    Once have these files placed on correct place, restart DNSChain, and query for mypi.nxt for both IPv4 and IPv6 queries. Example:
    dig mypi.nxt
    dig mypi.nxt AAAA

    IPv6 isn't pointing anywhere. It won't reply for ping.

    Let me know how did it go with your tests.

    Cheers,
    Satinder

    #888

    greg
    Keymaster

    Can you send a pull request? It will make it easier for me to see what the differences are and review them.

    #889

    Can you send a pull request? It will make it easier for me to see what the differences are and review them.

    I'm new to Github. Hope I did it correct: https://github.com/okTurtles/dnschain/pull/159

    MeshNET websites are accessible in tests:
    https://twitter.com/satindergrewal/status/614639641723940864

    https://nxtforum.org/general-discussion/all-in-one-nxt-supernet-freemarket-meshnet-raspberry-pi-device/msg185997/#msg185997

    #890

    greg
    Keymaster

    Awesome, great stuff Satinder! 🙂

    I'll get to this ASAP (tomorrow am teaching, but should have time after that).

    #891

    Awesome, great stuff Satinder! 🙂

    I'll get to this ASAP (tomorrow am teaching, but should have time after that).

    Thanks!

    #892

    greg
    Keymaster

    Oops, sorry, the days are blending together. Will look into this tomorrow (Tuesday). Hope to merge it same day as well, but if not then sometime this week.

Viewing 11 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.