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集合,以便快速檢驗交易的正確性 監聽位元幣網路上的交易資訊,驗證每個交易的合法性 決定哪些交易會被打包到區塊裡 監聽別的礦工挖出來的區塊,驗證其合法性 挖礦 不用儲存整個區塊鏈,只要儲存每個區塊的塊頭 不用儲存全部交易,只儲存與自己相關的交易 ...