区块链发展

  • ye
  • 更新于 2022-11-27 15:07
  • 阅读 1958

区块链发展

BlockScout为用户提供了一个全面的、易于使用的界面,以查看、确认和检查EVM(Ethereum虚拟机)区块链上的交易。BlockScout目前承载着POA网络、xDai Chain、Ethereum Classic、Sokol & Kovan测试网以及许多其他测试网、私有链和侧链。

BlockScout是一个Elixir应用程序,允许用户搜索交易,查看账户和余额,并验证Ethereum上的智能合约,包括分叉和侧链。

BlockScout为用户提供了一个全面的、易于使用的界面,以查看、确认和检查EVM(Ethereum虚拟机)区块链上的交易。BlockScout目前承载着POA网络、xDai Chain、Ethereum Classic、Sokol & Kovan测试网以及许多其他测试网、私有链和侧链。

准备环境

环境 Mac Linux Erlang/OTP 24 brew install erlang Erlang Install Example Elixir 1.12.x brew install elixir Elixir Install Example Postgres 10.3+,11,12, 13 brew install postgresql Postgres Install Example Node.js 14.x.x brew install node Node.js Install Example Automake brew install automake Automake Install Example Libtool brew install libtool Libtool Install Example Inotify-tools Not Required Ubuntu - apt-get install inotify-tools GCC Compiler brew install gcc GCC Compiler Example GMP brew install gmp Install GMP Devel Make - sudo apt install makeif Debian 9 G++ Compiler - sudo apt install g++if Debian 9 Rust - Install Rust Cargo - Ubuntu - apt-get install cargo

安装环境

Ubuntu

Erlang/OTP23 Elixir 1.10.x wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb && sudo dpkg -i erlang-solutions_2.0_all.deb sudo apt-get update sudo apt-get install esl-erlang sudo apt-get install elixir

automake sudo apt-get install automake autoconf

make sudo apt-get install make

inotify-tools sudo apt-get install inotify-tools

gmp sudo apt-get install libgmp-dev

libtool sudo apt-get install libtool

gcc sudo apt-get install gcc

g++ sudo apt-get install g++

rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

定义变量

以下是部署客户端时不可或缺的环境变量

环境变量 默认 BLOCKSCOUT_VERSION unknown COIN POA DB_HOST - DB_PASSWORD - DB_PORT - DB_USERNAME - ETHEREUM_JSONRPC_HTTP_URL http://localhost:8545 ETHEREUM_JSONRPC_TRACE_URL http://localhost:8545 ETHEREUM_JSONRPC_WS_URL ws://localhost:8546 ETHEREUM_JSONRPC_VARIANT parity HEART_BEAT_TIMEOUT 30 HEART_COMMAND sudo systemctl restart explorer.service LOGO /images/blockscout_logo.svg NETWORK POA Network SUBNETWORK Sokol Testnet NETWORK_ICON _test_network_icon.html LINK_TO_OTHER_EXPLORERS true 部署步骤 手动部署 克隆源码 git clone https://github.com/blockscout/blockscout 进入根目录 cd blockscout 3设置数据库连接环境变量

注意

您的账户必须有创建数据库的权限

export DATABASE_URL=postgresql://user:password@localhost:5432/block

export DB_HOST=127.0.0.1 export DB_PASSWORD=123456 export DB_PORT=5432 export DB_USERNAME=postgres 设置 secret_key_base 环境变量 export SECRET_KEY_BASE=VTIB3uHDNbvrY0+60ZWgUoUBKDn9p 或者你也可以运行以下命令生成一个新的secret_key_base

mix phx.gen.secret 如果您以前已经部署过,请从先前的版本中删除静态资源 mix phx.digest.clean 设置其他环境变量 配置客户端连接

BlockScout 目前支持 Parity, OpenEthereum, Geth, Nethermind, Hyperledger 客户端。

export COIN=MHXW export ETHEREUM_JSONRPC_VARIANT=geth export ETHEREUM_JSONRPC_HTTP_URL="http://localhost:8545" export ETHEREUM_JSONRPC_WS_URL="ws://localhost:8545" export ETHEREUM_JSONRPC_TRACE_URL="http://localhost:8545" export BLOCK_TRANSFORMER=clique export NETWORK="testnet" export MIX_ENV=prod 安装Mix依赖,并对其进行编译 mix do deps.get, local.rebar --force, deps.compile, compile

或者你也可以将其拆解开之后执行,这样有助于更细致地查看运行信息 mix do deps.get mix do local.rebar --force mix do deps.compile mix do compile 提示

在获取该依赖时候可能因地域网络原因存在超时现象,需使用境外网络代理。如果仍超时,可将获取依赖时间延长。

创建和迁移数据库 mix do ecto.create, ecto.migrate 提示

如果在开发环境中采用不同的区块链运行过该程序,请执行以下命令删除以前的数据库

注意

ecto.drop将从数据库中删除所有数据。如果您不想丢失所有数据,请不要在生产中执行它!

mix do ecto.drop, ecto.create, ecto.migrate 安装 Node.js 依赖 cd apps/block_scout_web/assets npm install && node_modules/webpack/bin/webpack.js --mode production cd -

cd apps/explorer && npm install cd - 建立用于部署的静态资产,执行命令 cd apps/block_scout_web/ mix phx.digest 启用HTTPS cd apps/block_scout_web/ mix phx.gen.cert blockscout blockscout.local cd - 然后将 blockscout 和 blockscout.local 配置到 /etc/hosts

127.0.0.1 localhost blockscout blockscout.local

255.255.255.255 broadcasthost

::1 localhost blockscout blockscout.local 返回到源码根目录并启动Phoenix Server 在浏览器输入ip:4000查看是否部署成功。

Docker 方式部署

克隆并进入源码目录 git clone https://github.com/blockscout/blockscout cd blockscout 设置环境变量 vim ~/.bashrc export DATABASE_URL=postgresql://user:password@localhost:5432/explorer export COIN=MHXW export ETHEREUM_JSONRPC_VARIANT=geth export ETHEREUM_JSONRPC_HTTP_URL="http://localhost:8545" export ETHEREUM_JSONRPC_WS_URL="ws://localhost:8545" export ETHEREUM_JSONRPC_TRACE_URL="http://localhost:8545" export BLOCK_TRANSFORMER=clique export NETWORK="testnet" export MIX_ENV=prod 运行服务 make start 常见问题 https://docs.blockscout.com/for-developers/ansible-deployment/common-errors-and-questions

参考文档 https://github.com/blockscout/docs/tree/master/for-developers/information-and-settings https://docs.blockscout.com/for-developers/information-and-settings/requirements

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
ye
ye
江湖只有他的大名,没有他的介绍。