50行ruby程式碼開發一個區塊鏈
區塊鏈是什麼?作為一個Ruby開發者,理解區塊鏈的最好辦法,就是親自動手實現一個。只需要50行Ruby程式碼你就能徹底理解區塊鏈的核心原理!
區塊鏈 = 區塊組成的連結串列?
:
class Block attr_reader :timestamp attr_reader :data attr_reader :previous_hash attr_reader :hash def initialize(data, previous_hash) @timestamp = Time.now @data = data @previous_hash = previous_hash @hash = calc_hash end def self.first( data="Genesis" ) # create genesis (big bang! first) block ## note: uses all zero for previous_hash ("0") Block.new( data, "0000000000000000000000000000000000000000000000000000000000000000" ) end def self.next( previous, data="Transaction Data..." ) Block.new( data, previous.hash ) endprivate def calc_hash sha = Digest::SHA256.new sha.update( @timestamp.to_s + @previous_hash + @data ) sha.hexdigest endend # class Block####### let's get started## build a blockchain a block at a timeb0 = Block.first( "Genesis" ) b1 = Block.next( b0, "Transaction Data..." ) b2 = Block.next( b1, "Transaction Data......" ) b3 = Block.next( b2, "More Transaction Data..." ) blockchain = [b0, b1, b2, b3] pp blockchain
執行上面程式:
~$ ruby blockchain.rb
將會輸出類似下面的結果:
[#<0x1eed2a0><0x1eec9a0><0x1eec838><0x1eec6d0>0x1eec6d0>0x1eec838>0x1eec9a0>0x1eed2a0>
<0x1e204f0><0x1e56e20><0x1e2bd58><0x1fa8338>0x1fa8338>0x1e2bd58>0x1e56e20>0x1e204f0>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2730/viewspace-2801232/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- go開發一個自己的區塊鏈只需180行程式碼Go區塊鏈行程
- 一個簡單的區塊鏈程式碼實現區塊鏈
- JavaScript開發區塊鏈只需200行程式碼JavaScript區塊鏈行程
- 區塊鏈投票系統開發方案,區塊鏈投票系統開發原始碼區塊鏈原始碼
- FISCO BCOS | 開發第一個區塊鏈應用區塊鏈
- Go(golang)開發區塊鏈只需180行程式碼Golang區塊鏈行程
- rails on ruby,ruby on rails 之程式碼塊(二)AI
- 區塊鏈開發_建立區塊鏈公鏈,聯盟鏈,私有鏈區塊鏈
- 世鏈財經|區塊鏈專案開發指南,如何開發一款區塊鏈專案區塊鏈
- 區塊鏈商城開發正式版丨區塊鏈商城系統開發技術原理丨區塊鏈商城原始碼平臺區塊鏈原始碼
- 區塊鏈技術開發 區塊鏈錢包交易所開發區塊鏈
- 區塊鏈主鏈開發規則及原始碼示例區塊鏈原始碼
- 區塊鏈DAPP去中心繫統開發技術程式碼流程區塊鏈APP
- 打造一個最小區塊鏈區塊鏈
- 上海區塊鏈系統開發/區塊鏈交易所繫統開發區塊鏈
- 區塊鏈開發平臺_區塊鏈技術服務區塊鏈
- 區塊鏈開發公司區塊鏈與產業變革區塊鏈產業
- 區塊鏈技術開發公司談區塊鏈如何良性發展區塊鏈
- 區塊鏈技術開發公司 聊區塊鏈“主鏈”價值區塊鏈
- 區塊鏈技術開發主鏈區塊鏈的應用分析區塊鏈
- 區塊鏈錢包開發區塊鏈
- 區塊鏈技術開發區塊鏈
- 區塊鏈開發:公鏈開發那些事兒區塊鏈
- 26個區塊鏈行業常用名詞解釋-區塊鏈交易所開發區塊鏈行業
- 利用Hyperledger Fabric開發你的第一個區塊鏈應用區塊鏈
- 區塊鏈落地應用開發,區塊鏈幣幣撮合交易系統開發區塊鏈
- 區塊鏈錢包系統開發:區塊鏈支付平臺系統開發區塊鏈
- 區塊鏈HASH爆點逃跑模式系統開發功能(程式碼方案)區塊鏈模式
- 區塊鏈泰山眾籌DAPP系統技術開發(程式碼示例)區塊鏈APP
- 區塊鏈商城dapp系統開發技術詳情丨區塊鏈商城dapp開發原始碼案例部署區塊鏈APP原始碼
- 區塊鏈技術發展_區塊鏈技術開發新方向區塊鏈
- 從Java到區塊鏈:如何成為區塊鏈開發者?Java區塊鏈
- 區塊鏈開發公司談區塊鏈的應用場景區塊鏈
- Ruby 中的閉包-程式碼塊
- 通過7個函式解密區塊鏈(附程式碼)函式解密區塊鏈
- 區塊鏈上程式設計:DApp 開發簡介區塊鏈程式設計APP
- 用 JavaScript 寫一個區塊鏈JavaScript區塊鏈
- 一個簡單的區塊鏈區塊鏈