237 Star 604 Fork 127

GVP区块链技术与应用联合实验室 / RepChain

1086911 brightesboy 1578939859 zyf
  • 返回预执行结果给交易提交者
  • 调整接口
    • 新增leveldb查询:可根据合约名和对应的key来查询存在leveldb中的数据
    • 微调部分查询接口
      1. 删除导入区块信息到缓存的接口
      2. 恢复查询入块(上链)时间等接口
  • 前端实时图与Swagger-UI可使用黑色主题
    • localhost:8081/web/g1.html?theme=dark
    • localhost:8081/swagger/index.html?theme=dark
2022-01-19 10:10
1086911 brightesboy 1578939859 zyf
  • 升级Swagger-UI,且升级接口描述至OAS3.0
  • 使用IDE对合约进行动态调试时,不再需要重启RepChain,直接将生成的合约文件放到IDE源码目录下,打断点即可调试
2022-01-19 10:05
1086911 brightesboy 1578939859 zyf
  • 修改签名验签算法:将"SHA1withECDSA"修改为"SHA256withECDSA"
2020-09-10 10:08
1086911 brightesboy 1578939859 zyf
  1. 支持OpenJDK(使用13)
    • 推荐使用zulu社区版
  2. 依赖组件升级
  3. 组网成员在线增加/删除(节点离网入网时,系统能很快更新节点视图,保证出块不受影响)
    • 节点由于网络故障离线,剩余节点出块不受影响,在网络恢复情况下,节点不需经过人工干预重启即可重新加入到网中,节点恢复加入后,可以继续工作。
    • 节点由于崩溃性故障,需要人工干预重启,节点重启恢复加入后,可以继续工作。
  4. 共识层抽象和更多的共识算法实现
    • CFRD
    • PBFT
    • RAFT
  5. 数据前向兼容
    • 假设系统更新时,Block数据结构追加了新的字段,新的系统代码处理和Block相关的逻辑时,可根据version来做分别的处理,以保证系统对上一个版本的数据可读可处理。
  6. 存储层抽象
    • 针对不同的共识协议,进行抽象
2020-08-25 15:22
1086911 brightesboy 1578939859 zyf

RepChain_1.0.0_RC针对RepChainV1.0-Preview新增如下功能:

  1. API:新增部分接口,可通过swagger-ui来查看
  2. 增强共识协议的灵活性,可根据具体场景进行相应的配置
预览版本
2019-05-23 14:20
1086911 brightesboy 1578939859 zyf

V1.0-preview在如下几个方面做了改进

  1. Protobuf定义
    • 相对于第一版进行了精简,系统字段所占空间大幅减少
    • 块结构体加入了高度,方便用户同步数据
    • 新增部分字段用于支持新增的合约功能
  2. 合约模块升级
    • 生命周期更完善
      • depoy
        部署合约的时候,支持合约使用别名,以及指定版本号,支持用户的升级,允许合约部署指定其在invoke时采用并行方式/串行方式执行
      • invoke
        通过合约别名和指定版本号,即可调用相应合约,增加了对并行invoke合约方法的支持
      • setState
        支持合约的禁用,启用,相应状态在该条交易入块之后生效
    • 引入法律描述
      支持合约的开发者,在合约中对合约的执行流程以及结果进行法律描述,用于责任的界定。
    • 不再返回预执行结果给合约调用方,只返回执行是否成功调用
    • 一律采用Scala语言作为合约脚本,不再支持Javascript合约脚本
    • 支持跨合约读取KV
    • 底层接口引入日志,即合约开发人员也可以将日志引入到合约中
  3. TPS的提升
    • 320 -> 680 提升1倍多
  4. 日志模块
    • 日志分级
      业务日志与系统日志分开管理,可根据业务需要进行配置
  5. 账户和证书管理
    • 账户证书分离
      账户和证书分开管理,通过对应的credit_code来进行关联,一个账户可以拥有多证书
  6. 系统效率、稳健性的提升
    • 对块与交易大小在API层进行限制,避免无效交易造成算力浪费。
    • 对节点之间方案进行了重新设计,同步更稳健。
    • 背书、共识、出块进一步细粒度并行化,执行效率更高。
    • 代码中在对非Protobuf对象进行序列化时,采用更高效的序列化实现。
    • 系统启动时加入了数据自检,对块的完整性进行检查。
  7. 使用最新稳定版本的scala2.12和akka2.5.22,其他依赖库也进行了更新
  8. 配置文件相对于上一版进行了改动
  9. 测试用例更丰富完善
  10. 优化了存储、同步等,解决了部分bug
最后提交信息为: 为新增的文件添加Licence
2019-04-30 09:39
1086911 brightesboy 1578939859 zyf

相比于上一版本,V0.8具有如下新功能


  1. 国密集成(gm分支)
    • 基于国密的P2P组网
    • 基于国密算法的签名与验签
    • 基于国密的杂凑
    • 基于国密的用户证书管理
  2. TPS的提升
    • 120 -> 320 提升200
  3. 增加非共识节点
    • 可配置非共识节点
  4. 增强抽签算法的随机性和公平性
  5. 输出日志的动态管理
    • 通过Restful API动态关闭和打开系统的日志。
    • 通过Restful API动态关闭和打开某个节点的日志
    • 通过Restful API动态关闭和打开某个模块的日志
  6. 解决了部分bug
最后提交信息为: 无关紧要的修改
Scala
1
https://gitee.com/BTAJL/repchain.git
git@gitee.com:BTAJL/repchain.git
BTAJL
repchain
RepChain

搜索帮助