Solidity:合约销毁(SelfDestruct)

  • Post author:
  • Post category:solidity

1. 什么情况下需要使用合约销毁? 销毁合约只是让你的智能合约无法再继续工作,但是在区块链上的数据还是保留的。什么情况下需要使用到销毁合约? 你的智能合约在不使用的情况下,你可以把它给销毁。 强迫你的用户放弃旧的智能合约,使用新的智能合约,所以必须把旧的给销毁。但是由于目前智能合约是能够升级的,所以不赞成使用这方法。 你的合约受攻击到了不可挽回的地步,就必须被迫强行销毁。记得,在销毁之前你必须把旧…

继续阅读 Solidity:合约销毁(SelfDestruct)

【一步步一起学DApp开发】(三)Solidity语言讲解 | 用Solidity编写智能合约

  • Post author:
  • Post category:solidity

有好几种语言可以用于编写以太坊智能合约,不过Solidity是最热门的语言。在本章中,我们将首先学习Solidity编程语言。然后创建一个DApp,用于证明在特定时间的存在、真实性和所有权,即证明一个文件在一个特定时间属于一个特定所有者。 要点: Solidity源文件的布局 理解Solidity的数据类型 合约的特殊变量和函数 控制结构 合约的结构和功能 编译和部署合约 Solidity源文件 …

继续阅读 【一步步一起学DApp开发】(三)Solidity语言讲解 | 用Solidity编写智能合约

solidity 参数bytes[]_跟我学 Solidity :引用变量

  • Post author:
  • Post category:solidity

译文出自:登链翻译计划 译者:翻译小组 校对:Tiny 熊 原文链接:learnblockchain.cn/article… 欢迎阅读 跟我学习 Solidity 系列中的另一篇文章。在上一篇文章,中,我们了解了数据位置的工作方式以及何时可以使用以下三个位置: memory , storage 和 calldata 。 在本文中,我们将继续学习Solidity中的变量。这次,我们将重点放在引用类型…

继续阅读 solidity 参数bytes[]_跟我学 Solidity :引用变量

Solidity极简入门#21. 调用其他合约

  • Post author:
  • Post category:solidity

调用已部署合约 开发者写智能合约来调用其他合约,这让Ethereum网络上的程序可以复用,从而建立繁荣的生态。很多web3项目依赖于调用其他合约,比如收益农场(yield farming)。这一讲,我们介绍如何在已知合约代码(或接口)和地址情况下调用目标合约的函数。 目标合约 我们先写一个简单的合约OtherContract来调用。 contract OtherContract { uint256…

继续阅读 Solidity极简入门#21. 调用其他合约

Solidity学习笔记

  • Post author:
  • Post category:solidity

学习视频来源: 基于以太坊的智能合约开发教程【Solidity】 读取数据不需要消耗燃料费Gas,修改数据需要消耗燃料费。 pragma solidity ^0.4.0; contract Helloworld{ string Myname = "lushuo"; function getName() public view returns(string){ return Myname; } fu…

继续阅读 Solidity学习笔记

Solidity学习过程:mapping映射

  • Post author:
  • Post category:solidity

pragma solidity^0.5.0; contract mappingTest{ //idmapping代表地址与id映射到了一起,namemapping代表id与名字的字符串映射到了一起 mapping(address => uint) idmapping;//0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2 => 1 mapping(ui…

继续阅读 Solidity学习过程:mapping映射

几乎所有的 Solidity 合约都有这个安全问题

  • Post author:
  • Post category:solidity

几乎所有的 Solidity 合约都有这个安全问题 几乎所有的Solidity合约都有这个安全问题,有些合约比其他的更严重。这个问题是Solidity编译器固有的。考虑在Solidity中实现映射: mapping(uint256 => bytes32) mapping1; 生成的存储地址总是在0` – 2**256-1范围内。没有数学上的保证可以确定其没有冲突。事实上,在这个范围内证明冲突…

继续阅读 几乎所有的 Solidity 合约都有这个安全问题

023.Solidity入门——10多继承

  • Post author:
  • Post category:solidity

本文是 022.Solidity入门——09继承 的延伸 Solidity 支持一个合约继承多个父类的合约。这样的合约可以继承父类的函数和状态变量,并且可以通过实现和重写父类的函数来扩展和修改功能。 示例代码: pragma solidity ^0.8.7; // 定义一个合约接口A contract A { function funcA() public virtual { // 函数A } }…

继续阅读 023.Solidity入门——10多继承

Solidity

  • Post author:
  • Post category:solidity

Solidity简介 Solidity是一门面向合约的高级编程语言。该语言设计的目的是能在 以太坊虚拟机(EVM)上运行。 Solidity是静态类型语言,支持继承、库 和 复杂的用户定义类型等特性。 目前尝试Solidity编程的最好方式是 Remix 。 Pragmas 关键字 pragma 版本标识指令,用来启用某些编译器检查。 版本 标识pragma 指令通常只对 本文件 有效,所以pra…

继续阅读 Solidity

Solidity数据类型

  • Post author:
  • Post category:solidity

Solidity 是一种静态类型语言,这意味着每个变量(状态变量和局部变量)都需要在编译时指定变量的类型。 Solidity 提供了几种基本类型,并且基本类型可以用来组合出复杂类型。 除此之外,类型之间可以在包含运算符号的表达式中进行交互。 “​ ​undefined​ ​​”或“​ ​null​ ​​”值的概念在Solidity中不存在,但是新声明的变量总是有一个 默认值 ,具体的默认值跟类型相…

继续阅读 Solidity数据类型