第84篇笔记-智能合约(solidity)编程(代码片段)

wonderBlock wonderBlock     2023-01-20     118

关键词:

1. 源文件结构

示例:

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.16 <0.9.0;

contract SimpleStorage 
    uint storedData;

    function set(uint x) public 
        storedData = x;
    

    function get() public view returns (uint) 
        return storedData;
    

源文件中可以包含任意多个合约定义 、导入源文件指令 、 版本标识指令、 结构体 、 枚举和函数 定义。

SPDX许可标识

SPDX:The Software Package Data Exchange

// SPDX-License-Identifier: MIT          // 常见,开源

// SPDX-License-Identifier: UNLICENSED   // 私有,或者无授权

版本标识

pragma solidity ^0.8.4;
// 或者 
pragma solidity >=0.4.16 <0.9.0;

ABI Coder Pragma

pragma experimental ABIEncoderV2       // Solidity 0.7.4 之前

pragma

智能合约语言solidity教程系列9-错误处理

...的文章列表请查看分类-Solidity。写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么欢迎订阅区块链技术专栏阅读更全面的分析文章。什么... 查看详情

第97篇笔记-solidity中的抽象(abstract)

目录1.抽象合约2.用法3.接口4.接口的继承5.通过接口实现合约间调用 查看详情

智能合约语言solidity教程系列9-错误处理

...列表请扫描下面的二维码查看。写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么欢迎订阅区块链技术专栏阅读更全面的分析文章。什么... 查看详情

智能合约语言solidity教程系列5-数组介绍(代码片段)

...的文章列表请查看分类-Solidity。写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么本文前半部分是参考Solidity官方文档(当前最新版本:0.... 查看详情

第85篇笔记-用合约创建合约(代码片段)

表达式和控制结构—Solidity中文文档https://learnblockchain.cn/docs/solidity/control-structures.html1.通过 new 创建合约create1使用关键字 new 可以创建一个新合约。待创建合约的完整代码必须事先知道,因此递归的创建依赖是不可... 查看详情

智能合约语言solidity教程系列9-错误处理(代码片段)

...请扫描下面的二维码查看。 写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么欢迎订阅区块链技术专栏阅读更全面的分析文章。什么... 查看详情

第125篇笔记-solidity中的编码与解码(代码片段)

本文环境:polygontestnet+metamask+remix参考文档:第119篇笔记-solidity中的ABI本文介绍solidity合约中的abi编码与解码;1.合约源码//SPDX-License-Identifier:MITpragmasolidity^0.8.13;contractAbiDecodestructMyStructstringname;uint[2]nums;func 查看详情

智能合约开发环境搭建及helloworld合约

如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇。就先学习任何编程语言一样,入门的第一个程序都是HelloWorld。今天我们来一步一步从搭建以太坊智能合约开发环境开始,讲... 查看详情

智能合约语言solidity教程系列6-结构体与映射(代码片段)

...的文章列表请查看分类-Solidity。写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么本系列文章一部分是参考Solidity官方文档(当前最新版... 查看详情

智能合约语言solidity教程系列7-以太单位及时间单位

...带你全面深入理解Solidity语言。写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么欢迎订阅区块链技术专栏阅读更全面的分析文章。货币... 查看详情

智能合约语言solidity教程系列7-以太单位及时间单位(代码片段)

...的文章列表请查看分类-Solidity。写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么货币单位(EtherUnits)一个数字常量(字面量)后面跟随... 查看详情

第83篇笔记-猜拳游戏智能合约(代码片段)

本合约实现经典的包袱剪刀锤子猜拳游戏;源码:pragmasolidity0.5.10;contractrpsaddresspublicowner;uint256publicbalance;uint256publicgamesPlayed;stringpubliclastResult;enumhandROCK,PAPER,SCISSORSenumresultWIN,LOSE,TIEeven 查看详情

第82篇笔记-设置白名单智能合约(代码片段)

本合约,实现单个及批量设置白名单,主要用于控制用户权限;源码:pragmasolidity^0.4.24;/***@titleOwnable*@devTheOwnablecontracthasanowneraddress,andprovidesbasicauthorizationcontrol*functions,thissimplifiestheimplementationof"userperm 查看详情

智能合约语言solidity教程系列10-完全理解函数修改器(代码片段)

...的文章列表请查看分类-Solidity。写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么函数修改器(FunctionModifiers)函数修改器(Modifiers)可以用来... 查看详情

智能合约开发环境搭建及helloworld合约(代码片段)

如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇。就先学习任何编程语言一样,入门的第一个程序都是HelloWorld。今天我们来一步一步从搭建以太坊智能合约开发环境开始,讲... 查看详情

第95篇笔记-solidity中的继承(inheritance)

目录1.继承的本质2.继承的定义3.继承的可见性4.父合约传参5.重写</ 查看详情

第125篇笔记-solidity中的编码与解码(代码片段)

本文环境:polygontestnet+metamask+remix参考文档:第119篇笔记-solidity中的ABI本文介绍solidity合约中的abi编码与解码;1.合约源码//SPDX-License-Identifier:MITpragmasolidity^0.8.13;contractAbiDecodestructMyStructstringname;uint[2]nums;functionencode(uintx,addressaddr,uin... 查看详情

solidity编程四之智能合约的结构

  Solidity的智能合约和面向对象语言中的类很相似。每个智能合约可以包含的元素有:state变量的定义,方法,函数修改器,事件,结构类型以及枚举类型。同时合约可以继承于另外一个合约state变量  Solidity里的state变... 查看详情