📝 Solidity教程

42篇技术文档
  Solidity-受限访问

📅  最后修改于: 2020-11-02 05:05:00        🧑  作者: Mango

限制访问合同是一种惯例。默认情况下,除非指定为公共状态,否则合同状态为只读。我们可以限制谁可以使用修饰符来修改合同的状态或调用合同的功能。我们将创建并使用多个修饰符,如下所示-onlyBy-一旦在函数上使用,则只有提到的调用方才能调用此函数。onlyAfter-一旦在函数上使用过,则可以在特定时间段后调用该函数。成本-一旦在函数上使用,则调用者只有在提供特定值后才能调用此函数。例...

  Solidity-合同

📅  最后修改于: 2020-11-02 05:05:18        🧑  作者: Mango

实体合同类似于C++中的类。合同具有以下属性。构造函数-用构造函数关键字声明的特殊函数,它将对每个合约执行一次,并在创建合约时调用。状态变量-每个合同的变量,用于存储合同的状态。功能-每个合约的功能,可以修改状态变量以更改合约的状态。可见性量词以下是合同功能/状态变量的各种可见性量词。外部-外部功能应由其他合同调用。它们不能用于内部呼叫。要在合同内调用外部函数,需要this.function_na...

  Solidity-继承

📅  最后修改于: 2020-11-02 05:05:33        🧑  作者: Mango

继承是扩展合同功能的一种方法。 Solidity支持单继承和多继承。以下是关键的高亮点。派生合同可以访问所有非私有成员,包括内部方法和状态变量。但是不允许使用它。如果函数签名保持不变,则允许功能覆盖。如果输出参数不同,编译将失败。我们可以使用超级关键字或超级合同名称来调用超级合同的函数。在多重继承的情况下,使用super的函数调用会优先考虑大多数派生合同。例使用Solidity First App...

  Solidity-构造函数

📅  最后修改于: 2020-11-02 05:05:51        🧑  作者: Mango

构造函数是使用构造函数关键字声明的特殊函数。这是一个可选功能,用于初始化合同的状态变量。以下是构造函数的关键特征。合同只能有一个构造函数。创建合同后,构造函数代码将执行一次,并用于初始化合同状态。执行构造函数代码后,最终代码将部署到区块链。该代码包括公共功能和可通过公共功能访问的代码。最终代码中不包括构造函数代码或仅由构造函数使用的任何内部方法。构造函数可以是公共的,也可以是内部的。内部构造函数将...

  Solidity-抽象合同

📅  最后修改于: 2020-11-02 05:06:05        🧑  作者: Mango

抽象合同是包含至少一个函数而没有任何实现的合同。此类合同用作基本合同。通常,抽象协定既包含实现的功能又包含抽象的功能。派生合同将实现抽象函数,并在需要时使用现有功能。如果派生合同未实现抽象函数,则该派生合同将被标记为抽象。例尝试以下代码以了解抽象协定在Solidity中的工作方式。使用Solidity First Application一章中提供的步骤运行上述程序。输出...

  Solidity-接口

📅  最后修改于: 2020-11-02 05:06:19        🧑  作者: Mango

接口类似于抽象合同,并使用interface关键字创建。以下是界面的关键特征。接口不能具有任何实现函数。接口的功能只能是外部类型。接口不能有构造函数。接口不能有状态变量。接口可以具有枚举,可以使用接口名称点表示法访问的结构。例尝试以下代码以了解界面在Solidity中的工作方式。使用Solidity First Application一章中提供的步骤运行上述程序。注意-在单击部署按钮之前,从下拉列...

  Solidity-库

📅  最后修改于: 2020-11-02 05:06:37        🧑  作者: Mango

库类似于合同,但主要用于重用。库包含其他合同可以调用的功能。坚固性对使用库有某些限制。以下是Solidity库的关键特征。如果不修改状态,则可以直接调用库函数。这意味着只能从库外部调用纯函数或视图函数。不能将其销毁,因为它被认为是无状态的。库不能有状态变量。库不能继承任何元素。库不能被继承。例尝试以下代码以了解库如何在Solidity中工作。使用Solidity First Application...

  Solidity-组装

📅  最后修改于: 2020-11-02 05:06:53        🧑  作者: Mango

Solidity提供了一种使用汇编语言在Solidity源代码中编写内联汇编的选项。我们还可以编写一个独立的汇编代码,然后将其转换为字节码。独立程序集是Solidity编译器的一种中间语言,它将Solidity代码转换为独立程序集,然后转换为字节码。我们可以使用内联汇编中使用的相同语言在独立汇编中编写代码。内联汇编内联汇编代码可以在Solidity代码库中插入,以对EVM进行更细粒度的控制,尤其是...

  Solidity-事件

📅  最后修改于: 2020-11-02 05:07:08        🧑  作者: Mango

事件是合同的可继承成员。发出一个事件,它存储在事务日志中传递的参数。这些日志存储在区块链上,并且可以使用合同地址进行访问,直到合同存在于区块链上为止。不能从合同内部访问生成的事件,甚至不能创建和发出事件。可以使用event关键字声明事件。例尝试使用以下代码来了解事件在Solidity中的工作方式。首先创建合同并发出事件。然后以JavaScript代码访问合同的事件。它应该打印类似于以下内容的详细信...

  Solidity-错误处理

📅  最后修改于: 2020-11-02 05:07:25        🧑  作者: Mango

Solidity提供了各种用于错误处理的功能。通常,发生错误时,状态会恢复为原始状态。其他检查是为了防止未经授权的代码访问。以下是错误处理中使用的一些重要方法-assert(bool condition)-如果不满足条件,则此方法调用将导致无效的操作码,并且对状态所做的任何更改都将被还原。此方法用于内部错误。require(bool condition)-如果不满足条件,此方法调用将恢复为原始状态...

  Solidity-有用的资源

📅  最后修改于: 2020-11-02 05:07:38        🧑  作者: Mango

以下资源包含有关Solidity的其他信息。请使用它们来获得有关此方面的更深入的知识。关于团结的有用链接团结-团结和文档官方网站Solidity Wiki-维基百科的Solidity参考RemixIDE-用于Solidity编译和执行的在线IDE要在此页面上注册您的网站,请发送电子邮件至contact@tutorialspoint.com...

  讨论Solidity

📅  最后修改于: 2020-11-02 05:07:50        🧑  作者: Mango

Solidity是用于实现智能合约的面向合约的高级编程语言。坚固性受C++, Python和JavaScript的高度影响,并已针对Ethereum虚拟机(EVM)设计。...