OPTIMAL BLOCKCHAIN FOR DISTRIBUTED APPLICATION DEVELOPMENT: A FULL GUIDE