一、编写示例智能合约

智能合约:

它是一段代码和数据的集合,可以部署以太坊网络上运行。类似于Java程序,Java程序通过Java虚拟机(JVM)将代码解释字节进行执行,以太坊的智能合约通过以太坊虚拟机(EVM)解释成字节码进行执行。同时智能合约有自己的账户,在时间或事件的驱动下能自动执行一些功能,如可以在相互之间传递信息,修改区块链的状态比如账户信息等。以太坊的智能合约是图灵完备,就是可以完全模拟一台计算机所能做的所有事情,比特币不是图灵完备,比如循环指令比特币就无法执行。

1.编写名称为SimpleStorage的智能合约
pragma solidity ^0.4.18;
contract SimpleStorage { //智能合约名称
uint storedData;
function set(uint x)public { //定义了一个set方法
storedData= x;
 }
function get() public constant returns (uint) {
return storedData;  //定义了一个get方法
}
}

二、部署智能合约

1.按照下方图片操作,进入智能合约部署页面

在这里插入图片描述

2.智能合约部署过程,详细如下图,完成之后点击左下角的 DEPLOY 按钮

在这里插入图片描述

3.第二步完成,将出现以下界面,输入我们选择的账户的密码,点击SEND TRANSACTION

在这里插入图片描述

4.此时geth客户端需要启动挖矿,(如果之前启动,则不需要重新启动)进行智能合约的创建,在挖出12个块后,智能合约就创建完成了

在这里插入图片描述

三、运行智能合约

经过上述的操作,我们已经完成了一个智能合约的部署过程,接下来我们看看如何运行智能合约。

(一)在本节点运行智能合约
1. 下图中为已部署的智能合约

在这里插入图片描述

2.点击智能合约,进入智能合约的,试验刚才部署的智能合约,按照第二张图片的操作,进行试验

在这里插入图片描述
在这里插入图片描述

其他的智能合约部署与运行与上述一致,无非就是函数较多,参数多。

(二)在其他节点运行智能合约

如果在其他节点运行智能合约,我们就需要将智能合约的地址和接口复制下来,在其他节点上进行相应的操作,详细如下:

1.需要在智能合约上进行复制内容

在这里插入图片描述

按照以下操作:

在这里插入图片描述

2.将前边复制的内容按照图片所示粘贴,完成后,就可以发现这个智能合约在该节点运行了

在这里插入图片描述

四、总结

今天我们完成了在以太坊私有链上部署和运行第一个智能合约,这个是官方给的一个示例,我们通过该例子,了解了区块链智能合约的部署运行过程,之后,将深入的学习如何自己编写智能合约。

如果需要了解部署智能合约的工作原理,可以参考以下文章:

https://blog.csdn.net/sportshark/article/details/52249607

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