KoruDAO is a set of smart contracts that enable Lens profile holders to post to the protocol on their behalf based on a set of arbitrary rules programmed into the smart contract by the handle owner.

If a user meets the criteria, they will be able to mint an NFT that will give them the right to post new publications to the Lens handle / profile.

Resources

Forking and deploying KoruDAO

For teams and developers wanting to implement this protocol, they can fork the contracts, deploy them, and the connect and customize the UI to suit their needs.

The flow looks like this:

  1. A developer deploys the KoruDAO contract with the ID for handle, and baseUri in the deployment, hardcoded into the contract.

There are other params that will be used along with these for the deployment that will define the rules around who can mint an NFT, like the minimum number of followers and minimum number of publications.

You can also choose to update the contract with arbitrary rules that you might want to have that are outside of the original contract.

You can view the deployment scripts here.

You can view the default requirements / configuration in the contract here:

// MintRestrictions.sol
constructor(
  bool _restricted,
  uint256 _koruDaoProfileId,
  uint256 _minPubCount,
  uint256 _minFollowers,
  ILensHub _lensHub
) {
  restricted = _restricted;
  koruDaoProfileId = _koruDaoProfileId;
  minPubCount = _minPubCount;
  minFollowers = _minFollowers;
  lensHub = _lensHub;
}
  1. After the contract is deployed, the front end connects to the newly deployed KoruDAO contract using the deployed contract ID. You can then easily configure and customize the front end for your community or application. https://github.com/gelatodigital/koru-dao-ui
  2. A user can mint an NFT and begin posting to that handle if they meet the set of arbitrary rules programmed into the contract.

Again, the contract has a few rules configured by default, but these can be customized by you: 1. Has a Lens profile 2. Are following your profile 3. Have published x number of publications 4. Have the minimum x number of required followers 3. Once the user mints the NFT, they can then post on behalf of the account.