Get Started with the Smart Contracts

For smart contract developers who wish to build on top of Story Protocol directly.

In this section, we will briefly go over the core protocol contracts and then guide you through how to start building on top of the protocol. If you haven't yet familiarized yourself with the overall architecture, we recommend first going over the Architecture Overview section.

Story Protocol Smart Contracts

As of the current version, Story Protocol is compatible with all EVM chains, and is written as a set of Smart Contracts in Solidity. There are two repositories that you may interact with as a developer:

  • Story Protocol Core
    • This repository contains the core protocol logic, consisting of a thin IP registry (the "IP Asset Registry"), a set of modules defining logic around licensing, royalties, and metadata, and a module manager for administering module and user access control. Each record in the IP registry is known as an IP asset (IPA), and is uniquely tied to its module data and actions through its IP account, an address deterministically generated based on the underlying IP (which in v0.1-beta is required to be an ERC-721), whose contract logic is built around IP access control and data management. It is important to note that every IPA is uniquely identified using this IP account address - in other words, the IP account address is also the id for the IPA.
  • Story Protocol Periphery
    • Whereas the core contracts deal with the underlying protocol logic, the periphery contracts deal with protocol extensions that greatly increase UX and simplify IPA management. Most importantly, this includes management of IP as NFTs, pre-defined licensing and royalties abstractions, and wrappers around module permissions that make management and transferring of IPAs simpler to deal with. For most common use cases, we recommend using the periphery repository.

Now that you have an understanding of how the protocol code is structured, we recommend you to setup your development environment and then perform your first IP asset registration.

Tutorials

Below you will find a comprehensive list of tutorials for performing common actions within the protocol.