簡易區塊鏈

2021-09-23 14:06:55 字數 1973 閱讀 4796

// 迷你區塊鏈——moniu-chain 

// 區塊鏈的生成,新建,校驗

// 交易

// 非對稱加密

// 挖礦

// p2p網路

// [

// ,

// ,

// ,

// ]

const crypto =

require

('crypto'

)的加密函式庫

//創世區塊

const initblock =

class

blockchain

// 獲取最新區塊

getlastblock()

transfer

(from

, to, amount)

}// 簽名校驗(後面完成)

const transobj =

this

.data.

push

(transobj)

return transobj

}//檢視餘額

balance

(address)

block.data.

foreach

(trans=>

if(address==trans.to)})

})console.

log(balance)

return balance

}//挖礦,即打包交易的過程

mine

(address)

else

return newblock

}//生成新區快

generatenewblock()

return

('mine over',)

}//計算雜湊

computehash

(index,prevhash,timestamountp,data,nonce)

computehashforblock()

//校驗區塊

isvalidablock

(newblock,lastblock =

this

.getlastblock()

)else

if(newblock.timestamountp <= lastblock.timestamountp)

else

if(newblock.prevhash !== lastblock.hash)

else

if(newblock.hash.

slice(0

,this

.difficulty)

!=='0'

.repeat

(this

.difficulty)

)else

if(newblock.hash!==

this

.computehashforblock

(newblock)

)return

true

}// 校驗區塊鏈

isvalidchain

(chain=

this

.blockchain)}if

(json

.stringify

(chain[0]

)!==

json

.stringify

(initblock)

)return

true}}

// let bc = new blockchain()

// bc.mine()

// bc.blockchain[1].nonce = 22

// bc.mine()

// bc.mine()

// bc.mine()

// console.log(bc.blockchain)

module.exports = blockchain

C 簡易區塊鏈

自學c 和區塊鏈後的小實踐 using system.collections using system using static system.console 簡易區塊鏈 namespace test public block string traninfo,int previousblockhas...

簡易區塊鏈的python實現

import hashlib import datetime class ttblockcoin def init self,index,索引 timestamp,時間戳 data,交易資料 lasthash 上乙個塊的hash值 self.index index self.timestamp ti...

區塊鏈 區塊鏈雜湊演算法

雜湊演算法是區塊鏈中保證交易資訊不被篡改的單向密碼機制。雜湊演算法接收一段明文後,以一種不可逆的方式將其轉化為一段長度較短 位數固定的雜湊資料。它有兩個特點 加密過程不可逆,意味著我們無法通過輸出的雜湊資料倒推原本的明文是什麼 輸入的明文與輸出的雜湊資料一一對應,任何乙個輸入資訊的變化,都必將導致最...