✖️Hesap Soyutlama Kullanımı

Hesap soyutlama (account abstraction) nedir?

Account Abstraction, kullanıcıların akıllı sözleşmeleri hesapları olarak kullanmalarına olanak tanıyan ve onları tamamen programlanabilir hale getiren bir blok zinciri teknolojisidir.

Kullanıcı hesaplarını daha esnek ve işlevsel hale getirmeyi ve böylece kullanıcı deneyimini geliştirmeyi amaçlamaktadır.

Chiliz Chain geliştiricileri için ne anlama geliyor?

Geliştiriciler AA'yı uygulayarak projelerinin kullanıcı deneyimini geliştirebilirler: daha basit Chiliz Chain etkileşimleri, daha kullanıcı dostu bir uygulama anlamına gelir.

Biconomy aracılığıyla nasıl kullanılır?

Biconomy, Akıllı Hesaplara erişim sağlayan tam yığın Hesap Soyutlama SDK'sı sağlar:

https://docs.biconomy.io/account adresinde Biconomy'ye göre, Chiliz Chain'de AA yığınlarından yararlanmanın 4 yolu var:

  • Gassız işlemler

  • Toplu işlemler

  • Akıllı sözleşme cüzdanları (sosyal giriş dahil)

  • Oturum anahtarları, çoklu zincir doğrulayıcı, hesap kurtarma ve çok daha fazlasını içeren modüller!

Biconomy bir hızlı başlangıç sayfasına sahip: https://docs.biconomy.io/quickstart

Örnek kod Polygon Mumbai ağını kullanır ve bunu Chiliz'e şu şekilde uyarlayabilirsiniz:

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();

Chiliz ID'leri aşağıdaki gibidir:

  • CHILIZ_MAINNET = 88888

  • CHILIZ_TESTNET = 88882

Ayrıca, Biconomy ile çalışırken, Chiliz'in hem mainnet hem de testnet için kendi giriş noktası adresi olduğunu unutmayın: 0x00000061FEfce24A79343c27127435286BB7A4E1

Bu, Biconomy Bundler veya Paymaster kullanırken önemlidir:

// 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