Building on Avalanche
If you’re here, you probably already know what Avalanche is, so I won’t delve too deep into what the broader Avalanche project entails.
Instead the point of this post is to introduce you to some of the concepts you’ll need to familiarize yourself with in order to get started developing Avalanche projects.
Languages
The programming languages you’ll need to learn really will depend on what you’re developing within the ecosystem. Avalanche offers an ability to build completely new use cases and as such you may not need to learn all these languages but rather focus on what you need for what githyou’re building.
Go is used for a few purposes. Most of Ava labs codebase is based on Go and if you’d like to get into the infrastructure side of things, it’s definitely recommended to have some Go knowledge. If you’re a validator, you probably don’t need to understand Go but having good shell experience will help.
Javascript will be essential for building any front end applications on top of the Avalanche blockchain. Ava labs has a set of Vue components, but Pangolin uses Svelte. So framework’s shouldn’t matter too much based on what you’re building.
Solidity will prove invaluable if you’re developing an application on the C-chain. A basic understanding on Smart Contracts will really help broaden your knowledge of what is possible.
Toolset
Operating system — This really depends on what you’re doing. However I’ll go out on a limb here and say that Mac and Linux are preferable to Windows. The reason is that as soon as you start developing anything that requires a local node, Windows is going to run into a few issues. Avalanchego is the local implementation of the blockchain and it is a Go executable. However on Windows to run it you’ll need to use the WSL (Windows Subsystem for Linux). While it works, I’m not sure how well it will scale and it may need more tweaking. There is a Windows client in the works, so it may be out by the time you read this.
Explorers — When you start developing you’re going to need to use a tool to see the effect of your development. Currently there are three explorers:
- VScout — This is an great tool if you’re a Validator.
- Explorer — Ava labs explorer. This is really good and currently the only place whereby you can view Solidity contracts on the C-Chain. This is invaluable if you’re building a smart contract Dapps. Have a look at the following to see Pangolin’s Factory contract https://cchain.explorer.avax.network/address/0xefa94DE7a4656D787667C749f7E1223D71E9FD88/contracts
- Avascan — A community developed explorer and iterating very fast. Currently is very good, by the time you read this, it will probably be even more awesome :)
Postman — A lot of tasks can be done via the HTTP API calls. Postman will allow you to get up to speed and run these tasks quickly and easily.
In the next post I’m going to talk a bit about Pangolin and the architecture.