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

Use checkpoints + hnsd dns api #32

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

rithvikvibhu
Copy link
Collaborator

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:
image
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 :)

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}
Copy link
Collaborator

@pinheadmz pinheadmz Feb 19, 2023

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 ;-)

Copy link
Collaborator Author

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 override checkpoint if both are used.

Turns out it does help starting from 136k if there's no written file. Added -t, thanks

@handshake-enthusiast
Copy link

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.

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

Successfully merging this pull request may close these issues.

3 participants