A short introduction to blockchain, Golang, and Docker

Getting Started

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

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

If you do not need a blockchain refresher, feel free to start your journey with the Week 1 content, which will be available on November 2nd at 4 pm UTC when the program officially starts.

Working with the Cosmos SDK also means working with Golang. If you have not worked much with Go, do not worry. The introduction to Golang is meant as a useful overview of Go, and a starting point for your journey in the interchain 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 find a short section at the end of the chapter with good-to-know dev terms.

As all blockchain ecosystems keep on growing and maturing, product stacks and terminologies evolve. Thus, please be aware that Cosmos is now known as the interchain. The terms "Cosmos", "interchain 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.

However, blockchains created using the Cosmos SDK are typically referred to as "Cosmos chains".

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

Docker introduction

  • Get a high-level 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 November 2nd.

# 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

Blockchain consensus engine and application interface

Cosmos Hub
Cosmos Hub
First interconnected public blockchain in the Interchain network

Industry standard protocol for inter-blockchain communication