@Fangting (@triny0111)

Table of Content

You have decided to write an ERC-6900 plugin that can be used by all ERC-6900 compliant accounts. That’s great!

But, where do you start?

You have come to the right place! In this guide, we will walk through how to write an ERC-6900 plugin by writing a multi-owner plugin together in Solidity.

Terminology

Here is a list of ERC-6900 terminology that we will reference throughout the article:

Resources

An ERC-6900 plugin needs to implement required interfaces and abide by ERC-6900 rules for plugins. The reference implementation of ERC-6900 provides a nice [BasePlugin](<https://github.com/erc6900/reference-implementation/blob/main/src/plugins/BasePlugin.sol>) and [IPlugin](<https://github.com/erc6900/reference-implementation/blob/main/src/interfaces/IPlugin.sol#L101>), as well as plugin examples. Those are all good materials to help you understand how to write a plugin.

We will also release a set of dev tools in the coming weeks to make it extremely easy to write a plugin. Stay tuned!

When you are ready, let’s get started.

1. What is an ERC-6900 plugin?

An ERC-6900 plugin is a smart contract that provides up to three types of functions for an MSCA aside from its own functions.