Public RPC node incentives

You are consenting if you have wss properly configured. I think we can retrieve more info.

If you’re a pro-user, you will be able to use the Node Management interface to add your testnet node.

We can create an incentive structure: if you want to remain connected to this node, consider donating X amount of ZNN or QSR. This can be hardcoded into the wallet. I’ve used the term donate because you cannot request funds without compromising privacy.

If we agree with this statement, then I think Option D might be the way to go, though there could be some end-user confusion if there are gated/paid nodes displayed in the list.

Honestly, I’m between Options B and D.
Maybe we do both.

Also, consider setups that load balance. I have trouble mapping 0x’s wss service automatically with my node crawling algo.

1 Like

Do I need to change something?

I’ll have to confirm some IPs with you this week.
Or you could provide an overview of your setup.

Do you think your load-balancer IP is directly peering with other Zenon nodes?

The LB only handles 35997 and 35998. The nodes only receive 35997,8 from the LB.

35995 is handled by the nodes directly. They both have their own public IP and TCP and UDP are open directly to the nodes. 35995 does not run inbound or outbound through the LB.

I’m not sure if any crawling algo will be able to find your wss endpoint automatically.

Guys, I think we should have some public nodes available to SYRIUS. We will eventually figure out how to incentivize them. @sumamu has a pretty good idea to do that. In the meantime, why don’t we offer a list of nodes in syrius. Maybe it pulls from a json file that is hosted on HC1 and HCT. Nodes need to submit a PR to those repos to be added to the list.

We can add a disclaimer about selecting a public node. And we can add a link to zenon.info that explains the nodes, the importance of running their own node or using the embedded node in SYRIUS. But giving people an EZ button will help adoption IMO.

Thoughts?

1 Like

I don’t see an issue with adding these as an optional syrius setting, not the default behavior, obviously. That said, I can also see the argument against it. Mainly, most users will be probably using either a chrome extension or the syrius mobile wallet, which should probably come with a list of public nodes built in, and a public node as a default setting, removing the need for desktop syrius to include them.

1 Like

Indeed, the Affiliate Program will start providing Incentives for public nodes soon.
ETA: next week.

4 Likes

I’ve added support for community public nodes.

Users will be able to connect to a “trusted” community node instead of waiting for the embedded node to sync.

We can still sync the embedded node in the background and switch to it after it’s fully synced for a better user experience.

How to add your public node?

  • Open lib/utils/global.dart
  • Add your node in the kDefaultCommunityNodes list
  • Open a Pull Request

If 2/2 reviewers accept the PR, your node will appear in Syrius in the Node Management section.

Notes:

  • Your node must support Secure WebSockets wss://
  • Your node must have >99% uptime
  • Your node must have enough resources to serve a large number of users

I’ve also added a shuffle before showing the nodes in order to prevent unfair competition.

1 Like

BIG BIG BIG brain!!!

Looks like the HC1 node is in your v0.0.7 repo.

To be clear, I think your latest SYRIUS PR needs to be accepted before users can add their node. I think a few devs are looking at the code now.

1 Like

Only devs can populate the kDefaultCommunityNodes list and it must be approved by 2 reviewers to get into the final release. Same goes for removing nodes from that list.

2 Likes

Nice work here!

3 Likes

Is this the configured behavior in your branch?
Can users opt out?

IIRC Sparrow requires node configuration upon first run. That type of UX seems suitable.

I’d be leary of setting public node as default. Perhaps that type of UX could be default for a “third party” wallet that has it’s own brand?

No. The embedded node must be manually started.

1 Like

If we want to onboard new users we must do it with what we already have. Development pace is already slow and dev time is limited. We don’t want to waste it.

1 Like

Can the Zenon Hub nodes be included with the upcoming release or should I wait and make a PR after it’s been merged?

The nodes are:
wss://node.zenonhub.io:35998
https://node.zenonhub.io:35997

Those are for syrius 0.0.7 right? Can I include them in the zenon.org list?

@digitalSloth I just requested the addition of mine into SYRIUS

2 Likes