1 of 13

Metabased Sequencer Modules WorkshopLet’s create a module

Gus

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

2 of 13

Overview

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

  1. Create a Metabased rollup from a smart contract��
  2. Customize rollup behavior via a module��
  3. Understand transaction flow

2

3 of 13

Create a Rollup from a Smart Contract

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

Deploy the Metabased rollup contract:

MetabasedSequencerChain.sol��

Now you can extend behavior via a module

3

4 of 13

Customize Rollup Behavior via a Module

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

Just need to implement one function:�

function isAllowed(address proposer) external view returns (bool);

��

4

5 of 13

Customize Rollup Behavior via a Module

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

Example from NFTOwnershipSequencerModule.sol

/**

* @notice Checks if the caller is allowed based on their NFT ownership.

* @param proposer The address of the proposer to check.

* @return bool indicating if the proposer is allowed.

*/

function isAllowed(address proposer) external view override returns (bool) {

IERC721 nft = IERC721(nftAddress);

if (nft.balanceOf(proposer) < minimumOwnership) {

revert InsufficientNFTOwnership();

}

return true;

}

��

5

6 of 13

How To Create Module

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

Clone the repo:

https://bit.ly/mbs-repo

6

7 of 13

How To Create Module

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

Set up your environment

QR for video:

https://bit.ly/mbs-intro��

7

8 of 13

Sign Up

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

Set up your environment

QR for video:

https://bit.ly/mbs-contact��

8

9 of 13

Understanding Transaction Flow

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

Deploy Module on Metabased dev chain

  1. Run command to fork the chain locally

> make fork-mt

2. Open a new terminal window and run deployment script

> make run-nft-mod

9

10 of 13

Fork the Metabased Testnet - make fork-mt

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

10

11 of 13

Run deployment script - make run-nft-mod

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

11

12 of 13

Conclusion - 3 Takeaways

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

  • Create a Metabased rollup from a smart contract��
  • Customize rollup behavior via a module��
  • Understand transaction flow

12

13 of 13

Thank you!

Gus

Edge City Lanna - Chiang Mai - November 5, 2024

© 2024 Syndicate, Inc. All rights reserved.

13