Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support NOTIFY and change SOA serial #2

Open
buffrr opened this issue Oct 22, 2021 · 0 comments
Open

Support NOTIFY and change SOA serial #2

buffrr opened this issue Oct 22, 2021 · 0 comments

Comments

@buffrr
Copy link
Owner

buffrr commented Oct 22, 2021

The plugin should give a consistent SOA serial across multiple hsd instances.

I'm thinking the serial should be:

serial = floor(block height / 36)

So every zone version reflects a snapshot of the urkel tree. For example, if the block height = 90000, the SOA serial would be 2500.

Chain Reorgs problem:

If there is a reorg the exact same serial may give two different zones!! So the plugin should store the zone file and wait a few more blocks for confirmation BEFORE sending NOTIFY or updating SOA.

Example:

Block height = 90000
Current SOA serial = 2499, zone file stored 2499.zone (published)
Next SOA serial = 2500, zone file stored 2500.zone (inactive)

After maybe 12 confirmations/blocks

Block height = 90012
old SOA serial= 2499, zone file stored 2499.zone (removed)
Current SOA serial = 2500, zone file stored 2500.zone (published)

This solution requires the plugin to store two zones internally to keep SOA serial consistent and increasing order.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant