# Hesap Soyutlamasını kullanın

## Hesap Soyutlaması nedir?

Hesap Soyutlaması, kullanıcıların hesapları olarak akıllı sözleşmeleri kullanmalarına izin veren, onları tamamen programlanabilir hale getiren bir blokzincir teknolojisidir.

Amacı, kullanıcı hesaplarını daha esnek ve işlevsel hale getirmek ve böylece kullanıcı deneyimini geliştirmektir.

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

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

## Biconomy kullanarak bunu nasıl yapabilirsiniz?

Biconomy, Akıllı Hesaplara erişim sağlayan tam yığın bir Hesap Soyutlaması SDK’sı sunar: <https://docs.biconomy.io/account>

Biconomy’nin kendi açıklamasına göre, AA yığınlarını Chiliz Chain üzerinde kullanmanın 4 yolu vardır:

* Gas'siz İşlemler
* Toplu İşlemler
* Akıllı sözleşme cüzdanları (sosyal giriş dahil)
* Oturum anahtarları, çok zincirli doğrulayıcı, hesap kurtarma ve çok daha fazlasını içeren modüller!

Biconomy’nin güzel bir Hızlı Başlangıç sayfası var: <https://docs.biconomy.io/quickstart>

Örnek kod Polygon Mumbai ağını kullanıyor ve bunu şöyle Chiliz’e uyarlayabilirsiniz:

```typescript
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"; // Şurada bulunur: https://dashboard.biconomy.io

export const createAccountAndMintNft = async () => {
  // ----- 1. Özel anahtardan EOA oluştur
  const account = privateKeyToAccount("0x" + "PRIVATE_KEY");
  const client = createWalletClient({
    account,
    chainId: ChainId.CHILIZ_TESTNET, // veya ChainId.CHILIZ_MAINNET,
    transport: http(),
  });
  const eoa = client.account.address;
  console.log(`EOA adresi: ${eoa}`);

  // ------ 2. biconomy akıllı hesap örneği oluştur
  const smartAccount = await createSmartAccountClient({
    signer: client,
    bundlerUrl,
  });
  const saAddress = await smartAccount.getAccountAddress();
  console.log("SA Adresi", saAddress);
};
createAccountAndMintNft();
```

Chiliz Chain ID’lerini hatırlayın:

* `CHILIZ_MAINNET = 88888`
* `CHILIZ_TESTNET = 88882`

Ayrıca, Biconomy ile çalışırken Chiliz’in [kendi giriş noktası adresine](https://docs.biconomy.io/contracts#entry-points), hem ana ağ hem de test ağı için sahip olduğunu unutmayın: [0x00000061FEfce24A79343c27127435286BB7A4E1](https://scan.chiliz.com/address/0x00000061FEfce24A79343c27127435286BB7A4E1/contracts#address-tabs)

Bu, Biconomy kullanırken önemlidir [Bundler](https://docs.biconomy.io/bundler) veya [Paymaster](https://docs.biconomy.io/paymaster):

```typescript
// CC2’nin kendi giriş noktası adresi vardır
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,
})
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chiliz.com/tr-ai/develop/advanced/use-account-abstraction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
