如何用JavaScript开发简易区块链应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2422个文字,预计阅读时间需要10分钟。
区块链概念:区块链是一种按时间顺序将数据区块以顺序相连的方式组合成的链式数据结构,并以密码学方式保证其不可篡改和不可伪造的分布式账本。
挖矿(生产新区块):挖矿是指通过计算机解决复杂的数学问题来验证和记录区块链上的交易,成功解决问题的节点可以获得新的区块作为奖励。
区块链概念
狭义:区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码方式保证的不可篡改和不可伪造的分布式账本。
一、挖矿(产生新区块)
首先,区块链是由每一个区块联系而形成的,在产生新区块之前必须先有一个最初始的区块,这个区块也叫创世区块。通过这个创世区块,不停地通过变化随机数(nonce)来计算出符合条件的区块。以下是创世区块基本信息:
const initBlock = { index: 0, data: 'hey,this is a block chain', previousHash: '0', timestamp: '1551806536961', nonce: 80490, hash: '0000352fb27dd1141fa7265833190a53e5776b1111e275db0d9a77bf840081e6' };
- index:是指每个区块的序号
- data: 这里存放着区块中所有的信息,例如转账,余额等数据
- previousHash: 指的是上一个区块的hash值,创世区块没有上一个,显示0即可
- timestamp:指的是创建这个区块的时间
- nonce:这个是随机数,挖矿就是通过不停变换这个nonce来计算出符合条件的哈希。
本文共计2422个文字,预计阅读时间需要10分钟。
区块链概念:区块链是一种按时间顺序将数据区块以顺序相连的方式组合成的链式数据结构,并以密码学方式保证其不可篡改和不可伪造的分布式账本。
挖矿(生产新区块):挖矿是指通过计算机解决复杂的数学问题来验证和记录区块链上的交易,成功解决问题的节点可以获得新的区块作为奖励。
区块链概念
狭义:区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码方式保证的不可篡改和不可伪造的分布式账本。
一、挖矿(产生新区块)
首先,区块链是由每一个区块联系而形成的,在产生新区块之前必须先有一个最初始的区块,这个区块也叫创世区块。通过这个创世区块,不停地通过变化随机数(nonce)来计算出符合条件的区块。以下是创世区块基本信息:
const initBlock = { index: 0, data: 'hey,this is a block chain', previousHash: '0', timestamp: '1551806536961', nonce: 80490, hash: '0000352fb27dd1141fa7265833190a53e5776b1111e275db0d9a77bf840081e6' };
- index:是指每个区块的序号
- data: 这里存放着区块中所有的信息,例如转账,余额等数据
- previousHash: 指的是上一个区块的hash值,创世区块没有上一个,显示0即可
- timestamp:指的是创建这个区块的时间
- nonce:这个是随机数,挖矿就是通过不停变换这个nonce来计算出符合条件的哈希。

