Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Gas estimation for blob submission

Open
#17 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
go
Domain
blockchain

Research direction

Start by reading celestia-app x/blob/types/payforblob.go, especially DefaultEstimateGas() and GasToConsume(), then locate the repository's blob submission and configuration entry points. Done means a pure deterministic estimate, configurable constants and gas-price settings, and unit tests matching known celestia-app outputs without requiring network calls.

Written by the indexing model from the issue text.

Description

Summary

Implement deterministic gas estimation for MsgPayForBlobs transactions.

Parent: #4

Design

Recreate the gas estimation formula from scratch rather than importing celestia-app:

gas = gasToConsume(blobSizes, gasPerBlobByte) + (txSizeCostPerByte * bytesPerBlobInfo * numBlobs) + pfbGasFixedCost

Constants (from celestia-app, may need updating per network version):

  • pfbGasFixedCost = 75,000
  • bytesPerBlobInfo = 70
  • gasPerBlobByte = 8
  • txSizeCostPerByte — governance parameter, query from chain or configure
Gas price
  • Configurable default gas price in config
  • Optional multiplier/buffer (e.g., 1.1x) to reduce "insufficient fee" rejections
  • No dependency on celestia-node's gas estimator gRPC service
  • Optionally query QueryMinimumGasPrice() from a celestia-app RPC endpoint as a floor
[submission]
gas_price = 0.002         # utia per gas unit
gas_price_buffer = 1.1    # 10% buffer over minimum
max_gas_price = 0.2       # safety cap

Requirements

  • Pure function: given blob sizes, return gas estimate
  • No network calls required (deterministic)
  • Unit tests validating against known celestia-app outputs
  • Configurable constants for network upgrades

References

  • celestia-app x/blob/types/payforblob.goDefaultEstimateGas(), GasToConsume()
Dominant language
Go
Stars
4
Forks
0
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from evstack/apex

All issues in evstack/apex

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.