如何使用JavaScript和Express創建區塊鏈

如何使用JavaScript和Express創建區塊鏈

如何使用JavaScript和Express創建區塊鏈

文章插圖

什么是區塊鏈?當結合生成有關某些交易或一系列步驟的信息時 , 區塊鏈是一組在一起的區塊鏈 。 例如 , 每當您進行任何銀行存款或取款交易時 , 您都將根據您上一次存儲在銀行中的金額執行一項操作 , 當任何人在線上進行交易時 , 它都需要與上一個區塊有某種關系 。
我們將如何理解這種情況并基于此創建應用程序 , 這是該塊將如何連接的演示 。
如何使用JavaScript和Express創建區塊鏈

文章插圖

與流程圖類似 , 我們將創建一個應用程序來演示相同的內容 。
讓我們建立一個塊首先 , 創建一個區塊鏈 。 首先我們需要擁有塊 , 因此讓我們創建一個名為BloCK的類 。
如何使用JavaScript和Express創建區塊鏈

文章插圖

在第一行 , 我們正在導入一個包來為我們處理加密 。 下面的命令將為我們安裝軟件包 。
npm i crypto-js在構造對象時 , 這里有一些參數 , 即索引 , 時間戳 , 事務和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對象的構造函數中 。 但是一旦這種方法運行 , 它將繼續將物品推入我們的區塊鏈生態系統 。
最后checkChainValidity() , 我們將不使用它 , 但有助于驗證該塊 。
添加控制器和路由我們將添加3條路線 , 創建一個區塊鏈 , 
POST - /api/blockchain得到區塊鏈 , 
GET - /api/blockchain將新的孩子添加到鏈中
POST - /api/blockchain/append讓我們為它創建一個控制器文件 , 
如何使用JavaScript和Express創建區塊鏈

文章插圖

首先 , 我們將導入我們創建的兩個類Block和BlockChain 。 然后 , 我們創建了一個名為FlippingCoin的控制器 , 您可以根據需要命名它 。 但是 , 關鍵是我們需要關注3種方法:

推薦閱讀