Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

FISCO-BCOS/distributed-identity-management-plugin

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

distributed-identity-management-plugin

本分支主要讲述如何在 FISCO BCOS 基础上,实现许可链生态用户身份与数据监管系统

1. 安装依赖

安装gcc/g++,make,rust,gmp

sudo apt-get install -y gcc-g++ make rust libgmp-dev pari-go bison libclang-dev

2. 搭建四节点BCOS区块链网络

参考FISCO BCOS官方文档(https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/index.html)[https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/index.html]

3. 下载 & 编译源码

下载分布式身份管理插件源代码

git clone https://github.com/FISCO-BCOS/distributed-identity-management-plugin.git

编译源码

cd distributed-identity-management-plugin

cargo build

耐心等待几分钟,等待编译完成

4. 配置

4.1 配置代理节点

vim ./proxy/src/config/config_files/gs_tbk_config.json

如下所示:

{
 "listen_addr":"0.0.0.0:50000", # 本地监听端口
 "proxy_addr":"127.0.0.1:50000", # 配置代理节点的通信IP
 "threshold_params":{
 "threshold":2, # 配置门限信息
 "share_counts":4 # 配置区块链节点数量
 }
}

4.2 配置区块链节点

vim ./node/src/config/config_files/gs_tbk_config.json

如下所示:

{
 "listen_addr":"0.0.0.0:50000", # 本地监听端口
 "proxy_addr":"127.0.0.1:50000", # 配置代理节点的通信IP
 "node_addr":"127.0.0.1:50001", # 配置区块链节点自身的通信IP
 "threshold_params":{
 "threshold":2, # 配置门限信息
 "share_counts":4 # 配置区块链节点数量
 }
}

4.3 配置客户端

vim ./node/src/config/config_files/gs_tbk_config.json

如下所示:

{
 "listen_addr":"0.0.0.0:60000", # 本地监听端口
 "proxy_addr":"127.0.0.1:50000", # 配置代理节点的通信IP
 "user_addr":"127.0.0.1:60001", # 配置区块链节点自身的通信IP
 "name": "user_name" # 配置用户名
}

4.4 配置用户密钥过期时间

vim ./gs_tbk_scheme/src/tree.rs

找到下面内容:

pub fn set_time(tree_vec:&mut Vec<TreeNode>,level:usize) {
	let num_leaf = pow(2, level-1);
    let mut first_leaf_order = pow(2, level-1);
    for i in 1..num_leaf {
        let final_time = Local::now() + i * StdDuration::from_secs(130);
        tree_vec[first_leaf_order].tau.realtime = final_time.format("%Y-%m-%d %H:%M:%S").to_string();
        //println!("{:?}",tree_vec[first_leaf_order]);
        first_leaf_order += 1;
    }
}

修改from_secs(130)中130,即可完成用户时间期限修改,单位是秒

5. 连接

5.1 启动代理节点

运行cargo test --package intergration_test --lib -- proxy::proxy_node::test --exact --nocapture,启动代理节点

5.2 启动四个区块链节点

在四个节点的源目录下运行:cargo test --package intergration_test --lib -- node::node1::node1::test --exact --nocapture,启动区块链节点分布式身份管理插件。

./intergration_test/src/node/node1/info下生成keygen.json文件。

终端输出Keygen phase is finished!,表示各区块链节点的阈值密钥生成完毕,可进行后续用户注册和签名上链步骤。

5.3 启动用户端

在用户端的源目录下运行:cargo test --package intergration_test --lib -- user::user1::user1::test --exact --nocapture,启动用户节点,发起注册请求,并自动对消息进行签名上链。如果签名信息验证失败,自动完成用户身份揭露。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
Morty Proxy This is a proxified and sanitized view of the page, visit original site.