區塊鏈Web3.0專案系統開發技術丨鏈遊web3模式成熟技術原理

Tg_StPv888發表於2023-05-10

  區塊鏈系統是一種去中心化的、A tamper proof distributed ledger system characterized by security,transparency,tamper resistance,and decentralization.The development of blockchain systems is very different from traditional systems,and requires knowledge in fields such as distributed systems,cryptography,P2P networks,etc.


  下面是區塊鏈系統軟體開發的一般步驟:


  1.確定需求:確定系統的需求和功能,包括網路安全、資料隱私、智慧合約、加密貨幣等。


  2.選擇合適的區塊鏈平臺:選擇合適的區塊鏈平臺,比如以太坊、比特幣、EOS等,根據系統需求選擇合適的平臺。


  3.設計架構:根據系統需求和選擇的區塊鏈平臺,設計系統架構。確定主網、測試網、節點等組成部分,以及各個部分之間的互動和通訊方式。


  4.編寫智慧合約:智慧合約是區塊鏈系統中的重要組成部分,它是一種自動執行的合同,規定了系統中交易的規則。需要使用Solidity、Vyper等語言編寫智慧合約。


  5.節點部署:選擇合適的伺服器進行部署,包括主網節點和測試網節點。同時,還需要配置合適的環境,比如安裝微服務框架、資料庫等。


  6.前端開發:區塊鏈系統需要有一個使用者介面,需要進行使用者介面的開發,以讓使用者能夠進行交易和查詢操作。


  7.測試與上線:完成系統開發後需要進行各種測試,包括單元測試、整合測試、效能測試、安全測試等。測試透過後,可以上線執行。


  總之,開發區塊鏈系統需要掌握多種技術,如分散式系統、密碼學、智慧合約、安全等,同時需要有設計、程式設計、測試等方面的能力。可以選擇相關的開源庫和工具幫助開發。


  FNV-1演算法過程如下:


  hash=offset_basis


  for each octet_of_data to be hashed


  hash=hash*FNV_prime


  hash=hash xor octet_of_data


  return hash


  引數說明(以32位結果為例,其它長度同理):


  所有的引數,除了octet_of_data之外,都是32位無符號整型,即hash、offset_basis、FNV_prime型別都是32位無符號整型;


  octet_of_data的型別是8位無符號整型;


  32位的offset_basis值為2166136261=0x811c9dc5,FNV_prime值為2^24+2^8+0x93=16777619,其它引數可以檢視FNV的維基百科主頁;


  演算法迴圈的次數等於輸入的位元組長度;


  演算法的相乘部分,因為hash型別是32位無符號整型,故相乘結果需要mod 2^32;


  演算法的異或部分,octet_of_data為32位值的低8位,其它三個位元組不進行異或運算。


  舉例:


  輸入“V”,對應的十六進位制值為0x56,輸出32位的FNV hash值為0x050c5d49。可以使用線上工具得到結果。


  計算過程:


  初始化:hash=2166136261


  進入迴圈,因為要求的資料長度只有一個位元組長度,故迴圈只有一次。因為hash結果為32位無符號整型,故需要捨棄高位,保留低32位:hash=(2166136261*16777619)mod 2^32=0x050c5d1f


  進行異或運算,首先將0x56轉化為32位的值0x00000056,然後才能進行異或運算:hash=0x050c5d1f xor 0x00000056=0x050c5d49


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

相關文章