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.
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:
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;
}
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.