找到 1 篇与 Scala 相关的结果
-
RepChain {card-default label="📦 项目信息"} 🔧 项目名称:RepChain 💻 开发语言:Scala ⭐ Star数:753 | 🍴 Fork数:149 📜 开源协议:Apache-2.0 🔗 项目地址:https://gitee.com/BTAJL/repchain {/card-default} 项目介绍 RepChain(Reactive Permissioned Chain)是第一款采用响应式编程实现的自主可控的区块链基础组件。由中国科学院软件研究所、贵阳信息技术研究院、中科软科技股份有限公司和北京连琪科技有限公司共同研发,支持单位有中科嘉速、中科智城(广州)信息科技有限公司。RepChain已通过工信部信通院“2019、2020可信区块链”功能和性能测试。 项目详情 RepChain RepChain官网:https://repchain.net RepChain文档 单机多节点部署 多机多节点部署 RepChain2.0免编译版本发布 RepChain免编译版本下载 ——为方便用户使用,提供了免编译版本,此版本不需要编译即可直接运行 前置条件 需要机器上安装java13,并配置好环境变量 单机多节点解压后使用启动脚本 (start.sh或start.cmd),linux/mac使用start.sh,,win系统双击start.cmd 多机多节点使用启动脚本(start01.sh至start05.sh或start01.cmd至start05.cmd),启动前需要修改配置文件 参考阅读 akka ——系统内部模块采用akka actor实现 akka remoting security ——节点之间安全通信采用akka Remote支持的TLS akka serialization——节点之间消息交互采用protobuf序列化 scalaPB——从proto定义生成Scala类的工具 protobufjs——在web端根据proto定义,反序列化protobuf字节流 swagger-scala——API支持Swagger UI json4s——在API层提供输入对象的json反序列化,返回结果的json序列化 d3.js-force layout——入/离网节点的自动布局 leveldb for java——存取Blocks、Transactions索引 java security——hash、签名、密钥对及证书管理均采用jdk内置方法 安装 install zuluJdk11+ install Python install Scala install SBT install Idea IDE install keystore-explorer ——用于生成密钥对的工具,非必须 install protobuf editor——编辑protobuf定义工具,非必须 分层架构 RepChain系统分层图 数据层:负责数据格式定义,数据结构采用Protocol Buffers定义文件,并以此为基础实现数据的交换、验证、存储、读取及检索 网络层:采用JDK内置的TLS实现,支持入网许可验证,在此基础上进行去中心化的gossip组网,网络传播支持P2P和Pub/Sub两种方式 共识层:完成区块的输入共识和输出共识。采用兼顾实时性和安全性的CFRD算法,既照顾到交易的实时性要求,又能在一定程度防止节点串通作弊;输入共识对入块的交易顺序达成一致,输出共识对交易顺序执行的结果达成一致 合约层:为合约执行提供上下文环境,支持合约的动态部署、运行时加载和编译执行 API层:提供外部接口,允许第三方应用以Restful的形式与系统交互,并允许开发者通过Swagger UI进行在线测试。API层提供交易签名提交、区块和交易检索等基本功能 监控层:在区块链网络中收集事件/日志,并将其以Protocol Buffers的格式推送至Web端,以H5图形技术进行实时状态的可视化展示和日志回放 运行 下载项目到本地 git clone https://gitee.com/BTAJL/repchain.git 导入 打开Idea IDE,File->New->Project or Project from VersionControl 使用Idea的sbt插件导入 使用sbt shell 进行compile 右键单击 rep.app.Repchain.scala,Run 'RepChain'(单机组网4个节点) 运行配置VM参数 -Dlogback.configurationFile=conf/logback.xml (使logback配置生效) 查看实时图 http://localhost:8081/web/g1.html 实时状态图 查看API http://localhost:8081/swagger/index.html Swagger-UI 修改配置 生成RepChain节点密钥对及信任证书列表(见《RepChain开发者指南》 2.1.5) 制作创世区块(见《RepChain开发者指南》 2.1.6) 调整系统配置参数(见《RepChain开发者指南》 2.1.7) 打包 assembly 打包成jar包,进行分布式部署 示范应用 BAR(Base App of RepChain):提供了通用的基础功能实现,区块链应用实施者既可以直接复用其提供的功能, 也可以在其源代码的基础上进行开发,快速开发自己的DAppp SBR(Storage Based on RepChain):基于BAR开发的可举证云存储应用示例 CRBB(Copyright Register Based on Blockchain):基于RepChain的数字版权登记保护应用示例 ⬇️ 下载地址 下载后请先检查文件完整性,如有问题请在评论区反馈