Solidity教程:初学Solidity

Solidity 从入门到实战(一) solidity 从入门到实战(一) 注意:本专栏主要来自于https://www.bilibili.com/video/BV1St411a7Pk?p=11&spm_id_from=pageDriver的学习笔记 编写第一个案例 //声明版本号 pragma solidity ^0.4.16; //合约 有点类似于java中的class contract HelloWorld{ //合约属性变量 string myName = "HelloWorld"; //合约中方法 阅读详情

这篇关于Solidity教程的博客展示了很多Solidity特性。本教程假定你对以太坊虚拟机和编程有一定的了解。

以太坊,“世界计算机”提供了一个非常强大的全球共享基础设施,使用名为Solidity的编程语言构建去中心化应用程序。

让我们开始我们的Solidity教程,介绍Solidity。

什么是Solidity?

以太坊Solidity是一种面向智能合约的高级语言,其语法与JavaScript类似。solidity是用于生成在EVM上执行的机器级代码的工具。solidity编译器获取高级代码并将其分解为更简单的指令。Solidity代码封装在Contracts中。

以太坊合约中的solidity

合约是以太坊去中心化应用程序的基本构建模块。所有变量和函数都是合约的一部分,这是所有项目的起点。一个名为MyFirst的空合约看起来像这样:

version pragma ^0.4.19;
contract MyFirst{
}

盯紧你的屏幕因为接下来在我们的Solidity教程中我们将开始编码…

Solidity文件的布局

源文件可以包含任意数量的合约定义,包括指令和pragma指令。

Version Pragma

Version Pragma是定义代码使用的Solidity编译器版本的声明。

version pragma ^0.4.00;

注意:上面显示的源文件不会使用早于版本0.4.0的编译器进行编译,也不能在从版本0.5.0开始的编译器上运行。

导入其他源文件

Ethereum Solidity支持与JavaScript中可用的导入语句非常相似的导入语句,尽管Solidity不知道default export的概念。

在全局级别,可以使用以下形式的import语句:

import "filename";

上述语句将所有全局符号从filename导入当前全局范围。

import * as symbolName from "filename";

注释

就像任何其他语言一样,Solidity可以使用单行和多行注释。

// This is a single-line comment.
/*
This is a
multi-line comment
*/

现在,在我们进一步深入了解Solidity教程之前,应该知道以太坊有三个可以存储项目的区域。

  • 存储Storage:所有合约状态变量所在的位置。每个合约都有自己的存储,并且在函数调用之间是持久的。
  • 内存Memory:保存临时值并在(外部)函数调用之间擦除,并且使用起来更便宜。
  • 堆栈Stack:保存小的局部变量并且几乎可以免费使用,但只能保存有限数量的值。

对于几乎所有类型,都无法指定它们应存储的位置,因为它们在每次使用时都会被复制。

好了,既然你已经知道以太坊Solidity中的存储位置,那么让我告诉你一般的值类型。

solidity中的值类型

以下类型也称为值类型,因为这些类型的变量将始终按值传递。

Solidity学习之路(1)——初识Solidity 前言 区块链技术日趋成熟,公司也希望在区块链上有所发展,身为一个上进青年,当然要承担起这个重任。在前端通过使用vue、react与web3.js开发的dapp后,个人对合约的开发越发的感兴趣,既然如此,心动不如行动,那就开始学习吧。在之后的内容中,我将分享我在solidity学习的过程中的每一步,比如遇到的难题,解决的思路等等。希望可以给和我一样刚刚上手的朋友一些帮助。也希望有朋友可以将我理解错误的地方指出。大家互相讨论,共同进步。 正文 1、查找参考文档 身为中国人遇... 阅读详情

相关推荐

智能合约学习笔记一 、——{Solidity语言详解——(1—2)小练习}

solidity练习

qq_62238860的博客 3228

【solidity入门】1. HelloWeb3

本文是学习WTF学院教程后所记的学习笔记,如果感兴趣可以通过我的笔记了解每一课的主要内容,如果想学习不建议根据这篇笔记学,推荐大家到原网站学习https://wtf.academy/learning-center

weixin_44792616的博客 1608

【0基础】学习solidity开发智能合约-初识solidity

solidity入门课程,初识solidity

外柏叁布道者 6872

不用公网IP!用Ollama+Chatbox搭建家庭AI助手(内网穿透方案对比)

本文详细介绍了如何利用Ollama和Chatbox在家庭局域网中搭建本地AI助手,无需公网IP即可实现内网穿透。通过对比不同穿透方案(如Tailscale、FRP等),提供最优配置建议,帮助用户低成本部署隐私安全的家庭AI系统,适用于智能家居、儿童教育等多种场景。

weixin_26765287的博客 460

ABAP 7.40+新语法实战:用VALUE和REDUCE五分钟搞定复杂内表统计

本文详细介绍了ABAP 7.40+新语法中的VALUE和REDUCE操作符,如何高效处理复杂内表统计任务。通过实战案例展示,这些新语法能将代码量减少70%以上,显著提升开发效率和可读性,特别适合大数据量下的销售数据分析、分组统计等场景。

weixin_27219587的博客 206

【OpenCV-Python】图像的载入、显示和输出(imread()、imshow()、waitKey()、namedWindow()、imwrite())

图像的载入:imread()函数 imread()函数可以用来非常便捷地读取文件中的图片到Opencv中。这个函数一般需要两个参数: (1)载入图片的路径名。如果图像文件在工程文件夹下,可以直接用文件名读取,如“cat.jpg”,否则需要输入完整的访问路径,如“D:\\test\\lena.png”。这里还有几个tips: imread函数中,一个点代表省略当前文件夹路径,两个点则代表回...

M&Q的博客 1397

音频功放电路大全

作为硬件工程师,特别是做纯粹模拟电路、应用于音频功放的工程师,对于A类,B类,AB类,D类,G类,H类,T类功放应该特别熟悉。大多数工程师或许只知道其中的一部分、或者知道大概,为了让更多的工程师掌握更加详尽的音频功放知识,下文对以上说的音频功放做详细的说明。 功放,顾名思义,就是功率放大的缩写。与电压或者电流放大来说,功放要求获得一定的、不失真的功率,一般在大信号状态下工作,因此,功放电路一般包含电压放大或者电流放大电路没有的特殊问题,具体表现在:①输出功率尽可能大;②通常在大信号状态下工作;③非线性失真突

ltqdxl的博客 6595

Vivado IP核调参大师:高效配置RS编码器的避坑指南

本文深入解析Vivado中RS编码器IP核的高效配置方法,涵盖符号宽度选择、码长优化和AXI4-Stream接口控制等关键参数。重点指导如何避开常见陷阱,实现FPGA设计中的资源优化与性能平衡,提升RS编码在通信系统中的可靠性。

metaverse5vr的博客 221

华为OD机试真题 新系统 2026-09-26 Java&Go&C【数据中心最佳维护时间窗】

数据中心使用一个整数数组 scores,记录 N 小时内每小时的服务器得分(可正可负)。0 表示服务器故障(无效小时)。

MISAYAONE的博客 98

使用cmd命令查看电脑是不是翻新机 如何查看自己电脑是不是翻新机

最近pdd啥的百亿补贴啊,什么品牌店啊,很多“假一赔十”,绝对“正品”都蹦出来了,很多人拿到以后,也上网查了各种鉴别方式,包括区分是不是翻新机之类的。本人亲自踩坑“pdd品牌店”,“假一赔十”,“绝对正品”等店铺,跟大家分享一下我得鉴别经验(说道分享鉴别经验了,大家也就不用好奇了,我肯定是买到翻新机了,mmp)。 第一步:准备好手机,开始录屏,没有完整的拆箱视频,可能不容易退货退款 第二步:拆箱,查看屏幕划痕(用手机闪光灯看,要不然看不清),然后查看屏幕有没有被擦过的痕迹 第三步:查看USB孔等插口有没有划

weixin_39417324的博客 1万+

【考试大纲】中级多媒体应用设计师考试大纲

中级多媒体应用设计师考试大纲

邓邓子的博客 382

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: 使用EOSJS和scatter在EOS区块链上开发dApp
下一篇: 以太坊教程:通过NodeJS后端发送交易
落叶无声9
博客等级 码龄12年 443粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值