BlockChain
文章平均质量分 94
IQer_AC
这个作者很懒,什么都没留下…
展开
-
使用go语言构建区块链 Part4.事务1
事务是比特币的核心, 区块链的唯一目的是以安全可靠的方式存储交易, 因此在交易创建后没有人可以修改. 今天我们开始实现事务, 但由于这是一个相当大的主题, 我将它分成两部分: 在这一部分中, 我们将实现事务的通用机制, 在第二部分中, 我们将研究细节.此外, 由于代码的变化是巨大的, 在这里描述它们是没有意义的. 你可以在这里查看到所有的变化.虽然不容易, 但是现在终于实现交易了!地址(address). 我们现在还没有基于私钥(private key)的真实地址.原创 2023-05-24 20:28:43 · 1029 阅读 · 0 评论 -
使用go语言构建区块链 Part3.持久化与命令行接口
到目前为止, 我们已经建立了一个带有工作量证明系统的区块链, 这使得挖矿成为可能. 我们的实现越来越接近于一个功能齐全的区块链了. 但它仍然缺乏一些重要的功能. 今天我们将开始再数据库中存储区块链, 之后我们将实现一个简单的命令行接口来执行区块链的操作. 从本质上讲, 区块链是一个分布式数据库. 我们将忽略’分布式’的部分, 而专注于’数据库’的部分.下次我们将实现: 地址, 钱包和(可能会有)事务.敬请期待!LinksBitcoin Core数据存储boltdbflag。原创 2023-05-24 15:07:59 · 760 阅读 · 1 评论 -
使用go语言构建区块链 Part2.工作量证明
在上一篇文章中, 我们构建了一个非常简单的数据结构, 这是区块链数据库的本质.并且我们可以通过它们之间的链式关系来添加区块: 每个区块都链接到前一个区块.哎, 我们的区块链实现有一个重大缺陷: 向链中添加区块既容易又便捷. 区块链和比特币的关键之一是增加新的区块是一项艰难的任务. 今天我们将修复这个缺陷.原创 2023-05-24 11:25:15 · 735 阅读 · 0 评论 -
使用go语言构建区块链 Part1.基础原型
区块链技术是21世纪最具变革型的技术之一,它仍处于成长阶段, 其潜力尚未完全实现.从本质上说, 区块链是一个分布式的记账数据库.但它的独特之处在于它不是一个私有数据库,而是一个公共数据库, 也就是说, 每个使用它的人都有它的完整或部分副本.而且,只有在征得其他数据库维护者的同意的情况下, 才能添加新记录.此外, 正是区块链使加密货币和智能合约成为可能.在本系列文章中, 我们将构建一个基于简单区块链实现的简易的数字加密货币.原创 2023-05-24 09:29:35 · 1742 阅读 · 0 评论