Technical Feedback to Libra Core team

Hello all,

We are NodePacific, the professional validators / nodes for multiple public chains including EOS and other majors. We have been testing Libra testnet and codes related recently and would like to give some feedbacks to the core team and community.

Client&API Suggestions

  1. Since gRPC is not convenient for WEB FRONT-END, WEB FRONT-END Restful API might be better

  2. In order to prevent any affect of the future changes to the development of the BROWSER or CLIENT APPLICATION, it is suggested to design proto files, which are connected between ADMINCONTROL CLIENT and PROTO (LIBRARY).

  3. We will suggest COMMAND for the QUERY of any transactions (VERSION).

  4. The current Libra CLI looks more like a WALLET CLIENT. It is suggested to improve the CLIENT through enabling QUIRIES of all the data on the chain.

  5. BULK TRASNSACTIONS API is suggested

Libra Node Suggestions

  1. Guidance for Libra stand-alone nodes settings, deploying and testing MOVE MODULE&MOVE SCRIPTS are suggested

  2. In order to facilitate testing, we suggest to have a guidance for the Libra Local Multi-NodeTest Network.

Thanks very much and look forward to your feedback

Michael | Node Pacific

1 Like

Hi Michael, there is API for querying a range of transactions. The CLI command is q tr start_version limit [with_events]. If limit == 1, it’s equivalent to query a single transaction.

Hi @Michael_NodePacific, thank you for the comments. Responses below:

  1. There is an open issue on github to add this and we are actively roadmapping and will likely begin work on this.
  2. I’m not sure I understand your suggestion here, can you elaborate a bit?
  3. As @the729 mentioned, this already exists
  4. The current CLI is indeed a wallet client. Can you elaborate on what additional functionality you would like? We are working on full nodes currently which I believe will add the functionality that you are desiring.
  5. I believe this will be covered by full nodes as well, please stay tuned!
  6. We have Move suggestions coming soon
  7. Can you please elaborate what you are looking for here?

Thanks!
Kevin

Thank you, it is helpful~~~~

Sorry for the late reply, some technical issues occurs I cannot post in the forum.

  1. Great, Waiting for the news!
  2. We mean that whether you could put the proto files that libra client used to the new git repository.
  3. Yes, got it. Thank You!
  4. Great, please refer to the below full node functions suggestion
  5. Similar with 4
  6. Great, Waiting for the news!
  7. We mean a guide on how to start a testnet that includes “multi-nodes” and “more validators”

full node functions suggestions:

  • query validator node info (i.e. validator pubkey, current block producer, block producers sequence)
  • batch transaction submit
  • could query data on rocksdb
  • query all p2p peer connections info, (pubkey, ip, port)
  • connect or disconnect from a peer
  • query network staus (i.e. current transaction version, netword_id, current source code version etc.)
  1. The proto files used by the client are already in the git repo. Please look at the admission_control proto files. Admission control is the access point for external parties (which includes the client)
  2. You can run libra_swarm with any number of nodes. Simply pass the -n parameter to specify the number of nodes you wish to run

Thanks for the reply, please find our feedback for below:

  1. The proto files used by the client are already in the git repo. Please look at the admission_control proto files. Admission control is the access point for external parties (which includes the client)

Now only libra repo contains the proto files for Admin Control, and the files distributed in different directories. Using the these files, one needs to download the entire libra repo to find these file. Meanwhile, if these proto files protocol updates (example, adding proto files to a new different directory ), developers need to read source code of libra to debug. :smiley: It is not very developer friendly

  1. You can run libra_swarm with any number of nodes. Simply pass the -n parameter to specify the number of nodes you wish to run

Currently libra swarm can only be implemented for a libra private network in localhost, is it possible to run on multi-host?

In addition, we have another question to ask:

Query account_state API of host “ac.testnet.libra.org” can not be accessed. Is this a system problem? Or it is because server admin made restrictions?

Could any other host access account_state API?