Contract Standards Overview
Take a look at our Solidity Examples repo or some great template code to get you started
info
It is recommended User Applications implement NonblockingLzApp which allow you to easily override two functions to add send + receive functionality to your contracts!