Introducing the Orbs Contributor Series

Orbs is a decentralized public blockchain where open source plays a key part. Our goal is to expand the Orbs ecosystem as much as possible and onboard as many contributors to the project as possible. A truly decentralized project is one where any individual is able to contribute.

Making a project open source is not enough. Open source is more than mechanics, it’s about culture. This culture starts by open sourcing the Orbs protocol specifications, which enables every individual to understand the details of how the system works. It continues with open sourcing all of the reference implementations — we have one in Go language and one in TypeScript. It then continues by open sourcing the entire engineering management of the team to give full transparency as to what we’re working on — we do this with Taiga, a very cool project management tool optimized for open source.

Doing all of the above is not enough. We need to onboard external contributors the same way we onboard our internal core team. That’s why we decided to start sharing publicly some of the internal onboarding sessions we do. This is the “Orbs Contributor Series” — blog posts and video sessions to help onboard new Orbs contributors.

This session — Concurrency in Go Language

The latest reference implementation we’re working on is written in Go language. Go is designed for highly concurrent systems with lots of moving parts. Orbs is no different — as a decentralized and distributed network, the Orbs protocol relies on many asynchronous processes. In order to drive performance to its max, concurrency is utilized at the extreme.

This session is an introduction to concurrency patterns in Go and how we utilize them in the Orbs code base. The session assumes basic knowledge of the Go language syntax and basic familiarity with its concurrency primitives such as goroutines and channels.

Found this Interesting? Check out our projects on GitHub: