欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

當(dāng)前位置:主頁 > 區(qū)塊鏈 > 區(qū)塊鏈技術(shù) > 創(chuàng)建區(qū)塊鏈

如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈

2021-04-19 16:46:41 | 來源:比特范 | 作者:佚名
這篇文章主要介紹了如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈,有人問我是否可以使用JavaScript來構(gòu)建BlockChain應(yīng)用程序,并且肯定有可用的資源來構(gòu)建這樣的應(yīng)用程序。本文中向大家介紹其實(shí)這并沒有那么復(fù)雜。這就像一個普通的項(xiàng)目,但是要遵循更多的規(guī)則。一起來看看吧

如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈

什么是區(qū)塊鏈?

當(dāng)結(jié)合生成有關(guān)某些交易或一系列步驟的信息時,區(qū)塊鏈?zhǔn)且唤M在一起的區(qū)塊鏈。例如,每當(dāng)您進(jìn)行任何銀行存款或取款交易時,您都將根據(jù)您上一次存儲在銀行中的金額執(zhí)行一項(xiàng)操作,當(dāng)任何人在線上進(jìn)行交易時,它都需要與上一個區(qū)塊有某種關(guān)系。

我們將如何理解這種情況并基于此創(chuàng)建應(yīng)用程序,這是該塊將如何連接的演示。

如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈

與流程圖類似,我們將創(chuàng)建一個應(yīng)用程序來演示相同的內(nèi)容。

讓我們建立一個塊

首先,創(chuàng)建一個區(qū)塊鏈。首先我們需要擁有塊,因此讓我們創(chuàng)建一個名為Block的類。

如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈

在第一行,我們正在導(dǎo)入一個包來為我們處理加密。下面的命令將為我們安裝軟件包。

npm i crypto-js

在構(gòu)造對象時,這里有一些參數(shù),即索引,時間戳,事務(wù)和foreignHash。

index 是為塊提供唯一的標(biāo)識符,并通過索引為我們需要的任何數(shù)據(jù)結(jié)構(gòu)提取塊。

timestamp 就是給特定的塊一個創(chuàng)建時間,因?yàn)椴荒芨略搲K,所以我們不關(guān)心那個的updateAt時間戳。

transaction是需要阻止的實(shí)際數(shù)據(jù)。例如,員工總數(shù)或總數(shù)或發(fā)件人詳細(xì)信息等

precedingHash 如圖所示,該字段將負(fù)責(zé)上一個塊和當(dāng)前塊之間的連接。

hash是將與一起工作的領(lǐng)域,precedingHash以確保我們處在正確的連接軌道上。

最后,有一個函數(shù)computeHash可以使用SHA256算法為我們計(jì)算哈希值。該算法將獲取所有數(shù)據(jù),以確保我們生成的哈希碼的唯一性。

現(xiàn)在,我們創(chuàng)建了塊,讓我們轉(zhuǎn)到鏈上。

創(chuàng)建一條鏈

同樣,我們將創(chuàng)建一個鏈類,該鏈類將使用更多方法在其中調(diào)用該塊。這是整個類的代碼。

首先,我們創(chuàng)建了一個空的構(gòu)造函數(shù)來為我們初始化一些字段,包括id [給標(biāo)識符],name [給塊一個很酷的名字],blockchain [正在處理所有塊的實(shí)際字段],以及最后一個困難[獲得工作證明]。

在進(jìn)入代碼的另一部分之前,我們將研究成因。對于任何區(qū)塊鏈項(xiàng)目,我們都需要一個創(chuàng)始來用第一個塊初始化鏈,因?yàn)榈谝粋€塊的行為類似于構(gòu)建塊,并包含該塊其余部分的第一個哈希,以用作先前的哈希。在這里,我們從上一類創(chuàng)建了一個塊對象,并將其初始值作為參考。

然后,我們創(chuàng)建了一個create()包含少量參數(shù)的name 是通過API命名,id 是從API提供ID并genesis賦予初始成因一個值。

那么我們在obtainLatestBlock()給我們鏈中輸入的最后一個塊,這將幫助我們獲取最后一個塊的哈希,然后將其分配給鏈中的新元素。

最重要的方法是addNewBlock()在我們的鏈中添加一個新的塊,該方法將塊項(xiàng)目作為參數(shù)。首先,我們將獲取區(qū)塊鏈的最新哈希并將其添加到中precedingHash,然后創(chuàng)建一個新哈希并將其分配給哈希,我們可以跳過此步驟,因?yàn)槲覀円呀?jīng)將其添加到了Block對象的構(gòu)造函數(shù)中。但是一旦這種方法運(yùn)行,它將繼續(xù)將物品推入我們的區(qū)塊鏈生態(tài)系統(tǒng)。

最后checkChainValidity(),我們將不使用它,但有助于驗(yàn)證該塊。

添加控制器和路由

我們將添加3條路線,創(chuàng)建一個區(qū)塊鏈,

POST - /api/blockchain

得到區(qū)塊鏈,

GET - /api/blockchain

將新的孩子添加到鏈中

POST - /api/blockchain/append

讓我們?yōu)樗鼊?chuàng)建一個控制器文件,

如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈

首先,我們將導(dǎo)入我們創(chuàng)建的兩個類Block和BlockChain。然后,我們創(chuàng)建了一個名為FlippingCoin的控制器,您可以根據(jù)需要命名它。但是,關(guān)鍵是我們需要關(guān)注3種方法:

createNewChain

appendNewChild

getChain

現(xiàn)在,為了簡單起見,我將跳過數(shù)據(jù)存儲部分。除了這3個之外,我們還必須驗(yàn)證該方法以驗(yàn)證鏈?zhǔn)欠窬哂幸獎?chuàng)建的正確數(shù)據(jù)格式。

