-
Notifications
You must be signed in to change notification settings - Fork 0
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
Goal: onboard Kwil as Node Operator #393
Comments
@truflation/team-tsn-kwil Hey guys, shall we start onboarding you as a TSN node operator? |
Yeah we definitely can. I'm not totally sure if this is the right time to do it, but this is ultimately Truflation's decision to make. My two cents is that the node software itself that is needed for TSN v1 is still under heavy development. The Right now, since Truflation is the only node operator, it is much easier to break the network when these get added. However, if there were multiple node operators, we would need to coordinate each time to do so, which would slow down development speed. Ultimately this is your team's decision, and we're more than happy to go along with whatever you choose. I'm simply raising this in case your team hasn't already considered these factors. On the other side of the coin, running a distributed testnet is always very educational, and is a great dry-run if we are trying to launch soon. We run a distributed testnet for each release prior to release, and it always uncovers something unexpected. |
@brennanjl thank you for your detailed reply. |
@zolotokrylin For dry-running TSN prior to a public launch, setting up a testnet 3-4 weeks ahead of the release should be enough I think. Internally, we set up our testnet 1 week prior to release, but there will obviously be extra coordination needed for TSN, so 3-4 weeks should be enough. The marketing angle is an interesting one that I'm not really equipped to answer. An option could be to run a stable version using what already exists and onboard node operators that way, and have that be distinctly separate from the development that is occurring. This won't be as useful as a "network dry-run", since it won't be a full deployment and it will still retain a lot of validating power for the core TSN team (thus, not making it representative of a true mainnet), but it should help with the marketing angle and community engagement. If this is of interest, I can put together a more in-depth explanation of how it can work. There are some things we can do to allow you to onboard any number of operators easily, while not constraining your network throughput and liveness to their hardware and connections. |
This comment was marked as duplicate.
This comment was marked as duplicate.
@srust99, what's your take here? I agree with @brennanjl that it is better to start coordinating with the node operators 3-4 weeks before our first public (production) release. This release is when we serve customers through the TSN API and replace our website dashboard API with the TSN API. However, as you would like to onboard as many node operators as soon as possible, please let me know your decision here. Thank you. P.S. Meanwhile, I will continue inviting node operators to our Github repo. |
Can we have a quick call tomorrow @zolotokrylin |
@srust99, I just sent an invitation for the call. |
@srust99 Please ping me in DM when you are available. |
@zolotokrylin did you have a call with Stefan about this goal? Any logs? |
Yes. Sorry I didn't leave the log. Here it is: we well push to onboard node operators when we are 3-4 weeks away from TSN production release. Basically after these goals: |
hey guys (@truflation/team-tsn-kwil) |
We might want a shared configuration file for our chain data, correct? As @truflation/team-tsn-kwil is the expert on the configuration, please let me know if sharing a list of node addresses and attaching a subdomain to them is enough for us to connect. E.g. And if this port is enough of what you planned to be public for them to communicate:
We also have other ports, but they can be public or protected based on our own requirements, correct?
|
Hey guys, this is super exciting!
Could you clarify what you mean by this? Do you mean each partner runs a node in their own cloud account, but you have truflation DNS records for each node? |
@outerlook you will need a few things in order for external parties to connect. There is a tutorial for doing this here, but I'll go through it below. What You NeedYou will need to publish two things for somebody else to connect to the network:
A user will need some place that they can copy these from, and they can then use to run their tsn binary. My RecommendationTo make onboarding and future evolution easier, I'd recommend creating a public Git repo that contains this information, as well as some scripts. Within this repo, you would have:
You could also publish your own |
Exactly, just to keep each node decoupled from a dedicated public IP address, having better control over it. Thanks for the tips. I agree that a shared repo would be good. Just to keep everyone on the same page, those are some tasks we must perform and attach to our pipeline:
Currently, we dynamically generate everything from scratch with kwil admin setup commands. |
One concern I have with this approach is that if Truflation has a DNS record pointed to a third party's node, and that third party shuts down their node, Truflation could unknowingly have orphaned DNS records. Depending on the record type, this is a significant vulnerability. It probably makes sense for each node operator to handle assigning domain names to their respective nodes. (e.g. https://truflation.kwil.com, https://truflation.northwestnodes.com). That allows each party to be responsible for their DNS management. You can maintain a list of node IDs and IP addresses that new nodes should first connect to when joining the network. |
@KwilLuke sorry, I misunderstood the previous question. Yes, the intention is to have DNS only for nodes controlled by us, not yours or any third parties The point was just to check if DNS is fine instead of IP per configuration. But thanks for checking it too 🙏 |
@zolotokrylin @markholdex |
@outerlook if the specs are clear, feel free to begin and define the problems. |
Hi @brennanjl, I'm trying to use this step to set up genesis config according to https://docs.kwil.com/docs/admin/setup#updating-genesis-config-with-initial-sqlite-data
but it looks like the command
Edit: here I found another doc about modifying genesis:
The |
@MicBun it appears we have some outdated docs. Thanks for flagging. While we get those updated, I'll help you out manually. You said that you are trying to set up a genesis config, however based on the steps you provided, it seems like you are trying to join an existing network. Can you confirm which one you are doing? |
@brennanjl I'm trying to run a node based on Genesis. Previously it was set up automatically with |
Ah, then yes you are using the right command here:
Then to run it:
This is bad documentation on our end, will get fixed asap. |
@outerlook @MicBun what is the ETA for all the preparations on our side? @brennanjl when do you think you can have the node up and running? |
@markholdex whenever the setup repo is done, we will set it up! If it's ready now, we can do it tomorrow! |
We are closer to being done after everything is set up and we can run TSN nodes from a static genesis, we will begin testing. |
log Although the guide is still in progress, it is available at: |
@MicBun @outerlook does it mean we are pretty much ready to pass the Goal to Kwill? |
Yes, @truflation/team-tsn-kwil is already able to find information on that branch about our nodes to connect. And please share any feedback that you have during this process 🙏 |
@outerlook - just left a review on trufnetwork/truf-node-operator#3. Overall, it is in the right direction. I ran into some issues with the persistent peers; however, I was eventually able to sync a sentry (read-only) node against the TSN testnet nodes using their IP addresses. We will plan on deploying our node and upgrading it to a validator once trufnetwork/truf-node-operator#3 is merged. Does that work for everyone? |
@KwilLuke sounds good. We'll let you know once completed. |
@KwilLuke trufnetwork/truf-node-operator#3 is completed. But we're also changing the domain today to remove i.e. - staging.node-2.tsn.truflation.com
+ staging.node-2.tsn.test.truflation.com If you haven't started tackling it, I'd ask you to wait for my signal to connect to the new domain already from the beginning, which will happen soon |
@outerlook sounds good, we will wait for your signal! |
What are the outstanding Problems? I can see in the description of this Goal that everything is "closed". |
The Kwil team node started syncing a few hours ago. I'll check on it soon and create the validator join request when it's set. Will report back with the public key. |
All ready to become a validator.
The node list will be updated in trufnetwork/truf-node-operator#5. I will take that out of draft as soon as I assign a DNS record to the node. |
@outerlook - just in case it isn't clear, our node is now set up, and we are waiting for you to approve the validator request. |
Approved! Thank you @KwilLuke @jchappelow |
@outerlook Awesome! Should this issue be closed, or do you want to keep it open for additional tracking? |
https://staging.tsn.truflation.com/v0/chain/nodes/count
It's done. Good job to all here! ❤️ |
@srust99 FYI |
"We shall start onboard Kwil as TSN node operator"
Originally mentioned by @srust99
Tasks
tsn-operator
repository tasksnetwork-nodes.csv
file is missing #452tsnd
is not implemented #454tsn
repository tasksOther tasks
tsn-operator
repository is not created #449The text was updated successfully, but these errors were encountered: