gasWanted 값을 포함합니다. 값은 단일 Msg 유형을 포함하는 트랜잭션에 대한 MsgServer 실행 중 가스 소비를 관찰하여 경험적으로 얻어졌습니다. 개념적으로 모든 트랜잭션에 다음 공식이 적용됩니다:
ante_gas는 AnteHandler 중에 소비되는 가스이고 msg_gas의 후속 합은 각 특정 msg의 MsgServer에서 소비되는 가스입니다 (관찰된 가장 높은 ante_gas는 120,000입니다).
Exchange params에서 fixed_gas_enabled가 true로 설정된 경우, 다음 값을 gasWanted로 사용하여 트랜잭션이 가스 부족으로 실패하지 않도록 할 수 있습니다:
참고: 트랜잭션이 단일 메시지를 포함한다고 가정합니다.
해당 order가 GTB (Good-Till-Block) order인 경우, 위 값의 10%에 해당하는 가스 양을 추가해야 합니다.
Batch Msg 유형
Batch 메시지 유형의 가스는 메시지 자체의 내용에 따라 달라집니다. 또한
ante_gas는 orders 수에 따라 확장됩니다 (이 공식에 포함된 약 3000 추가 가스로 눈에 띄게):
N - orders 수
MsgBatchCreateSpotLimitOrders:tx_gas = 120_000 + N x 103_000(예: 3개 orders의 경우329_000)MsgBatchCancelSpotOrders:tx_gas = 120_000 + N x 68_000MsgBatchCreateDerivativeLimitOrders:tx_gas = 120_000 + N x 123_000MsgBatchCancelDerivativeOrders:tx_gas = 120_000 + N x 73_000MsgBatchCancelBinaryOptionsOrders:tx_gas = 120_000 + N x 123_000
- Market A에서 3개 spot orders 취소
- Market B에서 2개 derivative orders 생성
- Market C에서 1개 binary-options post-only order 생성
- Spot markets X와 Y의 모든 orders 취소 (X에 2개 orders, Y에 2개 orders)
955_000 gas입니다.