Skip to content

General

Integrating Web3 Apps


How can developers enable the Arcana Auth features in their Web3 applications?

Simply integrate the Web3 app with the Arcana Auth SDK. It requires developers to configure Arcana Auth SDK usage settings using the Arcana Developer Dashboard before actually integrating the application.

How can developers enable Arcana wallet in the context of their Web3 applications?

First, register the app and configure the app settings using the Arcana Developer Dashboard. Use the unique Client ID assigned by Arcana Network to integrate the app with the Arcana Auth SDK. Add code in the app to use the Arcana Auth SDK functions and onboard users. The authenticated users can instantly access the Arcana wallet in the app context and sign blockchain transactions. Developers can control the user experience for signing blockchain transactions with the appropriate wallet visibility settings. The wallet can be displayed for the authenticated users in the app context always or the app can be configured to display blockchain transaction request notifications for approval by the user only when a transaction is triggered. Developers can display wallet as per the application logic using the showWallet() function.

Application Frameworks


Does the Arcana Auth SDK support Web3 application frameworks such as React, NextJS, Vue?

Yes. You can integrate the Arcana Auth SDK with any vanilla HTML/CSS/JS app or an app that uses React, NextJS, and Vue frameworks. See how to integrate app with the Arcana Auth SDK.

Wallet Connectors


If an application uses wallet connector frameworks such as Wagmi, RainbowKit, or Web3-React, can the Arcana wallet be plugged into those wallet connectors?

Yes.

  • Applications using Wagmi, RainbowKit must install and integrate with the auth, auth-wagmi packages.
  • ApplicationsWeb3-React framework can install and integrate with the auth, auth-web3-react packages.

As part of the integration, these applications can enable the Arcana wallet as one of the wallet choices for the app users in addition to the built-in wallets available in the wallet connect frameworks.

For step-by-step integration instructions for these wallet connector frameworks, see how to integrate Wagmi apps, how to integrate RainbowKit apps and how to integrate Web3-React apps.

User Onboarding


How do I enable the Web2-like social provider login experience in a Web3 app to onboard users?

First, register the app with the Arcana Network. Next, configure one or more authentication providers for onboarding app users by configuring the Social Auth settings using the Arcana Developer Dashboard. Then integrate the app with the Arcana Auth SDK and add code to onboard users. For example, see how to onboard users via Google.

Is the ?

You can enable passwordless login to onboard app users by first registering the app with Arcana Network, then integrating it with the Arcana Auth SDK and then simply calling the loginWithLink function in the app code to onboard users. For details, see how to enable passwordless login.

Deployment


Does each registered app have a single unique Client ID?

No. Each app registered with the Arcana using the Arcana Developer Dashboard is assigned two unique Client ID. One for the Testnet configuration profile and a different Client ID for the Mainnet configuration profile.

What is the difference between Testnet and Mainnet?

Arcana Testnet and Mainnet are two different blockchain networks. The Arcana Auth product features available on Testnet may be different from the ones available on the Mainnet.

Following are the key differences between Arcana Testnet and Mainnet:

  • Client ID: To deploy the app on Testnet, the developer must specify the Client ID assigned to the Testnet configuration profile after app registration, when creating the AuthProvider. Similarly, for Mainnet deployment, the Client ID assigned to the Mainnet configuration profile should be used.

  • Key/Wallet Address: The authenticated user is assigned a unique key/wallet address for Testnet app deployment. The same user is assigned a different key/wallet address when this app is deployed on the Mainnet.

  • Global Keys: The 'Global Keys' feature is available only when the app is deployed on the Arcana Mainnet.

  • Billing: App usage is tracked for both the Arcana Testnet as well as the Mainnet. However, only Mainnet usage is billed.

What is the difference in the Arcana wallet behavior when an app is deployed on Testnet vs. the Mainnet?

If a user logs into the app that is integrated with the Arcana Auth SDK and deployed on the Arcana Testnet, they will see a warning on the main 'Token Assets' tab of the built-in Arcana wallet UI. The warning indicates that the app is deployed on the Testnet.

There is no such warning displayed in the Arcana wallet UI when the app is deployed on the Mainnet.

Also, the 'Global Keys' feature is available only for the apps deployed on the Arcana Mainnet. What this means is that for all the apps that are integrated with the Arcana Auth SDK and have selected the 'Global Keys' feature, the authenticated user will see the same key/wallet address across all such apps when logging in using the same social login or passwordless mechanism.

How does a developer migrate an app deployed on the Arcana Testnet to Mainnet?

See how to migrate an app deployed on Testnet to Mainnet for details.

Are there any configuration changes that must be done when migrating an app deployed on Testnet to the Mainnet?

Yes. Following are the configuration changes required for migrating app deployment from the Testnet to the Mainnet:

Create a Mainnet Configuration Profile: To deploy the app on Mainnet, developers need to first create a Mainnet configuration profile by either copying the Testnet profile or creating a fresh one from scratch.

If the developer chooses to create the 'Mainnet' profile by copying the 'Testnet' profile, there is an additional setup required to update the configuration of the social provider settings. Once the 'Mainnet' profile is created, click the application configuration social login section in the LHS navigation of the Arcana Developer Dashboard and copy the Redirect URI' displayed for the 'Mainnet' profile. You need to update thisRedirect URI` value from the Testnet ones to the Mainnet ones for the respective social provider. To do this, use the social provider-specific developer console or dashboard.

Update Client ID: The Client ID specified as the input parameter while integrating the app with the Arcana Auth SDK is the one assigned to the default Arcana Testnet profile. This works fine when the app is deployed on the Testnet. For deploying the app on the Mainnet, the developer must create the Mainnet configuration profile and carefully copy the newly assigned Mainnet Client ID. Use the Mainnet Client ID as the input parameter while integrating the app with the Arcana Auth SDK. This will ensure that the app gets deployed on the Mainnet and not on the Testnet. For details, see how to migrate an app deployed on the Testnet to the Mainnet.

Global Keys: (Optional) The Mainnet configuration profile has additional settings to allow the developers to choose the 'Global Keys' feature. This setting is not available when an app is deployed on the Testnet. When the developer creates the Mainnet configuration profile, either by copying the Testnet profile or creating a fresh one, they are presented with an option to either continue to use the 'app-specific' keys which are the default setting in the Testnet profile. Or they can choose to enable the 'Global Keys'. Enabling this feature may take some time as it requires a manual, online request/approval process. The developer must submit the 'enable global keys' form when prompted and wait for approval from the Arcana. The status of the request is displayed in the Arcana Developer Dashboard 'Keyspace' tab. Once the request is approved, the app can be deployed on the Mainnet and use the 'Global Keys' feature. To learn more about the 'Global Keys' feature, see here.


Last update: June 26, 2023 by shaloo, shalz