Skip to content
This repository has been archived by the owner on Dec 20, 2023. It is now read-only.

BundleOverride with ipc-actors type for automatic loading #72

Merged
merged 8 commits into from
Feb 16, 2023

Conversation

adlrocha
Copy link
Contributor

Depends on: #71

Goal

Remove the need of having to set the LOTUS_BUILTIN_ACTORS_V10_BUNDLE every time that we run Eudico. The default bundle for eudico should be the one including the IPC actors, because the gateway is spawned in genesis, and if we don't set a bundle including the IPC actors running eudico will always fail.

Implementation

To do this we pass a new Override of type ipc-actors to tell Lotus that from a specific network version it should override the actor bundle with the one including the IPC actors. This is the cleanest approach I could find to ship the bundle with the right version of our actor bundle and avoid major changes in the Lotus code to prevent future rebasing pains (thus the use of go:embed and a "fake path" to trigger the loading).

It is worth noting that as the default behavior is to spawn the gateway actor in genesis, not using an IPC-compatible bundle will break eudico. This can be easily fixed by adding a flag to determine the type of bundle being used, but I don't think it is worth at this point (but happy to be convinced otherwise).

@adlrocha adlrocha requested review from dnkolegov and hmoniz February 13, 2023 16:47
Copy link
Contributor

@dnkolegov dnkolegov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! But fix linting errors please!

@adlrocha adlrocha merged commit 2073a1f into bundle_genesis Feb 16, 2023
@adlrocha adlrocha deleted the adlrocha/load-ipc-bundle branch February 16, 2023 08:10
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants