如何使用JavaScript和Express创建区块链

欧易(OKX)交易所

新用户永久最高20%手续费减免!

官网注册   APP下载

如何使用JavaScript和Express创建区块链

什么是区块链?

当结合生成有关某些交易或一系列步骤的信息时,区块链是一组在一起的区块链。例如,每当您进行任何银行存款或取款交易时,您都将根据您上一次存储在银行中的金额执行一项操作,当任何人在线上进行交易时,它都需要与上一个区块有某种关系。

我们将如何理解这种情况并基于此创建应用程序,这是该块将如何连接的演示。

如何使用JavaScript和Express创建区块链

与流程图类似,我们将创建一个应用程序来演示相同的内容。

让我们建立一个块

首先,创建一个区块链。首先我们需要拥有块,因此让我们创建一个名为Block的类。

如何使用JavaScript和Express创建区块链

在第一行,我们正在导入一个包来为我们处理加密。下面的命令将为我们安装软件包。

在构造对象时,这里有一些参数,即索引,时间戳,事务和foreignHash。

index 是为块提供唯一的标识符,并通过索引为我们需要的任何数据结构提取块。

timestamp 就是给特定的块一个创建时间,因为不能更新该块,所以我们不关心那个的updateAt时间戳。

transaction是需要阻止的实际数据。例如,员工总数或总数或发件人详细信息等

precedingHash 如图所示,该字段将负责上一个块和当前块之间的连接。

hash是将与一起工作的领域,precedingHash以确保我们处在正确的连接轨道上。

最后,有一个函数computeHash可以使用SHA256算法为我们计算哈希值。该算法将获取所有数据,以确保我们生成的哈希码的唯一性。

现在,我们创建了块,让我们转到链上。

创建一条链

同样,我们将创建一个链类,该链类将使用更多方法在其中调用该块。这是整个类的代码。

如何使用JavaScript和Express创建区块链

首先,我们创建了一个空的构造函数来为我们初始化一些字段,包括id [给标识符],name [给块一个很酷的名字],blockchain [正在处理所有块的实际字段],以及最后一个困难[获得工作证明]。

在进入代码的另一部分之前,我们将研究成因。对于任何区块链项目,我们都需要一个创始来用第一个块初始化链,因为第一个块的行为类似于构建块,并包含该块其余部分的第一个哈希,以用作先前的哈希。在这里,我们从上一类创建了一个块对象,并将其初始值作为参考。

然后,我们创建了一个create()包含少量参数的name 是通过API命名,id 是从API提供ID并genesis赋予初始成因一个值。

那么我们在obtainLatestBlock()给我们链中输入的最后一个块,这将帮助我们获取最后一个块的哈希,然后将其分配给链中的新元素。

最重要的方法是addNewBlock()在我们的链中添加一个新的块,该方法将块项目作为参数。首先,我们将获取区块链的最新哈希并将其添加到中precedingHash,然后创建一个新哈希并将其分配给哈希,我们可以跳过此步骤,因为我们已经将其添加到了Block对象的构造函数中。但是一旦这种方法运行,它将继续将物品推入我们的区块链生态系统。

IPFS/FIL挖矿与比特币挖矿的区别

最后checkChainValidity(),我们将不使用它,但有助于验证该块。

添加控制器和路由

我们将添加3条路线,创建一个区块链,

得到区块链,

将新的孩子添加到链中

让我们为它创建一个控制器文件,

如何使用JavaScript和Express创建区块链

首先,我们将导入我们创建的两个类Block和BlockChain。然后,我们创建了一个名为FlippingCoin的控制器,您可以根据需要命名它。但是,关键是我们需要关注3种方法:

createNewChain

appendNewChild

getChain

现在,为了简单起见,我将跳过数据存储部分。除了这3个之外,我们还必须验证该方法以验证链是否具有要创建的正确数据格式。

我们需要调用相应的方法来使事情工作。

如下所示添加路线

如何使用JavaScript和Express创建区块链

在这里,我们确保将方法映射到正确的路线。

让我们测试一下

让我们转到POST路线-/ api / blockchain,

这将根据我们在创世交易中传递的任何数据为我们创建一个新的区块链。

如何使用JavaScript和Express创建区块链

