# genesis record

Published articles for genesis record.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Ultimate Go: Advanced Engineering Episode 20

DevFeed: [Ultimate Go: Advanced Engineering Episode 20](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-20-22209.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/01/ultimate-go-advanced-engineering-episode-20.html>)

Published: 2023-01-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [servers](<https://devfeed.tech/topics/servers.md>)

Tags: [account-balance](<https://devfeed.tech/tags/account-balance.md>), [bitcoin](<https://devfeed.tech/tags/bitcoin.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [blockchain-rest-api](<https://devfeed.tech/tags/blockchain-rest-api.md>), [blockchain-state](<https://devfeed.tech/tags/blockchain-state.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [genesis-block](<https://devfeed.tech/tags/genesis-block.md>), [genesis-record](<https://devfeed.tech/tags/genesis-record.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [http](<https://devfeed.tech/tags/http.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [state](<https://devfeed.tech/tags/state.md>), [transactions](<https://devfeed.tech/tags/transactions.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

This video demonstrates how to launch a blockchain node, define an in-memory database for account information, manage blockchain state, and access the blockchain over HTTP through a REST API.

### Source excerpt

Introduction In episode 19, Bill designed and implemented the data structure for an account on his blockchain. This type will have a nonce field to ensure incoming transactions are valid and performed in order. Since the database will be stored in memory and not on disk, the balances in these accounts are reconstructed with information from previous transactions and the genesis block. In this video, Bill takes all the theories discussed in this series and applies them by launching his first blockchain node. Bill starts by defining a database type that will house all the account information on his blockchain with the initial values populated by the genesis record. Once he is finished, Bill will add a new package named state and, as the name implies, it will manage the state on his blockchain. Watch and learn how to launch a blockchain node and interface with it over HTTP.

## Defining Go Types and Loading Blockchain Settings from JSON

DevFeed: [Defining Go Types and Loading Blockchain Settings from JSON](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-10-22199.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/01/ultimate-go-advanced-engineering-episode-10.html>)

Published: 2023-01-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [data](<https://devfeed.tech/topics/data.md>), [Ethereum](<https://devfeed.tech/topics/ethereum.md>)

Tags: [bitcoin](<https://devfeed.tech/tags/bitcoin.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [blockchain-asset](<https://devfeed.tech/tags/blockchain-asset.md>), [clean-code](<https://devfeed.tech/tags/clean-code.md>), [code](<https://devfeed.tech/tags/code.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [data-type](<https://devfeed.tech/tags/data-type.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [genesis-record](<https://devfeed.tech/tags/genesis-record.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [go-types](<https://devfeed.tech/tags/go-types.md>), [json](<https://devfeed.tech/tags/json.md>), [load](<https://devfeed.tech/tags/load.md>), [types](<https://devfeed.tech/tags/types.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

This video explains how to define Go types for a blockchain's genesis record and load the blockchain's settings from a JSON file. It also discusses choosing suitable built-in types for struct fields, including limitations of uint64.

### Source excerpt

Introduction In episode 9, Bill introduced the idea of the genesis record and its role in his blockchain. As a recap, the genesis record will be used to customize the settings of his blockchain. The approach Bill takes here is similar to how Ethereum operates because he is storing the record in JSON format. In this video, Bill starts by defining the Go types his blockchain will use. The first type he defines will represent the genesis record. This type will be populated by the data found in the genesis record and will ensure Bill reaps all the benefits of using strongly typed language. Before he proceeds with the next type definition, he highlights the possible limitations he can encounter by using type uint64. Watch to learn how to write idiomatic and durable Go code that will load your blockchain's settings from disk.

## Ethereum Identity Verification with ECDSA for a Decentralized Blockchain

DevFeed: [Ethereum Identity Verification with ECDSA for a Decentralized Blockchain](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-11-22200.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/01/ultimate-go-advanced-engineering-episode-11.html>)

Published: 2023-01-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>)

Tags: [bitcoin](<https://devfeed.tech/tags/bitcoin.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [blockchain-asset](<https://devfeed.tech/tags/blockchain-asset.md>), [digital-signature](<https://devfeed.tech/tags/digital-signature.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [ecdsa](<https://devfeed.tech/tags/ecdsa.md>), [ecdsa-encryption](<https://devfeed.tech/tags/ecdsa-encryption.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [ethereum-authentication](<https://devfeed.tech/tags/ethereum-authentication.md>), [genesis-record](<https://devfeed.tech/tags/genesis-record.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [identity](<https://devfeed.tech/tags/identity.md>), [identity-management](<https://devfeed.tech/tags/identity-management.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

This video tutorial explores how Ethereum confirms user identity and explains how ECDSA can verify transaction authenticity without relying on a central key store.

### Source excerpt

Introduction In episode 10, Bill dove into the technical implementation of his genesis record and defined a custom Go type representing the record. While doing so, he provided an in-depth look at the reasoning behind the fields he included.. After declaring this type, Bill wrote a function that loads the genesis record from disk and onto memory. His function will use the standard library encoding/json package to load JSON data from a hard-coded file path.

## Ultimate Go: Advanced Engineering Episode 9

DevFeed: [Ultimate Go: Advanced Engineering Episode 9](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-9-22195.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/12/ultimate-go-advanced-engineering-episode-9.html>)

Published: 2022-12-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Bitcoin](<https://devfeed.tech/topics/bitcoin.md>), [Ethereum](<https://devfeed.tech/topics/ethereum.md>)

Tags: [bitcoin](<https://devfeed.tech/tags/bitcoin.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [blockchain-asset](<https://devfeed.tech/tags/blockchain-asset.md>), [build](<https://devfeed.tech/tags/build.md>), [building](<https://devfeed.tech/tags/building.md>), [code](<https://devfeed.tech/tags/code.md>), [concepts](<https://devfeed.tech/tags/concepts.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [genesis](<https://devfeed.tech/tags/genesis.md>), [genesis-json](<https://devfeed.tech/tags/genesis-json.md>), [genesis-record](<https://devfeed.tech/tags/genesis-record.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [implement](<https://devfeed.tech/tags/implement.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [project](<https://devfeed.tech/tags/project.md>), [project-layout](<https://devfeed.tech/tags/project-layout.md>), [reuse](<https://devfeed.tech/tags/reuse.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>)

### AI overview

This video tutorial covers the initial layout of a blockchain project in Go, including creating a genesis record and explaining its role. It also introduces fundamental blockchain verifications.

### Source excerpt

Introduction In episode 8, Bill wanted to build a blockchain in Go and began to lay the groundwork for the project. Go is a good choice because its standard library has the necessary network and cryptographical functionality required to build a blockchain. Unlike the previous segment, Bill plans to use this blockchain to manage accounts and balances with hypothetical assets. Bill will reuse concepts from ethereum, bitcoin and the previous segment of the series to implement this blockchain.

## Ultimate Go: Advanced Engineering Episode 3 -- Adding a Cryptographic Audit Trail to a Dependency Manager Database

DevFeed: [Ultimate Go: Advanced Engineering Episode 3 -- Adding a Cryptographic Audit Trail to a Dependency Manager Database](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-3-22189.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/12/ultimate-go-advanced-engineering-episode-3.html>)

Published: 2022-12-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [audit trail](<https://devfeed.tech/topics/audit-trail.md>), [audit](<https://devfeed.tech/topics/audit.md>)

Tags: [audit](<https://devfeed.tech/tags/audit.md>), [audit-trail](<https://devfeed.tech/tags/audit-trail.md>), [cryptographic-audit](<https://devfeed.tech/tags/cryptographic-audit.md>), [cryptographically-auditable](<https://devfeed.tech/tags/cryptographically-auditable.md>), [database](<https://devfeed.tech/tags/database.md>), [genesis-record](<https://devfeed.tech/tags/genesis-record.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [hash-algorithms](<https://devfeed.tech/tags/hash-algorithms.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [record-chaining](<https://devfeed.tech/tags/record-chaining.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

This video explains how to add a previous-record hash to a dependency manager database, chaining records into a cryptographic audit trail. Recomputed hashes can reveal database changes, while the genesis record has no previous hash.

### Source excerpt

Introduction In episode 2, Bill designed a database for his dependency manager to enable Go developers to have reproducible,durable and secure builds. This database will house the hash value for each of the dependencies stored. During runtime, these hash values are compared with the dependencies a user has locally. Bill's tool makes this comparison to make sure the user has the right version of the dependency. Each team making use of Bill's dependency manager will have access to its database, however, his database lacked any means to reliably perform audits.