以太坊创建私有链 go-ethereum

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

目录

启动节点同步

同步主网区块

同步测试网络的区块

同步Ropsten测试网络的区块

 同步RinkeyBy测试网络区块

搭建自己的私有链 

创建genesis.json

init初始化gensis.json 

启动私链


启动节点同步

同步主网区块

安装好了Geth,现在我们可以尝试运行以下它。执行下面的命令,geth就会开始同步区块,并存储在当前目录下。这里的 --syncmode fast 参数表示我们会以“快速”模式同步区块。

在这种模式下,我们指挥下载每个区块头区块体,但不会执行验证所有的交易,直到所有区块同步完毕再去获取一个系统的状态。这样就节省了很多交易验证的时间。

geth --datadir .--syncmode fast

通常,在同步以太坊区块链时,客户端会一开始就下载并验证每个块每个交易,也就是说可以从创世区块开始。

毫无疑问,如果我们不加 --syncmode fast参数,同步将会花费很长时间,并且具有很高的资源要求(它将需要更多的RAM,如果你没有快速存储,则需要很长时间)。

有些文章会把这个参数写成 --fast,这是以前快速同步模式的参数写法,现在已经被

--syncmode fast 取代

同步测试网络的区块

同步Ropsten测试网络的区块

geth --testnet --datadir .--syncmode fast

 --testnet 则个参数会告诉 geth 启动并连接到最新的测试网络,也就是 Ropsten 。测试网络的区块和交易数量会明显少于主网,所以会更快一点。但即便是用快速模式同步测试网络,也会需要几个小时的时间。

 同步RinkeyBy测试网络区块

geth --Rinkeby --datadir .--syncmode fast

搭建自己的私有链 

创建genesis.json

因为公共网络的区块数量太多,同步耗时太长,我们未来方便快速了解Geth,可以试着用它来搭一个只属于自己的私链

首先,我们需要创建网络的“创世(genesis)”状态,这写在一个小小的JSON文件里(例如,我们将其命名未genesis.json):

chainId:链id,尽量不要和公链id和测试链id一致

difficulty:挖矿难度系数,2000不算大

gasLimit:一个块里面 gas 的上限要求

alloc:初始账号信息,包含一个地址和对象,表示创世区块一创建,balance里面有多少钱

balance:余额,单位是wei

{
    "config": {
    "chainId": 15,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0
    },
    "alloc": {
    "0x1E17ECE93b3c72277E4B22a58B87934C9F654089":{"balance":"900000000000000000000"}},
    "coinbase": "0x0000000000000000000000000000000000000000",
    "difficulty": "0x200",
    "extraData": "",
    "gasLimit": "0x2fefd8",
    "nonce": "0x0000000000000042",
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "timestamp": "0x00"
}

init初始化gensis.json 

要创建一条以它为创世块的区块链,我们可以使用下面的命令:

其中 path/to/custom/data/folder 是你存储的目录

geth --datadir path/to/custom/data/folder init gensis.json

 同步测试网络的区块,Ethereum,私有链,以太坊,golang,区块链

 init 初试化私链成功

geth --datadir ~/桌面/geth-project/myChain/ init ~/桌面/geth-project/myChain/genesis.json

同步测试网络的区块,Ethereum,私有链,以太坊,golang,区块链

启动私链

在当前目录下运行 geth ,就会启动这条私链

注意要将 networkid 设置为创世块配置里的 chainId 一致

geth --datadir path/to/custom/data/folder --networkid 15

我们可以看到节点正常启动:

geth --datadir ~/桌面/geth-project/myChain --networkid 15

同步测试网络的区块,Ethereum,私有链,以太坊,golang,区块链

这样,我们就已经启动了一条自己的私链文章来源地址https://www.toymoban.com/news/detail-709707.html

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

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

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

