Momoka Publications

Learn how to use Momoka Publications to speed up your content creation.

Momoka Publications are a specific kind of Lens Publications. They leverage the Momoka Data Scaling solution to enhance throughput and reduce costs.

Unlike other publications, Momoka Publications are created synchronously, which means they are immediately available for retrieval from the Lens API.

The costs for Momoka Publications are covered by the Lens API.

Furthermore, if the Signless Experience is enabled for the authenticated Profile, these publications can be created without requiring a signature.

Currently, it's not possible to self-fund the creation of a Momoka Publication.

When to Use Momoka

Since they are hosted on a non-EVM based L3, Momoka Publications are suitable for content that doesn't require on-chain logic. This includes:

  • Non-collectable posts

  • Most comments, especially those that are simple replies

  • Content without reference restrictions

  • Content without associated Open Actions

Currently, it's not possible to mix on-chain and Momoka Publications in the same thread.

To help you decide when to use a Momoka Publication instead of an on-chain Publication, we've created the following flow chart.

Comment, Mirror or QuoteWhere is the referenced publication?OnchainPostNoYes1 or moreOn MomokaNoneWhat Publication Type are you creating?Do you want to restrict who can reference your publication?How many Open action do you want to use? Create an on-chain publicationCreate a Momoka publicationStart

Use Momoka Publications

If you're using the Lens React SDK in your dApp, it will automatically use Momoka wherever possible, as per the flow chart above. No additional configuration is needed.

For example, when creating a Post using the useCreatePost hook, if there are no Reference policy restrictions, Collect Action settings, or Open Action module settings, the operation will be broadcasted on Momoka.

const { execute, loading, error } = useCreatePost();
// ...
// publish postconst result = await execute({  metadata:    "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"});
// detect if an early error occurredif (result.isFailure()) {  console.error(result.error.message);  return;}
// optional: wait for the transaction to be mined and indexedconst completion = await result.value.waitForCompletion();
// detect if a minining/indexing error occurredif (completion.isFailure()) {  window.alert(completion.error.message);  return;}
// post was createdconst post = completion.value;

This applies to all useCreatePost, useCreateComment, useCreateMirror, and useCreateQuote hooks.

The Lens React SDK also opts for the Signless Experience whenever possible. If not, it will default to a signed experience.

That's it—you've just learned how to use Momoka Publications in Lens API, including their benefits and suitable use cases.