August 2019
Intermediate to advanced
486 pages
13h 52m
English
The subscription pattern is used when you need to provide a periodic subscription fee for any kind of service.
A contract can provide different kinds of features or a premium service. Any subscriber can subscribe for services that your contract provides. To enable this, you can charge a subscription fee for a period of time from the subscriber. To implement this service, you can create a Subscription contract, as we have developed in the following code example:
contract Subscription is Ownable { using SafeMath for uint; //subscriber address => expiry mapping(address => uint) public subscribed; address[] public subscriptions; uint subscriptionFeePerDay = 1 ether; modifier whenExpired() { require(isSubscriptionExpired(msg.sender)) ...