使用Golang开发以太坊(一)

前言

以太坊

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

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"
)

相关推荐

  1. 使用Golang开发

    2024-03-11 03:32:02       22 阅读
  2. 源码阅读01

    2024-03-11 03:32:02       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 03:32:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 03:32:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 03:32:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 03:32:02       18 阅读

热门阅读

  1. 【Vue3】Ref 和 ShallowRef 的区别

    2024-03-11 03:32:02       29 阅读
  2. MySQL和Redis Common Command

    2024-03-11 03:32:02       26 阅读
  3. 什么是生活?(2024-2-26)

    2024-03-11 03:32:02       27 阅读
  4. vim基本使用

    2024-03-11 03:32:02       26 阅读
  5. 京东面试官问我,你在catch块中写业务代码吗?

    2024-03-11 03:32:02       32 阅读
  6. Docker容器管理的内容与作用

    2024-03-11 03:32:02       26 阅读
  7. 鸿蒙os开发做全局路由拦截

    2024-03-11 03:32:02       35 阅读
  8. WPF自定义快捷命令

    2024-03-11 03:32:02       26 阅读
  9. web蓝桥杯真题:冰墩墩心情刻度尺

    2024-03-11 03:32:02       29 阅读
  10. 【c++】模板的使用

    2024-03-11 03:32:02       24 阅读