-
Notifications
You must be signed in to change notification settings - Fork 19
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
Use checkpoints + hnsd dns api #32
base: main
Are you sure you want to change the base?
Conversation
internal/resolvers/proc/hns.go
Outdated
func NewHNSProc(procPath string, rootAddr, recursiveAddr string) (*HNSProc, error) { | ||
args := []string{"--ns-host", rootAddr, "--rs-host", recursiveAddr, "--pool-size", "4"} | ||
func NewHNSProc(procPath string, rootAddr, recursiveAddr string, configPath string) (*HNSProc, error) { | ||
args := []string{"--ns-host", rootAddr, "--rs-host", recursiveAddr, "--pool-size", "4", "-x", configPath} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mine as well add -t
as well to start from the hard coded checkpoint at height 136,000 ;-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I misread this line from the PR and thought that -t
would be ignored:
prefix
will overridecheckpoint
if both are used.
Turns out it does help starting from 136k if there's no written file. Added -t
, thanks
Impressive! 5 seconds vs 2 minutes 35 seconds for me at the current height (<181k). Could this be merged and released with new binaries? For anyone who wants to try – I simply followed https://github.com/imperviousinc/fingertip#macos. |
hnsd: use checkpoints
Uses the
-x <prefix-dir>
option of hnsd to store checkpoints on disk. See handshake-org/hnsd#99 for more info.The file is stored in Fingertip's config directory (along with dnssec cert, etc.)
hnsd: use dns api to get sync status
Instead of assuming that hnsd synced after 20 seconds, now the height and progress is fetched from hnsd every second. The tray menu and web page is updated to show the sync % like:
See handshake-org/hnsd#102 for more info.
I'm new to Go so may have missed best practices / easier ways to do things, so feel free to leave any number of comments to change or add your own commits :)