moonbeam-foundation/moonbeam

[HELP] What's the canonical way to use a moonbeam pallet as dependency?

Closed this issue · 3 comments

Hi!

We currently have a runtime, and we want to use some of your pallets in our runtime. Nevertheless, the moonbeam pallets internal dependencies use are from your polkadot-sdk fork. This causes a lot of compilation issues because Rust interprets the same types as different types.

One solution we're try is to patch in Cargo.toml any single polkadot-sdk dependency we use. Nevertheless, this forces us to use either:

  • your polkadot-sdk fork from now on in advance just for adding some minor pallets.
  • modify your fork to use the real polkadot-sdk, but with the risk of missing some addition you did in the fork.

Then is there a recommended way to use any of your pallets easily in other projects?

Hello @lemunozm ,
we do maintain our fork of the polkadot-SDK to be able to include important commits that are not yet merged into an official release, or that we need (eg. security fix) that are in a release we do not support yet. That means that this fork is specifically done for the Moonbeam project.

I don't have specific recommendations, it depends on your project/team/time, but to start I would patch it to use the upstream polkadot-SDK. Eventually, the changes in our fork will end up upstream.

hope it helps

Thanks for the answer 👍🏻

Closing