Subscribe to the Ardan Labs Insider

You’ll get our FREE Video Series & special offers on upcoming training events along with notifications on our latest blog posts.

Included in your subscription
  • Access to our free video previews
  • Updates on our latest blog posts
  • Discounts on upcoming events

Valid email required.

Submit failed. Try again or message us directly at

Thank You for Subscribing

Check your email for confirmation.

Ultimate Go: Advanced Engineering Episode 14

Author image

Cheikh Seck


In episode 13, Bill discussed the idea of adding salt to a hash and how modern crypto-currency blockchains use it to better interpret requests sent to nodes. He continued by defining a function called stamp that embeds a salt within a hash. While writing the function, Bill stated that he would use keccak256 as it’s the same algorithm used by Ethereum to generate hash values. Bill will use the APIs provided with Go Ethereum to generate a keccak256 hash. He plans on reusing the stamp function in the future to digitally sign transactions performed on his blockchain.

In this video, Bill begins to write code that will generate a digital signature of a transaction. The objective he expects to attain with this task is the ability for his nodes to reliably determine the origin of a transaction. The first step he’ll take is to write a function to generate a signature that accepts two parameters: the object to be signed and the private key to sign the data with. While implementing this function, Bill demonstrates how a blockchain node extrapolates the public key from a digital signature. Watch and learn how to create your own private ECDSA keys and the steps taken to digitally sign data with Go.

Things you will learn in this video

  • The ideal way to store a private key.
  • The byte segments of an Ethereum digital signature.
  • How Ethereum decodes a digital signature.
  • How to calculate a public key with the Go Ethereum library.
  • How to load a private key from disk and use it to sign an object.


Go Training

We have taught Go to thousands of developers all around the world since 2014. There is no other company that has been doing it longer and our material has proven to help jump start developers 6 to 12 months ahead of their knowledge of Go. We know what knowledge developers need in order to be productive and efficient when writing software in Go.

Our classes are perfect for both experienced and beginning engineers. We start every class from the beginning and get very detailed about the internals, mechanics, specification, guidelines, best practices and design philosophies. We cover a lot about "if performance matters" with a focus on mechanical sympathy, data oriented design, decoupling and writing production software.

Capital One
Red Ventures

Interested in Ultimate Go Corporate Training and special pricing?

Let’s Talk Corporate Training!

Join Our Online
Education Program

Our courses have been designed from training over 30,000 engineers since 2013, and they go beyond just being a language course. Our goal is to challenge every student to think about what they are doing and why.