This is a step-by-step guide to protocol and protocol supported application deployments. This guide is broken down into modules to make it easier to follow and is listed in the proper deployment order. Please review overall documentation and deployment information prior to running individual deployment scripts. A demo has also been provided which deploys the protocol and a fully configured example application.

  1. Deploy the protocol if it doesn’t exist yet. Go to Deploy Protocol.
  2. Then, deploy your Application Manager. Go to Deploy Application Manager.
  3. Optionally, setup the pricing module for your application. Go to Deploy Pricing.
  4. Now you can start deploying your application tokens. Go to Deploy Token Handlers and Deploy Tokens.
  5. Once you have your application and your tokens deployed, you can start creating and applying rules to your application and tokens. Go to Create App Rules and Create NFT Rules.
  6. (Optional) To see what’s available in deployment of the scripts, see Deployment scripts index.

Your application is ready to roll!

NOTE: When integrating the protocol as a library in your repo, there are certain configuration requirements that must be followed for compilation. The following four contract imports must be configured as:

import {AppManager} from "forte-rules-engine/client/application/AppManager.sol";
import "forte-rules-engine/client/application/ProtocolApplicationHandler.sol";
import "forte-rules-engine/client/token/handler/diamond/HandlerDiamond.sol";
import {RuleProcessorDiamond} from "forte-rules-engine/protocol/economic/ruleProcessor/ruleProcessorDiamond.sol";

When importing these contracts in the pairs above into the src directory of your repo it is essential that you follow this inheritance structure to ensure there are no compiler issues.