C 位元幣完整節點的實現stratis

2021-09-24 23:25:28 字數 1830 閱讀 5723

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

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

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

塊挖掘也是完整節點的責任。這個過程涉及到用記憶體池中的交易填充塊模板。記憶體池儲存著尚未新增到區塊鏈的待處理交易的記錄。一旦礦工組裝了乙個新塊,就嘗試使用pos或pow一致性演算法(取決於網路)為新塊生成雜湊。如果雜湊滿足目標,新塊滿足共識規則,則礦工將獲得獎勵(和交易費用),新塊將寫入區塊鏈。

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();

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

git clone   

cd stratisbitcoinfullnode\src

dotnet build

在位元幣網路上執行:

cd stratis.bitcoind

dotnet run

在stratis網路上執行:

cd stratis.stratisd

dotnet run

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

有關詳細資訊,請檢視下面的指南:

貢獻指南

編碼風格

維基頁面

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

測試指南

C 位元幣完整節點的實現stratis

stratis完整節點是為stratis區塊鏈網路提供動力的引擎。乙個未來證明和環境可持續的共識協議,它使用了pos演算法,同時提供側鏈 智慧型合約和即插即用共識演算法。完整stratis區塊鏈的最新副本由每個完整節點儲存,它們還能夠支援位元幣區塊鏈網路 完整節點可以自動和授權地驗證任一網路上的區塊...

位元幣 位元幣的實現

位元幣系統是乙個基於交易的賬本,這意味著儲存在賬本中的是一筆筆交易。那麼在使用者進行轉賬交易時,首先就需要確保使用者所持有的數量要大於或等於將要交易的。這要做的目的是為了避免雙花問題。這種基於交易的賬本好處在於隱私保護性比較好,缺點在於每次交易都需要說明幣的 在位元幣的全節點中,會在記憶體中維護乙個...

位元幣系統中的全節點和輕節點

在本地硬碟上維護完整的區塊鏈資訊 在記憶體裡維護utxo集合,以便快速檢驗交易的正確性 監聽位元幣網路上的交易資訊,驗證每個交易的合法性 決定哪些交易會被打包到區塊裡 監聽別的礦工挖出來的區塊,驗證其合法性 挖礦 不用儲存整個區塊鏈,只要儲存每個區塊的塊頭 不用儲存全部交易,只儲存與自己相關的交易 ...