返回 登录
0

Legion:基于Haskell开发的极简区块链服务器

原文Legion, an as-simple-as-possible blockchain server written in Haskell
翻译:雁惊寒

这个一个源于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
评论