DAPP合約代幣燃燒挖礦系統開發詳情方案

lxqy1668發表於2023-05-19

在Web 3.0時代,開發者可以建立任意的、基於共識的、可擴充套件的、標準化的、圖靈完備的[3]、易於開發的和可協同的應用。任何人都可在智慧合約中設立他們自由定義的所有權規則和交易方式,以此發展出各類分散式商業應用,從而構建新型的可程式設計金融、可程式設計經濟。一個智慧合約可能就是一種商業模式,具有無限的想象空間。使用者將共同分享各類可程式設計商業專案發展壯大帶來的利益。

  

  class Block():

  

  def __init__(self,data=None):

  

  self.timestamp=str(time.time())

  

  self.data=data

  

  self.previousHash='0'*64

  

  self.hash=self.calculateHash()

  

  self.nonce=0

  

  self.dict={

  

  "Previous hash":self.previousHash,

  

  "Hash":self.hash,

  

  "Timestamp":self.timestamp,

  

  "Data":self.data

  

  }

  

  def mineBlock(self,difficulty):

  

  while self.hash[:difficulty]!='0'*difficulty:

  

  self.nonce+=1

  

  self.calculateHash()

  

  vin_coin=BlockChain()

  

  #兩筆交易

  

  trans_a=Transaction("shiki_addr","vincent_addr",44)

  

  trans_b=Transaction("vincent_addr","shiki_addr",44)

  

  """

  

  測試挖礦,proof of work的難度測試

  

  """

  

  vin_coin.add_block(Block([trans_a],time_s(),{"reason":"I owed you"}))

  

  vin_coin.add_block(Block([trans_b],time_s(),{"reason":"I gave it back to you cause I love you"}))

  

  """

  

  測試篡改資料的測試

  

  """

  

  print("vin幣chain合法嗎?",vin_coin.check_chain_validity())

  

  vin_coin.chain[1].transactions[0].amount=40

  

  #修改一個block後,重新計算這個block的hash,並不能成功

  

  vin_coin.chain[1].hash=vin_coin.chain[1].calculate_block_hash()

  

  print("vin幣chain合法嗎?",vin_coin.check_chain_validity())


       編輯者維:lxqy1668


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70020038/viewspace-2953218/,如需轉載,請註明出處,否則將追究法律責任。

相關文章