Skip to main content

Arcana Wallet and UI modes

Wallet Overview

Arcana Network's mission is to empower every user to login and authenticate into Web3 applications seamlessly with the familiarity and simplicity of Web2 login experience while ensuring secure access. Web3 requires extra effort in managing and securing blockchain keys for signing/approving transactions.

In the web3 ecosystem, a dApp user can establish a uniquely identifiable 1:1 connection to the blockchain using secrets called keys. These are private keys and not supposed to be shared. All user assets backed on blockchain are linked to this private key and its loss means loss of blockchain assets owned by the user. Crypto Wallets are an abstraction for keeping private keys secure. The Arcana Wallet is similar in functionality to a typical Crypto wallet that stores private keys. It is meant to keep crypto assets safe and accessible.

Arcana Wallet allows you to securely store the keys assigned to a user and manages the private key associated with each dApp user. This key is generated using Arcana distributed key generator or DKG.

Wallet is a much more secure mechanism as it never exposes the private key associated with each dApp end user. Instead, it works with the standard Ethereum Provider interface. Internally, it uses a distributed private key that is abstracted as an Ethereum provider and also associated with user's social OAuth or a public Wallet.

Typical Crypto wallets also allow users to send, receive, and spend cryptocurrencies like Bitcoin and Ethereum. At present, Arcana Wallet stores users private keys and does not yet enable transaction for XARs or Arcana Network tokens.

info

Arcana Wallet uses distributed key generated and backed by robust cryptographic primitives. This user key is never exposed to dApp or anyone. Wallet uses standard Ethereum provider interface for signing blockchain transactions.

Arcana Network also allows 3rd party wallets or dApp user's to bring their own keys for signing storage operations. Working with user keys directly is not recommended as user keys are visible to the dApp and a security risk.

Arcana Wallet Features

Arcana Auth SDK allows any user, whether they are newbies or savvy blockchain/crypto enthusiasts, to safely become a part of the web3 ecosystem. It achieves this through a familiar web2 onboarding experience and identity management. Besides pluggable authentication, it also offers a lightweight, configurable and optimal web3 wallet experience. The wallet functionality offered by Arcana Auth SDK isn't the typical full fledged web3 wallet experience. In the beta release, the wallet functionality is meant only for signing Arcana Network blockchain operations. Arcana Auth SDK provides a secure and privacy-preserving mechanism to enable the following functions:

  • The dApp developers can configure and select dApp wallet user experience for the dApp users.

  • The dApp users can prove their identity, view and download Private NFT assets residing in Arcana Store that are owned by them.

  • The dApp users can sign blockchain transactions for storage operations performed on Arcana Network blockchain.

  • End users can onboard different dApps integrated with Arcana Auth, Storage SDK easily with a simple sign-on experience.

  • There is complete data privacy for all dApp user data. By default, all user data stored using Arcana Storage SDK in the Arcana Store is encrypted and accessible only by the data owner. The dApp developers can choose to integrate with Arcana Storage SDK for data privacy features. If they do not choose to integrate with Storage SDK, they can use Arcana Auth SDK and use functions for encrypting and decrypting dApp user data before storing it on a third party storage such as IPFS or any other decentralized storage.

info

In the initial releases, the Arcana wallet functionality is built only for Arcana Network blockchain operations. In a future release, the plan is to make it blockchain agnostic and allow the signing of blockchain transactions on other networks as part of interoperability support.

Arcana wallet UI modes

Before you integrate with Arcana Auth SDK, you need to figure out which wallet UI mode works best for your dApp requirements.

Arcana supports three wallet UI modes:

  • Headless Mode (No User Interface)
  • Widget Mode
  • Full User Interface Mode

Headless (No UI) mode

If you want to completely customize the Wallet user interface in your dApp, you can choose the headless or no UI mode. In this mode, dApp users enjoy a seamless experience where they don't have to sign every blockchain transaction by clicking on a UI popup. The end user experience is very similar to the typical Web2 applications without losing on any security or benefits of blockchain. Arcana Auth wallet feature provides a standard Ethereum provider to the dApp which can be used to sign blockchain transactions for storage operations seamlessly.

Widget mode

If you choose the widget mode while integrating with Arcana Auth SDK, a small popup UI shows up in dApp UI context. This popup UI is controlled by Arcana Auth SDK. It contains basic information about the underlying blockchain transaction details and progress. It also provides a link which the end-user can click on demand to see full Wallet UI and transaction history of all the user transactions so far and their status.

Full UI mode

In this mode, Arcana Wallet UI widget is displayed along with full details of Arcana storage operation and associated blockchain transaction. Unlike the widget mode, full UI shows complete details of the current transaction along with any data that needs to be signed or approved by the user. It also displays complete history of all the blockchain transactions approved by the user so far. Use this mode to integrate Arcana Auth SDK if you need the dApp user to have full visibility into all the details of every blockchain based transaction that is executed by the dApp.

How Wallet UI mode works?

Arcana Auth SDK allows dApp developers to manage the dApp user's blockchain transaction signing experience through the wallet UI modes.

The blockchain transaction signing experience for an end user is controlled by configuring two key parameters. One of them is the Wallet UI setting in the Arcana Network Dashboard. The other is the appMode parameter specified in the dApp code while initializing the Arcana Auth SDK.

Wallet UI Setting (Dashboard)

  • Enabled
  • Disabled (Default)

Initialize appMode (in dApp code)

  • NoUI = 0
  • Widget = 1
  • FullUI = 2

The dApp developer can choose to use the default settings or select wallet UI mode as per their use case. The table below summarizes how the wallet UI setting on the dashboard and the appMode parameter specified during Auth SDK initialization in the dApp code controls the user experience. The default behavior is also listed if no settings are tinkered or specified. For step by step instructions see how to configure Wallet UI mode guide.

Dashboard Wallet UI SettingAuth SDK Initialization parameter appModeUser Experience for Blockchain Transaction Signing
EnableFull UIFor every data access operation, a popup UI shows up in the dApp web application browser tab. There is an option to view advanced details of the blockchain transaction. The dApp user can view what file access is requested and approve or reject the storage operation.
EnableWidgetA popup shows up in the dApp web application browser tab requesting the user to sign or reject the blockchain transaction. In this mode there is no option to view the advanced details for blockchain transaction.
DisableNo UINo UI pops up in the dApp web application context. All user initiated storage operations are approved by default.
EnableNo UI / Not specified during Auth SDK initializationDefaults to Widget mode behavior. A popup show up in the dApp web application browser tab requesting the user to sign or reject the blockchain transaction. In this mode there is no option to view the advanced details for blockchain transaction.
DisableFull UI / Widget / Not specified during Auth SDK initializationDefaults to No UI mode behavior. No UI pops up in the dApp web application context. All user initiated storage operations are approved by default.