메인 콘텐츠로 건너뛰기

개요

기본값 0은 scalar를 400으로 설정하는 것과 같습니다. 이 기능을 사실상 비활성화하려면 scalar를 1과 같은 매우 낮은 값으로 설정하십시오. 자세한 내용은 specs를 참고하십시오.
daFootprintGasScalar는 Jovian 하드포크에서 도입된 **데이터 가용성(DA) Footprint 블록 한도(DA Footprint Block Limit)**를 제어합니다. 이 한도는 압축된 크기에 대한 스케일링된 추정치를 기반으로 블록에 들어갈 수 있는 트랜잭션 데이터의 총량을 제한합니다. 블록당 추정 DA 사용량의 실질적인 한도는 gasLimit / daFootprintGasScalar 바이트이므로, scalar를 높이면 한도가 낮아지고, 그 반대도 마찬가지입니다. DA footprint가 계산되는 방식, 이 한도가 존재하는 이유, 기본값 400이 선택된 방식에 대해서는 DA footprint 블록 한도의 동작 방식을 참고하십시오.

값 선택하기

  • SystemConfig에서 daFootprintGasScalar에 한도가 설정되지 않았거나 값이 0으로 설정된 경우, 기본값 400이 사용됩니다
  • 이 기능을 사실상 비활성화하려면 scalar를 1과 같은 매우 낮은 값으로 설정하십시오.
  • daFootprintGasScalar를 너무 높게 설정하면 블록에서 너무 많은 트랜잭션이 제외될 수 있습니다.
  • daFootprintGasScalar를 너무 낮게 설정하면 batcher 스로틀링을 방지하거나 DA를 많이 사용하는 트랜잭션이 지속적으로 유입되는 것을 막는 데 효과가 없을 수 있습니다.
  • 체인의 gas limit이 변경되면 DA footprint는 설계상 비례하여 조정됩니다. 그러나 동일한 절대 DA footprint 한도를 유지하려면 daFootprintGasScalar도 그에 맞게 조정해야 합니다.

daFootprintGasScalar 업데이트하기

아래 단계는 SystemConfig 컨트랙트를 사용하여 온체인에서 daFootprintGasScalar 파라미터를 업데이트하는 방법을 설명합니다.
1

SystemConfig 컨트랙트 주소 찾기

SystemConfig 컨트랙트는 gas limit 및 수수료 설정과 같은 구성 가능한 프로토콜 파라미터를 저장합니다.
proxy 주소는 op-deployer가 생성한 state.json에서 찾을 수 있습니다.
2

setDAFootprintGasScalar() 메서드 호출

SystemConfig owner만이 이러한 변경을 할 수 있는 유일한 주소입니다.
daFootprintGasScalar를 업데이트하려면 SystemConfig 컨트랙트에서 다음 메서드를 호출하십시오.setDAFootprintGasScalar(uint16 daFootprintGasScalar) external onlyOwner;scalar를 두 배로 늘려 실질적인 DA 사용량 한도를 절반으로 낮추는 예시(cast 사용):
Cast
3

새 값 확인

트랜잭션이 확정되면 SystemConfig 컨트랙트에서 다음 getter 메서드를 호출하여 현재 값을 확인하십시오.function daFootprintGasScalar() external view returns (uint16);예시(cast 사용):
cast
또한 L2 체인에서 L1Block predeploy의 scalar를 쿼리하여 새 scalar가 체인에 전파되었는지 확인할 수 있습니다.
cast

다음 단계

참고 자료