---
title: "User Operation Overrides 소개"
description: "User Operation Overrides를 사용하면 가스비를 세밀하게 제어할 수 있습니다. L2에서는 가스비 시장이 빠르게 변동하며, 이런 경우 대기 중인 UO가 실패할 수 있습니다."
---

# User Operation Overrides 소개

<ImageBlock
  src="https://media.alchemy.com/1705444621-user-op-overrides.png"
  alt="User operation overrides 출시: 가스비에 대한 세밀한 제어"
  width={2400}
  height={1350}
  priority
/>

[Account Abstraction](/overviews/what-is-account-abstraction)을 사용하면 사용자가 기존의 Externally Owned Accounts \(EOA\) 대신 스마트 컨트랙트 계정을 지갑으로 사용할 수 있습니다. 스마트 컨트랙트 계정에서 트랜잭션을 시작할 때, [User Operations](/overviews/user-operations) \(UserOps 또는 UOs\)는 일반 트랜잭션과 유사한 트랜잭션 세부 정보를 포함합니다: `sender`, `to`, `calldata`, `maxFeePerGas`, `maxPriorityFee`, `signature`, `nonce`.

스마트 컨트랙트 계정은 트랜잭션 실행을 [Bundlers](/overviews/what-is-a-bundler)에 의존하기 때문에, user operation에는 가스를 추정하고 paymaster로 가스를 후원하기 위한 새로운 필드들도 포함됩니다: `callGasLimit`, `verificationGasLimit`, `preVerificationGas`, `paymasterAndData`.

오늘 저희는 개발자에게 가스비에 대한 세밀한 제어 권한을 제공하는 [User Operation Overrides](https://www.alchemy.com/docs/wallets/resources/types#useroperationoverrides)를 출시합니다. L2에서는 가스비 시장이 빠르게 움직이며, 이런 상황에서 대기 중인 UO가 실패할 수 있습니다.

UO Overrides를 사용하면 가스 추정치를 override하여, 실제 가스 비용과 맞지 않는 [가스 추정치](/blog/l2-gas-and-signature-aggregators)와 무관하게 UserOps가 채굴될 것이라는 더 강력한 보장을 얻을 수 있습니다.

## User operation overrides가 하는 일
많은 복잡한 입력값을 반영하기 때문에 정확하게 추정하기 어려운 가스비 추정치를 override함으로써, 절대값 또는 배수 기반 override 값을 설정하여 가스 변동과 무관하게 UserOp가 성공적으로 채굴될 것이라는 더 강력한 보장을 얻을 수 있습니다.

## User operation overrides의 이점은 무엇인가요?
UO Overrides가 개발자에게 주는 두 가지 주요 이점은 가스 및 paymaster 값을 추정하는 복잡성을 간소화하는 것과, 가스비 시장이 변동성이 클 때 UO가 채굴될 가능성을 높이는 것입니다.

### 1. 복잡성 간소화
현재 올바른 가스비를 추정하려면 6가지 다른 가스 유형을 고려해야 하기 때문에 가스 추정치를 "정확하게" 맞추기가 어렵습니다. Fee Overrides를 사용하면 개발자가 특정 임계값에서 가스 추정치를 override하도록 파라미터를 설정할 수 있으므로, 추정치의 정확도와 무관하게 UserOps가 채굴됩니다.

### 2. 결과에 대한 주도권 확보
지금까지 [aa-sdk](https://www.alchemy.com/docs/wallets)를 사용하면서 겪은 한 가지 어려움은, 네트워크가 혼잡할 때 팀들이 가스 추정과 UserOp 성공 처리를 Alchemy 엔지니어에게 요청해야 했다는 점입니다.

User Operation Overrides를 사용하면 이제 팀들은 어떤 UserOps가 가장 중요한지 선택하고, 더 큰 제어권을 가지고 커스텀 override 값을 설정하여 UO가 성공적으로 채굴될 가능성을 높일 수 있습니다.

## User operation overrides의 기능은 무엇인가요?
User Operation Overrides를 사용하면 다음 항목에 대한 override 값을 지정할 수 있습니다:

1. `maxFeePerGas`
1. `maxPriorityFeePerGas`
1. `callGasLimit`
1. `preVerificationGas`
1. `verificationGasLimit`
1. `paymasterAndData`

Alchemy의 AA SDK로 빌드하는 개발자는 어떤 [Bundler](/bundler)나 [Paymaster](/gasless-transactions)와도 User Operation Overrides를 사용할 수 있습니다!

## User operation overrides는 어떻게 작동하나요?
Override 값은 `SmartAccountProvider`의 각 미들웨어에서 사용할 수 있습니다. 예를 들어, `gasEstimator`나 `feeDataGetter` 같은 기본 [`middlewares`](https://www.alchemy.com/docs/wallets/concepts/middleware)은 override 값이 제공된 경우 추정된 값에 override 값을 적용합니다.

`paymasterAndData` 필드를 제외하고, override 필드는 **절대값** 또는 **배수 값**이 될 수 있습니다. 기본 미들웨어에서 override 값이 절대값인 경우, 이는 단순히 추정된 값을 override합니다.

Override 값이 배수 값인 경우, 추정된 값은 지정된 배수 값으로 _증가_ 됩니다. 예를 들어, `maxPriorityFeePerGas` 필드에 대한 override 값이 `\{ multiplier: 1.1 \}`인 경우, user operation의 추정된 `maxPriorityFeePerGas`에 1.1배, 즉 10% 증가가 적용됩니다.

시작하려면 [User Operation Override 문서](https://www.alchemy.com/docs/wallets/resources/types#useroperationoverrides)를 확인해 보세요!
