三步轻松快速搭建以太坊私链测试

这篇具有很好参考价值的文章主要介绍了三步轻松快速搭建以太坊私链测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境搭建

首先以太坊私链有很多种搭建方式,本篇介绍用docker的方式快速搭建测试链,可以用来测试合约、做实验等。不适用于生产环境。
(事先说明openethereum在2022年5月份的时候,已经被不再更新,仅保留现有版本)
利用docker搭建以太坊私链,当然需要装一下docker和docker compose了,具体的docker安装建议去官网进行安装,在我的另一篇文章中有详细介绍(hyperledger fabric 2.4 安装运行测试)。
本文使用的docker镜像是openethereum/openethereum,有兴趣的可以自行了解官网。

openethereum源码官网
https://github.com/openethereum/openethereum
openethereum文档详解
https://openethereum.github.io/Configuring-OpenEthereum

详细安装链接,附在下边
注意,docker和docker-compose和go请从官网安装,不要通过apt安装。(可能会有影响)
docker

配置文件目录

首先创建我们的新的链的目录,并创建相应的数据目录和key目录。其中,newethchain是主要的项目根目录,key文件夹用来存放相应的账户秘钥文件。

mkdir newethchain
cd newethchain
mkdir chaindata
mkdir key

接下来是重点,我们需要创建相应的配置文件来启动并配置OpenEthereum。

以太坊配置

1.第一个是以太坊节点启动的配置文件,也就是我们启动以太坊生成创世区块的配置文件,这里使用我们经常用的一个启动配置就好,实在没有的话,就参考我下边这个配置就好。
附一个简单配置如下:

{
  "name": "newethchain",
  "engine": {
    "instantSeal": {
      "params": {}
    }
  },
  "params": {
    "gasLimitBoundDivisor": "0x0400",
    "accountStartNonce": "0x0",
    "maximumExtraDataSize": "0x20",
    "minGasLimit": "0x1388",
    "networkID": "0x11",
    "registrar": "0x0000000000000000000000000000000000001337",
    "eip150Transition": "0x0",
    "eip160Transition": "0x0",
    "eip161abcTransition": "0x0",
    "eip161dTransition": "0x0",
    "eip155Transition": "0x0",
    "eip98Transition": "0x7fffffffffffff",
    "maxCodeSize": 24576,
    "maxCodeSizeTransition": "0x0",
    "eip140Transition": "0x0",
    "eip211Transition": "0x0",
    "eip214Transition": "0x0",
    "eip658Transition": "0x0",
    "eip145Transition": "0x0",
    "eip1014Transition": "0x0",
    "eip1052Transition": "0x0",
    "wasmActivationTransition": "0x0"
  },
  "genesis": {
    "seal": {
      "generic": "0x0"
    },
    "difficulty": "0x20000",
    "author": "0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "0x",
    "gasLimit": "0x7A1200"
  },
  "accounts": {
    "E2612d75e9BEBe8924d1d3e92a0003876eF113fa": { "balance": "1000000000000000000000000000" },
    "3e8230dfc38Fb145E10F9484AFdD823DD079FdF2": { "balance": "5000000000000000000" }
  }
}

OpenEthereum配置

2.第二步是配置OpenEthereum,将第一步的以太坊创世区块配置引入到openethereum中。openethereum是以docker的形式启动,并不想geth一样用命令行启动,因此我们需要将第一步的配置文件以路径的形式配置在配置文件当中

首先我们创建openethereum的配置文件config.toml。输入以下配置,详细配置见官网,根据自己需要进行配置。
对于配置的详解见网站 https://openethereum.github.io/Configuring-OpenEthereum
对于完整版的配置toml文件详见https://github.com/openethereum/openethereum/blob/main/bin/oe/cli/tests/config.full.toml
特别注意的是,第一个配置是第一步的创世配置,应该写在docker中的路径,这里的路径详见第三步,即可看懂。

[parity]
# 创世配置文件,指定相关的创世配置信息,第一步的配置文件的文件名
chain = "/home/openethereum/.local/share/openethereum/neweth.json"
#base_path = "./chain-data"
#keys_path = "./keys"


[rpc]
interface = "all"
apis = ["all"]
hosts = ["all"]
cors = ["all"]
# necessary for EIP1186 eth_getProof
experimental_rpcs = true
port = 8845

[websockets]
interface = "all"
apis = ["all"]
hosts = ["all"]
origins = ["all"]
port = 8846

[mining]
reseal_min_period = 0
min_gas_price = 0

[footprint]
# Enables Fat DB
fat_db = "on"

docker compose 启动配置

3.这步主要进行dockercompose的配置,我们使用docker compose命令来编排和启动openethereum的docker镜像,主要需要配置配置文件config.toml(第二步的配置文件的文件名),链数据目录chain-data,账户秘钥目录key。这里提供一个简单的配置作为参考,这里需要特别注意的是这一步的配置文件和第二步的配置文件关于开放的端口号要一一对应才行

version: '3.3'
services:
  openethereum:
    container_name: newethchain
    image: openethereum/openethereum
    volumes:
      - ./:/home/openethereum/.local/share/openethereum
    command: >
      --config /home/openethereum/.local/share/openethereum/config.toml
      --base-path /home/openethereum/.local/share/openethereum/chain-data
      --keys-path /home/openethereum/.local/share/openethereum/key
    ports:
      - 8845:8845
      - 8846:8846
