# 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.&#x20;

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)&#x20;
* 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:

```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"; // 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 ](https://docs.biconomy.io/contracts#entry-points)olduğunu unutmayın: 0x00000061FEfce24A79343c27127435286BB7A4E1&#x20;

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

```typescript
// 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,
})
```


---

# 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/gelistir/gelismis/hesap-soyutlama-kullanimi.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.
