安装geth 搭建以太坊私链

本文介绍了在Ubuntu系统中如何安装geth并搭建以太坊私链。首先,通过终端命令进行在线安装,并使用geth help验证安装成功。接着,创建私有网络的关键是设置不同的networkid。然后,详细阐述了自定义创世区块的过程,包括创世区块json文件的编写和初始化区块链的操作。最后,说明了如何启动包含命令行的节点,并指出了数据目录中的区块数据和账户数据存储位置。
摘要由CSDN通过智能技术生成

1 Ubuntu用户可以选择在线安装geth的方式,在终端中依次执行以下命令即可:

$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install ethereum

安装完成后就用geth help验证是否安装成功

ubuntu@i-umw7lzvn:~$ geth help
NAME:
   geth - the go-ethereum command line interface

   Copyright 2013-2017 The go-ethereum Authors

USAGE:
   geth [options] command [command options] [arguments...]

VERSION:
   **1.6.6-stable-10a45cb5**

COMMANDS:
   init        Bootstrap and initialize a new genesis block
   import      Import a blockchain file
   ```

2 下面开始建立私有以太坊网络:以太坊节点之间能够互相链接需要满足1)相同的协议版本2)相同的networkid,所以搭建私有网络最方便的方法就是通过geth命令中的–networkid选项,设置一个与主网不同的networkid(主网的networkid为1),这也是官方推荐的

ubuntu@i-umw7lzvn:~$ mkdir private-geth
ubuntu@i-umw7lzvn:~$ cd private-geth/

世纪区块文件,是一个json格式的文件:
vim genesis.json
以太坊支持自定义创世区块,要运行私有链,我们就需要定义自己的创世区块,创世区块信息写在一个json格式的配置文件中。首先将下面的内容保存到一个json文件中,例如genesis.json(涉及到权限问题所以进入root权限)

root@i-nhmyceuh:/home/ubuntu/private-geth# vim genesis.json

{
  "config": {
        "chainId": 15,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
    "coinbase" : "0x0000000000000000000000000000000000000000",
    "difficulty" : "0x40000",
    "extraData" : "",
    "gasLimit" : "0xffffffff",
    "nonce" : "0x0000000000000042",
    
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
搭建本地以太坊私链并连接钱包实现转账,需要以下步骤: 1. 安装Geth客户端 Geth是以太坊客户端软件,可以用于连接以太坊网络。可以从https://geth.ethereum.org/downloads/下载Geth安装包并安装。 2. 创建创世块 在创建私链之前,需要先创建创世块。可以使用Puppeth工具来创建创世块,该工具可以从https://github.com/ethereum/go-ethereum/releases下载。使用Puppeth可以选择网络ID、区块时间、初始难度等选项,并生成创世块配置文件。 3. 初始化私链 使用以下命令来初始化私链: ``` geth --datadir /path/to/chaindata init /path/to/genesis.json ``` 其中,/path/to/chaindata为私链数据存储路径,/path/to/genesis.json为创世块配置文件路径。执行该命令后,私链数据存储路径下会生成相应的数据文件。 4. 启动私链 使用以下命令来启动私链: ``` geth --datadir /path/to/chaindata --networkid 1234 --rpc --rpcport "8545" --rpcaddr "127.0.0.1" --rpccorsdomain "*" --rpcapi "eth,net,web3,personal" --nodiscover console ``` 其中,/path/to/chaindata为私链数据存储路径,--networkid为私链的网络ID,--rpc为启用RPC服务,--rpcport为RPC服务端口,--rpcaddr为RPC服务IP地址,--rpccorsdomain为跨域访问配置,--rpcapi为RPC接口配置,--nodiscover为禁用节点发现。执行该命令后,会启动私链节点并进入控制台。 5. 创建钱包 在私链节点控制台中,使用以下命令来创建钱包: ``` personal.newAccount() ``` 执行该命令后,会提示输入密码,并返回钱包地址。 6. 解锁钱包 使用以下命令来解锁钱包: ``` personal.unlockAccount("钱包地址", "密码", 0) ``` 其中,"钱包地址"为钱包地址,"密码"为钱包密码,0为解锁时长,表示永久解锁。执行该命令后,会返回true表示解锁成功。 7. 转账 在私链节点控制台中,使用以下命令来转账: ``` eth.sendTransaction({from: "发送方钱包地址", to: "接收方钱包地址", value: web3.toWei(1, "ether")}) ``` 其中,"发送方钱包地址"为发送方钱包地址,"接收方钱包地址"为接收方钱包地址,web3.toWei(1, "ether")为转账金额,表示1个以太币。执行该命令后,会返回交易哈希值。 8. 查询余额 使用以下命令来查询钱包余额: ``` eth.getBalance("钱包地址") ``` 其中,"钱包地址"为钱包地址。执行该命令后,会返回钱包余额。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值