# Web3生态工具
## 区块链浏览器介绍
### 区块链浏览器背景及概述
区块链浏览器提供了实时浏览、查询区块链信息和统计信息的功能。主要由前端(`Web`展示)、后端及数据库三部分组成。数据库采用的是`MySQL`,后端采用go语言开发,前端使用的是`react`框架。区块链浏览器允许用户查看区块链上的所有交易记录、区块信息和地址详情等公开数据。这有助于提高区块链系统的透明度和可信度,让用户能够更好地了解区块链的工作原理和运行状况。通过区块链浏览器,用户可以追踪和验证交易的真实性,确保交易的安全可靠。区块链浏览器对于开发者来说是一个重要的工具,可以帮助他们调试智能合约、监控区块链状态、分析交易性能等。这对于开发高质量的区块链应用和提高系统性能具有重要意义。
### 区块链浏览器产品功能清单
| 主模块 | 主要功能 | 功能描述 |
|-----------|-----------------|--------------------------------------------------------|
| 区块链管理 | 区块链列表 | 展示当前浏览器已经订阅的区块链的信息 |
| | 新增订阅链 | 填写区块链ID、密码算法等信息新增订阅链 |
| | 删除订阅链 | 删除已订阅的链 |
| | 重新订阅 | 重新订阅链,一般用户重启区块链节点后,手动重新建立连接 |
| 首页 | 统计信息展示 | 展示当前链的累计交易数,累计合约数,累计区块数,组织数,链账户数量,以及24h的交易分布图等 |
| | 最新区块信息 | 展示最新的区块信息,包括区块高度,出块节点等 |
| | 最新交易信息 | 展示最新的交易信息,包括交易的id,交易的发起方和接收方 |
| | 最新合约信息 | 展示最新的合约信息,包括合约的名称和地址,合约部署者等 |
| 区块信息 | 区块列表 | 展示区块列表(区块hash、生成时间等) |
| | 区块详情 | 展示区块详情(区块高度、交易信息等),以及当前区块链的交易信息 |
| 交易信息 | 交易列表 | 展示交易列表(交易id、发起用户等) |
| | 交易详情 | 展示交易详情(交易信息、区块信息等) |
| 合约信息 | 合约列表 | 展示当前链上的全部合约信息, |
| | 普通合约详情 | 展示该合约的基础信息,以及合约内的交易记录, |
| | token类合约详情 | 适配CMDFA和ERC20合约标准协议,解析并展示当前合约全网的持有token情况,流转明细,交易记录等。 |
| | NFT类合约详情 | 适配CMNFA和ERC721合约标准协议,解析并展示当前合约全网的持有NFT情况,NFT详情,流转明细,交易记录等。 |
| 组织信息 | 组织列表 | 展示组织信息 |
| 节点信息 | 节点列表 | 展示节点信息 |
| 链账户信息 | 链账户详情 | 展示链账户的基本信息、链账户相关的交易信息等 |
更多具体功能请查看:[区块链浏览器用户使用说明](https://docs.chainmaker.org.cn/dev/%E5%8C%BA%E5%9D%97%E9%93%BE%E6%B5%8F%E8%A7%88%E5%99%A8.html)
## 主子链浏览器介绍
#### 主子链浏览器背景及概述
在当前市场中,出现了各种不同的区块链基础设施平台。各个企业在其自身的生态系统中,以私有化方式构建了各具特色的区块链平台。虽然在同一生态系统内可以实现信息共享,但不同平台和生态系统之间的区块链系统无法实现信息互通,导致了众多孤立的“区块链岛屿”出现。为了解决这一问题,本主子链技术方案应时而生。它旨在提供一套实现链与链之间协作通信的技术解决方案,连接各个区块链生态系统,形成一个统一、互联互通的区块链网络。
#### 主子链浏览器产品功能清单
| 主模块 | 主要功能 | 功能描述 |
| ------------ | ------------ | ------------------------------------------------------------ |
| 首页 | 搜索 | 跨链id或子链名称进行搜索 |
| | 跨链交易概览 | 跨链交易最短&长完成时间、平均完成时间、已接入子链数和总同步区块数 |
| | 最新跨链交易 | 显示最新十条跨链交易的跨链id、接收/发起链名 |
| | 子链列表 | 显示最新参与跨链交易的子链名、subchainid等 |
| 跨链交易管理 | 跨链交易筛选 | 交易时间、发起链、接收链、跨链ID筛选 |
| | 跨链交易列表 | 查看跨链ID、发起链、接收链、跨链交易状态和时间等 |
| | 跨链交易详情 | 跨链方向、合约名称、合约执行结果、发起/接收链名称、交易ID、GAS、跨链状态等 |
| 子链管理 | 子链筛选 | 子链名称、subchain ID筛选 |
| | 子链列表 | 子链名称、区块高度、该子链累计跨链交易数、累计合约数据、运行状态等 |
| | 子链详情 | 子链名称、区块链架构、累计跨链交易数/合约数、运行状态、跨链网关名称、跨链网关ID、跨链历史、跨链数据排行等 |
#### 主子链产品功能概览
##### 1.1 首页
- 首页展示整个主子链网的数据概览,包括跨链交易“最短/长/平均完成时间“、”已接入子链数“和“总同步区块数”等数据
- 首页展示“最新跨链交易”和“子链列表”,点击跨链id进入跨链详情页,点击子链名称进入子链详情页
##### 2.1 跨链交易列表
- 在跨链交易列表中,通过起止时间(跨链发起时间)来筛选跨链交易,也可以通过跨链ID或者发起/接收链名筛选
- 点击“跨链ID”或者操作中的“查看”进入跨链交易详情页
- 点击发起链/接收链名进入子链详情页或者主链浏览器
##### 2.2 跨链交易详情
- 跨链详情页展示一笔跨链交易中的“交易基本信息”、“目标交易内容”、“交易发起/接收方信息”和“跨链状态”
- 点击“发起/目标链交易ID”可以跳转至”交易详情“或主链浏览器
##### 3.1 子链列表
- 子链列表可以通过子链名称或者链ID来筛选子链
- 点击“子链名称”、“查看”进入子链详情页;点击浏览器,进入该子链的浏览器(部分进“内部访问”)
##### 3.2 子链详情页
- 子链详情页展示“子链基本信息”、“子链运行信息”、“子链网关信息”、“跨链历史“和”跨链数据排行“
- ”跨链历史“展示与该子链产生过跨链交易行为的交易数据,可以通过起止时间和跨链ID等字段进行筛选
- ”跨链数据排行“展示与该子链发生交易行为的其他子链(或主链)的交易次数排行榜(从多到少以此往下)
## Web3插件产品介绍
### Web3插件产品背景及概述
开发者在开发Dapp应用时,需要Web3插件直接与链进行交互,此外用户在使用Dapp应用时,也需要Web3插件对交易进行签名。因而核心团队推出SmartPlugin工具。SmartPlugin大大降低了开发使用Dapp的门槛,提高了用户在长安链开源社区的操作便利性。同时SmartPlugin本身完全去中心化,不涉及中心化的后端服务,从根源上确保用户的私钥和信息安全。
### Web3插件产品功能清单
| 主模块 | 主要功能 | 功能描述 |
| -------------- | ------------------------ | ---------------------------------------------------- |
| 首页 | 切换区块链 | 可以切换不同的区块链。 |
| | 查看连接状态 | 查看本插件与DAPP的连接状态 |
| | 查看链账户信息 | 查看当前链账户信息,包括链账户地址和备注名等 |
| | 切换链账户 | 切换插件内已导入的其他链账户 |
| | GAS信息 | 如果当前区块链开启了GAS计费,则会展示当前链账户的GAS余额 |
| 合约信息 | 查看合约列表 | 查看已订阅到插件的当前区块链的合约信息 |
| | 订阅合约 | 将当前区块链上的合约信息订阅到插件上,目前支持订阅CMEVI、CMDFA、CMNFA、CMID、以及其他类合约 |
| | CMDFA合约详情 | CMDFA(同质化数字资产),展示当前链账户在该合约对应的资产余额以及资产转让记录 |
| | CMID合约详情 | CMID(数字身份认证),展示当前链账户在该合约内的身份信息,如实名认证,企业认证等。 |
| | CMNFA合约详情 | CMNFA(非同质化数字资产),展示当前链账户在该合约内对应的对应的资产情况,以及资产详情 |
| | CMEVI合约详情 | CMNFA(区块链存证),展示当前链账户在合约内的存证信息 |
| | GAS合约详情 | 如果所订阅的链开启了GAS计费,GAS合约里将展示GAS的使用明细 |
| DID信息 | DID列表 | 如果该区块链适配了DID服务,则将展示该当前链账户对应的DID信息 |
| | DID-VC信息 | 可查看当前链账户所对应的DID的VC数字证书信息 |
| 区块链网络管理 | 添加区块链网络 | 支持添加公钥账户模式、证书账户模式两种长安链 |
| | 查看区块链网络 | 查看已添加进插件内的区块链信息 |
| | 修改区块链网络 | 修改已添加的区块链信息 |
| 链账号管理 | 创建钱包(公钥模式) | 支持创建新钱包,创建完成后将获得钱包助记词 |
| | 导入钱包(公钥模式) | 支持通过助记词导入钱包 |
| | 钱包详情(公钥模式) | 钱包详情里会展示已导入的链账户信息,以及助记词信息 |
| | 导入链账户(公钥模式) | 支持通过助记词或者私钥导入链账户 |
| | 查看链账户信息(公钥模式) | 查看链账户的公私钥信息 |
| | 下载链账户的公私钥(公钥模式) | 支持下载已导入到插件内的链账户的公私钥 |
| | 导入链账户(证书模式) | 支持通过用户证书和用户私钥导入链账户 |
| | 查看链账户信息(证书模式) | 查看链账户的证书信息和私钥信息 |
| | 下载链账户的证书(证书模式) | 支持下载已导入到插件内的链账户的证书和私钥 |
| 上链记录 | 上链记录 | 查看通过插件发起的上链交易的记录,可在与区块链浏览器关联,跳转到区块链浏览器内查看交易详情 |
| 系统设置 | 网络代理设置 | 设置将HTTP请求转发为gRPC请求的网络代理服务地址 |
| | 免密时长设置 | 设置多长时间内可以免输密码发送交易,以及多长时间插件锁屏 |
| Web3接口 | 请求添加区块链信息到插件内 | 通过Web3接口将区块链信息添加到插件内 |
| | 请求订阅合约信息到插件内 | 通过Web3接口将合约信息订阅到插件内 |
| | 请求授权连接 | DAPP可通过该接口,请求与插件建立连接 |
| | 请求授权私钥签名 | DAPP可通过该接口,请求使用插件内的私钥进行签名 |
| | 请求通过插件进行上链 | DAPP可通过该接口,请求插件进行上链操作,包括部署合约,调用合约等 |
| | 请求授权DID签名 | DAPP可通过该接口,请求插件内的DID进行签名授权,常用于签名授权登录等场景 |
| | 请求授权DID的VC | DAPP可通过该接口,请求获得插件内某一DID的VC数字证书。 |
更多具体功能请查看:[Web3插件用户使用说明](https://docs.chainmaker.org.cn/dev/%E9%95%BF%E5%AE%89%E9%93%BEWeb3%E6%8F%92%E4%BB%B6.html)