A short introduction to blockchain and Golang

Getting Started

This chapter provides an introduction to blockchain, Golang, and some of the technical terms you will encounter throughout the Academy program.

It is entirely optional and intended as a head start for those who might need it.

Do you want to refresh your blockchain knowledge? This chapter provides a general introduction to blockchain technology. Feel free to skip this chapter if you do not need a refresher and start your journey with the Week 1 content, which will be available by September 15th at 4 pm UTC when the program officially starts.

Working with Cosmos also means working with Golang. If you have not worked much with Go, do not worry.

This introduction to Golang is meant as a useful overview of Go and as such, a starting point for your journey in the Cosmos Ecosystem and developing with the Cosmos SDK.

You can also use it as a refresher.

You can find a short section at the end of the chapter with good-to-know dev terms.

# In this chapter

In this chapter, you will:

Blockchain Basics

  • Understand what a blockchain is.
  • Learn how blockchain relates to the double-spending problem.
  • Recap the historic development of blockchain technology.
  • Dive into the cryptographic fundamentals that make blockchain possible.
  • Discover the differentiating characteristics of public and managed chains.
  • Revisit how consensus is established in distributed networks.

Introduction to Go

  • Get a high-level introduction to Golang.
  • Discover basic types, string formatting, functions, and methods.
  • Begin exploring interfaces in Go.
  • Find an introduction to control structures in Go with a closer look at if, switch, and for statements.
  • Learn more about arrays and slices, as well as standard packages Go offers.
  • Take a look at Go's built-in concurrency by exploring Goroutine and channels.

Technical terms

  • Review some technical terms essential when developing in Cosmos like LCD, RPC, Protobuf, gRPC, and Amino.

All other Academy chapters will be displayed on this page starting September 15th.

# Next up

First, you can take a look at blockchain technology by starting with the section on Blockchain 101.

Then, for a quick overview on Golang, begin with the section Go Introduction - First Steps.

In case you want to take a look at some technical terms, go ahead and visit the section Good-To-Know Dev Terms.

# Developer Resources

Cosmos SDK
Cosmos SDK
A framework to build application-specific blockchains

Tendermint Core
Tendermint Core
Blockchain consensus engine and application interface

Cosmos Hub
Cosmos Hub
First interconnected public blockchain on the Cosmos network

IBC
IBC
Industry standard protocol for inter-blockchain communication