Before we begin, we need to cover the topic of smart contracts; what is it? A smart contract is a set of functional code (not object-oriented!), written to the blockchain via transaction and callable by wallets thereafter. A major advantage of NEO is that it supports many of today’s most well known languages such as C#, Python, Java … Our articles focus on the use of Python.
What is NEP-5? Similar to ERC20 for Ethereum, NEP-5 is a currency standard, recommending that you implement a couple of predefined functions (name, symbol, balanceOf, transfer … ). As with any standardization system, this allows digital wallets to focus on its demographic preferences without worrying about the token, while you [o lovely smart contract developer] does not need to worry about the user experience!
Lastly we cannot talk about deployment without talking about the compiler! We will need a compiler because NEO nodes do not understand Python or Java or C# or any other high level language. Instead, it understands byte code and it is the job of the compiler to translate it for us! Our compiler of choice will be Neo-boa: taking our NEP-5 compliant python smart contract, and turn it into byte-code or machine readable code.
Workflow summary: code → compile → deploy! let’s start!