我們需要調(diào)用相應(yīng)的方法來使事情工作。

如下所示添加路線

如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈

在這里,我們確保將方法映射到正確的路線。

讓我們測試一下

讓我們轉(zhuǎn)到POST路線-/ api / blockchain,

這將根據(jù)我們在創(chuàng)世交易中傳遞的任何數(shù)據(jù)為我們創(chuàng)建一個新的區(qū)塊鏈。

如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈

讓我們轉(zhuǎn)到POST路線-/ api / blockchain / append,

如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈

在將交易數(shù)據(jù)傳遞到區(qū)塊鏈時,它將添加到鏈中。

最后,我們轉(zhuǎn)到路由GET-/ api / blockchain /檢查數(shù)據(jù)是否已更新。

如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈

以上就是如何使用JavaScript和Express創(chuàng)建區(qū)塊鏈的詳細(xì)內(nèi)容,更多關(guān)于創(chuàng)建區(qū)塊鏈的資料請關(guān)注腳本之家其它相關(guān)文章!

聲明:文章內(nèi)容不代表本站觀點(diǎn)及立場,不構(gòu)成本平臺任何投資建議。本文內(nèi)容僅供參考,風(fēng)險自擔(dān)!

你可能感興趣的文章

更多

熱門幣種

  • 幣名
    最新價格
    24H漲幅
  • bitcoin BTC 比特幣

    BTC

    比特幣

    $ 114403.72¥ 822047.93
    -0.51%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 3621.83¥ 26024.65
    -1.32%
  • ripple XRP 瑞波幣

    XRP

    瑞波幣

    $ 2.9473¥ 21.1778
    -3.82%
  • tether USDT 泰達(dá)幣

    USDT

    泰達(dá)幣

    $ 0.9999¥ 7.1847
    +0.02%
  • binance-coin BNB 幣安幣

    BNB

    幣安幣

    $ 762.77¥ 5480.88
    -0.25%
  • solana SOL Solana

    SOL

    Solana

    $ 164.11¥ 1179.21
    -4.14%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 0.9999¥ 7.1847
    +0.01%
  • tron TRX 波場

    TRX

    波場

    $ 0.3357¥ 2.4121
    +0.69%
  • dogecoin DOGE 狗狗幣

    DOGE

    狗狗幣

    $ 0.2007¥ 1.4421
    -3.28%
  • cardano ADA 艾達(dá)幣

    ADA

    艾達(dá)幣

    $ 0.7274¥ 5.2267
    -3.27%

幣圈快訊

  • 美股上市公司ZOOZ完成500萬美元私募融資,推進(jìn)比特幣財(cái)庫戰(zhàn)略

    2025-08-06 20:18
    金色財(cái)經(jīng)報(bào)道,美股上市公司ZOOZPowerLtd.(ZOOZ)完成500萬美元私募融資,推進(jìn)比特幣財(cái)庫戰(zhàn)略。ZOOZ此前于7月29日宣布私募1.8億美元推出比特幣國庫儲備策略。
  • 上市公司ZOOZPower完成500萬美元首輪私募,實(shí)施比特幣儲備戰(zhàn)略

    2025-08-06 20:14
    ChainCatcher消息,上市公司ZOOZPower(納斯達(dá)克/特拉維夫證券交易所:ZOOZ)于8月6日宣布完成首輪500萬美元私募融資,每股發(fā)行價2美元。此次融資是公司此前宣布的1.8億美元機(jī)構(gòu)投資者私募計(jì)劃的首個階段。 待獲得股東批準(zhǔn)后,約95%的私募所得將用于實(shí)施比特幣儲備戰(zhàn)略。此舉將使ZOOZ成為首家采用比特幣作為儲備資產(chǎn)的納斯達(dá)克和特拉維夫雙重上市公司。
  • 去中心化預(yù)測市場BayesMarket完成200萬美元戰(zhàn)略輪融資,GreenVisionFund領(lǐng)投

    2025-08-06 20:14
    ChainCatcher消息,據(jù)Chainwire報(bào)道,去中心化預(yù)測市場BayesLabs宣布完成200萬美元戰(zhàn)略輪融資,新加坡GreenVisionFund領(lǐng)投,JkapitalLtd.和Bearcat等參投,新資金將用于加速BayesLabs的產(chǎn)品開發(fā)、區(qū)域擴(kuò)張和用戶增長,尤其是在亞洲地區(qū)。
  • IREN:七月挖礦產(chǎn)出728枚BTC,續(xù)創(chuàng)月度挖礦產(chǎn)出新高

    2025-08-06 20:07
    ChainCatcher消息,據(jù)GlobeNewswire報(bào)道,納斯達(dá)克上市公司IREN發(fā)布7月運(yùn)營更新報(bào)告,其中披露7月比特幣挖礦產(chǎn)出728枚,續(xù)創(chuàng)月度挖礦產(chǎn)出新高,較6月的620枚比特幣挖礦產(chǎn)出有較大幅度增長,此外該公司還披露7月收入達(dá)到8600萬美元。
  • 清算公司Marex整合摩根大通區(qū)塊鏈結(jié)算系統(tǒng)

    2025-08-06 20:05
    ChainCatcher消息,據(jù)CoinDesk報(bào)道,清算公司Marex宣布通過與BrevanHowardDigital合作已與摩根大通區(qū)塊鏈結(jié)算系統(tǒng)KinexysDigitalPayments整合,旨在通過利用可編程、始終在線的數(shù)字分類賬技術(shù)來實(shí)現(xiàn)支付基礎(chǔ)設(shè)施的現(xiàn)代化并降低結(jié)算風(fēng)險。
  • 查看更多