solidity语言中require函数的作用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
Python内容推荐
Solidity-self-learning
扎实的自我学习
MiscSolidity:未分类的Solidity示例和摘要
固溶度 用于教育目的的各种固定合同和图书馆。 所有代码均已获得MIT许可。 请注意,这些都不是有价值的代码。 尽管我已尽全力使它免受错误的侵害,但我尚未对代码进行全面审核,因此请注意错误。
【CryptoZombies – 1 Solidity 教程】011 Require
一、前言 看了一些区块链的教程,论文,在网上刚刚找到了一个项目实战,CryptoZombies。 如果你想了解更多有关于机器学习、深度学习、区块链、计算机视觉等相关技术的内容,想与更多大佬一起沟通,那就扫描下方二维码加入我们吧! 二、Require 用户可以创建僵尸,但是不能无限制创建,所以需要作出限定:每个用户只能持续调用一次。我们使用require来做限制,即当不满足某些条件时,我们可以抛出异常,并停止运行。 下面是使用使用示例,比较 _name 是否等于 “Vitalik”,如果不成立,抛出异常并终止程序。 注意: Solidity 并不支持原生的字符串比较, 我们只能通过比较两字符串
Solidity开发基础
Solidity语言学习必备文档,神一样的文档,没毛病老铁
solidity入门学习——mapping
今天我们来学习下映射的用法,具体以网站的注册过程为例。 一、solidity中,映射的关键字为mapping,首先我们先来定义两个mapping, mapping(address =>uint) idmapping和mapping(uint =>string) namemapping。idmapping用来表示地址变量和整型变量的对应关系,在注册过程中用来表示账户地址和注册号;namemapping用来表示整型变量和字符串的对应关系,在注册过程中用来表示注册号和用户名称。 同时将sum的初始值设成1,用来储存注册号,并在后续调用注册函数时累加。用户调用注册函数时,需要传入参数name,同时将合
Solidity入门-函数初级
函数在所有的语言中都是一种常见类型。Solidity中的函数关键字是function,我们先来看一个最简单的例子: pragma solidity ^0.4.0; contract SimpleFunc { function hello(uint i){ //todo } } 函数的参数 函数的入参定义与变量类似。我们可以省略未使用到的参数变量名,如下例所示: pragma solidity ^0.4.0; contract Simple { //函数的入参如变量的定义方式 //未使用的参数可以省略变量名 function InputP
以太坊solidity字符串拼接实现
以太坊开发智能合约时,在solidity中拼接字符串的实现思路和代码。
vscode-solidity:以太坊中的Solidity智能合约的Visual Studio Code语言支持扩展
对Visual Studio代码的Solidity支持 Solidity是以太坊用于创建智能合约的语言,此扩展提供: 语法高亮 片段 编制当前合同(按F1固体性:编制当前固体合同),或按F5 编译所有合同(按F1 Solidity:编译所有Solidity合同),或Ctrl + F5 / Cmd + F5 当前文件中所有合同/库和所有引用的导入的代码完成 默认项目结构(实体文件必须位于“ src”目录中,而库位于“ lib”目录中)。 图书馆将遵循相同的结构。 支持EIP82的编译(dappfile和依赖包) 支持不同的Solidity版本(远程和本地) 使用生成代码,它当前包括
intellij-solidity:IntelliJ的Solidity插件
intellij-solidity:IntelliJ的Solidity插件
使用solidity编程语言编写智能合约.pdf
使⽤solidity编程语⾔编写智能合约 智能合约编程语⾔ solidity语⾔ ⽂章⽬录 前⾔ 随着区块链技术的不断发展,区块链被越来越多运⽤到⽣活中,什么是区块链智能合约嘞?简单说下,智能合约,就是⼀段写在区块链上的 代码,⼀旦某个事件触发合约中的条款,代码即⾃动执⾏。也就是说,满⾜条件就执⾏,不需要⼈为操控。智能合约是区块链上的⼀段程 序,没有智能合约,区块链还是区块链。⽐较扯的是很多链为了让⾃⼰有智能合约,于是移植了兼容以太坊的智能合约功能。⽽solidity语 ⾔的闻名,正是因为使⽤solidity语⾔编写的以太坊智能合约的成功,以太坊的巨⼤成功,使得solidity语⾔⼀夜成名。 ⼀、solidity语⾔是什么? Solidity是⼀种智能合约⾼级语⾔,运⾏在Ethereum虚拟机(EVM)之上。Solidity是⾯向智能合约的编程语⾔。也即Solidity发明出来的 ⽬的就是为了实现智能合约。但是请注意,智能合约的实现⼿段不⽌是Solidity,其他的语⾔⽐如Go, JS等同样可以⽤来实现智能合约。只 不过Solidity专门⽤来做这件事情,是不是就⽐其他的语⾔更好⽤,需要慢慢发现。使⽤solidity语⾔来进⾏智能合约的编程。 以下介绍⼏个有关solidity编程智能合约的⽹站。 1.在线编译运⾏智能合约⽹站 Remix。 2.简单学习区块链智能合约⽹站 cryptozombies。 ⼆、⼀个简单的solidity智能合约 1.编写智能合约 我们⾸先打开在线智能合约⽹站。 创建⼀个新sol⽂件,如图命名为ZombieFactory.sol 开始编写合约,有关僵⼫⼯⼚合约如下: 代码如下(⽰例): pragma solidity ^0.4.19; contract ZombieFactory { event NewZombie(uint zombieId, string name, uint dna); uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; struct Zombie { string name; uint dna; } Zombie[] public zombies; function _createZombie(string _name, uint _dna) private { uint id = zombies.push(Zombie(_name, _dna)) - 1; NewZombie(id, _name, _dna); } function _generateRandomDna(string _str) private view returns (uint) { uint rand = uint(keccak256(_str)); return rand % dnaModulus; } function createRandomZombie(string _name) public { uint randDna = _generateRandomDna(_name); _createZombie(_name, randDna); } } 2.编译合约 注意编译合约,应该选择符合智能合约编写版本的版本要求,这⾥我们选择0.4.19+commit.c4cbbb05.Emscripten.clang编译器版本。 点击开始编译(Ctrl+s)进⾏编译,编译成功之后,在下⽅会出现绿⾊的合约名字,即⼀下界⾯ 这就表⽰智能合约成功编译。 3.部署合约 在智能合约成功编译,之后我们就需要将智能合约部署到区块链上⾯,因为我们在这⾥是进⾏学习测试,因此我们在测试⽹络上⾯部署合 约。在节点环境选择JS虚拟机。选择之后,他就会给你提供测试⽹络上⾯的地址,⾥⾯有100ETH的gas费⽤,⾜够智能合约部署和使⽤的 gas消费。 选择好节点环境之后,接下来正式进⼊部署环节,总共有两种部署⽅式,我们是编写智能合约进⾏部署,因此我们之间点击部署按钮就⾏, 下⽅那个输⼊合约地址进⾏部署,现在暂时⽤不到。 成功部署之后,在下⽅就会显⽰部署成功的合约名字。 在这个ZombieFactory智能合约之中,有⼀个public⽅法和⼀个数组zombies。 可以调⽤createRandomZombie⽅法创建⾃⼰的Zombie。 注意因为在区块链⽹络上⾯进⾏合约的部署,和调⽤都需要你花费gas进⾏使⽤,就相当于你开⾼速需要油费⼀样。 因此进⾏⼀系列的部署和调⽤之后,该账户的ETH余额会减少。 总结 第⼀次solidity语⾔来部署合约,我感到⼀种想要了解区块链智能合约的迫切感。初探智能合约世界,感到⾃⼰所拥有知识的不⾜,各种编 程语⾔皆有所通,骚年,认真学习吧,哈哈
Solidity教程
Solidity是以太坊智能合约编程语言,阅读本文档前,你应该对以太坊、智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 Solidity教程会是一系列文章,本文是第一篇:介绍Solidity的变量类型。 本文前半部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,后半部分是结合实际合约代码实例说明类型的使用
Solidity编写智能合约(入门)
在Solidity中,一个合约由一组代码(合约的函数)和数据(合约的状态)组成。合约位于以太坊区块链上的一个特殊地址。uint storedData;这行代码声明了一个状态变量,变量名为storedData,类型为uint (256bits无符号整数)。你可以认为它就像数据库里面的一个存储单元,跟管理数据库一样,可以通过调用函数查询和修改它。在以太坊中,通常只有合约
solidity编程指南.pdf
solidity编程指南,对语言和工具有详细说明,是基于以太坊开发Dapp的必备参考书。
solidity-中文文档
solidity-中文文档solidity-中文文档solidity-中文文档solidity-中文文档
solidity:Solidity,面向合同的编程语言
面向实体合同的编程语言 你可以和我们谈谈 。 欢迎提出问题,反馈和建议! Solidity是用于在以太坊平台上实施智能合约的静态类型,面向合约的高级语言。 目录 背景 Solidity是一种静态类型的花括号编程语言,旨在开发在以太坊虚拟机上运行的智能合约。 智能合约是在对等网络中执行的程序,其中没有人对执行具有特殊权限,因此,它们可以实现价值,所有权,投票和其他逻辑的代币。 部署合同时,您应该使用最新版本的Solidity。 这是因为定期介绍重大更改以及新功能和错误修复。 当前,我们使用0.x版本号。 编译安装 可在找到有关如何构建和安装Solidity编译器的。 例 与其他语言相比,So
learning-solidity-2018:Solidity智能合约的基本示例
learning-solidity-2018:Solidity智能合约的基本示例
Solidity基础1
Solidity基础1
区块链实战(3):用Solidity实现投票智能合约
本课程是《区块链实战》系列专题的第3个课程。本课程用Solidity语言实现了一个支持投票功能的智能合约。
solidity
以太坊 以太坊
Solidity笔记
由于毕设需要实现一个区块链项目,所以临时需要学习一下solidity,在这里做一下笔记 通过Solidity实现一个类 pragma solidity ^0.4.4; contract Person{ uint _height; uint _age; address _owner;//代表合约的拥有者 function Person(){ _height=180; _age=22; _owner=msg.sender; } function owner() constant returns(address){ return _owner;
最新推荐


