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
Legion:基于Haskell开发的极简区块链服务器相关推荐
- Serverless 实战 —— 基于 Serverless 的 VuePress 极简静态网站
基于 Serverless 的 VuePress 极简静态网站 作者: Aceyclee 之前用过 Docsify + Serverless Framework 快速创建个人博客系统,虽然 docsi ...
- 【一天一门编程语言】Haskell 语言程序设计极简教程
Haskell 语言程序设计极简教程 一.什么是 Haskell Haskell 是一种纯函数式编程语言,它把程序设计抽象化到一个更高的层次,简化程序开发工作量,能够更快更容易地完成任务. 它是一种函 ...
- python3web库_基于 Python3 写的极简版 webserver
基于 Python3 写的极简版 webserver.用于学习 HTTP协议,及 WEB服务器 工作原理.笔者对 WEB服务器 的工作原理理解的比较粗浅,仅是基于个人的理解来写的,存在很多不足和漏洞, ...
- 区块链开发(五)区块链ICO:互联网进化的驱动力
区块链开发(五)区块链ICO:互联网进化的驱动力 李赫 2016年10月8日 由于区块链不可篡改的特性,在众多区块链组织和公司的共同努力下,互联网将逐步从中心化的信任进化到由算法.数据为核心的去中心化 ...
- Tech Talk 宣传 | 如何高效、极简构造无服务器 Web 应用
无服务器计算服务的诞生让开发者可以快速构造低成本.高可用.自动扩展的应用程序.说到无服务器服务,由亚马逊云科技推出的 Amazon Lambda 你一定不陌生. 随着云计算的发展,Amazon Lam ...
- 国外大牛教你,如何用Python开发一个简单的区块链数据结构| 建议收藏
来源 | Medium 作者 | arjuna sky kok 整理 / Aholiab 出品 | 区块链大本营(blockchain_camp) 根据IEEE此前的一项调查,Python已成为最受开 ...
- 使用web3和infura开发以太坊ethereum区块链
web3 Github: https://github.com/ethereum/web3.js/ web3.js是以太坊提供的一个Javascript库,它封装了以太坊的RPC通信API,提供了一系 ...
- JAVA开发(神乎其神的区块链概念和技术)
由于我最近需要做一个关于区块链的项目,所以想写篇博文记录一下自己的一些疑惑.区块链技术最火爆的时间应该是2016年和2017年.它产生的背景是B特币兴起,一时间说虚拟货币将取代所有实物货币炒的沸沸扬扬 ...
- AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之二、会中智能
AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理.区块链和爬虫技术的智能会议系统>软件系统案 ...
- 区块链软件开发公司谈获取区块链的方式
区块链技术的发展已成为不可逆转的现象.区块链技术作为比特币的底层技术,是一种由密码学产生的数据块.大规模区块链技术对应于范围广泛的数据库,导致日志内容复杂.消费者可以通过信誉良好的区块链技术重新整合行 ...
最新文章
- invalid use of incomplete type ‘class B‘
- ELK 5.X版本遇到的坑
- Linux/windows下nginx的安装及使用
- 考研数学一2015年真题整理
- Graphviz之DT:手把手教你使用可视化工具Graphviz将dot文件转为结构图的png文件
- 5、计算机网络物理层和数据链路层
- java中那些类是线程安全的?
- 迭代器模式coding
- 别瞎找了,你要的C语言经典示例都在这~
- 问题-[WIN8.132位系统]安装Win8.1 遇到无法升级.NET Framework 3.5.1
- VIA1708s声卡前置麦克设置问题
- 机器人教练走进驾校_“机器人教练”走进镇江驾校
- 西餐菜单怎么翻译成英文
- 李宏毅老师《机器学习》入门第一课
- 如何把vs2003转化成vs2005
- 今日学习在线编程题:弓形半径
- winscp如何连接安卓手机_通过winscp连接路由器
- 给pdf、word、excel文件添加水印
- linux怎么sftp传文件,Linux 如何使用SFTP命令传输文件
- centos7解决hadoop2.6.4多次格式化导致的slaver节点datanode无法启动的问题
热门文章
- 微信app支付php案例分析,PHP实现APP微信支付的实例讲解
- 为什么 fac_us=SystemCoreClock/8000000?
- 如何使用promise.all
- pulseaudio 播放卡顿的解决方法
- 扒一扒那些叫欧拉的定理们(一)——基本介绍和简单多面体欧拉定理
- UnityWebGL发布包问题及IIS配置
- 你真的了解VRP操作系统吗?华为网络设备的文件系统、设备基础管理、命令行基础一次学会
- JQuery插件之图片轮播插件–slideBox
- NFT游戏开发NFT平台开发元宇宙对战游戏开发三国版元宇宙NFT游戏
- 微信开放平台和微信公众平台配置流程简介,