How can a user running their own lightwalletd instance join the cluster?

Are the lightwalletd instances listed in Zashi all ECC provided? How can a user running their own lightwalletd instance join the cluster?

Is there a DNS mechanism in place to provide clients with a list of publicly available servers?

I vaguely recall a forum topic regarding this topic but couldn’t find it. My apologies if this has already been discussed.

Thanks

2 Likes

As seen here

Here is one way to connect a local lwd/zainod instance to most zcash mobile wallets:

I have confirmed this works in my personal setup running on a raspi5

3 Likes

Lightwalletd instances are currently hardcoded in wallets. AFAIK none of the listed in Zashi are provided by ECC.

Ideally yes, we should have an index of sorts of lightwalletd servers. The tricky part is how to manage such a list in a decentralized manner.

1 Like

That is correct. We do not run lightwallet infrastructure.

How was the default list of servers determined for Zashi?

Does Zashi contain functionality to obtain a list of lightwalletd servers via DNS similar to how the Zebra is bootstrapped?

Seems to be hardcoded in the source zashi-android/ui-lib/src/main/java/co/electriccoin/zcash/ui/common/provider/GetDefaultServersProvider.kt at 54962c2b9a133eb084dd729a3117afde63c073c0 · Electric-Coin-Company/zashi-android · GitHub

I don’t think a DNS seeder would work for this. To make the TLS connection you need the hostname of the server, not just the IP. So you would need something that returns a list of hostnames… which is kinda possible with DNS, but is not compatible with how TLS works.

The DNS seeder used by Zebra wouldn’t work but this could be done with TXT or SRV records.

Using TXT will provide a list of host names:

bootstrap.example.com. IN TXT "lwd1.example.net lwd2.example.net lwd3.example.net"

SRV records could provide a host name and port:

_service._tcp.bootstrap.example.com. IN SRV 10 60 443 lwd1.example.com.
_service._tcp.bootstrap.example.com. IN SRV 10 20 9067 lwd2.example.com.
1 Like

Both zecrocks and zcash-infra servers were funded by Zcash community grants. They’ve done great and are the defacto public community servers. The ones that a particular wallet lists or allows to be used is a wallet design choice. Zkool, Ywallet, eZcash and Zingo are other wallets with which to compare.

1 Like

I think you can see public servers here and there’s a way to join that list as well.

1 Like