General
Estimated time to read: 6 minutes
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 specification. 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 the wallet as per the application logic using the showWallet()
function.
How can developers access the standard EIP-1193 provider from the AuthProvider
object once the Auth SDK is integrated with the Web3 app?
In the case of EVM chains, developers can access the EIP-1193 provider once an AuthProvider
object is created and the init
function is successful. See code snippets below for details:
// ethers
const provider = new ethers.providers.Web3Provider(auth.provider)
// web3js
const provider = new Web3(auth.provider)
Application Frameworks
Does the Arcana Auth SDK support Web3 application frameworks such as React, Next.js, Vue?
Yes. You can integrate the Arcana Auth SDK with any vanilla HTML/CSS/JS app or an app that uses React, Next.js, and Vue frameworks. Learn more...
Wallet Connectors
If an application uses wallet connector frameworks such as Wagmi, RainbowKit, WalletConnect or Web3-React, can the Arcana wallet be plugged into those wallet connectors?
Yes.
- Applications using Wagmi, RainbowKit or WalletConnect must install and integrate with the
auth
,auth-wagmi
packages. - Applications using Web3-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, how to integrate WalletConnect apps, and how to integrate Web3-React apps.
User Onboarding
How do I enable the Web2-like social 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 there a passwordless login option to onboard the users?
The passwordless login option to onboard app users is enabled once the app registers through the Arcana Developer Dashboard and then integrates with the Arcana Auth SDK.
Initialize the SDK and use the connect
method to bring up the built-in, plug-and-play login UI that allows passwordless login. Alternatively, add custom login UI and call the SDK methods for passwordless login. See how to enable passwordless login for details.
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 features offered by the Arcana SDKs 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.
- 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.
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:
1. 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.
2. Redirect URI: After creating the 'Mainnet' profile, developers must also update the social login provider 'Redirect URI' settings via the respective provider developer consoles or dashboards.
Copy the 'Redirect URI' displayed for the 'Mainnet' profile and update this value in the social login provider's developer console. For e.g., for Google, update the Redirect URI in the Google Developer Console. Learn more...
3. 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.