相关文章

  • 【区块链 | 智能合约】Ethereum源代码(2)- go-ethereum 客户端入口代码和Node分析

    上篇提到用 make geth 来编译geth客户端。我们来看看make file做了什么: 执行了 ci.go 里面做了两件事情 1,ln -s命令在build/_workspace/ 目录上生成了go-etherum的一个文件镜像,不占用磁盘空间,与源文件同步更新 2

    2024年02月03日
    浏览(32)
  • 多个节点搭建以太坊私有链(两台电脑测试)

     我用的是一台学校发的电脑(ip:),一台自己的笔记本 学校电脑:   笔记本电脑 台式电脑: ”enode://902d5ae2ac8f3707becc83050a8b4cd5e32bd82ff8c911896cbdfb875b0b83dcdb898caad6b1c7c842b079e2fdea1f0fa74cb9abda0fab5ab634a85ae7090191@127.0.0.1:1111?discport=0 “ 笔记本电脑 \\\"enode://0d1d38a234a12c4d2726c2852ecc3735acfb5da

    2024年02月16日
    浏览(30)
  • Ethereum以太坊事件日志查询参数

    详见:https://www.quicknode.com/docs/ethereum/eth_getLogs address:合约地址 fromBlock:开始区块 toBlock:结束区块 topics:主题数组 blockHash:区块哈希,优先级高于fromBlock、toBlock 这里主要介绍topics参数,其他参数都比较好理解,topics是长度为4的数组集合,topic分为2种:一种事件签名topic,

    2024年02月07日
    浏览(31)
  • 118 以太坊 ethereum hardhat :编译 artifacts

    • 介绍 • 构建信息文件 • 读取artifacts • 目录结构 • hardhat Tutorials , hardhat 教程 • Contact 联系方式 使用 Hardhat 编译会为每个编译的合约生成两个文件(不是每个 .sol 文件):一个工件和一个调试文件。 artifact 拥有部署和与合约交互所需的所有信息。这些与大多数工具兼容

    2023年04月08日
    浏览(29)
  • 什么是Ethereum以太坊(ETH)?以及以太坊的一些基础知识

    Ethereum以太坊(ETH)是由Vitalik Buterin所创建,一种允许智能合约和去中心化应用程序(dapps)在其网络上运行的加密货币。 以太坊是仅次于比特币的第二大加密货币,它是一个基于区块链的平台,用于创建去中心化应用程序(dapps)。 比特币被设计成一种货币和价值储存手段,而

    2024年02月03日
    浏览(30)
  • 11U 以太坊 ethereum OpenZeppelin : 升级智能合约

    • 升级中有什么 • 使用升级插件升级 • 升级如何运作 • 初始化 • 升级 • 测试 • OpenZeppelin Tutorials 教程 • Contact 联系方式 使用OpenZeppelin 升级插件部署的智能合约可以升级以修改其代码,同时保留其地址、状态和余额。这使您可以迭代地向项目添加新功能,或修复您在

    2023年04月08日
    浏览(37)
  • 11M 以太坊 ethereum OpenZeppelin : 开发智能合约

    • 设置项目 • 第一份合同 • 编译 Solidity • 添加更多合约 • 使用 OpenZeppelin 合约 • OpenZeppelin Tutorials 教程 • Contact 联系方式 创建项目后的第一步是安装开发工具。 以太坊最流行的开发框架是Hardhat,我们用ethers.js介绍了它最常见的用途。下一个最受欢迎的是使用web3.js的

    2024年02月11日
    浏览(28)
  • 【区块链 | 智能合约】Ethereum源代码(8)- Ethereum服务和以太坊P2P协议发送广播源码分析

    在“【区块链 | 智能合约】Ethereum源代码(2)- go-ethereum 客户端入口代码和Node分析”一文中,我们提到Ethereum作为一个service,被Node 注册进去。Node start的时候会启动其注册的所有服务,Ethereum service也是一样。 初始化方法

    2024年01月21日
    浏览(43)
  • google bigquery如何查询以太坊ethereum数据 sql怎么写

    文档介绍 https://console.cloud.google.com/marketplace/details/ethereum/crypto-ethereum-blockchain?project=aqueous-tesla-294801 如查询 What are the 10 most popular Ethereum collectibles (ERC721 contracts), by number of transactions? 其它查询方式 https://ethereum-etl.readthedocs.io/en/latest/commands/ kaggle数据格式 Ethereum Blockchain | Kaggl

    2024年02月13日
    浏览(30)
  • 11O 以太坊 ethereum OpenZeppelin : 部署智能合约并与之交互

    • 建立本地区块链 • 部署智能合约 • 从控制台交互 • 以编程方式交互 • 获取合约实例 • 调用合约 • 发送交易 • OpenZeppelin Tutorials 教程 • Contact 联系方式 在开始之前,我们首先需要一个可以部署合约的环境。以太坊区块链(通常称为“主网”,表示“主网络”)需要

    2023年04月08日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包