Delta
HomeGithubDocs
  • Delta开发文档
  • 系统架构说明
  • 快速搭建指南
  • Delta在线Demo
  • 常见问题解答
  • 其他区块链支持
  • 版本发布说明
    • v0.8.2
    • v0.8.1
    • v0.8.0
    • v0.6.0
    • v0.5.3
    • v0.5.0
    • 历史版本
  • 系统搭建和部署
    • 启动Delta区块链节点
    • 启动Delta区块链浏览器
    • 部署智能合约
    • 启动Chain Connector
    • 启动Delta Node
    • 启动Delta ZK
    • 准备节点数据
    • 启动Deltaboard
    • 执行计算任务
  • 计算任务开发
    • 横向联邦学习任务
    • 横向联邦统计任务
    • 逻辑回归任务
    • 使用Delta Node API管理任务
  • 系统详细设计
    • 横向联邦任务框架
    • 链上安全聚合
    • 横向联邦学习
    • 横向联邦统计
    • 逻辑回归
    • 逻辑回归中的零知识证明
    • 节点加入与离开网络的机制
  • 联邦统计
    • Pandas API支持列表
由 GitBook 提供支持
在本页
  • 通过Docker镜像启动区块链浏览器
  • 启动Postgres数据库
  • 下载Delta区块链浏览器镜像
  • 初始化配置
  • 启动区块链浏览器的容器

这有帮助吗?

  1. 系统搭建和部署

启动Delta区块链浏览器

通过Docker镜像启动区块链浏览器

推荐通过Delta Chain Explorer的Docker镜像来进行部署

启动Postgres数据库

区块链浏览器需要使用一个Postgres数据库来存储数据。数据分为两部分,一部分是区块数据解析后生成的索引,便于在前台快速展示历史区块的信息。另一部分是用户上传的合约数据,用于更详细的展示合约里面的内容。在区块链浏览器第一次启动时,会花一定的时间扫描历史区块,来生成索引数据。

如果数据库的数据丢失了,启动一个新的数据库,区块索引数据花一段时间就可以重建,但是用户上传的合约数据就彻底丢失了。

我们可以通过Postgres的Docker镜像来启动一个Postgres数据库供区块链浏览器使用。为了防止数据丢失,最好将持久化存储的数据放到Docker容器外部的持久化卷上保存。

在本地新建一个文件夹,做为启动数据库的跟目录:

$ mkdir postgres

然后用下面的命令启动postgres的镜像:

$ cd postgres
$ docker run -p 5432:5432 -d -v ${PWD}/data:/var/lib/postgresql/data -e PGDATA=/var/lib/postgresql/data/pgdata -e POSTGRES_PASSWORD='1234qwer' postgres:alpine3.14

注意这行启动命令干了三件事情,第一个是创建data子文件夹,并将其绑定到容器中去,第二个是通过环境变量设置了Postgres使用的数据文件位置,第三个是通过环境变量设置了postgres默认用户的密码。

下载Delta区块链浏览器镜像

$ docker pull deltampc/delta-chain-explorer:dev

初始化配置

新建文件夹delta-explorer,作为节点启动的根目录:

$ mkdir delta-explorer

然后进入根目录,创建环境变量文件:

$ cd delta-explorer && touch .env

环境变量文件示例如下:

DATABASE_URL=postgresql://<db user>:<db password>@<db host>:<db port>/explorer?ssl=false
ETHEREUM_JSONRPC_VARIANT=ganache
ETHEREUM_JSONRPC_HTTP_URL=<RPC endponit url(http://172.17.0.1:9933)>
ETHEREUM_JSONRPC_TRACE_URL=<RPC endponit url(http://172.17.0.1:9933)>
ETHEREUM_JSONRPC_WS_URL=<Websocket endponit url(ws://172.17.0.1:9944)>
COIN=DAI

首先要配置数据库连接,填入数据库的用户名、密码、服务器地址和端口号。如果使用了上一节的方法来启动数据库,则用户名是postgres,密码是1234qwer,服务器地址是宿主机的IP,端口是5432。

另外,需要将<RPC endpoint url>和<Websocket endpoint url>地址设置为区块链节点的地址。

如果使用了上一章的教程启动区块链节点,则服务的IP都是宿主机IP,RPC服务的端口是9933,Websocket服务的端口是9944。

如果是使用Delta All-in-one脚本启动的Ganache节点,那服务的IP地址是Docker的网卡IP,一般是172.17.0.1,PRC和Websocket的端口都是8545。

注意上面两步中,宿主机的IP地址不是127.0.0.1,具体取决于操作系统:

  • 对于Windows和Mac系统,请使用域名host.docker.internal

  • 对于Linux系统,请使用ifconfig查看网卡docker0的IP地址(默认为172.17.0.1)

启动区块链浏览器的容器

$ docker run -d -p 4000:4000 --env-file ./.env deltampc/delta-chain-explorer:dev
上一页启动Delta区块链节点下一页部署智能合约

最后更新于2年前

这有帮助吗?

在浏览器中访问地址,可以看到区块链浏览器已经启动起来了:

http://localhost:4000