filecoin-project / filecoin-project/ref-fvm

ref-fvm version selector utility

Open
#620 1 comment 0 reactions 0 assignees View on GitHub
Difficulty: Medium Hint: Needs design Kind: Feature Topic: Versioning
Dominant language
Rust
Stars
422
Forks
154
Avg merge
2d 16h
Merged PRs (30d)
12

Description

## Context

The version policy we agreed on in #358 bumps the major version of ref-fvm whenever ref-fvm changes are needed to accompany a new network version. This means that clients will need to depend and select across several ref-fvm versions to (a) ride network upgrades, and to (b) provide historical chain support. We should make it easy for client implementations to select the right ref-fvm version based on network epochs/NVs.

## Proposal

Build a separate crate `fvm-selector` within this repo that acts a selector and provides a standard, unified interface that can be shimmed to support multiple backing Engines, MachineContexts, Machines, Executors, etc.

More definition needed.

Contributor guide

Open the contributing guide

Research direction

Start by reading the version policy in issue #358 and clarify how network epochs/NVs map to ref-fvm versions. Define the fvm-selector crate's interface and its support for multiple Engines, MachineContexts, Machines, and Executors before implementation; done means the selection behavior and compatibility boundaries are specified.

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.