> 文档中心 > 【区块链实战】什么是智能合约,如何搭建智能合约环境

【区块链实战】什么是智能合约,如何搭建智能合约环境

目录

一、简介

二、知识点

智能合约

智能合约实例

智能合约环境安装

三、智能合约

1、什么是智能合约

2、合约实例

四、智能合约环境搭建

1、安装 Golang

2、下载 go-ethereum

3、编译 go-ethereum

4、配置环境变量

5、验证成功


一、简介

区块链技术给我们提供了一个去中心化的、不可篡改的、高度可靠的系统,而在这个系统中智能合约有着至关重要的作用。

智能合约是区块链技术最重要的特性之一,也是区块链被称为颠覆性技术的原因。它正日益提高我们社会结构的生产效率。

你听说过智能合约吗?最近每个对区块链感兴趣,甚至那些对区块链不甚了解的人都在讨论 "智能合约" 这个词。那么什么是智能合约,为什么叫智能合约呢,本文对此作一个基础介绍。

二、知识点

  • 智能合约

  • 智能合约实例

  • 智能合约环境安装

三、智能合约

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-stringutilgithub.com/naoina/toml/astgithub.com/naoina/tomlgithub.com/ethereum/go-ethereum/internal/jsregithub.com/ethereum/go-ethereum/eth/tracers/jsgithub.com/ethereum/go-ethereum/consolegithub.com/ethereum/go-ethereum/cmd/gethDone 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 

输出结果:

GethVersion: 1.10.20-unstableGit Commit: c7f485d9e5b9ffe125d59495da3a13e1f66a24c9Git Commit Date: 20220626Architecture: amd64Go Version: go1.17.2Operating System: linuxGOPATH=/www/wwwroot/gopathGOROOT=/root/.go/go

通过以上几步,就完成了 Geth 客户端的安装。

四四频道