当前位置:主页 > 区块链 > 区块链技术 > 创建区块链

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

2021-04-19 16:46:41 | 来源:比特范 | 作者:佚名
这篇文章主要介绍了如何使用JavaScript和Express创建区块链,有人问我是否可以使用JavaScript来构建BlockChain应用程序,并且肯定有可用的资源来构建这样的应用程序。本文中向大家介绍其实这并没有那么复杂。这就像一个普通的项目,但是要遵循更多的规则。一起来看看吧

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

什么是区块链?

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

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

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

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

让我们建立一个块

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

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

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

npm i crypto-js

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

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

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

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

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

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

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

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

创建一条链

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

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

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

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

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

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

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

添加控制器和路由

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

POST - /api/blockchain

得到区块链,

GET - /api/blockchain

将新的孩子添加到链中

POST - /api/blockchain/append

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

如何使用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创建区块链的详细内容,更多关于创建区块链的资料请关注脚本之家其它相关文章!

免责声明:本文只为提供市场讯息,所有内容及观点仅供参考,不构成投资建议,不代表本站观点和立场。投资者应自行决策与交易,对投资者交易形成的直接或间接损失,作者及本站将不承担任何责任。!
Tag:区块链   Express   javascript  

你可能感兴趣的文章

更多

热门币种

  • 币名
    最新价格
    24H涨幅
  • bitcoin BTC 比特币

    BTC

    比特币

    $ 91694.72¥ 638241.09
    -1.08%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 3163.86¥ 22022.04
    -1.17%
  • tether USDT 泰达币

    USDT

    泰达币

    $ 0.9993¥ 6.9556
    -0.02%
  • binance-coin BNB 币安币

    BNB

    币安币

    $ 922¥ 6417.58
    -0.29%
  • ripple XRP 瑞波币

    XRP

    瑞波币

    $ 1.9593¥ 13.6377
    -0.08%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.0006¥ 6.9646
    +0.04%
  • solana SOL Solana

    SOL

    Solana

    $ 132.92¥ 925.18
    -0.41%
  • tron TRX 波场

    TRX

    波场

    $ 0.3131¥ 2.1793
    -1.97%
  • dogecoin DOGE 狗狗币

    DOGE

    狗狗币

    $ 0.1273¥ 0.886
    +0.16%
  • cardano ADA 艾达币

    ADA

    艾达币

    $ 0.3656¥ 2.5447
    +0.44%

币圈快讯

  • 以太坊网络活跃激增或与地址投毒攻击有关已致74万美元损失

    2026-01-20 14:02
    据Cointelegraph报道,安全研究员AndreySergeenkov指出,以太坊近期交易与地址活跃激增,或源于利用低Gas费大规模发起的地址投毒攻击。该攻击通过伪造相似地址进行“尘埃攻击”,诱导用户转账至错误地址。Fusaka升级后交易费用下降逾60%,使该类攻击成本显著降低。研究显示已有超过11.6万人受害,累计损失逾74万美元。
  • Ripple首席执行官将在达沃斯论坛上发表讲话

    2026-01-20 14:00
    Ripple 首席执行官 Brad Garlinghouse 将于 1 月 21 日做客 Jason Calacanis 主持的 All-In Podcast 直播节目。尽管 Calacanis 长期以来一直批评 XRP 是一种中心化安全机制,与加密货币的去中心化理念背道而驰,但此次录制仍将在具有重要地缘政治意义的达沃斯美国之家举行。
  • 某巨鲸平仓242枚BTC多单亏损104.2万美元

    2026-01-20 13:59
    据Hyperinsight监测,某巨鲸于13:47平仓242枚BTC多单,实现亏损104.2万美元,目前仍以20倍杠杆做多XYZ100,建仓均价25,144.79美元。XYZ100本质上追踪纳斯达克100指数的表现,类似于链上版本的Nasdaq100期货,允许用户24/7交易美国科技股指数的涨跌(包括杠杆)。
  • MegaETH将于上线公共主网并启动全球压力测试

    2026-01-20 13:58
    以太坊二层项目MegaETH宣布将上线公共主网,首日将同步推出一系列基于USDM的DeFi应用程序,并启动全球压力测试,目标在7天内处理110亿笔交易,测试吞吐预计在15,000–35,000TPS区间。
  • Makina Finance遭遇420万美元漏洞攻击黑客盗空了Curve池。

    2026-01-20 13:57
    非托管 DeFi 平台 Makina Finance 遭遇攻击,其 DUSD/USDC CurveStable 流动性池中约 1,299 ETH(约合 420 万美元)被盗。攻击者将窃取的资产兑换成 ETH,并通过 MEV 构建器进行路由以掩盖踪迹,目前资金分别存放在两个钱包中,分别为 1,023 ETH 和 276 ETH。目前尚未检测到交易所存款,Makina Finance 也尚未发布官方声明。
  • 查看更多