No wallet integration for web applications

I have asked about wallet integration for web applications, specifically for Yoroi.
So far the only answer I have received was:

A while ago, Seb mentioned it (interaction w/Web3) was on the roadmap for Yoroi for example…

and

there is NO release date announced, once there is it will be known in @emurgo channel for Yoroi wallet

From this I conclude that wallet integration will be the bottleneck that the Cardano community will have to wait for before using smart contracts in a decentralized and user friendly way. This feature has not been developed in paralel to the release of Alanzo.

Is there any way to circumvent this delay? I assume nobody will (or should) have to provide their private key using a new wallet client set up by a dApp developer, just to be able to interact with a smart contract.

I’m frustrated I will not be able to provide a real product to users as soon as Alanzo hits the mainnet. I hope I am simply overlooking something. Please share any knowledge you have on when ADA holders can expect to be able to connect their wallets and use smart contracts through a web application.

5 Likes

In his Youtube video Charles mentions that wallet back end will be done at the end of July. It is around 1:10 minute mark in a video.

So, by September (when Alonzo is expected to deploy on Mainnet) should be all done. :smiley:

1 Like

I do not want to create a new wallet or restore a wallet from a user using a private key. I want to use the wallet client they already use (Yoroi or Deadalus) to make requests through my web application.

So I don’t see how the delivery of the wallet backend will change my problem. It is already possible for me to make a transaction using a wallet I can generate using the Cardano CLI.

2 Likes

This video specifically says wallet integration in reference to Alonzo smart contracts. Once wallet integration is completed you should be able to use Yoroi and Daedalus on test net to connect any of your smart contracts you made that would need to connect to those wallets. How you choose to connect it to your webs apps is kind of of dependent on you and which apps you are using.

Integrating a wallet client with smart contracts is different from integrating a wallet client with a web application. And this integration cannot be built by dApp developers, it has to be built by developers of the wallet clients.

you should be able to use Yoroi and Daedalus on test net to connect any of your smart contracts you made that would need to connect to those wallets

This will require a software update for both Yoroi and Daedalus. My question is regarding the estimated time of delivery of that software update. And again, I am not discussing the connection to a smart contract from a wallet client. I am discussing the connection from a web application to the wallet client.

3 Likes

One standard has been suggested for that kind of integration (not guaranteeing its implementation, or whether or not this proposed solution would become “official”) which is currently being reviewed by the CIP editing team, so you might be interested in following this discussion of that standards document:

1 Like

Thanks Robert. I have checked out this CIP before. And even tough I think having solid standards is great. At this point I am only concerned with the lack of actual integration. Nobody is able to give me an ETA and I have been asking in the Cardano Telegram group, Slack channel, Discord server, the Plutus Pioneers Q&A with Lars and now finally here on the Forum.

At this point I expect a dApp connector to get into Yoroi at least a month after the release of Alanzo on the mainnet, perhaps we will even have to wait till the end of the year.

6 Likes

I’m unsure, but I believe they have just released the first sneak peek as to what the Wallet JS SDK will look like here… GitHub - input-output-hk/cardano-js-sdk: Work in progress: JavaScript SDK for interacting with Cardano, providing various key management options including support for popular hardware wallets

1 Like

This is irrelevant to my question.

  • This repository is barely maintained, and not related to Yoroi or Deadalus. Only 12 commits since 2019, most of which are minor changes / fixes.
  • The developers of the Yoroi wallet work for Emergo, not OIHK. Altough I am not sure if there is much code sharing between the two companies. I assume there could be.
  • The repository contains nothing that relates to wallet integration into web applications, so it is irrelevant.
1 Like

It is vitally important to have a standard across wallets. If we have a bunch of wallets implementing different ad-hoc approaches and dApps are coded to those, we might end up with a very fragmented dApp ecosystem which would harm users in the long term if they need specific wallets for specific dApps, or at the very least it would force wallet developers to implement multiple standards, or have some clunky wrapper library that handles all these ad-hoc bridges for dApp builders. It would be best to avoid this if at all possible before it can happen.

The CIP linked above will be put into review phase by the CIP editors in less than a week, although it has already had feedback and changes from various people during the draft phase. There is already one guy who I believe is implementing the standard in his own wallet that he is currently building. Yoroi has also begun preliminary implementation of the standard, subject to changes to the spec in the meantime. We have already implemented EIP-0012, a similar dApp connector for the Ergo blockchain, so a fair amount of code written (+ the experience of implementing it) for that will be able to be reused during the implementation of the Cardano version. As both Ergo and Cardano are UTXO-based blockchains there was a fair amount of things in common so the two specs are fairly similar.

