随笔分类 -  BlockChain

区块链相关
摘要:blockchain | web3.py交互模板 exp: from web3 import Web3 from web3.middleware import SignAndSendRawMiddlewareBuilder import json w3 = Web3(Web3.HTTPProvide 阅读全文
posted @ 2024-11-07 16:20 Mz1 阅读(8) 评论(0) 推荐(0) 编辑
摘要:blockchain | evm字节码 深入以后发现,evm字节码真的太简单啦!!!我最喜欢这样子简约的设计了,基于栈的虚拟机,只有push指令可以将bytecode中的参数压栈,其他的都只是基于栈或者环境的操作。 项目地址:https://github.com/Mz1z/mzevmjs.git 依 阅读全文
posted @ 2023-09-11 17:39 Mz1 阅读(40) 评论(0) 推荐(0) 编辑
摘要:# blockchain | 论文阅读 | sFuzz: An Efficient Adaptive Fuzzer for Solidity Smart Contracts > sFuzz: An Efficient Adaptive Fuzzer for Solidity Smart Contra 阅读全文
posted @ 2023-09-07 17:14 Mz1 阅读(195) 评论(0) 推荐(0) 编辑
摘要:# blockchain | ethernaut 12 Privacy 这关考察private变量读取和转换。 合约: ```solidity // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Privacy { boo 阅读全文
posted @ 2023-09-06 16:39 Mz1 阅读(23) 评论(0) 推荐(0) 编辑
摘要:# blockchain | ethernaut 11 Elevator 这关就是简单的合约交互,以及view/pure函数的编写。 合约: ```solidity // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface B 阅读全文
posted @ 2023-09-06 14:41 Mz1 阅读(11) 评论(0) 推荐(0) 编辑
摘要:# blockchain | ethernaut 09 King 这关考察的是合约地址转账时的细节。 在合约中进行转账可以transfer,send,或者底层的call。 transfer如果出错会回退撤销执行。 所以如果transfer到一个不接受转账的合约地址,就没办法成功。 题目合约如下: ` 阅读全文
posted @ 2023-09-06 11:26 Mz1 阅读(38) 评论(0) 推荐(0) 编辑
摘要:# blockchain | ethernaut 08 Vault 这关考察读取私有变量,直接getStorageAt即可。 顺便说明: web3.js读取public变量可以直接contract.methods.[变量名].call()获取 对于私有变量需要用插槽位置的方式去读。 exp: ``` 阅读全文
posted @ 2023-09-05 17:14 Mz1 阅读(19) 评论(0) 推荐(0) 编辑
摘要:# blockchain | ethernaut 07 Force 考察给一个合约强制转账,在一个合约selfdestruct()的时候是可以指定转账地址的。 exp: hack合约: ```solidity pragma solidity ^0.8.0; contract Hack { const 阅读全文
posted @ 2023-09-02 17:04 Mz1 阅读(20) 评论(0) 推荐(0) 编辑
摘要:# blockchain | ethernaut 05 Token 考察无符号整数溢出。 合约: ```solidity // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; contract Token { mapping(address 阅读全文
posted @ 2023-09-01 16:19 Mz1 阅读(11) 评论(0) 推荐(0) 编辑
摘要:# blockchain | ethernaut 04 Telephone 这关展示了tx.origin和msg.sender之间的区别。 msg.sender是直接调用者。 tx.origin是这次交易的发起者。 合约如下: ```solidity // SPDX-License-Identifi 阅读全文
posted @ 2023-09-01 15:58 Mz1 阅读(12) 评论(0) 推荐(0) 编辑
摘要:# blockchain | Ethernaut 03 coin flip 投硬币合约,用区块哈希来当随机数。 合约代码: ```solidity // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract CoinFlip { 阅读全文
posted @ 2023-08-31 21:52 Mz1 阅读(23) 评论(0) 推荐(0) 编辑
摘要:# Blockchain | geth1.12的一些问题 最近重装了geth,是最新的geth version 1.12.2-stable-bed84606 但是这个版本似乎挖不了矿了,不再PoW了。 ![image](https://img2023.cnblogs.com/blog/2154950 阅读全文
posted @ 2023-08-31 15:15 Mz1 阅读(111) 评论(0) 推荐(0) 编辑
摘要:# Blockchain | web3.js 合约交互模板 最近发现ethers.js没有想象的那么好用了。。。 就换成了web3.js。 环境是node和web3.js v4。 这玩意儿还是得看文档,很麻烦,嗐,方法又多又烂,难用。 ```javascript const Web3 = requi 阅读全文
posted @ 2023-08-20 15:02 Mz1 阅读(81) 评论(0) 推荐(0) 编辑
摘要:blockchain | 交叉编译armv8的pbc库 这块儿网上是没啥具体的资料的,因为要测试pbc库在安卓上的性能,但是网上pbc的支持只到armv7,就只能自己编译了。 大致流程: 下载gmp库源码 下载pbc库源码 编译gmp 编译pbc 编译测试程序 这里使用的是aarch64-linux 阅读全文
posted @ 2023-04-14 11:57 Mz1 阅读(53) 评论(0) 推荐(0) 编辑
摘要:blockchain | 基于ethers.js的ctf合约攻击模板 之前做题用的是truffle命令行和truffle exec来进行编写代码,封装的层级比较高,这个框架主要还是用来开发比较方便,看了大师傅的wp(https://www.seaeye.cn/archives/497.html)以后 阅读全文
posted @ 2023-04-06 17:01 Mz1 阅读(91) 评论(0) 推荐(0) 编辑
摘要:blockchain | 区块链安全靶场 The Ethernaut 最近在学这一块,找个靶场玩玩:https://ethernaut.openzeppelin.com/ 可以参考:https://blog.csdn.net/rfrder/article/details/115572137 需要提前 阅读全文
posted @ 2023-04-06 11:47 Mz1 阅读(182) 评论(0) 推荐(0) 编辑
摘要:blockchain | 使用truffle测试合约 使用truffle test功能对之前的合约进行测试 参考:https://www.qikegu.com/docs/4816 本质上的过程还是部署到测试链子上,然后进行一系列操作。 如果要临时环境还可以用truffle develop进行创建:h 阅读全文
posted @ 2023-04-06 09:03 Mz1 阅读(74) 评论(0) 推荐(0) 编辑
摘要:blockchain | truffle console 访问合约 今天用truffle console来测试昨天部署的合约。 一开始报错invalid opcode,查了一下还是创世区块配置的问题,这里贴上最新的配置文件: { "config":{ "chainId": 15, "homestea 阅读全文
posted @ 2023-04-05 10:11 Mz1 阅读(25) 评论(0) 推荐(0) 编辑
摘要:blockchain | 通过truffle编写合约 有了前两篇环境搭建的基础,开始编写智能合约。(虽然部署了geth,但是truffle也有自带的私有链子环境可以用) 参考官方文档: https://learnblockchain.cn/docs/truffle/quickstart.html#c 阅读全文
posted @ 2023-04-04 18:24 Mz1 阅读(21) 评论(0) 推荐(0) 编辑
摘要:blockchain | geth环境搭建 下载地址: https://geth.ethereum.org/downloads 使用geth来搭建私链环境。 参考文章: https://blog.csdn.net/TANGYAO97/article/details/112903323 # windo 阅读全文
posted @ 2023-04-03 16:39 Mz1 阅读(24) 评论(0) 推荐(0) 编辑