avatar
Articles
106
Tags
10
Categories
0

Home
Archives
Tags
About
何方圜的博客
Home
Archives
Tags
About

何方圜的博客

数据库原理及应用基础
Created2024-09-13
术语1,数据是数据库储存的基本对象,而数据库则是长期储存在计算机中,有组织,可共享的大量数据的集合 基本特点:永久储存,有组织,可共享,冗余度小,易扩展2,一些基本模型术语: 关系(r):就是一个整体的表,可对关系的描述:关系名 (属性1,属性2…..);关系名就是表名; 关系完整性约束条件:实体,参照,用户定义完整性 属性:表中的一列为一个属性 域:属性的取值范围,一个具有相同类型的值集合 元组(t):表中的一行 主码:也叫码键,表中的某个属性组,它可以唯一确定一个元组,就是一个比较特殊可以用它来确定唯一的值,有点类似于c中的指针; 分量:元组中的一个属性值 关系模式:对关系的描述,也叫联系3,数据库系统里有三种模式:a,模式(逻辑模式,概念模式):数据库中的全体数据逻辑结构和特征的描述,与物理储存的细节和硬件环境,与具体的应用程序,开发环境及高级程序设计语言无关,它是数据库系统模式的中间层b,外模式(子模式,用户模式):数据库用户使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,每个用户只能看见和访问对应的外模式中的数据,用户只能与外模式建立联系c, ...
区块链入门知识常用链接
Created2024-08-30
推荐这个博主的整个入门区块链的方向,里面有个思维导图,值得一看.点击 僵尸编程学习点击 WTF学院,学习 EVM ,solidity值得一看.点击 Ethernaut靶场练习,点击 damn-vulnerable-defi靶场练习,点击 EVM PUZZLES题解参考链接,点击1 点击二 evm code指令速查 点击 注:自毁函数将会被弃用,点击1,点击2 闪电贷的极简入门 关于solidity的一些基本问题,用于自查,点击 将本地文件上传到github上, 要有一个自己想上传的仓库,cd 要上传的文件名,git remote add origin (ssh下的仓库地址),切换分支,主要是看仓库是master,还是main, 还是其他的分支,git branch -M main , 切换到main分支上直接上传到分支上 git push -u origin main即可 一些智能的工具:ChatGPT;谷歌开发的一个智能软件:Gemini;一个社区的检索问题:Ethereum-Stack-Exchange一个社区的全球交流平台:stackoverflow;web一个知识构建 ...
EVM puzzle
Created2024-08-30
EVM PUZZLE运行游戏 puzzle 1 CALLVALUE题目: pc opcode opcode name 01 38 CODESIZE 02 03 SUB 03 56 JUMP 04 FD REVERT 05 FD REVERT 06 5B JUMPDEST 07 00 STOP 08 FD REVERT 09 FD REVERT 输入恰当的value,使得题目的 opcode 正确执行,直到执行STOP 分析:CALLVALUE实际上就是msg.value,它会将msg.value存储到栈顶,而JUMP会读取栈顶值,并跳转到相应的字节地址,由JUMPDEST承接,所以我们只需要让msg.value==8即可 puzzles 2 CODESIZE题目: pc opcode opcode name 00 34 CALLVALUE 0 ...
EVM入门
Created2024-08-19
OpcodesOpcodes(操作码)是以太坊智能合约的基本单元。我们写的Solidity智能合约会被编译为字节码(bytecode),然后才能在EVM(以太坊虚拟机)上运行。而字节码就是由一系列Opcodes组成的。当用户在EVM中调用这个智能合约的函数时,EVM会解析并执行这些Opcodes,以实现合约逻辑。 常见的OpcodesPUSH1: 将一个字节的数据压入堆栈。例如,PUSH1 0x60 就是将 0x60 压入堆栈。DUP1 : 复制堆栈顶部的一个元素。SWAP1: 交换堆栈顶部的前两个元素。 例如:下面是一个简单的Solidity智能合约,它只有一个add()函数,计算1+1的结果并返回。 // SPDX-License-Identifier: MITpragma solidity ^0.8.20;contract Add { function add() public pure returns (uint256 result) { result = 1+1; }} 将合约编译后,我们可以得到合约对应的b ...
Compound
Created2024-08-19
CompoundCompound是在Ethereum上运行的软件,旨在奖励分布式计算机网络运行传统货币市场。Compound允许用户将加密货币存入借贷池让借款人使用。而贷方从他们存入的资产赚取利息。 存款后,Compound会奖励贷方名为cToken(代表存款)的新加密货币。cToken的例子包括cETH、cBAT以及cDAI。 每个cToken都可无限转让或交易,但只能兑换最初锁定在协议中的加密货币。整个过程由Compound代码自动处理,代表贷方可以随时提币。 为了激励这个行为,Compound使用了另一种称为COMP的自家加密货币。每当用户和Compound市场互动时(借入、提取或偿还资产),作为奖励他们都会获得额外的COMP代币。 简言之,Compound 是一个允许用户借贷代币的智能合约,它与你的银行类似,Compound 把你的钱借给借款人,并随着时间的推移赚取利息。但与银行不同的是,你的利息是从你存入 Compound 的智能合约后开始复利计算的。因为这是一个智能合约,整个流程中没有中间人,因此利息会比传统银行要高。 运作机制Compound 协议让开发者可以基于以太坊 ...
GHO
Created2024-08-19
GHO它是 Aave 协议中唯一一个去中心化、超额抵押的稳定币,作为以太坊主网上的去中心化稳定币,GHO 由用户铸造。与 Aave 协议上的所有借贷一样,用户必须提供抵押品(按特定抵押品比率)才能铸造 GHO。相应地,当用户偿还借贷头寸(或被清算)时,GHO 将返回 Aave 池并被销毁。GHO 铸造者累积的所有利息支付将直接进入Aave DAO 金库,这与用户借入其他资产时收集的标准准备金因子形成鲜明对比,本金将被销毁。 人们对真正去中心化、超额抵押和可配置的稳定币的需求很大。最近的事件证明了去中心化稳定币在市场波动期间维持稳定价值的用例。GHO 是一种由 Aave Governance 控制的稳定币,在社区支持下,它有潜力成为 DeFi 生态系统持续增长不可或缺的一部分。 与许多稳定币不同,GHO 的预言机价格是固定的。GHO 等去中心化稳定币是透明的,无法更改。利率由 Aave DAO 定义,偿还的利息将重定向到 DAO 而不是资产供应商。在安全模块中质押 AAVE 的借款人可享受折扣。
Aave学习知识
Created2024-08-19
AaveAave是一种完全去中心化的、社区管理的协议,Aave 是芬兰语,意思是“幽灵”,最初于 2017 年 11 月推出时被称为 ETHLend。 ETHLend 是一个点对对点借贷系统。后来进行改进才是Aave,用户可以在其中借入和借出加密资产。协议的价值主张是创建一个可供任何拥有加密资产的人使用的替代去中心化资产货币市场。 作用Aave 是一个借贷池系统,使用户可以选择借入、借出和赚取 20 种不同数字资产的利息,而无需中间人。 想要赚取利息的用户将存入他们想要借出的资金,然后将其收集到流动性池中。当借款人贷款时,他们从这些资金池中提取资金。贷方可以以任何他们认为合适的方式交易或转让这些代币。 Aave 发行两种类型的代币来促进此活动,$AAVE(原生代币)和 aTokens。$AAVE 令牌有多种使用方式:1,如果支付费用,$AAVE 的所有者可以选择在向公众发布贷款之前查看贷款。 2, 使用 $AAVE 作为抵押品的用户可以比使用任何其他数字资产借入的金额略多。 3,代币持有者可以在平台上质押 $AAVE,以获得大约 6% 的 APY 分配。 aTokens 代币: 1,这 ...
闪电贷
Created2024-08-07
闪电贷闪电贷(Flash loan):是一种无抵押、借贷金额无上限(可以借光池中所有的钱)的贷款。它要求借贷人快借快还,快到还款和借款在同一个交易内(同一个以太坊 transaction),在我看来就是非常迅速的借款还款 首先你要借钱的话,你要写个还钱合约,里面包括了如何赚钱,还本金加利息的数目,开始借款的话,就要实现一个flashloan()闪电贷合约,这个合约首先要先进行一系列的数据验证,再调用你的还钱合约,验证你是否还了本金加利息,如果没有还上,直接 revert 整个交易,让借款无效,从而保证借出方总是安全的。实现闪电贷通常有俩个合约。 闪电贷的优点:编写闪电贷合约总体并不复杂。使用闪电贷风险也比较小。如果赚钱逻辑失败,变成了亏钱逻辑,不能完成还款,那么也不用担心借来的巨款无力偿还。整个交易将会执行失败,就如同借款从来没有发生过一样。 实现你第一笔闪电贷合约闪电贷的极简入门下面是AI生成 ## 闪电贷### 同一个区块中提款可导致闪电贷攻击攻击者利用闪电贷的特性,在同一个区块内执行多个交易,以迅速操控市场,并从中获利,闪电贷本身就是一笔交易完成的,如果允许在同一个区块上进行提款 ...
damn-vulnerable-defi题解
Created2024-08-06
Damn-vulnerable-defiUnstoppable要求是,使拥有一百万DVI的钱包停止闪电贷的功能 分析:这个合约的代码在gittub上,要分开去看,这道题的解决就是靠一个基本的闪电贷的知识首先要看闪电贷的函数 function flashLoan(IERC3156FlashBorrower receiver, address _token, uint256 amount, bytes calldata data) external returns (bool) { if (amount == 0) revert InvalidAmount(0); // fail early if (address(asset) != _token) revert UnsupportedCurrency(); // enforce ERC3156 requirement uint256 balanceBefore = totalAssets(); if (convertToShares(totalSupp ...
hardhat
Created2024-08-06
hardhathardhat就是以太坊开发环境,如同remix,现在介绍一下安装hardhat的步骤 打开终端,win+r,输入cmd 检查node js,安装没有,node -v (没有安装去官网下载) 建一个文件夹,在终端输入mkdir hardhat-tutorial,然后进入文件夹,cd hardhat-tutorial 进行初始化,npm init,接下来一直按enter,直到出现Is this OK? (yes),回答yes即可 安装hardhat npm install --save-dev hardhat,需要等待几秒 再安装一个插件 npm install –save-dev @nomicfoundation/hardhat-toolboxs 编写合同安装完成后,因为使用VScode,所以我们要安装一个VScode 安全帽,它可以帮组我们更好的使用solidity语言,然后在VScode创建一个新目录,写一个简单的.sol合约,在终端中运行该合约,npx hardhat compile,成功后就会看到Compiled 1 Solidity file su ...
1…91011
avatar
何方圜
夫孰异道而相安
Articles
106
Tags
10
Categories
0
Follow Me
Announcement
CTF的更新
Recent Post
关于OPE2025-06-19
sherlock-S-locker System2025-06-17
sherlock-DODO Cross-Chain DEX2025-06-17
单机版区块链的实现2025-06-16
sherlock-Usual ETH02025-06-10
Tags
链接 题解 Solana 基本知识 协议 test 攻击事件分析 课程学习 CTF 审计报告
Archives
  • 六月 20257
  • 五月 20252
  • 四月 20252
  • 三月 20252
  • 十二月 202411
  • 十一月 202421
  • 十月 202439
  • 九月 20247
Info
Article :
106
UV :
PV :
Last Update :
©2020 - 2025 By 何方圜
Framework Hexo|Theme Butterfly