Migrated repository
Go to file
2022-07-28 01:10:25 +08:00
_windows IU-2017.3.1 <Administrator@zd001 Update vim_settings.xml, vcs.xml Create ui.lnf.xml, editor.xml, applicationLibraries.xml 2018-11-13 17:45:18 +08:00
api_req repchain2.0-update61:增加组网id为账户前缀。 2022-06-14 13:26:11 +08:00
codestyles IU-2017.3.1 <Administrator@zd001 Create vim_settings.xml, ide.general.xml, git.xml, vcs.xml, scala.xml, laf.xml, Default.xml, debugger.xml, path.macros.xml 2018-11-13 17:21:02 +08:00
conf fix: RouteOfParallelSandboxs为null;配置改为调试模式 2022-07-28 01:10:25 +08:00
jks repchain2.0-update81:整合密码算法代码,增加国密算法的动态节点管理;调整组网相关配置,减少用户输入配置项;调整RepChain API相关配置,将API相关配置调整到api目录;增加RepChain management的配置项。 2022-07-21 16:05:40 +08:00
jks_ca dev_zulujdk11_tls1.3 初始化。1、本分支是基于zulujdk11,且支持TLS1.3;2、支持通过引入ca实现基于TLS1.3动态加入节点。 2019-12-18 10:55:07 +08:00
json repchain2.0-update85:增加根据配置文件自动构建创世块功能。GenesisBlockGenerator的输入参数为:创世块的配置文件;默认创世块的配置文件=genesis.conf 2022-07-23 17:23:27 +08:00
licenses commit message 2018-07-11 17:36:52 +08:00
pfx repchain2.0-update81:整合密码算法代码,增加国密算法的动态节点管理;调整组网相关配置,减少用户输入配置项;调整RepChain API相关配置,将API相关配置调整到api目录;增加RepChain management的配置项。 2022-07-21 16:05:40 +08:00
project fix: 修复编译错误 2022-06-29 14:14:45 +08:00
shell jdk13,tls1.3,akka2.6.1,传输方式可在artery/classic之间进行切换 2020-01-03 09:39:47 +08:00
src fix: 切换到不容易出启动问题的provider 2022-07-28 00:54:58 +08:00
.gitignore update .gitignore and swaggerDoc(RepChain's version) 2020-09-15 12:23:36 +08:00
assembly.sbt assembly时,标识mainClass 2020-11-17 17:22:25 +08:00
build.sbt fix: 修复编译错误 2022-06-29 14:14:45 +08:00
debugger.renderers.xml IU-2017.3.1 <Administrator@zd001 Create debugger.renderers.xml 2018-11-27 14:28:25 +08:00
dependencyLicenseInfo.txt update dependencyLicenseInfo.txt. 2020-02-12 10:17:47 +08:00
FQA.md update README.md. 2020-06-16 11:56:16 +08:00
LICENSE commit message 2018-07-11 17:36:52 +08:00
NOTICE commit message 2018-07-11 17:36:52 +08:00
README.md update README.md. 2021-11-08 03:36:19 +00:00
TODO.md commit message 2018-07-11 17:36:52 +08:00
usageView.xml IU-2017.3.1 <Administrator@zd001 Create usageView.xml 2018-11-27 14:14:12 +08:00

RepChain

RepChain文档 单机多节点部署 多机多节点部署

参考阅读

  • 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内置方法

安装

分层架构

RepChain系统分层图

  • 数据层负责数据格式定义数据结构采用Protocol Buffers定义文件并以此为基础实现数据的交换、验证、存储、读取及检索
  • 网络层采用JDK内置的TLS实现支持入网许可验证在此基础上进行去中心化的gossip组网网络传播支持P2P和Pub/Sub两种方式
  • 共识层完成区块的输入共识和输出共识。采用兼顾实时性和安全性的CFRD算法既照顾到交易的实时性要求又能在一定程度防止节点串通作弊输入共识对入块的交易顺序达成一致输出共识对交易顺序执行的结果达成一致
  • 合约层:为合约执行提供上下文环境,支持合约的动态部署、运行时加载和编译执行
  • API层提供外部接口允许第三方应用以Restful的形式与系统交互并允许开发者通过Swagger UI进行在线测试。API层提供交易签名提交、区块和交易检索等基本功能
  • 监控层:在区块链网络中收集事件/日志,并将其以Protocol Buffers的格式推送至Web端,以H5图形技术进行实时状态的可视化展示和日志回放

运行

修改配置

打包

  • assembly
    • 打包成jar包进行分布式部署

示范应用

  • BAR(Base App of RepChain):提供了通用的基础功能实现,区块链应用实施者既可以直接复用其提供的功能, 也可以在其源代码的基础上进行开发快速开发自己的DAppp
  • SBR(Storage Based on RepChain)基于BAR开发的可举证云存储应用示例
  • CRBB(Copyright Register Based on Blockchain)基于RepChain的数字版权登记保护应用示例