- 浏览: 725337 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1044)
- 数据结构 (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 (64)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
最新评论
// SPDX-License-Identifier: MIT pragma solidity >= 0.6.0; import "hardhat/console.sol"; contract Vault { bool public locked; bytes32 private password; uint256 private data; constructor(bytes32 _password) public { locked = true; password = _password; data = 9; } function unlock(bytes32 _password) public { if (password == _password) { locked = false; } } }
const { expect } = require("chai"); const { ethers } = require("hardhat"); contractName = "Vault"; describe(contractName, function () { it("test ", async function () { const Contract = await ethers.getContractFactory(contractName); //parseBytes32String:bytes32 to string //formatBytes32String:string to bytes32 const contract = await Contract.deploy(ethers.utils.formatBytes32String("123456")); console.log("lock:",await contract.locked()); let password = await ethers.provider.getStorageAt(contract.address, 1) await contract.unlock(password); console.log("password:",password); console.log("lock:",await contract.locked()); let data = await ethers.provider.getStorageAt(contract.address, 2) console.log("data:",data); }); });
map的获取
// SPDX-License-Identifier: MIT pragma solidity >= 0.6.0; contract UserPass { //slot 0 mapping(uint => uint) private users; constructor() { } function addUser(uint addr, uint i) public { users[addr] = i; } }
const { expect } = require("chai"); const { ethers,waffle } = require("hardhat"); const { mainModule } = require("process"); contractName = "UserPass"; function addrAdd(_from, _num){ let b = ethers.BigNumber.from(_from).add(_num) return ethers.utils.hexValue(b); } describe(contractName, function () { it("test ", async function () { const Contract = await ethers.getContractFactory(contractName); const userpass = await Contract.deploy(); let user1, user2; [user1, user2] = await ethers.getSigners(); await userpass.connect(user1).addUser(1,16); await userpass.connect(user1).addUser(2,17); hash = await ethers.utils.keccak256(await ethers.utils.defaultAbiCoder.encode(["uint", "uint"], [1,0])) console.log("pass1:",await ethers.provider.getStorageAt(userpass.address, hash)); hash = await ethers.utils.keccak256(await ethers.utils.defaultAbiCoder.encode(["uint", "uint"], [2,0])) console.log("pass2",await ethers.provider.getStorageAt(userpass.address, hash)); }); });
发表评论
-
TypeError:ethers_1.getAddress
2024-04-29 10:45 18package.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 120一.solidity 1.EVM 不是基于寄存器的,而是基于栈 ... -
Address
2023-02-23 10:54 5// contracts/Box.sol // SPDX ... -
Address
2023-02-23 10:50 109// contracts/Box.sol // SPDX ... -
Beacon
2023-02-20 11:45 109Beacon a.Implementation地址并不存放在P ... -
UUPS
2023-02-17 16:16 140a.Proxy直接把所有的请求都通过delegatecall丢 ... -
Transparent
2023-02-16 15:44 110Transparent: a.如果Proxy合约发现自己被Pr ... -
string转bytes
2023-02-16 11:04 172const data = Buffer.from(''); ... -
hardhat命令
2023-02-13 09:58 2181.前置准备,运行一个新项目 mkdir my-project ... -
multicall
2023-01-31 20:11 148multicall的solidity调用与ethers.js调 ... -
检查是否是721
2023-01-31 15:18 95// SPDX-License-Identifier: M ... -
EVM操作码
2023-01-25 10:33 2032.栈和内存操作码 2.1 POP:取出栈顶元素 2.2 PU ... -
计算合约地址
2023-01-19 11:27 172EVM会根据发送者地址和nonce经过RLP编码后再进行kec ... -
标准修饰符
2023-01-18 17:03 881.internal:类似c++中的protected,通过J ... -
ABI编码函数
2023-01-17 10:40 2001. abi.encode()returns(bytes):对 ... -
数据位置
2023-01-17 10:24 1111.函数参数包括返回的参数默认是memory 2.局部变量默认 ... -
随机数
2023-01-17 10:06 113https://www.paradigm.xyz/2023/0 ... -
extcodesize
2023-01-16 11:16 207extcodesize取出的byte code长度,若长度大于 ...
相关推荐
提供两个全局变量在对话框中使用的实例,一个实例中定义了全局指针,可通过指针获取对话框编辑框控件的值;另一个实例中定义了一个全局变量,用于传递对话框控件的值,在VC++6.0中运行通过。
获取全局变量 严重怀疑是uwsgi的线程机制的问题,因为uwsgi是可以指定子进程的数目的,然而我设置子进程数目为1,之后,在处理函数1的时候是不能同时处理函数2的,怎么说,有点类似于javaweb中,uwsgi为了线程的...
本文实例讲述了twig模板获取全局变量的方法。分享给大家供大家参考,具体如下: 简单介绍下,twig是一模板引擎,可以简化php的编写过程,提高效率。 而Symfony模板里,就自带了twig这一模板引擎。 twig的语法用的多...
本 EA 是演示全局变量的用例。此 EA 的任务: 在全局变量里保存计算结果, 并在新的初始化时获取全局变量值。
逆向dll中的函数及通过函数api钩子获取dll中的全局或是const变量值
·使用LDR指令读取该全局变量的内存地址,通常该全局变量的内存地址值存放在 程序的数据缓冲池中。 ·根据该数据的类型,使用相应的LDR指令读取该全局变量的值;使用相应的STR 指令修改该全局变量的值。 ...
【登录接口】中会返回sign值,【学生金币充值接口】会则需要用到该sign值,因此把sign设置为环境或全局变量,便于其他接口调用。 1、请求登录接口,获取sign值: 2、把sign值添加至环境变量或者全局变量,如下: ...
首先需要定义下拉列表框的name属性值,然后应用$_POST全局变量进行获取。 * * PHP与Web页面交互 -----PHP 获取表单信息1 课程内容 获取文本框的值 获取文件域的值 获取复选框的值 PHP获取表单信息 在Web开发过程中,...
以上所述是小编给大家介绍的Ajax获取回调函数无法赋值给全局变量的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持! 您可能感兴趣的...
在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:true(默认情况),如: ...
在Android源码的分析过程中经常会看到System.getenv(“xxx”)和getenv(“xxx”)以及Os.getenv(“xxx”)获取Android系统的环境变量值,本篇的重点不是分析代码的调用逻辑,而是讲解怎么在Android开发源码环境下...
当某个线程修改了全局变量的值时,系统会立即更新该线程寄存器中对应的值,其他线程并不知道这个全局变量已经修改,可能还是从寄存器中获取这个变量的值,这个时候就会存在不一致的情况。 针对多线程访问共享变量...
推荐使⽤⼤写字母来表⽰全局变量(如 ${PATH} 或 ${TWO WORDS}), ⼩写字母来 表⽰局部变量(如 ${my var} 或 ${myVar})。 ⼀、获取列表项 使⽤下标语法 @{NAME}[index] 可以获取到列表变量中指定项的值, 其中 index 是...
有用的:constants包导出单个全局变量,您可以使用该全局变量获取并设置很少更改的值。 通常,您应该对每个变量使用一次Constant方法,并应同时设置默认值,如下所示: var maxSpeed = Constant('maxSpeed', 100);...
实例282——调用DLL,获取其导出的全局变量值 实例283——创建Win32 DLL导出一个计算长方体表面积和体积的类 实例284——调用DLL,使用其导出类计算长方体的表面积和体积 实例286——创建MFC常规DLL,通过导出...
借用了范例里面的VI,目的是将需要频繁更改的参数(捆绑为数组)写入.txt文件,上电时读取.txt文件里的参数。读取的参数(数组)可索引行列获取每一个值。
变量的名字是不区分⼤⼩写的, 通常推荐⼤写字母⽤作全局变量和属性。 1.1 ⽰例1: 导⼊变量⽂件 myvar1.py MY_VAR = 'my value' my_name='test' VARIABLE = "An example string" ANOTHER_VARIABLE = "This is ...
接口测试阶段,需要通过登录接口抓包,...(一)全局变量、环境变量 (二)Collections接口管理 (三)控制台日志查看 (四)Cookie、token动态设置 (五)Sign值自动计算 (六)统一设置cookie、token,统一计算sign
php接受通过HTML表单提交的信息时,会将提交的数据保存在全局数组中,我们可以调用系统特定的自动全局变量数组来获取这些值。 常用的自动全局变量如下所示: 1、GET方式 功能:获取get方式提交的数据 格式:$_GET...