C#比特幣完整節點的實現stratis

stratis完整節點是爲stratis區塊鏈網絡提供動力的引擎。一個未來證明和環境可持續的共識協議,它使用了PoS算法,同時提供側鏈、智能合約和即插即用共識算法。

完整stratis區塊鏈的最新副本由每個完整節點保存,它們還能夠支持比特幣區塊鏈網絡;完整節點可以自動和授權地驗證任一網絡上的區塊和交易。

每個節點都主動維護與網絡上其他節點(對等)的連接,從而確保塊和交易在網絡中快速傳播。識別並禁止可疑對等點,從而確保網絡的質量。

塊挖掘也是完整節點的責任。這個過程涉及到用內存池中的交易填充塊模板。內存池保存着尚未添加到區塊鏈的待處理交易的記錄。一旦礦工組裝了一個新塊,就嘗試使用PoS或PoW一致性算法(取決於網絡)爲新塊生成哈希。如果哈希滿足目標,新塊滿足共識規則,則礦工將獲得獎勵(和交易費用),新塊將寫入區塊鏈。

比特幣在C#中的實施

stratis是在.NET核心平臺上用C#語言實現比特幣協議。

該節點可以在比特幣和stratis網絡上運行。

Stratis比特幣基於NBITCOIN項目。

對於Stratis token的POS支持,節點使用Nstratis,它是Nbitcoin的POS實現。

.NET核心是一個開源跨平臺框架,支持在Windows、MacOS和Linux上開發應用程序和服務。

設計

模塊化方法

區塊鏈由許多組件組成,從驗證區塊的完整節點到跟蹤地址的簡單錢包。最終目標是開發一組Nuget包,實現人員可以從中挑選所需的內容。

Nbitcoin

Stratis.Bitcoin.Core:最低限度運行一個精簡版節點。

Stratis.Bitcoin.Store:存儲塊或轉發塊到peers。

Stratis.Bitcoin.MemoryPool:跟蹤掛起的交易。

Stratis.Bitcoin.Wallet:發送和接收代幣。

Stratis.Bitcoin.Miner:POS 或 POW

Stratis.Bitcoin.Explorer

在.NET核心的編程風格中創建區塊鏈:

  var node = new FullNodeBuilder()
   .UseNodeSettings(nodeSettings)
   .UseConsensus()
   .UseBlockStore()
   .UseMempool()
   .AddMining()
   .AddRPC()
   .Build();

  node.Run();

下一步是什麼

我們計劃在Stratis比特幣區塊鏈上添加更多功能:側鏈、私有/許可區塊鏈、編譯的智能合約、Ntumblebit/Breeze錢包等等……

運行完整節點

我們的完整節點目前位於alpha。

git clone https://github.com/stratisproject/StratisBitcoinFullNode.git  
cd StratisBitcoinFullNode\src

dotnet build

在比特幣網絡上運行:

cd Stratis.BitcoinD
dotnet run

在stratis網絡上運行:

cd Stratis.StratisD
dotnet run

入門指南

有關入門的更多詳細信息,請訪問這裏

開發

準備進行一些區塊鏈開發?

有關詳細信息,請查看下面的指南:

貢獻指南

編碼風格

維基頁面

有很多事情要做,我們歡迎貢獻者開發人員和測試人員想要獲得一些區塊鏈經驗。您可以在問題/項目中找到任務,或者訪問discord上的dev_general頻道。

測試

測試指南

======================================================================

如果你想學習區塊鏈並在Blockchain Technologies建立職業生涯,那麼請查看我們分享的一些以太坊、比特幣、EOS、Fabric等區塊鏈相關的交互式在線編程實戰教程:

  • java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
  • python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
  • php以太坊,主要是介紹使用php進行智能合約開發交互,進行賬號創建、交易、轉賬、代幣開發以及過濾器和交易等內容。
  • 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
  • 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • ERC721以太坊通證實戰,課程以一個數字藝術品創作與分享DApp的實戰開發爲主線,深入講解以太坊非同質化通證的概念、標準與開發方案。內容包含ERC-721標準的自主實現,講解OpenZeppelin合約代碼庫二次開發,實戰項目採用Truffle,IPFS,實現了通證以及去中心化的通證交易所。
  • C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括賬戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
  • java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
  • php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
  • c#比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在C#代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是C#工程師不可多得的比特幣開發學習課程。
  • EOS入門教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、賬戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
  • 深入淺出玩轉EOS錢包開發,本課程以手機EOS錢包的完整開發過程爲主線,深入學習EOS區塊鏈應用開發,課程內容即涵蓋賬戶、計算資源、智能合約、動作與交易等EOS區塊鏈的核心概念,同時也講解如何使用eosjs和eosjs-ecc開發包訪問EOS區塊鏈,以及如何在React前端應用中集成對EOS區塊鏈的支持。課程內容深入淺出,非常適合前端工程師深入學習EOS區塊鏈應用開發。
  • Hyperledger Fabric 區塊鏈開發詳解,本課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、信道配置與啓動、鏈碼通信接口等核心概念,也包含Fabric網絡設計、nodejs鏈碼與應用開發的操作實踐,是Nodejs工程師學習Fabric區塊鏈開發的最佳選擇。
  • Hyperledger Fabric java 區塊鏈開發詳解,課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、信道配置與啓動、鏈碼通信接口等核心概念,也包含Fabric網絡設計、java鏈碼與應用開發的操作實踐,是java工程師學習Fabric區塊鏈開發的最佳選擇。
  • tendermint區塊鏈開發詳解,本課程適合希望使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操代碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。

匯智網原創翻譯,轉載請標明出處。這裏是C#比特幣完整節點的實現stratis

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章