# 北大数瑞介绍

- - -

## 什么是BDContract?

BDContract是一个可信计算框架，计算逻辑以智能合约的方式表达。通过”随机“和”冗余计算“的方式实现智能合约的可信执行。BDContract在保证智能合约的可用性、可靠性的同时，着重提升执行效率和安全性。


- - -

## 特点

0. 支持多种执行模式，权衡可用性、可靠性、正确性和效率。
1. 接入各种数据源。
2. 支持合约的细粒度监测。
3. 支持合约的状态。
4. 访问控制。
5. 支撑跨语言调用。


- - -


## 使用开源项目说明
BDWare项目站在了许多巨人的肩膀上，感谢这些开源项目。

本项目的智能合约后端使用了以下开源库。

| 名称 | Licence类型 | 说明 |
| ------ | ---------- | ---- |
| [Project Nashorn](https://openjdk.java.net/projects/nashorn/) | [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) | 使用了该项目的编译器，可以将js函数编译为java字节码 |
| [ASM OW2](https://projects.ow2.org/view/asm/) | [BSD](https://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_(original_%22BSD_License%22)) with attribution | 基于asm的TreeAPI与VisitorAPI实现合约的静态分析框架 |
| [Netty](https://netty.io/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | 使用netty作为Http/Websocket的服务端 |
| [gRPC](https://grpc.io/) | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | 使用gRPC与BDWareLedger通讯 |
| [RocksDB](https://github.com/facebook/rocksdb) | [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) | 后台数据库 |
| [ANTLR](https://github.com/antlr/antlr4) | [BSD](https://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_(original_%22BSD_License%22)) | 对合约脚本的词法分析与语法分析 |
| [SM2Java](https://github.com/PopezLotado/SM2Java) | [无](https://github.com/PopezLotado/SM2Java/blob/master/README.md) | 国密SM2 Java语言实现 |



本项目的智能合约前端使用了以下开源库。

| 名称 | Licence类型 | 说明 |
| ------ | ---------- | ---- |
| [Bootstrap](https://getbootstrap.com/) | [MIT](https://github.com/twbs/bootstrap/blob/master/LICENSE) | 前端的排版、样式 |
| [jQuery](https://jquery.org/) | [MIT](https://jquery.org/license/) | 用于操作DOM的javascript库 |
| [jQueryUI](https://jqueryui.com/) | [MIT](https://jquery.org/license/) | 前端UI构件库 |
| [DataTables](https://datatables.net/) | [MIT](https://datatables.net/license/mit) | 表格样式 |
| [CodeMirror](https://codemirror.net/) | [MIT](https://codemirror.net/LICENSE) | 代码编辑框样式 |
| [eCharts](https://echarts.apache.org/zh/index.html) | [ApacheV2](https://www.apache.org/licenses/) | 统计图表 |
| [sm-crypto](https://github.com/JuneAndGreen/sm-crypto) | [MIT](https://github.com/JuneAndGreen/sm-crypto/blob/master/LICENCE_MIT) | 国密SM2 javascript语言实现 |

本项目的文档使用[Sphinx](https://www.sphinx-doc.org/en/master/)生成，感谢[readthedocs](https://readthedocs.org/)提供文档样式。