A short introduction to blockchain and Golang

Getting Started

This chapter provides an introduction to blockchain, Golang, Docker, 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 December 1st 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.

As all blockchain ecosystems keep on growing and maturing, product stacks and terminologies evolve. Thus, please be aware that Cosmos is also known as the Interchain. The terms "Cosmos", "Cosmos Ecosystem", and "Interchain" are synonymous with each other, and the various tools available to developers ("the stack") can be referred to collectively as the Interchain Stack.

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.

The Docker introduction will help you understand the concepts behind this tool, as you will be using Docker in the upcoming tutorials.

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.

Introduction to Docker

  • Get a high-level introduction to Docker.

Technical terms

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

Docker intro

  • Get an introduction to Docker and explore how to use it. The main tutorials to come will also rely on using Docker.

All other Academy chapters will be displayed on this page starting December 1st.

# 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.

Finally, so you are ready for the hands-on-exercises, consult the introduction to Docker.

# 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

Industry standard protocol for inter-blockchain communication