geth 1.11.+创建三个节点的一条私链,不要bootnode,节点之间互联,列出事无巨细的步骤

在geth 1.11+中,创建一个不使用bootnode的三节点私链,您可以按照以下步骤操作:

第1步:准备Genesis文件 创建一个名为genesis.json的文件,其中包含以下内容:

{ "config": { "chainId": 12345, "homesteadBlock": 0, "eip150Block": 0, "eip155Block": 0, "eip158Block": 0, "byzantiumBlock": 0, "constantinopleBlock": 0, "petersburgBlock": 0, "istanbulBlock": 0 }, "difficulty": "200", "gasLimit": "8000000", "alloc": {} } 

 

这是一个简单的genesis文件,您可以根据需求修改其中的参数。

第2步:为每个节点创建数据目录 在文件系统中为每个节点创建一个单独的数据目录。例如:

node1 node2 node3

第3步:初始化每个节点 为每个节点使用刚刚创建的genesis.json文件进行初始化。在终端中运行以下命令:

geth --datadir node1 init genesis.json geth --datadir node2 init genesis.json geth --datadir node3 init genesis.json 

第4步:启动每个节点 为每个节点分别启动geth实例。请确保为每个节点分配不同的端口。例如:

geth --datadir node1 --networkid 12345 --port 30301 --rpc --rpcport 8545 --rpcaddr "localhost" --rpccorsdomain "*" --rpcapi "eth,net,web3,personal,miner" --allow-insecure-unlock --nodiscover console geth --datadir node2 --networkid 12345 --port 30302 --rpc --rpcport 8546 --rpcaddr "localhost" --rpccorsdomain "*" --rpcapi "eth,net,web3,personal,miner" --allow-insecure-unlock --nodiscover console geth --datadir node3 --networkid 12345 --port 30303 --rpc --rpcport 8547 --rpcaddr "localhost" --rpccorsdomain "*" --rpcapi "eth,net,web3,personal,miner" --allow-insecure-unlock --nodiscover console 

第5步:获取节点的enode URL 在每个节点的控制台中,分别运行以下命令获取enode URL:

admin.nodeInfo.enode

第6步:连接节点 在每个节点的控制台中,使用admin.addPeer()方法将其他节点的enode URL添加到已知节点列表中。例如,在节点1的控制台中运行:

admin.addPeer("enode://node2_enode_URL") admin.addPeer("enode://node3_enode_URL") 

以此类推,将其他节点连接到一起。

第7步:创建并解锁账户 在每个节点上创建一个新账户,并解锁它以便进行挖矿。例如,在节点1上:

personal.newAccount("your_password") personal.unlockAccount(eth.accounts[0], "your_password", 0) 

在其他节点上重复此过程。

第8步:开始挖矿 在每个节点上启动挖矿进程。例如,在节点1上:

miner.start() 

 

在其他节点上重复此过程。

按照这些步骤,您应该能够成功地创建一个不使用bootnode的三节点以太坊私链,并实现节点之间的互联。在实际操作过程中,您可能需要根据实际情况对某些步骤进行调整。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用geth创建基于联盟链的私有区块链,拥有自己的节点和genesis区块,以及创建10个合约账户的步骤: **1. 安装geth** 首先需要安装geth,可以从官网下载二进制文件或者通过包管理器进行安装。 **2. 创建genesis区块** 在创建私有区块链之前,需要先创建genesis区块,可以使用puppeth工具来完成。puppeth是一个命令行工具,可以帮助我们创建和管理私有区块链。 使用以下命令来启动puppeth: ``` puppeth ``` 根据提示进行以下设置: - 输入一个名字来创建一个新的网络 - 选择一个网络类型,选择2(Configure new genesis) - 选择网络协议,选择1(Ethash - proof-of-work) - 选择预分配的币数,输入0 - 输入一个新的地址作为挖矿奖励的收件人地址 - 输入一个新的账户地址,用于签署genesis区块 - 选择一个密码,用于加密私钥 - 选择一个目标平台,选择1(Ethereum) - 选择一个链ID,输入一个数字作为你的私有链ID - 选择是否要使用Clique共识算法,选择2(No) 完成以上设置后,puppeth会自动创建genesis.json文件,该文件包含了我们需要在geth中使用的genesis区块数据。 **3. 初始化节点** 接下来需要初始化节点,使用以下命令: ``` geth --datadir /path/to/chain init /path/to/genesis.json ``` 其中,/path/to/chain是你想要存储区块链数据的目录,/path/to/genesis.json是上一步中生成的genesis.json文件的路径。 **4. 创建账户** 使用以下命令来创建账户: ``` geth --datadir /path/to/chain account new ``` 这将会提示你输入一个密码,该密码将会用于加密账户的私钥。创建完毕后,你将会得到一个账户地址。 重复以上步骤创建10个账户。 **5. 启动节点** 使用以下命令来启动节点: ``` geth --datadir /path/to/chain --networkid [network_id] --nodiscover console ``` 其中,/path/to/chain是你的区块链数据目录,[network_id]是你在puppeth中设置的私有链ID。 启动后,会进入geth控制台,可以在控制台中进行各种操作,例如挖矿、转账等。 **6. 解锁账户** 在控制台中,使用以下命令来解锁账户: ``` personal.unlockAccount(address, password, duration) ``` 其中,address是你的账户地址,password是你在创建账户时设置的密码,duration是解锁时间,单位为秒。 解锁账户后,可以使用以下命令来查询账户余额: ``` eth.getBalance(address) ``` 以上就是使用geth创建基于联盟链的私有区块链,拥有自己的节点和genesis区块,以及创建10个合约账户的步骤
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值