Comment utiliser l'abstraction de compte
Qu'est-ce que l'Abstraction de Compte ?
L'Abstraction de Compte (Account Abstraction, ou AA) est une technologie blockchain qui permet aux utilisateurs d'utiliser des contrats intelligents comme leurs comptes, les rendant entièrement programmables.
Elle vise à rendre les comptes utilisateurs plus flexibles et fonctionnels, améliorant ainsi l'expérience utilisateur.
Qu'est-ce que cela signifie pour les développeurs de Chiliz Chain ?
En implémentant l'AA, les développeurs pourraient améliorer l'expérience utilisateur de leur projet : des interactions plus simples avec Chiliz Chain signifient une application plus conviviale.
Comment le faire en utilisant Biconomy ?
Biconomy propose un SDK complet pour l'Abstraction de Compte, qui permet d'accéder aux Comptes Intelligents : https://docs.biconomy.io/account
Selon Biconomy, il existe 4 façons d'exploiter leur pile AA sur Chiliz Chain :
Transactions sans gas
Transactions groupées
Portefeuilles de contrats intelligents (y compris la connexion sociale)
Modules incluant des clés de session, validateur multichaîne, récupération de compte, et bien plus encore !
Biconomy a une page de démarrage rapide intéressante : https://docs.biconomy.io/quickstart
L'exemple de code utilise le réseau Polygon Mumbai, et vous pouvez l'adapter à Chiliz, comme ceci :
import {
Hex,
createWalletClient,
encodeFunctionData,
http,
parseAbi,
zeroAddress,
} from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { ChainId } from '@biconomy/core-types'
import { createSmartAccountClient } from "@biconomy/account";
const bundlerUrl =
"https://bundler.biconomy.io/api/v2/80001/nJPK7B3ru.dd7f7861-190d-41bd-af80-6877f74b8f44"; // Found at https://dashboard.biconomy.io
export const createAccountAndMintNft = async () => {
// ----- 1. Generate EOA from private key
const account = privateKeyToAccount("0x" + "PRIVATE_KEY");
const client = createWalletClient({
account,
chainId: ChainId.CHILIZ_TESTNET, // or ChainId.CHILIZ_MAINNET,
transport: http(),
});
const eoa = client.account.address;
console.log(`EOA address: ${eoa}`);
// ------ 2. Create biconomy smart account instance
const smartAccount = await createSmartAccountClient({
signer: client,
bundlerUrl,
});
const saAddress = await smartAccount.getAccountAddress();
console.log("SA Address", saAddress);
};
createAccountAndMintNft();
N'oubliez pas les IDs de la Chiliz Chain :
CHILIZ_MAINNET
= 88888
CHILIZ_TESTNET
= 88882
De plus, lorsque vous travaillez avec Biconomy, notez que Chiliz a sa propre adresse d'entrée, pour le mainnet et le testnet : 0x00000061FEfce24A79343c27127435286BB7A4E1
Ceci est important lors de l'utilisation du Bundler ou du Paymaster de Biconomy :
// CC2 has its own entrypoint address
const CHILIZ_BUNDLER_ENTRYPOINT_ADDRESS='0x00000061FEfce24A79343c27127435286BB7A4E1'
const bundler = new Bundler({
bundlerUrl: `https://bundler.biconomy.io/api/v2/${ChainId.CHILIZ_TESTNET}/nJPK7B3ru.dd7f7861-190d-41bd-af80-6877f74b8f44`,
chainId: ChainId.CHILIZ_TESTNET,
entryPointAddress: CHILIZ_BUNDLER_ENTRYPOINT_ADDRESS,
})
Last updated
Was this helpful?