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

docs: finality provider setup and registration for users #375

Closed
wants to merge 4 commits into from

Conversation

samricotta
Copy link

@samricotta samricotta commented Nov 12, 2024

Summary

With testnet 5 coming up we need information for developers to join the network. This doc explains the Finality Providers setup.

@samricotta samricotta marked this pull request as draft November 12, 2024 16:00
@samricotta samricotta marked this pull request as ready for review November 12, 2024 16:32
@samricotta samricotta marked this pull request as draft November 12, 2024 20:50

The following graphic demonstrates the interconnections for parts of the above
programs.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Insert new graphic when ready

@samricotta samricotta marked this pull request as ready for review November 12, 2024 20:51
@samricotta samricotta changed the base branch from main to sam/bbn-test-5 November 12, 2024 20:58
Copy link
Member

@filippos47 filippos47 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to split the EOTS and FP doc like before? This is a pretty big doc to read.

Adding some initial comments.

It'd also be useful to include monitoring sections for both programs, like here.

and can operate on standard mid-sized machines running a UNIX-flavored operating
system. It consists of the following programs:

- _Babylon full node_: An instance of a Babylon node connecting to the Babylon
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line breaks - same for lists on other parts of the doc :)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah yes chucked it into the 80character script :/

stakers, and can earn commission from the staking rewards denominated in Babylon
tokens.

The finality provider toolset does not have any special hardware requirements
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will soon change as we're working on a secure keyring setup for EOTS manager.
We could include a note for this, as it's a very common question by collaborators.

~/.profile
```

## Install Babylon Binary
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about pointing to the babylond guide for the babylon node installation, instead of re-writing everything?

Copy link
Member

@Lazar955 Lazar955 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm! Overall well-written content-wise from my perspective. But you should reformat sections bellow:

configuration ...
```

If you're having issues, you might not have successfully saved in your `gopath`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If you're having issues, you might not have successfully saved in your `gopath`
If you're having issues, you might not have successfully saved in your `$GOPATH`


If you're having issues, you might not have successfully saved in your `gopath`

If it hasn't saved successfully in your `gopath` then it might have saved in the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If it hasn't saved successfully in your `gopath` then it might have saved in the
If it hasn't saved successfully in your `$GOPATH` then it might have saved in the

terminal with the following command.

```shell
wget https://github.com/babylonlabs-io/networks/raw/main/bbn-test-5/genesis.tar.bz2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I get:

wget https://github.com/babylonlabs-io/networks/raw/main/bbn-test-5/genesis.tar.bz2
--2024-11-13 19:27:38--  https://github.com/babylonlabs-io/networks/raw/main/bbn-test-5/genesis.tar.bz2
Resolving github.com (github.com)... 20.205.243.166
Connecting to github.com (github.com)|20.205.243.166|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2024-11-13 19:27:39 ERROR 404: Not Found.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah yes because this isn't the correct link yet ill put in a reminder to change

We can use the basic start command below:

``` shell
fpd start \ --home ./fp \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
fpd start \ --home ./fp \
fpd start --home ./fp

creation process:

``` shell
2024-11-08T08:41:54.901105Z info successfully connected to a remote
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a bit unreadable with linebreak at 80

- Creates a Babylon account to receive staking rewards

``` shell
fpd create-finality-provider \ --daemon-address 127.0.0.1:12581 \ --chain-id
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: format this

"description": {
"moniker": "MyFinalityProvider", "website":
"https://myfinalityprovider.com", "security_contact":
"[email protected]", "details": "finality provider for the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this as well

@samricotta
Copy link
Author

Would it make sense to split the EOTS and FP doc like before? This is a pretty big doc to read.

Adding some initial comments.

It'd also be useful to include monitoring sections for both programs, like here.

So this one is difficult because we wanted to change the structure of the old docs to avoid going back and forth between the pages. I found this personally pretty confusing and prefer a straight forward instructions where I can find my place. As long as there is a table of contents (which I think I might be missing) then I think it is good. Otherwise we could separate the EOTS and FP into two separate readmes in the finality provider folder? Anyways lmk your thoughts!

When a finality provider is created, it's associated with two key elements:

**a) BTC Public Key:** - This serves as the unique identifier for the finality
provider. - It's derived from a Bitcoin private key, likely using the secp256k1
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix the formatting

@vitsalis
Copy link
Member

Shouldn't this be in the finality provider repository?

@@ -0,0 +1,591 @@
## Introduction
Copy link
Author

@samricotta samricotta Nov 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: add a table of contents and add sentence on how FPs must register after chain launches and launch the finality provider program

@vitsalis vitsalis self-requested a review November 14, 2024 13:30
./build/babylond
```

## Setup your node, home directory and configure
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The node setup instructions should not be in the finality provider setup guide. Indeed, we do need to have documentation on how to set up a node, but this document is not the place. I recommend that in this document we note that the finality provider program needs to be connected to a Babylon node with it being highly recommended for the finality provider to set up their own one. This guide should be in the networks repository as it is network specific.

eotsd init --home <path>
```

#### Add an EOTS key
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should specify to the reader that they have the option to either create a new EOTS key or import an existing one and provide instructions for both cases.

A phase-1 finality provider reading this guide will be instructed to create a new key instead of using the one for which they have all the stakes delegated for phase-1. Let's explore what exactly finality providers have after completing their registration and phase-1 operation and make sure that the guide reflects support for their effective transition

@samricotta samricotta closed this Nov 15, 2024
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.

4 participants