基于Ethereum Wallet的Solidity HelloWorld

基于Ethereum Wallet的Solidity HelloWorld智能合约(Smart Contract)

相信大家都有学习各种开发语言的经历,一般学习任何一门语言都会先从最简单的HelloWorld开始,所以本篇文章,我们将编写一个最基本的合约代码,并且一步步讲解如何通过Ethereum Wallet将合约部署到区块链,同时我们将通过本demo的演示如何通过发送数据和接收数据和合约进行交互。

Solidity合约的语法和面向对象编程语言非常相似,一个合约有我们能够调用的方法(函数)和能够存储数据和读取数据的属性(状态变量)。

Counter合约源码

我们的Counter合约将increment方法被调用的次数存储到count属性中。并且每个人都可以通过getCount方法获取区块链上count的值。

基于Ethereum Wallet的Solidity HelloWorld

Counter合约部署

要想发布我们的合约到区块链,打开Ethereum Wallet然后点击Contracts。

基于Ethereum Wallet的Solidity HelloWorld

点击部署一个新合约。

基于Ethereum Wallet的Solidity HelloWorld

将我们的Counter合约代码拷贝到Ethereum Wallet代码区域。

基于Ethereum Wallet的Solidity HelloWorld

扫描二维码关注公众号,回复: 2181781 查看本文章

选择Counter合约,然后点击DEPLOY按钮。

基于Ethereum Wallet的Solidity HelloWorld

输入当前部署的钱包的密码,然后点击SEND TRANSACTION按钮。

基于Ethereum Wallet的Solidity HelloWorld

查看最新交易。

基于Ethereum Wallet的Solidity HelloWorld

查看交易信息。

基于Ethereum Wallet的Solidity HelloWorld

和Counter合约互动

因为我们部署的合约是部署在Account 2上的,所以我们可以点击Account 2查看最新的交易记录。

基于Ethereum Wallet的Solidity HelloWorld

点击Counter按钮,进入交互界面。

基于Ethereum Wallet的Solidity HelloWorld

选择Increment和Account 2,然后点击EXECUTE按钮。

基于Ethereum Wallet的Solidity HelloWorld

输入密码,点击SEND TRANSACTION按钮。

基于Ethereum Wallet的Solidity HelloWorld

交易执行完成后,count会自动加1

基于Ethereum Wallet的Solidity HelloWorld

基于Ethereum Wallet的Solidity HelloWorld

小结

部署合约时,因为要往区块链写入数据,需要矿工进行验证,所以需要花费一些gas奖励给矿工,还有当我们每次调用increment方法时,也属于写入数据,同样需要花费gas,但是调用getCount方法时只是从区块链读取数据,无需验证,读取数据无须花费gas。

猜你喜欢

转载自blog.51cto.com/13833106/2144918