基于Ethereum Wallet的Solidity HelloWorld

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

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

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

Counter合约源码

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

Counter合约部署

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

点击部署一个新合约。

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

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

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

查看最新交易。

查看交易信息。

和Counter合约互动

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

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

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

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

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

小结

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

原文地址:http://blog.51cto.com/13833106/2144917

时间: 2024-08-02 09:37:57

基于Ethereum Wallet的Solidity HelloWorld的相关文章

以太坊客户端Ethereum Wallet与Geth区别简介

最近有不少朋友在搭建交易平台,在咨询和技术交流的过程中发现很多朋友不太清楚Ethereum Wallet和Geth区别.甚至有朋友使用Geth的API接口来调用Ethereum Wallet客户端(本机安装).那么,今天就给大家简单介绍一下这两个客户端的区别. Ethereum Wallet简介 Ethereum Wallet客户端对应的是Mist项目,现在此客户端大多都称为Ethereum Wallet,也有称作Mist客户端的,知道它们两个指的是通一个客户端即可.此客户端使用JavaScri

4种测试网络以及geth、Ethereum wallet和mist的区别

关于以太坊公开的4个测试网络的区别: A. Morden(已退役) Morden是以太坊官方提供的测试网络,自2015年7月开始运行.到2016年11月时,由于难度炸弹已经严重影响出块速度,不得不退役,重新开启一条新的区块链.Morden的共识机制为PoW. B. Ropsten(区块链浏览器) Ropsten也是以太坊官方提供的测试网络,是为了解决Morden难度炸弹问题而重新启动的一条区块链,目前仍在运行,共识机制为PoW.测试网络上的以太币并无实际价值,因此Ropsten的挖矿难度很低,目

[lushengduan]【基于Android N详解HelloWorld系列】00、简述和HelloWorld实现

想必大家对HelloWorld并不陌生,堪称"编程入门经典"!我们知道,HelloWorld是一个最简单的小程序,但是,要运行这个简单小程序,Android系统框架可做了不少事情,这涉及到AMS.PMS.WMS等各种系统服务,系统服务之间相互协作,有条不紊地完成应用程序的安装.运行等操作:网上也有很多文章对Android框架进行了分析,大部分讲得也很精彩.很透彻,但是,确实是这些资料有些老旧,因此,想围绕着HelloWorld,基于Android N(Android 7.0/7.1)整

基于Spring MVC的简单HelloWorld实例

1.导包 2.web.xml文件配置 3.包结构定义以及控制器的编写 4.xxxx-servlet文件配置   5.返回的视图(jsp)编写 6.源码 下载:http://download.csdn.net/download/techbirds_bao/4934704

solidity[1]-HelloWorld

solidity介绍以太坊拥有多种高级语言,可用于编写智能合约,每种语言都受到另一种广泛使用的语言的启发.最流行的一种叫做Solidity,它基于JavaScript.由于Solidity是迄今为止最成熟的以太坊语言,因此它是社区大力鼓励开发人员现在使用的语言.Solidity与其它语言相关的特点?它的语法接近于Javascript,是一种面向对象的语言.但作为一种真正意义上运行在网络上的去中心合约,它又有很多的不同,下面列举一些 原文地址:http://blog.51cto.com/13784

2018年以太坊智能合约开发语言Solidity最佳IDEs

Solidity是一种以智能合约为导向的编程语言.这是一种只有四年的年轻语言,旨在帮助开发基于以太坊数字货币的智能合约. 理解它官方文档应该是学习Solidity的最佳来源:solidity.readthedocs.io 想在以太坊的网络上建立自己的加密货币吗?想拥有自己的初始代码产品吗?以下是您今天可以使用的最佳Solidity IDE. Remix IDE Remix IDE是基于浏览器的,并且集成了编译器.没有服务器端组件. 官网: https://remix.ethereum.orggi

区块链入门(5)Truffle 项目实战,Solidity IDE, 智能合约部署

在上一张我们学习了Truffle项目的创建,部署等相关内容,今天我们就来实战一下. 今天我们要做3件事: 1) 学习搭建一个Solidity IDE(Remix). 2) 使用这个Solidity Ide编写一份智能合约. 3) 在我们前面第1,2,3章中部署的私有网络节点集群中部署这个合约,并能够在不同的节点中调用这个合约. Remix,是一个Solidity开发语言的Ide, 它是一款运行在浏览器端的solidity ide,也是官方推荐使用的ide. 另外还有其它的solidiy ide,

区块链 Hello World -- 基于以太坊的投票Dapp

指路牌 以太坊 区块链 Dapp 以太坊hello world 环境 windows 10 64bit 参考博客 youclavier -- 以太坊投票Dapp教程 背景 准备接手一个IPFS+Ethereum的项目,先学习一下Ethereum,并尝试完成一个Hello World. 步骤 参考我另一片blog, 安装nvm 安装node 9.11.1 并切换环境 nvm install 9.11.1 nvm use 9.11.1 创建一个新的工作目录,并在命令行索引到该路径 安装ganche-

SpringMVC入门案例:HelloWorld

本文摘自:http://www.cnblogs.com/bigdataZJ/p/springmvc1.html 软件参数 Eclipse:Mars.1 Release (4.5.1) Tomcat: 8.0.36 JDK:1.8.0_60 Spring-framework: 4.0.4.RELEASE 新建项目 File-New-Other,选择Dynamic web project 项目建好之后,目录结构如下: 导入jar包 我们基于Spring mvc框架进行开发,需要依赖一下的spring