Currently, Penumbra Labs runs an RPC at grpc.testnet{,-preview}.penumbra.zone. However, we won't be doing this for a production mainnet. We want to ensure users have choice in their RPC provider and that there isn't a single entity acting as a chokepoint.
For this reason, the extension needs to have the user select their RPC endpoint while they are onboarding onto the extension. This should happen after they input their seed phrase and configure a passphrase. To do this, we'll need:
[ ] JSON configuration data in the extension source with a list of endpoints. Presumably each list item should include:
[ ] The RPC URL itself (eg https://grpc.testnet.penumbra.zone)
[ ] A human-readable name (eg Penumbra Labs Testnet RPC)
[ ] Optionally a logo image for the RPC provider (eg the Penumbra Labs logo)
[ ] A dialog in the user flow after they set their seed phrase that prompts them to select from the list. The order of the list should be randomized on every appearance
[ ] The list should have a special entry at the end labeled "Custom RPC" with free-form user input for the RPC URL.
[ ] The list should have the first item (which is random, because of order randomization) preselected, so that a user who doesn't care about the RPC selection can just immediately click "Next" without having to think about it if they don't want to.
This would also help me with flows around local devnets, switching to preview, etc; it's easier to reset the whole wallet state and be able to set the target chain without having to edit internal constants.
Currently, Penumbra Labs runs an RPC at
grpc.testnet{,-preview}.penumbra.zone
. However, we won't be doing this for a production mainnet. We want to ensure users have choice in their RPC provider and that there isn't a single entity acting as a chokepoint.For this reason, the extension needs to have the user select their RPC endpoint while they are onboarding onto the extension. This should happen after they input their seed phrase and configure a passphrase. To do this, we'll need:
https://grpc.testnet.penumbra.zone
)Penumbra Labs Testnet RPC
)This would also help me with flows around local devnets, switching to preview, etc; it's easier to reset the whole wallet state and be able to set the target chain without having to edit internal constants.