ingress 라우터로서의 proxyd는 특정 메서드를 고유한 백엔드에 매핑하는 기능을 지원합니다.
메서드
eth_sendRawTransactionConditional
이 엔드포인트를 안전하게 공개적으로 노출하기 위해 추가적인 상태 비저장(stateless) 제약 조건이 적용됩니다. 이러한 제약 조건은 검증 규칙을 수평적으로 확장하고, 조건부 트랜잭션이 sequencer에 도달하기 전에 미리 거부하는 데 도움이 됩니다. 필요한 조정을 안내하기 위해 다양한 메트릭이 발행됩니다.런타임 차단
이 서비스는 플래그 또는 환경 변수로 구성하여 실행 엔진을 중단하지 않고도 조건부 트랜잭션을 거부할 수 있습니다. 이 기능은 문제를 진단할 때 유용합니다.--sendRawTxConditional.enabled (default: true) ($OP_TXPROXY_SENDRAWTXCONDITIONAL_ENABLED)
비활성화하면 요청은 메서드가 비활성화되었다는 메시지와 함께 -32003(transaction rejected) json rpc 오류 코드로 실패합니다.
속도 제한
op-geth의 이 엔드포인트 구현에도 속도 제한이 포함되어 있지만, 이러한 요청을 조기에 종료하기 위해 여기에서 대신 적용됩니다.--sendRawTxConditional.ratelimit (default: 5000) ($OP_TXPROXY_SENDRAWTXCONDITIONAL_RATELIMIT)
상태 비저장 검증
- 조건부 비용이 최대값 미만인지 확인
- 조건부 값이 유효한지 확인(예: min < max)
- 트랜잭션 대상이 4337 Entrypoint 컨트랙트로만 한정되는지 확인
이 엔드포인트의 주된 목적은 무허가(permissionless) 4337 mempool을 지원하는 것이며, 따라서 이 메서드의 사용이 Entrypoint 트랜잭션으로만 제한됩니다.이 엔드포인트의 활용 범위를 넓히기 위해 이 제한을 구성으로 선택할 수 있게 하고 싶다면 이슈를 열어 주십시오.
--sendRawTxConditional.backend ($OP_TXPROXY_SENDRAWTXCONDITIONAL_BACKENDS)
작동 방식
op-txproxy 사용을 시작하려면 다음 단계를 따르십시오.
1
바이너리 빌드 또는 Docker 이미지 가져오기
2
구성
바이너리는 CLI 플래그를 통해 구성을 받으며, 이 플래그는 환경 변수로도 설정할 수 있습니다. 바이너리를 시작할 때 플래그를 명시적으로 설정하거나 프록시를 시작하는 호스트의 환경 변수를 설정하십시오.각 메서드에서 사용할 수 있는 구성 옵션은 메서드를 참조하십시오.
3
시작
다음 명령으로 서비스를 시작합니다.