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.
Sponsored and Signless
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.
Use Momoka Publications
- React SDK
- JavaScript SDK
- API
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.