Developing Web3: Coding with modern blockchains & protocols from the ground up