Skip to content

Instantly share code, notes, and snippets.

@geastwood
Last active March 15, 2021 11:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save geastwood/fe0ea4e22be515e8a5497ee0aa6f4b07 to your computer and use it in GitHub Desktop.
Save geastwood/fe0ea4e22be515e8a5497ee0aa6f4b07 to your computer and use it in GitHub Desktop.

Governance App Milestone 1

With this document, we intend to communicate with the community about the Governance App development progress (Milestone 1, original proposal can be found here). This document is divided into the following sections to allow reader to quickly navigate:

  1. Summary
  2. Detail rundowns according to tasks in milestone1
  3. Next steps
  4. Resources

Summary

Firstly, we are thrilled to announce we have fulfilled all the tasks in milestone 1 as presented in the original proposal. However, it is not a smooth ride. We have experienced quite some challenges along this way, some of which have caused a delay in delivering this milestone than we expected. We want to highlight the most notable ones here to provide councillors and community members better context.

The first challenge is that we have underestimated the amount of work to bootstrap a functional app. The tasks listed in milestone 1 made the assumptions that basic functionalities are already available (functions such as import account, switch network, present account data, etc.). This means in order to have a presentable app, we have to develop additional functionalities as foundational work.

One of the technical challenges is to bring polkadotjs into React Native environment. Although the process is somewhat time consuming, it's largely manageable. However, upon implementing Tx signing via QR code, we have been blocked for approximately a week. And here is the GitHub issue for reference. Luckily with the help from the community, it is solved at the last.

Another challenge worth mentioning is that onboarding another dev to Polkadot/Kusama ecosystem and get up to speed in development is not a trivial matter.

Finally, the Binance listing of Litentry incurred quite some work for the entire team from the end of January to mid of February 2021.

Detail rundowns on Milestone 1

In this section, each task will be individually presented with either code references or app screenshots with a reasonable description.

1.1 Design Register Backend (BE) to be able to verify Email, riot, and Twitter data

  • Becoming a registrar and providing a optimised identity related services has been part of Litentry's mission since the beginning. And we designed the this service to provide automatic verifications for Email, Riot and Twitter (only offer Reasonable judgement).
  • The Referendum of including this Registrar on Kusama network has passed (https://kusama.polkassembly.io/referendum/104)
  • The code is open sourced and hosted here.
  • The referendum includes a detailed description of the implementation.

1.1 Implement in BE of chain monitoring on identity events

  • This part of the function is currently embedded in the registrar service.
  • For more information, please refer the the Registrar repository
  • Here is the code reference

1.2 Implementation of submission of judgment based on the verified result

  • Based on verification result, the registrar service can provide corresponding results
  • Here is the code reference

1.2 Add database layer to BE to persist processed verification

  • We have introduced the mongodb to the Registrar service
  • With database support we are able to offer better user experiences in the following aspect:
    • Provide user with good feedback on what is the current state of verification
    • Only provide judgement when all identity fields are verified (e.g. Email and twitter are both verified)
  • Here is an example of the code reference

1.3 Able to scan address from different source and display its Identity data (e.g. Judgment status)

[Screenshots and Videos demo]

1.3 Support signing Tx with QR code (integration with Parity Signer and other offline wallets)

[Screenshots and Videos demo]

1.4 Design UI/UX to allow user submit identity Info (via forms)

[Screenshots and Videos demo]

1.4 Allow user to request judgment and display its status

[Screenshots and Videos demo]

Other features (Not defined in tasks of Milestone 1)

  • Already start testing on Push Notifications, which is part of Milestone 2, the repository can be found here.
  • Support account input with both manual input and QR code scanning
  • Able to display user's balance in App
  • Able to display a view of available registrar services of either Polkadot or Kusama

Next steps

  • support more Tx, such as Voting related extrinsics
  • Allow internal testing via TestFlight and Play store internal channel
  • Modify some tasks in milestone 2 based on the insights gathered and submit milestone 2

Resources

  1. (Motion #49)[https://polkadot.polkassembly.io/motion/49]
  2. (GitHub: Governance App)[https://github.com/litentry/litentry-app]
  3. (GitHub: Push notification repo)[https://github.com/litentry/push-notification]
  4. (GitHub: Registrar)[https://github.com/litentry/litentry-registrar]
  5. (Referendum of becoming a Kusama registrar[https://kusama.polkassembly.io/referendum/104]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment