Looking for ideas about what to include in a PRISM Wallet similar to Metamask

Hi everybody,

I have always wanted to have a PRISM Wallet like Metamask, which could allow any website to interact with the PRISM ecosystem, I feel like this was a key piece that led to the Ethereum adoption, having something in similar in PRISM should likely help on getting adoption.

On this topic, I’m planning to submit a proposal to Catalyst Fund9 next week, I came to ask about what kind of features the community would be interested in.

These are the general requirements I’m interested in:

  • Allow to create/recover an account (based on a mnemonic seed).
  • Allow to manage multiple accounts (DIDs), so that every interaction with websites uses a different identity.
  • Allow to manage multiple backend networks, so that can switch between testnet/mainnet/local networks.
  • Allow websites to interact with prism by exposing an API that all websites can interact with.
  • Basic support for issuing/receiving/verifying PRISM credentials.
  • Basic support for Single Sign On (SSO), so that you can use your wallet to log into a website (likely based on Self-Issued OpenID Connect Provider DID Profile v0.1 (DEPRECATED)).

These are some details I’m unsure about:

  • What should be included in the first iteration? Related to usefulness, I’d bet on SSO because it is simpler to deal with DIDs than to deal with Credentials, on the other hand, I’m not sure about SIOP state and its overall compatibility with PRISM’s current state, which makes me worry on requiring to go with a custom solution instead.
  • Related to credentials, given that those include private information, the data can’t be retrieved from Cardano, if the wallet supports these, recovery won’t be possible unless we allow backups either to a server or to files, I’m also unsure on how exactly the UI can look like for creating credentials.

If you like to see a similar demo on what I’m talking about, the Atala PRISM - full demo show cases the internal PRISM wallet which targets institutions, the Wallet I want to build targets individuals.

Anyway, any comments would be appreciated.

Thanks.

3 Likes

Can we first start at rough timelines about public visibility into details without sacrificing our identity (open source code, architecture, granular details/specs for public viewing, implementation technicalities and integration with chain), as it has been asked for over years and the tone of replies havent really changed (cant jump to adoption/etc without basics, it’s been announced to be close to ready for months).

1 Like

Just a few examples:

IOHK does not have enough funds of their own and needs to apply for Catalyst funds?

1 Like

Oh, I should have clarified that this is something from my own interest, I do not work for PRISM anymore.

Given that I’m out of the PRISM team, I can’t comment on this topick, I’m just like you and others, hoping that something gets public soon, otherwise, I’d have a hard time building any tool on top of PRISM.

1 Like

Oh, sorry! (Perhaps, we should get that “IOHK Team” badge removed, then. It sometimes may incite a little criticism. :grin:)

1 Like

While this if out of the topic, the truth is that I did not add the badge myself, hence, I don’t know how to remove it.

On the points from @alexis.hernandez about a PRISM wallet, there is a lot of work going on funded by Project Catalyst. The main credential wallet effort is RootsWallet (RootsID.com - RootsWallet). You should reach out to that team (including Rodolfo Miranda and Lance Byrd). There is also an open-source CLI wallet that has already been released (GitHub - roots-id/wal-cli: CLI ID Wallet) – not suitable for production applications, but good for testing PRISM applications.

On availability of PRISM SDK, there does seem to be some progress. IOG are doing a good job of providing SDK access to participants in the PRISM Pioneer Program, and communicating about associated technical issues. We are releasing a working testnet application in next week or so based upon this. My understanding is that an open source release of PRISM is still hoped to happen soon, but that there have been some issues about proprietary code dependencies in the PRISM repo that need to be resolved before it can be open-sourced.

Whilte RootsWallet is a very interesting project, as far as I understand, its current scope covers mobile apps while I’m interested in getting a browser extension built.

Similarly, this is different, I really hope that PRISM releases their internal CLI soon.

I’d maybe use Eternl, Typhon, Nami, … as an example in Cardano land rather than Metamask. Or is there anything specific to Metamask that “our” wallet apps cannot do up to now?

Do you know if there are any plans to standardise such an API (similar to https://github.com/cardano-foundation/CIPs/tree/master/CIP-0030) so that there can be lots of wallet apps to choose from and consuming apps can easily connect to all of them?

As I understand, Metamask was the first wallet in the market allowing websites to interact with Ethereum.

Given that there is no browser extension supporting PRISM, none of our wallet apps can provide a way for websites to interact with PRISM.

As far as I’m aware, there isn’t anything there, I believe that once we get a browser extension supporting this use case, we could better understand on what’s required to potentially provide a decent spec.

1 Like

Actually the point should stand regardless of whether we’re from IO, in absence of knowing such details , ideas can be quite incomplete. The fact that you were part of project before - yet , are not in any better position about such details makes me worry heaps more tbh (especially when treasury funds keep being distributed to a category dedicated to solutions built on around prism)

Don’t get me wrong, I know that many were hoping that it would have been public by now (including me). I’m confident that parts from PRISM will become public sooner or later, the team is taking its time mainly due to other priorities.

Sorry for being captain obvious here but I think anyone reading this might want to know why you quit PRISM and the IOHK team. Without violating any NDA you’re under could you give a one-liner of why you left to build a PRISM enabled wallet independently?

I stayed for 4 years at IOHK, since we started working on PRISM, I was keen to write any app on top of it, we actually started a chrome wallet which targets institutions but it never got the deserved priority. By that time, I got into a position where a good chunk of my week required me to be meetings or doing non-coding work. I decided to quit and focus on my own dev company.

PRISM team knew that I wanted to build apps on to of PRISM, they actually suggested me to submit proposals to catalyst, after having the idea in my head I decided to run this wallet idea with the community. It is worth mentioning that I asked the PRISM team for permission to use this idea because it has many common areas with the internal chrome wallet, they agreed that I’m good to go.

I wasn’t planning it this way when I resigned, it is hard to work on a project for many years and never be able to actually use it for something useful, that’s why I’d like to build an app on top of PRISM, I’m interested in the wallet because I feel it is such a key piece, many people talk about PRISM adoption or having your PRISM identity everywhere, this won’t happen if developers have a hard time integrating with PRISM.

For example, someone posted an idea on catalyst about using Cardano wallet to sign PDFs, I’m thinking that I could change my original idea to deal with signing binary files instead.

1 Like

Absolutely kick ass and ballsy, if I may be so bold.

Those of us that truly enjoy making software often fail to have the communication skills or patience needed for legitimate business needs. We of course know why we are required to attend meetings, feasibility studies, technical reports, supporting RFI, RFC, COA, IPM, etc but the reality is we would rather be talking to our compilers and banging away on code than making the necessary documentation for a higher up financial decision.

It is the nature of employment at any for profit corporation and while it has benefits I often wonder how much more efficient it would be to train a CNN model for various SDLC process and simply abolish meetings, managers, and whatnot entirely. Basically if you don’t have enough data to make a decision then prioritize collecting more data points otherwise trust your engineers to make you something awesome because that is what we WANT to do …

My developer utopia: Give me a goal with a date and you fire me if you don’t like the results by that date but if you interrupt me, change goal, or change deadline then I fire you :smiley: