不同步节点在线使用Remix开发以太坊Dapp及solidity学习入门 ( 一 ):智能合约HelloWorld

有问题可以点击–>加群互相学习

本人本来想自己写公链,结果发现任重道远; 遂,开始写Dapp,顺便写的时候搞个教程吧。。。

通过系列教程学习将会:
1.基本使用solidity 语言开发智能合约
2.知道怎么发自己的以太坊的token
3.看见前方区块链技术的尾灯
4.转行应该也可以吧
5.深入理解当下区块链概念

环境说明: Ide:在线remix Solidity IDE
语言:solidity solidity
版本号:0.4.20
Tip:如果一点都不懂的建议从头开始看
运行结果截图我不赘述,所有合约代码均通过个人检测。请按照标准进行操作。由于版本更新,可能会出现不同,但该教材代码均适用于在0.4.20 版本使用

一:以太坊智能合约之经典打招呼——“HelloWorld”

以太坊智能合约开发使用solidity语言,如果有多年开发经验,那么这个语言应该应该都随便看得懂,所以第一个helloworld我就不做过多解释了。

本文使用开发工具为web版本的Remix的Solidity IDE。

优点:
1.不用同步,Windows也可以开发Dapp
2.心情舒服,因为本人觉得同步节点是一件让我抓狂的事情
3.直接测试环境运行

缺点:
1.测试环境有点慢,不过调高gas的price可以增加速度
2.没有本地环境那么方便,不过还好了,如果你是一个不会同步节点的,和我一样的lowb,而且又很懒,那么使用在线的开发环境是一个很好的选择

环境:
IDE:在线的Remix Solidity IDE:http://remix.ethereum.org
浏览器:谷歌
语言:solidity
钱包:MetaMask
网络:必须连上外网,很多人用在线开发环境出问题原因就是因为没有连上外网

第一步:

首先,以太坊的智能合约开发真的不难。。。
其次,你需要首先安装MetaMask,就是在线的狐狸钱包(我就不安装了,就是个谷歌插件,你们懂的)
随后需要有测试的以太币,有免费获取方法:
首先用私钥登陆你的钱包,然后选择测试网络:
在这里插入图片描述

随后,选择之后选择存入:
在这里插入图片描述
获取免费ETH:
在这里插入图片描述
点击:
在这里插入图片描述

第二步:
有了测试的以太坊后,我们就可以去写我们的以太坊只能合约的——Helloworld了。
首先打开Remix在线开发环境:http://remix.ethereum.org

打开之后如图所示新建一个sol文件,sol则是solidity语言的文件名后缀:
在这里插入图片描述
随后复制以下代码:

pragma solidity ^0.4.20;//版本号contract HelloWorld{//contract 是定义合约关键字 HelloWorld是名
//function 定义方法关键字,SayHello 方法名,constant表示该方法无修改
//public 公开方法,returns(sting)返回值为stringfunction SayHello() constant public returns(string){return "hellowolrd";//返回hellowrold}
}

大概remix在线环境操作如下图:
在这里插入图片描述

很多新手有时候在写版本号的时候会报错,问题不大,只需要选择对应版本号就ok了,如下:
例如声明如下版本号代码出错:

pragma solidity ^0.4.20;

当然,你可以看报错信息,不过英文不好怎么办这就很尴尬了,所以我在这里提示一下,记住如下图:

默认选择最新版本,当然:
pragma solidity ^0.4.20;
这句代码的意思是:的代码是 0.4.2及以上代码都可以用,但是本人确实出现过错误,所以简单的只需要在刚刚如图所示位置选择对应的版本即可:
在这里插入图片描述
ok,解决,现在我们来部署一下我们的合约:

在这里插入图片描述
然后弹出转账框,合约部署需要eth,所以点击确定:

在这里插入图片描述
然后发现:

你可以跳转链接查看一下,等待一下子,合约部署完成后,会在这里显示:
在这里插入图片描述
HeeloWorld就是我刚刚的合约,部署成功后点击头部的小箭头向下展开,然后点击那个方法,sayHello,就会调用合约随后显示helloworld了:
在这里插入图片描述

简单吧,智能合约真的不难,同步才是最难的对于我来说,哈哈。下一节更一下solidity一些类型什么的了吧,当然还有合约。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Blazor University (16)渲染树 — 使用 @key 优化

原文链接:https://blazor-university.com/components/render-trees/optimising-using-key/使用 key 优化源代码[1]提示: 对于在运行时循环生成的组件,始终使用 key。前面的示例运行良好,因为 Blazor 能够轻松地将虚拟 DOM 元素与浏…

苹果的热榜:积分墙背后的隐秘世界

电影《楚门的世界》中描述过这样的故事:楚门这个快乐单纯的青年,一直以为自己是平凡小镇上普通的保险推销员。直到有一天他发现这世界上的一切都是为他精心安排的。他会遇到谁、在他身上将要发生什么事件,都是按照剧本被人操纵的。甚至连他的…

solidity编写eth智能合约之contract 创建合约(二)

环境说明: Ide:在线remix Solidity IDE 语言:solidity solidity 版本号:0.4.20 Tip:如果一点都不懂的建议从头开始看 运行结果截图我不赘述,所有合约代码均通过个人检测。请按照标准进行操作,如…

为什么HttpContextAccessor要这么设计?

前言周五在群里面有小伙伴问,ASP.NET Core这个HttpContextAccessor为什么改成了这个样子?在印象中,这已经是第三次遇到有小伙伴问这个问题了,特意来写一篇记录,来回答一下这个问题。聊一聊历史关于HttpContext其实我们…

元素周期表排列的规律_中考化学:金属活动性顺序表和元素周期表规律总结

在我们初三学年的化学学习中,有两大重要规律需要同学们牢牢记住,这也是贯穿我们化学始终的化学规律,那就是金属活动性顺序表和化学元素周期表规律。一、金属活动性顺序表:金属活动性顺序由强至弱: K Ca na Mg Al Zn Fe Sn Pb(H)Cu Hg Ag Pt A…

solidity modifier函数修改器 智能合约开发知识浅学(三)

环境说明: Ide:在线remix Solidity IDE 语言:solidity solidity 版本号:0.4.20 Tip:如果一点都不懂的建议从头开始看 运行结果截图我不赘述,所有合约代码均通过个人检测。请按照标准进行操作,如…

百度网盘超级会员,年卡低至198元!百度官方直充,会员实时生效!

大家都喜欢用百度网盘来存储文件、照片,还用百度网盘分享文档,但没有会员的,容量就太小,传输速度也受限,还是咬牙充个会员吧!幻海优品是一家正规的会员充值平台,价格很实惠!百度网盘…

C#服务器编程:WebService、Ajax与回调函数(一)

目 录 1、结果展示 2、WebService 3、回调函数 本实例演示借助WebService、Ajax技术和回调函数,从MSSQL数据库中获取所需数据,并用JavaScript语言将数据结果显示到网页地图上。 1、结果展示 2、WebService (1)在工具箱的Ajax Extentions下面找到ScriptManager控件,拖…

SyntaxHighlighter行号显示错误问题解决方案

SyntaxHighlighter是根据代码中的换行符分配行号的。但是,如果一行代码或者注释比较长,在页面显示时需要分成多行显示,会出现行号对不上的问题,像这样: 通过设置CSS强制不换行,可以保证行号显示正常&#x…

mysql 一对多 关联一条最新的数据_不得不会的mysql锁

6. 多表之间的关系如图,实际业务数据库中的表之间都是有关系的,我们接下来主要要学习的就是如何分析表关系及建立表关系。分类表create table category( cid varchar(32) primary key, cname varchar(100) );商品表create table product( pid varchar(3…

C语言实现万年历记事本,简单实用的layui日历标注记事本代码

一款简单实用的layui日历标注记事本代码,响应式自适应电脑、平板跟手机移动端,可以在日历上设置每日事项标注记录,支持撤销、添加、修改标注记录。查看演示下载资源:52次 下载资源下载积分:20积分js代码 layui.use([la…

围棋经典棋谱_秀秀老师:茶艺师也要学好围棋

“引清风,邀明月,去来兮。省多少闲是闲非。临山近水,近些松竹向些梅。书院茶香几多般,诗酒琴棋。无萦无烦恼,无别离。于中国文人雅士而言,茶与棋,皆是清雅之物事。曹臣《舌花录》中,…

基于 Dapr 和 .NET 开发云原生应用(奉上视频+资料)

点击蓝字/关注我序言:今年是.NET20周年,为了传播.NET和营造.NET技术氛围举办了此次云原生开发挑战赛,请来众多业界大咖来给大家分享技术,为大家参赛做预热,参赛的朋友都可获得51Aspx 500积分和微软亲签证书&#xff0c…

【Spring-AOP-学习笔记-3】@Before前向增强处理简单示例

项目结构程序代码HelloImpl.javaWorldImpl.java定义切面类package org.crazyit.app.aspect;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;// 定义一个切面Aspectpublic class AuthAspect{ // 匹配org.crazyit.app.service.impl包下所…

sklearn 线性回归_使用sklearn库做线性回归拟合

背景资料随着海拔高度的上升,温度越来越低,经过气象专家的研究,在一定的海拔高度范围内,高度和温度呈线性关系。现有一组实测资料,我们需要对这些数据进行处理拟合,获得此线性关系。解决思路采用sklearn库中…

VS2022之DebuggerVisualizer

在Debug程序时,面对一些大集合,之前是这样查看的,如下图,这样看起来不直观,集合中的数据只能一个一个实体查看:VS2022预览版带来一个新功能,集合表格可视化,比如下面这样一段代码&am…

SmartIDE支持开源国产IDE - 阿里蚂蚁的OpenSumi丨IDCF

作者:徐磊文章首发地址:https://smartide.cn/zh/blog/2022-0419-sprint16/SmartIDE v0.1.16 (Build 3137)已经在2022年4月19日发布到稳定版通道,我们在这个版本中增加了阿里和蚂蚁发布的国产IDE OpenSumi的支持,以及其他一些改进。…

js操作文件

在HTML表单中&#xff0c;可以上传文件的唯一控件就是<input type"file">。 注意&#xff1a;当一个表单中包含<input type"file">时&#xff0c;表单的enctype必须指定 为multipart/form-data,method必须指定为post&#xff0c;浏览器才能正确…

mycat 双主 热切换

为什么80%的码农都做不了架构师&#xff1f;>>> Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz schema.xml <?xml version"1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat"ht…

6 四大组件之Service

6-1 Servie概述 组件篇——Service 定义:  1.后台运行,不可见,没有界面  2.优先级高于Activity Service是Android系统的后台服务组件&#xff0c;适用于开发无界面、长时间运行的应用功能。 Service特点如下&#xff1a; 没有用户界面 不会轻易被Android系统终止 在系统…