想弄一臺簡單的區塊鏈伺服器?來這裡看看!!
阿新 • • 發佈:2022-04-28
這個一個源於naivechain的極簡區塊鏈伺服器專案,開發語言為Haskell。通過啟動多個Legion節點來建立一個點對點網路,從而使得網路上的區塊鏈得到同步。
前提條件:要編譯原始碼,你需要使用stack。
或者,你也可以獲取預編譯的預釋出二進位制檔案。 注意:如果你是從github下載二進位制檔案,則需要通過執行以下命令來把它標記為可執行檔案:
$ chmod +x legion-exe
用法:
$ stack exec legion-exe [http port] [p2p port] [optional: `seedhost:seedP2PPort`]
例子:
$ stack exec legion-exe 8001 9001
預設情況下,legion會把輸出到標準輸出的內容記錄下來。在另一個終端視窗中執行:
$ stack exec legion-exe 8002 9002 localhost:9001
或者,你可以從github獲取二進位制檔案並直接執行,而不是通過stack exec
來執行。
第三個引數告訴節點從哪裡可以找到一個種子節點來引導到點對點網路的連線。你可以從任何一臺伺服器上獲取到區塊鏈的當前狀態,它將自動保持更新,並將自己的更新狀態傳送給其他節點。
現在,兩個節點已經同步了,你可以從http://localhost:$httpPort/chain這樣的地址檢視當前的區塊鏈,例如:http://localhost:8001/chain
通過傳送POST請求到/block來向區塊鏈新增一個新的區塊:
$ curl -H "Content-Type: application/json" -X POST -d '{"blockBody": "this is the data for the next block"}' http://localhost:8001/block