5 Likes

Would it be possible for any Yoroi developer or project manager to provide some kind of timeline relating to this feature? It is critical for my business to understand if it is realistic the connector is in production by the time Alanzo is launched onto the mainnet.

3 Likes

@Luuk_van_Egeraat thousands of developers and hundreds of companies are eager to make something with Cardano!

Checking out their project roadmap is your best bet however they seem to be following an agile SDLC process regarding measuring velocity and progress rather than setting deadlines and release dates.

You can see their official high-level status updates here: Status Updates - Cardano Roadmap
If you want more details maybe check out the commit history and analytics: https://cardanoupdates.com/

I can’t speak to your requirements but if you are looking for a restful API that allows you to negotiate a smart contract transaction through a user’s existing wallet then you have multiple dependencies across various teams which will most likely be tested and delivered in a staggered fashion.

Something like a “dapp api” via web request proxy through a 3rd party wallet client implementation sounds like an entire project onto itself. Basically it seems like you want someone to create MetaMask wallet features for Cardano.

Even though this sounds pretty awesome it is not very realistic to expect a high level abstraction like this on the first day of Alonzo mainnet launch. It might even be 6 months after smart contracts hit mainnet if we again refer to Ethereum as a historical reference.

If I may humbly suggest, plan your project based on what you can control. For example this could include designing or leveraging a DSL and contingency plan should Cardano’s approach to development not coincide with your scheduled expectations. Or like me it could simply be prioritizing other tasks and not worrying if I only get around to smart contract integration with Cardano later next year sometime.

IOHK and Emergo invested many years to add smart contract fuctionality to the blockchain, with a new programming language, built on top of UTxOs, based on peer-reviewed research. They did the hard work.

But then somehow they don’t provide a good way for web developers to build applications that connect to existing wallet clients to make transactions containing metadata or make requests to smart contracts.

It’s like building a completely new kind of rocket meant to colonize the solar system but then forgetting to add a hatch to get into the rocket.

Now users can indeed expect to be forced to create new wallets, controlled by developers of the dApp, in order to interact with smart contracts. Like a centralized exchange, where the application developers are forced to be the custodians of app-specific user wallets. In many countries, being a custodian also adds legal complexity. For me it would be illigal to manage wallets of my users on my server, I am not licenced to do so.

I will use this thread as my place to document any indicators I find about planned delivery of this feature from any Cardano-based wallet software.

7 Likes

I found an Emergo blog post about the Ergo version of the DApp connector:

Which links to a forum post:

So like @rooooooooob said, the first draft of the dApp connector for Yoroi is already built and has been undergoing testing since April 12th. However, it only supports Ergo wallets for now, not Cardano yet. Their forum post also says:

  1. Create at least 1 Ergo wallet in Yoroi

My hope is that they can reuse the interfacing already developed for the Ergo wallets within Yoroi.

I also wrote to the developers of AdaLite. They wrote back:

We are currently now working on such feature. We are waiting for IOHK / Emurgo to come up with some Plutus light wallet standard that we can follow.

I am glad to see developers of multiple wallets from different companies seem to be pro-actively trying to build this feature, while also focussing on adhering to a standard. I’ll keep posting in this thread as soon as a new test build is released that works with Cardano wallets.

6 Likes

I just updated to Daedalus 4.2.0 today and I saw in the release notes a new feature to export public keys. It seems to allow for QR code scanning as well as copying to clipboard etc. This is a promising step towards supporting 3rd party application development as well.

Maybe the first wave of Cardano integrated applications will be able to launch by the end of this year after all?

Recently this project was published: GitHub - Berry-Pool/nami-wallet: Nami Wallet is a browser based wallet extension to interact with the Cardano blockchain.

4 Likes

Lars Brünjes, the Education Director at IOHK shared his opinion about the timeline for the release of the Plutus Application Backend (PAB). He expects Alanzo will be launched first. He does mention he is not directly involved with this product.

This PAB is used to create transactions to smart contracts. Currently, transactions are made through the Cardano CLI, but I expect the wallet developers behind products like Yoroi, Daedalus and AdaLite are going to wait for the PAB in order to deliver integration of smart contract transactions with web applications.

2 Likes

Is this helpful?

Not really. They are asking for funding. I am looking for real, existing wallets, and real committed teams, established companies. Not some guys with an idea and in search of money.

Maybe check with the Adalite wallet team? That is a wallet made by Vacuum Labs which is a company hired by IOHK to work on Cardano.