Champions of the Paraverse being briefed on the arrival of the Talisman, what it is, and what it might mean for DotSama. | Created by Matias Basla, Talisman Sentinel

Introducing the Talisman Extension

Agyle
We are Talisman
Published in
10 min readNov 30, 2021

--

Talisman Extension v0.1.0 being installed and connected to app.talisman.xyz

Today, for the first time we distributed an đŸș alpha build of the Talisman extension to our inner-circle. This includes our beloved Talisman Sentinels, some of our seed investors and friends of the project whom we wanted to share this auspicious event with. It’s been exactly 9 months since “the Hypersphere” first appeared to us in a dream and showed us visions of the Paraverse; Talisman remained a yet-to-be-named idea for many months thereafter too. We are incredibly excited to be starting a private Alpha exclusive to 🗝 spirit key holders in just a few short weeks.

I figured this is the appropriate time to express to all of you exactly what the Talisman extension is, what design decisions we have made in the process of building it, and why we made them. At first glance you might think that we’ve created just another DotSama wallet with a very pretty UI. While I can confirm that we have done that, it is not the whole truth. Let me begin by framing the problem we’re trying to solve.

Multi-chain on the Brain 🧠

Although DeFi and NFTs are the main event in blockchain land for now, it is possible to accomplish much more with blockchain systems. It’s very easy to forget this, given that Ethereum has been sufficiently revolutionary (cheers Gav & VitalikđŸ») to disrupt incumbents and create so much value while simultaneously failing entirely to scale, leaving all except the highest value use-cases totally priced out.

Polkadot is a heterogeneous multi-chain framework, a way to connect a bunch of blockchains which can be by completely different from one another, should they choose to be. It enables blockchains to be interoperable, decentralised and scalable, but simultaneously highly secure as long as they are financially viable, and can afford to rent security from the relay chain. I believe this vision of interoperability and scalability is the best one we’ve got, and it may even be worth dusting off optimistic stories from 2016 about using blockchains to “bank the unbanked”, “provide universal decentralised identity” and maybe even “verify the origins of those GD organic cabbages”.

A wallet for Polkadot and the Parachains needs to help users traverse up to 100 arbitrarily different blockchain networks, each built for its own purposes. It’s like trying to create space suit which allows the wearer to survive in many different cosmic environments. Such as the vacuum of space, the surface of mars, the deep sea, or another hairy Bitcoin Miami afterparty. It needs to give its wearer relevant data about the local environment so they don’t misstep and get sucked into a blackhole. It needs to minimise travel time throughout the Polkadot cosmos that we call “the Paraverse” and it needs to feel like you’re wearing nothing at all.

We view the problem of building a universal wallet for DotSama (seeking the Talisman) in 3 parts:

  1. Transaction comprehension — Ensuring that users understand the context of diverse transactions on many arbitrary Parachains.
  2. Multi-chainstate — Discovering relevant user assets, transaction history and application states across many chains in an unstoppable way.
  3. Abstractness — Designing the wallet to deal with any transaction, balance or Parachain, even via a custom SDK built by an external team.

Comprehending Transactions

Users need relevant information about the nature of their transactions before we’ll see mass adoption of web3 tech. Mass market users are too easily bamboozled, and regulated users with zero tolerance for risk simply cannot participate. Better transaction comprehension will reduce human error, fraud and unnecessary friction, as some transactions don’t really need the same checks and balances that we’re used to.

In a world of diverse blockchains and thus diverse transaction contexts, we believe developers need more control over the usage patterns of their applications in order to make them compelling and coherent. So we decided to give them the ability to customise the transaction experience in Talisman.

Examples custom transaction experiences Talisman can enable

By extending the interface that the PolkadotJS extension provides, Talisman gives developers the ability to describe what kind of transaction the user is performing. The description provided is included in the Transaction modal and if the user trusts the application they’re using, they can accept it at face value. If the user is skeptical of the application, they can still review the contents extrinsic they’re signing.

If successful, we see the paradigm of dapp-contextualised multi-chain transactions as something from which a robust visual language full of familiar archetypes can emerge. A language that less technical users can parse to be granted a better understanding of their actions when interacting with known safe dapps.

This idea can immediately create more transparency in DotSama. If you have contributed to a crowdloan using PolkadotJS, you have likely already been party to a terms of service which you signed with your public key. Now I’m personally not one to read the terms of service of software products I use (or sometimes even the legal agreements that show up in my inbox), but I am at least conscious of my recklessness when I don’t. If you assumed that your crowdloan transactions were completely financial in nature you would be wrong.

Here are just a few examples of Transactions people have been performing with PolkadotJS to illustrate why we need a contextual transaction experience:

  1. Publishing, liking and commenting on Subsocial
  2. Agreeing to the terms of service of various crowdloans
  3. Purchasing a land parcel in a blockchain-based game
  4. Providing liquidity to the Acala DEX
  5. Teleporting assets between Parachains
  6. Registering a PNS name

Wrangling Multi-chain Chainstate

All multi-currency wallets are faced with the problem of connecting to many blockchains and returning all relevant user balances with low latency. The most important thing for our users is that we do this competently and deliver a good user experience. But, eventually, we want Talisman to rely on little to no centralised dependencies. This means we need to develop ways for a Talisman client to connect to Parachains and collect data without using centralised middleware, RPCs or initialising a full API for every chain.

One small step in the right direction we’ve made is creating Talisman Connect, a custom library for querying any chain which implements the balances pallet. It’s a bespoke, lightweight library that currently powers the portfolio page on our web application. Developing custom libraries like this which talk directly to Parachains is a pretty good approach to building fast, user-friendly dapps in Polkadot for now. The limiting factor here is just smart engineers who can create libraries for any exciting new substrate primitives that emerge. As we grow with the ecosystem, we expect to take a more self-service approach in ensuring maximal Parachain coverage. Talisman will facilitate a conversation with Parachain teams who are exploring unique architectures and will ultimately build and maintain their own libraries and SDKs.

