Web3Auth
Learn how to use Web3Auth with account abstraction.
If you are using Web3Auth to sign transactions, you will need to configure a Web3Auth provider and get the signer from this provider.
Configuring Web3Auth
First, see how to configure Web3Auth at Web3Auth Quickstart.
Live Tutorial
You can see a tutorial using Web3Auth here: Web3Auth Demo.
Integration
Here is an example that uses an Openlogin adapter.
import { Web3Auth } from "@web3auth/modal";
import { OpenloginAdapter } from "@web3auth/openlogin-adapter";
const chainConfig = {
chainNamespace: CHAIN_NAMESPACES.EIP155,
chainId: "0x1",
rpcTarget: "https://api.stackup.sh/v1/node/API_KEY",
displayName: "Ethereum Mainnet",
blockExplorer: "https://etherscan.io",
ticker: "ETH",
tickerName: "Ethereum",
};
const web3auth = new Web3AuthNoModal({...});
const privateKeyProvider = new EthereumPrivateKeyProvider({
config: { chainConfig },
});
const openloginAdapter = new OpenloginAdapter({
privateKeyProvider,
adapterSettings: {...},
mfaSettings: {...},
loginSettings: {...},
});
web3auth.configureAdapter(openloginAdapter);
const web3authProvider = await web3auth.connectTo(
WALLET_ADAPTERS.OPENLOGIN,
{
loginProvider: "google",
}
);
// Initialize builder with Web3Auth signer
const signer = web3authProvider.getSigner();
var builder = await Presets.Builder.SimpleAccount.init(signer, rpcUrl);
const address = builder.getSender();
console.log(Account address: ${address});
Updated 10 months ago