# Build On Mode **Published by:** [Mrfti](https://paragraph.com/@lordofthecoins/) **Published on:** 2023-11-23 **URL:** https://paragraph.com/@lordofthecoins/build-on-mode ## Content Sample code 1// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.8.2 <0.9.0; contract Storage { uint256 number; function store(uint256 num) public { number = num; } function retrieve() public view returns (uint256){ return number; } } Sample code 2// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.20; import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v5.0.0/contracts/token/ERC20/ERC20.sol"; import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v5.0.0/contracts/access/Ownable.sol"; contract Register { function register(address _recipient) public returns (uint256 tokenId) {} } contract ModeToken is Ownable, ERC20 { address feeReceiver = msg.sender; constructor() ERC20("ModeTokenSFSTest", "SFST2") Ownable(msg.sender) { _mint(msg.sender, 1000 * 10 ** 18); //Example amount to mint our ERC20 feeReceiver = msg.sender; //The deployer of the contract will get the NFT to widthraw the earned fees } /// @dev Registers this contract and assigns the NFT to the owner of this contract /// @param sfsContractAddress This address is the address of the SFS contract function registerThis(address sfsContractAddress) public onlyOwner returns (uint256 tokenId){ Register sfsContract = Register(sfsContractAddress); return sfsContract.register(Ownable.owner()); } } ## Publication Information - [Mrfti](https://paragraph.com/@lordofthecoins/): Publication homepage - [All Posts](https://paragraph.com/@lordofthecoins/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@lordofthecoins): Subscribe to updates