一、简单介绍
区块链技术给我们提供了一个去中心化的、不可篡改的、高度可靠的系统,而在这个系统中智能合约有着至关重要的作用。
智能合约是区块链技术最重要的特性之一,也是区块链被称为颠覆性技术的原因。它正日益提高我们社会结构的生产效率。
二、知识点
智能合约
智能合约实例
智能合约环境安装
三、智能合约
1、什么是智能合约
以太坊上可以运行智能合约,什么是以太坊呢? 用 V 神的话说以太坊就是一台全球计算机,因为以太坊的节点遍布全球,所以在以太网网络中运行计算就相当于在一台全球计算机中运行,
智能合约就是运行在以太坊这个全球计算机上的进程。
也就是说,智能合约只是一个运行在以太坊链上的一个程序,它是位于以太坊区块链上一个特定地址的一系列代码(函数)和数据(状态)。
2、合约实例
以下是一个简单的智能合约,类型为 uint 的 counter 为合约的状态,count 函数被调用之后, counter 值加 1
四、智能合约环境搭建
智能合约是运行在以太坊上的,因此首先就要搭建一个以太坊节点。
以太坊针对各种语言 Go / C / Rust / Java / Python 都开发了对应的客户端软件,我们以 Go 编写的 go-etherum 简称 Geth为例,介绍一下如何在 CentOS 系统安装以太坊节点。
1、安装 Golang
可以直接使用 yum 这个包管理器安装Golang
yum install golang
2、下载 go-ethereum
git clone https://github.com/ethereum/go-ethereum
3、编译 go-ethereum
cd go-ethereum && make geth
github.com/naoina/go-stringutil
github.com/naoina/toml/ast
github.com/naoina/toml
github.com/ethereum/go-ethereum/internal/jsre
github.com/ethereum/go-ethereum/eth/tracers/js
github.com/ethereum/go-ethereum/console
github.com/ethereum/go-ethereum/cmd/geth
Done building.
Run "./build/bin/geth" to launch geth.
出现 Run "./build/bin/geth" to launch geth. 就说明成功了,此步骤如果超时 time out,则需要访问国外网站。
4、配置环境变量
export PATH=$PATH:/root/go-ethereum/build/bin
5、验证成功
执行命令
geth version
输出结果:
Geth
Version: 1.10.20-unstable
Git Commit: c7f485d9e5b9ffe125d59495da3a13e1f66a24c9
Git Commit Date: 20220626
Architecture: amd64
Go Version: go1.17.2
Operating System: linux
GOPATH=/www/wwwroot/gopath
GOROOT=/root/.go/go
通过以上几步,就完成了 Geth 客户端的安装。