FuelLabs / FuelLabs/fuel-vm

Investigate and start to charge for storage artifacts produced by transactions

Open
#601 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
370
Forks
96
PR merge metrics
No merged PRs in 30d

Description

## Problem overview

Each transaction leaves disk space delta after execution like:

- Inserting a new K/V into a state or asset into balances also has Sparse Merkle Tree storage overhead.
- Contract's bytecode occupies the `Transactions` and `ContractsRawCode` tables.

## Solution

The fuzzing tool https://github.com/FuelLabs/fuel-core/issues/1402 can help us identify other artifacts produced by transaction fields/operations.

In the end, we need to charge the user for these artifacts as part of:
- The opcode price https://github.com/FuelLabs/fuel-vm/issues/602
- Witness data https://github.com/FuelLabs/fuel-core/issues/1161
- As an additional part to `min_fee`.

## Acceptence criteria

Prove that we handled charging for storage artifacts in other issues. If not, we must create a new sub-issue to track the progress.

We can close this issue when all sub-issues are solved.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the linked fuzzing issue and the related opcode-price and witness-data issues. Inventory transaction-produced storage artifacts and determine whether existing sub-issues cover charging for them. Done means all artifacts are handled by charging work, or any gaps are tracked in new sub-issues.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.