📝 Solidity教程
42篇技术文档📅  最后修改于: 2020-11-02 04:56:12        🧑  作者: Mango
Solidity是用于实现智能合约的面向合约的高级编程语言。Solidity受C++, Python和JavaScript的高度影响,并已针对Ethereum虚拟机(EVM)设计。本教程针对新手开发人员和Solidity的新手。它指导他们通过Solidity中的更高级概念来理解基本知识。完成本教程后,您在Solidity方面的牢固基础和专业知识水平将使您可以开始发展并轻松地建立自己的知识。先决条件...
📅  最后修改于: 2020-11-02 04:56:29        🧑  作者: Mango
Solidity是用于实现智能合约的面向合约的高级编程语言。坚固性受C++, Python和JavaScript的高度影响,并已针对Ethereum虚拟机(EVM)设计。实体是静态类型的,支持继承,库和复杂的用户定义类型的编程语言。您可以使用Solidity创建用于投票,众筹,盲目拍卖和多重签名钱包等用途的合同。什么是以太坊?以太坊是一个去中心化即运行智能合约的区块链平台,即完全按程序运行的应用程...
📅  最后修改于: 2020-11-02 04:56:48        🧑  作者: Mango
本章说明如何在CentOS计算机上设置Solidity编译器。如果您没有Linux机器,则可以使用我们的Online Compiler进行小型合同和快速学习Solidity。方法1-npm / Node.js这是在CentoS机器上安装Solidity编译器的最快方法。我们有以下步骤安装Solidity Compiler-安装Node.js首先确保您在CentOS机器上有可用的node.js。如果...
📅  最后修改于: 2020-11-02 04:57:09        🧑  作者: Mango
Solidity源文件可以包含任意数量的合同定义,导入指令和编译指示。让我们从一个简单的Solidity源文件开始。以下是Solidity文件的示例-语用第一行是编译指示,它指示源代码是为Solidity版本0.4.0或任何不破坏功能(但不包括版本0.6.0)的较新版本编写的。编译指示始终位于源文件的本地,如果您导入另一个文件,则来自该文件的编译将不会自动应用于导入文件。因此,对于一个不会早于版本...
📅  最后修改于: 2020-11-02 04:57:22        🧑  作者: Mango
我们正在使用Remix IDE编译和运行我们的Solidity代码库。步骤1-在“ Remix IDE代码”部分中复制给定的代码。例步骤2-在“编译”选项卡下,单击“开始编译”按钮。步骤3-在“运行”选项卡下,单击“部署”按钮。步骤4-在“运行”选项卡下,从下拉菜单中选择SolidityTest at 0x…。步骤5-单击getResult按钮以显示结果。输出...
📅  最后修改于: 2020-11-02 04:57:35        🧑  作者: Mango
Solidity支持C风格和C++风格的注释,因此-//和行尾之间的任何文本均被视为注释,并且被Solidity Compiler忽略。字符/ *和* /之间的任何文本均被视为注释。这可能会跨越多行。例以下示例显示了如何在Solidity中使用注释。...
📅  最后修改于: 2020-11-02 04:57:52        🧑  作者: Mango
用任何语言编写程序时,您需要使用各种变量来存储各种信息。变量不过是用于存储值的保留内存位置。这意味着当您创建变量时,会在内存中保留一些空间。您可能希望存储各种数据类型的信息,例如字符,宽字符,整数,浮点数,double浮点数,boolean等。操作系统根据变量的数据类型分配内存,并确定可以存储在变量中的内容。保留的内存。值类型Solidity为程序员提供了丰富的内置以及用户定义的数据类型。下表列出...
📅  最后修改于: 2020-11-02 04:58:15        🧑  作者: Mango
Solidity支持三种类型的变量。状态变量-变量的值永久存储在合同存储中。局部变量-在执行函数之前其值一直存在的变量。全局变量–全局变量中存在特殊变量,用于获取有关区块链的信息。统一性是一种静态类型的语言,这意味着在声明过程中需要指定状态或局部变量类型。每个声明的变量始终具有基于其类型的默认值。没有“未定义”或“空”的概念。状态变量其值永久存储在合同存储中的变量。局部变量变量的值仅在定义它的函数...
📅  最后修改于: 2020-11-02 04:58:29        🧑  作者: Mango
局部变量的范围仅限于定义它们的函数,但是状态变量可以具有三种类型的范围。Public-公共状态变量可以在内部以及通过消息进行访问。对于公共状态变量,将生成自动吸气函数。内部-内部状态变量只能从当前合同或从其衍生的合同内部访问,而无需使用它。私有-私有状态变量只能从当前合同内部访问,而不能在从其衍生的合同中定义。例...
📅  最后修改于: 2020-11-02 04:59:01        🧑  作者: Mango
什么是运算符?让我们用一个简单的表达式4 + 5等于9。这里4和5称为操作数,而’+’称为运算符。 Solidity支持以下类型的运算符。算术运算符比较运算符逻辑(或关系)运算符赋值运算符条件(或三元)运算符让我们一一看一下所有运算符。算术运算符实体支持以下算术运算运算符-假设变量A持有10,变量B持有20,则-显示范例Sr.No.Operator & Description1+ (Additio...
📅  最后修改于: 2020-11-02 04:59:15        🧑  作者: Mango
签订合同时,您可能会遇到需要一遍又一遍执行某项操作的情况。在这种情况下,您将需要编写循环语句以减少行数。Solidity支持所有必要的循环以减轻编程压力。Sr.NoLoops & Description1While LoopThe most basic loop in Solidity is the while loop which would be discussed in this chapt...
📅  最后修改于: 2020-11-02 04:59:29        🧑  作者: Mango
在编写程序时,可能需要从一组给定路径中采用一个。在这种情况下,您需要使用条件语句,以使程序能够做出正确的决定并执行正确的操作。Solidity支持条件语句,这些条件语句用于根据不同的条件执行不同的操作。在这里,我们将解释if..else语句。if-else的流程图以下流程图显示了if-else语句的工作方式。Solidity支持以下形式的if..else语句-Sr.NoStatements & D...
📅  最后修改于: 2020-11-02 04:59:49        🧑  作者: Mango
Solidity同时使用双引号(“)和单引号(‘)支持String字面量。它提供字符串作为数据类型来声明String类型的变量。在上面的示例中,“ test”是字符串字面量,而data是字符串变量。更可取的方法是使用字节类型而不是字符串,因为与字节操作相比,字符串操作需要更多的资源。 Solidity提供字节到字符串之间的内建转换,反之亦然。在Solidity中,我们可以轻松地将String字面量...
📅  最后修改于: 2020-11-02 05:00:15        🧑  作者: Mango
数组是一种数据结构,用于存储相同类型元素的固定大小的顺序集合。数组用于存储数据集合,但是将数组视为相同类型的变量集合通常会更有用。无需声明单个变量(例如number0,number1,…和number99),而是声明一个数组变量(例如numbers),并使用numbers [0],numbers [1]和…,numbers [99]表示各个变量。数组中的特定元素由索引访问。在Solidity中,数...
📅  最后修改于: 2020-11-02 05:00:30        🧑  作者: Mango
枚举将变量限制为仅具有几个预定义值之一。此枚举列表中的值称为枚举。使用枚举可以减少代码中的错误数量。例如,如果我们考虑申请一个鲜榨果汁店,则可以将玻璃杯的尺寸限制为小,中和大。这样可以确保不会允许任何人订购除小,中或大以外的任何尺寸。例尝试以下代码以了解枚举在Solidity中的工作方式。使用Solidity First Application一章中提供的步骤运行上述程序。首先单击setLarge...