如何建立自己公司的官方网站,wordpress 头像 很慢,网站开发预算,建一个网站怎么赚钱吗上篇文章#xff0c;我们完成了数据库的连接#xff0c;本章节#xff0c;我们将完成ethclient的配置以及初始化 1、ethclient配置
1.1、安装go-ethereum
在命令行终端输入下面代码安装#xff1a;
go get github.com/ethereum/go-ethereum1.2、Ethclient配置
1.2.1、新… 上篇文章我们完成了数据库的连接本章节我们将完成ethclient的配置以及初始化 1·、ethclient配置
1.1、安装go-ethereum
在命令行终端输入下面代码安装
go get github.com/ethereum/go-ethereum1.2、Ethclient配置
1.2.1、新建ethclient.go
在config目录下新建ethclient.go添加下面代码
package configimport (github.com/ethereum/go-ethereum/ethclientgo-chain-data/global
)func NewEthRpcClient() (*ethclient.Client, error) {client, err : ethclient.Dial(global.BlockChainConfig.RpcUrl)if err ! nil {return nil, err}return client, nil
}通过ethclient.Dial()方法传入区块链的Rpc调用地址就可以创建一个ethclient的实例对象通过该对象我们就可以跟区块链进行交互 2、初始化ethclient
2.1、新增配置
2.1.1、修改global.go
打开global.go在全局变量里加入 EthRpcClient定义 EthRpcClient *ethclient.Client2.1.2、修改config.go
打开config.go新增SetupEthClient()方法 代码如下
func SetupEthClient() {var err errorEthRpcClient, err config.NewEthRpcClient()if err ! nil {log.Panic(config.NewEthRpcClient error : , err)}
}2.2、调用方法
修改main.go里面的init()方法在最后面加上对SetupEthClient()的调用
func init() {config.SetupConfig()config.SetupDBEngine()err : config.MigrateDb()if err ! nil {log.Panic(config.MigrateDb error : , err)}config.SetupEthClient()
}3、验证配置
3.1、测试获取区块链最新高度
打开main.go文件在main()方法里添加下面代码 blockNumber, err : global.EthRpcClient.BlockNumber(context.Background())if err ! nil {log.Panic(EthRpcClient.BlockNumber error : , err)}log.Println(blockNumber is : , blockNumber)然后我们运行 main()方法 如果出现如上图的报错我们需要在终端里执行下面命令来把缺少的依赖添加到项目里
go mod tidy然后我们再来运行main()方法终端输出如下 说明我们ethclient已经正确配置完成了 通过本篇文章的学习我们完成了ethclient的配置以及初始化工作并成功的获取到了区块链的区块高度信息下一章我们将正式进入获取链上数据的实操 请关注公众号外柏叁布道者web3_preacher回复 “go获取链上数据” 领取完整代码