配置GO环境
如果您安装过旧版本的 Go,请确保在安装另一个版本之前将其 删除。
-
下载档案文件并解压至 /usr/local 目录,在 /usr/local 目录创建 go 目录树。
例如,以 root 身份或者
sudo
方式运行以下命令:tar -C /usr/local -xzf go1.16.4.linux-amd64.tar.gz
-
将 /usr/local/go/bin 目录添加至
PATH
环境变量。
您可以将下方的命令添加至 $HOME/.profile 或 /etc/profile (给所有系统用户) 来完成环境变量的添加:
export PATH=$PATH:/usr/local/go/bin
请注意: 对配置文件的修改可能需要在下一次登录时生效。
如果需要立即使修改生效,只需要执行source $HOME/.profile
之类的命令即可。 -
通过在命令行输入以下命令来验证是否已经安装 Go:
$ go version
-
查看并确认该命令打印的 Go 版本信息。
配置go访问国内代理
-
1. 报错一 go: github.com/Azure/azure-pipeline-go@v0.2.2: Get https://proxy.golang.org/github.com/%21azure/azure-pipeline-go/@v/v0.2.2.mod: dial tcp 172.217.24.17:443: connect: connection refused make: *** [geth] Error 1 1 2. 可执行该命令解决 go env -w GOPROXY=https://goproxy.cn
解决访问github问题
1、进入终端命令行模式,输入sudo vim /etc/hosts
2、输入i进入编辑命令,英文输入法输入
G,vim编辑器跳到hosts文件的最后一行
3、用浏览器访问 IPAddress.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址
4、在vi打开的hosts文件中添加如下格式:
192.30.253.112 github.com (根据自己查到的ip地址改写)
151.101.44.249 github.global.ssl.fastly.net (根据自己查到的ip地址改写)后缀可能会有不一样,不用管
5、esc退出编辑模式,输入 :wq,保存hosts文件,修改hosts结束
6、更新DNS缓存,输入
sudo /etc/init.d/networking restart
转:
https://www.cnblogs.com/adlu-ah/p/9594642.html
解决gcc编译环境问题
sudo apt install gcc
安装GETH
-
下载包
我们的第一步是克隆 git 仓库,以获取源代码的副本。 $ git clone https://github.com/ethereum/go-ethereum.git
-
安装
2. 从源码构建Geth 要构建 Geth,切换到下载源代码的目录并使用 make 命令: 如果一切顺利,我们将看到 Go 编译器构建每个组件,直到它生成 geth 可执行文件: 用 Geth 搭建以太坊私链 安装 Geth 有很多种方式,这里主要就 Linux 环境给出两种:系统包管理器(apt-get)安装和源码安 装。更加推荐大家用源码安装,在整个过程中可以看到 Geth 各组件的构建步骤。 $ sudo apt-get install ethereum $ cd go-ethereum $ make geth
编写创世区块信息并初始化
genesis.json
{
"config": {
"chainId": 15
},
"difficulty": "2000",
"gasLimit": "2100000",
"alloc": {
"0x3B853298CF3b3C8CA2C715B418F55f9FD924a641": { "balance": "300000" }
}
}
./build/bin/geth --datadir . init genesis.json
启动私有链接
通过network限定链接自己的网络
./build/bin/geth --datadir . --networkid 15
开启RPC,使用MetaMask进行连接
./build/bin/geth --datadir /tmp/geth/ --networkid=15 --rpc --allow-insecure-unlock --rpcaddr 0.0.0.0 console 2>output.log
http://192.168.50.160:8545
开发者模式
geth --datadir /tmp/myDevChain/ --dev console 2> output_dev.log
里面有一个强大的管理用户,初始以太很多,方便发布合约测试。
而且不需要授权用户,减免了很多步骤。