让我们转到POST路线-/ api / blockchain / append,

如何使用JavaScript和Express创建区块链

在将交易数据传递到区块链时,它将添加到链中。

最后,我们转到路由GET-/ api / blockchain /检查数据是否已更新。

如何使用JavaScript和Express创建区块链

以上就是如何使用JavaScript和Express创建区块链的详细内容,更多关于创建区块链的资料请关注掘金网其它相关文章!

Chia奇亚科普:Chia奇亚为什么突然爆火?

原创文章,作者:菜鸡,如若转载,请注明出处:https://www.20on.com/212651.html

(0)
菜鸡菜鸡
上一篇 6 11 月, 2022 3:52 下午
下一篇 6 11 月, 2022 4:52 下午

欧易(OKX)交易所

新用户永久最高20%手续费减免!

官网注册   APP下载

相关推荐

  • 虎符交易所怎么提现人民币?HOO交易所提现教程详解

    全文导读 这个成立于2018年6月的交易所,在3年半的时间的时间里,共上线597个币种、608个交易对。我们知道,区块链和加密货币都是信息技术与金融的新生命,作为一种新型的行业,其创新一直都是层出不穷的,这些新的信息往往都会令大家应接不暇。

    16 4 月, 2022
  • j型曲线[j型曲线和s型曲线增长率和增长速率]

    摘要:本文将介绍J型曲线和S型曲线的增长率与增长速率,探讨其属于经济学和管理学的范畴,并说明在实际应用中的重要性。本文将从四个方面阐述该主题,包括J型曲线的概念解释、J型曲线的实际…

    8 6 月, 2023
  • tp钱包电脑版怎么用(tp钱包 教程)

    摘要:本文将详细介绍tp钱包电脑版的使用方法,包括注册登录、创建钱包、转账、管理数字资产等方面。tp钱包电脑版是一个多功能、安全可靠的数字资产管理工具,为广大数字资产爱好者提供安全…

    14 6 月, 2023
  • OKX是什么交易所?OKX交易所中文名是什么?

    摘要:OKX交易所是全球领先的数字资产交易平台之一,其中文名也是非常贴切的代表了其特点。本文将从交易品种、安全性、交易量和用户体验四个方面来详细阐述OKX交易所中文名及特点。 一、…

    6 4 月, 2023
  • 申报价值usd是什么意思(usd价格是什么意思)

    摘要: 申报价值USD是指在进出口贸易中,商家需要向海关申报货物的价值,并且以美元计价。本文旨在详细探讨申报价值USD的意义和影响因素,以期提高读者对此概念的理解和运用能力。 正文…

    24 5 月, 2023
  • usdt数字钱包官网下载_USDT钱包正版下载安装

    usdt钱包一键买卖服务通过严格的KYC认证及第三方安全审计公司的协助,目前做到了极低的冻卡率,使用户可以安心买币,今天为大家带来usdt钱包官方免费下载。

    1 11 月, 2022
  • lkk(lkk是什么牌子衣服)

    摘要:LKK是一家服装品牌,其以简约时尚的设计风格备受年轻消费者的喜爱。该品牌的成功得益于其深刻的消费者洞察和对品牌形象的严格把控。本文将从LKK的品牌故事、设计风格、营销策略和未…

    9 6 月, 2023
  • eth好申请吗(eth 申请)

    摘要: 以eth好申请吗(eth 申请)为主题,本文将从不同的角度分析ETH的申请情况。首先,本文将简要介绍ETH的基本情况,随后将分别从技术、市场、资金和政策四个方面对ETH申请…

    14 5 月, 2023
  • 拍卖流程(土地拍卖流程)

    摘要:本文将详细介绍土地拍卖流程,包括四个方面:1)拍卖前准备,2)拍卖发布,3)拍卖进行,4)交易完成。通过对拍卖流程的详细阐述,我们可以更好地了解土地拍卖市场中的各种环节和规则…

    22 5 月, 2023
  • 全面分析数字货币量化交易的优势与不足

    摘要:本文主要介绍数字货币量化交易的优缺点,旨在让读者更深入地了解数字货币量化交易的风险和机会。数字货币量化交易是一种利用人工智能、机器学习等技术对数字货币市场进行预测和交易的方式…

    10 4 月, 2023