Skip to main content

Configure Wallet UI Mode

Arcana Auth SDK allows dApp developers to manage the blockchain transaction signing experience for the dApp users. If it is more convenient for the users to automatically sign all the storage operations through the dApp, without having to encounter a pop up UI to sign each transaction, they can configure no UI through the Auth SDK wallet mode.

In this tutorial you will learn how to set up and integrate Arcana Auth SDK and choose one of the available Arcana Wallet UI mode, depending upon the dApp use case.

Prerequisites

  • Make sure you can access Arcana Developer Dashboard:

    https://dashboard.beta.arcana.network

  • Choose the wallet UI mode at the time of registering and configuring your application. You cannot change the wallet UI mode from UI to no-UI at a later point in time. However, you can always switch on the UI mode, if you chose to use no UI at the start. This is due to security reasons.

  • Ensure that the Arcana Auth SDK is integrated with your dApp.

note

Wallet UI mode can be configured only if you are using Arcana Auth SDK. If you plan to use a third-party wallet and Arcana Storage SDK, you will be limited to the features that the third-party wallet provides and cannot control the wallet UI modes from your dApp.

Steps

To configure the wallet UI mode, you need to configure two key settings:

  • Wallet UI mode setting for your dApp through the dashboard
  • Wallet UI mode at the time of initializing the Arcana Auth SDK

Step 1: Set up Wallet UI mode

Refer to the dashboard and click on the Auth tab as shown in the figure below:

Wallet UI mode config

Scroll down to view the setting 'UI mode' as shown below:

Wallet UI mode setting db

If you wish to enable the wallet UI as part of user experience for signing blockchain transactions for storage operations, select Enable.

caution

Note that once you enable UI, you cannot switch back to no UI mode later due to security reasons.

Step 2: Integrate and Initialize Auth SDK

Follow instructions here to integrate Auth SDK with your dApp. During initialization, make sure you set the appMode to one of the following values as per your UI mode choice:

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

For more details on the choice of appMode at the time of initializing the Auth SDK affects dApp user's blockchain transaction signing experience, refer to how wallet UI mode works section of the documentation.

tip

For details regarding appMode options and numeric values, see:

Arcana Auth SDK Reference Guide

The sample code here shows how to enable Full UI mode while initializing the Auth SDK:

const { AuthProvider } = window.arcana.auth
// or
import { AuthProvider } from '@arcana/auth'

const { AppMode, AuthProvider, computeAddress } = window.arcana.auth;

const auth = new AuthProvider({
appId: '20',
iframeUrl: 'http://localhost:3000',
})

await auth.init({ appMode: AppMode.Full })

That's it!

You are all set with wallet UI mode configuration to manage user blockchain signing experience.

What's Next?

Once you have configured the Auth SDK wallet UI mode, you can also proceed to integrate your dApp with Arcana Storage SDK to store dApp user data in Arcana Store and enable user data privacy. You can plug in functionality to manage user data access enabling users to share, revoke access or change file data ownership for their data residing in the Arcana Store.

For every file data access operation, user will be required to sign blockchain transactions. If you have enabled wallet UI and initialized the Auth SDK with full or widget UI mode, user will see the pop up UI and will have to manually sign each storage operation. In case of no UI mode, there is no pop up UI and all operations are signed using user's secure credentials through Ethereum provider interface.

See also