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

这是一个名为Legion的极简区块链服务器项目,采用Haskell语言编写。通过启动多个Legion节点形成点对点网络实现区块链的同步。项目支持从源码编译或使用预编译的二进制文件。用户可以通过HTTP接口查看区块链状态或向区块链添加新的区块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值