- 浏览: 721850 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1043)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (52)
- 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 (64)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
最新评论
// contracts/Box.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/utils/Address.sol"; import "hardhat/console.sol"; contract MyTestContract { function foo(uint i) view external { console.log("foo",i); } function testContract() external{ console.log("test is contract:"); console.logBool(Address.isContract(msg.sender)); } } contract TestAddress { using Address for address; //在构造函数中让另一个合约去判断msg.sender是否是合约会失败,因为构造的时候 constructor(){ MyTestContract f = new MyTestContract(); f.testContract(); } function testAddress(address addr) external { Address.functionCall(addr, abi.encodeWithSignature("foo(uint256)",1), "foo call reverted"); } function testContract() external{ MyTestContract f = new MyTestContract(); console.logBool(Address.isContract(address(f))); } }
const { ethers } = require("hardhat") contractName = "TestAddress"; contractName2 = "MyTestContract"; describe(contractName, function () { it("test ", async function () { const Contract2 = await ethers.getContractFactory(contractName2); const contract2 = await Contract2.deploy(); const Contract = await ethers.getContractFactory(contractName); const contract = await Contract.deploy(); await contract.testAddress(contract2.address); await contract.testContract(); }); });
TestAddress
false
foo 1
true
发表评论
-
TypeError:ethers_1.getAddress
2024-04-29 10:45 10package.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 116一.solidity 1.EVM 不是基于寄存器的,而是基于栈 ... -
Address
2023-02-23 10:54 5// contracts/Box.sol // SPDX ... -
Beacon
2023-02-20 11:45 105Beacon a.Implementation地址并不存放在P ... -
UUPS
2023-02-17 16:16 130a.Proxy直接把所有的请求都通过delegatecall丢 ... -
Transparent
2023-02-16 15:44 106Transparent: a.如果Proxy合约发现自己被Pr ... -
string转bytes
2023-02-16 11:04 166const data = Buffer.from(''); ... -
hardhat命令
2023-02-13 09:58 2071.前置准备,运行一个新项目 mkdir my-project ... -
multicall
2023-01-31 20:11 143multicall的solidity调用与ethers.js调 ... -
检查是否是721
2023-01-31 15:18 91// SPDX-License-Identifier: M ... -
EVM操作码
2023-01-25 10:33 1892.栈和内存操作码 2.1 POP:取出栈顶元素 2.2 PU ... -
计算合约地址
2023-01-19 11:27 168EVM会根据发送者地址和nonce经过RLP编码后再进行kec ... -
标准修饰符
2023-01-18 17:03 841.internal:类似c++中的protected,通过J ... -
ABI编码函数
2023-01-17 10:40 1961. abi.encode()returns(bytes):对 ... -
数据位置
2023-01-17 10:24 1051.函数参数包括返回的参数默认是memory 2.局部变量默认 ... -
随机数
2023-01-17 10:06 108https://www.paradigm.xyz/2023/0 ... -
extcodesize
2023-01-16 11:16 201extcodesize取出的byte code长度,若长度大于 ... -
Elevator
2023-01-13 10:48 92Elevator.sol // SPDX-License- ...
相关推荐
import inet.ipaddr.IPAddressString; import inet.ipaddr.ipv6.IPv6Address; import org.tinyradius.util.RadiusException; tinyradius-java 所需库 IPAddress-master.zip\IPAddress-master\IPAddress\dist\IP...
% >> rtw.asap2SetAddress('model.a2l', 'model.elf'); % % 2) Using DWARF debug information file to update ECU addresses % >> !readelf -wi model.elf > model_debug.dwarf; % >> rtw.asap2SetAddress('model....
Android开发—通过Location获取Address,获取手机一些信息
Access violation at address 00000000.Read of adress 00000000之类错误的解决方法
If you’re ready to join the move to IPv6, this comprehensive guide gets you started by showing you how to create an effective IPv6 address plan. In three example-driven sections—preparation, design,...
Access violation at address故障的解决方法,图文说明,帮您轻松解决^_^
IPv6 Address Planning Designing an Address Plan for the Future 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源...
Linux Socket Bind() 成功解决socket编程中bind端口绑定的Error:Address already in use 错误。
Advanced IP Address Calculator
Change MAC Address(网卡物理地址管理器)V2.6.0.82 汉化绿色版
Win7 MAC Address changer是一个免费的网卡Mac修改器。软件新版适用Win7、Win8,不支持XP。 软件说明 1.整洁,简单,杂乱的界面,它会显示什么是最需要的。 2.在点击随机MAC地址生成器生成的随机MAC地址。 3....
运行程序提示access violation at address的解决方法.docx
address.json,好用,不用自己再写
Address类对应的配置文件
Laravel开发-address Vanilo地址模块
address address address address
Local Address IP的0.0.0.0是什么意思,与127.0.0.1有何区别,IPv6的:::三个冒号又什么意思
比如从Exchange Server的全球通讯簿(Global Address List/GAL)地址复制到Outlook Express?甚至导出成一个独立的联系人文件以便使用?使用Address Magic Personal Edition,只需要三步,你将轻松搞定邮件地址的...
Address Translation Services 1.1
C#网络游戏编程完整教程 书本例子4,IPAddress类、 Dns类、 IPHostEntry类和IPEndPoint 类的使用方法