This still leaves us with the matter of querying a user’s transaction history, which is simply too slow to do in real time on the client side, and doesn’t remove our dependency on a centralised RPC for connecting to the chain itself, but there isn’t much we can do about this for now. Our plan is to stay in our lane and ship a good product. We remain incredibly optimistic about Parity’s work on the future of WASM-based light clients for solving the RPC problem, as well as indexers like Subquery and Subsquid’s ability to tokenise and decentralise over time.

Wallet Abstractness

“Exactly how multi-chain will Talisman be?”

“Will you support Ethereum?”

“WeN s0LANaa?”

Understandably, we get asked a lot about the scope of networks we intend to support and frankly this is not totally settled. We started this journey with the goal of catalysing composability in DotSama, and that goal still allows us to best act out our values. Thus, Talisman will only support Polkadot, Kusama and the Parachains for now. Our view is that composability between Parachains can simply “emerge” in a similar manner to how it did between protocols in Ethereum, and we see our our role as helping to lubricate and accelerate this somewhat emergent process. If that doesn’t make sense, think about it like this:

First a Parachain (let’s call it Parachain A) attracts a lot of value, liquidity and users. This could easily be the $1.5B of DOT contributed to the Acala crowdloan being made liquid and usable, it could be real-world assets brought on-chain by Centrifuge, or even the googol market cap of a hot new wallet’s governance token that just launched 3 weeks ago in a Basilisk LBP.

Other Parachains want to attract users and liquidity too, so they create value-added services which interoperate with Parachain A. This might be a way of using Parachain A’s tokens as collateral or a new pool of aToken and bToken with liquidity incentives. Composable Finance’s Evmos is a perfect example of this kind of growth strategy.

In order for users of Parachain A to take their assets and leverage them on Parachain B, Parachain B must develop a compatible system, thus defacto standards emerge when new players interoperate with existing players. These standards become cemented as the protocols and chains that implement them grow in size and value, and that attracts even more new players build applications which leverage them. Hooray for network effects!

If somebody created another, much better fungible token standard on Ethereum which improved security and lower costs, they would be hard pressed to convince any major dex, protocol or wallet to support it without having lots of liquidity behind it.

Luckily, DotSama benefits from runtime upgrades which will allow the ecosystem to evolve faster and improve existing systems without forking. Smart network design like this is why we expect composability to emerge must faster in the Paraverse. Talisman has a large role to play in helping define standards and offer valuable user stories to Parachain teams building systems our wallet will interact with. We ultimately plan to try in earnest to support whatever Parachains have to throw at us, to make the developer experience as simple and powerful as possible and to let the best ideas win. We currently view the major limiting factor to the emergence of composability in DotSama as the number of users and application builders who understand development and usage patterns and can traverse the Paraverse.

Sublimating Polkadot.JS

It’s really important that we recognise all the hard work that went into creating PolkadotJS, and how important it has been to the network. While the ecosystem has grown substantially over the last 12 months and different products are duly needed, Polkadot.JS is still an amazing developer tool.

Creating a dependable tool for interacting with the diverse, sharded blockchain ecosystem of Polkadot is insanely complex and Talisman will continue to leverage a lot of the PolkadotJS codebase for some time to come. I must say that we simply wouldn’t be here, at this time, without the hard work of Jaco & the Parity Technologies team! Thank you.

Letting the Dogs Out đŸș

If you have discovered a Spirit Key, very soon.

The ultimate purpose of our Alpha and Beta is to push our software to its limits. So hang tight! We don’t intend to keep things under wraps forever. We will be wrangling spirit key holders into our Discord and putting a build in their hands in just a few short weeks.

First, we are distributing the v0.1.0 build to our “friends and family”. This will allow us to perform basic quality assurance and ensure that it’s worth everyone’s time to install. We have a key few dates in mind for our Alpha rollout but it’s important to remember that a successful Alpha will uncover the inevitable flaws in our build, and we’ll have to fix them. We really don’t know how long it will take to fix these problems as they’re yet to even emerge, thus any dates we give may be subject to change. Any available version of the extension you get your hands on won’t be something you can use as your daily driver immediately.

Here are our key dates:

  1. November 30th (Today) — Internal release to friends and fam, uncorking of champagne, premature and overly sentimental celebrations. 🎉
  2. Tuesday, December 14th — Private alpha for 1000+ Spirit Key holders.
  3. Mid December until early January — Extension code audit with Atredis Partners
  4. February — Public Beta

We’ll do our best to deliver in accordance with the above but remember that a successful Alpha means breaking Talisman first.

Note: Even in our public beta and beyond we still intend to provide early-access to new builds and features to our 🗝 Spirit Key Clan.

We’re also actively working with the Collab.Land team to integrate PolkadotJS/Talisman signing schemes and RMRK NFTs into CollabLand. This will allow us to verifiably grant access to specific channels in our discord server for spirit key holders. I’m personally really excited about this, I think CL is an awesome project and potentially a huge boon to the DotSama ecosystem. It’s not hard to imagine CL supporting all assets on the Balances Pallet and every Parachain team having a richly permissioned discord server based on real skin in the game.

Join the Talisman Community 🧿

Stay tuned for more important updates, key date announcements, and exciting opportunities by following us on Twitter.

Join the Talisman community on Discord to get involved; provide feedback, be the first to learn about new opportunities with Talisman, and help shape the future of the Paraverse.

--

--