使用Golang开发以太坊(一)

本文介绍了如何使用Golang与以太坊进行交互,包括理解以太坊、Solidity和go-ethereum客户端,以及如何初始化和管理账户余额。文章详细阐述了获取最新和特定区块账户余额的方法,以及如何将余额从wei转换为ETH单位。
摘要由CSDN通过智能技术生成

前言

以太坊

以太坊是一个区块链,允许开发者创建完全去中心化运行的应用程序,这意味着没有单个实体可以将其删除或修改它。部署到以太坊上的每个应用都由以太坊网络上每个完整客户端执行。

Solidity

Solidity是一种用于编写智能合约的图灵完备编程语言。Solidity被编译成以太坊虚拟机可执行的字节码。

go-ethereum

Go的官方以太坊实现go-ethereum来和以太坊区块链进行交互。Go-ethereum,也被简称为Geth,是最流行的以太坊客户端。因为它是用Go开发的,当使用Golang开发应用程序时,Geth提供了读写区块链的一切功能。

Swarm and Whisper

我们还将深入研究蜂群(Swarm)和耳语(Whisper),分别是一个文件存储协议和一个点对点的消息传递协议,它们是实现完全去中心化和分布式应用程序需要的另外两个核心。

客户端

创建客户端

初始化客户端

用Go初始化以太坊客户端是和区块链交互所需的基本步骤。首先,导入go-etherem的ethclient包并通过调用接收区块链服务提供者URL的Dial来初始化它。
若您没有现有以太坊客户端,您可以连接到infura网关。Infura管理着一批安全,可靠,可扩展的以太坊[geth和parity]节点,并且在接入以太坊网络时降低了新人的入门门槛。

client, err := ethclient.Dial("https://cloudflare-eth.com")

若您运行了本地geth实例,您还可以将路径传递给IPC端点文件。

client, err := ethclient.Dial("/home/user/.ethereum/geth.ipc")
package main

import (
    "fmt""log""github.com/ethereum/go-ethereum/ethclient"
)

func main() {
   
    client, err := ethclient.Dial("https://cloudflare-eth.com")
    if err != nil {
   
        log.Fatal(err)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值