# golang blockchain

Published articles for golang blockchain.

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

## Smart Contracts Using Solidity and Go: Basic Contract

DevFeed: [Smart Contracts Using Solidity and Go: Basic Contract](<https://devfeed.tech/articles/smart-contracts-using-solidity-and-go-basic-contract-22186.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/12/smart-contract-solidity-go-basic.html>)

Published: 2022-12-21T00: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>), [Solidity](<https://devfeed.tech/topics/solidity.md>), [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [blockchain](<https://devfeed.tech/tags/blockchain.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [smart-contract](<https://devfeed.tech/tags/smart-contract.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

A tutorial on using Go to create and test basic Solidity smart contracts for Ethereum. It explains how smart contracts expose APIs and manage mutable storage on a blockchain, then focuses on testing a contract API against a simulated Ethereum node.

### Source excerpt

Introduction I made it my mission in 2022 to learn everything I could about blockchain and as the year ends, I feel like I accomplished my goal. Love it, hate it, or don't want to know nothing about it, I think it's important to push your opinions aside and understand how this technology works. Even with the current collapse of several large crypto companies in 2022, blockchain isn't going to disappear. Bitcoin and Ethereum are here to stay. If anything, this past year has shown how entrenched blockchain has become in the world and in people's lives.

## Ultimate Go Episode 6: Blockchain Consensus Algorithms

DevFeed: [Ultimate Go Episode 6: Blockchain Consensus Algorithms](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-6-22192.md>)

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

Published: 2022-12-16T00: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>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Security](<https://devfeed.tech/topics/security.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [consensus](<https://devfeed.tech/tags/consensus.md>), [consensus-algorithm](<https://devfeed.tech/tags/consensus-algorithm.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [poa](<https://devfeed.tech/tags/poa.md>), [pos](<https://devfeed.tech/tags/pos.md>), [pow](<https://devfeed.tech/tags/pow.md>), [proof-of-authority](<https://devfeed.tech/tags/proof-of-authority.md>), [proof-of-work](<https://devfeed.tech/tags/proof-of-work.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This video explains why proof of work can be inefficient as a blockchain grows, focusing on duplicated computation and energy consumption. It introduces proof of stake and proof of authority as alternative consensus algorithms and discusses their role in maintaining valid data in a distributed database.

### Source excerpt

Introduction In the last video, Bill left off talking about proof of work (PoW) algorithms. In a distributed and decentralized environment, PoW used to be the gold standard for a node to participate equitably in a Blockchain. However, with PoW as the number of nodes on the Blockchain increases, the amount of energy waste increases. This is because each node is performing the same computationally heavy calculation and only one node's energy usage is leveraged to write the next block.

## Ultimate Go: Advanced Engineering Episode 5

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

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

Published: 2022-12-16T00: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>), [Databases](<https://devfeed.tech/topics/databases.md>), [Replication](<https://devfeed.tech/topics/replication.md>)

Tags: [atomic](<https://devfeed.tech/tags/atomic.md>), [consensus](<https://devfeed.tech/tags/consensus.md>), [consensus-algorithm](<https://devfeed.tech/tags/consensus-algorithm.md>), [cryptographically-auditable](<https://devfeed.tech/tags/cryptographically-auditable.md>), [database](<https://devfeed.tech/tags/database.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [poa](<https://devfeed.tech/tags/poa.md>), [pos](<https://devfeed.tech/tags/pos.md>), [pow](<https://devfeed.tech/tags/pow.md>), [proof-of-authority](<https://devfeed.tech/tags/proof-of-authority.md>), [proof-of-work](<https://devfeed.tech/tags/proof-of-work.md>)

### AI overview

This video explains how to use blockchain concepts to design a distributed, auditable, synchronized, and scalable database for a dependency manager. It focuses on atomic writes, consensus, and a proof-of-work algorithm, while also discussing the inefficiency of proof of work and the emergence of proof of stake and proof of authority.

### Source excerpt

Introduction In case you missed episode 4, Bill attempted to integrate current database sharing solutions to solve the "database ownership" problem his dependency manager faces. He tried providing copies of the database, implementing a load balancer and replication. While performing these experiments, Bill identified the qualities his dependency manager's database needs to have for users to trust it. He closed episode 4 by stating that his dependency manager needs a database that is distributed, cryptographically auditable, synchronized and scalable. By implementing this Bill hoped to provide greater transparency for his dependency manager.

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

## Sharing Control of a Dependency Manager's Database

DevFeed: [Sharing Control of a Dependency Manager's Database](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-4-22190.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/12/ultimate-go-advanced-engineering-episode-4.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>)

Tags: [audits](<https://devfeed.tech/tags/audits.md>), [data-ownership](<https://devfeed.tech/tags/data-ownership.md>), [data-rights](<https://devfeed.tech/tags/data-rights.md>), [database](<https://devfeed.tech/tags/database.md>), [gatekeeping](<https://devfeed.tech/tags/gatekeeping.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [load-balancing](<https://devfeed.tech/tags/load-balancing.md>), [master](<https://devfeed.tech/tags/master.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [replication](<https://devfeed.tech/tags/replication.md>), [sharding](<https://devfeed.tech/tags/sharding.md>), [slave](<https://devfeed.tech/tags/slave.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>)

### AI overview

This episode explores different methods for sharing control of a dependency manager's database. It examines the benefits, drawbacks, bottlenecks, and disadvantages of each approach, and explains why these methods fall short of solving the database ownership problem.

### Source excerpt

Introduction In episode 3, Bill needed to figure out how to share ownership of his dependency manager's database in a secure and efficient manner. Bill is the only stakeholder with full access to his dependency manager's database. That is, he is the only person with the ability to mutate the database. This is problematic because he can freely edit the database which will make it harder for other users to confidently perform audits. And as a result, reduce the perceived transparency of his dependency manager.

## Ultimate Go: Advanced Engineering Episode 2

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

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

Published: 2022-12-13T00: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>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [cli](<https://devfeed.tech/tags/cli.md>), [database](<https://devfeed.tech/tags/database.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [go](<https://devfeed.tech/tags/go.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>), [hash-collision](<https://devfeed.tech/tags/hash-collision.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [sha-256](<https://devfeed.tech/tags/sha-256.md>), [sha256](<https://devfeed.tech/tags/sha256.md>)

### AI overview

This video tutorial explains how dependency management in Go relates to reproducible builds, blockchain hashing, and trust in a centralized dependency database. It introduces hashes as distributed identifiers, explains collisions, and discusses the use of SHA-256 to reduce collision risk.

### Source excerpt

Introduction In episode 1, Bill finished by describing the dependency management conundrum Go faced in its early days. Prior to the Go team providing the module system, developers were on their own to find a solution. Engineers in the Go community did propose different solutions, but there was no general consensus on which tool to use for dependency management. In this video, Bill will begin to architect a solution to the reproducible build problem. By doing so, you will learn how blockchain hashing works and then Bill will share how centralizing this dependency database will cause other problems. One of these problems is people eventually losing trust in the database because only one stakeholder, Bill, can make changes to it without a means for users to detect the change. He closes this segment with an important question, "how do we establish trust for this CLI's database?"

## Blockchain Concepts Explained Through Go Modules and Software Build Problems

DevFeed: [Blockchain Concepts Explained Through Go Modules and Software Build Problems](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-1-22187.md>)

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

Published: 2022-12-12T00: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>), [P2P](<https://devfeed.tech/topics/p2p.md>), [Database](<https://devfeed.tech/topics/database.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>)

Tags: [blockchain](<https://devfeed.tech/tags/blockchain.md>), [build-blockchain-from-scratch](<https://devfeed.tech/tags/build-blockchain-from-scratch.md>), [cryptographically-auditable](<https://devfeed.tech/tags/cryptographically-auditable.md>), [database](<https://devfeed.tech/tags/database.md>), [digital-wallet](<https://devfeed.tech/tags/digital-wallet.md>), [ecdsa](<https://devfeed.tech/tags/ecdsa.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [genesis-file](<https://devfeed.tech/tags/genesis-file.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [p2p](<https://devfeed.tech/tags/p2p.md>)

### AI overview

This video introduces blockchain concepts, including its append-only and transparent database model, cryptographic auditability, and peer-to-peer network structure without a central authority. It explains these ideas through reproducible, durable, and secure software builds and the Go module system.

### Source excerpt

Introduction In this video, Bill will introduce the concepts of what a blockchain is, the benefits of a blockchain, and the network environment it operates in. Bill describes a blockchain as a single, append-only, transparent, publicly available and cryptographically auditable database. Blockchains operate using a peer to peer (p2p) network with no single node designated as the central authority. To better understand what all that means, Bill begins to work through a familiar problem of creating reproducible, durable, and secure builds that software teams face. It's a real problem the Go team eventually solved with the new module system. As Bill uncovers different problems that present themselves, he introduces different blockchain concepts that can help provide a solution.

## Practical Uses Of Blockchain Technology

DevFeed: [Practical Uses Of Blockchain Technology](<https://devfeed.tech/articles/practical-uses-of-blockchain-technology-22184.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/06/practical-uses-blockchain-technology.html>)

Published: 2022-06-06T00:00:00Z

Content type: article

Language: en

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

Topics: [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [blockchain technology](<https://devfeed.tech/topics/blockchain-technology.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Database](<https://devfeed.tech/topics/database.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [blockchain](<https://devfeed.tech/tags/blockchain.md>), [blockchain-signature-verification](<https://devfeed.tech/tags/blockchain-signature-verification.md>), [blockchain-technology](<https://devfeed.tech/tags/blockchain-technology.md>), [build-blockchain-from-scratch](<https://devfeed.tech/tags/build-blockchain-from-scratch.md>), [cryptographically-auditable](<https://devfeed.tech/tags/cryptographically-auditable.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [database](<https://devfeed.tech/tags/database.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [digital-wallet](<https://devfeed.tech/tags/digital-wallet.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [ecdsa](<https://devfeed.tech/tags/ecdsa.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [genesis-file](<https://devfeed.tech/tags/genesis-file.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

The article explains practical uses of blockchain technology, focusing on a dependency-management verification system. The proposed system hashes code retrieved from a version-control system and compares it with a database record to detect changes. Cryptographic auditing and append-only records are presented as ways to make the database verifiable.

### Source excerpt

Introduction A blockchain is an integrated solution of different computer science problems in the form of a single, append-only, publicly available, transparent, and cryptographically auditable database that runs in a distributed and decentralized environment. I've heard many times that blockchain is a technology looking for a problem to solve. I disagree with that assessment because the tech and computer science behind blockchain has practical uses in everyday engineering problems. One use of this technology that comes to mind is a dependency management verification system.

## Blockchain In Go: Part IV: Fraud Detection

DevFeed: [Blockchain In Go: Part IV: Fraud Detection](<https://devfeed.tech/articles/blockchain-in-go-part-iv-fraud-detection-22183.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/05/blockchain-04-fraud-detection.html>)

Published: 2022-05-05T00: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>), [audit trail](<https://devfeed.tech/topics/audit-trail.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Database](<https://devfeed.tech/topics/database.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [audit-trail](<https://devfeed.tech/tags/audit-trail.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [blockchain-signature-verification](<https://devfeed.tech/tags/blockchain-signature-verification.md>), [build-blockchain-from-scratch](<https://devfeed.tech/tags/build-blockchain-from-scratch.md>), [cryptographic-audit](<https://devfeed.tech/tags/cryptographic-audit.md>), [digital-wallet](<https://devfeed.tech/tags/digital-wallet.md>), [ecdsa](<https://devfeed.tech/tags/ecdsa.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [fraud](<https://devfeed.tech/tags/fraud.md>), [fraud-detection](<https://devfeed.tech/tags/fraud-detection.md>), [genesis-file](<https://devfeed.tech/tags/genesis-file.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [hash](<https://devfeed.tech/tags/hash.md>), [storage](<https://devfeed.tech/tags/storage.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

This fourth post in a series explains how the Ardan blockchain detects forgery or changes to blocks and transaction data. It describes the cryptographic audit trail formed by block-header fields, including hashes linking each block to the previous one, so a node can verify its local blockchain copy and detect mismatches.

### Source excerpt

Introduction In the first three posts, I explained there were four aspects of a blockchain that this series would explore with a backing implementation provided by the Ardan blockchain project. Digital accounts with electronic signatures and verification Transaction distribution and synchronization between computers Redundant storage and consensus by different computers Detection of any fraud to past transactions The first post focused on how the Ardan blockchain provides support for digital accounts, signatures, and verification. The second post focused on transaction distribution and synchronization between different computers. The third post, focused on how the Ardan blockchain handles consensus between different computers which results in the redundant storage of the blockchain database. In this fourth post, I will focus on how the Ardan blockchain can detect forgery or changes to the underlying blocks and transaction data.

## Blockchain In Go: Part III: Redundant Storage And Consensus

DevFeed: [Blockchain In Go: Part III: Redundant Storage And Consensus](<https://devfeed.tech/articles/blockchain-in-go-part-iii-redundant-storage-and-consensus-22182.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/04/blockchain-03-redundant-storage-and-consensus.html>)

Published: 2022-04-19T00: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>), [Databases](<https://devfeed.tech/topics/databases.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>)

Tags: [availability](<https://devfeed.tech/tags/availability.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [blockchain-consensus-protocol](<https://devfeed.tech/tags/blockchain-consensus-protocol.md>), [build-blockchain-from-scratch](<https://devfeed.tech/tags/build-blockchain-from-scratch.md>), [consensus](<https://devfeed.tech/tags/consensus.md>), [database](<https://devfeed.tech/tags/database.md>), [digital-wallet](<https://devfeed.tech/tags/digital-wallet.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang](<https://devfeed.tech/tags/golang.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [proof-of-work](<https://devfeed.tech/tags/proof-of-work.md>), [storage](<https://devfeed.tech/tags/storage.md>), [transactions](<https://devfeed.tech/tags/transactions.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

The third article in a series explains how the Ardan blockchain project handles consensus between computers and uses that process for redundant storage of the blockchain database. It introduces proof of work and proof of stake, discusses safety versus liveness, and notes the consensus approaches used by Bitcoin and Ethereum.

### Source excerpt

Introduction In the first two posts, I explained there were four aspects of a blockchain that this series would explore with a backing implementation provided by the Ardan blockchain project. Digital accounts with electronic signatures and verification Transaction distribution and synchronization between computers Redundant storage and consensus by different computers Detection of any fraud to past transactions The first post focused on how the Ardan blockchain provides support for digital accounts, signatures, and verification. The second post focused on transaction distribution and synchronization between different computers. In this third post, I will focus on how the Ardan blockchain handles consensus between different computers which results in the redundant storage of the blockchain database.

## Blockchain In Go: Part II: Transaction Distribution and Synchronization

DevFeed: [Blockchain In Go: Part II: Transaction Distribution and Synchronization](<https://devfeed.tech/articles/blockchain-in-go-part-ii-transaction-distribution-and-synchronization-22181.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/03/blockchain-02-transaction-distribution-synchronization.html>)

Published: 2022-03-08T00: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>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [API](<https://devfeed.tech/topics/api.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [build-blockchain-from-scratch](<https://devfeed.tech/tags/build-blockchain-from-scratch.md>), [cache](<https://devfeed.tech/tags/cache.md>), [digital-wallet](<https://devfeed.tech/tags/digital-wallet.md>), [distribution](<https://devfeed.tech/tags/distribution.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [http](<https://devfeed.tech/tags/http.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [json](<https://devfeed.tech/tags/json.md>), [mempool-blockchain](<https://devfeed.tech/tags/mempool-blockchain.md>), [network](<https://devfeed.tech/tags/network.md>), [project](<https://devfeed.tech/tags/project.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [series](<https://devfeed.tech/tags/series.md>), [synchronization](<https://devfeed.tech/tags/synchronization.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

This second article in a blockchain series explains how the Ardan blockchain distributes and synchronizes transactions between nodes. It describes submission through a wallet, storage in an in-memory mempool, signaling through a goroutine, and propagation to other nodes. It also introduces the HTTP-based REST API used for wallet and node communication.

### Source excerpt

Introduction In the first post, I explained there were four aspects of a blockchain that this series would explore with a backing implementation provided by the Ardan blockchain project. Digital accounts with electronic signatures and verification Transaction distribution and synchronization between computers Redundant storage and consensus by different computers Detection of any fraud to past transactions The first post focused on how the Ardan blockchain provides support for digital accounts, signatures, and verification. In this second post, I will focus on transaction distribution and synchronization between different computers (blockchain nodes).

## Blockchain In Go: Part I: Digital Accounts, Signatures and Verification

DevFeed: [Blockchain In Go: Part I: Digital Accounts, Signatures and Verification](<https://devfeed.tech/articles/blockchain-in-go-part-i-digital-accounts-signatures-and-verification-22180.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/02/blockchain-01-digital-accounts-signatures-verification.html>)

Published: 2022-02-12T00: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>), [Code](<https://devfeed.tech/topics/code.md>), [Ethereum](<https://devfeed.tech/topics/ethereum.md>)

Tags: [blockchain](<https://devfeed.tech/tags/blockchain.md>), [blockchain-signature-verification](<https://devfeed.tech/tags/blockchain-signature-verification.md>), [build-blockchain-from-scratch](<https://devfeed.tech/tags/build-blockchain-from-scratch.md>), [code](<https://devfeed.tech/tags/code.md>), [digital-wallet](<https://devfeed.tech/tags/digital-wallet.md>), [ecdsa](<https://devfeed.tech/tags/ecdsa.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [genesis-file](<https://devfeed.tech/tags/genesis-file.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

This tutorial series introduces the Ardan blockchain project, a Go reference implementation intended for learning rather than production use. Part I explains how the project supports digital accounts, electronic signatures, and verification, using Ethereum as a reference.

### Source excerpt

Introduction This is the first post in a series that will explore the semantics and implementation details of the Ardan blockchain project. The code is a reference implementation of a blockchain and not intended to mirror any specific blockchain in use today. Even though the code has been engineered with production level coding standards, I wouldn't use this project for anything more than learning. I am using the Ethereum project as a reference and have taken inspiration from that code. I'm hoping that understanding the code inside the Ardan blockchain will give you enough knowledge to understand the code that runs Ethereum.