Javascript Primer for Smart Contract Developers