The block.one team has been working around the clock to finish up EOS Dawn 3.0 in preparation for several months of testing prior to releasing EOSIO 1.0 in June. Developers will notice significant improvements from prior releases. One of those improvements relates to how contracts are defined.
Below I have included a minimal viable token contract. This enables the creator to issue tokens and users to transfer them around. It should be noted that this minimal viable token contract does not conform to our proposed token standard. This is meant to be an example.
1. Actions are now simple methods on a class
2. No need to use serialization macros
3. Significantly shorter code
4. EOSIO_ABI macro exposes your actions
5. Database access now mirrors boost::multi_index_container
6. The code is significantly shorter than previous examples