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

Light Client Mode with Main Network Support #284

Closed
Danie0918 opened this issue Sep 18, 2023 · 12 comments
Closed

Light Client Mode with Main Network Support #284

Danie0918 opened this issue Sep 18, 2023 · 12 comments
Assignees
Labels

Comments

@Danie0918
Copy link
Contributor

The main network light client will be released soon and we need to consider support for it when the new version of Neuron is released.

@Danie0918
Copy link
Contributor Author

Danie0918 commented Oct 24, 2023

#200 PRD

【Network settings optimization 】Support for light client main network and optimization of known issues.

  • Requirement Description:
  1. [Bug] Currently there is no restriction on linking users to external nodes here, need to add restrictions like light client nodes.
  2. [Feature] Support for light client main network.
  3. [Feature] Supports main/test network switching for built-in node and light client node.

network_settings_optimization

  • Requirement Contents
  1. Internal node and light client node support manual switching between main and test network by clicking to switch to the corresponding network.
  2. When the currently selected node is an internal node, a popup window is required to report an error when an external node is detected to be enabled.
  • When no external network is added, a pop-up prompt directs the user to add a network to enable the external node.
  • When external nodes have been added, a list of external nodes is displayed for the user to select, and the user can also choose to add new network nodes.
  1. Pop-up window interactions:
  • Pop-ups are only detected as alerts when the user opens the software or when switching to an internal network node.
  • Click to cancel ignoring alerts and still link internal network nodes.
  • Click Confirm only when selecting an external network node or the Add Network option.

@yanguoyu
Copy link

  1. 【Network settings optimization 】 Internal node and light client node support manual switching between main and test network by clicking to switch to the corresponding network.

Should they choose network type when the users change the node data by settings? And, does this directory show the upper directory that includes mainnet and testnet data?
image

  1. 【Network settings optimization 】 Pop-up window interactions:Click to cancel ignoring alerts and still link internal network nodes.

Currently, if the user starts an external node that uses port 8114, do we need to start with another port and change the display of the internal network URL?

  1. 【Network settings optimization 】 When no external network is added, a pop-up prompt directs the user to add a network to enable the external node.
    When external nodes have been added, a list of external nodes is displayed for the user to select, and the user can also choose to add new network nodes.

Should we only show the network that its URL equals the started ckb node URL?

  1. Does the light client node also use these interactions? currently, the light client node can use an internal node.

@Danie0918

@Danie0918
Copy link
Contributor Author

Should they choose network type when the users change the node data by settings? And, does this directory show the upper directory that includes mainnet and testnet data?

The data of different network types of the same node are under the same path by default, however, users can change it manually and change the path in relation to the network type.

Currently, if the user starts an external node that uses port 8114, do we need to start with another port and change the display of the internal network URL?

Yes, need to use a different port and modify the front-end presentation.

Should we only show the network that its URL equals the started ckb node URL?

I'm not so sure about that. Do you have any ideas? @Keith-CY

  1. Does the light client node also use these interactions? currently, the light client node can use an internal node.

Yes, light client node is also internal node.

@Keith-CY
Copy link
Member

Should we only show the network that its URL equals the started ckb node URL?

I'm not so sure about that. Do you have any ideas? @Keith-CY

Not bad, when there isn't a network matches the URL, users will be directed to add one

@Kirl70
Copy link

Kirl70 commented Oct 25, 2023

@yanguoyu
Copy link

  1. Saving the ckb node path as ckbDataPath_${nodeType}, and saving the light client data path as testnetLightDataPath_${nodeType}
  2. Only start ckb or light client with monitor when the selected node is readonly. If an external node is running, send a message to UI process and notify users.
  3. Add retry start ckb node with other port.

@yanguoyu
Copy link

yanguoyu commented Nov 4, 2023

@Keith-CY
Copy link
Member

Keith-CY commented Nov 5, 2023

The cancel button in the dialog is confusing, it launches the internal node instead of an action of cancel e.g. do nothing until users select another network option.

I would suggest using a clear label, e.g. connect to the internal node, or launch the internal node

@Keith-CY
Copy link
Member

Keith-CY commented Nov 6, 2023

The cancel button in the dialog is confusing, it launches the internal node instead of an action of cancel e.g. do nothing until users select another network option.

I would suggest using a clear label, e.g. connect to the internal node, or launch the internal node

cc @Danie0918

@Danie0918
Copy link
Contributor Author

The cancel button in the dialog is confusing, it launches the internal node instead of an action of cancel e.g. do nothing until users select another network option.

I would suggest using a clear label, e.g. connect to the internal node, or launch the internal node

  1. Change 'Cancel' to 'Ignore external node'.
  2. Remove option prioritization and keep leveling.

@yanguoyu @Kirl70

@Kirl70
Copy link

Kirl70 commented Nov 6, 2023

The cancel button in the dialog is confusing, it launches the internal node instead of an action of cancel e.g. do nothing until users select another network option.
I would suggest using a clear label, e.g. connect to the internal node, or launch the internal node

  1. Change 'Cancel' to 'Ignore external node'.
  2. Remove option prioritization and keep leveling.

@yanguoyu @Kirl70

The design draft has been adjusted.
image

@Keith-CY
Copy link
Member

Keith-CY commented Nov 6, 2023

Demonstration on YouTube: https://www.youtube.com/watch?v=Vl2LGRNqnvk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

No branches or pull requests

6 participants