#      - 30002:30002
#      - 30002:30002/udp

到此配置完毕

测试

启动docker容器

cd newethchain
sudo docker compose up
添加-d参数可使容器在后台运行

可以看到容器正常启动
三步轻松快速搭建以太坊私链测试
我们可以在配置创世区块时,为我们在metamask中的账户分配初始的ETH。

"accounts": {
    "E2612d75e9BEBe8924d1d3e92a0003876eF113fa": { "balance": "1000000000000000000000000000" },
    "3e8230dfc38Fb145E10F9484AFdD823DD079FdF2": { "balance": "5000000000000000000" }
  }

此时,我们通过metamask连接我们的私链,即可看到效果。
三步轻松快速搭建以太坊私链测试

如果有需要可以自己使用web3.js或者ether.js来进行更加详细的测试

总结

本文的快速以太坊搭建方法,主要用来做实验或者测试合约等使用。如果对链的版本等有特别的需求,那建议还是通过geth或者其他方法来启动一条最新版本的以太坊私链。
有问题欢迎交流。文章来源地址https://www.toymoban.com/news/detail-482753.html

到了这里,关于三步轻松快速搭建以太坊私链测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在本地以太坊私链上,使用go调用智能合约,获取事件日志

    完整go项目文件目录      

    2024年02月11日
    浏览(57)
  • PoA以太私链搭建

    学习记录 根据需要下载相应版本的geth。 这里我用的是64位Windows版本,也就是图片上第三个。下载完成后,点开,在电脑上完成安装,并根据需要进行环境变量的配置。 (1)验证geth是否安装完成 win+R打开cmd窗口,输入 如果安装成功,就会出现如下显示 (2)创建账户 由于我

    2024年02月01日
    浏览(82)
  • 三步教你轻松安装配置 Linux Anaconda 环境

    1.进入Anaconda官网获取下载链接: 2.远程拉取安装脚本 1.运行脚本 之后按照提示回答相应问题即可(有选项的都是填 yes,阅读协议使用空格跳过,有回车的按回车) 2.配置生效 配置文件 .condarc 在用户的家目录(windows: C:\\\\users\\\\username\\\\ ,linux: /home/username/ )。但对于 .cond

    2024年02月09日
    浏览(48)
  • 以太坊私钥介绍及生成与验证

    1)私钥格式 Bitcoin私钥(或其他加密货币私钥)有32 bytes,(或256个bit),或者其他形式表示,Base64 string、a WIF key、助记词 2)为什么是32bytes 3)生成方法 3.1)原生方法 该方法不适合用于加密货币,因为该方法不安全;该方法基于随机数种子生成,如果知道生成时的时间,容

    2024年02月15日
    浏览(44)
  • 用Postman快速搭建接口测试环境

    Postman是用于构建和使用API的API平台。Postman简化了API生命周期的每一步,简化了协作,因此您可以更快地创建更好的API。 设置设置统计认证信息**, 该集合下的所有接口将默认使用该配置; 其中为自定义变量 {{user_token}}**;如下图 设置不同环境下的一些环境变量,方便切换开

    2024年02月16日
    浏览(39)
  • docker快速部署oracle19c、oracle12c,测试环境问题复现demo快速搭建笔记

    (复制sql,替换表名执行完毕后,再修改自己想要的字段即可) (复制sql,替换自己的表名) 一个oracle表示一个实例,一个实例可以配置多个服务,独立维护的oracle服务 一个服务内可以有多个表空间,默认表空间就有很多,比如常见的SYSTEM、TEMP、USERS 常见的默认角色: 1、

    2024年02月04日
    浏览(61)
  • 【以太坊】私链搭上后无法MetaMask无法访问localhost8545的问题

    私链搭好在Linux中,配置好ChianID和networkid等参数之后,使用MetaMask连接localhost8545仍然无法访问: 这个问题找了很久的资料,最后发现学习的资料是一年前的,文档更新的速度赶不上以太坊更新的速度,原因是跑私链的命令行中缺失浏览器限制访问项,之前的命令: 改之后的

    2024年02月11日
    浏览(41)
  • iOS+Appium最简单的环境搭建,快速实现真机自动化测试

    整理不易耗时两星期配置成功,查看一两年前的教程文章走了太多弯路到处都是坑和报错 需配置环境:Homebrew、node、cnpm、Carthage、ios-deploy、libimobiledeviceideviceinstaller,Xcode,appiumWebDriverAgent,appium Inspector 1. Homebrew安装 Homebrew简称brew,是Mac上的软件管理工具(卸载和安装),和

    2023年04月27日
    浏览(48)
  • 一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

            早就知道Python好,Python妙,Python用起来呱呱叫。工作上一直没有什么用得上Python的必要性,就一直没有接触,本次终于来了机会: 【图新地球桌面端要对外开放Python API】 ,开放图新地球的三维场景构建能力给到用户,用户可以在图新地球现有功能的基础上专注于做

    2024年02月10日
    浏览(42)
  • 在FPGA上快速搭建以太网

    在本文中,我们将介绍如何在FPGA上快速搭建以太网 (LWIP )。为此,我们将使用 MicroBlaze 作为主 CPU 运行其应用程序。 LWIP 是使用裸机设计以太网的良好起点,在此基础上我们可以轻松调整软件应用程序以提供更详细的应用程序。LWIP Echo 服务器的使用首先使我们能够确定底层

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包