animo / aries-mobile-sdk

Apache License 2.0
8 stars 2 forks source link

Determine changes we need to make to external dependencies to run in react native #34

Open TimoGlastra opened 2 years ago

TimoGlastra commented 2 years ago

TODO

image

Context

VC Library

Transmute VC libraries

https://github.com/transmute-industries/verifiable-data

From what I can tell RN is not supported. There are definitely dependencies that don't work in RN so we would need to determine the scope of required changes.

Digital Bazaar VC libraries

https://github.com/digitalbazaar/vc-js

RN not supported out of the box, but they have React Native branches for the main repos. From a comment 17 days ago they're stuck in discussion:

Stuck in discussion, with regards to what we're doing with TypeScript and ReactNative, across our libs.

If initial RN support is already there this may be a good set of libraries to use. They already have Node.JS and browser support, so we may need to put in a bit of effort to finish the RN support.

Downside to me about the Digital Bazaar libraries is that they're not using TypeScript for their packages. IMO for a library that plays such an essential role in the framework and we probably have to make contributions to in the future not having a TypeScript codebase feels like a burden. But as the comment above suggests, they're having discussions about it.

Sphereon VC libraries

https://github.com/Sphereon-Opensource/rn-vc-js

The Sphereon VC libraries are a fork of the Digital Bazaar VC libraries. The name contains RN explicitly so I'm not sure if they are ditching the browser and Node.JS support. I'm a bit hesitant of adopting a fork, especially if Digital Bazaar is already working on RN support.

They do however have some signature suites specifically for RN that I haven't seen yet for Digital Bazaar. I think initially we're interested in Ed25519Signature2018 and the BBS+ 2020 signature suites.